//=== SLOW
//var Bullet = (function(Module, args) {
//  Module = Module || {};
//  args = args || [];

//=== FAST
var Module = {};
var args = [];







    // === Auto-generated preamble library stuff ===
  
  Runtime = {
    stackAlloc: function stackAlloc(size) { var ret = STACKTOP; assert(size > 0); STACKTOP += size;STACKTOP = Math.ceil(STACKTOP/4)*4;; assert(STACKTOP < STACK_ROOT + STACK_MAX); return ret; },
    staticAlloc: function staticAlloc(size) { var ret = STATICTOP; assert(size > 0); STATICTOP += size;STATICTOP = Math.ceil(STATICTOP/4)*4;; return ret; },
    alignMemory: function alignMemory(size,quantum) { var ret = size = Math.ceil(size/(quantum ? quantum : 4))*(quantum ? quantum : 4);; return ret; },
    getFunctionIndex: function getFunctionIndex(func, ident) {
      var key = FUNCTION_TABLE.length;
      FUNCTION_TABLE[key] = func;
      FUNCTION_TABLE[key+1] = null; // Need to have keys be even numbers, see |polymorph| test
      Module[ident] = func; // Export using full name, for Closure Compiler
      return key;
    },
    isNumberType: function (type) {
      return type in Runtime.INT_TYPES || type in Runtime.FLOAT_TYPES;
    },
    isPointerType: function isPointerType(type) {
    return pointingLevels(type) > 0;
  },
    isStructType: function isStructType(type) {
    if (isPointerType(type)) return false;
    if (new RegExp(/^\[\d+\ x\ (.*)\]/g).test(type)) return true; // [15 x ?] blocks. Like structs
    // See comment in isStructPointerType()
    return !Runtime.isNumberType(type) && type[0] == '%';
  },
    INT_TYPES: {"i1":0,"i8":0,"i16":0,"i32":0,"i64":0},
    FLOAT_TYPES: {"float":0,"double":0},
    getNativeFieldSize: function getNativeFieldSize(field, alone) {
    var size;
    if (4 > 1) {
      size = {
        'i1': alone ? 1 : 4, // inside a struct, aligned to 4,
        'i8': alone ? 1 : 4, // most likely...? XXX
        'i16': alone ? 2 : 4, // ditto
        'i32': 4,
        'i64': 8,
        'float': 4,
        'double':8
      }[field]; // XXX 32/64 bit stuff
      if (!size) {
        size = 4; // Must be a pointer XXX 32/64
      }
    } else {
      size = 1;
    }
    return 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;
      });
    }
  },
    calculateStructAlignment: function calculateStructAlignment(type, otherTypes) {
      type.flatSize = 0;
      var diffs = [];
      var prev = -1, maxSize = -1;
      type.flatIndexes = type.fields.map(function(field) {
        var size;
        if (Runtime.isNumberType(field) || Runtime.isPointerType(field)) {
          size = Runtime.getNativeFieldSize(field, true); // pack char; char; in structs, also char[X]s.
          maxSize = Math.max(maxSize, size);
        } else if (Runtime.isStructType(field)) {
          size = otherTypes[field].flatSize;
          maxSize = Math.max(maxSize, 4);
        } else {
          dprint('Unclear type in struct: ' + field + ', in ' + type.name_);
          assert(0);
        }
        var curr = Runtime.alignMemory(type.flatSize, Math.min(4, size)); // 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, maxSize);
      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;
    },
    __dummy__: 0
  }
  
  
  function __globalConstructor__() {
  }
  
  // Maps ints ==> functions. This lets us pass around ints, which are
  // actually pointers to functions, and we convert at call()time
  var FUNCTION_TABLE = [];
  
  var __THREW__ = false; // Used in checking for thrown exceptions.
  
  var __ATEXIT__ = [];
  
  
  
  
  var ABORT = false;
  
  function assert(condition, text) {
    if (!condition) {
      var text = "Assertion failed: " + text;
      print(text + ':\n' + (new Error).stack);
      ABORT = true;
      throw "Assertion: " + text;
    }
  }
  
  function Pointer_niceify(ptr) {
    return { slab: IHEAP, pos: ptr };
  }
  
  // Creates a pointer for a certain slab and a certain address in that slab.
  // If just a slab is given, will allocate room for it and copy it there. In
  // other words, do whatever is necessary in order to return a pointer, that
  // points to the slab (and possibly position) we are given.
  
  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
  
  function Pointer_make(slab, pos, allocator) {
    pos = pos ? pos : 0;
    if (slab === HEAP) return pos;
    // Flatten out - needed for global consts/vars
    function flatten(slab) {
      if (!slab || slab.length === undefined || typeof slab === 'function') return [slab];
      return slab.map(flatten).reduce(function(a,b) { return a.concat(b) }, []);
    }
    var slab = flatten(slab);
    // Finalize
    var ret = [_malloc, Runtime.stackAlloc, Runtime.staticAlloc][allocator ? allocator : ALLOC_STATIC](Math.max(slab.length - pos, 1));
    for (var i = 0; i < slab.length - pos; i++) {
      var curr = slab[pos + i];
      if (curr === undefined) throw 'Invalid element in slab'; // This can be caught, and you can try again to allocate later, see globalFuncs in run()
      if (typeof curr === 'function') {
        curr = Runtime.getFunctionIndex(curr);
      }
      // TODO: Check - also in non-typedarray case - for functions, and if so add |.__index__|
      if (typeof curr === 'number' || typeof curr === 'boolean') {
        IHEAP[ret + i] = curr; // TODO: optimize. Can easily detect floats, but 1.0 might look like an int...
        FHEAP[ret + i] = curr;
      } else {
        HEAP[ret + i] = curr;
      }
    }
    return ret;
  }
  
  function Pointer_stringify(ptr) {
    ptr = Pointer_niceify(ptr);
  
    var ret = "";
    var i = 0;
    var t;
    while (1) {
  //    if ((ptr.pos + i) >= ptr.slab.length) { return "<< Invalid read: " + (ptr.pos+i) + " : " + ptr.slab.length + " >>"; } else {}
      if ((ptr.pos+i) >= ptr.slab.length) { break; } else {}
      t = String.fromCharCode(ptr.slab[ptr.pos + i]);
      if (t == "\0") { break; } else {}
      ret += t;
      i += 1;
    }
    return ret;
  }
  
  // Memory management
  
  var PAGE_SIZE = 4096;
  function alignMemoryPage(x) {
    return Math.ceil(x/PAGE_SIZE)*PAGE_SIZE;
  }
  
  var HEAP, IHEAP, FHEAP;
  var STACK_ROOT, STACKTOP, STACK_MAX;
  var STATICTOP;
  
  // Mangled |new| and |free| (various manglings, for int, long params; new and new[], etc.
  var _malloc, _free, __Znwj, __Znaj, __Znam, __Znwm, __ZdlPv, __ZdaPv;
  
  function __initializeRuntime__() {
    // If we don't have malloc/free implemented, use a simple implementation.
    Module['_malloc'] = _malloc = __Znwj = __Znaj = __Znam = __Znwm = Module['_malloc'] ? Module['_malloc'] : Runtime.staticAlloc;
    Module['_free']   = _free = __ZdlPv = __ZdaPv =                   Module['_free']   ? Module['_free']   : function() { };
  
    HEAP = intArrayFromString('(null)'); // So printing %s of NULL gives '(null)'
                                         // Also this ensures we leave 0 as an invalid address, 'NULL'
    if (!this['TOTAL_MEMORY']) TOTAL_MEMORY = 50*1024*1024;
    if (this['Int32Array']) { // check for engine support
      IHEAP = new Int32Array(TOTAL_MEMORY);
      for (var i = 0; i < HEAP.length; i++) {
        IHEAP[i] = HEAP[i];
      }
    } else {
      IHEAP = HEAP; // fallback
    }
    if (this['Float64Array']) { // check for engine support
      FHEAP = new Float64Array(TOTAL_MEMORY);
    } else {
      FHEAP = HEAP; // fallback
    }
  
    Module['HEAP'] = HEAP;
    Module['IHEAP'] = IHEAP;
    Module['FHEAP'] = FHEAP;
  
    STACK_ROOT = STACKTOP = alignMemoryPage(10);
    if (!this['TOTAL_STACK']) TOTAL_STACK = 1024*1024; // Reserved room for stack
    STACK_MAX = STACK_ROOT + TOTAL_STACK;
  
    STATICTOP = alignMemoryPage(STACK_MAX);
  }
  
  // stdio.h
  
  // C-style: we work on ints on the HEAP.
  function __formatString() {
    var textIndex = arguments[0];
    var argIndex = 1;
    var ret = [];
    var curr = -1;
    while (curr != 0) {
      curr = IHEAP[textIndex];
      next = IHEAP[textIndex+1];
      if (curr == '%'.charCodeAt(0) && ['d', 'u', 'f', '.'].indexOf(String.fromCharCode(next)) != -1) {
        var argText = String(+arguments[argIndex]); // +: boolean=>int
        // Handle very very simply formatting, namely only %.Xf
        if (next == '.'.charCodeAt(0)) {
          var limit = parseInt(String.fromCharCode(IHEAP[textIndex+2]));
          var dotIndex = argText.indexOf('.');
          if (dotIndex == -1) {
            dotIndex = argText.length;
            argText += '.';
          }
          argText += '00000000000'; // padding
          argText = argText.substr(0, dotIndex+1+limit);
          textIndex += 2;
        } else if (next == 'u'.charCodeAt(0)) {
          argText = String(unSign(arguments[argIndex], 32));
        }
        argText.split('').forEach(function(chr) {
          ret.push(chr.charCodeAt(0));
        });
        argIndex += 1;
        textIndex += 2;
      } else if (curr == '%'.charCodeAt(0) && next == 's'.charCodeAt(0)) {
        ret = ret.concat(String_copy(arguments[argIndex]));
        argIndex += 1;
        textIndex += 2;
      } else if (curr == '%'.charCodeAt(0) && next == 'c'.charCodeAt(0)) {
        ret = ret.concat(arguments[argIndex]);
        argIndex += 1;
        textIndex += 2;
      } else {
        ret.push(curr);
        textIndex += 1;
      }
    }
    return Pointer_make(ret, 0, ALLOC_STACK); // NB: Stored on the stack
  }
  
  // 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(IHEAP.slice(ptr, ptr+num)); // Make a normal array out of the typed one
  }
  
  // Copies a C-style string, terminated by a zero, from the HEAP into
  // a normal JavaScript array of numbers
  function String_copy(ptr, addZero) {
    return Array_copy(ptr, _strlen(ptr)).concat(addZero ? [0] : []);
  }
  
  // stdlib.h
  
  // Get a pointer, return int value of the string it points to
  function _atoi(s) {
    return Math.floor(Number(Pointer_stringify(s)));
  }
  
  function _llvm_memcpy_i32(dest, src, num, idunno) {
  // XXX hardcoded ptr impl
    for (var i = 0; i < num; i++) {
      HEAP[dest + i] = HEAP[src + i];
      // TODO: optimize somehow - this is slower than without typed arrays
      IHEAP[dest + i] = IHEAP[src + i];
      FHEAP[dest + i] = FHEAP[src + i];
    }
  //  dest = Pointer_niceify(dest);
  //  src = Pointer_niceify(src);
  //  dest.slab = src.slab.slice(src.pos);
  }
  _llvm_memcpy_i64 = _llvm_memcpy_i32;
  _llvm_memcpy_p0i8_p0i8_i32 = _llvm_memcpy_i32;
  
  function llvm_memset_i32(ptr, value, num) {
    for (var i = 0; i < num; i++) {
      HEAP[ptr+i] = IHEAP[ptr+i] = FHEAP[ptr+i] = value;
    }
  }
  _llvm_memset_p0i8_i64 = _llvm_memset_p0i8_i32 = llvm_memset_i32;
  
  function _strlen(ptr) {
    var i = 0;
    while (IHEAP[ptr+i] != 0) i++;
    return i;
  }
  
  // Tools
  
  PRINTBUFFER = '';
  function __print__(text) {
    // We print only when we see a '\n', as console JS engines always add
    // one anyhow.
    PRINTBUFFER = PRINTBUFFER + text;
    var endIndex;
    while ((endIndex = PRINTBUFFER.indexOf('\n')) != -1) {
      print(PRINTBUFFER.substr(0, endIndex));
      PRINTBUFFER = PRINTBUFFER.substr(endIndex + 1);
    }
  }
  
  function jrint(label, obj) { // XXX manual debugging
    if (!obj) {
      obj = label;
      label = '';
    } else
      label = label + ' : ';
    print(label + JSON.stringify(obj));
  }
  
  // This processes a 'normal' string into a C-line array of numbers.
  // For LLVM-originating strings, see parser.js:parseLLVMString function
  function intArrayFromString(stringy) {
    var ret = [];
    var t;
    var i = 0;
    while (i < stringy.length) {
      ret.push(stringy.charCodeAt(i));
      i = i + 1;
    }
    ret.push(0);
    return ret;
  }
  
  // Converts a value we have as signed, into an unsigned value. For
  // example, -1 in int32 would be a very large number as unsigned.
  function unSign(value, bits) {
    if (value >= 0) return value;
    return 2*Math.abs(1 << (bits-1)) + value;
  }
  
  // === Body ===
  
  var _0___SIZE = 8; // %0
  
  var _struct__0AabbCalculationCallback___SIZE = 36; // %struct..0AabbCalculationCallback
  var _struct__0AabbCalculationCallback___FLATTENER = [0,4,20];
  var _struct__0BridgeTriangleRaycastCallback___SIZE = 120; // %struct..0BridgeTriangleRaycastCallback
  var _struct__0BridgeTriangleRaycastCallback___FLATTENER = [0,44,48,52,56];
  var _struct__0CenterCallback___SIZE = 44; // %struct..0CenterCallback
  var _struct__0CenterCallback___FLATTENER = [0,4,8,24,40];
  var _struct__0CleanPairCallback___SIZE = 16; // %struct..0CleanPairCallback
  
  var _struct__0FilteredCallback___SIZE = 40; // %struct..0FilteredCallback
  var _struct__0FilteredCallback___FLATTENER = [0,4,8,24];
  var _struct__0InplaceSolverIslandCallback___SIZE = 92; // %struct..0InplaceSolverIslandCallback
  var _struct__0InplaceSolverIslandCallback___FLATTENER = [0,4,8,12,16,20,24,28,32,52,72];
  var _struct__0LocalTriangleSphereCastCallback___SIZE = 204; // %struct..0LocalTriangleSphereCastCallback
  var _struct__0LocalTriangleSphereCastCallback___FLATTENER = [0,4,68,132,196,200];
  var _struct__0MyNodeOverlapCallback___SIZE = 12; // %struct..0MyNodeOverlapCallback
  
  var _struct__0NodeTriangleCallback___SIZE = 8; // %struct..0NodeTriangleCallback
  
  var _struct__0btIntermediateResult___SIZE = 44; // %struct..0btIntermediateResult
  var _struct__0btIntermediateResult___FLATTENER = [0,4,20,36,40];
  var _struct__0btMultiSapOverlapFilterCallback___SIZE = 4; // %struct..0btMultiSapOverlapFilterCallback
  
  var _struct__1BridgeTriangleRaycastCallback___SIZE = 120; // %struct..1BridgeTriangleRaycastCallback
  var _struct__1BridgeTriangleRaycastCallback___FLATTENER = [0,44,48,52,56];
  var _struct__1InertiaCallback___SIZE = 68; // %struct..1InertiaCallback
  var _struct__1InertiaCallback___FLATTENER = [0,4,52];
  var _struct__1MyNodeOverlapCallback___SIZE = 16; // %struct..1MyNodeOverlapCallback
  
  var _struct__1QuantizedNodeTriangleCallback___SIZE = 12; // %struct..1QuantizedNodeTriangleCallback
  
  var _struct__1RemovePairCallback___SIZE = 8; // %struct..1RemovePairCallback
  
  var _struct__2LocalInfoAdder2___SIZE = 28; // %struct..2LocalInfoAdder2
  var _struct__2LocalInfoAdder2___FLATTENER = [0,20,24];
  var _struct__2MyNodeOverlapCallback___SIZE = 60; // %struct..2MyNodeOverlapCallback
  
  var _struct__3BridgeTriangleConvexcastCallback___SIZE = 220; // %struct..3BridgeTriangleConvexcastCallback
  var _struct__3BridgeTriangleConvexcastCallback___FLATTENER = [0,208,212,216];
  var _struct__4BridgeTriangleConvexcastCallback___SIZE = 220; // %struct..4BridgeTriangleConvexcastCallback
  var _struct__4BridgeTriangleConvexcastCallback___FLATTENER = [0,208,212,216];
  var _struct__5LocalInfoAdder___SIZE = 20; // %struct..5LocalInfoAdder
  var _struct__5LocalInfoAdder___FLATTENER = [0,12,16];
  var _struct_BT_BOX_BOX_TRANSFORM_CACHE___SIZE = 112; // %struct.BT_BOX_BOX_TRANSFORM_CACHE
  var _struct_BT_BOX_BOX_TRANSFORM_CACHE___FLATTENER = [0,16,64];
  var _struct_BT_QUANTIZED_BVH_NODE___SIZE = 20; // %struct.BT_QUANTIZED_BVH_NODE
  
  var _struct_BroadphaseAabbTester___SIZE = 8; // %struct.BroadphaseAabbTester
  
  var _struct_BroadphaseRayTester___SIZE = 8; // %struct.BroadphaseRayTester
  
  var _struct_BvhSubtreeInfoArray___SIZE = 20; // %struct.BvhSubtreeInfoArray
  
  var _struct_CONTACT_KEY_TOKEN___SIZE = 8; // %struct.CONTACT_KEY_TOKEN
  
  var _struct_CONTACT_KEY_TOKEN_COMP___SIZE = 1; // %struct.CONTACT_KEY_TOKEN_COMP
  
  var _struct_CProfileIterator___SIZE = 8; // %struct.CProfileIterator
  
  var _struct_CProfileNode___SIZE = 32; // %struct.CProfileNode
  
  var _struct_CProfileSample___SIZE = 1; // %struct.CProfileSample
  
  var _struct_ClipVertex___SIZE = 20; // %struct.ClipVertex
  
  var _struct_ConvexH___SIZE = 60; // %struct.ConvexH
  
  var __struct_ConvexH__HalfEdge____SIZE = 4; // %"struct.ConvexH::HalfEdge"
  var __struct_ConvexH__HalfEdge____FLATTENER = [0,2,3];
  var _struct_DISTANCE_PLANE_3D_FUNC___SIZE = 1; // %struct.DISTANCE_PLANE_3D_FUNC
  
  var _struct_DebugDrawcallback___SIZE = 92; // %struct.DebugDrawcallback
  var _struct_DebugDrawcallback___FLATTENER = [0,4,8,12,28];
  var _struct_GIM_AABB___SIZE = 32; // %struct.GIM_AABB
  
  var _struct_GIM_AABB_DATA___SIZE = 36; // %struct.GIM_AABB_DATA
  
  var _struct_GIM_BOX_TREE___SIZE = 16; // %struct.GIM_BOX_TREE
  
  var _struct_GIM_BOX_TREE_NODE___SIZE = 48; // %struct.GIM_BOX_TREE_NODE
  var _struct_GIM_BOX_TREE_NODE___FLATTENER = [0,32,36,40,44];
  var _struct_GIM_BVH_DATA___SIZE = 36; // %struct.GIM_BVH_DATA
  
  var _struct_GIM_BVH_DATA_ARRAY___SIZE = 20; // %struct.GIM_BVH_DATA_ARRAY
  
  var _struct_GIM_CONTACT___SIZE = 48; // %struct.GIM_CONTACT
  var _struct_GIM_CONTACT___FLATTENER = [0,16,32,36,40,44];
  var _struct_GIM_PAIR___SIZE = 8; // %struct.GIM_PAIR
  
  var _struct_GIM_QUANTIZED_BVH_NODE_ARRAY___SIZE = 20; // %struct.GIM_QUANTIZED_BVH_NODE_ARRAY
  
  var _struct_GIM_RSORT_TOKEN___SIZE = 8; // %struct.GIM_RSORT_TOKEN
  
  var _struct_GIM_RSORT_TOKEN_COMPARATOR___SIZE = 1; // %struct.GIM_RSORT_TOKEN_COMPARATOR
  
  var _struct_GIM_STANDARD_ALLOCATOR___SIZE = 80; // %struct.GIM_STANDARD_ALLOCATOR
  
  var _struct_GIM_ShapeRetriever___SIZE = 288; // %struct.GIM_ShapeRetriever
  var _struct_GIM_ShapeRetriever___FLATTENER = [0,4,104,260,268,276,284];
  var __struct_GIM_ShapeRetriever__ChildShapeRetriever____SIZE = 8; // %"struct.GIM_ShapeRetriever::ChildShapeRetriever"
  
  var __struct_GIM_ShapeRetriever__TetraShapeRetriever____SIZE = 8; // %"struct.GIM_ShapeRetriever::TetraShapeRetriever"
  
  var _struct_GIM_TRIANGLE___SIZE = 52; // %struct.GIM_TRIANGLE
  
  var _struct_GIM_TRIANGLE_CALCULATION_CACHE___SIZE = 1012; // %struct.GIM_TRIANGLE_CALCULATION_CACHE
  var _struct_GIM_TRIANGLE_CALCULATION_CACHE___FLATTENER = [0,4,52,100,116,132,148,164,180,196,212,216,220,236,240,244,500,756];
  var _struct_GIM_TRIANGLE_CONTACT___SIZE = 280; // %struct.GIM_TRIANGLE_CONTACT
  var _struct_GIM_TRIANGLE_CONTACT___FLATTENER = [0,4,8,24];
  var _struct_GIM_TRIANGLE_CONTACT_DATA___SIZE = 280; // %struct.GIM_TRIANGLE_CONTACT_DATA
  var _struct_GIM_TRIANGLE_CONTACT_DATA___FLATTENER = [0,4,8,24];
  var _struct_HullDesc___SIZE = 28; // %struct.HullDesc
  
  var _struct_HullLibrary___SIZE = 40; // %struct.HullLibrary
  
  var _struct_HullResult___SIZE = 56; // %struct.HullResult
  var _struct_HullResult___FLATTENER = [0,4,8,28,32,36];
  var _struct_IndexedMeshArray___SIZE = 20; // %struct.IndexedMeshArray
  
  var _struct_LocalSupportVertexCallback___SIZE = 40; // %struct.LocalSupportVertexCallback
  var _struct_LocalSupportVertexCallback___FLATTENER = [0,4,20,24];
  var _struct_MaterialArray___SIZE = 20; // %struct.MaterialArray
  
  var _struct_NodeArray___SIZE = 20; // %struct.NodeArray
  
  var _struct_PHullResult___SIZE = 36; // %struct.PHullResult
  
  var _struct_PfxConstraintRow___SIZE = 32; // %struct.PfxConstraintRow
  var _struct_PfxConstraintRow___FLATTENER = [0,12,16,20,24,28];
  var _struct_QuantizedNodeArray___SIZE = 20; // %struct.QuantizedNodeArray
  
  var _struct_SphereTriangleDetector___SIZE = 16; // %struct.SphereTriangleDetector
  
  var _struct_SupportVertexCallback___SIZE = 104; // %struct.SupportVertexCallback
  var _struct_SupportVertexCallback___FLATTENER = [0,4,20,84,88];
  var _struct___base_class_type_info_pseudo___SIZE = 8; // %struct.__base_class_type_info_pseudo
  
  var _struct___class_type_info_pseudo___SIZE = 8; // %struct.__class_type_info_pseudo
  
  var _struct___si_class_type_info_pseudo___SIZE = 12; // %struct.__si_class_type_info_pseudo
  
  var _struct___type_info_pseudo___SIZE = 8; // %struct.__type_info_pseudo
  
  var _struct___vmi_class_type_info_pseudo1___SIZE = 24; // %struct.__vmi_class_type_info_pseudo1
  var _struct___vmi_class_type_info_pseudo1___FLATTENER = [0,8,12,16];
  var _struct___vmi_class_type_info_pseudo2___SIZE = 32; // %struct.__vmi_class_type_info_pseudo2
  var _struct___vmi_class_type_info_pseudo2___FLATTENER = [0,8,12,16];
  var _struct_anon___SIZE = 8; // %struct.anon
  
  var _struct_bt32BitAxisSweep3___SIZE = 124; // %struct.bt32BitAxisSweep3
  
  var _struct_btAABB___SIZE = 32; // %struct.btAABB
  
  var _struct_btActionInterface___SIZE = 4; // %struct.btActionInterface
  
  var _struct_btActivatingCollisionAlgorithm___SIZE = 8; // %struct.btActivatingCollisionAlgorithm
  
  var __struct_btAlignedAllocator_BT_QUANTIZED_BVH_NODE_16u_____SIZE = 1; // %"struct.btAlignedAllocator<BT_QUANTIZED_BVH_NODE,16u>"
  
  var __struct_btAlignedAllocator_ConvexH__HalfEdge_16u_____SIZE = 1; // %"struct.btAlignedAllocator<ConvexH::HalfEdge,16u>"
  
  var __struct_btAlignedAllocator_GIM_BVH_DATA_16u_____SIZE = 1; // %"struct.btAlignedAllocator<GIM_BVH_DATA,16u>"
  
  var __struct_btAlignedAllocator_btActionInterface__16u_____SIZE = 1; // %"struct.btAlignedAllocator<btActionInterface*,16u>"
  
  var __struct_btAlignedAllocator_btBroadphaseInterface__16u_____SIZE = 1; // %"struct.btAlignedAllocator<btBroadphaseInterface*,16u>"
  
  var __struct_btAlignedAllocator_btBroadphasePair_16u_____SIZE = 1; // %"struct.btAlignedAllocator<btBroadphasePair,16u>"
  
  var __struct_btAlignedAllocator_btBvhSubtreeInfo_16u_____SIZE = 1; // %"struct.btAlignedAllocator<btBvhSubtreeInfo,16u>"
  
  var __struct_btAlignedAllocator_btCollisionAlgorithm__16u_____SIZE = 1; // %"struct.btAlignedAllocator<btCollisionAlgorithm*,16u>"
  
  var __struct_btAlignedAllocator_btCollisionObject__16u_____SIZE = 1; // %"struct.btAlignedAllocator<btCollisionObject*,16u>"
  
  var __struct_btAlignedAllocator_btCollisionShape__16u_____SIZE = 1; // %"struct.btAlignedAllocator<btCollisionShape*,16u>"
  
  var __struct_btAlignedAllocator_btCompoundShapeChild_16u_____SIZE = 1; // %"struct.btAlignedAllocator<btCompoundShapeChild,16u>"
  
  var __struct_btAlignedAllocator_btDbvt__sStkCLN_16u_____SIZE = 1; // %"struct.btAlignedAllocator<btDbvt::sStkCLN,16u>"
  
  var __struct_btAlignedAllocator_btDbvt__sStkNN_16u_____SIZE = 1; // %"struct.btAlignedAllocator<btDbvt::sStkNN,16u>"
  
  var __struct_btAlignedAllocator_btElement_16u_____SIZE = 1; // %"struct.btAlignedAllocator<btElement,16u>"
  
  var __struct_btAlignedAllocator_btHashInt_16u_____SIZE = 1; // %"struct.btAlignedAllocator<btHashInt,16u>"
  
  var __struct_btAlignedAllocator_btHullTriangle__16u_____SIZE = 1; // %"struct.btAlignedAllocator<btHullTriangle*,16u>"
  
  var __struct_btAlignedAllocator_btIndexedMesh_16u_____SIZE = 1; // %"struct.btAlignedAllocator<btIndexedMesh,16u>"
  
  var __struct_btAlignedAllocator_btPersistentManifold__16u_____SIZE = 1; // %"struct.btAlignedAllocator<btPersistentManifold*,16u>"
  
  var __struct_btAlignedAllocator_btRigidBody__16u_____SIZE = 1; // %"struct.btAlignedAllocator<btRigidBody*,16u>"
  
  var __struct_btAlignedAllocator_btSolverConstraint_16u_____SIZE = 1; // %"struct.btAlignedAllocator<btSolverConstraint,16u>"
  
  var __struct_btAlignedAllocator_btTriangle_16u_____SIZE = 1; // %"struct.btAlignedAllocator<btTriangle,16u>"
  
  var __struct_btAlignedAllocator_btTriangleInfo_16u_____SIZE = 1; // %"struct.btAlignedAllocator<btTriangleInfo,16u>"
  
  var __struct_btAlignedAllocator_btTypedConstraint__16u_____SIZE = 1; // %"struct.btAlignedAllocator<btTypedConstraint*,16u>"
  
  var __struct_btAlignedAllocator_btTypedConstraint__btConstraintInfo1_16u_____SIZE = 1; // %"struct.btAlignedAllocator<btTypedConstraint::btConstraintInfo1,16u>"
  
  var __struct_btAlignedAllocator_btVector3_16u_____SIZE = 1; // %"struct.btAlignedAllocator<btVector3,16u>"
  
  var __struct_btAlignedAllocator_int_16u_____SIZE = 1; // %"struct.btAlignedAllocator<int,16u>"
  
  var __struct_btAlignedObjectArray_BT_QUANTIZED_BVH_NODE_____SIZE = 20; // %"struct.btAlignedObjectArray<BT_QUANTIZED_BVH_NODE>"
  
  var __struct_btAlignedObjectArray_BT_QUANTIZED_BVH_NODE__base_32____SIZE = 20; // %"struct.btAlignedObjectArray<BT_QUANTIZED_BVH_NODE>.base.32"
  
  var __struct_btAlignedObjectArray_CONTACT_KEY_TOKEN_____SIZE = 20; // %"struct.btAlignedObjectArray<CONTACT_KEY_TOKEN>"
  
  var __struct_btAlignedObjectArray_ConvexH__HalfEdge_____SIZE = 20; // %"struct.btAlignedObjectArray<ConvexH::HalfEdge>"
  
  var __struct_btAlignedObjectArray_GIM_BVH_DATA_____SIZE = 20; // %"struct.btAlignedObjectArray<GIM_BVH_DATA>"
  
  var __struct_btAlignedObjectArray_GIM_CONTACT_____SIZE = 20; // %"struct.btAlignedObjectArray<GIM_CONTACT>"
  
  var __struct_btAlignedObjectArray_GIM_PAIR_____SIZE = 20; // %"struct.btAlignedObjectArray<GIM_PAIR>"
  
  var __struct_btAlignedObjectArray_btActionInterface______SIZE = 20; // %"struct.btAlignedObjectArray<btActionInterface*>"
  
  var __struct_btAlignedObjectArray_btBroadphasePair_____SIZE = 20; // %"struct.btAlignedObjectArray<btBroadphasePair>"
  
  var __struct_btAlignedObjectArray_btCollisionAlgorithm______SIZE = 20; // %"struct.btAlignedObjectArray<btCollisionAlgorithm*>"
  
  var __struct_btAlignedObjectArray_btCollisionObject______SIZE = 20; // %"struct.btAlignedObjectArray<btCollisionObject*>"
  
  var __struct_btAlignedObjectArray_btCollisionShape______SIZE = 20; // %"struct.btAlignedObjectArray<btCollisionShape*>"
  
  var __struct_btAlignedObjectArray_btCompoundShapeChild_____SIZE = 20; // %"struct.btAlignedObjectArray<btCompoundShapeChild>"
  
  var __struct_btAlignedObjectArray_btDbvt__sStkCLN_____SIZE = 20; // %"struct.btAlignedObjectArray<btDbvt::sStkCLN>"
  
  var __struct_btAlignedObjectArray_btDbvt__sStkNN_____SIZE = 20; // %"struct.btAlignedObjectArray<btDbvt::sStkNN>"
  
  var __struct_btAlignedObjectArray_btDbvtNode______SIZE = 20; // %"struct.btAlignedObjectArray<btDbvtNode*>"
  
  var __struct_btAlignedObjectArray_btElement_____SIZE = 20; // %"struct.btAlignedObjectArray<btElement>"
  
  var __struct_btAlignedObjectArray_btGImpactMeshShapePart______SIZE = 20; // %"struct.btAlignedObjectArray<btGImpactMeshShapePart*>"
  
  var __struct_btAlignedObjectArray_btHashInt_____SIZE = 20; // %"struct.btAlignedObjectArray<btHashInt>"
  
  var __struct_btAlignedObjectArray_btHashPtr_____SIZE = 20; // %"struct.btAlignedObjectArray<btHashPtr>"
  
  var __struct_btAlignedObjectArray_btHullTriangle______SIZE = 20; // %"struct.btAlignedObjectArray<btHullTriangle*>"
  
  var __struct_btAlignedObjectArray_btMaterial______SIZE = 20; // %"struct.btAlignedObjectArray<btMaterial*>"
  
  var __struct_btAlignedObjectArray_btMultiSapBroadphase__btBridgeProxy______SIZE = 20; // %"struct.btAlignedObjectArray<btMultiSapBroadphase::btBridgeProxy*>"
  
  var __struct_btAlignedObjectArray_btMultiSapBroadphase__btMultiSapProxy______SIZE = 20; // %"struct.btAlignedObjectArray<btMultiSapBroadphase::btMultiSapProxy*>"
  
  var __struct_btAlignedObjectArray_btPersistentManifold______SIZE = 20; // %"struct.btAlignedObjectArray<btPersistentManifold*>"
  
  var __struct_btAlignedObjectArray_btPlane_____SIZE = 20; // %"struct.btAlignedObjectArray<btPlane>"
  
  var __struct_btAlignedObjectArray_btRigidBody______SIZE = 20; // %"struct.btAlignedObjectArray<btRigidBody*>"
  
  var __struct_btAlignedObjectArray_btTransform_____SIZE = 20; // %"struct.btAlignedObjectArray<btTransform>"
  
  var __struct_btAlignedObjectArray_btTriangle_____SIZE = 20; // %"struct.btAlignedObjectArray<btTriangle>"
  
  var __struct_btAlignedObjectArray_btTriangleInfo_____SIZE = 20; // %"struct.btAlignedObjectArray<btTriangleInfo>"
  
  var __struct_btAlignedObjectArray_btTypedConstraint______SIZE = 20; // %"struct.btAlignedObjectArray<btTypedConstraint*>"
  
  var __struct_btAlignedObjectArray_btTypedConstraint__btConstraintInfo1_____SIZE = 20; // %"struct.btAlignedObjectArray<btTypedConstraint::btConstraintInfo1>"
  
  var __struct_btAlignedObjectArray_btVector3_____SIZE = 20; // %"struct.btAlignedObjectArray<btVector3>"
  
  var __struct_btAlignedObjectArray_btWheelInfo_____SIZE = 20; // %"struct.btAlignedObjectArray<btWheelInfo>"
  
  var __struct_btAlignedObjectArray_float_____SIZE = 20; // %"struct.btAlignedObjectArray<float>"
  
  var __struct_btAlignedObjectArray_int_____SIZE = 20; // %"struct.btAlignedObjectArray<int>"
  
  var __struct_btAlignedObjectArray_short_unsigned_int_____SIZE = 20; // %"struct.btAlignedObjectArray<short unsigned int>"
  
  var __struct_btAlignedObjectArray_unsigned_int_____SIZE = 20; // %"struct.btAlignedObjectArray<unsigned int>"
  
  var _struct_btAxisSweep3___SIZE = 116; // %struct.btAxisSweep3
  
  var __struct_btAxisSweep3Internal_short_unsigned_int_____SIZE = 116; // %"struct.btAxisSweep3Internal<short unsigned int>"
  var __struct_btAxisSweep3Internal_short_unsigned_int_____FLATTENER = [0,4,6,8,24,40,56,58,60,64,68,80,92,96,100,104,108,112];
  var __struct_btAxisSweep3Internal_short_unsigned_int___Edge____SIZE = 4; // %"struct.btAxisSweep3Internal<short unsigned int>::Edge"
  
  var __struct_btAxisSweep3Internal_short_unsigned_int___Handle____SIZE = 68; // %"struct.btAxisSweep3Internal<short unsigned int>::Handle"
  var __struct_btAxisSweep3Internal_short_unsigned_int___Handle____FLATTENER = [0,48,56,64];
  var __struct_btAxisSweep3Internal_unsigned_int_____SIZE = 124; // %"struct.btAxisSweep3Internal<unsigned int>"
  var __struct_btAxisSweep3Internal_unsigned_int_____FLATTENER = [0,4,8,12,28,44,60,64,68,72,76,88,100,104,108,112,116,120];
  var __struct_btAxisSweep3Internal_unsigned_int___Edge____SIZE = 8; // %"struct.btAxisSweep3Internal<unsigned int>::Edge"
  
  var __struct_btAxisSweep3Internal_unsigned_int___Handle____SIZE = 76; // %"struct.btAxisSweep3Internal<unsigned int>::Handle"
  var __struct_btAxisSweep3Internal_unsigned_int___Handle____FLATTENER = [0,48,60,72];
  var _struct_btBU_Simplex1to4___SIZE = 156; // %struct.btBU_Simplex1to4
  var _struct_btBU_Simplex1to4___FLATTENER = [0,88,92];
  var _struct_btBlock___SIZE = 8; // %struct.btBlock
  
  var _struct_btBox2dBox2dCollisionAlgorithm___SIZE = 16; // %struct.btBox2dBox2dCollisionAlgorithm
  var _struct_btBox2dBox2dCollisionAlgorithm___FLATTENER = [0,8,12];
  var _struct_btBox2dShape___SIZE = 196; // %struct.btBox2dShape
  var _struct_btBox2dShape___FLATTENER = [0,52,68,132];
  var _struct_btBoxBoxCollisionAlgorithm___SIZE = 16; // %struct.btBoxBoxCollisionAlgorithm
  var _struct_btBoxBoxCollisionAlgorithm___FLATTENER = [0,8,12];
  var __struct_btBoxBoxCollisionAlgorithm__CreateFunc____SIZE = 8; // %"struct.btBoxBoxCollisionAlgorithm::CreateFunc"
  
  var _struct_btBoxBoxDetector___SIZE = 12; // %struct.btBoxBoxDetector
  
  var _struct_btBoxShape___SIZE = 52; // %struct.btBoxShape
  
  var _struct_btBridgedManifoldResult___SIZE = 164; // %struct.btBridgedManifoldResult
  
  var _struct_btBroadphaseAabbCallback___SIZE = 4; // %struct.btBroadphaseAabbCallback
  
  var _struct_btBroadphaseInterface___SIZE = 4; // %struct.btBroadphaseInterface
  
  var _struct_btBroadphasePair___SIZE = 16; // %struct.btBroadphasePair
  
  var _struct_btBroadphasePairArray___SIZE = 20; // %struct.btBroadphasePairArray
  
  var _struct_btBroadphaseProxy___SIZE = 48; // %struct.btBroadphaseProxy
  var _struct_btBroadphaseProxy___FLATTENER = [0,4,6,8,12,16,32];
  var _struct_btBroadphaseRayCallback___SIZE = 36; // %struct.btBroadphaseRayCallback
  var _struct_btBroadphaseRayCallback___FLATTENER = [0,4,20,32];
  var _struct_btBvhSubtreeInfo___SIZE = 36; // %struct.btBvhSubtreeInfo
  var _struct_btBvhSubtreeInfo___FLATTENER = [0,8,16,20,24];
  var _struct_btBvhSubtreeInfoData___SIZE = 24; // %struct.btBvhSubtreeInfoData
  var _struct_btBvhSubtreeInfoData___FLATTENER = [0,4,8,16];
  var _struct_btBvhTree___SIZE = 24; // %struct.btBvhTree
  
  var _struct_btBvhTriangleMeshShape___SIZE = 76; // %struct.btBvhTriangleMeshShape
  var _struct_btBvhTriangleMeshShape___FLATTENER = [0,52,56,60,61,64];
  var _struct_btCapsuleShape___SIZE = 56; // %struct.btCapsuleShape
  
  var _struct_btCapsuleShapeX___SIZE = 56; // %struct.btCapsuleShapeX
  
  var _struct_btCharacterControllerInterface___SIZE = 4; // %struct.btCharacterControllerInterface
  
  var _struct_btChunk___SIZE = 20; // %struct.btChunk
  
  var _struct_btClock___SIZE = 4; // %struct.btClock
  
  var _struct_btClockData___SIZE = 8; // %struct.btClockData
  
  var _struct_btClosestNotMeConvexResultCallback___SIZE = 96; // %struct.btClosestNotMeConvexResultCallback
  var _struct_btClosestNotMeConvexResultCallback___FLATTENER = [0,80,84,88,92];
  var _struct_btCollisionAlgorithm___SIZE = 8; // %struct.btCollisionAlgorithm
  
  var _struct_btCollisionAlgorithmConstructionInfo___SIZE = 8; // %struct.btCollisionAlgorithmConstructionInfo
  
  var _struct_btCollisionAlgorithmCreateFunc___SIZE = 8; // %struct.btCollisionAlgorithmCreateFunc
  
  var _struct_btCollisionConfiguration___SIZE = 4; // %struct.btCollisionConfiguration
  
  var _struct_btCollisionDispatcher___SIZE = 5388; // %struct.btCollisionDispatcher
  var _struct_btCollisionDispatcher___FLATTENER = [0,4,8,28,188,192,196,200,5384];
  var _struct_btCollisionObject___SIZE = 256; // %struct.btCollisionObject
  var _struct_btCollisionObject___FLATTENER = [0,4,68,132,148,164,180,184,188,192,196,200,204,208,212,216,220,224,228,232,236,240,244,248,252];
  var _struct_btCollisionObjectArray___SIZE = 20; // %struct.btCollisionObjectArray
  
  var _struct_btCollisionObjectFloatData___SIZE = 248; // %struct.btCollisionObjectFloatData
  var _struct_btCollisionObjectFloatData___FLATTENER = [0,4,8,12,16,80,144,160,176,192,196,200,204,208,212,216,220,224,228,232,236,240,244];
  var _struct_btCollisionPairCallback___SIZE = 12; // %struct.btCollisionPairCallback
  
  var _struct_btCollisionShape___SIZE = 12; // %struct.btCollisionShape
  
  var _struct_btCollisionShapeData___SIZE = 12; // %struct.btCollisionShapeData
  
  var _struct_btCollisionWorld___SIZE = 92; // %struct.btCollisionWorld
  var _struct_btCollisionWorld___FLATTENER = [0,4,24,28,76,80,84,88];
  var _struct_btCollisionWorld_base_32___SIZE = 92; // %struct.btCollisionWorld.base.32
  var _struct_btCollisionWorld_base_32___FLATTENER = [0,4,24,28,76,80,84,88];
  var __struct_btCollisionWorld__ClosestConvexResultCallback____SIZE = 80; // %"struct.btCollisionWorld::ClosestConvexResultCallback"
  var __struct_btCollisionWorld__ClosestConvexResultCallback____FLATTENER = [0,12,28,44,60,76];
  var __struct_btCollisionWorld__ClosestRayResultCallback____SIZE = 84; // %"struct.btCollisionWorld::ClosestRayResultCallback"
  var __struct_btCollisionWorld__ClosestRayResultCallback____FLATTENER = [0,20,36,52,68];
  var __struct_btCollisionWorld__ContactResultCallback____SIZE = 8; // %"struct.btCollisionWorld::ContactResultCallback"
  var __struct_btCollisionWorld__ContactResultCallback____FLATTENER = [0,4,6];
  var __struct_btCollisionWorld__ConvexResultCallback____SIZE = 12; // %"struct.btCollisionWorld::ConvexResultCallback"
  var __struct_btCollisionWorld__ConvexResultCallback____FLATTENER = [0,4,8,10];
  var __struct_btCollisionWorld__LocalConvexResult____SIZE = 44; // %"struct.btCollisionWorld::LocalConvexResult"
  var __struct_btCollisionWorld__LocalConvexResult____FLATTENER = [0,4,8,24,40];
  var __struct_btCollisionWorld__LocalRayResult____SIZE = 28; // %"struct.btCollisionWorld::LocalRayResult"
  var __struct_btCollisionWorld__LocalRayResult____FLATTENER = [0,4,8,24];
  var __struct_btCollisionWorld__LocalShapeInfo____SIZE = 8; // %"struct.btCollisionWorld::LocalShapeInfo"
  
  var __struct_btCollisionWorld__RayResultCallback____SIZE = 20; // %"struct.btCollisionWorld::RayResultCallback"
  var __struct_btCollisionWorld__RayResultCallback____FLATTENER = [0,4,8,12,14,16];
  var _struct_btCompoundCollisionAlgorithm___SIZE = 44; // %struct.btCompoundCollisionAlgorithm
  var _struct_btCompoundCollisionAlgorithm___FLATTENER = [0,8,28,32,36,40];
  var _struct_btCompoundLeafCallback___SIZE = 32; // %struct.btCompoundLeafCallback
  
  var _struct_btCompoundShape___SIZE = 92; // %struct.btCompoundShape
  var _struct_btCompoundShape___FLATTENER = [0,12,32,48,64,68,72,76];
  var _struct_btCompoundShapeChild___SIZE = 80; // %struct.btCompoundShapeChild
  var _struct_btCompoundShapeChild___FLATTENER = [0,64,68,72,76];
  var _struct_btCompoundShapeChildData___SIZE = 76; // %struct.btCompoundShapeChildData
  var _struct_btCompoundShapeChildData___FLATTENER = [0,64,68,72];
  var _struct_btConcaveShape___SIZE = 16; // %struct.btConcaveShape
  
  var _struct_btConeShape___SIZE = 76; // %struct.btConeShape
  var _struct_btConeShape___FLATTENER = [0,52,56,60,64];
  var _struct_btConeShapeX___SIZE = 76; // %struct.btConeShapeX
  
  var _struct_btConeTwistConstraint___SIZE = 596; // %struct.btConeTwistConstraint
  var _struct_btConeTwistConstraint___FLATTENER = [0,36,288,352,416,420,424,428,432,436,440,444,448,464,480,484,488,492,496,500,504,508,512,513,514,515,516,520,524,540,541,544,560,564,580,584,588,592];
  var _struct_btConnectivityProcessor___SIZE = 20; // %struct.btConnectivityProcessor
  
  var _struct_btConstraintArray___SIZE = 20; // %struct.btConstraintArray
  
  var _struct_btConstraintSetting___SIZE = 12; // %struct.btConstraintSetting
  
  var _struct_btConstraintSolver___SIZE = 4; // %struct.btConstraintSolver
  
  var _struct_btContactArray___SIZE = 20; // %struct.btContactArray
  
  var _struct_btContactConstraint___SIZE = 1176; // %struct.btContactConstraint
  
  var _struct_btContactSolverInfo___SIZE = 72; // %struct.btContactSolverInfo
  
  var _struct_btContactSolverInfoData___SIZE = 72; // %struct.btContactSolverInfoData
  
  var _struct_btContinuousConvexCollision___SIZE = 20; // %struct.btContinuousConvexCollision
  
  var _struct_btContinuousDynamicsWorld___SIZE = 272; // %struct.btContinuousDynamicsWorld
  
  var _struct_btConvex2dConvex2dAlgorithm___SIZE = 36; // %struct.btConvex2dConvex2dAlgorithm
  var _struct_btConvex2dConvex2dAlgorithm___FLATTENER = [0,8,12,16,20,24,28,32];
  var __struct_btConvex2dConvex2dAlgorithm__CreateFunc____SIZE = 24; // %"struct.btConvex2dConvex2dAlgorithm::CreateFunc"
  var __struct_btConvex2dConvex2dAlgorithm__CreateFunc____FLATTENER = [0,8,12,16,20];
  var _struct_btConvex2dShape___SIZE = 16; // %struct.btConvex2dShape
  
  var _struct_btConvexCast___SIZE = 4; // %struct.btConvexCast
  
  var __struct_btConvexCast__CastResult____SIZE = 176; // %"struct.btConvexCast::CastResult"
  var __struct_btConvexCast__CastResult____FLATTENER = [0,4,68,132,148,164,168,172];
  var _struct_btConvexConcaveCollisionAlgorithm___SIZE = 80; // %struct.btConvexConcaveCollisionAlgorithm
  var _struct_btConvexConcaveCollisionAlgorithm___FLATTENER = [0,8,12];
  var _struct_btConvexConvexAlgorithm___SIZE = 36; // %struct.btConvexConvexAlgorithm
  var _struct_btConvexConvexAlgorithm___FLATTENER = [0,8,12,16,20,24,28,32];
  var __struct_btConvexConvexAlgorithm__CreateFunc____SIZE = 24; // %"struct.btConvexConvexAlgorithm::CreateFunc"
  var __struct_btConvexConvexAlgorithm__CreateFunc____FLATTENER = [0,8,12,16,20];
  var _struct_btConvexHullShape___SIZE = 108; // %struct.btConvexHullShape
  
  var _struct_btConvexInternalAabbCachingShape___SIZE = 88; // %struct.btConvexInternalAabbCachingShape
  var _struct_btConvexInternalAabbCachingShape___FLATTENER = [0,52,68,84];
  var _struct_btConvexInternalAabbCachingShape_base_32___SIZE = 88; // %struct.btConvexInternalAabbCachingShape.base.32
  var _struct_btConvexInternalAabbCachingShape_base_32___FLATTENER = [0,52,68,84];
  var _struct_btConvexInternalShape___SIZE = 52; // %struct.btConvexInternalShape
  var _struct_btConvexInternalShape___FLATTENER = [0,12,28,44,48];
  var _struct_btConvexPenetrationDepthSolver___SIZE = 4; // %struct.btConvexPenetrationDepthSolver
  
  var _struct_btConvexPlaneCollisionAlgorithm___SIZE = 28; // %struct.btConvexPlaneCollisionAlgorithm
  var _struct_btConvexPlaneCollisionAlgorithm___FLATTENER = [0,8,12,16,20,24];
  var __struct_btConvexPlaneCollisionAlgorithm__CreateFunc____SIZE = 16; // %"struct.btConvexPlaneCollisionAlgorithm::CreateFunc"
  var __struct_btConvexPlaneCollisionAlgorithm__CreateFunc____FLATTENER = [0,8,12];
  var _struct_btConvexPointCloudShape___SIZE = 96; // %struct.btConvexPointCloudShape
  var _struct_btConvexPointCloudShape___FLATTENER = [0,88,92];
  var _struct_btConvexShape___SIZE = 12; // %struct.btConvexShape
  
  var _struct_btConvexTriangleCallback___SIZE = 68; // %struct.btConvexTriangleCallback
  var _struct_btConvexTriangleCallback___FLATTENER = [0,4,8,12,28,44,48,52,56,60,64];
  var _struct_btConvexTriangleMeshShape___SIZE = 92; // %struct.btConvexTriangleMeshShape
  
  var _struct_btCylinderShape___SIZE = 56; // %struct.btCylinderShape
  
  var _struct_btCylinderShapeX___SIZE = 56; // %struct.btCylinderShapeX
  
  var _struct_btDbvt___SIZE = 40; // %struct.btDbvt
  
  var __struct_btDbvt__IClone____SIZE = 4; // %"struct.btDbvt::IClone"
  
  var __struct_btDbvt__ICollide____SIZE = 4; // %"struct.btDbvt::ICollide"
  
  var __struct_btDbvt__sStkCLN____SIZE = 8; // %"struct.btDbvt::sStkCLN"
  
  var __struct_btDbvt__sStkNN____SIZE = 8; // %"struct.btDbvt::sStkNN"
  
  var _struct_btDbvtBroadphase___SIZE = 156; // %struct.btDbvtBroadphase
  var _struct_btDbvtBroadphase___FLATTENER = [0,4,84,96,100,104,108,112,116,120,124,128,132,136,140,144,148,152,153,154];
  var _struct_btDbvtNode___SIZE = 44; // %struct.btDbvtNode
  var _struct_btDbvtNode___FLATTENER = [0,32,36];
  var _struct_btDbvtNodeEnumerator___SIZE = 24; // %struct.btDbvtNodeEnumerator
  
  var _struct_btDbvtProxy___SIZE = 64; // %struct.btDbvtProxy
  var _struct_btDbvtProxy___FLATTENER = [0,48,52,60];
  var _struct_btDbvtTreeCollider___SIZE = 12; // %struct.btDbvtTreeCollider
  
  var _struct_btDbvtVolume___SIZE = 32; // %struct.btDbvtVolume
  
  var _struct_btDefaultCollisionConfiguration___SIZE = 88; // %struct.btDefaultCollisionConfiguration
  
  var _struct_btDefaultCollisionConstructionInfo___SIZE = 32; // %struct.btDefaultCollisionConstructionInfo
  
  var _struct_btDefaultMotionState___SIZE = 200; // %struct.btDefaultMotionState
  var _struct_btDefaultMotionState___FLATTENER = [0,4,68,132,196];
  var _struct_btDefaultVehicleRaycaster___SIZE = 8; // %struct.btDefaultVehicleRaycaster
  
  var _struct_btDiscreteCollisionDetectorInterface___SIZE = 4; // %struct.btDiscreteCollisionDetectorInterface
  
  var __struct_btDiscreteCollisionDetectorInterface__ClosestPointInput____SIZE = 136; // %"struct.btDiscreteCollisionDetectorInterface::ClosestPointInput"
  var __struct_btDiscreteCollisionDetectorInterface__ClosestPointInput____FLATTENER = [0,64,128,132];
  var __struct_btDiscreteCollisionDetectorInterface__Result____SIZE = 4; // %"struct.btDiscreteCollisionDetectorInterface::Result"
  
  var _struct_btDiscreteDynamicsWorld___SIZE = 272; // %struct.btDiscreteDynamicsWorld
  var _struct_btDiscreteDynamicsWorld___FLATTENER = [0,176,180,184,204,224,240,244,245,246,248,268];
  var _struct_btDispatcher___SIZE = 4; // %struct.btDispatcher
  
  var _struct_btDispatcherInfo___SIZE = 48; // %struct.btDispatcherInfo
  var _struct_btDispatcherInfo___FLATTENER = [0,4,8,12,16,20,24,25,26,28,32,36,40,44];
  var _struct_btDynamicsWorld___SIZE = 176; // %struct.btDynamicsWorld
  var _struct_btDynamicsWorld___FLATTENER = [0,92,96,100,104];
  var _struct_btElement___SIZE = 8; // %struct.btElement
  
  var _struct_btEmptyAlgorithm___SIZE = 8; // %struct.btEmptyAlgorithm
  
  var _struct_btEmptyShape___SIZE = 32; // %struct.btEmptyShape
  
  var _struct_btGImpactBoxSet___SIZE = 76; // %struct.btGImpactBoxSet
  
  var _struct_btGImpactBvh___SIZE = 28; // %struct.btGImpactBvh
  
  var _struct_btGImpactCollisionAlgorithm___SIZE = 40; // %struct.btGImpactCollisionAlgorithm
  var _struct_btGImpactCollisionAlgorithm___FLATTENER = [0,8,12,16,20,24,28,32,36];
  var __struct_btGImpactCollisionAlgorithm__CreateFunc____SIZE = 8; // %"struct.btGImpactCollisionAlgorithm::CreateFunc"
  
  var _struct_btGImpactCompoundShape___SIZE = 192; // %struct.btGImpactCompoundShape
  var _struct_btGImpactCompoundShape___FLATTENER = [0,144,152,172];
  var __struct_btGImpactCompoundShape__CompoundPrimitiveManager____SIZE = 8; // %"struct.btGImpactCompoundShape::CompoundPrimitiveManager"
  
  var _struct_btGImpactMeshShape___SIZE = 168; // %struct.btGImpactMeshShape
  var _struct_btGImpactMeshShape___FLATTENER = [0,144,148];
  var _struct_btGImpactMeshShapePart___SIZE = 212; // %struct.btGImpactMeshShapePart
  
  var __struct_btGImpactMeshShapePart__TrimeshPrimitiveManager____SIZE = 68; // %"struct.btGImpactMeshShapePart::TrimeshPrimitiveManager"
  var __struct_btGImpactMeshShapePart__TrimeshPrimitiveManager____FLATTENER = [0,4,8,12,28,32,36,40,44,48,52,56,60,64];
  var _struct_btGImpactQuantizedBvh___SIZE = 76; // %struct.btGImpactQuantizedBvh
  
  var _struct_btGImpactShapeInterface___SIZE = 144; // %struct.btGImpactShapeInterface
  var _struct_btGImpactShapeInterface___FLATTENER = [0,16,48,52,68];
  var _struct_btGImpactTriangleCallback___SIZE = 28; // %struct.btGImpactTriangleCallback
  
  var _struct_btGeneric6DofConstraint___SIZE = 1300; // %struct.btGeneric6DofConstraint
  var _struct_btGeneric6DofConstraint___FLATTENER = [0,36,100,164,416,668,856,1048,1052,1116,1180,1196,1244,1260,1264,1268,1272,1288,1289,1292,1296];
  var _struct_btGeneric6DofSpringConstraint___SIZE = 1380; // %struct.btGeneric6DofSpringConstraint
  var _struct_btGeneric6DofSpringConstraint___FLATTENER = [0,1300,1308,1332,1356];
  var _struct_btGenericMemoryPool___SIZE = 28; // %struct.btGenericMemoryPool
  
  var _struct_btGenericPoolAllocator___SIZE = 80; // %struct.btGenericPoolAllocator
  var _struct_btGenericPoolAllocator___FLATTENER = [0,4,8,12,76];
  var _struct_btGhostObject___SIZE = 276; // %struct.btGhostObject
  
  var _struct_btGjkConvexCast___SIZE = 16; // %struct.btGjkConvexCast
  
  var _struct_btGjkEpaPenetrationDepthSolver___SIZE = 4; // %struct.btGjkEpaPenetrationDepthSolver
  
  var __struct_btGjkEpaSolver2__sResults____SIZE = 56; // %"struct.btGjkEpaSolver2::sResults"
  var __struct_btGjkEpaSolver2__sResults____FLATTENER = [0,4,36,52];
  var _struct_btGjkPairDetector___SIZE = 76; // %struct.btGjkPairDetector
  var _struct_btGjkPairDetector___FLATTENER = [0,4,20,24,28,32,36,40,44,48,52,56,60,64,68,72];
  var _struct_btHashInt___SIZE = 4; // %struct.btHashInt
  
  var __struct_btHashMap_btHashInt_btTriangleInfo_____SIZE = 80; // %"struct.btHashMap<btHashInt,btTriangleInfo>"
  
  var __struct_btHashMap_btHashPtr_btCollisionShape______SIZE = 80; // %"struct.btHashMap<btHashPtr,btCollisionShape*>"
  
  var _struct_btHashPtr___SIZE = 8; // %struct.btHashPtr
  
  var _struct_btHashedOverlappingPairCache___SIZE = 76; // %struct.btHashedOverlappingPairCache
  var _struct_btHashedOverlappingPairCache___FLATTENER = [0,4,24,28,32,52,72];
  var _struct_btHeightfieldTerrainShape___SIZE = 124; // %struct.btHeightfieldTerrainShape
  var _struct_btHeightfieldTerrainShape___FLATTENER = [0,16,32,48,64,68,72,76,80,84,88,92,96,100,101,104,108];
  var _struct_btHinge2Constraint___SIZE = 1428; // %struct.btHinge2Constraint
  var _struct_btHinge2Constraint___FLATTENER = [0,1380,1396,1412];
  var _struct_btHingeConstraint___SIZE = 748; // %struct.btHingeConstraint
  var _struct_btHingeConstraint___FLATTENER = [0,36,288,540,604,668,672,676,680,684,688,692,696,700,704,708,712,716,720,721,722,723,724,725,728,732,736,740,744];
  var _struct_btHullTriangle___SIZE = 36; // %struct.btHullTriangle
  var _struct_btHullTriangle___FLATTENER = [0,12,24,28,32];
  var _struct_btIDebugDraw___SIZE = 4; // %struct.btIDebugDraw
  
  var _struct_btIndexedMesh___SIZE = 32; // %struct.btIndexedMesh
  
  var _struct_btIntIndexData___SIZE = 4; // %struct.btIntIndexData
  
  var _struct_btInternalTriangleIndexCallback___SIZE = 4; // %struct.btInternalTriangleIndexCallback
  
  var _struct_btJacobianEntry___SIZE = 84; // %struct.btJacobianEntry
  
  var _struct_btKinematicCharacterController___SIZE = 180; // %struct.btKinematicCharacterController
  var _struct_btKinematicCharacterController___FLATTENER = [0,4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,76,92,108,112,128,148,152,168,169,170,171,172,176];
  var _struct_btKinematicClosestNotMeConvexResultCallback___SIZE = 104; // %struct.btKinematicClosestNotMeConvexResultCallback
  var _struct_btKinematicClosestNotMeConvexResultCallback___FLATTENER = [0,80,84,100];
  var _struct_btManifoldArray___SIZE = 20; // %struct.btManifoldArray
  
  var _struct_btManifoldPoint___SIZE = 276; // %struct.btManifoldPoint
  var _struct_btManifoldPoint___FLATTENER = [0,16,32,48,64,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144,148,164,180];
  var _struct_btManifoldResult___SIZE = 160; // %struct.btManifoldResult
  var _struct_btManifoldResult___FLATTENER = [0,4,8,72,136,140,144,148,152,156];
  var _struct_btMaterial___SIZE = 16; // %struct.btMaterial
  
  var _struct_btMaterialProperties___SIZE = 32; // %struct.btMaterialProperties
  
  var _struct_btMatrix3x3___SIZE = 48; // %struct.btMatrix3x3
  
  var _struct_btMeshPartData___SIZE = 28; // %struct.btMeshPartData
  
  var _struct_btMinkowskiPenetrationDepthSolver___SIZE = 4; // %struct.btMinkowskiPenetrationDepthSolver
  
  var _struct_btMinkowskiSumShape___SIZE = 188; // %struct.btMinkowskiSumShape
  var _struct_btMinkowskiSumShape___FLATTENER = [0,52,116,180,184];
  var _struct_btMotionState___SIZE = 4; // %struct.btMotionState
  
  var _struct_btMultiSapBroadphase___SIZE = 68; // %struct.btMultiSapBroadphase
  var _struct_btMultiSapBroadphase___FLATTENER = [0,4,24,28,32,36,40,44,48];
  var __struct_btMultiSapBroadphase__btBridgeProxy____SIZE = 8; // %"struct.btMultiSapBroadphase::btBridgeProxy"
  
  var __struct_btMultiSapBroadphase__btMultiSapProxy____SIZE = 104; // %"struct.btMultiSapBroadphase::btMultiSapProxy"
  var __struct_btMultiSapBroadphase__btMultiSapProxy____FLATTENER = [0,48,68,84,100];
  var _struct_btMultiSphereShape___SIZE = 128; // %struct.btMultiSphereShape
  var _struct_btMultiSphereShape___FLATTENER = [0,88,108];
  var _struct_btMultimaterialTriangleMeshShape___SIZE = 100; // %struct.btMultimaterialTriangleMeshShape
  var _struct_btMultimaterialTriangleMeshShape___FLATTENER = [0,76,96];
  var _struct_btNodeOverlapCallback___SIZE = 4; // %struct.btNodeOverlapCallback
  
  var _struct_btNullPairCache___SIZE = 24; // %struct.btNullPairCache
  
  var _struct_btOptimizedBvh___SIZE = 172; // %struct.btOptimizedBvh
  
  var _struct_btOptimizedBvhNode___SIZE = 64; // %struct.btOptimizedBvhNode
  var _struct_btOptimizedBvhNode___FLATTENER = [0,16,32,36,40,44];
  var _struct_btOptimizedBvhNodeDoubleData___SIZE = 80; // %struct.btOptimizedBvhNodeDoubleData
  var _struct_btOptimizedBvhNodeDoubleData___FLATTENER = [0,32,64,68,72,76];
  var _struct_btOptimizedBvhNodeFloatData___SIZE = 48; // %struct.btOptimizedBvhNodeFloatData
  var _struct_btOptimizedBvhNodeFloatData___FLATTENER = [0,16,32,36,40,44];
  var _struct_btOverlappingPairCache___SIZE = 4; // %struct.btOverlappingPairCache
  
  var _struct_btOverlappingPairCallback___SIZE = 4; // %struct.btOverlappingPairCallback
  
  var _struct_btPairCachingGhostObject___SIZE = 280; // %struct.btPairCachingGhostObject
  
  var _struct_btPairSet___SIZE = 20; // %struct.btPairSet
  
  var _struct_btPersistentManifold___SIZE = 1140; // %struct.btPersistentManifold
  var _struct_btPersistentManifold___FLATTENER = [0,4,1108,1112,1116,1120,1124,1128,1132,1136];
  var _struct_btPerturbedContactResult___SIZE = 364; // %struct.btPerturbedContactResult
  var _struct_btPerturbedContactResult___FLATTENER = [0,160,164,228,292,356,360];
  var _struct_btPlane___SIZE = 20; // %struct.btPlane
  
  var _struct_btPoint2PointConstraint___SIZE = 348; // %struct.btPoint2PointConstraint
  var _struct_btPoint2PointConstraint___FLATTENER = [0,36,288,304,320,324,328,332,336];
  var _struct_btPointCollector___SIZE = 44; // %struct.btPointCollector
  var _struct_btPointCollector___FLATTENER = [0,4,20,36,40];
  var _struct_btPolyhedralConvexAabbCachingShape___SIZE = 88; // %struct.btPolyhedralConvexAabbCachingShape
  var _struct_btPolyhedralConvexAabbCachingShape___FLATTENER = [0,52,68,84];
  var _struct_btPolyhedralConvexAabbCachingShape_base_32___SIZE = 88; // %struct.btPolyhedralConvexAabbCachingShape.base.32
  var _struct_btPolyhedralConvexAabbCachingShape_base_32___FLATTENER = [0,52,68,84];
  var _struct_btPolyhedralConvexShape___SIZE = 52; // %struct.btPolyhedralConvexShape
  
  var _struct_btPoolAllocator___SIZE = 20; // %struct.btPoolAllocator
  
  var _struct_btPositionAndRadius___SIZE = 20; // %struct.btPositionAndRadius
  
  var _struct_btPrimitiveManagerBase___SIZE = 4; // %struct.btPrimitiveManagerBase
  
  var _struct_btPrimitiveTriangle___SIZE = 72; // %struct.btPrimitiveTriangle
  var _struct_btPrimitiveTriangle___FLATTENER = [0,48,64,68];
  var _struct_btQuadWord___SIZE = 16; // %struct.btQuadWord
  
  var _struct_btQuantizedBvh___SIZE = 172; // %struct.btQuantizedBvh
  var _struct_btQuantizedBvh___FLATTENER = [0,4,20,36,52,56,60,64,84,104,124,144,148,168];
  var _struct_btQuantizedBvhDoubleData___SIZE = 132; // %struct.btQuantizedBvhDoubleData
  var _struct_btQuantizedBvhDoubleData___FLATTENER = [0,32,64,96,100,104,108,112,116,120,124,128];
  var _struct_btQuantizedBvhFloatData___SIZE = 84; // %struct.btQuantizedBvhFloatData
  var _struct_btQuantizedBvhFloatData___FLATTENER = [0,16,32,48,52,56,60,64,68,72,76,80];
  var _struct_btQuantizedBvhNode___SIZE = 20; // %struct.btQuantizedBvhNode
  
  var _struct_btQuantizedBvhTree___SIZE = 72; // %struct.btQuantizedBvhTree
  var _struct_btQuantizedBvhTree___FLATTENER = [0,4,24,56];
  var _struct_btQuaternion___SIZE = 16; // %struct.btQuaternion
  
  var _struct_btRaycastVehicle___SIZE = 152; // %struct.btRaycastVehicle
  var _struct_btRaycastVehicle___FLATTENER = [0,4,24,44,64,84,88,92,96,100,104,108,112,116,120,124,128,132];
  var __struct_btRaycastVehicle__btVehicleTuning____SIZE = 24; // %"struct.btRaycastVehicle::btVehicleTuning"
  
  var _struct_btRigidBody___SIZE = 608; // %struct.btRigidBody
  var _struct_btRigidBody___FLATTENER = [0,256,304,320,336,340,356,372,388,404,420,436,440,444,448,452,456,460,464,468,472,476,496,500,504,520,536,552,568,584,600,604];
  var __struct_btRigidBody__btRigidBodyConstructionInfo____SIZE = 136; // %"struct.btRigidBody::btRigidBodyConstructionInfo"
  var __struct_btRigidBody__btRigidBodyConstructionInfo____FLATTENER = [0,4,8,72,76,92,96,100,104,108,112,116,120,124,128,132];
  var _struct_btRigidBodyFloatData___SIZE = 480; // %struct.btRigidBodyFloatData
  var _struct_btRigidBodyFloatData___FLATTENER = [0,248,296,312,328,344,360,376,392,408,424,440,444,448,452,456,460,464,468,472,476];
  var _struct_btRotationalLimitMotor___SIZE = 64; // %struct.btRotationalLimitMotor
  
  var _struct_btSapBroadphaseArray___SIZE = 20; // %struct.btSapBroadphaseArray
  
  var _struct_btScaledBvhTriangleMeshShape___SIZE = 36; // %struct.btScaledBvhTriangleMeshShape
  
  var _struct_btScaledTriangleCallback___SIZE = 24; // %struct.btScaledTriangleCallback
  
  var _struct_btSequentialImpulseConstraintSolver___SIZE = 128; // %struct.btSequentialImpulseConstraintSolver
  var _struct_btSequentialImpulseConstraintSolver___FLATTENER = [0,4,24,44,64,84,104,124];
  var _struct_btSerializer___SIZE = 4; // %struct.btSerializer
  
  var _struct_btShapeHull___SIZE = 48; // %struct.btShapeHull
  var _struct_btShapeHull___FLATTENER = [0,20,40,44];
  var _struct_btShortIntIndexData___SIZE = 4; // %struct.btShortIntIndexData
  
  var _struct_btShortIntIndexTripletData___SIZE = 8; // %struct.btShortIntIndexTripletData
  
  var _struct_btSimpleBroadphase___SIZE = 40; // %struct.btSimpleBroadphase
  
  var _struct_btSimpleBroadphaseProxy___SIZE = 52; // %struct.btSimpleBroadphaseProxy
  
  var _struct_btSimpleDynamicsWorld___SIZE = 200; // %struct.btSimpleDynamicsWorld
  var _struct_btSimpleDynamicsWorld___FLATTENER = [0,176,180,184];
  var _struct_btSimulationIslandManager___SIZE = 68; // %struct.btSimulationIslandManager
  var _struct_btSimulationIslandManager___FLATTENER = [0,4,24,44,64];
  var _struct_btSingleContactCallback___SIZE = 16; // %struct.btSingleContactCallback
  
  var _struct_btSingleRayCallback___SIZE = 220; // %struct.btSingleRayCallback
  var _struct_btSingleRayCallback___FLATTENER = [0,36,52,68,132,196,212,216];
  var _struct_btSingleSweepCallback___SIZE = 196; // %struct.btSingleSweepCallback
  var _struct_btSingleSweepCallback___FLATTENER = [0,36,100,164,180,184,188,192];
  var _struct_btSliderConstraint___SIZE = 1116; // %struct.btSliderConstraint
  var _struct_btSliderConstraint___FLATTENER = [0,36,37,40,104,168,172,176,180,184,188,192,196,200,204,208,212,216,220,224,228,232,236,240,244,248,252,256,260,264,268,272,276,280,284,285,288,292,544,556,808,812,876,940,956,972,988,1004,1020,1036,1052,1068,1072,1076,1080,1084,1088,1092,1096,1100,1104,1108,1112];
  var _struct_btSolve2LinearConstraint___SIZE = 8; // %struct.btSolve2LinearConstraint
  
  var _struct_btSolverConstraint___SIZE = 136; // %struct.btSolverConstraint
  var _struct_btSolverConstraint___FLATTENER = [0,16,32,48,64,80,84,88,92,96,100,104,108,112,116,120,124,128,132];
  var _struct_btSortedOverlappingPairCache___SIZE = 36; // %struct.btSortedOverlappingPairCache
  var _struct_btSortedOverlappingPairCache___FLATTENER = [0,4,24,25,28,32];
  var _struct_btSphereBoxCollisionAlgorithm___SIZE = 20; // %struct.btSphereBoxCollisionAlgorithm
  var _struct_btSphereBoxCollisionAlgorithm___FLATTENER = [0,8,12,16];
  var _struct_btSphereShape___SIZE = 52; // %struct.btSphereShape
  
  var _struct_btSphereSphereCollisionAlgorithm___SIZE = 16; // %struct.btSphereSphereCollisionAlgorithm
  var _struct_btSphereSphereCollisionAlgorithm___FLATTENER = [0,8,12];
  var _struct_btSphereTriangleCollisionAlgorithm___SIZE = 20; // %struct.btSphereTriangleCollisionAlgorithm
  var _struct_btSphereTriangleCollisionAlgorithm___FLATTENER = [0,8,12,16];
  var _struct_btStackAlloc___SIZE = 20; // %struct.btStackAlloc
  
  var _struct_btStaticPlaneShape___SIZE = 84; // %struct.btStaticPlaneShape
  var _struct_btStaticPlaneShape___FLATTENER = [0,16,32,48,64,68];
  var _struct_btStridingMeshInterface___SIZE = 20; // %struct.btStridingMeshInterface
  
  var _struct_btSubSimplexClosestResult___SIZE = 40; // %struct.btSubSimplexClosestResult
  var _struct_btSubSimplexClosestResult___FLATTENER = [0,16,20,36];
  var _struct_btSubsimplexConvexCast___SIZE = 16; // %struct.btSubsimplexConvexCast
  
  var _struct_btTetrahedronShapeEx___SIZE = 156; // %struct.btTetrahedronShapeEx
  
  var _struct_btTransform___SIZE = 64; // %struct.btTransform
  
  var _struct_btTranslationalLimitMotor___SIZE = 188; // %struct.btTranslationalLimitMotor
  var _struct_btTranslationalLimitMotor___FLATTENER = [0,16,32,48,52,56,60,76,92,108,112,128,144,160,176];
  var _struct_btTriangle___SIZE = 56; // %struct.btTriangle
  var _struct_btTriangle___FLATTENER = [0,16,32,48,52];
  var _struct_btTriangleBuffer___SIZE = 24; // %struct.btTriangleBuffer
  
  var _struct_btTriangleCallback___SIZE = 4; // %struct.btTriangleCallback
  
  var _struct_btTriangleConvexcastCallback___SIZE = 208; // %struct.btTriangleConvexcastCallback
  var _struct_btTriangleConvexcastCallback___FLATTENER = [0,4,8,72,136,200,204];
  var _struct_btTriangleIndexVertexArray___SIZE = 84; // %struct.btTriangleIndexVertexArray
  var _struct_btTriangleIndexVertexArray___FLATTENER = [0,20,40,48,52,68];
  var _struct_btTriangleIndexVertexMaterialArray___SIZE = 104; // %struct.btTriangleIndexVertexMaterialArray
  
  var _struct_btTriangleInfo___SIZE = 16; // %struct.btTriangleInfo
  
  var _struct_btTriangleInfoData___SIZE = 16; // %struct.btTriangleInfoData
  
  var _struct_btTriangleInfoMap___SIZE = 104; // %struct.btTriangleInfoMap
  var _struct_btTriangleInfoMap___FLATTENER = [0,4,84,88,92,96,100];
  var _struct_btTriangleInfoMapData___SIZE = 56; // %struct.btTriangleInfoMapData
  
  var _struct_btTriangleMesh___SIZE = 172; // %struct.btTriangleMesh
  var _struct_btTriangleMesh___FLATTENER = [0,84,104,124,144,164,165,168];
  var _struct_btTriangleMeshShape___SIZE = 52; // %struct.btTriangleMeshShape
  
  var _struct_btTriangleRaycastCallback___SIZE = 44; // %struct.btTriangleRaycastCallback
  var _struct_btTriangleRaycastCallback___FLATTENER = [0,4,20,36,40];
  var _struct_btTriangleShape___SIZE = 100; // %struct.btTriangleShape
  
  var _struct_btTriangleShapeEx___SIZE = 100; // %struct.btTriangleShapeEx
  
  var _struct_btTypedConstraint___SIZE = 36; // %struct.btTypedConstraint
  
  var __struct_btTypedConstraint__btConstraintInfo1____SIZE = 8; // %"struct.btTypedConstraint::btConstraintInfo1"
  
  var __struct_btTypedConstraint__btConstraintInfo2____SIZE = 56; // %"struct.btTypedConstraint::btConstraintInfo2"
  
  var _struct_btTypedObject___SIZE = 4; // %struct.btTypedObject
  
  var _struct_btUniformScalingShape___SIZE = 20; // %struct.btUniformScalingShape
  var _struct_btUniformScalingShape___FLATTENER = [0,12,16];
  var _struct_btUnionFind___SIZE = 20; // %struct.btUnionFind
  
  var _struct_btUniversalConstraint___SIZE = 1348; // %struct.btUniversalConstraint
  var _struct_btUniversalConstraint___FLATTENER = [0,1300,1316,1332];
  var _struct_btUsageBitfield___SIZE = 2; // %struct.btUsageBitfield
  
  var _struct_btVector3___SIZE = 16; // %struct.btVector3
  
  var _struct_btVector3DoubleData___SIZE = 32; // %struct.btVector3DoubleData
  
  var _struct_btVector4___SIZE = 16; // %struct.btVector4
  
  var __struct_btVehicleRaycaster__btVehicleRaycasterResult____SIZE = 36; // %"struct.btVehicleRaycaster::btVehicleRaycasterResult"
  
  var _struct_btVoronoiSimplexSolver___SIZE = 360; // %struct.btVoronoiSimplexSolver
  var _struct_btVoronoiSimplexSolver___FLATTENER = [0,4,84,164,244,260,276,292,308,312,316,356];
  var _struct_btWheelContactPoint___SIZE = 48; // %struct.btWheelContactPoint
  var _struct_btWheelContactPoint___FLATTENER = [0,4,8,24,40,44];
  var _struct_btWheelInfo___SIZE = 284; // %struct.btWheelInfo
  var _struct_btWheelInfo___FLATTENER = [0,92,156,172,188,204,208,212,216,220,224,228,232,236,240,244,248,252,256,260,264,268,272,276,280];
  var __struct_btWheelInfo__RaycastInfo____SIZE = 92; // %"struct.btWheelInfo::RaycastInfo"
  var __struct_btWheelInfo__RaycastInfo____FLATTENER = [0,16,32,36,52,68,84,88];
  var _struct_dContactGeom___SIZE = 0; // %struct.dContactGeom
  var _struct_dContactGeom___FLATTENER = [];
  var __struct_gim_array_GIM_AABB_DATA_____SIZE = 12; // %"struct.gim_array<GIM_AABB_DATA>"
  
  var __struct_gim_array_GIM_BOX_TREE_NODE_____SIZE = 12; // %"struct.gim_array<GIM_BOX_TREE_NODE>"
  
  var __struct_gim_array_GIM_CONTACT_____SIZE = 12; // %"struct.gim_array<GIM_CONTACT>"
  
  var _struct_gim_contact_array___SIZE = 12; // %struct.gim_contact_array
  
  var __struct_gjkepa2_impl__EPA____SIZE = 10320; // %"struct.gjkepa2_impl::EPA"
  var __struct_gjkepa2_impl__EPA____FLATTENER = [0,4,40,56,60,2108,10300,10304,10312];
  var __struct_gjkepa2_impl__EPA__sFace____SIZE = 64; // %"struct.gjkepa2_impl::EPA::sFace"
  var __struct_gjkepa2_impl__EPA__sFace____FLATTENER = [0,16,20,24,36,48,57,60];
  var __struct_gjkepa2_impl__EPA__sHorizon____SIZE = 12; // %"struct.gjkepa2_impl::EPA::sHorizon"
  
  var __struct_gjkepa2_impl__EPA__sList____SIZE = 8; // %"struct.gjkepa2_impl::EPA::sList"
  
  var __struct_gjkepa2_impl__GJK____SIZE = 380; // %"struct.gjkepa2_impl::GJK"
  var __struct_gjkepa2_impl__GJK____FLATTENER = [0,128,144,148,220,348,364,368,372,376];
  var __struct_gjkepa2_impl__GJK__sSV____SIZE = 32; // %"struct.gjkepa2_impl::GJK::sSV"
  
  var __struct_gjkepa2_impl__GJK__sSimplex____SIZE = 36; // %"struct.gjkepa2_impl::GJK::sSimplex"
  
  var __struct_gjkepa2_impl__MinkowskiDiff____SIZE = 128; // %"struct.gjkepa2_impl::MinkowskiDiff"
  var __struct_gjkepa2_impl__MinkowskiDiff____FLATTENER = [0,8,56,120];
  var _struct_int3___SIZE = 12; // %struct.int3
  
  var _struct_int4___SIZE = 16; // %struct.int4
  
  var __struct_std__type_info____SIZE = 0; // %"struct.std::type_info"
  var __struct_std__type_info____FLATTENER = [];
  var _struct_timeval___SIZE = 8; // %struct.timeval
  
  var __union_btBroadphasePair____22____SIZE = 4; // %"union.btBroadphasePair::._22"
  
  var __union_btBroadphasePair____24____SIZE = 4; // %"union.btBroadphasePair::._24"
  
  var __union_btDbvtNode____22____SIZE = 8; // %"union.btDbvtNode::._22"
  
  var __union_btDbvtNode____23____SIZE = 8; // %"union.btDbvtNode::._23"
  
  var __union_btDbvtNode____25____SIZE = 8; // %"union.btDbvtNode::._25"
  
  var __union_btHashPtr____23____SIZE = 8; // %"union.btHashPtr::._23"
  
  var __union_btHeightfieldTerrainShape____23____SIZE = 4; // %"union.btHeightfieldTerrainShape::._23"
  
  var __union_btSolverConstraint____25____SIZE = 4; // %"union.btSolverConstraint::._25"
  
  var __union_btSolverConstraint____27____SIZE = 4; // %"union.btSolverConstraint::._27"
  
  var __union_btSolverConstraint____30____SIZE = 4; // %"union.btSolverConstraint::._30"
  
  var __union_btSolverConstraint____32____SIZE = 4; // %"union.btSolverConstraint::._32"
  
  var __union_btSolverConstraint____33____SIZE = 4; // %"union.btSolverConstraint::._33"
  
  var __union_btSolverConstraint____34____SIZE = 4; // %"union.btSolverConstraint::._34"
  
  var __union_btSolverConstraint____35____SIZE = 4; // %"union.btSolverConstraint::._35"
  
  var __union_btSolverConstraint____36____SIZE = 4; // %"union.btSolverConstraint::._36"
  
  var __union_btSolverConstraint____37____SIZE = 4; // %"union.btSolverConstraint::._37"
  
  var __union_btTypedConstraint____38____SIZE = 4; // %"union.btTypedConstraint::._38"
  
  var __ZGVZN12btQuaternion11getIdentityEvE12identityQuat;
  var __ZGVZN11btMatrix3x311getIdentityEvE14identityMatrix;
  var __ZGVZN11btTransform11getIdentityEvE17identityTransform;
  var __ZTV13btMotionState;
  var __ZTI13btMotionState;
  var __ZTVN10__cxxabiv117__class_type_infoE = 0; /* external value? */
  var __ZTS13btMotionState;
  var __ZTV20btDefaultMotionState;
  var __ZTI20btDefaultMotionState;
  var __ZTVN10__cxxabiv120__si_class_type_infoE = 0; /* external value? */
  var __ZTS20btDefaultMotionState;
  var __str;
  var __str1;
  var __str2;
  var __ZTV17btTypedConstraint;
  var __ZTI17btTypedConstraint;
  var __ZTVN10__cxxabiv121__vmi_class_type_infoE = 0; /* external value? */
  var __ZTS17btTypedConstraint;
  var __ZTI13btTypedObject;
  var __ZTS13btTypedObject;
  var _llvm_eh_catch_all_value;
  var __ZTV17btTriangleInfoMap;
  var __ZTI17btTriangleInfoMap;
  var __ZTS17btTriangleInfoMap;
  var __ZTI9btHashMapI9btHashInt14btTriangleInfoE;
  var __ZTS9btHashMapI9btHashInt14btTriangleInfoE;
  var __ZZN11btMatrix3x311getIdentityEvE14identityMatrix;
  var __ZZN11btTransform11getIdentityEvE17identityTransform;
  var __str3;
  var __ZTV21btBroadphaseInterface;
  var __ZTI21btBroadphaseInterface;
  var __ZTS21btBroadphaseInterface;
  var __ZTV25btOverlappingPairCallback;
  var __ZTI25btOverlappingPairCallback;
  var __ZTS25btOverlappingPairCallback;
  var __ZTV22btOverlappingPairCache;
  var __ZTI22btOverlappingPairCache;
  var __ZTS22btOverlappingPairCache;
  var __ZTV20btAxisSweep3InternalIjE;
  var __ZTI20btAxisSweep3InternalIjE;
  var __ZTS20btAxisSweep3InternalIjE;
  var __ZTV17bt32BitAxisSweep3;
  var __ZTI17bt32BitAxisSweep3;
  var __ZTS17bt32BitAxisSweep3;
  var __ZTV20btAxisSweep3InternalItE;
  var __ZTI20btAxisSweep3InternalItE;
  var __ZTS20btAxisSweep3InternalItE;
  var __ZTV12btAxisSweep3;
  var __ZTI12btAxisSweep3;
  var __ZTS12btAxisSweep3;
  var __ZTV15btNullPairCache;
  var __ZTI15btNullPairCache;
  var __ZTS15btNullPairCache;
  var __ZTV20btCollisionAlgorithm;
  var __ZTI20btCollisionAlgorithm;
  var __ZTS20btCollisionAlgorithm;
  var __ZTVN6btDbvt8ICollideE;
  var __ZTIN6btDbvt8ICollideE;
  var __ZTSN6btDbvt8ICollideE;
  var __ZTV20btDbvtNodeEnumerator;
  var __ZTI20btDbvtNodeEnumerator;
  var __ZTS20btDbvtNodeEnumerator;
  var __ZGVZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis;
  var __ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis;
  var __ZTV18btDbvtTreeCollider;
  var __ZTI18btDbvtTreeCollider;
  var __ZTS18btDbvtTreeCollider;
  var __ZTV19BroadphaseRayTester;
  var __ZTI19BroadphaseRayTester;
  var __ZTS19BroadphaseRayTester;
  var __ZTV20BroadphaseAabbTester;
  var __ZTI20BroadphaseAabbTester;
  var __ZTS20BroadphaseAabbTester;
  var __ZTV16btDbvtBroadphase;
  var __ZTI16btDbvtBroadphase;
  var __ZTS16btDbvtBroadphase;
  var __ZTV12btDispatcher;
  var __ZTI12btDispatcher;
  var __ZTS12btDispatcher;
  var __ZTV23btOverlapFilterCallback;
  var __ZTI23btOverlapFilterCallback;
  var __ZTS23btOverlapFilterCallback;
  var __ZTVZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheE31btMultiSapOverlapFilterCallback;
  var __ZTIZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheE31btMultiSapOverlapFilterCallback;
  var __ZTSZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheE31btMultiSapOverlapFilterCallback;
  var __ZTV21btNodeOverlapCallback;
  var __ZTI21btNodeOverlapCallback;
  var __ZTS21btNodeOverlapCallback;
  var __ZTVZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherE21MyNodeOverlapCallback;
  var __ZTIZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherE21MyNodeOverlapCallback;
  var __ZTSZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherE21MyNodeOverlapCallback;
  var _stopUpdating;
  var __ZTV20btMultiSapBroadphase;
  var __ZTI20btMultiSapBroadphase;
  var __ZTS20btMultiSapBroadphase;
  var _gOverlappingPairs;
  var __ZTV17btOverlapCallback;
  var __ZTI17btOverlapCallback;
  var __ZTS17btOverlapCallback;
  var __ZTVZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback;
  var __ZTIZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback;
  var __ZTSZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback;
  var __ZTVZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback;
  var __ZTIZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback;
  var __ZTSZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback;
  var _gRemovePairs;
  var __ZTVZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback;
  var __ZTIZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback;
  var __ZTSZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback;
  var __ZTVZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback;
  var __ZTIZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback;
  var __ZTSZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback;
  var _gFindPairs;
  var __ZTV28btSortedOverlappingPairCache;
  var __ZTI28btSortedOverlappingPairCache;
  var __ZTS28btSortedOverlappingPairCache;
  var __ZTV28btHashedOverlappingPairCache;
  var __ZTI28btHashedOverlappingPairCache;
  var __ZTS28btHashedOverlappingPairCache;
  var _gAddedPairs;
  var _maxIterations;
  var __str4;
  var __str15;
  var __str26;
  var __str37;
  var __ZTV14btQuantizedBvh;
  var __ZTI14btQuantizedBvh;
  var __ZTS14btQuantizedBvh;
  var __ZTV18btSimpleBroadphase;
  var __ZTI18btSimpleBroadphase;
  var __ZTS18btSimpleBroadphase;
  var __ZTV30btActivatingCollisionAlgorithm;
  var __ZTI30btActivatingCollisionAlgorithm;
  var __ZTS30btActivatingCollisionAlgorithm;
  var __ZTV26btBoxBoxCollisionAlgorithm;
  var __ZTI26btBoxBoxCollisionAlgorithm;
  var __ZTS26btBoxBoxCollisionAlgorithm;
  var _b2_maxManifoldPoints;
  var __ZTV30btBox2dBox2dCollisionAlgorithm;
  var __ZTI30btBox2dBox2dCollisionAlgorithm;
  var __ZTS30btBox2dBox2dCollisionAlgorithm;
  var __ZTV36btDiscreteCollisionDetectorInterface;
  var __ZTI36btDiscreteCollisionDetectorInterface;
  var __ZTS36btDiscreteCollisionDetectorInterface;
  var __ZTV16btBoxBoxDetector;
  var __ZTI16btBoxBoxDetector;
  var __ZTS16btBoxBoxDetector;
  var _gNumManifold;
  var __ZTVN36btDiscreteCollisionDetectorInterface6ResultE;
  var __ZTIN36btDiscreteCollisionDetectorInterface6ResultE;
  var __ZTSN36btDiscreteCollisionDetectorInterface6ResultE;
  var __ZTV23btCollisionPairCallback;
  var __ZTI23btCollisionPairCallback;
  var __ZTS23btCollisionPairCallback;
  var __ZTV21btCollisionDispatcher;
  var __ZTI21btCollisionDispatcher;
  var __ZTS21btCollisionDispatcher;
  var __ZTV17btCollisionObject;
  var __ZTI17btCollisionObject;
  var __ZTS17btCollisionObject;
  var __str11;
  var __ZTVN16btCollisionWorld17RayResultCallbackE;
  var __ZTIN16btCollisionWorld17RayResultCallbackE;
  var __ZTSN16btCollisionWorld17RayResultCallbackE;
  var __ZTVN16btCollisionWorld20ConvexResultCallbackE;
  var __ZTIN16btCollisionWorld20ConvexResultCallbackE;
  var __ZTSN16btCollisionWorld20ConvexResultCallbackE;
  var __ZTV30btConvexPenetrationDepthSolver;
  var __ZTI30btConvexPenetrationDepthSolver;
  var __ZTS30btConvexPenetrationDepthSolver;
  var __ZTVN12btConvexCast10CastResultE;
  var __ZTIN12btConvexCast10CastResultE;
  var __ZTSN12btConvexCast10CastResultE;
  var __ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2;
  var __ZTIZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2;
  var __ZTSZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2;
  var __ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder;
  var __ZTIZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder;
  var __ZTSZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder;
  var __ZTV24btBroadphaseAabbCallback;
  var __ZTI24btBroadphaseAabbCallback;
  var __ZTS24btBroadphaseAabbCallback;
  var __ZTV23btBroadphaseRayCallback;
  var __ZTI23btBroadphaseRayCallback;
  var __ZTS23btBroadphaseRayCallback;
  var __ZTV23btSingleContactCallback;
  var __ZTI23btSingleContactCallback;
  var __ZTS23btSingleContactCallback;
  var __ZTV17DebugDrawcallback;
  var __ZTI17DebugDrawcallback;
  var __ZTS17DebugDrawcallback;
  var __str12;
  var __str113;
  var __str214;
  var __ZTV23btBridgedManifoldResult;
  var __ZTI23btBridgedManifoldResult;
  var __ZTS23btBridgedManifoldResult;
  var __ZTV21btSingleSweepCallback;
  var __ZTI21btSingleSweepCallback;
  var __ZTS21btSingleSweepCallback;
  var __ZTV19btSingleRayCallback;
  var __ZTI19btSingleRayCallback;
  var __ZTS19btSingleRayCallback;
  var __ZTV16btCollisionWorld;
  var __ZTI16btCollisionWorld;
  var __ZTS16btCollisionWorld;
  var __ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0;
  var __ZTIZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0;
  var __ZTSZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0;
  var __ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback;
  var __ZTIZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback;
  var __ZTSZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback;
  var __ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0;
  var __ZTIZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0;
  var __ZTSZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0;
  var __ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback;
  var __ZTIZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback;
  var __ZTSZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback;
  var __str315;
  var __str48;
  var __str5;
  var __str6;
  var __str7;
  var __ZZN16btCollisionWorld16updateSingleAabbEP17btCollisionObjectE8reportMe_b;
  var __str8;
  var __str9;
  var __str10;
  var __str1116;
  var __str1217;
  var __ZTV22btCompoundLeafCallback;
  var __ZTI22btCompoundLeafCallback;
  var __ZTS22btCompoundLeafCallback;
  var __ZTV28btCompoundCollisionAlgorithm;
  var __ZTI28btCompoundCollisionAlgorithm;
  var __ZTS28btCompoundCollisionAlgorithm;
  var __str18;
  var __ZTVZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback;
  var __ZTIZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback;
  var __ZTSZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback;
  var __ZTV15btTriangleShape;
  var __ZTI15btTriangleShape;
  var __ZTS15btTriangleShape;
  var __str119;
  var __ZTV24btConvexTriangleCallback;
  var __ZTI24btConvexTriangleCallback;
  var __ZTS24btConvexTriangleCallback;
  var __ZTV33btConvexConcaveCollisionAlgorithm;
  var __ZTI33btConvexConcaveCollisionAlgorithm;
  var __ZTS33btConvexConcaveCollisionAlgorithm;
  var __ZTV30btCollisionAlgorithmCreateFunc;
  var __ZTI30btCollisionAlgorithmCreateFunc;
  var __ZTS30btCollisionAlgorithmCreateFunc;
  var __ZTVN23btConvexConvexAlgorithm10CreateFuncE;
  var __ZTIN23btConvexConvexAlgorithm10CreateFuncE;
  var __ZTSN23btConvexConvexAlgorithm10CreateFuncE;
  var __ZTV24btPerturbedContactResult;
  var __ZTI24btPerturbedContactResult;
  var __ZTS24btPerturbedContactResult;
  var _disableCcd;
  var __ZTV23btConvexConvexAlgorithm;
  var __ZTI23btConvexConvexAlgorithm;
  var __ZTS23btConvexConvexAlgorithm;
  var __ZTV31btConvexPlaneCollisionAlgorithm;
  var __ZTI31btConvexPlaneCollisionAlgorithm;
  var __ZTS31btConvexPlaneCollisionAlgorithm;
  var __ZTVN27btConvex2dConvex2dAlgorithm10CreateFuncE;
  var __ZTIN27btConvex2dConvex2dAlgorithm10CreateFuncE;
  var __ZTSN27btConvex2dConvex2dAlgorithm10CreateFuncE;
  var __ZTV27btConvex2dConvex2dAlgorithm;
  var __ZTI27btConvex2dConvex2dAlgorithm;
  var __ZTS27btConvex2dConvex2dAlgorithm;
  var __ZTVN31btConvexPlaneCollisionAlgorithm10CreateFuncE;
  var __ZTIN31btConvexPlaneCollisionAlgorithm10CreateFuncE;
  var __ZTSN31btConvexPlaneCollisionAlgorithm10CreateFuncE;
  var __ZTV24btCollisionConfiguration;
  var __ZTI24btCollisionConfiguration;
  var __ZTS24btCollisionConfiguration;
  var __ZTVN33btConvexConcaveCollisionAlgorithm10CreateFuncE;
  var __ZTIN33btConvexConcaveCollisionAlgorithm10CreateFuncE;
  var __ZTSN33btConvexConcaveCollisionAlgorithm10CreateFuncE;
  var __ZTVN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE;
  var __ZTIN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE;
  var __ZTSN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE;
  var __ZTVN28btCompoundCollisionAlgorithm10CreateFuncE;
  var __ZTIN28btCompoundCollisionAlgorithm10CreateFuncE;
  var __ZTSN28btCompoundCollisionAlgorithm10CreateFuncE;
  var __ZTVN28btCompoundCollisionAlgorithm17SwappedCreateFuncE;
  var __ZTIN28btCompoundCollisionAlgorithm17SwappedCreateFuncE;
  var __ZTSN28btCompoundCollisionAlgorithm17SwappedCreateFuncE;
  var __ZTVN16btEmptyAlgorithm10CreateFuncE;
  var __ZTIN16btEmptyAlgorithm10CreateFuncE;
  var __ZTSN16btEmptyAlgorithm10CreateFuncE;
  var __ZTVN32btSphereSphereCollisionAlgorithm10CreateFuncE;
  var __ZTIN32btSphereSphereCollisionAlgorithm10CreateFuncE;
  var __ZTSN32btSphereSphereCollisionAlgorithm10CreateFuncE;
  var __ZTVN34btSphereTriangleCollisionAlgorithm10CreateFuncE;
  var __ZTIN34btSphereTriangleCollisionAlgorithm10CreateFuncE;
  var __ZTSN34btSphereTriangleCollisionAlgorithm10CreateFuncE;
  var __ZTVN26btBoxBoxCollisionAlgorithm10CreateFuncE;
  var __ZTIN26btBoxBoxCollisionAlgorithm10CreateFuncE;
  var __ZTSN26btBoxBoxCollisionAlgorithm10CreateFuncE;
  var __ZTV31btDefaultCollisionConfiguration;
  var __ZTI31btDefaultCollisionConfiguration;
  var __ZTS31btDefaultCollisionConfiguration;
  var __ZTV16btEmptyAlgorithm;
  var __ZTI16btEmptyAlgorithm;
  var __ZTS16btEmptyAlgorithm;
  var __ZTV13btGhostObject;
  var __ZTI13btGhostObject;
  var __ZTS13btGhostObject;
  var __ZTV24btPairCachingGhostObject;
  var __ZTI24btPairCachingGhostObject;
  var __ZTS24btPairCachingGhostObject;
  var __str21;
  var __ZTV23btConnectivityProcessor;
  var __ZTI23btConnectivityProcessor;
  var __ZTS23btConnectivityProcessor;
  var __str122;
  var __str223;
  var __str324;
  var __str425;
  var _gContactAddedCallback;
  var __ZTV16btManifoldResult;
  var __ZTI16btManifoldResult;
  var __ZTS16btManifoldResult;
  var __str30;
  var __str131;
  var __ZTV25btSimulationIslandManager;
  var __ZTI25btSimulationIslandManager;
  var __ZTS25btSimulationIslandManager;
  var __ZTV29btSphereBoxCollisionAlgorithm;
  var __ZTI29btSphereBoxCollisionAlgorithm;
  var __ZTS29btSphereBoxCollisionAlgorithm;
  var __ZTV32btSphereSphereCollisionAlgorithm;
  var __ZTI32btSphereSphereCollisionAlgorithm;
  var __ZTS32btSphereSphereCollisionAlgorithm;
  var __ZTV34btSphereTriangleCollisionAlgorithm;
  var __ZTI34btSphereTriangleCollisionAlgorithm;
  var __ZTS34btSphereTriangleCollisionAlgorithm;
  var __ZTV22SphereTriangleDetector;
  var __ZTI22SphereTriangleDetector;
  var __ZTS22SphereTriangleDetector;
  var __str40;
  var __str141;
  var __ZTV10btBoxShape;
  var __ZTI10btBoxShape;
  var __ZTS10btBoxShape;
  var __str42;
  var __str143;
  var __ZTV12btBox2dShape;
  var __ZTI12btBox2dShape;
  var __ZTS12btBox2dShape;
  var __str44;
  var __ZTVZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback;
  var __ZTIZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback;
  var __ZTSZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback;
  var __ZTVZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback;
  var __ZTIZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback;
  var __ZTSZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback;
  var __ZTVZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback;
  var __ZTIZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback;
  var __ZTSZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback;
  var __str145;
  var __str246;
  var __str347;
  var __str448;
  var __ZTV22btBvhTriangleMeshShape;
  var __ZTI22btBvhTriangleMeshShape;
  var __ZTS22btBvhTriangleMeshShape;
  var __str51;
  var __str152;
  var __str253;
  var __str454;
  var __ZTV14btCapsuleShape;
  var __ZTI14btCapsuleShape;
  var __ZTS14btCapsuleShape;
  var __ZTV15btCapsuleShapeZ;
  var __ZTI15btCapsuleShapeZ;
  var __ZTS15btCapsuleShapeZ;
  var __ZTV15btCapsuleShapeX;
  var __ZTI15btCapsuleShapeX;
  var __ZTS15btCapsuleShapeX;
  var __str55;
  var __ZTV16btCollisionShape;
  var __ZTI16btCollisionShape;
  var __ZTS16btCollisionShape;
  var __str62;
  var __str163;
  var __str264;
  var __ZTV15btCompoundShape;
  var __ZTI15btCompoundShape;
  var __ZTS15btCompoundShape;
  var __ZTV14btConcaveShape;
  var __ZTI14btConcaveShape;
  var __ZTS14btConcaveShape;
  var __str65;
  var __str166;
  var __ZTV11btConeShape;
  var __ZTI11btConeShape;
  var __ZTS11btConeShape;
  var __ZTV12btConeShapeX;
  var __ZTI12btConeShapeX;
  var __ZTS12btConeShapeX;
  var __ZTV12btConeShapeZ;
  var __ZTI12btConeShapeZ;
  var __ZTS12btConeShapeZ;
  var __str67;
  var __ZTV17btConvexHullShape;
  var __ZTI17btConvexHullShape;
  var __ZTS17btConvexHullShape;
  var __str268;
  var __str369;
  var __ZTV21btConvexInternalShape;
  var __ZTI21btConvexInternalShape;
  var __ZTS21btConvexInternalShape;
  var __ZTV32btConvexInternalAabbCachingShape;
  var __ZTI32btConvexInternalAabbCachingShape;
  var __ZTS32btConvexInternalAabbCachingShape;
  var __str72;
  var __ZGVZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions;
  var __ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions;
  var __str77;
  var __str178;
  var __ZTV23btConvexPointCloudShape;
  var __ZTI23btConvexPointCloudShape;
  var __ZTS23btConvexPointCloudShape;
  var __ZTV13btConvexShape;
  var __ZTI13btConvexShape;
  var __ZTS13btConvexShape;
  var __str82;
  var __ZTV15btConvex2dShape;
  var __ZTI15btConvex2dShape;
  var __ZTS15btConvex2dShape;
  var __str83;
  var __ZTV26LocalSupportVertexCallback;
  var __ZTI26LocalSupportVertexCallback;
  var __ZTS26LocalSupportVertexCallback;
  var __ZTVZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE14CenterCallback;
  var __ZTIZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE14CenterCallback;
  var __ZTSZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE14CenterCallback;
  var __str184;
  var __ZTV25btConvexTriangleMeshShape;
  var __ZTI25btConvexTriangleMeshShape;
  var __ZTS25btConvexTriangleMeshShape;
  var __ZTVZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE15InertiaCallback;
  var __ZTIZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE15InertiaCallback;
  var __ZTSZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE15InertiaCallback;
  var __str85;
  var __str186;
  var __str287;
  var __ZTV15btCylinderShape;
  var __ZTI15btCylinderShape;
  var __ZTS15btCylinderShape;
  var __ZTV16btCylinderShapeX;
  var __ZTI16btCylinderShapeX;
  var __ZTS16btCylinderShapeX;
  var __ZTV16btCylinderShapeZ;
  var __ZTI16btCylinderShapeZ;
  var __ZTS16btCylinderShapeZ;
  var __str488;
  var __str89;
  var __ZTV12btEmptyShape;
  var __ZTI12btEmptyShape;
  var __ZTS12btEmptyShape;
  var __str90;
  var __ZTV25btHeightfieldTerrainShape;
  var __ZTI25btHeightfieldTerrainShape;
  var __ZTS25btHeightfieldTerrainShape;
  var __str91;
  var __str192;
  var __ZTV19btMinkowskiSumShape;
  var __ZTI19btMinkowskiSumShape;
  var __ZTS19btMinkowskiSumShape;
  var __str93;
  var __str194;
  var __str295;
  var __str96;
  var __ZTV18btMultiSphereShape;
  var __ZTI18btMultiSphereShape;
  var __ZTS18btMultiSphereShape;
  var __str297;
  var __str398;
  var __ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback;
  var __ZTIZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback;
  var __ZTSZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback;
  var __ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback;
  var __ZTIZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback;
  var __ZTSZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback;
  var __ZTV14btOptimizedBvh;
  var __ZTI14btOptimizedBvh;
  var __ZTS14btOptimizedBvh;
  var __ZTV23btPolyhedralConvexShape;
  var __ZTI23btPolyhedralConvexShape;
  var __ZTS23btPolyhedralConvexShape;
  var __ZTV34btPolyhedralConvexAabbCachingShape;
  var __ZTI34btPolyhedralConvexAabbCachingShape;
  var __ZTS34btPolyhedralConvexAabbCachingShape;
  var __str105;
  var __ZGVZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions;
  var __ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions;
  var __str111;
  var __ZTV24btScaledTriangleCallback;
  var __ZTI24btScaledTriangleCallback;
  var __ZTS24btScaledTriangleCallback;
  var __str1112;
  var __str2113;
  var __str3114;
  var __ZTV28btScaledBvhTriangleMeshShape;
  var __ZTI28btScaledBvhTriangleMeshShape;
  var __ZTS28btScaledBvhTriangleMeshShape;
  var __ZGVZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints;
  var __ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints;
  var __str115;
  var __str1117;
  var __ZTV13btSphereShape;
  var __ZTI13btSphereShape;
  var __ZTS13btSphereShape;
  var __str120;
  var __str1121;
  var __ZTV18btStaticPlaneShape;
  var __ZTI18btStaticPlaneShape;
  var __ZTS18btStaticPlaneShape;
  var __ZTVZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_E23AabbCalculationCallback;
  var __ZTIZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_E23AabbCalculationCallback;
  var __ZTSZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_E23AabbCalculationCallback;
  var __str123;
  var __str1124;
  var __str2125;
  var __str3126;
  var __str4127;
  var __str5128;
  var __ZTV23btStridingMeshInterface;
  var __ZTI23btStridingMeshInterface;
  var __ZTS23btStridingMeshInterface;
  var __str129;
  var __str1130;
  var __ZTV16btBU_Simplex1to4;
  var __ZTI16btBU_Simplex1to4;
  var __ZTS16btBU_Simplex1to4;
  var __ZTV16btTriangleBuffer;
  var __ZTI16btTriangleBuffer;
  var __ZTS16btTriangleBuffer;
  var __ZTV31btInternalTriangleIndexCallback;
  var __ZTI31btInternalTriangleIndexCallback;
  var __ZTS31btInternalTriangleIndexCallback;
  var __ZTV18btTriangleCallback;
  var __ZTI18btTriangleCallback;
  var __ZTS18btTriangleCallback;
  var __ZTV26btTriangleIndexVertexArray;
  var __ZTI26btTriangleIndexVertexArray;
  var __ZTS26btTriangleIndexVertexArray;
  var __ZTV34btTriangleIndexVertexMaterialArray;
  var __ZTI34btTriangleIndexVertexMaterialArray;
  var __ZTS34btTriangleIndexVertexMaterialArray;
  var __ZTV14btTriangleMesh;
  var __ZTI14btTriangleMesh;
  var __ZTS14btTriangleMesh;
  var __str135;
  var __ZTV21SupportVertexCallback;
  var __ZTI21SupportVertexCallback;
  var __ZTS21SupportVertexCallback;
  var __ZTVZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback;
  var __ZTIZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback;
  var __ZTSZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback;
  var __ZTV19btTriangleMeshShape;
  var __ZTI19btTriangleMeshShape;
  var __ZTS19btTriangleMeshShape;
  var __str146;
  var __ZTV21btUniformScalingShape;
  var __ZTI21btUniformScalingShape;
  var __ZTS21btUniformScalingShape;
  var __ZTV22btGenericPoolAllocator;
  var __ZTI22btGenericPoolAllocator;
  var __ZTS22btGenericPoolAllocator;
  var __ZTV22GIM_STANDARD_ALLOCATOR;
  var __ZTI22GIM_STANDARD_ALLOCATOR;
  var __ZTS22GIM_STANDARD_ALLOCATOR;
  var _g_main_allocator;
  var ___dso_handle = 0; /* external value? */
  var __str147;
  var __str1148;
  var __ZTVN18GIM_ShapeRetriever19ChildShapeRetrieverE;
  var __ZTIN18GIM_ShapeRetriever19ChildShapeRetrieverE;
  var __ZTSN18GIM_ShapeRetriever19ChildShapeRetrieverE;
  var __ZTVN18GIM_ShapeRetriever22TriangleShapeRetrieverE;
  var __ZTIN18GIM_ShapeRetriever22TriangleShapeRetrieverE;
  var __ZTSN18GIM_ShapeRetriever22TriangleShapeRetrieverE;
  var __ZTVN18GIM_ShapeRetriever19TetraShapeRetrieverE;
  var __ZTIN18GIM_ShapeRetriever19TetraShapeRetrieverE;
  var __ZTSN18GIM_ShapeRetriever19TetraShapeRetrieverE;
  var __ZTV25btGImpactTriangleCallback;
  var __ZTI25btGImpactTriangleCallback;
  var __ZTS25btGImpactTriangleCallback;
  var __ZTVN27btGImpactCollisionAlgorithm10CreateFuncE;
  var __ZTIN27btGImpactCollisionAlgorithm10CreateFuncE;
  var __ZTSN27btGImpactCollisionAlgorithm10CreateFuncE;
  var __ZGVZN27btGImpactCollisionAlgorithm17registerAlgorithmEP21btCollisionDispatcherE12s_gimpact_cf;
  var __ZZN27btGImpactCollisionAlgorithm17registerAlgorithmEP21btCollisionDispatcherE12s_gimpact_cf;
  var __str2149;
  var __ZTV17btTriangleShapeEx;
  var __ZTI17btTriangleShapeEx;
  var __ZTS17btTriangleShapeEx;
  var __ZTV20btTetrahedronShapeEx;
  var __ZTI20btTetrahedronShapeEx;
  var __ZTS20btTetrahedronShapeEx;
  var __ZTV27btGImpactCollisionAlgorithm;
  var __ZTI27btGImpactCollisionAlgorithm;
  var __ZTS27btGImpactCollisionAlgorithm;
  var __str153;
  var __str1154;
  var __str2155;
  var __str3156;
  var __ZTVN22btGImpactCompoundShape24CompoundPrimitiveManagerE;
  var __ZTIN22btGImpactCompoundShape24CompoundPrimitiveManagerE;
  var __ZTSN22btGImpactCompoundShape24CompoundPrimitiveManagerE;
  var __ZTI22btPrimitiveManagerBase;
  var __ZTS22btPrimitiveManagerBase;
  var __ZTVN22btGImpactMeshShapePart23TrimeshPrimitiveManagerE;
  var __ZTIN22btGImpactMeshShapePart23TrimeshPrimitiveManagerE;
  var __ZTSN22btGImpactMeshShapePart23TrimeshPrimitiveManagerE;
  var __ZTV23btGImpactShapeInterface;
  var __ZTI23btGImpactShapeInterface;
  var __ZTS23btGImpactShapeInterface;
  var __ZTV22btGImpactCompoundShape;
  var __ZTI22btGImpactCompoundShape;
  var __ZTS22btGImpactCompoundShape;
  var __ZTV22btGImpactMeshShapePart;
  var __ZTI22btGImpactMeshShapePart;
  var __ZTS22btGImpactMeshShapePart;
  var __ZTV18btGImpactMeshShape;
  var __ZTI18btGImpactMeshShape;
  var __ZTS18btGImpactMeshShape;
  var __ZGVZN27GIM_BOX_BOX_TRANSFORM_CACHE20calc_absolute_matrixEvE5vepsi;
  var __ZL9g_allocfn;
  var __ZL10g_allocafn;
  var __ZL11g_reallocfn;
  var __ZL8g_freefn;
  var __ZTV16btPointCollector;
  var __ZTI16btPointCollector;
  var __ZTS16btPointCollector;
  var __ZTV27btContinuousConvexCollision;
  var __ZTI27btContinuousConvexCollision;
  var __ZTS27btContinuousConvexCollision;
  var __ZTV12btConvexCast;
  var __ZTI12btConvexCast;
  var __ZTS12btConvexCast;
  var __ZTV15btGjkConvexCast;
  var __ZTI15btGjkConvexCast;
  var __ZTS15btGjkConvexCast;
  var __ZZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_PfRjE4imd3;
  var __ZZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_S3_PfRjE4imd3;
  var __ZZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonEE4i1m3;
  var __ZZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonEE4i2m3;
  var __ZTV30btGjkEpaPenetrationDepthSolver;
  var __ZTI30btGjkEpaPenetrationDepthSolver;
  var __ZTS30btGjkEpaPenetrationDepthSolver;
  var _gNumDeepPenetrationChecks;
  var __ZTV17btGjkPairDetector;
  var __ZTI17btGjkPairDetector;
  var __ZTS17btGjkPairDetector;
  var _gNumGjkChecks;
  var __ZTVZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocE20btIntermediateResult;
  var __ZTIZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocE20btIntermediateResult;
  var __ZTSZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocE20btIntermediateResult;
  var __ZTV33btMinkowskiPenetrationDepthSolver;
  var __ZTI33btMinkowskiPenetrationDepthSolver;
  var __ZTS33btMinkowskiPenetrationDepthSolver;
  var __ZGVZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections;
  var __ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections;
  var _gContactBreakingThreshold;
  var _gContactDestroyedCallback;
  var _gContactProcessedCallback;
  var __str181;
  var __ZTV25btTriangleRaycastCallback;
  var __ZTI25btTriangleRaycastCallback;
  var __ZTS25btTriangleRaycastCallback;
  var __ZTV28btTriangleConvexcastCallback;
  var __ZTI28btTriangleConvexcastCallback;
  var __ZTS28btTriangleConvexcastCallback;
  var __str1186;
  var __ZTV22btSubsimplexConvexCast;
  var __ZTI22btSubsimplexConvexCast;
  var __ZTS22btSubsimplexConvexCast;
  var __ZTVN16btCollisionWorld27ClosestConvexResultCallbackE;
  var __ZTIN16btCollisionWorld27ClosestConvexResultCallbackE;
  var __ZTSN16btCollisionWorld27ClosestConvexResultCallbackE;
  var __ZTV17btActionInterface;
  var __ZTI17btActionInterface;
  var __ZTS17btActionInterface;
  var __ZTV30btCharacterControllerInterface;
  var __ZTI30btCharacterControllerInterface;
  var __ZTS30btCharacterControllerInterface;
  var __ZTV43btKinematicClosestNotMeConvexResultCallback;
  var __ZTI43btKinematicClosestNotMeConvexResultCallback;
  var __ZTS43btKinematicClosestNotMeConvexResultCallback;
  var __ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection;
  var __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection;
  var __ZTV30btKinematicCharacterController;
  var __ZTI30btKinematicCharacterController;
  var __ZTS30btKinematicCharacterController;
  var __ZL6vTwist;
  var __str13;
  var __ZTV21btConeTwistConstraint;
  var __ZTI21btConeTwistConstraint;
  var __ZTS21btConeTwistConstraint;
  var __ZTV19btContactConstraint;
  var __ZTI19btContactConstraint;
  var __ZTS19btContactConstraint;
  var __str114;
  var __ZTV23btGeneric6DofConstraint;
  var __ZTI23btGeneric6DofConstraint;
  var __ZTS23btGeneric6DofConstraint;
  var __str215;
  var __ZTV29btGeneric6DofSpringConstraint;
  var __ZTI29btGeneric6DofSpringConstraint;
  var __ZTS29btGeneric6DofSpringConstraint;
  var __str316;
  var __ZTV18btHinge2Constraint;
  var __ZTI18btHinge2Constraint;
  var __ZTS18btHinge2Constraint;
  var __ZL6vHinge;
  var __str417;
  var __ZTV17btHingeConstraint;
  var __ZTI17btHingeConstraint;
  var __ZTS17btHingeConstraint;
  var __str518;
  var __ZTV23btPoint2PointConstraint;
  var __ZTI23btPoint2PointConstraint;
  var __ZTS23btPoint2PointConstraint;
  var _gNumSplitImpulseRecoveries;
  var __ZTV18btConstraintSolver;
  var __ZTI18btConstraintSolver;
  var __ZTS18btConstraintSolver;
  var __ZGVZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed;
  var __ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed;
  var __ZTV35btSequentialImpulseConstraintSolver;
  var __ZTI35btSequentialImpulseConstraintSolver;
  var __ZTS35btSequentialImpulseConstraintSolver;
  var __str619;
  var __str17;
  var __str28;
  var __str920;
  var __ZTV18btSliderConstraint;
  var __ZTI18btSliderConstraint;
  var __ZTS18btSliderConstraint;
  var __str1021;
  var __ZGVZN17btTypedConstraint12getFixedBodyEvE7s_fixed;
  var __ZZN17btTypedConstraint12getFixedBodyEvE7s_fixed;
  var __str1822;
  var __ZTV21btUniversalConstraint;
  var __ZTI21btUniversalConstraint;
  var __ZTS21btUniversalConstraint;
  var __str19;
  var __ZTV25btContinuousDynamicsWorld;
  var __ZTI25btContinuousDynamicsWorld;
  var __ZTS25btContinuousDynamicsWorld;
  var __ZTVN25btSimulationIslandManager14IslandCallbackE;
  var __ZTIN25btSimulationIslandManager14IslandCallbackE;
  var __ZTSN25btSimulationIslandManager14IslandCallbackE;
  var __ZTV34btClosestNotMeConvexResultCallback;
  var __ZTI34btClosestNotMeConvexResultCallback;
  var __ZTS34btClosestNotMeConvexResultCallback;
  var __ZTVZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback;
  var __ZTIZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback;
  var __ZTSZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback;
  var __str20;
  var __str121;
  var __str222;
  var __str323;
  var __str424;
  var _gNumClampedCcdMotions;
  var __str525;
  var __str626;
  var __str723;
  var __str824;
  var __str927;
  var __str1028;
  var __ZTV15btDynamicsWorld;
  var __ZTI15btDynamicsWorld;
  var __ZTS15btDynamicsWorld;
  var __ZTV23btDiscreteDynamicsWorld;
  var __ZTI23btDiscreteDynamicsWorld;
  var __ZTS23btDiscreteDynamicsWorld;
  var _gDeactivationTime;
  var __ZL8uniqueId;
  var __ZTV11btRigidBody;
  var __ZTI11btRigidBody;
  var __ZTS11btRigidBody;
  var __str68;
  var _gDisableDeactivation;
  var __ZTV21btSimpleDynamicsWorld;
  var __ZTI21btSimpleDynamicsWorld;
  var __ZTS21btSimpleDynamicsWorld;
  var __str8225;
  var __str183;
  var __str284;
  var __str385;
  var __ZZ15plNearestPointsE7Solver1;
  var __ZZ15plNearestPointsE7Solver0;
  var __str486;
  var __ZGVZ15plNearestPointsE17sGjkSimplexSolver;
  var __ZZ15plNearestPointsE17sGjkSimplexSolver;
  var __ZGVZ15plNearestPointsE7Solver0;
  var __ZGVZ15plNearestPointsE7Solver1;
  var __ZTVN16btCollisionWorld24ClosestRayResultCallbackE;
  var __ZTIN16btCollisionWorld24ClosestRayResultCallbackE;
  var __ZTSN16btCollisionWorld24ClosestRayResultCallbackE;
  var __ZTV25btDefaultVehicleRaycaster;
  var __ZTI25btDefaultVehicleRaycaster;
  var __ZTS25btDefaultVehicleRaycaster;
  var __ZTI18btVehicleRaycaster;
  var __ZTS18btVehicleRaycaster;
  var _sideFrictionStiffness2;
  var __ZTV16btRaycastVehicle;
  var __ZTI16btRaycastVehicle;
  var __ZTS16btRaycastVehicle;
  var __ZGVZN17btActionInterface12getFixedBodyEvE7s_fixed;
  var __ZZN17btActionInterface12getFixedBodyEvE7s_fixed;
  var _gNumAlignedAllocs;
  var __ZL10sAllocFunc;
  var __ZL9sFreeFunc;
  var __ZL17sAlignedAllocFunc;
  var __ZL16sAlignedFreeFunc;
  var _gNumAlignedFree;
  var _gTotalBytesAlignedAllocs;
  var _planetestepsilon;
  var __ZZN14btHullTriangle4neibEiiE2er;
  var __ZGVZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif;
  var __ZZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif;
  var __ZGVZ20DistanceBetweenLinesRK9btVector3S1_S1_S1_PS_S2_E2cp;
  var __ZZ20DistanceBetweenLinesRK9btVector3S1_S1_S1_PS_S2_E2cp;
  var __ZN15CProfileManager12FrameCounterE;
  var __ZN15CProfileManager4RootE;
  var __ZL13gProfileClock;
  var __ZN15CProfileManager9ResetTimeE;
  var __str27;
  var __str128;
  var __str229;
  var __str330;
  var __str431;
  var __str532;
  var __ZN15CProfileManager11CurrentNodeE;
  var __str633;
  var _sBulletDNAstr64;
  var _sBulletDNAlen64;
  var _sBulletDNAstr;
  var _sBulletDNAlen;
  
  __globalConstructor__ = function() {
    __GLOBAL__I__ZN19btGenericMemoryPool24allocate_from_free_nodesEj();
    __GLOBAL__I__ZN7btClockC2Ev();
  }
  
  var _llvm_used;
  
  ___cxa_pure_virtual = function () {
      ABORT = true;
      throw 'Pure virtual function called!';
    }
  // stub for __ZdlPv
  _llvm_eh_exception = function () {
      return 'code-generated exception: ' + (new Error().stack);
    }
  _llvm_eh_selector = function (exception, personality, num) {
    }
  // stub for _llvm_eh_typeid_for
  // stub for __ZSt9terminatev
  ___gxx_personality_v0 = function () {
    }
  // stub for __Unwind_Resume_or_Rethrow
  ___cxa_guard_acquire = function () {
      return 1;
    }
  ___cxa_guard_release = function () {
      return 1;
    }
  // stub for ___cxa_guard_abort
  // stub for __Znwj
  _printf = function () {
      __print__(Pointer_stringify(__formatString.apply(null, arguments)));
    }
  _fabsf = Math.abs
  // stub for _llvm_bswap_i32
  // stub for _llvm_bswap_i16
  // stub for _llvm_memcpy_p0i8_p0i8_i32
  _sqrtf = Math.sqrt
  // stub for _llvm_memset_p0i8_i64
  _atan2f = Math.atan2
  _acosf = Math.acos
  _sinf = Math.sin
  _cosf = Math.cos
  ___cxa_atexit = function (func) {
      __ATEXIT__.push(func);
    }
  // stub for _free
  // stub for i8_
  // stub for _fmodf
  _asinf = Math.asin
  // stub for _llvm_memset_p0i8_i32
  _llvm_pow_f32 = Math.pow
  _gettimeofday = function (ptr) {
      // %struct.timeval = type { i32, i32 }
      var indexes = Runtime.calculateStructAlignment({ fields: ['i32', 'i32'] });
      var now = Date.now();
      IHEAP[ptr + indexes[0]] = Math.floor(now/1000); // seconds
      IHEAP[ptr + indexes[1]] = Math.floor((now-1000*Math.floor(now/1000))*1000); // microseconds
      return 0;
    }
  _putchar = function (p) {
      __print__(String.fromCharCode(p));
    }
  _puts = function (p) {
      __print__(Pointer_stringify(p) + '\n');
    }
  
  
  function __ZN21btBroadphaseInterface9resetPoolEP12btDispatcher(_this, _dispatcher) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN21btBroadphaseInterface9resetPoolEP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN21btBroadphaseInterface9resetPoolEP12btDispatcher, "__ZN21btBroadphaseInterface9resetPoolEP12btDispatcher");
  
  
  function __ZN15btNullPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher(_this, _unnamed_arg, _unnamed_arg2) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN15btNullPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN15btNullPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher, "__ZN15btNullPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher");
  
  
  function __ZNK15btNullPairCache22getNumOverlappingPairsEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK15btNullPairCache22getNumOverlappingPairsEv.__index__ = Runtime.getFunctionIndex(__ZNK15btNullPairCache22getNumOverlappingPairsEv, "__ZNK15btNullPairCache22getNumOverlappingPairsEv");
  
  
  function __ZN15btNullPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher(_this, _unnamed_arg, _unnamed_arg2) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN15btNullPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN15btNullPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher, "__ZN15btNullPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher");
  
  
  function __ZN15btNullPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback(_this, _unnamed_arg) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN15btNullPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback.__index__ = Runtime.getFunctionIndex(__ZN15btNullPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback, "__ZN15btNullPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback");
  
  
  function __ZN15btNullPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher(_this, _unnamed_arg, _unnamed_arg2) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN15btNullPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN15btNullPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher, "__ZN15btNullPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher");
  
  
  function __ZN15btNullPairCache8findPairEP17btBroadphaseProxyS1_(_this, _unnamed_arg, _unnamed_arg2) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZN15btNullPairCache8findPairEP17btBroadphaseProxyS1_.__index__ = Runtime.getFunctionIndex(__ZN15btNullPairCache8findPairEP17btBroadphaseProxyS1_, "__ZN15btNullPairCache8findPairEP17btBroadphaseProxyS1_");
  
  
  function __ZN15btNullPairCache18hasDeferredRemovalEv(_this) {
    ;
    var __label__;
    ;
    return 1;
  }
  __ZN15btNullPairCache18hasDeferredRemovalEv.__index__ = Runtime.getFunctionIndex(__ZN15btNullPairCache18hasDeferredRemovalEv, "__ZN15btNullPairCache18hasDeferredRemovalEv");
  
  
  function __ZN15btNullPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback(_this, _unnamed_arg) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN15btNullPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback.__index__ = Runtime.getFunctionIndex(__ZN15btNullPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback, "__ZN15btNullPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback");
  
  
  function __ZN15btNullPairCache18addOverlappingPairEP17btBroadphaseProxyS1_(_this, _unnamed_arg, _unnamed_arg2) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZN15btNullPairCache18addOverlappingPairEP17btBroadphaseProxyS1_.__index__ = Runtime.getFunctionIndex(__ZN15btNullPairCache18addOverlappingPairEP17btBroadphaseProxyS1_, "__ZN15btNullPairCache18addOverlappingPairEP17btBroadphaseProxyS1_");
  
  
  function __ZN15btNullPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher(_this, _unnamed_arg, _unnamed_arg2, _unnamed_arg4) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZN15btNullPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN15btNullPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher, "__ZN15btNullPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher");
  
  
  function __ZN15btNullPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher(_this, _unnamed_arg, _unnamed_arg2) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN15btNullPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN15btNullPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher, "__ZN15btNullPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher");
  
  
  function __ZN15btNullPairCache20sortOverlappingPairsEP12btDispatcher(_this, _dispatcher) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN15btNullPairCache20sortOverlappingPairsEP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN15btNullPairCache20sortOverlappingPairsEP12btDispatcher, "__ZN15btNullPairCache20sortOverlappingPairsEP12btDispatcher");
  
  
  function __ZN20btAxisSweep3InternalIjE10printStatsEv(_this) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN20btAxisSweep3InternalIjE10printStatsEv.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjE10printStatsEv, "__ZN20btAxisSweep3InternalIjE10printStatsEv");
  
  
  function __ZN20btAxisSweep3InternalItE10printStatsEv(_this) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN20btAxisSweep3InternalItE10printStatsEv.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItE10printStatsEv, "__ZN20btAxisSweep3InternalItE10printStatsEv");
  
  
  function __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodeS3_(_this, _unnamed_arg, _unnamed_arg2) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodeS3_.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodeS3_, "__ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodeS3_");
  
  
  function __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNode(_this, _unnamed_arg) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNode.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt8ICollide7ProcessEPK10btDbvtNode, "__ZN6btDbvt8ICollide7ProcessEPK10btDbvtNode");
  
  
  function __ZN6btDbvt8ICollide7DescentEPK10btDbvtNode(_this, _unnamed_arg) {
    ;
    var __label__;
    ;
    return 1;
  }
  __ZN6btDbvt8ICollide7DescentEPK10btDbvtNode.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt8ICollide7DescentEPK10btDbvtNode, "__ZN6btDbvt8ICollide7DescentEPK10btDbvtNode");
  
  
  function __ZN6btDbvt8ICollide9AllLeavesEPK10btDbvtNode(_this, _unnamed_arg) {
    ;
    var __label__;
    ;
    return 1;
  }
  __ZN6btDbvt8ICollide9AllLeavesEPK10btDbvtNode.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt8ICollide9AllLeavesEPK10btDbvtNode, "__ZN6btDbvt8ICollide9AllLeavesEPK10btDbvtNode");
  
  
  function __ZN16btDbvtBroadphase10printStatsEv(_this) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN16btDbvtBroadphase10printStatsEv.__index__ = Runtime.getFunctionIndex(__ZN16btDbvtBroadphase10printStatsEv, "__ZN16btDbvtBroadphase10printStatsEv");
  
  
  function __ZN16btDbvtBroadphase9benchmarkEP21btBroadphaseInterface(_unnamed_arg) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN16btDbvtBroadphase9benchmarkEP21btBroadphaseInterface.__index__ = Runtime.getFunctionIndex(__ZN16btDbvtBroadphase9benchmarkEP21btBroadphaseInterface, "__ZN16btDbvtBroadphase9benchmarkEP21btBroadphaseInterface");
  
  
  function __ZN20btMultiSapBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher(_this, _unnamed_arg, _unnamed_arg2) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN20btMultiSapBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN20btMultiSapBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher, "__ZN20btMultiSapBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher");
  
  
  function __ZN20btMultiSapBroadphase10printStatsEv(_this) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN20btMultiSapBroadphase10printStatsEv.__index__ = Runtime.getFunctionIndex(__ZN20btMultiSapBroadphase10printStatsEv, "__ZN20btMultiSapBroadphase10printStatsEv");
  
  
  function __ZN20btMultiSapBroadphase9resetPoolEP12btDispatcher(_this, _dispatcher) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN20btMultiSapBroadphase9resetPoolEP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN20btMultiSapBroadphase9resetPoolEP12btDispatcher, "__ZN20btMultiSapBroadphase9resetPoolEP12btDispatcher");
  
  
  function __ZN28btHashedOverlappingPairCache18hasDeferredRemovalEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZN28btHashedOverlappingPairCache18hasDeferredRemovalEv.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCache18hasDeferredRemovalEv, "__ZN28btHashedOverlappingPairCache18hasDeferredRemovalEv");
  
  
  function __ZN28btSortedOverlappingPairCache20sortOverlappingPairsEP12btDispatcher(_this, _dispatcher) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN28btSortedOverlappingPairCache20sortOverlappingPairsEP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN28btSortedOverlappingPairCache20sortOverlappingPairsEP12btDispatcher, "__ZN28btSortedOverlappingPairCache20sortOverlappingPairsEP12btDispatcher");
  
  
  function __ZNK14btQuantizedBvh31calculateSerializeBufferSizeNewEv(_this) {
    ;
    var __label__;
    ;
    return 84;
  }
  __ZNK14btQuantizedBvh31calculateSerializeBufferSizeNewEv.__index__ = Runtime.getFunctionIndex(__ZNK14btQuantizedBvh31calculateSerializeBufferSizeNewEv, "__ZNK14btQuantizedBvh31calculateSerializeBufferSizeNewEv");
  
  
  function __ZN14btQuantizedBvh32getAlignmentSerializationPaddingEv() {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZN14btQuantizedBvh32getAlignmentSerializationPaddingEv.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvh32getAlignmentSerializationPaddingEv, "__ZN14btQuantizedBvh32getAlignmentSerializationPaddingEv");
  
  
  function __ZN18btSimpleBroadphase10printStatsEv(_this) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN18btSimpleBroadphase10printStatsEv.__index__ = Runtime.getFunctionIndex(__ZN18btSimpleBroadphase10printStatsEv, "__ZN18btSimpleBroadphase10printStatsEv");
  
  
  function __ZN18btSimpleBroadphase9resetPoolEP12btDispatcher(_this, _dispatcher) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN18btSimpleBroadphase9resetPoolEP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN18btSimpleBroadphase9resetPoolEP12btDispatcher, "__ZN18btSimpleBroadphase9resetPoolEP12btDispatcher");
  
  
  function __ZN26btBoxBoxCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _unnamed_arg, _unnamed_arg2, _unnamed_arg4, _unnamed_arg6) {
    ;
    var __label__;
    ;
    return 1;
  }
  __ZN26btBoxBoxCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN26btBoxBoxCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN26btBoxBoxCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN30btBox2dBox2dCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _unnamed_arg, _unnamed_arg2, _unnamed_arg4, _unnamed_arg6) {
    ;
    var __label__;
    ;
    return 1;
  }
  __ZN30btBox2dBox2dCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN30btBox2dBox2dCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN30btBox2dBox2dCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN17btCollisionObject24checkCollideWithOverrideEPS_(_this, _unnamed_arg) {
    ;
    var __label__;
    ;
    return 1;
  }
  __ZN17btCollisionObject24checkCollideWithOverrideEPS_.__index__ = Runtime.getFunctionIndex(__ZN17btCollisionObject24checkCollideWithOverrideEPS_, "__ZN17btCollisionObject24checkCollideWithOverrideEPS_");
  
  
  function __ZNK17btCollisionObject28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    ;
    return 248;
  }
  __ZNK17btCollisionObject28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK17btCollisionObject28calculateSerializeBufferSizeEv, "__ZNK17btCollisionObject28calculateSerializeBufferSizeEv");
  
  
  function __ZN12btConvexCast10CastResult9DebugDrawEf(_this, _fraction) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN12btConvexCast10CastResult9DebugDrawEf.__index__ = Runtime.getFunctionIndex(__ZN12btConvexCast10CastResult9DebugDrawEf, "__ZN12btConvexCast10CastResult9DebugDrawEf");
  
  
  function __ZN12btConvexCast10CastResult15drawCoordSystemERK11btTransform(_this, _trans) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN12btConvexCast10CastResult15drawCoordSystemERK11btTransform.__index__ = Runtime.getFunctionIndex(__ZN12btConvexCast10CastResult15drawCoordSystemERK11btTransform, "__ZN12btConvexCast10CastResult15drawCoordSystemERK11btTransform");
  
  
  function __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    ;
    return 52;
  }
  __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv, "__ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv");
  
  
  function __ZNK15btTriangleShape14getNumVerticesEv(_this) {
    ;
    var __label__;
    ;
    return 3;
  }
  __ZNK15btTriangleShape14getNumVerticesEv.__index__ = Runtime.getFunctionIndex(__ZNK15btTriangleShape14getNumVerticesEv, "__ZNK15btTriangleShape14getNumVerticesEv");
  
  
  function __ZNK15btTriangleShape11getNumEdgesEv(_this) {
    ;
    var __label__;
    ;
    return 3;
  }
  __ZNK15btTriangleShape11getNumEdgesEv.__index__ = Runtime.getFunctionIndex(__ZNK15btTriangleShape11getNumEdgesEv, "__ZNK15btTriangleShape11getNumEdgesEv");
  
  
  function __ZNK15btTriangleShape12getNumPlanesEv(_this) {
    ;
    var __label__;
    ;
    return 1;
  }
  __ZNK15btTriangleShape12getNumPlanesEv.__index__ = Runtime.getFunctionIndex(__ZNK15btTriangleShape12getNumPlanesEv, "__ZNK15btTriangleShape12getNumPlanesEv");
  
  
  function __ZNK15btTriangleShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str18;
  }
  __ZNK15btTriangleShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK15btTriangleShape7getNameEv, "__ZNK15btTriangleShape7getNameEv");
  
  
  function __ZNK15btTriangleShape36getNumPreferredPenetrationDirectionsEv(_this) {
    ;
    var __label__;
    ;
    return 2;
  }
  __ZNK15btTriangleShape36getNumPreferredPenetrationDirectionsEv.__index__ = Runtime.getFunctionIndex(__ZNK15btTriangleShape36getNumPreferredPenetrationDirectionsEv, "__ZNK15btTriangleShape36getNumPreferredPenetrationDirectionsEv");
  
  
  function __ZN30btCollisionAlgorithmCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS3_(_this, _unnamed_arg, _body0, _body1) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZN30btCollisionAlgorithmCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS3_.__index__ = Runtime.getFunctionIndex(__ZN30btCollisionAlgorithmCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS3_, "__ZN30btCollisionAlgorithmCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS3_");
  
  
  function __ZN31btConvexPlaneCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _col0, _col1, _dispatchInfo, _resultOut) {
    ;
    var __label__;
    ;
    return 1;
  }
  __ZN31btConvexPlaneCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN31btConvexPlaneCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN31btConvexPlaneCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN16btEmptyAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(_this, _manifoldArray) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN16btEmptyAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__ = Runtime.getFunctionIndex(__ZN16btEmptyAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, "__ZN16btEmptyAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE");
  
  
  function __ZN16btEmptyAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _unnamed_arg, _unnamed_arg2, _unnamed_arg4, _unnamed_arg6) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN16btEmptyAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN16btEmptyAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN16btEmptyAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN16btEmptyAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _unnamed_arg, _unnamed_arg2, _unnamed_arg4, _unnamed_arg6) {
    ;
    var __label__;
    ;
    return 1;
  }
  __ZN16btEmptyAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN16btEmptyAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN16btEmptyAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN29btSphereBoxCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _col0, _col1, _dispatchInfo, _resultOut) {
    ;
    var __label__;
    ;
    return 1;
  }
  __ZN29btSphereBoxCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN29btSphereBoxCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN29btSphereBoxCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN32btSphereSphereCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _col0, _col1, _dispatchInfo, _resultOut) {
    ;
    var __label__;
    ;
    return 1;
  }
  __ZN32btSphereSphereCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN32btSphereSphereCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN32btSphereSphereCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN34btSphereTriangleCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _col0, _col1, _dispatchInfo, _resultOut) {
    ;
    var __label__;
    ;
    return 1;
  }
  __ZN34btSphereTriangleCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN34btSphereTriangleCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN34btSphereTriangleCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZNK10btBoxShape12getNumPlanesEv(_this) {
    ;
    var __label__;
    ;
    return 6;
  }
  __ZNK10btBoxShape12getNumPlanesEv.__index__ = Runtime.getFunctionIndex(__ZNK10btBoxShape12getNumPlanesEv, "__ZNK10btBoxShape12getNumPlanesEv");
  
  
  function __ZNK10btBoxShape14getNumVerticesEv(_this) {
    ;
    var __label__;
    ;
    return 8;
  }
  __ZNK10btBoxShape14getNumVerticesEv.__index__ = Runtime.getFunctionIndex(__ZNK10btBoxShape14getNumVerticesEv, "__ZNK10btBoxShape14getNumVerticesEv");
  
  
  function __ZNK10btBoxShape11getNumEdgesEv(_this) {
    ;
    var __label__;
    ;
    return 12;
  }
  __ZNK10btBoxShape11getNumEdgesEv.__index__ = Runtime.getFunctionIndex(__ZNK10btBoxShape11getNumEdgesEv, "__ZNK10btBoxShape11getNumEdgesEv");
  
  
  function __ZNK10btBoxShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str40;
  }
  __ZNK10btBoxShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK10btBoxShape7getNameEv, "__ZNK10btBoxShape7getNameEv");
  
  
  function __ZNK10btBoxShape36getNumPreferredPenetrationDirectionsEv(_this) {
    ;
    var __label__;
    ;
    return 6;
  }
  __ZNK10btBoxShape36getNumPreferredPenetrationDirectionsEv.__index__ = Runtime.getFunctionIndex(__ZNK10btBoxShape36getNumPreferredPenetrationDirectionsEv, "__ZNK10btBoxShape36getNumPreferredPenetrationDirectionsEv");
  
  
  function __ZNK12btBox2dShape14getNumVerticesEv(_this) {
    ;
    var __label__;
    ;
    return 4;
  }
  __ZNK12btBox2dShape14getNumVerticesEv.__index__ = Runtime.getFunctionIndex(__ZNK12btBox2dShape14getNumVerticesEv, "__ZNK12btBox2dShape14getNumVerticesEv");
  
  
  function __ZNK12btBox2dShape12getNumPlanesEv(_this) {
    ;
    var __label__;
    ;
    return 6;
  }
  __ZNK12btBox2dShape12getNumPlanesEv.__index__ = Runtime.getFunctionIndex(__ZNK12btBox2dShape12getNumPlanesEv, "__ZNK12btBox2dShape12getNumPlanesEv");
  
  
  function __ZNK12btBox2dShape11getNumEdgesEv(_this) {
    ;
    var __label__;
    ;
    return 12;
  }
  __ZNK12btBox2dShape11getNumEdgesEv.__index__ = Runtime.getFunctionIndex(__ZNK12btBox2dShape11getNumEdgesEv, "__ZNK12btBox2dShape11getNumEdgesEv");
  
  
  function __ZNK12btBox2dShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str42;
  }
  __ZNK12btBox2dShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK12btBox2dShape7getNameEv, "__ZNK12btBox2dShape7getNameEv");
  
  
  function __ZNK12btBox2dShape36getNumPreferredPenetrationDirectionsEv(_this) {
    ;
    var __label__;
    ;
    return 6;
  }
  __ZNK12btBox2dShape36getNumPreferredPenetrationDirectionsEv.__index__ = Runtime.getFunctionIndex(__ZNK12btBox2dShape36getNumPreferredPenetrationDirectionsEv, "__ZNK12btBox2dShape36getNumPreferredPenetrationDirectionsEv");
  
  
  function __ZNK22btBvhTriangleMeshShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str44;
  }
  __ZNK22btBvhTriangleMeshShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK22btBvhTriangleMeshShape7getNameEv, "__ZNK22btBvhTriangleMeshShape7getNameEv");
  
  
  function __ZNK22btBvhTriangleMeshShape28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    ;
    return 60;
  }
  __ZNK22btBvhTriangleMeshShape28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK22btBvhTriangleMeshShape28calculateSerializeBufferSizeEv, "__ZNK22btBvhTriangleMeshShape28calculateSerializeBufferSizeEv");
  
  
  function __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__ = Runtime.getFunctionIndex(__ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv, "__ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv");
  
  
  function __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3(_this, _index, _penetrationVector) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3, "__ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3");
  
  
  function __ZNK14btCapsuleShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str51;
  }
  __ZNK14btCapsuleShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK14btCapsuleShape7getNameEv, "__ZNK14btCapsuleShape7getNameEv");
  
  
  function __ZNK15btCapsuleShapeX7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str152;
  }
  __ZNK15btCapsuleShapeX7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK15btCapsuleShapeX7getNameEv, "__ZNK15btCapsuleShapeX7getNameEv");
  
  
  function __ZNK15btCapsuleShapeZ7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str253;
  }
  __ZNK15btCapsuleShapeZ7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK15btCapsuleShapeZ7getNameEv, "__ZNK15btCapsuleShapeZ7getNameEv");
  
  
  function __ZNK14btCapsuleShape28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    ;
    return 60;
  }
  __ZNK14btCapsuleShape28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK14btCapsuleShape28calculateSerializeBufferSizeEv, "__ZNK14btCapsuleShape28calculateSerializeBufferSizeEv");
  
  
  function _btBulletCollisionProbe() {
    ;
    var __label__;
    ;
    return;
  }
  _btBulletCollisionProbe.__index__ = Runtime.getFunctionIndex(_btBulletCollisionProbe, "_btBulletCollisionProbe");
  
  
  function __ZNK16btCollisionShape28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    ;
    return 12;
  }
  __ZNK16btCollisionShape28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK16btCollisionShape28calculateSerializeBufferSizeEv, "__ZNK16btCollisionShape28calculateSerializeBufferSizeEv");
  
  
  function __ZNK15btCompoundShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str62;
  }
  __ZNK15btCompoundShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK15btCompoundShape7getNameEv, "__ZNK15btCompoundShape7getNameEv");
  
  
  function __ZNK15btCompoundShape28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    ;
    return 24;
  }
  __ZNK15btCompoundShape28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK15btCompoundShape28calculateSerializeBufferSizeEv, "__ZNK15btCompoundShape28calculateSerializeBufferSizeEv");
  
  
  function __ZNK11btConeShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str65;
  }
  __ZNK11btConeShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK11btConeShape7getNameEv, "__ZNK11btConeShape7getNameEv");
  
  
  function __ZNK17btConvexHullShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str67;
  }
  __ZNK17btConvexHullShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK17btConvexHullShape7getNameEv, "__ZNK17btConvexHullShape7getNameEv");
  
  
  function __ZNK17btConvexHullShape28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    ;
    return 68;
  }
  __ZNK17btConvexHullShape28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK17btConvexHullShape28calculateSerializeBufferSizeEv, "__ZNK17btConvexHullShape28calculateSerializeBufferSizeEv");
  
  
  function __ZNK17btConvexHullShape12getNumPlanesEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK17btConvexHullShape12getNumPlanesEv.__index__ = Runtime.getFunctionIndex(__ZNK17btConvexHullShape12getNumPlanesEv, "__ZNK17btConvexHullShape12getNumPlanesEv");
  
  
  function __ZNK17btConvexHullShape8getPlaneER9btVector3S1_i(_this, _unnamed_arg, _unnamed_arg2, _unnamed_arg4) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK17btConvexHullShape8getPlaneER9btVector3S1_i.__index__ = Runtime.getFunctionIndex(__ZNK17btConvexHullShape8getPlaneER9btVector3S1_i, "__ZNK17btConvexHullShape8getPlaneER9btVector3S1_i");
  
  
  function __ZNK17btConvexHullShape8isInsideERK9btVector3f(_this, _unnamed_arg, _unnamed_arg2) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK17btConvexHullShape8isInsideERK9btVector3f.__index__ = Runtime.getFunctionIndex(__ZNK17btConvexHullShape8isInsideERK9btVector3f, "__ZNK17btConvexHullShape8isInsideERK9btVector3f");
  
  
  function __ZNK23btConvexPointCloudShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str77;
  }
  __ZNK23btConvexPointCloudShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK23btConvexPointCloudShape7getNameEv, "__ZNK23btConvexPointCloudShape7getNameEv");
  
  
  function __ZNK23btConvexPointCloudShape11getNumEdgesEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK23btConvexPointCloudShape11getNumEdgesEv.__index__ = Runtime.getFunctionIndex(__ZNK23btConvexPointCloudShape11getNumEdgesEv, "__ZNK23btConvexPointCloudShape11getNumEdgesEv");
  
  
  function __ZNK23btConvexPointCloudShape7getEdgeEiR9btVector3S1_(_this, _i, _pa, _pb) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK23btConvexPointCloudShape7getEdgeEiR9btVector3S1_.__index__ = Runtime.getFunctionIndex(__ZNK23btConvexPointCloudShape7getEdgeEiR9btVector3S1_, "__ZNK23btConvexPointCloudShape7getEdgeEiR9btVector3S1_");
  
  
  function __ZNK23btConvexPointCloudShape12getNumPlanesEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK23btConvexPointCloudShape12getNumPlanesEv.__index__ = Runtime.getFunctionIndex(__ZNK23btConvexPointCloudShape12getNumPlanesEv, "__ZNK23btConvexPointCloudShape12getNumPlanesEv");
  
  
  function __ZNK23btConvexPointCloudShape8getPlaneER9btVector3S1_i(_this, _unnamed_arg, _unnamed_arg2, _unnamed_arg4) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK23btConvexPointCloudShape8getPlaneER9btVector3S1_i.__index__ = Runtime.getFunctionIndex(__ZNK23btConvexPointCloudShape8getPlaneER9btVector3S1_i, "__ZNK23btConvexPointCloudShape8getPlaneER9btVector3S1_i");
  
  
  function __ZNK23btConvexPointCloudShape8isInsideERK9btVector3f(_this, _unnamed_arg, _unnamed_arg2) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK23btConvexPointCloudShape8isInsideERK9btVector3f.__index__ = Runtime.getFunctionIndex(__ZNK23btConvexPointCloudShape8isInsideERK9btVector3f, "__ZNK23btConvexPointCloudShape8isInsideERK9btVector3f");
  
  
  function __ZNK15btConvex2dShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str82;
  }
  __ZNK15btConvex2dShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK15btConvex2dShape7getNameEv, "__ZNK15btConvex2dShape7getNameEv");
  
  
  function __ZNK25btConvexTriangleMeshShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str83;
  }
  __ZNK25btConvexTriangleMeshShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK25btConvexTriangleMeshShape7getNameEv, "__ZNK25btConvexTriangleMeshShape7getNameEv");
  
  
  function __ZNK25btConvexTriangleMeshShape14getNumVerticesEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK25btConvexTriangleMeshShape14getNumVerticesEv.__index__ = Runtime.getFunctionIndex(__ZNK25btConvexTriangleMeshShape14getNumVerticesEv, "__ZNK25btConvexTriangleMeshShape14getNumVerticesEv");
  
  
  function __ZNK25btConvexTriangleMeshShape11getNumEdgesEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK25btConvexTriangleMeshShape11getNumEdgesEv.__index__ = Runtime.getFunctionIndex(__ZNK25btConvexTriangleMeshShape11getNumEdgesEv, "__ZNK25btConvexTriangleMeshShape11getNumEdgesEv");
  
  
  function __ZNK25btConvexTriangleMeshShape7getEdgeEiR9btVector3S1_(_this, _unnamed_arg, _unnamed_arg2, _unnamed_arg4) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK25btConvexTriangleMeshShape7getEdgeEiR9btVector3S1_.__index__ = Runtime.getFunctionIndex(__ZNK25btConvexTriangleMeshShape7getEdgeEiR9btVector3S1_, "__ZNK25btConvexTriangleMeshShape7getEdgeEiR9btVector3S1_");
  
  
  function __ZNK25btConvexTriangleMeshShape9getVertexEiR9btVector3(_this, _unnamed_arg, _unnamed_arg2) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK25btConvexTriangleMeshShape9getVertexEiR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK25btConvexTriangleMeshShape9getVertexEiR9btVector3, "__ZNK25btConvexTriangleMeshShape9getVertexEiR9btVector3");
  
  
  function __ZNK25btConvexTriangleMeshShape12getNumPlanesEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK25btConvexTriangleMeshShape12getNumPlanesEv.__index__ = Runtime.getFunctionIndex(__ZNK25btConvexTriangleMeshShape12getNumPlanesEv, "__ZNK25btConvexTriangleMeshShape12getNumPlanesEv");
  
  
  function __ZNK25btConvexTriangleMeshShape8getPlaneER9btVector3S1_i(_this, _unnamed_arg, _unnamed_arg2, _unnamed_arg4) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK25btConvexTriangleMeshShape8getPlaneER9btVector3S1_i.__index__ = Runtime.getFunctionIndex(__ZNK25btConvexTriangleMeshShape8getPlaneER9btVector3S1_i, "__ZNK25btConvexTriangleMeshShape8getPlaneER9btVector3S1_i");
  
  
  function __ZNK25btConvexTriangleMeshShape8isInsideERK9btVector3f(_this, _unnamed_arg, _unnamed_arg2) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK25btConvexTriangleMeshShape8isInsideERK9btVector3f.__index__ = Runtime.getFunctionIndex(__ZNK25btConvexTriangleMeshShape8isInsideERK9btVector3f, "__ZNK25btConvexTriangleMeshShape8isInsideERK9btVector3f");
  
  
  function __ZNK15btCylinderShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str85;
  }
  __ZNK15btCylinderShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK15btCylinderShape7getNameEv, "__ZNK15btCylinderShape7getNameEv");
  
  
  function __ZNK16btCylinderShapeX7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str186;
  }
  __ZNK16btCylinderShapeX7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK16btCylinderShapeX7getNameEv, "__ZNK16btCylinderShapeX7getNameEv");
  
  
  function __ZNK16btCylinderShapeZ7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str287;
  }
  __ZNK16btCylinderShapeZ7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK16btCylinderShapeZ7getNameEv, "__ZNK16btCylinderShapeZ7getNameEv");
  
  
  function __ZNK15btCylinderShape28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    ;
    return 60;
  }
  __ZNK15btCylinderShape28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK15btCylinderShape28calculateSerializeBufferSizeEv, "__ZNK15btCylinderShape28calculateSerializeBufferSizeEv");
  
  
  function __ZNK12btEmptyShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str89;
  }
  __ZNK12btEmptyShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK12btEmptyShape7getNameEv, "__ZNK12btEmptyShape7getNameEv");
  
  
  function __ZNK12btEmptyShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_(_this, _unnamed_arg, _unnamed_arg2, _unnamed_arg4) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK12btEmptyShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK12btEmptyShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_, "__ZNK12btEmptyShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_");
  
  
  function __ZNK12btEmptyShape21calculateLocalInertiaEfR9btVector3(_this, _unnamed_arg, _unnamed_arg2) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK12btEmptyShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK12btEmptyShape21calculateLocalInertiaEfR9btVector3, "__ZNK12btEmptyShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZNK25btHeightfieldTerrainShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str90;
  }
  __ZNK25btHeightfieldTerrainShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK25btHeightfieldTerrainShape7getNameEv, "__ZNK25btHeightfieldTerrainShape7getNameEv");
  
  
  function __ZNK19btMinkowskiSumShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str91;
  }
  __ZNK19btMinkowskiSumShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK19btMinkowskiSumShape7getNameEv, "__ZNK19btMinkowskiSumShape7getNameEv");
  
  
  function __ZNK18btMultiSphereShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str96;
  }
  __ZNK18btMultiSphereShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK18btMultiSphereShape7getNameEv, "__ZNK18btMultiSphereShape7getNameEv");
  
  
  function __ZNK18btMultiSphereShape28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    ;
    return 64;
  }
  __ZNK18btMultiSphereShape28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK18btMultiSphereShape28calculateSerializeBufferSizeEv, "__ZNK18btMultiSphereShape28calculateSerializeBufferSizeEv");
  
  
  function __ZNK28btScaledBvhTriangleMeshShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str111;
  }
  __ZNK28btScaledBvhTriangleMeshShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK28btScaledBvhTriangleMeshShape7getNameEv, "__ZNK28btScaledBvhTriangleMeshShape7getNameEv");
  
  
  function __ZNK28btScaledBvhTriangleMeshShape21calculateLocalInertiaEfR9btVector3(_this, _mass, _inertia) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK28btScaledBvhTriangleMeshShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK28btScaledBvhTriangleMeshShape21calculateLocalInertiaEfR9btVector3, "__ZNK28btScaledBvhTriangleMeshShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZNK13btSphereShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str115;
  }
  __ZNK13btSphereShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK13btSphereShape7getNameEv, "__ZNK13btSphereShape7getNameEv");
  
  
  function __ZNK18btStaticPlaneShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str120;
  }
  __ZNK18btStaticPlaneShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK18btStaticPlaneShape7getNameEv, "__ZNK18btStaticPlaneShape7getNameEv");
  
  
  function __ZNK18btStaticPlaneShape28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    ;
    return 52;
  }
  __ZNK18btStaticPlaneShape28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK18btStaticPlaneShape28calculateSerializeBufferSizeEv, "__ZNK18btStaticPlaneShape28calculateSerializeBufferSizeEv");
  
  
  function __ZNK23btStridingMeshInterface14hasPremadeAabbEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK23btStridingMeshInterface14hasPremadeAabbEv.__index__ = Runtime.getFunctionIndex(__ZNK23btStridingMeshInterface14hasPremadeAabbEv, "__ZNK23btStridingMeshInterface14hasPremadeAabbEv");
  
  
  function __ZNK23btStridingMeshInterface14setPremadeAabbERK9btVector3S2_(_this, _aabbMin, _aabbMax) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK23btStridingMeshInterface14setPremadeAabbERK9btVector3S2_.__index__ = Runtime.getFunctionIndex(__ZNK23btStridingMeshInterface14setPremadeAabbERK9btVector3S2_, "__ZNK23btStridingMeshInterface14setPremadeAabbERK9btVector3S2_");
  
  
  function __ZNK23btStridingMeshInterface14getPremadeAabbEP9btVector3S1_(_this, _aabbMin, _aabbMax) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK23btStridingMeshInterface14getPremadeAabbEP9btVector3S1_.__index__ = Runtime.getFunctionIndex(__ZNK23btStridingMeshInterface14getPremadeAabbEP9btVector3S1_, "__ZNK23btStridingMeshInterface14getPremadeAabbEP9btVector3S1_");
  
  
  function __ZNK23btStridingMeshInterface28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    ;
    return 28;
  }
  __ZNK23btStridingMeshInterface28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK23btStridingMeshInterface28calculateSerializeBufferSizeEv, "__ZNK23btStridingMeshInterface28calculateSerializeBufferSizeEv");
  
  
  function __ZNK16btBU_Simplex1to47getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str129;
  }
  __ZNK16btBU_Simplex1to47getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK16btBU_Simplex1to47getNameEv, "__ZNK16btBU_Simplex1to47getNameEv");
  
  
  function __ZNK16btBU_Simplex1to48getPlaneER9btVector3S1_i(_this, _unnamed_arg, _unnamed_arg2, _unnamed_arg4) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK16btBU_Simplex1to48getPlaneER9btVector3S1_i.__index__ = Runtime.getFunctionIndex(__ZNK16btBU_Simplex1to48getPlaneER9btVector3S1_i, "__ZNK16btBU_Simplex1to48getPlaneER9btVector3S1_i");
  
  
  function __ZNK16btBU_Simplex1to48getIndexEi(_this, _unnamed_arg) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK16btBU_Simplex1to48getIndexEi.__index__ = Runtime.getFunctionIndex(__ZNK16btBU_Simplex1to48getIndexEi, "__ZNK16btBU_Simplex1to48getIndexEi");
  
  
  function __ZNK16btBU_Simplex1to48isInsideERK9btVector3f(_this, _unnamed_arg, _unnamed_arg2) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK16btBU_Simplex1to48isInsideERK9btVector3f.__index__ = Runtime.getFunctionIndex(__ZNK16btBU_Simplex1to48isInsideERK9btVector3f, "__ZNK16btBU_Simplex1to48isInsideERK9btVector3f");
  
  
  function __ZN26btTriangleIndexVertexArray16unLockVertexBaseEi(_this, _subpart) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN26btTriangleIndexVertexArray16unLockVertexBaseEi.__index__ = Runtime.getFunctionIndex(__ZN26btTriangleIndexVertexArray16unLockVertexBaseEi, "__ZN26btTriangleIndexVertexArray16unLockVertexBaseEi");
  
  
  function __ZNK26btTriangleIndexVertexArray24unLockReadOnlyVertexBaseEi(_this, _subpart) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK26btTriangleIndexVertexArray24unLockReadOnlyVertexBaseEi.__index__ = Runtime.getFunctionIndex(__ZNK26btTriangleIndexVertexArray24unLockReadOnlyVertexBaseEi, "__ZNK26btTriangleIndexVertexArray24unLockReadOnlyVertexBaseEi");
  
  
  function __ZN26btTriangleIndexVertexArray19preallocateVerticesEi(_this, _numverts) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN26btTriangleIndexVertexArray19preallocateVerticesEi.__index__ = Runtime.getFunctionIndex(__ZN26btTriangleIndexVertexArray19preallocateVerticesEi, "__ZN26btTriangleIndexVertexArray19preallocateVerticesEi");
  
  
  function __ZN26btTriangleIndexVertexArray18preallocateIndicesEi(_this, _numindices) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN26btTriangleIndexVertexArray18preallocateIndicesEi.__index__ = Runtime.getFunctionIndex(__ZN26btTriangleIndexVertexArray18preallocateIndicesEi, "__ZN26btTriangleIndexVertexArray18preallocateIndicesEi");
  
  
  function __ZN14btTriangleMesh19preallocateVerticesEi(_this, _numverts) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN14btTriangleMesh19preallocateVerticesEi.__index__ = Runtime.getFunctionIndex(__ZN14btTriangleMesh19preallocateVerticesEi, "__ZN14btTriangleMesh19preallocateVerticesEi");
  
  
  function __ZN14btTriangleMesh18preallocateIndicesEi(_this, _numindices) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN14btTriangleMesh18preallocateIndicesEi.__index__ = Runtime.getFunctionIndex(__ZN14btTriangleMesh18preallocateIndicesEi, "__ZN14btTriangleMesh18preallocateIndicesEi");
  
  
  function __ZNK19btTriangleMeshShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str135;
  }
  __ZNK19btTriangleMeshShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK19btTriangleMeshShape7getNameEv, "__ZNK19btTriangleMeshShape7getNameEv");
  
  
  function __ZNK21btUniformScalingShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str146;
  }
  __ZNK21btUniformScalingShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK21btUniformScalingShape7getNameEv, "__ZNK21btUniformScalingShape7getNameEv");
  
  
  function __ZN27btGImpactCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _body0, _body1, _dispatchInfo, _resultOut) {
    ;
    var __label__;
    ;
    return 1;
  }
  __ZN27btGImpactCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN27btGImpactCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function ___tcf_0150(_unnamed_arg) {
    ;
    var __label__;
    IHEAP[__ZZN27btGImpactCollisionAlgorithm17registerAlgorithmEP21btCollisionDispatcherE12s_gimpact_cf] = __ZTVN27btGImpactCollisionAlgorithm10CreateFuncE+8;
    ;
    return;
  }
  ___tcf_0150.__index__ = Runtime.getFunctionIndex(___tcf_0150, "___tcf_0150");
  
  
  function __ZNK23btGImpactShapeInterface12getShapeTypeEv(_this) {
    ;
    var __label__;
    ;
    return 25;
  }
  __ZNK23btGImpactShapeInterface12getShapeTypeEv.__index__ = Runtime.getFunctionIndex(__ZNK23btGImpactShapeInterface12getShapeTypeEv, "__ZNK23btGImpactShapeInterface12getShapeTypeEv");
  
  
  function __ZNK23btGImpactShapeInterface15lockChildShapesEv(_this) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK23btGImpactShapeInterface15lockChildShapesEv.__index__ = Runtime.getFunctionIndex(__ZNK23btGImpactShapeInterface15lockChildShapesEv, "__ZNK23btGImpactShapeInterface15lockChildShapesEv");
  
  
  function __ZNK23btGImpactShapeInterface17unlockChildShapesEv(_this) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK23btGImpactShapeInterface17unlockChildShapesEv.__index__ = Runtime.getFunctionIndex(__ZNK23btGImpactShapeInterface17unlockChildShapesEv, "__ZNK23btGImpactShapeInterface17unlockChildShapesEv");
  
  
  function __ZNK23btGImpactShapeInterface7rayTestERK9btVector3S2_RN16btCollisionWorld17RayResultCallbackE(_this, _rayFrom, _rayTo, _resultCallback) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK23btGImpactShapeInterface7rayTestERK9btVector3S2_RN16btCollisionWorld17RayResultCallbackE.__index__ = Runtime.getFunctionIndex(__ZNK23btGImpactShapeInterface7rayTestERK9btVector3S2_RN16btCollisionWorld17RayResultCallbackE, "__ZNK23btGImpactShapeInterface7rayTestERK9btVector3S2_RN16btCollisionWorld17RayResultCallbackE");
  
  
  function __ZNK23btGImpactShapeInterface19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_(_this, _callback, _aabbMin, _aabbMax) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK23btGImpactShapeInterface19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK23btGImpactShapeInterface19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_, "__ZNK23btGImpactShapeInterface19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_");
  
  
  function __ZNK22btGImpactCompoundShape24CompoundPrimitiveManager10is_trimeshEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK22btGImpactCompoundShape24CompoundPrimitiveManager10is_trimeshEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactCompoundShape24CompoundPrimitiveManager10is_trimeshEv, "__ZNK22btGImpactCompoundShape24CompoundPrimitiveManager10is_trimeshEv");
  
  
  function __ZNK22btGImpactCompoundShape24CompoundPrimitiveManager22get_primitive_triangleEiR19btPrimitiveTriangle(_this, _prim_index, _triangle) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK22btGImpactCompoundShape24CompoundPrimitiveManager22get_primitive_triangleEiR19btPrimitiveTriangle.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactCompoundShape24CompoundPrimitiveManager22get_primitive_triangleEiR19btPrimitiveTriangle, "__ZNK22btGImpactCompoundShape24CompoundPrimitiveManager22get_primitive_triangleEiR19btPrimitiveTriangle");
  
  
  function __ZNK22btGImpactCompoundShape22needsRetrieveTrianglesEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK22btGImpactCompoundShape22needsRetrieveTrianglesEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactCompoundShape22needsRetrieveTrianglesEv, "__ZNK22btGImpactCompoundShape22needsRetrieveTrianglesEv");
  
  
  function __ZNK22btGImpactCompoundShape25needsRetrieveTetrahedronsEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK22btGImpactCompoundShape25needsRetrieveTetrahedronsEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactCompoundShape25needsRetrieveTetrahedronsEv, "__ZNK22btGImpactCompoundShape25needsRetrieveTetrahedronsEv");
  
  
  function __ZNK22btGImpactCompoundShape17getBulletTriangleEiR17btTriangleShapeEx(_this, _prim_index, _triangle) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK22btGImpactCompoundShape17getBulletTriangleEiR17btTriangleShapeEx.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactCompoundShape17getBulletTriangleEiR17btTriangleShapeEx, "__ZNK22btGImpactCompoundShape17getBulletTriangleEiR17btTriangleShapeEx");
  
  
  function __ZNK22btGImpactCompoundShape20getBulletTetrahedronEiR20btTetrahedronShapeEx(_this, _prim_index, _tetrahedron) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK22btGImpactCompoundShape20getBulletTetrahedronEiR20btTetrahedronShapeEx.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactCompoundShape20getBulletTetrahedronEiR20btTetrahedronShapeEx, "__ZNK22btGImpactCompoundShape20getBulletTetrahedronEiR20btTetrahedronShapeEx");
  
  
  function __ZNK22btGImpactCompoundShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str153;
  }
  __ZNK22btGImpactCompoundShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactCompoundShape7getNameEv, "__ZNK22btGImpactCompoundShape7getNameEv");
  
  
  function __ZNK22btGImpactCompoundShape19getGImpactShapeTypeEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK22btGImpactCompoundShape19getGImpactShapeTypeEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactCompoundShape19getGImpactShapeTypeEv, "__ZNK22btGImpactCompoundShape19getGImpactShapeTypeEv");
  
  
  function __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager10is_trimeshEv(_this) {
    ;
    var __label__;
    ;
    return 1;
  }
  __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager10is_trimeshEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager10is_trimeshEv, "__ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager10is_trimeshEv");
  
  
  function __ZNK22btGImpactMeshShapePart20childrenHasTransformEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK22btGImpactMeshShapePart20childrenHasTransformEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart20childrenHasTransformEv, "__ZNK22btGImpactMeshShapePart20childrenHasTransformEv");
  
  
  function __ZN22btGImpactMeshShapePart13getChildShapeEi(_this, _index) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZN22btGImpactMeshShapePart13getChildShapeEi.__index__ = Runtime.getFunctionIndex(__ZN22btGImpactMeshShapePart13getChildShapeEi, "__ZN22btGImpactMeshShapePart13getChildShapeEi");
  
  
  function __ZNK22btGImpactMeshShapePart13getChildShapeEi(_this, _index) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK22btGImpactMeshShapePart13getChildShapeEi.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart13getChildShapeEi, "__ZNK22btGImpactMeshShapePart13getChildShapeEi");
  
  
  function __ZNK22btGImpactMeshShapePart17getChildTransformEi(_agg_result, _this, _index) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK22btGImpactMeshShapePart17getChildTransformEi.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart17getChildTransformEi, "__ZNK22btGImpactMeshShapePart17getChildTransformEi");
  
  
  function __ZN22btGImpactMeshShapePart17setChildTransformEiRK11btTransform(_this, _index, _transform) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN22btGImpactMeshShapePart17setChildTransformEiRK11btTransform.__index__ = Runtime.getFunctionIndex(__ZN22btGImpactMeshShapePart17setChildTransformEiRK11btTransform, "__ZN22btGImpactMeshShapePart17setChildTransformEiRK11btTransform");
  
  
  function __ZNK22btGImpactMeshShapePart7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str1154;
  }
  __ZNK22btGImpactMeshShapePart7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart7getNameEv, "__ZNK22btGImpactMeshShapePart7getNameEv");
  
  
  function __ZNK22btGImpactMeshShapePart19getGImpactShapeTypeEv(_this) {
    ;
    var __label__;
    ;
    return 1;
  }
  __ZNK22btGImpactMeshShapePart19getGImpactShapeTypeEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart19getGImpactShapeTypeEv, "__ZNK22btGImpactMeshShapePart19getGImpactShapeTypeEv");
  
  
  function __ZNK22btGImpactMeshShapePart22needsRetrieveTrianglesEv(_this) {
    ;
    var __label__;
    ;
    return 1;
  }
  __ZNK22btGImpactMeshShapePart22needsRetrieveTrianglesEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart22needsRetrieveTrianglesEv, "__ZNK22btGImpactMeshShapePart22needsRetrieveTrianglesEv");
  
  
  function __ZNK22btGImpactMeshShapePart25needsRetrieveTetrahedronsEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK22btGImpactMeshShapePart25needsRetrieveTetrahedronsEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart25needsRetrieveTetrahedronsEv, "__ZNK22btGImpactMeshShapePart25needsRetrieveTetrahedronsEv");
  
  
  function __ZNK22btGImpactMeshShapePart20getBulletTetrahedronEiR20btTetrahedronShapeEx(_this, _prim_index, _tetrahedron) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK22btGImpactMeshShapePart20getBulletTetrahedronEiR20btTetrahedronShapeEx.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart20getBulletTetrahedronEiR20btTetrahedronShapeEx, "__ZNK22btGImpactMeshShapePart20getBulletTetrahedronEiR20btTetrahedronShapeEx");
  
  
  function __ZNK18btGImpactMeshShape19getPrimitiveManagerEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK18btGImpactMeshShape19getPrimitiveManagerEv.__index__ = Runtime.getFunctionIndex(__ZNK18btGImpactMeshShape19getPrimitiveManagerEv, "__ZNK18btGImpactMeshShape19getPrimitiveManagerEv");
  
  
  function __ZNK18btGImpactMeshShape17getNumChildShapesEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK18btGImpactMeshShape17getNumChildShapesEv.__index__ = Runtime.getFunctionIndex(__ZNK18btGImpactMeshShape17getNumChildShapesEv, "__ZNK18btGImpactMeshShape17getNumChildShapesEv");
  
  
  function __ZNK18btGImpactMeshShape20childrenHasTransformEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK18btGImpactMeshShape20childrenHasTransformEv.__index__ = Runtime.getFunctionIndex(__ZNK18btGImpactMeshShape20childrenHasTransformEv, "__ZNK18btGImpactMeshShape20childrenHasTransformEv");
  
  
  function __ZNK18btGImpactMeshShape22needsRetrieveTrianglesEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK18btGImpactMeshShape22needsRetrieveTrianglesEv.__index__ = Runtime.getFunctionIndex(__ZNK18btGImpactMeshShape22needsRetrieveTrianglesEv, "__ZNK18btGImpactMeshShape22needsRetrieveTrianglesEv");
  
  
  function __ZNK18btGImpactMeshShape25needsRetrieveTetrahedronsEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK18btGImpactMeshShape25needsRetrieveTetrahedronsEv.__index__ = Runtime.getFunctionIndex(__ZNK18btGImpactMeshShape25needsRetrieveTetrahedronsEv, "__ZNK18btGImpactMeshShape25needsRetrieveTetrahedronsEv");
  
  
  function __ZNK18btGImpactMeshShape17getBulletTriangleEiR17btTriangleShapeEx(_this, _prim_index, _triangle) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK18btGImpactMeshShape17getBulletTriangleEiR17btTriangleShapeEx.__index__ = Runtime.getFunctionIndex(__ZNK18btGImpactMeshShape17getBulletTriangleEiR17btTriangleShapeEx, "__ZNK18btGImpactMeshShape17getBulletTriangleEiR17btTriangleShapeEx");
  
  
  function __ZNK18btGImpactMeshShape20getBulletTetrahedronEiR20btTetrahedronShapeEx(_this, _prim_index, _tetrahedron) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK18btGImpactMeshShape20getBulletTetrahedronEiR20btTetrahedronShapeEx.__index__ = Runtime.getFunctionIndex(__ZNK18btGImpactMeshShape20getBulletTetrahedronEiR20btTetrahedronShapeEx, "__ZNK18btGImpactMeshShape20getBulletTetrahedronEiR20btTetrahedronShapeEx");
  
  
  function __ZNK18btGImpactMeshShape15lockChildShapesEv(_this) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK18btGImpactMeshShape15lockChildShapesEv.__index__ = Runtime.getFunctionIndex(__ZNK18btGImpactMeshShape15lockChildShapesEv, "__ZNK18btGImpactMeshShape15lockChildShapesEv");
  
  
  function __ZNK18btGImpactMeshShape17unlockChildShapesEv(_this) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK18btGImpactMeshShape17unlockChildShapesEv.__index__ = Runtime.getFunctionIndex(__ZNK18btGImpactMeshShape17unlockChildShapesEv, "__ZNK18btGImpactMeshShape17unlockChildShapesEv");
  
  
  function __ZNK18btGImpactMeshShape12getChildAabbEiRK11btTransformR9btVector3S4_(_this, _child_index, _t, _aabbMin, _aabbMax) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK18btGImpactMeshShape12getChildAabbEiRK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK18btGImpactMeshShape12getChildAabbEiRK11btTransformR9btVector3S4_, "__ZNK18btGImpactMeshShape12getChildAabbEiRK11btTransformR9btVector3S4_");
  
  
  function __ZN18btGImpactMeshShape13getChildShapeEi(_this, _index) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZN18btGImpactMeshShape13getChildShapeEi.__index__ = Runtime.getFunctionIndex(__ZN18btGImpactMeshShape13getChildShapeEi, "__ZN18btGImpactMeshShape13getChildShapeEi");
  
  
  function __ZNK18btGImpactMeshShape13getChildShapeEi(_this, _index) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK18btGImpactMeshShape13getChildShapeEi.__index__ = Runtime.getFunctionIndex(__ZNK18btGImpactMeshShape13getChildShapeEi, "__ZNK18btGImpactMeshShape13getChildShapeEi");
  
  
  function __ZNK18btGImpactMeshShape17getChildTransformEi(_agg_result, _this, _index) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK18btGImpactMeshShape17getChildTransformEi.__index__ = Runtime.getFunctionIndex(__ZNK18btGImpactMeshShape17getChildTransformEi, "__ZNK18btGImpactMeshShape17getChildTransformEi");
  
  
  function __ZN18btGImpactMeshShape17setChildTransformEiRK11btTransform(_this, _index, _transform) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN18btGImpactMeshShape17setChildTransformEiRK11btTransform.__index__ = Runtime.getFunctionIndex(__ZN18btGImpactMeshShape17setChildTransformEiRK11btTransform, "__ZN18btGImpactMeshShape17setChildTransformEiRK11btTransform");
  
  
  function __ZNK18btGImpactMeshShape19getGImpactShapeTypeEv(_this) {
    ;
    var __label__;
    ;
    return 2;
  }
  __ZNK18btGImpactMeshShape19getGImpactShapeTypeEv.__index__ = Runtime.getFunctionIndex(__ZNK18btGImpactMeshShape19getGImpactShapeTypeEv, "__ZNK18btGImpactMeshShape19getGImpactShapeTypeEv");
  
  
  function __ZNK18btGImpactMeshShape7getNameEv(_this) {
    ;
    var __label__;
    ;
    return __str2155;
  }
  __ZNK18btGImpactMeshShape7getNameEv.__index__ = Runtime.getFunctionIndex(__ZNK18btGImpactMeshShape7getNameEv, "__ZNK18btGImpactMeshShape7getNameEv");
  
  
  function __ZNK18btGImpactMeshShape28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    ;
    return 64;
  }
  __ZNK18btGImpactMeshShape28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK18btGImpactMeshShape28calculateSerializeBufferSizeEv, "__ZNK18btGImpactMeshShape28calculateSerializeBufferSizeEv");
  
  
  function __ZNK18btGImpactMeshShape7rayTestERK9btVector3S2_RN16btCollisionWorld17RayResultCallbackE(_this, _rayFrom, _rayTo, _resultCallback) {
    ;
    var __label__;
    ;
    return;
  }
  __ZNK18btGImpactMeshShape7rayTestERK9btVector3S2_RN16btCollisionWorld17RayResultCallbackE.__index__ = Runtime.getFunctionIndex(__ZNK18btGImpactMeshShape7rayTestERK9btVector3S2_RN16btCollisionWorld17RayResultCallbackE, "__ZNK18btGImpactMeshShape7rayTestERK9btVector3S2_RN16btCollisionWorld17RayResultCallbackE");
  
  
  function __Z21gim_set_alloc_handlerPFPvjE(_fn) {
    ;
    var __label__;
    IHEAP[__ZL9g_allocfn] = _fn;
    ;
    return;
  }
  __Z21gim_set_alloc_handlerPFPvjE.__index__ = Runtime.getFunctionIndex(__Z21gim_set_alloc_handlerPFPvjE, "__Z21gim_set_alloc_handlerPFPvjE");
  
  
  function __Z22gim_set_alloca_handlerPFPvjE(_fn) {
    ;
    var __label__;
    IHEAP[__ZL10g_allocafn] = _fn;
    ;
    return;
  }
  __Z22gim_set_alloca_handlerPFPvjE.__index__ = Runtime.getFunctionIndex(__Z22gim_set_alloca_handlerPFPvjE, "__Z22gim_set_alloca_handlerPFPvjE");
  
  
  function __Z23gim_set_realloc_handlerPFPvS_jjE(_fn) {
    ;
    var __label__;
    IHEAP[__ZL11g_reallocfn] = _fn;
    ;
    return;
  }
  __Z23gim_set_realloc_handlerPFPvS_jjE.__index__ = Runtime.getFunctionIndex(__Z23gim_set_realloc_handlerPFPvS_jjE, "__Z23gim_set_realloc_handlerPFPvS_jjE");
  
  
  function __Z20gim_set_free_handlerPFvPvE(_fn) {
    ;
    var __label__;
    IHEAP[__ZL8g_freefn] = _fn;
    ;
    return;
  }
  __Z20gim_set_free_handlerPFvPvE.__index__ = Runtime.getFunctionIndex(__Z20gim_set_free_handlerPFvPvE, "__Z20gim_set_free_handlerPFvPvE");
  
  
  function __ZN16btPointCollector20setShapeIdentifiersAEii(_this, _partId0, _index0) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN16btPointCollector20setShapeIdentifiersAEii.__index__ = Runtime.getFunctionIndex(__ZN16btPointCollector20setShapeIdentifiersAEii, "__ZN16btPointCollector20setShapeIdentifiersAEii");
  
  
  function __ZN16btPointCollector20setShapeIdentifiersBEii(_this, _partId1, _index1) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN16btPointCollector20setShapeIdentifiersBEii.__index__ = Runtime.getFunctionIndex(__ZN16btPointCollector20setShapeIdentifiersBEii, "__ZN16btPointCollector20setShapeIdentifiersBEii");
  
  
  function __ZN15btGjkEpaSolver220StackSizeRequirementEv() {
    ;
    var __label__;
    ;
    return 10188;
  }
  __ZN15btGjkEpaSolver220StackSizeRequirementEv.__index__ = Runtime.getFunctionIndex(__ZN15btGjkEpaSolver220StackSizeRequirementEv, "__ZN15btGjkEpaSolver220StackSizeRequirementEv");
  
  
  function __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResult20setShapeIdentifiersAEii(_this, _partId0, _index0) {
    ;
    var __label__;
    ;
    return;
  }
  __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResult20setShapeIdentifiersAEii.__index__ = Runtime.getFunctionIndex(__ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResult20setShapeIdentifiersAEii, "__ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResult20setShapeIdentifiersAEii");
  
  
  function __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResult20setShapeIdentifiersBEii(_this, _partId1, _index1) {
    ;
    var __label__;
    ;
    return;
  }
  __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResult20setShapeIdentifiersBEii.__index__ = Runtime.getFunctionIndex(__ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResult20setShapeIdentifiersBEii, "__ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResult20setShapeIdentifiersBEii");
  
  
  function __ZN30btKinematicCharacterController5resetEv(_this) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN30btKinematicCharacterController5resetEv.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController5resetEv, "__ZN30btKinematicCharacterController5resetEv");
  
  
  function __ZN30btKinematicCharacterController9debugDrawEP12btIDebugDraw(_this, _debugDrawer) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN30btKinematicCharacterController9debugDrawEP12btIDebugDraw.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController9debugDrawEP12btIDebugDraw, "__ZN30btKinematicCharacterController9debugDrawEP12btIDebugDraw");
  
  
  function __ZNK21btConeTwistConstraint28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    ;
    return 204;
  }
  __ZNK21btConeTwistConstraint28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK21btConeTwistConstraint28calculateSerializeBufferSizeEv, "__ZNK21btConeTwistConstraint28calculateSerializeBufferSizeEv");
  
  
  function __ZN21btConeTwistConstraint9updateRHSEf(_this, _timeStep) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN21btConeTwistConstraint9updateRHSEf.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraint9updateRHSEf, "__ZN21btConeTwistConstraint9updateRHSEf");
  
  
  function __ZN19btContactConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E(_this, _info) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN19btContactConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E.__index__ = Runtime.getFunctionIndex(__ZN19btContactConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E, "__ZN19btContactConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E");
  
  
  function __ZN19btContactConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E(_this, _info) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN19btContactConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E.__index__ = Runtime.getFunctionIndex(__ZN19btContactConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E, "__ZN19btContactConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E");
  
  
  function __ZN19btContactConstraint13buildJacobianEv(_this) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN19btContactConstraint13buildJacobianEv.__index__ = Runtime.getFunctionIndex(__ZN19btContactConstraint13buildJacobianEv, "__ZN19btContactConstraint13buildJacobianEv");
  
  
  function __ZNK23btGeneric6DofConstraint28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    ;
    return 244;
  }
  __ZNK23btGeneric6DofConstraint28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK23btGeneric6DofConstraint28calculateSerializeBufferSizeEv, "__ZNK23btGeneric6DofConstraint28calculateSerializeBufferSizeEv");
  
  
  function __ZN23btGeneric6DofConstraint9updateRHSEf(_this, _timeStep) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN23btGeneric6DofConstraint9updateRHSEf.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraint9updateRHSEf, "__ZN23btGeneric6DofConstraint9updateRHSEf");
  
  
  function __ZNK17btHingeConstraint28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    ;
    return 212;
  }
  __ZNK17btHingeConstraint28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK17btHingeConstraint28calculateSerializeBufferSizeEv, "__ZNK17btHingeConstraint28calculateSerializeBufferSizeEv");
  
  
  function __ZN17btHingeConstraint9updateRHSEf(_this, _timeStep) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN17btHingeConstraint9updateRHSEf.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraint9updateRHSEf, "__ZN17btHingeConstraint9updateRHSEf");
  
  
  function __ZNK23btPoint2PointConstraint28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    ;
    return 76;
  }
  __ZNK23btPoint2PointConstraint28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK23btPoint2PointConstraint28calculateSerializeBufferSizeEv, "__ZNK23btPoint2PointConstraint28calculateSerializeBufferSizeEv");
  
  
  function __ZN23btPoint2PointConstraint9updateRHSEf(_this, _timeStep) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN23btPoint2PointConstraint9updateRHSEf.__index__ = Runtime.getFunctionIndex(__ZN23btPoint2PointConstraint9updateRHSEf, "__ZN23btPoint2PointConstraint9updateRHSEf");
  
  
  function __ZN18btConstraintSolver12prepareSolveEii(_this, _unnamed_arg, _unnamed_arg2) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN18btConstraintSolver12prepareSolveEii.__index__ = Runtime.getFunctionIndex(__ZN18btConstraintSolver12prepareSolveEii, "__ZN18btConstraintSolver12prepareSolveEii");
  
  
  function __ZN18btConstraintSolver9allSolvedERK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc(_this, _unnamed_arg, _unnamed_arg2, _unnamed_arg4) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN18btConstraintSolver9allSolvedERK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc.__index__ = Runtime.getFunctionIndex(__ZN18btConstraintSolver9allSolvedERK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc, "__ZN18btConstraintSolver9allSolvedERK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc");
  
  
  function __ZN35btSequentialImpulseConstraintSolver19getOrInitSolverBodyER17btCollisionObject(_this, _body) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZN35btSequentialImpulseConstraintSolver19getOrInitSolverBodyER17btCollisionObject.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver19getOrInitSolverBodyER17btCollisionObject, "__ZN35btSequentialImpulseConstraintSolver19getOrInitSolverBodyER17btCollisionObject");
  
  
  function __ZNK18btSliderConstraint28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    ;
    return 196;
  }
  __ZNK18btSliderConstraint28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK18btSliderConstraint28calculateSerializeBufferSizeEv, "__ZNK18btSliderConstraint28calculateSerializeBufferSizeEv");
  
  
  function __ZN23btDiscreteDynamicsWorld11setNumTasksEi(_this, _numTasks) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorld11setNumTasksEi.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld11setNumTasksEi, "__ZN23btDiscreteDynamicsWorld11setNumTasksEi");
  
  
  function __ZNK25btContinuousDynamicsWorld12getWorldTypeEv(_this) {
    ;
    var __label__;
    ;
    return 3;
  }
  __ZNK25btContinuousDynamicsWorld12getWorldTypeEv.__index__ = Runtime.getFunctionIndex(__ZNK25btContinuousDynamicsWorld12getWorldTypeEv, "__ZNK25btContinuousDynamicsWorld12getWorldTypeEv");
  
  
  function __ZN15btDynamicsWorld13addConstraintEP17btTypedConstraintb(_this, _constraint, _disableCollisionsBetweenLinkedBodies) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN15btDynamicsWorld13addConstraintEP17btTypedConstraintb.__index__ = Runtime.getFunctionIndex(__ZN15btDynamicsWorld13addConstraintEP17btTypedConstraintb, "__ZN15btDynamicsWorld13addConstraintEP17btTypedConstraintb");
  
  
  function __ZN15btDynamicsWorld16removeConstraintEP17btTypedConstraint(_this, _constraint) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN15btDynamicsWorld16removeConstraintEP17btTypedConstraint.__index__ = Runtime.getFunctionIndex(__ZN15btDynamicsWorld16removeConstraintEP17btTypedConstraint, "__ZN15btDynamicsWorld16removeConstraintEP17btTypedConstraint");
  
  
  function __ZNK15btDynamicsWorld17getNumConstraintsEv(_this) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK15btDynamicsWorld17getNumConstraintsEv.__index__ = Runtime.getFunctionIndex(__ZNK15btDynamicsWorld17getNumConstraintsEv, "__ZNK15btDynamicsWorld17getNumConstraintsEv");
  
  
  function __ZN15btDynamicsWorld13getConstraintEi(_this, _index) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZN15btDynamicsWorld13getConstraintEi.__index__ = Runtime.getFunctionIndex(__ZN15btDynamicsWorld13getConstraintEi, "__ZN15btDynamicsWorld13getConstraintEi");
  
  
  function __ZNK15btDynamicsWorld13getConstraintEi(_this, _index) {
    ;
    var __label__;
    ;
    return 0;
  }
  __ZNK15btDynamicsWorld13getConstraintEi.__index__ = Runtime.getFunctionIndex(__ZNK15btDynamicsWorld13getConstraintEi, "__ZNK15btDynamicsWorld13getConstraintEi");
  
  
  function __ZN15btDynamicsWorld10addVehicleEP17btActionInterface(_this, _vehicle) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN15btDynamicsWorld10addVehicleEP17btActionInterface.__index__ = Runtime.getFunctionIndex(__ZN15btDynamicsWorld10addVehicleEP17btActionInterface, "__ZN15btDynamicsWorld10addVehicleEP17btActionInterface");
  
  
  function __ZN15btDynamicsWorld13removeVehicleEP17btActionInterface(_this, _vehicle) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN15btDynamicsWorld13removeVehicleEP17btActionInterface.__index__ = Runtime.getFunctionIndex(__ZN15btDynamicsWorld13removeVehicleEP17btActionInterface, "__ZN15btDynamicsWorld13removeVehicleEP17btActionInterface");
  
  
  function __ZN15btDynamicsWorld12addCharacterEP17btActionInterface(_this, _character) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN15btDynamicsWorld12addCharacterEP17btActionInterface.__index__ = Runtime.getFunctionIndex(__ZN15btDynamicsWorld12addCharacterEP17btActionInterface, "__ZN15btDynamicsWorld12addCharacterEP17btActionInterface");
  
  
  function __ZN15btDynamicsWorld15removeCharacterEP17btActionInterface(_this, _character) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN15btDynamicsWorld15removeCharacterEP17btActionInterface.__index__ = Runtime.getFunctionIndex(__ZN15btDynamicsWorld15removeCharacterEP17btActionInterface, "__ZN15btDynamicsWorld15removeCharacterEP17btActionInterface");
  
  
  function __ZNK23btDiscreteDynamicsWorld12getWorldTypeEv(_this) {
    ;
    var __label__;
    ;
    return 2;
  }
  __ZNK23btDiscreteDynamicsWorld12getWorldTypeEv.__index__ = Runtime.getFunctionIndex(__ZNK23btDiscreteDynamicsWorld12getWorldTypeEv, "__ZNK23btDiscreteDynamicsWorld12getWorldTypeEv");
  
  
  function __ZNK11btRigidBody28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    ;
    return 480;
  }
  __ZNK11btRigidBody28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK11btRigidBody28calculateSerializeBufferSizeEv, "__ZNK11btRigidBody28calculateSerializeBufferSizeEv");
  
  
  function _btBulletDynamicsProbe() {
    ;
    var __label__;
    ;
    return;
  }
  _btBulletDynamicsProbe.__index__ = Runtime.getFunctionIndex(_btBulletDynamicsProbe, "_btBulletDynamicsProbe");
  
  
  function __ZNK21btSimpleDynamicsWorld12getWorldTypeEv(_this) {
    ;
    var __label__;
    ;
    return 1;
  }
  __ZNK21btSimpleDynamicsWorld12getWorldTypeEv.__index__ = Runtime.getFunctionIndex(__ZNK21btSimpleDynamicsWorld12getWorldTypeEv, "__ZNK21btSimpleDynamicsWorld12getWorldTypeEv");
  
  
  function _plNewMeshInterface() {
    ;
    var __label__;
    ;
    return 0;
  }
  _plNewMeshInterface.__index__ = Runtime.getFunctionIndex(_plNewMeshInterface, "_plNewMeshInterface");
  
  
  function ___tcf_1(_unnamed_arg) {
    ;
    var __label__;
    IHEAP[__ZZ15plNearestPointsE7Solver1] = __ZTV33btMinkowskiPenetrationDepthSolver+8;
    ;
    return;
  }
  ___tcf_1.__index__ = Runtime.getFunctionIndex(___tcf_1, "___tcf_1");
  
  
  function ___tcf_087(_unnamed_arg) {
    ;
    var __label__;
    IHEAP[__ZZ15plNearestPointsE7Solver0] = __ZTV30btGjkEpaPenetrationDepthSolver+8;
    ;
    return;
  }
  ___tcf_087.__index__ = Runtime.getFunctionIndex(___tcf_087, "___tcf_087");
  
  
  function __ZN11HullLibrary7checkitEP14btHullTriangle(_this, _t) {
    ;
    var __label__;
    ;
    return;
  }
  __ZN11HullLibrary7checkitEP14btHullTriangle.__index__ = Runtime.getFunctionIndex(__ZN11HullLibrary7checkitEP14btHullTriangle, "__ZN11HullLibrary7checkitEP14btHullTriangle");
  
  
  function _btBulletMathProbe() {
    ;
    var __label__;
    ;
    return;
  }
  _btBulletMathProbe.__index__ = Runtime.getFunctionIndex(_btBulletMathProbe, "_btBulletMathProbe");
  
  
  function __ZN20btAxisSweep3InternalIjED1Ev(_this) {
    ;
    var __label__;
    __ZN20btAxisSweep3InternalIjED2Ev(_this);
    ;
    return;
  }
  __ZN20btAxisSweep3InternalIjED1Ev.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjED1Ev, "__ZN20btAxisSweep3InternalIjED1Ev");
  
  
  function __ZN20btAxisSweep3InternalItED1Ev(_this) {
    ;
    var __label__;
    __ZN20btAxisSweep3InternalItED2Ev(_this);
    ;
    return;
  }
  __ZN20btAxisSweep3InternalItED1Ev.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItED1Ev, "__ZN20btAxisSweep3InternalItED1Ev");
  
  
  function __ZN16btDbvtBroadphase25calculateOverlappingPairsEP12btDispatcher(_this, _dispatcher) {
    ;
    var __label__;
    __ZN16btDbvtBroadphase7collideEP12btDispatcher(_this, _dispatcher);
    __ZN16btDbvtBroadphase22performDeferredRemovalEP12btDispatcher(_this, _dispatcher);
    ;
    return;
  }
  __ZN16btDbvtBroadphase25calculateOverlappingPairsEP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN16btDbvtBroadphase25calculateOverlappingPairsEP12btDispatcher, "__ZN16btDbvtBroadphase25calculateOverlappingPairsEP12btDispatcher");
  
  
  function __ZN16btDbvtBroadphaseC1EP22btOverlappingPairCache(_this, _paircache) {
    ;
    var __label__;
    __ZN16btDbvtBroadphaseC2EP22btOverlappingPairCache(_this, _paircache);
    ;
    return;
  }
  __ZN16btDbvtBroadphaseC1EP22btOverlappingPairCache.__index__ = Runtime.getFunctionIndex(__ZN16btDbvtBroadphaseC1EP22btOverlappingPairCache, "__ZN16btDbvtBroadphaseC1EP22btOverlappingPairCache");
  
  
  function __ZN20btMultiSapBroadphaseD1Ev(_this) {
    ;
    var __label__;
    __ZN20btMultiSapBroadphaseD2Ev(_this);
    ;
    return;
  }
  __ZN20btMultiSapBroadphaseD1Ev.__index__ = Runtime.getFunctionIndex(__ZN20btMultiSapBroadphaseD1Ev, "__ZN20btMultiSapBroadphaseD1Ev");
  
  
  function __ZN20btMultiSapBroadphaseC1EiP22btOverlappingPairCache(_this, _unnamed_arg, _pairCache) {
    ;
    var __label__;
    __ZN20btMultiSapBroadphaseC2EiP22btOverlappingPairCache(_this, _unnamed_arg, _pairCache);
    ;
    return;
  }
  __ZN20btMultiSapBroadphaseC1EiP22btOverlappingPairCache.__index__ = Runtime.getFunctionIndex(__ZN20btMultiSapBroadphaseC1EiP22btOverlappingPairCache, "__ZN20btMultiSapBroadphaseC1EiP22btOverlappingPairCache");
  
  
  function __ZN28btSortedOverlappingPairCacheC1Ev(_this) {
    ;
    var __label__;
    __ZN28btSortedOverlappingPairCacheC2Ev(_this);
    ;
    return;
  }
  __ZN28btSortedOverlappingPairCacheC1Ev.__index__ = Runtime.getFunctionIndex(__ZN28btSortedOverlappingPairCacheC1Ev, "__ZN28btSortedOverlappingPairCacheC1Ev");
  
  
  function __ZN28btHashedOverlappingPairCacheC1Ev(_this) {
    ;
    var __label__;
    __ZN28btHashedOverlappingPairCacheC2Ev(_this);
    ;
    return;
  }
  __ZN28btHashedOverlappingPairCacheC1Ev.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCacheC1Ev, "__ZN28btHashedOverlappingPairCacheC1Ev");
  
  
  function __ZN14btQuantizedBvhD1Ev(_this) {
    ;
    var __label__;
    __ZN14btQuantizedBvhD2Ev(_this);
    ;
    return;
  }
  __ZN14btQuantizedBvhD1Ev.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvhD1Ev, "__ZN14btQuantizedBvhD1Ev");
  
  
  function __ZN18btSimpleBroadphaseC1EiP22btOverlappingPairCache(_this, _maxProxies, _overlappingPairCache) {
    ;
    var __label__;
    __ZN18btSimpleBroadphaseC2EiP22btOverlappingPairCache(_this, _maxProxies, _overlappingPairCache);
    ;
    return;
  }
  __ZN18btSimpleBroadphaseC1EiP22btOverlappingPairCache.__index__ = Runtime.getFunctionIndex(__ZN18btSimpleBroadphaseC1EiP22btOverlappingPairCache, "__ZN18btSimpleBroadphaseC1EiP22btOverlappingPairCache");
  
  
  function __ZN21btCollisionDispatcherC1EP24btCollisionConfiguration(_this, _collisionConfiguration) {
    ;
    var __label__;
    __ZN21btCollisionDispatcherC2EP24btCollisionConfiguration(_this, _collisionConfiguration);
    ;
    return;
  }
  __ZN21btCollisionDispatcherC1EP24btCollisionConfiguration.__index__ = Runtime.getFunctionIndex(__ZN21btCollisionDispatcherC1EP24btCollisionConfiguration, "__ZN21btCollisionDispatcherC1EP24btCollisionConfiguration");
  
  
  function __ZN16btCollisionWorldD1Ev(_this) {
    ;
    var __label__;
    __ZN16btCollisionWorldD2Ev(_this);
    ;
    return;
  }
  __ZN16btCollisionWorldD1Ev.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorldD1Ev, "__ZN16btCollisionWorldD1Ev");
  
  
  function __ZN28btCompoundCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b(_this, _ci, _body0, _body1, _isSwapped) {
    ;
    var __label__;
    __ZN28btCompoundCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b(_this, _ci, _body0, _body1, _isSwapped);
    ;
    return;
  }
  __ZN28btCompoundCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b.__index__ = Runtime.getFunctionIndex(__ZN28btCompoundCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b, "__ZN28btCompoundCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b");
  
  
  function __ZN31btDefaultCollisionConfigurationD1Ev(_this) {
    ;
    var __label__;
    __ZN31btDefaultCollisionConfigurationD2Ev(_this);
    ;
    return;
  }
  __ZN31btDefaultCollisionConfigurationD1Ev.__index__ = Runtime.getFunctionIndex(__ZN31btDefaultCollisionConfigurationD1Ev, "__ZN31btDefaultCollisionConfigurationD1Ev");
  
  
  function __ZN31btDefaultCollisionConfigurationC1ERK34btDefaultCollisionConstructionInfo(_this, _constructionInfo) {
    ;
    var __label__;
    __ZN31btDefaultCollisionConfigurationC2ERK34btDefaultCollisionConstructionInfo(_this, _constructionInfo);
    ;
    return;
  }
  __ZN31btDefaultCollisionConfigurationC1ERK34btDefaultCollisionConstructionInfo.__index__ = Runtime.getFunctionIndex(__ZN31btDefaultCollisionConfigurationC1ERK34btDefaultCollisionConstructionInfo, "__ZN31btDefaultCollisionConfigurationC1ERK34btDefaultCollisionConstructionInfo");
  
  
  function __ZN24btPairCachingGhostObjectC1Ev(_this) {
    ;
    var __label__;
    __ZN24btPairCachingGhostObjectC2Ev(_this);
    ;
    return;
  }
  __ZN24btPairCachingGhostObjectC1Ev.__index__ = Runtime.getFunctionIndex(__ZN24btPairCachingGhostObjectC1Ev, "__ZN24btPairCachingGhostObjectC1Ev");
  
  
  function __ZN22btBvhTriangleMeshShapeC1EP23btStridingMeshInterfacebRK9btVector3S4_b(_this, _meshInterface, _useQuantizedAabbCompression, _bvhAabbMin, _bvhAabbMax, _buildBvh) {
    ;
    var __label__;
    __ZN22btBvhTriangleMeshShapeC2EP23btStridingMeshInterfacebRK9btVector3S4_b(_this, _meshInterface, _useQuantizedAabbCompression, _bvhAabbMin, _bvhAabbMax, _buildBvh);
    ;
    return;
  }
  __ZN22btBvhTriangleMeshShapeC1EP23btStridingMeshInterfacebRK9btVector3S4_b.__index__ = Runtime.getFunctionIndex(__ZN22btBvhTriangleMeshShapeC1EP23btStridingMeshInterfacebRK9btVector3S4_b, "__ZN22btBvhTriangleMeshShapeC1EP23btStridingMeshInterfacebRK9btVector3S4_b");
  
  
  function __ZN15btCompoundShapeC1Eb(_this, _enableDynamicAabbTree) {
    ;
    var __label__;
    __ZN15btCompoundShapeC2Eb(_this, _enableDynamicAabbTree);
    ;
    return;
  }
  __ZN15btCompoundShapeC1Eb.__index__ = Runtime.getFunctionIndex(__ZN15btCompoundShapeC1Eb, "__ZN15btCompoundShapeC1Eb");
  
  
  function __ZNK11btConeShape37localGetSupportingVertexWithoutMarginERK9btVector3(_agg_result, _this, _vec) {
    ;
    var __label__;
    __ZNK11btConeShape16coneLocalSupportERK9btVector3(_agg_result, _this, _vec);
    ;
    return;
  }
  __ZNK11btConeShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK11btConeShape37localGetSupportingVertexWithoutMarginERK9btVector3, "__ZNK11btConeShape37localGetSupportingVertexWithoutMarginERK9btVector3");
  
  
  function __ZN17btConvexHullShapeC1EPKfii(_this, _points, _numPoints, _stride) {
    ;
    var __label__;
    __ZN17btConvexHullShapeC2EPKfii(_this, _points, _numPoints, _stride);
    ;
    return;
  }
  __ZN17btConvexHullShapeC1EPKfii.__index__ = Runtime.getFunctionIndex(__ZN17btConvexHullShapeC1EPKfii, "__ZN17btConvexHullShapeC1EPKfii");
  
  
  function __ZN18btMultiSphereShapeC1EPK9btVector3PKfi(_this, _positions, _radi, _numSpheres) {
    ;
    var __label__;
    __ZN18btMultiSphereShapeC2EPK9btVector3PKfi(_this, _positions, _radi, _numSpheres);
    ;
    return;
  }
  __ZN18btMultiSphereShapeC1EPK9btVector3PKfi.__index__ = Runtime.getFunctionIndex(__ZN18btMultiSphereShapeC1EPK9btVector3PKfi, "__ZN18btMultiSphereShapeC1EPK9btVector3PKfi");
  
  
  function __ZN16btBU_Simplex1to4C1ERK9btVector3S2_S2_S2_(_this, _pt0, _pt1, _pt2, _pt3) {
    ;
    var __label__;
    __ZN16btBU_Simplex1to4C2ERK9btVector3S2_S2_S2_(_this, _pt0, _pt1, _pt2, _pt3);
    ;
    return;
  }
  __ZN16btBU_Simplex1to4C1ERK9btVector3S2_S2_S2_.__index__ = Runtime.getFunctionIndex(__ZN16btBU_Simplex1to4C1ERK9btVector3S2_S2_S2_, "__ZN16btBU_Simplex1to4C1ERK9btVector3S2_S2_S2_");
  
  
  function __ZN16btBU_Simplex1to4C1ERK9btVector3S2_S2_(_this, _pt0, _pt1, _pt2) {
    ;
    var __label__;
    __ZN16btBU_Simplex1to4C2ERK9btVector3S2_S2_(_this, _pt0, _pt1, _pt2);
    ;
    return;
  }
  __ZN16btBU_Simplex1to4C1ERK9btVector3S2_S2_.__index__ = Runtime.getFunctionIndex(__ZN16btBU_Simplex1to4C1ERK9btVector3S2_S2_, "__ZN16btBU_Simplex1to4C1ERK9btVector3S2_S2_");
  
  
  function __ZN16btBU_Simplex1to4C1ERK9btVector3S2_(_this, _pt0, _pt1) {
    ;
    var __label__;
    __ZN16btBU_Simplex1to4C2ERK9btVector3S2_(_this, _pt0, _pt1);
    ;
    return;
  }
  __ZN16btBU_Simplex1to4C1ERK9btVector3S2_.__index__ = Runtime.getFunctionIndex(__ZN16btBU_Simplex1to4C1ERK9btVector3S2_, "__ZN16btBU_Simplex1to4C1ERK9btVector3S2_");
  
  
  function __ZN26btTriangleIndexVertexArrayC1EiPiiiPfi(_this, _numTriangles, _triangleIndexBase, _triangleIndexStride, _numVertices, _vertexBase, _vertexStride) {
    ;
    var __label__;
    __ZN26btTriangleIndexVertexArrayC2EiPiiiPfi(_this, _numTriangles, _triangleIndexBase, _triangleIndexStride, _numVertices, _vertexBase, _vertexStride);
    ;
    return;
  }
  __ZN26btTriangleIndexVertexArrayC1EiPiiiPfi.__index__ = Runtime.getFunctionIndex(__ZN26btTriangleIndexVertexArrayC1EiPiiiPfi, "__ZN26btTriangleIndexVertexArrayC1EiPiiiPfi");
  
  
  function __ZN34btTriangleIndexVertexMaterialArrayC1EiPiiiPfiiPhiS0_i(_this, _numTriangles, _triangleIndexBase, _triangleIndexStride, _numVertices, _vertexBase, _vertexStride, _numMaterials, _materialBase, _materialStride, _triangleMaterialsBase, _materialIndexStride) {
    ;
    var __label__;
    __ZN34btTriangleIndexVertexMaterialArrayC2EiPiiiPfiiPhiS0_i(_this, _numTriangles, _triangleIndexBase, _triangleIndexStride, _numVertices, _vertexBase, _vertexStride, _numMaterials, _materialBase, _materialStride, _triangleMaterialsBase, _materialIndexStride);
    ;
    return;
  }
  __ZN34btTriangleIndexVertexMaterialArrayC1EiPiiiPfiiPhiS0_i.__index__ = Runtime.getFunctionIndex(__ZN34btTriangleIndexVertexMaterialArrayC1EiPiiiPfiiPhiS0_i, "__ZN34btTriangleIndexVertexMaterialArrayC1EiPiiiPfiiPhiS0_i");
  
  
  function __ZN14btTriangleMeshD1Ev(_this) {
    ;
    var __label__;
    __ZN14btTriangleMeshD2Ev(_this);
    ;
    return;
  }
  __ZN14btTriangleMeshD1Ev.__index__ = Runtime.getFunctionIndex(__ZN14btTriangleMeshD1Ev, "__ZN14btTriangleMeshD1Ev");
  
  
  function __ZN14btTriangleMeshC1Ebb(_this, _use32bitIndices, _use4componentVertices) {
    ;
    var __label__;
    __ZN14btTriangleMeshC2Ebb(_this, _use32bitIndices, _use4componentVertices);
    ;
    return;
  }
  __ZN14btTriangleMeshC1Ebb.__index__ = Runtime.getFunctionIndex(__ZN14btTriangleMeshC1Ebb, "__ZN14btTriangleMeshC1Ebb");
  
  
  function __ZN19btTriangleMeshShapeC1EP23btStridingMeshInterface(_this, _meshInterface) {
    ;
    var __label__;
    __ZN19btTriangleMeshShapeC2EP23btStridingMeshInterface(_this, _meshInterface);
    ;
    return;
  }
  __ZN19btTriangleMeshShapeC1EP23btStridingMeshInterface.__index__ = Runtime.getFunctionIndex(__ZN19btTriangleMeshShapeC1EP23btStridingMeshInterface, "__ZN19btTriangleMeshShapeC1EP23btStridingMeshInterface");
  
  
  function __ZN22btGenericPoolAllocator13failback_freeEPv(_this, _pointer) {
    ;
    var __label__;
    __Z21btAlignedFreeInternalPv(_pointer);
    ;
    return 1;
  }
  __ZN22btGenericPoolAllocator13failback_freeEPv.__index__ = Runtime.getFunctionIndex(__ZN22btGenericPoolAllocator13failback_freeEPv, "__ZN22btGenericPoolAllocator13failback_freeEPv");
  
  
  function __ZN18btGImpactMeshShapeD1Ev(_this) {
    ;
    var __label__;
    __ZN18btGImpactMeshShapeD2Ev(_this);
    ;
    return;
  }
  __ZN18btGImpactMeshShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN18btGImpactMeshShapeD1Ev, "__ZN18btGImpactMeshShapeD1Ev");
  
  
  function __ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(_this, _input, _output, _debugDraw, _swapResults) {
    ;
    var __label__;
    __ZN17btGjkPairDetector26getClosestPointsNonVirtualERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDraw(_this, _input, _output, _debugDraw);
    ;
    return;
  }
  __ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb.__index__ = Runtime.getFunctionIndex(__ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb, "__ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb");
  
  
  function __ZN28btTriangleConvexcastCallbackC1EPK13btConvexShapeRK11btTransformS5_S5_f(_this, _convexShape, _convexShapeFrom, _convexShapeTo, _triangleToWorld, _triangleCollisionMargin) {
    ;
    var __label__;
    __ZN28btTriangleConvexcastCallbackC2EPK13btConvexShapeRK11btTransformS5_S5_f(_this, _convexShape, _convexShapeFrom, _convexShapeTo, _triangleToWorld, _triangleCollisionMargin);
    ;
    return;
  }
  __ZN28btTriangleConvexcastCallbackC1EPK13btConvexShapeRK11btTransformS5_S5_f.__index__ = Runtime.getFunctionIndex(__ZN28btTriangleConvexcastCallbackC1EPK13btConvexShapeRK11btTransformS5_S5_f, "__ZN28btTriangleConvexcastCallbackC1EPK13btConvexShapeRK11btTransformS5_S5_f");
  
  
  function __ZN21btConeTwistConstraintC1ER11btRigidBodyS1_RK11btTransformS4_(_this, _rbA, _rbB, _rbAFrame, _rbBFrame) {
    ;
    var __label__;
    __ZN21btConeTwistConstraintC2ER11btRigidBodyS1_RK11btTransformS4_(_this, _rbA, _rbB, _rbAFrame, _rbBFrame);
    ;
    return;
  }
  __ZN21btConeTwistConstraintC1ER11btRigidBodyS1_RK11btTransformS4_.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraintC1ER11btRigidBodyS1_RK11btTransformS4_, "__ZN21btConeTwistConstraintC1ER11btRigidBodyS1_RK11btTransformS4_");
  
  
  function __ZN23btGeneric6DofConstraintC1ER11btRigidBodyRK11btTransformb(_this, _rbB, _frameInB, _useLinearReferenceFrameB) {
    ;
    var __label__;
    __ZN23btGeneric6DofConstraintC2ER11btRigidBodyRK11btTransformb(_this, _rbB, _frameInB, _useLinearReferenceFrameB);
    ;
    return;
  }
  __ZN23btGeneric6DofConstraintC1ER11btRigidBodyRK11btTransformb.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraintC1ER11btRigidBodyRK11btTransformb, "__ZN23btGeneric6DofConstraintC1ER11btRigidBodyRK11btTransformb");
  
  
  function __ZN23btGeneric6DofConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b(_this, _rbA, _rbB, _frameInA, _frameInB, _useLinearReferenceFrameA) {
    ;
    var __label__;
    __ZN23btGeneric6DofConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b(_this, _rbA, _rbB, _frameInA, _frameInB, _useLinearReferenceFrameA);
    ;
    return;
  }
  __ZN23btGeneric6DofConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b, "__ZN23btGeneric6DofConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b");
  
  
  function __ZN18btHinge2ConstraintC1ER11btRigidBodyS1_R9btVector3S3_S3_(_this, _rbA, _rbB, _anchor, _axis1, _axis2) {
    ;
    var __label__;
    __ZN18btHinge2ConstraintC2ER11btRigidBodyS1_R9btVector3S3_S3_(_this, _rbA, _rbB, _anchor, _axis1, _axis2);
    ;
    return;
  }
  __ZN18btHinge2ConstraintC1ER11btRigidBodyS1_R9btVector3S3_S3_.__index__ = Runtime.getFunctionIndex(__ZN18btHinge2ConstraintC1ER11btRigidBodyS1_R9btVector3S3_S3_, "__ZN18btHinge2ConstraintC1ER11btRigidBodyS1_R9btVector3S3_S3_");
  
  
  function __ZN17btHingeConstraintC1ER11btRigidBodyRK11btTransformb(_this, _rbA, _rbAFrame, _useReferenceFrameA) {
    ;
    var __label__;
    __ZN17btHingeConstraintC2ER11btRigidBodyRK11btTransformb(_this, _rbA, _rbAFrame, _useReferenceFrameA);
    ;
    return;
  }
  __ZN17btHingeConstraintC1ER11btRigidBodyRK11btTransformb.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraintC1ER11btRigidBodyRK11btTransformb, "__ZN17btHingeConstraintC1ER11btRigidBodyRK11btTransformb");
  
  
  function __ZN17btHingeConstraintC1ER11btRigidBodyRK9btVector3S4_b(_this, _rbA, _pivotInA, _axisInA, _useReferenceFrameA) {
    ;
    var __label__;
    __ZN17btHingeConstraintC2ER11btRigidBodyRK9btVector3S4_b(_this, _rbA, _pivotInA, _axisInA, _useReferenceFrameA);
    ;
    return;
  }
  __ZN17btHingeConstraintC1ER11btRigidBodyRK9btVector3S4_b.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraintC1ER11btRigidBodyRK9btVector3S4_b, "__ZN17btHingeConstraintC1ER11btRigidBodyRK9btVector3S4_b");
  
  
  function __ZN17btHingeConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b(_this, _rbA, _rbB, _rbAFrame, _rbBFrame, _useReferenceFrameA) {
    ;
    var __label__;
    __ZN17btHingeConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b(_this, _rbA, _rbB, _rbAFrame, _rbBFrame, _useReferenceFrameA);
    ;
    return;
  }
  __ZN17btHingeConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b, "__ZN17btHingeConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b");
  
  
  function __ZN17btHingeConstraintC1ER11btRigidBodyS1_RK9btVector3S4_S4_S4_b(_this, _rbA, _rbB, _pivotInA, _pivotInB, _axisInA, _axisInB, _useReferenceFrameA) {
    ;
    var __label__;
    __ZN17btHingeConstraintC2ER11btRigidBodyS1_RK9btVector3S4_S4_S4_b(_this, _rbA, _rbB, _pivotInA, _pivotInB, _axisInA, _axisInB, _useReferenceFrameA);
    ;
    return;
  }
  __ZN17btHingeConstraintC1ER11btRigidBodyS1_RK9btVector3S4_S4_S4_b.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraintC1ER11btRigidBodyS1_RK9btVector3S4_S4_S4_b, "__ZN17btHingeConstraintC1ER11btRigidBodyS1_RK9btVector3S4_S4_S4_b");
  
  
  function __ZN35btSequentialImpulseConstraintSolver37resolveSingleConstraintRowGenericSIMDER11btRigidBodyS1_RK18btSolverConstraint(_this, _body1, _body2, _c) {
    ;
    var __label__;
    __ZN35btSequentialImpulseConstraintSolver33resolveSingleConstraintRowGenericER11btRigidBodyS1_RK18btSolverConstraint(_this, _body1, _body2, _c);
    ;
    return;
  }
  __ZN35btSequentialImpulseConstraintSolver37resolveSingleConstraintRowGenericSIMDER11btRigidBodyS1_RK18btSolverConstraint.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver37resolveSingleConstraintRowGenericSIMDER11btRigidBodyS1_RK18btSolverConstraint, "__ZN35btSequentialImpulseConstraintSolver37resolveSingleConstraintRowGenericSIMDER11btRigidBodyS1_RK18btSolverConstraint");
  
  
  function __ZN35btSequentialImpulseConstraintSolver40resolveSingleConstraintRowLowerLimitSIMDER11btRigidBodyS1_RK18btSolverConstraint(_this, _body1, _body2, _c) {
    ;
    var __label__;
    __ZN35btSequentialImpulseConstraintSolver36resolveSingleConstraintRowLowerLimitER11btRigidBodyS1_RK18btSolverConstraint(_this, _body1, _body2, _c);
    ;
    return;
  }
  __ZN35btSequentialImpulseConstraintSolver40resolveSingleConstraintRowLowerLimitSIMDER11btRigidBodyS1_RK18btSolverConstraint.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver40resolveSingleConstraintRowLowerLimitSIMDER11btRigidBodyS1_RK18btSolverConstraint, "__ZN35btSequentialImpulseConstraintSolver40resolveSingleConstraintRowLowerLimitSIMDER11btRigidBodyS1_RK18btSolverConstraint");
  
  
  function __ZN35btSequentialImpulseConstraintSolver27resolveSplitPenetrationSIMDER11btRigidBodyS1_RK18btSolverConstraint(_this, _body1, _body2, _c) {
    ;
    var __label__;
    __ZN35btSequentialImpulseConstraintSolver43resolveSplitPenetrationImpulseCacheFriendlyER11btRigidBodyS1_RK18btSolverConstraint(_this, _body1, _body2, _c);
    ;
    return;
  }
  __ZN35btSequentialImpulseConstraintSolver27resolveSplitPenetrationSIMDER11btRigidBodyS1_RK18btSolverConstraint.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver27resolveSplitPenetrationSIMDER11btRigidBodyS1_RK18btSolverConstraint, "__ZN35btSequentialImpulseConstraintSolver27resolveSplitPenetrationSIMDER11btRigidBodyS1_RK18btSolverConstraint");
  
  
  function __ZN35btSequentialImpulseConstraintSolverD1Ev(_this) {
    ;
    var __label__;
    __ZN35btSequentialImpulseConstraintSolverD2Ev(_this);
    ;
    return;
  }
  __ZN35btSequentialImpulseConstraintSolverD1Ev.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolverD1Ev, "__ZN35btSequentialImpulseConstraintSolverD1Ev");
  
  
  function __ZN18btSliderConstraintC1ER11btRigidBodyRK11btTransformb(_this, _rbB, _frameInB, _useLinearReferenceFrameA) {
    ;
    var __label__;
    __ZN18btSliderConstraintC2ER11btRigidBodyRK11btTransformb(_this, _rbB, _frameInB, _useLinearReferenceFrameA);
    ;
    return;
  }
  __ZN18btSliderConstraintC1ER11btRigidBodyRK11btTransformb.__index__ = Runtime.getFunctionIndex(__ZN18btSliderConstraintC1ER11btRigidBodyRK11btTransformb, "__ZN18btSliderConstraintC1ER11btRigidBodyRK11btTransformb");
  
  
  function __ZN18btSliderConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b(_this, _rbA, _rbB, _frameInA, _frameInB, _useLinearReferenceFrameA) {
    ;
    var __label__;
    __ZN18btSliderConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b(_this, _rbA, _rbB, _frameInA, _frameInB, _useLinearReferenceFrameA);
    ;
    return;
  }
  __ZN18btSliderConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b.__index__ = Runtime.getFunctionIndex(__ZN18btSliderConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b, "__ZN18btSliderConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b");
  
  
  function __ZN21btUniversalConstraintC1ER11btRigidBodyS1_R9btVector3S3_S3_(_this, _rbA, _rbB, _anchor, _axis1, _axis2) {
    ;
    var __label__;
    __ZN21btUniversalConstraintC2ER11btRigidBodyS1_R9btVector3S3_S3_(_this, _rbA, _rbB, _anchor, _axis1, _axis2);
    ;
    return;
  }
  __ZN21btUniversalConstraintC1ER11btRigidBodyS1_R9btVector3S3_S3_.__index__ = Runtime.getFunctionIndex(__ZN21btUniversalConstraintC1ER11btRigidBodyS1_R9btVector3S3_S3_, "__ZN21btUniversalConstraintC1ER11btRigidBodyS1_R9btVector3S3_S3_");
  
  
  function __ZN23btDiscreteDynamicsWorld14updateVehiclesEf(_this, _timeStep) {
    ;
    var __label__;
    __ZN23btDiscreteDynamicsWorld13updateActionsEf(_this, _timeStep);
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorld14updateVehiclesEf.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld14updateVehiclesEf, "__ZN23btDiscreteDynamicsWorld14updateVehiclesEf");
  
  
  function __ZN23btDiscreteDynamicsWorld14startProfilingEf(_this, _timeStep) {
    ;
    var __label__;
    __ZN15CProfileManager5ResetEv();
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorld14startProfilingEf.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld14startProfilingEf, "__ZN23btDiscreteDynamicsWorld14startProfilingEf");
  
  
  function __ZN23btDiscreteDynamicsWorldD1Ev(_this) {
    ;
    var __label__;
    __ZN23btDiscreteDynamicsWorldD2Ev(_this);
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorldD1Ev.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorldD1Ev, "__ZN23btDiscreteDynamicsWorldD1Ev");
  
  
  function __ZN23btDiscreteDynamicsWorldC1EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration(_this, _dispatcher, _pairCache, _constraintSolver, _collisionConfiguration) {
    ;
    var __label__;
    __ZN23btDiscreteDynamicsWorldC2EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration(_this, _dispatcher, _pairCache, _constraintSolver, _collisionConfiguration);
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorldC1EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorldC1EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration, "__ZN23btDiscreteDynamicsWorldC1EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration");
  
  
  function __ZN11btRigidBody18proceedToTransformERK11btTransform(_this, _newTrans) {
    ;
    var __label__;
    __ZN11btRigidBody24setCenterOfMassTransformERK11btTransform(_this, _newTrans);
    ;
    return;
  }
  __ZN11btRigidBody18proceedToTransformERK11btTransform.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody18proceedToTransformERK11btTransform, "__ZN11btRigidBody18proceedToTransformERK11btTransform");
  
  
  function __ZN11btRigidBodyC1EfP13btMotionStateP16btCollisionShapeRK9btVector3(_this, _mass, _motionState, _collisionShape, _localInertia) {
    ;
    var __label__;
    __ZN11btRigidBodyC2EfP13btMotionStateP16btCollisionShapeRK9btVector3(_this, _mass, _motionState, _collisionShape, _localInertia);
    ;
    return;
  }
  __ZN11btRigidBodyC1EfP13btMotionStateP16btCollisionShapeRK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBodyC1EfP13btMotionStateP16btCollisionShapeRK9btVector3, "__ZN11btRigidBodyC1EfP13btMotionStateP16btCollisionShapeRK9btVector3");
  
  
  function __ZN11btRigidBodyC1ERKNS_27btRigidBodyConstructionInfoE(_this, _constructionInfo) {
    ;
    var __label__;
    __ZN11btRigidBodyC2ERKNS_27btRigidBodyConstructionInfoE(_this, _constructionInfo);
    ;
    return;
  }
  __ZN11btRigidBodyC1ERKNS_27btRigidBodyConstructionInfoE.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBodyC1ERKNS_27btRigidBodyConstructionInfoE, "__ZN11btRigidBodyC1ERKNS_27btRigidBodyConstructionInfoE");
  
  
  function __ZN16btRaycastVehicleD1Ev(_this) {
    ;
    var __label__;
    __ZN16btRaycastVehicleD2Ev(_this);
    ;
    return;
  }
  __ZN16btRaycastVehicleD1Ev.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicleD1Ev, "__ZN16btRaycastVehicleD1Ev");
  
  
  function __ZL13btFreeDefaultPv(_ptr) {
    ;
    var __label__;
    _free(_ptr);
    ;
    return;
  }
  __ZL13btFreeDefaultPv.__index__ = Runtime.getFunctionIndex(__ZL13btFreeDefaultPv, "__ZL13btFreeDefaultPv");
  
  
  function __ZN7ConvexHC1Eiii(_this, _vertices_size, _edges_size, _facets_size) {
    ;
    var __label__;
    __ZN7ConvexHC2Eiii(_this, _vertices_size, _edges_size, _facets_size);
    ;
    return;
  }
  __ZN7ConvexHC1Eiii.__index__ = Runtime.getFunctionIndex(__ZN7ConvexHC1Eiii, "__ZN7ConvexHC1Eiii");
  
  
  function ___tcf_139(_unnamed_arg) {
    ;
    var __label__;
    __ZN12CProfileNodeD1Ev(__ZN15CProfileManager4RootE);
    ;
    return;
  }
  ___tcf_139.__index__ = Runtime.getFunctionIndex(___tcf_139, "___tcf_139");
  
  
  function __Z21gim_get_alloc_handlerv() {
    ;
    var __label__;
    var _0 = IHEAP[__ZL9g_allocfn];
    ;
    return _0;
  }
  __Z21gim_get_alloc_handlerv.__index__ = Runtime.getFunctionIndex(__Z21gim_get_alloc_handlerv, "__Z21gim_get_alloc_handlerv");
  
  
  function __Z22gim_get_alloca_handlerv() {
    ;
    var __label__;
    var _0 = IHEAP[__ZL10g_allocafn];
    ;
    return _0;
  }
  __Z22gim_get_alloca_handlerv.__index__ = Runtime.getFunctionIndex(__Z22gim_get_alloca_handlerv, "__Z22gim_get_alloca_handlerv");
  
  
  function __Z23gim_get_realloc_handlerv() {
    ;
    var __label__;
    var _0 = IHEAP[__ZL11g_reallocfn];
    ;
    return _0;
  }
  __Z23gim_get_realloc_handlerv.__index__ = Runtime.getFunctionIndex(__Z23gim_get_realloc_handlerv, "__Z23gim_get_realloc_handlerv");
  
  
  function __Z20gim_get_free_handlerv() {
    ;
    var __label__;
    var _0 = IHEAP[__ZL8g_freefn];
    ;
    return _0;
  }
  __Z20gim_get_free_handlerv.__index__ = Runtime.getFunctionIndex(__Z20gim_get_free_handlerv, "__Z20gim_get_free_handlerv");
  
  
  function __ZN6btDbvt8maxdepthEPK10btDbvtNode(_node) {
    var __stackBase__  = STACKTOP; STACKTOP += 1;
    var __label__;
    var _depth = __stackBase__;
    IHEAP[_depth] = 0;
    var _0 = _node == 0;
    ;
    if (_0) {
      ;
      STACKTOP = __stackBase__;
      return 0;
    }
    else {
      ;
      __ZL11getmaxdepthPK10btDbvtNodeiRi(_node, 1, _depth);
      var __pre = IHEAP[_depth];
      STACKTOP = __stackBase__;
      return __pre;
    }
  }
  __ZN6btDbvt8maxdepthEPK10btDbvtNode.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt8maxdepthEPK10btDbvtNode, "__ZN6btDbvt8maxdepthEPK10btDbvtNode");
  
  
  function __Z8gim_freePv(_ptr) {
    ;
    var __label__;
    var _0 = _ptr == 0;
    ;
    if (_0) {
      ;
      ;
      return;
    }
    else {
      ;
      var _1 = IHEAP[__ZL8g_freefn];
      var _2 = _1 == 0;
      ;
      if (_2) {
        ;
        _free(_ptr);
        ;
        return;
      }
      else {
        ;
        FUNCTION_TABLE[_1](_ptr);
        ;
        return;
      }
    }
  }
  __Z8gim_freePv.__index__ = Runtime.getFunctionIndex(__Z8gim_freePv, "__Z8gim_freePv");
  
  
  function __ZN35btSequentialImpulseConstraintSolver16restitutionCurveEff(_this, _rel_vel, _restitution) {
    ;
    var __label__;
    var _0 = 0 - _rel_vel;
    var _1 = _0 * _restitution;
    ;
    return _1;
  }
  __ZN35btSequentialImpulseConstraintSolver16restitutionCurveEff.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver16restitutionCurveEff, "__ZN35btSequentialImpulseConstraintSolver16restitutionCurveEff");
  
  
  function __ZN17btTypedConstraint14getMotorFactorEfffff(_this, _pos, _lowLim, _uppLim, _vel, _timeFact) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _lowLim > _uppLim;
    ;
    _bb19$_bb1$16571: do { 
      if (_0) {
        __lastLabel__ = -1; ;
      }
      else {
        __lastLabel__ = -1; ;
        var _1 = _lowLim == _uppLim;
        if (_1) { __lastLabel__ = 75; __label__ = 64; /* _bb19 */ break _bb19$_bb1$16571; } else { __lastLabel__ = 75; ; }
        var _2 = _vel / _timeFact;
        var _3 = _2 < 0;
        ;
        if (_3) {
          ;
          var _4 = _pos < _lowLim;
          ;
          _bb7$_bb5$16576: do { 
            if (!_4) {
              ;
              var _5 = _lowLim - _2;
              var _6 = _5 <= _pos;
              if (_6) { __label__ = 2; /* _bb7 */ break _bb7$_bb5$16576; }
              var _7 = _lowLim - _pos;
              var _8 = _7 / _2;
              ;
              return _8;
            }
          } while(0);
          var _9 = _pos < _lowLim;
          var _retval = _9 ? 0 : 1;
          ;
          return _retval;
        }
        else {
          ;
          var _10 = _2 > 0;
          if (_10) { __lastLabel__ = 150; ; } else { __lastLabel__ = 150; __label__ = 64; /* _bb19 */ break _bb19$_bb1$16571; }
          var _11 = _pos > _uppLim;
          ;
          _bb14$_bb12$16582: do { 
            if (!_11) {
              ;
              var _12 = _uppLim - _2;
              var _13 = _12 >= _pos;
              if (_13) { __label__ = 63; /* _bb14 */ break _bb14$_bb12$16582; }
              var _14 = _uppLim - _pos;
              var _15 = _14 / _2;
              ;
              return _15;
            }
          } while(0);
          var _16 = _pos > _uppLim;
          var _retval21 = _16 ? 0 : 1;
          ;
          return _retval21;
        }
      }
    } while(0);
    var __0 = __lastLabel__ == -1 ? 1 : (__lastLabel__ == 75 ? 0 : (0));
    ;
    return __0;
  }
  __ZN17btTypedConstraint14getMotorFactorEfffff.__index__ = Runtime.getFunctionIndex(__ZN17btTypedConstraint14getMotorFactorEfffff, "__ZN17btTypedConstraint14getMotorFactorEfffff");
  
  
  function __Z30btAlignedAllocSetCustomAlignedPFPvjiEPFvS_E(_allocFunc, _freeFunc) {
    ;
    var __label__;
    var _0 = _allocFunc == 0;
    var _iftmp_19_0 = _0 ? __ZL21btAlignedAllocDefaultji : _allocFunc;
    IHEAP[__ZL17sAlignedAllocFunc] = _iftmp_19_0;
    var _1 = _freeFunc == 0;
    var _iftmp_20_0 = _1 ? __ZL20btAlignedFreeDefaultPv : _freeFunc;
    IHEAP[__ZL16sAlignedFreeFunc] = _iftmp_20_0;
    ;
    return;
  }
  __Z30btAlignedAllocSetCustomAlignedPFPvjiEPFvS_E.__index__ = Runtime.getFunctionIndex(__Z30btAlignedAllocSetCustomAlignedPFPvjiEPFvS_E, "__Z30btAlignedAllocSetCustomAlignedPFPvjiEPFvS_E");
  
  
  function __Z23btAlignedAllocSetCustomPFPvjEPFvS_E(_allocFunc, _freeFunc) {
    ;
    var __label__;
    var _0 = _allocFunc == 0;
    var _iftmp_21_0 = _0 ? __ZL14btAllocDefaultj : _allocFunc;
    IHEAP[__ZL10sAllocFunc] = _iftmp_21_0;
    var _1 = _freeFunc == 0;
    var _iftmp_22_0 = _1 ? __ZL13btFreeDefaultPv : _freeFunc;
    IHEAP[__ZL9sFreeFunc] = _iftmp_22_0;
    ;
    return;
  }
  __Z23btAlignedAllocSetCustomPFPvjEPFvS_E.__index__ = Runtime.getFunctionIndex(__Z23btAlignedAllocSetCustomPFPvjEPFvS_E, "__Z23btAlignedAllocSetCustomPFPvjEPFvS_E");
  
  
  function __Z21btAlignedFreeInternalPv(_ptr) {
    ;
    var __label__;
    var _0 = _ptr == 0;
    ;
    if (_0) {
      ;
      ;
      return;
    }
    else {
      ;
      var _1 = IHEAP[_gNumAlignedFree];
      var _2 = _1 + 1;
      IHEAP[_gNumAlignedFree] = _2;
      var _3 = IHEAP[__ZL16sAlignedFreeFunc];
      FUNCTION_TABLE[_3](_ptr);
      ;
      return;
    }
  }
  __Z21btAlignedFreeInternalPv.__index__ = Runtime.getFunctionIndex(__Z21btAlignedFreeInternalPv, "__Z21btAlignedFreeInternalPv");
  
  
  function __ZN15CProfileManager23Increment_Frame_CounterEv() {
    ;
    var __label__;
    var _0 = IHEAP[__ZN15CProfileManager12FrameCounterE];
    var _1 = _0 + 1;
    IHEAP[__ZN15CProfileManager12FrameCounterE] = _1;
    ;
    return;
  }
  __ZN15CProfileManager23Increment_Frame_CounterEv.__index__ = Runtime.getFunctionIndex(__ZN15CProfileManager23Increment_Frame_CounterEv, "__ZN15CProfileManager23Increment_Frame_CounterEv");
  
  
  function __ZN9btVector3C1Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    ;
    ;
    return;
  }
  __ZN9btVector3C1Ev.__index__ = Runtime.getFunctionIndex(__ZN9btVector3C1Ev, "__ZN9btVector3C1Ev");
  
  
  function __ZN11btMatrix3x311setIdentityEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 9;
    var __label__;
    var _this_addr;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = __stackBase__+2;
    var _3 = __stackBase__+3;
    var _4 = __stackBase__+4;
    var _5 = __stackBase__+5;
    var _6 = __stackBase__+6;
    var _7 = __stackBase__+7;
    var _8 = __stackBase__+8;
    var __alloca_point_ = 0;
    _this_addr = _this;
    FHEAP[_8] = 1;
    FHEAP[_7] = 0;
    FHEAP[_6] = 0;
    FHEAP[_5] = 0;
    FHEAP[_4] = 1;
    FHEAP[_3] = 0;
    FHEAP[_2] = 0;
    FHEAP[_1] = 0;
    FHEAP[_0] = 1;
    var _9 = _this_addr;
    __ZN11btMatrix3x38setValueERKfS1_S1_S1_S1_S1_S1_S1_S1_(_9, _0, _1, _2, _3, _4, _5, _6, _7, _8);
    ;
    STACKTOP = __stackBase__;
    return;
  }
  __ZN11btMatrix3x311setIdentityEv.__index__ = Runtime.getFunctionIndex(__ZN11btMatrix3x311setIdentityEv, "__ZN11btMatrix3x311setIdentityEv");
  
  
  function __ZnwjPv(_unnamed_arg, ___p) {
    ;
    var __label__;
    var _unnamed_arg_addr;
    var ___p_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _unnamed_arg_addr = _unnamed_arg;
    ___p_addr = ___p;
    var _1 = ___p_addr;
    _0 = _1;
    var _2 = _0;
    _0 = _2;
    var _3 = _0;
    _retval = _3;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZnwjPv.__index__ = Runtime.getFunctionIndex(__ZnwjPv, "__ZnwjPv");
  
  
  function __ZNK17btTriangleInfoMap28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _0 = 56;
    var _1 = _0;
    _retval = _1;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK17btTriangleInfoMap28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK17btTriangleInfoMap28calculateSerializeBufferSizeEv, "__ZNK17btTriangleInfoMap28calculateSerializeBufferSizeEv");
  
  
  function __ZN17btTypedConstraint13buildJacobianEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    ;
    ;
    return;
  }
  __ZN17btTypedConstraint13buildJacobianEv.__index__ = Runtime.getFunctionIndex(__ZN17btTypedConstraint13buildJacobianEv, "__ZN17btTypedConstraint13buildJacobianEv");
  
  
  function __ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif(_this, _ca, _solverBodyA, _solverBodyB, _timeStep) {
    ;
    var __label__;
    var _this_addr;
    var _ca_addr;
    var _solverBodyA_addr;
    var _solverBodyB_addr;
    var _timeStep_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _ca_addr = _ca;
    _solverBodyA_addr = _solverBodyA;
    _solverBodyB_addr = _solverBodyB;
    _timeStep_addr = _timeStep;
    ;
    ;
    return;
  }
  __ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif.__index__ = Runtime.getFunctionIndex(__ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif, "__ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif");
  
  
  function __ZN17btTypedConstraint23solveConstraintObsoleteER11btRigidBodyS1_f(_this, _unnamed_arg, _unnamed_arg2, _unnamed_arg4) {
    ;
    var __label__;
    var _this_addr;
    var _unnamed_arg_addr;
    var _unnamed_arg_addr1;
    var _unnamed_arg_addr3;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _unnamed_arg_addr = _unnamed_arg;
    _unnamed_arg_addr1 = _unnamed_arg2;
    _unnamed_arg_addr3 = _unnamed_arg4;
    ;
    ;
    return;
  }
  __ZN17btTypedConstraint23solveConstraintObsoleteER11btRigidBodyS1_f.__index__ = Runtime.getFunctionIndex(__ZN17btTypedConstraint23solveConstraintObsoleteER11btRigidBodyS1_f, "__ZN17btTypedConstraint23solveConstraintObsoleteER11btRigidBodyS1_f");
  
  
  function __ZNK17btTypedConstraint28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _0 = 44;
    var _1 = _0;
    _retval = _1;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK17btTypedConstraint28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK17btTypedConstraint28calculateSerializeBufferSizeEv, "__ZNK17btTypedConstraint28calculateSerializeBufferSizeEv");
  
  
  function __ZN14btTriangleInfoD1Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    ;
    ;
    ;
    return;
  }
  __ZN14btTriangleInfoD1Ev.__index__ = Runtime.getFunctionIndex(__ZN14btTriangleInfoD1Ev, "__ZN14btTriangleInfoD1Ev");
  
  
  function __ZN9btHashIntD1Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    ;
    ;
    ;
    return;
  }
  __ZN9btHashIntD1Ev.__index__ = Runtime.getFunctionIndex(__ZN9btHashIntD1Ev, "__ZN9btHashIntD1Ev");
  
  
  function __ZN18btAlignedAllocatorIP16btCollisionShapeLj16EEC1Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    ;
    ;
    return;
  }
  __ZN18btAlignedAllocatorIP16btCollisionShapeLj16EEC1Ev.__index__ = Runtime.getFunctionIndex(__ZN18btAlignedAllocatorIP16btCollisionShapeLj16EEC1Ev, "__ZN18btAlignedAllocatorIP16btCollisionShapeLj16EEC1Ev");
  
  
  function __ZN20btAlignedObjectArrayIP16btCollisionShapeE9allocSizeEi(_this, _size) {
    ;
    var __label__;
    var _this_addr;
    var _size_addr;
    var _retval;
    var _iftmp_574;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _size_addr = _size;
    var _1 = _size_addr;
    var _2 = _1 != 0;
    ;
    if (_2) {
      ;
      var _3 = _size_addr;
      var _4 = _3 * 2;
      _iftmp_574 = _4;
      ;
    }
    else {
      ;
      _iftmp_574 = 1;
      ;
    }
    var _5 = _iftmp_574;
    _0 = _5;
    var _6 = _0;
    _retval = _6;
    ;
    var _retval3 = _retval;
    ;
    return _retval3;
  }
  __ZN20btAlignedObjectArrayIP16btCollisionShapeE9allocSizeEi.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIP16btCollisionShapeE9allocSizeEi, "__ZN20btAlignedObjectArrayIP16btCollisionShapeE9allocSizeEi");
  
  
  function __ZN18btAlignedAllocatorI9btHashIntLj16EE10deallocateEPS0_(_this, _ptr) {
    ;
    var __label__;
    var _this_addr;
    var _ptr_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _ptr_addr = _ptr;
    var _0 = _ptr_addr;
    var _1 = _0;
    __Z21btAlignedFreeInternalPv(_1);
    ;
    ;
    return;
  }
  __ZN18btAlignedAllocatorI9btHashIntLj16EE10deallocateEPS0_.__index__ = Runtime.getFunctionIndex(__ZN18btAlignedAllocatorI9btHashIntLj16EE10deallocateEPS0_, "__ZN18btAlignedAllocatorI9btHashIntLj16EE10deallocateEPS0_");
  
  
  function __ZN20btAlignedObjectArrayI9btHashIntED1Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    __ZN20btAlignedObjectArrayI9btHashIntE5clearEv(_0);
    ;
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI9btHashIntED1Ev.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI9btHashIntED1Ev, "__ZN20btAlignedObjectArrayI9btHashIntED1Ev");
  
  
  function __ZN18btAlignedAllocatorI14btTriangleInfoLj16EE10deallocateEPS0_(_this, _ptr) {
    ;
    var __label__;
    var _this_addr;
    var _ptr_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _ptr_addr = _ptr;
    var _0 = _ptr_addr;
    var _1 = _0;
    __Z21btAlignedFreeInternalPv(_1);
    ;
    ;
    return;
  }
  __ZN18btAlignedAllocatorI14btTriangleInfoLj16EE10deallocateEPS0_.__index__ = Runtime.getFunctionIndex(__ZN18btAlignedAllocatorI14btTriangleInfoLj16EE10deallocateEPS0_, "__ZN18btAlignedAllocatorI14btTriangleInfoLj16EE10deallocateEPS0_");
  
  
  function __ZN20btAlignedObjectArrayI14btTriangleInfoED1Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    __ZN20btAlignedObjectArrayI14btTriangleInfoE5clearEv(_0);
    ;
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI14btTriangleInfoED1Ev.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI14btTriangleInfoED1Ev, "__ZN20btAlignedObjectArrayI14btTriangleInfoED1Ev");
  
  
  function __ZN18btAlignedAllocatorIiLj16EE10deallocateEPi(_this, _ptr) {
    ;
    var __label__;
    var _this_addr;
    var _ptr_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _ptr_addr = _ptr;
    var _0 = _ptr_addr;
    var _1 = _0;
    __Z21btAlignedFreeInternalPv(_1);
    ;
    ;
    return;
  }
  __ZN18btAlignedAllocatorIiLj16EE10deallocateEPi.__index__ = Runtime.getFunctionIndex(__ZN18btAlignedAllocatorIiLj16EE10deallocateEPi, "__ZN18btAlignedAllocatorIiLj16EE10deallocateEPi");
  
  
  function __ZN20btAlignedObjectArrayIiED1Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    __ZN20btAlignedObjectArrayIiE5clearEv(_0);
    ;
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIiED1Ev.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIiED1Ev, "__ZN20btAlignedObjectArrayIiED1Ev");
  
  
  function __ZN13btConvexShapedlEPv(_ptr) {
    ;
    var __label__;
    var _ptr_addr;
    var __alloca_point_ = 0;
    _ptr_addr = _ptr;
    var _0 = _ptr_addr;
    __Z21btAlignedFreeInternalPv(_0);
    ;
    ;
    return;
  }
  __ZN13btConvexShapedlEPv.__index__ = Runtime.getFunctionIndex(__ZN13btConvexShapedlEPv, "__ZN13btConvexShapedlEPv");
  
  
  function __ZN18btAlignedAllocatorIP16btCollisionShapeLj16EE10deallocateEPS1_(_this, _ptr) {
    ;
    var __label__;
    var _this_addr;
    var _ptr_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _ptr_addr = _ptr;
    var _0 = _ptr_addr;
    var _1 = _0;
    __Z21btAlignedFreeInternalPv(_1);
    ;
    ;
    return;
  }
  __ZN18btAlignedAllocatorIP16btCollisionShapeLj16EE10deallocateEPS1_.__index__ = Runtime.getFunctionIndex(__ZN18btAlignedAllocatorIP16btCollisionShapeLj16EE10deallocateEPS1_, "__ZN18btAlignedAllocatorIP16btCollisionShapeLj16EE10deallocateEPS1_");
  
  
  function __ZN20btAlignedObjectArrayIP16btCollisionShapeED1Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    __ZN20btAlignedObjectArrayIP16btCollisionShapeE5clearEv(_0);
    ;
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIP16btCollisionShapeED1Ev.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIP16btCollisionShapeED1Ev, "__ZN20btAlignedObjectArrayIP16btCollisionShapeED1Ev");
  
  
  function __ZN13btSphereShapedlEPv(_ptr) {
    ;
    var __label__;
    var _ptr_addr;
    var __alloca_point_ = 0;
    _ptr_addr = _ptr;
    var _0 = _ptr_addr;
    __Z21btAlignedFreeInternalPv(_0);
    ;
    ;
    return;
  }
  __ZN13btSphereShapedlEPv.__index__ = Runtime.getFunctionIndex(__ZN13btSphereShapedlEPv, "__ZN13btSphereShapedlEPv");
  
  
  function __ZN17btCollisionObjectdlEPv(_ptr) {
    ;
    var __label__;
    var _ptr_addr;
    var __alloca_point_ = 0;
    _ptr_addr = _ptr;
    var _0 = _ptr_addr;
    __Z21btAlignedFreeInternalPv(_0);
    ;
    ;
    return;
  }
  __ZN17btCollisionObjectdlEPv.__index__ = Runtime.getFunctionIndex(__ZN17btCollisionObjectdlEPv, "__ZN17btCollisionObjectdlEPv");
  
  
  function __ZN29btGeneric6DofSpringConstraintD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btGeneric6DofConstraint+8;
    ;
    return;
  }
  __ZN29btGeneric6DofSpringConstraintD1Ev.__index__ = Runtime.getFunctionIndex(__ZN29btGeneric6DofSpringConstraintD1Ev, "__ZN29btGeneric6DofSpringConstraintD1Ev");
  
  
  function __ZN29btGeneric6DofSpringConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E(_this, _info) {
    ;
    var __label__;
    __ZN29btGeneric6DofSpringConstraint21internalUpdateSpringsEPN17btTypedConstraint17btConstraintInfo2E(_this, _info);
    var _0 = _this;
    __ZN23btGeneric6DofConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E(_0, _info);
    ;
    return;
  }
  __ZN29btGeneric6DofSpringConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E.__index__ = Runtime.getFunctionIndex(__ZN29btGeneric6DofSpringConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E, "__ZN29btGeneric6DofSpringConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E");
  
  
  function __ZN18btHinge2ConstraintD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btGeneric6DofConstraint+8;
    ;
    return;
  }
  __ZN18btHinge2ConstraintD1Ev.__index__ = Runtime.getFunctionIndex(__ZN18btHinge2ConstraintD1Ev, "__ZN18btHinge2ConstraintD1Ev");
  
  
  function _plDeleteShape(_cshape) {
    ;
    var __label__;
    var _0 = _cshape;
    __Z21btAlignedFreeInternalPv(_0);
    ;
    return;
  }
  _plDeleteShape.__index__ = Runtime.getFunctionIndex(_plDeleteShape, "_plDeleteShape");
  
  
  function _plDeleteRigidBody(_cbody) {
    ;
    var __label__;
    var _0 = _cbody;
    __Z21btAlignedFreeInternalPv(_0);
    ;
    return;
  }
  _plDeleteRigidBody.__index__ = Runtime.getFunctionIndex(_plDeleteRigidBody, "_plDeleteRigidBody");
  
  
  function _plDeleteDynamicsWorld(_world) {
    ;
    var __label__;
    var _0 = _world;
    __Z21btAlignedFreeInternalPv(_0);
    ;
    return;
  }
  _plDeleteDynamicsWorld.__index__ = Runtime.getFunctionIndex(_plDeleteDynamicsWorld, "_plDeleteDynamicsWorld");
  
  
  function _plDeletePhysicsSdk(_physicsSdk) {
    ;
    var __label__;
    var _0 = _physicsSdk;
    __Z21btAlignedFreeInternalPv(_0);
    ;
    return;
  }
  _plDeletePhysicsSdk.__index__ = Runtime.getFunctionIndex(_plDeletePhysicsSdk, "_plDeletePhysicsSdk");
  
  
  function ___tcf_040(_unnamed_arg) {
    ;
    var __label__;
    var _0 = IHEAP[__ZL13gProfileClock];
    var _1 = _0;
    __ZdlPv(_1);
    ;
    return;
  }
  ___tcf_040.__index__ = Runtime.getFunctionIndex(___tcf_040, "___tcf_040");
  
  
  function __ZN9btVector3C1ERKfS1_S1_(_this, _x, _y, _z) {
    ;
    var __label__;
    var _this_addr;
    var _x_addr;
    var _y_addr;
    var _z_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _x_addr = _x;
    _y_addr = _y;
    _z_addr = _z;
    var _0 = _x_addr;
    var _1 = FHEAP[_0];
    var _2 = _this_addr;
    var _3 = _2;
    var _4 = _3;
    FHEAP[_4] = _1;
    var _5 = _y_addr;
    var _6 = FHEAP[_5];
    var _7 = _this_addr;
    var _8 = _7;
    var _9 = _8+4;
    FHEAP[_9] = _6;
    var _10 = _z_addr;
    var _11 = FHEAP[_10];
    var _12 = _this_addr;
    var _13 = _12;
    var _14 = _13+8;
    FHEAP[_14] = _11;
    var _15 = _this_addr;
    var _16 = _15;
    var _17 = _16+12;
    FHEAP[_17] = 0;
    ;
    ;
    return;
  }
  __ZN9btVector3C1ERKfS1_S1_.__index__ = Runtime.getFunctionIndex(__ZN9btVector3C1ERKfS1_S1_, "__ZN9btVector3C1ERKfS1_S1_");
  
  
  function __ZNK9btVector33dotERKS_(_this, _v) {
    ;
    var __label__;
    var _this_addr;
    var _v_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _v_addr = _v;
    var _1 = _this_addr;
    var _2 = _1;
    var _3 = _2;
    var _4 = FHEAP[_3];
    var _5 = _v_addr;
    var _6 = _5;
    var _7 = _6;
    var _8 = FHEAP[_7];
    var _9 = _4 * _8;
    var _10 = _this_addr;
    var _11 = _10;
    var _12 = _11+4;
    var _13 = FHEAP[_12];
    var _14 = _v_addr;
    var _15 = _14;
    var _16 = _15+4;
    var _17 = FHEAP[_16];
    var _18 = _13 * _17;
    var _19 = _9 + _18;
    var _20 = _this_addr;
    var _21 = _20;
    var _22 = _21+8;
    var _23 = FHEAP[_22];
    var _24 = _v_addr;
    var _25 = _24;
    var _26 = _25+8;
    var _27 = FHEAP[_26];
    var _28 = _23 * _27;
    var _29 = _19 + _28;
    _0 = _29;
    var _30 = _0;
    _retval = _30;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK9btVector33dotERKS_.__index__ = Runtime.getFunctionIndex(__ZNK9btVector33dotERKS_, "__ZNK9btVector33dotERKS_");
  
  
  function __ZNK9btVector34getXEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _1 = _this_addr;
    var _2 = _1;
    var _3 = _2;
    _0 = _3;
    var _4 = _0;
    _retval = _4;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK9btVector34getXEv.__index__ = Runtime.getFunctionIndex(__ZNK9btVector34getXEv, "__ZNK9btVector34getXEv");
  
  
  function __ZNK9btVector34getYEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _1 = _this_addr;
    var _2 = _1;
    var _3 = _2+4;
    _0 = _3;
    var _4 = _0;
    _retval = _4;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK9btVector34getYEv.__index__ = Runtime.getFunctionIndex(__ZNK9btVector34getYEv, "__ZNK9btVector34getYEv");
  
  
  function __ZNK9btVector34getZEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _1 = _this_addr;
    var _2 = _1;
    var _3 = _2+8;
    _0 = _3;
    var _4 = _0;
    _retval = _4;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK9btVector34getZEv.__index__ = Runtime.getFunctionIndex(__ZNK9btVector34getZEv, "__ZNK9btVector34getZEv");
  
  
  function __ZN9btVector34setXEf(_this, _x) {
    ;
    var __label__;
    var _this_addr;
    var _x_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _x_addr = _x;
    var _0 = _this_addr;
    var _1 = _0;
    var _2 = _1;
    var _3 = _x_addr;
    FHEAP[_2] = _3;
    ;
    ;
    return;
  }
  __ZN9btVector34setXEf.__index__ = Runtime.getFunctionIndex(__ZN9btVector34setXEf, "__ZN9btVector34setXEf");
  
  
  function __ZNK9btVector31xEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _1 = _this_addr;
    var _2 = _1;
    var _3 = _2;
    _0 = _3;
    var _4 = _0;
    _retval = _4;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK9btVector31xEv.__index__ = Runtime.getFunctionIndex(__ZNK9btVector31xEv, "__ZNK9btVector31xEv");
  
  
  function __ZNK9btVector31yEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _1 = _this_addr;
    var _2 = _1;
    var _3 = _2+4;
    _0 = _3;
    var _4 = _0;
    _retval = _4;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK9btVector31yEv.__index__ = Runtime.getFunctionIndex(__ZNK9btVector31yEv, "__ZNK9btVector31yEv");
  
  
  function __ZNK9btVector31zEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _1 = _this_addr;
    var _2 = _1;
    var _3 = _2+8;
    _0 = _3;
    var _4 = _0;
    _retval = _4;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK9btVector31zEv.__index__ = Runtime.getFunctionIndex(__ZNK9btVector31zEv, "__ZNK9btVector31zEv");
  
  
  function __ZN9btVector38setValueERKfS1_S1_(_this, _x, _y, _z) {
    ;
    var __label__;
    var _this_addr;
    var _x_addr;
    var _y_addr;
    var _z_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _x_addr = _x;
    _y_addr = _y;
    _z_addr = _z;
    var _0 = _x_addr;
    var _1 = FHEAP[_0];
    var _2 = _this_addr;
    var _3 = _2;
    var _4 = _3;
    FHEAP[_4] = _1;
    var _5 = _y_addr;
    var _6 = FHEAP[_5];
    var _7 = _this_addr;
    var _8 = _7;
    var _9 = _8+4;
    FHEAP[_9] = _6;
    var _10 = _z_addr;
    var _11 = FHEAP[_10];
    var _12 = _this_addr;
    var _13 = _12;
    var _14 = _13+8;
    FHEAP[_14] = _11;
    var _15 = _this_addr;
    var _16 = _15;
    var _17 = _16+12;
    FHEAP[_17] = 0;
    ;
    ;
    return;
  }
  __ZN9btVector38setValueERKfS1_S1_.__index__ = Runtime.getFunctionIndex(__ZN9btVector38setValueERKfS1_S1_, "__ZN9btVector38setValueERKfS1_S1_");
  
  
  function __ZmlRK9btVector3S1_(_agg_result, _v1, _v2) {
    var __stackBase__  = STACKTOP; STACKTOP += 3;
    var __label__;
    var _v1_addr;
    var _v2_addr;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = __stackBase__+2;
    var __alloca_point_ = 0;
    _v1_addr = _v1;
    _v2_addr = _v2;
    var _3 = _v1_addr;
    var _4 = _3;
    var _5 = _4+8;
    var _6 = FHEAP[_5];
    var _7 = _v2_addr;
    var _8 = _7;
    var _9 = _8+8;
    var _10 = FHEAP[_9];
    var _11 = _6 * _10;
    FHEAP[_2] = _11;
    var _12 = _v1_addr;
    var _13 = _12;
    var _14 = _13+4;
    var _15 = FHEAP[_14];
    var _16 = _v2_addr;
    var _17 = _16;
    var _18 = _17+4;
    var _19 = FHEAP[_18];
    var _20 = _15 * _19;
    FHEAP[_1] = _20;
    var _21 = _v1_addr;
    var _22 = _21;
    var _23 = _22;
    var _24 = FHEAP[_23];
    var _25 = _v2_addr;
    var _26 = _25;
    var _27 = _26;
    var _28 = FHEAP[_27];
    var _29 = _24 * _28;
    FHEAP[_0] = _29;
    __ZN9btVector3C1ERKfS1_S1_(_agg_result, _0, _1, _2);
    ;
    STACKTOP = __stackBase__;
    return;
  }
  __ZmlRK9btVector3S1_.__index__ = Runtime.getFunctionIndex(__ZmlRK9btVector3S1_, "__ZmlRK9btVector3S1_");
  
  
  function __ZmiRK9btVector3S1_(_agg_result, _v1, _v2) {
    var __stackBase__  = STACKTOP; STACKTOP += 3;
    var __label__;
    var _v1_addr;
    var _v2_addr;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = __stackBase__+2;
    var __alloca_point_ = 0;
    _v1_addr = _v1;
    _v2_addr = _v2;
    var _3 = _v1_addr;
    var _4 = _3;
    var _5 = _4+8;
    var _6 = FHEAP[_5];
    var _7 = _v2_addr;
    var _8 = _7;
    var _9 = _8+8;
    var _10 = FHEAP[_9];
    var _11 = _6 - _10;
    FHEAP[_2] = _11;
    var _12 = _v1_addr;
    var _13 = _12;
    var _14 = _13+4;
    var _15 = FHEAP[_14];
    var _16 = _v2_addr;
    var _17 = _16;
    var _18 = _17+4;
    var _19 = FHEAP[_18];
    var _20 = _15 - _19;
    FHEAP[_1] = _20;
    var _21 = _v1_addr;
    var _22 = _21;
    var _23 = _22;
    var _24 = FHEAP[_23];
    var _25 = _v2_addr;
    var _26 = _25;
    var _27 = _26;
    var _28 = FHEAP[_27];
    var _29 = _24 - _28;
    FHEAP[_0] = _29;
    __ZN9btVector3C1ERKfS1_S1_(_agg_result, _0, _1, _2);
    ;
    STACKTOP = __stackBase__;
    return;
  }
  __ZmiRK9btVector3S1_.__index__ = Runtime.getFunctionIndex(__ZmiRK9btVector3S1_, "__ZmiRK9btVector3S1_");
  
  
  function __ZngRK9btVector3(_agg_result, _v) {
    var __stackBase__  = STACKTOP; STACKTOP += 3;
    var __label__;
    var _v_addr;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = __stackBase__+2;
    var __alloca_point_ = 0;
    _v_addr = _v;
    var _3 = _v_addr;
    var _4 = _3;
    var _5 = _4+8;
    var _6 = FHEAP[_5];
    var _7 = 0 - _6;
    FHEAP[_2] = _7;
    var _8 = _v_addr;
    var _9 = _8;
    var _10 = _9+4;
    var _11 = FHEAP[_10];
    var _12 = 0 - _11;
    FHEAP[_1] = _12;
    var _13 = _v_addr;
    var _14 = _13;
    var _15 = _14;
    var _16 = FHEAP[_15];
    var _17 = 0 - _16;
    FHEAP[_0] = _17;
    __ZN9btVector3C1ERKfS1_S1_(_agg_result, _0, _1, _2);
    ;
    STACKTOP = __stackBase__;
    return;
  }
  __ZngRK9btVector3.__index__ = Runtime.getFunctionIndex(__ZngRK9btVector3, "__ZngRK9btVector3");
  
  
  function __ZN11btMatrix3x3C1Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var _0;
    var _1;
    var _2;
    var _retval_40;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _3 = _this_addr;
    var _4 = _3;
    var _5 = _4;
    _2 = _5;
    var _6 = _2;
    _1 = _6;
    _0 = 2;
    ;
    _bb1$207: while(1) { // _bb1
      var _12 = _0;
      var _13 = _12 != -1;
      if (!(_13)) { __label__ = 0; /* _bb2 */ break _bb1$207; }
      var _7 = _1;
      __ZN9btVector3C1Ev(_7);
      var _8 = _1;
      var _9 = _8+16;
      _1 = _9;
      var _10 = _0;
      var _11 = _10 - 1;
      _0 = _11;
      __label__ = 75; /* _bb1 */ continue _bb1$207;
    }
    var _14 = _2;
    _retval_40 = _14;
    ;
    ;
    return;
  }
  __ZN11btMatrix3x3C1Ev.__index__ = Runtime.getFunctionIndex(__ZN11btMatrix3x3C1Ev, "__ZN11btMatrix3x3C1Ev");
  
  
  function __ZN11btMatrix3x3C1ERKS_(_this, _other) {
    ;
    var __label__;
    var _this_addr;
    var _other_addr;
    var _0;
    var _1;
    var _2;
    var _retval_43;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _other_addr = _other;
    var _3 = _this_addr;
    var _4 = _3;
    var _5 = _4;
    _2 = _5;
    var _6 = _2;
    _1 = _6;
    _0 = 2;
    ;
    _bb1$213: while(1) { // _bb1
      var _12 = _0;
      var _13 = _12 != -1;
      if (!(_13)) { __label__ = 0; /* _bb2 */ break _bb1$213; }
      var _7 = _1;
      __ZN9btVector3C1Ev(_7);
      var _8 = _1;
      var _9 = _8+16;
      _1 = _9;
      var _10 = _0;
      var _11 = _10 - 1;
      _0 = _11;
      __label__ = 75; /* _bb1 */ continue _bb1$213;
    }
    var _14 = _2;
    _retval_43 = _14;
    var _15 = _this_addr;
    var _16 = _15;
    var _17 = _16;
    var _18 = _other_addr;
    var _19 = _18;
    var _20 = _19;
    var _21 = _17;
    var _22 = _20;
    var _23 = _21;
    var _24 = _22;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _21+4;
    var _27 = _22+4;
    var _28 = FHEAP[_27];
    FHEAP[_26] = _28;
    var _29 = _21+8;
    var _30 = _22+8;
    var _31 = FHEAP[_30];
    FHEAP[_29] = _31;
    var _32 = _21+12;
    var _33 = _22+12;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _this_addr;
    var _36 = _35;
    var _37 = _36+16;
    var _38 = _other_addr;
    var _39 = _38;
    var _40 = _39+16;
    var _41 = _37;
    var _42 = _40;
    var _43 = _41;
    var _44 = _42;
    var _45 = FHEAP[_44];
    FHEAP[_43] = _45;
    var _46 = _41+4;
    var _47 = _42+4;
    var _48 = FHEAP[_47];
    FHEAP[_46] = _48;
    var _49 = _41+8;
    var _50 = _42+8;
    var _51 = FHEAP[_50];
    FHEAP[_49] = _51;
    var _52 = _41+12;
    var _53 = _42+12;
    var _54 = FHEAP[_53];
    FHEAP[_52] = _54;
    var _55 = _this_addr;
    var _56 = _55;
    var _57 = _56+32;
    var _58 = _other_addr;
    var _59 = _58;
    var _60 = _59+32;
    var _61 = _57;
    var _62 = _60;
    var _63 = _61;
    var _64 = _62;
    var _65 = FHEAP[_64];
    FHEAP[_63] = _65;
    var _66 = _61+4;
    var _67 = _62+4;
    var _68 = FHEAP[_67];
    FHEAP[_66] = _68;
    var _69 = _61+8;
    var _70 = _62+8;
    var _71 = FHEAP[_70];
    FHEAP[_69] = _71;
    var _72 = _61+12;
    var _73 = _62+12;
    var _74 = FHEAP[_73];
    FHEAP[_72] = _74;
    ;
    ;
    return;
  }
  __ZN11btMatrix3x3C1ERKS_.__index__ = Runtime.getFunctionIndex(__ZN11btMatrix3x3C1ERKS_, "__ZN11btMatrix3x3C1ERKS_");
  
  
  function __ZN11btMatrix3x3aSERKS_(_this, _other) {
    ;
    var __label__;
    var _this_addr;
    var _other_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _other_addr = _other;
    var _1 = _this_addr;
    var _2 = _1;
    var _3 = _2;
    var _4 = _other_addr;
    var _5 = _4;
    var _6 = _5;
    var _7 = _3;
    var _8 = _6;
    var _9 = _7;
    var _10 = _8;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _7+4;
    var _13 = _8+4;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _7+8;
    var _16 = _8+8;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _7+12;
    var _19 = _8+12;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _this_addr;
    var _22 = _21;
    var _23 = _22+16;
    var _24 = _other_addr;
    var _25 = _24;
    var _26 = _25+16;
    var _27 = _23;
    var _28 = _26;
    var _29 = _27;
    var _30 = _28;
    var _31 = FHEAP[_30];
    FHEAP[_29] = _31;
    var _32 = _27+4;
    var _33 = _28+4;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _27+8;
    var _36 = _28+8;
    var _37 = FHEAP[_36];
    FHEAP[_35] = _37;
    var _38 = _27+12;
    var _39 = _28+12;
    var _40 = FHEAP[_39];
    FHEAP[_38] = _40;
    var _41 = _this_addr;
    var _42 = _41;
    var _43 = _42+32;
    var _44 = _other_addr;
    var _45 = _44;
    var _46 = _45+32;
    var _47 = _43;
    var _48 = _46;
    var _49 = _47;
    var _50 = _48;
    var _51 = FHEAP[_50];
    FHEAP[_49] = _51;
    var _52 = _47+4;
    var _53 = _48+4;
    var _54 = FHEAP[_53];
    FHEAP[_52] = _54;
    var _55 = _47+8;
    var _56 = _48+8;
    var _57 = FHEAP[_56];
    FHEAP[_55] = _57;
    var _58 = _47+12;
    var _59 = _48+12;
    var _60 = FHEAP[_59];
    FHEAP[_58] = _60;
    var _61 = _this_addr;
    _0 = _61;
    var _62 = _0;
    _retval = _62;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZN11btMatrix3x3aSERKS_.__index__ = Runtime.getFunctionIndex(__ZN11btMatrix3x3aSERKS_, "__ZN11btMatrix3x3aSERKS_");
  
  
  function __ZNK11btMatrix3x3ixEi(_this, _i) {
    ;
    var __label__;
    var _this_addr;
    var _i_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _i_addr = _i;
    var _1 = _i_addr;
    var _2 = _this_addr;
    var _3 = _2;
    var _4 = _3+_1*16;
    _0 = _4;
    var _5 = _0;
    _retval = _5;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK11btMatrix3x3ixEi.__index__ = Runtime.getFunctionIndex(__ZNK11btMatrix3x3ixEi, "__ZNK11btMatrix3x3ixEi");
  
  
  function __ZN11btMatrix3x38setValueERKfS1_S1_S1_S1_S1_S1_S1_S1_(_this, _xx, _xy, _xz, _yx, _yy, _yz, _zx, _zy, _zz) {
    ;
    var __label__;
    var _this_addr;
    var _xx_addr;
    var _xy_addr;
    var _xz_addr;
    var _yx_addr;
    var _yy_addr;
    var _yz_addr;
    var _zx_addr;
    var _zy_addr;
    var _zz_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _xx_addr = _xx;
    _xy_addr = _xy;
    _xz_addr = _xz;
    _yx_addr = _yx;
    _yy_addr = _yy;
    _yz_addr = _yz;
    _zx_addr = _zx;
    _zy_addr = _zy;
    _zz_addr = _zz;
    var _0 = _this_addr;
    var _1 = _0;
    var _2 = _1;
    var _3 = _xx_addr;
    var _4 = _xy_addr;
    var _5 = _xz_addr;
    __ZN9btVector38setValueERKfS1_S1_(_2, _3, _4, _5);
    var _6 = _this_addr;
    var _7 = _6;
    var _8 = _7+16;
    var _9 = _yx_addr;
    var _10 = _yy_addr;
    var _11 = _yz_addr;
    __ZN9btVector38setValueERKfS1_S1_(_8, _9, _10, _11);
    var _12 = _this_addr;
    var _13 = _12;
    var _14 = _13+32;
    var _15 = _zx_addr;
    var _16 = _zy_addr;
    var _17 = _zz_addr;
    __ZN9btVector38setValueERKfS1_S1_(_14, _15, _16, _17);
    ;
    ;
    return;
  }
  __ZN11btMatrix3x38setValueERKfS1_S1_S1_S1_S1_S1_S1_S1_.__index__ = Runtime.getFunctionIndex(__ZN11btMatrix3x38setValueERKfS1_S1_S1_S1_S1_S1_S1_S1_, "__ZN11btMatrix3x38setValueERKfS1_S1_S1_S1_S1_S1_S1_S1_");
  
  
  function __ZN11btMatrix3x3C1ERKfS1_S1_S1_S1_S1_S1_S1_S1_(_this, _xx, _xy, _xz, _yx, _yy, _yz, _zx, _zy, _zz) {
    ;
    var __label__;
    var _this_addr;
    var _xx_addr;
    var _xy_addr;
    var _xz_addr;
    var _yx_addr;
    var _yy_addr;
    var _yz_addr;
    var _zx_addr;
    var _zy_addr;
    var _zz_addr;
    var _0;
    var _1;
    var _2;
    var _retval_42;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _xx_addr = _xx;
    _xy_addr = _xy;
    _xz_addr = _xz;
    _yx_addr = _yx;
    _yy_addr = _yy;
    _yz_addr = _yz;
    _zx_addr = _zx;
    _zy_addr = _zy;
    _zz_addr = _zz;
    var _3 = _this_addr;
    var _4 = _3;
    var _5 = _4;
    _2 = _5;
    var _6 = _2;
    _1 = _6;
    _0 = 2;
    ;
    _bb1$225: while(1) { // _bb1
      var _12 = _0;
      var _13 = _12 != -1;
      if (!(_13)) { __label__ = 0; /* _bb2 */ break _bb1$225; }
      var _7 = _1;
      __ZN9btVector3C1Ev(_7);
      var _8 = _1;
      var _9 = _8+16;
      _1 = _9;
      var _10 = _0;
      var _11 = _10 - 1;
      _0 = _11;
      __label__ = 75; /* _bb1 */ continue _bb1$225;
    }
    var _14 = _2;
    _retval_42 = _14;
    var _15 = _this_addr;
    var _16 = _xx_addr;
    var _17 = _xy_addr;
    var _18 = _xz_addr;
    var _19 = _yx_addr;
    var _20 = _yy_addr;
    var _21 = _yz_addr;
    var _22 = _zx_addr;
    var _23 = _zy_addr;
    var _24 = _zz_addr;
    __ZN11btMatrix3x38setValueERKfS1_S1_S1_S1_S1_S1_S1_S1_(_15, _16, _17, _18, _19, _20, _21, _22, _23, _24);
    ;
    ;
    return;
  }
  __ZN11btMatrix3x3C1ERKfS1_S1_S1_S1_S1_S1_S1_S1_.__index__ = Runtime.getFunctionIndex(__ZN11btMatrix3x3C1ERKfS1_S1_S1_S1_S1_S1_S1_S1_, "__ZN11btMatrix3x3C1ERKfS1_S1_S1_S1_S1_S1_S1_S1_");
  
  
  function __ZN11btTransformC1Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0;
    __ZN11btMatrix3x3C1Ev(_1);
    var _2 = _this_addr;
    var _3 = _2+48;
    __ZN9btVector3C1Ev(_3);
    ;
    ;
    return;
  }
  __ZN11btTransformC1Ev.__index__ = Runtime.getFunctionIndex(__ZN11btTransformC1Ev, "__ZN11btTransformC1Ev");
  
  
  function __ZN11btTransformC1ERK11btMatrix3x3RK9btVector3(_this, _b, _c) {
    ;
    var __label__;
    var _this_addr;
    var _b_addr;
    var _c_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _b_addr = _b;
    _c_addr = _c;
    var _0 = _this_addr;
    var _1 = _0;
    var _2 = _b_addr;
    __ZN11btMatrix3x3C1ERKS_(_1, _2);
    var _3 = _this_addr;
    var _4 = _3+48;
    var _5 = _c_addr;
    var _6 = _4;
    var _7 = _5;
    var _8 = _6;
    var _9 = _7;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _6+4;
    var _12 = _7+4;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _6+8;
    var _15 = _7+8;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _6+12;
    var _18 = _7+12;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    ;
    ;
    return;
  }
  __ZN11btTransformC1ERK11btMatrix3x3RK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN11btTransformC1ERK11btMatrix3x3RK9btVector3, "__ZN11btTransformC1ERK11btMatrix3x3RK9btVector3");
  
  
  function __ZN11btTransformC1ERKS_(_this, _other) {
    ;
    var __label__;
    var _this_addr;
    var _other_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _other_addr = _other;
    var _0 = _other_addr;
    var _1 = _0;
    var _2 = _this_addr;
    var _3 = _2;
    __ZN11btMatrix3x3C1ERKS_(_3, _1);
    var _4 = _this_addr;
    var _5 = _4+48;
    var _6 = _other_addr;
    var _7 = _6+48;
    var _8 = _5;
    var _9 = _7;
    var _10 = _8;
    var _11 = _9;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _8+4;
    var _14 = _9+4;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    var _16 = _8+8;
    var _17 = _9+8;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _8+12;
    var _20 = _9+12;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    ;
    ;
    return;
  }
  __ZN11btTransformC1ERKS_.__index__ = Runtime.getFunctionIndex(__ZN11btTransformC1ERKS_, "__ZN11btTransformC1ERKS_");
  
  
  function __ZN11btTransform9getOriginEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _1 = _this_addr;
    var _2 = _1+48;
    _0 = _2;
    var _3 = _0;
    _retval = _3;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZN11btTransform9getOriginEv.__index__ = Runtime.getFunctionIndex(__ZN11btTransform9getOriginEv, "__ZN11btTransform9getOriginEv");
  
  
  function __ZN11btTransform9setOriginERK9btVector3(_this, _origin) {
    ;
    var __label__;
    var _this_addr;
    var _origin_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _origin_addr = _origin;
    var _0 = _this_addr;
    var _1 = _0+48;
    var _2 = _origin_addr;
    var _3 = _1;
    var _4 = _2;
    var _5 = _3;
    var _6 = _4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _3+4;
    var _9 = _4+4;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _3+8;
    var _12 = _4+8;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _3+12;
    var _15 = _4+12;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    ;
    ;
    return;
  }
  __ZN11btTransform9setOriginERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN11btTransform9setOriginERK9btVector3, "__ZN11btTransform9setOriginERK9btVector3");
  
  
  function __ZN11btTransform11setIdentityEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 3;
    var __label__;
    var _this_addr;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = __stackBase__+2;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _3 = _this_addr;
    var _4 = _3;
    __ZN11btMatrix3x311setIdentityEv(_4);
    FHEAP[_2] = 0;
    FHEAP[_1] = 0;
    FHEAP[_0] = 0;
    var _5 = _this_addr;
    var _6 = _5+48;
    __ZN9btVector38setValueERKfS1_S1_(_6, _0, _1, _2);
    ;
    STACKTOP = __stackBase__;
    return;
  }
  __ZN11btTransform11setIdentityEv.__index__ = Runtime.getFunctionIndex(__ZN11btTransform11setIdentityEv, "__ZN11btTransform11setIdentityEv");
  
  
  function __ZNK11btTransform7inverseEv(_agg_result, _this) {
    var __stackBase__  = STACKTOP; STACKTOP += 80;
    var __label__;
    var _memtmp;
    var _this_addr;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _inv = __stackBase__+32;
    var __alloca_point_ = 0;
    _memtmp = _agg_result;
    _this_addr = _this;
    var _2 = _this_addr;
    var _3 = _2;
    __ZNK11btMatrix3x39transposeEv(_inv, _3);
    var _4 = _memtmp;
    var _5 = _this_addr;
    var _6 = _5+48;
    __ZngRK9btVector3(_0, _6);
    __ZmlRK11btMatrix3x3RK9btVector3(_1, _inv, _0);
    __ZN11btTransformC1ERK11btMatrix3x3RK9btVector3(_4, _inv, _1);
    ;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK11btTransform7inverseEv.__index__ = Runtime.getFunctionIndex(__ZNK11btTransform7inverseEv, "__ZNK11btTransform7inverseEv");
  
  
  function __ZNK11btTransformmlERKS_(_agg_result, _this, _t) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var _memtmp;
    var _this_addr;
    var _t_addr;
    var _0 = __stackBase__;
    var _1 = __stackBase__+48;
    var __alloca_point_ = 0;
    _memtmp = _agg_result;
    _this_addr = _this;
    _t_addr = _t;
    var _2 = _memtmp;
    var _3 = _t_addr;
    var _4 = _3+48;
    var _5 = _this_addr;
    __ZNK11btTransformclERK9btVector3(_1, _5, _4);
    var _6 = _t_addr;
    var _7 = _6;
    var _8 = _this_addr;
    var _9 = _8;
    __ZmlRK11btMatrix3x3S1_(_0, _9, _7);
    __ZN11btTransformC1ERK11btMatrix3x3RK9btVector3(_2, _0, _1);
    ;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK11btTransformmlERKS_.__index__ = Runtime.getFunctionIndex(__ZNK11btTransformmlERKS_, "__ZNK11btTransformmlERKS_");
  
  
  function __ZNK17btCollisionObject15getInternalTypeEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _1 = _this_addr;
    var _2 = _1+232;
    var _3 = IHEAP[_2];
    _0 = _3;
    var _4 = _0;
    _retval = _4;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK17btCollisionObject15getInternalTypeEv.__index__ = Runtime.getFunctionIndex(__ZNK17btCollisionObject15getInternalTypeEv, "__ZNK17btCollisionObject15getInternalTypeEv");
  
  
  function __ZN16btCollisionWorld23getCollisionObjectArrayEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _1 = _this_addr;
    var _2 = _1+4;
    _0 = _2;
    var _3 = _0;
    _retval = _3;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZN16btCollisionWorld23getCollisionObjectArrayEv.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld23getCollisionObjectArrayEv, "__ZN16btCollisionWorld23getCollisionObjectArrayEv");
  
  
  function __ZNK21btConvexInternalShape9getMarginEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _1 = _this_addr;
    var _2 = _1+44;
    var _3 = FHEAP[_2];
    _0 = _3;
    var _4 = _0;
    _retval = _4;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK21btConvexInternalShape9getMarginEv.__index__ = Runtime.getFunctionIndex(__ZNK21btConvexInternalShape9getMarginEv, "__ZNK21btConvexInternalShape9getMarginEv");
  
  
  function __ZNK9btHashInt7getUid1Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _1 = _this_addr;
    var _2 = _1;
    var _3 = IHEAP[_2];
    _0 = _3;
    var _4 = _0;
    _retval = _4;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK9btHashInt7getUid1Ev.__index__ = Runtime.getFunctionIndex(__ZNK9btHashInt7getUid1Ev, "__ZNK9btHashInt7getUid1Ev");
  
  
  function __ZN34btDefaultCollisionConstructionInfoC1Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0;
    IHEAP[_1] = 0;
    var _2 = _this_addr;
    var _3 = _2+4;
    IHEAP[_3] = 0;
    var _4 = _this_addr;
    var _5 = _4+8;
    IHEAP[_5] = 0;
    var _6 = _this_addr;
    var _7 = _6+12;
    IHEAP[_7] = 4096;
    var _8 = _this_addr;
    var _9 = _8+16;
    IHEAP[_9] = 4096;
    var _10 = _this_addr;
    var _11 = _10+20;
    IHEAP[_11] = 0;
    var _12 = _this_addr;
    var _13 = _12+24;
    IHEAP[_13] = 0;
    var _14 = _this_addr;
    var _15 = _14+28;
    IHEAP[_15] = 1;
    ;
    ;
    return;
  }
  __ZN34btDefaultCollisionConstructionInfoC1Ev.__index__ = Runtime.getFunctionIndex(__ZN34btDefaultCollisionConstructionInfoC1Ev, "__ZN34btDefaultCollisionConstructionInfoC1Ev");
  
  
  function __ZN13btMotionStateC2Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0;
    IHEAP[_1] = __ZTV13btMotionState+8;
    ;
    ;
    return;
  }
  __ZN13btMotionStateC2Ev.__index__ = Runtime.getFunctionIndex(__ZN13btMotionStateC2Ev, "__ZN13btMotionStateC2Ev");
  
  
  function __ZN13btMotionStateD1Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0;
    IHEAP[_1] = __ZTV13btMotionState+8;
    ;
    var _2 = 0;
    var _toBool = _2 != 0;
    ;
    if (_toBool) {
      ;
      var _3 = _this_addr;
      var _4 = _3;
      __ZdlPv(_4);
      ;
    }
    ;
    ;
    return;
  }
  __ZN13btMotionStateD1Ev.__index__ = Runtime.getFunctionIndex(__ZN13btMotionStateD1Ev, "__ZN13btMotionStateD1Ev");
  
  
  function __ZN13btMotionStateD0Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0;
    IHEAP[_1] = __ZTV13btMotionState+8;
    ;
    var _2 = 1;
    var _toBool = _2 != 0;
    ;
    if (_toBool) {
      ;
      var _3 = _this_addr;
      var _4 = _3;
      __ZdlPv(_4);
      ;
    }
    ;
    ;
    return;
  }
  __ZN13btMotionStateD0Ev.__index__ = Runtime.getFunctionIndex(__ZN13btMotionStateD0Ev, "__ZN13btMotionStateD0Ev");
  
  
  function __ZN20btDefaultMotionStateC1ERK11btTransformS2_(_this, _startTrans, _centerOfMassOffset) {
    ;
    var __label__;
    var _this_addr;
    var _startTrans_addr;
    var _centerOfMassOffset_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _startTrans_addr = _startTrans;
    _centerOfMassOffset_addr = _centerOfMassOffset;
    var _0 = _this_addr;
    var _1 = _0;
    __ZN13btMotionStateC2Ev(_1);
    var _2 = _this_addr;
    var _3 = _2;
    var _4 = _3;
    IHEAP[_4] = __ZTV20btDefaultMotionState+8;
    var _5 = _this_addr;
    var _6 = _5+4;
    var _7 = _startTrans_addr;
    __ZN11btTransformC1ERKS_(_6, _7);
    var _8 = _this_addr;
    var _9 = _8+68;
    var _10 = _centerOfMassOffset_addr;
    __ZN11btTransformC1ERKS_(_9, _10);
    var _11 = _this_addr;
    var _12 = _11+132;
    var _13 = _startTrans_addr;
    __ZN11btTransformC1ERKS_(_12, _13);
    var _14 = _this_addr;
    var _15 = _14+196;
    IHEAP[_15] = 0;
    ;
    ;
    return;
  }
  __ZN20btDefaultMotionStateC1ERK11btTransformS2_.__index__ = Runtime.getFunctionIndex(__ZN20btDefaultMotionStateC1ERK11btTransformS2_, "__ZN20btDefaultMotionStateC1ERK11btTransformS2_");
  
  
  function __ZN20btDefaultMotionStateD1Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0;
    var _2 = _1;
    IHEAP[_2] = __ZTV20btDefaultMotionState+8;
    ;
    var _3 = 0;
    var _toBool = _3 != 0;
    ;
    if (_toBool) {
      ;
      var _4 = _this_addr;
      var _5 = _4;
      __ZdlPv(_5);
      ;
    }
    ;
    ;
    return;
  }
  __ZN20btDefaultMotionStateD1Ev.__index__ = Runtime.getFunctionIndex(__ZN20btDefaultMotionStateD1Ev, "__ZN20btDefaultMotionStateD1Ev");
  
  
  function __ZN20btDefaultMotionStateD0Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0;
    var _2 = _1;
    IHEAP[_2] = __ZTV20btDefaultMotionState+8;
    ;
    var _3 = 1;
    var _toBool = _3 != 0;
    ;
    if (_toBool) {
      ;
      var _4 = _this_addr;
      var _5 = _4;
      __ZdlPv(_5);
      ;
    }
    ;
    ;
    return;
  }
  __ZN20btDefaultMotionStateD0Ev.__index__ = Runtime.getFunctionIndex(__ZN20btDefaultMotionStateD0Ev, "__ZN20btDefaultMotionStateD0Ev");
  
  
  function __ZN11btRigidBody27btRigidBodyConstructionInfoC1EfP13btMotionStateP16btCollisionShapeRK9btVector3(_this, _mass, _motionState, _collisionShape, _localInertia) {
    ;
    var __label__;
    var _this_addr;
    var _mass_addr;
    var _motionState_addr;
    var _collisionShape_addr;
    var _localInertia_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _mass_addr = _mass;
    _motionState_addr = _motionState;
    _collisionShape_addr = _collisionShape;
    _localInertia_addr = _localInertia;
    var _0 = _this_addr;
    var _1 = _0;
    var _2 = _mass_addr;
    FHEAP[_1] = _2;
    var _3 = _this_addr;
    var _4 = _3+4;
    var _5 = _motionState_addr;
    IHEAP[_4] = _5;
    var _6 = _this_addr;
    var _7 = _6+8;
    __ZN11btTransformC1Ev(_7);
    var _8 = _this_addr;
    var _9 = _8+72;
    var _10 = _collisionShape_addr;
    IHEAP[_9] = _10;
    var _11 = _this_addr;
    var _12 = _11+76;
    var _13 = _localInertia_addr;
    var _14 = _12;
    var _15 = _13;
    var _16 = _14;
    var _17 = _15;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _14+4;
    var _20 = _15+4;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _14+8;
    var _23 = _15+8;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    var _25 = _14+12;
    var _26 = _15+12;
    var _27 = FHEAP[_26];
    FHEAP[_25] = _27;
    var _28 = _this_addr;
    var _29 = _28+92;
    FHEAP[_29] = 0;
    var _30 = _this_addr;
    var _31 = _30+96;
    FHEAP[_31] = 0;
    var _32 = _this_addr;
    var _33 = _32+100;
    FHEAP[_33] = 0.5;
    var _34 = _this_addr;
    var _35 = _34+104;
    FHEAP[_35] = 0;
    var _36 = _this_addr;
    var _37 = _36+108;
    FHEAP[_37] = 0.800000011920929;
    var _38 = _this_addr;
    var _39 = _38+112;
    FHEAP[_39] = 1;
    var _40 = _this_addr;
    var _41 = _40+116;
    IHEAP[_41] = 0;
    var _42 = _this_addr;
    var _43 = _42+120;
    FHEAP[_43] = 0.004999999888241291;
    var _44 = _this_addr;
    var _45 = _44+124;
    FHEAP[_45] = 0.009999999776482582;
    var _46 = _this_addr;
    var _47 = _46+128;
    FHEAP[_47] = 0.009999999776482582;
    var _48 = _this_addr;
    var _49 = _48+132;
    FHEAP[_49] = 0.009999999776482582;
    var _50 = _this_addr;
    var _51 = _50+8;
    __ZN11btTransform11setIdentityEv(_51);
    ;
    ;
    return;
  }
  __ZN11btRigidBody27btRigidBodyConstructionInfoC1EfP13btMotionStateP16btCollisionShapeRK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody27btRigidBodyConstructionInfoC1EfP13btMotionStateP16btCollisionShapeRK9btVector3, "__ZN11btRigidBody27btRigidBodyConstructionInfoC1EfP13btMotionStateP16btCollisionShapeRK9btVector3");
  
  
  function __ZN11btRigidBody14getMotionStateEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _1 = _this_addr;
    var _2 = _1+472;
    var _3 = IHEAP[_2];
    _0 = _3;
    var _4 = _0;
    _retval = _4;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZN11btRigidBody14getMotionStateEv.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody14getMotionStateEv, "__ZN11btRigidBody14getMotionStateEv");
  
  
  function __ZNK20btAlignedObjectArrayIP17btCollisionObjectE4sizeEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _1 = _this_addr;
    var _2 = _1+4;
    var _3 = IHEAP[_2];
    _0 = _3;
    var _4 = _0;
    _retval = _4;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK20btAlignedObjectArrayIP17btCollisionObjectE4sizeEv.__index__ = Runtime.getFunctionIndex(__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4sizeEv, "__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4sizeEv");
  
  
  function __ZNK20btAlignedObjectArrayIiE4sizeEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _1 = _this_addr;
    var _2 = _1+4;
    var _3 = IHEAP[_2];
    _0 = _3;
    var _4 = _0;
    _retval = _4;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK20btAlignedObjectArrayIiE4sizeEv.__index__ = Runtime.getFunctionIndex(__ZNK20btAlignedObjectArrayIiE4sizeEv, "__ZNK20btAlignedObjectArrayIiE4sizeEv");
  
  
  function __ZNK20btAlignedObjectArrayIiEixEi(_this, _n) {
    ;
    var __label__;
    var _this_addr;
    var _n_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _n_addr = _n;
    var _1 = _this_addr;
    var _2 = _1+12;
    var _3 = IHEAP[_2];
    var _4 = _n_addr;
    var _5 = _3+4*_4;
    _0 = _5;
    var _6 = _0;
    _retval = _6;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK20btAlignedObjectArrayIiEixEi.__index__ = Runtime.getFunctionIndex(__ZNK20btAlignedObjectArrayIiEixEi, "__ZNK20btAlignedObjectArrayIiEixEi");
  
  
  function __ZNK20btAlignedObjectArrayI14btTriangleInfoE4sizeEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _1 = _this_addr;
    var _2 = _1+4;
    var _3 = IHEAP[_2];
    _0 = _3;
    var _4 = _0;
    _retval = _4;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK20btAlignedObjectArrayI14btTriangleInfoE4sizeEv.__index__ = Runtime.getFunctionIndex(__ZNK20btAlignedObjectArrayI14btTriangleInfoE4sizeEv, "__ZNK20btAlignedObjectArrayI14btTriangleInfoE4sizeEv");
  
  
  function __ZNK20btAlignedObjectArrayI14btTriangleInfoEixEi(_this, _n) {
    ;
    var __label__;
    var _this_addr;
    var _n_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _n_addr = _n;
    var _1 = _this_addr;
    var _2 = _1+12;
    var _3 = IHEAP[_2];
    var _4 = _n_addr;
    var _5 = _3+16*_4;
    _0 = _5;
    var _6 = _0;
    _retval = _6;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK20btAlignedObjectArrayI14btTriangleInfoEixEi.__index__ = Runtime.getFunctionIndex(__ZNK20btAlignedObjectArrayI14btTriangleInfoEixEi, "__ZNK20btAlignedObjectArrayI14btTriangleInfoEixEi");
  
  
  function __ZNK20btAlignedObjectArrayI9btHashIntE4sizeEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _1 = _this_addr;
    var _2 = _1+4;
    var _3 = IHEAP[_2];
    _0 = _3;
    var _4 = _0;
    _retval = _4;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK20btAlignedObjectArrayI9btHashIntE4sizeEv.__index__ = Runtime.getFunctionIndex(__ZNK20btAlignedObjectArrayI9btHashIntE4sizeEv, "__ZNK20btAlignedObjectArrayI9btHashIntE4sizeEv");
  
  
  function __ZNK20btAlignedObjectArrayI9btHashIntEixEi(_this, _n) {
    ;
    var __label__;
    var _this_addr;
    var _n_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _n_addr = _n;
    var _1 = _this_addr;
    var _2 = _1+12;
    var _3 = IHEAP[_2];
    var _4 = _n_addr;
    var _5 = _3+4*_4;
    _0 = _5;
    var _6 = _0;
    _retval = _6;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK20btAlignedObjectArrayI9btHashIntEixEi.__index__ = Runtime.getFunctionIndex(__ZNK20btAlignedObjectArrayI9btHashIntEixEi, "__ZNK20btAlignedObjectArrayI9btHashIntEixEi");
  
  
  function __ZN20btAlignedObjectArrayIP17btCollisionObjectEixEi(_this, _n) {
    ;
    var __label__;
    var _this_addr;
    var _n_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _n_addr = _n;
    var _1 = _this_addr;
    var _2 = _1+12;
    var _3 = IHEAP[_2];
    var _4 = _n_addr;
    var _5 = _3+4*_4;
    _0 = _5;
    var _6 = _0;
    _retval = _6;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZN20btAlignedObjectArrayIP17btCollisionObjectEixEi.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIP17btCollisionObjectEixEi, "__ZN20btAlignedObjectArrayIP17btCollisionObjectEixEi");
  
  
  function __ZNK20btAlignedObjectArrayIP16btCollisionShapeE4sizeEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _1 = _this_addr;
    var _2 = _1+4;
    var _3 = IHEAP[_2];
    _0 = _3;
    var _4 = _0;
    _retval = _4;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK20btAlignedObjectArrayIP16btCollisionShapeE4sizeEv.__index__ = Runtime.getFunctionIndex(__ZNK20btAlignedObjectArrayIP16btCollisionShapeE4sizeEv, "__ZNK20btAlignedObjectArrayIP16btCollisionShapeE4sizeEv");
  
  
  function __ZN20btAlignedObjectArrayIP16btCollisionShapeEixEi(_this, _n) {
    ;
    var __label__;
    var _this_addr;
    var _n_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _n_addr = _n;
    var _1 = _this_addr;
    var _2 = _1+12;
    var _3 = IHEAP[_2];
    var _4 = _n_addr;
    var _5 = _3+4*_4;
    _0 = _5;
    var _6 = _0;
    _retval = _6;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZN20btAlignedObjectArrayIP16btCollisionShapeEixEi.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIP16btCollisionShapeEixEi, "__ZN20btAlignedObjectArrayIP16btCollisionShapeEixEi");
  
  
  function __ZN20btAlignedObjectArrayIiE4initEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0+16;
    IHEAP[_1] = 1;
    var _2 = _this_addr;
    var _3 = _2+12;
    IHEAP[_3] = 0;
    var _4 = _this_addr;
    var _5 = _4+4;
    IHEAP[_5] = 0;
    var _6 = _this_addr;
    var _7 = _6+8;
    IHEAP[_7] = 0;
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIiE4initEv.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIiE4initEv, "__ZN20btAlignedObjectArrayIiE4initEv");
  
  
  function __ZN20btAlignedObjectArrayI9btHashIntE4initEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0+16;
    IHEAP[_1] = 1;
    var _2 = _this_addr;
    var _3 = _2+12;
    IHEAP[_3] = 0;
    var _4 = _this_addr;
    var _5 = _4+4;
    IHEAP[_5] = 0;
    var _6 = _this_addr;
    var _7 = _6+8;
    IHEAP[_7] = 0;
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI9btHashIntE4initEv.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI9btHashIntE4initEv, "__ZN20btAlignedObjectArrayI9btHashIntE4initEv");
  
  
  function __ZN20btAlignedObjectArrayI14btTriangleInfoE4initEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0+16;
    IHEAP[_1] = 1;
    var _2 = _this_addr;
    var _3 = _2+12;
    IHEAP[_3] = 0;
    var _4 = _this_addr;
    var _5 = _4+4;
    IHEAP[_5] = 0;
    var _6 = _this_addr;
    var _7 = _6+8;
    IHEAP[_7] = 0;
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI14btTriangleInfoE4initEv.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI14btTriangleInfoE4initEv, "__ZN20btAlignedObjectArrayI14btTriangleInfoE4initEv");
  
  
  function __ZN20btAlignedObjectArrayIiE7destroyEii(_this, _first, _last) {
    ;
    var __label__;
    var _this_addr;
    var _first_addr;
    var _last_addr;
    var _i;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _first_addr = _first;
    _last_addr = _last;
    var _0 = _first_addr;
    _i = _0;
    ;
    _bb1$409: while(1) { // _bb1
      var _6 = _i;
      var _7 = _last_addr;
      var _8 = _6 < _7;
      if (!(_8)) { __label__ = 0; /* _bb2 */ break _bb1$409; }
      var _1 = _this_addr;
      var _2 = _1+12;
      var _3 = IHEAP[_2];
      var _4 = _i;
      var _5 = _4 + 1;
      _i = _5;
      __label__ = 75; /* _bb1 */ continue _bb1$409;
    }
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIiE7destroyEii.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIiE7destroyEii, "__ZN20btAlignedObjectArrayIiE7destroyEii");
  
  
  function __ZN20btAlignedObjectArrayIP16btCollisionShapeE4initEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0+16;
    IHEAP[_1] = 1;
    var _2 = _this_addr;
    var _3 = _2+12;
    IHEAP[_3] = 0;
    var _4 = _this_addr;
    var _5 = _4+4;
    IHEAP[_5] = 0;
    var _6 = _this_addr;
    var _7 = _6+8;
    IHEAP[_7] = 0;
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIP16btCollisionShapeE4initEv.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIP16btCollisionShapeE4initEv, "__ZN20btAlignedObjectArrayIP16btCollisionShapeE4initEv");
  
  
  function __ZN20btAlignedObjectArrayIP16btCollisionShapeEC1Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0;
    __ZN18btAlignedAllocatorIP16btCollisionShapeLj16EEC1Ev(_1);
    var _2 = _this_addr;
    __ZN20btAlignedObjectArrayIP16btCollisionShapeE4initEv(_2);
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIP16btCollisionShapeEC1Ev.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIP16btCollisionShapeEC1Ev, "__ZN20btAlignedObjectArrayIP16btCollisionShapeEC1Ev");
  
  
  function __ZNK20btAlignedObjectArrayIP16btCollisionShapeE8capacityEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _1 = _this_addr;
    var _2 = _1+8;
    var _3 = IHEAP[_2];
    _0 = _3;
    var _4 = _0;
    _retval = _4;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK20btAlignedObjectArrayIP16btCollisionShapeE8capacityEv.__index__ = Runtime.getFunctionIndex(__ZNK20btAlignedObjectArrayIP16btCollisionShapeE8capacityEv, "__ZNK20btAlignedObjectArrayIP16btCollisionShapeE8capacityEv");
  
  
  function __ZN20btAlignedObjectArrayIP16btCollisionShapeE7destroyEii(_this, _first, _last) {
    ;
    var __label__;
    var _this_addr;
    var _first_addr;
    var _last_addr;
    var _i;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _first_addr = _first;
    _last_addr = _last;
    var _0 = _first_addr;
    _i = _0;
    ;
    _bb1$429: while(1) { // _bb1
      var _6 = _i;
      var _7 = _last_addr;
      var _8 = _6 < _7;
      if (!(_8)) { __label__ = 0; /* _bb2 */ break _bb1$429; }
      var _1 = _this_addr;
      var _2 = _1+12;
      var _3 = IHEAP[_2];
      var _4 = _i;
      var _5 = _4 + 1;
      _i = _5;
      __label__ = 75; /* _bb1 */ continue _bb1$429;
    }
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIP16btCollisionShapeE7destroyEii.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIP16btCollisionShapeE7destroyEii, "__ZN20btAlignedObjectArrayIP16btCollisionShapeE7destroyEii");
  
  
  function __ZN20btAlignedObjectArrayI9btHashIntE7destroyEii(_this, _first, _last) {
    ;
    var __label__;
    var _this_addr;
    var _first_addr;
    var _last_addr;
    var _i;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _first_addr = _first;
    _last_addr = _last;
    var _0 = _first_addr;
    _i = _0;
    ;
    _bb1$435: while(1) { // _bb1
      var _8 = _i;
      var _9 = _last_addr;
      var _10 = _8 < _9;
      if (!(_10)) { __label__ = 0; /* _bb2 */ break _bb1$435; }
      var _1 = _this_addr;
      var _2 = _1+12;
      var _3 = IHEAP[_2];
      var _4 = _i;
      var _5 = _3+4*_4;
      __ZN9btHashIntD1Ev(_5);
      var _6 = _i;
      var _7 = _6 + 1;
      _i = _7;
      __label__ = 75; /* _bb1 */ continue _bb1$435;
    }
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI9btHashIntE7destroyEii.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI9btHashIntE7destroyEii, "__ZN20btAlignedObjectArrayI9btHashIntE7destroyEii");
  
  
  function __ZN20btAlignedObjectArrayI14btTriangleInfoE7destroyEii(_this, _first, _last) {
    ;
    var __label__;
    var _this_addr;
    var _first_addr;
    var _last_addr;
    var _i;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _first_addr = _first;
    _last_addr = _last;
    var _0 = _first_addr;
    _i = _0;
    ;
    _bb1$441: while(1) { // _bb1
      var _8 = _i;
      var _9 = _last_addr;
      var _10 = _8 < _9;
      if (!(_10)) { __label__ = 0; /* _bb2 */ break _bb1$441; }
      var _1 = _this_addr;
      var _2 = _1+12;
      var _3 = IHEAP[_2];
      var _4 = _i;
      var _5 = _3+16*_4;
      __ZN14btTriangleInfoD1Ev(_5);
      var _6 = _i;
      var _7 = _6 + 1;
      _i = _7;
      __label__ = 75; /* _bb1 */ continue _bb1$441;
    }
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI14btTriangleInfoE7destroyEii.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI14btTriangleInfoE7destroyEii, "__ZN20btAlignedObjectArrayI14btTriangleInfoE7destroyEii");
  
  
  function __ZN17btTypedConstraintD0Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0;
    IHEAP[_1] = __ZTV17btTypedConstraint+8;
    ;
    var _2 = 1;
    var _toBool = _2 != 0;
    ;
    if (_toBool) {
      ;
      var _3 = _this_addr;
      var _4 = _3;
      __ZdlPv(_4);
      ;
    }
    ;
    ;
    return;
  }
  __ZN17btTypedConstraintD0Ev.__index__ = Runtime.getFunctionIndex(__ZN17btTypedConstraintD0Ev, "__ZN17btTypedConstraintD0Ev");
  
  
  function __ZN17btTypedConstraintD1Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0;
    IHEAP[_1] = __ZTV17btTypedConstraint+8;
    ;
    var _2 = 0;
    var _toBool = _2 != 0;
    ;
    if (_toBool) {
      ;
      var _3 = _this_addr;
      var _4 = _3;
      __ZdlPv(_4);
      ;
    }
    ;
    ;
    return;
  }
  __ZN17btTypedConstraintD1Ev.__index__ = Runtime.getFunctionIndex(__ZN17btTypedConstraintD1Ev, "__ZN17btTypedConstraintD1Ev");
  
  
  function __ZN20btAlignedObjectArrayI9btHashIntE10deallocateEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0+12;
    var _2 = IHEAP[_1];
    var _3 = _2 != 0;
    ;
    if (_3) {
      ;
      var _4 = _this_addr;
      var _5 = _4+16;
      var _6 = IHEAP[_5];
      var _toBool = _6 != 0;
      ;
      if (_toBool) {
        ;
        var _7 = _this_addr;
        var _8 = _7+12;
        var _9 = IHEAP[_8];
        var _10 = _this_addr;
        var _11 = _10;
        __ZN18btAlignedAllocatorI9btHashIntLj16EE10deallocateEPS0_(_11, _9);
        ;
      }
      var _12 = _this_addr;
      var _13 = _12+12;
      IHEAP[_13] = 0;
      ;
    }
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI9btHashIntE10deallocateEv.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI9btHashIntE10deallocateEv, "__ZN20btAlignedObjectArrayI9btHashIntE10deallocateEv");
  
  
  function __ZN20btAlignedObjectArrayI14btTriangleInfoE10deallocateEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0+12;
    var _2 = IHEAP[_1];
    var _3 = _2 != 0;
    ;
    if (_3) {
      ;
      var _4 = _this_addr;
      var _5 = _4+16;
      var _6 = IHEAP[_5];
      var _toBool = _6 != 0;
      ;
      if (_toBool) {
        ;
        var _7 = _this_addr;
        var _8 = _7+12;
        var _9 = IHEAP[_8];
        var _10 = _this_addr;
        var _11 = _10;
        __ZN18btAlignedAllocatorI14btTriangleInfoLj16EE10deallocateEPS0_(_11, _9);
        ;
      }
      var _12 = _this_addr;
      var _13 = _12+12;
      IHEAP[_13] = 0;
      ;
    }
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI14btTriangleInfoE10deallocateEv.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI14btTriangleInfoE10deallocateEv, "__ZN20btAlignedObjectArrayI14btTriangleInfoE10deallocateEv");
  
  
  function __ZN20btAlignedObjectArrayIiE10deallocateEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0+12;
    var _2 = IHEAP[_1];
    var _3 = _2 != 0;
    ;
    if (_3) {
      ;
      var _4 = _this_addr;
      var _5 = _4+16;
      var _6 = IHEAP[_5];
      var _toBool = _6 != 0;
      ;
      if (_toBool) {
        ;
        var _7 = _this_addr;
        var _8 = _7+12;
        var _9 = IHEAP[_8];
        var _10 = _this_addr;
        var _11 = _10;
        __ZN18btAlignedAllocatorIiLj16EE10deallocateEPi(_11, _9);
        ;
      }
      var _12 = _this_addr;
      var _13 = _12+12;
      IHEAP[_13] = 0;
      ;
    }
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIiE10deallocateEv.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIiE10deallocateEv, "__ZN20btAlignedObjectArrayIiE10deallocateEv");
  
  
  function __ZN17btTriangleInfoMapD0Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0;
    IHEAP[_1] = __ZTV17btTriangleInfoMap+8;
    var _2 = _this_addr;
    var _3 = _2;
    var _4 = 4;
    var _5 = _3 + _4;
    var _6 = _5;
    var _7 = _6;
    __ZN9btHashMapI9btHashInt14btTriangleInfoED2Ev(_7);
    ;
    var _8 = 1;
    var _toBool = _8 != 0;
    ;
    if (_toBool) {
      ;
      var _9 = _this_addr;
      var _10 = _9;
      __ZdlPv(_10);
      ;
    }
    ;
    ;
    return;
  }
  __ZN17btTriangleInfoMapD0Ev.__index__ = Runtime.getFunctionIndex(__ZN17btTriangleInfoMapD0Ev, "__ZN17btTriangleInfoMapD0Ev");
  
  
  function __ZN17btTriangleInfoMapD1Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0;
    IHEAP[_1] = __ZTV17btTriangleInfoMap+8;
    var _2 = _this_addr;
    var _3 = _2;
    var _4 = 4;
    var _5 = _3 + _4;
    var _6 = _5;
    var _7 = _6;
    __ZN9btHashMapI9btHashInt14btTriangleInfoED2Ev(_7);
    ;
    var _8 = 0;
    var _toBool = _8 != 0;
    ;
    if (_toBool) {
      ;
      var _9 = _this_addr;
      var _10 = _9;
      __ZdlPv(_10);
      ;
    }
    ;
    ;
    return;
  }
  __ZN17btTriangleInfoMapD1Ev.__index__ = Runtime.getFunctionIndex(__ZN17btTriangleInfoMapD1Ev, "__ZN17btTriangleInfoMapD1Ev");
  
  
  function __ZN20btAlignedObjectArrayIP16btCollisionShapeE10deallocateEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0+12;
    var _2 = IHEAP[_1];
    var _3 = _2 != 0;
    ;
    if (_3) {
      ;
      var _4 = _this_addr;
      var _5 = _4+16;
      var _6 = IHEAP[_5];
      var _toBool = _6 != 0;
      ;
      if (_toBool) {
        ;
        var _7 = _this_addr;
        var _8 = _7+12;
        var _9 = IHEAP[_8];
        var _10 = _this_addr;
        var _11 = _10;
        __ZN18btAlignedAllocatorIP16btCollisionShapeLj16EE10deallocateEPS1_(_11, _9);
        ;
      }
      var _12 = _this_addr;
      var _13 = _12+12;
      IHEAP[_13] = 0;
      ;
    }
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIP16btCollisionShapeE10deallocateEv.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIP16btCollisionShapeE10deallocateEv, "__ZN20btAlignedObjectArrayIP16btCollisionShapeE10deallocateEv");
  
  
  function __ZN13btSphereShapeC1Ef(_this, _radius) {
    ;
    var __label__;
    var _this_addr;
    var _radius_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _radius_addr = _radius;
    var _0 = _this_addr;
    var _1 = _0;
    __ZN21btConvexInternalShapeC2Ev(_1);
    var _2 = _this_addr;
    var _3 = _2;
    var _4 = _3;
    var _5 = _4;
    var _6 = _5;
    IHEAP[_6] = __ZTV13btSphereShape+8;
    var _7 = _this_addr;
    var _8 = _7;
    var _9 = _8;
    var _10 = _9;
    var _11 = _10+4;
    IHEAP[_11] = 8;
    var _12 = _this_addr;
    var _13 = _12;
    var _14 = _13+28;
    var _15 = _radius_addr;
    __ZN9btVector34setXEf(_14, _15);
    var _16 = _this_addr;
    var _17 = _16;
    var _18 = _17+44;
    var _19 = _radius_addr;
    FHEAP[_18] = _19;
    ;
    ;
    return;
  }
  __ZN13btSphereShapeC1Ef.__index__ = Runtime.getFunctionIndex(__ZN13btSphereShapeC1Ef, "__ZN13btSphereShapeC1Ef");
  
  
  function __ZN12btAxisSweep3C2ERK9btVector3S2_tP22btOverlappingPairCacheb(_this, _worldAabbMin, _worldAabbMax, _maxHandles, _pairCache, _disableRaycastAccelerator) {
    ;
    var __label__;
    var _0 = _this;
    __ZN20btAxisSweep3InternalItEC2ERK9btVector3S3_tttP22btOverlappingPairCacheb(_0, _worldAabbMin, _worldAabbMax, -2, -1, _maxHandles, _pairCache, _disableRaycastAccelerator);
    var _1 = _this;
    IHEAP[_1] = __ZTV12btAxisSweep3+8;
    ;
    return;
  }
  __ZN12btAxisSweep3C2ERK9btVector3S2_tP22btOverlappingPairCacheb.__index__ = Runtime.getFunctionIndex(__ZN12btAxisSweep3C2ERK9btVector3S2_tP22btOverlappingPairCacheb, "__ZN12btAxisSweep3C2ERK9btVector3S2_tP22btOverlappingPairCacheb");
  
  
  function __ZN15btNullPairCache23getOverlappingPairArrayEv(_this) {
    ;
    var __label__;
    var _0 = _this+4;
    ;
    return _0;
  }
  __ZN15btNullPairCache23getOverlappingPairArrayEv.__index__ = Runtime.getFunctionIndex(__ZN15btNullPairCache23getOverlappingPairArrayEv, "__ZN15btNullPairCache23getOverlappingPairArrayEv");
  
  
  function __ZN15btNullPairCache26getOverlappingPairArrayPtrEv(_this) {
    ;
    var __label__;
    var _0 = _this+4+12;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZN15btNullPairCache26getOverlappingPairArrayPtrEv.__index__ = Runtime.getFunctionIndex(__ZN15btNullPairCache26getOverlappingPairArrayPtrEv, "__ZN15btNullPairCache26getOverlappingPairArrayPtrEv");
  
  
  function __ZNK15btNullPairCache26getOverlappingPairArrayPtrEv(_this) {
    ;
    var __label__;
    var _0 = _this+4+12;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK15btNullPairCache26getOverlappingPairArrayPtrEv.__index__ = Runtime.getFunctionIndex(__ZNK15btNullPairCache26getOverlappingPairArrayPtrEv, "__ZNK15btNullPairCache26getOverlappingPairArrayPtrEv");
  
  
  function __ZN21btBroadphaseInterfaceD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btBroadphaseInterface+8;
    ;
    return;
  }
  __ZN21btBroadphaseInterfaceD1Ev.__index__ = Runtime.getFunctionIndex(__ZN21btBroadphaseInterfaceD1Ev, "__ZN21btBroadphaseInterfaceD1Ev");
  
  
  function __ZN21btBroadphaseInterfaceD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btBroadphaseInterface+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN21btBroadphaseInterfaceD0Ev.__index__ = Runtime.getFunctionIndex(__ZN21btBroadphaseInterfaceD0Ev, "__ZN21btBroadphaseInterfaceD0Ev");
  
  
  function __ZN25btOverlappingPairCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btOverlappingPairCallback+8;
    ;
    return;
  }
  __ZN25btOverlappingPairCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN25btOverlappingPairCallbackD1Ev, "__ZN25btOverlappingPairCallbackD1Ev");
  
  
  function __ZN25btOverlappingPairCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btOverlappingPairCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN25btOverlappingPairCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN25btOverlappingPairCallbackD0Ev, "__ZN25btOverlappingPairCallbackD0Ev");
  
  
  function __ZN22btOverlappingPairCacheD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV22btOverlappingPairCache+8;
    ;
    return;
  }
  __ZN22btOverlappingPairCacheD1Ev.__index__ = Runtime.getFunctionIndex(__ZN22btOverlappingPairCacheD1Ev, "__ZN22btOverlappingPairCacheD1Ev");
  
  
  function __ZN22btOverlappingPairCacheD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV22btOverlappingPairCache+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN22btOverlappingPairCacheD0Ev.__index__ = Runtime.getFunctionIndex(__ZN22btOverlappingPairCacheD0Ev, "__ZN22btOverlappingPairCacheD0Ev");
  
  
  function __ZNK20btAxisSweep3InternalIjE7getAabbEP17btBroadphaseProxyR9btVector3S4_(_this, _proxy, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _aabbMin;
    var _1 = _proxy+16;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _aabbMin+4;
    var _4 = _proxy+16+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _aabbMin+8;
    var _7 = _proxy+16+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _aabbMin+12;
    var _10 = _proxy+16+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _aabbMax;
    var _13 = _proxy+32;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _aabbMax+4;
    var _16 = _proxy+32+4;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _aabbMax+8;
    var _19 = _proxy+32+8;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _aabbMax+12;
    var _22 = _proxy+32+12;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    ;
    return;
  }
  __ZNK20btAxisSweep3InternalIjE7getAabbEP17btBroadphaseProxyR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK20btAxisSweep3InternalIjE7getAabbEP17btBroadphaseProxyR9btVector3S4_, "__ZNK20btAxisSweep3InternalIjE7getAabbEP17btBroadphaseProxyR9btVector3S4_");
  
  
  function __ZN20btAxisSweep3InternalIjE23getOverlappingPairCacheEv(_this) {
    ;
    var __label__;
    var _0 = _this+100;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZN20btAxisSweep3InternalIjE23getOverlappingPairCacheEv.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjE23getOverlappingPairCacheEv, "__ZN20btAxisSweep3InternalIjE23getOverlappingPairCacheEv");
  
  
  function __ZNK20btAxisSweep3InternalIjE23getOverlappingPairCacheEv(_this) {
    ;
    var __label__;
    var _0 = _this+100;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK20btAxisSweep3InternalIjE23getOverlappingPairCacheEv.__index__ = Runtime.getFunctionIndex(__ZNK20btAxisSweep3InternalIjE23getOverlappingPairCacheEv, "__ZNK20btAxisSweep3InternalIjE23getOverlappingPairCacheEv");
  
  
  function __ZNK20btAxisSweep3InternalIjE17getBroadphaseAabbER9btVector3S2_(_this, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _aabbMin;
    var _1 = _this+12;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _aabbMin+4;
    var _4 = _this+12+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _aabbMin+8;
    var _7 = _this+12+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _aabbMin+12;
    var _10 = _this+12+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _aabbMax;
    var _13 = _this+28;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _aabbMax+4;
    var _16 = _this+28+4;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _aabbMax+8;
    var _19 = _this+28+8;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _aabbMax+12;
    var _22 = _this+28+12;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    ;
    return;
  }
  __ZNK20btAxisSweep3InternalIjE17getBroadphaseAabbER9btVector3S2_.__index__ = Runtime.getFunctionIndex(__ZNK20btAxisSweep3InternalIjE17getBroadphaseAabbER9btVector3S2_, "__ZNK20btAxisSweep3InternalIjE17getBroadphaseAabbER9btVector3S2_");
  
  
  function __ZN20btAxisSweep3InternalIjE9resetPoolEP12btDispatcher(_this, _dispatcher) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+60;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (_2) {
      ;
      var _3 = _this+72;
      IHEAP[_3] = 1;
      var _4 = _this+64;
      var _5 = IHEAP[_4];
      var _6 = unSign(_5, 32) > unSign(1, 32);
      ;
      _bb_nph$_bb3$675: do { 
        if (_6) {
          __lastLabel__ = 60; ;
          var _7 = _this+68;
          __lastLabel__ = 130; ;
          _bb1$677: while(1) { // _bb1
            var _indvar = __lastLabel__ == 130 ? 0 : (_tmp);
            var _tmp = _indvar + 1;
            var _tmp6 = _indvar + 2;
            var _8 = IHEAP[_7];
            var _scevgep = _8+76*_tmp+48;
            IHEAP[_scevgep] = _tmp6;
            var _9 = IHEAP[_4];
            var _10 = unSign(_9, 32) > unSign(_tmp6, 32);
            if (_10) { __lastLabel__ = 75; __label__ = 75; /* _bb1 */ continue _bb1$677; } else { __lastLabel__ = 75; __label__ = 116; /* _bb3 */ break _bb_nph$_bb3$675; }
          }
        }
        else {
          __lastLabel__ = 60; ;
        }
      } while(0);
      var _11 = __lastLabel__ == 60 ? _5 : (_9);
      var _12 = _this+68;
      var _13 = IHEAP[_12];
      var _14 = _11 + -1;
      var _15 = _13+76*_14+48;
      IHEAP[_15] = 0;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN20btAxisSweep3InternalIjE9resetPoolEP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjE9resetPoolEP12btDispatcher, "__ZN20btAxisSweep3InternalIjE9resetPoolEP12btDispatcher");
  
  
  function __ZNK20btAxisSweep3InternalItE7getAabbEP17btBroadphaseProxyR9btVector3S4_(_this, _proxy, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _aabbMin;
    var _1 = _proxy+16;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _aabbMin+4;
    var _4 = _proxy+16+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _aabbMin+8;
    var _7 = _proxy+16+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _aabbMin+12;
    var _10 = _proxy+16+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _aabbMax;
    var _13 = _proxy+32;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _aabbMax+4;
    var _16 = _proxy+32+4;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _aabbMax+8;
    var _19 = _proxy+32+8;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _aabbMax+12;
    var _22 = _proxy+32+12;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    ;
    return;
  }
  __ZNK20btAxisSweep3InternalItE7getAabbEP17btBroadphaseProxyR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK20btAxisSweep3InternalItE7getAabbEP17btBroadphaseProxyR9btVector3S4_, "__ZNK20btAxisSweep3InternalItE7getAabbEP17btBroadphaseProxyR9btVector3S4_");
  
  
  function __ZN20btAxisSweep3InternalItE23getOverlappingPairCacheEv(_this) {
    ;
    var __label__;
    var _0 = _this+92;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZN20btAxisSweep3InternalItE23getOverlappingPairCacheEv.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItE23getOverlappingPairCacheEv, "__ZN20btAxisSweep3InternalItE23getOverlappingPairCacheEv");
  
  
  function __ZNK20btAxisSweep3InternalItE23getOverlappingPairCacheEv(_this) {
    ;
    var __label__;
    var _0 = _this+92;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK20btAxisSweep3InternalItE23getOverlappingPairCacheEv.__index__ = Runtime.getFunctionIndex(__ZNK20btAxisSweep3InternalItE23getOverlappingPairCacheEv, "__ZNK20btAxisSweep3InternalItE23getOverlappingPairCacheEv");
  
  
  function __ZNK20btAxisSweep3InternalItE17getBroadphaseAabbER9btVector3S2_(_this, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _aabbMin;
    var _1 = _this+8;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _aabbMin+4;
    var _4 = _this+8+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _aabbMin+8;
    var _7 = _this+8+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _aabbMin+12;
    var _10 = _this+8+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _aabbMax;
    var _13 = _this+24;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _aabbMax+4;
    var _16 = _this+24+4;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _aabbMax+8;
    var _19 = _this+24+8;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _aabbMax+12;
    var _22 = _this+24+12;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    ;
    return;
  }
  __ZNK20btAxisSweep3InternalItE17getBroadphaseAabbER9btVector3S2_.__index__ = Runtime.getFunctionIndex(__ZNK20btAxisSweep3InternalItE17getBroadphaseAabbER9btVector3S2_, "__ZNK20btAxisSweep3InternalItE17getBroadphaseAabbER9btVector3S2_");
  
  
  function __ZN20btAxisSweep3InternalItE9resetPoolEP12btDispatcher(_this, _dispatcher) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+56;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (_2) {
      ;
      var _3 = _this+64;
      IHEAP[_3] = 1;
      var _4 = _this+58;
      var _5 = IHEAP[_4];
      var _6 = unSign(_5, 16) > unSign(1, 16);
      ;
      _bb_nph$_bb3$689: do { 
        if (_6) {
          __lastLabel__ = 60; ;
          var _7 = _this+60;
          __lastLabel__ = 130; ;
          _bb1$691: while(1) { // _bb1
            var _indvar = __lastLabel__ == 130 ? 0 : (_i_05);
            var _i_05 = _indvar + 1;
            var _tmp = _indvar + 2;
            var _8 = IHEAP[_7];
            var _9 = _i_05;
            var _10 = _8+68*_9+48;
            IHEAP[_10] = _tmp;
            var _11 = IHEAP[_4];
            var _12 = unSign(_11, 16) > unSign(_tmp, 16);
            if (_12) { __lastLabel__ = 75; __label__ = 75; /* _bb1 */ continue _bb1$691; } else { __lastLabel__ = 75; __label__ = 116; /* _bb3 */ break _bb_nph$_bb3$689; }
          }
        }
        else {
          __lastLabel__ = 60; ;
        }
      } while(0);
      var _13 = __lastLabel__ == 60 ? _5 : (_11);
      var _14 = _this+60;
      var _15 = IHEAP[_14];
      var _16 = _13;
      var _17 = _16 + -1;
      var _18 = _15+68*_17+48;
      IHEAP[_18] = 0;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN20btAxisSweep3InternalItE9resetPoolEP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItE9resetPoolEP12btDispatcher, "__ZN20btAxisSweep3InternalItE9resetPoolEP12btDispatcher");
  
  
  function __ZNK20btAxisSweep3InternalIjE8quantizeEPjRK9btVector3i(_this, _out, _point, _isMax) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _point+8;
    var _1 = FHEAP[_0];
    var _2 = _this+12+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _point+4;
    var _6 = FHEAP[_5];
    var _7 = _this+12+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _point;
    var _11 = FHEAP[_10];
    var _12 = _this+12;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _this+44+8;
    var _16 = FHEAP[_15];
    var _17 = _4 * _16;
    var _18 = _this+44+4;
    var _19 = FHEAP[_18];
    var _20 = _9 * _19;
    var _21 = _this+44;
    var _22 = FHEAP[_21];
    var _23 = _14 * _22;
    var _24 = _23 > 0;
    ;
    if (_24) {
      __lastLabel__ = -1; ;
      var _25 = _this+8;
      var _26 = IHEAP[_25];
      var _27 = unSign(_26, 32);
      var _28 = _23 < _27;
      ;
      if (_28) {
        ;
        var _32 = Math.floor(_23);
        var _33 = _this+4;
        var _34 = IHEAP[_33];
        var _35 = _34 & _32;
        __lastLabel__ = 116; ;
      }
      else {
        ;
        var _29 = _this+4;
        var _30 = IHEAP[_29];
        var _31 = _30 & _26;
        __lastLabel__ = 0; ;
      }
      var __pn = __lastLabel__ == 0 ? _31 : (_35);
      var _iftmp_386_0 = __pn | _isMax;
      __lastLabel__ = 61; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _iftmp_385_0 = __lastLabel__ == 61 ? _iftmp_386_0 : (_isMax);
    IHEAP[_out] = _iftmp_385_0;
    var _36 = _20 > 0;
    ;
    if (_36) {
      __lastLabel__ = 82; ;
      var _37 = _this+8;
      var _38 = IHEAP[_37];
      var _39 = unSign(_38, 32);
      var _40 = _20 < _39;
      ;
      if (_40) {
        ;
        var _44 = Math.floor(_20);
        var _45 = _this+4;
        var _46 = IHEAP[_45];
        var _47 = _46 & _44;
        __lastLabel__ = 62; ;
      }
      else {
        ;
        var _41 = _this+4;
        var _42 = IHEAP[_41];
        var _43 = _42 & _38;
        __lastLabel__ = 148; ;
      }
      var __pn18 = __lastLabel__ == 148 ? _43 : (_47);
      var _iftmp_390_0 = __pn18 | _isMax;
      __lastLabel__ = 150; ;
    }
    else {
      __lastLabel__ = 82; ;
    }
    var _iftmp_389_0 = __lastLabel__ == 150 ? _iftmp_390_0 : (_isMax);
    var _48 = _out+4;
    IHEAP[_48] = _iftmp_389_0;
    var _49 = _17 > 0;
    ;
    if (_49) {
      __lastLabel__ = 292; ;
      var _50 = _this+8;
      var _51 = IHEAP[_50];
      var _52 = unSign(_51, 32);
      var _53 = _17 < _52;
      ;
      if (_53) {
        ;
        var _57 = Math.floor(_17);
        var _58 = _this+4;
        var _59 = IHEAP[_58];
        var _60 = _59 & _57;
        __lastLabel__ = 153; ;
      }
      else {
        ;
        var _54 = _this+4;
        var _55 = IHEAP[_54];
        var _56 = _55 & _51;
        __lastLabel__ = 63; ;
      }
      var __pn19 = __lastLabel__ == 63 ? _56 : (_60);
      var _iftmp_394_0 = __pn19 | _isMax;
      __lastLabel__ = 154; ;
    }
    else {
      __lastLabel__ = 292; ;
    }
    var _iftmp_393_0 = __lastLabel__ == 154 ? _iftmp_394_0 : (_isMax);
    var _61 = _out+8;
    IHEAP[_61] = _iftmp_393_0;
    ;
    return;
  }
  __ZNK20btAxisSweep3InternalIjE8quantizeEPjRK9btVector3i.__index__ = Runtime.getFunctionIndex(__ZNK20btAxisSweep3InternalIjE8quantizeEPjRK9btVector3i, "__ZNK20btAxisSweep3InternalIjE8quantizeEPjRK9btVector3i");
  
  
  function __ZNK20btAxisSweep3InternalItE8quantizeEPtRK9btVector3i(_this, _out, _point, _isMax) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _point+8;
    var _1 = FHEAP[_0];
    var _2 = _this+8+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _point+4;
    var _6 = FHEAP[_5];
    var _7 = _this+8+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _point;
    var _11 = FHEAP[_10];
    var _12 = _this+8;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _this+40+8;
    var _16 = FHEAP[_15];
    var _17 = _4 * _16;
    var _18 = _this+40+4;
    var _19 = FHEAP[_18];
    var _20 = _9 * _19;
    var _21 = _this+40;
    var _22 = FHEAP[_21];
    var _23 = _14 * _22;
    var _24 = _23 > 0;
    ;
    if (_24) {
      ;
      var _26 = _this+6;
      var _27 = IHEAP[_26];
      var _28 = _27;
      var _29 = _28;
      var _30 = _23 < _29;
      ;
      if (_30) {
        ;
        var _36 = Math.floor(_23);
        var _37 = _this+4;
        var _38 = IHEAP[_37];
        var _39 = _38 & _36;
        var _40 = _isMax;
        var _41 = _39 | _40;
        __lastLabel__ = 116; ;
      }
      else {
        ;
        var _31 = _this+4;
        var _32 = IHEAP[_31];
        var _33 = _32 & _27;
        var _34 = _isMax;
        var _35 = _33 | _34;
        __lastLabel__ = 0; ;
      }
    }
    else {
      ;
      var _25 = _isMax;
      __lastLabel__ = 60; ;
    }
    var _iftmp_444_0 = __lastLabel__ == 60 ? _25 : (__lastLabel__ == 0 ? _35 : (_41));
    IHEAP[_out] = _iftmp_444_0;
    var _42 = _20 > 0;
    ;
    if (_42) {
      ;
      var _44 = _this+6;
      var _45 = IHEAP[_44];
      var _46 = _45;
      var _47 = _46;
      var _48 = _20 < _47;
      ;
      if (_48) {
        ;
        var _54 = Math.floor(_20);
        var _55 = _this+4;
        var _56 = IHEAP[_55];
        var _57 = _56 & _54;
        var _58 = _isMax;
        var _59 = _57 | _58;
        __lastLabel__ = 62; ;
      }
      else {
        ;
        var _49 = _this+4;
        var _50 = IHEAP[_49];
        var _51 = _50 & _45;
        var _52 = _isMax;
        var _53 = _51 | _52;
        __lastLabel__ = 148; ;
      }
    }
    else {
      ;
      var _43 = _isMax;
      __lastLabel__ = 83; ;
    }
    var _iftmp_446_0 = __lastLabel__ == 83 ? _43 : (__lastLabel__ == 148 ? _53 : (_59));
    var _60 = _out+2;
    IHEAP[_60] = _iftmp_446_0;
    var _61 = _17 > 0;
    ;
    if (_61) {
      ;
      var _63 = _this+6;
      var _64 = IHEAP[_63];
      var _65 = _64;
      var _66 = _65;
      var _67 = _17 < _66;
      ;
      if (_67) {
        ;
        var _73 = Math.floor(_17);
        var _74 = _this+4;
        var _75 = IHEAP[_74];
        var _76 = _75 & _73;
        var _77 = _isMax;
        var _78 = _76 | _77;
        __lastLabel__ = 153; ;
      }
      else {
        ;
        var _68 = _this+4;
        var _69 = IHEAP[_68];
        var _70 = _69 & _64;
        var _71 = _isMax;
        var _72 = _70 | _71;
        __lastLabel__ = 63; ;
      }
    }
    else {
      ;
      var _62 = _isMax;
      __lastLabel__ = 3; ;
    }
    var _iftmp_448_0 = __lastLabel__ == 3 ? _62 : (__lastLabel__ == 63 ? _72 : (_78));
    var _79 = _out+4;
    IHEAP[_79] = _iftmp_448_0;
    ;
    return;
  }
  __ZNK20btAxisSweep3InternalItE8quantizeEPtRK9btVector3i.__index__ = Runtime.getFunctionIndex(__ZNK20btAxisSweep3InternalItE8quantizeEPtRK9btVector3i, "__ZNK20btAxisSweep3InternalItE8quantizeEPtRK9btVector3i");
  
  
  function __ZN20btAxisSweep3InternalIjE12destroyProxyEP17btBroadphaseProxyP12btDispatcher(_this, _proxy, _dispatcher) {
    ;
    var __label__;
    var _0 = _this+116;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (!_2) {
      ;
      var _3 = _1;
      var _4 = IHEAP[_3];
      var _5 = _4+12;
      var _6 = IHEAP[_5];
      var _7 = _proxy+48+16+8;
      var _8 = _7;
      var _9 = IHEAP[_8];
      var _10 = _6;
      FUNCTION_TABLE[_10](_1, _9, _dispatcher);
      ;
    }
    var _11 = _proxy+12;
    var _12 = IHEAP[_11];
    __ZN20btAxisSweep3InternalIjE12removeHandleEjP12btDispatcher(_this, _12, _dispatcher);
    ;
    return;
  }
  __ZN20btAxisSweep3InternalIjE12destroyProxyEP17btBroadphaseProxyP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjE12destroyProxyEP17btBroadphaseProxyP12btDispatcher, "__ZN20btAxisSweep3InternalIjE12destroyProxyEP17btBroadphaseProxyP12btDispatcher");
  
  
  function __ZN20btAxisSweep3InternalIjE12updateHandleEjRK9btVector3S3_P12btDispatcher(_this, _handle, _aabbMin, _aabbMax, _dispatcher) {
    var __stackBase__  = STACKTOP; STACKTOP += 24;
    var __label__;
    var __lastLabel__ = null;
    var _min = __stackBase__;
    var _max = __stackBase__+12;
    var _0 = _this+68;
    var _1 = IHEAP[_0];
    var _2 = _min;
    __ZNK20btAxisSweep3InternalIjE8quantizeEPjRK9btVector3i(_this, _2, _aabbMin, 0);
    var _3 = _max;
    __ZNK20btAxisSweep3InternalIjE8quantizeEPjRK9btVector3i(_this, _3, _aabbMax, 1);
    __lastLabel__ = 130; ;
    _bb$898: while(1) { // _bb
      var _4 = __lastLabel__ == 130 ? 0 : (_22);
      var _scevgep = _min+_4*4;
      var _scevgep12 = _max+_4*4;
      var _scevgep13 = _1+76*_handle+48+_4*4;
      var _scevgep14 = _1+76*_handle+60+_4*4;
      var _scevgep15 = _this+76+_4*4;
      var _5 = IHEAP[_scevgep13];
      var _6 = IHEAP[_scevgep14];
      var _7 = IHEAP[_scevgep];
      var _8 = IHEAP[_scevgep15];
      var _9 = _8+8*_5;
      var _10 = IHEAP[_9];
      var _11 = _7 - _10;
      var _12 = IHEAP[_scevgep12];
      var _13 = _8+8*_6;
      var _14 = IHEAP[_13];
      var _15 = _12 - _14;
      IHEAP[_9] = _7;
      var _16 = IHEAP[_scevgep15];
      var _17 = _16+8*_6;
      IHEAP[_17] = _12;
      var _18 = _11 < 0;
      ;
      if (_18) {
        ;
        __ZN20btAxisSweep3InternalIjE11sortMinDownEijP12btDispatcherb(_this, _4, _5, _dispatcher, 1);
        ;
      }
      var _19 = _15 > 0;
      ;
      if (_19) {
        ;
        __ZN20btAxisSweep3InternalIjE9sortMaxUpEijP12btDispatcherb(_this, _4, _6, _dispatcher, 1);
        ;
      }
      var _20 = _11 > 0;
      ;
      if (_20) {
        ;
        __ZN20btAxisSweep3InternalIjE9sortMinUpEijP12btDispatcherb(_this, _4, _5, _dispatcher, 1);
        ;
      }
      var _21 = _15 < 0;
      ;
      if (_21) {
        ;
        __ZN20btAxisSweep3InternalIjE11sortMaxDownEijP12btDispatcherb(_this, _4, _6, _dispatcher, 1);
        ;
      }
      var _22 = _4 + 1;
      var _exitcond = _22 == 3;
      if (_exitcond) { __lastLabel__ = 148; __label__ = 44; /* _return */ break _bb$898; } else { __lastLabel__ = 148; __label__ = 60; /* _bb */ continue _bb$898; }
    }
    STACKTOP = __stackBase__;
    return;
  }
  __ZN20btAxisSweep3InternalIjE12updateHandleEjRK9btVector3S3_P12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjE12updateHandleEjRK9btVector3S3_P12btDispatcher, "__ZN20btAxisSweep3InternalIjE12updateHandleEjRK9btVector3S3_P12btDispatcher");
  
  
  function __ZN20btAxisSweep3InternalIjE7setAabbEP17btBroadphaseProxyRK9btVector3S5_P12btDispatcher(_this, _proxy, _aabbMin, _aabbMax, _dispatcher) {
    ;
    var __label__;
    var _0 = _proxy+16;
    var _1 = _aabbMin;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _proxy+16+4;
    var _4 = _aabbMin+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _proxy+16+8;
    var _7 = _aabbMin+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _proxy+16+12;
    var _10 = _aabbMin+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _proxy+32;
    var _13 = _aabbMax;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _proxy+32+4;
    var _16 = _aabbMax+4;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _proxy+32+8;
    var _19 = _aabbMax+8;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _proxy+32+12;
    var _22 = _aabbMax+12;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    var _24 = _proxy+12;
    var _25 = IHEAP[_24];
    __ZN20btAxisSweep3InternalIjE12updateHandleEjRK9btVector3S3_P12btDispatcher(_this, _25, _aabbMin, _aabbMax, _dispatcher);
    var _26 = _this+116;
    var _27 = IHEAP[_26];
    var _28 = _27 == 0;
    ;
    if (_28) {
      ;
      ;
      return;
    }
    else {
      ;
      var _29 = _27;
      var _30 = IHEAP[_29];
      var _31 = _30+16;
      var _32 = IHEAP[_31];
      var _33 = _proxy+48+16+8;
      var _34 = _33;
      var _35 = IHEAP[_34];
      var _36 = _32;
      FUNCTION_TABLE[_36](_27, _35, _aabbMin, _aabbMax, _dispatcher);
      ;
      return;
    }
  }
  __ZN20btAxisSweep3InternalIjE7setAabbEP17btBroadphaseProxyRK9btVector3S5_P12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjE7setAabbEP17btBroadphaseProxyRK9btVector3S5_P12btDispatcher, "__ZN20btAxisSweep3InternalIjE7setAabbEP17btBroadphaseProxyRK9btVector3S5_P12btDispatcher");
  
  
  function __ZN20btAxisSweep3InternalIjE9addHandleERK9btVector3S3_PvssP12btDispatcherS4_(_this, _aabbMin, _aabbMax, _pOwner, _collisionFilterGroup, _collisionFilterMask, _dispatcher, _multiSapProxy) {
    var __stackBase__  = STACKTOP; STACKTOP += 24;
    var __label__;
    var _min = __stackBase__;
    var _max = __stackBase__+12;
    var _0 = _min;
    __ZNK20btAxisSweep3InternalIjE8quantizeEPjRK9btVector3i(_this, _0, _aabbMin, 0);
    var _1 = _max;
    __ZNK20btAxisSweep3InternalIjE8quantizeEPjRK9btVector3i(_this, _1, _aabbMax, 1);
    var _2 = _this+72;
    var _3 = IHEAP[_2];
    var _4 = _this+68;
    var _5 = IHEAP[_4];
    var _6 = _5+76*_3+48;
    var _7 = IHEAP[_6];
    IHEAP[_2] = _7;
    var _8 = _this+60;
    var _9 = IHEAP[_8];
    var _10 = _9 + 1;
    IHEAP[_8] = _10;
    var _11 = _5+76*_3+12;
    IHEAP[_11] = _3;
    var _12 = _5+76*_3;
    IHEAP[_12] = _pOwner;
    var _13 = _5+76*_3+4;
    IHEAP[_13] = _collisionFilterGroup;
    var _14 = _5+76*_3+6;
    IHEAP[_14] = _collisionFilterMask;
    var _15 = _5+76*_3+8;
    IHEAP[_15] = _multiSapProxy;
    var _16 = IHEAP[_8];
    var _17 = _16 << 1;
    var _18 = _17 | 1;
    var _19 = _17 + -1;
    var _scevgep8 = _this+76;
    var _scevgep10 = _5+76*_3+60;
    var _20 = IHEAP[_4];
    var _scevgep6 = _20+60;
    var _21 = IHEAP[_scevgep6];
    var _22 = _21 + 2;
    IHEAP[_scevgep6] = _22;
    var _23 = IHEAP[_scevgep8];
    var _24 = _23+8*_19;
    var _25 = IHEAP[_24];
    var _26 = _23+8*_19+4;
    var _27 = IHEAP[_26];
    var _28 = _23+8*_18;
    IHEAP[_28] = _25;
    var _29 = _23+8*_18+4;
    IHEAP[_29] = _27;
    var _30 = IHEAP[_scevgep8];
    var _31 = IHEAP[_0];
    var _32 = _30+8*_19;
    IHEAP[_32] = _31;
    var _33 = IHEAP[_scevgep8];
    var _34 = _33+8*_19+4;
    IHEAP[_34] = _3;
    var _35 = IHEAP[_scevgep8];
    var _36 = IHEAP[_1];
    var _37 = _35+8*_17;
    IHEAP[_37] = _36;
    var _38 = IHEAP[_scevgep8];
    var _39 = _38+8*_17+4;
    IHEAP[_39] = _3;
    IHEAP[_6] = _19;
    IHEAP[_scevgep10] = _17;
    var _scevgep_1 = _min+4;
    var _scevgep5_1 = _max+4;
    var _scevgep8_1 = _this+76+4;
    var _scevgep9_1 = _5+76*_3+48+4;
    var _scevgep10_1 = _5+76*_3+60+4;
    var _40 = IHEAP[_4];
    var _scevgep6_1 = _40+60+4;
    var _41 = IHEAP[_scevgep6_1];
    var _42 = _41 + 2;
    IHEAP[_scevgep6_1] = _42;
    var _43 = IHEAP[_scevgep8_1];
    var _44 = _43+8*_19;
    var _45 = IHEAP[_44];
    var _46 = _43+8*_19+4;
    var _47 = IHEAP[_46];
    var _48 = _43+8*_18;
    IHEAP[_48] = _45;
    var _49 = _43+8*_18+4;
    IHEAP[_49] = _47;
    var _50 = IHEAP[_scevgep8_1];
    var _51 = IHEAP[_scevgep_1];
    var _52 = _50+8*_19;
    IHEAP[_52] = _51;
    var _53 = IHEAP[_scevgep8_1];
    var _54 = _53+8*_19+4;
    IHEAP[_54] = _3;
    var _55 = IHEAP[_scevgep8_1];
    var _56 = IHEAP[_scevgep5_1];
    var _57 = _55+8*_17;
    IHEAP[_57] = _56;
    var _58 = IHEAP[_scevgep8_1];
    var _59 = _58+8*_17+4;
    IHEAP[_59] = _3;
    IHEAP[_scevgep9_1] = _19;
    IHEAP[_scevgep10_1] = _17;
    var _scevgep_2 = _min+8;
    var _scevgep5_2 = _max+8;
    var _scevgep8_2 = _this+76+8;
    var _scevgep9_2 = _5+76*_3+48+8;
    var _scevgep10_2 = _5+76*_3+60+8;
    var _60 = IHEAP[_4];
    var _scevgep6_2 = _60+60+8;
    var _61 = IHEAP[_scevgep6_2];
    var _62 = _61 + 2;
    IHEAP[_scevgep6_2] = _62;
    var _63 = IHEAP[_scevgep8_2];
    var _64 = _63+8*_19;
    var _65 = IHEAP[_64];
    var _66 = _63+8*_19+4;
    var _67 = IHEAP[_66];
    var _68 = _63+8*_18;
    IHEAP[_68] = _65;
    var _69 = _63+8*_18+4;
    IHEAP[_69] = _67;
    var _70 = IHEAP[_scevgep8_2];
    var _71 = IHEAP[_scevgep_2];
    var _72 = _70+8*_19;
    IHEAP[_72] = _71;
    var _73 = IHEAP[_scevgep8_2];
    var _74 = _73+8*_19+4;
    IHEAP[_74] = _3;
    var _75 = IHEAP[_scevgep8_2];
    var _76 = IHEAP[_scevgep5_2];
    var _77 = _75+8*_17;
    IHEAP[_77] = _76;
    var _78 = IHEAP[_scevgep8_2];
    var _79 = _78+8*_17+4;
    IHEAP[_79] = _3;
    IHEAP[_scevgep9_2] = _19;
    IHEAP[_scevgep10_2] = _17;
    var _80 = IHEAP[_6];
    __ZN20btAxisSweep3InternalIjE11sortMinDownEijP12btDispatcherb(_this, 0, _80, _dispatcher, 0);
    var _81 = _5+76*_3+60;
    var _82 = IHEAP[_81];
    __ZN20btAxisSweep3InternalIjE11sortMaxDownEijP12btDispatcherb(_this, 0, _82, _dispatcher, 0);
    var _83 = _5+76*_3+48+4;
    var _84 = IHEAP[_83];
    __ZN20btAxisSweep3InternalIjE11sortMinDownEijP12btDispatcherb(_this, 1, _84, _dispatcher, 0);
    var _85 = _5+76*_3+60+4;
    var _86 = IHEAP[_85];
    __ZN20btAxisSweep3InternalIjE11sortMaxDownEijP12btDispatcherb(_this, 1, _86, _dispatcher, 0);
    var _87 = _5+76*_3+48+8;
    var _88 = IHEAP[_87];
    __ZN20btAxisSweep3InternalIjE11sortMinDownEijP12btDispatcherb(_this, 2, _88, _dispatcher, 1);
    var _89 = _5+76*_3+60+8;
    var _90 = IHEAP[_89];
    __ZN20btAxisSweep3InternalIjE11sortMaxDownEijP12btDispatcherb(_this, 2, _90, _dispatcher, 1);
    STACKTOP = __stackBase__;
    return _3;
  }
  __ZN20btAxisSweep3InternalIjE9addHandleERK9btVector3S3_PvssP12btDispatcherS4_.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjE9addHandleERK9btVector3S3_PvssP12btDispatcherS4_, "__ZN20btAxisSweep3InternalIjE9addHandleERK9btVector3S3_PvssP12btDispatcherS4_");
  
  
  function __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(_this, _CompareFunc, _lo, _hi) {
    var __stackBase__  = STACKTOP; STACKTOP += 2;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = _this+12;
    var _3 = IHEAP[_2];
    var _4 = _hi + _lo;
    var _5 = Math.floor(_4 / 2);
    var _6 = _3+16*_5;
    var _7 = IHEAP[_6];
    var _8 = _3+16*_5+4;
    var _9 = IHEAP[_8];
    var _10 = _3+16*_5+8;
    var _11 = IHEAP[_10];
    var _12 = _7 == 0;
    var _13 = _9 == 0;
    var _14 = _9+12;
    var _15 = _7+12;
    __lastLabel__ = -1; ;
    _bb1_outer$923: while(1) { // _bb1_outer
      var _i_0_ph = __lastLabel__ == -1 ? _lo : (_i_1);
      var _j_1_ph = __lastLabel__ == -1 ? _hi : (_j_2);
      var _16 = IHEAP[_2];
      __lastLabel__ = 177; ;
      _bb1$925: while(1) { // _bb1
        var _indvar41 = __lastLabel__ == 177 ? 0 : (_indvar_next42);
        var _i_0 = _i_0_ph + _indvar41;
        var _scevgep44 = _16+16*_i_0+8;
        var _scevgep45 = _16+16*_i_0+4;
        var _scevgep4647 = _16+16*_i_0;
        var _17 = IHEAP[_scevgep4647];
        var _18 = _17 == 0;
        ;
        if (_18) {
          __lastLabel__ = 75; ;
        }
        else {
          __lastLabel__ = 75; ;
          var _19 = _17+12;
          var _20 = IHEAP[_19];
          __lastLabel__ = 131; ;
        }
        var _iftmp_37_0_i = __lastLabel__ == 131 ? _20 : (-1);
        ;
        if (_12) {
          __lastLabel__ = 132; ;
        }
        else {
          __lastLabel__ = 132; ;
          var _21 = IHEAP[_15];
          __lastLabel__ = 133; ;
        }
        var _iftmp_38_0_i = __lastLabel__ == 133 ? _21 : (-1);
        var _22 = IHEAP[_scevgep45];
        var _23 = _22 == 0;
        ;
        if (_23) {
          __lastLabel__ = 300; ;
        }
        else {
          __lastLabel__ = 300; ;
          var _24 = _22+12;
          var _25 = IHEAP[_24];
          __lastLabel__ = 136; ;
        }
        var _iftmp_39_0_i = __lastLabel__ == 136 ? _25 : (-1);
        ;
        if (_13) {
          __lastLabel__ = 2429; ;
        }
        else {
          __lastLabel__ = 2429; ;
          var _26 = IHEAP[_14];
          __lastLabel__ = 181; ;
        }
        var _iftmp_40_0_i = __lastLabel__ == 181 ? _26 : (-1);
        var _27 = _iftmp_37_0_i > _iftmp_38_0_i;
        ;
        _bb$_bb12_i$939: do { 
          if (!_27) {
            ;
            var _28 = _17 == _7;
            var _29 = _iftmp_39_0_i > _iftmp_40_0_i;
            var _30 = _28 & _29;
            if (_30) { __label__ = 60; /* _bb */ break _bb$_bb12_i$939; }
            var _31 = _22 == _9;
            var _or_cond_i = _28 & _31;
            if (_or_cond_i) { __lastLabel__ = 183; ; } else { __lastLabel__ = 183; __label__ = 116; /* _bb3 */ break _bb1$925; }
            var _32 = IHEAP[_scevgep44];
            var _phitmp = _32 > _11;
            if (_phitmp) { __lastLabel__ = 184; ; } else { __lastLabel__ = 184; __label__ = 116; /* _bb3 */ break _bb1$925; }
          }
        } while(0);
        var _indvar_next42 = _indvar41 + 1;
        __lastLabel__ = 60; __label__ = 75; /* _bb1 */ continue _bb1$925;
      }
      _bb3$944: while(1) { // _bb3
        var _indvar = __lastLabel__ == 0 ? _indvar_next : (__lastLabel__ == 183 ? 0 : (0));
        var _j_0 = _j_1_ph - _indvar;
        var _scevgep = _16+16*_j_0+8;
        var _scevgep38 = _16+16*_j_0+4;
        var _scevgep3940 = _16+16*_j_0;
        ;
        if (_12) {
          __lastLabel__ = 116; ;
        }
        else {
          __lastLabel__ = 116; ;
          var _33 = IHEAP[_15];
          __lastLabel__ = 186; ;
        }
        var _iftmp_37_0_i14 = __lastLabel__ == 186 ? _33 : (-1);
        var _34 = IHEAP[_scevgep3940];
        var _35 = _34 == 0;
        ;
        if (_35) {
          __lastLabel__ = 4096; ;
        }
        else {
          __lastLabel__ = 4096; ;
          var _36 = _34+12;
          var _37 = IHEAP[_36];
          __lastLabel__ = 188; ;
        }
        var _iftmp_38_0_i17 = __lastLabel__ == 188 ? _37 : (-1);
        ;
        if (_13) {
          __lastLabel__ = 4097; ;
        }
        else {
          __lastLabel__ = 4097; ;
          var _38 = IHEAP[_14];
          __lastLabel__ = 190; ;
        }
        var _iftmp_39_0_i20 = __lastLabel__ == 190 ? _38 : (-1);
        var _39 = IHEAP[_scevgep38];
        var _40 = _39 == 0;
        ;
        if (_40) {
          __lastLabel__ = 4098; ;
        }
        else {
          __lastLabel__ = 4098; ;
          var _41 = _39+12;
          var _42 = IHEAP[_41];
          __lastLabel__ = 192; ;
        }
        var _iftmp_40_0_i23 = __lastLabel__ == 192 ? _42 : (-1);
        var _43 = _iftmp_37_0_i14 > _iftmp_38_0_i17;
        ;
        _bb2$_bb12_i25$958: do { 
          if (!_43) {
            ;
            var _44 = _7 == _34;
            var _45 = _iftmp_39_0_i20 > _iftmp_40_0_i23;
            var _46 = _44 & _45;
            if (_46) { __label__ = 0; /* _bb2 */ break _bb2$_bb12_i25$958; }
            var _47 = _9 == _39;
            var _or_cond_i26 = _44 & _47;
            if (!(_or_cond_i26)) { __label__ = 82; /* _bb5 */ break _bb3$944; }
            var _48 = IHEAP[_scevgep];
            var _phitmp34 = _11 > _48;
            if (!(_phitmp34)) { __label__ = 82; /* _bb5 */ break _bb3$944; }
          }
        } while(0);
        var _indvar_next = _indvar + 1;
        __lastLabel__ = 0; __label__ = 116; /* _bb3 */ continue _bb3$944;
      }
      var _49 = _i_0 > _j_0;
      ;
      if (_49) {
        __lastLabel__ = 82; ;
      }
      else {
        __lastLabel__ = 82; ;
        var _50 = IHEAP[_scevgep44];
        var _51 = _16+16*_i_0+12;
        var _52 = IHEAP[_51];
        IHEAP[_scevgep4647] = _34;
        IHEAP[_scevgep45] = _39;
        var _53 = IHEAP[_scevgep];
        IHEAP[_scevgep44] = _53;
        var _54 = _16+16*_j_0+12;
        var _55 = IHEAP[_54];
        IHEAP[_51] = _55;
        var _56 = IHEAP[_2];
        var _57 = _56+16*_j_0;
        IHEAP[_57] = _17;
        var _58 = _56+16*_j_0+4;
        IHEAP[_58] = _22;
        var _59 = _56+16*_j_0+8;
        IHEAP[_59] = _50;
        var _60 = _56+16*_j_0+12;
        IHEAP[_60] = _52;
        var _61 = _i_0 + 1;
        var _62 = _j_0 + -1;
        __lastLabel__ = 83; ;
      }
      var _i_1 = __lastLabel__ == 83 ? _61 : (_i_0);
      var _j_2 = __lastLabel__ == 83 ? _62 : (_j_0);
      var _63 = _i_1 > _j_2;
      if (_63) { __lastLabel__ = 2; __label__ = 148; /* _bb8 */ break _bb1_outer$923; } else { __lastLabel__ = 2; __label__ = 177; /* _bb1_outer */ continue _bb1_outer$923; }
    }
    var _64 = _j_2 > _lo;
    ;
    if (_64) {
      ;
      __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(_this, _1, _lo, _j_2);
      ;
    }
    var _65 = _i_1 < _hi;
    ;
    if (_65) {
      ;
      __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(_this, _0, _i_1, _hi);
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii, "__ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii");
  
  
  function __ZN20btAxisSweep3InternalItE12destroyProxyEP17btBroadphaseProxyP12btDispatcher(_this, _proxy, _dispatcher) {
    ;
    var __label__;
    var _0 = _this+108;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (!_2) {
      ;
      var _3 = _1;
      var _4 = IHEAP[_3];
      var _5 = _4+12;
      var _6 = IHEAP[_5];
      var _7 = _proxy+48+12;
      var _8 = _7;
      var _9 = IHEAP[_8];
      var _10 = _6;
      FUNCTION_TABLE[_10](_1, _9, _dispatcher);
      ;
    }
    var _11 = _proxy+12;
    var _12 = IHEAP[_11];
    var _13 = _12;
    __ZN20btAxisSweep3InternalItE12removeHandleEtP12btDispatcher(_this, _13, _dispatcher);
    ;
    return;
  }
  __ZN20btAxisSweep3InternalItE12destroyProxyEP17btBroadphaseProxyP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItE12destroyProxyEP17btBroadphaseProxyP12btDispatcher, "__ZN20btAxisSweep3InternalItE12destroyProxyEP17btBroadphaseProxyP12btDispatcher");
  
  
  function __ZN20btAxisSweep3InternalItE12updateHandleEtRK9btVector3S3_P12btDispatcher(_this, _handle, _aabbMin, _aabbMax, _dispatcher) {
    var __stackBase__  = STACKTOP; STACKTOP += 12;
    var __label__;
    var __lastLabel__ = null;
    var _min = __stackBase__;
    var _max = __stackBase__+6;
    var _0 = _this+60;
    var _1 = IHEAP[_0];
    var _2 = _min;
    __ZNK20btAxisSweep3InternalItE8quantizeEPtRK9btVector3i(_this, _2, _aabbMin, 0);
    var _3 = _max;
    __ZNK20btAxisSweep3InternalItE8quantizeEPtRK9btVector3i(_this, _3, _aabbMax, 1);
    var _tmp = _handle;
    __lastLabel__ = 130; ;
    _bb$1060: while(1) { // _bb
      var _4 = __lastLabel__ == 130 ? 0 : (_28);
      var _scevgep = _min+_4*2;
      var _scevgep12 = _max+_4*2;
      var _scevgep13 = _1+68*_tmp+48+_4*2;
      var _scevgep14 = _1+68*_tmp+56+_4*2;
      var _scevgep15 = _this+68+_4*4;
      var _5 = IHEAP[_scevgep13];
      var _6 = IHEAP[_scevgep14];
      var _7 = IHEAP[_scevgep];
      var _8 = _7;
      var _9 = IHEAP[_scevgep15];
      var _10 = _5;
      var _11 = _9+4*_10;
      var _12 = IHEAP[_11];
      var _13 = _12;
      var _14 = _8 - _13;
      var _15 = IHEAP[_scevgep12];
      var _16 = _15;
      var _17 = _6;
      var _18 = _9+4*_17;
      var _19 = IHEAP[_18];
      var _20 = _19;
      var _21 = _16 - _20;
      IHEAP[_11] = _7;
      var _22 = IHEAP[_scevgep15];
      var _23 = _22+4*_17;
      IHEAP[_23] = _15;
      var _24 = _14 < 0;
      ;
      if (_24) {
        ;
        __ZN20btAxisSweep3InternalItE11sortMinDownEitP12btDispatcherb(_this, _4, _5, _dispatcher, 1);
        ;
      }
      var _25 = _21 > 0;
      ;
      if (_25) {
        ;
        __ZN20btAxisSweep3InternalItE9sortMaxUpEitP12btDispatcherb(_this, _4, _6, _dispatcher, 1);
        ;
      }
      var _26 = _14 > 0;
      ;
      if (_26) {
        ;
        __ZN20btAxisSweep3InternalItE9sortMinUpEitP12btDispatcherb(_this, _4, _5, _dispatcher, 1);
        ;
      }
      var _27 = _21 < 0;
      ;
      if (_27) {
        ;
        __ZN20btAxisSweep3InternalItE11sortMaxDownEitP12btDispatcherb(_this, _4, _6, _dispatcher, 1);
        ;
      }
      var _28 = _4 + 1;
      var _exitcond = _28 == 3;
      if (_exitcond) { __lastLabel__ = 148; __label__ = 44; /* _return */ break _bb$1060; } else { __lastLabel__ = 148; __label__ = 60; /* _bb */ continue _bb$1060; }
    }
    STACKTOP = __stackBase__;
    return;
  }
  __ZN20btAxisSweep3InternalItE12updateHandleEtRK9btVector3S3_P12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItE12updateHandleEtRK9btVector3S3_P12btDispatcher, "__ZN20btAxisSweep3InternalItE12updateHandleEtRK9btVector3S3_P12btDispatcher");
  
  
  function __ZN20btAxisSweep3InternalItE7setAabbEP17btBroadphaseProxyRK9btVector3S5_P12btDispatcher(_this, _proxy, _aabbMin, _aabbMax, _dispatcher) {
    ;
    var __label__;
    var _0 = _proxy+16;
    var _1 = _aabbMin;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _proxy+16+4;
    var _4 = _aabbMin+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _proxy+16+8;
    var _7 = _aabbMin+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _proxy+16+12;
    var _10 = _aabbMin+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _proxy+32;
    var _13 = _aabbMax;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _proxy+32+4;
    var _16 = _aabbMax+4;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _proxy+32+8;
    var _19 = _aabbMax+8;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _proxy+32+12;
    var _22 = _aabbMax+12;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    var _24 = _proxy+12;
    var _25 = IHEAP[_24];
    var _26 = _25;
    __ZN20btAxisSweep3InternalItE12updateHandleEtRK9btVector3S3_P12btDispatcher(_this, _26, _aabbMin, _aabbMax, _dispatcher);
    var _27 = _this+108;
    var _28 = IHEAP[_27];
    var _29 = _28 == 0;
    ;
    if (_29) {
      ;
      ;
      return;
    }
    else {
      ;
      var _30 = _28;
      var _31 = IHEAP[_30];
      var _32 = _31+16;
      var _33 = IHEAP[_32];
      var _34 = _proxy+48+12;
      var _35 = _34;
      var _36 = IHEAP[_35];
      var _37 = _33;
      FUNCTION_TABLE[_37](_28, _36, _aabbMin, _aabbMax, _dispatcher);
      ;
      return;
    }
  }
  __ZN20btAxisSweep3InternalItE7setAabbEP17btBroadphaseProxyRK9btVector3S5_P12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItE7setAabbEP17btBroadphaseProxyRK9btVector3S5_P12btDispatcher, "__ZN20btAxisSweep3InternalItE7setAabbEP17btBroadphaseProxyRK9btVector3S5_P12btDispatcher");
  
  
  function __ZN20btAxisSweep3InternalItE9addHandleERK9btVector3S3_PvssP12btDispatcherS4_(_this, _aabbMin, _aabbMax, _pOwner, _collisionFilterGroup, _collisionFilterMask, _dispatcher, _multiSapProxy) {
    var __stackBase__  = STACKTOP; STACKTOP += 12;
    var __label__;
    var _min = __stackBase__;
    var _max = __stackBase__+6;
    var _0 = _min;
    __ZNK20btAxisSweep3InternalItE8quantizeEPtRK9btVector3i(_this, _0, _aabbMin, 0);
    var _1 = _max;
    __ZNK20btAxisSweep3InternalItE8quantizeEPtRK9btVector3i(_this, _1, _aabbMax, 1);
    var _2 = _this+64;
    var _3 = IHEAP[_2];
    var _4 = _this+60;
    var _5 = IHEAP[_4];
    var _6 = _3;
    var _7 = _5+68*_6+48;
    var _8 = IHEAP[_7];
    IHEAP[_2] = _8;
    var _9 = _this+56;
    var _10 = IHEAP[_9];
    var _11 = _10 + 1;
    IHEAP[_9] = _11;
    var _12 = _5+68*_6+12;
    IHEAP[_12] = _6;
    var _13 = _5+68*_6;
    IHEAP[_13] = _pOwner;
    var _14 = _5+68*_6+4;
    IHEAP[_14] = _collisionFilterGroup;
    var _15 = _5+68*_6+6;
    IHEAP[_15] = _collisionFilterMask;
    var _16 = _5+68*_6+8;
    IHEAP[_16] = _multiSapProxy;
    var _17 = IHEAP[_9];
    var _18 = _17 << 1;
    var _19 = _18;
    var _20 = _19 | 1;
    var _21 = _19 + -1;
    var _22 = _18 + -1;
    var _scevgep7 = _this+68;
    var _scevgep11 = _5+68*_6+56;
    var _23 = IHEAP[_4];
    var _scevgep6 = _23+56;
    var _24 = IHEAP[_scevgep6];
    var _25 = _24 + 2;
    IHEAP[_scevgep6] = _25;
    var _26 = IHEAP[_scevgep7];
    var _27 = _26+4*_21;
    var _28 = IHEAP[_27];
    var _29 = _26+4*_21+2;
    var _30 = IHEAP[_29];
    var _31 = _26+4*_20;
    IHEAP[_31] = _28;
    var _32 = _26+4*_20+2;
    IHEAP[_32] = _30;
    var _33 = IHEAP[_scevgep7];
    var _34 = IHEAP[_0];
    var _35 = _33+4*_21;
    IHEAP[_35] = _34;
    var _36 = IHEAP[_scevgep7];
    var _37 = _36+4*_21+2;
    IHEAP[_37] = _3;
    var _38 = IHEAP[_scevgep7];
    var _39 = IHEAP[_1];
    var _40 = _38+4*_19;
    IHEAP[_40] = _39;
    var _41 = IHEAP[_scevgep7];
    var _42 = _41+4*_19+2;
    IHEAP[_42] = _3;
    IHEAP[_7] = _22;
    IHEAP[_scevgep11] = _18;
    var _scevgep7_1 = _this+68+4;
    var _scevgep8_1 = _min+2;
    var _scevgep9_1 = _max+2;
    var _scevgep10_1 = _5+68*_6+48+2;
    var _scevgep11_1 = _5+68*_6+56+2;
    var _43 = IHEAP[_4];
    var _scevgep6_1 = _43+56+2;
    var _44 = IHEAP[_scevgep6_1];
    var _45 = _44 + 2;
    IHEAP[_scevgep6_1] = _45;
    var _46 = IHEAP[_scevgep7_1];
    var _47 = _46+4*_21;
    var _48 = IHEAP[_47];
    var _49 = _46+4*_21+2;
    var _50 = IHEAP[_49];
    var _51 = _46+4*_20;
    IHEAP[_51] = _48;
    var _52 = _46+4*_20+2;
    IHEAP[_52] = _50;
    var _53 = IHEAP[_scevgep7_1];
    var _54 = IHEAP[_scevgep8_1];
    var _55 = _53+4*_21;
    IHEAP[_55] = _54;
    var _56 = IHEAP[_scevgep7_1];
    var _57 = _56+4*_21+2;
    IHEAP[_57] = _3;
    var _58 = IHEAP[_scevgep7_1];
    var _59 = IHEAP[_scevgep9_1];
    var _60 = _58+4*_19;
    IHEAP[_60] = _59;
    var _61 = IHEAP[_scevgep7_1];
    var _62 = _61+4*_19+2;
    IHEAP[_62] = _3;
    IHEAP[_scevgep10_1] = _22;
    IHEAP[_scevgep11_1] = _18;
    var _scevgep7_2 = _this+68+8;
    var _scevgep8_2 = _min+4;
    var _scevgep9_2 = _max+4;
    var _scevgep10_2 = _5+68*_6+48+4;
    var _scevgep11_2 = _5+68*_6+56+4;
    var _63 = IHEAP[_4];
    var _scevgep6_2 = _63+56+4;
    var _64 = IHEAP[_scevgep6_2];
    var _65 = _64 + 2;
    IHEAP[_scevgep6_2] = _65;
    var _66 = IHEAP[_scevgep7_2];
    var _67 = _66+4*_21;
    var _68 = IHEAP[_67];
    var _69 = _66+4*_21+2;
    var _70 = IHEAP[_69];
    var _71 = _66+4*_20;
    IHEAP[_71] = _68;
    var _72 = _66+4*_20+2;
    IHEAP[_72] = _70;
    var _73 = IHEAP[_scevgep7_2];
    var _74 = IHEAP[_scevgep8_2];
    var _75 = _73+4*_21;
    IHEAP[_75] = _74;
    var _76 = IHEAP[_scevgep7_2];
    var _77 = _76+4*_21+2;
    IHEAP[_77] = _3;
    var _78 = IHEAP[_scevgep7_2];
    var _79 = IHEAP[_scevgep9_2];
    var _80 = _78+4*_19;
    IHEAP[_80] = _79;
    var _81 = IHEAP[_scevgep7_2];
    var _82 = _81+4*_19+2;
    IHEAP[_82] = _3;
    IHEAP[_scevgep10_2] = _22;
    IHEAP[_scevgep11_2] = _18;
    var _83 = IHEAP[_7];
    __ZN20btAxisSweep3InternalItE11sortMinDownEitP12btDispatcherb(_this, 0, _83, _dispatcher, 0);
    var _84 = _5+68*_6+56;
    var _85 = IHEAP[_84];
    __ZN20btAxisSweep3InternalItE11sortMaxDownEitP12btDispatcherb(_this, 0, _85, _dispatcher, 0);
    var _86 = _5+68*_6+48+2;
    var _87 = IHEAP[_86];
    __ZN20btAxisSweep3InternalItE11sortMinDownEitP12btDispatcherb(_this, 1, _87, _dispatcher, 0);
    var _88 = _5+68*_6+56+2;
    var _89 = IHEAP[_88];
    __ZN20btAxisSweep3InternalItE11sortMaxDownEitP12btDispatcherb(_this, 1, _89, _dispatcher, 0);
    var _90 = _5+68*_6+48+4;
    var _91 = IHEAP[_90];
    __ZN20btAxisSweep3InternalItE11sortMinDownEitP12btDispatcherb(_this, 2, _91, _dispatcher, 1);
    var _92 = _5+68*_6+56+4;
    var _93 = IHEAP[_92];
    __ZN20btAxisSweep3InternalItE11sortMaxDownEitP12btDispatcherb(_this, 2, _93, _dispatcher, 1);
    STACKTOP = __stackBase__;
    return _3;
  }
  __ZN20btAxisSweep3InternalItE9addHandleERK9btVector3S3_PvssP12btDispatcherS4_.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItE9addHandleERK9btVector3S3_PvssP12btDispatcherS4_, "__ZN20btAxisSweep3InternalItE9addHandleERK9btVector3S3_PvssP12btDispatcherS4_");
  
  
  function __ZN20btAxisSweep3InternalIjED2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV20btAxisSweep3InternalIjE+8;
    var _1 = _this+116;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (_3) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _4 = _this+120;
      var _5 = IHEAP[_4];
      var _6 = _5;
      var _7 = IHEAP[_6];
      var _8 = IHEAP[_7];
      var _9 = _8;
      FUNCTION_TABLE[_9](_5);
      var _10 = IHEAP[_4];
      var _11 = _10;
      __Z21btAlignedFreeInternalPv(_11);
      var _12 = IHEAP[_1];
      var _13 = _12;
      var _14 = IHEAP[_13];
      var _15 = IHEAP[_14];
      var _16 = _15;
      FUNCTION_TABLE[_16](_12);
      var _17 = IHEAP[_1];
      var _18 = _17;
      __Z21btAlignedFreeInternalPv(_18);
      __lastLabel__ = 60; ;
    }
    _bb2$1161: while(1) { // _bb2
      var _indvar = __lastLabel__ == 0 ? _indvar_next : (__lastLabel__ == 60 ? 0 : (0));
      var _tmp13 = 2 - _indvar;
      var _scevgep = _this+88+_tmp13*4;
      var _19 = IHEAP[_scevgep];
      __Z21btAlignedFreeInternalPv(_19);
      var _indvar_next = _indvar + 1;
      var _exitcond = _indvar_next == 3;
      if (_exitcond) { __lastLabel__ = 0; __label__ = 61; /* _bb4 */ break _bb2$1161; } else { __lastLabel__ = 0; __label__ = 0; /* _bb2 */ continue _bb2$1161; }
    }
    var _20 = _this+68;
    var _21 = IHEAP[_20];
    var _22 = _21 == 0;
    ;
    if (!_22) {
      ;
      var _23 = _21;
      __Z21btAlignedFreeInternalPv(_23);
      ;
    }
    var _24 = _this+108;
    var _25 = IHEAP[_24];
    var _toBool = _25 == 0;
    ;
    if (_toBool) {
      ;
      ;
      return;
    }
    else {
      ;
      var _26 = _this+100;
      var _27 = IHEAP[_26];
      var _28 = _27;
      var _29 = IHEAP[_28];
      var _30 = IHEAP[_29];
      var _31 = _30;
      FUNCTION_TABLE[_31](_27);
      var _32 = IHEAP[_26];
      var _33 = _32;
      __Z21btAlignedFreeInternalPv(_33);
      ;
      return;
    }
  }
  __ZN20btAxisSweep3InternalIjED2Ev.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjED2Ev, "__ZN20btAxisSweep3InternalIjED2Ev");
  
  
  function __ZN20btAxisSweep3InternalIjED0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV20btAxisSweep3InternalIjE+8;
    var _1 = _this+116;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (_3) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _4 = _this+120;
      var _5 = IHEAP[_4];
      var _6 = _5;
      var _7 = IHEAP[_6];
      var _8 = IHEAP[_7];
      var _9 = _8;
      FUNCTION_TABLE[_9](_5);
      var _10 = IHEAP[_4];
      var _11 = _10;
      __Z21btAlignedFreeInternalPv(_11);
      var _12 = IHEAP[_1];
      var _13 = _12;
      var _14 = IHEAP[_13];
      var _15 = IHEAP[_14];
      var _16 = _15;
      FUNCTION_TABLE[_16](_12);
      var _17 = IHEAP[_1];
      var _18 = _17;
      __Z21btAlignedFreeInternalPv(_18);
      __lastLabel__ = 60; ;
    }
    _bb2$1174: while(1) { // _bb2
      var _indvar = __lastLabel__ == 0 ? _indvar_next : (__lastLabel__ == 60 ? 0 : (0));
      var _tmp13 = 2 - _indvar;
      var _scevgep = _this+88+_tmp13*4;
      var _19 = IHEAP[_scevgep];
      __Z21btAlignedFreeInternalPv(_19);
      var _indvar_next = _indvar + 1;
      var _exitcond = _indvar_next == 3;
      if (_exitcond) { __lastLabel__ = 0; __label__ = 61; /* _bb4 */ break _bb2$1174; } else { __lastLabel__ = 0; __label__ = 0; /* _bb2 */ continue _bb2$1174; }
    }
    var _20 = _this+68;
    var _21 = IHEAP[_20];
    var _22 = _21 == 0;
    ;
    if (!_22) {
      ;
      var _23 = _21;
      __Z21btAlignedFreeInternalPv(_23);
      ;
    }
    var _24 = _this+108;
    var _25 = IHEAP[_24];
    var _toBool = _25 == 0;
    ;
    if (!_toBool) {
      ;
      var _26 = _this+100;
      var _27 = IHEAP[_26];
      var _28 = _27;
      var _29 = IHEAP[_28];
      var _30 = IHEAP[_29];
      var _31 = _30;
      FUNCTION_TABLE[_31](_27);
      var _32 = IHEAP[_26];
      var _33 = _32;
      __Z21btAlignedFreeInternalPv(_33);
      ;
    }
    var _34 = _this;
    __Z21btAlignedFreeInternalPv(_34);
    ;
    return;
  }
  __ZN20btAxisSweep3InternalIjED0Ev.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjED0Ev, "__ZN20btAxisSweep3InternalIjED0Ev");
  
  
  function __ZN17bt32BitAxisSweep3D0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17bt32BitAxisSweep3+8;
    var _1 = _this;
    __ZN20btAxisSweep3InternalIjED2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN17bt32BitAxisSweep3D0Ev.__index__ = Runtime.getFunctionIndex(__ZN17bt32BitAxisSweep3D0Ev, "__ZN17bt32BitAxisSweep3D0Ev");
  
  
  function __ZN17bt32BitAxisSweep3D1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17bt32BitAxisSweep3+8;
    var _1 = _this;
    __ZN20btAxisSweep3InternalIjED2Ev(_1);
    ;
    return;
  }
  __ZN17bt32BitAxisSweep3D1Ev.__index__ = Runtime.getFunctionIndex(__ZN17bt32BitAxisSweep3D1Ev, "__ZN17bt32BitAxisSweep3D1Ev");
  
  
  function __ZN20btAxisSweep3InternalItED2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV20btAxisSweep3InternalItE+8;
    var _1 = _this+108;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (_3) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _4 = _this+112;
      var _5 = IHEAP[_4];
      var _6 = _5;
      var _7 = IHEAP[_6];
      var _8 = IHEAP[_7];
      var _9 = _8;
      FUNCTION_TABLE[_9](_5);
      var _10 = IHEAP[_4];
      var _11 = _10;
      __Z21btAlignedFreeInternalPv(_11);
      var _12 = IHEAP[_1];
      var _13 = _12;
      var _14 = IHEAP[_13];
      var _15 = IHEAP[_14];
      var _16 = _15;
      FUNCTION_TABLE[_16](_12);
      var _17 = IHEAP[_1];
      var _18 = _17;
      __Z21btAlignedFreeInternalPv(_18);
      __lastLabel__ = 60; ;
    }
    _bb2$1188: while(1) { // _bb2
      var _indvar = __lastLabel__ == 0 ? _indvar_next : (__lastLabel__ == 60 ? 0 : (0));
      var _tmp13 = 2 - _indvar;
      var _scevgep = _this+80+_tmp13*4;
      var _19 = IHEAP[_scevgep];
      __Z21btAlignedFreeInternalPv(_19);
      var _indvar_next = _indvar + 1;
      var _exitcond = _indvar_next == 3;
      if (_exitcond) { __lastLabel__ = 0; __label__ = 61; /* _bb4 */ break _bb2$1188; } else { __lastLabel__ = 0; __label__ = 0; /* _bb2 */ continue _bb2$1188; }
    }
    var _20 = _this+60;
    var _21 = IHEAP[_20];
    var _22 = _21 == 0;
    ;
    if (!_22) {
      ;
      var _23 = _21;
      __Z21btAlignedFreeInternalPv(_23);
      ;
    }
    var _24 = _this+100;
    var _25 = IHEAP[_24];
    var _toBool = _25 == 0;
    ;
    if (_toBool) {
      ;
      ;
      return;
    }
    else {
      ;
      var _26 = _this+92;
      var _27 = IHEAP[_26];
      var _28 = _27;
      var _29 = IHEAP[_28];
      var _30 = IHEAP[_29];
      var _31 = _30;
      FUNCTION_TABLE[_31](_27);
      var _32 = IHEAP[_26];
      var _33 = _32;
      __Z21btAlignedFreeInternalPv(_33);
      ;
      return;
    }
  }
  __ZN20btAxisSweep3InternalItED2Ev.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItED2Ev, "__ZN20btAxisSweep3InternalItED2Ev");
  
  
  function __ZN20btAxisSweep3InternalItED0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV20btAxisSweep3InternalItE+8;
    var _1 = _this+108;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (_3) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _4 = _this+112;
      var _5 = IHEAP[_4];
      var _6 = _5;
      var _7 = IHEAP[_6];
      var _8 = IHEAP[_7];
      var _9 = _8;
      FUNCTION_TABLE[_9](_5);
      var _10 = IHEAP[_4];
      var _11 = _10;
      __Z21btAlignedFreeInternalPv(_11);
      var _12 = IHEAP[_1];
      var _13 = _12;
      var _14 = IHEAP[_13];
      var _15 = IHEAP[_14];
      var _16 = _15;
      FUNCTION_TABLE[_16](_12);
      var _17 = IHEAP[_1];
      var _18 = _17;
      __Z21btAlignedFreeInternalPv(_18);
      __lastLabel__ = 60; ;
    }
    _bb2$1201: while(1) { // _bb2
      var _indvar = __lastLabel__ == 0 ? _indvar_next : (__lastLabel__ == 60 ? 0 : (0));
      var _tmp13 = 2 - _indvar;
      var _scevgep = _this+80+_tmp13*4;
      var _19 = IHEAP[_scevgep];
      __Z21btAlignedFreeInternalPv(_19);
      var _indvar_next = _indvar + 1;
      var _exitcond = _indvar_next == 3;
      if (_exitcond) { __lastLabel__ = 0; __label__ = 61; /* _bb4 */ break _bb2$1201; } else { __lastLabel__ = 0; __label__ = 0; /* _bb2 */ continue _bb2$1201; }
    }
    var _20 = _this+60;
    var _21 = IHEAP[_20];
    var _22 = _21 == 0;
    ;
    if (!_22) {
      ;
      var _23 = _21;
      __Z21btAlignedFreeInternalPv(_23);
      ;
    }
    var _24 = _this+100;
    var _25 = IHEAP[_24];
    var _toBool = _25 == 0;
    ;
    if (!_toBool) {
      ;
      var _26 = _this+92;
      var _27 = IHEAP[_26];
      var _28 = _27;
      var _29 = IHEAP[_28];
      var _30 = IHEAP[_29];
      var _31 = _30;
      FUNCTION_TABLE[_31](_27);
      var _32 = IHEAP[_26];
      var _33 = _32;
      __Z21btAlignedFreeInternalPv(_33);
      ;
    }
    var _34 = _this;
    __Z21btAlignedFreeInternalPv(_34);
    ;
    return;
  }
  __ZN20btAxisSweep3InternalItED0Ev.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItED0Ev, "__ZN20btAxisSweep3InternalItED0Ev");
  
  
  function __ZN12btAxisSweep3D0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV12btAxisSweep3+8;
    var _1 = _this;
    __ZN20btAxisSweep3InternalItED2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN12btAxisSweep3D0Ev.__index__ = Runtime.getFunctionIndex(__ZN12btAxisSweep3D0Ev, "__ZN12btAxisSweep3D0Ev");
  
  
  function __ZN12btAxisSweep3D1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV12btAxisSweep3+8;
    var _1 = _this;
    __ZN20btAxisSweep3InternalItED2Ev(_1);
    ;
    return;
  }
  __ZN12btAxisSweep3D1Ev.__index__ = Runtime.getFunctionIndex(__ZN12btAxisSweep3D1Ev, "__ZN12btAxisSweep3D1Ev");
  
  
  function __ZN15btNullPairCacheD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV15btNullPairCache+8;
    var _1 = _this+4+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+4+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      if (!_toBool_i_i_i) {
        ;
        var _6 = _2;
        __Z21btAlignedFreeInternalPv(_6);
        ;
      }
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+4+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+4+4;
    IHEAP[_8] = 0;
    var _9 = _this+4+8;
    IHEAP[_9] = 0;
    var _10 = _this;
    __ZdlPv(_10);
    ;
    return;
  }
  __ZN15btNullPairCacheD0Ev.__index__ = Runtime.getFunctionIndex(__ZN15btNullPairCacheD0Ev, "__ZN15btNullPairCacheD0Ev");
  
  
  function __ZN15btNullPairCacheD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV15btNullPairCache+8;
    var _1 = _this+4+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+4+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      if (!_toBool_i_i_i) {
        ;
        var _6 = _2;
        __Z21btAlignedFreeInternalPv(_6);
        ;
      }
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+4+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+4+4;
    IHEAP[_8] = 0;
    var _9 = _this+4+8;
    IHEAP[_9] = 0;
    ;
    return;
  }
  __ZN15btNullPairCacheD1Ev.__index__ = Runtime.getFunctionIndex(__ZN15btNullPairCacheD1Ev, "__ZN15btNullPairCacheD1Ev");
  
  
  function __ZN17bt32BitAxisSweep3C1ERK9btVector3S2_jP22btOverlappingPairCacheb(_this, _worldAabbMin, _worldAabbMax, _maxHandles, _pairCache, _disableRaycastAccelerator) {
    ;
    var __label__;
    var _0 = _this;
    __ZN20btAxisSweep3InternalIjEC2ERK9btVector3S3_jjjP22btOverlappingPairCacheb(_0, _worldAabbMin, _worldAabbMax, -2, 2147483647, _maxHandles, _pairCache, _disableRaycastAccelerator);
    var _1 = _this;
    IHEAP[_1] = __ZTV17bt32BitAxisSweep3+8;
    ;
    return;
  }
  __ZN17bt32BitAxisSweep3C1ERK9btVector3S2_jP22btOverlappingPairCacheb.__index__ = Runtime.getFunctionIndex(__ZN17bt32BitAxisSweep3C1ERK9btVector3S2_jP22btOverlappingPairCacheb, "__ZN17bt32BitAxisSweep3C1ERK9btVector3S2_jP22btOverlappingPairCacheb");
  
  
  function __ZN17bt32BitAxisSweep3C2ERK9btVector3S2_jP22btOverlappingPairCacheb(_this, _worldAabbMin, _worldAabbMax, _maxHandles, _pairCache, _disableRaycastAccelerator) {
    ;
    var __label__;
    var _0 = _this;
    __ZN20btAxisSweep3InternalIjEC2ERK9btVector3S3_jjjP22btOverlappingPairCacheb(_0, _worldAabbMin, _worldAabbMax, -2, 2147483647, _maxHandles, _pairCache, _disableRaycastAccelerator);
    var _1 = _this;
    IHEAP[_1] = __ZTV17bt32BitAxisSweep3+8;
    ;
    return;
  }
  __ZN17bt32BitAxisSweep3C2ERK9btVector3S2_jP22btOverlappingPairCacheb.__index__ = Runtime.getFunctionIndex(__ZN17bt32BitAxisSweep3C2ERK9btVector3S2_jP22btOverlappingPairCacheb, "__ZN17bt32BitAxisSweep3C2ERK9btVector3S2_jP22btOverlappingPairCacheb");
  
  
  function __ZN12btAxisSweep3C1ERK9btVector3S2_tP22btOverlappingPairCacheb(_this, _worldAabbMin, _worldAabbMax, _maxHandles, _pairCache, _disableRaycastAccelerator) {
    ;
    var __label__;
    var _0 = _this;
    __ZN20btAxisSweep3InternalItEC2ERK9btVector3S3_tttP22btOverlappingPairCacheb(_0, _worldAabbMin, _worldAabbMax, -2, -1, _maxHandles, _pairCache, _disableRaycastAccelerator);
    var _1 = _this;
    IHEAP[_1] = __ZTV12btAxisSweep3+8;
    ;
    return;
  }
  __ZN12btAxisSweep3C1ERK9btVector3S2_tP22btOverlappingPairCacheb.__index__ = Runtime.getFunctionIndex(__ZN12btAxisSweep3C1ERK9btVector3S2_tP22btOverlappingPairCacheb, "__ZN12btAxisSweep3C1ERK9btVector3S2_tP22btOverlappingPairCacheb");
  
  
  function __ZN20btCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo(_this, _ci) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV20btCollisionAlgorithm+8;
    var _1 = _ci;
    var _2 = IHEAP[_1];
    var _3 = _this+4;
    IHEAP[_3] = _2;
    ;
    return;
  }
  __ZN20btCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo.__index__ = Runtime.getFunctionIndex(__ZN20btCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo, "__ZN20btCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo");
  
  
  function __ZN20btCollisionAlgorithmD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV20btCollisionAlgorithm+8;
    ;
    return;
  }
  __ZN20btCollisionAlgorithmD1Ev.__index__ = Runtime.getFunctionIndex(__ZN20btCollisionAlgorithmD1Ev, "__ZN20btCollisionAlgorithmD1Ev");
  
  
  function __ZN20btCollisionAlgorithmD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV20btCollisionAlgorithm+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN20btCollisionAlgorithmD0Ev.__index__ = Runtime.getFunctionIndex(__ZN20btCollisionAlgorithmD0Ev, "__ZN20btCollisionAlgorithmD0Ev");
  
  
  function __ZN20btCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfo(_this, _ci) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV20btCollisionAlgorithm+8;
    var _1 = _ci;
    var _2 = IHEAP[_1];
    var _3 = _this+4;
    IHEAP[_3] = _2;
    ;
    return;
  }
  __ZN20btCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfo.__index__ = Runtime.getFunctionIndex(__ZN20btCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfo, "__ZN20btCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfo");
  
  
  function __ZN6btDbvtC2Ev(_this) {
    ;
    var __label__;
    var _0 = _this+20+16;
    IHEAP[_0] = 1;
    var _1 = _this+20+12;
    IHEAP[_1] = 0;
    var _2 = _this+20+4;
    IHEAP[_2] = 0;
    var _3 = _this+20+8;
    IHEAP[_3] = 0;
    var _4 = _this;
    IHEAP[_4] = 0;
    var _5 = _this+4;
    IHEAP[_5] = 0;
    var _6 = _this+8;
    IHEAP[_6] = -1;
    var _7 = _this+12;
    IHEAP[_7] = 0;
    var _8 = _this+16;
    IHEAP[_8] = 0;
    ;
    return;
  }
  __ZN6btDbvtC2Ev.__index__ = Runtime.getFunctionIndex(__ZN6btDbvtC2Ev, "__ZN6btDbvtC2Ev");
  
  
  function __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodef(_this, _n, _unnamed_arg) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+12;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_this, _n);
    ;
    return;
  }
  __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodef.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodef, "__ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodef");
  
  
  function __ZN6btDbvt9enumNodesEPK10btDbvtNodeRNS_8ICollideE(_root, _policy) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _policy;
    var _1 = IHEAP[_0];
    var _2 = _1+12;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_policy, _root);
    var _5 = _root+36+4;
    var _6 = IHEAP[_5];
    var _toBoolnot_i2 = _6 == 0;
    if (_toBoolnot_i2) { __lastLabel__ = -1; __label__ = 44; /* _return */  } else { __lastLabel__ = -1; __label__ = 60; /* _bb */  }
    _return$_bb$1319: while(1) { // _return,_bb
      if (__label__ == 44) {
        ;
        return;
      }
      else if (__label__ == 60) {
        var _root_tr3 = __lastLabel__ == 60 ? _10 : (_root);
        var _7 = _root_tr3+36;
        var _8 = IHEAP[_7];
        __ZN6btDbvt9enumNodesEPK10btDbvtNodeRNS_8ICollideE(_8, _policy);
        var _9 = _root_tr3+36+4;
        var _10 = IHEAP[_9];
        var _11 = IHEAP[_0];
        var _12 = _11+12;
        var _13 = IHEAP[_12];
        var _14 = _13;
        FUNCTION_TABLE[_14](_policy, _10);
        var _15 = _10+36+4;
        var _16 = IHEAP[_15];
        var _toBoolnot_i = _16 == 0;
        if (_toBoolnot_i) { __lastLabel__ = 60; __label__ = 44; /* _return */ continue _return$_bb$1319; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _return$_bb$1319; }
      }
    }
  }
  __ZN6btDbvt9enumNodesEPK10btDbvtNodeRNS_8ICollideE.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt9enumNodesEPK10btDbvtNodeRNS_8ICollideE, "__ZN6btDbvt9enumNodesEPK10btDbvtNodeRNS_8ICollideE");
  
  
  function __ZN6btDbvt8ICollideD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN6btDbvt8ICollideE+8;
    ;
    return;
  }
  __ZN6btDbvt8ICollideD1Ev.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt8ICollideD1Ev, "__ZN6btDbvt8ICollideD1Ev");
  
  
  function __ZN6btDbvt8ICollideD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN6btDbvt8ICollideE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN6btDbvt8ICollideD0Ev.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt8ICollideD0Ev, "__ZN6btDbvt8ICollideD0Ev");
  
  
  function __ZL11getmaxdepthPK10btDbvtNodeiRi(_node, _depth, _maxdepth) {
    ;
    var __label__;
    var _0 = _node+36+4;
    var _1 = IHEAP[_0];
    var _toBoolnot_i = _1 == 0;
    ;
    if (_toBoolnot_i) {
      ;
      var _6 = IHEAP[_maxdepth];
      var _7 = _6 > _depth;
      var _8 = _7 ? _6 : _depth;
      IHEAP[_maxdepth] = _8;
      ;
      return;
    }
    else {
      ;
      var _2 = _depth + 1;
      var _3 = _node+36;
      var _4 = IHEAP[_3];
      __ZL11getmaxdepthPK10btDbvtNodeiRi(_4, _2, _maxdepth);
      var _5 = IHEAP[_0];
      __ZL11getmaxdepthPK10btDbvtNodeiRi(_5, _2, _maxdepth);
      ;
      return;
    }
  }
  __ZL11getmaxdepthPK10btDbvtNodeiRi.__index__ = Runtime.getFunctionIndex(__ZL11getmaxdepthPK10btDbvtNodeiRi, "__ZL11getmaxdepthPK10btDbvtNodeiRi");
  
  
  function __ZN6btDbvtC1Ev(_this) {
    ;
    var __label__;
    var _0 = _this+20+16;
    IHEAP[_0] = 1;
    var _1 = _this+20+12;
    IHEAP[_1] = 0;
    var _2 = _this+20+4;
    IHEAP[_2] = 0;
    var _3 = _this+20+8;
    IHEAP[_3] = 0;
    var _4 = _this;
    IHEAP[_4] = 0;
    var _5 = _this+4;
    IHEAP[_5] = 0;
    var _6 = _this+8;
    IHEAP[_6] = -1;
    var _7 = _this+12;
    IHEAP[_7] = 0;
    var _8 = _this+16;
    IHEAP[_8] = 0;
    ;
    return;
  }
  __ZN6btDbvtC1Ev.__index__ = Runtime.getFunctionIndex(__ZN6btDbvtC1Ev, "__ZN6btDbvtC1Ev");
  
  
  function __ZL10removeleafP6btDbvtP10btDbvtNode(_pdbvt, _leaf) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _pdbvt;
    var _1 = IHEAP[_0];
    var _2 = _1 == _leaf;
    ;
    if (_2) {
      ;
      IHEAP[_0] = 0;
      ;
      return 0;
    }
    else {
      ;
      var _3 = _leaf+32;
      var _4 = IHEAP[_3];
      var _5 = _4+32;
      var _6 = IHEAP[_5];
      var _7 = _4+36+4;
      var _8 = IHEAP[_7];
      var _not_ = _8 != _leaf;
      var _9 = _not_;
      var _10 = _4+36+_9*4;
      var _11 = IHEAP[_10];
      var _12 = _6 == 0;
      ;
      if (_12) {
        ;
        IHEAP[_0] = _11;
        var _64 = _11+32;
        IHEAP[_64] = 0;
        var _65 = _pdbvt+4;
        var _66 = IHEAP[_65];
        var _67 = _66;
        __Z21btAlignedFreeInternalPv(_67);
        IHEAP[_65] = _4;
        var _68 = IHEAP[_0];
        ;
        return _68;
      }
      else {
        ;
        var _13 = _6+36+4;
        var _14 = IHEAP[_13];
        var _15 = _14 == _4;
        var _16 = _15;
        var _17 = _6+36+_16*4;
        IHEAP[_17] = _11;
        var _18 = _11+32;
        IHEAP[_18] = _6;
        var _19 = _pdbvt+4;
        var _20 = IHEAP[_19];
        var _21 = _20;
        __Z21btAlignedFreeInternalPv(_21);
        IHEAP[_19] = _4;
        __lastLabel__ = 0; ;
        _bb5$1450: while(1) { // _bb5
          var _prev_0 = __lastLabel__ == 0 ? _6 : (_62);
          var _cond = _prev_0 == 0;
          if (_cond) { __label__ = 2; /* _bb7 */ break _bb5$1450; }
          var _22 = _prev_0;
          var _23 = FHEAP[_22];
          var _24 = _prev_0+4;
          var _25 = FHEAP[_24];
          var _26 = _prev_0+8;
          var _27 = FHEAP[_26];
          var _28 = _prev_0+16;
          var _29 = FHEAP[_28];
          var _30 = _prev_0+16+4;
          var _31 = FHEAP[_30];
          var _32 = _prev_0+16+8;
          var _33 = FHEAP[_32];
          var _34 = _prev_0+36+4;
          var _35 = IHEAP[_34];
          var _36 = _prev_0+36;
          var _37 = IHEAP[_36];
          var _scevgep_i = _37;
          var _scevgep11_i = _35;
          var _scevgep13_i = _37+16;
          var _scevgep14_i = _35+16;
          var _38 = FHEAP[_scevgep_i];
          var _39 = FHEAP[_scevgep11_i];
          var _40 = _38 < _39;
          var _storemerge_i = _40 ? _38 : _39;
          FHEAP[_22] = _storemerge_i;
          var _41 = FHEAP[_scevgep13_i];
          var _42 = FHEAP[_scevgep14_i];
          var _43 = _41 > _42;
          var _storemerge16_i = _43 ? _41 : _42;
          FHEAP[_28] = _storemerge16_i;
          var _scevgep_1_i = _37+4;
          var _scevgep11_1_i = _35+4;
          var _scevgep13_1_i = _37+16+4;
          var _scevgep14_1_i = _35+16+4;
          var _44 = FHEAP[_scevgep_1_i];
          var _45 = FHEAP[_scevgep11_1_i];
          var _46 = _44 < _45;
          var _storemerge17_i = _46 ? _44 : _45;
          FHEAP[_24] = _storemerge17_i;
          var _47 = FHEAP[_scevgep13_1_i];
          var _48 = FHEAP[_scevgep14_1_i];
          var _49 = _47 > _48;
          var _storemerge18_i = _49 ? _47 : _48;
          FHEAP[_30] = _storemerge18_i;
          var _scevgep_2_i = _37+8;
          var _scevgep11_2_i = _35+8;
          var _scevgep13_2_i = _37+16+8;
          var _scevgep14_2_i = _35+16+8;
          var _50 = FHEAP[_scevgep_2_i];
          var _51 = FHEAP[_scevgep11_2_i];
          var _52 = _50 < _51;
          var _storemerge19_i = _52 ? _50 : _51;
          FHEAP[_26] = _storemerge19_i;
          var _53 = FHEAP[_scevgep13_2_i];
          var _54 = FHEAP[_scevgep14_2_i];
          var _55 = _53 > _54;
          var _storemerge20_i = _55 ? _53 : _54;
          FHEAP[_32] = _storemerge20_i;
          var _56 = _23 != _storemerge_i;
          var _57 = _25 != _storemerge17_i;
          var _or_cond = _56 | _57;
          var _58 = _27 != _storemerge19_i;
          var _or_cond19 = _or_cond | _58;
          var _59 = _29 != _storemerge16_i;
          var _or_cond20 = _or_cond19 | _59;
          var _60 = _31 != _storemerge18_i;
          var _or_cond21 = _or_cond20 | _60;
          var _or_cond21_not = _or_cond21 ^ true;
          var _phitmp = _33 == _storemerge20_i;
          var _or_cond22 = _or_cond21_not & _phitmp;
          if (_or_cond22) { __label__ = 292; /* _bb11 */ break _bb5$1450; }
          var _61 = _prev_0+32;
          var _62 = IHEAP[_61];
          __lastLabel__ = 61; __label__ = 82; /* _bb5 */ continue _bb5$1450;
        }
        if (__label__ == 2) {
          var _63 = IHEAP[_0];
          ;
          return _63;
        }
        else if (__label__ == 292) {
          ;
          return _prev_0;
        }
      }
    }
  }
  __ZL10removeleafP6btDbvtP10btDbvtNode.__index__ = Runtime.getFunctionIndex(__ZL10removeleafP6btDbvtP10btDbvtNode, "__ZL10removeleafP6btDbvtP10btDbvtNode");
  
  
  function __ZL17recursedeletenodeP6btDbvtP10btDbvtNode(_pdbvt, _node) {
    ;
    var __label__;
    var _0 = _node+36+4;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (!_2) {
      ;
      var _3 = _node+36;
      var _4 = IHEAP[_3];
      __ZL17recursedeletenodeP6btDbvtP10btDbvtNode(_pdbvt, _4);
      var _5 = IHEAP[_0];
      __ZL17recursedeletenodeP6btDbvtP10btDbvtNode(_pdbvt, _5);
      ;
    }
    var _6 = _pdbvt;
    var _7 = IHEAP[_6];
    var _8 = _7 == _node;
    ;
    if (_8) {
      ;
      IHEAP[_6] = 0;
      ;
    }
    var _9 = _pdbvt+4;
    var _10 = IHEAP[_9];
    var _11 = _10;
    __Z21btAlignedFreeInternalPv(_11);
    IHEAP[_9] = _node;
    ;
    return;
  }
  __ZL17recursedeletenodeP6btDbvtP10btDbvtNode.__index__ = Runtime.getFunctionIndex(__ZL17recursedeletenodeP6btDbvtP10btDbvtNode, "__ZL17recursedeletenodeP6btDbvtP10btDbvtNode");
  
  
  function __ZN6btDbvt5clearEv(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (!_2) {
      ;
      __ZL17recursedeletenodeP6btDbvtP10btDbvtNode(_this, _1);
      ;
    }
    var _3 = _this+4;
    var _4 = IHEAP[_3];
    var _5 = _4;
    __Z21btAlignedFreeInternalPv(_5);
    IHEAP[_3] = 0;
    var _6 = _this+8;
    IHEAP[_6] = -1;
    var _7 = _this+20+12;
    var _8 = IHEAP[_7];
    var _9 = _8 == 0;
    ;
    if (!_9) {
      ;
      var _10 = _this+20+16;
      var _11 = IHEAP[_10];
      var _toBool_i_i = _11 == 0;
      ;
      if (!_toBool_i_i) {
        ;
        var _12 = _8;
        __Z21btAlignedFreeInternalPv(_12);
        ;
      }
      IHEAP[_7] = 0;
      ;
    }
    var _13 = _this+20+16;
    IHEAP[_13] = 1;
    IHEAP[_7] = 0;
    var _14 = _this+20+4;
    IHEAP[_14] = 0;
    var _15 = _this+20+8;
    IHEAP[_15] = 0;
    var _16 = _this+16;
    IHEAP[_16] = 0;
    ;
    return;
  }
  __ZN6btDbvt5clearEv.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt5clearEv, "__ZN6btDbvt5clearEv");
  
  
  function __ZN20btDbvtNodeEnumeratorD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV20btDbvtNodeEnumerator+8;
    var _1 = _this+4+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+4+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      if (!_toBool_i_i_i) {
        ;
        var _6 = _2;
        __Z21btAlignedFreeInternalPv(_6);
        ;
      }
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+4+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+4+4;
    IHEAP[_8] = 0;
    var _9 = _this+4+8;
    IHEAP[_9] = 0;
    var _10 = _this;
    __ZdlPv(_10);
    ;
    return;
  }
  __ZN20btDbvtNodeEnumeratorD0Ev.__index__ = Runtime.getFunctionIndex(__ZN20btDbvtNodeEnumeratorD0Ev, "__ZN20btDbvtNodeEnumeratorD0Ev");
  
  
  function __ZN20btDbvtNodeEnumeratorD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV20btDbvtNodeEnumerator+8;
    var _1 = _this+4+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+4+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      if (!_toBool_i_i_i) {
        ;
        var _6 = _2;
        __Z21btAlignedFreeInternalPv(_6);
        ;
      }
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+4+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+4+4;
    IHEAP[_8] = 0;
    var _9 = _this+4+8;
    IHEAP[_9] = 0;
    ;
    return;
  }
  __ZN20btDbvtNodeEnumeratorD1Ev.__index__ = Runtime.getFunctionIndex(__ZN20btDbvtNodeEnumeratorD1Ev, "__ZN20btDbvtNodeEnumeratorD1Ev");
  
  
  function __ZN18btDbvtTreeColliderD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btDbvtTreeCollider+8;
    ;
    return;
  }
  __ZN18btDbvtTreeColliderD1Ev.__index__ = Runtime.getFunctionIndex(__ZN18btDbvtTreeColliderD1Ev, "__ZN18btDbvtTreeColliderD1Ev");
  
  
  function __ZN18btDbvtTreeColliderD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btDbvtTreeCollider+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN18btDbvtTreeColliderD0Ev.__index__ = Runtime.getFunctionIndex(__ZN18btDbvtTreeColliderD0Ev, "__ZN18btDbvtTreeColliderD0Ev");
  
  
  function __ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNode(_this, _n) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+8;
    var _3 = IHEAP[_2];
    var _4 = _this+8;
    var _5 = IHEAP[_4];
    var _6 = _5+48;
    var _7 = IHEAP[_6];
    var _8 = _3;
    FUNCTION_TABLE[_8](_this, _n, _7);
    ;
    return;
  }
  __ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNode.__index__ = Runtime.getFunctionIndex(__ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNode, "__ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNode");
  
  
  function __ZNK16btDbvtBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_(_this, _absproxy, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _aabbMin;
    var _1 = _absproxy+16;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _aabbMin+4;
    var _4 = _absproxy+16+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _aabbMin+8;
    var _7 = _absproxy+16+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _aabbMin+12;
    var _10 = _absproxy+16+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _aabbMax;
    var _13 = _absproxy+32;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _aabbMax+4;
    var _16 = _absproxy+32+4;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _aabbMax+8;
    var _19 = _absproxy+32+8;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _aabbMax+12;
    var _22 = _absproxy+32+12;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    ;
    return;
  }
  __ZNK16btDbvtBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_.__index__ = Runtime.getFunctionIndex(__ZNK16btDbvtBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_, "__ZNK16btDbvtBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_");
  
  
  function __ZN19BroadphaseRayTesterD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV19BroadphaseRayTester+8;
    ;
    return;
  }
  __ZN19BroadphaseRayTesterD1Ev.__index__ = Runtime.getFunctionIndex(__ZN19BroadphaseRayTesterD1Ev, "__ZN19BroadphaseRayTesterD1Ev");
  
  
  function __ZN19BroadphaseRayTesterD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV19BroadphaseRayTester+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN19BroadphaseRayTesterD0Ev.__index__ = Runtime.getFunctionIndex(__ZN19BroadphaseRayTesterD0Ev, "__ZN19BroadphaseRayTesterD0Ev");
  
  
  function __ZN20BroadphaseAabbTesterD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV20BroadphaseAabbTester+8;
    ;
    return;
  }
  __ZN20BroadphaseAabbTesterD1Ev.__index__ = Runtime.getFunctionIndex(__ZN20BroadphaseAabbTesterD1Ev, "__ZN20BroadphaseAabbTesterD1Ev");
  
  
  function __ZN20BroadphaseAabbTesterD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV20BroadphaseAabbTester+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN20BroadphaseAabbTesterD0Ev.__index__ = Runtime.getFunctionIndex(__ZN20BroadphaseAabbTesterD0Ev, "__ZN20BroadphaseAabbTesterD0Ev");
  
  
  function __ZN16btDbvtBroadphase23getOverlappingPairCacheEv(_this) {
    ;
    var __label__;
    var _0 = _this+96;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZN16btDbvtBroadphase23getOverlappingPairCacheEv.__index__ = Runtime.getFunctionIndex(__ZN16btDbvtBroadphase23getOverlappingPairCacheEv, "__ZN16btDbvtBroadphase23getOverlappingPairCacheEv");
  
  
  function __ZNK16btDbvtBroadphase23getOverlappingPairCacheEv(_this) {
    ;
    var __label__;
    var _0 = _this+96;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK16btDbvtBroadphase23getOverlappingPairCacheEv.__index__ = Runtime.getFunctionIndex(__ZNK16btDbvtBroadphase23getOverlappingPairCacheEv, "__ZNK16btDbvtBroadphase23getOverlappingPairCacheEv");
  
  
  function __ZNK16btDbvtBroadphase17getBroadphaseAabbER9btVector3S1_(_this, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    var _3 = _this+4+40;
    var _4 = IHEAP[_3];
    var _5 = _4 == 0;
    ;
    _bb8$_bb$2162: do { 
      if (_2) {
        ;
        if (_5) { __lastLabel__ = 148; __label__ = 63; /* _bb14 */ break _bb8$_bb$2162; } else { __lastLabel__ = 148; ; }
        var _40 = _4;
        var _41 = FHEAP[_40];
        var _42 = _4+4;
        var _43 = FHEAP[_42];
        var _44 = _4+8;
        var _45 = FHEAP[_44];
        var _46 = _4+12;
        var _47 = FHEAP[_46];
        var _48 = _4+16;
        var _49 = FHEAP[_48];
        var _50 = _4+16+4;
        var _51 = FHEAP[_50];
        var _52 = _4+16+8;
        var _53 = FHEAP[_52];
        var _54 = _4+16+12;
        var _55 = FHEAP[_54];
        __lastLabel__ = 3; ;
      }
      else {
        ;
        var _6 = _1;
        ;
        if (_5) {
          ;
          var _25 = FHEAP[_6];
          var _26 = _1+4;
          var _27 = FHEAP[_26];
          var _28 = _1+8;
          var _29 = FHEAP[_28];
          var _30 = _1+12;
          var _31 = FHEAP[_30];
          var _32 = _1+16;
          var _33 = FHEAP[_32];
          var _34 = _1+16+4;
          var _35 = FHEAP[_34];
          var _36 = _1+16+8;
          var _37 = FHEAP[_36];
          var _38 = _1+16+12;
          var _39 = FHEAP[_38];
          __lastLabel__ = 2; ;
        }
        else {
          ;
          var _scevgep11_i = _4;
          var _scevgep13_i = _1+16;
          var _scevgep14_i = _4+16;
          var _7 = FHEAP[_6];
          var _8 = FHEAP[_scevgep11_i];
          var _9 = _7 < _8;
          var _storemerge_i = _9 ? _7 : _8;
          var _10 = FHEAP[_scevgep13_i];
          var _11 = FHEAP[_scevgep14_i];
          var _12 = _10 > _11;
          var _storemerge16_i = _12 ? _10 : _11;
          var _scevgep_1_i = _1+4;
          var _scevgep11_1_i = _4+4;
          var _scevgep13_1_i = _1+16+4;
          var _scevgep14_1_i = _4+16+4;
          var _13 = FHEAP[_scevgep_1_i];
          var _14 = FHEAP[_scevgep11_1_i];
          var _15 = _13 < _14;
          var _storemerge17_i = _15 ? _13 : _14;
          var _16 = FHEAP[_scevgep13_1_i];
          var _17 = FHEAP[_scevgep14_1_i];
          var _18 = _16 > _17;
          var _storemerge18_i = _18 ? _16 : _17;
          var _scevgep_2_i = _1+8;
          var _scevgep11_2_i = _4+8;
          var _scevgep13_2_i = _1+16+8;
          var _scevgep14_2_i = _4+16+8;
          var _19 = FHEAP[_scevgep_2_i];
          var _20 = FHEAP[_scevgep11_2_i];
          var _21 = _19 < _20;
          var _storemerge19_i = _21 ? _19 : _20;
          var _22 = FHEAP[_scevgep13_2_i];
          var _23 = FHEAP[_scevgep14_2_i];
          var _24 = _22 > _23;
          var _storemerge20_i = _24 ? _22 : _23;
          __lastLabel__ = 83; ;
        }
      }
    } while(0);
    var _bounds_0_0_3_0 = __lastLabel__ == 83 ? undef : (__lastLabel__ == 2 ? _31 : (__lastLabel__ == 3 ? _47 : (0)));
    var _bounds_0_0_2_0 = __lastLabel__ == 83 ? _storemerge19_i : (__lastLabel__ == 2 ? _29 : (__lastLabel__ == 3 ? _45 : (0)));
    var _bounds_0_0_1_0 = __lastLabel__ == 83 ? _storemerge17_i : (__lastLabel__ == 2 ? _27 : (__lastLabel__ == 3 ? _43 : (0)));
    var _bounds_0_0_0_0 = __lastLabel__ == 83 ? _storemerge_i : (__lastLabel__ == 2 ? _25 : (__lastLabel__ == 3 ? _41 : (0)));
    var _bounds_1_0_0_0 = __lastLabel__ == 83 ? _storemerge16_i : (__lastLabel__ == 2 ? _33 : (__lastLabel__ == 3 ? _49 : (0)));
    var _bounds_1_0_1_0 = __lastLabel__ == 83 ? _storemerge18_i : (__lastLabel__ == 2 ? _35 : (__lastLabel__ == 3 ? _51 : (0)));
    var _bounds_1_0_2_0 = __lastLabel__ == 83 ? _storemerge20_i : (__lastLabel__ == 2 ? _37 : (__lastLabel__ == 3 ? _53 : (0)));
    var _bounds_1_0_3_0 = __lastLabel__ == 83 ? undef : (__lastLabel__ == 2 ? _39 : (__lastLabel__ == 3 ? _55 : (0)));
    var _56 = _aabbMin;
    FHEAP[_56] = _bounds_0_0_0_0;
    var _57 = _aabbMin+4;
    FHEAP[_57] = _bounds_0_0_1_0;
    var _58 = _aabbMin+8;
    FHEAP[_58] = _bounds_0_0_2_0;
    var _59 = _aabbMin+12;
    FHEAP[_59] = _bounds_0_0_3_0;
    var _60 = _aabbMax;
    FHEAP[_60] = _bounds_1_0_0_0;
    var _61 = _aabbMax+4;
    FHEAP[_61] = _bounds_1_0_1_0;
    var _62 = _aabbMax+8;
    FHEAP[_62] = _bounds_1_0_2_0;
    var _63 = _aabbMax+12;
    FHEAP[_63] = _bounds_1_0_3_0;
    ;
    return;
  }
  __ZNK16btDbvtBroadphase17getBroadphaseAabbER9btVector3S1_.__index__ = Runtime.getFunctionIndex(__ZNK16btDbvtBroadphase17getBroadphaseAabbER9btVector3S1_, "__ZNK16btDbvtBroadphase17getBroadphaseAabbER9btVector3S1_");
  
  
  function __ZN16btDbvtBroadphase9resetPoolEP12btDispatcher(_this, _dispatcher) {
    ;
    var __label__;
    var _0 = _this+4+12;
    var _1 = IHEAP[_0];
    var _2 = _this+4+40+12;
    var _3 = IHEAP[_2];
    var _4 = 0 - _3;
    var _5 = _1 == _4;
    ;
    if (_5) {
      ;
      var _6 = _this+4;
      __ZN6btDbvt5clearEv(_6);
      var _7 = _this+4+40;
      __ZN6btDbvt5clearEv(_7);
      var _8 = _this+153;
      IHEAP[_8] = 0;
      var _9 = _this+154;
      IHEAP[_9] = 1;
      var _10 = _this+104;
      IHEAP[_10] = 0;
      var _11 = _this+124;
      IHEAP[_11] = 0;
      var _12 = _this+108;
      IHEAP[_12] = 1;
      var _13 = _this+112;
      IHEAP[_13] = 0;
      var _14 = _this+116;
      IHEAP[_14] = 10;
      var _15 = _this+120;
      IHEAP[_15] = 1;
      var _16 = _this+128;
      IHEAP[_16] = 0;
      var _17 = _this+132;
      IHEAP[_17] = 0;
      var _18 = _this+136;
      FHEAP[_18] = 0;
      var _19 = _this+148;
      IHEAP[_19] = 0;
      var _20 = _this+140;
      IHEAP[_20] = 0;
      var _21 = _this+144;
      IHEAP[_21] = 0;
      var _scevgep = _this+84;
      IHEAP[_scevgep] = 0;
      var _scevgep_1 = _this+84+4;
      IHEAP[_scevgep_1] = 0;
      var _scevgep_2 = _this+84+8;
      IHEAP[_scevgep_2] = 0;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN16btDbvtBroadphase9resetPoolEP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN16btDbvtBroadphase9resetPoolEP12btDispatcher, "__ZN16btDbvtBroadphase9resetPoolEP12btDispatcher");
  
  
  function __ZN16btDbvtBroadphase8optimizeEv(_this) {
    ;
    var __label__;
    var _0 = _this+4;
    __ZN6btDbvt15optimizeTopDownEi(_0, 128);
    var _1 = _this+4+40;
    __ZN6btDbvt15optimizeTopDownEi(_1, 128);
    ;
    return;
  }
  __ZN16btDbvtBroadphase8optimizeEv.__index__ = Runtime.getFunctionIndex(__ZN16btDbvtBroadphase8optimizeEv, "__ZN16btDbvtBroadphase8optimizeEv");
  
  
  function __ZN6btDbvt24collideTTpersistentStackEPK10btDbvtNodeS2_RNS_8ICollideE(_this, _root0, _root1, _policy) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+8;
    var _2 = _root0 != 0;
    var _3 = _root1 != 0;
    var _4 = _2 & _3;
    ;
    _bb$_return$2208: do { 
      if (_4) {
        ;
        var _5 = _this+20;
        __ZN20btAlignedObjectArrayIN6btDbvt6sStkNNEE6resizeEiRKS1_(_5, 128, _1);
        var _6 = _this+20+12;
        var _7 = IHEAP[_6];
        var _8 = _7;
        IHEAP[_8] = _root0;
        var _9 = _7+4;
        IHEAP[_9] = _root1;
        var _10 = _this+20+4;
        var _11 = _policy;
        __lastLabel__ = 60; ;
        _bb3$2210: while(1) { // _bb3
          var _depth_0 = __lastLabel__ == 60 ? 1 : (_depth_1);
          var _treshold_1 = __lastLabel__ == 60 ? 124 : (_treshold_0);
          var _12 = _depth_0 + -1;
          var _13 = IHEAP[_6];
          var _14 = _13+8*_12;
          var _15 = IHEAP[_14];
          var _16 = _13+8*_12+4;
          var _17 = IHEAP[_16];
          var _18 = _12 > _treshold_1;
          ;
          if (_18) {
            __lastLabel__ = 116; ;
            var _19 = IHEAP[_10];
            var _20 = _19 << 1;
            __ZN20btAlignedObjectArrayIN6btDbvt6sStkNNEE6resizeEiRKS1_(_5, _20, _0);
            var _21 = IHEAP[_10];
            var _22 = _21 + -4;
            __lastLabel__ = 61; ;
          }
          else {
            __lastLabel__ = 116; ;
          }
          var _treshold_0 = __lastLabel__ == 61 ? _22 : (_treshold_1);
          var _23 = _15 == _17;
          ;
          _bb6$_bb9$2215: do { 
            if (_23) {
              ;
              var _24 = _15+36+4;
              var _25 = IHEAP[_24];
              var _toBoolnot_i25 = _25 == 0;
              if (_toBoolnot_i25) { __lastLabel__ = 83; __label__ = 110; /* _bb21 */ break _bb6$_bb9$2215; } else { __lastLabel__ = 83; ; }
              var _26 = IHEAP[_6];
              var _27 = _15+36;
              var _28 = IHEAP[_27];
              var _29 = _26+8*_12;
              IHEAP[_29] = _28;
              var _30 = _26+8*_12+4;
              IHEAP[_30] = _28;
              var _31 = _depth_0 + 1;
              var _32 = IHEAP[_6];
              var _33 = IHEAP[_24];
              var _34 = _32+8*_depth_0;
              IHEAP[_34] = _33;
              var _35 = _32+8*_depth_0+4;
              IHEAP[_35] = _33;
              var _36 = _depth_0 + 2;
              var _37 = IHEAP[_6];
              var _38 = IHEAP[_24];
              var _39 = IHEAP[_27];
              var _40 = _37+8*_31;
              IHEAP[_40] = _39;
              var _41 = _37+8*_31+4;
              IHEAP[_41] = _38;
              __lastLabel__ = 148; ;
            }
            else {
              ;
              var _42 = _15;
              var _43 = FHEAP[_42];
              var _44 = _17+16;
              var _45 = FHEAP[_44];
              var _46 = _43 > _45;
              if (_46) { __lastLabel__ = 62; __label__ = 110; /* _bb21 */ break _bb6$_bb9$2215; } else { __lastLabel__ = 62; ; }
              var _47 = _15+16;
              var _48 = FHEAP[_47];
              var _49 = _17;
              var _50 = FHEAP[_49];
              var _51 = _48 < _50;
              if (_51) { __lastLabel__ = 131; __label__ = 110; /* _bb21 */ break _bb6$_bb9$2215; } else { __lastLabel__ = 131; ; }
              var _52 = _15+4;
              var _53 = FHEAP[_52];
              var _54 = _17+16+4;
              var _55 = FHEAP[_54];
              var _56 = _53 > _55;
              if (_56) { __lastLabel__ = 159; __label__ = 110; /* _bb21 */ break _bb6$_bb9$2215; } else { __lastLabel__ = 159; ; }
              var _57 = _15+16+4;
              var _58 = FHEAP[_57];
              var _59 = _17+4;
              var _60 = FHEAP[_59];
              var _61 = _58 < _60;
              if (_61) { __lastLabel__ = 132; __label__ = 110; /* _bb21 */ break _bb6$_bb9$2215; } else { __lastLabel__ = 132; ; }
              var _62 = _15+8;
              var _63 = FHEAP[_62];
              var _64 = _17+16+8;
              var _65 = FHEAP[_64];
              var _66 = _63 > _65;
              if (_66) { __lastLabel__ = 133; __label__ = 110; /* _bb21 */ break _bb6$_bb9$2215; } else { __lastLabel__ = 133; ; }
              var _67 = _15+16+8;
              var _68 = FHEAP[_67];
              var _69 = _17+8;
              var _70 = FHEAP[_69];
              var _phitmp = _68 < _70;
              if (_phitmp) { __lastLabel__ = 508; __label__ = 110; /* _bb21 */ break _bb6$_bb9$2215; } else { __lastLabel__ = 508; ; }
              var _71 = _15+36+4;
              var _72 = IHEAP[_71];
              var _toBoolnot_i23 = _72 == 0;
              var _73 = _17+36+4;
              var _74 = IHEAP[_73];
              var _toBoolnot_i = _74 != 0;
              ;
              if (_toBoolnot_i23) {
                ;
                ;
                if (_toBoolnot_i) {
                  ;
                  var _109 = IHEAP[_6];
                  var _110 = _17+36;
                  var _111 = IHEAP[_110];
                  var _112 = _109+8*_12;
                  IHEAP[_112] = _15;
                  var _113 = _109+8*_12+4;
                  IHEAP[_113] = _111;
                  var _114 = _depth_0 + 1;
                  var _115 = IHEAP[_6];
                  var _116 = IHEAP[_73];
                  var _117 = _115+8*_depth_0;
                  IHEAP[_117] = _15;
                  var _118 = _115+8*_depth_0+4;
                  IHEAP[_118] = _116;
                  __lastLabel__ = 64; ;
                }
                else {
                  ;
                  var _119 = IHEAP[_11];
                  var _120 = _119+8;
                  var _121 = IHEAP[_120];
                  var _122 = _121;
                  FUNCTION_TABLE[_122](_policy, _15, _17);
                  __lastLabel__ = 117; ;
                }
              }
              else {
                ;
                var _75 = IHEAP[_6];
                ;
                if (_toBoolnot_i) {
                  ;
                  var _76 = _17+36;
                  var _77 = IHEAP[_76];
                  var _78 = _15+36;
                  var _79 = IHEAP[_78];
                  var _80 = _75+8*_12;
                  IHEAP[_80] = _79;
                  var _81 = _75+8*_12+4;
                  IHEAP[_81] = _77;
                  var _82 = _depth_0 + 1;
                  var _83 = IHEAP[_6];
                  var _84 = IHEAP[_76];
                  var _85 = IHEAP[_71];
                  var _86 = _83+8*_depth_0;
                  IHEAP[_86] = _85;
                  var _87 = _83+8*_depth_0+4;
                  IHEAP[_87] = _84;
                  var _88 = _depth_0 + 2;
                  var _89 = IHEAP[_6];
                  var _90 = IHEAP[_73];
                  var _91 = IHEAP[_78];
                  var _92 = _89+8*_82;
                  IHEAP[_92] = _91;
                  var _93 = _89+8*_82+4;
                  IHEAP[_93] = _90;
                  var _94 = _depth_0 + 3;
                  var _95 = IHEAP[_6];
                  var _96 = IHEAP[_73];
                  var _97 = IHEAP[_71];
                  var _98 = _95+8*_88;
                  IHEAP[_98] = _97;
                  var _99 = _95+8*_88+4;
                  IHEAP[_99] = _96;
                  __lastLabel__ = 153; ;
                }
                else {
                  ;
                  var _100 = _15+36;
                  var _101 = IHEAP[_100];
                  var _102 = _75+8*_12;
                  IHEAP[_102] = _101;
                  var _103 = _75+8*_12+4;
                  IHEAP[_103] = _17;
                  var _104 = _depth_0 + 1;
                  var _105 = IHEAP[_6];
                  var _106 = IHEAP[_71];
                  var _107 = _105+8*_depth_0;
                  IHEAP[_107] = _106;
                  var _108 = _105+8*_depth_0+4;
                  IHEAP[_108] = _17;
                  __lastLabel__ = 154; ;
                }
              }
            }
          } while(0);
          var _depth_1 = __lastLabel__ == 148 ? _36 : (__lastLabel__ == 83 ? _12 : (__lastLabel__ == 153 ? _94 : (__lastLabel__ == 154 ? _104 : (__lastLabel__ == 64 ? _114 : (__lastLabel__ == 117 ? _12 : (__lastLabel__ == 508 ? _12 : (__lastLabel__ == 133 ? _12 : (__lastLabel__ == 132 ? _12 : (__lastLabel__ == 159 ? _12 : (__lastLabel__ == 131 ? _12 : (_12)))))))))));
          var _123 = _depth_1 == 0;
          if (_123) { __lastLabel__ = 110; __label__ = 44; /* _return */ break _bb$_return$2208; } else { __lastLabel__ = 110; __label__ = 116; /* _bb3 */ continue _bb3$2210; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN6btDbvt24collideTTpersistentStackEPK10btDbvtNodeS2_RNS_8ICollideE.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt24collideTTpersistentStackEPK10btDbvtNodeS2_RNS_8ICollideE, "__ZN6btDbvt24collideTTpersistentStackEPK10btDbvtNodeS2_RNS_8ICollideE");
  
  
  function __ZN16btDbvtBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher(_this, _absproxy, _dispatcher) {
    ;
    var __label__;
    var _0 = _absproxy+48+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 2;
    var _3 = _absproxy+48;
    var _4 = _3;
    var _5 = IHEAP[_4];
    ;
    if (_2) {
      ;
      var _6 = _this+4+40;
      __ZN6btDbvt6removeEP10btDbvtNode(_6, _5);
      ;
    }
    else {
      ;
      var _7 = _this+4;
      __ZN6btDbvt6removeEP10btDbvtNode(_7, _5);
      ;
    }
    var _8 = _absproxy+48+4;
    var _9 = _8;
    var _10 = IHEAP[_9];
    var _11 = _10 == 0;
    var _12 = _absproxy+48+8;
    var _13 = IHEAP[_12];
    var _14 = _13;
    ;
    if (_11) {
      ;
      var _16 = IHEAP[_0];
      var _17 = _this+84+_16*4;
      IHEAP[_17] = _14;
      ;
    }
    else {
      ;
      var _15 = _10+52+4;
      IHEAP[_15] = _14;
      ;
    }
    var _18 = IHEAP[_12];
    var _19 = _18 == 0;
    ;
    if (!_19) {
      ;
      var _20 = IHEAP[_9];
      var _21 = _18+52;
      var _22 = _21;
      IHEAP[_22] = _20;
      ;
    }
    var _23 = _this+96;
    var _24 = IHEAP[_23];
    var _25 = _24;
    var _26 = IHEAP[_25];
    var _27 = _26+16;
    var _28 = IHEAP[_27];
    var _29 = _24;
    var _30 = _28;
    FUNCTION_TABLE[_30](_29, _absproxy, _dispatcher);
    var _31 = _absproxy;
    __Z21btAlignedFreeInternalPv(_31);
    var _32 = _this+154;
    IHEAP[_32] = 1;
    ;
    return;
  }
  __ZN16btDbvtBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN16btDbvtBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher, "__ZN16btDbvtBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher");
  
  
  function __ZN12btDispatcherD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV12btDispatcher+8;
    ;
    return;
  }
  __ZN12btDispatcherD2Ev.__index__ = Runtime.getFunctionIndex(__ZN12btDispatcherD2Ev, "__ZN12btDispatcherD2Ev");
  
  
  function __ZN12btDispatcherD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV12btDispatcher+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN12btDispatcherD0Ev.__index__ = Runtime.getFunctionIndex(__ZN12btDispatcherD0Ev, "__ZN12btDispatcherD0Ev");
  
  
  function __ZN12btDispatcherD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV12btDispatcher+8;
    ;
    return;
  }
  __ZN12btDispatcherD1Ev.__index__ = Runtime.getFunctionIndex(__ZN12btDispatcherD1Ev, "__ZN12btDispatcherD1Ev");
  
  
  function __ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheEN31btMultiSapOverlapFilterCallbackC2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheE31btMultiSapOverlapFilterCallback+8;
    ;
    return;
  }
  __ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheEN31btMultiSapOverlapFilterCallbackC2Ev.__index__ = Runtime.getFunctionIndex(__ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheEN31btMultiSapOverlapFilterCallbackC2Ev, "__ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheEN31btMultiSapOverlapFilterCallbackC2Ev");
  
  
  function __ZN20btMultiSapBroadphase23getOverlappingPairCacheEv(_this) {
    ;
    var __label__;
    var _0 = _this+28;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZN20btMultiSapBroadphase23getOverlappingPairCacheEv.__index__ = Runtime.getFunctionIndex(__ZN20btMultiSapBroadphase23getOverlappingPairCacheEv, "__ZN20btMultiSapBroadphase23getOverlappingPairCacheEv");
  
  
  function __ZNK20btMultiSapBroadphase23getOverlappingPairCacheEv(_this) {
    ;
    var __label__;
    var _0 = _this+28;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK20btMultiSapBroadphase23getOverlappingPairCacheEv.__index__ = Runtime.getFunctionIndex(__ZNK20btMultiSapBroadphase23getOverlappingPairCacheEv, "__ZNK20btMultiSapBroadphase23getOverlappingPairCacheEv");
  
  
  function __ZNK20btMultiSapBroadphase17getBroadphaseAabbER9btVector3S1_(_this, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _aabbMin;
    FHEAP[_0] = -999999984306749400;
    var _1 = _aabbMin+4;
    FHEAP[_1] = -999999984306749400;
    var _2 = _aabbMin+8;
    FHEAP[_2] = -999999984306749400;
    var _3 = _aabbMin+12;
    FHEAP[_3] = 0;
    var _4 = _aabbMax;
    FHEAP[_4] = 999999984306749400;
    var _5 = _aabbMax+4;
    FHEAP[_5] = 999999984306749400;
    var _6 = _aabbMax+8;
    FHEAP[_6] = 999999984306749400;
    var _7 = _aabbMax+12;
    FHEAP[_7] = 0;
    ;
    return;
  }
  __ZNK20btMultiSapBroadphase17getBroadphaseAabbER9btVector3S1_.__index__ = Runtime.getFunctionIndex(__ZNK20btMultiSapBroadphase17getBroadphaseAabbER9btVector3S1_, "__ZNK20btMultiSapBroadphase17getBroadphaseAabbER9btVector3S1_");
  
  
  function __ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheENK31btMultiSapOverlapFilterCallback23needBroadphaseCollisionEP17btBroadphaseProxyS4_(_this, _childProxy0, _childProxy1) {
    ;
    var __label__;
    var _0 = _childProxy0+8;
    var _1 = IHEAP[_0];
    var _2 = _childProxy1+8;
    var _3 = IHEAP[_2];
    var _4 = _1+4;
    var _5 = _4;
    var _6 = IHEAP[_5];
    var _7 = _3+6;
    var _8 = _7;
    var _9 = IHEAP[_8];
    var _10 = _9 & _6;
    var _toBoolnot = _10 == 0;
    ;
    if (_toBoolnot) {
      ;
      ;
      return 0;
    }
    else {
      ;
      var _11 = _3+4;
      var _12 = _11;
      var _13 = IHEAP[_12];
      var _14 = _1+6;
      var _15 = _14;
      var _16 = IHEAP[_15];
      var _17 = _16 & _13;
      var _not_ = _17 != 0;
      var _retval = _not_;
      ;
      return _retval;
    }
  }
  __ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheENK31btMultiSapOverlapFilterCallback23needBroadphaseCollisionEP17btBroadphaseProxyS4_.__index__ = Runtime.getFunctionIndex(__ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheENK31btMultiSapOverlapFilterCallback23needBroadphaseCollisionEP17btBroadphaseProxyS4_, "__ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheENK31btMultiSapOverlapFilterCallback23needBroadphaseCollisionEP17btBroadphaseProxyS4_");
  
  
  function __ZN23btOverlapFilterCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btOverlapFilterCallback+8;
    ;
    return;
  }
  __ZN23btOverlapFilterCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN23btOverlapFilterCallbackD1Ev, "__ZN23btOverlapFilterCallbackD1Ev");
  
  
  function __ZN23btOverlapFilterCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btOverlapFilterCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN23btOverlapFilterCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN23btOverlapFilterCallbackD0Ev, "__ZN23btOverlapFilterCallbackD0Ev");
  
  
  function __ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheEN31btMultiSapOverlapFilterCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheE31btMultiSapOverlapFilterCallback+8;
    ;
    return;
  }
  __ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheEN31btMultiSapOverlapFilterCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheEN31btMultiSapOverlapFilterCallbackD1Ev, "__ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheEN31btMultiSapOverlapFilterCallbackD1Ev");
  
  
  function __ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheEN31btMultiSapOverlapFilterCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheE31btMultiSapOverlapFilterCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheEN31btMultiSapOverlapFilterCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheEN31btMultiSapOverlapFilterCallbackD0Ev, "__ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheEN31btMultiSapOverlapFilterCallbackD0Ev");
  
  
  function __ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheEN31btMultiSapOverlapFilterCallbackC1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheE31btMultiSapOverlapFilterCallback+8;
    ;
    return;
  }
  __ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheEN31btMultiSapOverlapFilterCallbackC1Ev.__index__ = Runtime.getFunctionIndex(__ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheEN31btMultiSapOverlapFilterCallbackC1Ev, "__ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheEN31btMultiSapOverlapFilterCallbackC1Ev");
  
  
  function __Z23boxIsContainedWithinBoxRK9btVector3S1_S1_S1_(_amin, _amax, _bmin, _bmax) {
    ;
    var __label__;
    var _0 = _amin;
    var _1 = FHEAP[_0];
    var _2 = _bmin;
    var _3 = FHEAP[_2];
    var _4 = _1 < _3;
    ;
    _bb6$_bb$2613: do { 
      if (!_4) {
        ;
        var _5 = _amax;
        var _6 = FHEAP[_5];
        var _7 = _bmax;
        var _8 = FHEAP[_7];
        var _9 = _6 > _8;
        if (_9) { __label__ = 83; /* _bb6 */ break _bb6$_bb$2613; }
        var _10 = _amin+4;
        var _11 = FHEAP[_10];
        var _12 = _bmin+4;
        var _13 = FHEAP[_12];
        var _14 = _11 < _13;
        if (_14) { __label__ = 83; /* _bb6 */ break _bb6$_bb$2613; }
        var _15 = _amax+4;
        var _16 = FHEAP[_15];
        var _17 = _bmax+4;
        var _18 = FHEAP[_17];
        var _19 = _16 > _18;
        if (_19) { __label__ = 83; /* _bb6 */ break _bb6$_bb$2613; }
        var _20 = _amin+8;
        var _21 = FHEAP[_20];
        var _22 = _bmin+8;
        var _23 = FHEAP[_22];
        var _24 = _21 < _23;
        if (_24) { __label__ = 83; /* _bb6 */ break _bb6$_bb$2613; }
        var _25 = _amax+8;
        var _26 = FHEAP[_25];
        var _27 = _bmax+8;
        var _28 = FHEAP[_27];
        var _not_ = _26 <= _28;
        var _retval = _not_;
        ;
        return _retval;
      }
    } while(0);
    ;
    return 0;
  }
  __Z23boxIsContainedWithinBoxRK9btVector3S1_S1_S1_.__index__ = Runtime.getFunctionIndex(__Z23boxIsContainedWithinBoxRK9btVector3S1_S1_S1_, "__Z23boxIsContainedWithinBoxRK9btVector3S1_S1_S1_");
  
  
  function __ZNK20btMultiSapBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_(_this, _proxy, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _proxy+48+16+4;
    var _1 = _aabbMin;
    var _2 = FHEAP[_0];
    FHEAP[_1] = _2;
    var _3 = _aabbMin+4;
    var _4 = _proxy+48+16+8;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _aabbMin+8;
    var _7 = _proxy+48+16+12;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _aabbMin+12;
    var _10 = _proxy+48+16+16;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _proxy+48+32+4;
    var _13 = _aabbMax;
    var _14 = FHEAP[_12];
    FHEAP[_13] = _14;
    var _15 = _aabbMax+4;
    var _16 = _proxy+48+32+8;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _aabbMax+8;
    var _19 = _proxy+48+32+12;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _aabbMax+12;
    var _22 = _proxy+48+32+16;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    ;
    return;
  }
  __ZNK20btMultiSapBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_.__index__ = Runtime.getFunctionIndex(__ZNK20btMultiSapBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_, "__ZNK20btMultiSapBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_");
  
  
  function __ZN21btNodeOverlapCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btNodeOverlapCallback+8;
    ;
    return;
  }
  __ZN21btNodeOverlapCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN21btNodeOverlapCallbackD1Ev, "__ZN21btNodeOverlapCallbackD1Ev");
  
  
  function __ZN21btNodeOverlapCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btNodeOverlapCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN21btNodeOverlapCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN21btNodeOverlapCallbackD0Ev, "__ZN21btNodeOverlapCallbackD0Ev");
  
  
  function __ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherE21MyNodeOverlapCallback+8;
    ;
    return;
  }
  __ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallbackD1Ev, "__ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallbackD1Ev");
  
  
  function __ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherE21MyNodeOverlapCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallbackD0Ev, "__ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallbackD0Ev");
  
  
  function __ZN20btMultiSapBroadphase15testAabbOverlapEP17btBroadphaseProxyS1_(_this, _childProxy0, _childProxy1) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _childProxy0+8;
    var _1 = IHEAP[_0];
    var _2 = _childProxy1+8;
    var _3 = IHEAP[_2];
    var _4 = _3+84;
    var _5 = _1+68;
    var _6 = _5;
    var _7 = FHEAP[_6];
    var _8 = _4;
    var _9 = FHEAP[_8];
    var _10 = _7 > _9;
    ;
    _bb2_i$_bb_i$2635: do { 
      if (_10) {
        __label__ = 132; /* _bb2_i */ 
      }
      else {
        ;
        var _11 = _1+84;
        var _12 = _3+68;
        var _13 = _11;
        var _14 = FHEAP[_13];
        var _15 = _12;
        var _16 = FHEAP[_15];
        var _17 = _14 < _16;
        if (_17) { __lastLabel__ = 131; __label__ = 132; /* _bb2_i */ break _bb2_i$_bb_i$2635; } else { __lastLabel__ = 131; __label__ = 133; /* _bb3_i */ break _bb2_i$_bb_i$2635; }
      }
    } while(0);
    if (__label__ == 132) {
      __lastLabel__ = 132; ;
    }
    var _iftmp_123_0_i = __lastLabel__ == 132 ? 0 : (1);
    var _18 = _1+76;
    var _19 = _18;
    var _20 = FHEAP[_19];
    var _21 = _3+92;
    var _22 = _21;
    var _23 = FHEAP[_22];
    var _24 = _20 > _23;
    ;
    _bb6_i$_bb4_i$2640: do { 
      if (_24) {
        __label__ = 136; /* _bb6_i */ 
      }
      else {
        ;
        var _25 = _1+92;
        var _26 = _25;
        var _27 = FHEAP[_26];
        var _28 = _3+76;
        var _29 = _28;
        var _30 = FHEAP[_29];
        var _31 = _27 < _30;
        if (_31) { __lastLabel__ = 135; __label__ = 136; /* _bb6_i */ break _bb6_i$_bb4_i$2640; } else { __lastLabel__ = 135; __label__ = 137; /* _bb7_i */ break _bb6_i$_bb4_i$2640; }
      }
    } while(0);
    if (__label__ == 136) {
      __lastLabel__ = 136; ;
    }
    var _iftmp_124_0_i = __lastLabel__ == 136 ? 0 : (_iftmp_123_0_i);
    var _32 = _1+72;
    var _33 = _32;
    var _34 = FHEAP[_33];
    var _35 = _3+88;
    var _36 = _35;
    var _37 = FHEAP[_36];
    var _38 = _34 > _37;
    ;
    if (_38) {
      ;
      ;
      return 0;
    }
    else {
      ;
      var _39 = _1+88;
      var _40 = _39;
      var _41 = FHEAP[_40];
      var _42 = _3+72;
      var _43 = _42;
      var _44 = FHEAP[_43];
      var _45 = _41 < _44;
      var _retval_i = _45 ? 0 : _iftmp_124_0_i;
      ;
      return _retval_i;
    }
  }
  __ZN20btMultiSapBroadphase15testAabbOverlapEP17btBroadphaseProxyS1_.__index__ = Runtime.getFunctionIndex(__ZN20btMultiSapBroadphase15testAabbOverlapEP17btBroadphaseProxyS1_, "__ZN20btMultiSapBroadphase15testAabbOverlapEP17btBroadphaseProxyS1_");
  
  
  function __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI37btMultiSapBroadphasePairSortPredicateEEvT_ii(_this, _CompareFunc, _lo, _hi) {
    var __stackBase__  = STACKTOP; STACKTOP += 2;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = _this+12;
    var _3 = IHEAP[_2];
    var _4 = _hi + _lo;
    var _5 = Math.floor(_4 / 2);
    var _6 = _3+16*_5;
    var _7 = IHEAP[_6];
    var _8 = _3+16*_5+4;
    var _9 = IHEAP[_8];
    var _10 = _3+16*_5+8;
    var _11 = IHEAP[_10];
    var _12 = _7 == 0;
    var _13 = _9 == 0;
    var _14 = _9+8;
    var _15 = _7+8;
    __lastLabel__ = -1; ;
    _bb1_outer$2657: while(1) { // _bb1_outer
      var _i_0_ph = __lastLabel__ == -1 ? _lo : (_i_1);
      var _j_1_ph = __lastLabel__ == -1 ? _hi : (_j_2);
      var _16 = IHEAP[_2];
      __lastLabel__ = 177; ;
      _bb1$2659: while(1) { // _bb1
        var _indvar43 = __lastLabel__ == 177 ? 0 : (_indvar_next44);
        var _i_0 = _i_0_ph + _indvar43;
        var _scevgep46 = _16+16*_i_0+8;
        var _scevgep47 = _16+16*_i_0+4;
        var _scevgep4849 = _16+16*_i_0;
        var _17 = IHEAP[_scevgep4849];
        var _18 = _17 == 0;
        ;
        if (_18) {
          __lastLabel__ = 75; ;
        }
        else {
          __lastLabel__ = 75; ;
          var _19 = _17+8;
          var _20 = IHEAP[_19];
          var _21 = _20;
          __lastLabel__ = 131; ;
        }
        var _iftmp_170_0_i = __lastLabel__ == 131 ? _21 : (0);
        var _22 = IHEAP[_scevgep47];
        var _23 = _22 == 0;
        ;
        if (_23) {
          __lastLabel__ = 132; ;
        }
        else {
          __lastLabel__ = 132; ;
          var _24 = _22+8;
          var _25 = IHEAP[_24];
          var _26 = _25;
          __lastLabel__ = 133; ;
        }
        var _iftmp_171_0_i = __lastLabel__ == 133 ? _26 : (0);
        ;
        if (_12) {
          __lastLabel__ = 300; ;
        }
        else {
          __lastLabel__ = 300; ;
          var _27 = IHEAP[_15];
          var _28 = _27;
          __lastLabel__ = 136; ;
        }
        var _iftmp_172_0_i = __lastLabel__ == 136 ? _28 : (0);
        ;
        if (_13) {
          __lastLabel__ = 2429; ;
        }
        else {
          __lastLabel__ = 2429; ;
          var _29 = IHEAP[_14];
          var _30 = _29;
          __lastLabel__ = 181; ;
        }
        var _iftmp_173_0_i = __lastLabel__ == 181 ? _30 : (0);
        var _31 = _iftmp_170_0_i > _iftmp_172_0_i;
        ;
        _bb$_bb12_i$2673: do { 
          if (!_31) {
            ;
            var _32 = _iftmp_170_0_i == _iftmp_172_0_i;
            var _33 = _iftmp_171_0_i > _iftmp_173_0_i;
            var _34 = _32 & _33;
            if (_34) { __label__ = 60; /* _bb */ break _bb$_bb12_i$2673; }
            var _notlhs_i = _iftmp_170_0_i != _iftmp_172_0_i;
            var _notrhs_i = _iftmp_171_0_i != _iftmp_173_0_i;
            var _toBool18not_i = _notrhs_i | _notlhs_i;
            if (_toBool18not_i) { __lastLabel__ = 183; __label__ = 116; /* _bb3 */ break _bb1$2659; } else { __lastLabel__ = 183; ; }
            var _35 = IHEAP[_scevgep46];
            var _phitmp = _35 > _11;
            if (_phitmp) { __lastLabel__ = 611; ; } else { __lastLabel__ = 611; __label__ = 116; /* _bb3 */ break _bb1$2659; }
          }
        } while(0);
        var _indvar_next44 = _indvar43 + 1;
        __lastLabel__ = 60; __label__ = 75; /* _bb1 */ continue _bb1$2659;
      }
      _bb3$2678: while(1) { // _bb3
        var _indvar = __lastLabel__ == 0 ? _indvar_next : (__lastLabel__ == 183 ? 0 : (0));
        var _j_0 = _j_1_ph - _indvar;
        var _scevgep = _16+16*_j_0+8;
        var _scevgep40 = _16+16*_j_0+4;
        var _scevgep4142 = _16+16*_j_0;
        ;
        if (_12) {
          __lastLabel__ = 116; ;
        }
        else {
          __lastLabel__ = 116; ;
          var _36 = IHEAP[_15];
          var _37 = _36;
          __lastLabel__ = 186; ;
        }
        var _iftmp_170_0_i14 = __lastLabel__ == 186 ? _37 : (0);
        ;
        if (_13) {
          __lastLabel__ = 4096; ;
        }
        else {
          __lastLabel__ = 4096; ;
          var _38 = IHEAP[_14];
          var _39 = _38;
          __lastLabel__ = 188; ;
        }
        var _iftmp_171_0_i17 = __lastLabel__ == 188 ? _39 : (0);
        var _40 = IHEAP[_scevgep4142];
        var _41 = _40 == 0;
        ;
        if (_41) {
          __lastLabel__ = 4097; ;
        }
        else {
          __lastLabel__ = 4097; ;
          var _42 = _40+8;
          var _43 = IHEAP[_42];
          var _44 = _43;
          __lastLabel__ = 190; ;
        }
        var _iftmp_172_0_i20 = __lastLabel__ == 190 ? _44 : (0);
        var _45 = IHEAP[_scevgep40];
        var _46 = _45 == 0;
        ;
        if (_46) {
          __lastLabel__ = 4098; ;
        }
        else {
          __lastLabel__ = 4098; ;
          var _47 = _45+8;
          var _48 = IHEAP[_47];
          var _49 = _48;
          __lastLabel__ = 192; ;
        }
        var _iftmp_173_0_i23 = __lastLabel__ == 192 ? _49 : (0);
        var _50 = _iftmp_170_0_i14 > _iftmp_172_0_i20;
        ;
        _bb2$_bb12_i25$2692: do { 
          if (!_50) {
            ;
            var _51 = _iftmp_170_0_i14 == _iftmp_172_0_i20;
            var _52 = _iftmp_171_0_i17 > _iftmp_173_0_i23;
            var _53 = _51 & _52;
            if (_53) { __label__ = 0; /* _bb2 */ break _bb2$_bb12_i25$2692; }
            var _notlhs_i26 = _iftmp_170_0_i14 != _iftmp_172_0_i20;
            var _notrhs_i27 = _iftmp_171_0_i17 != _iftmp_173_0_i23;
            var _toBool18not_i28 = _notrhs_i27 | _notlhs_i26;
            if (_toBool18not_i28) { __label__ = 82; /* _bb5 */ break _bb3$2678; }
            var _54 = IHEAP[_scevgep];
            var _phitmp36 = _11 > _54;
            if (!(_phitmp36)) { __label__ = 82; /* _bb5 */ break _bb3$2678; }
          }
        } while(0);
        var _indvar_next = _indvar + 1;
        __lastLabel__ = 0; __label__ = 116; /* _bb3 */ continue _bb3$2678;
      }
      var _55 = _i_0 > _j_0;
      ;
      if (_55) {
        __lastLabel__ = 82; ;
      }
      else {
        __lastLabel__ = 82; ;
        var _56 = IHEAP[_scevgep46];
        var _57 = _16+16*_i_0+12;
        var _58 = IHEAP[_57];
        IHEAP[_scevgep4849] = _40;
        IHEAP[_scevgep47] = _45;
        var _59 = IHEAP[_scevgep];
        IHEAP[_scevgep46] = _59;
        var _60 = _16+16*_j_0+12;
        var _61 = IHEAP[_60];
        IHEAP[_57] = _61;
        var _62 = IHEAP[_2];
        var _63 = _62+16*_j_0;
        IHEAP[_63] = _17;
        var _64 = _62+16*_j_0+4;
        IHEAP[_64] = _22;
        var _65 = _62+16*_j_0+8;
        IHEAP[_65] = _56;
        var _66 = _62+16*_j_0+12;
        IHEAP[_66] = _58;
        var _67 = _i_0 + 1;
        var _68 = _j_0 + -1;
        __lastLabel__ = 83; ;
      }
      var _i_1 = __lastLabel__ == 83 ? _67 : (_i_0);
      var _j_2 = __lastLabel__ == 83 ? _68 : (_j_0);
      var _69 = _i_1 > _j_2;
      if (_69) { __lastLabel__ = 2; __label__ = 148; /* _bb8 */ break _bb1_outer$2657; } else { __lastLabel__ = 2; __label__ = 177; /* _bb1_outer */ continue _bb1_outer$2657; }
    }
    var _70 = _j_2 > _lo;
    ;
    if (_70) {
      ;
      __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI37btMultiSapBroadphasePairSortPredicateEEvT_ii(_this, _1, _lo, _j_2);
      ;
    }
    var _71 = _i_1 < _hi;
    ;
    if (_71) {
      ;
      __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI37btMultiSapBroadphasePairSortPredicateEEvT_ii(_this, _0, _i_1, _hi);
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI37btMultiSapBroadphasePairSortPredicateEEvT_ii.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI37btMultiSapBroadphasePairSortPredicateEEvT_ii, "__ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI37btMultiSapBroadphasePairSortPredicateEEvT_ii");
  
  
  function __ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherE21MyNodeOverlapCallback+8;
    ;
    return;
  }
  __ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallbackD2Ev, "__ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallbackD2Ev");
  
  
  function __ZN28btHashedOverlappingPairCache23getOverlappingPairArrayEv(_this) {
    ;
    var __label__;
    var _0 = _this+4;
    ;
    return _0;
  }
  __ZN28btHashedOverlappingPairCache23getOverlappingPairArrayEv.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCache23getOverlappingPairArrayEv, "__ZN28btHashedOverlappingPairCache23getOverlappingPairArrayEv");
  
  
  function __ZN28btHashedOverlappingPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback(_this, _callback) {
    ;
    var __label__;
    var _0 = _this+24;
    IHEAP[_0] = _callback;
    ;
    return;
  }
  __ZN28btHashedOverlappingPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback, "__ZN28btHashedOverlappingPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback");
  
  
  function __ZN28btHashedOverlappingPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback(_this, _ghostPairCallback) {
    ;
    var __label__;
    var _0 = _this+72;
    IHEAP[_0] = _ghostPairCallback;
    ;
    return;
  }
  __ZN28btHashedOverlappingPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback, "__ZN28btHashedOverlappingPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback");
  
  
  function __ZN28btSortedOverlappingPairCache23getOverlappingPairArrayEv(_this) {
    ;
    var __label__;
    var _0 = _this+4;
    ;
    return _0;
  }
  __ZN28btSortedOverlappingPairCache23getOverlappingPairArrayEv.__index__ = Runtime.getFunctionIndex(__ZN28btSortedOverlappingPairCache23getOverlappingPairArrayEv, "__ZN28btSortedOverlappingPairCache23getOverlappingPairArrayEv");
  
  
  function __ZN28btSortedOverlappingPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback(_this, _callback) {
    ;
    var __label__;
    var _0 = _this+28;
    IHEAP[_0] = _callback;
    ;
    return;
  }
  __ZN28btSortedOverlappingPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback.__index__ = Runtime.getFunctionIndex(__ZN28btSortedOverlappingPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback, "__ZN28btSortedOverlappingPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback");
  
  
  function __ZN28btSortedOverlappingPairCache18hasDeferredRemovalEv(_this) {
    ;
    var __label__;
    var _0 = _this+25;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZN28btSortedOverlappingPairCache18hasDeferredRemovalEv.__index__ = Runtime.getFunctionIndex(__ZN28btSortedOverlappingPairCache18hasDeferredRemovalEv, "__ZN28btSortedOverlappingPairCache18hasDeferredRemovalEv");
  
  
  function __ZN28btSortedOverlappingPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback(_this, _ghostPairCallback) {
    ;
    var __label__;
    var _0 = _this+32;
    IHEAP[_0] = _ghostPairCallback;
    ;
    return;
  }
  __ZN28btSortedOverlappingPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback.__index__ = Runtime.getFunctionIndex(__ZN28btSortedOverlappingPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback, "__ZN28btSortedOverlappingPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback");
  
  
  function __ZN28btHashedOverlappingPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher(_this, _pair, _dispatcher) {
    ;
    var __label__;
    var _0 = _pair+8;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (_2) {
      ;
      ;
      return;
    }
    else {
      ;
      var _3 = _1;
      var _4 = IHEAP[_3];
      var _5 = IHEAP[_4];
      var _6 = _5;
      FUNCTION_TABLE[_6](_1);
      var _7 = _dispatcher;
      var _8 = IHEAP[_7];
      var _9 = _8+52;
      var _10 = IHEAP[_9];
      var _11 = IHEAP[_0];
      var _12 = _10;
      var _13 = _11;
      FUNCTION_TABLE[_12](_dispatcher, _13);
      IHEAP[_0] = 0;
      ;
      return;
    }
  }
  __ZN28btHashedOverlappingPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher, "__ZN28btHashedOverlappingPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher");
  
  
  function __ZN17btOverlapCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17btOverlapCallback+8;
    ;
    return;
  }
  __ZN17btOverlapCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN17btOverlapCallbackD1Ev, "__ZN17btOverlapCallbackD1Ev");
  
  
  function __ZN17btOverlapCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17btOverlapCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN17btOverlapCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN17btOverlapCallbackD0Ev, "__ZN17btOverlapCallbackD0Ev");
  
  
  function __ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback+8;
    ;
    return;
  }
  __ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD1Ev, "__ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD1Ev");
  
  
  function __ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD0Ev, "__ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD0Ev");
  
  
  function __ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallback14processOverlapER16btBroadphasePair(_this, _pair) {
    ;
    var __label__;
    var _0 = _pair;
    var _1 = IHEAP[_0];
    var _2 = _this+4;
    var _3 = IHEAP[_2];
    var _4 = _1 == _3;
    ;
    _bb1$_bb$2990: do { 
      if (!_4) {
        ;
        var _5 = _pair+4;
        var _6 = IHEAP[_5];
        var _7 = _6 == _3;
        if (_7) { __label__ = 75; /* _bb1 */ break _bb1$_bb$2990; }
        ;
        return 0;
      }
    } while(0);
    var _8 = _this+8;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = IHEAP[_10];
    var _12 = _11+32;
    var _13 = IHEAP[_12];
    var _14 = _this+12;
    var _15 = IHEAP[_14];
    var _16 = _13;
    FUNCTION_TABLE[_16](_9, _pair, _15);
    ;
    return 0;
  }
  __ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallback14processOverlapER16btBroadphasePair.__index__ = Runtime.getFunctionIndex(__ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallback14processOverlapER16btBroadphasePair, "__ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallback14processOverlapER16btBroadphasePair");
  
  
  function __ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback+8;
    ;
    return;
  }
  __ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD1Ev, "__ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD1Ev");
  
  
  function __ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD0Ev, "__ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD0Ev");
  
  
  function __ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallback14processOverlapER16btBroadphasePair(_this, _pair) {
    ;
    var __label__;
    var _0 = _pair;
    var _1 = IHEAP[_0];
    var _2 = _this+4;
    var _3 = IHEAP[_2];
    var _4 = _1 == _3;
    ;
    if (_4) {
      ;
      ;
      return 1;
    }
    else {
      ;
      var _5 = _pair+4;
      var _6 = IHEAP[_5];
      var _7 = _6 == _3;
      var _retval = _7;
      ;
      return _retval;
    }
  }
  __ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallback14processOverlapER16btBroadphasePair.__index__ = Runtime.getFunctionIndex(__ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallback14processOverlapER16btBroadphasePair, "__ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallback14processOverlapER16btBroadphasePair");
  
  
  function __ZN28btSortedOverlappingPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher(_this, _pair, _dispatcher) {
    ;
    var __label__;
    var _0 = _pair+8;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (_2) {
      ;
      ;
      return;
    }
    else {
      ;
      var _3 = _1;
      var _4 = IHEAP[_3];
      var _5 = IHEAP[_4];
      var _6 = _5;
      FUNCTION_TABLE[_6](_1);
      var _7 = _dispatcher;
      var _8 = IHEAP[_7];
      var _9 = _8+52;
      var _10 = IHEAP[_9];
      var _11 = IHEAP[_0];
      var _12 = _10;
      var _13 = _11;
      FUNCTION_TABLE[_12](_dispatcher, _13);
      IHEAP[_0] = 0;
      var _14 = IHEAP[_gRemovePairs];
      var _15 = _14 + -1;
      IHEAP[_gRemovePairs] = _15;
      ;
      return;
    }
  }
  __ZN28btSortedOverlappingPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN28btSortedOverlappingPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher, "__ZN28btSortedOverlappingPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher");
  
  
  function __ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback+8;
    ;
    return;
  }
  __ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD1Ev, "__ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD1Ev");
  
  
  function __ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD0Ev, "__ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD0Ev");
  
  
  function __ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallback14processOverlapER16btBroadphasePair(_this, _pair) {
    ;
    var __label__;
    var _0 = _pair;
    var _1 = IHEAP[_0];
    var _2 = _this+4;
    var _3 = IHEAP[_2];
    var _4 = _1 == _3;
    ;
    _bb1$_bb$3007: do { 
      if (!_4) {
        ;
        var _5 = _pair+4;
        var _6 = IHEAP[_5];
        var _7 = _6 == _3;
        if (_7) { __label__ = 75; /* _bb1 */ break _bb1$_bb$3007; }
        ;
        return 0;
      }
    } while(0);
    var _8 = _this+8;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = IHEAP[_10];
    var _12 = _11+32;
    var _13 = IHEAP[_12];
    var _14 = _this+12;
    var _15 = IHEAP[_14];
    var _16 = _13;
    FUNCTION_TABLE[_16](_9, _pair, _15);
    ;
    return 0;
  }
  __ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallback14processOverlapER16btBroadphasePair.__index__ = Runtime.getFunctionIndex(__ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallback14processOverlapER16btBroadphasePair, "__ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallback14processOverlapER16btBroadphasePair");
  
  
  function __ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback+8;
    ;
    return;
  }
  __ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD1Ev, "__ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD1Ev");
  
  
  function __ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD0Ev, "__ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD0Ev");
  
  
  function __ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallback14processOverlapER16btBroadphasePair(_this, _pair) {
    ;
    var __label__;
    var _0 = _pair;
    var _1 = IHEAP[_0];
    var _2 = _this+4;
    var _3 = IHEAP[_2];
    var _4 = _1 == _3;
    ;
    if (_4) {
      ;
      ;
      return 1;
    }
    else {
      ;
      var _5 = _pair+4;
      var _6 = IHEAP[_5];
      var _7 = _6 == _3;
      var _retval = _7;
      ;
      return _retval;
    }
  }
  __ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallback14processOverlapER16btBroadphasePair.__index__ = Runtime.getFunctionIndex(__ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallback14processOverlapER16btBroadphasePair, "__ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallback14processOverlapER16btBroadphasePair");
  
  
  function __ZN28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv(_this) {
    ;
    var __label__;
    var _0 = _this+4+12;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZN28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv, "__ZN28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv");
  
  
  function __ZN28btSortedOverlappingPairCache26getOverlappingPairArrayPtrEv(_this) {
    ;
    var __label__;
    var _0 = _this+4+12;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZN28btSortedOverlappingPairCache26getOverlappingPairArrayPtrEv.__index__ = Runtime.getFunctionIndex(__ZN28btSortedOverlappingPairCache26getOverlappingPairArrayPtrEv, "__ZN28btSortedOverlappingPairCache26getOverlappingPairArrayPtrEv");
  
  
  function __ZNK28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv(_this) {
    ;
    var __label__;
    var _0 = _this+4+12;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv.__index__ = Runtime.getFunctionIndex(__ZNK28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv, "__ZNK28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv");
  
  
  function __ZNK28btSortedOverlappingPairCache26getOverlappingPairArrayPtrEv(_this) {
    ;
    var __label__;
    var _0 = _this+4+12;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK28btSortedOverlappingPairCache26getOverlappingPairArrayPtrEv.__index__ = Runtime.getFunctionIndex(__ZNK28btSortedOverlappingPairCache26getOverlappingPairArrayPtrEv, "__ZNK28btSortedOverlappingPairCache26getOverlappingPairArrayPtrEv");
  
  
  function __ZNK28btHashedOverlappingPairCache22getNumOverlappingPairsEv(_this) {
    ;
    var __label__;
    var _0 = _this+4+4;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK28btHashedOverlappingPairCache22getNumOverlappingPairsEv.__index__ = Runtime.getFunctionIndex(__ZNK28btHashedOverlappingPairCache22getNumOverlappingPairsEv, "__ZNK28btHashedOverlappingPairCache22getNumOverlappingPairsEv");
  
  
  function __ZNK28btSortedOverlappingPairCache22getNumOverlappingPairsEv(_this) {
    ;
    var __label__;
    var _0 = _this+4+4;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK28btSortedOverlappingPairCache22getNumOverlappingPairsEv.__index__ = Runtime.getFunctionIndex(__ZNK28btSortedOverlappingPairCache22getNumOverlappingPairsEv, "__ZNK28btSortedOverlappingPairCache22getNumOverlappingPairsEv");
  
  
  function __ZN28btHashedOverlappingPairCache8findPairEP17btBroadphaseProxyS1_(_this, _proxy0, _proxy1) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = IHEAP[_gFindPairs];
    var _1 = _0 + 1;
    IHEAP[_gFindPairs] = _1;
    var _2 = _proxy0+12;
    var _3 = IHEAP[_2];
    var _4 = _proxy1+12;
    var _5 = IHEAP[_4];
    var _6 = _3 > _5;
    var _proxy1_addr_0 = _6 ? _proxy0 : _proxy1;
    var _proxy0_addr_0 = _6 ? _proxy1 : _proxy0;
    var _7 = _proxy0_addr_0+12;
    var _8 = IHEAP[_7];
    var _9 = _proxy1_addr_0+12;
    var _10 = IHEAP[_9];
    var _11 = _10 << 16;
    var _12 = _11 | _8;
    var _13 = _12 << 15;
    var _not_i = _13 ^ -1;
    var _14 = _12 + _not_i;
    var _15 = _14 >> 10;
    var _16 = _15 ^ _14;
    var _17 = _16 * 9;
    var _18 = _17 >> 6;
    var _19 = _18 ^ _17;
    var _20 = _19 << 11;
    var _not2_i = _20 ^ -1;
    var _21 = _19 + _not2_i;
    var _22 = _21 >> 16;
    var _23 = _22 ^ _21;
    var _24 = _this+4+8;
    var _25 = IHEAP[_24];
    var _26 = _25 + -1;
    var _27 = _23 & _26;
    var _28 = _this+32+4;
    var _29 = IHEAP[_28];
    var _30 = _29 > _27;
    ;
    _bb3$_bb21$3034: do { 
      if (_30) {
        ;
        var _31 = _this+32+12;
        var _32 = IHEAP[_31];
        var _33 = _32+4*_27;
        var _34 = _this+4+12;
        var _35 = _this+52+12;
        __lastLabel__ = 116; ;
        _bb5$3036: while(1) { // _bb5
          var _index_0_in = __lastLabel__ == 116 ? _33 : (_37);
          var _index_0 = IHEAP[_index_0_in];
          var _cond = _index_0 == -1;
          if (_cond) { __label__ = 110; /* _bb21 */ break _bb3$_bb21$3034; }
          var _38 = IHEAP[_34];
          var _39 = _38+16*_index_0;
          var _40 = IHEAP[_39];
          var _41 = _40+12;
          var _42 = IHEAP[_41];
          var _43 = _42 == _8;
          ;
          if (_43) {
            ;
            var _44 = _38+16*_index_0+4;
            var _45 = IHEAP[_44];
            var _46 = _45+12;
            var _47 = IHEAP[_46];
            var _phitmp = _47 == _10;
            if (_phitmp) { __label__ = 117; /* _bb20 */ break _bb5$3036; }
          }
          var _36 = IHEAP[_35];
          var _37 = _36+4*_index_0;
          __lastLabel__ = 61; __label__ = 82; /* _bb5 */ continue _bb5$3036;
        }
        var _48 = _38+16*_index_0;
        ;
        return _48;
      }
    } while(0);
    ;
    return 0;
  }
  __ZN28btHashedOverlappingPairCache8findPairEP17btBroadphaseProxyS1_.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCache8findPairEP17btBroadphaseProxyS1_, "__ZN28btHashedOverlappingPairCache8findPairEP17btBroadphaseProxyS1_");
  
  
  function __ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback+8;
    ;
    return;
  }
  __ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD2Ev, "__ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD2Ev");
  
  
  function __ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback+8;
    ;
    return;
  }
  __ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD2Ev, "__ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD2Ev");
  
  
  function __ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback+8;
    ;
    return;
  }
  __ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD2Ev, "__ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD2Ev");
  
  
  function __ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback+8;
    ;
    return;
  }
  __ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD2Ev, "__ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD2Ev");
  
  
  function __ZN28btSortedOverlappingPairCacheD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btSortedOverlappingPairCache+8;
    var _1 = _this+4+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+4+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      if (!_toBool_i_i_i) {
        ;
        var _6 = _2;
        __Z21btAlignedFreeInternalPv(_6);
        ;
      }
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+4+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+4+4;
    IHEAP[_8] = 0;
    var _9 = _this+4+8;
    IHEAP[_9] = 0;
    var _10 = _this;
    __ZdlPv(_10);
    ;
    return;
  }
  __ZN28btSortedOverlappingPairCacheD0Ev.__index__ = Runtime.getFunctionIndex(__ZN28btSortedOverlappingPairCacheD0Ev, "__ZN28btSortedOverlappingPairCacheD0Ev");
  
  
  function __ZN28btSortedOverlappingPairCacheD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btSortedOverlappingPairCache+8;
    var _1 = _this+4+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+4+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      if (!_toBool_i_i_i) {
        ;
        var _6 = _2;
        __Z21btAlignedFreeInternalPv(_6);
        ;
      }
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+4+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+4+4;
    IHEAP[_8] = 0;
    var _9 = _this+4+8;
    IHEAP[_9] = 0;
    ;
    return;
  }
  __ZN28btSortedOverlappingPairCacheD1Ev.__index__ = Runtime.getFunctionIndex(__ZN28btSortedOverlappingPairCacheD1Ev, "__ZN28btSortedOverlappingPairCacheD1Ev");
  
  
  function __ZN28btSortedOverlappingPairCacheD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btSortedOverlappingPairCache+8;
    var _1 = _this+4+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+4+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      if (!_toBool_i_i_i) {
        ;
        var _6 = _2;
        __Z21btAlignedFreeInternalPv(_6);
        ;
      }
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+4+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+4+4;
    IHEAP[_8] = 0;
    var _9 = _this+4+8;
    IHEAP[_9] = 0;
    ;
    return;
  }
  __ZN28btSortedOverlappingPairCacheD2Ev.__index__ = Runtime.getFunctionIndex(__ZN28btSortedOverlappingPairCacheD2Ev, "__ZN28btSortedOverlappingPairCacheD2Ev");
  
  
  function __ZN28btHashedOverlappingPairCache10growTablesEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 2;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = _this+4+8;
    var _3 = IHEAP[_2];
    var _4 = _this+32+4;
    var _5 = IHEAP[_4];
    var _6 = _5 < _3;
    ;
    _bb$_return$3425: do { 
      if (_6) {
        ;
        IHEAP[_1] = 0;
        var _7 = _this+32;
        __ZN20btAlignedObjectArrayIiE6resizeEiRKi(_7, _3, _1);
        IHEAP[_0] = 0;
        var _8 = _this+52;
        __ZN20btAlignedObjectArrayIiE6resizeEiRKi(_8, _3, _0);
        var _9 = _3 > 0;
        ;
        _bb_nph14$_bb8_preheader$3427: do { 
          if (_9) {
            ;
            var _10 = _this+32+12;
            __lastLabel__ = 750; ;
            _bb1$3429: while(1) { // _bb1
              var _i_013 = __lastLabel__ == 750 ? 0 : (_12);
              var _11 = IHEAP[_10];
              var _scevgep21 = _11+4*_i_013;
              IHEAP[_scevgep21] = -1;
              var _12 = _i_013 + 1;
              var _exitcond20 = _12 == _3;
              if (_exitcond20) { __lastLabel__ = 75; __label__ = 269; /* _bb5_preheader */ break _bb1$3429; } else { __lastLabel__ = 75; __label__ = 75; /* _bb1 */ continue _bb1$3429; }
            }
            if (!(_9)) { __label__ = 752; /* _bb8_preheader */ break _bb_nph14$_bb8_preheader$3427; }
            var _13 = _this+52+12;
            __lastLabel__ = 751; ;
            _bb4$3433: while(1) { // _bb4
              var _i_111 = __lastLabel__ == 751 ? 0 : (_15);
              var _14 = IHEAP[_13];
              var _scevgep19 = _14+4*_i_111;
              IHEAP[_scevgep19] = -1;
              var _15 = _i_111 + 1;
              var _exitcond18 = _15 == _3;
              if (_exitcond18) { __lastLabel__ = 61; __label__ = 752; /* _bb8_preheader */ break _bb_nph14$_bb8_preheader$3427; } else { __lastLabel__ = 61; __label__ = 61; /* _bb4 */ continue _bb4$3433; }
            }
          }
        } while(0);
        var _16 = _5 > 0;
        if (!(_16)) { __label__ = 44; /* _return */ break _bb$_return$3425; }
        var _17 = _this+4+12;
        var _18 = _this+52+12;
        var _19 = _this+32+12;
        __lastLabel__ = 130; ;
        _bb7$3437: while(1) { // _bb7
          var _20 = __lastLabel__ == 130 ? 0 : (_50);
          var _21 = IHEAP[_17];
          var _scevgep1516 = _21+16*_20;
          var _22 = IHEAP[_scevgep1516];
          var _23 = _22+12;
          var _24 = IHEAP[_23];
          var _scevgep17 = _21+16*_20+4;
          var _25 = IHEAP[_scevgep17];
          var _26 = _25+12;
          var _27 = IHEAP[_26];
          var _28 = _27 << 16;
          var _29 = _28 | _24;
          var _30 = _29 << 15;
          var _not_i = _30 ^ -1;
          var _31 = _29 + _not_i;
          var _32 = _31 >> 10;
          var _33 = _32 ^ _31;
          var _34 = _33 * 9;
          var _35 = _34 >> 6;
          var _36 = _35 ^ _34;
          var _37 = _36 << 11;
          var _not2_i = _37 ^ -1;
          var _38 = _36 + _not2_i;
          var _39 = _38 >> 16;
          var _40 = _39 ^ _38;
          var _41 = IHEAP[_2];
          var _42 = _41 + -1;
          var _43 = _40 & _42;
          var _44 = IHEAP[_18];
          var _45 = IHEAP[_19];
          var _46 = _45+4*_43;
          var _47 = IHEAP[_46];
          var _scevgep = _44+4*_20;
          IHEAP[_scevgep] = _47;
          var _48 = IHEAP[_19];
          var _49 = _48+4*_43;
          IHEAP[_49] = _20;
          var _50 = _20 + 1;
          var _exitcond = _50 == _5;
          if (_exitcond) { __lastLabel__ = 2; __label__ = 44; /* _return */ break _bb$_return$3425; } else { __lastLabel__ = 2; __label__ = 2; /* _bb7 */ continue _bb7$3437; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN28btHashedOverlappingPairCache10growTablesEv.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCache10growTablesEv, "__ZN28btHashedOverlappingPairCache10growTablesEv");
  
  
  function __ZN14btQuantizedBvhC2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV14btQuantizedBvh+8;
    var _1 = _this+52;
    IHEAP[_1] = 277;
    var _2 = _this+60;
    IHEAP[_2] = 0;
    var _3 = _this+64+16;
    IHEAP[_3] = 1;
    var _4 = _this+64+12;
    IHEAP[_4] = 0;
    var _5 = _this+64+4;
    IHEAP[_5] = 0;
    var _6 = _this+64+8;
    IHEAP[_6] = 0;
    var _7 = _this+84+16;
    IHEAP[_7] = 1;
    var _8 = _this+84+12;
    IHEAP[_8] = 0;
    var _9 = _this+84+4;
    IHEAP[_9] = 0;
    var _10 = _this+84+8;
    IHEAP[_10] = 0;
    var _11 = _this+104+16;
    IHEAP[_11] = 1;
    var _12 = _this+104+12;
    IHEAP[_12] = 0;
    var _13 = _this+104+4;
    IHEAP[_13] = 0;
    var _14 = _this+104+8;
    IHEAP[_14] = 0;
    var _15 = _this+124+16;
    IHEAP[_15] = 1;
    var _16 = _this+124+12;
    IHEAP[_16] = 0;
    var _17 = _this+124+4;
    IHEAP[_17] = 0;
    var _18 = _this+124+8;
    IHEAP[_18] = 0;
    var _19 = _this+144;
    IHEAP[_19] = 0;
    var _20 = _this+148+16;
    IHEAP[_20] = 1;
    var _21 = _this+148+12;
    IHEAP[_21] = 0;
    var _22 = _this+148+4;
    IHEAP[_22] = 0;
    var _23 = _this+148+8;
    IHEAP[_23] = 0;
    var _24 = _this+168;
    IHEAP[_24] = 0;
    var _25 = _this+4;
    FHEAP[_25] = -3.4028234663852886e+38;
    var _26 = _this+4+4;
    FHEAP[_26] = -3.4028234663852886e+38;
    var _27 = _this+4+8;
    FHEAP[_27] = -3.4028234663852886e+38;
    var _28 = _this+4+12;
    FHEAP[_28] = 0;
    var _29 = _this+20;
    FHEAP[_29] = 3.4028234663852886e+38;
    var _30 = _this+20+4;
    FHEAP[_30] = 3.4028234663852886e+38;
    var _31 = _this+20+8;
    FHEAP[_31] = 3.4028234663852886e+38;
    var _32 = _this+20+12;
    FHEAP[_32] = 0;
    ;
    return;
  }
  __ZN14btQuantizedBvhC2Ev.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvhC2Ev, "__ZN14btQuantizedBvhC2Ev");
  
  
  function __ZN14btQuantizedBvh21setQuantizationValuesERK9btVector3S2_f(_this, _bvhAabbMin, _bvhAabbMax, _quantizationMargin) {
    ;
    var __label__;
    var _0 = _bvhAabbMin+8;
    var _1 = FHEAP[_0];
    var _2 = _1 - _quantizationMargin;
    var _3 = _bvhAabbMin+4;
    var _4 = FHEAP[_3];
    var _5 = _4 - _quantizationMargin;
    var _6 = _bvhAabbMin;
    var _7 = FHEAP[_6];
    var _8 = _7 - _quantizationMargin;
    var _9 = _this+4;
    FHEAP[_9] = _8;
    var _10 = _this+4+4;
    FHEAP[_10] = _5;
    var _11 = _this+4+8;
    FHEAP[_11] = _2;
    var _12 = _this+4+12;
    FHEAP[_12] = 0;
    var _13 = _bvhAabbMax+8;
    var _14 = FHEAP[_13];
    var _15 = _14 + _quantizationMargin;
    var _16 = _bvhAabbMax+4;
    var _17 = FHEAP[_16];
    var _18 = _17 + _quantizationMargin;
    var _19 = _bvhAabbMax;
    var _20 = FHEAP[_19];
    var _21 = _20 + _quantizationMargin;
    var _22 = _this+20;
    FHEAP[_22] = _21;
    var _23 = _this+20+4;
    FHEAP[_23] = _18;
    var _24 = _this+20+8;
    FHEAP[_24] = _15;
    var _25 = _this+20+12;
    FHEAP[_25] = 0;
    var _26 = _15 - _2;
    var _27 = _18 - _5;
    var _28 = _21 - _8;
    var _29 = 65533 / _26;
    var _30 = 65533 / _27;
    var _31 = 65533 / _28;
    var _32 = _this+36;
    FHEAP[_32] = _31;
    var _33 = _this+36+4;
    FHEAP[_33] = _30;
    var _34 = _this+36+8;
    FHEAP[_34] = _29;
    var _35 = _this+36+12;
    FHEAP[_35] = 0;
    var _36 = _this+60;
    IHEAP[_36] = 1;
    ;
    return;
  }
  __ZN14btQuantizedBvh21setQuantizationValuesERK9btVector3S2_f.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvh21setQuantizationValuesERK9btVector3S2_f, "__ZN14btQuantizedBvh21setQuantizationValuesERK9btVector3S2_f");
  
  
  function __ZNK14btQuantizedBvh42walkRecursiveQuantizedTreeAgainstQueryAabbEPK18btQuantizedBvhNodeP21btNodeOverlapCallbackPtS5_(_this, _currentNode, _nodeCallback, _quantizedQueryAabbMin, _quantizedQueryAabbMax) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _quantizedQueryAabbMin+4;
    var _1 = _quantizedQueryAabbMax+4;
    var _2 = _quantizedQueryAabbMin+2;
    var _3 = _quantizedQueryAabbMax+2;
    __lastLabel__ = -1; ;
    _tailrecurse$3502: while(1) { // _tailrecurse
      var _currentNode_tr = __lastLabel__ == -1 ? _currentNode : (__lastLabel__ == 61 ? _45 : (_46));
      var _4 = _currentNode_tr+8;
      var _5 = _currentNode_tr;
      var _6 = IHEAP[_quantizedQueryAabbMin];
      var _7 = IHEAP[_4];
      var _8 = unSign(_6, 16) <= unSign(_7, 16);
      var _9 = IHEAP[_quantizedQueryAabbMax];
      var _10 = IHEAP[_5];
      var _11 = unSign(_9, 16) >= unSign(_10, 16);
      var _12 = _8 & _11;
      var _13 = IHEAP[_0];
      var _14 = _currentNode_tr+8+4;
      var _15 = IHEAP[_14];
      var _16 = unSign(_13, 16) <= unSign(_15, 16);
      var _17 = _12 & _16;
      var _18 = IHEAP[_1];
      var _19 = _currentNode_tr+4;
      var _20 = IHEAP[_19];
      var _21 = unSign(_18, 16) >= unSign(_20, 16);
      var _22 = _17 & _21;
      var _23 = IHEAP[_2];
      var _24 = _currentNode_tr+8+2;
      var _25 = IHEAP[_24];
      var _26 = unSign(_23, 16) <= unSign(_25, 16);
      var _27 = _22 & _26;
      var _28 = IHEAP[_3];
      var _29 = _currentNode_tr+2;
      var _30 = IHEAP[_29];
      var _31 = unSign(_28, 16) >= unSign(_30, 16);
      var _32 = _27 & _31;
      if (!(_32)) { __label__ = 44; /* _return */ break _tailrecurse$3502; }
      var _33 = _currentNode_tr+16;
      var _34 = IHEAP[_33];
      var _toBool = _34 < 0;
      if (!(_toBool)) { __label__ = 75; /* _bb1 */ break _tailrecurse$3502; }
      var _42 = _currentNode_tr+20;
      __ZNK14btQuantizedBvh42walkRecursiveQuantizedTreeAgainstQueryAabbEPK18btQuantizedBvhNodeP21btNodeOverlapCallbackPtS5_(_this, _42, _nodeCallback, _quantizedQueryAabbMin, _quantizedQueryAabbMax);
      var _43 = _currentNode_tr+20+16;
      var _44 = IHEAP[_43];
      var _toBool3 = _44 < 0;
      ;
      if (_toBool3) {
        ;
        var __sum = 1 - _44;
        var _46 = _currentNode_tr+20*__sum;
        __lastLabel__ = 82; __label__ = 764; /* _tailrecurse */ continue _tailrecurse$3502;
      }
      else {
        ;
        var _45 = _currentNode_tr+40;
        __lastLabel__ = 61; __label__ = 764; /* _tailrecurse */ continue _tailrecurse$3502;
      }
    }
    if (__label__ == 44) {
      ;
      return;
    }
    else if (__label__ == 75) {
      var _35 = _nodeCallback;
      var _36 = IHEAP[_35];
      var _37 = _36+8;
      var _38 = IHEAP[_37];
      var _39 = _34 & 2097151;
      var _40 = _34 >> 21;
      var _41 = _38;
      FUNCTION_TABLE[_41](_nodeCallback, _40, _39);
      ;
      return;
    }
  }
  __ZNK14btQuantizedBvh42walkRecursiveQuantizedTreeAgainstQueryAabbEPK18btQuantizedBvhNodeP21btNodeOverlapCallbackPtS5_.__index__ = Runtime.getFunctionIndex(__ZNK14btQuantizedBvh42walkRecursiveQuantizedTreeAgainstQueryAabbEPK18btQuantizedBvhNodeP21btNodeOverlapCallbackPtS5_, "__ZNK14btQuantizedBvh42walkRecursiveQuantizedTreeAgainstQueryAabbEPK18btQuantizedBvhNodeP21btNodeOverlapCallbackPtS5_");
  
  
  function __ZNK14btQuantizedBvh28calculateSerializeBufferSizeEv(_this) {
    ;
    var __label__;
    var _0 = _this+168;
    var _1 = IHEAP[_0];
    var _2 = _1 << 5;
    var _3 = _this+60;
    var _4 = IHEAP[_3];
    var _toBool = _4 == 0;
    var _5 = _this+56;
    var _6 = IHEAP[_5];
    var __pn_v = _toBool ? 6 : 4;
    var __pn = _6 << __pn_v;
    var _7 = _2 + 172;
    var __0 = _7 + __pn;
    ;
    return __0;
  }
  __ZNK14btQuantizedBvh28calculateSerializeBufferSizeEv.__index__ = Runtime.getFunctionIndex(__ZNK14btQuantizedBvh28calculateSerializeBufferSizeEv, "__ZNK14btQuantizedBvh28calculateSerializeBufferSizeEv");
  
  
  function __ZN14btQuantizedBvh30assignInternalNodeFromLeafNodeEii(_this, _internalNode, _leafNodeIndex) {
    ;
    var __label__;
    var _0 = _this+60;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    ;
    if (_toBool) {
      ;
      var _27 = _this+84+12;
      var _28 = IHEAP[_27];
      var _29 = _28+64*_internalNode;
      var _30 = _this+64+12;
      var _31 = IHEAP[_30];
      var _32 = _31+64*_leafNodeIndex;
      var _33 = _29;
      var _34 = _32;
      _llvm_memcpy_p0i8_p0i8_i32(_33, _34, 64, 4, false);
      ;
      return;
    }
    else {
      ;
      var _2 = _this+124+12;
      var _3 = IHEAP[_2];
      var _4 = _this+104+12;
      var _5 = IHEAP[_4];
      var _6 = _3+20*_internalNode;
      var _7 = _5+20*_leafNodeIndex;
      var _8 = IHEAP[_7];
      IHEAP[_6] = _8;
      var _9 = _3+20*_internalNode+2;
      var _10 = _5+20*_leafNodeIndex+2;
      var _11 = IHEAP[_10];
      IHEAP[_9] = _11;
      var _12 = _3+20*_internalNode+4;
      var _13 = _5+20*_leafNodeIndex+4;
      var _14 = IHEAP[_13];
      IHEAP[_12] = _14;
      var _15 = _3+20*_internalNode+8;
      var _16 = _5+20*_leafNodeIndex+8;
      var _17 = IHEAP[_16];
      IHEAP[_15] = _17;
      var _18 = _3+20*_internalNode+8+2;
      var _19 = _5+20*_leafNodeIndex+8+2;
      var _20 = IHEAP[_19];
      IHEAP[_18] = _20;
      var _21 = _3+20*_internalNode+8+4;
      var _22 = _5+20*_leafNodeIndex+8+4;
      var _23 = IHEAP[_22];
      IHEAP[_21] = _23;
      var _24 = _3+20*_internalNode+16;
      var _25 = _5+20*_leafNodeIndex+16;
      var _26 = IHEAP[_25];
      IHEAP[_24] = _26;
      ;
      return;
    }
  }
  __ZN14btQuantizedBvh30assignInternalNodeFromLeafNodeEii.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvh30assignInternalNodeFromLeafNodeEii, "__ZN14btQuantizedBvh30assignInternalNodeFromLeafNodeEii");
  
  
  function __ZN14btQuantizedBvh13swapLeafNodesEii(_this, _i, _splitIndex) {
    ;
    var __label__;
    var _0 = _this+60;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    ;
    if (_toBool) {
      ;
      var _40 = _this+64+12;
      var _41 = IHEAP[_40];
      var __068 = _41+64*_i;
      var _tmp69 = FHEAP[__068];
      var __170 = _41+64*_i+4;
      var _tmp71 = FHEAP[__170];
      var __272 = _41+64*_i+8;
      var _tmp73 = FHEAP[__272];
      var __374 = _41+64*_i+12;
      var _tmp75 = FHEAP[__374];
      var __11850_0 = _41+64*_i+16;
      var _tmp51 = FHEAP[__11850_0];
      var __11850_1 = _41+64*_i+16+4;
      var _tmp52 = FHEAP[__11850_1];
      var __11850_2 = _41+64*_i+16+8;
      var _tmp53 = FHEAP[__11850_2];
      var __11850_3 = _41+64*_i+16+12;
      var _tmp54 = FHEAP[__11850_3];
      var __221 = _41+64*_i+32;
      var _tmp22 = IHEAP[__221];
      var __323 = _41+64*_i+36;
      var _tmp25 = IHEAP[__323];
      var __426 = _41+64*_i+40;
      var _tmp27 = IHEAP[__426];
      var __528_0 = _41+64*_i+44;
      var _tmp31 = IHEAP[__528_0];
      var __528_1 = _41+64*_i+44+4;
      var _tmp32 = IHEAP[__528_1];
      var __528_2 = _41+64*_i+44+8;
      var _tmp33 = IHEAP[__528_2];
      var __528_3 = _41+64*_i+44+12;
      var _tmp34 = IHEAP[__528_3];
      var __528_4 = _41+64*_i+44+16;
      var _tmp35 = IHEAP[__528_4];
      var _42 = _41+64*_i;
      var _43 = _41+64*_splitIndex;
      var _44 = _42;
      var _45 = _43;
      _llvm_memcpy_p0i8_p0i8_i32(_44, _45, 64, 4, false);
      var _46 = IHEAP[_40];
      var __0 = _46+64*_splitIndex;
      FHEAP[__0] = _tmp69;
      var __162 = _46+64*_splitIndex+4;
      FHEAP[__162] = _tmp71;
      var __264 = _46+64*_splitIndex+8;
      FHEAP[__264] = _tmp73;
      var __366 = _46+64*_splitIndex+12;
      FHEAP[__366] = _tmp75;
      var __145_0 = _46+64*_splitIndex+16;
      FHEAP[__145_0] = _tmp51;
      var __145_1 = _46+64*_splitIndex+16+4;
      FHEAP[__145_1] = _tmp52;
      var __145_2 = _46+64*_splitIndex+16+8;
      FHEAP[__145_2] = _tmp53;
      var __145_3 = _46+64*_splitIndex+16+12;
      FHEAP[__145_3] = _tmp54;
      var __2 = _46+64*_splitIndex+32;
      IHEAP[__2] = _tmp22;
      var __3 = _46+64*_splitIndex+36;
      IHEAP[__3] = _tmp25;
      var __4 = _46+64*_splitIndex+40;
      IHEAP[__4] = _tmp27;
      var __5_0 = _46+64*_splitIndex+44;
      IHEAP[__5_0] = _tmp31;
      var __5_1 = _46+64*_splitIndex+44+4;
      IHEAP[__5_1] = _tmp32;
      var __5_2 = _46+64*_splitIndex+44+8;
      IHEAP[__5_2] = _tmp33;
      var __5_3 = _46+64*_splitIndex+44+12;
      IHEAP[__5_3] = _tmp34;
      var __5_4 = _46+64*_splitIndex+44+16;
      IHEAP[__5_4] = _tmp35;
      ;
      return;
    }
    else {
      ;
      var _2 = _this+104+12;
      var _3 = IHEAP[_2];
      var _4 = _3+20*_i;
      var _5 = IHEAP[_4];
      var _6 = _3+20*_i+2;
      var _7 = IHEAP[_6];
      var _8 = _3+20*_i+4;
      var _9 = IHEAP[_8];
      var _10 = _3+20*_i+8;
      var _11 = IHEAP[_10];
      var _12 = _3+20*_i+8+2;
      var _13 = IHEAP[_12];
      var _14 = _3+20*_i+8+4;
      var _15 = IHEAP[_14];
      var _16 = _3+20*_i+16;
      var _17 = IHEAP[_16];
      var _18 = _3+20*_splitIndex;
      var _19 = IHEAP[_18];
      IHEAP[_4] = _19;
      var _20 = _3+20*_splitIndex+2;
      var _21 = IHEAP[_20];
      IHEAP[_6] = _21;
      var _22 = _3+20*_splitIndex+4;
      var _23 = IHEAP[_22];
      IHEAP[_8] = _23;
      var _24 = _3+20*_splitIndex+8;
      var _25 = IHEAP[_24];
      IHEAP[_10] = _25;
      var _26 = _3+20*_splitIndex+8+2;
      var _27 = IHEAP[_26];
      IHEAP[_12] = _27;
      var _28 = _3+20*_splitIndex+8+4;
      var _29 = IHEAP[_28];
      IHEAP[_14] = _29;
      var _30 = _3+20*_splitIndex+16;
      var _31 = IHEAP[_30];
      IHEAP[_16] = _31;
      var _32 = IHEAP[_2];
      var _33 = _32+20*_splitIndex;
      IHEAP[_33] = _5;
      var _34 = _32+20*_splitIndex+2;
      IHEAP[_34] = _7;
      var _35 = _32+20*_splitIndex+4;
      IHEAP[_35] = _9;
      var _36 = _32+20*_splitIndex+8;
      IHEAP[_36] = _11;
      var _37 = _32+20*_splitIndex+8+2;
      IHEAP[_37] = _13;
      var _38 = _32+20*_splitIndex+8+4;
      IHEAP[_38] = _15;
      var _39 = _32+20*_splitIndex+16;
      IHEAP[_39] = _17;
      ;
      return;
    }
  }
  __ZN14btQuantizedBvh13swapLeafNodesEii.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvh13swapLeafNodesEii, "__ZN14btQuantizedBvh13swapLeafNodesEii");
  
  
  function __ZN14btQuantizedBvh21mergeInternalNodeAabbEiRK9btVector3S2_(_this, _nodeIndex, _newAabbMin, _newAabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 12;
    var __label__;
    var __lastLabel__ = null;
    var _quantizedAabbMin = __stackBase__;
    var _quantizedAabbMax = __stackBase__+6;
    var _0 = _this+60;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    ;
    _bb9$_bb_nph$3523: do { 
      if (_toBool) {
        ;
        var _69 = _this+84+12;
        var _70 = IHEAP[_69];
        var _71 = _newAabbMin;
        var _72 = _70+64*_nodeIndex;
        var _73 = FHEAP[_71];
        var _74 = FHEAP[_72];
        var _75 = _73 < _74;
        ;
        if (_75) {
          ;
          FHEAP[_72] = _73;
          ;
        }
        var _76 = _newAabbMin+4;
        var _77 = _70+64*_nodeIndex+4;
        var _78 = FHEAP[_76];
        var _79 = FHEAP[_77];
        var _80 = _78 < _79;
        ;
        if (_80) {
          ;
          FHEAP[_77] = _78;
          ;
        }
        var _81 = _newAabbMin+8;
        var _82 = _70+64*_nodeIndex+8;
        var _83 = FHEAP[_81];
        var _84 = FHEAP[_82];
        var _85 = _83 < _84;
        ;
        if (_85) {
          ;
          FHEAP[_82] = _83;
          ;
        }
        var _86 = _newAabbMin+12;
        var _87 = _70+64*_nodeIndex+12;
        var _88 = FHEAP[_86];
        var _89 = FHEAP[_87];
        var _90 = _88 < _89;
        ;
        if (_90) {
          ;
          FHEAP[_87] = _88;
          ;
        }
        var _91 = IHEAP[_69];
        var _92 = _newAabbMax;
        var _93 = _91+64*_nodeIndex+16;
        var _94 = FHEAP[_93];
        var _95 = FHEAP[_92];
        var _96 = _94 < _95;
        ;
        if (_96) {
          ;
          FHEAP[_93] = _95;
          ;
        }
        var _97 = _newAabbMax+4;
        var _98 = _91+64*_nodeIndex+16+4;
        var _99 = FHEAP[_98];
        var _100 = FHEAP[_97];
        var _101 = _99 < _100;
        ;
        if (_101) {
          ;
          FHEAP[_98] = _100;
          ;
        }
        var _102 = _newAabbMax+8;
        var _103 = _91+64*_nodeIndex+16+8;
        var _104 = FHEAP[_103];
        var _105 = FHEAP[_102];
        var _106 = _104 < _105;
        ;
        if (_106) {
          ;
          FHEAP[_103] = _105;
          ;
        }
        var _107 = _newAabbMax+12;
        var _108 = _91+64*_nodeIndex+16+12;
        var _109 = FHEAP[_108];
        var _110 = FHEAP[_107];
        var _111 = _109 < _110;
        if (!(_111)) { __label__ = 775; /* __ZN9btVector36setMaxERKS__exit */ break _bb9$_bb_nph$3523; }
        FHEAP[_108] = _110;
        STACKTOP = __stackBase__;
        return;
      }
      else {
        ;
        var _2 = _quantizedAabbMin;
        var _3 = _newAabbMin+8;
        var _4 = FHEAP[_3];
        var _5 = _this+4+8;
        var _6 = FHEAP[_5];
        var _7 = _4 - _6;
        var _8 = _newAabbMin+4;
        var _9 = FHEAP[_8];
        var _10 = _this+4+4;
        var _11 = FHEAP[_10];
        var _12 = _9 - _11;
        var _13 = _newAabbMin;
        var _14 = FHEAP[_13];
        var _15 = _this+4;
        var _16 = FHEAP[_15];
        var _17 = _14 - _16;
        var _18 = _this+36+8;
        var _19 = FHEAP[_18];
        var _20 = _7 * _19;
        var _21 = _this+36+4;
        var _22 = FHEAP[_21];
        var _23 = _12 * _22;
        var _24 = _this+36;
        var _25 = FHEAP[_24];
        var _26 = _17 * _25;
        var _27 = Math.floor(_26);
        var _28 = _27 & -2;
        IHEAP[_2] = _28;
        var _29 = Math.floor(_23);
        var _30 = _29 & -2;
        var _31 = _quantizedAabbMin+2;
        IHEAP[_31] = _30;
        var _32 = Math.floor(_20);
        var _33 = _32 & -2;
        var _34 = _quantizedAabbMin+4;
        IHEAP[_34] = _33;
        var _35 = _quantizedAabbMax;
        var _36 = _newAabbMax+8;
        var _37 = FHEAP[_36];
        var _38 = _37 - _6;
        var _39 = _newAabbMax+4;
        var _40 = FHEAP[_39];
        var _41 = _40 - _11;
        var _42 = _newAabbMax;
        var _43 = FHEAP[_42];
        var _44 = _43 - _16;
        var _45 = _38 * _19;
        var _46 = _41 * _22;
        var _47 = _44 * _25;
        var _48 = _47 + 1;
        var _49 = Math.floor(_48);
        var _50 = _49 | 1;
        IHEAP[_35] = _50;
        var _51 = _46 + 1;
        var _52 = Math.floor(_51);
        var _53 = _52 | 1;
        var _54 = _quantizedAabbMax+2;
        IHEAP[_54] = _53;
        var _55 = _45 + 1;
        var _56 = Math.floor(_55);
        var _57 = _56 | 1;
        var _58 = _quantizedAabbMax+4;
        IHEAP[_58] = _57;
        var _59 = _this+124+12;
        var _60 = IHEAP[_59];
        var _scevgep17 = _60+20*_nodeIndex;
        var _61 = IHEAP[_scevgep17];
        var _62 = unSign(_61, 16) > unSign(_28, 16);
        ;
        if (_62) {
          __lastLabel__ = 130; ;
          IHEAP[_scevgep17] = _28;
          var __pre = IHEAP[_59];
          __lastLabel__ = 116; ;
        }
        else {
          __lastLabel__ = 130; ;
        }
        var _63 = __lastLabel__ == 116 ? __pre : (_60);
        var _scevgep18 = _63+20*_nodeIndex+8;
        var _64 = IHEAP[_scevgep18];
        var _65 = unSign(_64, 16) < unSign(_50, 16);
        ;
        if (_65) {
          __lastLabel__ = 61; ;
          IHEAP[_scevgep18] = _50;
          var __pre21 = IHEAP[_59];
          __lastLabel__ = 83; ;
        }
        else {
          __lastLabel__ = 61; ;
        }
        var _66 = __lastLabel__ == 83 ? __pre21 : (_63);
        var _scevgep17_1 = _66+20*_nodeIndex+2;
        var _67 = IHEAP[_scevgep17_1];
        var _68 = unSign(_67, 16) > unSign(_30, 16);
        ;
        if (_68) {
          __lastLabel__ = 2; ;
          IHEAP[_scevgep17_1] = _30;
          var __pre22 = IHEAP[_59];
          var __pre23 = IHEAP[_54];
          __lastLabel__ = 776; ;
        }
        else {
          __lastLabel__ = 2; ;
        }
        var _116 = __lastLabel__ == 776 ? __pre23 : (_53);
        var _117 = __lastLabel__ == 776 ? __pre22 : (_66);
        var _scevgep18_1 = _117+20*_nodeIndex+8+2;
        var _118 = IHEAP[_scevgep18_1];
        var _119 = unSign(_118, 16) < unSign(_116, 16);
        ;
        if (_119) {
          __lastLabel__ = 1369; ;
          IHEAP[_scevgep18_1] = _116;
          var __pre24 = IHEAP[_59];
          __lastLabel__ = 778; ;
        }
        else {
          __lastLabel__ = 1369; ;
        }
        var _112 = __lastLabel__ == 778 ? __pre24 : (_117);
        var _scevgep17_2 = _112+20*_nodeIndex+4;
        var _113 = IHEAP[_scevgep17_2];
        var _114 = IHEAP[_34];
        var _115 = unSign(_113, 16) > unSign(_114, 16);
        ;
        if (_115) {
          __lastLabel__ = 4118; ;
          IHEAP[_scevgep17_2] = _114;
          var __pre25 = IHEAP[_59];
          __lastLabel__ = 781; ;
        }
        else {
          __lastLabel__ = 4118; ;
        }
        var _120 = __lastLabel__ == 781 ? __pre25 : (_112);
        var _scevgep18_2 = _120+20*_nodeIndex+8+4;
        var _121 = IHEAP[_scevgep18_2];
        var _122 = IHEAP[_58];
        var _123 = unSign(_121, 16) < unSign(_122, 16);
        if (!(_123)) { __label__ = 775; /* __ZN9btVector36setMaxERKS__exit */ break _bb9$_bb_nph$3523; }
        IHEAP[_scevgep18_2] = _122;
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN14btQuantizedBvh21mergeInternalNodeAabbEiRK9btVector3S2_.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvh21mergeInternalNodeAabbEiRK9btVector3S2_, "__ZN14btQuantizedBvh21mergeInternalNodeAabbEiRK9btVector3S2_");
  
  
  function __ZNK14btQuantizedBvh26walkStacklessQuantizedTreeEP21btNodeOverlapCallbackPtS2_ii(_this, _nodeCallback, _quantizedQueryAabbMin, _quantizedQueryAabbMax, _startNodeIndex, _endNodeIndex) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _startNodeIndex < _endNodeIndex;
    ;
    _bb_nph$_bb9$3566: do { 
      if (_0) {
        __lastLabel__ = -1; ;
        var _1 = _this+124+12;
        var _2 = IHEAP[_1];
        var _3 = _2+20*_startNodeIndex;
        var _4 = _quantizedQueryAabbMin+4;
        var _5 = _quantizedQueryAabbMax+4;
        var _6 = _quantizedQueryAabbMin+2;
        var _7 = _quantizedQueryAabbMax+2;
        var _8 = _nodeCallback;
        __lastLabel__ = 130; ;
        _bb$3568: while(1) { // _bb
          var _rootNode_015 = __lastLabel__ == 130 ? _3 : (_rootNode_0_be);
          var _walkIterations_014 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _curIndex_013 = __lastLabel__ == 130 ? _startNodeIndex : (_curIndex_0_be);
          var _tmp = _walkIterations_014 + 1;
          var _9 = _rootNode_015+8;
          var _10 = _rootNode_015;
          var _11 = IHEAP[_quantizedQueryAabbMin];
          var _12 = IHEAP[_9];
          var _13 = unSign(_11, 16) <= unSign(_12, 16);
          var _14 = IHEAP[_quantizedQueryAabbMax];
          var _15 = IHEAP[_10];
          var _16 = unSign(_14, 16) >= unSign(_15, 16);
          var _17 = _13 & _16;
          var _18 = IHEAP[_4];
          var _19 = _rootNode_015+8+4;
          var _20 = IHEAP[_19];
          var _21 = unSign(_18, 16) <= unSign(_20, 16);
          var _22 = _17 & _21;
          var _23 = IHEAP[_5];
          var _24 = _rootNode_015+4;
          var _25 = IHEAP[_24];
          var _26 = unSign(_23, 16) >= unSign(_25, 16);
          var _27 = _22 & _26;
          var _28 = IHEAP[_6];
          var _29 = _rootNode_015+8+2;
          var _30 = IHEAP[_29];
          var _31 = unSign(_28, 16) <= unSign(_30, 16);
          var _32 = _27 & _31;
          var _33 = IHEAP[_7];
          var _34 = _rootNode_015+2;
          var _35 = IHEAP[_34];
          var _36 = unSign(_33, 16) >= unSign(_35, 16);
          var _37 = _32 & _36;
          var _38 = _rootNode_015+16;
          var _39 = IHEAP[_38];
          var _toBool = _39 < 0;
          var _40 = _37 ^ true;
          var _or_cond = _toBool | _40;
          ;
          if (!_or_cond) {
            ;
            var _41 = IHEAP[_8];
            var _42 = _41+8;
            var _43 = IHEAP[_42];
            var _44 = _39 & 2097151;
            var _45 = _39 >> 21;
            var _46 = _43;
            FUNCTION_TABLE[_46](_nodeCallback, _45, _44);
            ;
          }
          var _or_cond12 = _toBool & _40;
          ;
          if (_or_cond12) {
            ;
            var _50 = IHEAP[_38];
            var _51 = 0 - _50;
            var _52 = _rootNode_015+20*_51;
            var _53 = _curIndex_013 - _50;
            __lastLabel__ = 2; ;
          }
          else {
            ;
            var _47 = _rootNode_015+20;
            var _48 = _curIndex_013 + 1;
            __lastLabel__ = 83; ;
          }
          var _curIndex_0_be = __lastLabel__ == 83 ? _48 : (_53);
          var _rootNode_0_be = __lastLabel__ == 83 ? _47 : (_52);
          var _49 = _curIndex_0_be < _endNodeIndex;
          if (_49) { __lastLabel__ = 785; __label__ = 60; /* _bb */ continue _bb$3568; } else { __lastLabel__ = 785; __label__ = 62; /* _bb9 */ break _bb_nph$_bb9$3566; }
        }
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _walkIterations_0_lcssa = __lastLabel__ == -1 ? 0 : (_tmp);
    var _54 = IHEAP[_maxIterations];
    var _55 = _54 < _walkIterations_0_lcssa;
    ;
    if (_55) {
      ;
      IHEAP[_maxIterations] = _walkIterations_0_lcssa;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZNK14btQuantizedBvh26walkStacklessQuantizedTreeEP21btNodeOverlapCallbackPtS2_ii.__index__ = Runtime.getFunctionIndex(__ZNK14btQuantizedBvh26walkStacklessQuantizedTreeEP21btNodeOverlapCallbackPtS2_ii, "__ZNK14btQuantizedBvh26walkStacklessQuantizedTreeEP21btNodeOverlapCallbackPtS2_ii");
  
  
  function __ZNK14btQuantizedBvh17walkStacklessTreeEP21btNodeOverlapCallbackRK9btVector3S4_(_this, _nodeCallback, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+56;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_bb9$3582: do { 
      if (_2) {
        __lastLabel__ = -1; ;
        var _3 = _this+84+12;
        var _4 = IHEAP[_3];
        var _5 = _aabbMin;
        var _6 = _aabbMin+8;
        var _7 = _aabbMin+4;
        var _8 = _aabbMax+4;
        var _9 = _nodeCallback;
        var _10 = _aabbMax+8;
        var _11 = _aabbMax;
        __lastLabel__ = 130; ;
        _bb$3584: while(1) { // _bb
          var _walkIterations_017 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _curIndex_016 = __lastLabel__ == 130 ? 0 : (_curIndex_0_be);
          var _rootNode_015 = __lastLabel__ == 130 ? _4 : (_rootNode_0_be);
          var _tmp = _walkIterations_017 + 1;
          var _12 = FHEAP[_5];
          var _13 = _rootNode_015+16;
          var _14 = FHEAP[_13];
          var _15 = _12 > _14;
          ;
          _bb2_i$_bb_i$3586: do { 
            if (_15) {
              __label__ = 132; /* _bb2_i */ 
            }
            else {
              ;
              var _16 = FHEAP[_11];
              var _17 = _rootNode_015;
              var _18 = FHEAP[_17];
              var _19 = _16 < _18;
              if (_19) { __lastLabel__ = 131; __label__ = 132; /* _bb2_i */ break _bb2_i$_bb_i$3586; } else { __lastLabel__ = 131; __label__ = 133; /* _bb3_i */ break _bb2_i$_bb_i$3586; }
            }
          } while(0);
          if (__label__ == 132) {
            __lastLabel__ = 132; ;
          }
          var _iftmp_116_0_i = __lastLabel__ == 132 ? 0 : (1);
          var _20 = FHEAP[_6];
          var _21 = _rootNode_015+16+8;
          var _22 = FHEAP[_21];
          var _23 = _20 > _22;
          ;
          _bb6_i$_bb4_i$3591: do { 
            if (_23) {
              __label__ = 136; /* _bb6_i */ 
            }
            else {
              ;
              var _24 = FHEAP[_10];
              var _25 = _rootNode_015+8;
              var _26 = FHEAP[_25];
              var _27 = _24 < _26;
              if (_27) { __lastLabel__ = 135; __label__ = 136; /* _bb6_i */ break _bb6_i$_bb4_i$3591; } else { __lastLabel__ = 135; __label__ = 137; /* _bb7_i */ break _bb6_i$_bb4_i$3591; }
            }
          } while(0);
          if (__label__ == 136) {
            __lastLabel__ = 136; ;
          }
          var _iftmp_117_0_i = __lastLabel__ == 136 ? 0 : (_iftmp_116_0_i);
          var _28 = FHEAP[_7];
          var _29 = _rootNode_015+16+4;
          var _30 = FHEAP[_29];
          var _31 = _28 > _30;
          ;
          __Z20TestAabbAgainstAabb2RK9btVector3S1_S1_S1__exit_thread$__Z20TestAabbAgainstAabb2RK9btVector3S1_S1_S1__exit$3596: do { 
            if (_31) {
              ;
              var _32 = _rootNode_015+32;
              var _33 = IHEAP[_32];
              var _34 = _33 == -1;
              __lastLabel__ = 788; ;
            }
            else {
              ;
              var _35 = FHEAP[_8];
              var _36 = _rootNode_015+4;
              var _37 = FHEAP[_36];
              var _38 = _35 < _37;
              var _retval_i = _38 ? 0 : _iftmp_117_0_i;
              var _39 = _rootNode_015+32;
              var _40 = IHEAP[_39];
              var _41 = _40 == -1;
              var __not = _41 ^ true;
              var _42 = _retval_i == 0;
              var _or_cond = _42 | __not;
              if (_or_cond) { __lastLabel__ = 139; __label__ = 116; /* _bb3 */ break __Z20TestAabbAgainstAabb2RK9btVector3S1_S1_S1__exit_thread$__Z20TestAabbAgainstAabb2RK9btVector3S1_S1_S1__exit$3596; } else { __lastLabel__ = 139; ; }
              var _43 = IHEAP[_9];
              var _44 = _43+8;
              var _45 = IHEAP[_44];
              var _46 = _rootNode_015+40;
              var _47 = IHEAP[_46];
              var _48 = _rootNode_015+36;
              var _49 = IHEAP[_48];
              var _50 = _45;
              FUNCTION_TABLE[_50](_nodeCallback, _49, _47);
              __lastLabel__ = 0; ;
            }
          } while(0);
          var _51 = __lastLabel__ == 788 ? _34 : (__lastLabel__ == 139 ? _41 : (_41));
          var _52 = __lastLabel__ == 788 ? 0 : (__lastLabel__ == 139 ? _retval_i : (_retval_i));
          var __not12 = _52 != 0;
          var _brmerge = __not12 | _51;
          ;
          if (_brmerge) {
            ;
            var _53 = _rootNode_015+64;
            var _54 = _curIndex_016 + 1;
            __lastLabel__ = 83; ;
          }
          else {
            ;
            var _57 = _rootNode_015+32;
            var _58 = IHEAP[_57];
            var _59 = _rootNode_015+64*_58;
            var _60 = _58 + _curIndex_016;
            __lastLabel__ = 2; ;
          }
          var _rootNode_0_be = __lastLabel__ == 83 ? _53 : (_59);
          var _curIndex_0_be = __lastLabel__ == 83 ? _54 : (_60);
          var _55 = IHEAP[_0];
          var _56 = _55 > _curIndex_0_be;
          if (_56) { __lastLabel__ = 785; __label__ = 60; /* _bb */ continue _bb$3584; } else { __lastLabel__ = 785; __label__ = 62; /* _bb9 */ break _bb_nph$_bb9$3582; }
        }
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _walkIterations_0_lcssa = __lastLabel__ == -1 ? 0 : (_tmp);
    var _61 = IHEAP[_maxIterations];
    var _62 = _61 < _walkIterations_0_lcssa;
    ;
    if (_62) {
      ;
      IHEAP[_maxIterations] = _walkIterations_0_lcssa;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZNK14btQuantizedBvh17walkStacklessTreeEP21btNodeOverlapCallbackRK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK14btQuantizedBvh17walkStacklessTreeEP21btNodeOverlapCallbackRK9btVector3S4_, "__ZNK14btQuantizedBvh17walkStacklessTreeEP21btNodeOverlapCallbackRK9btVector3S4_");
  
  
  function __ZN14btQuantizedBvh17calcSplittingAxisEii(_this, _startIndex, _endIndex) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _endIndex - _startIndex;
    var _1 = _startIndex < _endIndex;
    ;
    _bb_nph85$_bb2_thread$3610: do { 
      if (_1) {
        ;
        var _3 = _this+60;
        var _4 = IHEAP[_3];
        var _toBool_i16 = _4 == 0;
        var _5 = _this+64+12;
        var _6 = _this+104+12;
        var _7 = _this+36+8;
        var _8 = _this+36+4;
        var _9 = _this+36;
        var _10 = _this+4;
        var _11 = _this+4+4;
        var _12 = _this+4+8;
        __lastLabel__ = 793; ;
        _bb$3612: while(1) { // _bb
          var _indvar108 = __lastLabel__ == 793 ? 0 : (_indvar_next109);
          var _means_0_2_083 = __lastLabel__ == 793 ? 0 : (_67);
          var _means_0_1_082 = __lastLabel__ == 793 ? 0 : (_66);
          var _means_0_0_081 = __lastLabel__ == 793 ? 0 : (_65);
          var _tmp112 = _indvar108 + _startIndex;
          ;
          if (_toBool_i16) {
            ;
            var _51 = IHEAP[_5];
            var _scevgep123124 = _51+64*_tmp112;
            var _52 = FHEAP[_scevgep123124];
            var _scevgep125 = _51+64*_tmp112+4;
            var _53 = FHEAP[_scevgep125];
            var _scevgep126 = _51+64*_tmp112+8;
            var _54 = FHEAP[_scevgep126];
            var _55 = IHEAP[_5];
            var _scevgep116 = _55+64*_tmp112+16;
            var _56 = FHEAP[_scevgep116];
            var _scevgep117 = _55+64*_tmp112+16+4;
            var _57 = FHEAP[_scevgep117];
            var _scevgep118 = _55+64*_tmp112+16+8;
            var _58 = FHEAP[_scevgep118];
            __lastLabel__ = 795; ;
          }
          else {
            ;
            var _13 = IHEAP[_6];
            var _scevgep121 = _13+20*_tmp112+4;
            var _14 = IHEAP[_scevgep121];
            var _15 = unSign(_14, 16);
            var _16 = FHEAP[_7];
            var _17 = _15 / _16;
            var _scevgep122 = _13+20*_tmp112+2;
            var _18 = IHEAP[_scevgep122];
            var _19 = unSign(_18, 16);
            var _20 = FHEAP[_8];
            var _21 = _19 / _20;
            var _scevgep119120 = _13+20*_tmp112;
            var _22 = IHEAP[_scevgep119120];
            var _23 = unSign(_22, 16);
            var _24 = FHEAP[_9];
            var _25 = _23 / _24;
            var _26 = FHEAP[_10];
            var _27 = _25 + _26;
            var _28 = FHEAP[_11];
            var _29 = _21 + _28;
            var _30 = FHEAP[_12];
            var _31 = _17 + _30;
            var _32 = IHEAP[_6];
            var _scevgep114 = _32+20*_tmp112+8+4;
            var _33 = IHEAP[_scevgep114];
            var _34 = unSign(_33, 16);
            var _35 = FHEAP[_7];
            var _36 = _34 / _35;
            var _scevgep115 = _32+20*_tmp112+8+2;
            var _37 = IHEAP[_scevgep115];
            var _38 = unSign(_37, 16);
            var _39 = FHEAP[_8];
            var _40 = _38 / _39;
            var _scevgep113 = _32+20*_tmp112+8;
            var _41 = IHEAP[_scevgep113];
            var _42 = unSign(_41, 16);
            var _43 = FHEAP[_9];
            var _44 = _42 / _43;
            var _45 = FHEAP[_10];
            var _46 = _44 + _45;
            var _47 = FHEAP[_11];
            var _48 = _40 + _47;
            var _49 = FHEAP[_12];
            var _50 = _36 + _49;
            __lastLabel__ = 186; ;
          }
          var __0_044_0131 = __lastLabel__ == 795 ? _52 : (_27);
          var __0_145_0129 = __lastLabel__ == 795 ? _53 : (_29);
          var __0_246_0127 = __lastLabel__ == 795 ? _54 : (_31);
          var __0_253_0 = __lastLabel__ == 795 ? _58 : (_50);
          var __0_152_0 = __lastLabel__ == 795 ? _57 : (_48);
          var __0_051_0 = __lastLabel__ == 795 ? _56 : (_46);
          var _59 = __0_253_0 + __0_246_0127;
          var _60 = __0_152_0 + __0_145_0129;
          var _61 = __0_051_0 + __0_044_0131;
          var _62 = _59 * 0.5;
          var _63 = _60 * 0.5;
          var _64 = _61 * 0.5;
          var _65 = _means_0_0_081 + _64;
          var _66 = _means_0_1_082 + _63;
          var _67 = _means_0_2_083 + _62;
          var _indvar_next109 = _indvar108 + 1;
          var _exitcond111 = _indvar_next109 == _0;
          if (_exitcond111) { __lastLabel__ = 796; __label__ = 0; /* _bb2 */ break _bb$3612; } else { __lastLabel__ = 796; __label__ = 60; /* _bb */ continue _bb$3612; }
        }
        var _68 = _0;
        var _69 = 1 / _68;
        var _70 = _65 * _69;
        var _71 = _66 * _69;
        var _72 = _67 * _69;
        if (_1) { __lastLabel__ = 0; ; } else { __lastLabel__ = 0; __label__ = 83; /* _bb6 */ break _bb_nph85$_bb2_thread$3610; }
        var _73 = _this+60;
        var _74 = IHEAP[_73];
        var _toBool_i9 = _74 == 0;
        var _75 = _this+64+12;
        var _76 = _this+104+12;
        var _77 = _this+36+8;
        var _78 = _this+36+4;
        var _79 = _this+36;
        var _80 = _this+4;
        var _81 = _this+4+4;
        var _82 = _this+4+8;
        __lastLabel__ = 130; ;
        _bb3$3620: while(1) { // _bb3
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _variance_0_2_077 = __lastLabel__ == 130 ? 0 : (_143);
          var _variance_0_1_076 = __lastLabel__ == 130 ? 0 : (_142);
          var _variance_0_0_075 = __lastLabel__ == 130 ? 0 : (_141);
          var _tmp91 = _indvar + _startIndex;
          ;
          if (_toBool_i9) {
            ;
            var _121 = IHEAP[_75];
            var _scevgep101102 = _121+64*_tmp91;
            var _122 = FHEAP[_scevgep101102];
            var _scevgep103 = _121+64*_tmp91+4;
            var _123 = FHEAP[_scevgep103];
            var _scevgep104 = _121+64*_tmp91+8;
            var _124 = FHEAP[_scevgep104];
            var _125 = IHEAP[_75];
            var _scevgep94 = _125+64*_tmp91+16;
            var _126 = FHEAP[_scevgep94];
            var _scevgep95 = _125+64*_tmp91+16+4;
            var _127 = FHEAP[_scevgep95];
            var _scevgep96 = _125+64*_tmp91+16+8;
            var _128 = FHEAP[_scevgep96];
            __lastLabel__ = 159; ;
          }
          else {
            ;
            var _83 = IHEAP[_76];
            var _scevgep99 = _83+20*_tmp91+4;
            var _84 = IHEAP[_scevgep99];
            var _85 = unSign(_84, 16);
            var _86 = FHEAP[_77];
            var _87 = _85 / _86;
            var _scevgep100 = _83+20*_tmp91+2;
            var _88 = IHEAP[_scevgep100];
            var _89 = unSign(_88, 16);
            var _90 = FHEAP[_78];
            var _91 = _89 / _90;
            var _scevgep9798 = _83+20*_tmp91;
            var _92 = IHEAP[_scevgep9798];
            var _93 = unSign(_92, 16);
            var _94 = FHEAP[_79];
            var _95 = _93 / _94;
            var _96 = FHEAP[_80];
            var _97 = _95 + _96;
            var _98 = FHEAP[_81];
            var _99 = _91 + _98;
            var _100 = FHEAP[_82];
            var _101 = _87 + _100;
            var _102 = IHEAP[_76];
            var _scevgep92 = _102+20*_tmp91+8+4;
            var _103 = IHEAP[_scevgep92];
            var _104 = unSign(_103, 16);
            var _105 = FHEAP[_77];
            var _106 = _104 / _105;
            var _scevgep93 = _102+20*_tmp91+8+2;
            var _107 = IHEAP[_scevgep93];
            var _108 = unSign(_107, 16);
            var _109 = FHEAP[_78];
            var _110 = _108 / _109;
            var _scevgep = _102+20*_tmp91+8;
            var _111 = IHEAP[_scevgep];
            var _112 = unSign(_111, 16);
            var _113 = FHEAP[_79];
            var _114 = _112 / _113;
            var _115 = FHEAP[_80];
            var _116 = _114 + _115;
            var _117 = FHEAP[_81];
            var _118 = _110 + _117;
            var _119 = FHEAP[_82];
            var _120 = _106 + _119;
            __lastLabel__ = 797; ;
          }
          var __0_064_0137 = __lastLabel__ == 159 ? _122 : (_97);
          var __0_165_0135 = __lastLabel__ == 159 ? _123 : (_99);
          var __0_266_0133 = __lastLabel__ == 159 ? _124 : (_101);
          var __0_273_0 = __lastLabel__ == 159 ? _128 : (_120);
          var __0_172_0 = __lastLabel__ == 159 ? _127 : (_118);
          var __0_071_0 = __lastLabel__ == 159 ? _126 : (_116);
          var _129 = __0_273_0 + __0_266_0133;
          var _130 = __0_172_0 + __0_165_0135;
          var _131 = __0_071_0 + __0_064_0137;
          var _132 = _129 * 0.5;
          var _133 = _130 * 0.5;
          var _134 = _131 * 0.5;
          var _135 = _132 - _72;
          var _136 = _133 - _71;
          var _137 = _134 - _70;
          var _138 = _135 * _135;
          var _139 = _136 * _136;
          var _140 = _137 * _137;
          var _141 = _variance_0_0_075 + _140;
          var _142 = _variance_0_1_076 + _139;
          var _143 = _variance_0_2_077 + _138;
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _0;
          if (_exitcond) { __lastLabel__ = 799; __label__ = 83; /* _bb6 */ break _bb_nph85$_bb2_thread$3610; } else { __lastLabel__ = 799; __label__ = 116; /* _bb3 */ continue _bb3$3620; }
        }
      }
      else {
        ;
        var _2 = _0;
        __lastLabel__ = 791; ;
      }
    } while(0);
    var _144 = __lastLabel__ == 0 ? _68 : (__lastLabel__ == 791 ? _2 : (_68));
    var _variance_0_2_0_lcssa = __lastLabel__ == 0 ? 0 : (__lastLabel__ == 791 ? 0 : (_143));
    var _variance_0_1_0_lcssa = __lastLabel__ == 0 ? 0 : (__lastLabel__ == 791 ? 0 : (_142));
    var _variance_0_0_0_lcssa = __lastLabel__ == 0 ? 0 : (__lastLabel__ == 791 ? 0 : (_141));
    var _145 = _144 + -1;
    var _146 = 1 / _145;
    var _147 = _variance_0_0_0_lcssa * _146;
    var _148 = _variance_0_1_0_lcssa * _146;
    var _149 = _variance_0_2_0_lcssa * _146;
    var _150 = _147 < _148;
    ;
    if (_150) {
      ;
      var _151 = _148 < _149;
      var _iftmp_18_0_i = _151 ? 2 : 1;
      ;
      return _iftmp_18_0_i;
    }
    else {
      ;
      var _152 = _147 < _149;
      var _iftmp_19_0_i = _152 ? 2 : 0;
      ;
      return _iftmp_19_0_i;
    }
  }
  __ZN14btQuantizedBvh17calcSplittingAxisEii.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvh17calcSplittingAxisEii, "__ZN14btQuantizedBvh17calcSplittingAxisEii");
  
  
  function __ZN14btQuantizedBvh25sortAndCalcSplittingIndexEiii(_this, _startIndex, _endIndex, _splitAxis) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _means = __stackBase__;
    var _center4 = __stackBase__+16;
    var _0 = _endIndex - _startIndex;
    var _1 = _means;
    FHEAP[_1] = 0;
    var _2 = _means+4;
    FHEAP[_2] = 0;
    var _3 = _means+8;
    FHEAP[_3] = 0;
    var _4 = _means+12;
    FHEAP[_4] = 0;
    var _5 = _startIndex < _endIndex;
    ;
    if (_5) {
      __lastLabel__ = -1; ;
      var _6 = _this+60;
      var _7 = IHEAP[_6];
      var _toBool_i = _7 == 0;
      var _8 = _this+64+12;
      var _9 = _this+104+12;
      var _10 = _this+36+8;
      var _11 = _this+36+4;
      var _12 = _this+36;
      var _13 = _this+4;
      var _14 = _this+4+4;
      var _15 = _this+4+8;
      __lastLabel__ = 800; ;
      _bb$3634: while(1) { // _bb
        var _indvar92 = __lastLabel__ == 800 ? 0 : (_indvar_next93);
        var _16 = __lastLabel__ == 800 ? 0 : (_73);
        var _17 = __lastLabel__ == 800 ? 0 : (_72);
        var _18 = __lastLabel__ == 800 ? 0 : (_71);
        var _tmp96 = _indvar92 + _startIndex;
        ;
        if (_toBool_i) {
          ;
          var _57 = IHEAP[_8];
          var _scevgep101102 = _57+64*_tmp96;
          var _58 = FHEAP[_scevgep101102];
          var _scevgep103 = _57+64*_tmp96+4;
          var _59 = FHEAP[_scevgep103];
          var _scevgep104 = _57+64*_tmp96+8;
          var _60 = FHEAP[_scevgep104];
          var _61 = IHEAP[_8];
          var _scevgep108 = _61+64*_tmp96+16;
          var _62 = FHEAP[_scevgep108];
          var _scevgep109 = _61+64*_tmp96+16+4;
          var _63 = FHEAP[_scevgep109];
          var _scevgep110 = _61+64*_tmp96+16+8;
          var _64 = FHEAP[_scevgep110];
          __lastLabel__ = 802; ;
        }
        else {
          ;
          var _19 = IHEAP[_9];
          var _scevgep99 = _19+20*_tmp96+4;
          var _20 = IHEAP[_scevgep99];
          var _21 = unSign(_20, 16);
          var _22 = FHEAP[_10];
          var _23 = _21 / _22;
          var _scevgep100 = _19+20*_tmp96+2;
          var _24 = IHEAP[_scevgep100];
          var _25 = unSign(_24, 16);
          var _26 = FHEAP[_11];
          var _27 = _25 / _26;
          var _scevgep9798 = _19+20*_tmp96;
          var _28 = IHEAP[_scevgep9798];
          var _29 = unSign(_28, 16);
          var _30 = FHEAP[_12];
          var _31 = _29 / _30;
          var _32 = FHEAP[_13];
          var _33 = _31 + _32;
          var _34 = FHEAP[_14];
          var _35 = _27 + _34;
          var _36 = FHEAP[_15];
          var _37 = _23 + _36;
          var _38 = IHEAP[_9];
          var _scevgep106 = _38+20*_tmp96+8+4;
          var _39 = IHEAP[_scevgep106];
          var _40 = unSign(_39, 16);
          var _41 = FHEAP[_10];
          var _42 = _40 / _41;
          var _scevgep107 = _38+20*_tmp96+8+2;
          var _43 = IHEAP[_scevgep107];
          var _44 = unSign(_43, 16);
          var _45 = FHEAP[_11];
          var _46 = _44 / _45;
          var _scevgep105 = _38+20*_tmp96+8;
          var _47 = IHEAP[_scevgep105];
          var _48 = unSign(_47, 16);
          var _49 = FHEAP[_12];
          var _50 = _48 / _49;
          var _51 = FHEAP[_13];
          var _52 = _50 + _51;
          var _53 = FHEAP[_14];
          var _54 = _46 + _53;
          var _55 = FHEAP[_15];
          var _56 = _42 + _55;
          __lastLabel__ = 225; ;
        }
        var __0_239_0115 = __lastLabel__ == 802 ? _60 : (_37);
        var __0_138_0113 = __lastLabel__ == 802 ? _59 : (_35);
        var __0_037_0111 = __lastLabel__ == 802 ? _58 : (_33);
        var __0_246_0 = __lastLabel__ == 802 ? _64 : (_56);
        var __0_145_0 = __lastLabel__ == 802 ? _63 : (_54);
        var __0_044_0 = __lastLabel__ == 802 ? _62 : (_52);
        var _65 = __0_246_0 + __0_239_0115;
        var _66 = __0_145_0 + __0_138_0113;
        var _67 = __0_044_0 + __0_037_0111;
        var _68 = _65 * 0.5;
        var _69 = _66 * 0.5;
        var _70 = _67 * 0.5;
        var _71 = _18 + _70;
        var _72 = _17 + _69;
        var _73 = _16 + _68;
        var _indvar_next93 = _indvar92 + 1;
        var _exitcond95 = _indvar_next93 == _0;
        if (_exitcond95) { __lastLabel__ = 803; __label__ = 804; /* _bb1_bb2_crit_edge */ break _bb$3634; } else { __lastLabel__ = 803; __label__ = 60; /* _bb */ continue _bb$3634; }
      }
      FHEAP[_3] = _73;
      FHEAP[_2] = _72;
      FHEAP[_1] = _71;
      __lastLabel__ = 804; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _74 = __lastLabel__ == 804 ? _73 : (0);
    var _75 = __lastLabel__ == 804 ? _72 : (0);
    var _76 = __lastLabel__ == 804 ? _71 : (0);
    var _77 = _0;
    var _78 = 1 / _77;
    var _79 = _76 * _78;
    FHEAP[_1] = _79;
    var _80 = _75 * _78;
    FHEAP[_2] = _80;
    var _81 = _74 * _78;
    FHEAP[_3] = _81;
    var _82 = _means+_splitAxis*4;
    var _83 = FHEAP[_82];
    ;
    _bb_nph$_bb8$3642: do { 
      if (_5) {
        __lastLabel__ = 0; ;
        var _84 = _this+60;
        var _85 = _this+64+12;
        var _86 = _center4;
        var _87 = _center4+4;
        var _88 = _center4+8;
        var _89 = _center4+12;
        var _90 = _center4+_splitAxis*4;
        var _91 = _this+104+12;
        var _92 = _this+36+8;
        var _93 = _this+36+4;
        var _94 = _this+36;
        var _95 = _this+4;
        var _96 = _this+4+4;
        var _97 = _this+4+8;
        __lastLabel__ = 130; ;
        _bb3$3644: while(1) { // _bb3
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _splitIndex_169 = __lastLabel__ == 130 ? _startIndex : (_splitIndex_0);
          var _i_168 = _indvar + _startIndex;
          var _98 = IHEAP[_84];
          var _toBool_i22 = _98 == 0;
          ;
          if (_toBool_i22) {
            ;
            var _137 = IHEAP[_85];
            var _scevgep8687 = _137+64*_i_168;
            var _138 = FHEAP[_scevgep8687];
            var _scevgep88 = _137+64*_i_168+4;
            var _139 = FHEAP[_scevgep88];
            var _scevgep89 = _137+64*_i_168+8;
            var _140 = FHEAP[_scevgep89];
            var _141 = IHEAP[_85];
            var _scevgep79 = _141+64*_i_168+16;
            var _142 = FHEAP[_scevgep79];
            var _scevgep80 = _141+64*_i_168+16+4;
            var _143 = FHEAP[_scevgep80];
            var _scevgep81 = _141+64*_i_168+16+8;
            var _144 = FHEAP[_scevgep81];
            __lastLabel__ = 808; ;
          }
          else {
            ;
            var _99 = IHEAP[_91];
            var _scevgep84 = _99+20*_i_168+4;
            var _100 = IHEAP[_scevgep84];
            var _101 = unSign(_100, 16);
            var _102 = FHEAP[_92];
            var _103 = _101 / _102;
            var _scevgep85 = _99+20*_i_168+2;
            var _104 = IHEAP[_scevgep85];
            var _105 = unSign(_104, 16);
            var _106 = FHEAP[_93];
            var _107 = _105 / _106;
            var _scevgep8283 = _99+20*_i_168;
            var _108 = IHEAP[_scevgep8283];
            var _109 = unSign(_108, 16);
            var _110 = FHEAP[_94];
            var _111 = _109 / _110;
            var _112 = FHEAP[_95];
            var _113 = _111 + _112;
            var _114 = FHEAP[_96];
            var _115 = _107 + _114;
            var _116 = FHEAP[_97];
            var _117 = _103 + _116;
            var _118 = IHEAP[_91];
            var _scevgep77 = _118+20*_i_168+8+4;
            var _119 = IHEAP[_scevgep77];
            var _120 = unSign(_119, 16);
            var _121 = FHEAP[_92];
            var _122 = _120 / _121;
            var _scevgep78 = _118+20*_i_168+8+2;
            var _123 = IHEAP[_scevgep78];
            var _124 = unSign(_123, 16);
            var _125 = FHEAP[_93];
            var _126 = _124 / _125;
            var _scevgep = _118+20*_i_168+8;
            var _127 = IHEAP[_scevgep];
            var _128 = unSign(_127, 16);
            var _129 = FHEAP[_94];
            var _130 = _128 / _129;
            var _131 = FHEAP[_95];
            var _132 = _130 + _131;
            var _133 = FHEAP[_96];
            var _134 = _126 + _133;
            var _135 = FHEAP[_97];
            var _136 = _122 + _135;
            __lastLabel__ = 806; ;
          }
          var __0_057_0121 = __lastLabel__ == 808 ? _138 : (_113);
          var __0_158_0119 = __lastLabel__ == 808 ? _139 : (_115);
          var __0_259_0117 = __lastLabel__ == 808 ? _140 : (_117);
          var __0_266_0 = __lastLabel__ == 808 ? _144 : (_136);
          var __0_165_0 = __lastLabel__ == 808 ? _143 : (_134);
          var __0_064_0 = __lastLabel__ == 808 ? _142 : (_132);
          var _145 = __0_266_0 + __0_259_0117;
          var _146 = __0_165_0 + __0_158_0119;
          var _147 = __0_064_0 + __0_057_0121;
          var _148 = _145 * 0.5;
          var _149 = _146 * 0.5;
          var _150 = _147 * 0.5;
          FHEAP[_86] = _150;
          FHEAP[_87] = _149;
          FHEAP[_88] = _148;
          FHEAP[_89] = 0;
          var _151 = FHEAP[_90];
          var _152 = _151 > _83;
          ;
          if (_152) {
            __lastLabel__ = 799; ;
            __ZN14btQuantizedBvh13swapLeafNodesEii(_this, _i_168, _splitIndex_169);
            var _153 = _splitIndex_169 + 1;
            __lastLabel__ = 82; ;
          }
          else {
            __lastLabel__ = 799; ;
          }
          var _splitIndex_0 = __lastLabel__ == 82 ? _153 : (_splitIndex_169);
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _0;
          if (_exitcond) { __lastLabel__ = 83; __label__ = 148; /* _bb8 */ break _bb_nph$_bb8$3642; } else { __lastLabel__ = 83; __label__ = 116; /* _bb3 */ continue _bb3$3644; }
        }
      }
      else {
        __lastLabel__ = 0; ;
      }
    } while(0);
    var _splitIndex_1_lcssa = __lastLabel__ == 0 ? _startIndex : (_splitIndex_0);
    var _154 = Math.floor(_0 / 3);
    var _155 = _154 + _startIndex;
    var _156 = _155 < _splitIndex_1_lcssa;
    ;
    _bb9$_bb14$3654: do { 
      if (_156) {
        ;
        var _157 = _endIndex + -1;
        var _158 = _157 - _154;
        var _159 = _158 > _splitIndex_1_lcssa;
        if (!(_159)) { __label__ = 63; /* _bb14 */ break _bb9$_bb14$3654; }
        STACKTOP = __stackBase__;
        return _splitIndex_1_lcssa;
      }
    } while(0);
    var _160 = _0 >> 1;
    var _161 = _160 + _startIndex;
    STACKTOP = __stackBase__;
    return _161;
  }
  __ZN14btQuantizedBvh25sortAndCalcSplittingIndexEiii.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvh25sortAndCalcSplittingIndexEiii, "__ZN14btQuantizedBvh25sortAndCalcSplittingIndexEiii");
  
  
  function __ZNK14btQuantizedBvh39walkStacklessQuantizedTreeCacheFriendlyEP21btNodeOverlapCallbackPtS2_(_this, _nodeCallback, _quantizedQueryAabbMin, _quantizedQueryAabbMax) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+148+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_return$3659: do { 
      if (_2) {
        ;
        var _3 = _this+148+12;
        var _4 = _quantizedQueryAabbMin+4;
        var _5 = _quantizedQueryAabbMax+4;
        var _6 = _quantizedQueryAabbMin+2;
        var _7 = _quantizedQueryAabbMax+2;
        __lastLabel__ = 130; ;
        _bb$3661: while(1) { // _bb
          var _i_05 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _i_05 + 1;
          var _8 = IHEAP[_3];
          var _9 = IHEAP[_quantizedQueryAabbMin];
          var _scevgep = _8+36*_i_05+8;
          var _10 = IHEAP[_scevgep];
          var _11 = unSign(_9, 16) <= unSign(_10, 16);
          var _12 = IHEAP[_quantizedQueryAabbMax];
          var _scevgep67 = _8+36*_i_05;
          var _13 = IHEAP[_scevgep67];
          var _14 = unSign(_12, 16) >= unSign(_13, 16);
          var _15 = _11 & _14;
          var _16 = IHEAP[_4];
          var _scevgep8 = _8+36*_i_05+8+4;
          var _17 = IHEAP[_scevgep8];
          var _18 = unSign(_16, 16) <= unSign(_17, 16);
          var _19 = _15 & _18;
          var _20 = IHEAP[_5];
          var _scevgep9 = _8+36*_i_05+4;
          var _21 = IHEAP[_scevgep9];
          var _22 = unSign(_20, 16) >= unSign(_21, 16);
          var _23 = _19 & _22;
          var _24 = IHEAP[_6];
          var _scevgep10 = _8+36*_i_05+8+2;
          var _25 = IHEAP[_scevgep10];
          var _26 = unSign(_24, 16) <= unSign(_25, 16);
          var _27 = _23 & _26;
          var _28 = IHEAP[_7];
          var _scevgep11 = _8+36*_i_05+2;
          var _29 = IHEAP[_scevgep11];
          var _30 = unSign(_28, 16) >= unSign(_29, 16);
          var _31 = _27 & _30;
          ;
          if (_31) {
            ;
            var _scevgep12 = _8+36*_i_05+16;
            var _32 = IHEAP[_scevgep12];
            var _scevgep13 = _8+36*_i_05+20;
            var _33 = IHEAP[_scevgep13];
            var _34 = _33 + _32;
            __ZNK14btQuantizedBvh26walkStacklessQuantizedTreeEP21btNodeOverlapCallbackPtS2_ii(_this, _nodeCallback, _quantizedQueryAabbMin, _quantizedQueryAabbMax, _32, _34);
            ;
          }
          var _35 = IHEAP[_0];
          var _36 = _35 > _tmp;
          if (_36) { __lastLabel__ = 0; __label__ = 60; /* _bb */ continue _bb$3661; } else { __lastLabel__ = 0; __label__ = 44; /* _return */ break _bb_nph$_return$3659; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZNK14btQuantizedBvh39walkStacklessQuantizedTreeCacheFriendlyEP21btNodeOverlapCallbackPtS2_.__index__ = Runtime.getFunctionIndex(__ZNK14btQuantizedBvh39walkStacklessQuantizedTreeCacheFriendlyEP21btNodeOverlapCallbackPtS2_, "__ZNK14btQuantizedBvh39walkStacklessQuantizedTreeCacheFriendlyEP21btNodeOverlapCallbackPtS2_");
  
  
  function __ZNK14btQuantizedBvh26reportAabbOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_(_this, _nodeCallback, _aabbMin, _aabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 12;
    var __label__;
    var __lastLabel__ = null;
    var _quantizedQueryAabbMin = __stackBase__;
    var _quantizedQueryAabbMax = __stackBase__+6;
    var _0 = _this+60;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    ;
    if (_toBool) {
      ;
      __ZNK14btQuantizedBvh17walkStacklessTreeEP21btNodeOverlapCallbackRK9btVector3S4_(_this, _nodeCallback, _aabbMin, _aabbMax);
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      var _2 = _quantizedQueryAabbMin;
      var _3 = _aabbMin;
      var _4 = FHEAP[_3];
      var _5 = _aabbMin+4;
      var _6 = FHEAP[_5];
      var _7 = _aabbMin+8;
      var _8 = FHEAP[_7];
      var _9 = _this+4;
      var _10 = FHEAP[_9];
      var _11 = _4 < _10;
      var _clampedPoint_0_0_0_i = _11 ? _10 : _4;
      var _12 = _this+4+4;
      var _13 = FHEAP[_12];
      var _14 = _6 < _13;
      var _clampedPoint_0_1_0_i = _14 ? _13 : _6;
      var _15 = _this+4+8;
      var _16 = FHEAP[_15];
      var _17 = _8 < _16;
      var _clampedPoint_0_2_0_i = _17 ? _16 : _8;
      var _18 = _this+20;
      var _19 = FHEAP[_18];
      var _20 = _19 < _clampedPoint_0_0_0_i;
      var _clampedPoint_0_0_1_i = _20 ? _19 : _clampedPoint_0_0_0_i;
      var _21 = _this+20+4;
      var _22 = FHEAP[_21];
      var _23 = _22 < _clampedPoint_0_1_0_i;
      var _clampedPoint_0_1_1_i = _23 ? _22 : _clampedPoint_0_1_0_i;
      var _24 = _this+20+8;
      var _25 = FHEAP[_24];
      var _26 = _25 < _clampedPoint_0_2_0_i;
      var _clampedPoint_0_2_1_i = _26 ? _25 : _clampedPoint_0_2_0_i;
      var _27 = _clampedPoint_0_2_1_i - _16;
      var _28 = _clampedPoint_0_1_1_i - _13;
      var _29 = _clampedPoint_0_0_1_i - _10;
      var _30 = _this+36+8;
      var _31 = FHEAP[_30];
      var _32 = _27 * _31;
      var _33 = _this+36+4;
      var _34 = FHEAP[_33];
      var _35 = _28 * _34;
      var _36 = _this+36;
      var _37 = FHEAP[_36];
      var _38 = _29 * _37;
      var _39 = Math.floor(_38);
      var _40 = _39 & -2;
      IHEAP[_2] = _40;
      var _41 = Math.floor(_35);
      var _42 = _41 & -2;
      var _43 = _quantizedQueryAabbMin+2;
      IHEAP[_43] = _42;
      var _44 = Math.floor(_32);
      var _45 = _44 & -2;
      var _46 = _quantizedQueryAabbMin+4;
      IHEAP[_46] = _45;
      var _47 = _quantizedQueryAabbMax;
      var _48 = _aabbMax;
      var _49 = FHEAP[_48];
      var _50 = _aabbMax+4;
      var _51 = FHEAP[_50];
      var _52 = _aabbMax+8;
      var _53 = FHEAP[_52];
      var _54 = _49 < _10;
      var _clampedPoint_0_0_0_i6 = _54 ? _10 : _49;
      var _55 = _51 < _13;
      var _clampedPoint_0_1_0_i7 = _55 ? _13 : _51;
      var _56 = _53 < _16;
      var _clampedPoint_0_2_0_i8 = _56 ? _16 : _53;
      var _57 = _19 < _clampedPoint_0_0_0_i6;
      var _clampedPoint_0_0_1_i9 = _57 ? _19 : _clampedPoint_0_0_0_i6;
      var _58 = _22 < _clampedPoint_0_1_0_i7;
      var _clampedPoint_0_1_1_i10 = _58 ? _22 : _clampedPoint_0_1_0_i7;
      var _59 = _25 < _clampedPoint_0_2_0_i8;
      var _clampedPoint_0_2_1_i11 = _59 ? _25 : _clampedPoint_0_2_0_i8;
      var _60 = _clampedPoint_0_2_1_i11 - _16;
      var _61 = _clampedPoint_0_1_1_i10 - _13;
      var _62 = _clampedPoint_0_0_1_i9 - _10;
      var _63 = _60 * _31;
      var _64 = _61 * _34;
      var _65 = _62 * _37;
      var _66 = _65 + 1;
      var _67 = Math.floor(_66);
      var _68 = _67 | 1;
      IHEAP[_47] = _68;
      var _69 = _64 + 1;
      var _70 = Math.floor(_69);
      var _71 = _70 | 1;
      var _72 = _quantizedQueryAabbMax+2;
      IHEAP[_72] = _71;
      var _73 = _63 + 1;
      var _74 = Math.floor(_73);
      var _75 = _74 | 1;
      var _76 = _quantizedQueryAabbMax+4;
      IHEAP[_76] = _75;
      var _77 = _this+144;
      var _78 = IHEAP[_77];
      if (_78 == 0) {
        __label__ = 75; /* _bb1 */ 
      }
      else if (_78 == 1) {
        __label__ = 0; /* _bb2 */ 
      }
      else if (_78 == 2) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
      __label__ = 811; /* __ZNK14btQuantizedBvh39walkStacklessQuantizedTreeCacheFriendlyEP21btNodeOverlapCallbackPtS2__exit */ 
      }
      
      __ZNK14btQuantizedBvh39walkStacklessQuantizedTreeCacheFriendlyEP21btNodeOverlapCallbackPtS2__exit$_bb1$_bb2$_bb3$3671: do { 
        if (__label__ == 75) {
          var _79 = _this+56;
          var _80 = IHEAP[_79];
          __ZNK14btQuantizedBvh26walkStacklessQuantizedTreeEP21btNodeOverlapCallbackPtS2_ii(_this, _nodeCallback, _2, _47, 0, _80);
          STACKTOP = __stackBase__;
          return;
        }
        else if (__label__ == 0) {
          var _81 = _this+148+4;
          var _82 = IHEAP[_81];
          var _83 = _82 > 0;
          if (!(_83)) { __label__ = 811; /* __ZNK14btQuantizedBvh39walkStacklessQuantizedTreeCacheFriendlyEP21btNodeOverlapCallbackPtS2__exit */ break __ZNK14btQuantizedBvh39walkStacklessQuantizedTreeCacheFriendlyEP21btNodeOverlapCallbackPtS2__exit$_bb1$_bb2$_bb3$3671; }
          var _84 = _this+148+12;
          __lastLabel__ = 418; ;
          _bb_i$3675: while(1) { // _bb_i
            var _i_05_i = __lastLabel__ == 418 ? 0 : (_tmp_i);
            var _tmp_i = _i_05_i + 1;
            var _85 = IHEAP[_84];
            var _86 = IHEAP[_2];
            var _scevgep_i = _85+36*_i_05_i+8;
            var _87 = IHEAP[_scevgep_i];
            var _88 = unSign(_86, 16) <= unSign(_87, 16);
            var _89 = IHEAP[_47];
            var _scevgep67_i = _85+36*_i_05_i;
            var _90 = IHEAP[_scevgep67_i];
            var _91 = unSign(_89, 16) >= unSign(_90, 16);
            var _92 = _88 & _91;
            var _93 = IHEAP[_46];
            var _scevgep8_i = _85+36*_i_05_i+8+4;
            var _94 = IHEAP[_scevgep8_i];
            var _95 = unSign(_93, 16) <= unSign(_94, 16);
            var _96 = _92 & _95;
            var _97 = IHEAP[_76];
            var _scevgep9_i = _85+36*_i_05_i+4;
            var _98 = IHEAP[_scevgep9_i];
            var _99 = unSign(_97, 16) >= unSign(_98, 16);
            var _100 = _96 & _99;
            var _101 = IHEAP[_43];
            var _scevgep10_i = _85+36*_i_05_i+8+2;
            var _102 = IHEAP[_scevgep10_i];
            var _103 = unSign(_101, 16) <= unSign(_102, 16);
            var _104 = _100 & _103;
            var _105 = IHEAP[_72];
            var _scevgep11_i = _85+36*_i_05_i+2;
            var _106 = IHEAP[_scevgep11_i];
            var _107 = unSign(_105, 16) >= unSign(_106, 16);
            var _108 = _104 & _107;
            ;
            if (_108) {
              ;
              var _scevgep12_i = _85+36*_i_05_i+16;
              var _109 = IHEAP[_scevgep12_i];
              var _scevgep13_i = _85+36*_i_05_i+20;
              var _110 = IHEAP[_scevgep13_i];
              var _111 = _110 + _109;
              __ZNK14btQuantizedBvh26walkStacklessQuantizedTreeEP21btNodeOverlapCallbackPtS2_ii(_this, _nodeCallback, _2, _47, _109, _111);
              ;
            }
            var _112 = IHEAP[_81];
            var _113 = _112 > _tmp_i;
            if (_113) { __lastLabel__ = 132; __label__ = 131; /* _bb_i */ continue _bb_i$3675; } else { __lastLabel__ = 132; __label__ = 811; /* __ZNK14btQuantizedBvh39walkStacklessQuantizedTreeCacheFriendlyEP21btNodeOverlapCallbackPtS2__exit */ break __ZNK14btQuantizedBvh39walkStacklessQuantizedTreeCacheFriendlyEP21btNodeOverlapCallbackPtS2__exit$_bb1$_bb2$_bb3$3671; }
          }
        }
        else if (__label__ == 116) {
          var _114 = _this+124+12;
          var _115 = IHEAP[_114];
          __ZNK14btQuantizedBvh42walkRecursiveQuantizedTreeAgainstQueryAabbEPK18btQuantizedBvhNodeP21btNodeOverlapCallbackPtS5_(_this, _115, _nodeCallback, _2, _47);
          STACKTOP = __stackBase__;
          return;
        }
      } while(0);
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZNK14btQuantizedBvh26reportAabbOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK14btQuantizedBvh26reportAabbOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_, "__ZNK14btQuantizedBvh26reportAabbOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_");
  
  
  function __ZN14btQuantizedBvhC2ERS_b(_this, _self, _unnamed_arg) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV14btQuantizedBvh+8;
    var _1 = _this+4;
    var _2 = _self+4;
    var _3 = FHEAP[_2];
    FHEAP[_1] = _3;
    var _4 = _this+4+4;
    var _5 = _self+4+4;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _this+4+8;
    var _8 = _self+4+8;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _this+4+12;
    var _11 = _self+4+12;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _this+20;
    var _14 = _self+20;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    var _16 = _this+20+4;
    var _17 = _self+20+4;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _this+20+8;
    var _20 = _self+20+8;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _this+20+12;
    var _23 = _self+20+12;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    var _25 = _this+36;
    var _26 = _self+36;
    var _27 = FHEAP[_26];
    FHEAP[_25] = _27;
    var _28 = _this+36+4;
    var _29 = _self+36+4;
    var _30 = FHEAP[_29];
    FHEAP[_28] = _30;
    var _31 = _this+36+8;
    var _32 = _self+36+8;
    var _33 = FHEAP[_32];
    FHEAP[_31] = _33;
    var _34 = _this+36+12;
    var _35 = _self+36+12;
    var _36 = FHEAP[_35];
    FHEAP[_34] = _36;
    var _37 = _this+52;
    IHEAP[_37] = 277;
    var _38 = _this+64+16;
    IHEAP[_38] = 1;
    var _39 = _this+64+12;
    IHEAP[_39] = 0;
    var _40 = _this+64+4;
    IHEAP[_40] = 0;
    var _41 = _this+64+8;
    IHEAP[_41] = 0;
    var _42 = _this+84+16;
    IHEAP[_42] = 1;
    var _43 = _this+84+12;
    IHEAP[_43] = 0;
    var _44 = _this+84+4;
    IHEAP[_44] = 0;
    var _45 = _this+84+8;
    IHEAP[_45] = 0;
    var _46 = _this+104+16;
    IHEAP[_46] = 1;
    var _47 = _this+104+12;
    IHEAP[_47] = 0;
    var _48 = _this+104+4;
    IHEAP[_48] = 0;
    var _49 = _this+104+8;
    IHEAP[_49] = 0;
    var _50 = _this+124+16;
    IHEAP[_50] = 1;
    var _51 = _this+124+12;
    IHEAP[_51] = 0;
    var _52 = _this+124+4;
    IHEAP[_52] = 0;
    var _53 = _this+124+8;
    IHEAP[_53] = 0;
    var _54 = _this+148+16;
    IHEAP[_54] = 1;
    var _55 = _this+148+12;
    IHEAP[_55] = 0;
    var _56 = _this+148+4;
    IHEAP[_56] = 0;
    var _57 = _this+148+8;
    IHEAP[_57] = 0;
    ;
    return;
  }
  __ZN14btQuantizedBvhC2ERS_b.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvhC2ERS_b, "__ZN14btQuantizedBvhC2ERS_b");
  
  
  function __ZN14btQuantizedBvhC1ERS_b(_this, _self, _unnamed_arg) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV14btQuantizedBvh+8;
    var _1 = _this+4;
    var _2 = _self+4;
    var _3 = FHEAP[_2];
    FHEAP[_1] = _3;
    var _4 = _this+4+4;
    var _5 = _self+4+4;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _this+4+8;
    var _8 = _self+4+8;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _this+4+12;
    var _11 = _self+4+12;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _this+20;
    var _14 = _self+20;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    var _16 = _this+20+4;
    var _17 = _self+20+4;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _this+20+8;
    var _20 = _self+20+8;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _this+20+12;
    var _23 = _self+20+12;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    var _25 = _this+36;
    var _26 = _self+36;
    var _27 = FHEAP[_26];
    FHEAP[_25] = _27;
    var _28 = _this+36+4;
    var _29 = _self+36+4;
    var _30 = FHEAP[_29];
    FHEAP[_28] = _30;
    var _31 = _this+36+8;
    var _32 = _self+36+8;
    var _33 = FHEAP[_32];
    FHEAP[_31] = _33;
    var _34 = _this+36+12;
    var _35 = _self+36+12;
    var _36 = FHEAP[_35];
    FHEAP[_34] = _36;
    var _37 = _this+52;
    IHEAP[_37] = 277;
    var _38 = _this+64+16;
    IHEAP[_38] = 1;
    var _39 = _this+64+12;
    IHEAP[_39] = 0;
    var _40 = _this+64+4;
    IHEAP[_40] = 0;
    var _41 = _this+64+8;
    IHEAP[_41] = 0;
    var _42 = _this+84+16;
    IHEAP[_42] = 1;
    var _43 = _this+84+12;
    IHEAP[_43] = 0;
    var _44 = _this+84+4;
    IHEAP[_44] = 0;
    var _45 = _this+84+8;
    IHEAP[_45] = 0;
    var _46 = _this+104+16;
    IHEAP[_46] = 1;
    var _47 = _this+104+12;
    IHEAP[_47] = 0;
    var _48 = _this+104+4;
    IHEAP[_48] = 0;
    var _49 = _this+104+8;
    IHEAP[_49] = 0;
    var _50 = _this+124+16;
    IHEAP[_50] = 1;
    var _51 = _this+124+12;
    IHEAP[_51] = 0;
    var _52 = _this+124+4;
    IHEAP[_52] = 0;
    var _53 = _this+124+8;
    IHEAP[_53] = 0;
    var _54 = _this+148+16;
    IHEAP[_54] = 1;
    var _55 = _this+148+12;
    IHEAP[_55] = 0;
    var _56 = _this+148+4;
    IHEAP[_56] = 0;
    var _57 = _this+148+8;
    IHEAP[_57] = 0;
    ;
    return;
  }
  __ZN14btQuantizedBvhC1ERS_b.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvhC1ERS_b, "__ZN14btQuantizedBvhC1ERS_b");
  
  
  function __ZN14btQuantizedBvhC1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV14btQuantizedBvh+8;
    var _1 = _this+52;
    IHEAP[_1] = 277;
    var _2 = _this+60;
    IHEAP[_2] = 0;
    var _3 = _this+64+16;
    IHEAP[_3] = 1;
    var _4 = _this+64+12;
    IHEAP[_4] = 0;
    var _5 = _this+64+4;
    IHEAP[_5] = 0;
    var _6 = _this+64+8;
    IHEAP[_6] = 0;
    var _7 = _this+84+16;
    IHEAP[_7] = 1;
    var _8 = _this+84+12;
    IHEAP[_8] = 0;
    var _9 = _this+84+4;
    IHEAP[_9] = 0;
    var _10 = _this+84+8;
    IHEAP[_10] = 0;
    var _11 = _this+104+16;
    IHEAP[_11] = 1;
    var _12 = _this+104+12;
    IHEAP[_12] = 0;
    var _13 = _this+104+4;
    IHEAP[_13] = 0;
    var _14 = _this+104+8;
    IHEAP[_14] = 0;
    var _15 = _this+124+16;
    IHEAP[_15] = 1;
    var _16 = _this+124+12;
    IHEAP[_16] = 0;
    var _17 = _this+124+4;
    IHEAP[_17] = 0;
    var _18 = _this+124+8;
    IHEAP[_18] = 0;
    var _19 = _this+144;
    IHEAP[_19] = 0;
    var _20 = _this+148+16;
    IHEAP[_20] = 1;
    var _21 = _this+148+12;
    IHEAP[_21] = 0;
    var _22 = _this+148+4;
    IHEAP[_22] = 0;
    var _23 = _this+148+8;
    IHEAP[_23] = 0;
    var _24 = _this+168;
    IHEAP[_24] = 0;
    var _25 = _this+4;
    FHEAP[_25] = -3.4028234663852886e+38;
    var _26 = _this+4+4;
    FHEAP[_26] = -3.4028234663852886e+38;
    var _27 = _this+4+8;
    FHEAP[_27] = -3.4028234663852886e+38;
    var _28 = _this+4+12;
    FHEAP[_28] = 0;
    var _29 = _this+20;
    FHEAP[_29] = 3.4028234663852886e+38;
    var _30 = _this+20+4;
    FHEAP[_30] = 3.4028234663852886e+38;
    var _31 = _this+20+8;
    FHEAP[_31] = 3.4028234663852886e+38;
    var _32 = _this+20+12;
    FHEAP[_32] = 0;
    ;
    return;
  }
  __ZN14btQuantizedBvhC1Ev.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvhC1Ev, "__ZN14btQuantizedBvhC1Ev");
  
  
  function __ZNK14btQuantizedBvh29reportBoxCastOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_(_this, _nodeCallback, _raySource, _rayTarget, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this+60;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    var _2 = _this+56;
    var _3 = IHEAP[_2];
    ;
    if (_toBool) {
      ;
      __ZNK14btQuantizedBvh27walkStacklessTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii(_this, _nodeCallback, _raySource, _rayTarget, _aabbMin, _aabbMax, 0, _3);
      ;
      return;
    }
    else {
      ;
      __ZNK14btQuantizedBvh36walkStacklessQuantizedTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii(_this, _nodeCallback, _raySource, _rayTarget, _aabbMin, _aabbMax, 0, _3);
      ;
      return;
    }
  }
  __ZNK14btQuantizedBvh29reportBoxCastOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_.__index__ = Runtime.getFunctionIndex(__ZNK14btQuantizedBvh29reportBoxCastOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_, "__ZNK14btQuantizedBvh29reportBoxCastOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_");
  
  
  function __ZNK14btQuantizedBvh25reportRayOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_(_this, _nodeCallback, _raySource, _rayTarget) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = _1;
    FHEAP[_2] = 0;
    var _3 = _1+4;
    FHEAP[_3] = 0;
    var _4 = _1+8;
    FHEAP[_4] = 0;
    var _5 = _1+12;
    FHEAP[_5] = 0;
    var _6 = _0;
    FHEAP[_6] = 0;
    var _7 = _0+4;
    FHEAP[_7] = 0;
    var _8 = _0+8;
    FHEAP[_8] = 0;
    var _9 = _0+12;
    FHEAP[_9] = 0;
    var _10 = _this+60;
    var _11 = IHEAP[_10];
    var _toBool_i = _11 == 0;
    var _12 = _this+56;
    var _13 = IHEAP[_12];
    ;
    if (_toBool_i) {
      ;
      __ZNK14btQuantizedBvh27walkStacklessTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii(_this, _nodeCallback, _raySource, _rayTarget, _0, _1, 0, _13);
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      __ZNK14btQuantizedBvh36walkStacklessQuantizedTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii(_this, _nodeCallback, _raySource, _rayTarget, _0, _1, 0, _13);
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZNK14btQuantizedBvh25reportRayOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK14btQuantizedBvh25reportRayOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_, "__ZNK14btQuantizedBvh25reportRayOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_");
  
  
  function __ZN18btSimpleBroadphase8validateEv(_this) {
    ;
    var __label__;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    return;
  }
  __ZN18btSimpleBroadphase8validateEv.__index__ = Runtime.getFunctionIndex(__ZN18btSimpleBroadphase8validateEv, "__ZN18btSimpleBroadphase8validateEv");
  
  
  function __ZN18btSimpleBroadphase23getOverlappingPairCacheEv(_this) {
    ;
    var __label__;
    var _0 = _this+28;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZN18btSimpleBroadphase23getOverlappingPairCacheEv.__index__ = Runtime.getFunctionIndex(__ZN18btSimpleBroadphase23getOverlappingPairCacheEv, "__ZN18btSimpleBroadphase23getOverlappingPairCacheEv");
  
  
  function __ZNK18btSimpleBroadphase23getOverlappingPairCacheEv(_this) {
    ;
    var __label__;
    var _0 = _this+28;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK18btSimpleBroadphase23getOverlappingPairCacheEv.__index__ = Runtime.getFunctionIndex(__ZNK18btSimpleBroadphase23getOverlappingPairCacheEv, "__ZNK18btSimpleBroadphase23getOverlappingPairCacheEv");
  
  
  function __ZNK18btSimpleBroadphase17getBroadphaseAabbER9btVector3S1_(_this, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _aabbMin;
    FHEAP[_0] = -999999984306749400;
    var _1 = _aabbMin+4;
    FHEAP[_1] = -999999984306749400;
    var _2 = _aabbMin+8;
    FHEAP[_2] = -999999984306749400;
    var _3 = _aabbMin+12;
    FHEAP[_3] = 0;
    var _4 = _aabbMax;
    FHEAP[_4] = 999999984306749400;
    var _5 = _aabbMax+4;
    FHEAP[_5] = 999999984306749400;
    var _6 = _aabbMax+8;
    FHEAP[_6] = 999999984306749400;
    var _7 = _aabbMax+12;
    FHEAP[_7] = 0;
    ;
    return;
  }
  __ZNK18btSimpleBroadphase17getBroadphaseAabbER9btVector3S1_.__index__ = Runtime.getFunctionIndex(__ZNK18btSimpleBroadphase17getBroadphaseAabbER9btVector3S1_, "__ZNK18btSimpleBroadphase17getBroadphaseAabbER9btVector3S1_");
  
  
  function __ZN18btSimpleBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_(_this, _aabbMin, _aabbMax, _shapeType, _userPtr, _collisionFilterGroup, _collisionFilterMask, _unnamed_arg, _multiSapProxy) {
    ;
    var __label__;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _this+8;
    var _3 = IHEAP[_2];
    var _4 = _1 < _3;
    ;
    if (_4) {
      ;
      var _5 = _this+24;
      var _6 = IHEAP[_5];
      var _7 = _this+16;
      var _8 = IHEAP[_7];
      var _9 = _8+52*_6+48;
      var _10 = IHEAP[_9];
      IHEAP[_5] = _10;
      var _11 = _1 + 1;
      IHEAP[_0] = _11;
      var _12 = _this+12;
      var _13 = IHEAP[_12];
      var _14 = _13 < _6;
      ;
      if (_14) {
        ;
        IHEAP[_12] = _6;
        ;
      }
      var _15 = _8+52*_6;
      IHEAP[_15] = _userPtr;
      var _16 = _8+52*_6+4;
      IHEAP[_16] = _collisionFilterGroup;
      var _17 = _8+52*_6+6;
      IHEAP[_17] = _collisionFilterMask;
      var _18 = _8+52*_6+16;
      var _19 = _aabbMin;
      var _20 = FHEAP[_19];
      FHEAP[_18] = _20;
      var _21 = _8+52*_6+16+4;
      var _22 = _aabbMin+4;
      var _23 = FHEAP[_22];
      FHEAP[_21] = _23;
      var _24 = _8+52*_6+16+8;
      var _25 = _aabbMin+8;
      var _26 = FHEAP[_25];
      FHEAP[_24] = _26;
      var _27 = _8+52*_6+16+12;
      var _28 = _aabbMin+12;
      var _29 = FHEAP[_28];
      FHEAP[_27] = _29;
      var _30 = _8+52*_6+32;
      var _31 = _aabbMax;
      var _32 = FHEAP[_31];
      FHEAP[_30] = _32;
      var _33 = _8+52*_6+32+4;
      var _34 = _aabbMax+4;
      var _35 = FHEAP[_34];
      FHEAP[_33] = _35;
      var _36 = _8+52*_6+32+8;
      var _37 = _aabbMax+8;
      var _38 = FHEAP[_37];
      FHEAP[_36] = _38;
      var _39 = _8+52*_6+32+12;
      var _40 = _aabbMax+12;
      var _41 = FHEAP[_40];
      FHEAP[_39] = _41;
      var _42 = _8+52*_6+8;
      IHEAP[_42] = _multiSapProxy;
      var _43 = _8+52*_6;
      ;
      return _43;
    }
    else {
      ;
      ;
      return 0;
    }
  }
  __ZN18btSimpleBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_.__index__ = Runtime.getFunctionIndex(__ZN18btSimpleBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_, "__ZN18btSimpleBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_");
  
  
  function __ZN18btSimpleBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher(_this, _proxyOrg, _dispatcher) {
    ;
    var __label__;
    var _0 = _proxyOrg;
    var _1 = _this+16;
    var _2 = IHEAP[_1];
    var _3 = _2;
    var _4 = _0 - _3;
    var _5 = Math.floor(i32 / 52);
    var _6 = _this+12;
    var _7 = IHEAP[_6];
    var _8 = _7 == _5;
    ;
    if (_8) {
      ;
      var _9 = _7 + -1;
      IHEAP[_6] = _9;
      ;
    }
    var _10 = _this+24;
    var _11 = IHEAP[_10];
    var _12 = _proxyOrg+48;
    var __c = _11;
    IHEAP[_12] = __c;
    IHEAP[_10] = _5;
    var _13 = _proxyOrg;
    IHEAP[_13] = 0;
    var _14 = _this+4;
    var _15 = IHEAP[_14];
    var _16 = _15 + -1;
    IHEAP[_14] = _16;
    var _17 = _this+28;
    var _18 = IHEAP[_17];
    var _19 = _18;
    var _20 = IHEAP[_19];
    var _21 = _20+16;
    var _22 = IHEAP[_21];
    var _23 = _18;
    var _24 = _22;
    FUNCTION_TABLE[_24](_23, _proxyOrg, _dispatcher);
    ;
    return;
  }
  __ZN18btSimpleBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN18btSimpleBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher, "__ZN18btSimpleBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher");
  
  
  function __ZNK18btSimpleBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_(_this, _proxy, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _aabbMin;
    var _1 = _proxy+16;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _aabbMin+4;
    var _4 = _proxy+16+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _aabbMin+8;
    var _7 = _proxy+16+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _aabbMin+12;
    var _10 = _proxy+16+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _aabbMax;
    var _13 = _proxy+32;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _aabbMax+4;
    var _16 = _proxy+32+4;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _aabbMax+8;
    var _19 = _proxy+32+8;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _aabbMax+12;
    var _22 = _proxy+32+12;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    ;
    return;
  }
  __ZNK18btSimpleBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_.__index__ = Runtime.getFunctionIndex(__ZNK18btSimpleBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_, "__ZNK18btSimpleBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_");
  
  
  function __ZN18btSimpleBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher(_this, _proxy, _aabbMin, _aabbMax, _unnamed_arg) {
    ;
    var __label__;
    var _0 = _proxy+16;
    var _1 = _aabbMin;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _proxy+16+4;
    var _4 = _aabbMin+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _proxy+16+8;
    var _7 = _aabbMin+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _proxy+16+12;
    var _10 = _aabbMin+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _proxy+32;
    var _13 = _aabbMax;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _proxy+32+4;
    var _16 = _aabbMax+4;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _proxy+32+8;
    var _19 = _aabbMax+8;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _proxy+32+12;
    var _22 = _aabbMax+12;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    ;
    return;
  }
  __ZN18btSimpleBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN18btSimpleBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher, "__ZN18btSimpleBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher");
  
  
  function __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1_(_proxy0, _proxy1) {
    ;
    var __label__;
    var _0 = _proxy0+16;
    var _1 = FHEAP[_0];
    var _2 = _proxy1+32;
    var _3 = FHEAP[_2];
    var _4 = _1 > _3;
    ;
    _bb6$_bb$4308: do { 
      if (!_4) {
        ;
        var _5 = _proxy1+16;
        var _6 = FHEAP[_5];
        var _7 = _proxy0+32;
        var _8 = FHEAP[_7];
        var _9 = _6 > _8;
        if (_9) { __label__ = 83; /* _bb6 */ break _bb6$_bb$4308; }
        var _10 = _proxy0+16+4;
        var _11 = FHEAP[_10];
        var _12 = _proxy1+32+4;
        var _13 = FHEAP[_12];
        var _14 = _11 > _13;
        if (_14) { __label__ = 83; /* _bb6 */ break _bb6$_bb$4308; }
        var _15 = _proxy1+16+4;
        var _16 = FHEAP[_15];
        var _17 = _proxy0+32+4;
        var _18 = FHEAP[_17];
        var _19 = _16 > _18;
        if (_19) { __label__ = 83; /* _bb6 */ break _bb6$_bb$4308; }
        var _20 = _proxy0+16+8;
        var _21 = FHEAP[_20];
        var _22 = _proxy1+32+8;
        var _23 = FHEAP[_22];
        var _24 = _21 > _23;
        if (_24) { __label__ = 83; /* _bb6 */ break _bb6$_bb$4308; }
        var _25 = _proxy1+16+8;
        var _26 = FHEAP[_25];
        var _27 = _proxy0+32+8;
        var _28 = FHEAP[_27];
        var _not_ = _26 <= _28;
        var _retval = _not_;
        ;
        return _retval;
      }
    } while(0);
    ;
    return 0;
  }
  __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1_.__index__ = Runtime.getFunctionIndex(__ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1_, "__ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1_");
  
  
  function __ZN18btSimpleBroadphase15testAabbOverlapEP17btBroadphaseProxyS1_(_this, _proxy0, _proxy1) {
    ;
    var __label__;
    var _0 = _proxy0+16;
    var _1 = FHEAP[_0];
    var _2 = _proxy1+32;
    var _3 = FHEAP[_2];
    var _4 = _1 > _3;
    ;
    __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit$_bb_i$4316: do { 
      if (!_4) {
        ;
        var _5 = _proxy1+16;
        var _6 = FHEAP[_5];
        var _7 = _proxy0+32;
        var _8 = FHEAP[_7];
        var _9 = _6 > _8;
        if (_9) { __label__ = 962; /* __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit */ break __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit$_bb_i$4316; }
        var _10 = _proxy0+16+4;
        var _11 = FHEAP[_10];
        var _12 = _proxy1+32+4;
        var _13 = FHEAP[_12];
        var _14 = _11 > _13;
        if (_14) { __label__ = 962; /* __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit */ break __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit$_bb_i$4316; }
        var _15 = _proxy1+16+4;
        var _16 = FHEAP[_15];
        var _17 = _proxy0+32+4;
        var _18 = FHEAP[_17];
        var _19 = _16 > _18;
        if (_19) { __label__ = 962; /* __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit */ break __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit$_bb_i$4316; }
        var _20 = _proxy0+16+8;
        var _21 = FHEAP[_20];
        var _22 = _proxy1+32+8;
        var _23 = FHEAP[_22];
        var _24 = _21 > _23;
        if (_24) { __label__ = 962; /* __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit */ break __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit$_bb_i$4316; }
        var _25 = _proxy1+16+8;
        var _26 = FHEAP[_25];
        var _27 = _proxy0+32+8;
        var _28 = FHEAP[_27];
        var _not__i = _26 <= _28;
        var _retval_i = _not__i;
        ;
        return _retval_i;
      }
    } while(0);
    ;
    return 0;
  }
  __ZN18btSimpleBroadphase15testAabbOverlapEP17btBroadphaseProxyS1_.__index__ = Runtime.getFunctionIndex(__ZN18btSimpleBroadphase15testAabbOverlapEP17btBroadphaseProxyS1_, "__ZN18btSimpleBroadphase15testAabbOverlapEP17btBroadphaseProxyS1_");
  
  
  function __ZN18btSimpleBroadphaseD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btSimpleBroadphase+8;
    var _1 = _this+20;
    var _2 = IHEAP[_1];
    __Z21btAlignedFreeInternalPv(_2);
    var _3 = _this+32;
    var _4 = IHEAP[_3];
    var _toBool = _4 == 0;
    ;
    if (!_toBool) {
      ;
      var _5 = _this+28;
      var _6 = IHEAP[_5];
      var _7 = _6;
      var _8 = IHEAP[_7];
      var _9 = IHEAP[_8];
      var _10 = _9;
      FUNCTION_TABLE[_10](_6);
      var _11 = IHEAP[_5];
      var _12 = _11;
      __Z21btAlignedFreeInternalPv(_12);
      ;
    }
    var _13 = _this;
    __ZdlPv(_13);
    ;
    return;
  }
  __ZN18btSimpleBroadphaseD0Ev.__index__ = Runtime.getFunctionIndex(__ZN18btSimpleBroadphaseD0Ev, "__ZN18btSimpleBroadphaseD0Ev");
  
  
  function __ZN18btSimpleBroadphaseD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btSimpleBroadphase+8;
    var _1 = _this+20;
    var _2 = IHEAP[_1];
    __Z21btAlignedFreeInternalPv(_2);
    var _3 = _this+32;
    var _4 = IHEAP[_3];
    var _toBool = _4 == 0;
    ;
    if (_toBool) {
      ;
      ;
      return;
    }
    else {
      ;
      var _5 = _this+28;
      var _6 = IHEAP[_5];
      var _7 = _6;
      var _8 = IHEAP[_7];
      var _9 = IHEAP[_8];
      var _10 = _9;
      FUNCTION_TABLE[_10](_6);
      var _11 = IHEAP[_5];
      var _12 = _11;
      __Z21btAlignedFreeInternalPv(_12);
      ;
      return;
    }
  }
  __ZN18btSimpleBroadphaseD1Ev.__index__ = Runtime.getFunctionIndex(__ZN18btSimpleBroadphaseD1Ev, "__ZN18btSimpleBroadphaseD1Ev");
  
  
  function __ZN18btSimpleBroadphaseD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btSimpleBroadphase+8;
    var _1 = _this+20;
    var _2 = IHEAP[_1];
    __Z21btAlignedFreeInternalPv(_2);
    var _3 = _this+32;
    var _4 = IHEAP[_3];
    var _toBool = _4 == 0;
    ;
    if (_toBool) {
      ;
      ;
      return;
    }
    else {
      ;
      var _5 = _this+28;
      var _6 = IHEAP[_5];
      var _7 = _6;
      var _8 = IHEAP[_7];
      var _9 = IHEAP[_8];
      var _10 = _9;
      FUNCTION_TABLE[_10](_6);
      var _11 = IHEAP[_5];
      var _12 = _11;
      __Z21btAlignedFreeInternalPv(_12);
      ;
      return;
    }
  }
  __ZN18btSimpleBroadphaseD2Ev.__index__ = Runtime.getFunctionIndex(__ZN18btSimpleBroadphaseD2Ev, "__ZN18btSimpleBroadphaseD2Ev");
  
  
  function __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo(_this, _ci) {
    ;
    var __label__;
    var _0 = _this;
    __ZN20btCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo(_0, _ci);
    var _1 = _this;
    IHEAP[_1] = __ZTV30btActivatingCollisionAlgorithm+8;
    ;
    return;
  }
  __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo.__index__ = Runtime.getFunctionIndex(__ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo, "__ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo");
  
  
  function __ZN30btActivatingCollisionAlgorithmD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV30btActivatingCollisionAlgorithm+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN30btActivatingCollisionAlgorithmD0Ev.__index__ = Runtime.getFunctionIndex(__ZN30btActivatingCollisionAlgorithmD0Ev, "__ZN30btActivatingCollisionAlgorithmD0Ev");
  
  
  function __ZN30btActivatingCollisionAlgorithmD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV30btActivatingCollisionAlgorithm+8;
    ;
    return;
  }
  __ZN30btActivatingCollisionAlgorithmD1Ev.__index__ = Runtime.getFunctionIndex(__ZN30btActivatingCollisionAlgorithmD1Ev, "__ZN30btActivatingCollisionAlgorithmD1Ev");
  
  
  function __ZN30btActivatingCollisionAlgorithmD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV30btActivatingCollisionAlgorithm+8;
    ;
    return;
  }
  __ZN30btActivatingCollisionAlgorithmD2Ev.__index__ = Runtime.getFunctionIndex(__ZN30btActivatingCollisionAlgorithmD2Ev, "__ZN30btActivatingCollisionAlgorithmD2Ev");
  
  
  function __ZN30btActivatingCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_this, _ci, _colObj0, _colObj1) {
    ;
    var __label__;
    var _0 = _this;
    __ZN20btCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo(_0, _ci);
    var _1 = _this;
    IHEAP[_1] = __ZTV30btActivatingCollisionAlgorithm+8;
    ;
    return;
  }
  __ZN30btActivatingCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__ = Runtime.getFunctionIndex(__ZN30btActivatingCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, "__ZN30btActivatingCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_");
  
  
  function __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_this, _ci, _colObj0, _colObj1) {
    ;
    var __label__;
    var _0 = _this;
    __ZN20btCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo(_0, _ci);
    var _1 = _this;
    IHEAP[_1] = __ZTV30btActivatingCollisionAlgorithm+8;
    ;
    return;
  }
  __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__ = Runtime.getFunctionIndex(__ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, "__ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_");
  
  
  function __ZN30btActivatingCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfo(_this, _ci) {
    ;
    var __label__;
    var _0 = _this;
    __ZN20btCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo(_0, _ci);
    var _1 = _this;
    IHEAP[_1] = __ZTV30btActivatingCollisionAlgorithm+8;
    ;
    return;
  }
  __ZN30btActivatingCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfo.__index__ = Runtime.getFunctionIndex(__ZN30btActivatingCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfo, "__ZN30btActivatingCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfo");
  
  
  function __ZN26btBoxBoxCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(_this, _manifoldArray) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _return$_bb$4458: do { 
      if (!_2) {
        ;
        var _3 = _this+8;
        var _4 = IHEAP[_3];
        var _toBool = _4 == 0;
        if (_toBool) { __label__ = 44; /* _return */ break _return$_bb$4458; }
        __ZN20btAlignedObjectArrayIP20btPersistentManifoldE9push_backERKS1_(_manifoldArray, _0);
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __ZN26btBoxBoxCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__ = Runtime.getFunctionIndex(__ZN26btBoxBoxCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, "__ZN26btBoxBoxCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE");
  
  
  function __ZN26btBoxBoxCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _body0, _body1, _dispatchInfo, _resultOut) {
    var __stackBase__  = STACKTOP; STACKTOP += 148;
    var __label__;
    var _input = __stackBase__;
    var _detector = __stackBase__+136;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    __ZN16btManifoldResult20refreshContactPointsEv_exit$_bb$4463: do { 
      if (!_2) {
        ;
        var _3 = _body0+192;
        var _4 = IHEAP[_3];
        var _5 = _4;
        var _6 = _body1+192;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = _resultOut+4;
        IHEAP[_9] = _1;
        var _10 = _input+128;
        var _11 = _input+132;
        IHEAP[_11] = 0;
        FHEAP[_10] = 999999984306749400;
        var _12 = _input;
        var _13 = _body0+4;
        var _14 = FHEAP[_13];
        FHEAP[_12] = _14;
        var _15 = _input+4;
        var _16 = _body0+4+4;
        var _17 = FHEAP[_16];
        FHEAP[_15] = _17;
        var _18 = _input+8;
        var _19 = _body0+4+8;
        var _20 = FHEAP[_19];
        FHEAP[_18] = _20;
        var _21 = _input+12;
        var _22 = _body0+4+12;
        var _23 = FHEAP[_22];
        FHEAP[_21] = _23;
        var _24 = _input+16;
        var _25 = _body0+4+16;
        var _26 = FHEAP[_25];
        FHEAP[_24] = _26;
        var _27 = _input+16+4;
        var _28 = _body0+4+16+4;
        var _29 = FHEAP[_28];
        FHEAP[_27] = _29;
        var _30 = _input+16+8;
        var _31 = _body0+4+16+8;
        var _32 = FHEAP[_31];
        FHEAP[_30] = _32;
        var _33 = _input+16+12;
        var _34 = _body0+4+16+12;
        var _35 = FHEAP[_34];
        FHEAP[_33] = _35;
        var _36 = _input+32;
        var _37 = _body0+4+32;
        var _38 = FHEAP[_37];
        FHEAP[_36] = _38;
        var _39 = _input+32+4;
        var _40 = _body0+4+32+4;
        var _41 = FHEAP[_40];
        FHEAP[_39] = _41;
        var _42 = _input+32+8;
        var _43 = _body0+4+32+8;
        var _44 = FHEAP[_43];
        FHEAP[_42] = _44;
        var _45 = _input+32+12;
        var _46 = _body0+4+32+12;
        var _47 = FHEAP[_46];
        FHEAP[_45] = _47;
        var _48 = _input+48;
        var _49 = _body0+4+48;
        var _50 = FHEAP[_49];
        FHEAP[_48] = _50;
        var _51 = _input+48+4;
        var _52 = _body0+4+48+4;
        var _53 = FHEAP[_52];
        FHEAP[_51] = _53;
        var _54 = _input+48+8;
        var _55 = _body0+4+48+8;
        var _56 = FHEAP[_55];
        FHEAP[_54] = _56;
        var _57 = _input+48+12;
        var _58 = _body0+4+48+12;
        var _59 = FHEAP[_58];
        FHEAP[_57] = _59;
        var _60 = _input+64;
        var _61 = _body1+4;
        var _62 = FHEAP[_61];
        FHEAP[_60] = _62;
        var _63 = _input+64+4;
        var _64 = _body1+4+4;
        var _65 = FHEAP[_64];
        FHEAP[_63] = _65;
        var _66 = _input+64+8;
        var _67 = _body1+4+8;
        var _68 = FHEAP[_67];
        FHEAP[_66] = _68;
        var _69 = _input+64+12;
        var _70 = _body1+4+12;
        var _71 = FHEAP[_70];
        FHEAP[_69] = _71;
        var _72 = _input+64+16;
        var _73 = _body1+4+16;
        var _74 = FHEAP[_73];
        FHEAP[_72] = _74;
        var _75 = _input+64+16+4;
        var _76 = _body1+4+16+4;
        var _77 = FHEAP[_76];
        FHEAP[_75] = _77;
        var _78 = _input+64+16+8;
        var _79 = _body1+4+16+8;
        var _80 = FHEAP[_79];
        FHEAP[_78] = _80;
        var _81 = _input+64+16+12;
        var _82 = _body1+4+16+12;
        var _83 = FHEAP[_82];
        FHEAP[_81] = _83;
        var _84 = _input+64+32;
        var _85 = _body1+4+32;
        var _86 = FHEAP[_85];
        FHEAP[_84] = _86;
        var _87 = _input+64+32+4;
        var _88 = _body1+4+32+4;
        var _89 = FHEAP[_88];
        FHEAP[_87] = _89;
        var _90 = _input+64+32+8;
        var _91 = _body1+4+32+8;
        var _92 = FHEAP[_91];
        FHEAP[_90] = _92;
        var _93 = _input+64+32+12;
        var _94 = _body1+4+32+12;
        var _95 = FHEAP[_94];
        FHEAP[_93] = _95;
        var _96 = _input+64+48;
        var _97 = _body1+4+48;
        var _98 = FHEAP[_97];
        FHEAP[_96] = _98;
        var _99 = _input+64+48+4;
        var _100 = _body1+4+48+4;
        var _101 = FHEAP[_100];
        FHEAP[_99] = _101;
        var _102 = _input+64+48+8;
        var _103 = _body1+4+48+8;
        var _104 = FHEAP[_103];
        FHEAP[_102] = _104;
        var _105 = _input+64+48+12;
        var _106 = _body1+4+48+12;
        var _107 = FHEAP[_106];
        FHEAP[_105] = _107;
        __ZN16btBoxBoxDetectorC1EP10btBoxShapeS1_(_detector, _5, _8);
        var _108 = _dispatchInfo+20;
        var _109 = IHEAP[_108];
        var _110 = _resultOut;
        __ZN16btBoxBoxDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(_detector, _input, _110, _109, 0);
        var _111 = _this+8;
        var _112 = IHEAP[_111];
        var _toBool = _112 == 0;
        if (_toBool) { __label__ = 990; /* __ZN16btManifoldResult20refreshContactPointsEv_exit */ break __ZN16btManifoldResult20refreshContactPointsEv_exit$_bb$4463; }
        var _113 = IHEAP[_9];
        var _114 = _113+1116;
        var _115 = IHEAP[_114];
        var _116 = _115 == 0;
        if (_116) { __label__ = 990; /* __ZN16btManifoldResult20refreshContactPointsEv_exit */ break __ZN16btManifoldResult20refreshContactPointsEv_exit$_bb$4463; }
        var _117 = _113+1108;
        var _118 = IHEAP[_117];
        var _119 = _resultOut+136;
        var _120 = IHEAP[_119];
        var _121 = _120;
        var _122 = _118 == _121;
        ;
        if (_122) {
          ;
          var _125 = _resultOut+72;
          var _126 = _resultOut+8;
          __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_113, _126, _125);
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _123 = _resultOut+8;
          var _124 = _resultOut+72;
          __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_113, _124, _123);
          STACKTOP = __stackBase__;
          return;
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN26btBoxBoxCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN26btBoxBoxCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN26btBoxBoxCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZL17ClipSegmentToLineP10ClipVertexS0_RK9btVector3f(_vOut, _vIn, _normal_0_0_0_val, _normal_0_0_1_val, _normal_0_0_2_val, _offset) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _vIn;
    var _1 = FHEAP[_0];
    var _2 = _1 * _normal_0_0_0_val;
    var _3 = _vIn+4;
    var _4 = FHEAP[_3];
    var _5 = _4 * _normal_0_0_1_val;
    var _6 = _2 + _5;
    var _7 = _vIn+8;
    var _8 = FHEAP[_7];
    var _9 = _8 * _normal_0_0_2_val;
    var _10 = _6 + _9;
    var _11 = _10 - _offset;
    var _12 = _vIn+20;
    var _13 = FHEAP[_12];
    var _14 = _13 * _normal_0_0_0_val;
    var _15 = _vIn+20+4;
    var _16 = FHEAP[_15];
    var _17 = _16 * _normal_0_0_1_val;
    var _18 = _14 + _17;
    var _19 = _vIn+20+8;
    var _20 = FHEAP[_19];
    var _21 = _20 * _normal_0_0_2_val;
    var _22 = _18 + _21;
    var _23 = _22 - _offset;
    var _24 = _11 > 0;
    ;
    if (_24) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _25 = _vOut;
      FHEAP[_25] = _1;
      var _26 = _vOut+4;
      var _27 = FHEAP[_3];
      FHEAP[_26] = _27;
      var _28 = _vOut+8;
      var _29 = FHEAP[_7];
      FHEAP[_28] = _29;
      var _30 = _vOut+12;
      var _31 = _vIn+12;
      var _32 = FHEAP[_31];
      FHEAP[_30] = _32;
      var _33 = _vOut+16;
      var _34 = _vIn+16;
      var _35 = IHEAP[_34];
      IHEAP[_33] = _35;
      __lastLabel__ = 60; ;
    }
    var _numOut_0 = __lastLabel__ == 60 ? 1 : (0);
    var _36 = _23 > 0;
    ;
    if (_36) {
      __lastLabel__ = 75; ;
    }
    else {
      __lastLabel__ = 75; ;
      var _37 = _vOut+20*_numOut_0;
      var _38 = FHEAP[_12];
      FHEAP[_37] = _38;
      var _39 = _vOut+20*_numOut_0+4;
      var _40 = FHEAP[_15];
      FHEAP[_39] = _40;
      var _41 = _vOut+20*_numOut_0+8;
      var _42 = FHEAP[_19];
      FHEAP[_41] = _42;
      var _43 = _vOut+20*_numOut_0+12;
      var _44 = _vIn+20+12;
      var _45 = FHEAP[_44];
      FHEAP[_43] = _45;
      var _46 = _vOut+20*_numOut_0+16;
      var _47 = _vIn+20+16;
      var _48 = IHEAP[_47];
      IHEAP[_46] = _48;
      var _49 = _numOut_0 + 1;
      __lastLabel__ = 0; ;
    }
    var _numOut_1 = __lastLabel__ == 0 ? _49 : (_numOut_0);
    var _50 = _11 * _23;
    var _51 = _50 < 0;
    ;
    if (_51) {
      ;
      var _52 = _11 - _23;
      var _53 = _11 / _52;
      var _54 = FHEAP[_19];
      var _55 = FHEAP[_7];
      var _56 = _54 - _55;
      var _57 = FHEAP[_15];
      var _58 = FHEAP[_3];
      var _59 = _57 - _58;
      var _60 = FHEAP[_12];
      var _61 = FHEAP[_0];
      var _62 = _60 - _61;
      var _63 = _56 * _53;
      var _64 = _59 * _53;
      var _65 = _62 * _53;
      var _66 = _55 + _63;
      var _67 = _58 + _64;
      var _68 = _61 + _65;
      var _69 = _vOut+20*_numOut_1;
      FHEAP[_69] = _68;
      var _70 = _vOut+20*_numOut_1+4;
      FHEAP[_70] = _67;
      var _71 = _vOut+20*_numOut_1+8;
      FHEAP[_71] = _66;
      var _72 = _vOut+20*_numOut_1+12;
      FHEAP[_72] = 0;
      var _73 = _11 > 0;
      ;
      if (_73) {
        ;
        var _74 = _vIn+16;
        var _75 = IHEAP[_74];
        var _76 = _vOut+20*_numOut_1+16;
        IHEAP[_76] = _75;
        ;
      }
      else {
        ;
        var _77 = _vIn+20+16;
        var _78 = IHEAP[_77];
        var _79 = _vOut+20*_numOut_1+16;
        IHEAP[_79] = _78;
        ;
      }
      var _80 = _numOut_1 + 1;
      ;
      return _80;
    }
    else {
      ;
      ;
      return _numOut_1;
    }
  }
  __ZL17ClipSegmentToLineP10ClipVertexS0_RK9btVector3f.__index__ = Runtime.getFunctionIndex(__ZL17ClipSegmentToLineP10ClipVertexS0_RK9btVector3f, "__ZL17ClipSegmentToLineP10ClipVertexS0_RK9btVector3f");
  
  
  function __ZL14EdgeSeparationPK12btBox2dShapeRK11btTransformiS1_S4_(_poly1, _xf1, _edge1, _poly2, _xf2) {
    ;
    var __label__;
    var _0 = _xf1+32;
    var _1 = FHEAP[_0];
    var _2 = _poly1+132+_edge1*16;
    var _3 = FHEAP[_2];
    var _4 = _1 * _3;
    var _5 = _xf1+32+4;
    var _6 = FHEAP[_5];
    var _7 = _poly1+132+_edge1*16+4;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _4 + _9;
    var _11 = _xf1+32+8;
    var _12 = FHEAP[_11];
    var _13 = _poly1+132+_edge1*16+8;
    var _14 = FHEAP[_13];
    var _15 = _12 * _14;
    var _16 = _10 + _15;
    var _17 = _xf1+16;
    var _18 = FHEAP[_17];
    var _19 = _18 * _3;
    var _20 = _xf1+16+4;
    var _21 = FHEAP[_20];
    var _22 = _21 * _8;
    var _23 = _19 + _22;
    var _24 = _xf1+16+8;
    var _25 = FHEAP[_24];
    var _26 = _25 * _14;
    var _27 = _23 + _26;
    var _28 = _xf1;
    var _29 = FHEAP[_28];
    var _30 = _29 * _3;
    var _31 = _xf1+4;
    var _32 = FHEAP[_31];
    var _33 = _32 * _8;
    var _34 = _30 + _33;
    var _35 = _xf1+8;
    var _36 = FHEAP[_35];
    var _37 = _36 * _14;
    var _38 = _34 + _37;
    var _39 = _xf2+32+8;
    var _40 = _xf2+16+8;
    var _41 = _xf2+8;
    var _42 = _xf2+32+4;
    var _43 = _xf2+16+4;
    var _44 = _xf2+4;
    var _45 = _xf2+32;
    var _46 = _xf2+16;
    var _47 = _xf2;
    var _48 = FHEAP[_47];
    var _49 = FHEAP[_46];
    var _50 = FHEAP[_45];
    var _51 = FHEAP[_44];
    var _52 = FHEAP[_43];
    var _53 = FHEAP[_42];
    var _54 = FHEAP[_41];
    var _55 = FHEAP[_40];
    var _56 = FHEAP[_39];
    var _57 = _54 * _38;
    var _58 = _55 * _27;
    var _59 = _57 + _58;
    var _60 = _56 * _16;
    var _61 = _59 + _60;
    var _62 = _51 * _38;
    var _63 = _52 * _27;
    var _64 = _62 + _63;
    var _65 = _53 * _16;
    var _66 = _64 + _65;
    var _67 = _48 * _38;
    var _68 = _49 * _27;
    var _69 = _67 + _68;
    var _70 = _50 * _16;
    var _71 = _69 + _70;
    var _scevgep22 = _poly2+68;
    var _scevgep23 = _poly2+68+4;
    var _scevgep24 = _poly2+68+8;
    var _72 = FHEAP[_scevgep22];
    var _73 = _72 * _71;
    var _74 = FHEAP[_scevgep23];
    var _75 = _74 * _66;
    var _76 = _73 + _75;
    var _77 = FHEAP[_scevgep24];
    var _78 = _77 * _61;
    var _79 = _76 + _78;
    var _80 = _79 < 999999984306749400;
    var _minDot_0 = _80 ? _79 : 999999984306749400;
    var _scevgep22_1 = _poly2+68+16;
    var _scevgep23_1 = _poly2+68+16+4;
    var _scevgep24_1 = _poly2+68+16+8;
    var _81 = FHEAP[_scevgep22_1];
    var _82 = _81 * _71;
    var _83 = FHEAP[_scevgep23_1];
    var _84 = _83 * _66;
    var _85 = _82 + _84;
    var _86 = FHEAP[_scevgep24_1];
    var _87 = _86 * _61;
    var _88 = _85 + _87;
    var _89 = _88 < _minDot_0;
    var _minDot_0_1 = _89 ? _88 : _minDot_0;
    var _scevgep22_2 = _poly2+68+32;
    var _scevgep23_2 = _poly2+68+32+4;
    var _scevgep24_2 = _poly2+68+32+8;
    var _90 = FHEAP[_scevgep22_2];
    var _91 = _90 * _71;
    var _92 = FHEAP[_scevgep23_2];
    var _93 = _92 * _66;
    var _94 = _91 + _93;
    var _95 = FHEAP[_scevgep24_2];
    var _96 = _95 * _61;
    var _97 = _94 + _96;
    var _98 = _97 < _minDot_0_1;
    var _scevgep23_3 = _poly2+68+48+4;
    var _scevgep22_3 = _poly2+68+48;
    var _99 = FHEAP[_scevgep23_3];
    var _100 = FHEAP[_scevgep22_3];
    var _scevgep24_3 = _poly2+68+48+8;
    var _101 = FHEAP[_scevgep24_3];
    var _102 = _99 * _66;
    var _103 = _100 * _71;
    var _104 = _101 * _61;
    var _105 = _103 + _102;
    var _106 = _105 + _104;
    var _minDot_0_2 = _98 ? _97 : _minDot_0_1;
    var _index_0_1 = _89;
    var _107 = _106 < _minDot_0_2;
    var _index_0_2 = _98 ? 2 : _index_0_1;
    var _index_0_3 = _107 ? 3 : _index_0_2;
    var _108 = _poly1+68+_edge1*16;
    var _109 = FHEAP[_108];
    var _110 = _1 * _109;
    var _111 = _poly1+68+_edge1*16+4;
    var _112 = FHEAP[_111];
    var _113 = _6 * _112;
    var _114 = _110 + _113;
    var _115 = _poly1+68+_edge1*16+8;
    var _116 = FHEAP[_115];
    var _117 = _12 * _116;
    var _118 = _114 + _117;
    var _119 = _xf1+48+8;
    var _120 = FHEAP[_119];
    var _121 = _118 + _120;
    var _122 = _18 * _109;
    var _123 = _21 * _112;
    var _124 = _122 + _123;
    var _125 = _25 * _116;
    var _126 = _124 + _125;
    var _127 = _xf1+48+4;
    var _128 = FHEAP[_127];
    var _129 = _126 + _128;
    var _130 = _29 * _109;
    var _131 = _32 * _112;
    var _132 = _130 + _131;
    var _133 = _36 * _116;
    var _134 = _132 + _133;
    var _135 = _xf1+48;
    var _136 = FHEAP[_135];
    var _137 = _134 + _136;
    var _138 = _poly2+68+_index_0_3*16;
    var _139 = FHEAP[_138];
    var _140 = _50 * _139;
    var _141 = _poly2+68+_index_0_3*16+4;
    var _142 = FHEAP[_141];
    var _143 = _53 * _142;
    var _144 = _140 + _143;
    var _145 = _poly2+68+_index_0_3*16+8;
    var _146 = FHEAP[_145];
    var _147 = _56 * _146;
    var _148 = _144 + _147;
    var _149 = _xf2+48+8;
    var _150 = FHEAP[_149];
    var _151 = _148 + _150;
    var _152 = _49 * _139;
    var _153 = _52 * _142;
    var _154 = _152 + _153;
    var _155 = _55 * _146;
    var _156 = _154 + _155;
    var _157 = _xf2+48+4;
    var _158 = FHEAP[_157];
    var _159 = _156 + _158;
    var _160 = _48 * _139;
    var _161 = _51 * _142;
    var _162 = _160 + _161;
    var _163 = _54 * _146;
    var _164 = _162 + _163;
    var _165 = _xf2+48;
    var _166 = FHEAP[_165];
    var _167 = _164 + _166;
    var _168 = _151 - _121;
    var _169 = _159 - _129;
    var _170 = _167 - _137;
    var _171 = _170 * _38;
    var _172 = _169 * _27;
    var _173 = _171 + _172;
    var _174 = _168 * _16;
    var _175 = _173 + _174;
    ;
    return _175;
  }
  __ZL14EdgeSeparationPK12btBox2dShapeRK11btTransformiS1_S4_.__index__ = Runtime.getFunctionIndex(__ZL14EdgeSeparationPK12btBox2dShapeRK11btTransformiS1_S4_, "__ZL14EdgeSeparationPK12btBox2dShapeRK11btTransformiS1_S4_");
  
  
  function __ZN30btBox2dBox2dCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(_this, _manifoldArray) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _return$_bb$4556: do { 
      if (!_2) {
        ;
        var _3 = _this+8;
        var _4 = IHEAP[_3];
        var _toBool = _4 == 0;
        if (_toBool) { __label__ = 44; /* _return */ break _return$_bb$4556; }
        __ZN20btAlignedObjectArrayIP20btPersistentManifoldE9push_backERKS1_(_manifoldArray, _0);
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __ZN30btBox2dBox2dCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__ = Runtime.getFunctionIndex(__ZN30btBox2dBox2dCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, "__ZN30btBox2dBox2dCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE");
  
  
  function __ZN30btBox2dBox2dCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _body0, _body1, _dispatchInfo, _resultOut) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    __ZN16btManifoldResult20refreshContactPointsEv_exit$_bb$4580: do { 
      if (!_2) {
        ;
        var _3 = _body0+192;
        var _4 = IHEAP[_3];
        var _5 = _4;
        var _6 = _body1+192;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = _resultOut+4;
        IHEAP[_9] = _1;
        var _10 = _body1+4;
        var _11 = _body0+4;
        __Z17b2CollidePolygonsP16btManifoldResultPK12btBox2dShapeRK11btTransformS3_S6_(_resultOut, _5, _11, _8, _10);
        var _12 = _this+8;
        var _13 = IHEAP[_12];
        var _toBool = _13 == 0;
        if (_toBool) { __label__ = 990; /* __ZN16btManifoldResult20refreshContactPointsEv_exit */ break __ZN16btManifoldResult20refreshContactPointsEv_exit$_bb$4580; }
        var _14 = IHEAP[_9];
        var _15 = _14+1116;
        var _16 = IHEAP[_15];
        var _17 = _16 == 0;
        if (_17) { __label__ = 990; /* __ZN16btManifoldResult20refreshContactPointsEv_exit */ break __ZN16btManifoldResult20refreshContactPointsEv_exit$_bb$4580; }
        var _18 = _14+1108;
        var _19 = IHEAP[_18];
        var _20 = _resultOut+136;
        var _21 = IHEAP[_20];
        var _22 = _21;
        var _23 = _19 == _22;
        ;
        if (_23) {
          ;
          var _26 = _resultOut+72;
          var _27 = _resultOut+8;
          __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_14, _27, _26);
          ;
          return;
        }
        else {
          ;
          var _24 = _resultOut+8;
          var _25 = _resultOut+72;
          __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_14, _25, _24);
          ;
          return;
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN30btBox2dBox2dCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN30btBox2dBox2dCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN30btBox2dBox2dCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN16btBoxBoxDetectorC2EP10btBoxShapeS1_(_this, _box1, _box2) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btBoxBoxDetector+8;
    var _1 = _this+4;
    IHEAP[_1] = _box1;
    var _2 = _this+8;
    IHEAP[_2] = _box2;
    ;
    return;
  }
  __ZN16btBoxBoxDetectorC2EP10btBoxShapeS1_.__index__ = Runtime.getFunctionIndex(__ZN16btBoxBoxDetectorC2EP10btBoxShapeS1_, "__ZN16btBoxBoxDetectorC2EP10btBoxShapeS1_");
  
  
  function __ZN36btDiscreteCollisionDetectorInterfaceD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV36btDiscreteCollisionDetectorInterface+8;
    ;
    return;
  }
  __ZN36btDiscreteCollisionDetectorInterfaceD1Ev.__index__ = Runtime.getFunctionIndex(__ZN36btDiscreteCollisionDetectorInterfaceD1Ev, "__ZN36btDiscreteCollisionDetectorInterfaceD1Ev");
  
  
  function __ZN36btDiscreteCollisionDetectorInterfaceD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV36btDiscreteCollisionDetectorInterface+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN36btDiscreteCollisionDetectorInterfaceD0Ev.__index__ = Runtime.getFunctionIndex(__ZN36btDiscreteCollisionDetectorInterfaceD0Ev, "__ZN36btDiscreteCollisionDetectorInterfaceD0Ev");
  
  
  function __ZN16btBoxBoxDetectorD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btBoxBoxDetector+8;
    ;
    return;
  }
  __ZN16btBoxBoxDetectorD1Ev.__index__ = Runtime.getFunctionIndex(__ZN16btBoxBoxDetectorD1Ev, "__ZN16btBoxBoxDetectorD1Ev");
  
  
  function __ZN16btBoxBoxDetectorD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btBoxBoxDetector+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN16btBoxBoxDetectorD0Ev.__index__ = Runtime.getFunctionIndex(__ZN16btBoxBoxDetectorD0Ev, "__ZN16btBoxBoxDetectorD0Ev");
  
  
  function __ZN16btBoxBoxDetectorC1EP10btBoxShapeS1_(_this, _box1, _box2) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btBoxBoxDetector+8;
    var _1 = _this+4;
    IHEAP[_1] = _box1;
    var _2 = _this+8;
    IHEAP[_2] = _box2;
    ;
    return;
  }
  __ZN16btBoxBoxDetectorC1EP10btBoxShapeS1_.__index__ = Runtime.getFunctionIndex(__ZN16btBoxBoxDetectorC1EP10btBoxShapeS1_, "__ZN16btBoxBoxDetectorC1EP10btBoxShapeS1_");
  
  
  function __Z20dLineClosestApproachRK9btVector3S1_S1_S1_PfS2_(_pa, _ua, _pb, _ub, _alpha, _beta) {
    ;
    var __label__;
    var _0 = _pb;
    var _1 = FHEAP[_0];
    var _2 = _pa;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _pb+4;
    var _6 = FHEAP[_5];
    var _7 = _pa+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _pb+8;
    var _11 = FHEAP[_10];
    var _12 = _pa+8;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _ub;
    var _16 = _ua;
    var __val13 = FHEAP[_16];
    var __idx14 = _ua+4;
    var __idx14_val = FHEAP[__idx14];
    var __idx15 = _ua+8;
    var __idx15_val = FHEAP[__idx15];
    var __val16 = FHEAP[_15];
    var __idx17 = _ub+4;
    var __idx17_val = FHEAP[__idx17];
    var __idx18 = _ub+8;
    var __idx18_val = FHEAP[__idx18];
    var _17 = __val13 * __val16;
    var _18 = __idx14_val * __idx17_val;
    var _19 = _17 + _18;
    var _20 = __idx15_val * __idx18_val;
    var _21 = _19 + _20;
    var _22 = __val13 * _4;
    var _23 = __idx14_val * _9;
    var _24 = _22 + _23;
    var _25 = __idx15_val * _14;
    var _26 = _24 + _25;
    var _27 = __val16 * _4;
    var _28 = __idx17_val * _9;
    var _29 = _27 + _28;
    var _30 = __idx18_val * _14;
    var _31 = _29 + _30;
    var _32 = _21 * _21;
    var _33 = 1 - _32;
    var _34 = _33 > 0.00009999999747378752;
    ;
    if (_34) {
      ;
      var _35 = 0 - _31;
      var _36 = 1 / _33;
      var _37 = _21 * _35;
      var _38 = _37 + _26;
      var _39 = _38 * _36;
      FHEAP[_alpha] = _39;
      var _40 = _21 * _26;
      var _41 = _40 - _31;
      var _42 = _41 * _36;
      FHEAP[_beta] = _42;
      ;
      return;
    }
    else {
      ;
      FHEAP[_alpha] = 0;
      FHEAP[_beta] = 0;
      ;
      return;
    }
  }
  __Z20dLineClosestApproachRK9btVector3S1_S1_S1_PfS2_.__index__ = Runtime.getFunctionIndex(__Z20dLineClosestApproachRK9btVector3S1_S1_S1_PfS2_, "__Z20dLineClosestApproachRK9btVector3S1_S1_S1_PfS2_");
  
  
  function __ZN36btDiscreteCollisionDetectorInterface6ResultD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN36btDiscreteCollisionDetectorInterface6ResultE+8;
    ;
    return;
  }
  __ZN36btDiscreteCollisionDetectorInterface6ResultD1Ev.__index__ = Runtime.getFunctionIndex(__ZN36btDiscreteCollisionDetectorInterface6ResultD1Ev, "__ZN36btDiscreteCollisionDetectorInterface6ResultD1Ev");
  
  
  function __ZN36btDiscreteCollisionDetectorInterface6ResultD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN36btDiscreteCollisionDetectorInterface6ResultE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN36btDiscreteCollisionDetectorInterface6ResultD0Ev.__index__ = Runtime.getFunctionIndex(__ZN36btDiscreteCollisionDetectorInterface6ResultD0Ev, "__ZN36btDiscreteCollisionDetectorInterface6ResultD0Ev");
  
  
  function __ZN21btCollisionDispatcher27registerCollisionCreateFuncEiiP30btCollisionAlgorithmCreateFunc(_this, _proxyType0, _proxyType1, _createFunc) {
    ;
    var __label__;
    var _0 = _this+200+_proxyType0*144+_proxyType1*4;
    IHEAP[_0] = _createFunc;
    ;
    return;
  }
  __ZN21btCollisionDispatcher27registerCollisionCreateFuncEiiP30btCollisionAlgorithmCreateFunc.__index__ = Runtime.getFunctionIndex(__ZN21btCollisionDispatcher27registerCollisionCreateFuncEiiP30btCollisionAlgorithmCreateFunc, "__ZN21btCollisionDispatcher27registerCollisionCreateFuncEiiP30btCollisionAlgorithmCreateFunc");
  
  
  function __ZN21btCollisionDispatcher13needsResponseEP17btCollisionObjectS1_(_this, _body0, _body1) {
    ;
    var __label__;
    var _0 = _body0+204;
    var _1 = IHEAP[_0];
    var __lobit_i = _1 & 4;
    var _toBoolnot = __lobit_i == 0;
    ;
    _bb$_bb26$4838: do { 
      if (_toBoolnot) {
        ;
        var _2 = _body1+204;
        var _3 = IHEAP[_2];
        var __lobit_i32 = _3 & 4;
        var _toBool4not = __lobit_i32 == 0;
        if (!(_toBool4not)) { __label__ = 626; /* _bb26 */ break _bb$_bb26$4838; }
        var _4 = _1 & 3;
        var _5 = _4 == 0;
        ;
        if (_5) {
          ;
          ;
          return 1;
        }
        else {
          ;
          var _6 = _3 & 3;
          var _toBool21not = _6 == 0;
          var _retval = _toBool21not;
          ;
          return _retval;
        }
      }
    } while(0);
    ;
    return 0;
  }
  __ZN21btCollisionDispatcher13needsResponseEP17btCollisionObjectS1_.__index__ = Runtime.getFunctionIndex(__ZN21btCollisionDispatcher13needsResponseEP17btCollisionObjectS1_, "__ZN21btCollisionDispatcher13needsResponseEP17btCollisionObjectS1_");
  
  
  function __ZN23btCollisionPairCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btCollisionPairCallback+8;
    ;
    return;
  }
  __ZN23btCollisionPairCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN23btCollisionPairCallbackD1Ev, "__ZN23btCollisionPairCallbackD1Ev");
  
  
  function __ZN23btCollisionPairCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btCollisionPairCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN23btCollisionPairCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN23btCollisionPairCallbackD0Ev, "__ZN23btCollisionPairCallbackD0Ev");
  
  
  function __ZN23btCollisionPairCallback14processOverlapER16btBroadphasePair(_this, _pair) {
    ;
    var __label__;
    var _0 = _this+8;
    var _1 = IHEAP[_0];
    var _2 = _1+188;
    var _3 = IHEAP[_2];
    var _4 = _this+4;
    var _5 = IHEAP[_4];
    FUNCTION_TABLE[_3](_pair, _1, _5);
    ;
    return 0;
  }
  __ZN23btCollisionPairCallback14processOverlapER16btBroadphasePair.__index__ = Runtime.getFunctionIndex(__ZN23btCollisionPairCallback14processOverlapER16btBroadphasePair, "__ZN23btCollisionPairCallback14processOverlapER16btBroadphasePair");
  
  
  function __ZN21btCollisionDispatcher25dispatchAllCollisionPairsEP22btOverlappingPairCacheRK16btDispatcherInfoP12btDispatcher(_this, _pairCache, _dispatchInfo, _dispatcher) {
    var __stackBase__  = STACKTOP; STACKTOP += 12;
    var __label__;
    var _collisionCallback = __stackBase__;
    var _0 = _collisionCallback;
    IHEAP[_0] = __ZTV23btCollisionPairCallback+8;
    var _1 = _collisionCallback+4;
    IHEAP[_1] = _dispatchInfo;
    var _2 = _collisionCallback+8;
    IHEAP[_2] = _this;
    var _3 = _pairCache;
    var _4 = IHEAP[_3];
    var _5 = _4+48;
    var _6 = IHEAP[_5];
    var _7 = _6;
    var _8 = _collisionCallback;
    FUNCTION_TABLE[_7](_pairCache, _8, _dispatcher);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN21btCollisionDispatcher25dispatchAllCollisionPairsEP22btOverlappingPairCacheRK16btDispatcherInfoP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN21btCollisionDispatcher25dispatchAllCollisionPairsEP22btOverlappingPairCacheRK16btDispatcherInfoP12btDispatcher, "__ZN21btCollisionDispatcher25dispatchAllCollisionPairsEP22btOverlappingPairCacheRK16btDispatcherInfoP12btDispatcher");
  
  
  function __ZNK21btCollisionDispatcher15getNumManifoldsEv(_this) {
    ;
    var __label__;
    var _0 = _this+8+4;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK21btCollisionDispatcher15getNumManifoldsEv.__index__ = Runtime.getFunctionIndex(__ZNK21btCollisionDispatcher15getNumManifoldsEv, "__ZNK21btCollisionDispatcher15getNumManifoldsEv");
  
  
  function __ZN21btCollisionDispatcher26getInternalManifoldPointerEv(_this) {
    ;
    var __label__;
    var _0 = _this+8+12;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZN21btCollisionDispatcher26getInternalManifoldPointerEv.__index__ = Runtime.getFunctionIndex(__ZN21btCollisionDispatcher26getInternalManifoldPointerEv, "__ZN21btCollisionDispatcher26getInternalManifoldPointerEv");
  
  
  function __ZN21btCollisionDispatcher26getManifoldByIndexInternalEi(_this, _index) {
    ;
    var __label__;
    var _0 = _this+8+12;
    var _1 = IHEAP[_0];
    var _2 = _1+4*_index;
    var _3 = IHEAP[_2];
    ;
    return _3;
  }
  __ZN21btCollisionDispatcher26getManifoldByIndexInternalEi.__index__ = Runtime.getFunctionIndex(__ZN21btCollisionDispatcher26getManifoldByIndexInternalEi, "__ZN21btCollisionDispatcher26getManifoldByIndexInternalEi");
  
  
  function __ZN21btCollisionDispatcher22freeCollisionAlgorithmEPv(_this, _ptr) {
    ;
    var __label__;
    var _0 = _this+192;
    var _1 = IHEAP[_0];
    var _2 = _ptr == 0;
    ;
    _bb1$_bb_i$4861: do { 
      if (!_2) {
        ;
        var _3 = _1+16;
        var _4 = IHEAP[_3];
        var _5 = _4 > _ptr;
        if (_5) { __label__ = 75; /* _bb1 */ break _bb1$_bb_i$4861; }
        var _6 = _1+4;
        var _7 = IHEAP[_6];
        var _8 = _1;
        var _9 = IHEAP[_8];
        var _10 = _9 * _7;
        var _11 = _4+_10;
        var _phitmp = _11 > _ptr;
        if (!(_phitmp)) { __label__ = 75; /* _bb1 */ break _bb1$_bb_i$4861; }
        var _12 = _ptr;
        var _13 = _1+12;
        var _14 = IHEAP[_13];
        IHEAP[_12] = _14;
        IHEAP[_13] = _ptr;
        var _15 = _1+8;
        var _16 = IHEAP[_15];
        var _17 = _16 + 1;
        IHEAP[_15] = _17;
        ;
        return;
      }
    } while(0);
    __Z21btAlignedFreeInternalPv(_ptr);
    ;
    return;
  }
  __ZN21btCollisionDispatcher22freeCollisionAlgorithmEPv.__index__ = Runtime.getFunctionIndex(__ZN21btCollisionDispatcher22freeCollisionAlgorithmEPv, "__ZN21btCollisionDispatcher22freeCollisionAlgorithmEPv");
  
  
  function __ZN21btCollisionDispatcher15releaseManifoldEP20btPersistentManifold(_this, _manifold) {
    ;
    var __label__;
    var _0 = IHEAP[_gNumManifold];
    var _1 = _0 + -1;
    IHEAP[_gNumManifold] = _1;
    var _2 = _this;
    var _3 = IHEAP[_2];
    var _4 = _3+20;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_this, _manifold);
    var _7 = _manifold+1136;
    var _8 = IHEAP[_7];
    var _9 = _this+8+4;
    var _10 = IHEAP[_9];
    var _11 = _10 + -1;
    var _12 = _this+8+12;
    var _13 = IHEAP[_12];
    var _14 = _13+4*_8;
    var _15 = IHEAP[_14];
    var _16 = _13+4*_11;
    var _17 = IHEAP[_16];
    IHEAP[_14] = _17;
    var _18 = IHEAP[_12];
    var _19 = _18+4*_11;
    IHEAP[_19] = _15;
    var _20 = IHEAP[_12];
    var _21 = _20+4*_8;
    var _22 = IHEAP[_21];
    var _23 = _22+1136;
    IHEAP[_23] = _8;
    var _24 = IHEAP[_9];
    var _25 = _24 + -1;
    IHEAP[_9] = _25;
    var _26 = _this+196;
    var _27 = IHEAP[_26];
    var _28 = _manifold;
    var _29 = _manifold == 0;
    ;
    _bb1$_bb_i3$4867: do { 
      if (!_29) {
        ;
        var _30 = _27+16;
        var _31 = IHEAP[_30];
        var _32 = _31 > _28;
        if (_32) { __label__ = 75; /* _bb1 */ break _bb1$_bb_i3$4867; }
        var _33 = _27+4;
        var _34 = IHEAP[_33];
        var _35 = _27;
        var _36 = IHEAP[_35];
        var _37 = _36 * _34;
        var _38 = _31+_37;
        var _phitmp = _38 > _28;
        if (!(_phitmp)) { __label__ = 75; /* _bb1 */ break _bb1$_bb_i3$4867; }
        var _39 = _27+12;
        var _40 = IHEAP[_39];
        var _41 = _manifold;
        var __c = _40;
        IHEAP[_41] = __c;
        IHEAP[_39] = _28;
        var _42 = _27+8;
        var _43 = IHEAP[_42];
        var _44 = _43 + 1;
        IHEAP[_42] = _44;
        ;
        return;
      }
    } while(0);
    __Z21btAlignedFreeInternalPv(_28);
    ;
    return;
  }
  __ZN21btCollisionDispatcher15releaseManifoldEP20btPersistentManifold.__index__ = Runtime.getFunctionIndex(__ZN21btCollisionDispatcher15releaseManifoldEP20btPersistentManifold, "__ZN21btCollisionDispatcher15releaseManifoldEP20btPersistentManifold");
  
  
  function __ZN21btCollisionDispatcher13clearManifoldEP20btPersistentManifold(_this, _manifold) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _manifold+1116;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    if (_2) { __lastLabel__ = -1; __label__ = 131; /* _bb_i */  } else { __lastLabel__ = -1; __label__ = 1098; /* __ZN20btPersistentManifold13clearManifoldEv_exit */  }
    _bb_i$__ZN20btPersistentManifold13clearManifoldEv_exit$4920: while(1) { // _bb_i,__ZN20btPersistentManifold13clearManifoldEv_exit
      if (__label__ == 131) {
        var _i_03_i = __lastLabel__ == 131 ? _tmp : (0);
        var _tmp = _i_03_i + 1;
        var _scevgep_i = _manifold+4+_i_03_i*276;
        __ZN20btPersistentManifold14clearUserCacheER15btManifoldPoint(_manifold, _scevgep_i);
        var _3 = IHEAP[_0];
        var _4 = _3 > _tmp;
        if (_4) { __lastLabel__ = 131; __label__ = 131; /* _bb_i */ continue _bb_i$__ZN20btPersistentManifold13clearManifoldEv_exit$4920; } else { __lastLabel__ = 131; __label__ = 1098; /* __ZN20btPersistentManifold13clearManifoldEv_exit */ continue _bb_i$__ZN20btPersistentManifold13clearManifoldEv_exit$4920; }
      }
      else if (__label__ == 1098) {
        IHEAP[_0] = 0;
        ;
        return;
      }
    }
  }
  __ZN21btCollisionDispatcher13clearManifoldEP20btPersistentManifold.__index__ = Runtime.getFunctionIndex(__ZN21btCollisionDispatcher13clearManifoldEP20btPersistentManifold, "__ZN21btCollisionDispatcher13clearManifoldEP20btPersistentManifold");
  
  
  function __ZN17btCollisionObjectC2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17btCollisionObject+8;
    var _1 = _this+164;
    FHEAP[_1] = 1;
    var _2 = _this+164+4;
    FHEAP[_2] = 1;
    var _3 = _this+164+8;
    FHEAP[_3] = 1;
    var _4 = _this+164+12;
    FHEAP[_4] = 0;
    var _5 = _this+180;
    IHEAP[_5] = 0;
    var _6 = _this+184;
    FHEAP[_6] = 999999984306749400;
    var _7 = _this+188;
    IHEAP[_7] = 0;
    var _8 = _this+192;
    IHEAP[_8] = 0;
    var _9 = _this+196;
    IHEAP[_9] = 0;
    var _10 = _this+200;
    IHEAP[_10] = 0;
    var _11 = _this+204;
    IHEAP[_11] = 1;
    var _12 = _this+208;
    IHEAP[_12] = -1;
    var _13 = _this+212;
    IHEAP[_13] = -1;
    var _14 = _this+216;
    IHEAP[_14] = 1;
    var _15 = _this+220;
    FHEAP[_15] = 0;
    var _16 = _this+224;
    FHEAP[_16] = 0.5;
    var _17 = _this+228;
    FHEAP[_17] = 0;
    var _18 = _this+232;
    IHEAP[_18] = 1;
    var _19 = _this+236;
    IHEAP[_19] = 0;
    var _20 = _this+240;
    FHEAP[_20] = 1;
    var _21 = _this+244;
    FHEAP[_21] = 0;
    var _22 = _this+248;
    FHEAP[_22] = 0;
    var _23 = _this+252;
    IHEAP[_23] = 0;
    var _24 = _this+4;
    FHEAP[_24] = 1;
    var _25 = _this+4+4;
    FHEAP[_25] = 0;
    var _26 = _this+4+8;
    FHEAP[_26] = 0;
    var _27 = _this+4+12;
    FHEAP[_27] = 0;
    var _28 = _this+4+16;
    FHEAP[_28] = 0;
    var _29 = _this+4+16+4;
    FHEAP[_29] = 1;
    var _30 = _this+4+16+8;
    FHEAP[_30] = 0;
    var _31 = _this+4+16+12;
    FHEAP[_31] = 0;
    var _32 = _this+4+32;
    FHEAP[_32] = 0;
    var _33 = _this+4+32+4;
    FHEAP[_33] = 0;
    var _34 = _this+4+32+8;
    FHEAP[_34] = 1;
    var _35 = _this+4+32+12;
    FHEAP[_35] = 0;
    var _36 = _this+4+48;
    FHEAP[_36] = 0;
    var _37 = _this+4+48+4;
    FHEAP[_37] = 0;
    var _38 = _this+4+48+8;
    FHEAP[_38] = 0;
    var _39 = _this+4+48+12;
    FHEAP[_39] = 0;
    ;
    return;
  }
  __ZN17btCollisionObjectC2Ev.__index__ = Runtime.getFunctionIndex(__ZN17btCollisionObjectC2Ev, "__ZN17btCollisionObjectC2Ev");
  
  
  function __ZN17btCollisionObject17setCollisionShapeEP16btCollisionShape(_this, _collisionShape) {
    ;
    var __label__;
    var _0 = _this+192;
    IHEAP[_0] = _collisionShape;
    var _1 = _this+200;
    IHEAP[_1] = _collisionShape;
    ;
    return;
  }
  __ZN17btCollisionObject17setCollisionShapeEP16btCollisionShape.__index__ = Runtime.getFunctionIndex(__ZN17btCollisionObject17setCollisionShapeEP16btCollisionShape, "__ZN17btCollisionObject17setCollisionShapeEP16btCollisionShape");
  
  
  function __ZN17btCollisionObjectD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17btCollisionObject+8;
    ;
    return;
  }
  __ZN17btCollisionObjectD1Ev.__index__ = Runtime.getFunctionIndex(__ZN17btCollisionObjectD1Ev, "__ZN17btCollisionObjectD1Ev");
  
  
  function __ZN17btCollisionObjectD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17btCollisionObject+8;
    var _1 = _this;
    __Z21btAlignedFreeInternalPv(_1);
    ;
    return;
  }
  __ZN17btCollisionObjectD0Ev.__index__ = Runtime.getFunctionIndex(__ZN17btCollisionObjectD0Ev, "__ZN17btCollisionObjectD0Ev");
  
  
  function __ZN17btCollisionObjectC1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17btCollisionObject+8;
    var _1 = _this+164;
    FHEAP[_1] = 1;
    var _2 = _this+164+4;
    FHEAP[_2] = 1;
    var _3 = _this+164+8;
    FHEAP[_3] = 1;
    var _4 = _this+164+12;
    FHEAP[_4] = 0;
    var _5 = _this+180;
    IHEAP[_5] = 0;
    var _6 = _this+184;
    FHEAP[_6] = 999999984306749400;
    var _7 = _this+188;
    IHEAP[_7] = 0;
    var _8 = _this+192;
    IHEAP[_8] = 0;
    var _9 = _this+196;
    IHEAP[_9] = 0;
    var _10 = _this+200;
    IHEAP[_10] = 0;
    var _11 = _this+204;
    IHEAP[_11] = 1;
    var _12 = _this+208;
    IHEAP[_12] = -1;
    var _13 = _this+212;
    IHEAP[_13] = -1;
    var _14 = _this+216;
    IHEAP[_14] = 1;
    var _15 = _this+220;
    FHEAP[_15] = 0;
    var _16 = _this+224;
    FHEAP[_16] = 0.5;
    var _17 = _this+228;
    FHEAP[_17] = 0;
    var _18 = _this+232;
    IHEAP[_18] = 1;
    var _19 = _this+236;
    IHEAP[_19] = 0;
    var _20 = _this+240;
    FHEAP[_20] = 1;
    var _21 = _this+244;
    FHEAP[_21] = 0;
    var _22 = _this+248;
    FHEAP[_22] = 0;
    var _23 = _this+252;
    IHEAP[_23] = 0;
    var _24 = _this+4;
    FHEAP[_24] = 1;
    var _25 = _this+4+4;
    FHEAP[_25] = 0;
    var _26 = _this+4+8;
    FHEAP[_26] = 0;
    var _27 = _this+4+12;
    FHEAP[_27] = 0;
    var _28 = _this+4+16;
    FHEAP[_28] = 0;
    var _29 = _this+4+16+4;
    FHEAP[_29] = 1;
    var _30 = _this+4+16+8;
    FHEAP[_30] = 0;
    var _31 = _this+4+16+12;
    FHEAP[_31] = 0;
    var _32 = _this+4+32;
    FHEAP[_32] = 0;
    var _33 = _this+4+32+4;
    FHEAP[_33] = 0;
    var _34 = _this+4+32+8;
    FHEAP[_34] = 1;
    var _35 = _this+4+32+12;
    FHEAP[_35] = 0;
    var _36 = _this+4+48;
    FHEAP[_36] = 0;
    var _37 = _this+4+48+4;
    FHEAP[_37] = 0;
    var _38 = _this+4+48+8;
    FHEAP[_38] = 0;
    var _39 = _this+4+48+12;
    FHEAP[_39] = 0;
    ;
    return;
  }
  __ZN17btCollisionObjectC1Ev.__index__ = Runtime.getFunctionIndex(__ZN17btCollisionObjectC1Ev, "__ZN17btCollisionObjectC1Ev");
  
  
  function __ZN17btCollisionObject18setActivationStateEi(_this, _newState) {
    ;
    var __label__;
    var _0 = _this+216;
    var _1 = IHEAP[_0];
    var _2 = _1 + -4;
    var _3 = unSign(_2, 32) > unSign(1, 32);
    ;
    if (_3) {
      ;
      IHEAP[_0] = _newState;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN17btCollisionObject18setActivationStateEi.__index__ = Runtime.getFunctionIndex(__ZN17btCollisionObject18setActivationStateEi, "__ZN17btCollisionObject18setActivationStateEi");
  
  
  function __ZN17btCollisionObject20forceActivationStateEi(_this, _newState) {
    ;
    var __label__;
    var _0 = _this+216;
    IHEAP[_0] = _newState;
    ;
    return;
  }
  __ZN17btCollisionObject20forceActivationStateEi.__index__ = Runtime.getFunctionIndex(__ZN17btCollisionObject20forceActivationStateEi, "__ZN17btCollisionObject20forceActivationStateEi");
  
  
  function __ZN17btCollisionObject8activateEb(_this, _forceActivation) {
    ;
    var __label__;
    var _toBool = _forceActivation == 0;
    ;
    _bb$_bb1$4999: do { 
      if (_toBool) {
        ;
        var _0 = _this+204;
        var _1 = IHEAP[_0];
        var _2 = _1 & 3;
        var _3 = _2 == 0;
        if (_3) { __label__ = 75; /* _bb1 */ break _bb$_bb1$4999; }
        ;
        return;
      }
    } while(0);
    var _4 = _this+216;
    var _5 = IHEAP[_4];
    var _6 = _5 + -4;
    var _7 = unSign(_6, 32) > unSign(1, 32);
    ;
    if (_7) {
      ;
      IHEAP[_4] = 1;
      ;
    }
    var _8 = _this+220;
    FHEAP[_8] = 0;
    ;
    return;
  }
  __ZN17btCollisionObject8activateEb.__index__ = Runtime.getFunctionIndex(__ZN17btCollisionObject8activateEb, "__ZN17btCollisionObject8activateEb");
  
  
  function __ZN17btCollisionObjectD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17btCollisionObject+8;
    ;
    return;
  }
  __ZN17btCollisionObjectD2Ev.__index__ = Runtime.getFunctionIndex(__ZN17btCollisionObjectD2Ev, "__ZN17btCollisionObjectD2Ev");
  
  
  function __ZN16btManifoldResult20setShapeIdentifiersAEii(_this, _partId0, _index0) {
    ;
    var __label__;
    var _0 = _this+144;
    IHEAP[_0] = _partId0;
    var _1 = _this+152;
    IHEAP[_1] = _index0;
    ;
    return;
  }
  __ZN16btManifoldResult20setShapeIdentifiersAEii.__index__ = Runtime.getFunctionIndex(__ZN16btManifoldResult20setShapeIdentifiersAEii, "__ZN16btManifoldResult20setShapeIdentifiersAEii");
  
  
  function __ZN16btManifoldResult20setShapeIdentifiersBEii(_this, _partId1, _index1) {
    ;
    var __label__;
    var _0 = _this+148;
    IHEAP[_0] = _partId1;
    var _1 = _this+156;
    IHEAP[_1] = _index1;
    ;
    return;
  }
  __ZN16btManifoldResult20setShapeIdentifiersBEii.__index__ = Runtime.getFunctionIndex(__ZN16btManifoldResult20setShapeIdentifiersBEii, "__ZN16btManifoldResult20setShapeIdentifiersBEii");
  
  
  function __ZN16btCollisionWorld14setDebugDrawerEP12btIDebugDraw(_this, _debugDrawer) {
    ;
    var __label__;
    var _0 = _this+84;
    IHEAP[_0] = _debugDrawer;
    ;
    return;
  }
  __ZN16btCollisionWorld14setDebugDrawerEP12btIDebugDraw.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld14setDebugDrawerEP12btIDebugDraw, "__ZN16btCollisionWorld14setDebugDrawerEP12btIDebugDraw");
  
  
  function __ZN16btCollisionWorld14getDebugDrawerEv(_this) {
    ;
    var __label__;
    var _0 = _this+84;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZN16btCollisionWorld14getDebugDrawerEv.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld14getDebugDrawerEv, "__ZN16btCollisionWorld14getDebugDrawerEv");
  
  
  function __ZN16btCollisionWorld17RayResultCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN16btCollisionWorld17RayResultCallbackE+8;
    ;
    return;
  }
  __ZN16btCollisionWorld17RayResultCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld17RayResultCallbackD1Ev, "__ZN16btCollisionWorld17RayResultCallbackD1Ev");
  
  
  function __ZN16btCollisionWorld17RayResultCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN16btCollisionWorld17RayResultCallbackE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN16btCollisionWorld17RayResultCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld17RayResultCallbackD0Ev, "__ZN16btCollisionWorld17RayResultCallbackD0Ev");
  
  
  function __ZNK16btCollisionWorld17RayResultCallback14needsCollisionEP17btBroadphaseProxy(_this, _proxy0) {
    ;
    var __label__;
    var _0 = _proxy0+4;
    var _1 = IHEAP[_0];
    var _2 = _this+14;
    var _3 = IHEAP[_2];
    var _4 = _3 & _1;
    var _toBoolnot = _4 == 0;
    ;
    if (_toBoolnot) {
      ;
      ;
      return 0;
    }
    else {
      ;
      var _5 = _this+12;
      var _6 = IHEAP[_5];
      var _7 = _proxy0+6;
      var _8 = IHEAP[_7];
      var _9 = _8 & _6;
      var _not_ = _9 != 0;
      var _retval = _not_;
      ;
      return _retval;
    }
  }
  __ZNK16btCollisionWorld17RayResultCallback14needsCollisionEP17btBroadphaseProxy.__index__ = Runtime.getFunctionIndex(__ZNK16btCollisionWorld17RayResultCallback14needsCollisionEP17btBroadphaseProxy, "__ZNK16btCollisionWorld17RayResultCallback14needsCollisionEP17btBroadphaseProxy");
  
  
  function __ZN16btCollisionWorld20ConvexResultCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN16btCollisionWorld20ConvexResultCallbackE+8;
    ;
    return;
  }
  __ZN16btCollisionWorld20ConvexResultCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld20ConvexResultCallbackD1Ev, "__ZN16btCollisionWorld20ConvexResultCallbackD1Ev");
  
  
  function __ZN16btCollisionWorld20ConvexResultCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN16btCollisionWorld20ConvexResultCallbackE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN16btCollisionWorld20ConvexResultCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld20ConvexResultCallbackD0Ev, "__ZN16btCollisionWorld20ConvexResultCallbackD0Ev");
  
  
  function __ZNK16btCollisionWorld20ConvexResultCallback14needsCollisionEP17btBroadphaseProxy(_this, _proxy0) {
    ;
    var __label__;
    var _0 = _proxy0+4;
    var _1 = IHEAP[_0];
    var _2 = _this+10;
    var _3 = IHEAP[_2];
    var _4 = _3 & _1;
    var _toBoolnot = _4 == 0;
    ;
    if (_toBoolnot) {
      ;
      ;
      return 0;
    }
    else {
      ;
      var _5 = _this+8;
      var _6 = IHEAP[_5];
      var _7 = _proxy0+6;
      var _8 = IHEAP[_7];
      var _9 = _8 & _6;
      var _not_ = _9 != 0;
      var _retval = _not_;
      ;
      return _retval;
    }
  }
  __ZNK16btCollisionWorld20ConvexResultCallback14needsCollisionEP17btBroadphaseProxy.__index__ = Runtime.getFunctionIndex(__ZNK16btCollisionWorld20ConvexResultCallback14needsCollisionEP17btBroadphaseProxy, "__ZNK16btCollisionWorld20ConvexResultCallback14needsCollisionEP17btBroadphaseProxy");
  
  
  function __ZN30btConvexPenetrationDepthSolverD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV30btConvexPenetrationDepthSolver+8;
    ;
    return;
  }
  __ZN30btConvexPenetrationDepthSolverD1Ev.__index__ = Runtime.getFunctionIndex(__ZN30btConvexPenetrationDepthSolverD1Ev, "__ZN30btConvexPenetrationDepthSolverD1Ev");
  
  
  function __ZN30btConvexPenetrationDepthSolverD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV30btConvexPenetrationDepthSolver+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN30btConvexPenetrationDepthSolverD0Ev.__index__ = Runtime.getFunctionIndex(__ZN30btConvexPenetrationDepthSolverD0Ev, "__ZN30btConvexPenetrationDepthSolverD0Ev");
  
  
  function __ZN12btConvexCast10CastResultD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN12btConvexCast10CastResultE+8;
    ;
    return;
  }
  __ZN12btConvexCast10CastResultD1Ev.__index__ = Runtime.getFunctionIndex(__ZN12btConvexCast10CastResultD1Ev, "__ZN12btConvexCast10CastResultD1Ev");
  
  
  function __ZN12btConvexCast10CastResultD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN12btConvexCast10CastResultE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN12btConvexCast10CastResultD0Ev.__index__ = Runtime.getFunctionIndex(__ZN12btConvexCast10CastResultD0Ev, "__ZN12btConvexCast10CastResultD0Ev");
  
  
  function __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2+8;
    ;
    return;
  }
  __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D1Ev.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D1Ev, "__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D1Ev");
  
  
  function __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D0Ev.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D0Ev, "__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D0Ev");
  
  
  function __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder+8;
    ;
    return;
  }
  __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD1Ev.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD1Ev, "__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD1Ev");
  
  
  function __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD0Ev.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD0Ev, "__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD0Ev");
  
  
  function __ZN24btBroadphaseAabbCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV24btBroadphaseAabbCallback+8;
    ;
    return;
  }
  __ZN24btBroadphaseAabbCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN24btBroadphaseAabbCallbackD1Ev, "__ZN24btBroadphaseAabbCallbackD1Ev");
  
  
  function __ZN24btBroadphaseAabbCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV24btBroadphaseAabbCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN24btBroadphaseAabbCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN24btBroadphaseAabbCallbackD0Ev, "__ZN24btBroadphaseAabbCallbackD0Ev");
  
  
  function __ZN23btBroadphaseRayCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btBroadphaseRayCallback+8;
    ;
    return;
  }
  __ZN23btBroadphaseRayCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN23btBroadphaseRayCallbackD1Ev, "__ZN23btBroadphaseRayCallbackD1Ev");
  
  
  function __ZN23btBroadphaseRayCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btBroadphaseRayCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN23btBroadphaseRayCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN23btBroadphaseRayCallbackD0Ev, "__ZN23btBroadphaseRayCallbackD0Ev");
  
  
  function __ZN23btSingleContactCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btSingleContactCallback+8;
    ;
    return;
  }
  __ZN23btSingleContactCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN23btSingleContactCallbackD1Ev, "__ZN23btSingleContactCallbackD1Ev");
  
  
  function __ZN23btSingleContactCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btSingleContactCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN23btSingleContactCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN23btSingleContactCallbackD0Ev, "__ZN23btSingleContactCallbackD0Ev");
  
  
  function __ZN17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii(_this, _triangle, _partId, _triangleIndex) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+8;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_this, _triangle, _partId, _triangleIndex);
    ;
    return;
  }
  __ZN17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii.__index__ = Runtime.getFunctionIndex(__ZN17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii, "__ZN17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii");
  
  
  function __ZThn4_N17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii(_this, _triangle, _partId, _triangleIndex) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = _0 + -4;
    var _2 = _1;
    var _3 = _2;
    var _4 = IHEAP[_3];
    var _5 = _4+8;
    var _6 = IHEAP[_5];
    var _7 = _6;
    FUNCTION_TABLE[_7](_2, _triangle, _partId, _triangleIndex);
    ;
    return;
  }
  __ZThn4_N17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii.__index__ = Runtime.getFunctionIndex(__ZThn4_N17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii, "__ZThn4_N17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii");
  
  
  function __ZN23btBridgedManifoldResultD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btBridgedManifoldResult+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN23btBridgedManifoldResultD0Ev.__index__ = Runtime.getFunctionIndex(__ZN23btBridgedManifoldResultD0Ev, "__ZN23btBridgedManifoldResultD0Ev");
  
  
  function __ZN23btBridgedManifoldResultD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btBridgedManifoldResult+8;
    ;
    return;
  }
  __ZN23btBridgedManifoldResultD1Ev.__index__ = Runtime.getFunctionIndex(__ZN23btBridgedManifoldResultD1Ev, "__ZN23btBridgedManifoldResultD1Ev");
  
  
  function __ZN21btSingleSweepCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btSingleSweepCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN21btSingleSweepCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN21btSingleSweepCallbackD0Ev, "__ZN21btSingleSweepCallbackD0Ev");
  
  
  function __ZN21btSingleSweepCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btSingleSweepCallback+8;
    ;
    return;
  }
  __ZN21btSingleSweepCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN21btSingleSweepCallbackD1Ev, "__ZN21btSingleSweepCallbackD1Ev");
  
  
  function __ZN19btSingleRayCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV19btSingleRayCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN19btSingleRayCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN19btSingleRayCallbackD0Ev, "__ZN19btSingleRayCallbackD0Ev");
  
  
  function __ZN19btSingleRayCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV19btSingleRayCallback+8;
    ;
    return;
  }
  __ZN19btSingleRayCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN19btSingleRayCallbackD1Ev, "__ZN19btSingleRayCallbackD1Ev");
  
  
  function __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder+8;
    ;
    return;
  }
  __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD2Ev.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD2Ev, "__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD2Ev");
  
  
  function __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2+8;
    ;
    return;
  }
  __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D2Ev.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D2Ev, "__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D2Ev");
  
  
  function __ZN16btCollisionWorld9serializeEP12btSerializer(_this, _serializer) {
    ;
    var __label__;
    var _0 = _serializer;
    var _1 = IHEAP[_0];
    var _2 = _1+32;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_serializer);
    __ZN16btCollisionWorld25serializeCollisionObjectsEP12btSerializer(_this, _serializer);
    var _5 = IHEAP[_0];
    var _6 = _5+36;
    var _7 = IHEAP[_6];
    var _8 = _7;
    FUNCTION_TABLE[_8](_serializer);
    ;
    return;
  }
  __ZN16btCollisionWorld9serializeEP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld9serializeEP12btSerializer, "__ZN16btCollisionWorld9serializeEP12btSerializer");
  
  
  function __ZN9btHashMapI9btHashPtrP16btCollisionShapeE10growTablesERKS0_(_this, _unnamed_arg) {
    var __stackBase__  = STACKTOP; STACKTOP += 2;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = _this+40+8;
    var _3 = IHEAP[_2];
    var _4 = _this+4;
    var _5 = IHEAP[_4];
    var _6 = _5 < _3;
    ;
    _bb$_return$5476: do { 
      if (_6) {
        ;
        IHEAP[_1] = 0;
        var _7 = _this;
        __ZN20btAlignedObjectArrayIiE6resizeEiRKi(_7, _3, _1);
        IHEAP[_0] = 0;
        var _8 = _this+20;
        __ZN20btAlignedObjectArrayIiE6resizeEiRKi(_8, _3, _0);
        var _9 = _3 > 0;
        ;
        _bb_nph14$_bb8_preheader$5478: do { 
          if (_9) {
            ;
            var _10 = _this+12;
            __lastLabel__ = 750; ;
            _bb1$5480: while(1) { // _bb1
              var _i_013 = __lastLabel__ == 750 ? 0 : (_12);
              var _11 = IHEAP[_10];
              var _scevgep20 = _11+4*_i_013;
              IHEAP[_scevgep20] = -1;
              var _12 = _i_013 + 1;
              var _exitcond19 = _12 == _3;
              if (_exitcond19) { __lastLabel__ = 75; __label__ = 269; /* _bb5_preheader */ break _bb1$5480; } else { __lastLabel__ = 75; __label__ = 75; /* _bb1 */ continue _bb1$5480; }
            }
            if (!(_9)) { __label__ = 752; /* _bb8_preheader */ break _bb_nph14$_bb8_preheader$5478; }
            var _13 = _this+20+12;
            __lastLabel__ = 751; ;
            _bb4$5484: while(1) { // _bb4
              var _i_111 = __lastLabel__ == 751 ? 0 : (_15);
              var _14 = IHEAP[_13];
              var _scevgep18 = _14+4*_i_111;
              IHEAP[_scevgep18] = -1;
              var _15 = _i_111 + 1;
              var _exitcond17 = _15 == _3;
              if (_exitcond17) { __lastLabel__ = 61; __label__ = 752; /* _bb8_preheader */ break _bb_nph14$_bb8_preheader$5478; } else { __lastLabel__ = 61; __label__ = 61; /* _bb4 */ continue _bb4$5484; }
            }
          }
        } while(0);
        var _16 = _5 > 0;
        if (!(_16)) { __label__ = 44; /* _return */ break _bb$_return$5476; }
        var _17 = _this+60+12;
        var _18 = _this+20+12;
        var _19 = _this+12;
        __lastLabel__ = 130; ;
        _bb7$5488: while(1) { // _bb7
          var _20 = __lastLabel__ == 130 ? 0 : (_43);
          var _21 = IHEAP[_17];
          var _scevgep1516 = _21+8*_20;
          var _22 = IHEAP[_scevgep1516];
          var _23 = _22 << 15;
          var _not_i = _23 ^ -1;
          var _24 = _22 + _not_i;
          var _25 = _24 >> 10;
          var _26 = _25 ^ _24;
          var _27 = _26 * 9;
          var _28 = _27 >> 6;
          var _29 = _28 ^ _27;
          var _30 = _29 << 11;
          var _not2_i = _30 ^ -1;
          var _31 = _29 + _not2_i;
          var _32 = _31 >> 16;
          var _33 = _32 ^ _31;
          var _34 = IHEAP[_2];
          var _35 = _34 + -1;
          var _36 = _33 & _35;
          var _37 = IHEAP[_18];
          var _38 = IHEAP[_19];
          var _39 = _38+4*_36;
          var _40 = IHEAP[_39];
          var _scevgep = _37+4*_20;
          IHEAP[_scevgep] = _40;
          var _41 = IHEAP[_19];
          var _42 = _41+4*_36;
          IHEAP[_42] = _20;
          var _43 = _20 + 1;
          var _exitcond = _43 == _5;
          if (_exitcond) { __lastLabel__ = 2; __label__ = 44; /* _return */ break _bb$_return$5476; } else { __lastLabel__ = 2; __label__ = 2; /* _bb7 */ continue _bb7$5488; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN9btHashMapI9btHashPtrP16btCollisionShapeE10growTablesERKS0_.__index__ = Runtime.getFunctionIndex(__ZN9btHashMapI9btHashPtrP16btCollisionShapeE10growTablesERKS0_, "__ZN9btHashMapI9btHashPtrP16btCollisionShapeE10growTablesERKS0_");
  
  
  function __ZN9btHashMapI9btHashPtrP16btCollisionShapeE6insertERKS0_RKS2_(_this, _key, _value) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _key;
    var _1 = IHEAP[_0];
    var _2 = _1 << 15;
    var _not_i = _2 ^ -1;
    var _3 = _1 + _not_i;
    var _4 = _3 >> 10;
    var _5 = _4 ^ _3;
    var _6 = _5 * 9;
    var _7 = _6 >> 6;
    var _8 = _7 ^ _6;
    var _9 = _8 << 11;
    var _not2_i = _9 ^ -1;
    var _10 = _8 + _not2_i;
    var _11 = _10 >> 16;
    var _12 = _11 ^ _10;
    var _13 = _this+40+8;
    var _14 = IHEAP[_13];
    var _15 = _14 + -1;
    var _16 = _12 & _15;
    var _17 = _this+4;
    var _18 = IHEAP[_17];
    var _19 = unSign(_18, 32) > unSign(_16, 32);
    var _20 = _1;
    ;
    _bb1_i$_bb1$5492: do { 
      if (_19) {
        ;
        var _21 = _this+12;
        var _22 = IHEAP[_21];
        var _23 = _22+4*_16;
        var _24 = _this+60+12;
        var _25 = _this+20+12;
        __lastLabel__ = 159; ;
        _bb3_i$5494: while(1) { // _bb3_i
          var _index_0_in_i = __lastLabel__ == 159 ? _23 : (_27);
          var _index_0_i = IHEAP[_index_0_in_i];
          var _28 = _index_0_i == -1;
          if (_28) { __label__ = 75; /* _bb1 */ break _bb1_i$_bb1$5492; }
          var _29 = IHEAP[_24];
          var _30 = _29+8*_index_0_i;
          var _31 = _30;
          var _32 = IHEAP[_31];
          var _33 = _20 == _32;
          if (_33) { __label__ = 60; /* _bb */ break _bb3_i$5494; }
          var _26 = IHEAP[_25];
          var _27 = _26+4*_index_0_i;
          __lastLabel__ = 132; __label__ = 133; /* _bb3_i */ continue _bb3_i$5494;
        }
        var _34 = _this+40+12;
        var _35 = IHEAP[_34];
        var _36 = _35+4*_index_0_i;
        var _37 = IHEAP[_value];
        IHEAP[_36] = _37;
        ;
        return;
      }
    } while(0);
    var _38 = _this+40+4;
    var _39 = IHEAP[_38];
    var _40 = _this+40;
    __ZN20btAlignedObjectArrayIP16btCollisionShapeE9push_backERKS1_(_40, _value);
    var _41 = _this+60;
    __ZN20btAlignedObjectArrayI9btHashPtrE9push_backERKS0_(_41, _key);
    var _42 = IHEAP[_13];
    var _43 = _14 < _42;
    ;
    if (_43) {
      __lastLabel__ = 75; ;
      __ZN9btHashMapI9btHashPtrP16btCollisionShapeE10growTablesERKS0_(_this, _key);
      var _44 = IHEAP[_0];
      var _45 = _44 << 15;
      var _not_i5 = _45 ^ -1;
      var _46 = _44 + _not_i5;
      var _47 = _46 >> 10;
      var _48 = _47 ^ _46;
      var _49 = _48 * 9;
      var _50 = _49 >> 6;
      var _51 = _50 ^ _49;
      var _52 = _51 << 11;
      var _not2_i6 = _52 ^ -1;
      var _53 = _51 + _not2_i6;
      var _54 = _53 >> 16;
      var _55 = _54 ^ _53;
      var _56 = IHEAP[_13];
      var _57 = _56 + -1;
      var _58 = _55 & _57;
      __lastLabel__ = 0; ;
    }
    else {
      __lastLabel__ = 75; ;
    }
    var _hash_0 = __lastLabel__ == 0 ? _58 : (_16);
    var _59 = _this+20+12;
    var _60 = IHEAP[_59];
    var _61 = _60+4*_39;
    var _62 = _this+12;
    var _63 = IHEAP[_62];
    var _64 = _63+4*_hash_0;
    var _65 = IHEAP[_64];
    IHEAP[_61] = _65;
    var _66 = IHEAP[_62];
    var _67 = _66+4*_hash_0;
    IHEAP[_67] = _39;
    ;
    return;
  }
  __ZN9btHashMapI9btHashPtrP16btCollisionShapeE6insertERKS0_RKS2_.__index__ = Runtime.getFunctionIndex(__ZN9btHashMapI9btHashPtrP16btCollisionShapeE6insertERKS0_RKS2_, "__ZN9btHashMapI9btHashPtrP16btCollisionShapeE6insertERKS0_RKS2_");
  
  
  function __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0E_0v(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btTriangleConvexcastCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0E_0v.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0E_0v, "__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0E_0v");
  
  
  function __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1E_0v(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btTriangleConvexcastCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1E_0v.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1E_0v, "__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1E_0v");
  
  
  function __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD2E_0v(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btTriangleConvexcastCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD2E_0v.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD2E_0v, "__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD2E_0v");
  
  
  function __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btTriangleConvexcastCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0Ev, "__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0Ev");
  
  
  function __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btTriangleConvexcastCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1Ev, "__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1Ev");
  
  
  function __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btTriangleConvexcastCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD2Ev, "__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD2Ev");
  
  
  function __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0E_0v(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btTriangleRaycastCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0E_0v.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0E_0v, "__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0E_0v");
  
  
  function __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1E_0v(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btTriangleRaycastCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1E_0v.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1E_0v, "__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1E_0v");
  
  
  function __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD2E_0v(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btTriangleRaycastCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD2E_0v.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD2E_0v, "__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD2E_0v");
  
  
  function __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btTriangleRaycastCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0Ev, "__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0Ev");
  
  
  function __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btTriangleRaycastCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1Ev, "__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1Ev");
  
  
  function __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btTriangleRaycastCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD2Ev, "__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD2Ev");
  
  
  function __ZN16btCollisionWorld16updateSingleAabbEP17btCollisionObject(_this, _colObj) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var _minAabb = __stackBase__;
    var _maxAabb = __stackBase__+16;
    var _0 = _colObj+192;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+8;
    var _5 = IHEAP[_4];
    var _6 = _colObj+4;
    var _7 = _5;
    FUNCTION_TABLE[_7](_1, _6, _minAabb, _maxAabb);
    var _8 = FHEAP[_gContactBreakingThreshold];
    var _9 = _minAabb;
    var _10 = FHEAP[_9];
    var _11 = _10 - _8;
    FHEAP[_9] = _11;
    var _12 = _minAabb+4;
    var _13 = FHEAP[_12];
    var _14 = _13 - _8;
    FHEAP[_12] = _14;
    var _15 = _minAabb+8;
    var _16 = FHEAP[_15];
    var _17 = _16 - _8;
    FHEAP[_15] = _17;
    var _18 = _maxAabb;
    var _19 = FHEAP[_18];
    var _20 = _19 + _8;
    FHEAP[_18] = _20;
    var _21 = _maxAabb+4;
    var _22 = FHEAP[_21];
    var _23 = _22 + _8;
    FHEAP[_21] = _23;
    var _24 = _maxAabb+8;
    var _25 = FHEAP[_24];
    var _26 = _25 + _8;
    FHEAP[_24] = _26;
    var _27 = _this+80;
    var _28 = IHEAP[_27];
    var _29 = _colObj+204;
    var _30 = IHEAP[_29];
    var _31 = _30 & 1;
    var _toBool = _31 == 0;
    ;
    _bb$_bb5$5718: do { 
      if (_toBool) {
        ;
        var _32 = _26 - _17;
        var _33 = _23 - _14;
        var _34 = _20 - _11;
        var _35 = _34 * _34;
        var _36 = _33 * _33;
        var _37 = _35 + _36;
        var _38 = _32 * _32;
        var _39 = _37 + _38;
        var _40 = _39 < 999999995904;
        if (_40) { __label__ = 82; /* _bb5 */ break _bb$_bb5$5718; }
        __ZN17btCollisionObject18setActivationStateEi(_colObj, 5);
        var __b = IHEAP[__ZZN16btCollisionWorld16updateSingleAabbEP17btCollisionObjectE8reportMe_b];
        ;
        _return$_bb8$5721: do { 
          if (!__b) {
            ;
            var _50 = _this+84;
            var _51 = IHEAP[_50];
            var _52 = _51 == 0;
            if (_52) { __label__ = 44; /* _return */ break _return$_bb8$5721; }
            IHEAP[__ZZN16btCollisionWorld16updateSingleAabbEP17btCollisionObjectE8reportMe_b] = true;
            var _53 = _51;
            var _54 = IHEAP[_53];
            var _55 = _54+36;
            var _56 = IHEAP[_55];
            var _57 = _56;
            FUNCTION_TABLE[_57](_51, __str8);
            var _58 = IHEAP[_50];
            var _59 = _58;
            var _60 = IHEAP[_59];
            var _61 = _60+36;
            var _62 = IHEAP[_61];
            var _63 = _62;
            FUNCTION_TABLE[_63](_58, __str9);
            var _64 = IHEAP[_50];
            var _65 = _64;
            var _66 = IHEAP[_65];
            var _67 = _66+36;
            var _68 = IHEAP[_67];
            var _69 = _68;
            FUNCTION_TABLE[_69](_64, __str10);
            var _70 = IHEAP[_50];
            var _71 = _70;
            var _72 = IHEAP[_71];
            var _73 = _72+36;
            var _74 = IHEAP[_73];
            var _75 = _74;
            FUNCTION_TABLE[_75](_70, __str1116);
            STACKTOP = __stackBase__;
            return;
          }
        } while(0);
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    var _41 = _28;
    var _42 = IHEAP[_41];
    var _43 = _42+16;
    var _44 = IHEAP[_43];
    var _45 = _this+24;
    var _46 = IHEAP[_45];
    var _47 = _colObj+188;
    var _48 = IHEAP[_47];
    var _49 = _44;
    FUNCTION_TABLE[_49](_28, _48, _minAabb, _maxAabb, _46);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN16btCollisionWorld16updateSingleAabbEP17btCollisionObject.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld16updateSingleAabbEP17btCollisionObject, "__ZN16btCollisionWorld16updateSingleAabbEP17btCollisionObject");
  
  
  function __ZN22btCompoundLeafCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV22btCompoundLeafCallback+8;
    ;
    return;
  }
  __ZN22btCompoundLeafCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN22btCompoundLeafCallbackD1Ev, "__ZN22btCompoundLeafCallbackD1Ev");
  
  
  function __ZN22btCompoundLeafCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV22btCompoundLeafCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN22btCompoundLeafCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN22btCompoundLeafCallbackD0Ev, "__ZN22btCompoundLeafCallbackD0Ev");
  
  
  function __ZN28btCompoundCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(_this, _manifoldArray) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+8+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_return$5758: do { 
      if (_2) {
        ;
        var _3 = _this+8+12;
        __lastLabel__ = 130; ;
        _bb$5760: while(1) { // _bb
          var _i_06 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _i_06 + 1;
          var _4 = IHEAP[_3];
          var _scevgep = _4+4*_i_06;
          var _5 = IHEAP[_scevgep];
          var _6 = _5 == 0;
          ;
          if (!_6) {
            ;
            var _7 = _5;
            var _8 = IHEAP[_7];
            var _9 = _8+16;
            var _10 = IHEAP[_9];
            var _11 = _10;
            FUNCTION_TABLE[_11](_5, _manifoldArray);
            ;
          }
          var _12 = IHEAP[_0];
          var _13 = _12 > _tmp;
          if (_13) { __lastLabel__ = 0; __label__ = 60; /* _bb */ continue _bb$5760; } else { __lastLabel__ = 0; __label__ = 44; /* _return */ break _bb_nph$_return$5758; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN28btCompoundCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__ = Runtime.getFunctionIndex(__ZN28btCompoundCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, "__ZN28btCompoundCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE");
  
  
  function __ZN28btCompoundCollisionAlgorithm21removeChildAlgorithmsEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+8+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_return$5767: do { 
      if (_2) {
        ;
        var _3 = _this+8+12;
        var _4 = _this+4;
        __lastLabel__ = 130; ;
        _bb$5769: while(1) { // _bb
          var _i_05 = __lastLabel__ == 130 ? 0 : (_21);
          var _5 = IHEAP[_3];
          var _scevgep = _5+4*_i_05;
          var _6 = IHEAP[_scevgep];
          var _7 = _6 == 0;
          ;
          if (!_7) {
            ;
            var _8 = _6;
            var _9 = IHEAP[_8];
            var _10 = IHEAP[_9];
            var _11 = _10;
            FUNCTION_TABLE[_11](_6);
            var _12 = IHEAP[_4];
            var _13 = _12;
            var _14 = IHEAP[_13];
            var _15 = _14+52;
            var _16 = IHEAP[_15];
            var _17 = IHEAP[_3];
            var _scevgep6 = _17+4*_i_05;
            var _18 = IHEAP[_scevgep6];
            var _19 = _16;
            var _20 = _18;
            FUNCTION_TABLE[_19](_12, _20);
            ;
          }
          var _21 = _i_05 + 1;
          var _exitcond = _21 == _1;
          if (_exitcond) { __lastLabel__ = 0; __label__ = 44; /* _return */ break _bb_nph$_return$5767; } else { __lastLabel__ = 0; __label__ = 60; /* _bb */ continue _bb$5769; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN28btCompoundCollisionAlgorithm21removeChildAlgorithmsEv.__index__ = Runtime.getFunctionIndex(__ZN28btCompoundCollisionAlgorithm21removeChildAlgorithmsEv, "__ZN28btCompoundCollisionAlgorithm21removeChildAlgorithmsEv");
  
  
  function __ZNK21btConvexInternalShape15getLocalScalingEv(_this) {
    ;
    var __label__;
    var _0 = _this+12;
    ;
    return _0;
  }
  __ZNK21btConvexInternalShape15getLocalScalingEv.__index__ = Runtime.getFunctionIndex(__ZNK21btConvexInternalShape15getLocalScalingEv, "__ZNK21btConvexInternalShape15getLocalScalingEv");
  
  
  function __ZN21btConvexInternalShape9setMarginEf(_this, _margin) {
    ;
    var __label__;
    var _0 = _this+44;
    FHEAP[_0] = _margin;
    ;
    return;
  }
  __ZN21btConvexInternalShape9setMarginEf.__index__ = Runtime.getFunctionIndex(__ZN21btConvexInternalShape9setMarginEf, "__ZN21btConvexInternalShape9setMarginEf");
  
  
  function __ZNK15btTriangleShape9getVertexEiR9btVector3(_this, _index, _vert) {
    ;
    var __label__;
    var _0 = _vert;
    var _1 = _this+52+_index*16;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _vert+4;
    var _4 = _this+52+_index*16+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _vert+8;
    var _7 = _this+52+_index*16+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _vert+12;
    var _10 = _this+52+_index*16+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    ;
    return;
  }
  __ZNK15btTriangleShape9getVertexEiR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK15btTriangleShape9getVertexEiR9btVector3, "__ZNK15btTriangleShape9getVertexEiR9btVector3");
  
  
  function __ZNK15btTriangleShape7getEdgeEiR9btVector3S1_(_this, _i, _pa, _pb) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+96;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_this, _i, _pa);
    var _5 = IHEAP[_0];
    var _6 = _5+96;
    var _7 = IHEAP[_6];
    var _8 = _i + 1;
    var _9 = Math.floor(_8 % 3);
    var _10 = _7;
    FUNCTION_TABLE[_10](_this, _9, _pb);
    ;
    return;
  }
  __ZNK15btTriangleShape7getEdgeEiR9btVector3S1_.__index__ = Runtime.getFunctionIndex(__ZNK15btTriangleShape7getEdgeEiR9btVector3S1_, "__ZNK15btTriangleShape7getEdgeEiR9btVector3S1_");
  
  
  function __ZNK15btTriangleShape7getAabbERK11btTransformR9btVector3S4_(_this, _t, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+72;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    FUNCTION_TABLE[_5](_4, _t, _aabbMin, _aabbMax);
    ;
    return;
  }
  __ZNK15btTriangleShape7getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK15btTriangleShape7getAabbERK11btTransformR9btVector3S4_, "__ZNK15btTriangleShape7getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZNK15btTriangleShape37localGetSupportingVertexWithoutMarginERK9btVector3(_agg_result, _this, _dir) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _dir;
    var _1 = FHEAP[_0];
    var _2 = _this+52+32;
    var _3 = FHEAP[_2];
    var _4 = _1 * _3;
    var _5 = _dir+4;
    var _6 = FHEAP[_5];
    var _7 = _this+52+32+4;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _4 + _9;
    var _11 = _dir+8;
    var _12 = FHEAP[_11];
    var _13 = _this+52+32+8;
    var _14 = FHEAP[_13];
    var _15 = _12 * _14;
    var _16 = _10 + _15;
    var _17 = _this+52+16;
    var _18 = FHEAP[_17];
    var _19 = _1 * _18;
    var _20 = _this+52+16+4;
    var _21 = FHEAP[_20];
    var _22 = _6 * _21;
    var _23 = _19 + _22;
    var _24 = _this+52+16+8;
    var _25 = FHEAP[_24];
    var _26 = _12 * _25;
    var _27 = _23 + _26;
    var _28 = _this+52;
    var _29 = FHEAP[_28];
    var _30 = _1 * _29;
    var _31 = _this+52+4;
    var _32 = FHEAP[_31];
    var _33 = _6 * _32;
    var _34 = _30 + _33;
    var _35 = _this+52+8;
    var _36 = FHEAP[_35];
    var _37 = _12 * _36;
    var _38 = _34 + _37;
    var _39 = _38 < _27;
    ;
    if (_39) {
      ;
      var _40 = _27 < _16;
      var _iftmp_20_0_i = _40 ? 2 : 1;
      __lastLabel__ = 131; ;
    }
    else {
      ;
      var _41 = _38 < _16;
      var _iftmp_21_0_i = _41 ? 2 : 0;
      __lastLabel__ = 135; ;
    }
    var _42 = __lastLabel__ == 135 ? _iftmp_21_0_i : (_iftmp_20_0_i);
    var _43 = _agg_result;
    var _44 = _this+52+_42*16;
    var _45 = FHEAP[_44];
    FHEAP[_43] = _45;
    var _46 = _agg_result+4;
    var _47 = _this+52+_42*16+4;
    var _48 = FHEAP[_47];
    FHEAP[_46] = _48;
    var _49 = _agg_result+8;
    var _50 = _this+52+_42*16+8;
    var _51 = FHEAP[_50];
    FHEAP[_49] = _51;
    var _52 = _agg_result+12;
    var _53 = _this+52+_42*16+12;
    var _54 = FHEAP[_53];
    FHEAP[_52] = _54;
    ;
    return;
  }
  __ZNK15btTriangleShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK15btTriangleShape37localGetSupportingVertexWithoutMarginERK9btVector3, "__ZNK15btTriangleShape37localGetSupportingVertexWithoutMarginERK9btVector3");
  
  
  function __ZNK15btTriangleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(_this, _vectors, _supportVerticesOut, _numVectors) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _numVectors > 0;
    ;
    _bb_nph$_return$6059: do { 
      if (_0) {
        ;
        var _1 = _this+52+32;
        var _2 = _this+52+32+4;
        var _3 = _this+52+32+8;
        var _4 = _this+52+16;
        var _5 = _this+52+16+4;
        var _6 = _this+52+16+8;
        var _7 = _this+52;
        var _8 = _this+52+4;
        var _9 = _this+52+8;
        __lastLabel__ = 130; ;
        _bb$6061: while(1) { // _bb
          var _i_05 = __lastLabel__ == 130 ? 0 : (_49);
          var _scevgep6 = _supportVerticesOut+16*_i_05;
          var _scevgep7 = _supportVerticesOut+16*_i_05+4;
          var _scevgep8 = _supportVerticesOut+16*_i_05+8;
          var _scevgep9 = _supportVerticesOut+16*_i_05+12;
          var _scevgep1011 = _vectors+16*_i_05;
          var _scevgep12 = _vectors+16*_i_05+4;
          var _scevgep13 = _vectors+16*_i_05+8;
          var _10 = FHEAP[_scevgep1011];
          var _11 = FHEAP[_1];
          var _12 = _10 * _11;
          var _13 = FHEAP[_scevgep12];
          var _14 = FHEAP[_2];
          var _15 = _13 * _14;
          var _16 = _12 + _15;
          var _17 = FHEAP[_scevgep13];
          var _18 = FHEAP[_3];
          var _19 = _17 * _18;
          var _20 = _16 + _19;
          var _21 = FHEAP[_4];
          var _22 = _10 * _21;
          var _23 = FHEAP[_5];
          var _24 = _13 * _23;
          var _25 = _22 + _24;
          var _26 = FHEAP[_6];
          var _27 = _17 * _26;
          var _28 = _25 + _27;
          var _29 = FHEAP[_7];
          var _30 = _10 * _29;
          var _31 = FHEAP[_8];
          var _32 = _13 * _31;
          var _33 = _30 + _32;
          var _34 = FHEAP[_9];
          var _35 = _17 * _34;
          var _36 = _33 + _35;
          var _37 = _36 < _28;
          ;
          if (_37) {
            ;
            var _38 = _28 < _20;
            var _iftmp_20_0_i = _38 ? 2 : 1;
            __lastLabel__ = 131; ;
          }
          else {
            ;
            var _39 = _36 < _20;
            var _iftmp_21_0_i = _39 ? 2 : 0;
            __lastLabel__ = 135; ;
          }
          var _40 = __lastLabel__ == 135 ? _iftmp_21_0_i : (_iftmp_20_0_i);
          var _41 = _this+52+_40*16;
          var _42 = FHEAP[_41];
          FHEAP[_scevgep6] = _42;
          var _43 = _this+52+_40*16+4;
          var _44 = FHEAP[_43];
          FHEAP[_scevgep7] = _44;
          var _45 = _this+52+_40*16+8;
          var _46 = FHEAP[_45];
          FHEAP[_scevgep8] = _46;
          var _47 = _this+52+_40*16+12;
          var _48 = FHEAP[_47];
          FHEAP[_scevgep9] = _48;
          var _49 = _i_05 + 1;
          var _exitcond = _49 == _numVectors;
          if (_exitcond) { __lastLabel__ = 1253; __label__ = 44; /* _return */ break _bb_nph$_return$6059; } else { __lastLabel__ = 1253; __label__ = 60; /* _bb */ continue _bb$6061; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZNK15btTriangleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__ = Runtime.getFunctionIndex(__ZNK15btTriangleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, "__ZNK15btTriangleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i");
  
  
  function __ZNK15btTriangleShape8getPlaneER9btVector3S1_i(_this, _planeNormal, _planeSupport, _i) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+112;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_this, _i, _planeNormal, _planeSupport);
    ;
    return;
  }
  __ZNK15btTriangleShape8getPlaneER9btVector3S1_i.__index__ = Runtime.getFunctionIndex(__ZNK15btTriangleShape8getPlaneER9btVector3S1_i, "__ZNK15btTriangleShape8getPlaneER9btVector3S1_i");
  
  
  function __ZNK15btTriangleShape21calculateLocalInertiaEfR9btVector3(_this, _mass, _inertia) {
    ;
    var __label__;
    var _0 = _inertia;
    FHEAP[_0] = 0;
    var _1 = _inertia+4;
    FHEAP[_1] = 0;
    var _2 = _inertia+8;
    FHEAP[_2] = 0;
    var _3 = _inertia+12;
    FHEAP[_3] = 0;
    ;
    return;
  }
  __ZNK15btTriangleShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK15btTriangleShape21calculateLocalInertiaEfR9btVector3, "__ZNK15btTriangleShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZN24btConvexTriangleCallback10clearCacheEv(_this) {
    ;
    var __label__;
    var _0 = _this+48;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+20;
    var _5 = IHEAP[_4];
    var _6 = _this+64;
    var _7 = IHEAP[_6];
    var _8 = _5;
    FUNCTION_TABLE[_8](_1, _7);
    ;
    return;
  }
  __ZN24btConvexTriangleCallback10clearCacheEv.__index__ = Runtime.getFunctionIndex(__ZN24btConvexTriangleCallback10clearCacheEv, "__ZN24btConvexTriangleCallback10clearCacheEv");
  
  
  function __ZN24btConvexTriangleCallback22setTimeStepAndCountersEfRK16btDispatcherInfoP16btManifoldResult(_this, _collisionMarginTriangle, _dispatchInfo, _resultOut) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var _convexInTriangleSpace = __stackBase__;
    var _0 = _this+52;
    IHEAP[_0] = _dispatchInfo;
    var _1 = _this+56;
    FHEAP[_1] = _collisionMarginTriangle;
    var _2 = _this+44;
    IHEAP[_2] = _resultOut;
    var _3 = _this+4;
    var _4 = IHEAP[_3];
    var _5 = _this+8;
    var _6 = IHEAP[_5];
    var _7 = _6+4+32+8;
    var _8 = _6+4+16+8;
    var _9 = _6+4+8;
    var _10 = _6+4+32+4;
    var _11 = _6+4+16+4;
    var _12 = _6+4+4;
    var _13 = _6+4+32;
    var _14 = _6+4+16;
    var _15 = _6+4;
    var _16 = FHEAP[_15];
    var _17 = FHEAP[_14];
    var _18 = FHEAP[_13];
    var _19 = FHEAP[_12];
    var _20 = FHEAP[_11];
    var _21 = FHEAP[_10];
    var _22 = FHEAP[_9];
    var _23 = FHEAP[_8];
    var _24 = FHEAP[_7];
    var _25 = _6+4+48+8;
    var _26 = FHEAP[_25];
    var _27 = 0 - _26;
    var _28 = _6+4+48+4;
    var _29 = FHEAP[_28];
    var _30 = 0 - _29;
    var _31 = _6+4+48;
    var _32 = FHEAP[_31];
    var _33 = 0 - _32;
    var _34 = _22 * _33;
    var _35 = _23 * _30;
    var _36 = _34 + _35;
    var _37 = _24 * _27;
    var _38 = _36 + _37;
    var _39 = _19 * _33;
    var _40 = _20 * _30;
    var _41 = _39 + _40;
    var _42 = _21 * _27;
    var _43 = _41 + _42;
    var _44 = _16 * _33;
    var _45 = _17 * _30;
    var _46 = _44 + _45;
    var _47 = _18 * _27;
    var _48 = _46 + _47;
    var _49 = _4+4+48;
    var _50 = FHEAP[_49];
    var _51 = _22 * _50;
    var _52 = _4+4+48+4;
    var _53 = FHEAP[_52];
    var _54 = _23 * _53;
    var _55 = _51 + _54;
    var _56 = _4+4+48+8;
    var _57 = FHEAP[_56];
    var _58 = _24 * _57;
    var _59 = _55 + _58;
    var _60 = _59 + _38;
    var _61 = _19 * _50;
    var _62 = _20 * _53;
    var _63 = _61 + _62;
    var _64 = _21 * _57;
    var _65 = _63 + _64;
    var _66 = _65 + _43;
    var _67 = _16 * _50;
    var _68 = _17 * _53;
    var _69 = _67 + _68;
    var _70 = _18 * _57;
    var _71 = _69 + _70;
    var _72 = _71 + _48;
    var _73 = _4+4+8;
    var _74 = FHEAP[_73];
    var _75 = _74 * _22;
    var _76 = _4+4+16+8;
    var _77 = FHEAP[_76];
    var _78 = _77 * _23;
    var _79 = _75 + _78;
    var _80 = _4+4+32+8;
    var _81 = FHEAP[_80];
    var _82 = _81 * _24;
    var _83 = _79 + _82;
    var _84 = _4+4+4;
    var _85 = FHEAP[_84];
    var _86 = _85 * _22;
    var _87 = _4+4+16+4;
    var _88 = FHEAP[_87];
    var _89 = _88 * _23;
    var _90 = _86 + _89;
    var _91 = _4+4+32+4;
    var _92 = FHEAP[_91];
    var _93 = _92 * _24;
    var _94 = _90 + _93;
    var _95 = _4+4;
    var _96 = FHEAP[_95];
    var _97 = _96 * _22;
    var _98 = _4+4+16;
    var _99 = FHEAP[_98];
    var _100 = _99 * _23;
    var _101 = _97 + _100;
    var _102 = _4+4+32;
    var _103 = FHEAP[_102];
    var _104 = _103 * _24;
    var _105 = _101 + _104;
    var _106 = _74 * _19;
    var _107 = _77 * _20;
    var _108 = _106 + _107;
    var _109 = _81 * _21;
    var _110 = _108 + _109;
    var _111 = _85 * _19;
    var _112 = _88 * _20;
    var _113 = _111 + _112;
    var _114 = _92 * _21;
    var _115 = _113 + _114;
    var _116 = _96 * _19;
    var _117 = _99 * _20;
    var _118 = _116 + _117;
    var _119 = _103 * _21;
    var _120 = _118 + _119;
    var _121 = _74 * _16;
    var _122 = _77 * _17;
    var _123 = _121 + _122;
    var _124 = _81 * _18;
    var _125 = _123 + _124;
    var _126 = _85 * _16;
    var _127 = _88 * _17;
    var _128 = _126 + _127;
    var _129 = _92 * _18;
    var _130 = _128 + _129;
    var _131 = _96 * _16;
    var _132 = _99 * _17;
    var _133 = _131 + _132;
    var _134 = _103 * _18;
    var _135 = _133 + _134;
    var _136 = _convexInTriangleSpace;
    FHEAP[_136] = _135;
    var _137 = _convexInTriangleSpace+4;
    FHEAP[_137] = _130;
    var _138 = _convexInTriangleSpace+8;
    FHEAP[_138] = _125;
    var _139 = _convexInTriangleSpace+12;
    FHEAP[_139] = 0;
    var _140 = _convexInTriangleSpace+16;
    FHEAP[_140] = _120;
    var _141 = _convexInTriangleSpace+16+4;
    FHEAP[_141] = _115;
    var _142 = _convexInTriangleSpace+16+8;
    FHEAP[_142] = _110;
    var _143 = _convexInTriangleSpace+16+12;
    FHEAP[_143] = 0;
    var _144 = _convexInTriangleSpace+32;
    FHEAP[_144] = _105;
    var _145 = _convexInTriangleSpace+32+4;
    FHEAP[_145] = _94;
    var _146 = _convexInTriangleSpace+32+8;
    FHEAP[_146] = _83;
    var _147 = _convexInTriangleSpace+32+12;
    FHEAP[_147] = 0;
    var _148 = _convexInTriangleSpace+48;
    FHEAP[_148] = _72;
    var _149 = _convexInTriangleSpace+48+4;
    FHEAP[_149] = _66;
    var _150 = _convexInTriangleSpace+48+8;
    FHEAP[_150] = _60;
    var _151 = _convexInTriangleSpace+48+12;
    FHEAP[_151] = 0;
    var _152 = _4+192;
    var _153 = IHEAP[_152];
    var _154 = _153;
    var _155 = IHEAP[_154];
    var _156 = _155+8;
    var _157 = IHEAP[_156];
    var _158 = _this+28;
    var _159 = _this+12;
    var _160 = _157;
    FUNCTION_TABLE[_160](_153, _convexInTriangleSpace, _159, _158);
    var _161 = _this+28;
    var _162 = FHEAP[_161];
    var _163 = _162 + _collisionMarginTriangle;
    FHEAP[_161] = _163;
    var _164 = _this+28+4;
    var _165 = FHEAP[_164];
    var _166 = _165 + _collisionMarginTriangle;
    FHEAP[_164] = _166;
    var _167 = _this+28+8;
    var _168 = FHEAP[_167];
    var _169 = _168 + _collisionMarginTriangle;
    FHEAP[_167] = _169;
    var _170 = _this+12;
    var _171 = FHEAP[_170];
    var _172 = _171 - _collisionMarginTriangle;
    FHEAP[_170] = _172;
    var _173 = _this+12+4;
    var _174 = FHEAP[_173];
    var _175 = _174 - _collisionMarginTriangle;
    FHEAP[_173] = _175;
    var _176 = _this+12+8;
    var _177 = FHEAP[_176];
    var _178 = _177 - _collisionMarginTriangle;
    FHEAP[_176] = _178;
    STACKTOP = __stackBase__;
    return;
  }
  __ZN24btConvexTriangleCallback22setTimeStepAndCountersEfRK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN24btConvexTriangleCallback22setTimeStepAndCountersEfRK16btDispatcherInfoP16btManifoldResult, "__ZN24btConvexTriangleCallback22setTimeStepAndCountersEfRK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN33btConvexConcaveCollisionAlgorithm10clearCacheEv(_this) {
    ;
    var __label__;
    var _0 = _this+12+48;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+20;
    var _5 = IHEAP[_4];
    var _6 = _this+12+64;
    var _7 = IHEAP[_6];
    var _8 = _5;
    FUNCTION_TABLE[_8](_1, _7);
    ;
    return;
  }
  __ZN33btConvexConcaveCollisionAlgorithm10clearCacheEv.__index__ = Runtime.getFunctionIndex(__ZN33btConvexConcaveCollisionAlgorithm10clearCacheEv, "__ZN33btConvexConcaveCollisionAlgorithm10clearCacheEv");
  
  
  function __ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD1Ev, "__ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD1Ev");
  
  
  function __ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD0Ev, "__ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD0Ev");
  
  
  function __ZN15btTriangleShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN15btTriangleShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN15btTriangleShapeD1Ev, "__ZN15btTriangleShapeD1Ev");
  
  
  function __ZN15btTriangleShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN15btTriangleShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN15btTriangleShapeD0Ev, "__ZN15btTriangleShapeD0Ev");
  
  
  function __ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD2Ev, "__ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD2Ev");
  
  
  function __ZN33btConvexConcaveCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(_this, _manifoldArray) {
    ;
    var __label__;
    var _0 = _this+12+64;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (_2) {
      ;
      ;
      return;
    }
    else {
      ;
      __ZN20btAlignedObjectArrayIP20btPersistentManifoldE9push_backERKS1_(_manifoldArray, _0);
      ;
      return;
    }
  }
  __ZN33btConvexConcaveCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__ = Runtime.getFunctionIndex(__ZN33btConvexConcaveCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, "__ZN33btConvexConcaveCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE");
  
  
  function __ZN23btConvexConvexAlgorithm10CreateFuncC2EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_this, _simplexSolver, _pdSolver) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = _this+4;
    IHEAP[_1] = 0;
    IHEAP[_0] = __ZTVN23btConvexConvexAlgorithm10CreateFuncE+8;
    var _2 = _this+16;
    IHEAP[_2] = 0;
    var _3 = _this+20;
    IHEAP[_3] = 3;
    var _4 = _this+12;
    IHEAP[_4] = _simplexSolver;
    var _5 = _this+8;
    IHEAP[_5] = _pdSolver;
    ;
    return;
  }
  __ZN23btConvexConvexAlgorithm10CreateFuncC2EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver.__index__ = Runtime.getFunctionIndex(__ZN23btConvexConvexAlgorithm10CreateFuncC2EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, "__ZN23btConvexConvexAlgorithm10CreateFuncC2EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver");
  
  
  function __ZN30btCollisionAlgorithmCreateFuncD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV30btCollisionAlgorithmCreateFunc+8;
    ;
    return;
  }
  __ZN30btCollisionAlgorithmCreateFuncD1Ev.__index__ = Runtime.getFunctionIndex(__ZN30btCollisionAlgorithmCreateFuncD1Ev, "__ZN30btCollisionAlgorithmCreateFuncD1Ev");
  
  
  function __ZN30btCollisionAlgorithmCreateFuncD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV30btCollisionAlgorithmCreateFunc+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN30btCollisionAlgorithmCreateFuncD0Ev.__index__ = Runtime.getFunctionIndex(__ZN30btCollisionAlgorithmCreateFuncD0Ev, "__ZN30btCollisionAlgorithmCreateFuncD0Ev");
  
  
  function __ZN23btConvexConvexAlgorithm10CreateFuncD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN23btConvexConvexAlgorithm10CreateFuncE+8;
    ;
    return;
  }
  __ZN23btConvexConvexAlgorithm10CreateFuncD1Ev.__index__ = Runtime.getFunctionIndex(__ZN23btConvexConvexAlgorithm10CreateFuncD1Ev, "__ZN23btConvexConvexAlgorithm10CreateFuncD1Ev");
  
  
  function __ZN23btConvexConvexAlgorithm10CreateFuncD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN23btConvexConvexAlgorithm10CreateFuncE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN23btConvexConvexAlgorithm10CreateFuncD0Ev.__index__ = Runtime.getFunctionIndex(__ZN23btConvexConvexAlgorithm10CreateFuncD0Ev, "__ZN23btConvexConvexAlgorithm10CreateFuncD0Ev");
  
  
  function __ZN23btConvexConvexAlgorithm10CreateFuncC1EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_this, _simplexSolver, _pdSolver) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = _this+4;
    IHEAP[_1] = 0;
    IHEAP[_0] = __ZTVN23btConvexConvexAlgorithm10CreateFuncE+8;
    var _2 = _this+16;
    IHEAP[_2] = 0;
    var _3 = _this+20;
    IHEAP[_3] = 3;
    var _4 = _this+12;
    IHEAP[_4] = _simplexSolver;
    var _5 = _this+8;
    IHEAP[_5] = _pdSolver;
    ;
    return;
  }
  __ZN23btConvexConvexAlgorithm10CreateFuncC1EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver.__index__ = Runtime.getFunctionIndex(__ZN23btConvexConvexAlgorithm10CreateFuncC1EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, "__ZN23btConvexConvexAlgorithm10CreateFuncC1EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver");
  
  
  function __ZN23btConvexConvexAlgorithm19setLowLevelOfDetailEb(_this, _useLowLevel) {
    ;
    var __label__;
    var _0 = _this+24;
    IHEAP[_0] = _useLowLevel;
    ;
    return;
  }
  __ZN23btConvexConvexAlgorithm19setLowLevelOfDetailEb.__index__ = Runtime.getFunctionIndex(__ZN23btConvexConvexAlgorithm19setLowLevelOfDetailEb, "__ZN23btConvexConvexAlgorithm19setLowLevelOfDetailEb");
  
  
  function __ZN24btPerturbedContactResultD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV24btPerturbedContactResult+8;
    ;
    return;
  }
  __ZN24btPerturbedContactResultD1Ev.__index__ = Runtime.getFunctionIndex(__ZN24btPerturbedContactResultD1Ev, "__ZN24btPerturbedContactResultD1Ev");
  
  
  function __ZN24btPerturbedContactResultD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV24btPerturbedContactResult+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN24btPerturbedContactResultD0Ev.__index__ = Runtime.getFunctionIndex(__ZN24btPerturbedContactResultD0Ev, "__ZN24btPerturbedContactResultD0Ev");
  
  
  function __ZN24btPerturbedContactResult15addContactPointERK9btVector3S2_f(_this, _normalOnBInWorld, _pointInWorld, _orgDepth) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var __lastLabel__ = null;
    var _startPt = __stackBase__;
    var _0 = _this+356;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    var _2 = _normalOnBInWorld+8;
    var _3 = FHEAP[_2];
    var _4 = _3 * _orgDepth;
    var _5 = _normalOnBInWorld+4;
    var _6 = FHEAP[_5];
    var _7 = _6 * _orgDepth;
    var _8 = _normalOnBInWorld;
    var _9 = FHEAP[_8];
    var _10 = _9 * _orgDepth;
    var _11 = _pointInWorld+8;
    var _12 = FHEAP[_11];
    var _13 = _12 + _4;
    var _14 = _pointInWorld+4;
    var _15 = FHEAP[_14];
    var _16 = _15 + _7;
    var _17 = _pointInWorld;
    var _18 = FHEAP[_17];
    var _19 = _18 + _10;
    ;
    if (_toBool) {
      ;
      var _185 = _this+228+32+8;
      var _186 = _this+228+16+8;
      var _187 = _this+228+8;
      var _188 = _this+228+32+4;
      var _189 = _this+228+16+4;
      var _190 = _this+228+4;
      var _191 = _this+228+32;
      var _192 = _this+228+16;
      var _193 = _this+228;
      var _194 = FHEAP[_193];
      var _195 = FHEAP[_192];
      var _196 = FHEAP[_191];
      var _197 = FHEAP[_190];
      var _198 = FHEAP[_189];
      var _199 = FHEAP[_188];
      var _200 = FHEAP[_187];
      var _201 = FHEAP[_186];
      var _202 = FHEAP[_185];
      var _203 = _this+228+48+8;
      var _204 = FHEAP[_203];
      var _205 = 0 - _204;
      var _206 = _this+228+48+4;
      var _207 = FHEAP[_206];
      var _208 = 0 - _207;
      var _209 = _this+228+48;
      var _210 = FHEAP[_209];
      var _211 = 0 - _210;
      var _212 = _200 * _211;
      var _213 = _201 * _208;
      var _214 = _212 + _213;
      var _215 = _202 * _205;
      var _216 = _214 + _215;
      var _217 = _197 * _211;
      var _218 = _198 * _208;
      var _219 = _217 + _218;
      var _220 = _199 * _205;
      var _221 = _219 + _220;
      var _222 = _194 * _211;
      var _223 = _195 * _208;
      var _224 = _222 + _223;
      var _225 = _196 * _205;
      var _226 = _224 + _225;
      var _227 = _this+292+32;
      var _228 = FHEAP[_227];
      var _229 = _228 * _226;
      var _230 = _this+292+32+4;
      var _231 = FHEAP[_230];
      var _232 = _231 * _221;
      var _233 = _229 + _232;
      var _234 = _this+292+32+8;
      var _235 = FHEAP[_234];
      var _236 = _235 * _216;
      var _237 = _233 + _236;
      var _238 = _this+292+48+8;
      var _239 = FHEAP[_238];
      var _240 = _237 + _239;
      var _241 = _this+292+16;
      var _242 = FHEAP[_241];
      var _243 = _242 * _226;
      var _244 = _this+292+16+4;
      var _245 = FHEAP[_244];
      var _246 = _245 * _221;
      var _247 = _243 + _246;
      var _248 = _this+292+16+8;
      var _249 = FHEAP[_248];
      var _250 = _249 * _216;
      var _251 = _247 + _250;
      var _252 = _this+292+48+4;
      var _253 = FHEAP[_252];
      var _254 = _251 + _253;
      var _255 = _this+292;
      var _256 = FHEAP[_255];
      var _257 = _256 * _226;
      var _258 = _this+292+4;
      var _259 = FHEAP[_258];
      var _260 = _259 * _221;
      var _261 = _257 + _260;
      var _262 = _this+292+8;
      var _263 = FHEAP[_262];
      var _264 = _263 * _216;
      var _265 = _261 + _264;
      var _266 = _this+292+48;
      var _267 = FHEAP[_266];
      var _268 = _265 + _267;
      var _269 = _196 * _228;
      var _270 = _199 * _231;
      var _271 = _269 + _270;
      var _272 = _202 * _235;
      var _273 = _271 + _272;
      var _274 = _195 * _228;
      var _275 = _198 * _231;
      var _276 = _274 + _275;
      var _277 = _201 * _235;
      var _278 = _276 + _277;
      var _279 = _194 * _228;
      var _280 = _197 * _231;
      var _281 = _279 + _280;
      var _282 = _200 * _235;
      var _283 = _281 + _282;
      var _284 = _196 * _242;
      var _285 = _199 * _245;
      var _286 = _284 + _285;
      var _287 = _202 * _249;
      var _288 = _286 + _287;
      var _289 = _195 * _242;
      var _290 = _198 * _245;
      var _291 = _289 + _290;
      var _292 = _201 * _249;
      var _293 = _291 + _292;
      var _294 = _194 * _242;
      var _295 = _197 * _245;
      var _296 = _294 + _295;
      var _297 = _200 * _249;
      var _298 = _296 + _297;
      var _299 = _196 * _256;
      var _300 = _199 * _259;
      var _301 = _299 + _300;
      var _302 = _202 * _263;
      var _303 = _301 + _302;
      var _304 = _195 * _256;
      var _305 = _198 * _259;
      var _306 = _304 + _305;
      var _307 = _201 * _263;
      var _308 = _306 + _307;
      var _309 = _194 * _256;
      var _310 = _197 * _259;
      var _311 = _309 + _310;
      var _312 = _200 * _263;
      var _313 = _311 + _312;
      var _314 = _283 * _18;
      var _315 = _278 * _15;
      var _316 = _314 + _315;
      var _317 = _273 * _12;
      var _318 = _316 + _317;
      var _319 = _318 + _240;
      var _320 = _298 * _18;
      var _321 = _293 * _15;
      var _322 = _320 + _321;
      var _323 = _288 * _12;
      var _324 = _322 + _323;
      var _325 = _324 + _254;
      var _326 = _313 * _18;
      var _327 = _308 * _15;
      var _328 = _326 + _327;
      var _329 = _303 * _12;
      var _330 = _328 + _329;
      var _331 = _330 + _268;
      var _332 = _startPt;
      FHEAP[_332] = _331;
      var _333 = _startPt+4;
      FHEAP[_333] = _325;
      var _334 = _startPt+8;
      FHEAP[_334] = _319;
      var _335 = _startPt+12;
      FHEAP[_335] = 0;
      var _336 = _13 - _319;
      var _337 = _16 - _325;
      var _338 = _19 - _331;
      var _339 = _338 * _9;
      var _340 = _337 * _6;
      var _341 = _339 + _340;
      var _342 = _336 * _3;
      var _343 = _341 + _342;
      __lastLabel__ = 0; ;
    }
    else {
      ;
      var _20 = _this+164+32+8;
      var _21 = _this+164+16+8;
      var _22 = _this+164+8;
      var _23 = _this+164+32+4;
      var _24 = _this+164+16+4;
      var _25 = _this+164+4;
      var _26 = _this+164+32;
      var _27 = _this+164+16;
      var _28 = _this+164;
      var _29 = FHEAP[_28];
      var _30 = FHEAP[_27];
      var _31 = FHEAP[_26];
      var _32 = FHEAP[_25];
      var _33 = FHEAP[_24];
      var _34 = FHEAP[_23];
      var _35 = FHEAP[_22];
      var _36 = FHEAP[_21];
      var _37 = FHEAP[_20];
      var _38 = _this+164+48+8;
      var _39 = FHEAP[_38];
      var _40 = 0 - _39;
      var _41 = _this+164+48+4;
      var _42 = FHEAP[_41];
      var _43 = 0 - _42;
      var _44 = _this+164+48;
      var _45 = FHEAP[_44];
      var _46 = 0 - _45;
      var _47 = _35 * _46;
      var _48 = _36 * _43;
      var _49 = _47 + _48;
      var _50 = _37 * _40;
      var _51 = _49 + _50;
      var _52 = _32 * _46;
      var _53 = _33 * _43;
      var _54 = _52 + _53;
      var _55 = _34 * _40;
      var _56 = _54 + _55;
      var _57 = _29 * _46;
      var _58 = _30 * _43;
      var _59 = _57 + _58;
      var _60 = _31 * _40;
      var _61 = _59 + _60;
      var _62 = _this+292+32;
      var _63 = FHEAP[_62];
      var _64 = _63 * _61;
      var _65 = _this+292+32+4;
      var _66 = FHEAP[_65];
      var _67 = _66 * _56;
      var _68 = _64 + _67;
      var _69 = _this+292+32+8;
      var _70 = FHEAP[_69];
      var _71 = _70 * _51;
      var _72 = _68 + _71;
      var _73 = _this+292+48+8;
      var _74 = FHEAP[_73];
      var _75 = _72 + _74;
      var _76 = _this+292+16;
      var _77 = FHEAP[_76];
      var _78 = _77 * _61;
      var _79 = _this+292+16+4;
      var _80 = FHEAP[_79];
      var _81 = _80 * _56;
      var _82 = _78 + _81;
      var _83 = _this+292+16+8;
      var _84 = FHEAP[_83];
      var _85 = _84 * _51;
      var _86 = _82 + _85;
      var _87 = _this+292+48+4;
      var _88 = FHEAP[_87];
      var _89 = _86 + _88;
      var _90 = _this+292;
      var _91 = FHEAP[_90];
      var _92 = _91 * _61;
      var _93 = _this+292+4;
      var _94 = FHEAP[_93];
      var _95 = _94 * _56;
      var _96 = _92 + _95;
      var _97 = _this+292+8;
      var _98 = FHEAP[_97];
      var _99 = _98 * _51;
      var _100 = _96 + _99;
      var _101 = _this+292+48;
      var _102 = FHEAP[_101];
      var _103 = _100 + _102;
      var _104 = _31 * _63;
      var _105 = _34 * _66;
      var _106 = _104 + _105;
      var _107 = _37 * _70;
      var _108 = _106 + _107;
      var _109 = _30 * _63;
      var _110 = _33 * _66;
      var _111 = _109 + _110;
      var _112 = _36 * _70;
      var _113 = _111 + _112;
      var _114 = _29 * _63;
      var _115 = _32 * _66;
      var _116 = _114 + _115;
      var _117 = _35 * _70;
      var _118 = _116 + _117;
      var _119 = _31 * _77;
      var _120 = _34 * _80;
      var _121 = _119 + _120;
      var _122 = _37 * _84;
      var _123 = _121 + _122;
      var _124 = _30 * _77;
      var _125 = _33 * _80;
      var _126 = _124 + _125;
      var _127 = _36 * _84;
      var _128 = _126 + _127;
      var _129 = _29 * _77;
      var _130 = _32 * _80;
      var _131 = _129 + _130;
      var _132 = _35 * _84;
      var _133 = _131 + _132;
      var _134 = _31 * _91;
      var _135 = _34 * _94;
      var _136 = _134 + _135;
      var _137 = _37 * _98;
      var _138 = _136 + _137;
      var _139 = _30 * _91;
      var _140 = _33 * _94;
      var _141 = _139 + _140;
      var _142 = _36 * _98;
      var _143 = _141 + _142;
      var _144 = _29 * _91;
      var _145 = _32 * _94;
      var _146 = _144 + _145;
      var _147 = _35 * _98;
      var _148 = _146 + _147;
      var _149 = _118 * _19;
      var _150 = _113 * _16;
      var _151 = _149 + _150;
      var _152 = _108 * _13;
      var _153 = _151 + _152;
      var _154 = _153 + _75;
      var _155 = _133 * _19;
      var _156 = _128 * _16;
      var _157 = _155 + _156;
      var _158 = _123 * _13;
      var _159 = _157 + _158;
      var _160 = _159 + _89;
      var _161 = _148 * _19;
      var _162 = _143 * _16;
      var _163 = _161 + _162;
      var _164 = _138 * _13;
      var _165 = _163 + _164;
      var _166 = _165 + _103;
      var _167 = _154 - _12;
      var _168 = _160 - _15;
      var _169 = _166 - _18;
      var _170 = _169 * _9;
      var _171 = _168 * _6;
      var _172 = _170 + _171;
      var _173 = _167 * _3;
      var _174 = _172 + _173;
      var _175 = _3 * _174;
      var _176 = _6 * _174;
      var _177 = _9 * _174;
      var _178 = _154 + _175;
      var _179 = _160 + _176;
      var _180 = _166 + _177;
      var _181 = _startPt;
      FHEAP[_181] = _180;
      var _182 = _startPt+4;
      FHEAP[_182] = _179;
      var _183 = _startPt+8;
      FHEAP[_183] = _178;
      var _184 = _startPt+12;
      FHEAP[_184] = 0;
      __lastLabel__ = 60; ;
    }
    var _newDepth_0 = __lastLabel__ == 0 ? _343 : (_174);
    var _344 = _this+160;
    var _345 = IHEAP[_344];
    var _346 = _345;
    var _347 = IHEAP[_346];
    var _348 = _347+16;
    var _349 = IHEAP[_348];
    var _350 = _349;
    FUNCTION_TABLE[_350](_345, _normalOnBInWorld, _startPt, _newDepth_0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN24btPerturbedContactResult15addContactPointERK9btVector3S2_f.__index__ = Runtime.getFunctionIndex(__ZN24btPerturbedContactResult15addContactPointERK9btVector3S2_f, "__ZN24btPerturbedContactResult15addContactPointERK9btVector3S2_f");
  
  
  function __ZN23btConvexConvexAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(_this, _manifoldArray) {
    ;
    var __label__;
    var _0 = _this+20;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _return$_bb$6286: do { 
      if (!_2) {
        ;
        var _3 = _this+16;
        var _4 = IHEAP[_3];
        var _toBool = _4 == 0;
        if (_toBool) { __label__ = 44; /* _return */ break _return$_bb$6286; }
        __ZN20btAlignedObjectArrayIP20btPersistentManifoldE9push_backERKS1_(_manifoldArray, _0);
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __ZN23btConvexConvexAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__ = Runtime.getFunctionIndex(__ZN23btConvexConvexAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, "__ZN23btConvexConvexAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE");
  
  
  function __ZN23btConvexConvexAlgorithm10CreateFuncD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN23btConvexConvexAlgorithm10CreateFuncE+8;
    ;
    return;
  }
  __ZN23btConvexConvexAlgorithm10CreateFuncD2Ev.__index__ = Runtime.getFunctionIndex(__ZN23btConvexConvexAlgorithm10CreateFuncD2Ev, "__ZN23btConvexConvexAlgorithm10CreateFuncD2Ev");
  
  
  function __ZN23btConvexConvexAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii(_this, _mf, _ci, _body0, _body1, _simplexSolver, _pdSolver, _numPerturbationIterations, _minimumPointsPerturbationThreshold) {
    ;
    var __label__;
    var _0 = _this;
    __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_0, _ci, _body0, _body1);
    var _1 = _this;
    IHEAP[_1] = __ZTV23btConvexConvexAlgorithm+8;
    var _2 = _this+8;
    IHEAP[_2] = _simplexSolver;
    var _3 = _this+12;
    IHEAP[_3] = _pdSolver;
    var _4 = _this+16;
    IHEAP[_4] = 0;
    var _5 = _this+20;
    IHEAP[_5] = _mf;
    var _6 = _this+24;
    IHEAP[_6] = 0;
    var _7 = _this+28;
    IHEAP[_7] = _numPerturbationIterations;
    var _8 = _this+32;
    IHEAP[_8] = _minimumPointsPerturbationThreshold;
    ;
    return;
  }
  __ZN23btConvexConvexAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii.__index__ = Runtime.getFunctionIndex(__ZN23btConvexConvexAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii, "__ZN23btConvexConvexAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii");
  
  
  function __ZN23btConvexConvexAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii(_this, _mf, _ci, _body0, _body1, _simplexSolver, _pdSolver, _numPerturbationIterations, _minimumPointsPerturbationThreshold) {
    ;
    var __label__;
    var _0 = _this;
    __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_0, _ci, _body0, _body1);
    var _1 = _this;
    IHEAP[_1] = __ZTV23btConvexConvexAlgorithm+8;
    var _2 = _this+8;
    IHEAP[_2] = _simplexSolver;
    var _3 = _this+12;
    IHEAP[_3] = _pdSolver;
    var _4 = _this+16;
    IHEAP[_4] = 0;
    var _5 = _this+20;
    IHEAP[_5] = _mf;
    var _6 = _this+24;
    IHEAP[_6] = 0;
    var _7 = _this+28;
    IHEAP[_7] = _numPerturbationIterations;
    var _8 = _this+32;
    IHEAP[_8] = _minimumPointsPerturbationThreshold;
    ;
    return;
  }
  __ZN23btConvexConvexAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii.__index__ = Runtime.getFunctionIndex(__ZN23btConvexConvexAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii, "__ZN23btConvexConvexAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii");
  
  
  function __ZN31btConvexPlaneCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(_this, _manifoldArray) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _return$_bb$6454: do { 
      if (!_2) {
        ;
        var _3 = _this+8;
        var _4 = IHEAP[_3];
        var _toBool = _4 == 0;
        if (_toBool) { __label__ = 44; /* _return */ break _return$_bb$6454; }
        __ZN20btAlignedObjectArrayIP20btPersistentManifoldE9push_backERKS1_(_manifoldArray, _0);
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __ZN31btConvexPlaneCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__ = Runtime.getFunctionIndex(__ZN31btConvexPlaneCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, "__ZN31btConvexPlaneCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE");
  
  
  function __ZN31btConvexPlaneCollisionAlgorithmD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV31btConvexPlaneCollisionAlgorithm+8;
    var _1 = _this+8;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb4$_bb$6483: do { 
      if (!_toBool) {
        ;
        var _3 = _this+12;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 61; /* _bb4 */ break _bb4$_bb$6483; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        FUNCTION_TABLE[_12](_7, _4);
        ;
      }
    } while(0);
    var _13 = _this;
    __ZdlPv(_13);
    ;
    return;
  }
  __ZN31btConvexPlaneCollisionAlgorithmD0Ev.__index__ = Runtime.getFunctionIndex(__ZN31btConvexPlaneCollisionAlgorithmD0Ev, "__ZN31btConvexPlaneCollisionAlgorithmD0Ev");
  
  
  function __ZN31btConvexPlaneCollisionAlgorithmD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV31btConvexPlaneCollisionAlgorithm+8;
    var _1 = _this+8;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _return$_bb$6488: do { 
      if (!_toBool) {
        ;
        var _3 = _this+12;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 44; /* _return */ break _return$_bb$6488; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        FUNCTION_TABLE[_12](_7, _4);
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __ZN31btConvexPlaneCollisionAlgorithmD1Ev.__index__ = Runtime.getFunctionIndex(__ZN31btConvexPlaneCollisionAlgorithmD1Ev, "__ZN31btConvexPlaneCollisionAlgorithmD1Ev");
  
  
  function __ZN31btConvexPlaneCollisionAlgorithmD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV31btConvexPlaneCollisionAlgorithm+8;
    var _1 = _this+8;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _return$_bb$6493: do { 
      if (!_toBool) {
        ;
        var _3 = _this+12;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 44; /* _return */ break _return$_bb$6493; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        FUNCTION_TABLE[_12](_7, _4);
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __ZN31btConvexPlaneCollisionAlgorithmD2Ev.__index__ = Runtime.getFunctionIndex(__ZN31btConvexPlaneCollisionAlgorithmD2Ev, "__ZN31btConvexPlaneCollisionAlgorithmD2Ev");
  
  
  function __ZN27btConvex2dConvex2dAlgorithm10CreateFuncC2EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_this, _simplexSolver, _pdSolver) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = _this+4;
    IHEAP[_1] = 0;
    IHEAP[_0] = __ZTVN27btConvex2dConvex2dAlgorithm10CreateFuncE+8;
    var _2 = _this+16;
    IHEAP[_2] = 0;
    var _3 = _this+20;
    IHEAP[_3] = 3;
    var _4 = _this+12;
    IHEAP[_4] = _simplexSolver;
    var _5 = _this+8;
    IHEAP[_5] = _pdSolver;
    ;
    return;
  }
  __ZN27btConvex2dConvex2dAlgorithm10CreateFuncC2EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver.__index__ = Runtime.getFunctionIndex(__ZN27btConvex2dConvex2dAlgorithm10CreateFuncC2EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, "__ZN27btConvex2dConvex2dAlgorithm10CreateFuncC2EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver");
  
  
  function __ZN27btConvex2dConvex2dAlgorithm10CreateFuncD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN27btConvex2dConvex2dAlgorithm10CreateFuncE+8;
    ;
    return;
  }
  __ZN27btConvex2dConvex2dAlgorithm10CreateFuncD1Ev.__index__ = Runtime.getFunctionIndex(__ZN27btConvex2dConvex2dAlgorithm10CreateFuncD1Ev, "__ZN27btConvex2dConvex2dAlgorithm10CreateFuncD1Ev");
  
  
  function __ZN27btConvex2dConvex2dAlgorithm10CreateFuncD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN27btConvex2dConvex2dAlgorithm10CreateFuncE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN27btConvex2dConvex2dAlgorithm10CreateFuncD0Ev.__index__ = Runtime.getFunctionIndex(__ZN27btConvex2dConvex2dAlgorithm10CreateFuncD0Ev, "__ZN27btConvex2dConvex2dAlgorithm10CreateFuncD0Ev");
  
  
  function __ZN27btConvex2dConvex2dAlgorithm10CreateFuncC1EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_this, _simplexSolver, _pdSolver) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = _this+4;
    IHEAP[_1] = 0;
    IHEAP[_0] = __ZTVN27btConvex2dConvex2dAlgorithm10CreateFuncE+8;
    var _2 = _this+16;
    IHEAP[_2] = 0;
    var _3 = _this+20;
    IHEAP[_3] = 3;
    var _4 = _this+12;
    IHEAP[_4] = _simplexSolver;
    var _5 = _this+8;
    IHEAP[_5] = _pdSolver;
    ;
    return;
  }
  __ZN27btConvex2dConvex2dAlgorithm10CreateFuncC1EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver.__index__ = Runtime.getFunctionIndex(__ZN27btConvex2dConvex2dAlgorithm10CreateFuncC1EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, "__ZN27btConvex2dConvex2dAlgorithm10CreateFuncC1EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver");
  
  
  function __ZN27btConvex2dConvex2dAlgorithm19setLowLevelOfDetailEb(_this, _useLowLevel) {
    ;
    var __label__;
    var _0 = _this+24;
    IHEAP[_0] = _useLowLevel;
    ;
    return;
  }
  __ZN27btConvex2dConvex2dAlgorithm19setLowLevelOfDetailEb.__index__ = Runtime.getFunctionIndex(__ZN27btConvex2dConvex2dAlgorithm19setLowLevelOfDetailEb, "__ZN27btConvex2dConvex2dAlgorithm19setLowLevelOfDetailEb");
  
  
  function __ZN27btConvex2dConvex2dAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(_this, _manifoldArray) {
    ;
    var __label__;
    var _0 = _this+20;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _return$_bb$6519: do { 
      if (!_2) {
        ;
        var _3 = _this+16;
        var _4 = IHEAP[_3];
        var _toBool = _4 == 0;
        if (_toBool) { __label__ = 44; /* _return */ break _return$_bb$6519; }
        __ZN20btAlignedObjectArrayIP20btPersistentManifoldE9push_backERKS1_(_manifoldArray, _0);
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __ZN27btConvex2dConvex2dAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__ = Runtime.getFunctionIndex(__ZN27btConvex2dConvex2dAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, "__ZN27btConvex2dConvex2dAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE");
  
  
  function __ZN27btConvex2dConvex2dAlgorithm10CreateFuncD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN27btConvex2dConvex2dAlgorithm10CreateFuncE+8;
    ;
    return;
  }
  __ZN27btConvex2dConvex2dAlgorithm10CreateFuncD2Ev.__index__ = Runtime.getFunctionIndex(__ZN27btConvex2dConvex2dAlgorithm10CreateFuncD2Ev, "__ZN27btConvex2dConvex2dAlgorithm10CreateFuncD2Ev");
  
  
  function __ZN27btConvex2dConvex2dAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii(_this, _mf, _ci, _body0, _body1, _simplexSolver, _pdSolver, _numPerturbationIterations, _minimumPointsPerturbationThreshold) {
    ;
    var __label__;
    var _0 = _this;
    __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_0, _ci, _body0, _body1);
    var _1 = _this;
    IHEAP[_1] = __ZTV27btConvex2dConvex2dAlgorithm+8;
    var _2 = _this+8;
    IHEAP[_2] = _simplexSolver;
    var _3 = _this+12;
    IHEAP[_3] = _pdSolver;
    var _4 = _this+16;
    IHEAP[_4] = 0;
    var _5 = _this+20;
    IHEAP[_5] = _mf;
    var _6 = _this+24;
    IHEAP[_6] = 0;
    var _7 = _this+28;
    IHEAP[_7] = _numPerturbationIterations;
    var _8 = _this+32;
    IHEAP[_8] = _minimumPointsPerturbationThreshold;
    ;
    return;
  }
  __ZN27btConvex2dConvex2dAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii.__index__ = Runtime.getFunctionIndex(__ZN27btConvex2dConvex2dAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii, "__ZN27btConvex2dConvex2dAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii");
  
  
  function __ZN27btConvex2dConvex2dAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii(_this, _mf, _ci, _body0, _body1, _simplexSolver, _pdSolver, _numPerturbationIterations, _minimumPointsPerturbationThreshold) {
    ;
    var __label__;
    var _0 = _this;
    __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_0, _ci, _body0, _body1);
    var _1 = _this;
    IHEAP[_1] = __ZTV27btConvex2dConvex2dAlgorithm+8;
    var _2 = _this+8;
    IHEAP[_2] = _simplexSolver;
    var _3 = _this+12;
    IHEAP[_3] = _pdSolver;
    var _4 = _this+16;
    IHEAP[_4] = 0;
    var _5 = _this+20;
    IHEAP[_5] = _mf;
    var _6 = _this+24;
    IHEAP[_6] = 0;
    var _7 = _this+28;
    IHEAP[_7] = _numPerturbationIterations;
    var _8 = _this+32;
    IHEAP[_8] = _minimumPointsPerturbationThreshold;
    ;
    return;
  }
  __ZN27btConvex2dConvex2dAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii.__index__ = Runtime.getFunctionIndex(__ZN27btConvex2dConvex2dAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii, "__ZN27btConvex2dConvex2dAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii");
  
  
  function __ZN31btDefaultCollisionConfiguration25getPersistentManifoldPoolEv(_this) {
    ;
    var __label__;
    var _0 = _this+16;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZN31btDefaultCollisionConfiguration25getPersistentManifoldPoolEv.__index__ = Runtime.getFunctionIndex(__ZN31btDefaultCollisionConfiguration25getPersistentManifoldPoolEv, "__ZN31btDefaultCollisionConfiguration25getPersistentManifoldPoolEv");
  
  
  function __ZN31btDefaultCollisionConfiguration25getCollisionAlgorithmPoolEv(_this) {
    ;
    var __label__;
    var _0 = _this+24;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZN31btDefaultCollisionConfiguration25getCollisionAlgorithmPoolEv.__index__ = Runtime.getFunctionIndex(__ZN31btDefaultCollisionConfiguration25getCollisionAlgorithmPoolEv, "__ZN31btDefaultCollisionConfiguration25getCollisionAlgorithmPoolEv");
  
  
  function __ZN31btDefaultCollisionConfiguration17getStackAllocatorEv(_this) {
    ;
    var __label__;
    var _0 = _this+8;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZN31btDefaultCollisionConfiguration17getStackAllocatorEv.__index__ = Runtime.getFunctionIndex(__ZN31btDefaultCollisionConfiguration17getStackAllocatorEv, "__ZN31btDefaultCollisionConfiguration17getStackAllocatorEv");
  
  
  function __ZN31btDefaultCollisionConfiguration16getSimplexSolverEv(_this) {
    ;
    var __label__;
    var _0 = _this+32;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZN31btDefaultCollisionConfiguration16getSimplexSolverEv.__index__ = Runtime.getFunctionIndex(__ZN31btDefaultCollisionConfiguration16getSimplexSolverEv, "__ZN31btDefaultCollisionConfiguration16getSimplexSolverEv");
  
  
  function __ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN31btConvexPlaneCollisionAlgorithm10CreateFuncE+8;
    ;
    return;
  }
  __ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD1Ev.__index__ = Runtime.getFunctionIndex(__ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD1Ev, "__ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD1Ev");
  
  
  function __ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN31btConvexPlaneCollisionAlgorithm10CreateFuncE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD0Ev.__index__ = Runtime.getFunctionIndex(__ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD0Ev, "__ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD0Ev");
  
  
  function __ZN24btCollisionConfigurationD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV24btCollisionConfiguration+8;
    ;
    return;
  }
  __ZN24btCollisionConfigurationD1Ev.__index__ = Runtime.getFunctionIndex(__ZN24btCollisionConfigurationD1Ev, "__ZN24btCollisionConfigurationD1Ev");
  
  
  function __ZN24btCollisionConfigurationD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV24btCollisionConfiguration+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN24btCollisionConfigurationD0Ev.__index__ = Runtime.getFunctionIndex(__ZN24btCollisionConfigurationD0Ev, "__ZN24btCollisionConfigurationD0Ev");
  
  
  function __ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN33btConvexConcaveCollisionAlgorithm10CreateFuncE+8;
    ;
    return;
  }
  __ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD1Ev.__index__ = Runtime.getFunctionIndex(__ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD1Ev, "__ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD1Ev");
  
  
  function __ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN33btConvexConcaveCollisionAlgorithm10CreateFuncE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD0Ev.__index__ = Runtime.getFunctionIndex(__ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD0Ev, "__ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD0Ev");
  
  
  function __ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE+8;
    ;
    return;
  }
  __ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD1Ev.__index__ = Runtime.getFunctionIndex(__ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD1Ev, "__ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD1Ev");
  
  
  function __ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD0Ev.__index__ = Runtime.getFunctionIndex(__ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD0Ev, "__ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD0Ev");
  
  
  function __ZN28btCompoundCollisionAlgorithm10CreateFuncD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN28btCompoundCollisionAlgorithm10CreateFuncE+8;
    ;
    return;
  }
  __ZN28btCompoundCollisionAlgorithm10CreateFuncD1Ev.__index__ = Runtime.getFunctionIndex(__ZN28btCompoundCollisionAlgorithm10CreateFuncD1Ev, "__ZN28btCompoundCollisionAlgorithm10CreateFuncD1Ev");
  
  
  function __ZN28btCompoundCollisionAlgorithm10CreateFuncD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN28btCompoundCollisionAlgorithm10CreateFuncE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN28btCompoundCollisionAlgorithm10CreateFuncD0Ev.__index__ = Runtime.getFunctionIndex(__ZN28btCompoundCollisionAlgorithm10CreateFuncD0Ev, "__ZN28btCompoundCollisionAlgorithm10CreateFuncD0Ev");
  
  
  function __ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN28btCompoundCollisionAlgorithm17SwappedCreateFuncE+8;
    ;
    return;
  }
  __ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD1Ev.__index__ = Runtime.getFunctionIndex(__ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD1Ev, "__ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD1Ev");
  
  
  function __ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN28btCompoundCollisionAlgorithm17SwappedCreateFuncE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD0Ev.__index__ = Runtime.getFunctionIndex(__ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD0Ev, "__ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD0Ev");
  
  
  function __ZN16btEmptyAlgorithm10CreateFuncD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN16btEmptyAlgorithm10CreateFuncE+8;
    ;
    return;
  }
  __ZN16btEmptyAlgorithm10CreateFuncD1Ev.__index__ = Runtime.getFunctionIndex(__ZN16btEmptyAlgorithm10CreateFuncD1Ev, "__ZN16btEmptyAlgorithm10CreateFuncD1Ev");
  
  
  function __ZN16btEmptyAlgorithm10CreateFuncD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN16btEmptyAlgorithm10CreateFuncE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN16btEmptyAlgorithm10CreateFuncD0Ev.__index__ = Runtime.getFunctionIndex(__ZN16btEmptyAlgorithm10CreateFuncD0Ev, "__ZN16btEmptyAlgorithm10CreateFuncD0Ev");
  
  
  function __ZN32btSphereSphereCollisionAlgorithm10CreateFuncD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN32btSphereSphereCollisionAlgorithm10CreateFuncE+8;
    ;
    return;
  }
  __ZN32btSphereSphereCollisionAlgorithm10CreateFuncD1Ev.__index__ = Runtime.getFunctionIndex(__ZN32btSphereSphereCollisionAlgorithm10CreateFuncD1Ev, "__ZN32btSphereSphereCollisionAlgorithm10CreateFuncD1Ev");
  
  
  function __ZN32btSphereSphereCollisionAlgorithm10CreateFuncD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN32btSphereSphereCollisionAlgorithm10CreateFuncE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN32btSphereSphereCollisionAlgorithm10CreateFuncD0Ev.__index__ = Runtime.getFunctionIndex(__ZN32btSphereSphereCollisionAlgorithm10CreateFuncD0Ev, "__ZN32btSphereSphereCollisionAlgorithm10CreateFuncD0Ev");
  
  
  function __ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN34btSphereTriangleCollisionAlgorithm10CreateFuncE+8;
    ;
    return;
  }
  __ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD1Ev.__index__ = Runtime.getFunctionIndex(__ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD1Ev, "__ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD1Ev");
  
  
  function __ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN34btSphereTriangleCollisionAlgorithm10CreateFuncE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD0Ev.__index__ = Runtime.getFunctionIndex(__ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD0Ev, "__ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD0Ev");
  
  
  function __ZN26btBoxBoxCollisionAlgorithm10CreateFuncD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN26btBoxBoxCollisionAlgorithm10CreateFuncE+8;
    ;
    return;
  }
  __ZN26btBoxBoxCollisionAlgorithm10CreateFuncD1Ev.__index__ = Runtime.getFunctionIndex(__ZN26btBoxBoxCollisionAlgorithm10CreateFuncD1Ev, "__ZN26btBoxBoxCollisionAlgorithm10CreateFuncD1Ev");
  
  
  function __ZN26btBoxBoxCollisionAlgorithm10CreateFuncD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN26btBoxBoxCollisionAlgorithm10CreateFuncE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN26btBoxBoxCollisionAlgorithm10CreateFuncD0Ev.__index__ = Runtime.getFunctionIndex(__ZN26btBoxBoxCollisionAlgorithm10CreateFuncD0Ev, "__ZN26btBoxBoxCollisionAlgorithm10CreateFuncD0Ev");
  
  
  function __ZN31btDefaultCollisionConfiguration31getCollisionAlgorithmCreateFuncEii(_this, _proxyType0, _proxyType1) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _proxyType0 == 8;
    var _1 = _proxyType1 == 8;
    var _2 = _0 & _1;
    ;
    _bb$_bb3$6801: do { 
      if (_2) {
        ;
        var _3 = _this+64;
        __lastLabel__ = 60; ;
      }
      else {
        ;
        var _4 = _proxyType1 == 1;
        var _5 = _0 & _4;
        ;
        if (_5) {
          ;
          var _6 = _this+72;
          __lastLabel__ = 2; ;
        }
        else {
          ;
          var _7 = _proxyType0 == 1;
          var _8 = _7 & _1;
          ;
          if (_8) {
            ;
            var _9 = _this+76;
            __lastLabel__ = 3; ;
          }
          else {
            ;
            var _10 = _proxyType1 | _proxyType0;
            var _11 = _10 == 0;
            ;
            if (_11) {
              ;
              var _12 = _this+68;
              __lastLabel__ = 63; ;
            }
            else {
              ;
              var _13 = _proxyType0 < 20;
              var _14 = _proxyType1 == 28;
              var _or_cond = _13 & _14;
              ;
              if (_or_cond) {
                ;
                var _15 = _this+84;
                __lastLabel__ = 540; ;
              }
              else {
                ;
                var _16 = _proxyType1 < 20;
                var _17 = _proxyType0 == 28;
                var _or_cond91 = _16 & _17;
                ;
                if (_or_cond91) {
                  ;
                  var _18 = _this+80;
                  __lastLabel__ = 251; ;
                }
                else {
                  ;
                  ;
                  _bb42$_bb63$6819: do { 
                    if (_13) {
                      ;
                      ;
                      if (_16) {
                        ;
                        var _19 = _this+40;
                        __lastLabel__ = 1276; __label__ = 21; /* _bb89 */ break _bb$_bb3$6801;
                      }
                      else {
                        ;
                        var _20 = _proxyType1 + -21;
                        var _21 = unSign(_20, 32) < unSign(9, 32);
                        if (!(_21)) { __label__ = 1349; /* _bb85 */ break _bb42$_bb63$6819; }
                        var _22 = _this+44;
                        __lastLabel__ = 1348; __label__ = 21; /* _bb89 */ break _bb$_bb3$6801;
                      }
                    }
                    else {
                      ;
                      ;
                      _bb72$_bb78$6826: do { 
                        if (_16) {
                          ;
                          var _23 = _proxyType0 + -21;
                          var _24 = unSign(_23, 32) < unSign(9, 32);
                          if (!(_24)) { __label__ = 1350; /* _bb78 */ break _bb72$_bb78$6826; }
                          var _26 = _this+48;
                          __lastLabel__ = 15; __label__ = 21; /* _bb89 */ break _bb$_bb3$6801;
                        }
                      } while(0);
                      var _25 = _proxyType0 == 31;
                      if (!(_25)) { __label__ = 1349; /* _bb85 */ break _bb42$_bb63$6819; }
                      var _27 = _this+52;
                      __lastLabel__ = 1351; __label__ = 21; /* _bb89 */ break _bb$_bb3$6801;
                    }
                  } while(0);
                  var _28 = _proxyType1 == 31;
                  ;
                  if (_28) {
                    ;
                    var _29 = _this+56;
                    __lastLabel__ = 1352; ;
                  }
                  else {
                    ;
                    var _30 = _this+60;
                    __lastLabel__ = 14; ;
                  }
                }
              }
            }
          }
        }
      }
    } while(0);
    var __0_in = __lastLabel__ == 60 ? _3 : (__lastLabel__ == 2 ? _6 : (__lastLabel__ == 3 ? _9 : (__lastLabel__ == 63 ? _12 : (__lastLabel__ == 540 ? _15 : (__lastLabel__ == 251 ? _18 : (__lastLabel__ == 1276 ? _19 : (__lastLabel__ == 1348 ? _22 : (__lastLabel__ == 15 ? _26 : (__lastLabel__ == 1351 ? _27 : (__lastLabel__ == 1352 ? _29 : (_30)))))))))));
    var __0 = IHEAP[__0_in];
    ;
    return __0;
  }
  __ZN31btDefaultCollisionConfiguration31getCollisionAlgorithmCreateFuncEii.__index__ = Runtime.getFunctionIndex(__ZN31btDefaultCollisionConfiguration31getCollisionAlgorithmCreateFuncEii, "__ZN31btDefaultCollisionConfiguration31getCollisionAlgorithmCreateFuncEii");
  
  
  function __ZN31btDefaultCollisionConfiguration35setConvexConvexMultipointIterationsEii(_this, _numPerturbationIterations, _minimumPointsPerturbationThreshold) {
    ;
    var __label__;
    var _0 = _this+40;
    var _1 = IHEAP[_0];
    var _2 = _1+16;
    var _numPerturbationIterations_c = _numPerturbationIterations;
    IHEAP[_2] = _numPerturbationIterations_c;
    var _3 = _1+16+4;
    var _4 = _3;
    IHEAP[_4] = _minimumPointsPerturbationThreshold;
    ;
    return;
  }
  __ZN31btDefaultCollisionConfiguration35setConvexConvexMultipointIterationsEii.__index__ = Runtime.getFunctionIndex(__ZN31btDefaultCollisionConfiguration35setConvexConvexMultipointIterationsEii, "__ZN31btDefaultCollisionConfiguration35setConvexConvexMultipointIterationsEii");
  
  
  function __ZN31btDefaultCollisionConfigurationD0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV31btDefaultCollisionConfiguration+8;
    var _1 = _this+12;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    if (!_toBool) {
      ;
      var _3 = _this+8;
      var _4 = IHEAP[_3];
      var _5 = _4+8;
      var _6 = IHEAP[_5];
      var _7 = _6 == 0;
      ;
      _bb_i$__ZN12btStackAllocD1Ev_exit$6840: do { 
        if (_7) {
          __lastLabel__ = 60; ;
          var _8 = _4+16;
          var _9 = IHEAP[_8];
          var _toBoolnot_i = _9 == 0;
          ;
          _bb4_i$__ZN12btStackAlloc7destroyEv_exit$6842: do { 
            if (_toBoolnot_i) {
              ;
              var _10 = _4;
              var _11 = IHEAP[_10];
              var _12 = _11 == 0;
              if (_12) { __label__ = 1353; /* __ZN12btStackAlloc7destroyEv_exit */ break _bb4_i$__ZN12btStackAlloc7destroyEv_exit$6842; }
              __Z21btAlignedFreeInternalPv(_11);
              ;
            }
          } while(0);
          var _13 = _4;
          IHEAP[_13] = 0;
          IHEAP[_5] = 0;
          var __pre = IHEAP[_3];
          var __phi_trans_insert = __pre+8;
          var __pre12 = IHEAP[__phi_trans_insert];
          var _14 = __pre+8;
          var _15 = __pre12 == 0;
          if (_15) { __lastLabel__ = 1353; ; } else { __lastLabel__ = 1353; __label__ = 1355; /* __ZN12btStackAllocD1Ev_exit */ break _bb_i$__ZN12btStackAllocD1Ev_exit$6840; }
          var _16 = __pre+16;
          var _17 = IHEAP[_16];
          var _toBoolnot_i_i = _17 == 0;
          ;
          _bb4_i_i$_bb6_i_i$6847: do { 
            if (_toBoolnot_i_i) {
              ;
              var _18 = __pre;
              var _19 = IHEAP[_18];
              var _20 = _19 == 0;
              if (_20) { __label__ = 631; /* _bb6_i_i */ break _bb4_i_i$_bb6_i_i$6847; }
              __Z21btAlignedFreeInternalPv(_19);
              ;
            }
          } while(0);
          var _21 = __pre;
          IHEAP[_21] = 0;
          IHEAP[_14] = 0;
          var __pre13 = IHEAP[_3];
          __lastLabel__ = 631; ;
        }
        else {
          __lastLabel__ = 60; ;
        }
      } while(0);
      var _22 = __lastLabel__ == 1353 ? __pre : (__lastLabel__ == 631 ? __pre13 : (_4));
      var _23 = _22;
      __Z21btAlignedFreeInternalPv(_23);
      ;
    }
    var _24 = _this+28;
    var _25 = IHEAP[_24];
    var _toBool2 = _25 == 0;
    ;
    if (!_toBool2) {
      ;
      var _26 = _this+24;
      var _27 = IHEAP[_26];
      var _28 = _27+16;
      var _29 = IHEAP[_28];
      __Z21btAlignedFreeInternalPv(_29);
      var _30 = IHEAP[_26];
      var _31 = _30;
      __Z21btAlignedFreeInternalPv(_31);
      ;
    }
    var _32 = _this+20;
    var _33 = IHEAP[_32];
    var _toBool5 = _33 == 0;
    ;
    if (!_toBool5) {
      ;
      var _34 = _this+16;
      var _35 = IHEAP[_34];
      var _36 = _35+16;
      var _37 = IHEAP[_36];
      __Z21btAlignedFreeInternalPv(_37);
      var _38 = IHEAP[_34];
      var _39 = _38;
      __Z21btAlignedFreeInternalPv(_39);
      ;
    }
    var _40 = _this+40;
    var _41 = IHEAP[_40];
    var _42 = _41;
    var _43 = IHEAP[_42];
    var _44 = IHEAP[_43];
    var _45 = _44;
    FUNCTION_TABLE[_45](_41);
    var _46 = IHEAP[_40];
    var _47 = _46;
    __Z21btAlignedFreeInternalPv(_47);
    var _48 = _this+44;
    var _49 = IHEAP[_48];
    var _50 = _49;
    var _51 = IHEAP[_50];
    var _52 = IHEAP[_51];
    var _53 = _52;
    FUNCTION_TABLE[_53](_49);
    var _54 = IHEAP[_48];
    var _55 = _54;
    __Z21btAlignedFreeInternalPv(_55);
    var _56 = _this+48;
    var _57 = IHEAP[_56];
    var _58 = _57;
    var _59 = IHEAP[_58];
    var _60 = IHEAP[_59];
    var _61 = _60;
    FUNCTION_TABLE[_61](_57);
    var _62 = IHEAP[_56];
    var _63 = _62;
    __Z21btAlignedFreeInternalPv(_63);
    var _64 = _this+52;
    var _65 = IHEAP[_64];
    var _66 = _65;
    var _67 = IHEAP[_66];
    var _68 = IHEAP[_67];
    var _69 = _68;
    FUNCTION_TABLE[_69](_65);
    var _70 = IHEAP[_64];
    var _71 = _70;
    __Z21btAlignedFreeInternalPv(_71);
    var _72 = _this+56;
    var _73 = IHEAP[_72];
    var _74 = _73;
    var _75 = IHEAP[_74];
    var _76 = IHEAP[_75];
    var _77 = _76;
    FUNCTION_TABLE[_77](_73);
    var _78 = IHEAP[_72];
    var _79 = _78;
    __Z21btAlignedFreeInternalPv(_79);
    var _80 = _this+60;
    var _81 = IHEAP[_80];
    var _82 = _81;
    var _83 = IHEAP[_82];
    var _84 = IHEAP[_83];
    var _85 = _84;
    FUNCTION_TABLE[_85](_81);
    var _86 = IHEAP[_80];
    var _87 = _86;
    __Z21btAlignedFreeInternalPv(_87);
    var _88 = _this+64;
    var _89 = IHEAP[_88];
    var _90 = _89;
    var _91 = IHEAP[_90];
    var _92 = IHEAP[_91];
    var _93 = _92;
    FUNCTION_TABLE[_93](_89);
    var _94 = IHEAP[_88];
    var _95 = _94;
    __Z21btAlignedFreeInternalPv(_95);
    var _96 = _this+72;
    var _97 = IHEAP[_96];
    var _98 = _97;
    var _99 = IHEAP[_98];
    var _100 = IHEAP[_99];
    var _101 = _100;
    FUNCTION_TABLE[_101](_97);
    var _102 = IHEAP[_96];
    var _103 = _102;
    __Z21btAlignedFreeInternalPv(_103);
    var _104 = _this+76;
    var _105 = IHEAP[_104];
    var _106 = _105;
    var _107 = IHEAP[_106];
    var _108 = IHEAP[_107];
    var _109 = _108;
    FUNCTION_TABLE[_109](_105);
    var _110 = IHEAP[_104];
    var _111 = _110;
    __Z21btAlignedFreeInternalPv(_111);
    var _112 = _this+68;
    var _113 = IHEAP[_112];
    var _114 = _113;
    var _115 = IHEAP[_114];
    var _116 = IHEAP[_115];
    var _117 = _116;
    FUNCTION_TABLE[_117](_113);
    var _118 = IHEAP[_112];
    var _119 = _118;
    __Z21btAlignedFreeInternalPv(_119);
    var _120 = _this+84;
    var _121 = IHEAP[_120];
    var _122 = _121;
    var _123 = IHEAP[_122];
    var _124 = IHEAP[_123];
    var _125 = _124;
    FUNCTION_TABLE[_125](_121);
    var _126 = IHEAP[_120];
    var _127 = _126;
    __Z21btAlignedFreeInternalPv(_127);
    var _128 = _this+80;
    var _129 = IHEAP[_128];
    var _130 = _129;
    var _131 = IHEAP[_130];
    var _132 = IHEAP[_131];
    var _133 = _132;
    FUNCTION_TABLE[_133](_129);
    var _134 = IHEAP[_128];
    var _135 = _134;
    __Z21btAlignedFreeInternalPv(_135);
    var _136 = _this+32;
    var _137 = IHEAP[_136];
    var _138 = _137;
    __Z21btAlignedFreeInternalPv(_138);
    var _139 = _this+36;
    var _140 = IHEAP[_139];
    var _141 = _140;
    var _142 = IHEAP[_141];
    var _143 = IHEAP[_142];
    var _144 = _143;
    FUNCTION_TABLE[_144](_140);
    var _145 = IHEAP[_139];
    var _146 = _145;
    __Z21btAlignedFreeInternalPv(_146);
    var _147 = _this;
    __ZdlPv(_147);
    ;
    return;
  }
  __ZN31btDefaultCollisionConfigurationD0Ev.__index__ = Runtime.getFunctionIndex(__ZN31btDefaultCollisionConfigurationD0Ev, "__ZN31btDefaultCollisionConfigurationD0Ev");
  
  
  function __ZN31btDefaultCollisionConfigurationD2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV31btDefaultCollisionConfiguration+8;
    var _1 = _this+12;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    if (!_toBool) {
      ;
      var _3 = _this+8;
      var _4 = IHEAP[_3];
      var _5 = _4+8;
      var _6 = IHEAP[_5];
      var _7 = _6 == 0;
      ;
      _bb_i$__ZN12btStackAllocD1Ev_exit$6863: do { 
        if (_7) {
          __lastLabel__ = 60; ;
          var _8 = _4+16;
          var _9 = IHEAP[_8];
          var _toBoolnot_i = _9 == 0;
          ;
          _bb4_i$__ZN12btStackAlloc7destroyEv_exit$6865: do { 
            if (_toBoolnot_i) {
              ;
              var _10 = _4;
              var _11 = IHEAP[_10];
              var _12 = _11 == 0;
              if (_12) { __label__ = 1353; /* __ZN12btStackAlloc7destroyEv_exit */ break _bb4_i$__ZN12btStackAlloc7destroyEv_exit$6865; }
              __Z21btAlignedFreeInternalPv(_11);
              ;
            }
          } while(0);
          var _13 = _4;
          IHEAP[_13] = 0;
          IHEAP[_5] = 0;
          var __pre = IHEAP[_3];
          var __phi_trans_insert = __pre+8;
          var __pre12 = IHEAP[__phi_trans_insert];
          var _14 = __pre+8;
          var _15 = __pre12 == 0;
          if (_15) { __lastLabel__ = 1353; ; } else { __lastLabel__ = 1353; __label__ = 1355; /* __ZN12btStackAllocD1Ev_exit */ break _bb_i$__ZN12btStackAllocD1Ev_exit$6863; }
          var _16 = __pre+16;
          var _17 = IHEAP[_16];
          var _toBoolnot_i_i = _17 == 0;
          ;
          _bb4_i_i$_bb6_i_i$6870: do { 
            if (_toBoolnot_i_i) {
              ;
              var _18 = __pre;
              var _19 = IHEAP[_18];
              var _20 = _19 == 0;
              if (_20) { __label__ = 631; /* _bb6_i_i */ break _bb4_i_i$_bb6_i_i$6870; }
              __Z21btAlignedFreeInternalPv(_19);
              ;
            }
          } while(0);
          var _21 = __pre;
          IHEAP[_21] = 0;
          IHEAP[_14] = 0;
          var __pre13 = IHEAP[_3];
          __lastLabel__ = 631; ;
        }
        else {
          __lastLabel__ = 60; ;
        }
      } while(0);
      var _22 = __lastLabel__ == 1353 ? __pre : (__lastLabel__ == 631 ? __pre13 : (_4));
      var _23 = _22;
      __Z21btAlignedFreeInternalPv(_23);
      ;
    }
    var _24 = _this+28;
    var _25 = IHEAP[_24];
    var _toBool2 = _25 == 0;
    ;
    if (!_toBool2) {
      ;
      var _26 = _this+24;
      var _27 = IHEAP[_26];
      var _28 = _27+16;
      var _29 = IHEAP[_28];
      __Z21btAlignedFreeInternalPv(_29);
      var _30 = IHEAP[_26];
      var _31 = _30;
      __Z21btAlignedFreeInternalPv(_31);
      ;
    }
    var _32 = _this+20;
    var _33 = IHEAP[_32];
    var _toBool5 = _33 == 0;
    ;
    if (!_toBool5) {
      ;
      var _34 = _this+16;
      var _35 = IHEAP[_34];
      var _36 = _35+16;
      var _37 = IHEAP[_36];
      __Z21btAlignedFreeInternalPv(_37);
      var _38 = IHEAP[_34];
      var _39 = _38;
      __Z21btAlignedFreeInternalPv(_39);
      ;
    }
    var _40 = _this+40;
    var _41 = IHEAP[_40];
    var _42 = _41;
    var _43 = IHEAP[_42];
    var _44 = IHEAP[_43];
    var _45 = _44;
    FUNCTION_TABLE[_45](_41);
    var _46 = IHEAP[_40];
    var _47 = _46;
    __Z21btAlignedFreeInternalPv(_47);
    var _48 = _this+44;
    var _49 = IHEAP[_48];
    var _50 = _49;
    var _51 = IHEAP[_50];
    var _52 = IHEAP[_51];
    var _53 = _52;
    FUNCTION_TABLE[_53](_49);
    var _54 = IHEAP[_48];
    var _55 = _54;
    __Z21btAlignedFreeInternalPv(_55);
    var _56 = _this+48;
    var _57 = IHEAP[_56];
    var _58 = _57;
    var _59 = IHEAP[_58];
    var _60 = IHEAP[_59];
    var _61 = _60;
    FUNCTION_TABLE[_61](_57);
    var _62 = IHEAP[_56];
    var _63 = _62;
    __Z21btAlignedFreeInternalPv(_63);
    var _64 = _this+52;
    var _65 = IHEAP[_64];
    var _66 = _65;
    var _67 = IHEAP[_66];
    var _68 = IHEAP[_67];
    var _69 = _68;
    FUNCTION_TABLE[_69](_65);
    var _70 = IHEAP[_64];
    var _71 = _70;
    __Z21btAlignedFreeInternalPv(_71);
    var _72 = _this+56;
    var _73 = IHEAP[_72];
    var _74 = _73;
    var _75 = IHEAP[_74];
    var _76 = IHEAP[_75];
    var _77 = _76;
    FUNCTION_TABLE[_77](_73);
    var _78 = IHEAP[_72];
    var _79 = _78;
    __Z21btAlignedFreeInternalPv(_79);
    var _80 = _this+60;
    var _81 = IHEAP[_80];
    var _82 = _81;
    var _83 = IHEAP[_82];
    var _84 = IHEAP[_83];
    var _85 = _84;
    FUNCTION_TABLE[_85](_81);
    var _86 = IHEAP[_80];
    var _87 = _86;
    __Z21btAlignedFreeInternalPv(_87);
    var _88 = _this+64;
    var _89 = IHEAP[_88];
    var _90 = _89;
    var _91 = IHEAP[_90];
    var _92 = IHEAP[_91];
    var _93 = _92;
    FUNCTION_TABLE[_93](_89);
    var _94 = IHEAP[_88];
    var _95 = _94;
    __Z21btAlignedFreeInternalPv(_95);
    var _96 = _this+72;
    var _97 = IHEAP[_96];
    var _98 = _97;
    var _99 = IHEAP[_98];
    var _100 = IHEAP[_99];
    var _101 = _100;
    FUNCTION_TABLE[_101](_97);
    var _102 = IHEAP[_96];
    var _103 = _102;
    __Z21btAlignedFreeInternalPv(_103);
    var _104 = _this+76;
    var _105 = IHEAP[_104];
    var _106 = _105;
    var _107 = IHEAP[_106];
    var _108 = IHEAP[_107];
    var _109 = _108;
    FUNCTION_TABLE[_109](_105);
    var _110 = IHEAP[_104];
    var _111 = _110;
    __Z21btAlignedFreeInternalPv(_111);
    var _112 = _this+68;
    var _113 = IHEAP[_112];
    var _114 = _113;
    var _115 = IHEAP[_114];
    var _116 = IHEAP[_115];
    var _117 = _116;
    FUNCTION_TABLE[_117](_113);
    var _118 = IHEAP[_112];
    var _119 = _118;
    __Z21btAlignedFreeInternalPv(_119);
    var _120 = _this+84;
    var _121 = IHEAP[_120];
    var _122 = _121;
    var _123 = IHEAP[_122];
    var _124 = IHEAP[_123];
    var _125 = _124;
    FUNCTION_TABLE[_125](_121);
    var _126 = IHEAP[_120];
    var _127 = _126;
    __Z21btAlignedFreeInternalPv(_127);
    var _128 = _this+80;
    var _129 = IHEAP[_128];
    var _130 = _129;
    var _131 = IHEAP[_130];
    var _132 = IHEAP[_131];
    var _133 = _132;
    FUNCTION_TABLE[_133](_129);
    var _134 = IHEAP[_128];
    var _135 = _134;
    __Z21btAlignedFreeInternalPv(_135);
    var _136 = _this+32;
    var _137 = IHEAP[_136];
    var _138 = _137;
    __Z21btAlignedFreeInternalPv(_138);
    var _139 = _this+36;
    var _140 = IHEAP[_139];
    var _141 = _140;
    var _142 = IHEAP[_141];
    var _143 = IHEAP[_142];
    var _144 = _143;
    FUNCTION_TABLE[_144](_140);
    var _145 = IHEAP[_139];
    var _146 = _145;
    __Z21btAlignedFreeInternalPv(_146);
    ;
    return;
  }
  __ZN31btDefaultCollisionConfigurationD2Ev.__index__ = Runtime.getFunctionIndex(__ZN31btDefaultCollisionConfigurationD2Ev, "__ZN31btDefaultCollisionConfigurationD2Ev");
  
  
  function __ZN16btEmptyAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo(_this, _ci) {
    ;
    var __label__;
    var _0 = _this;
    __ZN20btCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo(_0, _ci);
    var _1 = _this;
    IHEAP[_1] = __ZTV16btEmptyAlgorithm+8;
    ;
    return;
  }
  __ZN16btEmptyAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo.__index__ = Runtime.getFunctionIndex(__ZN16btEmptyAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo, "__ZN16btEmptyAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo");
  
  
  function __ZN16btEmptyAlgorithmD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btEmptyAlgorithm+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN16btEmptyAlgorithmD0Ev.__index__ = Runtime.getFunctionIndex(__ZN16btEmptyAlgorithmD0Ev, "__ZN16btEmptyAlgorithmD0Ev");
  
  
  function __ZN16btEmptyAlgorithmD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btEmptyAlgorithm+8;
    ;
    return;
  }
  __ZN16btEmptyAlgorithmD1Ev.__index__ = Runtime.getFunctionIndex(__ZN16btEmptyAlgorithmD1Ev, "__ZN16btEmptyAlgorithmD1Ev");
  
  
  function __ZN16btEmptyAlgorithmC1ERK36btCollisionAlgorithmConstructionInfo(_this, _ci) {
    ;
    var __label__;
    var _0 = _this;
    __ZN20btCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo(_0, _ci);
    var _1 = _this;
    IHEAP[_1] = __ZTV16btEmptyAlgorithm+8;
    ;
    return;
  }
  __ZN16btEmptyAlgorithmC1ERK36btCollisionAlgorithmConstructionInfo.__index__ = Runtime.getFunctionIndex(__ZN16btEmptyAlgorithmC1ERK36btCollisionAlgorithmConstructionInfo, "__ZN16btEmptyAlgorithmC1ERK36btCollisionAlgorithmConstructionInfo");
  
  
  function __ZN13btGhostObjectC2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    __ZN17btCollisionObjectC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV13btGhostObject+8;
    var _2 = _this+256+16;
    IHEAP[_2] = 1;
    var _3 = _this+256+12;
    IHEAP[_3] = 0;
    var _4 = _this+256+4;
    IHEAP[_4] = 0;
    var _5 = _this+256+8;
    IHEAP[_5] = 0;
    var _6 = _this+232;
    IHEAP[_6] = 4;
    ;
    return;
  }
  __ZN13btGhostObjectC2Ev.__index__ = Runtime.getFunctionIndex(__ZN13btGhostObjectC2Ev, "__ZN13btGhostObjectC2Ev");
  
  
  function __Z9btRayAabbRK9btVector3S1_S1_S1_RfRS_(_rayFrom, _rayTo, _aabbMin, _aabbMax, _param, _normal) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var __lastLabel__ = null;
    var _aabbHalfExtent = __stackBase__;
    var _source = __stackBase__+16;
    var _r = __stackBase__+32;
    var _hitNormal = __stackBase__+48;
    var _0 = _aabbMax+8;
    var _1 = FHEAP[_0];
    var _2 = _aabbMin+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _aabbMax+4;
    var _6 = FHEAP[_5];
    var _7 = _aabbMin+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _aabbMax;
    var _11 = FHEAP[_10];
    var _12 = _aabbMin;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _4 * 0.5;
    var _16 = _9 * 0.5;
    var _17 = _14 * 0.5;
    var _18 = _aabbHalfExtent;
    FHEAP[_18] = _17;
    var _19 = _aabbHalfExtent+4;
    FHEAP[_19] = _16;
    var _20 = _aabbHalfExtent+8;
    FHEAP[_20] = _15;
    var _21 = _aabbHalfExtent+12;
    FHEAP[_21] = 0;
    var _22 = _1 + _3;
    var _23 = _6 + _8;
    var _24 = _11 + _13;
    var _25 = _22 * 0.5;
    var _26 = _23 * 0.5;
    var _27 = _24 * 0.5;
    var _28 = _rayFrom+8;
    var _29 = FHEAP[_28];
    var _30 = _29 - _25;
    var _31 = _rayFrom+4;
    var _32 = FHEAP[_31];
    var _33 = _32 - _26;
    var _34 = _rayFrom;
    var _35 = FHEAP[_34];
    var _36 = _35 - _27;
    var _37 = _source;
    FHEAP[_37] = _36;
    var _38 = _source+4;
    FHEAP[_38] = _33;
    var _39 = _source+8;
    FHEAP[_39] = _30;
    var _40 = _source+12;
    FHEAP[_40] = 0;
    var _41 = _rayTo+8;
    var _42 = FHEAP[_41];
    var _43 = _42 - _25;
    var _44 = _rayTo+4;
    var _45 = FHEAP[_44];
    var _46 = _45 - _26;
    var _47 = _rayTo;
    var _48 = FHEAP[_47];
    var _49 = _48 - _27;
    var _50 = 0 - _17;
    var _51 = _36 < _50;
    var _iftmp_187_0_i18 = _51;
    var _52 = _36 > _17;
    var _iftmp_188_0_i19 = _52 ? 8 : 0;
    var _53 = 0 - _16;
    var _54 = _33 < _53;
    var _iftmp_189_0_i20 = _54 ? 2 : 0;
    var _55 = _33 > _16;
    var _iftmp_190_0_i21 = _55 ? 16 : 0;
    var _56 = 0 - _15;
    var _57 = _30 < _56;
    var _iftmp_191_0_i22 = _57 ? 4 : 0;
    var _58 = _30 > _15;
    var _iftmp_192_0_i23 = _58 ? 32 : 0;
    var _59 = _iftmp_187_0_i18 | _iftmp_188_0_i19;
    var _60 = _59 | _iftmp_190_0_i21;
    var _61 = _60 | _iftmp_189_0_i20;
    var _62 = _61 | _iftmp_192_0_i23;
    var _63 = _62 | _iftmp_191_0_i22;
    var _64 = _49 < _50;
    var _iftmp_187_0_i = _64;
    var _65 = _49 > _17;
    var _iftmp_188_0_i = _65 ? 8 : 0;
    var _66 = _46 < _53;
    var _iftmp_189_0_i = _66 ? 2 : 0;
    var _67 = _46 > _16;
    var _iftmp_190_0_i = _67 ? 16 : 0;
    var _68 = _43 < _56;
    var _iftmp_191_0_i = _68 ? 4 : 0;
    var _69 = _43 > _15;
    var _iftmp_192_0_i = _69 ? 32 : 0;
    var _70 = _iftmp_187_0_i | _iftmp_188_0_i;
    var _71 = _70 | _iftmp_190_0_i;
    var _72 = _71 | _iftmp_192_0_i;
    var _73 = _72 | _iftmp_189_0_i;
    var _74 = _73 | _iftmp_191_0_i;
    var _75 = _74 & _63;
    var _76 = _75 == 0;
    ;
    _bb_nph49$_bb15$6892: do { 
      if (_76) {
        ;
        var _105 = FHEAP[_param];
        var _106 = _43 - _30;
        var _107 = _46 - _33;
        var _108 = _49 - _36;
        var _109 = _r;
        FHEAP[_109] = _108;
        var _110 = _r+4;
        FHEAP[_110] = _107;
        var _111 = _r+8;
        FHEAP[_111] = _106;
        var _112 = _r+12;
        FHEAP[_112] = 0;
        var _113 = _hitNormal;
        FHEAP[_113] = 0;
        var _114 = _hitNormal+4;
        FHEAP[_114] = 0;
        var _115 = _hitNormal+8;
        FHEAP[_115] = 0;
        var _116 = _hitNormal+12;
        FHEAP[_116] = 0;
        __lastLabel__ = 273; ;
        _bb_nph$6894: while(1) { // _bb_nph
          var _lambda_exit_344 = __lastLabel__ == 273 ? _105 : (_lambda_exit_1_2);
          var _lambda_enter_245 = __lastLabel__ == 273 ? 0 : (_lambda_enter_0_2);
          var _normSign_046 = __lastLabel__ == 273 ? 1 : (-1);
          var _bit_147 = __lastLabel__ == 273 ? 1 : (_103);
          var _j_048 = __lastLabel__ == 273 ? 0 : (_104);
          var _77 = __lastLabel__ == 273 ? 0 : (_102);
          var _78 = __lastLabel__ == 273 ? 0 : (_101);
          var _79 = __lastLabel__ == 273 ? 0 : (_100);
          var _80 = _bit_147 & _63;
          var _81 = _80 == 0;
          ;
          _bb5$_bb3$6896: do { 
            if (_81) {
              ;
              var _87 = _bit_147 & _74;
              var _88 = _87 == 0;
              if (_88) { __lastLabel__ = 82; __label__ = 148; /* _bb8 */ break _bb5$_bb3$6896; } else { __lastLabel__ = 82; ; }
              var _89 = 0 - _36;
              var _90 = _17 * _normSign_046;
              var _91 = _89 - _90;
              var _92 = _91 / _108;
              var _93 = _92 < _lambda_exit_344;
              if (_93) { __lastLabel__ = 83; __label__ = 148; /* _bb8 */ break _bb5$_bb3$6896; } else { __lastLabel__ = 83; ; }
              __lastLabel__ = 1368; ;
            }
            else {
              ;
              var _82 = 0 - _36;
              var _83 = _17 * _normSign_046;
              var _84 = _82 - _83;
              var _85 = _84 / _108;
              var _86 = _lambda_enter_245 > _85;
              if (_86) { __lastLabel__ = 116; __label__ = 148; /* _bb8 */ break _bb5$_bb3$6896; } else { __lastLabel__ = 116; ; }
              FHEAP[_114] = 0;
              FHEAP[_115] = 0;
              FHEAP[_116] = 0;
              FHEAP[_113] = _normSign_046;
              __lastLabel__ = 61; ;
            }
          } while(0);
          var _94 = __lastLabel__ == 82 ? _79 : (__lastLabel__ == 116 ? _79 : (__lastLabel__ == 61 ? 0 : (__lastLabel__ == 1368 ? _79 : (_79))));
          var _95 = __lastLabel__ == 82 ? _78 : (__lastLabel__ == 116 ? _78 : (__lastLabel__ == 61 ? 0 : (__lastLabel__ == 1368 ? _78 : (_78))));
          var _96 = __lastLabel__ == 82 ? _77 : (__lastLabel__ == 116 ? _77 : (__lastLabel__ == 61 ? _normSign_046 : (__lastLabel__ == 1368 ? _77 : (_77))));
          var _lambda_exit_1 = __lastLabel__ == 82 ? _lambda_exit_344 : (__lastLabel__ == 116 ? _lambda_exit_344 : (__lastLabel__ == 61 ? _lambda_exit_344 : (__lastLabel__ == 1368 ? _lambda_exit_344 : (_92))));
          var _lambda_enter_0 = __lastLabel__ == 82 ? _lambda_enter_245 : (__lastLabel__ == 116 ? _lambda_enter_245 : (__lastLabel__ == 61 ? _85 : (__lastLabel__ == 1368 ? _lambda_enter_245 : (_lambda_enter_245))));
          var _97 = _bit_147 << 1;
          var _98 = _97 & _63;
          var _99 = _98 == 0;
          ;
          _bb5_1$_bb3_1$6903: do { 
            if (_99) {
              ;
              var _133 = _97 & _74;
              var _134 = _133 == 0;
              if (_134) { __lastLabel__ = 1372; __label__ = 1371; /* _bb8_1 */ break _bb5_1$_bb3_1$6903; } else { __lastLabel__ = 1372; ; }
              var _135 = 0 - _33;
              var _136 = _16 * _normSign_046;
              var _137 = _135 - _136;
              var _138 = _137 / _107;
              var _139 = _138 < _lambda_exit_1;
              if (_139) { __lastLabel__ = 778; __label__ = 1371; /* _bb8_1 */ break _bb5_1$_bb3_1$6903; } else { __lastLabel__ = 778; ; }
              __lastLabel__ = 1373; ;
            }
            else {
              ;
              var _128 = 0 - _33;
              var _129 = _16 * _normSign_046;
              var _130 = _128 - _129;
              var _131 = _130 / _107;
              var _132 = _lambda_enter_0 > _131;
              if (_132) { __lastLabel__ = 776; __label__ = 1371; /* _bb8_1 */ break _bb5_1$_bb3_1$6903; } else { __lastLabel__ = 776; ; }
              FHEAP[_113] = 0;
              FHEAP[_115] = 0;
              FHEAP[_116] = 0;
              FHEAP[_114] = _normSign_046;
              __lastLabel__ = 1369; ;
            }
          } while(0);
          var _122 = __lastLabel__ == 1372 ? _94 : (__lastLabel__ == 776 ? _94 : (__lastLabel__ == 1369 ? 0 : (__lastLabel__ == 1373 ? _94 : (_94))));
          var _123 = __lastLabel__ == 1372 ? _95 : (__lastLabel__ == 776 ? _95 : (__lastLabel__ == 1369 ? _normSign_046 : (__lastLabel__ == 1373 ? _95 : (_95))));
          var _124 = __lastLabel__ == 1372 ? _96 : (__lastLabel__ == 776 ? _96 : (__lastLabel__ == 1369 ? 0 : (__lastLabel__ == 1373 ? _96 : (_96))));
          var _lambda_exit_1_1 = __lastLabel__ == 1372 ? _lambda_exit_1 : (__lastLabel__ == 776 ? _lambda_exit_1 : (__lastLabel__ == 1369 ? _lambda_exit_1 : (__lastLabel__ == 1373 ? _lambda_exit_1 : (_138))));
          var _lambda_enter_0_1 = __lastLabel__ == 1372 ? _lambda_enter_0 : (__lastLabel__ == 776 ? _lambda_enter_0 : (__lastLabel__ == 1369 ? _131 : (__lastLabel__ == 1373 ? _lambda_enter_0 : (_lambda_enter_0))));
          var _125 = _bit_147 << 2;
          var _126 = _125 & _63;
          var _127 = _126 == 0;
          ;
          _bb5_2$_bb3_2$6910: do { 
            if (_127) {
              ;
              var _145 = _125 & _74;
              var _146 = _145 == 0;
              if (_146) { __lastLabel__ = 1376; __label__ = 150; /* _bb10 */ break _bb5_2$_bb3_2$6910; } else { __lastLabel__ = 1376; ; }
              var _147 = 0 - _30;
              var _148 = _15 * _normSign_046;
              var _149 = _147 - _148;
              var _150 = _149 / _106;
              var _151 = _150 < _lambda_exit_1_1;
              if (_151) { __lastLabel__ = 780; __label__ = 150; /* _bb10 */ break _bb5_2$_bb3_2$6910; } else { __lastLabel__ = 780; ; }
              __lastLabel__ = 1377; ;
            }
            else {
              ;
              var _140 = 0 - _30;
              var _141 = _15 * _normSign_046;
              var _142 = _140 - _141;
              var _143 = _142 / _106;
              var _144 = _lambda_enter_0_1 > _143;
              if (_144) { __lastLabel__ = 781; __label__ = 150; /* _bb10 */ break _bb5_2$_bb3_2$6910; } else { __lastLabel__ = 781; ; }
              FHEAP[_113] = 0;
              FHEAP[_114] = 0;
              FHEAP[_116] = 0;
              FHEAP[_115] = _normSign_046;
              __lastLabel__ = 1374; ;
            }
          } while(0);
          var _100 = __lastLabel__ == 1376 ? _122 : (__lastLabel__ == 781 ? _122 : (__lastLabel__ == 1374 ? _normSign_046 : (__lastLabel__ == 1377 ? _122 : (_122))));
          var _101 = __lastLabel__ == 1376 ? _123 : (__lastLabel__ == 781 ? _123 : (__lastLabel__ == 1374 ? 0 : (__lastLabel__ == 1377 ? _123 : (_123))));
          var _102 = __lastLabel__ == 1376 ? _124 : (__lastLabel__ == 781 ? _124 : (__lastLabel__ == 1374 ? 0 : (__lastLabel__ == 1377 ? _124 : (_124))));
          var _lambda_exit_1_2 = __lastLabel__ == 1376 ? _lambda_exit_1_1 : (__lastLabel__ == 781 ? _lambda_exit_1_1 : (__lastLabel__ == 1374 ? _lambda_exit_1_1 : (__lastLabel__ == 1377 ? _lambda_exit_1_1 : (_150))));
          var _lambda_enter_0_2 = __lastLabel__ == 1376 ? _lambda_enter_0_1 : (__lastLabel__ == 781 ? _lambda_enter_0_1 : (__lastLabel__ == 1374 ? _143 : (__lastLabel__ == 1377 ? _lambda_enter_0_1 : (_lambda_enter_0_1))));
          var _103 = _bit_147 << 3;
          var _104 = _j_048 + 1;
          var _exitcond = _104 == 2;
          if (_exitcond) { __lastLabel__ = 150; __label__ = 3; /* _bb12 */ break _bb_nph$6894; } else { __lastLabel__ = 150; __label__ = 130; /* _bb_nph */ continue _bb_nph$6894; }
        }
        var _117 = _lambda_enter_0_2 > _lambda_exit_1_2;
        if (_117) { __label__ = 153; /* _bb15 */ break _bb_nph49$_bb15$6892; }
        FHEAP[_param] = _lambda_enter_0_2;
        var _118 = _normal;
        FHEAP[_118] = _102;
        var _119 = _normal+4;
        FHEAP[_119] = _101;
        var _120 = _normal+8;
        FHEAP[_120] = _100;
        var _121 = _normal+12;
        FHEAP[_121] = 0;
        STACKTOP = __stackBase__;
        return 1;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return 0;
  }
  __Z9btRayAabbRK9btVector3S1_S1_S1_RfRS_.__index__ = Runtime.getFunctionIndex(__Z9btRayAabbRK9btVector3S1_S1_S1_RfRS_, "__Z9btRayAabbRK9btVector3S1_S1_S1_RfRS_");
  
  
  function __ZN13btGhostObject31removeOverlappingObjectInternalEP17btBroadphaseProxyP12btDispatcherS1_(_this, _otherProxy, _dispatcher, _thisProxy) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _otherProxy;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = _this+256+4;
    var _4 = IHEAP[_3];
    var _5 = _this+256+12;
    __lastLabel__ = -1; ;
    _bb3_i$6933: while(1) { // _bb3_i
      var _10 = __lastLabel__ == -1 ? 0 : (_9);
      var _11 = _4 > _10;
      if (_11) { __lastLabel__ = 133; ; } else { __lastLabel__ = 133; __label__ = 1379; /* __ZNK20btAlignedObjectArrayIP17btCollisionObjectE16findLinearSearchERKS1__exit */ break _bb3_i$6933; }
      var _6 = IHEAP[_5];
      var _scevgep_i = _6+4*_10;
      var _7 = IHEAP[_scevgep_i];
      var _8 = _7 == _2;
      if (_8) { __lastLabel__ = 131; __label__ = 1379; /* __ZNK20btAlignedObjectArrayIP17btCollisionObjectE16findLinearSearchERKS1__exit */ break _bb3_i$6933; } else { __lastLabel__ = 131; ; }
      var _9 = _10 + 1;
      __lastLabel__ = 132; __label__ = 133; /* _bb3_i */ continue _bb3_i$6933;
    }
    var _index_0_i = __lastLabel__ == 133 ? _4 : (_10);
    var _12 = _4 > _index_0_i;
    ;
    if (_12) {
      ;
      var _13 = IHEAP[_5];
      var _14 = _13+4*_index_0_i;
      var _15 = _4 + -1;
      var _16 = _13+4*_15;
      var _17 = IHEAP[_16];
      IHEAP[_14] = _17;
      var _18 = IHEAP[_3];
      var _19 = _18 + -1;
      IHEAP[_3] = _19;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN13btGhostObject31removeOverlappingObjectInternalEP17btBroadphaseProxyP12btDispatcherS1_.__index__ = Runtime.getFunctionIndex(__ZN13btGhostObject31removeOverlappingObjectInternalEP17btBroadphaseProxyP12btDispatcherS1_, "__ZN13btGhostObject31removeOverlappingObjectInternalEP17btBroadphaseProxyP12btDispatcherS1_");
  
  
  function __ZN13btGhostObjectC1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    __ZN17btCollisionObjectC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV13btGhostObject+8;
    var _2 = _this+256+16;
    IHEAP[_2] = 1;
    var _3 = _this+256+12;
    IHEAP[_3] = 0;
    var _4 = _this+256+4;
    IHEAP[_4] = 0;
    var _5 = _this+256+8;
    IHEAP[_5] = 0;
    var _6 = _this+232;
    IHEAP[_6] = 4;
    ;
    return;
  }
  __ZN13btGhostObjectC1Ev.__index__ = Runtime.getFunctionIndex(__ZN13btGhostObjectC1Ev, "__ZN13btGhostObjectC1Ev");
  
  
  function __ZN23btConnectivityProcessorD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btConnectivityProcessor+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    ;
    return;
  }
  __ZN23btConnectivityProcessorD1Ev.__index__ = Runtime.getFunctionIndex(__ZN23btConnectivityProcessorD1Ev, "__ZN23btConnectivityProcessorD1Ev");
  
  
  function __ZN23btConnectivityProcessorD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btConnectivityProcessor+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZN23btConnectivityProcessorD0Ev.__index__ = Runtime.getFunctionIndex(__ZN23btConnectivityProcessorD0Ev, "__ZN23btConnectivityProcessorD0Ev");
  
  
  function __Z27btNearestPointInLineSegmentRK9btVector3S1_S1_RS_(_point, _line0, _line1, _nearestPoint) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _line1+8;
    var _1 = FHEAP[_0];
    var _2 = _line0+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _line1+4;
    var _6 = FHEAP[_5];
    var _7 = _line0+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _line1;
    var _11 = FHEAP[_10];
    var _12 = _line0;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _14 * _14;
    var _16 = _9 * _9;
    var _17 = _15 + _16;
    var _18 = _4 * _4;
    var _19 = _17 + _18;
    var _20 = _19 < 1.1920928955078125e-7;
    ;
    if (_20) {
      ;
      var _21 = _nearestPoint;
      FHEAP[_21] = _13;
      var _22 = _nearestPoint+4;
      var _23 = FHEAP[_7];
      FHEAP[_22] = _23;
      var _24 = _nearestPoint+8;
      var _25 = FHEAP[_2];
      FHEAP[_24] = _25;
      var _26 = _nearestPoint+12;
      var _27 = _line0+12;
      var _28 = FHEAP[_27];
      FHEAP[_26] = _28;
      ;
      return;
    }
    else {
      ;
      var _29 = _point+8;
      var _30 = FHEAP[_29];
      var _31 = _30 - _3;
      var _32 = _point+4;
      var _33 = FHEAP[_32];
      var _34 = _33 - _8;
      var _35 = _point;
      var _36 = FHEAP[_35];
      var _37 = _36 - _13;
      var _38 = _37 * _14;
      var _39 = _34 * _9;
      var _40 = _38 + _39;
      var _41 = _31 * _4;
      var _42 = _40 + _41;
      var _43 = _42 / _19;
      var _44 = _43 < 0;
      ;
      _bb5$_bb3$7350: do { 
        if (_44) {
          __lastLabel__ = 75; ;
        }
        else {
          __lastLabel__ = 75; ;
          var _45 = _43 > 1;
          if (_45) { __lastLabel__ = 116; ; } else { __lastLabel__ = 116; __label__ = 82; /* _bb5 */ break _bb5$_bb3$7350; }
          __lastLabel__ = 61; ;
        }
      } while(0);
      var _delta_0 = __lastLabel__ == 61 ? 1 : (__lastLabel__ == 116 ? _43 : (0));
      var _46 = _4 * _delta_0;
      var _47 = _9 * _delta_0;
      var _48 = _14 * _delta_0;
      var _49 = _3 + _46;
      var _50 = _8 + _47;
      var _51 = _13 + _48;
      var _52 = _nearestPoint;
      FHEAP[_52] = _51;
      var _53 = _nearestPoint+4;
      FHEAP[_53] = _50;
      var _54 = _nearestPoint+8;
      FHEAP[_54] = _49;
      var _55 = _nearestPoint+12;
      FHEAP[_55] = 0;
      ;
      return;
    }
  }
  __Z27btNearestPointInLineSegmentRK9btVector3S1_S1_RS_.__index__ = Runtime.getFunctionIndex(__Z27btNearestPointInLineSegmentRK9btVector3S1_S1_RS_, "__Z27btNearestPointInLineSegmentRK9btVector3S1_S1_RS_");
  
  
  function __ZN9btHashMapI9btHashInt14btTriangleInfoE10growTablesERKS0_(_this, _unnamed_arg) {
    var __stackBase__  = STACKTOP; STACKTOP += 2;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = _this+40+8;
    var _3 = IHEAP[_2];
    var _4 = _this+4;
    var _5 = IHEAP[_4];
    var _6 = _5 < _3;
    ;
    _bb$_return$7508: do { 
      if (_6) {
        ;
        IHEAP[_1] = 0;
        var _7 = _this;
        __ZN20btAlignedObjectArrayIiE6resizeEiRKi(_7, _3, _1);
        IHEAP[_0] = 0;
        var _8 = _this+20;
        __ZN20btAlignedObjectArrayIiE6resizeEiRKi(_8, _3, _0);
        var _9 = _3 > 0;
        ;
        _bb_nph14$_bb8_preheader$7510: do { 
          if (_9) {
            ;
            var _10 = _this+12;
            __lastLabel__ = 750; ;
            _bb1$7512: while(1) { // _bb1
              var _i_013 = __lastLabel__ == 750 ? 0 : (_12);
              var _11 = IHEAP[_10];
              var _scevgep20 = _11+4*_i_013;
              IHEAP[_scevgep20] = -1;
              var _12 = _i_013 + 1;
              var _exitcond19 = _12 == _3;
              if (_exitcond19) { __lastLabel__ = 75; __label__ = 269; /* _bb5_preheader */ break _bb1$7512; } else { __lastLabel__ = 75; __label__ = 75; /* _bb1 */ continue _bb1$7512; }
            }
            if (!(_9)) { __label__ = 752; /* _bb8_preheader */ break _bb_nph14$_bb8_preheader$7510; }
            var _13 = _this+20+12;
            __lastLabel__ = 751; ;
            _bb4$7516: while(1) { // _bb4
              var _i_111 = __lastLabel__ == 751 ? 0 : (_15);
              var _14 = IHEAP[_13];
              var _scevgep18 = _14+4*_i_111;
              IHEAP[_scevgep18] = -1;
              var _15 = _i_111 + 1;
              var _exitcond17 = _15 == _3;
              if (_exitcond17) { __lastLabel__ = 61; __label__ = 752; /* _bb8_preheader */ break _bb_nph14$_bb8_preheader$7510; } else { __lastLabel__ = 61; __label__ = 61; /* _bb4 */ continue _bb4$7516; }
            }
          }
        } while(0);
        var _16 = _5 > 0;
        if (!(_16)) { __label__ = 44; /* _return */ break _bb$_return$7508; }
        var _17 = _this+60+12;
        var _18 = _this+20+12;
        var _19 = _this+12;
        __lastLabel__ = 130; ;
        _bb7$7520: while(1) { // _bb7
          var _20 = __lastLabel__ == 130 ? 0 : (_43);
          var _21 = IHEAP[_17];
          var _scevgep1516 = _21+4*_20;
          var _22 = IHEAP[_scevgep1516];
          var _23 = _22 << 15;
          var _not_i = _23 ^ -1;
          var _24 = _22 + _not_i;
          var _25 = _24 >> 10;
          var _26 = _25 ^ _24;
          var _27 = _26 * 9;
          var _28 = _27 >> 6;
          var _29 = _28 ^ _27;
          var _30 = _29 << 11;
          var _not2_i = _30 ^ -1;
          var _31 = _29 + _not2_i;
          var _32 = _31 >> 16;
          var _33 = _32 ^ _31;
          var _34 = IHEAP[_2];
          var _35 = _34 + -1;
          var _36 = _33 & _35;
          var _37 = IHEAP[_18];
          var _38 = IHEAP[_19];
          var _39 = _38+4*_36;
          var _40 = IHEAP[_39];
          var _scevgep = _37+4*_20;
          IHEAP[_scevgep] = _40;
          var _41 = IHEAP[_19];
          var _42 = _41+4*_36;
          IHEAP[_42] = _20;
          var _43 = _20 + 1;
          var _exitcond = _43 == _5;
          if (_exitcond) { __lastLabel__ = 2; __label__ = 44; /* _return */ break _bb$_return$7508; } else { __lastLabel__ = 2; __label__ = 2; /* _bb7 */ continue _bb7$7520; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN9btHashMapI9btHashInt14btTriangleInfoE10growTablesERKS0_.__index__ = Runtime.getFunctionIndex(__ZN9btHashMapI9btHashInt14btTriangleInfoE10growTablesERKS0_, "__ZN9btHashMapI9btHashInt14btTriangleInfoE10growTablesERKS0_");
  
  
  function __ZN9btHashMapI9btHashInt14btTriangleInfoE6insertERKS0_RKS1_(_this, _key, _value) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _key;
    var _1 = IHEAP[_0];
    var _2 = _1 << 15;
    var _not_i = _2 ^ -1;
    var _3 = _1 + _not_i;
    var _4 = _3 >> 10;
    var _5 = _4 ^ _3;
    var _6 = _5 * 9;
    var _7 = _6 >> 6;
    var _8 = _7 ^ _6;
    var _9 = _8 << 11;
    var _not2_i = _9 ^ -1;
    var _10 = _8 + _not2_i;
    var _11 = _10 >> 16;
    var _12 = _11 ^ _10;
    var _13 = _this+40+8;
    var _14 = IHEAP[_13];
    var _15 = _14 + -1;
    var _16 = _12 & _15;
    var _17 = _this+4;
    var _18 = IHEAP[_17];
    var _19 = unSign(_18, 32) > unSign(_16, 32);
    ;
    _bb1_i$_bb1$7524: do { 
      if (_19) {
        ;
        var _20 = _this+12;
        var _21 = IHEAP[_20];
        var _22 = _21+4*_16;
        var _23 = _this+60+12;
        var _24 = _this+20+12;
        __lastLabel__ = 159; ;
        _bb3_i$7526: while(1) { // _bb3_i
          var _index_0_in_i = __lastLabel__ == 159 ? _22 : (_26);
          var _index_0_i = IHEAP[_index_0_in_i];
          var _27 = _index_0_i == -1;
          if (_27) { __label__ = 75; /* _bb1 */ break _bb1_i$_bb1$7524; }
          var _28 = IHEAP[_23];
          var _29 = _28+4*_index_0_i;
          var _30 = IHEAP[_29];
          var _31 = _1 == _30;
          if (_31) { __label__ = 60; /* _bb */ break _bb3_i$7526; }
          var _25 = IHEAP[_24];
          var _26 = _25+4*_index_0_i;
          __lastLabel__ = 132; __label__ = 133; /* _bb3_i */ continue _bb3_i$7526;
        }
        var _32 = _this+40+12;
        var _33 = IHEAP[_32];
        var _34 = _33+16*_index_0_i;
        var _35 = _value;
        var _36 = IHEAP[_35];
        IHEAP[_34] = _36;
        var _37 = _33+16*_index_0_i+4;
        var _38 = _value+4;
        var _39 = FHEAP[_38];
        FHEAP[_37] = _39;
        var _40 = _33+16*_index_0_i+8;
        var _41 = _value+8;
        var _42 = FHEAP[_41];
        FHEAP[_40] = _42;
        var _43 = _33+16*_index_0_i+12;
        var _44 = _value+12;
        var _45 = FHEAP[_44];
        FHEAP[_43] = _45;
        ;
        return;
      }
    } while(0);
    var _46 = _this+40+4;
    var _47 = IHEAP[_46];
    var _48 = _this+40;
    __ZN20btAlignedObjectArrayI14btTriangleInfoE9push_backERKS0_(_48, _value);
    var _49 = _this+60;
    __ZN20btAlignedObjectArrayI9btHashIntE9push_backERKS0_(_49, _key);
    var _50 = IHEAP[_13];
    var _51 = _14 < _50;
    ;
    if (_51) {
      __lastLabel__ = 75; ;
      __ZN9btHashMapI9btHashInt14btTriangleInfoE10growTablesERKS0_(_this, _key);
      var _52 = IHEAP[_0];
      var _53 = _52 << 15;
      var _not_i5 = _53 ^ -1;
      var _54 = _52 + _not_i5;
      var _55 = _54 >> 10;
      var _56 = _55 ^ _54;
      var _57 = _56 * 9;
      var _58 = _57 >> 6;
      var _59 = _58 ^ _57;
      var _60 = _59 << 11;
      var _not2_i6 = _60 ^ -1;
      var _61 = _59 + _not2_i6;
      var _62 = _61 >> 16;
      var _63 = _62 ^ _61;
      var _64 = IHEAP[_13];
      var _65 = _64 + -1;
      var _66 = _63 & _65;
      __lastLabel__ = 0; ;
    }
    else {
      __lastLabel__ = 75; ;
    }
    var _hash_0 = __lastLabel__ == 0 ? _66 : (_16);
    var _67 = _this+20+12;
    var _68 = IHEAP[_67];
    var _69 = _68+4*_47;
    var _70 = _this+12;
    var _71 = IHEAP[_70];
    var _72 = _71+4*_hash_0;
    var _73 = IHEAP[_72];
    IHEAP[_69] = _73;
    var _74 = IHEAP[_70];
    var _75 = _74+4*_hash_0;
    IHEAP[_75] = _47;
    ;
    return;
  }
  __ZN9btHashMapI9btHashInt14btTriangleInfoE6insertERKS0_RKS1_.__index__ = Runtime.getFunctionIndex(__ZN9btHashMapI9btHashInt14btTriangleInfoE6insertERKS0_RKS1_, "__ZN9btHashMapI9btHashInt14btTriangleInfoE6insertERKS0_RKS1_");
  
  
  function __ZN16btManifoldResultC2EP17btCollisionObjectS1_(_this, _body0, _body1) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btManifoldResult+8;
    var _1 = _this+4;
    IHEAP[_1] = 0;
    var _2 = _this+136;
    IHEAP[_2] = _body0;
    var _3 = _this+140;
    IHEAP[_3] = _body1;
    var _4 = _this+8;
    var _5 = _body0+4;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _this+8+4;
    var _8 = _body0+4+4;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _this+8+8;
    var _11 = _body0+4+8;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _this+8+12;
    var _14 = _body0+4+12;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    var _16 = _this+8+16;
    var _17 = _body0+4+16;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _this+8+16+4;
    var _20 = _body0+4+16+4;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _this+8+16+8;
    var _23 = _body0+4+16+8;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    var _25 = _this+8+16+12;
    var _26 = _body0+4+16+12;
    var _27 = FHEAP[_26];
    FHEAP[_25] = _27;
    var _28 = _this+8+32;
    var _29 = _body0+4+32;
    var _30 = FHEAP[_29];
    FHEAP[_28] = _30;
    var _31 = _this+8+32+4;
    var _32 = _body0+4+32+4;
    var _33 = FHEAP[_32];
    FHEAP[_31] = _33;
    var _34 = _this+8+32+8;
    var _35 = _body0+4+32+8;
    var _36 = FHEAP[_35];
    FHEAP[_34] = _36;
    var _37 = _this+8+32+12;
    var _38 = _body0+4+32+12;
    var _39 = FHEAP[_38];
    FHEAP[_37] = _39;
    var _40 = _this+8+48;
    var _41 = _body0+4+48;
    var _42 = FHEAP[_41];
    FHEAP[_40] = _42;
    var _43 = _this+8+48+4;
    var _44 = _body0+4+48+4;
    var _45 = FHEAP[_44];
    FHEAP[_43] = _45;
    var _46 = _this+8+48+8;
    var _47 = _body0+4+48+8;
    var _48 = FHEAP[_47];
    FHEAP[_46] = _48;
    var _49 = _this+8+48+12;
    var _50 = _body0+4+48+12;
    var _51 = FHEAP[_50];
    FHEAP[_49] = _51;
    var _52 = _this+72;
    var _53 = _body1+4;
    var _54 = FHEAP[_53];
    FHEAP[_52] = _54;
    var _55 = _this+72+4;
    var _56 = _body1+4+4;
    var _57 = FHEAP[_56];
    FHEAP[_55] = _57;
    var _58 = _this+72+8;
    var _59 = _body1+4+8;
    var _60 = FHEAP[_59];
    FHEAP[_58] = _60;
    var _61 = _this+72+12;
    var _62 = _body1+4+12;
    var _63 = FHEAP[_62];
    FHEAP[_61] = _63;
    var _64 = _this+72+16;
    var _65 = _body1+4+16;
    var _66 = FHEAP[_65];
    FHEAP[_64] = _66;
    var _67 = _this+72+16+4;
    var _68 = _body1+4+16+4;
    var _69 = FHEAP[_68];
    FHEAP[_67] = _69;
    var _70 = _this+72+16+8;
    var _71 = _body1+4+16+8;
    var _72 = FHEAP[_71];
    FHEAP[_70] = _72;
    var _73 = _this+72+16+12;
    var _74 = _body1+4+16+12;
    var _75 = FHEAP[_74];
    FHEAP[_73] = _75;
    var _76 = _this+72+32;
    var _77 = _body1+4+32;
    var _78 = FHEAP[_77];
    FHEAP[_76] = _78;
    var _79 = _this+72+32+4;
    var _80 = _body1+4+32+4;
    var _81 = FHEAP[_80];
    FHEAP[_79] = _81;
    var _82 = _this+72+32+8;
    var _83 = _body1+4+32+8;
    var _84 = FHEAP[_83];
    FHEAP[_82] = _84;
    var _85 = _this+72+32+12;
    var _86 = _body1+4+32+12;
    var _87 = FHEAP[_86];
    FHEAP[_85] = _87;
    var _88 = _this+72+48;
    var _89 = _body1+4+48;
    var _90 = FHEAP[_89];
    FHEAP[_88] = _90;
    var _91 = _this+72+48+4;
    var _92 = _body1+4+48+4;
    var _93 = FHEAP[_92];
    FHEAP[_91] = _93;
    var _94 = _this+72+48+8;
    var _95 = _body1+4+48+8;
    var _96 = FHEAP[_95];
    FHEAP[_94] = _96;
    var _97 = _this+72+48+12;
    var _98 = _body1+4+48+12;
    var _99 = FHEAP[_98];
    FHEAP[_97] = _99;
    ;
    return;
  }
  __ZN16btManifoldResultC2EP17btCollisionObjectS1_.__index__ = Runtime.getFunctionIndex(__ZN16btManifoldResultC2EP17btCollisionObjectS1_, "__ZN16btManifoldResultC2EP17btCollisionObjectS1_");
  
  
  function __ZN16btManifoldResultD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btManifoldResult+8;
    ;
    return;
  }
  __ZN16btManifoldResultD1Ev.__index__ = Runtime.getFunctionIndex(__ZN16btManifoldResultD1Ev, "__ZN16btManifoldResultD1Ev");
  
  
  function __ZN16btManifoldResultD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btManifoldResult+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN16btManifoldResultD0Ev.__index__ = Runtime.getFunctionIndex(__ZN16btManifoldResultD0Ev, "__ZN16btManifoldResultD0Ev");
  
  
  function __ZN16btManifoldResultC1EP17btCollisionObjectS1_(_this, _body0, _body1) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btManifoldResult+8;
    var _1 = _this+4;
    IHEAP[_1] = 0;
    var _2 = _this+136;
    IHEAP[_2] = _body0;
    var _3 = _this+140;
    IHEAP[_3] = _body1;
    var _4 = _this+8;
    var _5 = _body0+4;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _this+8+4;
    var _8 = _body0+4+4;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _this+8+8;
    var _11 = _body0+4+8;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _this+8+12;
    var _14 = _body0+4+12;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    var _16 = _this+8+16;
    var _17 = _body0+4+16;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _this+8+16+4;
    var _20 = _body0+4+16+4;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _this+8+16+8;
    var _23 = _body0+4+16+8;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    var _25 = _this+8+16+12;
    var _26 = _body0+4+16+12;
    var _27 = FHEAP[_26];
    FHEAP[_25] = _27;
    var _28 = _this+8+32;
    var _29 = _body0+4+32;
    var _30 = FHEAP[_29];
    FHEAP[_28] = _30;
    var _31 = _this+8+32+4;
    var _32 = _body0+4+32+4;
    var _33 = FHEAP[_32];
    FHEAP[_31] = _33;
    var _34 = _this+8+32+8;
    var _35 = _body0+4+32+8;
    var _36 = FHEAP[_35];
    FHEAP[_34] = _36;
    var _37 = _this+8+32+12;
    var _38 = _body0+4+32+12;
    var _39 = FHEAP[_38];
    FHEAP[_37] = _39;
    var _40 = _this+8+48;
    var _41 = _body0+4+48;
    var _42 = FHEAP[_41];
    FHEAP[_40] = _42;
    var _43 = _this+8+48+4;
    var _44 = _body0+4+48+4;
    var _45 = FHEAP[_44];
    FHEAP[_43] = _45;
    var _46 = _this+8+48+8;
    var _47 = _body0+4+48+8;
    var _48 = FHEAP[_47];
    FHEAP[_46] = _48;
    var _49 = _this+8+48+12;
    var _50 = _body0+4+48+12;
    var _51 = FHEAP[_50];
    FHEAP[_49] = _51;
    var _52 = _this+72;
    var _53 = _body1+4;
    var _54 = FHEAP[_53];
    FHEAP[_52] = _54;
    var _55 = _this+72+4;
    var _56 = _body1+4+4;
    var _57 = FHEAP[_56];
    FHEAP[_55] = _57;
    var _58 = _this+72+8;
    var _59 = _body1+4+8;
    var _60 = FHEAP[_59];
    FHEAP[_58] = _60;
    var _61 = _this+72+12;
    var _62 = _body1+4+12;
    var _63 = FHEAP[_62];
    FHEAP[_61] = _63;
    var _64 = _this+72+16;
    var _65 = _body1+4+16;
    var _66 = FHEAP[_65];
    FHEAP[_64] = _66;
    var _67 = _this+72+16+4;
    var _68 = _body1+4+16+4;
    var _69 = FHEAP[_68];
    FHEAP[_67] = _69;
    var _70 = _this+72+16+8;
    var _71 = _body1+4+16+8;
    var _72 = FHEAP[_71];
    FHEAP[_70] = _72;
    var _73 = _this+72+16+12;
    var _74 = _body1+4+16+12;
    var _75 = FHEAP[_74];
    FHEAP[_73] = _75;
    var _76 = _this+72+32;
    var _77 = _body1+4+32;
    var _78 = FHEAP[_77];
    FHEAP[_76] = _78;
    var _79 = _this+72+32+4;
    var _80 = _body1+4+32+4;
    var _81 = FHEAP[_80];
    FHEAP[_79] = _81;
    var _82 = _this+72+32+8;
    var _83 = _body1+4+32+8;
    var _84 = FHEAP[_83];
    FHEAP[_82] = _84;
    var _85 = _this+72+32+12;
    var _86 = _body1+4+32+12;
    var _87 = FHEAP[_86];
    FHEAP[_85] = _87;
    var _88 = _this+72+48;
    var _89 = _body1+4+48;
    var _90 = FHEAP[_89];
    FHEAP[_88] = _90;
    var _91 = _this+72+48+4;
    var _92 = _body1+4+48+4;
    var _93 = FHEAP[_92];
    FHEAP[_91] = _93;
    var _94 = _this+72+48+8;
    var _95 = _body1+4+48+8;
    var _96 = FHEAP[_95];
    FHEAP[_94] = _96;
    var _97 = _this+72+48+12;
    var _98 = _body1+4+48+12;
    var _99 = FHEAP[_98];
    FHEAP[_97] = _99;
    ;
    return;
  }
  __ZN16btManifoldResultC1EP17btCollisionObjectS1_.__index__ = Runtime.getFunctionIndex(__ZN16btManifoldResultC1EP17btCollisionObjectS1_, "__ZN16btManifoldResultC1EP17btCollisionObjectS1_");
  
  
  function __ZN25btSimulationIslandManagerC2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btSimulationIslandManager+8;
    var _1 = _this+4;
    __ZN11btUnionFindC1Ev(_1);
    var _2 = _this+24+16;
    IHEAP[_2] = 1;
    var _3 = _this+24+12;
    IHEAP[_3] = 0;
    var _4 = _this+24+4;
    IHEAP[_4] = 0;
    var _5 = _this+24+8;
    IHEAP[_5] = 0;
    var _6 = _this+44+16;
    IHEAP[_6] = 1;
    var _7 = _this+44+12;
    IHEAP[_7] = 0;
    var _8 = _this+44+4;
    IHEAP[_8] = 0;
    var _9 = _this+44+8;
    IHEAP[_9] = 0;
    var _10 = _this+64;
    IHEAP[_10] = 1;
    ;
    return;
  }
  __ZN25btSimulationIslandManagerC2Ev.__index__ = Runtime.getFunctionIndex(__ZN25btSimulationIslandManagerC2Ev, "__ZN25btSimulationIslandManagerC2Ev");
  
  
  function __ZN25btSimulationIslandManager26storeIslandActivationStateEP16btCollisionWorld(_this, _colWorld) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _colWorld+4+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_return$7584: do { 
      if (_2) {
        ;
        var _3 = _colWorld+4+12;
        var _4 = _this+4+12;
        __lastLabel__ = 130; ;
        _bb$7586: while(1) { // _bb
          var _5 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _index_19 = __lastLabel__ == 130 ? 0 : (_index_0);
          var _tmp = _5 + 1;
          var _6 = IHEAP[_3];
          var _scevgep = _6+4*_5;
          var _7 = IHEAP[_scevgep];
          var _8 = _7+204;
          var _9 = IHEAP[_8];
          var _10 = _9 & 3;
          var _11 = _10 == 0;
          ;
          _bb3$_bb4$7588: do { 
            if (_11) {
              ;
              var _12 = IHEAP[_4];
              var _13 = _12+8*_index_19;
              var _14 = IHEAP[_13];
              var _15 = _14 == _index_19;
              if (_15) { __lastLabel__ = 116; __label__ = 1531; /* __ZN11btUnionFind4findEi_exit */  } else { __lastLabel__ = 116; __label__ = 131; /* _bb_i */  }
              __ZN11btUnionFind4findEi_exit$_bb_i$7590: while(1) { // __ZN11btUnionFind4findEi_exit,_bb_i
                if (__label__ == 1531) {
                  var _x_addr_0_lcssa_i = __lastLabel__ == 116 ? _index_19 : (_21);
                  var _26 = _7+208;
                  IHEAP[_26] = _x_addr_0_lcssa_i;
                  var _27 = IHEAP[_4];
                  var _28 = _27+8*_index_19+4;
                  IHEAP[_28] = _5;
                  var _29 = _7+212;
                  IHEAP[_29] = -1;
                  var _30 = _index_19 + 1;
                  __lastLabel__ = 1531; __label__ = 82; /* _bb5 */ break _bb3$_bb4$7588;
                }
                else if (__label__ == 131) {
                  var _16 = __lastLabel__ == 131 ? _24 : (_14);
                  var _17 = __lastLabel__ == 131 ? _22 : (_12);
                  var _x_addr_04_i = __lastLabel__ == 131 ? _21 : (_index_19);
                  var _18 = _17+8*_x_addr_04_i;
                  var _19 = _17+8*_16;
                  var _20 = IHEAP[_19];
                  IHEAP[_18] = _20;
                  var _21 = IHEAP[_19];
                  var _22 = IHEAP[_4];
                  var _23 = _22+8*_21;
                  var _24 = IHEAP[_23];
                  var _25 = _24 == _21;
                  if (_25) { __lastLabel__ = 131; __label__ = 1531; /* __ZN11btUnionFind4findEi_exit */ continue __ZN11btUnionFind4findEi_exit$_bb_i$7590; } else { __lastLabel__ = 131; __label__ = 131; /* _bb_i */ continue __ZN11btUnionFind4findEi_exit$_bb_i$7590; }
                }
              }
            }
            else {
              ;
              var _31 = _7+208;
              IHEAP[_31] = -1;
              var _32 = _7+212;
              IHEAP[_32] = -2;
              __lastLabel__ = 61; ;
            }
          } while(0);
          var _index_0 = __lastLabel__ == 1531 ? _30 : (_index_19);
          var _33 = IHEAP[_0];
          var _34 = _33 > _tmp;
          if (_34) { __lastLabel__ = 82; __label__ = 60; /* _bb */ continue _bb$7586; } else { __lastLabel__ = 82; __label__ = 44; /* _return */ break _bb_nph$_return$7584; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN25btSimulationIslandManager26storeIslandActivationStateEP16btCollisionWorld.__index__ = Runtime.getFunctionIndex(__ZN25btSimulationIslandManager26storeIslandActivationStateEP16btCollisionWorld, "__ZN25btSimulationIslandManager26storeIslandActivationStateEP16btCollisionWorld");
  
  
  function __ZN20btAlignedObjectArrayIP20btPersistentManifoldE17quickSortInternalI33btPersistentManifoldSortPredicateEEvT_ii(_this, _CompareFunc, _lo, _hi) {
    var __stackBase__  = STACKTOP; STACKTOP += 2;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = _this+12;
    var _3 = IHEAP[_2];
    var _4 = _hi + _lo;
    var _5 = Math.floor(_4 / 2);
    var _6 = _3+4*_5;
    var _7 = IHEAP[_6];
    var _8 = _7+1108;
    var _9 = _7+1112;
    __lastLabel__ = -1; ;
    _bb1_outer$7598: while(1) { // _bb1_outer
      var _i_0_ph = __lastLabel__ == -1 ? _lo : (_i_1);
      var _j_1_ph = __lastLabel__ == -1 ? _hi : (_j_2);
      var _10 = IHEAP[_2];
      var _11 = IHEAP[_8];
      var _12 = _11+208;
      var _13 = _12;
      var _14 = IHEAP[_13];
      var _15 = _14 > -1;
      if (_15) { __lastLabel__ = 177; __label__ = 1533; /* _bb1_us */  } else { __lastLabel__ = 177; __label__ = 75; /* _bb1 */  }
      _bb1_us$_bb1$7600: while(1) { // _bb1_us,_bb1
        if (__label__ == 1533) {
          var _indvar = __lastLabel__ == 1534 ? _indvar_next : (0);
          var _i_0_us = _i_0_ph + _indvar;
          var _scevgep = _10+4*_i_0_us;
          var _16 = IHEAP[_scevgep];
          var _17 = _16+1108;
          var _18 = IHEAP[_17];
          var _19 = _18+208;
          var _20 = _19;
          var _21 = IHEAP[_20];
          var _22 = _21 > -1;
          ;
          if (_22) {
            __lastLabel__ = 1533; ;
          }
          else {
            __lastLabel__ = 1533; ;
            var _25 = _16+1112;
            var _26 = IHEAP[_25];
            var _27 = _26+208;
            var _28 = _27;
            var _29 = IHEAP[_28];
            __lastLabel__ = 1536; ;
          }
          var _23 = __lastLabel__ == 1536 ? _29 : (_21);
          var _24 = _23 < _14;
          if (_24) { __lastLabel__ = 1535; ; } else { __lastLabel__ = 1535; __label__ = 510; /* _bb3_preheader */ break _bb1_us$_bb1$7600; }
          var _indvar_next = _indvar + 1;
          __lastLabel__ = 1534; __label__ = 1533; /* _bb1_us */ continue _bb1_us$_bb1$7600;
        }
        else if (__label__ == 75) {
          var _indvar29 = __lastLabel__ == 60 ? _indvar_next30 : (0);
          var _i_0 = _i_0_ph + _indvar29;
          var _scevgep32 = _10+4*_i_0;
          var _30 = IHEAP[_scevgep32];
          var _31 = _30+1108;
          var _32 = IHEAP[_31];
          var _33 = _32+208;
          var _34 = _33;
          var _35 = IHEAP[_34];
          var _36 = _35 > -1;
          ;
          if (_36) {
            __lastLabel__ = 75; ;
          }
          else {
            __lastLabel__ = 75; ;
            var _37 = _30+1112;
            var _38 = IHEAP[_37];
            var _39 = _38+208;
            var _40 = _39;
            var _41 = IHEAP[_40];
            __lastLabel__ = 265; ;
          }
          var _42 = __lastLabel__ == 265 ? _41 : (_35);
          var _43 = IHEAP[_9];
          var _44 = _43+208;
          var _45 = _44;
          var _46 = IHEAP[_45];
          var _47 = _42 < _46;
          if (_47) { __lastLabel__ = 1539; ; } else { __lastLabel__ = 1539; __label__ = 510; /* _bb3_preheader */ break _bb1_us$_bb1$7600; }
          var _indvar_next30 = _indvar29 + 1;
          __lastLabel__ = 60; __label__ = 75; /* _bb1 */ continue _bb1_us$_bb1$7600;
        }
      }
      var _48 = __lastLabel__ == 1535 ? _16 : (_30);
      var _i_0_lcssa = __lastLabel__ == 1535 ? _i_0_us : (_i_0);
      if (_15) { __lastLabel__ = 510; __label__ = 1540; /* __Z11getIslandIdPK20btPersistentManifold_exit_i14_us */  } else { __lastLabel__ = 510; __label__ = 1541; /* __Z11getIslandIdPK20btPersistentManifold_exit_i14 */  }
      __Z11getIslandIdPK20btPersistentManifold_exit_i14_us$__Z11getIslandIdPK20btPersistentManifold_exit_i14$7613: while(1) { // __Z11getIslandIdPK20btPersistentManifold_exit_i14_us,__Z11getIslandIdPK20btPersistentManifold_exit_i14
        if (__label__ == 1540) {
          var _indvar18 = __lastLabel__ == 1542 ? _indvar_next19 : (0);
          var _j_0_us = _j_1_ph - _indvar18;
          var _scevgep21 = _10+4*_j_0_us;
          var _56 = IHEAP[_scevgep21];
          var _57 = _56+1108;
          var _58 = IHEAP[_57];
          var _59 = _58+208;
          var _60 = _59;
          var _61 = IHEAP[_60];
          var _62 = _61 > -1;
          ;
          if (_62) {
            __lastLabel__ = 1540; ;
          }
          else {
            __lastLabel__ = 1540; ;
            var _51 = _56+1112;
            var _52 = IHEAP[_51];
            var _53 = _52+208;
            var _54 = _53;
            var _55 = IHEAP[_54];
            __lastLabel__ = 1544; ;
          }
          var _49 = __lastLabel__ == 1544 ? _55 : (_61);
          var _50 = _14 < _49;
          if (_50) { __lastLabel__ = 1543; ; } else { __lastLabel__ = 1543; __label__ = 82; /* _bb5 */ break __Z11getIslandIdPK20btPersistentManifold_exit_i14_us$__Z11getIslandIdPK20btPersistentManifold_exit_i14$7613; }
          var _indvar_next19 = _indvar18 + 1;
          __lastLabel__ = 1542; __label__ = 1540; /* __Z11getIslandIdPK20btPersistentManifold_exit_i14_us */ continue __Z11getIslandIdPK20btPersistentManifold_exit_i14_us$__Z11getIslandIdPK20btPersistentManifold_exit_i14$7613;
        }
        else if (__label__ == 1541) {
          var _indvar23 = __lastLabel__ == 0 ? _indvar_next24 : (0);
          var _j_0 = _j_1_ph - _indvar23;
          var _scevgep27 = _10+4*_j_0;
          var _63 = IHEAP[_scevgep27];
          var _64 = IHEAP[_9];
          var _65 = _64+208;
          var _66 = _65;
          var _67 = IHEAP[_66];
          var _68 = _63+1108;
          var _69 = IHEAP[_68];
          var _70 = _69+208;
          var _71 = _70;
          var _72 = IHEAP[_71];
          var _73 = _72 > -1;
          ;
          if (_73) {
            __lastLabel__ = 1541; ;
          }
          else {
            __lastLabel__ = 1541; ;
            var _74 = _63+1112;
            var _75 = IHEAP[_74];
            var _76 = _75+208;
            var _77 = _76;
            var _78 = IHEAP[_77];
            __lastLabel__ = 1546; ;
          }
          var _79 = __lastLabel__ == 1546 ? _78 : (_72);
          var _80 = _67 < _79;
          if (_80) { __lastLabel__ = 1548; ; } else { __lastLabel__ = 1548; __label__ = 82; /* _bb5 */ break __Z11getIslandIdPK20btPersistentManifold_exit_i14_us$__Z11getIslandIdPK20btPersistentManifold_exit_i14$7613; }
          var _indvar_next24 = _indvar23 + 1;
          __lastLabel__ = 0; __label__ = 1541; /* __Z11getIslandIdPK20btPersistentManifold_exit_i14 */ continue __Z11getIslandIdPK20btPersistentManifold_exit_i14_us$__Z11getIslandIdPK20btPersistentManifold_exit_i14$7613;
        }
      }
      var _81 = __lastLabel__ == 1543 ? _56 : (_63);
      var _j_0_lcssa = __lastLabel__ == 1543 ? _j_0_us : (_j_0);
      var _82 = _i_0_lcssa > _j_0_lcssa;
      ;
      if (_82) {
        __lastLabel__ = 82; ;
      }
      else {
        __lastLabel__ = 82; ;
        var _83 = _10+4*_i_0_lcssa;
        IHEAP[_83] = _81;
        var _84 = IHEAP[_2];
        var _85 = _84+4*_j_0_lcssa;
        IHEAP[_85] = _48;
        var _86 = _i_0_lcssa + 1;
        var _87 = _j_0_lcssa + -1;
        __lastLabel__ = 83; ;
      }
      var _i_1 = __lastLabel__ == 83 ? _86 : (_i_0_lcssa);
      var _j_2 = __lastLabel__ == 83 ? _87 : (_j_0_lcssa);
      var _88 = _i_1 > _j_2;
      if (_88) { __lastLabel__ = 2; __label__ = 148; /* _bb8 */ break _bb1_outer$7598; } else { __lastLabel__ = 2; __label__ = 177; /* _bb1_outer */ continue _bb1_outer$7598; }
    }
    var _89 = _j_2 > _lo;
    ;
    if (_89) {
      ;
      __ZN20btAlignedObjectArrayIP20btPersistentManifoldE17quickSortInternalI33btPersistentManifoldSortPredicateEEvT_ii(_this, _1, _lo, _j_2);
      ;
    }
    var _90 = _i_1 < _hi;
    ;
    if (_90) {
      ;
      __ZN20btAlignedObjectArrayIP20btPersistentManifoldE17quickSortInternalI33btPersistentManifoldSortPredicateEEvT_ii(_this, _0, _i_1, _hi);
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN20btAlignedObjectArrayIP20btPersistentManifoldE17quickSortInternalI33btPersistentManifoldSortPredicateEEvT_ii.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIP20btPersistentManifoldE17quickSortInternalI33btPersistentManifoldSortPredicateEEvT_ii, "__ZN20btAlignedObjectArrayIP20btPersistentManifoldE17quickSortInternalI33btPersistentManifoldSortPredicateEEvT_ii");
  
  
  function __ZN25btSimulationIslandManager13initUnionFindEi(_this, _n) {
    ;
    var __label__;
    var _0 = _this+4;
    __ZN11btUnionFind5resetEi(_0, _n);
    ;
    return;
  }
  __ZN25btSimulationIslandManager13initUnionFindEi.__index__ = Runtime.getFunctionIndex(__ZN25btSimulationIslandManager13initUnionFindEi, "__ZN25btSimulationIslandManager13initUnionFindEi");
  
  
  function __ZN25btSimulationIslandManager21updateActivationStateEP16btCollisionWorldP12btDispatcher(_this, _colWorld, _dispatcher) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _colWorld+4+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_bb7$7826: do { 
      if (_2) {
        __lastLabel__ = -1; ;
        var _3 = _colWorld+4+12;
        __lastLabel__ = 130; ;
        _bb$7828: while(1) { // _bb
          var _i_09 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _index_18 = __lastLabel__ == 130 ? 0 : (_index_0);
          var _tmp = _i_09 + 1;
          var _4 = IHEAP[_3];
          var _scevgep = _4+4*_i_09;
          var _5 = IHEAP[_scevgep];
          var _6 = _5+204;
          var _7 = IHEAP[_6];
          var _8 = _7 & 3;
          var _9 = _8 == 0;
          ;
          if (_9) {
            __lastLabel__ = 60; ;
            var _10 = _index_18 + 1;
            var _11 = _5+208;
            IHEAP[_11] = _index_18;
            __lastLabel__ = 116; ;
          }
          else {
            __lastLabel__ = 60; ;
          }
          var _index_0 = __lastLabel__ == 116 ? _10 : (_index_18);
          var _12 = _5+212;
          IHEAP[_12] = -1;
          var _13 = _5+240;
          FHEAP[_13] = 1;
          var _14 = IHEAP[_0];
          var _15 = _14 > _tmp;
          if (_15) { __lastLabel__ = 61; __label__ = 60; /* _bb */ continue _bb$7828; } else { __lastLabel__ = 61; __label__ = 2; /* _bb7 */ break _bb_nph$_bb7$7826; }
        }
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _index_1_lcssa = __lastLabel__ == -1 ? 0 : (_index_0);
    var _16 = _this+4;
    __ZN11btUnionFind5resetEi(_16, _index_1_lcssa);
    __ZN25btSimulationIslandManager10findUnionsEP12btDispatcherP16btCollisionWorld(_this, _dispatcher, _colWorld);
    ;
    return;
  }
  __ZN25btSimulationIslandManager21updateActivationStateEP16btCollisionWorldP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN25btSimulationIslandManager21updateActivationStateEP16btCollisionWorldP12btDispatcher, "__ZN25btSimulationIslandManager21updateActivationStateEP16btCollisionWorldP12btDispatcher");
  
  
  function __ZN25btSimulationIslandManagerC1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btSimulationIslandManager+8;
    var _1 = _this+4;
    __ZN11btUnionFindC1Ev(_1);
    var _2 = _this+24+16;
    IHEAP[_2] = 1;
    var _3 = _this+24+12;
    IHEAP[_3] = 0;
    var _4 = _this+24+4;
    IHEAP[_4] = 0;
    var _5 = _this+24+8;
    IHEAP[_5] = 0;
    var _6 = _this+44+16;
    IHEAP[_6] = 1;
    var _7 = _this+44+12;
    IHEAP[_7] = 0;
    var _8 = _this+44+4;
    IHEAP[_8] = 0;
    var _9 = _this+44+8;
    IHEAP[_9] = 0;
    var _10 = _this+64;
    IHEAP[_10] = 1;
    ;
    return;
  }
  __ZN25btSimulationIslandManagerC1Ev.__index__ = Runtime.getFunctionIndex(__ZN25btSimulationIslandManagerC1Ev, "__ZN25btSimulationIslandManagerC1Ev");
  
  
  function __ZN29btSphereBoxCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(_this, _manifoldArray) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _return$_bb$7930: do { 
      if (!_2) {
        ;
        var _3 = _this+8;
        var _4 = IHEAP[_3];
        var _toBool = _4 == 0;
        if (_toBool) { __label__ = 44; /* _return */ break _return$_bb$7930; }
        __ZN20btAlignedObjectArrayIP20btPersistentManifoldE9push_backERKS1_(_manifoldArray, _0);
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __ZN29btSphereBoxCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__ = Runtime.getFunctionIndex(__ZN29btSphereBoxCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, "__ZN29btSphereBoxCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE");
  
  
  function __ZN29btSphereBoxCollisionAlgorithm20getSpherePenetrationEP17btCollisionObjectR9btVector3S3_RKS2_fS5_S5_(_this, _boxObj, _pointOnBox, _v3PointOnSphere, _sphereCenter, _fRadius, _aabbMin, _aabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 128;
    var __label__;
    var __lastLabel__ = null;
    var _bounds = __stackBase__;
    var _n = __stackBase__+32;
    var _0 = _bounds;
    var _1 = _aabbMin;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _bounds+4;
    var _4 = _aabbMin+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _bounds+8;
    var _7 = _aabbMin+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _bounds+12;
    var _10 = _aabbMin+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _bounds+16;
    var _13 = _aabbMax;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _bounds+16+4;
    var _16 = _aabbMax+4;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _bounds+16+8;
    var _19 = _aabbMax+8;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _bounds+16+12;
    var _22 = _aabbMax+12;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    var _24 = _n;
    FHEAP[_24] = -1;
    var _25 = _n+4;
    FHEAP[_25] = 0;
    var _26 = _n+8;
    FHEAP[_26] = 0;
    var _27 = _n+12;
    FHEAP[_27] = 0;
    var _28 = _n+16;
    FHEAP[_28] = 0;
    var _29 = _n+16+4;
    FHEAP[_29] = -1;
    var _30 = _n+16+8;
    FHEAP[_30] = 0;
    var _31 = _n+16+12;
    FHEAP[_31] = 0;
    var _32 = _n+32;
    FHEAP[_32] = 0;
    var _33 = _n+32+4;
    FHEAP[_33] = 0;
    var _34 = _n+32+8;
    FHEAP[_34] = -1;
    var _35 = _n+32+12;
    FHEAP[_35] = 0;
    var _36 = _n+48;
    FHEAP[_36] = 1;
    var _37 = _n+48+4;
    FHEAP[_37] = 0;
    var _38 = _n+48+8;
    FHEAP[_38] = 0;
    var _39 = _n+48+12;
    FHEAP[_39] = 0;
    var _40 = _n+64;
    FHEAP[_40] = 0;
    var _41 = _n+64+4;
    FHEAP[_41] = 1;
    var _42 = _n+64+8;
    FHEAP[_42] = 0;
    var _43 = _n+64+12;
    FHEAP[_43] = 0;
    var _44 = _n+80;
    FHEAP[_44] = 0;
    var _45 = _n+80+4;
    FHEAP[_45] = 0;
    var _46 = _n+80+8;
    FHEAP[_46] = 1;
    var _47 = _n+80+12;
    FHEAP[_47] = 0;
    var _48 = _sphereCenter+8;
    var _49 = FHEAP[_48];
    var _50 = _boxObj+4+48+8;
    var _51 = FHEAP[_50];
    var _52 = _49 - _51;
    var _53 = _sphereCenter+4;
    var _54 = FHEAP[_53];
    var _55 = _boxObj+4+48+4;
    var _56 = FHEAP[_55];
    var _57 = _54 - _56;
    var _58 = _sphereCenter;
    var _59 = FHEAP[_58];
    var _60 = _boxObj+4+48;
    var _61 = FHEAP[_60];
    var _62 = _59 - _61;
    var _63 = _boxObj+4+32+8;
    var _64 = _boxObj+4+16+8;
    var _65 = _boxObj+4+8;
    var _66 = _boxObj+4+32+4;
    var _67 = _boxObj+4+16+4;
    var _68 = _boxObj+4+4;
    var _69 = _boxObj+4+32;
    var _70 = _boxObj+4+16;
    var _71 = _boxObj+4;
    var _72 = FHEAP[_71];
    var _73 = FHEAP[_70];
    var _74 = FHEAP[_69];
    var _75 = FHEAP[_68];
    var _76 = FHEAP[_67];
    var _77 = FHEAP[_66];
    var _78 = FHEAP[_65];
    var _79 = FHEAP[_64];
    var _80 = FHEAP[_63];
    var _81 = _78 * _62;
    var _82 = _79 * _57;
    var _83 = _81 + _82;
    var _84 = _80 * _52;
    var _85 = _83 + _84;
    var _86 = _75 * _62;
    var _87 = _76 * _57;
    var _88 = _86 + _87;
    var _89 = _77 * _52;
    var _90 = _88 + _89;
    var _91 = _72 * _62;
    var _92 = _73 * _57;
    var _93 = _91 + _92;
    var _94 = _74 * _52;
    var _95 = _93 + _94;
    __lastLabel__ = 82; ;
    _bb13$7935: while(1) { // _bb13
      var _p0_0_0_1 = __lastLabel__ == 82 ? 0 : (_p0_0_0_0);
      var _p0_0_1_1 = __lastLabel__ == 82 ? 0 : (_p0_0_1_0);
      var _p0_0_2_1 = __lastLabel__ == 82 ? 0 : (_p0_0_2_0);
      var _normal_0_0_1 = __lastLabel__ == 82 ? 0 : (_normal_0_0_0);
      var _normal_0_1_1 = __lastLabel__ == 82 ? 0 : (_normal_0_1_0);
      var _normal_0_2_1 = __lastLabel__ == 82 ? 0 : (_normal_0_2_0);
      var _fSep_1 = __lastLabel__ == 82 ? -10000000 : (_fSep_0);
      var _119 = __lastLabel__ == 82 ? 0 : (_118);
      var _120 = _119 < 6;
      if (!(_120)) { __label__ = 63; /* _bb14 */ break _bb13$7935; }
      var _scevgep8687 = _n+_119*16;
      var _scevgep85 = _n+_119*16+4;
      var _scevgep = _n+_119*16+8;
      var _96 = _119 > 2;
      var _97 = _96;
      var _98 = _bounds+_97*16+8;
      var _99 = FHEAP[_98];
      var _100 = _85 - _99;
      var _101 = _bounds+_97*16+4;
      var _102 = FHEAP[_101];
      var _103 = _90 - _102;
      var _104 = _bounds+_97*16;
      var _105 = FHEAP[_104];
      var _106 = _95 - _105;
      var _107 = FHEAP[_scevgep8687];
      var _108 = _106 * _107;
      var _109 = FHEAP[_scevgep85];
      var _110 = _103 * _109;
      var _111 = _108 + _110;
      var _112 = FHEAP[_scevgep];
      var _113 = _100 * _112;
      var _114 = _111 + _113;
      var _115 = _114 - _fRadius;
      var _116 = _115 > 0;
      if (_116) { __label__ = 64; /* _bb19 */ break _bb13$7935; }
      var _117 = _115 > _fSep_1;
      ;
      if (_117) {
        __lastLabel__ = 150; ;
        __lastLabel__ = 292; ;
      }
      else {
        __lastLabel__ = 150; ;
      }
      var _p0_0_0_0 = __lastLabel__ == 292 ? _105 : (_p0_0_0_1);
      var _p0_0_1_0 = __lastLabel__ == 292 ? _102 : (_p0_0_1_1);
      var _p0_0_2_0 = __lastLabel__ == 292 ? _99 : (_p0_0_2_1);
      var _normal_0_0_0 = __lastLabel__ == 292 ? _107 : (_normal_0_0_1);
      var _normal_0_1_0 = __lastLabel__ == 292 ? _109 : (_normal_0_1_1);
      var _normal_0_2_0 = __lastLabel__ == 292 ? _112 : (_normal_0_2_1);
      var _fSep_0 = __lastLabel__ == 292 ? _115 : (_fSep_1);
      var _118 = _119 + 1;
      __lastLabel__ = 3; __label__ = 108; /* _bb13 */ continue _bb13$7935;
    }
    if (__label__ == 64) {
      STACKTOP = __stackBase__;
      return 1;
    }
    else if (__label__ == 63) {
      var _121 = _85 - _p0_0_2_1;
      var _122 = _90 - _p0_0_1_1;
      var _123 = _95 - _p0_0_0_1;
      var _124 = _normal_0_0_1 * _123;
      var _125 = _normal_0_1_1 * _122;
      var _126 = _124 + _125;
      var _127 = _normal_0_2_1 * _121;
      var _128 = _126 + _127;
      var _129 = _normal_0_2_1 * _128;
      var _130 = _normal_0_1_1 * _128;
      var _131 = _normal_0_0_1 * _128;
      var _132 = _85 - _129;
      var _133 = _90 - _130;
      var _134 = _95 - _131;
      var _135 = _pointOnBox;
      FHEAP[_135] = _134;
      var _136 = _pointOnBox+4;
      FHEAP[_136] = _133;
      var _137 = _pointOnBox+8;
      FHEAP[_137] = _132;
      var _138 = _pointOnBox+12;
      FHEAP[_138] = 0;
      var _139 = _normal_0_2_1 * _fSep_1;
      var _140 = _normal_0_1_1 * _fSep_1;
      var _141 = _normal_0_0_1 * _fSep_1;
      var _142 = _132 + _139;
      var _143 = _133 + _140;
      var _144 = _134 + _141;
      var _145 = _v3PointOnSphere;
      FHEAP[_145] = _144;
      var _146 = _v3PointOnSphere+4;
      FHEAP[_146] = _143;
      var _147 = _v3PointOnSphere+8;
      FHEAP[_147] = _142;
      var _148 = _v3PointOnSphere+12;
      FHEAP[_148] = 0;
      var _149 = FHEAP[_69];
      var _150 = FHEAP[_135];
      var _151 = _149 * _150;
      var _152 = FHEAP[_66];
      var _153 = FHEAP[_136];
      var _154 = _152 * _153;
      var _155 = _151 + _154;
      var _156 = FHEAP[_63];
      var _157 = FHEAP[_137];
      var _158 = _156 * _157;
      var _159 = _155 + _158;
      var _160 = FHEAP[_50];
      var _161 = _159 + _160;
      var _162 = FHEAP[_70];
      var _163 = _162 * _150;
      var _164 = FHEAP[_67];
      var _165 = _164 * _153;
      var _166 = _163 + _165;
      var _167 = FHEAP[_64];
      var _168 = _167 * _157;
      var _169 = _166 + _168;
      var _170 = FHEAP[_55];
      var _171 = _169 + _170;
      var _172 = FHEAP[_71];
      var _173 = _172 * _150;
      var _174 = FHEAP[_68];
      var _175 = _174 * _153;
      var _176 = _173 + _175;
      var _177 = FHEAP[_65];
      var _178 = _177 * _157;
      var _179 = _176 + _178;
      var _180 = FHEAP[_60];
      var _181 = _179 + _180;
      FHEAP[_135] = _181;
      FHEAP[_136] = _171;
      FHEAP[_137] = _161;
      FHEAP[_138] = 0;
      var _182 = FHEAP[_69];
      var _183 = FHEAP[_145];
      var _184 = _182 * _183;
      var _185 = FHEAP[_66];
      var _186 = FHEAP[_146];
      var _187 = _185 * _186;
      var _188 = _184 + _187;
      var _189 = FHEAP[_63];
      var _190 = FHEAP[_147];
      var _191 = _189 * _190;
      var _192 = _188 + _191;
      var _193 = FHEAP[_50];
      var _194 = _192 + _193;
      var _195 = FHEAP[_70];
      var _196 = _195 * _183;
      var _197 = FHEAP[_67];
      var _198 = _197 * _186;
      var _199 = _196 + _198;
      var _200 = FHEAP[_64];
      var _201 = _200 * _190;
      var _202 = _199 + _201;
      var _203 = FHEAP[_55];
      var _204 = _202 + _203;
      var _205 = FHEAP[_71];
      var _206 = _205 * _183;
      var _207 = FHEAP[_68];
      var _208 = _207 * _186;
      var _209 = _206 + _208;
      var _210 = FHEAP[_65];
      var _211 = _210 * _190;
      var _212 = _209 + _211;
      var _213 = FHEAP[_60];
      var _214 = _212 + _213;
      FHEAP[_145] = _214;
      FHEAP[_146] = _204;
      FHEAP[_147] = _194;
      FHEAP[_148] = 0;
      STACKTOP = __stackBase__;
      return _fSep_1;
    }
  }
  __ZN29btSphereBoxCollisionAlgorithm20getSpherePenetrationEP17btCollisionObjectR9btVector3S3_RKS2_fS5_S5_.__index__ = Runtime.getFunctionIndex(__ZN29btSphereBoxCollisionAlgorithm20getSpherePenetrationEP17btCollisionObjectR9btVector3S3_RKS2_fS5_S5_, "__ZN29btSphereBoxCollisionAlgorithm20getSpherePenetrationEP17btCollisionObjectR9btVector3S3_RKS2_fS5_S5_");
  
  
  function __ZN32btSphereSphereCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(_this, _manifoldArray) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _return$_bb$8024: do { 
      if (!_2) {
        ;
        var _3 = _this+8;
        var _4 = IHEAP[_3];
        var _toBool = _4 == 0;
        if (_toBool) { __label__ = 44; /* _return */ break _return$_bb$8024; }
        __ZN20btAlignedObjectArrayIP20btPersistentManifoldE9push_backERKS1_(_manifoldArray, _0);
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __ZN32btSphereSphereCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__ = Runtime.getFunctionIndex(__ZN32btSphereSphereCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, "__ZN32btSphereSphereCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE");
  
  
  function __ZN34btSphereTriangleCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(_this, _manifoldArray) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _return$_bb$8095: do { 
      if (!_2) {
        ;
        var _3 = _this+8;
        var _4 = IHEAP[_3];
        var _toBool = _4 == 0;
        if (_toBool) { __label__ = 44; /* _return */ break _return$_bb$8095; }
        __ZN20btAlignedObjectArrayIP20btPersistentManifoldE9push_backERKS1_(_manifoldArray, _0);
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __ZN34btSphereTriangleCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__ = Runtime.getFunctionIndex(__ZN34btSphereTriangleCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, "__ZN34btSphereTriangleCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE");
  
  
  function __ZN11btUnionFindC1Ev(_this) {
    ;
    var __label__;
    var _0 = _this+16;
    IHEAP[_0] = 1;
    var _1 = _this+12;
    IHEAP[_1] = 0;
    var _2 = _this+4;
    IHEAP[_2] = 0;
    var _3 = _this+8;
    IHEAP[_3] = 0;
    ;
    return;
  }
  __ZN11btUnionFindC1Ev.__index__ = Runtime.getFunctionIndex(__ZN11btUnionFindC1Ev, "__ZN11btUnionFindC1Ev");
  
  
  function __ZN11btUnionFindC2Ev(_this) {
    ;
    var __label__;
    var _0 = _this+16;
    IHEAP[_0] = 1;
    var _1 = _this+12;
    IHEAP[_1] = 0;
    var _2 = _this+4;
    IHEAP[_2] = 0;
    var _3 = _this+8;
    IHEAP[_3] = 0;
    ;
    return;
  }
  __ZN11btUnionFindC2Ev.__index__ = Runtime.getFunctionIndex(__ZN11btUnionFindC2Ev, "__ZN11btUnionFindC2Ev");
  
  
  function __ZN20btAlignedObjectArrayI9btElementE17quickSortInternalI31btUnionFindElementSortPredicateEEvT_ii(_this, _CompareFunc, _lo, _hi) {
    var __stackBase__  = STACKTOP; STACKTOP += 2;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = _this+12;
    var _3 = IHEAP[_2];
    var _4 = _hi + _lo;
    var _5 = Math.floor(_4 / 2);
    var _6 = _3+8*_5;
    var _7 = IHEAP[_6];
    __lastLabel__ = -1; ;
    _bb1_outer$8163: while(1) { // _bb1_outer
      var _i_0_ph = __lastLabel__ == -1 ? _lo : (_i_1);
      var _j_1_ph = __lastLabel__ == -1 ? _hi : (_j_2);
      var _8 = IHEAP[_2];
      var _9 = _8+8*_i_0_ph;
      var _10 = IHEAP[_9];
      var _11 = _10 < _7;
      ;
      _bb_nph16$_bb3_preheader$8165: do { 
        if (_11) {
          __lastLabel__ = 177; ;
          var _tmp24 = _i_0_ph + 1;
          __lastLabel__ = 1631; ;
          _bb$8167: while(1) { // _bb
            var _indvar22 = __lastLabel__ == 1631 ? 0 : (_indvar_next23);
            var _tmp25 = _tmp24 + _indvar22;
            var _scevgep2627 = _8+8*_tmp25;
            var _12 = IHEAP[_scevgep2627];
            var _13 = _12 < _7;
            var _indvar_next23 = _indvar22 + 1;
            if (_13) { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$8167; } else { __lastLabel__ = 60; __label__ = 510; /* _bb3_preheader */ break _bb_nph16$_bb3_preheader$8165; }
          }
        }
        else {
          __lastLabel__ = 177; ;
        }
      } while(0);
      var _14 = __lastLabel__ == 177 ? _10 : (_12);
      var _i_0_lcssa = __lastLabel__ == 177 ? _i_0_ph : (_tmp25);
      var _15 = _8+8*_j_1_ph;
      var _16 = IHEAP[_15];
      var _17 = _7 < _16;
      ;
      _bb_nph$_bb5$8170: do { 
        if (_17) {
          __lastLabel__ = 510; ;
          var _tmp18 = _j_1_ph + -1;
          __lastLabel__ = 130; ;
          _bb2$8172: while(1) { // _bb2
            var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
            var _tmp19 = _tmp18 - _indvar;
            var _scevgep20 = _8+8*_tmp19;
            var _18 = IHEAP[_scevgep20];
            var _19 = _7 < _18;
            var _indvar_next = _indvar + 1;
            if (_19) { __lastLabel__ = 0; __label__ = 0; /* _bb2 */ continue _bb2$8172; } else { __lastLabel__ = 0; __label__ = 82; /* _bb5 */ break _bb_nph$_bb5$8170; }
          }
        }
        else {
          __lastLabel__ = 510; ;
        }
      } while(0);
      var _20 = __lastLabel__ == 510 ? _16 : (_18);
      var _j_0_lcssa = __lastLabel__ == 510 ? _j_1_ph : (_tmp19);
      var _21 = _i_0_lcssa > _j_0_lcssa;
      ;
      if (_21) {
        __lastLabel__ = 82; ;
      }
      else {
        __lastLabel__ = 82; ;
        var _22 = _8+8*_i_0_lcssa;
        var _23 = _8+8*_i_0_lcssa+4;
        var _24 = IHEAP[_23];
        var _25 = _8+8*_j_0_lcssa+4;
        var _26 = IHEAP[_25];
        IHEAP[_22] = _20;
        IHEAP[_23] = _26;
        var _27 = IHEAP[_2];
        var _28 = _27+8*_j_0_lcssa;
        IHEAP[_28] = _14;
        var _29 = _27+8*_j_0_lcssa+4;
        IHEAP[_29] = _24;
        var _30 = _i_0_lcssa + 1;
        var _31 = _j_0_lcssa + -1;
        __lastLabel__ = 83; ;
      }
      var _i_1 = __lastLabel__ == 83 ? _30 : (_i_0_lcssa);
      var _j_2 = __lastLabel__ == 83 ? _31 : (_j_0_lcssa);
      var _32 = _i_1 > _j_2;
      if (_32) { __lastLabel__ = 2; __label__ = 148; /* _bb8 */ break _bb1_outer$8163; } else { __lastLabel__ = 2; __label__ = 177; /* _bb1_outer */ continue _bb1_outer$8163; }
    }
    var _33 = _j_2 > _lo;
    ;
    if (_33) {
      ;
      __ZN20btAlignedObjectArrayI9btElementE17quickSortInternalI31btUnionFindElementSortPredicateEEvT_ii(_this, _1, _lo, _j_2);
      ;
    }
    var _34 = _i_1 < _hi;
    ;
    if (_34) {
      ;
      __ZN20btAlignedObjectArrayI9btElementE17quickSortInternalI31btUnionFindElementSortPredicateEEvT_ii(_this, _0, _i_1, _hi);
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN20btAlignedObjectArrayI9btElementE17quickSortInternalI31btUnionFindElementSortPredicateEEvT_ii.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI9btElementE17quickSortInternalI31btUnionFindElementSortPredicateEEvT_ii, "__ZN20btAlignedObjectArrayI9btElementE17quickSortInternalI31btUnionFindElementSortPredicateEEvT_ii");
  
  
  function __ZN11btUnionFind11sortIslandsEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 1;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = _this+4;
    var _2 = IHEAP[_1];
    var _3 = _2 > 0;
    ;
    _bb_nph$__ZN20btAlignedObjectArrayI9btElementE9quickSortI31btUnionFindElementSortPredicateEEvT__exit$8186: do { 
      if (_3) {
        ;
        var _4 = _this+12;
        __lastLabel__ = 130; ;
        _bb$8188: while(1) { // _bb
          var _5 = __lastLabel__ == 130 ? 0 : (_19);
          var _6 = IHEAP[_4];
          var _scevgep9 = _6+8*_5;
          var _7 = IHEAP[_scevgep9];
          var _8 = _7 == _5;
          if (_8) { __lastLabel__ = 60; __label__ = 1531; /* __ZN11btUnionFind4findEi_exit */  } else { __lastLabel__ = 60; __label__ = 656; /* _bb_i4 */  }
          __ZN11btUnionFind4findEi_exit$_bb_i4$8190: while(1) { // __ZN11btUnionFind4findEi_exit,_bb_i4
            if (__label__ == 1531) {
              var _x_addr_0_lcssa_i = __lastLabel__ == 60 ? _5 : (_14);
              IHEAP[_scevgep9] = _x_addr_0_lcssa_i;
              var _19 = _5 + 1;
              var _exitcond = _19 == _2;
              if (_exitcond) { __lastLabel__ = 1531; __label__ = 0; /* _bb2 */ break _bb$8188; } else { __lastLabel__ = 1531; __label__ = 60; /* _bb */ continue _bb$8188; }
            }
            else if (__label__ == 656) {
              var _9 = __lastLabel__ == 656 ? _17 : (_7);
              var _10 = __lastLabel__ == 656 ? _15 : (_6);
              var _x_addr_04_i = __lastLabel__ == 656 ? _14 : (_5);
              var _11 = _10+8*_x_addr_04_i;
              var _12 = _10+8*_9;
              var _13 = IHEAP[_12];
              IHEAP[_11] = _13;
              var _14 = IHEAP[_12];
              var _15 = IHEAP[_4];
              var _16 = _15+8*_14;
              var _17 = IHEAP[_16];
              var _18 = _17 == _14;
              if (_18) { __lastLabel__ = 656; __label__ = 1531; /* __ZN11btUnionFind4findEi_exit */ continue __ZN11btUnionFind4findEi_exit$_bb_i4$8190; } else { __lastLabel__ = 656; __label__ = 656; /* _bb_i4 */ continue __ZN11btUnionFind4findEi_exit$_bb_i4$8190; }
            }
          }
        }
        var __pre = IHEAP[_1];
        var _20 = __pre > 1;
        if (!(_20)) { __label__ = 1634; /* __ZN20btAlignedObjectArrayI9btElementE9quickSortI31btUnionFindElementSortPredicateEEvT__exit */ break _bb_nph$__ZN20btAlignedObjectArrayI9btElementE9quickSortI31btUnionFindElementSortPredicateEEvT__exit$8186; }
        var __lcssa7 = _this;
        var _21 = __pre + -1;
        __ZN20btAlignedObjectArrayI9btElementE17quickSortInternalI31btUnionFindElementSortPredicateEEvT_ii(__lcssa7, _0, 0, _21);
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN11btUnionFind11sortIslandsEv.__index__ = Runtime.getFunctionIndex(__ZN11btUnionFind11sortIslandsEv, "__ZN11btUnionFind11sortIslandsEv");
  
  
  function __ZN11btUnionFind4FreeEv(_this) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (!_2) {
      ;
      var _3 = _this+16;
      var _4 = IHEAP[_3];
      var _toBool_i_i = _4 == 0;
      ;
      if (!_toBool_i_i) {
        ;
        var _5 = _1;
        __Z21btAlignedFreeInternalPv(_5);
        ;
      }
      IHEAP[_0] = 0;
      ;
    }
    var _6 = _this+16;
    IHEAP[_6] = 1;
    IHEAP[_0] = 0;
    var _7 = _this+4;
    IHEAP[_7] = 0;
    var _8 = _this+8;
    IHEAP[_8] = 0;
    ;
    return;
  }
  __ZN11btUnionFind4FreeEv.__index__ = Runtime.getFunctionIndex(__ZN11btUnionFind4FreeEv, "__ZN11btUnionFind4FreeEv");
  
  
  function __ZN11btUnionFind8allocateEi(_this, _N) {
    var __stackBase__  = STACKTOP; STACKTOP += 8;
    var __label__;
    var _0 = __stackBase__;
    var _1 = _0;
    IHEAP[_1] = 0;
    var _2 = _0+4;
    IHEAP[_2] = 0;
    var _3 = _this;
    __ZN20btAlignedObjectArrayI9btElementE6resizeEiRKS0_(_3, _N, _0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN11btUnionFind8allocateEi.__index__ = Runtime.getFunctionIndex(__ZN11btUnionFind8allocateEi, "__ZN11btUnionFind8allocateEi");
  
  
  function __ZN11btUnionFind5resetEi(_this, _N) {
    var __stackBase__  = STACKTOP; STACKTOP += 8;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = _0;
    IHEAP[_1] = 0;
    var _2 = _0+4;
    IHEAP[_2] = 0;
    var _3 = _this;
    __ZN20btAlignedObjectArrayI9btElementE6resizeEiRKS0_(_3, _N, _0);
    var _4 = _N > 0;
    ;
    _bb_nph$_return$8236: do { 
      if (_4) {
        ;
        var _5 = _this+12;
        __lastLabel__ = 130; ;
        _bb$8238: while(1) { // _bb
          var _6 = __lastLabel__ == 130 ? 0 : (_9);
          var _7 = IHEAP[_5];
          var _scevgep4 = _7+8*_6;
          IHEAP[_scevgep4] = _6;
          var _8 = IHEAP[_5];
          var _scevgep5 = _8+8*_6+4;
          IHEAP[_scevgep5] = 1;
          var _9 = _6 + 1;
          var _exitcond = _9 == _N;
          if (_exitcond) { __lastLabel__ = 60; __label__ = 44; /* _return */ break _bb_nph$_return$8236; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$8238; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN11btUnionFind5resetEi.__index__ = Runtime.getFunctionIndex(__ZN11btUnionFind5resetEi, "__ZN11btUnionFind5resetEi");
  
  
  function __ZN22SphereTriangleDetectorC2EP13btSphereShapeP15btTriangleShapef(_this, _sphere, _triangle, _contactBreakingThreshold) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV22SphereTriangleDetector+8;
    var _1 = _this+4;
    IHEAP[_1] = _sphere;
    var _2 = _this+8;
    IHEAP[_2] = _triangle;
    var _3 = _this+12;
    FHEAP[_3] = _contactBreakingThreshold;
    ;
    return;
  }
  __ZN22SphereTriangleDetectorC2EP13btSphereShapeP15btTriangleShapef.__index__ = Runtime.getFunctionIndex(__ZN22SphereTriangleDetectorC2EP13btSphereShapeP15btTriangleShapef, "__ZN22SphereTriangleDetectorC2EP13btSphereShapeP15btTriangleShapef");
  
  
  function __ZN22SphereTriangleDetectorD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV22SphereTriangleDetector+8;
    ;
    return;
  }
  __ZN22SphereTriangleDetectorD1Ev.__index__ = Runtime.getFunctionIndex(__ZN22SphereTriangleDetectorD1Ev, "__ZN22SphereTriangleDetectorD1Ev");
  
  
  function __ZN22SphereTriangleDetectorD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV22SphereTriangleDetector+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN22SphereTriangleDetectorD0Ev.__index__ = Runtime.getFunctionIndex(__ZN22SphereTriangleDetectorD0Ev, "__ZN22SphereTriangleDetectorD0Ev");
  
  
  function __ZN22SphereTriangleDetectorC1EP13btSphereShapeP15btTriangleShapef(_this, _sphere, _triangle, _contactBreakingThreshold) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV22SphereTriangleDetector+8;
    var _1 = _this+4;
    IHEAP[_1] = _sphere;
    var _2 = _this+8;
    IHEAP[_2] = _triangle;
    var _3 = _this+12;
    FHEAP[_3] = _contactBreakingThreshold;
    ;
    return;
  }
  __ZN22SphereTriangleDetectorC1EP13btSphereShapeP15btTriangleShapef.__index__ = Runtime.getFunctionIndex(__ZN22SphereTriangleDetectorC1EP13btSphereShapeP15btTriangleShapef, "__ZN22SphereTriangleDetectorC1EP13btSphereShapeP15btTriangleShapef");
  
  
  function __Z18SegmentSqrDistanceRK9btVector3S1_S1_RS_(_from, _to, _p, _nearest) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _p+8;
    var _1 = FHEAP[_0];
    var _2 = _from+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _p+4;
    var _6 = FHEAP[_5];
    var _7 = _from+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _p;
    var _11 = FHEAP[_10];
    var _12 = _from;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _to+8;
    var _16 = FHEAP[_15];
    var _17 = _16 - _3;
    var _18 = _to+4;
    var _19 = FHEAP[_18];
    var _20 = _19 - _8;
    var _21 = _to;
    var _22 = FHEAP[_21];
    var _23 = _22 - _13;
    var _24 = _23 * _14;
    var _25 = _20 * _9;
    var _26 = _24 + _25;
    var _27 = _17 * _4;
    var _28 = _26 + _27;
    var _29 = _28 > 0;
    ;
    if (_29) {
      __lastLabel__ = -1; ;
      var _30 = _23 * _23;
      var _31 = _20 * _20;
      var _32 = _30 + _31;
      var _33 = _17 * _17;
      var _34 = _32 + _33;
      var _35 = _28 < _34;
      ;
      if (_35) {
        ;
        var _36 = _28 / _34;
        var _37 = _17 * _36;
        var _38 = _20 * _36;
        var _39 = _23 * _36;
        var _40 = _14 - _39;
        var _41 = _9 - _38;
        var _42 = _4 - _37;
        __lastLabel__ = 75; ;
      }
      else {
        ;
        var _43 = _14 - _23;
        var _44 = _9 - _20;
        var _45 = _4 - _17;
        __lastLabel__ = 0; ;
      }
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _diff_0_0_0 = __lastLabel__ == 75 ? _40 : (__lastLabel__ == 0 ? _43 : (_14));
    var _diff_0_1_0 = __lastLabel__ == 75 ? _41 : (__lastLabel__ == 0 ? _44 : (_9));
    var _diff_0_2_0 = __lastLabel__ == 75 ? _42 : (__lastLabel__ == 0 ? _45 : (_4));
    var _t_0 = __lastLabel__ == 75 ? _36 : (__lastLabel__ == 0 ? 1 : (0));
    var _46 = _17 * _t_0;
    var _47 = _20 * _t_0;
    var _48 = _23 * _t_0;
    var _49 = _3 + _46;
    var _50 = _8 + _47;
    var _51 = _13 + _48;
    var _52 = _nearest;
    FHEAP[_52] = _51;
    var _53 = _nearest+4;
    FHEAP[_53] = _50;
    var _54 = _nearest+8;
    FHEAP[_54] = _49;
    var _55 = _nearest+12;
    FHEAP[_55] = 0;
    var _56 = _diff_0_0_0 * _diff_0_0_0;
    var _57 = _diff_0_1_0 * _diff_0_1_0;
    var _58 = _56 + _57;
    var _59 = _diff_0_2_0 * _diff_0_2_0;
    var _60 = _58 + _59;
    ;
    return _60;
  }
  __Z18SegmentSqrDistanceRK9btVector3S1_S1_RS_.__index__ = Runtime.getFunctionIndex(__Z18SegmentSqrDistanceRK9btVector3S1_S1_RS_, "__Z18SegmentSqrDistanceRK9btVector3S1_S1_RS_");
  
  
  function __ZN22SphereTriangleDetector15pointInTriangleEPK9btVector3RS1_PS0_(_this, _vertices, _normal, _p) {
    ;
    var __label__;
    var _0 = _vertices+16+8;
    var _1 = FHEAP[_0];
    var _2 = _vertices+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _vertices+16+4;
    var _6 = FHEAP[_5];
    var _7 = _vertices+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _vertices+16;
    var _11 = FHEAP[_10];
    var _12 = _vertices;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _vertices+32+8;
    var _16 = FHEAP[_15];
    var _17 = _16 - _1;
    var _18 = _vertices+32+4;
    var _19 = FHEAP[_18];
    var _20 = _19 - _6;
    var _21 = _vertices+32;
    var _22 = FHEAP[_21];
    var _23 = _22 - _11;
    var _24 = _3 - _16;
    var _25 = _8 - _19;
    var _26 = _13 - _22;
    var _27 = _p+8;
    var _28 = FHEAP[_27];
    var _29 = _28 - _3;
    var _30 = _p+4;
    var _31 = FHEAP[_30];
    var _32 = _31 - _8;
    var _33 = _p;
    var _34 = FHEAP[_33];
    var _35 = _34 - _13;
    var _36 = _28 - _1;
    var _37 = _31 - _6;
    var _38 = _34 - _11;
    var _39 = _28 - _16;
    var _40 = _31 - _19;
    var _41 = _34 - _22;
    var _42 = _normal+4;
    var _43 = FHEAP[_42];
    var _44 = _14 * _43;
    var _45 = _normal;
    var _46 = FHEAP[_45];
    var _47 = _9 * _46;
    var _48 = _44 - _47;
    var _49 = _4 * _46;
    var _50 = _normal+8;
    var _51 = FHEAP[_50];
    var _52 = _14 * _51;
    var _53 = _49 - _52;
    var _54 = _9 * _51;
    var _55 = _4 * _43;
    var _56 = _54 - _55;
    var _57 = _23 * _43;
    var _58 = _20 * _46;
    var _59 = _57 - _58;
    var _60 = _17 * _46;
    var _61 = _23 * _51;
    var _62 = _60 - _61;
    var _63 = _20 * _51;
    var _64 = _17 * _43;
    var _65 = _63 - _64;
    var _66 = _26 * _43;
    var _67 = _25 * _46;
    var _68 = _66 - _67;
    var _69 = _24 * _46;
    var _70 = _26 * _51;
    var _71 = _69 - _70;
    var _72 = _25 * _51;
    var _73 = _24 * _43;
    var _74 = _72 - _73;
    var _75 = _56 * _35;
    var _76 = _53 * _32;
    var _77 = _75 + _76;
    var _78 = _48 * _29;
    var _79 = _77 + _78;
    var _80 = _65 * _38;
    var _81 = _62 * _37;
    var _82 = _80 + _81;
    var _83 = _59 * _36;
    var _84 = _82 + _83;
    var _85 = _74 * _41;
    var _86 = _71 * _40;
    var _87 = _85 + _86;
    var _88 = _68 * _39;
    var _89 = _87 + _88;
    var _notlhs = _79 > 0;
    var _notrhs = _84 > 0;
    var _or_cond_not = _notrhs & _notlhs;
    var _90 = _89 > 0;
    var _or_cond10 = _or_cond_not & _90;
    ;
    if (_or_cond10) {
      ;
      ;
      return 1;
    }
    else {
      ;
      var _91 = _79 > 0;
      var _92 = _84 > 0;
      var _or_cond11 = _91 | _92;
      var _93 = _89 > 0;
      var _or_cond12 = _or_cond11 | _93;
      var _94 = _or_cond12;
      var _retval = _94 ^ 1;
      ;
      return _retval;
    }
  }
  __ZN22SphereTriangleDetector15pointInTriangleEPK9btVector3RS1_PS0_.__index__ = Runtime.getFunctionIndex(__ZN22SphereTriangleDetector15pointInTriangleEPK9btVector3RS1_PS0_, "__ZN22SphereTriangleDetector15pointInTriangleEPK9btVector3RS1_PS0_");
  
  
  function __ZNK10btBoxShape37localGetSupportingVertexWithoutMarginERK9btVector3(_agg_result, _this, _vec) {
    ;
    var __label__;
    var _0 = _this+28+8;
    var _1 = FHEAP[_0];
    var _2 = 0 - _1;
    var _3 = _vec+8;
    var _4 = FHEAP[_3];
    var _5 = _4 < 0;
    var _iftmp_3_0_i2 = _5 ? _2 : _1;
    var _6 = _this+28+4;
    var _7 = FHEAP[_6];
    var _8 = 0 - _7;
    var _9 = _vec+4;
    var _10 = FHEAP[_9];
    var _11 = _10 < 0;
    var _iftmp_3_0_i1 = _11 ? _8 : _7;
    var _12 = _this+28;
    var _13 = FHEAP[_12];
    var _14 = 0 - _13;
    var _15 = _vec;
    var _16 = FHEAP[_15];
    var _17 = _16 < 0;
    var _iftmp_3_0_i = _17 ? _14 : _13;
    var _18 = _agg_result;
    FHEAP[_18] = _iftmp_3_0_i;
    var _19 = _agg_result+4;
    FHEAP[_19] = _iftmp_3_0_i1;
    var _20 = _agg_result+8;
    FHEAP[_20] = _iftmp_3_0_i2;
    var _21 = _agg_result+12;
    FHEAP[_21] = 0;
    ;
    return;
  }
  __ZNK10btBoxShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK10btBoxShape37localGetSupportingVertexWithoutMarginERK9btVector3, "__ZNK10btBoxShape37localGetSupportingVertexWithoutMarginERK9btVector3");
  
  
  function __ZNK10btBoxShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(_this, _vectors, _supportVerticesOut, _numVectors) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _numVectors > 0;
    ;
    _bb_nph$_return$8313: do { 
      if (_0) {
        ;
        var _1 = _this+28+8;
        var _2 = _this+28+4;
        var _3 = _this+28;
        __lastLabel__ = 130; ;
        _bb$8315: while(1) { // _bb
          var _i_05 = __lastLabel__ == 130 ? 0 : (_16);
          var _scevgep = _vectors+16*_i_05+8;
          var _scevgep6 = _vectors+16*_i_05+4;
          var _scevgep78 = _vectors+16*_i_05;
          var _scevgep910 = _supportVerticesOut+16*_i_05;
          var _scevgep11 = _supportVerticesOut+16*_i_05+4;
          var _scevgep12 = _supportVerticesOut+16*_i_05+8;
          var _scevgep13 = _supportVerticesOut+16*_i_05+12;
          var _4 = FHEAP[_1];
          var _5 = 0 - _4;
          var _6 = FHEAP[_scevgep];
          var _7 = _6 < 0;
          var _iftmp_3_0_i4 = _7 ? _5 : _4;
          var _8 = FHEAP[_2];
          var _9 = 0 - _8;
          var _10 = FHEAP[_scevgep6];
          var _11 = _10 < 0;
          var _iftmp_3_0_i3 = _11 ? _9 : _8;
          var _12 = FHEAP[_3];
          var _13 = 0 - _12;
          var _14 = FHEAP[_scevgep78];
          var _15 = _14 < 0;
          var _iftmp_3_0_i = _15 ? _13 : _12;
          FHEAP[_scevgep910] = _iftmp_3_0_i;
          FHEAP[_scevgep11] = _iftmp_3_0_i3;
          FHEAP[_scevgep12] = _iftmp_3_0_i4;
          FHEAP[_scevgep13] = 0;
          var _16 = _i_05 + 1;
          var _exitcond = _16 == _numVectors;
          if (_exitcond) { __lastLabel__ = 60; __label__ = 44; /* _return */ break _bb_nph$_return$8313; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$8315; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZNK10btBoxShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__ = Runtime.getFunctionIndex(__ZNK10btBoxShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, "__ZNK10btBoxShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i");
  
  
  function __ZNK10btBoxShape8getPlaneER9btVector3S1_i(_this, _planeNormal, _planeSupport, _i) {
    var __stackBase__  = STACKTOP; STACKTOP += 48;
    var __label__;
    var _0 = __stackBase__;
    var _plane = __stackBase__+16;
    var _memtmp = __stackBase__+32;
    var _1 = _this;
    var _2 = IHEAP[_1];
    var _3 = _2+112;
    var _4 = IHEAP[_3];
    var _5 = _4;
    FUNCTION_TABLE[_5](_this, _plane, _i);
    var _6 = _plane+8;
    var _7 = _plane+4;
    var _8 = _plane;
    var _9 = FHEAP[_8];
    var _10 = FHEAP[_7];
    var _11 = FHEAP[_6];
    var _12 = _planeNormal;
    FHEAP[_12] = _9;
    var _13 = _planeNormal+4;
    FHEAP[_13] = _10;
    var _14 = _planeNormal+8;
    FHEAP[_14] = _11;
    var _15 = _planeNormal+12;
    FHEAP[_15] = 0;
    var _16 = IHEAP[_1];
    var _17 = _16+60;
    var _18 = IHEAP[_17];
    var _19 = 0 - _11;
    var _20 = 0 - _10;
    var _21 = 0 - _9;
    var _22 = _0;
    FHEAP[_22] = _21;
    var _23 = _0+4;
    FHEAP[_23] = _20;
    var _24 = _0+8;
    FHEAP[_24] = _19;
    var _25 = _0+12;
    FHEAP[_25] = 0;
    var _26 = _18;
    FUNCTION_TABLE[_26](_memtmp, _this, _0);
    var _27 = _planeSupport;
    var _28 = _memtmp;
    var _29 = FHEAP[_28];
    FHEAP[_27] = _29;
    var _30 = _planeSupport+4;
    var _31 = _memtmp+4;
    var _32 = FHEAP[_31];
    FHEAP[_30] = _32;
    var _33 = _planeSupport+8;
    var _34 = _memtmp+8;
    var _35 = FHEAP[_34];
    FHEAP[_33] = _35;
    var _36 = _planeSupport+12;
    var _37 = _memtmp+12;
    var _38 = FHEAP[_37];
    FHEAP[_36] = _38;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK10btBoxShape8getPlaneER9btVector3S1_i.__index__ = Runtime.getFunctionIndex(__ZNK10btBoxShape8getPlaneER9btVector3S1_i, "__ZNK10btBoxShape8getPlaneER9btVector3S1_i");
  
  
  function __ZNK10btBoxShape9getVertexEiR9btVector3(_this, _i, _vtx) {
    ;
    var __label__;
    var _0 = _this+28;
    var _1 = FHEAP[_0];
    var _2 = _this+28+4;
    var _3 = FHEAP[_2];
    var _4 = _this+28+8;
    var _5 = FHEAP[_4];
    var _6 = _i >> 2;
    var _B_not = _6 & 1;
    var _7 = _B_not ^ 1;
    var _8 = _7;
    var _9 = _5 * _8;
    var _10 = _B_not;
    var _11 = _5 * _10;
    var _12 = _9 - _11;
    var _13 = _i >> 1;
    var _B_not3 = _13 & 1;
    var _14 = _B_not3 ^ 1;
    var _15 = _14;
    var _16 = _3 * _15;
    var _17 = _B_not3;
    var _18 = _3 * _17;
    var _19 = _16 - _18;
    var _20 = _i & 1;
    var _21 = _20 == 0;
    var _iftmp_133_0 = _21 ? 1 : 0;
    var _22 = _1 * _iftmp_133_0;
    var _23 = _20;
    var _24 = _1 * _23;
    var _25 = _22 - _24;
    var _26 = _vtx;
    FHEAP[_26] = _25;
    var _27 = _vtx+4;
    FHEAP[_27] = _19;
    var _28 = _vtx+8;
    FHEAP[_28] = _12;
    var _29 = _vtx+12;
    FHEAP[_29] = 0;
    ;
    return;
  }
  __ZNK10btBoxShape9getVertexEiR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK10btBoxShape9getVertexEiR9btVector3, "__ZNK10btBoxShape9getVertexEiR9btVector3");
  
  
  function __ZNK10btBoxShape16getPlaneEquationER9btVector4i(_this, _plane, _i) {
    ;
    var __label__;
    var _0 = _this+28;
    var _1 = FHEAP[_0];
    var _2 = _this+28+4;
    var _3 = FHEAP[_2];
    var _4 = _this+28+8;
    var _5 = FHEAP[_4];
    if (_i == 0) {
      __label__ = 60; /* _bb */ 
    }
    else if (_i == 1) {
      __label__ = 75; /* _bb1 */ 
    }
    else if (_i == 2) {
      __label__ = 0; /* _bb2 */ 
    }
    else if (_i == 3) {
      __label__ = 116; /* _bb3 */ 
    }
    else if (_i == 4) {
      __label__ = 61; /* _bb4 */ 
    }
    else if (_i == 5) {
      __label__ = 82; /* _bb5 */ 
    }
    else {
    __label__ = 44; /* _return */ 
    }
    
    if (__label__ == 44) {
      ;
      return;
    }
    else if (__label__ == 60) {
      var _6 = 0 - _1;
      var _7 = _plane;
      FHEAP[_7] = 1;
      var _8 = _plane+4;
      FHEAP[_8] = 0;
      var _9 = _plane+8;
      FHEAP[_9] = 0;
      var _10 = _plane+12;
      FHEAP[_10] = _6;
      ;
      return;
    }
    else if (__label__ == 75) {
      var _11 = 0 - _1;
      var _12 = _plane;
      FHEAP[_12] = -1;
      var _13 = _plane+4;
      FHEAP[_13] = 0;
      var _14 = _plane+8;
      FHEAP[_14] = 0;
      var _15 = _plane+12;
      FHEAP[_15] = _11;
      ;
      return;
    }
    else if (__label__ == 0) {
      var _16 = 0 - _3;
      var _17 = _plane;
      FHEAP[_17] = 0;
      var _18 = _plane+4;
      FHEAP[_18] = 1;
      var _19 = _plane+8;
      FHEAP[_19] = 0;
      var _20 = _plane+12;
      FHEAP[_20] = _16;
      ;
      return;
    }
    else if (__label__ == 116) {
      var _21 = 0 - _3;
      var _22 = _plane;
      FHEAP[_22] = 0;
      var _23 = _plane+4;
      FHEAP[_23] = -1;
      var _24 = _plane+8;
      FHEAP[_24] = 0;
      var _25 = _plane+12;
      FHEAP[_25] = _21;
      ;
      return;
    }
    else if (__label__ == 61) {
      var _26 = 0 - _5;
      var _27 = _plane;
      FHEAP[_27] = 0;
      var _28 = _plane+4;
      FHEAP[_28] = 0;
      var _29 = _plane+8;
      FHEAP[_29] = 1;
      var _30 = _plane+12;
      FHEAP[_30] = _26;
      ;
      return;
    }
    else if (__label__ == 82) {
      var _31 = 0 - _5;
      var _32 = _plane;
      FHEAP[_32] = 0;
      var _33 = _plane+4;
      FHEAP[_33] = 0;
      var _34 = _plane+8;
      FHEAP[_34] = -1;
      var _35 = _plane+12;
      FHEAP[_35] = _31;
      ;
      return;
    }
  }
  __ZNK10btBoxShape16getPlaneEquationER9btVector4i.__index__ = Runtime.getFunctionIndex(__ZNK10btBoxShape16getPlaneEquationER9btVector4i, "__ZNK10btBoxShape16getPlaneEquationER9btVector4i");
  
  
  function __ZNK10btBoxShape7getEdgeEiR9btVector3S1_(_this, _i, _pa, _pb) {
    ;
    var __label__;
    var __lastLabel__ = null;
    if (_i == 0) {
      __lastLabel__ = -1; __label__ = 60; /* _bb */ 
    }
    else if (_i == 1) {
      __lastLabel__ = -1; __label__ = 75; /* _bb1 */ 
    }
    else if (_i == 2) {
      __lastLabel__ = -1; __label__ = 0; /* _bb2 */ 
    }
    else if (_i == 3) {
      __lastLabel__ = -1; __label__ = 116; /* _bb3 */ 
    }
    else if (_i == 4) {
      __lastLabel__ = -1; __label__ = 61; /* _bb4 */ 
    }
    else if (_i == 5) {
      __lastLabel__ = -1; __label__ = 82; /* _bb5 */ 
    }
    else if (_i == 6) {
      __lastLabel__ = -1; __label__ = 83; /* _bb6 */ 
    }
    else if (_i == 7) {
      __lastLabel__ = -1; __label__ = 2; /* _bb7 */ 
    }
    else if (_i == 8) {
      __lastLabel__ = -1; __label__ = 148; /* _bb8 */ 
    }
    else if (_i == 9) {
      __lastLabel__ = -1; __label__ = 62; /* _bb9 */ 
    }
    else if (_i == 10) {
      __lastLabel__ = -1; __label__ = 150; /* _bb10 */ 
    }
    else if (_i == 11) {
      __lastLabel__ = -1; __label__ = 292; /* _bb11 */ 
    }
    else {
    __lastLabel__ = -1; __label__ = 3; /* _bb12 */ 
    }
    
    if (__label__ == 60) {
      __lastLabel__ = 60; ;
    }
    else if (__label__ == 75) {
      __lastLabel__ = 75; ;
    }
    else if (__label__ == 0) {
      __lastLabel__ = 0; ;
    }
    else if (__label__ == 116) {
      __lastLabel__ = 116; ;
    }
    else if (__label__ == 61) {
      __lastLabel__ = 61; ;
    }
    else if (__label__ == 82) {
      __lastLabel__ = 82; ;
    }
    else if (__label__ == 83) {
      __lastLabel__ = 83; ;
    }
    else if (__label__ == 2) {
      __lastLabel__ = 2; ;
    }
    else if (__label__ == 148) {
      __lastLabel__ = 148; ;
    }
    else if (__label__ == 62) {
      __lastLabel__ = 62; ;
    }
    else if (__label__ == 150) {
      __lastLabel__ = 150; ;
    }
    else if (__label__ == 292) {
      __lastLabel__ = 292; ;
    }
    var _edgeVert0_0 = __lastLabel__ == -1 ? 0 : (__lastLabel__ == 292 ? 6 : (__lastLabel__ == 150 ? 5 : (__lastLabel__ == 62 ? 4 : (__lastLabel__ == 148 ? 4 : (__lastLabel__ == 2 ? 3 : (__lastLabel__ == 83 ? 2 : (__lastLabel__ == 82 ? 1 : (__lastLabel__ == 61 ? 0 : (__lastLabel__ == 116 ? 2 : (__lastLabel__ == 0 ? 1 : (__lastLabel__ == 75 ? 0 : (0))))))))))));
    var _edgeVert1_0 = __lastLabel__ == -1 ? 0 : (__lastLabel__ == 292 ? 7 : (__lastLabel__ == 150 ? 7 : (__lastLabel__ == 62 ? 6 : (__lastLabel__ == 148 ? 5 : (__lastLabel__ == 2 ? 7 : (__lastLabel__ == 83 ? 6 : (__lastLabel__ == 82 ? 5 : (__lastLabel__ == 61 ? 4 : (__lastLabel__ == 116 ? 3 : (__lastLabel__ == 0 ? 3 : (__lastLabel__ == 75 ? 2 : (1))))))))))));
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+96;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_this, _edgeVert0_0, _pa);
    var _5 = IHEAP[_0];
    var _6 = _5+96;
    var _7 = IHEAP[_6];
    var _8 = _7;
    FUNCTION_TABLE[_8](_this, _edgeVert1_0, _pb);
    ;
    return;
  }
  __ZNK10btBoxShape7getEdgeEiR9btVector3S1_.__index__ = Runtime.getFunctionIndex(__ZNK10btBoxShape7getEdgeEiR9btVector3S1_, "__ZNK10btBoxShape7getEdgeEiR9btVector3S1_");
  
  
  function __ZNK10btBoxShape8isInsideERK9btVector3f(_this, _pt, _tolerance) {
    ;
    var __label__;
    var _0 = _this+28;
    var _1 = FHEAP[_0];
    var _2 = _this+28+4;
    var _3 = FHEAP[_2];
    var _4 = _this+28+8;
    var _5 = FHEAP[_4];
    var _6 = _pt;
    var _7 = FHEAP[_6];
    var _8 = _1 + _tolerance;
    var _9 = _7 > _8;
    ;
    _bb6$_bb$8349: do { 
      if (!_9) {
        ;
        var _10 = 0 - _1;
        var _11 = _10 - _tolerance;
        var _12 = _7 < _11;
        if (_12) { __label__ = 83; /* _bb6 */ break _bb6$_bb$8349; }
        var _13 = _pt+4;
        var _14 = FHEAP[_13];
        var _15 = _3 + _tolerance;
        var _16 = _14 > _15;
        if (_16) { __label__ = 83; /* _bb6 */ break _bb6$_bb$8349; }
        var _17 = 0 - _3;
        var _18 = _17 - _tolerance;
        var _19 = _14 < _18;
        if (_19) { __label__ = 83; /* _bb6 */ break _bb6$_bb$8349; }
        var _20 = _pt+8;
        var _21 = FHEAP[_20];
        var _22 = _5 + _tolerance;
        var _23 = _21 > _22;
        if (_23) { __label__ = 83; /* _bb6 */ break _bb6$_bb$8349; }
        var _24 = 0 - _5;
        var _25 = _24 - _tolerance;
        var _not_ = _21 >= _25;
        var _retval = _not_;
        ;
        return _retval;
      }
    } while(0);
    ;
    return 0;
  }
  __ZNK10btBoxShape8isInsideERK9btVector3f.__index__ = Runtime.getFunctionIndex(__ZNK10btBoxShape8isInsideERK9btVector3f, "__ZNK10btBoxShape8isInsideERK9btVector3f");
  
  
  function __ZNK10btBoxShape32getPreferredPenetrationDirectionEiR9btVector3(_this, _index, _penetrationVector) {
    ;
    var __label__;
    if (_index == 0) {
      __label__ = 60; /* _bb */ 
    }
    else if (_index == 1) {
      __label__ = 75; /* _bb1 */ 
    }
    else if (_index == 2) {
      __label__ = 0; /* _bb2 */ 
    }
    else if (_index == 3) {
      __label__ = 116; /* _bb3 */ 
    }
    else if (_index == 4) {
      __label__ = 61; /* _bb4 */ 
    }
    else if (_index == 5) {
      __label__ = 82; /* _bb5 */ 
    }
    else {
    __label__ = 44; /* _return */ 
    }
    
    if (__label__ == 44) {
      ;
      return;
    }
    else if (__label__ == 60) {
      var _0 = _penetrationVector;
      FHEAP[_0] = 1;
      var _1 = _penetrationVector+4;
      FHEAP[_1] = 0;
      var _2 = _penetrationVector+8;
      FHEAP[_2] = 0;
      var _3 = _penetrationVector+12;
      FHEAP[_3] = 0;
      ;
      return;
    }
    else if (__label__ == 75) {
      var _4 = _penetrationVector;
      FHEAP[_4] = -1;
      var _5 = _penetrationVector+4;
      FHEAP[_5] = 0;
      var _6 = _penetrationVector+8;
      FHEAP[_6] = 0;
      var _7 = _penetrationVector+12;
      FHEAP[_7] = 0;
      ;
      return;
    }
    else if (__label__ == 0) {
      var _8 = _penetrationVector;
      FHEAP[_8] = 0;
      var _9 = _penetrationVector+4;
      FHEAP[_9] = 1;
      var _10 = _penetrationVector+8;
      FHEAP[_10] = 0;
      var _11 = _penetrationVector+12;
      FHEAP[_11] = 0;
      ;
      return;
    }
    else if (__label__ == 116) {
      var _12 = _penetrationVector;
      FHEAP[_12] = 0;
      var _13 = _penetrationVector+4;
      FHEAP[_13] = -1;
      var _14 = _penetrationVector+8;
      FHEAP[_14] = 0;
      var _15 = _penetrationVector+12;
      FHEAP[_15] = 0;
      ;
      return;
    }
    else if (__label__ == 61) {
      var _16 = _penetrationVector;
      FHEAP[_16] = 0;
      var _17 = _penetrationVector+4;
      FHEAP[_17] = 0;
      var _18 = _penetrationVector+8;
      FHEAP[_18] = 1;
      var _19 = _penetrationVector+12;
      FHEAP[_19] = 0;
      ;
      return;
    }
    else if (__label__ == 82) {
      var _20 = _penetrationVector;
      FHEAP[_20] = 0;
      var _21 = _penetrationVector+4;
      FHEAP[_21] = 0;
      var _22 = _penetrationVector+8;
      FHEAP[_22] = -1;
      var _23 = _penetrationVector+12;
      FHEAP[_23] = 0;
      ;
      return;
    }
  }
  __ZNK10btBoxShape32getPreferredPenetrationDirectionEiR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK10btBoxShape32getPreferredPenetrationDirectionEiR9btVector3, "__ZNK10btBoxShape32getPreferredPenetrationDirectionEiR9btVector3");
  
  
  function __ZN10btBoxShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN10btBoxShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN10btBoxShapeD0Ev, "__ZN10btBoxShapeD0Ev");
  
  
  function __ZN10btBoxShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN10btBoxShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN10btBoxShapeD1Ev, "__ZN10btBoxShapeD1Ev");
  
  
  function __ZNK12btBox2dShape37localGetSupportingVertexWithoutMarginERK9btVector3(_agg_result, _this, _vec) {
    ;
    var __label__;
    var _0 = _this+28+8;
    var _1 = FHEAP[_0];
    var _2 = 0 - _1;
    var _3 = _vec+8;
    var _4 = FHEAP[_3];
    var _5 = _4 < 0;
    var _iftmp_3_0_i2 = _5 ? _2 : _1;
    var _6 = _this+28+4;
    var _7 = FHEAP[_6];
    var _8 = 0 - _7;
    var _9 = _vec+4;
    var _10 = FHEAP[_9];
    var _11 = _10 < 0;
    var _iftmp_3_0_i1 = _11 ? _8 : _7;
    var _12 = _this+28;
    var _13 = FHEAP[_12];
    var _14 = 0 - _13;
    var _15 = _vec;
    var _16 = FHEAP[_15];
    var _17 = _16 < 0;
    var _iftmp_3_0_i = _17 ? _14 : _13;
    var _18 = _agg_result;
    FHEAP[_18] = _iftmp_3_0_i;
    var _19 = _agg_result+4;
    FHEAP[_19] = _iftmp_3_0_i1;
    var _20 = _agg_result+8;
    FHEAP[_20] = _iftmp_3_0_i2;
    var _21 = _agg_result+12;
    FHEAP[_21] = 0;
    ;
    return;
  }
  __ZNK12btBox2dShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK12btBox2dShape37localGetSupportingVertexWithoutMarginERK9btVector3, "__ZNK12btBox2dShape37localGetSupportingVertexWithoutMarginERK9btVector3");
  
  
  function __ZNK12btBox2dShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(_this, _vectors, _supportVerticesOut, _numVectors) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _numVectors > 0;
    ;
    _bb_nph$_return$8375: do { 
      if (_0) {
        ;
        var _1 = _this+28+8;
        var _2 = _this+28+4;
        var _3 = _this+28;
        __lastLabel__ = 130; ;
        _bb$8377: while(1) { // _bb
          var _i_05 = __lastLabel__ == 130 ? 0 : (_16);
          var _scevgep = _vectors+16*_i_05+8;
          var _scevgep6 = _vectors+16*_i_05+4;
          var _scevgep78 = _vectors+16*_i_05;
          var _scevgep910 = _supportVerticesOut+16*_i_05;
          var _scevgep11 = _supportVerticesOut+16*_i_05+4;
          var _scevgep12 = _supportVerticesOut+16*_i_05+8;
          var _scevgep13 = _supportVerticesOut+16*_i_05+12;
          var _4 = FHEAP[_1];
          var _5 = 0 - _4;
          var _6 = FHEAP[_scevgep];
          var _7 = _6 < 0;
          var _iftmp_3_0_i4 = _7 ? _5 : _4;
          var _8 = FHEAP[_2];
          var _9 = 0 - _8;
          var _10 = FHEAP[_scevgep6];
          var _11 = _10 < 0;
          var _iftmp_3_0_i3 = _11 ? _9 : _8;
          var _12 = FHEAP[_3];
          var _13 = 0 - _12;
          var _14 = FHEAP[_scevgep78];
          var _15 = _14 < 0;
          var _iftmp_3_0_i = _15 ? _13 : _12;
          FHEAP[_scevgep910] = _iftmp_3_0_i;
          FHEAP[_scevgep11] = _iftmp_3_0_i3;
          FHEAP[_scevgep12] = _iftmp_3_0_i4;
          FHEAP[_scevgep13] = 0;
          var _16 = _i_05 + 1;
          var _exitcond = _16 == _numVectors;
          if (_exitcond) { __lastLabel__ = 60; __label__ = 44; /* _return */ break _bb_nph$_return$8375; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$8377; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZNK12btBox2dShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__ = Runtime.getFunctionIndex(__ZNK12btBox2dShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, "__ZNK12btBox2dShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i");
  
  
  function __ZNK12btBox2dShape8getPlaneER9btVector3S1_i(_this, _planeNormal, _planeSupport, _i) {
    var __stackBase__  = STACKTOP; STACKTOP += 48;
    var __label__;
    var _0 = __stackBase__;
    var _plane = __stackBase__+16;
    var _memtmp = __stackBase__+32;
    var _1 = _this;
    var _2 = IHEAP[_1];
    var _3 = _2+112;
    var _4 = IHEAP[_3];
    var _5 = _4;
    FUNCTION_TABLE[_5](_this, _plane, _i);
    var _6 = _plane+8;
    var _7 = _plane+4;
    var _8 = _plane;
    var _9 = FHEAP[_8];
    var _10 = FHEAP[_7];
    var _11 = FHEAP[_6];
    var _12 = _planeNormal;
    FHEAP[_12] = _9;
    var _13 = _planeNormal+4;
    FHEAP[_13] = _10;
    var _14 = _planeNormal+8;
    FHEAP[_14] = _11;
    var _15 = _planeNormal+12;
    FHEAP[_15] = 0;
    var _16 = IHEAP[_1];
    var _17 = _16+60;
    var _18 = IHEAP[_17];
    var _19 = 0 - _11;
    var _20 = 0 - _10;
    var _21 = 0 - _9;
    var _22 = _0;
    FHEAP[_22] = _21;
    var _23 = _0+4;
    FHEAP[_23] = _20;
    var _24 = _0+8;
    FHEAP[_24] = _19;
    var _25 = _0+12;
    FHEAP[_25] = 0;
    var _26 = _18;
    FUNCTION_TABLE[_26](_memtmp, _this, _0);
    var _27 = _planeSupport;
    var _28 = _memtmp;
    var _29 = FHEAP[_28];
    FHEAP[_27] = _29;
    var _30 = _planeSupport+4;
    var _31 = _memtmp+4;
    var _32 = FHEAP[_31];
    FHEAP[_30] = _32;
    var _33 = _planeSupport+8;
    var _34 = _memtmp+8;
    var _35 = FHEAP[_34];
    FHEAP[_33] = _35;
    var _36 = _planeSupport+12;
    var _37 = _memtmp+12;
    var _38 = FHEAP[_37];
    FHEAP[_36] = _38;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK12btBox2dShape8getPlaneER9btVector3S1_i.__index__ = Runtime.getFunctionIndex(__ZNK12btBox2dShape8getPlaneER9btVector3S1_i, "__ZNK12btBox2dShape8getPlaneER9btVector3S1_i");
  
  
  function __ZNK12btBox2dShape9getVertexEiR9btVector3(_this, _i, _vtx) {
    ;
    var __label__;
    var _0 = _this+28;
    var _1 = FHEAP[_0];
    var _2 = _this+28+4;
    var _3 = FHEAP[_2];
    var _4 = _this+28+8;
    var _5 = FHEAP[_4];
    var _6 = _i >> 2;
    var _B_not = _6 & 1;
    var _7 = _B_not ^ 1;
    var _8 = _7;
    var _9 = _5 * _8;
    var _10 = _B_not;
    var _11 = _5 * _10;
    var _12 = _9 - _11;
    var _13 = _i >> 1;
    var _B_not3 = _13 & 1;
    var _14 = _B_not3 ^ 1;
    var _15 = _14;
    var _16 = _3 * _15;
    var _17 = _B_not3;
    var _18 = _3 * _17;
    var _19 = _16 - _18;
    var _20 = _i & 1;
    var _21 = _20 == 0;
    var _iftmp_135_0 = _21 ? 1 : 0;
    var _22 = _1 * _iftmp_135_0;
    var _23 = _20;
    var _24 = _1 * _23;
    var _25 = _22 - _24;
    var _26 = _vtx;
    FHEAP[_26] = _25;
    var _27 = _vtx+4;
    FHEAP[_27] = _19;
    var _28 = _vtx+8;
    FHEAP[_28] = _12;
    var _29 = _vtx+12;
    FHEAP[_29] = 0;
    ;
    return;
  }
  __ZNK12btBox2dShape9getVertexEiR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK12btBox2dShape9getVertexEiR9btVector3, "__ZNK12btBox2dShape9getVertexEiR9btVector3");
  
  
  function __ZNK12btBox2dShape16getPlaneEquationER9btVector4i(_this, _plane, _i) {
    ;
    var __label__;
    var _0 = _this+28;
    var _1 = FHEAP[_0];
    var _2 = _this+28+4;
    var _3 = FHEAP[_2];
    var _4 = _this+28+8;
    var _5 = FHEAP[_4];
    if (_i == 0) {
      __label__ = 60; /* _bb */ 
    }
    else if (_i == 1) {
      __label__ = 75; /* _bb1 */ 
    }
    else if (_i == 2) {
      __label__ = 0; /* _bb2 */ 
    }
    else if (_i == 3) {
      __label__ = 116; /* _bb3 */ 
    }
    else if (_i == 4) {
      __label__ = 61; /* _bb4 */ 
    }
    else if (_i == 5) {
      __label__ = 82; /* _bb5 */ 
    }
    else {
    __label__ = 44; /* _return */ 
    }
    
    if (__label__ == 44) {
      ;
      return;
    }
    else if (__label__ == 60) {
      var _6 = 0 - _1;
      var _7 = _plane;
      FHEAP[_7] = 1;
      var _8 = _plane+4;
      FHEAP[_8] = 0;
      var _9 = _plane+8;
      FHEAP[_9] = 0;
      var _10 = _plane+12;
      FHEAP[_10] = _6;
      ;
      return;
    }
    else if (__label__ == 75) {
      var _11 = 0 - _1;
      var _12 = _plane;
      FHEAP[_12] = -1;
      var _13 = _plane+4;
      FHEAP[_13] = 0;
      var _14 = _plane+8;
      FHEAP[_14] = 0;
      var _15 = _plane+12;
      FHEAP[_15] = _11;
      ;
      return;
    }
    else if (__label__ == 0) {
      var _16 = 0 - _3;
      var _17 = _plane;
      FHEAP[_17] = 0;
      var _18 = _plane+4;
      FHEAP[_18] = 1;
      var _19 = _plane+8;
      FHEAP[_19] = 0;
      var _20 = _plane+12;
      FHEAP[_20] = _16;
      ;
      return;
    }
    else if (__label__ == 116) {
      var _21 = 0 - _3;
      var _22 = _plane;
      FHEAP[_22] = 0;
      var _23 = _plane+4;
      FHEAP[_23] = -1;
      var _24 = _plane+8;
      FHEAP[_24] = 0;
      var _25 = _plane+12;
      FHEAP[_25] = _21;
      ;
      return;
    }
    else if (__label__ == 61) {
      var _26 = 0 - _5;
      var _27 = _plane;
      FHEAP[_27] = 0;
      var _28 = _plane+4;
      FHEAP[_28] = 0;
      var _29 = _plane+8;
      FHEAP[_29] = 1;
      var _30 = _plane+12;
      FHEAP[_30] = _26;
      ;
      return;
    }
    else if (__label__ == 82) {
      var _31 = 0 - _5;
      var _32 = _plane;
      FHEAP[_32] = 0;
      var _33 = _plane+4;
      FHEAP[_33] = 0;
      var _34 = _plane+8;
      FHEAP[_34] = -1;
      var _35 = _plane+12;
      FHEAP[_35] = _31;
      ;
      return;
    }
  }
  __ZNK12btBox2dShape16getPlaneEquationER9btVector4i.__index__ = Runtime.getFunctionIndex(__ZNK12btBox2dShape16getPlaneEquationER9btVector4i, "__ZNK12btBox2dShape16getPlaneEquationER9btVector4i");
  
  
  function __ZNK12btBox2dShape7getEdgeEiR9btVector3S1_(_this, _i, _pa, _pb) {
    ;
    var __label__;
    var __lastLabel__ = null;
    if (_i == 0) {
      __lastLabel__ = -1; __label__ = 60; /* _bb */ 
    }
    else if (_i == 1) {
      __lastLabel__ = -1; __label__ = 75; /* _bb1 */ 
    }
    else if (_i == 2) {
      __lastLabel__ = -1; __label__ = 0; /* _bb2 */ 
    }
    else if (_i == 3) {
      __lastLabel__ = -1; __label__ = 116; /* _bb3 */ 
    }
    else if (_i == 4) {
      __lastLabel__ = -1; __label__ = 61; /* _bb4 */ 
    }
    else if (_i == 5) {
      __lastLabel__ = -1; __label__ = 82; /* _bb5 */ 
    }
    else if (_i == 6) {
      __lastLabel__ = -1; __label__ = 83; /* _bb6 */ 
    }
    else if (_i == 7) {
      __lastLabel__ = -1; __label__ = 2; /* _bb7 */ 
    }
    else if (_i == 8) {
      __lastLabel__ = -1; __label__ = 148; /* _bb8 */ 
    }
    else if (_i == 9) {
      __lastLabel__ = -1; __label__ = 62; /* _bb9 */ 
    }
    else if (_i == 10) {
      __lastLabel__ = -1; __label__ = 150; /* _bb10 */ 
    }
    else if (_i == 11) {
      __lastLabel__ = -1; __label__ = 292; /* _bb11 */ 
    }
    else {
    __lastLabel__ = -1; __label__ = 3; /* _bb12 */ 
    }
    
    if (__label__ == 60) {
      __lastLabel__ = 60; ;
    }
    else if (__label__ == 75) {
      __lastLabel__ = 75; ;
    }
    else if (__label__ == 0) {
      __lastLabel__ = 0; ;
    }
    else if (__label__ == 116) {
      __lastLabel__ = 116; ;
    }
    else if (__label__ == 61) {
      __lastLabel__ = 61; ;
    }
    else if (__label__ == 82) {
      __lastLabel__ = 82; ;
    }
    else if (__label__ == 83) {
      __lastLabel__ = 83; ;
    }
    else if (__label__ == 2) {
      __lastLabel__ = 2; ;
    }
    else if (__label__ == 148) {
      __lastLabel__ = 148; ;
    }
    else if (__label__ == 62) {
      __lastLabel__ = 62; ;
    }
    else if (__label__ == 150) {
      __lastLabel__ = 150; ;
    }
    else if (__label__ == 292) {
      __lastLabel__ = 292; ;
    }
    var _edgeVert0_0 = __lastLabel__ == -1 ? 0 : (__lastLabel__ == 292 ? 6 : (__lastLabel__ == 150 ? 5 : (__lastLabel__ == 62 ? 4 : (__lastLabel__ == 148 ? 4 : (__lastLabel__ == 2 ? 3 : (__lastLabel__ == 83 ? 2 : (__lastLabel__ == 82 ? 1 : (__lastLabel__ == 61 ? 0 : (__lastLabel__ == 116 ? 2 : (__lastLabel__ == 0 ? 1 : (__lastLabel__ == 75 ? 0 : (0))))))))))));
    var _edgeVert1_0 = __lastLabel__ == -1 ? 0 : (__lastLabel__ == 292 ? 7 : (__lastLabel__ == 150 ? 7 : (__lastLabel__ == 62 ? 6 : (__lastLabel__ == 148 ? 5 : (__lastLabel__ == 2 ? 7 : (__lastLabel__ == 83 ? 6 : (__lastLabel__ == 82 ? 5 : (__lastLabel__ == 61 ? 4 : (__lastLabel__ == 116 ? 3 : (__lastLabel__ == 0 ? 3 : (__lastLabel__ == 75 ? 2 : (1))))))))))));
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+96;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_this, _edgeVert0_0, _pa);
    var _5 = IHEAP[_0];
    var _6 = _5+96;
    var _7 = IHEAP[_6];
    var _8 = _7;
    FUNCTION_TABLE[_8](_this, _edgeVert1_0, _pb);
    ;
    return;
  }
  __ZNK12btBox2dShape7getEdgeEiR9btVector3S1_.__index__ = Runtime.getFunctionIndex(__ZNK12btBox2dShape7getEdgeEiR9btVector3S1_, "__ZNK12btBox2dShape7getEdgeEiR9btVector3S1_");
  
  
  function __ZNK12btBox2dShape8isInsideERK9btVector3f(_this, _pt, _tolerance) {
    ;
    var __label__;
    var _0 = _this+28;
    var _1 = FHEAP[_0];
    var _2 = _this+28+4;
    var _3 = FHEAP[_2];
    var _4 = _this+28+8;
    var _5 = FHEAP[_4];
    var _6 = _pt;
    var _7 = FHEAP[_6];
    var _8 = _1 + _tolerance;
    var _9 = _7 > _8;
    ;
    _bb6$_bb$8411: do { 
      if (!_9) {
        ;
        var _10 = 0 - _1;
        var _11 = _10 - _tolerance;
        var _12 = _7 < _11;
        if (_12) { __label__ = 83; /* _bb6 */ break _bb6$_bb$8411; }
        var _13 = _pt+4;
        var _14 = FHEAP[_13];
        var _15 = _3 + _tolerance;
        var _16 = _14 > _15;
        if (_16) { __label__ = 83; /* _bb6 */ break _bb6$_bb$8411; }
        var _17 = 0 - _3;
        var _18 = _17 - _tolerance;
        var _19 = _14 < _18;
        if (_19) { __label__ = 83; /* _bb6 */ break _bb6$_bb$8411; }
        var _20 = _pt+8;
        var _21 = FHEAP[_20];
        var _22 = _5 + _tolerance;
        var _23 = _21 > _22;
        if (_23) { __label__ = 83; /* _bb6 */ break _bb6$_bb$8411; }
        var _24 = 0 - _5;
        var _25 = _24 - _tolerance;
        var _not_ = _21 >= _25;
        var _retval = _not_;
        ;
        return _retval;
      }
    } while(0);
    ;
    return 0;
  }
  __ZNK12btBox2dShape8isInsideERK9btVector3f.__index__ = Runtime.getFunctionIndex(__ZNK12btBox2dShape8isInsideERK9btVector3f, "__ZNK12btBox2dShape8isInsideERK9btVector3f");
  
  
  function __ZNK12btBox2dShape32getPreferredPenetrationDirectionEiR9btVector3(_this, _index, _penetrationVector) {
    ;
    var __label__;
    if (_index == 0) {
      __label__ = 60; /* _bb */ 
    }
    else if (_index == 1) {
      __label__ = 75; /* _bb1 */ 
    }
    else if (_index == 2) {
      __label__ = 0; /* _bb2 */ 
    }
    else if (_index == 3) {
      __label__ = 116; /* _bb3 */ 
    }
    else if (_index == 4) {
      __label__ = 61; /* _bb4 */ 
    }
    else if (_index == 5) {
      __label__ = 82; /* _bb5 */ 
    }
    else {
    __label__ = 44; /* _return */ 
    }
    
    if (__label__ == 44) {
      ;
      return;
    }
    else if (__label__ == 60) {
      var _0 = _penetrationVector;
      FHEAP[_0] = 1;
      var _1 = _penetrationVector+4;
      FHEAP[_1] = 0;
      var _2 = _penetrationVector+8;
      FHEAP[_2] = 0;
      var _3 = _penetrationVector+12;
      FHEAP[_3] = 0;
      ;
      return;
    }
    else if (__label__ == 75) {
      var _4 = _penetrationVector;
      FHEAP[_4] = -1;
      var _5 = _penetrationVector+4;
      FHEAP[_5] = 0;
      var _6 = _penetrationVector+8;
      FHEAP[_6] = 0;
      var _7 = _penetrationVector+12;
      FHEAP[_7] = 0;
      ;
      return;
    }
    else if (__label__ == 0) {
      var _8 = _penetrationVector;
      FHEAP[_8] = 0;
      var _9 = _penetrationVector+4;
      FHEAP[_9] = 1;
      var _10 = _penetrationVector+8;
      FHEAP[_10] = 0;
      var _11 = _penetrationVector+12;
      FHEAP[_11] = 0;
      ;
      return;
    }
    else if (__label__ == 116) {
      var _12 = _penetrationVector;
      FHEAP[_12] = 0;
      var _13 = _penetrationVector+4;
      FHEAP[_13] = -1;
      var _14 = _penetrationVector+8;
      FHEAP[_14] = 0;
      var _15 = _penetrationVector+12;
      FHEAP[_15] = 0;
      ;
      return;
    }
    else if (__label__ == 61) {
      var _16 = _penetrationVector;
      FHEAP[_16] = 0;
      var _17 = _penetrationVector+4;
      FHEAP[_17] = 0;
      var _18 = _penetrationVector+8;
      FHEAP[_18] = 1;
      var _19 = _penetrationVector+12;
      FHEAP[_19] = 0;
      ;
      return;
    }
    else if (__label__ == 82) {
      var _20 = _penetrationVector;
      FHEAP[_20] = 0;
      var _21 = _penetrationVector+4;
      FHEAP[_21] = 0;
      var _22 = _penetrationVector+8;
      FHEAP[_22] = -1;
      var _23 = _penetrationVector+12;
      FHEAP[_23] = 0;
      ;
      return;
    }
  }
  __ZNK12btBox2dShape32getPreferredPenetrationDirectionEiR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK12btBox2dShape32getPreferredPenetrationDirectionEiR9btVector3, "__ZNK12btBox2dShape32getPreferredPenetrationDirectionEiR9btVector3");
  
  
  function __ZN12btBox2dShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN12btBox2dShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN12btBox2dShapeD0Ev, "__ZN12btBox2dShapeD0Ev");
  
  
  function __ZN12btBox2dShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN12btBox2dShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN12btBox2dShapeD1Ev, "__ZN12btBox2dShapeD1Ev");
  
  
  function __ZNK14btConcaveShape9getMarginEv(_this) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = FHEAP[_0];
    ;
    return _1;
  }
  __ZNK14btConcaveShape9getMarginEv.__index__ = Runtime.getFunctionIndex(__ZNK14btConcaveShape9getMarginEv, "__ZNK14btConcaveShape9getMarginEv");
  
  
  function __ZN14btConcaveShape9setMarginEf(_this, _collisionMargin) {
    ;
    var __label__;
    var _0 = _this+12;
    FHEAP[_0] = _collisionMargin;
    ;
    return;
  }
  __ZN14btConcaveShape9setMarginEf.__index__ = Runtime.getFunctionIndex(__ZN14btConcaveShape9setMarginEf, "__ZN14btConcaveShape9setMarginEf");
  
  
  function __ZNK19btTriangleMeshShape37localGetSupportingVertexWithoutMarginERK9btVector3(_agg_result, _this, _vec) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+64;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_agg_result, _this, _vec);
    ;
    return;
  }
  __ZNK19btTriangleMeshShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK19btTriangleMeshShape37localGetSupportingVertexWithoutMarginERK9btVector3, "__ZNK19btTriangleMeshShape37localGetSupportingVertexWithoutMarginERK9btVector3");
  
  
  function __ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback+8;
    ;
    return;
  }
  __ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev, "__ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev");
  
  
  function __ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev, "__ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev");
  
  
  function __ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii(_this, _nodeSubPart, _nodeTriangleIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 56;
    var __label__;
    var __lastLabel__ = null;
    var _m_triangle = __stackBase__;
    var _vertexbase = __stackBase__+48;
    var _numverts = __stackBase__+49;
    var _type = __stackBase__+50;
    var _stride = __stackBase__+51;
    var _indexbase = __stackBase__+52;
    var _indexstride = __stackBase__+53;
    var _numfaces = __stackBase__+54;
    var _indicestype = __stackBase__+55;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+16;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_1, _vertexbase, _numverts, _type, _stride, _indexbase, _indexstride, _numfaces, _indicestype, _nodeSubPart);
    var _7 = IHEAP[_indexbase];
    var _8 = IHEAP[_0];
    var _9 = IHEAP[_indexstride];
    var _10 = _8+4+8;
    var _11 = _8+4+4;
    var _12 = _8+4;
    var _tmp26 = _9 * _nodeTriangleIndex;
    var _tmp27 = _tmp26 + 4;
    var _tmp31 = _tmp26 + 8;
    __lastLabel__ = 130; ;
    _bb3$8449: while(1) { // _bb3
      var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
      var _tmp36 = 2 - _indvar;
      var _scevgep3738 = _m_triangle+_tmp36*16;
      var _scevgep39 = _m_triangle+_tmp36*16+4;
      var _scevgep40 = _m_triangle+_tmp36*16+8;
      var _scevgep41 = _m_triangle+_tmp36*16+12;
      var _13 = IHEAP[_indicestype];
      var _14 = _13 == 3;
      ;
      if (_14) {
        ;
        var _tmp = _indvar * -2;
        var _tmp28 = _tmp27 + _tmp;
        var _scevgep = _7+_tmp28;
        var _scevgep29 = _scevgep;
        var _15 = IHEAP[_scevgep29];
        var _16 = _15;
        __lastLabel__ = 61; ;
      }
      else {
        ;
        var _tmp30 = _indvar * -4;
        var _tmp32 = _tmp31 + _tmp30;
        var _scevgep33 = _7+_tmp32;
        var _scevgep3334 = _scevgep33;
        var _17 = IHEAP[_scevgep3334];
        __lastLabel__ = 82; ;
      }
      var _iftmp_220_0 = __lastLabel__ == 61 ? _16 : (_17);
      var _18 = IHEAP[_type];
      var _19 = _18 == 0;
      var _20 = IHEAP[_vertexbase];
      var _21 = IHEAP[_stride];
      var _22 = _21 * _iftmp_220_0;
      var _23 = _20+_22;
      ;
      if (_19) {
        ;
        var _24 = _23;
        var __sum15 = _22 + 8;
        var _25 = _20+__sum15;
        var _26 = _25;
        var _27 = FHEAP[_26];
        var _28 = FHEAP[_10];
        var _29 = _27 * _28;
        var __sum16 = _22 + 4;
        var _30 = _20+__sum16;
        var _31 = _30;
        var _32 = FHEAP[_31];
        var _33 = FHEAP[_11];
        var _34 = _32 * _33;
        var _35 = FHEAP[_24];
        var _36 = FHEAP[_12];
        var _37 = _35 * _36;
        __lastLabel__ = 2; ;
      }
      else {
        ;
        var _38 = _23;
        var __sum = _22 + 16;
        var _39 = _20+__sum;
        var _40 = _39;
        var _41 = FHEAP[_40];
        var _42 = _41;
        var _43 = FHEAP[_10];
        var _44 = _42 * _43;
        var __sum14 = _22 + 8;
        var _45 = _20+__sum14;
        var _46 = _45;
        var _47 = FHEAP[_46];
        var _48 = _47;
        var _49 = FHEAP[_11];
        var _50 = _48 * _49;
        var _51 = FHEAP[_38];
        var _52 = _51;
        var _53 = FHEAP[_12];
        var _54 = _52 * _53;
        __lastLabel__ = 148; ;
      }
      var _storemerge46 = __lastLabel__ == 2 ? _37 : (_54);
      var _storemerge45 = __lastLabel__ == 2 ? _34 : (_50);
      var _storemerge = __lastLabel__ == 2 ? _29 : (_44);
      FHEAP[_scevgep3738] = _storemerge46;
      FHEAP[_scevgep39] = _storemerge45;
      FHEAP[_scevgep40] = _storemerge;
      FHEAP[_scevgep41] = 0;
      var _indvar_next = _indvar + 1;
      var _exitcond = _indvar_next == 3;
      if (_exitcond) { __lastLabel__ = 150; __label__ = 3; /* _bb12 */ break _bb3$8449; } else { __lastLabel__ = 150; __label__ = 116; /* _bb3 */ continue _bb3$8449; }
    }
    var _55 = _this+8;
    var _56 = IHEAP[_55];
    var _57 = _56;
    var _58 = IHEAP[_57];
    var _59 = _58+8;
    var _60 = IHEAP[_59];
    var _61 = _60;
    var _62 = _m_triangle;
    FUNCTION_TABLE[_61](_56, _62, _nodeSubPart, _nodeTriangleIndex);
    var _63 = IHEAP[_0];
    var _64 = _63;
    var _65 = IHEAP[_64];
    var _66 = _65+24;
    var _67 = IHEAP[_66];
    var _68 = _67;
    FUNCTION_TABLE[_68](_63, _nodeSubPart);
    STACKTOP = __stackBase__;
    return;
  }
  __ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii.__index__ = Runtime.getFunctionIndex(__ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii, "__ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii");
  
  
  function __ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback+8;
    ;
    return;
  }
  __ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD1Ev, "__ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD1Ev");
  
  
  function __ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD0Ev, "__ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD0Ev");
  
  
  function __ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallback11processNodeEii(_this, _nodeSubPart, _nodeTriangleIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 56;
    var __label__;
    var __lastLabel__ = null;
    var _m_triangle = __stackBase__;
    var _vertexbase = __stackBase__+48;
    var _numverts = __stackBase__+49;
    var _type = __stackBase__+50;
    var _stride = __stackBase__+51;
    var _indexbase = __stackBase__+52;
    var _indexstride = __stackBase__+53;
    var _numfaces = __stackBase__+54;
    var _indicestype = __stackBase__+55;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+16;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_1, _vertexbase, _numverts, _type, _stride, _indexbase, _indexstride, _numfaces, _indicestype, _nodeSubPart);
    var _7 = IHEAP[_indexbase];
    var _8 = IHEAP[_0];
    var _9 = IHEAP[_indexstride];
    var _10 = _8+4+8;
    var _11 = _8+4+4;
    var _12 = _8+4;
    var _tmp26 = _9 * _nodeTriangleIndex;
    var _tmp27 = _tmp26 + 4;
    var _tmp31 = _tmp26 + 8;
    __lastLabel__ = 130; ;
    _bb3$8463: while(1) { // _bb3
      var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
      var _tmp36 = 2 - _indvar;
      var _scevgep3738 = _m_triangle+_tmp36*16;
      var _scevgep39 = _m_triangle+_tmp36*16+4;
      var _scevgep40 = _m_triangle+_tmp36*16+8;
      var _scevgep41 = _m_triangle+_tmp36*16+12;
      var _13 = IHEAP[_indicestype];
      var _14 = _13 == 3;
      ;
      if (_14) {
        ;
        var _tmp = _indvar * -2;
        var _tmp28 = _tmp27 + _tmp;
        var _scevgep = _7+_tmp28;
        var _scevgep29 = _scevgep;
        var _15 = IHEAP[_scevgep29];
        var _16 = _15;
        __lastLabel__ = 61; ;
      }
      else {
        ;
        var _tmp30 = _indvar * -4;
        var _tmp32 = _tmp31 + _tmp30;
        var _scevgep33 = _7+_tmp32;
        var _scevgep3334 = _scevgep33;
        var _17 = IHEAP[_scevgep3334];
        __lastLabel__ = 82; ;
      }
      var _iftmp_234_0 = __lastLabel__ == 61 ? _16 : (_17);
      var _18 = IHEAP[_type];
      var _19 = _18 == 0;
      var _20 = IHEAP[_vertexbase];
      var _21 = IHEAP[_stride];
      var _22 = _21 * _iftmp_234_0;
      var _23 = _20+_22;
      ;
      if (_19) {
        ;
        var _24 = _23;
        var __sum15 = _22 + 8;
        var _25 = _20+__sum15;
        var _26 = _25;
        var _27 = FHEAP[_26];
        var _28 = FHEAP[_10];
        var _29 = _27 * _28;
        var __sum16 = _22 + 4;
        var _30 = _20+__sum16;
        var _31 = _30;
        var _32 = FHEAP[_31];
        var _33 = FHEAP[_11];
        var _34 = _32 * _33;
        var _35 = FHEAP[_24];
        var _36 = FHEAP[_12];
        var _37 = _35 * _36;
        __lastLabel__ = 2; ;
      }
      else {
        ;
        var _38 = _23;
        var __sum = _22 + 16;
        var _39 = _20+__sum;
        var _40 = _39;
        var _41 = FHEAP[_40];
        var _42 = _41;
        var _43 = FHEAP[_10];
        var _44 = _42 * _43;
        var __sum14 = _22 + 8;
        var _45 = _20+__sum14;
        var _46 = _45;
        var _47 = FHEAP[_46];
        var _48 = _47;
        var _49 = FHEAP[_11];
        var _50 = _48 * _49;
        var _51 = FHEAP[_38];
        var _52 = _51;
        var _53 = FHEAP[_12];
        var _54 = _52 * _53;
        __lastLabel__ = 148; ;
      }
      var _storemerge46 = __lastLabel__ == 2 ? _37 : (_54);
      var _storemerge45 = __lastLabel__ == 2 ? _34 : (_50);
      var _storemerge = __lastLabel__ == 2 ? _29 : (_44);
      FHEAP[_scevgep3738] = _storemerge46;
      FHEAP[_scevgep39] = _storemerge45;
      FHEAP[_scevgep40] = _storemerge;
      FHEAP[_scevgep41] = 0;
      var _indvar_next = _indvar + 1;
      var _exitcond = _indvar_next == 3;
      if (_exitcond) { __lastLabel__ = 150; __label__ = 3; /* _bb12 */ break _bb3$8463; } else { __lastLabel__ = 150; __label__ = 116; /* _bb3 */ continue _bb3$8463; }
    }
    var _55 = _this+8;
    var _56 = IHEAP[_55];
    var _57 = _56;
    var _58 = IHEAP[_57];
    var _59 = _58+8;
    var _60 = IHEAP[_59];
    var _61 = _60;
    var _62 = _m_triangle;
    FUNCTION_TABLE[_61](_56, _62, _nodeSubPart, _nodeTriangleIndex);
    var _63 = IHEAP[_0];
    var _64 = _63;
    var _65 = IHEAP[_64];
    var _66 = _65+24;
    var _67 = IHEAP[_66];
    var _68 = _67;
    FUNCTION_TABLE[_68](_63, _nodeSubPart);
    STACKTOP = __stackBase__;
    return;
  }
  __ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallback11processNodeEii.__index__ = Runtime.getFunctionIndex(__ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallback11processNodeEii, "__ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallback11processNodeEii");
  
  
  function __ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback+8;
    ;
    return;
  }
  __ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev, "__ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev");
  
  
  function __ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev, "__ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev");
  
  
  function __ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii(_this, _nodeSubPart, _nodeTriangleIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 8;
    var __label__;
    var __lastLabel__ = null;
    var _vertexbase = __stackBase__;
    var _numverts = __stackBase__+1;
    var _type = __stackBase__+2;
    var _stride = __stackBase__+3;
    var _indexbase = __stackBase__+4;
    var _indexstride = __stackBase__+5;
    var _numfaces = __stackBase__+6;
    var _indicestype = __stackBase__+7;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+16;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_1, _vertexbase, _numverts, _type, _stride, _indexbase, _indexstride, _numfaces, _indicestype, _nodeSubPart);
    var _7 = IHEAP[_indexbase];
    var _8 = IHEAP[_0];
    var _9 = IHEAP[_indexstride];
    var _10 = _8+4+8;
    var _11 = _8+4+4;
    var _12 = _8+4;
    var _tmp22 = _9 * _nodeTriangleIndex;
    var _tmp23 = _tmp22 + 4;
    var _tmp27 = _tmp22 + 8;
    __lastLabel__ = 130; ;
    _bb$8477: while(1) { // _bb
      var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
      var _tmp32 = 2 - _indvar;
      var _scevgep3334 = _this+12+_tmp32*16;
      var _scevgep35 = _this+12+_tmp32*16+4;
      var _scevgep36 = _this+12+_tmp32*16+8;
      var _scevgep37 = _this+12+_tmp32*16+12;
      var _13 = IHEAP[_indicestype];
      var _14 = _13 == 3;
      ;
      if (_14) {
        ;
        var _tmp = _indvar * -2;
        var _tmp24 = _tmp23 + _tmp;
        var _scevgep = _7+_tmp24;
        var _scevgep25 = _scevgep;
        var _15 = IHEAP[_scevgep25];
        var _16 = _15;
        __lastLabel__ = 75; ;
      }
      else {
        ;
        var _tmp26 = _indvar * -4;
        var _tmp28 = _tmp27 + _tmp26;
        var _scevgep29 = _7+_tmp28;
        var _scevgep2930 = _scevgep29;
        var _17 = IHEAP[_scevgep2930];
        __lastLabel__ = 0; ;
      }
      var _iftmp_248_0 = __lastLabel__ == 75 ? _16 : (_17);
      var _18 = IHEAP[_type];
      var _19 = _18 == 0;
      var _20 = IHEAP[_vertexbase];
      var _21 = IHEAP[_stride];
      var _22 = _21 * _iftmp_248_0;
      var _23 = _20+_22;
      ;
      if (_19) {
        ;
        var _24 = _23;
        var __sum11 = _22 + 8;
        var _25 = _20+__sum11;
        var _26 = _25;
        var _27 = FHEAP[_26];
        var _28 = FHEAP[_10];
        var _29 = _27 * _28;
        var __sum12 = _22 + 4;
        var _30 = _20+__sum12;
        var _31 = _30;
        var _32 = FHEAP[_31];
        var _33 = FHEAP[_11];
        var _34 = _32 * _33;
        var _35 = FHEAP[_24];
        var _36 = FHEAP[_12];
        var _37 = _35 * _36;
        __lastLabel__ = 61; ;
      }
      else {
        ;
        var _38 = _23;
        var __sum = _22 + 16;
        var _39 = _20+__sum;
        var _40 = _39;
        var _41 = FHEAP[_40];
        var _42 = _41;
        var _43 = FHEAP[_10];
        var _44 = _42 * _43;
        var __sum10 = _22 + 8;
        var _45 = _20+__sum10;
        var _46 = _45;
        var _47 = FHEAP[_46];
        var _48 = _47;
        var _49 = FHEAP[_11];
        var _50 = _48 * _49;
        var _51 = FHEAP[_38];
        var _52 = _51;
        var _53 = FHEAP[_12];
        var _54 = _52 * _53;
        __lastLabel__ = 82; ;
      }
      var _storemerge39 = __lastLabel__ == 61 ? _37 : (_54);
      var _storemerge38 = __lastLabel__ == 61 ? _34 : (_50);
      var _storemerge = __lastLabel__ == 61 ? _29 : (_44);
      FHEAP[_scevgep3334] = _storemerge39;
      FHEAP[_scevgep35] = _storemerge38;
      FHEAP[_scevgep36] = _storemerge;
      FHEAP[_scevgep37] = 0;
      var _indvar_next = _indvar + 1;
      var _exitcond = _indvar_next == 3;
      if (_exitcond) { __lastLabel__ = 2; __label__ = 62; /* _bb9 */ break _bb$8477; } else { __lastLabel__ = 2; __label__ = 60; /* _bb */ continue _bb$8477; }
    }
    var _55 = _this+8;
    var _56 = IHEAP[_55];
    var _57 = _56;
    var _58 = IHEAP[_57];
    var _59 = _58+8;
    var _60 = IHEAP[_59];
    var _61 = _this+12;
    var _62 = _60;
    FUNCTION_TABLE[_62](_56, _61, _nodeSubPart, _nodeTriangleIndex);
    var _63 = IHEAP[_0];
    var _64 = _63;
    var _65 = IHEAP[_64];
    var _66 = _65+24;
    var _67 = IHEAP[_66];
    var _68 = _67;
    FUNCTION_TABLE[_68](_63, _nodeSubPart);
    STACKTOP = __stackBase__;
    return;
  }
  __ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii.__index__ = Runtime.getFunctionIndex(__ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii, "__ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii");
  
  
  function __ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback+8;
    ;
    return;
  }
  __ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD2Ev, "__ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD2Ev");
  
  
  function __ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback+8;
    ;
    return;
  }
  __ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD2Ev, "__ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD2Ev");
  
  
  function __ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback+8;
    ;
    return;
  }
  __ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD2Ev, "__ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD2Ev");
  
  
  function __ZN22btBvhTriangleMeshShape9refitTreeERK9btVector3S2_(_this, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this+48;
    var _1 = IHEAP[_0];
    var _2 = _this+52;
    var _3 = IHEAP[_2];
    __ZN14btOptimizedBvh5refitEP23btStridingMeshInterfaceRK9btVector3S4_(_3, _1, _aabbMin, _aabbMax);
    var _4 = _this;
    __ZN19btTriangleMeshShape15recalcLocalAabbEv(_4);
    ;
    return;
  }
  __ZN22btBvhTriangleMeshShape9refitTreeERK9btVector3S2_.__index__ = Runtime.getFunctionIndex(__ZN22btBvhTriangleMeshShape9refitTreeERK9btVector3S2_, "__ZN22btBvhTriangleMeshShape9refitTreeERK9btVector3S2_");
  
  
  function __ZN22btBvhTriangleMeshShape16partialRefitTreeERK9btVector3S2_(_this, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this+48;
    var _1 = IHEAP[_0];
    var _2 = _this+52;
    var _3 = IHEAP[_2];
    __ZN14btOptimizedBvh12refitPartialEP23btStridingMeshInterfaceRK9btVector3S4_(_3, _1, _aabbMin, _aabbMax);
    var _4 = _aabbMin;
    var _5 = _this+16;
    var _6 = FHEAP[_4];
    var _7 = FHEAP[_5];
    var _8 = _6 < _7;
    ;
    if (_8) {
      ;
      FHEAP[_5] = _6;
      ;
    }
    var _9 = _aabbMin+4;
    var _10 = _this+16+4;
    var _11 = FHEAP[_9];
    var _12 = FHEAP[_10];
    var _13 = _11 < _12;
    ;
    if (_13) {
      ;
      FHEAP[_10] = _11;
      ;
    }
    var _14 = _aabbMin+8;
    var _15 = _this+16+8;
    var _16 = FHEAP[_14];
    var _17 = FHEAP[_15];
    var _18 = _16 < _17;
    ;
    if (_18) {
      ;
      FHEAP[_15] = _16;
      ;
    }
    var _19 = _aabbMin+12;
    var _20 = _this+16+12;
    var _21 = FHEAP[_19];
    var _22 = FHEAP[_20];
    var _23 = _21 < _22;
    ;
    if (_23) {
      ;
      FHEAP[_20] = _21;
      ;
    }
    var _24 = _aabbMax;
    var _25 = _this+32;
    var _26 = FHEAP[_25];
    var _27 = FHEAP[_24];
    var _28 = _26 < _27;
    ;
    if (_28) {
      ;
      FHEAP[_25] = _27;
      ;
    }
    var _29 = _aabbMax+4;
    var _30 = _this+32+4;
    var _31 = FHEAP[_30];
    var _32 = FHEAP[_29];
    var _33 = _31 < _32;
    ;
    if (_33) {
      ;
      FHEAP[_30] = _32;
      ;
    }
    var _34 = _aabbMax+8;
    var _35 = _this+32+8;
    var _36 = FHEAP[_35];
    var _37 = FHEAP[_34];
    var _38 = _36 < _37;
    ;
    if (_38) {
      ;
      FHEAP[_35] = _37;
      ;
    }
    var _39 = _aabbMax+12;
    var _40 = _this+32+12;
    var _41 = FHEAP[_40];
    var _42 = FHEAP[_39];
    var _43 = _41 < _42;
    ;
    if (_43) {
      ;
      FHEAP[_40] = _42;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN22btBvhTriangleMeshShape16partialRefitTreeERK9btVector3S2_.__index__ = Runtime.getFunctionIndex(__ZN22btBvhTriangleMeshShape16partialRefitTreeERK9btVector3S2_, "__ZN22btBvhTriangleMeshShape16partialRefitTreeERK9btVector3S2_");
  
  
  function __ZN14btCapsuleShapeC2Eff(_this, _radius, _height) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV14btCapsuleShape+8;
    var _2 = _this+4;
    IHEAP[_2] = 10;
    var _3 = _this+52;
    IHEAP[_3] = 1;
    var _4 = _height * 0.5;
    var _5 = _this+28;
    FHEAP[_5] = _radius;
    var _6 = _this+28+4;
    FHEAP[_6] = _4;
    var _7 = _this+28+8;
    FHEAP[_7] = _radius;
    var _8 = _this+28+12;
    FHEAP[_8] = 0;
    ;
    return;
  }
  __ZN14btCapsuleShapeC2Eff.__index__ = Runtime.getFunctionIndex(__ZN14btCapsuleShapeC2Eff, "__ZN14btCapsuleShapeC2Eff");
  
  
  function __ZNK14btCapsuleShape21calculateLocalInertiaEfR9btVector3(_this, _mass, _inertia) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var _halfExtents = __stackBase__;
    var _0 = _this+52;
    var _1 = IHEAP[_0];
    var _2 = _1 + 2;
    var _3 = Math.floor(_2 % 3);
    var _4 = _this+28+_3*4;
    var _5 = FHEAP[_4];
    var _6 = _halfExtents;
    FHEAP[_6] = _5;
    var _7 = _halfExtents+4;
    FHEAP[_7] = _5;
    var _8 = _halfExtents+8;
    FHEAP[_8] = _5;
    var _9 = _halfExtents+12;
    FHEAP[_9] = 0;
    var _10 = _halfExtents+_1*4;
    var _11 = FHEAP[_10];
    var _12 = _this+28+_1*4;
    var _13 = FHEAP[_12];
    var _14 = _11 + _13;
    FHEAP[_10] = _14;
    var _15 = FHEAP[_6];
    var _16 = _15 + 0.03999999910593033;
    var _17 = _16 * 2;
    var _18 = FHEAP[_7];
    var _19 = _18 + 0.03999999910593033;
    var _20 = _19 * 2;
    var _21 = FHEAP[_8];
    var _22 = _21 + 0.03999999910593033;
    var _23 = _22 * 2;
    var _24 = _17 * _17;
    var _25 = _20 * _20;
    var _26 = _23 * _23;
    var _27 = _mass * 0.0833333283662796;
    var _28 = _inertia;
    var _29 = _25 + _26;
    var _30 = _29 * _27;
    FHEAP[_28] = _30;
    var _31 = _24 + _26;
    var _32 = _31 * _27;
    var _33 = _inertia+4;
    FHEAP[_33] = _32;
    var _34 = _24 + _25;
    var _35 = _34 * _27;
    var _36 = _inertia+8;
    FHEAP[_36] = _35;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK14btCapsuleShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK14btCapsuleShape21calculateLocalInertiaEfR9btVector3, "__ZNK14btCapsuleShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZN14btCapsuleShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN14btCapsuleShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN14btCapsuleShapeD0Ev, "__ZN14btCapsuleShapeD0Ev");
  
  
  function __ZN14btCapsuleShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN14btCapsuleShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN14btCapsuleShapeD1Ev, "__ZN14btCapsuleShapeD1Ev");
  
  
  function __ZN15btCapsuleShapeZD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN15btCapsuleShapeZD0Ev.__index__ = Runtime.getFunctionIndex(__ZN15btCapsuleShapeZD0Ev, "__ZN15btCapsuleShapeZD0Ev");
  
  
  function __ZN15btCapsuleShapeZD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN15btCapsuleShapeZD1Ev.__index__ = Runtime.getFunctionIndex(__ZN15btCapsuleShapeZD1Ev, "__ZN15btCapsuleShapeZD1Ev");
  
  
  function __ZN15btCapsuleShapeXD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN15btCapsuleShapeXD0Ev.__index__ = Runtime.getFunctionIndex(__ZN15btCapsuleShapeXD0Ev, "__ZN15btCapsuleShapeXD0Ev");
  
  
  function __ZN15btCapsuleShapeXD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN15btCapsuleShapeXD1Ev.__index__ = Runtime.getFunctionIndex(__ZN15btCapsuleShapeXD1Ev, "__ZN15btCapsuleShapeXD1Ev");
  
  
  function __ZN15btCapsuleShapeZC1Eff(_this, _radius, _height) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    var _2 = _this+4;
    IHEAP[_2] = 10;
    IHEAP[_1] = __ZTV15btCapsuleShapeZ+8;
    var _3 = _this+52;
    IHEAP[_3] = 2;
    var _4 = _height * 0.5;
    var _5 = _this+28;
    FHEAP[_5] = _radius;
    var _6 = _this+28+4;
    FHEAP[_6] = _radius;
    var _7 = _this+28+8;
    FHEAP[_7] = _4;
    var _8 = _this+28+12;
    FHEAP[_8] = 0;
    ;
    return;
  }
  __ZN15btCapsuleShapeZC1Eff.__index__ = Runtime.getFunctionIndex(__ZN15btCapsuleShapeZC1Eff, "__ZN15btCapsuleShapeZC1Eff");
  
  
  function __ZN15btCapsuleShapeZC2Eff(_this, _radius, _height) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    var _2 = _this+4;
    IHEAP[_2] = 10;
    IHEAP[_1] = __ZTV15btCapsuleShapeZ+8;
    var _3 = _this+52;
    IHEAP[_3] = 2;
    var _4 = _height * 0.5;
    var _5 = _this+28;
    FHEAP[_5] = _radius;
    var _6 = _this+28+4;
    FHEAP[_6] = _radius;
    var _7 = _this+28+8;
    FHEAP[_7] = _4;
    var _8 = _this+28+12;
    FHEAP[_8] = 0;
    ;
    return;
  }
  __ZN15btCapsuleShapeZC2Eff.__index__ = Runtime.getFunctionIndex(__ZN15btCapsuleShapeZC2Eff, "__ZN15btCapsuleShapeZC2Eff");
  
  
  function __ZN15btCapsuleShapeXC1Eff(_this, _radius, _height) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    var _2 = _this+4;
    IHEAP[_2] = 10;
    IHEAP[_1] = __ZTV15btCapsuleShapeX+8;
    var _3 = _this+52;
    IHEAP[_3] = 0;
    var _4 = _height * 0.5;
    var _5 = _this+28;
    FHEAP[_5] = _4;
    var _6 = _this+28+4;
    FHEAP[_6] = _radius;
    var _7 = _this+28+8;
    FHEAP[_7] = _radius;
    var _8 = _this+28+12;
    FHEAP[_8] = 0;
    ;
    return;
  }
  __ZN15btCapsuleShapeXC1Eff.__index__ = Runtime.getFunctionIndex(__ZN15btCapsuleShapeXC1Eff, "__ZN15btCapsuleShapeXC1Eff");
  
  
  function __ZN15btCapsuleShapeXC2Eff(_this, _radius, _height) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    var _2 = _this+4;
    IHEAP[_2] = 10;
    IHEAP[_1] = __ZTV15btCapsuleShapeX+8;
    var _3 = _this+52;
    IHEAP[_3] = 0;
    var _4 = _height * 0.5;
    var _5 = _this+28;
    FHEAP[_5] = _4;
    var _6 = _this+28+4;
    FHEAP[_6] = _radius;
    var _7 = _this+28+8;
    FHEAP[_7] = _radius;
    var _8 = _this+28+12;
    FHEAP[_8] = 0;
    ;
    return;
  }
  __ZN15btCapsuleShapeXC2Eff.__index__ = Runtime.getFunctionIndex(__ZN15btCapsuleShapeXC2Eff, "__ZN15btCapsuleShapeXC2Eff");
  
  
  function __ZN14btCapsuleShapeC1Eff(_this, _radius, _height) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV14btCapsuleShape+8;
    var _2 = _this+4;
    IHEAP[_2] = 10;
    var _3 = _this+52;
    IHEAP[_3] = 1;
    var _4 = _height * 0.5;
    var _5 = _this+28;
    FHEAP[_5] = _radius;
    var _6 = _this+28+4;
    FHEAP[_6] = _4;
    var _7 = _this+28+8;
    FHEAP[_7] = _radius;
    var _8 = _this+28+12;
    FHEAP[_8] = 0;
    ;
    return;
  }
  __ZN14btCapsuleShapeC1Eff.__index__ = Runtime.getFunctionIndex(__ZN14btCapsuleShapeC1Eff, "__ZN14btCapsuleShapeC1Eff");
  
  
  function __ZN16btCollisionShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btCollisionShape+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN16btCollisionShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionShapeD0Ev, "__ZN16btCollisionShapeD0Ev");
  
  
  function __ZN16btCollisionShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btCollisionShape+8;
    ;
    return;
  }
  __ZN16btCollisionShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionShapeD1Ev, "__ZN16btCollisionShapeD1Ev");
  
  
  function __ZNK15btCompoundShape15getLocalScalingEv(_this) {
    ;
    var __label__;
    var _0 = _this+76;
    ;
    return _0;
  }
  __ZNK15btCompoundShape15getLocalScalingEv.__index__ = Runtime.getFunctionIndex(__ZNK15btCompoundShape15getLocalScalingEv, "__ZNK15btCompoundShape15getLocalScalingEv");
  
  
  function __ZN15btCompoundShape9setMarginEf(_this, _margin) {
    ;
    var __label__;
    var _0 = _this+72;
    FHEAP[_0] = _margin;
    ;
    return;
  }
  __ZN15btCompoundShape9setMarginEf.__index__ = Runtime.getFunctionIndex(__ZN15btCompoundShape9setMarginEf, "__ZN15btCompoundShape9setMarginEf");
  
  
  function __ZNK15btCompoundShape9getMarginEv(_this) {
    ;
    var __label__;
    var _0 = _this+72;
    var _1 = FHEAP[_0];
    ;
    return _1;
  }
  __ZNK15btCompoundShape9getMarginEv.__index__ = Runtime.getFunctionIndex(__ZNK15btCompoundShape9getMarginEv, "__ZNK15btCompoundShape9getMarginEv");
  
  
  function __ZNK15btCompoundShape21calculateLocalInertiaEfR9btVector3(_this, _mass, _inertia) {
    var __stackBase__  = STACKTOP; STACKTOP += 96;
    var __label__;
    var _ident = __stackBase__;
    var _aabbMin = __stackBase__+64;
    var _aabbMax = __stackBase__+80;
    var _0 = _ident;
    FHEAP[_0] = 1;
    var _1 = _ident+4;
    FHEAP[_1] = 0;
    var _2 = _ident+8;
    FHEAP[_2] = 0;
    var _3 = _ident+12;
    FHEAP[_3] = 0;
    var _4 = _ident+16;
    FHEAP[_4] = 0;
    var _5 = _ident+16+4;
    FHEAP[_5] = 1;
    var _6 = _ident+16+8;
    FHEAP[_6] = 0;
    var _7 = _ident+16+12;
    FHEAP[_7] = 0;
    var _8 = _ident+32;
    FHEAP[_8] = 0;
    var _9 = _ident+32+4;
    FHEAP[_9] = 0;
    var _10 = _ident+32+8;
    FHEAP[_10] = 1;
    var _11 = _ident+32+12;
    FHEAP[_11] = 0;
    var _12 = _ident+48;
    FHEAP[_12] = 0;
    var _13 = _ident+48+4;
    FHEAP[_13] = 0;
    var _14 = _ident+48+8;
    FHEAP[_14] = 0;
    var _15 = _ident+48+12;
    FHEAP[_15] = 0;
    var _16 = _this;
    var _17 = IHEAP[_16];
    var _18 = _17+8;
    var _19 = IHEAP[_18];
    var _20 = _19;
    FUNCTION_TABLE[_20](_this, _ident, _aabbMin, _aabbMax);
    var _21 = _aabbMax+8;
    var _22 = FHEAP[_21];
    var _23 = _aabbMin+8;
    var _24 = FHEAP[_23];
    var _25 = _22 - _24;
    var _26 = _aabbMax+4;
    var _27 = FHEAP[_26];
    var _28 = _aabbMin+4;
    var _29 = FHEAP[_28];
    var _30 = _27 - _29;
    var _31 = _aabbMax;
    var _32 = FHEAP[_31];
    var _33 = _aabbMin;
    var _34 = FHEAP[_33];
    var _35 = _32 - _34;
    var _36 = _25 * 0.5;
    var _37 = _30 * 0.5;
    var _38 = _35 * 0.5;
    var _39 = _38 * 2;
    var _40 = _37 * 2;
    var _41 = _36 * 2;
    var _42 = _inertia;
    var _43 = _mass / 12;
    var _44 = _40 * _40;
    var _45 = _41 * _41;
    var _46 = _44 + _45;
    var _47 = _43 * _46;
    FHEAP[_42] = _47;
    var _48 = _39 * _39;
    var _49 = _48 + _45;
    var _50 = _43 * _49;
    var _51 = _inertia+4;
    FHEAP[_51] = _50;
    var _52 = _48 + _44;
    var _53 = _43 * _52;
    var _54 = _inertia+8;
    FHEAP[_54] = _53;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK15btCompoundShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK15btCompoundShape21calculateLocalInertiaEfR9btVector3, "__ZNK15btCompoundShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZN15btCompoundShape20recalculateLocalAabbEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _localAabbMin = __stackBase__;
    var _localAabbMax = __stackBase__+16;
    var _0 = _this+32;
    FHEAP[_0] = 999999984306749400;
    var _1 = _this+32+4;
    FHEAP[_1] = 999999984306749400;
    var _2 = _this+32+8;
    FHEAP[_2] = 999999984306749400;
    var _3 = _this+32+12;
    FHEAP[_3] = 0;
    var _4 = _this+48;
    FHEAP[_4] = -999999984306749400;
    var _5 = _this+48+4;
    FHEAP[_5] = -999999984306749400;
    var _6 = _this+48+8;
    FHEAP[_6] = -999999984306749400;
    var _7 = _this+48+12;
    FHEAP[_7] = 0;
    var _8 = _this+12+4;
    var _9 = IHEAP[_8];
    var _10 = _9 > 0;
    ;
    _bb_nph22$_return$8725: do { 
      if (_10) {
        ;
        var _11 = _this+12+12;
        __lastLabel__ = 1686; ;
        _bb_nph$8727: while(1) { // _bb_nph
          var _j_021 = __lastLabel__ == 1686 ? 0 : (_tmp);
          var _tmp = _j_021 + 1;
          var _12 = IHEAP[_11];
          var _scevgep26 = _12+80*_j_021+64;
          var _13 = IHEAP[_scevgep26];
          var _14 = _13;
          var _15 = IHEAP[_14];
          var _16 = _15+8;
          var _17 = IHEAP[_16];
          var _18 = _17;
          var _scevgep2728 = _12+80*_j_021;
          FUNCTION_TABLE[_18](_13, _scevgep2728, _localAabbMin, _localAabbMax);
          var _scevgep23 = _localAabbMin;
          var _scevgep25 = _localAabbMax;
          var _19 = FHEAP[_0];
          var _20 = FHEAP[_scevgep23];
          var _21 = _19 > _20;
          ;
          if (_21) {
            ;
            FHEAP[_0] = _20;
            ;
          }
          var _22 = FHEAP[_4];
          var _23 = FHEAP[_scevgep25];
          var _24 = _22 < _23;
          ;
          if (_24) {
            ;
            FHEAP[_4] = _23;
            ;
          }
          var _scevgep23_1 = _localAabbMin+4;
          var _scevgep25_1 = _localAabbMax+4;
          var _25 = FHEAP[_1];
          var _26 = FHEAP[_scevgep23_1];
          var _27 = _25 > _26;
          ;
          if (_27) {
            ;
            FHEAP[_1] = _26;
            ;
          }
          var _33 = FHEAP[_5];
          var _34 = FHEAP[_scevgep25_1];
          var _35 = _33 < _34;
          ;
          if (_35) {
            ;
            FHEAP[_5] = _34;
            ;
          }
          var _scevgep23_2 = _localAabbMin+8;
          var _scevgep25_2 = _localAabbMax+8;
          var _30 = FHEAP[_2];
          var _31 = FHEAP[_scevgep23_2];
          var _32 = _30 > _31;
          ;
          if (_32) {
            ;
            FHEAP[_2] = _31;
            ;
          }
          var _36 = FHEAP[_6];
          var _37 = FHEAP[_scevgep25_2];
          var _38 = _36 < _37;
          ;
          if (_38) {
            ;
            FHEAP[_6] = _37;
            ;
          }
          var _28 = IHEAP[_8];
          var _29 = _28 > _tmp;
          if (_29) { __lastLabel__ = 148; __label__ = 130; /* _bb_nph */ continue _bb_nph$8727; } else { __lastLabel__ = 148; __label__ = 44; /* _return */ break _bb_nph22$_return$8725; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN15btCompoundShape20recalculateLocalAabbEv.__index__ = Runtime.getFunctionIndex(__ZN15btCompoundShape20recalculateLocalAabbEv, "__ZN15btCompoundShape20recalculateLocalAabbEv");
  
  
  function __ZN20btAlignedObjectArrayI20btCompoundShapeChildE4swapEii(_this, _index0, _index1) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1+80*_index0;
    var _3 = FHEAP[_2];
    var _4 = _1+80*_index0+4;
    var _5 = FHEAP[_4];
    var _6 = _1+80*_index0+8;
    var _7 = FHEAP[_6];
    var _8 = _1+80*_index0+12;
    var _9 = FHEAP[_8];
    var _10 = _1+80*_index0+16;
    var _11 = FHEAP[_10];
    var _12 = _1+80*_index0+16+4;
    var _13 = FHEAP[_12];
    var _14 = _1+80*_index0+16+8;
    var _15 = FHEAP[_14];
    var _16 = _1+80*_index0+16+12;
    var _17 = FHEAP[_16];
    var _18 = _1+80*_index0+32;
    var _19 = FHEAP[_18];
    var _20 = _1+80*_index0+32+4;
    var _21 = FHEAP[_20];
    var _22 = _1+80*_index0+32+8;
    var _23 = FHEAP[_22];
    var _24 = _1+80*_index0+32+12;
    var _25 = FHEAP[_24];
    var _26 = _1+80*_index0+48;
    var _27 = FHEAP[_26];
    var _28 = _1+80*_index0+48+4;
    var _29 = FHEAP[_28];
    var _30 = _1+80*_index0+48+8;
    var _31 = FHEAP[_30];
    var _32 = _1+80*_index0+48+12;
    var _33 = FHEAP[_32];
    var _34 = _1+80*_index0+64;
    var _35 = IHEAP[_34];
    var _36 = _1+80*_index0+68;
    var _37 = IHEAP[_36];
    var _38 = _1+80*_index0+72;
    var _39 = FHEAP[_38];
    var _40 = _1+80*_index0+76;
    var _41 = IHEAP[_40];
    var _42 = _1+80*_index1;
    var _43 = FHEAP[_42];
    FHEAP[_2] = _43;
    var _44 = _1+80*_index1+4;
    var _45 = FHEAP[_44];
    FHEAP[_4] = _45;
    var _46 = _1+80*_index1+8;
    var _47 = FHEAP[_46];
    FHEAP[_6] = _47;
    var _48 = _1+80*_index1+12;
    var _49 = FHEAP[_48];
    FHEAP[_8] = _49;
    var _50 = _1+80*_index1+16;
    var _51 = FHEAP[_50];
    FHEAP[_10] = _51;
    var _52 = _1+80*_index1+16+4;
    var _53 = FHEAP[_52];
    FHEAP[_12] = _53;
    var _54 = _1+80*_index1+16+8;
    var _55 = FHEAP[_54];
    FHEAP[_14] = _55;
    var _56 = _1+80*_index1+16+12;
    var _57 = FHEAP[_56];
    FHEAP[_16] = _57;
    var _58 = _1+80*_index1+32;
    var _59 = FHEAP[_58];
    FHEAP[_18] = _59;
    var _60 = _1+80*_index1+32+4;
    var _61 = FHEAP[_60];
    FHEAP[_20] = _61;
    var _62 = _1+80*_index1+32+8;
    var _63 = FHEAP[_62];
    FHEAP[_22] = _63;
    var _64 = _1+80*_index1+32+12;
    var _65 = FHEAP[_64];
    FHEAP[_24] = _65;
    var _66 = _1+80*_index1+48;
    var _67 = FHEAP[_66];
    FHEAP[_26] = _67;
    var _68 = _1+80*_index1+48+4;
    var _69 = FHEAP[_68];
    FHEAP[_28] = _69;
    var _70 = _1+80*_index1+48+8;
    var _71 = FHEAP[_70];
    FHEAP[_30] = _71;
    var _72 = _1+80*_index1+48+12;
    var _73 = FHEAP[_72];
    FHEAP[_32] = _73;
    var _74 = _1+80*_index1+64;
    var _75 = IHEAP[_74];
    IHEAP[_34] = _75;
    var _76 = _1+80*_index1+68;
    var _77 = IHEAP[_76];
    IHEAP[_36] = _77;
    var _78 = _1+80*_index1+72;
    var _79 = FHEAP[_78];
    FHEAP[_38] = _79;
    var _80 = _1+80*_index1+76;
    var _81 = IHEAP[_80];
    IHEAP[_40] = _81;
    var _82 = IHEAP[_0];
    var _83 = _82+80*_index1;
    FHEAP[_83] = _3;
    var _84 = _82+80*_index1+4;
    FHEAP[_84] = _5;
    var _85 = _82+80*_index1+8;
    FHEAP[_85] = _7;
    var _86 = _82+80*_index1+12;
    FHEAP[_86] = _9;
    var _87 = _82+80*_index1+16;
    FHEAP[_87] = _11;
    var _88 = _82+80*_index1+16+4;
    FHEAP[_88] = _13;
    var _89 = _82+80*_index1+16+8;
    FHEAP[_89] = _15;
    var _90 = _82+80*_index1+16+12;
    FHEAP[_90] = _17;
    var _91 = _82+80*_index1+32;
    FHEAP[_91] = _19;
    var _92 = _82+80*_index1+32+4;
    FHEAP[_92] = _21;
    var _93 = _82+80*_index1+32+8;
    FHEAP[_93] = _23;
    var _94 = _82+80*_index1+32+12;
    FHEAP[_94] = _25;
    var _95 = _82+80*_index1+48;
    FHEAP[_95] = _27;
    var _96 = _82+80*_index1+48+4;
    FHEAP[_96] = _29;
    var _97 = _82+80*_index1+48+8;
    FHEAP[_97] = _31;
    var _98 = _82+80*_index1+48+12;
    FHEAP[_98] = _33;
    var _99 = _82+80*_index1+64;
    IHEAP[_99] = _35;
    var _100 = _82+80*_index1+68;
    IHEAP[_100] = _37;
    var _101 = _82+80*_index1+72;
    FHEAP[_101] = _39;
    var _102 = _82+80*_index1+76;
    IHEAP[_102] = _41;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI20btCompoundShapeChildE4swapEii.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI20btCompoundShapeChildE4swapEii, "__ZN20btAlignedObjectArrayI20btCompoundShapeChildE4swapEii");
  
  
  function __ZNK20btAlignedObjectArrayI20btCompoundShapeChildE4copyEiiPS0_(_this, _start, _end, _dest) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _start < _end;
    ;
    _bb_nph$_return$8750: do { 
      if (_0) {
        ;
        var _1 = _this+12;
        var _tmp = _end - _start;
        __lastLabel__ = 130; ;
        _bb$8752: while(1) { // _bb
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp4 = _indvar + _start;
          var _scevgep5 = _dest+80*_tmp4;
          var _scevgep8 = _dest+80*_tmp4+4;
          var _scevgep10 = _dest+80*_tmp4+8;
          var _scevgep12 = _dest+80*_tmp4+12;
          var _scevgep1415 = _dest+80*_tmp4+16;
          var _scevgep18 = _dest+80*_tmp4+16+4;
          var _scevgep20 = _dest+80*_tmp4+16+8;
          var _scevgep22 = _dest+80*_tmp4+16+12;
          var _scevgep2425 = _dest+80*_tmp4+32;
          var _scevgep28 = _dest+80*_tmp4+32+4;
          var _scevgep30 = _dest+80*_tmp4+32+8;
          var _scevgep32 = _dest+80*_tmp4+32+12;
          var _scevgep34 = _dest+80*_tmp4+48;
          var _scevgep36 = _dest+80*_tmp4+48+4;
          var _scevgep38 = _dest+80*_tmp4+48+8;
          var _scevgep40 = _dest+80*_tmp4+48+12;
          var _scevgep43 = _dest+80*_tmp4+64;
          var _scevgep45 = _dest+80*_tmp4+68;
          var _scevgep47 = _dest+80*_tmp4+72;
          var _scevgep49 = _dest+80*_tmp4+76;
          var _2 = IHEAP[_1];
          var _scevgep67 = _2+80*_tmp4;
          var _3 = FHEAP[_scevgep67];
          FHEAP[_scevgep5] = _3;
          var _scevgep9 = _2+80*_tmp4+4;
          var _4 = FHEAP[_scevgep9];
          FHEAP[_scevgep8] = _4;
          var _scevgep11 = _2+80*_tmp4+8;
          var _5 = FHEAP[_scevgep11];
          FHEAP[_scevgep10] = _5;
          var _scevgep13 = _2+80*_tmp4+12;
          var _6 = FHEAP[_scevgep13];
          FHEAP[_scevgep12] = _6;
          var _scevgep1617 = _2+80*_tmp4+16;
          var _7 = FHEAP[_scevgep1617];
          FHEAP[_scevgep1415] = _7;
          var _scevgep19 = _2+80*_tmp4+16+4;
          var _8 = FHEAP[_scevgep19];
          FHEAP[_scevgep18] = _8;
          var _scevgep21 = _2+80*_tmp4+16+8;
          var _9 = FHEAP[_scevgep21];
          FHEAP[_scevgep20] = _9;
          var _scevgep23 = _2+80*_tmp4+16+12;
          var _10 = FHEAP[_scevgep23];
          FHEAP[_scevgep22] = _10;
          var _scevgep2627 = _2+80*_tmp4+32;
          var _11 = FHEAP[_scevgep2627];
          FHEAP[_scevgep2425] = _11;
          var _scevgep29 = _2+80*_tmp4+32+4;
          var _12 = FHEAP[_scevgep29];
          FHEAP[_scevgep28] = _12;
          var _scevgep31 = _2+80*_tmp4+32+8;
          var _13 = FHEAP[_scevgep31];
          FHEAP[_scevgep30] = _13;
          var _scevgep33 = _2+80*_tmp4+32+12;
          var _14 = FHEAP[_scevgep33];
          FHEAP[_scevgep32] = _14;
          var _scevgep35 = _2+80*_tmp4+48;
          var _15 = FHEAP[_scevgep35];
          FHEAP[_scevgep34] = _15;
          var _scevgep37 = _2+80*_tmp4+48+4;
          var _16 = FHEAP[_scevgep37];
          FHEAP[_scevgep36] = _16;
          var _scevgep39 = _2+80*_tmp4+48+8;
          var _17 = FHEAP[_scevgep39];
          FHEAP[_scevgep38] = _17;
          var _scevgep41 = _2+80*_tmp4+48+12;
          var _18 = FHEAP[_scevgep41];
          FHEAP[_scevgep40] = _18;
          var _scevgep42 = _2+80*_tmp4+64;
          var _19 = IHEAP[_scevgep42];
          IHEAP[_scevgep43] = _19;
          var _scevgep44 = _2+80*_tmp4+68;
          var _20 = IHEAP[_scevgep44];
          IHEAP[_scevgep45] = _20;
          var _scevgep46 = _2+80*_tmp4+72;
          var _21 = FHEAP[_scevgep46];
          FHEAP[_scevgep47] = _21;
          var _scevgep48 = _2+80*_tmp4+76;
          var _22 = IHEAP[_scevgep48];
          IHEAP[_scevgep49] = _22;
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _tmp;
          if (_exitcond) { __lastLabel__ = 60; __label__ = 44; /* _return */ break _bb_nph$_return$8750; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$8752; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZNK20btAlignedObjectArrayI20btCompoundShapeChildE4copyEiiPS0_.__index__ = Runtime.getFunctionIndex(__ZNK20btAlignedObjectArrayI20btCompoundShapeChildE4copyEiiPS0_, "__ZNK20btAlignedObjectArrayI20btCompoundShapeChildE4copyEiiPS0_");
  
  
  function __ZNK15btCompoundShape31calculatePrincipalAxisTransformEPfR11btTransformR9btVector3(_this, _masses, _principal, _inertia) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var __lastLabel__ = null;
    var _tensor = __stackBase__;
    var _i = __stackBase__+48;
    var _0 = _this+12+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph89$_bb2$8798: do { 
      if (_2) {
        __lastLabel__ = -1; ;
        var _3 = _this+12+12;
        var _4 = IHEAP[_3];
        __lastLabel__ = 1698; ;
        _bb$8800: while(1) { // _bb
          var _k_088 = __lastLabel__ == 1698 ? 0 : (_16);
          var _totalMass_087 = __lastLabel__ == 1698 ? 0 : (_15);
          var _center_0_2_086 = __lastLabel__ == 1698 ? 0 : (_14);
          var _center_0_1_085 = __lastLabel__ == 1698 ? 0 : (_13);
          var _center_0_0_084 = __lastLabel__ == 1698 ? 0 : (_12);
          var _scevgep125 = _masses+4*_k_088;
          var _scevgep126 = _4+80*_k_088+48+8;
          var _scevgep127 = _4+80*_k_088+48+4;
          var _scevgep128 = _4+80*_k_088+48;
          var _5 = FHEAP[_scevgep126];
          var _6 = FHEAP[_scevgep125];
          var _7 = _5 * _6;
          var _8 = FHEAP[_scevgep127];
          var _9 = _8 * _6;
          var _10 = FHEAP[_scevgep128];
          var _11 = _10 * _6;
          var _12 = _center_0_0_084 + _11;
          var _13 = _center_0_1_085 + _9;
          var _14 = _center_0_2_086 + _7;
          var _15 = _6 + _totalMass_087;
          var _16 = _k_088 + 1;
          var _exitcond124 = _16 == _1;
          if (_exitcond124) { __lastLabel__ = 60; __label__ = 0; /* _bb2 */ break _bb_nph89$_bb2$8798; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$8800; }
        }
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _totalMass_0_lcssa = __lastLabel__ == -1 ? 0 : (_15);
    var _center_0_2_0_lcssa = __lastLabel__ == -1 ? 0 : (_14);
    var _center_0_1_0_lcssa = __lastLabel__ == -1 ? 0 : (_13);
    var _center_0_0_0_lcssa = __lastLabel__ == -1 ? 0 : (_12);
    var _17 = 1 / _totalMass_0_lcssa;
    var _18 = _center_0_0_0_lcssa * _17;
    var _19 = _center_0_1_0_lcssa * _17;
    var _20 = _center_0_2_0_lcssa * _17;
    var _21 = _principal+48;
    FHEAP[_21] = _18;
    var _22 = _principal+48+4;
    FHEAP[_22] = _19;
    var _23 = _principal+48+8;
    FHEAP[_23] = _20;
    var _24 = _principal+48+12;
    FHEAP[_24] = 0;
    var _25 = _tensor;
    var _26 = _tensor+4;
    var _27 = _tensor+8;
    var _28 = _tensor+16;
    var _29 = _tensor+16+4;
    var _30 = _tensor+16+8;
    var _31 = _tensor+32;
    var _32 = _tensor+32+4;
    var _33 = _tensor+32+8;
    var _34 = _tensor;
    _llvm_memset_p0i8_i64(_34, 0, 48, 8, false);
    ;
    _bb_nph$_bb5$8803: do { 
      if (_2) {
        ;
        var _35 = _this+12+12;
        var _36 = _i;
        var _37 = _i+4;
        var _38 = _i+8;
        var __pre = IHEAP[_35];
        __lastLabel__ = 130; ;
        _bb3$8805: while(1) { // _bb3
          var _39 = __lastLabel__ == 130 ? __pre : (_47);
          var _k_183 = __lastLabel__ == 130 ? 0 : (_183);
          var _scevgep = _masses+4*_k_183;
          var _scevgep93 = _39+80*_k_183+64;
          var _40 = IHEAP[_scevgep93];
          var _41 = _40;
          var _42 = IHEAP[_41];
          var _43 = _42+32;
          var _44 = IHEAP[_43];
          var _45 = FHEAP[_scevgep];
          var _46 = _44;
          FUNCTION_TABLE[_46](_40, _45, _i);
          var _47 = IHEAP[_35];
          var _scevgep94 = _47+80*_k_183+48+8;
          var _48 = FHEAP[_scevgep94];
          var _49 = _48 - _20;
          var _scevgep95 = _47+80*_k_183+48+4;
          var _50 = FHEAP[_scevgep95];
          var _51 = _50 - _19;
          var _scevgep96 = _47+80*_k_183+48;
          var _52 = FHEAP[_scevgep96];
          var _53 = _52 - _18;
          var _scevgep107108 = _47+80*_k_183;
          var _54 = FHEAP[_scevgep107108];
          var _scevgep105106 = _47+80*_k_183+16;
          var _55 = FHEAP[_scevgep105106];
          var _scevgep103104 = _47+80*_k_183+32;
          var _56 = FHEAP[_scevgep103104];
          var _scevgep102 = _47+80*_k_183+4;
          var _57 = FHEAP[_scevgep102];
          var _scevgep101 = _47+80*_k_183+16+4;
          var _58 = FHEAP[_scevgep101];
          var _scevgep100 = _47+80*_k_183+32+4;
          var _59 = FHEAP[_scevgep100];
          var _scevgep99 = _47+80*_k_183+8;
          var _60 = FHEAP[_scevgep99];
          var _scevgep98 = _47+80*_k_183+16+8;
          var _61 = FHEAP[_scevgep98];
          var _scevgep97 = _47+80*_k_183+32+8;
          var _62 = FHEAP[_scevgep97];
          var _63 = FHEAP[_36];
          var _64 = _54 * _63;
          var _65 = _55 * _63;
          var _66 = _56 * _63;
          var _67 = FHEAP[_37];
          var _68 = _57 * _67;
          var _69 = _58 * _67;
          var _70 = _59 * _67;
          var _71 = FHEAP[_38];
          var _72 = _60 * _71;
          var _73 = _61 * _71;
          var _74 = _62 * _71;
          var _75 = _66 * _56;
          var _76 = _70 * _59;
          var _77 = _75 + _76;
          var _78 = _74 * _62;
          var _79 = _77 + _78;
          var _80 = _65 * _56;
          var _81 = _69 * _59;
          var _82 = _80 + _81;
          var _83 = _73 * _62;
          var _84 = _82 + _83;
          var _85 = _64 * _56;
          var _86 = _68 * _59;
          var _87 = _85 + _86;
          var _88 = _72 * _62;
          var _89 = _87 + _88;
          var _90 = _66 * _55;
          var _91 = _70 * _58;
          var _92 = _90 + _91;
          var _93 = _74 * _61;
          var _94 = _92 + _93;
          var _95 = _65 * _55;
          var _96 = _69 * _58;
          var _97 = _95 + _96;
          var _98 = _73 * _61;
          var _99 = _97 + _98;
          var _100 = _64 * _55;
          var _101 = _68 * _58;
          var _102 = _100 + _101;
          var _103 = _72 * _61;
          var _104 = _102 + _103;
          var _105 = _66 * _54;
          var _106 = _70 * _57;
          var _107 = _105 + _106;
          var _108 = _74 * _60;
          var _109 = _107 + _108;
          var _110 = _65 * _54;
          var _111 = _69 * _57;
          var _112 = _110 + _111;
          var _113 = _73 * _60;
          var _114 = _112 + _113;
          var _115 = _64 * _54;
          var _116 = _68 * _57;
          var _117 = _115 + _116;
          var _118 = _72 * _60;
          var _119 = _117 + _118;
          var _120 = FHEAP[_25];
          var _121 = _120 + _119;
          var _122 = FHEAP[_26];
          var _123 = _122 + _114;
          var _124 = FHEAP[_27];
          var _125 = _124 + _109;
          var _126 = FHEAP[_28];
          var _127 = _126 + _104;
          var _128 = FHEAP[_29];
          var _129 = _128 + _99;
          var _130 = FHEAP[_30];
          var _131 = _130 + _94;
          var _132 = FHEAP[_31];
          var _133 = _132 + _89;
          var _134 = FHEAP[_32];
          var _135 = _134 + _84;
          var _136 = FHEAP[_33];
          var _137 = _136 + _79;
          var _138 = _53 * _53;
          var _139 = _51 * _51;
          var _140 = _138 + _139;
          var _141 = _49 * _49;
          var _142 = _140 + _141;
          var _143 = 0 - _53;
          var _144 = _49 * _143;
          var _145 = _51 * _143;
          var _146 = _53 * _143;
          var _147 = _142 + _146;
          var _148 = _145 + 0;
          var _149 = _144 + 0;
          var _150 = 0 - _51;
          var _151 = _49 * _150;
          var _152 = _51 * _150;
          var _153 = _53 * _150;
          var _154 = _153 + 0;
          var _155 = _142 + _152;
          var _156 = _151 + 0;
          var _157 = 0 - _49;
          var _158 = _49 * _157;
          var _159 = _51 * _157;
          var _160 = _53 * _157;
          var _161 = _160 + 0;
          var _162 = _159 + 0;
          var _163 = _142 + _158;
          var _164 = FHEAP[_scevgep];
          var _165 = _149 * _164;
          var _166 = _148 * _164;
          var _167 = _147 * _164;
          var _168 = _121 + _167;
          FHEAP[_25] = _168;
          var _169 = _123 + _166;
          FHEAP[_26] = _169;
          var _170 = _125 + _165;
          FHEAP[_27] = _170;
          var _171 = _156 * _164;
          var _172 = _155 * _164;
          var _173 = _154 * _164;
          var _174 = _127 + _173;
          FHEAP[_28] = _174;
          var _175 = _129 + _172;
          FHEAP[_29] = _175;
          var _176 = _131 + _171;
          FHEAP[_30] = _176;
          var _177 = _163 * _164;
          var _178 = _162 * _164;
          var _179 = _161 * _164;
          var _180 = _133 + _179;
          FHEAP[_31] = _180;
          var _181 = _135 + _178;
          FHEAP[_32] = _181;
          var _182 = _137 + _177;
          FHEAP[_33] = _182;
          var _183 = _k_183 + 1;
          var _exitcond = _183 == _1;
          if (_exitcond) { __lastLabel__ = 116; __label__ = 82; /* _bb5 */ break _bb_nph$_bb5$8803; } else { __lastLabel__ = 116; __label__ = 116; /* _bb3 */ continue _bb3$8805; }
        }
      }
    } while(0);
    var _184 = _principal;
    __ZN11btMatrix3x311diagonalizeERS_fi(_tensor, _184, 0.000009999999747378752, 20);
    var _185 = FHEAP[_25];
    var _186 = _inertia;
    FHEAP[_186] = _185;
    var _187 = FHEAP[_29];
    var _188 = _inertia+4;
    FHEAP[_188] = _187;
    var _189 = FHEAP[_33];
    var _190 = _inertia+8;
    FHEAP[_190] = _189;
    var _191 = _inertia+12;
    FHEAP[_191] = 0;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK15btCompoundShape31calculatePrincipalAxisTransformEPfR11btTransformR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK15btCompoundShape31calculatePrincipalAxisTransformEPfR11btTransformR9btVector3, "__ZNK15btCompoundShape31calculatePrincipalAxisTransformEPfR11btTransformR9btVector3");
  
  
  function __ZN15btCompoundShape23removeChildShapeByIndexEi(_this, _childShapeIndex) {
    ;
    var __label__;
    var _0 = _this+68;
    var _1 = IHEAP[_0];
    var _2 = _1 + 1;
    IHEAP[_0] = _2;
    var _3 = _this+64;
    var _4 = IHEAP[_3];
    var _5 = _4 == 0;
    ;
    if (!_5) {
      ;
      var _6 = _this+12+12;
      var _7 = IHEAP[_6];
      var _8 = _7+80*_childShapeIndex+76;
      var _9 = IHEAP[_8];
      __ZN6btDbvt6removeEP10btDbvtNode(_4, _9);
      ;
    }
    var _10 = _this+12+4;
    var _11 = IHEAP[_10];
    var _12 = _11 + -1;
    var _13 = _this+12;
    __ZN20btAlignedObjectArrayI20btCompoundShapeChildE4swapEii(_13, _childShapeIndex, _12);
    var _14 = IHEAP[_3];
    var _15 = _14 == 0;
    ;
    if (!_15) {
      ;
      var _16 = _this+12+12;
      var _17 = IHEAP[_16];
      var _18 = _17+80*_childShapeIndex+76;
      var _19 = IHEAP[_18];
      var _20 = _19+36;
      var _childShapeIndex_c = _childShapeIndex;
      IHEAP[_20] = _childShapeIndex_c;
      ;
    }
    var _21 = IHEAP[_10];
    var _22 = _21 + -1;
    IHEAP[_10] = _22;
    ;
    return;
  }
  __ZN15btCompoundShape23removeChildShapeByIndexEi.__index__ = Runtime.getFunctionIndex(__ZN15btCompoundShape23removeChildShapeByIndexEi, "__ZN15btCompoundShape23removeChildShapeByIndexEi");
  
  
  function __ZN15btCompoundShape16removeChildShapeEP16btCollisionShape(_this, _shape) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+68;
    var _1 = IHEAP[_0];
    var _2 = _1 + 1;
    IHEAP[_0] = _2;
    var _3 = _this+12+4;
    var _4 = IHEAP[_3];
    var _i_05 = _4 + -1;
    var _5 = _i_05 > -1;
    ;
    _bb_nph$_bb4$8816: do { 
      if (_5) {
        ;
        var _6 = _this+12+12;
        var _7 = _this+64;
        var _8 = _this+12;
        __lastLabel__ = 130; ;
        _bb$8818: while(1) { // _bb
          var _9 = __lastLabel__ == 130 ? _4 : (_27);
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp7 = _4 - _indvar;
          var _i_06 = _i_05 - _indvar;
          var _10 = IHEAP[_6];
          var _scevgep13 = _10+80*_tmp7+-16;
          var _scevgep1314 = _scevgep13;
          var _11 = IHEAP[_scevgep1314];
          var _12 = _11 == _shape;
          ;
          if (_12) {
            __lastLabel__ = 60; ;
            var _13 = IHEAP[_0];
            var _14 = _13 + 1;
            IHEAP[_0] = _14;
            var _15 = IHEAP[_7];
            var _16 = _15 == 0;
            ;
            if (_16) {
              __lastLabel__ = 75; ;
            }
            else {
              __lastLabel__ = 75; ;
              var _scevgep = _10+80*_tmp7+-4;
              var _scevgep8 = _scevgep;
              var _17 = IHEAP[_scevgep8];
              __ZN6btDbvt6removeEP10btDbvtNode(_15, _17);
              var __pre = IHEAP[_3];
              __lastLabel__ = 131; ;
            }
            var _18 = __lastLabel__ == 131 ? __pre : (_9);
            var _19 = _18 + -1;
            __ZN20btAlignedObjectArrayI20btCompoundShapeChildE4swapEii(_8, _i_06, _19);
            var _20 = IHEAP[_7];
            var _21 = _20 == 0;
            ;
            if (!_21) {
              ;
              var _22 = IHEAP[_6];
              var _scevgep11 = _22+80*_tmp7+-4;
              var _scevgep1112 = _scevgep11;
              var _23 = IHEAP[_scevgep1112];
              var _24 = _23+36;
              var _childShapeIndex_c_i = _i_06;
              IHEAP[_24] = _childShapeIndex_c_i;
              ;
            }
            var _25 = IHEAP[_3];
            var _26 = _25 + -1;
            IHEAP[_3] = _26;
            __lastLabel__ = 1703; ;
          }
          else {
            __lastLabel__ = 60; ;
          }
          var _27 = __lastLabel__ == 1703 ? _26 : (_9);
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _4;
          if (_exitcond) { __lastLabel__ = 1705; __label__ = 61; /* _bb4 */ break _bb_nph$_bb4$8816; } else { __lastLabel__ = 1705; __label__ = 60; /* _bb */ continue _bb$8818; }
        }
      }
    } while(0);
    var _28 = _this;
    var _29 = IHEAP[_28];
    var _30 = _29+64;
    var _31 = IHEAP[_30];
    var _32 = _31;
    FUNCTION_TABLE[_32](_this);
    ;
    return;
  }
  __ZN15btCompoundShape16removeChildShapeEP16btCollisionShape.__index__ = Runtime.getFunctionIndex(__ZN15btCompoundShape16removeChildShapeEP16btCollisionShape, "__ZN15btCompoundShape16removeChildShapeEP16btCollisionShape");
  
  
  function __ZN15btCompoundShape20updateChildTransformEiRK11btTransform(_this, _childIndex, _newChildTransform) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var _localAabbMin = __stackBase__;
    var _localAabbMax = __stackBase__+16;
    var _bounds = __stackBase__+32;
    var _0 = _this+12+12;
    var _1 = IHEAP[_0];
    var _2 = _1+80*_childIndex;
    var _3 = _newChildTransform;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _1+80*_childIndex+4;
    var _6 = _newChildTransform+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _1+80*_childIndex+8;
    var _9 = _newChildTransform+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _1+80*_childIndex+12;
    var _12 = _newChildTransform+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _1+80*_childIndex+16;
    var _15 = _newChildTransform+16;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _1+80*_childIndex+16+4;
    var _18 = _newChildTransform+16+4;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _1+80*_childIndex+16+8;
    var _21 = _newChildTransform+16+8;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _1+80*_childIndex+16+12;
    var _24 = _newChildTransform+16+12;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _1+80*_childIndex+32;
    var _27 = _newChildTransform+32;
    var _28 = FHEAP[_27];
    FHEAP[_26] = _28;
    var _29 = _1+80*_childIndex+32+4;
    var _30 = _newChildTransform+32+4;
    var _31 = FHEAP[_30];
    FHEAP[_29] = _31;
    var _32 = _1+80*_childIndex+32+8;
    var _33 = _newChildTransform+32+8;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _1+80*_childIndex+32+12;
    var _36 = _newChildTransform+32+12;
    var _37 = FHEAP[_36];
    FHEAP[_35] = _37;
    var _38 = _1+80*_childIndex+48;
    var _39 = _newChildTransform+48;
    var _40 = FHEAP[_39];
    FHEAP[_38] = _40;
    var _41 = _1+80*_childIndex+48+4;
    var _42 = _newChildTransform+48+4;
    var _43 = FHEAP[_42];
    FHEAP[_41] = _43;
    var _44 = _1+80*_childIndex+48+8;
    var _45 = _newChildTransform+48+8;
    var _46 = FHEAP[_45];
    FHEAP[_44] = _46;
    var _47 = _1+80*_childIndex+48+12;
    var _48 = _newChildTransform+48+12;
    var _49 = FHEAP[_48];
    FHEAP[_47] = _49;
    var _50 = _this+64;
    var _51 = IHEAP[_50];
    var _52 = _51 == 0;
    ;
    if (!_52) {
      ;
      var _53 = IHEAP[_0];
      var _54 = _53+80*_childIndex+64;
      var _55 = IHEAP[_54];
      var _56 = _55;
      var _57 = IHEAP[_56];
      var _58 = _57+8;
      var _59 = IHEAP[_58];
      var _60 = _59;
      FUNCTION_TABLE[_60](_55, _newChildTransform, _localAabbMin, _localAabbMax);
      var _61 = _bounds;
      var _62 = _localAabbMin;
      var _63 = FHEAP[_62];
      FHEAP[_61] = _63;
      var _64 = _bounds+4;
      var _65 = _localAabbMin+4;
      var _66 = FHEAP[_65];
      FHEAP[_64] = _66;
      var _67 = _bounds+8;
      var _68 = _localAabbMin+8;
      var _69 = FHEAP[_68];
      FHEAP[_67] = _69;
      var _70 = _bounds+12;
      var _71 = _localAabbMin+12;
      var _72 = FHEAP[_71];
      FHEAP[_70] = _72;
      var _73 = _bounds+16;
      var _74 = _localAabbMax;
      var _75 = FHEAP[_74];
      FHEAP[_73] = _75;
      var _76 = _bounds+16+4;
      var _77 = _localAabbMax+4;
      var _78 = FHEAP[_77];
      FHEAP[_76] = _78;
      var _79 = _bounds+16+8;
      var _80 = _localAabbMax+8;
      var _81 = FHEAP[_80];
      FHEAP[_79] = _81;
      var _82 = _bounds+16+12;
      var _83 = _localAabbMax+12;
      var _84 = FHEAP[_83];
      FHEAP[_82] = _84;
      var _85 = IHEAP[_0];
      var _86 = _85+80*_childIndex+76;
      var _87 = IHEAP[_86];
      var _88 = IHEAP[_50];
      __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm(_88, _87, _bounds);
      ;
    }
    var _89 = _this;
    var _90 = IHEAP[_89];
    var _91 = _90+64;
    var _92 = IHEAP[_91];
    var _93 = _92;
    FUNCTION_TABLE[_93](_this);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN15btCompoundShape20updateChildTransformEiRK11btTransform.__index__ = Runtime.getFunctionIndex(__ZN15btCompoundShape20updateChildTransformEiRK11btTransform, "__ZN15btCompoundShape20updateChildTransformEiRK11btTransform");
  
  
  function __ZN14btConcaveShapeC2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = _this+4;
    IHEAP[_1] = 35;
    var _2 = _this+8;
    IHEAP[_2] = 0;
    IHEAP[_0] = __ZTV14btConcaveShape+8;
    var _3 = _this+12;
    FHEAP[_3] = 0;
    ;
    return;
  }
  __ZN14btConcaveShapeC2Ev.__index__ = Runtime.getFunctionIndex(__ZN14btConcaveShapeC2Ev, "__ZN14btConcaveShapeC2Ev");
  
  
  function __ZN14btConcaveShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV14btConcaveShape+8;
    ;
    return;
  }
  __ZN14btConcaveShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN14btConcaveShapeD1Ev, "__ZN14btConcaveShapeD1Ev");
  
  
  function __ZN14btConcaveShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV14btConcaveShape+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN14btConcaveShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN14btConcaveShapeD0Ev, "__ZN14btConcaveShapeD0Ev");
  
  
  function __ZN14btConcaveShapeC1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = _this+4;
    IHEAP[_1] = 35;
    var _2 = _this+8;
    IHEAP[_2] = 0;
    IHEAP[_0] = __ZTV14btConcaveShape+8;
    var _3 = _this+12;
    FHEAP[_3] = 0;
    ;
    return;
  }
  __ZN14btConcaveShapeC1Ev.__index__ = Runtime.getFunctionIndex(__ZN14btConcaveShapeC1Ev, "__ZN14btConcaveShapeC1Ev");
  
  
  function __ZN14btConcaveShapeD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV14btConcaveShape+8;
    ;
    return;
  }
  __ZN14btConcaveShapeD2Ev.__index__ = Runtime.getFunctionIndex(__ZN14btConcaveShapeD2Ev, "__ZN14btConcaveShapeD2Ev");
  
  
  function __ZNK21btConvexInternalShape7getAabbERK11btTransformR9btVector3S4_(_this, _t, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+72;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_this, _t, _aabbMin, _aabbMax);
    ;
    return;
  }
  __ZNK21btConvexInternalShape7getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK21btConvexInternalShape7getAabbERK11btTransformR9btVector3S4_, "__ZNK21btConvexInternalShape7getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZN11btConeShape14setConeUpIndexEi(_this, _upIndex) {
    ;
    var __label__;
    if (_upIndex == 0) {
      __label__ = 60; /* _bb */ 
    }
    else if (_upIndex == 1) {
      __label__ = 75; /* _bb1 */ 
    }
    else if (_upIndex == 2) {
      __label__ = 0; /* _bb2 */ 
    }
    else {
    __label__ = 44; /* _return */ 
    }
    
    if (__label__ == 44) {
      ;
      return;
    }
    else if (__label__ == 60) {
      var _0 = _this+64;
      IHEAP[_0] = 1;
      var _1 = _this+64+4;
      IHEAP[_1] = 0;
      var _2 = _this+64+8;
      IHEAP[_2] = 2;
      ;
      return;
    }
    else if (__label__ == 75) {
      var _3 = _this+64;
      IHEAP[_3] = 0;
      var _4 = _this+64+4;
      IHEAP[_4] = 1;
      var _5 = _this+64+8;
      IHEAP[_5] = 2;
      ;
      return;
    }
    else if (__label__ == 0) {
      var _6 = _this+64;
      IHEAP[_6] = 0;
      var _7 = _this+64+4;
      IHEAP[_7] = 2;
      var _8 = _this+64+8;
      IHEAP[_8] = 1;
      ;
      return;
    }
  }
  __ZN11btConeShape14setConeUpIndexEi.__index__ = Runtime.getFunctionIndex(__ZN11btConeShape14setConeUpIndexEi, "__ZN11btConeShape14setConeUpIndexEi");
  
  
  function __ZN11btConeShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN11btConeShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN11btConeShapeD0Ev, "__ZN11btConeShapeD0Ev");
  
  
  function __ZN11btConeShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN11btConeShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN11btConeShapeD1Ev, "__ZN11btConeShapeD1Ev");
  
  
  function __ZNK11btConeShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(_this, _vectors, _supportVerticesOut, _numVectors) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var __lastLabel__ = null;
    var _memtmp = __stackBase__;
    var _0 = _numVectors > 0;
    ;
    _bb_nph$_return$8960: do { 
      if (_0) {
        ;
        var _1 = _memtmp;
        var _2 = _memtmp+4;
        var _3 = _memtmp+8;
        var _4 = _memtmp+12;
        __lastLabel__ = 130; ;
        _bb$8962: while(1) { // _bb
          var _i_03 = __lastLabel__ == 130 ? 0 : (_9);
          var _scevgep = _vectors+16*_i_03;
          var _scevgep45 = _supportVerticesOut+16*_i_03;
          var _scevgep6 = _supportVerticesOut+16*_i_03+4;
          var _scevgep7 = _supportVerticesOut+16*_i_03+8;
          var _scevgep8 = _supportVerticesOut+16*_i_03+12;
          __ZNK11btConeShape16coneLocalSupportERK9btVector3(_memtmp, _this, _scevgep);
          var _5 = FHEAP[_1];
          FHEAP[_scevgep45] = _5;
          var _6 = FHEAP[_2];
          FHEAP[_scevgep6] = _6;
          var _7 = FHEAP[_3];
          FHEAP[_scevgep7] = _7;
          var _8 = FHEAP[_4];
          FHEAP[_scevgep8] = _8;
          var _9 = _i_03 + 1;
          var _exitcond = _9 == _numVectors;
          if (_exitcond) { __lastLabel__ = 60; __label__ = 44; /* _return */ break _bb_nph$_return$8960; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$8962; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK11btConeShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__ = Runtime.getFunctionIndex(__ZNK11btConeShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, "__ZNK11btConeShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i");
  
  
  function __ZN12btConeShapeXD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN12btConeShapeXD0Ev.__index__ = Runtime.getFunctionIndex(__ZN12btConeShapeXD0Ev, "__ZN12btConeShapeXD0Ev");
  
  
  function __ZN12btConeShapeXD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN12btConeShapeXD1Ev.__index__ = Runtime.getFunctionIndex(__ZN12btConeShapeXD1Ev, "__ZN12btConeShapeXD1Ev");
  
  
  function __ZN12btConeShapeZD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN12btConeShapeZD0Ev.__index__ = Runtime.getFunctionIndex(__ZN12btConeShapeZD0Ev, "__ZN12btConeShapeZD0Ev");
  
  
  function __ZN12btConeShapeZD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN12btConeShapeZD1Ev.__index__ = Runtime.getFunctionIndex(__ZN12btConeShapeZD1Ev, "__ZN12btConeShapeZD1Ev");
  
  
  function __ZNK17btConvexHullShape9getVertexEiR9btVector3(_this, _i, _vtx) {
    ;
    var __label__;
    var _0 = _this+88+12;
    var _1 = IHEAP[_0];
    var _2 = _1+16*_i+8;
    var _3 = FHEAP[_2];
    var _4 = _this+12+8;
    var _5 = FHEAP[_4];
    var _6 = _3 * _5;
    var _7 = _1+16*_i+4;
    var _8 = FHEAP[_7];
    var _9 = _this+12+4;
    var _10 = FHEAP[_9];
    var _11 = _8 * _10;
    var _12 = _1+16*_i;
    var _13 = FHEAP[_12];
    var _14 = _this+12;
    var _15 = FHEAP[_14];
    var _16 = _13 * _15;
    var _17 = _vtx;
    FHEAP[_17] = _16;
    var _18 = _vtx+4;
    FHEAP[_18] = _11;
    var _19 = _vtx+8;
    FHEAP[_19] = _6;
    var _20 = _vtx+12;
    FHEAP[_20] = 0;
    ;
    return;
  }
  __ZNK17btConvexHullShape9getVertexEiR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK17btConvexHullShape9getVertexEiR9btVector3, "__ZNK17btConvexHullShape9getVertexEiR9btVector3");
  
  
  function __ZNK17btConvexHullShape7getEdgeEiR9btVector3S1_(_this, _i, _pa, _pb) {
    ;
    var __label__;
    var _0 = _this+88+4;
    var _1 = IHEAP[_0];
    var _2 = Math.floor(_i % _1);
    var _3 = _i + 1;
    var _4 = Math.floor(_3 % _1);
    var _5 = _this+88+12;
    var _6 = IHEAP[_5];
    var _7 = _6+16*_2+8;
    var _8 = FHEAP[_7];
    var _9 = _this+12+8;
    var _10 = FHEAP[_9];
    var _11 = _8 * _10;
    var _12 = _6+16*_2+4;
    var _13 = FHEAP[_12];
    var _14 = _this+12+4;
    var _15 = FHEAP[_14];
    var _16 = _13 * _15;
    var _17 = _6+16*_2;
    var _18 = FHEAP[_17];
    var _19 = _this+12;
    var _20 = FHEAP[_19];
    var _21 = _18 * _20;
    var _22 = _pa;
    FHEAP[_22] = _21;
    var _23 = _pa+4;
    FHEAP[_23] = _16;
    var _24 = _pa+8;
    FHEAP[_24] = _11;
    var _25 = _pa+12;
    FHEAP[_25] = 0;
    var _26 = IHEAP[_5];
    var _27 = _26+16*_4+8;
    var _28 = FHEAP[_27];
    var _29 = FHEAP[_9];
    var _30 = _28 * _29;
    var _31 = _26+16*_4+4;
    var _32 = FHEAP[_31];
    var _33 = FHEAP[_14];
    var _34 = _32 * _33;
    var _35 = _26+16*_4;
    var _36 = FHEAP[_35];
    var _37 = FHEAP[_19];
    var _38 = _36 * _37;
    var _39 = _pb;
    FHEAP[_39] = _38;
    var _40 = _pb+4;
    FHEAP[_40] = _34;
    var _41 = _pb+8;
    FHEAP[_41] = _30;
    var _42 = _pb+12;
    FHEAP[_42] = 0;
    ;
    return;
  }
  __ZNK17btConvexHullShape7getEdgeEiR9btVector3S1_.__index__ = Runtime.getFunctionIndex(__ZNK17btConvexHullShape7getEdgeEiR9btVector3S1_, "__ZNK17btConvexHullShape7getEdgeEiR9btVector3S1_");
  
  
  function __ZNK17btConvexHullShape11getNumEdgesEv(_this) {
    ;
    var __label__;
    var _0 = _this+88+4;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK17btConvexHullShape11getNumEdgesEv.__index__ = Runtime.getFunctionIndex(__ZNK17btConvexHullShape11getNumEdgesEv, "__ZNK17btConvexHullShape11getNumEdgesEv");
  
  
  function __ZNK17btConvexHullShape14getNumVerticesEv(_this) {
    ;
    var __label__;
    var _0 = _this+88+4;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK17btConvexHullShape14getNumVerticesEv.__index__ = Runtime.getFunctionIndex(__ZNK17btConvexHullShape14getNumVerticesEv, "__ZNK17btConvexHullShape14getNumVerticesEv");
  
  
  function __ZNK17btConvexHullShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(_this, _vectors, _supportVerticesOut, _numVectors) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _numVectors > 0;
    if (_0) { __lastLabel__ = -1; __label__ = 60; /* _bb */  } else { __lastLabel__ = -1; __label__ = 660; /* _bb10_preheader */  }
    _bb$_bb10_preheader$9011: while(1) { // _bb,_bb10_preheader
      if (__label__ == 60) {
        var _i_019 = __lastLabel__ == 60 ? _1 : (0);
        var _scevgep35 = _supportVerticesOut+16*_i_019+12;
        FHEAP[_scevgep35] = -999999984306749400;
        var _1 = _i_019 + 1;
        var _exitcond34 = _1 == _numVectors;
        if (_exitcond34) { __lastLabel__ = 60; __label__ = 660; /* _bb10_preheader */ continue _bb$_bb10_preheader$9011; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$_bb10_preheader$9011; }
      }
      else if (__label__ == 660) {
        var _2 = _this+88+4;
        var _3 = IHEAP[_2];
        var _4 = _3 > 0;
        if (_4) { __label__ = 1729; /* _bb_nph18 */ break _bb$_bb10_preheader$9011; } else { __label__ = 44; /* _return */ break _bb$_bb10_preheader$9011; }
      }
    }
    _bb_nph18$_return$9015: do { 
      if (__label__ == 1729) {
        var _5 = _this+88+12;
        var _6 = _this+12+8;
        var _7 = _this+12+4;
        var _8 = _this+12;
        if (_0) { __lastLabel__ = 1729; __label__ = 1730; /* _bb_nph_us */  } else { __lastLabel__ = 1729; __label__ = 62; /* _bb9 */  }
        _bb_nph_us$_bb9$9017: while(1) { // _bb_nph_us,_bb9
          if (__label__ == 1730) {
            var _i3_017_us = __lastLabel__ == 1731 ? _tmp : (0);
            var _tmp = _i3_017_us + 1;
            var _22 = IHEAP[_5];
            var _scevgep32 = _22+16*_i3_017_us+8;
            var _23 = FHEAP[_scevgep32];
            var _24 = FHEAP[_6];
            var _25 = _23 * _24;
            var _scevgep31 = _22+16*_i3_017_us+4;
            var _26 = FHEAP[_scevgep31];
            var _27 = FHEAP[_7];
            var _28 = _26 * _27;
            var _scevgep2930 = _22+16*_i3_017_us;
            var _29 = FHEAP[_scevgep2930];
            var _30 = FHEAP[_8];
            var _31 = _29 * _30;
            __lastLabel__ = 1730; ;
            _bb5_us$9020: while(1) { // _bb5_us
              var _j_016_us = __lastLabel__ == 1730 ? 0 : (_11);
              var _scevgep = _supportVerticesOut+16*_j_016_us+12;
              var _scevgep25 = _vectors+16*_j_016_us+8;
              var _scevgep26 = _vectors+16*_j_016_us+4;
              var _scevgep2728 = _vectors+16*_j_016_us;
              var _12 = FHEAP[_scevgep2728];
              var _13 = _12 * _31;
              var _14 = FHEAP[_scevgep26];
              var _15 = _14 * _28;
              var _16 = _13 + _15;
              var _17 = FHEAP[_scevgep25];
              var _18 = _17 * _25;
              var _19 = _16 + _18;
              var _20 = FHEAP[_scevgep];
              var _21 = _20 < _19;
              ;
              if (_21) {
                ;
                var _scevgep2324 = _supportVerticesOut+16*_j_016_us;
                var _scevgep22 = _supportVerticesOut+16*_j_016_us+4;
                var _scevgep21 = _supportVerticesOut+16*_j_016_us+8;
                FHEAP[_scevgep2324] = _31;
                FHEAP[_scevgep22] = _28;
                FHEAP[_scevgep21] = _25;
                FHEAP[_scevgep] = _19;
                ;
              }
              var _11 = _j_016_us + 1;
              var _exitcond = _11 == _numVectors;
              if (_exitcond) { __lastLabel__ = 1732; __label__ = 1731; /* _bb9_us */ break _bb5_us$9020; } else { __lastLabel__ = 1732; __label__ = 1733; /* _bb5_us */ continue _bb5_us$9020; }
            }
            var _9 = IHEAP[_2];
            var _10 = _9 > _tmp;
            if (_10) { __lastLabel__ = 1731; __label__ = 1730; /* _bb_nph_us */ continue _bb_nph_us$_bb9$9017; } else { __lastLabel__ = 1731; __label__ = 44; /* _return */ break _bb_nph18$_return$9015; }
          }
          else if (__label__ == 62) {
            var _i3_017 = __lastLabel__ == 62 ? _tmp33 : (0);
            var _tmp33 = _i3_017 + 1;
            var _32 = _3 > _tmp33;
            if (_32) { __lastLabel__ = 62; __label__ = 62; /* _bb9 */ continue _bb_nph_us$_bb9$9017; } else { __lastLabel__ = 62; __label__ = 44; /* _return */ break _bb_nph18$_return$9015; }
          }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZNK17btConvexHullShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__ = Runtime.getFunctionIndex(__ZNK17btConvexHullShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, "__ZNK17btConvexHullShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i");
  
  
  function __ZNK17btConvexHullShape37localGetSupportingVertexWithoutMarginERK9btVector3(_agg_result, _this, _vec) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _agg_result;
    FHEAP[_0] = 0;
    var _1 = _agg_result+4;
    FHEAP[_1] = 0;
    var _2 = _agg_result+8;
    FHEAP[_2] = 0;
    var _3 = _agg_result+12;
    FHEAP[_3] = 0;
    var _4 = _this+88+4;
    var _5 = IHEAP[_4];
    var _6 = _5 > 0;
    ;
    _bb_nph$_return$9029: do { 
      if (_6) {
        ;
        var _7 = _this+88+12;
        var _8 = IHEAP[_7];
        var _9 = _this+12+8;
        var _10 = FHEAP[_9];
        var _11 = _this+12+4;
        var _12 = FHEAP[_11];
        var _13 = _this+12;
        var _14 = FHEAP[_13];
        var _15 = _vec;
        var _16 = FHEAP[_15];
        var _17 = _vec+4;
        var _18 = FHEAP[_17];
        var _19 = _vec+8;
        var _20 = FHEAP[_19];
        var _tmp = _5 > 1;
        var _smax = _tmp ? _5 : 1;
        __lastLabel__ = 130; ;
        _bb$9031: while(1) { // _bb
          var _i_09 = __lastLabel__ == 130 ? 0 : (_33);
          var _maxDot_18 = __lastLabel__ == 130 ? -999999984306749400 : (_maxDot_0);
          var _scevgep = _8+16*_i_09+8;
          var _scevgep10 = _8+16*_i_09+4;
          var _scevgep1112 = _8+16*_i_09;
          var _21 = FHEAP[_scevgep];
          var _22 = _21 * _10;
          var _23 = FHEAP[_scevgep10];
          var _24 = _23 * _12;
          var _25 = FHEAP[_scevgep1112];
          var _26 = _25 * _14;
          var _27 = _16 * _26;
          var _28 = _18 * _24;
          var _29 = _27 + _28;
          var _30 = _20 * _22;
          var _31 = _29 + _30;
          var _32 = _31 > _maxDot_18;
          ;
          if (_32) {
            __lastLabel__ = 60; ;
            FHEAP[_0] = _26;
            FHEAP[_1] = _24;
            FHEAP[_2] = _22;
            FHEAP[_3] = 0;
            __lastLabel__ = 75; ;
          }
          else {
            __lastLabel__ = 60; ;
          }
          var _maxDot_0 = __lastLabel__ == 75 ? _31 : (_maxDot_18);
          var _33 = _i_09 + 1;
          var _exitcond = _33 == _smax;
          if (_exitcond) { __lastLabel__ = 0; __label__ = 44; /* _return */ break _bb_nph$_return$9029; } else { __lastLabel__ = 0; __label__ = 60; /* _bb */ continue _bb$9031; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZNK17btConvexHullShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK17btConvexHullShape37localGetSupportingVertexWithoutMarginERK9btVector3, "__ZNK17btConvexHullShape37localGetSupportingVertexWithoutMarginERK9btVector3");
  
  
  function __ZN17btConvexHullShape15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = _scaling;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _this+12+4;
    var _4 = _scaling+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+12+8;
    var _7 = _scaling+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+12+12;
    var _10 = _scaling+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _this;
    __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_12);
    ;
    return;
  }
  __ZN17btConvexHullShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN17btConvexHullShape15setLocalScalingERK9btVector3, "__ZN17btConvexHullShape15setLocalScalingERK9btVector3");
  
  
  function __ZN17btConvexHullShape8addPointERK9btVector3(_this, _point) {
    ;
    var __label__;
    var _0 = _this+88;
    __ZN20btAlignedObjectArrayI9btVector3E9push_backERKS0_(_0, _point);
    var _1 = _this;
    __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_1);
    ;
    return;
  }
  __ZN17btConvexHullShape8addPointERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN17btConvexHullShape8addPointERK9btVector3, "__ZN17btConvexHullShape8addPointERK9btVector3");
  
  
  function __ZN21btConvexInternalShapeC2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    __ZN13btConvexShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV21btConvexInternalShape+8;
    var _2 = _this+12;
    FHEAP[_2] = 1;
    var _3 = _this+12+4;
    FHEAP[_3] = 1;
    var _4 = _this+12+8;
    FHEAP[_4] = 1;
    var _5 = _this+12+12;
    FHEAP[_5] = 0;
    var _6 = _this+44;
    FHEAP[_6] = 0.03999999910593033;
    ;
    return;
  }
  __ZN21btConvexInternalShapeC2Ev.__index__ = Runtime.getFunctionIndex(__ZN21btConvexInternalShapeC2Ev, "__ZN21btConvexInternalShapeC2Ev");
  
  
  function __ZN21btConvexInternalShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN21btConvexInternalShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN21btConvexInternalShapeD0Ev, "__ZN21btConvexInternalShapeD0Ev");
  
  
  function __ZN21btConvexInternalShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN21btConvexInternalShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN21btConvexInternalShapeD1Ev, "__ZN21btConvexInternalShapeD1Ev");
  
  
  function __ZN32btConvexInternalAabbCachingShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN32btConvexInternalAabbCachingShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN32btConvexInternalAabbCachingShapeD0Ev, "__ZN32btConvexInternalAabbCachingShapeD0Ev");
  
  
  function __ZN32btConvexInternalAabbCachingShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN32btConvexInternalAabbCachingShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN32btConvexInternalAabbCachingShapeD1Ev, "__ZN32btConvexInternalAabbCachingShapeD1Ev");
  
  
  function __ZN21btConvexInternalShapeC1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    __ZN13btConvexShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV21btConvexInternalShape+8;
    var _2 = _this+12;
    FHEAP[_2] = 1;
    var _3 = _this+12+4;
    FHEAP[_3] = 1;
    var _4 = _this+12+8;
    FHEAP[_4] = 1;
    var _5 = _this+12+12;
    FHEAP[_5] = 0;
    var _6 = _this+44;
    FHEAP[_6] = 0.03999999910593033;
    ;
    return;
  }
  __ZN21btConvexInternalShapeC1Ev.__index__ = Runtime.getFunctionIndex(__ZN21btConvexInternalShapeC1Ev, "__ZN21btConvexInternalShapeC1Ev");
  
  
  function __ZN32btConvexInternalAabbCachingShapeC1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    __ZN13btConvexShapeC2Ev(_0);
    var _1 = _this;
    var _2 = _this+12;
    FHEAP[_2] = 1;
    var _3 = _this+12+4;
    FHEAP[_3] = 1;
    var _4 = _this+12+8;
    FHEAP[_4] = 1;
    var _5 = _this+12+12;
    FHEAP[_5] = 0;
    var _6 = _this+44;
    FHEAP[_6] = 0.03999999910593033;
    IHEAP[_1] = __ZTV32btConvexInternalAabbCachingShape+8;
    var _7 = _this+52;
    FHEAP[_7] = 1;
    var _8 = _this+52+4;
    FHEAP[_8] = 1;
    var _9 = _this+52+8;
    FHEAP[_9] = 1;
    var _10 = _this+52+12;
    FHEAP[_10] = 0;
    var _11 = _this+68;
    FHEAP[_11] = -1;
    var _12 = _this+68+4;
    FHEAP[_12] = -1;
    var _13 = _this+68+8;
    FHEAP[_13] = -1;
    var _14 = _this+68+12;
    FHEAP[_14] = 0;
    var _15 = _this+84;
    IHEAP[_15] = 0;
    ;
    return;
  }
  __ZN32btConvexInternalAabbCachingShapeC1Ev.__index__ = Runtime.getFunctionIndex(__ZN32btConvexInternalAabbCachingShapeC1Ev, "__ZN32btConvexInternalAabbCachingShapeC1Ev");
  
  
  function __ZN32btConvexInternalAabbCachingShapeC2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    __ZN13btConvexShapeC2Ev(_0);
    var _1 = _this;
    var _2 = _this+12;
    FHEAP[_2] = 1;
    var _3 = _this+12+4;
    FHEAP[_3] = 1;
    var _4 = _this+12+8;
    FHEAP[_4] = 1;
    var _5 = _this+12+12;
    FHEAP[_5] = 0;
    var _6 = _this+44;
    FHEAP[_6] = 0.03999999910593033;
    IHEAP[_1] = __ZTV32btConvexInternalAabbCachingShape+8;
    var _7 = _this+52;
    FHEAP[_7] = 1;
    var _8 = _this+52+4;
    FHEAP[_8] = 1;
    var _9 = _this+52+8;
    FHEAP[_9] = 1;
    var _10 = _this+52+12;
    FHEAP[_10] = 0;
    var _11 = _this+68;
    FHEAP[_11] = -1;
    var _12 = _this+68+4;
    FHEAP[_12] = -1;
    var _13 = _this+68+8;
    FHEAP[_13] = -1;
    var _14 = _this+68+12;
    FHEAP[_14] = 0;
    var _15 = _this+84;
    IHEAP[_15] = 0;
    ;
    return;
  }
  __ZN32btConvexInternalAabbCachingShapeC2Ev.__index__ = Runtime.getFunctionIndex(__ZN32btConvexInternalAabbCachingShapeC2Ev, "__ZN32btConvexInternalAabbCachingShapeC2Ev");
  
  
  function __ZN23btConvexPointCloudShape15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = _scaling;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _this+12+4;
    var _4 = _scaling+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+12+8;
    var _7 = _scaling+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+12+12;
    var _10 = _scaling+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _this;
    __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_12);
    ;
    return;
  }
  __ZN23btConvexPointCloudShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN23btConvexPointCloudShape15setLocalScalingERK9btVector3, "__ZN23btConvexPointCloudShape15setLocalScalingERK9btVector3");
  
  
  function __ZNK23btConvexPointCloudShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(_this, _vectors, _supportVerticesOut, _numVectors) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _numVectors > 0;
    if (_0) { __lastLabel__ = -1; __label__ = 60; /* _bb */  } else { __lastLabel__ = -1; __label__ = 660; /* _bb10_preheader */  }
    _bb$_bb10_preheader$9157: while(1) { // _bb,_bb10_preheader
      if (__label__ == 60) {
        var _i_018 = __lastLabel__ == 60 ? _1 : (0);
        var _scevgep34 = _supportVerticesOut+16*_i_018+12;
        FHEAP[_scevgep34] = -999999984306749400;
        var _1 = _i_018 + 1;
        var _exitcond33 = _1 == _numVectors;
        if (_exitcond33) { __lastLabel__ = 60; __label__ = 660; /* _bb10_preheader */ continue _bb$_bb10_preheader$9157; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$_bb10_preheader$9157; }
      }
      else if (__label__ == 660) {
        var _2 = _this+92;
        var _3 = IHEAP[_2];
        var _4 = _3 > 0;
        if (_4) { __label__ = 1753; /* _bb_nph17 */ break _bb$_bb10_preheader$9157; } else { __label__ = 44; /* _return */ break _bb$_bb10_preheader$9157; }
      }
    }
    _bb_nph17$_return$9161: do { 
      if (__label__ == 1753) {
        var _5 = _this+88;
        var _6 = _this+12+8;
        var _7 = _this+12+4;
        var _8 = _this+12;
        if (_0) { __lastLabel__ = 1753; __label__ = 1730; /* _bb_nph_us */  } else { __lastLabel__ = 1753; __label__ = 62; /* _bb9 */  }
        _bb_nph_us$_bb9$9163: while(1) { // _bb_nph_us,_bb9
          if (__label__ == 1730) {
            var _i3_016_us = __lastLabel__ == 1731 ? _tmp : (0);
            var _tmp = _i3_016_us + 1;
            var _22 = IHEAP[_5];
            var _scevgep31 = _22+16*_i3_016_us+8;
            var _23 = FHEAP[_scevgep31];
            var _24 = FHEAP[_6];
            var _25 = _23 * _24;
            var _scevgep30 = _22+16*_i3_016_us+4;
            var _26 = FHEAP[_scevgep30];
            var _27 = FHEAP[_7];
            var _28 = _26 * _27;
            var _scevgep2829 = _22+16*_i3_016_us;
            var _29 = FHEAP[_scevgep2829];
            var _30 = FHEAP[_8];
            var _31 = _29 * _30;
            __lastLabel__ = 1730; ;
            _bb5_us$9166: while(1) { // _bb5_us
              var _j_015_us = __lastLabel__ == 1730 ? 0 : (_11);
              var _scevgep = _supportVerticesOut+16*_j_015_us+12;
              var _scevgep24 = _vectors+16*_j_015_us+8;
              var _scevgep25 = _vectors+16*_j_015_us+4;
              var _scevgep2627 = _vectors+16*_j_015_us;
              var _12 = FHEAP[_scevgep2627];
              var _13 = _12 * _31;
              var _14 = FHEAP[_scevgep25];
              var _15 = _14 * _28;
              var _16 = _13 + _15;
              var _17 = FHEAP[_scevgep24];
              var _18 = _17 * _25;
              var _19 = _16 + _18;
              var _20 = FHEAP[_scevgep];
              var _21 = _20 < _19;
              ;
              if (_21) {
                ;
                var _scevgep2223 = _supportVerticesOut+16*_j_015_us;
                var _scevgep21 = _supportVerticesOut+16*_j_015_us+4;
                var _scevgep20 = _supportVerticesOut+16*_j_015_us+8;
                FHEAP[_scevgep2223] = _31;
                FHEAP[_scevgep21] = _28;
                FHEAP[_scevgep20] = _25;
                FHEAP[_scevgep] = _19;
                ;
              }
              var _11 = _j_015_us + 1;
              var _exitcond = _11 == _numVectors;
              if (_exitcond) { __lastLabel__ = 1732; __label__ = 1731; /* _bb9_us */ break _bb5_us$9166; } else { __lastLabel__ = 1732; __label__ = 1733; /* _bb5_us */ continue _bb5_us$9166; }
            }
            var _9 = IHEAP[_2];
            var _10 = _9 > _tmp;
            if (_10) { __lastLabel__ = 1731; __label__ = 1730; /* _bb_nph_us */ continue _bb_nph_us$_bb9$9163; } else { __lastLabel__ = 1731; __label__ = 44; /* _return */ break _bb_nph17$_return$9161; }
          }
          else if (__label__ == 62) {
            var _i3_016 = __lastLabel__ == 62 ? _tmp32 : (0);
            var _tmp32 = _i3_016 + 1;
            var _32 = _3 > _tmp32;
            if (_32) { __lastLabel__ = 62; __label__ = 62; /* _bb9 */ continue _bb_nph_us$_bb9$9163; } else { __lastLabel__ = 62; __label__ = 44; /* _return */ break _bb_nph17$_return$9161; }
          }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZNK23btConvexPointCloudShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__ = Runtime.getFunctionIndex(__ZNK23btConvexPointCloudShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, "__ZNK23btConvexPointCloudShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i");
  
  
  function __ZNK23btConvexPointCloudShape14getNumVerticesEv(_this) {
    ;
    var __label__;
    var _0 = _this+92;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK23btConvexPointCloudShape14getNumVerticesEv.__index__ = Runtime.getFunctionIndex(__ZNK23btConvexPointCloudShape14getNumVerticesEv, "__ZNK23btConvexPointCloudShape14getNumVerticesEv");
  
  
  function __ZNK23btConvexPointCloudShape9getVertexEiR9btVector3(_this, _i, _vtx) {
    ;
    var __label__;
    var _0 = _this+88;
    var _1 = IHEAP[_0];
    var _2 = _1+16*_i+8;
    var _3 = FHEAP[_2];
    var _4 = _this+12+8;
    var _5 = FHEAP[_4];
    var _6 = _3 * _5;
    var _7 = _1+16*_i+4;
    var _8 = FHEAP[_7];
    var _9 = _this+12+4;
    var _10 = FHEAP[_9];
    var _11 = _8 * _10;
    var _12 = _1+16*_i;
    var _13 = FHEAP[_12];
    var _14 = _this+12;
    var _15 = FHEAP[_14];
    var _16 = _13 * _15;
    var _17 = _vtx;
    FHEAP[_17] = _16;
    var _18 = _vtx+4;
    FHEAP[_18] = _11;
    var _19 = _vtx+8;
    FHEAP[_19] = _6;
    var _20 = _vtx+12;
    FHEAP[_20] = 0;
    ;
    return;
  }
  __ZNK23btConvexPointCloudShape9getVertexEiR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK23btConvexPointCloudShape9getVertexEiR9btVector3, "__ZNK23btConvexPointCloudShape9getVertexEiR9btVector3");
  
  
  function __ZN23btConvexPointCloudShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN23btConvexPointCloudShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN23btConvexPointCloudShapeD0Ev, "__ZN23btConvexPointCloudShapeD0Ev");
  
  
  function __ZN23btConvexPointCloudShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN23btConvexPointCloudShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN23btConvexPointCloudShapeD1Ev, "__ZN23btConvexPointCloudShapeD1Ev");
  
  
  function __ZN13btConvexShapeC2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = _this+4;
    IHEAP[_1] = 35;
    var _2 = _this+8;
    IHEAP[_2] = 0;
    IHEAP[_0] = __ZTV13btConvexShape+8;
    ;
    return;
  }
  __ZN13btConvexShapeC2Ev.__index__ = Runtime.getFunctionIndex(__ZN13btConvexShapeC2Ev, "__ZN13btConvexShapeC2Ev");
  
  
  function __ZN13btConvexShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV13btConvexShape+8;
    ;
    return;
  }
  __ZN13btConvexShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN13btConvexShapeD1Ev, "__ZN13btConvexShapeD1Ev");
  
  
  function __ZN13btConvexShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV13btConvexShape+8;
    var _1 = _this;
    __Z21btAlignedFreeInternalPv(_1);
    ;
    return;
  }
  __ZN13btConvexShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN13btConvexShapeD0Ev, "__ZN13btConvexShapeD0Ev");
  
  
  function __ZN13btConvexShapeC1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = _this+4;
    IHEAP[_1] = 35;
    var _2 = _this+8;
    IHEAP[_2] = 0;
    IHEAP[_0] = __ZTV13btConvexShape+8;
    ;
    return;
  }
  __ZN13btConvexShapeC1Ev.__index__ = Runtime.getFunctionIndex(__ZN13btConvexShapeC1Ev, "__ZN13btConvexShapeC1Ev");
  
  
  function __ZN13btConvexShapeD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV13btConvexShape+8;
    ;
    return;
  }
  __ZN13btConvexShapeD2Ev.__index__ = Runtime.getFunctionIndex(__ZN13btConvexShapeD2Ev, "__ZN13btConvexShapeD2Ev");
  
  
  function __ZN15btConvex2dShapeC2EP13btConvexShape(_this, _convexChildShape) {
    ;
    var __label__;
    var _0 = _this;
    __ZN13btConvexShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV15btConvex2dShape+8;
    var _2 = _this+12;
    IHEAP[_2] = _convexChildShape;
    var _3 = _this+4;
    IHEAP[_3] = 18;
    ;
    return;
  }
  __ZN15btConvex2dShapeC2EP13btConvexShape.__index__ = Runtime.getFunctionIndex(__ZN15btConvex2dShapeC2EP13btConvexShape, "__ZN15btConvex2dShapeC2EP13btConvexShape");
  
  
  function __ZNK15btConvex2dShape37localGetSupportingVertexWithoutMarginERK9btVector3(_agg_result, _this, _vec) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+64;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_agg_result, _1, _vec);
    ;
    return;
  }
  __ZNK15btConvex2dShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK15btConvex2dShape37localGetSupportingVertexWithoutMarginERK9btVector3, "__ZNK15btConvex2dShape37localGetSupportingVertexWithoutMarginERK9btVector3");
  
  
  function __ZNK15btConvex2dShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(_this, _vectors, _supportVerticesOut, _numVectors) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+68;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_1, _vectors, _supportVerticesOut, _numVectors);
    ;
    return;
  }
  __ZNK15btConvex2dShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__ = Runtime.getFunctionIndex(__ZNK15btConvex2dShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, "__ZNK15btConvex2dShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i");
  
  
  function __ZNK15btConvex2dShape24localGetSupportingVertexERK9btVector3(_agg_result, _this, _vec) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+60;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_agg_result, _1, _vec);
    ;
    return;
  }
  __ZNK15btConvex2dShape24localGetSupportingVertexERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK15btConvex2dShape24localGetSupportingVertexERK9btVector3, "__ZNK15btConvex2dShape24localGetSupportingVertexERK9btVector3");
  
  
  function __ZNK15btConvex2dShape21calculateLocalInertiaEfR9btVector3(_this, _mass, _inertia) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+32;
    var _5 = IHEAP[_4];
    var _6 = _1;
    var _7 = _5;
    FUNCTION_TABLE[_7](_6, _mass, _inertia);
    ;
    return;
  }
  __ZNK15btConvex2dShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK15btConvex2dShape21calculateLocalInertiaEfR9btVector3, "__ZNK15btConvex2dShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZNK15btConvex2dShape7getAabbERK11btTransformR9btVector3S4_(_this, _t, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+8;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_1, _t, _aabbMin, _aabbMax);
    ;
    return;
  }
  __ZNK15btConvex2dShape7getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK15btConvex2dShape7getAabbERK11btTransformR9btVector3S4_, "__ZNK15btConvex2dShape7getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZNK15btConvex2dShape11getAabbSlowERK11btTransformR9btVector3S4_(_this, _t, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+72;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_1, _t, _aabbMin, _aabbMax);
    ;
    return;
  }
  __ZNK15btConvex2dShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK15btConvex2dShape11getAabbSlowERK11btTransformR9btVector3S4_, "__ZNK15btConvex2dShape11getAabbSlowERK11btTransformR9btVector3S4_");
  
  
  function __ZN15btConvex2dShape15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+24;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_1, _scaling);
    ;
    return;
  }
  __ZN15btConvex2dShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN15btConvex2dShape15setLocalScalingERK9btVector3, "__ZN15btConvex2dShape15setLocalScalingERK9btVector3");
  
  
  function __ZN15btConvex2dShape9setMarginEf(_this, _margin) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+40;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_1, _margin);
    ;
    return;
  }
  __ZN15btConvex2dShape9setMarginEf.__index__ = Runtime.getFunctionIndex(__ZN15btConvex2dShape9setMarginEf, "__ZN15btConvex2dShape9setMarginEf");
  
  
  function __ZNK15btConvex2dShape32getPreferredPenetrationDirectionEiR9btVector3(_this, _index, _penetrationVector) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+80;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_1, _index, _penetrationVector);
    ;
    return;
  }
  __ZNK15btConvex2dShape32getPreferredPenetrationDirectionEiR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK15btConvex2dShape32getPreferredPenetrationDirectionEiR9btVector3, "__ZNK15btConvex2dShape32getPreferredPenetrationDirectionEiR9btVector3");
  
  
  function __ZN15btConvex2dShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV15btConvex2dShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN15btConvex2dShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN15btConvex2dShapeD0Ev, "__ZN15btConvex2dShapeD0Ev");
  
  
  function __ZN15btConvex2dShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV15btConvex2dShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN15btConvex2dShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN15btConvex2dShapeD1Ev, "__ZN15btConvex2dShapeD1Ev");
  
  
  function __ZN15btConvex2dShapeD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV15btConvex2dShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN15btConvex2dShapeD2Ev.__index__ = Runtime.getFunctionIndex(__ZN15btConvex2dShapeD2Ev, "__ZN15btConvex2dShapeD2Ev");
  
  
  function __ZN15btConvex2dShapeC1EP13btConvexShape(_this, _convexChildShape) {
    ;
    var __label__;
    var _0 = _this;
    __ZN13btConvexShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV15btConvex2dShape+8;
    var _2 = _this+12;
    IHEAP[_2] = _convexChildShape;
    var _3 = _this+4;
    IHEAP[_3] = 18;
    ;
    return;
  }
  __ZN15btConvex2dShapeC1EP13btConvexShape.__index__ = Runtime.getFunctionIndex(__ZN15btConvex2dShapeC1EP13btConvexShape, "__ZN15btConvex2dShapeC1EP13btConvexShape");
  
  
  function __ZN26LocalSupportVertexCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV26LocalSupportVertexCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    ;
    return;
  }
  __ZN26LocalSupportVertexCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN26LocalSupportVertexCallbackD1Ev, "__ZN26LocalSupportVertexCallbackD1Ev");
  
  
  function __ZN26LocalSupportVertexCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV26LocalSupportVertexCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZN26LocalSupportVertexCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN26LocalSupportVertexCallbackD0Ev, "__ZN26LocalSupportVertexCallbackD0Ev");
  
  
  function __ZN26LocalSupportVertexCallback28internalProcessTriangleIndexEP9btVector3ii(_this, _triangle, _partId, _triangleIndex) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+24;
    var _1 = _this+24+4;
    var _2 = _this+24+8;
    var _3 = _this+20;
    var _4 = _this+4;
    var _5 = _this+4+4;
    var _6 = _this+4+8;
    var _7 = _this+4+12;
    var _scevgep6 = _triangle;
    var _scevgep7 = _triangle+4;
    var _scevgep8 = _triangle+8;
    var _8 = FHEAP[_0];
    var _9 = FHEAP[_scevgep6];
    var _10 = _8 * _9;
    var _11 = FHEAP[_1];
    var _12 = FHEAP[_scevgep7];
    var _13 = _11 * _12;
    var _14 = _10 + _13;
    var _15 = FHEAP[_2];
    var _16 = FHEAP[_scevgep8];
    var _17 = _15 * _16;
    var _18 = _14 + _17;
    var _19 = FHEAP[_3];
    var _20 = _19 < _18;
    ;
    if (_20) {
      __lastLabel__ = 130; ;
      var _scevgep9 = _triangle+12;
      FHEAP[_3] = _18;
      var _21 = FHEAP[_scevgep6];
      FHEAP[_4] = _21;
      var _22 = FHEAP[_scevgep7];
      FHEAP[_5] = _22;
      var _23 = FHEAP[_scevgep8];
      FHEAP[_6] = _23;
      var _24 = FHEAP[_scevgep9];
      FHEAP[_7] = _24;
      __lastLabel__ = 75; ;
    }
    else {
      __lastLabel__ = 130; ;
    }
    var _25 = __lastLabel__ == 75 ? _18 : (_19);
    var _scevgep6_1 = _triangle+16;
    var _scevgep7_1 = _triangle+16+4;
    var _scevgep8_1 = _triangle+16+8;
    var _26 = FHEAP[_scevgep6_1];
    var _27 = _8 * _26;
    var _28 = FHEAP[_scevgep7_1];
    var _29 = _11 * _28;
    var _30 = _27 + _29;
    var _31 = FHEAP[_scevgep8_1];
    var _32 = _15 * _31;
    var _33 = _30 + _32;
    var _34 = _25 < _33;
    ;
    if (_34) {
      __lastLabel__ = 0; ;
      var _scevgep9_1 = _triangle+16+12;
      FHEAP[_3] = _33;
      var _45 = FHEAP[_scevgep6_1];
      FHEAP[_4] = _45;
      var _46 = FHEAP[_scevgep7_1];
      FHEAP[_5] = _46;
      var _47 = FHEAP[_scevgep8_1];
      FHEAP[_6] = _47;
      var _48 = FHEAP[_scevgep9_1];
      FHEAP[_7] = _48;
      __lastLabel__ = 1771; ;
    }
    else {
      __lastLabel__ = 0; ;
    }
    var _35 = __lastLabel__ == 1771 ? _33 : (_25);
    var _scevgep6_2 = _triangle+32;
    var _scevgep7_2 = _triangle+32+4;
    var _scevgep8_2 = _triangle+32+8;
    var _36 = FHEAP[_scevgep6_2];
    var _37 = _8 * _36;
    var _38 = FHEAP[_scevgep7_2];
    var _39 = _11 * _38;
    var _40 = _37 + _39;
    var _41 = FHEAP[_scevgep8_2];
    var _42 = _15 * _41;
    var _43 = _40 + _42;
    var _44 = _35 < _43;
    ;
    if (_44) {
      ;
      var _scevgep9_2 = _triangle+32+12;
      FHEAP[_3] = _43;
      var _49 = FHEAP[_scevgep6_2];
      FHEAP[_4] = _49;
      var _50 = FHEAP[_scevgep7_2];
      FHEAP[_5] = _50;
      var _51 = FHEAP[_scevgep8_2];
      FHEAP[_6] = _51;
      var _52 = FHEAP[_scevgep9_2];
      FHEAP[_7] = _52;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN26LocalSupportVertexCallback28internalProcessTriangleIndexEP9btVector3ii.__index__ = Runtime.getFunctionIndex(__ZN26LocalSupportVertexCallback28internalProcessTriangleIndexEP9btVector3ii, "__ZN26LocalSupportVertexCallback28internalProcessTriangleIndexEP9btVector3ii");
  
  
  function __ZNK25btConvexTriangleMeshShape15getLocalScalingEv(_this) {
    ;
    var __label__;
    var _0 = _this+88;
    var _1 = IHEAP[_0];
    var _2 = _1+4;
    ;
    return _2;
  }
  __ZNK25btConvexTriangleMeshShape15getLocalScalingEv.__index__ = Runtime.getFunctionIndex(__ZNK25btConvexTriangleMeshShape15getLocalScalingEv, "__ZNK25btConvexTriangleMeshShape15getLocalScalingEv");
  
  
  function __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE14CenterCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallbackD1Ev, "__ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallbackD1Ev");
  
  
  function __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE14CenterCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallbackD0Ev, "__ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallbackD0Ev");
  
  
  function __ZN25btConvexTriangleMeshShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN25btConvexTriangleMeshShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN25btConvexTriangleMeshShapeD0Ev, "__ZN25btConvexTriangleMeshShapeD0Ev");
  
  
  function __ZN25btConvexTriangleMeshShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN25btConvexTriangleMeshShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN25btConvexTriangleMeshShapeD1Ev, "__ZN25btConvexTriangleMeshShapeD1Ev");
  
  
  function __ZN25btConvexTriangleMeshShape15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var _0 = _this+88;
    var _1 = IHEAP[_0];
    var _2 = _1+4;
    var _3 = _scaling;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _1+4+4;
    var _6 = _scaling+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _1+4+8;
    var _9 = _scaling+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _1+4+12;
    var _12 = _scaling+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _this;
    __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_14);
    ;
    return;
  }
  __ZN25btConvexTriangleMeshShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN25btConvexTriangleMeshShape15setLocalScalingERK9btVector3, "__ZN25btConvexTriangleMeshShape15setLocalScalingERK9btVector3");
  
  
  function __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE15InertiaCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallbackD1Ev, "__ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallbackD1Ev");
  
  
  function __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE15InertiaCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallbackD0Ev, "__ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallbackD0Ev");
  
  
  function __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE15InertiaCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallbackD2Ev, "__ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallbackD2Ev");
  
  
  function __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE14CenterCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallbackD2Ev, "__ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallbackD2Ev");
  
  
  function __ZN15btCylinderShapeC2ERK9btVector3(_this, _halfExtents) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV15btCylinderShape+8;
    var _2 = _this+52;
    IHEAP[_2] = 1;
    var _3 = _this+44;
    var _4 = FHEAP[_3];
    var _5 = _halfExtents+8;
    var _6 = FHEAP[_5];
    var _7 = _this+12+8;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _halfExtents+4;
    var _11 = FHEAP[_10];
    var _12 = _this+12+4;
    var _13 = FHEAP[_12];
    var _14 = _11 * _13;
    var _15 = _halfExtents;
    var _16 = FHEAP[_15];
    var _17 = _this+12;
    var _18 = FHEAP[_17];
    var _19 = _16 * _18;
    var _20 = _9 - _4;
    var _21 = _14 - _4;
    var _22 = _19 - _4;
    var _23 = _this+28;
    FHEAP[_23] = _22;
    var _24 = _this+28+4;
    FHEAP[_24] = _21;
    var _25 = _this+28+8;
    FHEAP[_25] = _20;
    var _26 = _this+28+12;
    FHEAP[_26] = 0;
    var _27 = _this+4;
    IHEAP[_27] = 13;
    ;
    return;
  }
  __ZN15btCylinderShapeC2ERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN15btCylinderShapeC2ERK9btVector3, "__ZN15btCylinderShapeC2ERK9btVector3");
  
  
  function __ZN15btCylinderShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN15btCylinderShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN15btCylinderShapeD0Ev, "__ZN15btCylinderShapeD0Ev");
  
  
  function __ZN15btCylinderShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN15btCylinderShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN15btCylinderShapeD1Ev, "__ZN15btCylinderShapeD1Ev");
  
  
  function __ZN16btCylinderShapeXD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN16btCylinderShapeXD0Ev.__index__ = Runtime.getFunctionIndex(__ZN16btCylinderShapeXD0Ev, "__ZN16btCylinderShapeXD0Ev");
  
  
  function __ZN16btCylinderShapeXD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN16btCylinderShapeXD1Ev.__index__ = Runtime.getFunctionIndex(__ZN16btCylinderShapeXD1Ev, "__ZN16btCylinderShapeXD1Ev");
  
  
  function __ZN16btCylinderShapeZD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN16btCylinderShapeZD0Ev.__index__ = Runtime.getFunctionIndex(__ZN16btCylinderShapeZD0Ev, "__ZN16btCylinderShapeZD0Ev");
  
  
  function __ZN16btCylinderShapeZD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN16btCylinderShapeZD1Ev.__index__ = Runtime.getFunctionIndex(__ZN16btCylinderShapeZD1Ev, "__ZN16btCylinderShapeZD1Ev");
  
  
  function __ZN16btCylinderShapeZC1ERK9btVector3(_this, _halfExtents) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV15btCylinderShape+8;
    var _2 = _this+52;
    IHEAP[_2] = 1;
    var _3 = _this+44;
    var _4 = FHEAP[_3];
    var _5 = _halfExtents+8;
    var _6 = FHEAP[_5];
    var _7 = _this+12+8;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _halfExtents+4;
    var _11 = FHEAP[_10];
    var _12 = _this+12+4;
    var _13 = FHEAP[_12];
    var _14 = _11 * _13;
    var _15 = _halfExtents;
    var _16 = FHEAP[_15];
    var _17 = _this+12;
    var _18 = FHEAP[_17];
    var _19 = _16 * _18;
    var _20 = _9 - _4;
    var _21 = _14 - _4;
    var _22 = _19 - _4;
    var _23 = _this+28;
    FHEAP[_23] = _22;
    var _24 = _this+28+4;
    FHEAP[_24] = _21;
    var _25 = _this+28+8;
    FHEAP[_25] = _20;
    var _26 = _this+28+12;
    FHEAP[_26] = 0;
    var _27 = _this+4;
    IHEAP[_27] = 13;
    IHEAP[_1] = __ZTV16btCylinderShapeZ+8;
    IHEAP[_2] = 2;
    ;
    return;
  }
  __ZN16btCylinderShapeZC1ERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN16btCylinderShapeZC1ERK9btVector3, "__ZN16btCylinderShapeZC1ERK9btVector3");
  
  
  function __ZN16btCylinderShapeZC2ERK9btVector3(_this, _halfExtents) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV15btCylinderShape+8;
    var _2 = _this+52;
    IHEAP[_2] = 1;
    var _3 = _this+44;
    var _4 = FHEAP[_3];
    var _5 = _halfExtents+8;
    var _6 = FHEAP[_5];
    var _7 = _this+12+8;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _halfExtents+4;
    var _11 = FHEAP[_10];
    var _12 = _this+12+4;
    var _13 = FHEAP[_12];
    var _14 = _11 * _13;
    var _15 = _halfExtents;
    var _16 = FHEAP[_15];
    var _17 = _this+12;
    var _18 = FHEAP[_17];
    var _19 = _16 * _18;
    var _20 = _9 - _4;
    var _21 = _14 - _4;
    var _22 = _19 - _4;
    var _23 = _this+28;
    FHEAP[_23] = _22;
    var _24 = _this+28+4;
    FHEAP[_24] = _21;
    var _25 = _this+28+8;
    FHEAP[_25] = _20;
    var _26 = _this+28+12;
    FHEAP[_26] = 0;
    var _27 = _this+4;
    IHEAP[_27] = 13;
    IHEAP[_1] = __ZTV16btCylinderShapeZ+8;
    IHEAP[_2] = 2;
    ;
    return;
  }
  __ZN16btCylinderShapeZC2ERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN16btCylinderShapeZC2ERK9btVector3, "__ZN16btCylinderShapeZC2ERK9btVector3");
  
  
  function __ZN16btCylinderShapeXC1ERK9btVector3(_this, _halfExtents) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV15btCylinderShape+8;
    var _2 = _this+52;
    IHEAP[_2] = 1;
    var _3 = _this+44;
    var _4 = FHEAP[_3];
    var _5 = _halfExtents+8;
    var _6 = FHEAP[_5];
    var _7 = _this+12+8;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _halfExtents+4;
    var _11 = FHEAP[_10];
    var _12 = _this+12+4;
    var _13 = FHEAP[_12];
    var _14 = _11 * _13;
    var _15 = _halfExtents;
    var _16 = FHEAP[_15];
    var _17 = _this+12;
    var _18 = FHEAP[_17];
    var _19 = _16 * _18;
    var _20 = _9 - _4;
    var _21 = _14 - _4;
    var _22 = _19 - _4;
    var _23 = _this+28;
    FHEAP[_23] = _22;
    var _24 = _this+28+4;
    FHEAP[_24] = _21;
    var _25 = _this+28+8;
    FHEAP[_25] = _20;
    var _26 = _this+28+12;
    FHEAP[_26] = 0;
    var _27 = _this+4;
    IHEAP[_27] = 13;
    IHEAP[_1] = __ZTV16btCylinderShapeX+8;
    IHEAP[_2] = 0;
    ;
    return;
  }
  __ZN16btCylinderShapeXC1ERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN16btCylinderShapeXC1ERK9btVector3, "__ZN16btCylinderShapeXC1ERK9btVector3");
  
  
  function __ZN16btCylinderShapeXC2ERK9btVector3(_this, _halfExtents) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV15btCylinderShape+8;
    var _2 = _this+52;
    IHEAP[_2] = 1;
    var _3 = _this+44;
    var _4 = FHEAP[_3];
    var _5 = _halfExtents+8;
    var _6 = FHEAP[_5];
    var _7 = _this+12+8;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _halfExtents+4;
    var _11 = FHEAP[_10];
    var _12 = _this+12+4;
    var _13 = FHEAP[_12];
    var _14 = _11 * _13;
    var _15 = _halfExtents;
    var _16 = FHEAP[_15];
    var _17 = _this+12;
    var _18 = FHEAP[_17];
    var _19 = _16 * _18;
    var _20 = _9 - _4;
    var _21 = _14 - _4;
    var _22 = _19 - _4;
    var _23 = _this+28;
    FHEAP[_23] = _22;
    var _24 = _this+28+4;
    FHEAP[_24] = _21;
    var _25 = _this+28+8;
    FHEAP[_25] = _20;
    var _26 = _this+28+12;
    FHEAP[_26] = 0;
    var _27 = _this+4;
    IHEAP[_27] = 13;
    IHEAP[_1] = __ZTV16btCylinderShapeX+8;
    IHEAP[_2] = 0;
    ;
    return;
  }
  __ZN16btCylinderShapeXC2ERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN16btCylinderShapeXC2ERK9btVector3, "__ZN16btCylinderShapeXC2ERK9btVector3");
  
  
  function __ZN15btCylinderShapeC1ERK9btVector3(_this, _halfExtents) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV15btCylinderShape+8;
    var _2 = _this+52;
    IHEAP[_2] = 1;
    var _3 = _this+44;
    var _4 = FHEAP[_3];
    var _5 = _halfExtents+8;
    var _6 = FHEAP[_5];
    var _7 = _this+12+8;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _halfExtents+4;
    var _11 = FHEAP[_10];
    var _12 = _this+12+4;
    var _13 = FHEAP[_12];
    var _14 = _11 * _13;
    var _15 = _halfExtents;
    var _16 = FHEAP[_15];
    var _17 = _this+12;
    var _18 = FHEAP[_17];
    var _19 = _16 * _18;
    var _20 = _9 - _4;
    var _21 = _14 - _4;
    var _22 = _19 - _4;
    var _23 = _this+28;
    FHEAP[_23] = _22;
    var _24 = _this+28+4;
    FHEAP[_24] = _21;
    var _25 = _this+28+8;
    FHEAP[_25] = _20;
    var _26 = _this+28+12;
    FHEAP[_26] = 0;
    var _27 = _this+4;
    IHEAP[_27] = 13;
    ;
    return;
  }
  __ZN15btCylinderShapeC1ERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN15btCylinderShapeC1ERK9btVector3, "__ZN15btCylinderShapeC1ERK9btVector3");
  
  
  function __ZN12btEmptyShapeC2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    __ZN14btConcaveShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV12btEmptyShape+8;
    var _2 = _this+4;
    IHEAP[_2] = 27;
    ;
    return;
  }
  __ZN12btEmptyShapeC2Ev.__index__ = Runtime.getFunctionIndex(__ZN12btEmptyShapeC2Ev, "__ZN12btEmptyShapeC2Ev");
  
  
  function __ZN12btEmptyShape15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var _0 = _this+16;
    var _1 = _scaling;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _this+16+4;
    var _4 = _scaling+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+16+8;
    var _7 = _scaling+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+16+12;
    var _10 = _scaling+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    ;
    return;
  }
  __ZN12btEmptyShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN12btEmptyShape15setLocalScalingERK9btVector3, "__ZN12btEmptyShape15setLocalScalingERK9btVector3");
  
  
  function __ZNK12btEmptyShape15getLocalScalingEv(_this) {
    ;
    var __label__;
    var _0 = _this+16;
    ;
    return _0;
  }
  __ZNK12btEmptyShape15getLocalScalingEv.__index__ = Runtime.getFunctionIndex(__ZNK12btEmptyShape15getLocalScalingEv, "__ZNK12btEmptyShape15getLocalScalingEv");
  
  
  function __ZN12btEmptyShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV12btEmptyShape+8;
    var _1 = _this;
    __ZN14btConcaveShapeD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZN12btEmptyShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN12btEmptyShapeD0Ev, "__ZN12btEmptyShapeD0Ev");
  
  
  function __ZN12btEmptyShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV12btEmptyShape+8;
    var _1 = _this;
    __ZN14btConcaveShapeD2Ev(_1);
    ;
    return;
  }
  __ZN12btEmptyShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN12btEmptyShapeD1Ev, "__ZN12btEmptyShapeD1Ev");
  
  
  function __ZN12btEmptyShapeD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV12btEmptyShape+8;
    var _1 = _this;
    __ZN14btConcaveShapeD2Ev(_1);
    ;
    return;
  }
  __ZN12btEmptyShapeD2Ev.__index__ = Runtime.getFunctionIndex(__ZN12btEmptyShapeD2Ev, "__ZN12btEmptyShapeD2Ev");
  
  
  function __ZN12btEmptyShapeC1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    __ZN14btConcaveShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV12btEmptyShape+8;
    var _2 = _this+4;
    IHEAP[_2] = 27;
    ;
    return;
  }
  __ZN12btEmptyShapeC1Ev.__index__ = Runtime.getFunctionIndex(__ZN12btEmptyShapeC1Ev, "__ZN12btEmptyShapeC1Ev");
  
  
  function __ZN25btHeightfieldTerrainShapeC2EiiPvfffi14PHY_ScalarTypeb(_this, _heightStickWidth, _heightStickLength, _heightfieldData, _heightScale, _minHeight, _maxHeight, _upAxis, _hdt, _flipQuadEdges) {
    ;
    var __label__;
    var _0 = _this;
    __ZN14btConcaveShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV25btHeightfieldTerrainShape+8;
    __ZN25btHeightfieldTerrainShape10initializeEiiPvfffi14PHY_ScalarTypeb(_this, _heightStickWidth, _heightStickLength, _heightfieldData, _heightScale, _minHeight, _maxHeight, _upAxis, _hdt, _flipQuadEdges);
    ;
    return;
  }
  __ZN25btHeightfieldTerrainShapeC2EiiPvfffi14PHY_ScalarTypeb.__index__ = Runtime.getFunctionIndex(__ZN25btHeightfieldTerrainShapeC2EiiPvfffi14PHY_ScalarTypeb, "__ZN25btHeightfieldTerrainShapeC2EiiPvfffi14PHY_ScalarTypeb");
  
  
  function __ZN25btHeightfieldTerrainShape10initializeEiiPvfffi14PHY_ScalarTypeb(_this, _heightStickWidth, _heightStickLength, _heightfieldData, _heightScale, _minHeight, _maxHeight, _upAxis, _hdt, _flipQuadEdges) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    IHEAP[_0] = 24;
    var _1 = _this+64;
    IHEAP[_1] = _heightStickWidth;
    var _2 = _this+68;
    IHEAP[_2] = _heightStickLength;
    var _3 = _this+72;
    FHEAP[_3] = _minHeight;
    var _4 = _this+76;
    FHEAP[_4] = _maxHeight;
    var _5 = _heightStickWidth + -1;
    var _6 = _5;
    var _7 = _this+80;
    FHEAP[_7] = _6;
    var _8 = _heightStickLength + -1;
    var _9 = _8;
    var _10 = _this+84;
    FHEAP[_10] = _9;
    var _11 = _this+88;
    FHEAP[_11] = _heightScale;
    var _12 = _this+92;
    IHEAP[_12] = _heightfieldData;
    var _13 = _this+96;
    IHEAP[_13] = _hdt;
    var _14 = _this+100;
    IHEAP[_14] = _flipQuadEdges;
    var _15 = _this+101;
    IHEAP[_15] = 0;
    var _16 = _this+104;
    IHEAP[_16] = _upAxis;
    var _17 = _this+108;
    FHEAP[_17] = 1;
    var _18 = _this+108+4;
    FHEAP[_18] = 1;
    var _19 = _this+108+8;
    FHEAP[_19] = 1;
    var _20 = _this+108+12;
    FHEAP[_20] = 0;
    if (_upAxis == 0) {
      __label__ = 60; /* _bb */ 
    }
    else if (_upAxis == 1) {
      __label__ = 75; /* _bb1 */ 
    }
    else if (_upAxis == 2) {
      __label__ = 0; /* _bb2 */ 
    }
    else {
    __label__ = 1795; /* _entry_bb3_crit_edge */ 
    }
    
    if (__label__ == 1795) {
      var __phi_trans_insert = _this+16+8;
      var __pre = FHEAP[__phi_trans_insert];
      var __phi_trans_insert8 = _this+32+8;
      var __pre9 = FHEAP[__phi_trans_insert8];
      var __phi_trans_insert10 = _this+16+4;
      var __pre11 = FHEAP[__phi_trans_insert10];
      var __phi_trans_insert12 = _this+32+4;
      var __pre13 = FHEAP[__phi_trans_insert12];
      var __phi_trans_insert14 = _this+16;
      var __pre15 = FHEAP[__phi_trans_insert14];
      var __phi_trans_insert16 = _this+32;
      var __pre17 = FHEAP[__phi_trans_insert16];
      __lastLabel__ = 1795; ;
    }
    else if (__label__ == 60) {
      var _21 = _this+16;
      FHEAP[_21] = _minHeight;
      var _22 = _this+16+4;
      FHEAP[_22] = 0;
      var _23 = _this+16+8;
      FHEAP[_23] = 0;
      var _24 = _this+16+12;
      FHEAP[_24] = 0;
      var _25 = _this+32;
      FHEAP[_25] = _maxHeight;
      var _26 = _this+32+4;
      FHEAP[_26] = _6;
      var _27 = _this+32+8;
      FHEAP[_27] = _9;
      var _28 = _this+32+12;
      FHEAP[_28] = 0;
      __lastLabel__ = 60; ;
    }
    else if (__label__ == 75) {
      var _29 = _this+16;
      FHEAP[_29] = 0;
      var _30 = _this+16+4;
      FHEAP[_30] = _minHeight;
      var _31 = _this+16+8;
      FHEAP[_31] = 0;
      var _32 = _this+16+12;
      FHEAP[_32] = 0;
      var _33 = _this+32;
      FHEAP[_33] = _6;
      var _34 = _this+32+4;
      FHEAP[_34] = _maxHeight;
      var _35 = _this+32+8;
      FHEAP[_35] = _9;
      var _36 = _this+32+12;
      FHEAP[_36] = 0;
      __lastLabel__ = 75; ;
    }
    else if (__label__ == 0) {
      var _37 = _this+16;
      FHEAP[_37] = 0;
      var _38 = _this+16+4;
      FHEAP[_38] = 0;
      var _39 = _this+16+8;
      FHEAP[_39] = _minHeight;
      var _40 = _this+16+12;
      FHEAP[_40] = 0;
      var _41 = _this+32;
      FHEAP[_41] = _6;
      var _42 = _this+32+4;
      FHEAP[_42] = _9;
      var _43 = _this+32+8;
      FHEAP[_43] = _maxHeight;
      var _44 = _this+32+12;
      FHEAP[_44] = 0;
      __lastLabel__ = 0; ;
    }
    var _45 = __lastLabel__ == 1795 ? __pre17 : (__lastLabel__ == 0 ? _6 : (__lastLabel__ == 75 ? _6 : (_maxHeight)));
    var _46 = __lastLabel__ == 1795 ? __pre15 : (__lastLabel__ == 0 ? 0 : (__lastLabel__ == 75 ? 0 : (_minHeight)));
    var _47 = __lastLabel__ == 1795 ? __pre13 : (__lastLabel__ == 0 ? _9 : (__lastLabel__ == 75 ? _maxHeight : (_6)));
    var _48 = __lastLabel__ == 1795 ? __pre11 : (__lastLabel__ == 0 ? 0 : (__lastLabel__ == 75 ? _minHeight : (0)));
    var _49 = __lastLabel__ == 1795 ? __pre9 : (__lastLabel__ == 0 ? _maxHeight : (__lastLabel__ == 75 ? _9 : (_9)));
    var _50 = __lastLabel__ == 1795 ? __pre : (__lastLabel__ == 0 ? _minHeight : (__lastLabel__ == 75 ? 0 : (0)));
    var _51 = _50 + _49;
    var _52 = _48 + _47;
    var _53 = _46 + _45;
    var _54 = _51 * 0.5;
    var _55 = _52 * 0.5;
    var _56 = _53 * 0.5;
    var _57 = _this+48;
    FHEAP[_57] = _56;
    var _58 = _this+48+4;
    FHEAP[_58] = _55;
    var _59 = _this+48+8;
    FHEAP[_59] = _54;
    var _60 = _this+48+12;
    FHEAP[_60] = 0;
    ;
    return;
  }
  __ZN25btHeightfieldTerrainShape10initializeEiiPvfffi14PHY_ScalarTypeb.__index__ = Runtime.getFunctionIndex(__ZN25btHeightfieldTerrainShape10initializeEiiPvfffi14PHY_ScalarTypeb, "__ZN25btHeightfieldTerrainShape10initializeEiiPvfffi14PHY_ScalarTypeb");
  
  
  function __ZNK25btHeightfieldTerrainShape22getRawHeightFieldValueEii(_this, _x, _y) {
    ;
    var __label__;
    var _0 = _this+96;
    var _1 = IHEAP[_0];
    if (_1 == 0) {
      __label__ = 60; /* _bb */ 
    }
    else if (_1 == 3) {
      __label__ = 0; /* _bb2 */ 
    }
    else if (_1 == 5) {
      __label__ = 75; /* _bb1 */ 
    }
    else {
    __label__ = 116; /* _bb3 */ 
    }
    
    if (__label__ == 116) {
      ;
      return 0;
    }
    else if (__label__ == 60) {
      var _2 = _this+92;
      var _3 = IHEAP[_2];
      var _4 = _3;
      var _5 = _this+64;
      var _6 = IHEAP[_5];
      var _7 = _6 * _y;
      var _8 = _7 + _x;
      var _9 = _4+4*_8;
      var _10 = FHEAP[_9];
      ;
      return _10;
    }
    else if (__label__ == 0) {
      var _24 = _this+92;
      var _25 = IHEAP[_24];
      var _26 = _25;
      var _27 = _this+64;
      var _28 = IHEAP[_27];
      var _29 = _28 * _y;
      var _30 = _29 + _x;
      var _31 = _26+2*_30;
      var _32 = IHEAP[_31];
      var _33 = _32;
      var _34 = _this+88;
      var _35 = FHEAP[_34];
      var _36 = _33 * _35;
      ;
      return _36;
    }
    else if (__label__ == 75) {
      var _11 = _this+92;
      var _12 = IHEAP[_11];
      var _13 = _this+64;
      var _14 = IHEAP[_13];
      var _15 = _14 * _y;
      var _16 = _15 + _x;
      var _17 = _12+_16;
      var _18 = IHEAP[_17];
      var _19 = _18;
      var _20 = _19;
      var _21 = _this+88;
      var _22 = FHEAP[_21];
      var _23 = _20 * _22;
      ;
      return _23;
    }
  }
  __ZNK25btHeightfieldTerrainShape22getRawHeightFieldValueEii.__index__ = Runtime.getFunctionIndex(__ZNK25btHeightfieldTerrainShape22getRawHeightFieldValueEii, "__ZNK25btHeightfieldTerrainShape22getRawHeightFieldValueEii");
  
  
  function __ZNK25btHeightfieldTerrainShape21calculateLocalInertiaEfR9btVector3(_this, _unnamed_arg, _inertia) {
    ;
    var __label__;
    var _0 = _inertia;
    FHEAP[_0] = 0;
    var _1 = _inertia+4;
    FHEAP[_1] = 0;
    var _2 = _inertia+8;
    FHEAP[_2] = 0;
    var _3 = _inertia+12;
    FHEAP[_3] = 0;
    ;
    return;
  }
  __ZNK25btHeightfieldTerrainShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK25btHeightfieldTerrainShape21calculateLocalInertiaEfR9btVector3, "__ZNK25btHeightfieldTerrainShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZN25btHeightfieldTerrainShape15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var _0 = _this+108;
    var _1 = _scaling;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _this+108+4;
    var _4 = _scaling+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+108+8;
    var _7 = _scaling+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+108+12;
    var _10 = _scaling+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    ;
    return;
  }
  __ZN25btHeightfieldTerrainShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN25btHeightfieldTerrainShape15setLocalScalingERK9btVector3, "__ZN25btHeightfieldTerrainShape15setLocalScalingERK9btVector3");
  
  
  function __ZNK25btHeightfieldTerrainShape15getLocalScalingEv(_this) {
    ;
    var __label__;
    var _0 = _this+108;
    ;
    return _0;
  }
  __ZNK25btHeightfieldTerrainShape15getLocalScalingEv.__index__ = Runtime.getFunctionIndex(__ZNK25btHeightfieldTerrainShape15getLocalScalingEv, "__ZNK25btHeightfieldTerrainShape15getLocalScalingEv");
  
  
  function __ZNK25btHeightfieldTerrainShape17quantizeWithClampEPiRK9btVector3i(_this, _out, _point, _unnamed_arg) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _point;
    var _1 = FHEAP[_0];
    var _2 = _point+4;
    var _3 = FHEAP[_2];
    var _4 = _point+8;
    var _5 = FHEAP[_4];
    var _6 = _this+16;
    var _7 = FHEAP[_6];
    var _8 = _1 < _7;
    var _clampedPoint_0_0_0 = _8 ? _7 : _1;
    var _9 = _this+16+4;
    var _10 = FHEAP[_9];
    var _11 = _3 < _10;
    var _clampedPoint_0_1_0 = _11 ? _10 : _3;
    var _12 = _this+16+8;
    var _13 = FHEAP[_12];
    var _14 = _5 < _13;
    var _clampedPoint_0_2_0 = _14 ? _13 : _5;
    var _15 = _this+32;
    var _16 = FHEAP[_15];
    var _17 = _16 < _clampedPoint_0_0_0;
    var _clampedPoint_0_0_1 = _17 ? _16 : _clampedPoint_0_0_0;
    var _18 = _this+32+4;
    var _19 = FHEAP[_18];
    var _20 = _19 < _clampedPoint_0_1_0;
    var _clampedPoint_0_1_1 = _20 ? _19 : _clampedPoint_0_1_0;
    var _21 = _this+32+8;
    var _22 = FHEAP[_21];
    var _23 = _22 < _clampedPoint_0_2_0;
    var _clampedPoint_0_2_1 = _23 ? _22 : _clampedPoint_0_2_0;
    var _24 = _clampedPoint_0_0_1 < 0;
    var _25 = _clampedPoint_0_0_1;
    ;
    if (_24) {
      ;
      var _26 = _25 + -0.5;
      __lastLabel__ = 1627; ;
    }
    else {
      ;
      var _27 = _25 + 0.5;
      __lastLabel__ = 1799; ;
    }
    var __0_in_i8 = __lastLabel__ == 1627 ? _26 : (_27);
    var __0_i9 = Math.floor(__0_in_i8);
    IHEAP[_out] = __0_i9;
    var _28 = _clampedPoint_0_1_1 < 0;
    var _29 = _clampedPoint_0_1_1;
    ;
    if (_28) {
      ;
      var _30 = _29 + -0.5;
      __lastLabel__ = 1800; ;
    }
    else {
      ;
      var _31 = _29 + 0.5;
      __lastLabel__ = 1802; ;
    }
    var __0_in_i3 = __lastLabel__ == 1800 ? _30 : (_31);
    var __0_i4 = Math.floor(__0_in_i3);
    var _32 = _out+4;
    IHEAP[_32] = __0_i4;
    var _33 = _clampedPoint_0_2_1 < 0;
    var _34 = _clampedPoint_0_2_1;
    ;
    if (_33) {
      ;
      var _35 = _34 + -0.5;
      __lastLabel__ = 131; ;
    }
    else {
      ;
      var _36 = _34 + 0.5;
      __lastLabel__ = 159; ;
    }
    var __0_in_i = __lastLabel__ == 131 ? _35 : (_36);
    var __0_i = Math.floor(__0_in_i);
    var _37 = _out+8;
    IHEAP[_37] = __0_i;
    ;
    return;
  }
  __ZNK25btHeightfieldTerrainShape17quantizeWithClampEPiRK9btVector3i.__index__ = Runtime.getFunctionIndex(__ZNK25btHeightfieldTerrainShape17quantizeWithClampEPiRK9btVector3i, "__ZNK25btHeightfieldTerrainShape17quantizeWithClampEPiRK9btVector3i");
  
  
  function __ZNK25btHeightfieldTerrainShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_(_this, _callback, _aabbMin, _aabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 72;
    var __label__;
    var __lastLabel__ = null;
    var _quantizedAabbMin = __stackBase__;
    var _quantizedAabbMax = __stackBase__+12;
    var _vertices = __stackBase__+24;
    var _0 = _this+108+8;
    var _1 = FHEAP[_0];
    var _2 = 1 / _1;
    var _3 = _this+108+4;
    var _4 = FHEAP[_3];
    var _5 = 1 / _4;
    var _6 = _this+108;
    var _7 = FHEAP[_6];
    var _8 = 1 / _7;
    var _9 = _aabbMin+8;
    var _10 = FHEAP[_9];
    var _11 = _10 * _2;
    var _12 = _aabbMin+4;
    var _13 = FHEAP[_12];
    var _14 = _13 * _5;
    var _15 = _aabbMin;
    var _16 = FHEAP[_15];
    var _17 = _16 * _8;
    var _18 = _aabbMax+8;
    var _19 = FHEAP[_18];
    var _20 = _19 * _2;
    var _21 = _aabbMax+4;
    var _22 = FHEAP[_21];
    var _23 = _22 * _5;
    var _24 = _aabbMax;
    var _25 = FHEAP[_24];
    var _26 = _25 * _8;
    var _27 = _this+48;
    var _28 = FHEAP[_27];
    var _29 = _17 + _28;
    var _30 = _this+48+4;
    var _31 = FHEAP[_30];
    var _32 = _14 + _31;
    var _33 = _this+48+8;
    var _34 = FHEAP[_33];
    var _35 = _11 + _34;
    var _36 = _26 + _28;
    var _37 = _23 + _31;
    var _38 = _20 + _34;
    var _39 = _quantizedAabbMin;
    var _40 = _this+16;
    var _41 = FHEAP[_40];
    var _42 = _29 < _41;
    var _clampedPoint_0_0_0_i = _42 ? _41 : _29;
    var _43 = _this+16+4;
    var _44 = FHEAP[_43];
    var _45 = _32 < _44;
    var _clampedPoint_0_1_0_i = _45 ? _44 : _32;
    var _46 = _this+16+8;
    var _47 = FHEAP[_46];
    var _48 = _35 < _47;
    var _clampedPoint_0_2_0_i = _48 ? _47 : _35;
    var _49 = _this+32;
    var _50 = FHEAP[_49];
    var _51 = _50 < _clampedPoint_0_0_0_i;
    var _clampedPoint_0_0_1_i = _51 ? _50 : _clampedPoint_0_0_0_i;
    var _52 = _this+32+4;
    var _53 = FHEAP[_52];
    var _54 = _53 < _clampedPoint_0_1_0_i;
    var _clampedPoint_0_1_1_i = _54 ? _53 : _clampedPoint_0_1_0_i;
    var _55 = _this+32+8;
    var _56 = FHEAP[_55];
    var _57 = _56 < _clampedPoint_0_2_0_i;
    var _clampedPoint_0_2_1_i = _57 ? _56 : _clampedPoint_0_2_0_i;
    var _58 = _clampedPoint_0_0_1_i < 0;
    var _59 = _clampedPoint_0_0_1_i;
    ;
    if (_58) {
      ;
      var _60 = _59 + -0.5;
      __lastLabel__ = 1804; ;
    }
    else {
      ;
      var _61 = _59 + 0.5;
      __lastLabel__ = 1806; ;
    }
    var __0_in_i8_i = __lastLabel__ == 1804 ? _60 : (_61);
    var __0_i9_i = Math.floor(__0_in_i8_i);
    IHEAP[_39] = __0_i9_i;
    var _62 = _clampedPoint_0_1_1_i < 0;
    var _63 = _clampedPoint_0_1_1_i;
    ;
    if (_62) {
      ;
      var _64 = _63 + -0.5;
      __lastLabel__ = 774; ;
    }
    else {
      ;
      var _65 = _63 + 0.5;
      __lastLabel__ = 1808; ;
    }
    var __0_in_i3_i = __lastLabel__ == 774 ? _64 : (_65);
    var __0_i4_i = Math.floor(__0_in_i3_i);
    var _66 = _quantizedAabbMin+4;
    IHEAP[_66] = __0_i4_i;
    var _67 = _clampedPoint_0_2_1_i < 0;
    var _68 = _clampedPoint_0_2_1_i;
    ;
    if (_67) {
      ;
      var _69 = _68 + -0.5;
      __lastLabel__ = 263; ;
    }
    else {
      ;
      var _70 = _68 + 0.5;
      __lastLabel__ = 265; ;
    }
    var __0_in_i_i = __lastLabel__ == 263 ? _69 : (_70);
    var __0_i_i = Math.floor(__0_in_i_i);
    var _71 = _quantizedAabbMin+8;
    IHEAP[_71] = __0_i_i;
    var _72 = _quantizedAabbMax;
    var _73 = _36 < _41;
    var _clampedPoint_0_0_0_i51 = _73 ? _41 : _36;
    var _74 = _37 < _44;
    var _clampedPoint_0_1_0_i52 = _74 ? _44 : _37;
    var _75 = _38 < _47;
    var _clampedPoint_0_2_0_i53 = _75 ? _47 : _38;
    var _76 = _50 < _clampedPoint_0_0_0_i51;
    var _clampedPoint_0_0_1_i54 = _76 ? _50 : _clampedPoint_0_0_0_i51;
    var _77 = _53 < _clampedPoint_0_1_0_i52;
    var _clampedPoint_0_1_1_i55 = _77 ? _53 : _clampedPoint_0_1_0_i52;
    var _78 = _56 < _clampedPoint_0_2_0_i53;
    var _clampedPoint_0_2_1_i56 = _78 ? _56 : _clampedPoint_0_2_0_i53;
    var _79 = _clampedPoint_0_0_1_i54 < 0;
    var _80 = _clampedPoint_0_0_1_i54;
    ;
    if (_79) {
      ;
      var _81 = _80 + -0.5;
      __lastLabel__ = 1810; ;
    }
    else {
      ;
      var _82 = _80 + 0.5;
      __lastLabel__ = 1812; ;
    }
    var __0_in_i8_i59 = __lastLabel__ == 1810 ? _81 : (_82);
    var __0_i9_i60 = Math.floor(__0_in_i8_i59);
    IHEAP[_72] = __0_i9_i60;
    var _83 = _clampedPoint_0_1_1_i55 < 0;
    var _84 = _clampedPoint_0_1_1_i55;
    ;
    if (_83) {
      ;
      var _85 = _84 + -0.5;
      __lastLabel__ = 1813; ;
    }
    else {
      ;
      var _86 = _84 + 0.5;
      __lastLabel__ = 1815; ;
    }
    var __0_in_i3_i64 = __lastLabel__ == 1813 ? _85 : (_86);
    var __0_i4_i65 = Math.floor(__0_in_i3_i64);
    var _87 = _quantizedAabbMax+4;
    IHEAP[_87] = __0_i4_i65;
    var _88 = _clampedPoint_0_2_1_i56 < 0;
    var _89 = _clampedPoint_0_2_1_i56;
    ;
    if (_88) {
      ;
      var _90 = _89 + -0.5;
      __lastLabel__ = 561; ;
    }
    else {
      ;
      var _91 = _89 + 0.5;
      __lastLabel__ = 1817; ;
    }
    var __0_in_i_i69 = __lastLabel__ == 561 ? _90 : (_91);
    var __0_i_i70 = Math.floor(__0_in_i_i69);
    var _92 = _quantizedAabbMax+8;
    var _93 = __0_i9_i + -1;
    IHEAP[_39] = _93;
    var _94 = __0_i9_i60 + 1;
    IHEAP[_72] = _94;
    var _95 = __0_i4_i + -1;
    IHEAP[_66] = _95;
    var _96 = __0_i4_i65 + 1;
    IHEAP[_87] = _96;
    var _97 = __0_i_i + -1;
    IHEAP[_71] = _97;
    var _98 = __0_i_i70 + 1;
    IHEAP[_92] = _98;
    var _99 = _this+64;
    var _100 = IHEAP[_99];
    var _101 = _100 + -1;
    var _102 = _this+68;
    var _103 = IHEAP[_102];
    var _104 = _103 + -1;
    var _105 = _this+104;
    var _106 = IHEAP[_105];
    if (_106 == 0) {
      __lastLabel__ = 0; __label__ = 116; /* _bb3 */ 
    }
    else if (_106 == 1) {
      __lastLabel__ = 0; __label__ = 292; /* _bb11 */ 
    }
    else if (_106 == 2) {
      __lastLabel__ = 0; __label__ = 64; /* _bb19 */ 
    }
    else {
    __lastLabel__ = 0; __label__ = 515; /* _bb27 */ 
    }
    
    _bb27$_bb3$_bb11$_bb19$9578: do { 
      if (__label__ == 116) {
        var _107 = _95 > 0;
        var _startX_0 = _107 ? _95 : 0;
        var _108 = _96 < _101;
        var _endX_0 = _108 ? _96 : _101;
        var _109 = _97 > 0;
        var _startJ_0 = _109 ? _97 : 0;
        var _110 = _98 < _104;
        if (_110) { __lastLabel__ = 116; ; } else { __lastLabel__ = 116; __label__ = 515; /* _bb27 */ break _bb27$_bb3$_bb11$_bb19$9578; }
        __lastLabel__ = 150; ;
      }
      else if (__label__ == 292) {
        var _111 = _93 > 0;
        var _startX_2 = _111 ? _93 : 0;
        var _112 = _94 < _101;
        var _endX_2 = _112 ? _94 : _101;
        var _113 = _97 > 0;
        var _startJ_2 = _113 ? _97 : 0;
        var _114 = _98 < _104;
        if (_114) { __lastLabel__ = 292; ; } else { __lastLabel__ = 292; __label__ = 515; /* _bb27 */ break _bb27$_bb3$_bb11$_bb19$9578; }
        __lastLabel__ = 86; ;
      }
      else if (__label__ == 64) {
        var _115 = _93 > 0;
        var _startX_3 = _115 ? _93 : 0;
        var _116 = _94 < _101;
        var _endX_3 = _116 ? _94 : _101;
        var _117 = _95 > 0;
        var _startJ_3 = _117 ? _95 : 0;
        var _118 = _96 < _104;
        if (_118) { __lastLabel__ = 64; ; } else { __lastLabel__ = 64; __label__ = 515; /* _bb27 */ break _bb27$_bb3$_bb11$_bb19$9578; }
        __lastLabel__ = 626; ;
      }
    } while(0);
    var _startX_1 = __lastLabel__ == 0 ? 0 : (__lastLabel__ == 626 ? _startX_3 : (__lastLabel__ == 64 ? _startX_3 : (__lastLabel__ == 86 ? _startX_2 : (__lastLabel__ == 292 ? _startX_2 : (__lastLabel__ == 150 ? _startX_0 : (_startX_0))))));
    var _endX_1 = __lastLabel__ == 0 ? _101 : (__lastLabel__ == 626 ? _endX_3 : (__lastLabel__ == 64 ? _endX_3 : (__lastLabel__ == 86 ? _endX_2 : (__lastLabel__ == 292 ? _endX_2 : (__lastLabel__ == 150 ? _endX_0 : (_endX_0))))));
    var _startJ_1 = __lastLabel__ == 0 ? 0 : (__lastLabel__ == 626 ? _startJ_3 : (__lastLabel__ == 64 ? _startJ_3 : (__lastLabel__ == 86 ? _startJ_2 : (__lastLabel__ == 292 ? _startJ_2 : (__lastLabel__ == 150 ? _startJ_0 : (_startJ_0))))));
    var _endJ_0 = __lastLabel__ == 0 ? _104 : (__lastLabel__ == 626 ? _96 : (__lastLabel__ == 64 ? _104 : (__lastLabel__ == 86 ? _98 : (__lastLabel__ == 292 ? _104 : (__lastLabel__ == 150 ? _98 : (_104))))));
    var _119 = _startJ_1 < _endJ_0;
    ;
    _bb_nph88$_return$9586: do { 
      if (_119) {
        ;
        var _139 = _startX_1 < _endX_1;
        var _140 = _this+100;
        var _141 = _this+101;
        var _142 = _vertices;
        var _143 = _vertices+16;
        var _144 = _vertices+32;
        var _145 = _callback;
        var _tmp = _endX_1 - _startX_1;
        var _tmp94 = _startJ_1 + _startX_1;
        var _tmp97 = _startX_1 + 1;
        var _tmp99 = _endJ_0 - _startJ_1;
        var _tmp104 = _startJ_1 + 1;
        __lastLabel__ = 1822; ;
        _bb46_preheader$9588: while(1) { // _bb46_preheader
          var _indvar92 = __lastLabel__ == 1822 ? 0 : (_indvar_next93);
          var _tmp101 = _tmp94 + _indvar92;
          var _j_087 = _startJ_1 + _indvar92;
          var _tmp105 = _tmp104 + _indvar92;
          if (_139) { __lastLabel__ = 1821; __label__ = 91; /* _bb32 */  } else { __lastLabel__ = 1821; __label__ = 973; /* _bb47 */  }
          _bb32$_bb47$9590: while(1) { // _bb32,_bb47
            if (__label__ == 91) {
              var _indvar = __lastLabel__ == 95 ? _indvar_next : (0);
              var _tmp96 = _tmp101 + _indvar;
              var _x_085 = _startX_1 + _indvar;
              var _tmp98 = _tmp97 + _indvar;
              var _120 = IHEAP[_140];
              var _toBool = _120 == 0;
              ;
              _bb33$_bb43$9593: do { 
                if (_toBool) {
                  ;
                  var _121 = IHEAP[_141];
                  var _toBool34not = _121 == 0;
                  ;
                  if (!_toBool34not) {
                    ;
                    var _122 = _tmp96 & 1;
                    var _toBool42 = _122 == 0;
                    if (_toBool42) { __label__ = 8; /* _bb43 */ break _bb33$_bb43$9593; }
                  }
                  __ZNK25btHeightfieldTerrainShape9getVertexEiiR9btVector3(_this, _x_085, _j_087, _142);
                  __ZNK25btHeightfieldTerrainShape9getVertexEiiR9btVector3(_this, _x_085, _tmp105, _143);
                  __ZNK25btHeightfieldTerrainShape9getVertexEiiR9btVector3(_this, _tmp98, _j_087, _144);
                  var _131 = IHEAP[_145];
                  var _132 = _131+8;
                  var _133 = IHEAP[_132];
                  var _134 = _133;
                  FUNCTION_TABLE[_134](_callback, _142, _x_085, _j_087);
                  __ZNK25btHeightfieldTerrainShape9getVertexEiiR9btVector3(_this, _tmp98, _j_087, _142);
                  __ZNK25btHeightfieldTerrainShape9getVertexEiiR9btVector3(_this, _x_085, _tmp105, _143);
                  __ZNK25btHeightfieldTerrainShape9getVertexEiiR9btVector3(_this, _tmp98, _tmp105, _144);
                  var _135 = IHEAP[_145];
                  var _136 = _135+8;
                  var _137 = IHEAP[_136];
                  var _138 = _137;
                  FUNCTION_TABLE[_138](_callback, _142, _x_085, _j_087);
                  __label__ = 95; /* _bb45 */ break _bb33$_bb43$9593;
                }
                else {
                  __label__ = 8; /* _bb43 */ 
                }
              } while(0);
              if (__label__ == 8) {
                __ZNK25btHeightfieldTerrainShape9getVertexEiiR9btVector3(_this, _x_085, _j_087, _142);
                __ZNK25btHeightfieldTerrainShape9getVertexEiiR9btVector3(_this, _tmp98, _j_087, _143);
                __ZNK25btHeightfieldTerrainShape9getVertexEiiR9btVector3(_this, _tmp98, _tmp105, _144);
                var _123 = IHEAP[_145];
                var _124 = _123+8;
                var _125 = IHEAP[_124];
                var _126 = _125;
                FUNCTION_TABLE[_126](_callback, _142, _x_085, _j_087);
                __ZNK25btHeightfieldTerrainShape9getVertexEiiR9btVector3(_this, _x_085, _j_087, _142);
                __ZNK25btHeightfieldTerrainShape9getVertexEiiR9btVector3(_this, _tmp98, _tmp105, _143);
                __ZNK25btHeightfieldTerrainShape9getVertexEiiR9btVector3(_this, _x_085, _tmp105, _144);
                var _127 = IHEAP[_145];
                var _128 = _127+8;
                var _129 = IHEAP[_128];
                var _130 = _129;
                FUNCTION_TABLE[_130](_callback, _142, _x_085, _j_087);
                ;
              }
              var _indvar_next = _indvar + 1;
              var _exitcond = _indvar_next == _tmp;
              if (_exitcond) { __lastLabel__ = 95; __label__ = 973; /* _bb47 */ continue _bb32$_bb47$9590; } else { __lastLabel__ = 95; __label__ = 91; /* _bb32 */ continue _bb32$_bb47$9590; }
            }
            else if (__label__ == 973) {
              var _indvar_next93 = _indvar92 + 1;
              var _exitcond100 = _indvar_next93 == _tmp99;
              if (_exitcond100) { __lastLabel__ = 973; __label__ = 44; /* _return */ break _bb_nph88$_return$9586; } else { __lastLabel__ = 973; __label__ = 1821; /* _bb46_preheader */ continue _bb46_preheader$9588; }
            }
          }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK25btHeightfieldTerrainShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK25btHeightfieldTerrainShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_, "__ZNK25btHeightfieldTerrainShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_");
  
  
  function __ZN25btHeightfieldTerrainShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btHeightfieldTerrainShape+8;
    var _1 = _this;
    __ZN14btConcaveShapeD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZN25btHeightfieldTerrainShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN25btHeightfieldTerrainShapeD0Ev, "__ZN25btHeightfieldTerrainShapeD0Ev");
  
  
  function __ZN25btHeightfieldTerrainShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btHeightfieldTerrainShape+8;
    var _1 = _this;
    __ZN14btConcaveShapeD2Ev(_1);
    ;
    return;
  }
  __ZN25btHeightfieldTerrainShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN25btHeightfieldTerrainShapeD1Ev, "__ZN25btHeightfieldTerrainShapeD1Ev");
  
  
  function __ZN25btHeightfieldTerrainShapeD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btHeightfieldTerrainShape+8;
    var _1 = _this;
    __ZN14btConcaveShapeD2Ev(_1);
    ;
    return;
  }
  __ZN25btHeightfieldTerrainShapeD2Ev.__index__ = Runtime.getFunctionIndex(__ZN25btHeightfieldTerrainShapeD2Ev, "__ZN25btHeightfieldTerrainShapeD2Ev");
  
  
  function __ZN25btHeightfieldTerrainShapeC2EiiPvfibb(_this, _heightStickWidth, _heightStickLength, _heightfieldData, _maxHeight, _upAxis, _useFloatData, _flipQuadEdges) {
    ;
    var __label__;
    var _0 = _this;
    __ZN14btConcaveShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV25btHeightfieldTerrainShape+8;
    var _toBool = _useFloatData == 0;
    var _iftmp_123_0 = _toBool ? 5 : 0;
    var _2 = _maxHeight / 65535;
    __ZN25btHeightfieldTerrainShape10initializeEiiPvfffi14PHY_ScalarTypeb(_this, _heightStickWidth, _heightStickLength, _heightfieldData, _2, 0, _maxHeight, _upAxis, _iftmp_123_0, _flipQuadEdges);
    ;
    return;
  }
  __ZN25btHeightfieldTerrainShapeC2EiiPvfibb.__index__ = Runtime.getFunctionIndex(__ZN25btHeightfieldTerrainShapeC2EiiPvfibb, "__ZN25btHeightfieldTerrainShapeC2EiiPvfibb");
  
  
  function __ZN25btHeightfieldTerrainShapeC1EiiPvfibb(_this, _heightStickWidth, _heightStickLength, _heightfieldData, _maxHeight, _upAxis, _useFloatData, _flipQuadEdges) {
    ;
    var __label__;
    var _0 = _this;
    __ZN14btConcaveShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV25btHeightfieldTerrainShape+8;
    var _toBool_i = _useFloatData == 0;
    var _iftmp_123_0_i = _toBool_i ? 5 : 0;
    var _2 = _maxHeight / 65535;
    __ZN25btHeightfieldTerrainShape10initializeEiiPvfffi14PHY_ScalarTypeb(_this, _heightStickWidth, _heightStickLength, _heightfieldData, _2, 0, _maxHeight, _upAxis, _iftmp_123_0_i, _flipQuadEdges);
    ;
    return;
  }
  __ZN25btHeightfieldTerrainShapeC1EiiPvfibb.__index__ = Runtime.getFunctionIndex(__ZN25btHeightfieldTerrainShapeC1EiiPvfibb, "__ZN25btHeightfieldTerrainShapeC1EiiPvfibb");
  
  
  function __ZN25btHeightfieldTerrainShapeC1EiiPvfffi14PHY_ScalarTypeb(_this, _heightStickWidth, _heightStickLength, _heightfieldData, _heightScale, _minHeight, _maxHeight, _upAxis, _hdt, _flipQuadEdges) {
    ;
    var __label__;
    var _0 = _this;
    __ZN14btConcaveShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV25btHeightfieldTerrainShape+8;
    __ZN25btHeightfieldTerrainShape10initializeEiiPvfffi14PHY_ScalarTypeb(_this, _heightStickWidth, _heightStickLength, _heightfieldData, _heightScale, _minHeight, _maxHeight, _upAxis, _hdt, _flipQuadEdges);
    ;
    return;
  }
  __ZN25btHeightfieldTerrainShapeC1EiiPvfffi14PHY_ScalarTypeb.__index__ = Runtime.getFunctionIndex(__ZN25btHeightfieldTerrainShapeC1EiiPvfffi14PHY_ScalarTypeb, "__ZN25btHeightfieldTerrainShapeC1EiiPvfffi14PHY_ScalarTypeb");
  
  
  function __ZN19btMinkowskiSumShapeC2EPK13btConvexShapeS2_(_this, _shapeA, _shapeB) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV19btMinkowskiSumShape+8;
    var _2 = _this+180;
    IHEAP[_2] = _shapeA;
    var _3 = _this+184;
    IHEAP[_3] = _shapeB;
    var _4 = _this+4;
    IHEAP[_4] = 16;
    var _5 = _this+52;
    FHEAP[_5] = 1;
    var _6 = _this+52+4;
    FHEAP[_6] = 0;
    var _7 = _this+52+8;
    FHEAP[_7] = 0;
    var _8 = _this+52+12;
    FHEAP[_8] = 0;
    var _9 = _this+52+16;
    FHEAP[_9] = 0;
    var _10 = _this+52+16+4;
    FHEAP[_10] = 1;
    var _11 = _this+52+16+8;
    FHEAP[_11] = 0;
    var _12 = _this+52+16+12;
    FHEAP[_12] = 0;
    var _13 = _this+52+32;
    FHEAP[_13] = 0;
    var _14 = _this+52+32+4;
    FHEAP[_14] = 0;
    var _15 = _this+52+32+8;
    FHEAP[_15] = 1;
    var _16 = _this+52+32+12;
    FHEAP[_16] = 0;
    var _17 = _this+52+48;
    FHEAP[_17] = 0;
    var _18 = _this+52+48+4;
    FHEAP[_18] = 0;
    var _19 = _this+52+48+8;
    FHEAP[_19] = 0;
    var _20 = _this+52+48+12;
    FHEAP[_20] = 0;
    var _21 = _this+116;
    FHEAP[_21] = 1;
    var _22 = _this+116+4;
    FHEAP[_22] = 0;
    var _23 = _this+116+8;
    FHEAP[_23] = 0;
    var _24 = _this+116+12;
    FHEAP[_24] = 0;
    var _25 = _this+116+16;
    FHEAP[_25] = 0;
    var _26 = _this+116+16+4;
    FHEAP[_26] = 1;
    var _27 = _this+116+16+8;
    FHEAP[_27] = 0;
    var _28 = _this+116+16+12;
    FHEAP[_28] = 0;
    var _29 = _this+116+32;
    FHEAP[_29] = 0;
    var _30 = _this+116+32+4;
    FHEAP[_30] = 0;
    var _31 = _this+116+32+8;
    FHEAP[_31] = 1;
    var _32 = _this+116+32+12;
    FHEAP[_32] = 0;
    var _33 = _this+116+48;
    FHEAP[_33] = 0;
    var _34 = _this+116+48+4;
    FHEAP[_34] = 0;
    var _35 = _this+116+48+8;
    FHEAP[_35] = 0;
    var _36 = _this+116+48+12;
    FHEAP[_36] = 0;
    ;
    return;
  }
  __ZN19btMinkowskiSumShapeC2EPK13btConvexShapeS2_.__index__ = Runtime.getFunctionIndex(__ZN19btMinkowskiSumShapeC2EPK13btConvexShapeS2_, "__ZN19btMinkowskiSumShapeC2EPK13btConvexShapeS2_");
  
  
  function __ZNK19btMinkowskiSumShape37localGetSupportingVertexWithoutMarginERK9btVector3(_agg_result, _this, _vec) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _3 = __stackBase__+48;
    var _4 = _this+180;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = IHEAP[_6];
    var _8 = _7+64;
    var _9 = IHEAP[_8];
    var _10 = _this+52+8;
    var _11 = FHEAP[_10];
    var _12 = _vec;
    var _13 = FHEAP[_12];
    var _14 = _11 * _13;
    var _15 = _this+52+16+8;
    var _16 = FHEAP[_15];
    var _17 = _vec+4;
    var _18 = FHEAP[_17];
    var _19 = _16 * _18;
    var _20 = _14 + _19;
    var _21 = _this+52+32+8;
    var _22 = FHEAP[_21];
    var _23 = _vec+8;
    var _24 = FHEAP[_23];
    var _25 = _22 * _24;
    var _26 = _20 + _25;
    var _27 = _this+52+4;
    var _28 = FHEAP[_27];
    var _29 = _28 * _13;
    var _30 = _this+52+16+4;
    var _31 = FHEAP[_30];
    var _32 = _31 * _18;
    var _33 = _29 + _32;
    var _34 = _this+52+32+4;
    var _35 = FHEAP[_34];
    var _36 = _35 * _24;
    var _37 = _33 + _36;
    var _38 = _this+52;
    var _39 = FHEAP[_38];
    var _40 = _39 * _13;
    var _41 = _this+52+16;
    var _42 = FHEAP[_41];
    var _43 = _42 * _18;
    var _44 = _40 + _43;
    var _45 = _this+52+32;
    var _46 = FHEAP[_45];
    var _47 = _46 * _24;
    var _48 = _44 + _47;
    var _49 = _2;
    FHEAP[_49] = _48;
    var _50 = _2+4;
    FHEAP[_50] = _37;
    var _51 = _2+8;
    FHEAP[_51] = _26;
    var _52 = _2+12;
    FHEAP[_52] = 0;
    var _53 = _9;
    FUNCTION_TABLE[_53](_3, _5, _2);
    var _54 = FHEAP[_45];
    var _55 = _3;
    var _56 = FHEAP[_55];
    var _57 = _54 * _56;
    var _58 = FHEAP[_34];
    var _59 = _3+4;
    var _60 = FHEAP[_59];
    var _61 = _58 * _60;
    var _62 = _57 + _61;
    var _63 = FHEAP[_21];
    var _64 = _3+8;
    var _65 = FHEAP[_64];
    var _66 = _63 * _65;
    var _67 = _62 + _66;
    var _68 = _this+52+48+8;
    var _69 = FHEAP[_68];
    var _70 = _67 + _69;
    var _71 = FHEAP[_41];
    var _72 = _71 * _56;
    var _73 = FHEAP[_30];
    var _74 = _73 * _60;
    var _75 = _72 + _74;
    var _76 = FHEAP[_15];
    var _77 = _76 * _65;
    var _78 = _75 + _77;
    var _79 = _this+52+48+4;
    var _80 = FHEAP[_79];
    var _81 = _78 + _80;
    var _82 = FHEAP[_38];
    var _83 = _82 * _56;
    var _84 = FHEAP[_27];
    var _85 = _84 * _60;
    var _86 = _83 + _85;
    var _87 = FHEAP[_10];
    var _88 = _87 * _65;
    var _89 = _86 + _88;
    var _90 = _this+52+48;
    var _91 = FHEAP[_90];
    var _92 = _89 + _91;
    var _93 = _this+184;
    var _94 = IHEAP[_93];
    var _95 = _94;
    var _96 = IHEAP[_95];
    var _97 = _96+64;
    var _98 = IHEAP[_97];
    var _99 = FHEAP[_23];
    var _100 = 0 - _99;
    var _101 = FHEAP[_17];
    var _102 = 0 - _101;
    var _103 = FHEAP[_12];
    var _104 = 0 - _103;
    var _105 = _this+116+8;
    var _106 = FHEAP[_105];
    var _107 = _106 * _104;
    var _108 = _this+116+16+8;
    var _109 = FHEAP[_108];
    var _110 = _109 * _102;
    var _111 = _107 + _110;
    var _112 = _this+116+32+8;
    var _113 = FHEAP[_112];
    var _114 = _113 * _100;
    var _115 = _111 + _114;
    var _116 = _this+116+4;
    var _117 = FHEAP[_116];
    var _118 = _117 * _104;
    var _119 = _this+116+16+4;
    var _120 = FHEAP[_119];
    var _121 = _120 * _102;
    var _122 = _118 + _121;
    var _123 = _this+116+32+4;
    var _124 = FHEAP[_123];
    var _125 = _124 * _100;
    var _126 = _122 + _125;
    var _127 = _this+116;
    var _128 = FHEAP[_127];
    var _129 = _128 * _104;
    var _130 = _this+116+16;
    var _131 = FHEAP[_130];
    var _132 = _131 * _102;
    var _133 = _129 + _132;
    var _134 = _this+116+32;
    var _135 = FHEAP[_134];
    var _136 = _135 * _100;
    var _137 = _133 + _136;
    var _138 = _0;
    FHEAP[_138] = _137;
    var _139 = _0+4;
    FHEAP[_139] = _126;
    var _140 = _0+8;
    FHEAP[_140] = _115;
    var _141 = _0+12;
    FHEAP[_141] = 0;
    var _142 = _98;
    FUNCTION_TABLE[_142](_1, _94, _0);
    var _143 = FHEAP[_134];
    var _144 = _1;
    var _145 = FHEAP[_144];
    var _146 = _143 * _145;
    var _147 = FHEAP[_123];
    var _148 = _1+4;
    var _149 = FHEAP[_148];
    var _150 = _147 * _149;
    var _151 = _146 + _150;
    var _152 = FHEAP[_112];
    var _153 = _1+8;
    var _154 = FHEAP[_153];
    var _155 = _152 * _154;
    var _156 = _151 + _155;
    var _157 = _this+116+48+8;
    var _158 = FHEAP[_157];
    var _159 = _156 + _158;
    var _160 = FHEAP[_130];
    var _161 = _160 * _145;
    var _162 = FHEAP[_119];
    var _163 = _162 * _149;
    var _164 = _161 + _163;
    var _165 = FHEAP[_108];
    var _166 = _165 * _154;
    var _167 = _164 + _166;
    var _168 = _this+116+48+4;
    var _169 = FHEAP[_168];
    var _170 = _167 + _169;
    var _171 = FHEAP[_127];
    var _172 = _171 * _145;
    var _173 = FHEAP[_116];
    var _174 = _173 * _149;
    var _175 = _172 + _174;
    var _176 = FHEAP[_105];
    var _177 = _176 * _154;
    var _178 = _175 + _177;
    var _179 = _this+116+48;
    var _180 = FHEAP[_179];
    var _181 = _178 + _180;
    var _182 = _70 - _159;
    var _183 = _81 - _170;
    var _184 = _92 - _181;
    var _185 = _agg_result;
    FHEAP[_185] = _184;
    var _186 = _agg_result+4;
    FHEAP[_186] = _183;
    var _187 = _agg_result+8;
    FHEAP[_187] = _182;
    var _188 = _agg_result+12;
    FHEAP[_188] = 0;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK19btMinkowskiSumShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK19btMinkowskiSumShape37localGetSupportingVertexWithoutMarginERK9btVector3, "__ZNK19btMinkowskiSumShape37localGetSupportingVertexWithoutMarginERK9btVector3");
  
  
  function __ZNK19btMinkowskiSumShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(_this, _vectors, _supportVerticesOut, _numVectors) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var __lastLabel__ = null;
    var _memtmp = __stackBase__;
    var _0 = _numVectors > 0;
    ;
    _bb_nph$_return$9613: do { 
      if (_0) {
        ;
        var _1 = _this;
        var _2 = _memtmp;
        var _3 = _memtmp+4;
        var _4 = _memtmp+8;
        var _5 = _memtmp+12;
        __lastLabel__ = 130; ;
        _bb$9615: while(1) { // _bb
          var _i_03 = __lastLabel__ == 130 ? 0 : (_14);
          var _scevgep = _vectors+16*_i_03;
          var _scevgep45 = _supportVerticesOut+16*_i_03;
          var _scevgep6 = _supportVerticesOut+16*_i_03+4;
          var _scevgep7 = _supportVerticesOut+16*_i_03+8;
          var _scevgep8 = _supportVerticesOut+16*_i_03+12;
          var _6 = IHEAP[_1];
          var _7 = _6+64;
          var _8 = IHEAP[_7];
          var _9 = _8;
          FUNCTION_TABLE[_9](_memtmp, _this, _scevgep);
          var _10 = FHEAP[_2];
          FHEAP[_scevgep45] = _10;
          var _11 = FHEAP[_3];
          FHEAP[_scevgep6] = _11;
          var _12 = FHEAP[_4];
          FHEAP[_scevgep7] = _12;
          var _13 = FHEAP[_5];
          FHEAP[_scevgep8] = _13;
          var _14 = _i_03 + 1;
          var _exitcond = _14 == _numVectors;
          if (_exitcond) { __lastLabel__ = 60; __label__ = 44; /* _return */ break _bb_nph$_return$9613; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$9615; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK19btMinkowskiSumShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__ = Runtime.getFunctionIndex(__ZNK19btMinkowskiSumShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, "__ZNK19btMinkowskiSumShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i");
  
  
  function __ZNK19btMinkowskiSumShape21calculateLocalInertiaEfR9btVector3(_this, _mass, _inertia) {
    ;
    var __label__;
    var _0 = _inertia;
    FHEAP[_0] = 0;
    var _1 = _inertia+4;
    FHEAP[_1] = 0;
    var _2 = _inertia+8;
    FHEAP[_2] = 0;
    var _3 = _inertia+12;
    FHEAP[_3] = 0;
    ;
    return;
  }
  __ZNK19btMinkowskiSumShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK19btMinkowskiSumShape21calculateLocalInertiaEfR9btVector3, "__ZNK19btMinkowskiSumShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZN19btMinkowskiSumShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN19btMinkowskiSumShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN19btMinkowskiSumShapeD0Ev, "__ZN19btMinkowskiSumShapeD0Ev");
  
  
  function __ZN19btMinkowskiSumShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN19btMinkowskiSumShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN19btMinkowskiSumShapeD1Ev, "__ZN19btMinkowskiSumShapeD1Ev");
  
  
  function __ZN19btMinkowskiSumShapeC1EPK13btConvexShapeS2_(_this, _shapeA, _shapeB) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV19btMinkowskiSumShape+8;
    var _2 = _this+180;
    IHEAP[_2] = _shapeA;
    var _3 = _this+184;
    IHEAP[_3] = _shapeB;
    var _4 = _this+4;
    IHEAP[_4] = 16;
    var _5 = _this+52;
    FHEAP[_5] = 1;
    var _6 = _this+52+4;
    FHEAP[_6] = 0;
    var _7 = _this+52+8;
    FHEAP[_7] = 0;
    var _8 = _this+52+12;
    FHEAP[_8] = 0;
    var _9 = _this+52+16;
    FHEAP[_9] = 0;
    var _10 = _this+52+16+4;
    FHEAP[_10] = 1;
    var _11 = _this+52+16+8;
    FHEAP[_11] = 0;
    var _12 = _this+52+16+12;
    FHEAP[_12] = 0;
    var _13 = _this+52+32;
    FHEAP[_13] = 0;
    var _14 = _this+52+32+4;
    FHEAP[_14] = 0;
    var _15 = _this+52+32+8;
    FHEAP[_15] = 1;
    var _16 = _this+52+32+12;
    FHEAP[_16] = 0;
    var _17 = _this+52+48;
    FHEAP[_17] = 0;
    var _18 = _this+52+48+4;
    FHEAP[_18] = 0;
    var _19 = _this+52+48+8;
    FHEAP[_19] = 0;
    var _20 = _this+52+48+12;
    FHEAP[_20] = 0;
    var _21 = _this+116;
    FHEAP[_21] = 1;
    var _22 = _this+116+4;
    FHEAP[_22] = 0;
    var _23 = _this+116+8;
    FHEAP[_23] = 0;
    var _24 = _this+116+12;
    FHEAP[_24] = 0;
    var _25 = _this+116+16;
    FHEAP[_25] = 0;
    var _26 = _this+116+16+4;
    FHEAP[_26] = 1;
    var _27 = _this+116+16+8;
    FHEAP[_27] = 0;
    var _28 = _this+116+16+12;
    FHEAP[_28] = 0;
    var _29 = _this+116+32;
    FHEAP[_29] = 0;
    var _30 = _this+116+32+4;
    FHEAP[_30] = 0;
    var _31 = _this+116+32+8;
    FHEAP[_31] = 1;
    var _32 = _this+116+32+12;
    FHEAP[_32] = 0;
    var _33 = _this+116+48;
    FHEAP[_33] = 0;
    var _34 = _this+116+48+4;
    FHEAP[_34] = 0;
    var _35 = _this+116+48+8;
    FHEAP[_35] = 0;
    var _36 = _this+116+48+12;
    FHEAP[_36] = 0;
    ;
    return;
  }
  __ZN19btMinkowskiSumShapeC1EPK13btConvexShapeS2_.__index__ = Runtime.getFunctionIndex(__ZN19btMinkowskiSumShapeC1EPK13btConvexShapeS2_, "__ZN19btMinkowskiSumShapeC1EPK13btConvexShapeS2_");
  
  
  function __ZN32btMultimaterialTriangleMeshShape21getMaterialPropertiesEii(_this, _partID, _triIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 8;
    var __label__;
    var _materialBase = __stackBase__;
    var _numMaterials = __stackBase__+1;
    var _materialType = __stackBase__+2;
    var _materialStride = __stackBase__+3;
    var _triangleMaterialBase = __stackBase__+4;
    var _numTriangles = __stackBase__+5;
    var _triangleMaterialStride = __stackBase__+6;
    var _triangleType = __stackBase__+7;
    IHEAP[_materialBase] = 0;
    IHEAP[_triangleMaterialBase] = 0;
    var _0 = _this+48;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+64;
    var _5 = IHEAP[_4];
    var _6 = _1;
    var _7 = _5;
    FUNCTION_TABLE[_7](_6, _materialBase, _numMaterials, _materialType, _materialStride, _triangleMaterialBase, _numTriangles, _triangleMaterialStride, _triangleType, _partID);
    var _8 = IHEAP[_triangleMaterialBase];
    var _9 = IHEAP[_triangleMaterialStride];
    var _10 = _9 * _triIndex;
    var _11 = _8+_10;
    var _12 = _11;
    var _13 = IHEAP[_materialBase];
    var _14 = IHEAP[_12];
    var _15 = IHEAP[_materialStride];
    var _16 = _15 * _14;
    var _17 = _13+_16;
    var _18 = _17;
    STACKTOP = __stackBase__;
    return _18;
  }
  __ZN32btMultimaterialTriangleMeshShape21getMaterialPropertiesEii.__index__ = Runtime.getFunctionIndex(__ZN32btMultimaterialTriangleMeshShape21getMaterialPropertiesEii, "__ZN32btMultimaterialTriangleMeshShape21getMaterialPropertiesEii");
  
  
  function __ZNK18btMultiSphereShape21calculateLocalInertiaEfR9btVector3(_this, _mass, _inertia) {
    ;
    var __label__;
    var _0 = _this+52;
    var _1 = FHEAP[_0];
    var _2 = _this+52+4;
    var _3 = FHEAP[_2];
    var _4 = _this+52+8;
    var _5 = FHEAP[_4];
    var _6 = _this+68;
    var _7 = FHEAP[_6];
    var _8 = _this+68+4;
    var _9 = FHEAP[_8];
    var _10 = _this+68+8;
    var _11 = FHEAP[_10];
    var _12 = _11 - _5;
    var _13 = _9 - _3;
    var _14 = _7 - _1;
    var _15 = _12 * 0.5;
    var _16 = _13 * 0.5;
    var _17 = _14 * 0.5;
    var _18 = _17 * 2;
    var _19 = _16 * 2;
    var _20 = _15 * 2;
    var _21 = _mass / 12;
    var _22 = _18 * _18;
    var _23 = _19 * _19;
    var _24 = _22 + _23;
    var _25 = _21 * _24;
    var _26 = _20 * _20;
    var _27 = _22 + _26;
    var _28 = _21 * _27;
    var _29 = _23 + _26;
    var _30 = _21 * _29;
    var _31 = _inertia;
    FHEAP[_31] = _30;
    var _32 = _inertia+4;
    FHEAP[_32] = _28;
    var _33 = _inertia+8;
    FHEAP[_33] = _25;
    var _34 = _inertia+12;
    FHEAP[_34] = 0;
    ;
    return;
  }
  __ZNK18btMultiSphereShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK18btMultiSphereShape21calculateLocalInertiaEfR9btVector3, "__ZNK18btMultiSphereShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZN14btOptimizedBvhC2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    __ZN14btQuantizedBvhC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV14btOptimizedBvh+8;
    ;
    return;
  }
  __ZN14btOptimizedBvhC2Ev.__index__ = Runtime.getFunctionIndex(__ZN14btOptimizedBvhC2Ev, "__ZN14btOptimizedBvhC2Ev");
  
  
  function __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD1Ev, "__ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD1Ev");
  
  
  function __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD0Ev, "__ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD0Ev");
  
  
  function __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD1Ev, "__ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD1Ev");
  
  
  function __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD0Ev, "__ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD0Ev");
  
  
  function __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallback28internalProcessTriangleIndexEPS2_ii(_this, _triangle, _partId, _triangleIndex) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _triangle;
    var _1 = FHEAP[_0];
    var _2 = _1 < 999999984306749400;
    var _aabbMin_0_0_3 = _2 ? _1 : 999999984306749400;
    var _3 = _triangle+4;
    var _4 = FHEAP[_3];
    var _5 = _4 < 999999984306749400;
    var _aabbMin_0_1_3 = _5 ? _4 : 999999984306749400;
    var _6 = _triangle+8;
    var _7 = FHEAP[_6];
    var _8 = _7 < 999999984306749400;
    var _aabbMin_0_2_3 = _8 ? _7 : 999999984306749400;
    var _9 = _1 > -999999984306749400;
    var _aabbMax_0_0_3 = _9 ? _1 : -999999984306749400;
    var _10 = _4 > -999999984306749400;
    var _aabbMax_0_1_3 = _10 ? _4 : -999999984306749400;
    var _11 = _7 > -999999984306749400;
    var _aabbMax_0_2_3 = _11 ? _7 : -999999984306749400;
    var _12 = _triangle+16;
    var _13 = FHEAP[_12];
    var _14 = _13 < _aabbMin_0_0_3;
    var _aabbMin_0_0_2 = _14 ? _13 : _aabbMin_0_0_3;
    var _15 = _triangle+16+4;
    var _16 = FHEAP[_15];
    var _17 = _16 < _aabbMin_0_1_3;
    var _aabbMin_0_1_2 = _17 ? _16 : _aabbMin_0_1_3;
    var _18 = _triangle+16+8;
    var _19 = FHEAP[_18];
    var _20 = _19 < _aabbMin_0_2_3;
    var _aabbMin_0_2_2 = _20 ? _19 : _aabbMin_0_2_3;
    var _21 = _aabbMax_0_0_3 < _13;
    var _aabbMax_0_0_2 = _21 ? _13 : _aabbMax_0_0_3;
    var _22 = _aabbMax_0_1_3 < _16;
    var _aabbMax_0_1_2 = _22 ? _16 : _aabbMax_0_1_3;
    var _23 = _aabbMax_0_2_3 < _19;
    var _aabbMax_0_2_2 = _23 ? _19 : _aabbMax_0_2_3;
    var _24 = _triangle+32;
    var _25 = FHEAP[_24];
    var _26 = _25 < _aabbMin_0_0_2;
    var _aabbMin_0_0_1 = _26 ? _25 : _aabbMin_0_0_2;
    var _27 = _triangle+32+4;
    var _28 = FHEAP[_27];
    var _29 = _28 < _aabbMin_0_1_2;
    var _aabbMin_0_1_1 = _29 ? _28 : _aabbMin_0_1_2;
    var _30 = _triangle+32+8;
    var _31 = FHEAP[_30];
    var _32 = _31 < _aabbMin_0_2_2;
    var _aabbMin_0_2_1 = _32 ? _31 : _aabbMin_0_2_2;
    var _33 = _aabbMax_0_0_2 < _25;
    var _aabbMax_0_0_1 = _33 ? _25 : _aabbMax_0_0_2;
    var _34 = _aabbMax_0_1_2 < _28;
    var _aabbMax_0_1_1 = _34 ? _28 : _aabbMax_0_1_2;
    var _35 = _aabbMax_0_2_2 < _31;
    var _aabbMax_0_2_1 = _35 ? _31 : _aabbMax_0_2_2;
    var _36 = _aabbMax_0_0_1 - _aabbMin_0_0_1;
    var _37 = _36 < 0.0020000000949949026;
    ;
    if (_37) {
      __lastLabel__ = -1; ;
      var _38 = _aabbMax_0_0_1 + 0.0010000000474974513;
      var _39 = _aabbMin_0_0_1 + -0.0010000000474974513;
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _aabbMin_0_0_0 = __lastLabel__ == 60 ? _39 : (_aabbMin_0_0_1);
    var _aabbMax_0_0_0 = __lastLabel__ == 60 ? _38 : (_aabbMax_0_0_1);
    var _40 = _aabbMax_0_1_1 - _aabbMin_0_1_1;
    var _41 = _40 < 0.0020000000949949026;
    ;
    if (_41) {
      __lastLabel__ = 75; ;
      var _42 = _aabbMax_0_1_1 + 0.0010000000474974513;
      var _43 = _aabbMin_0_1_1 + -0.0010000000474974513;
      __lastLabel__ = 116; ;
    }
    else {
      __lastLabel__ = 75; ;
    }
    var _aabbMin_0_1_0 = __lastLabel__ == 116 ? _43 : (_aabbMin_0_1_1);
    var _aabbMax_0_1_0 = __lastLabel__ == 116 ? _42 : (_aabbMax_0_1_1);
    var _44 = _aabbMax_0_2_1 - _aabbMin_0_2_1;
    var _45 = _44 < 0.0020000000949949026;
    ;
    if (_45) {
      __lastLabel__ = 61; ;
      var _46 = _aabbMax_0_2_1 + 0.0010000000474974513;
      var _47 = _aabbMin_0_2_1 + -0.0010000000474974513;
      __lastLabel__ = 83; ;
    }
    else {
      __lastLabel__ = 61; ;
    }
    var _aabbMin_0_2_0 = __lastLabel__ == 83 ? _47 : (_aabbMin_0_2_1);
    var _aabbMax_0_2_0 = __lastLabel__ == 83 ? _46 : (_aabbMax_0_2_1);
    var _48 = _this+8;
    var _49 = IHEAP[_48];
    var _50 = _49+4+8;
    var _51 = FHEAP[_50];
    var _52 = _aabbMin_0_2_0 - _51;
    var _53 = _49+4+4;
    var _54 = FHEAP[_53];
    var _55 = _aabbMin_0_1_0 - _54;
    var _56 = _49+4;
    var _57 = FHEAP[_56];
    var _58 = _aabbMin_0_0_0 - _57;
    var _59 = _49+36+8;
    var _60 = FHEAP[_59];
    var _61 = _52 * _60;
    var _62 = _49+36+4;
    var _63 = FHEAP[_62];
    var _64 = _55 * _63;
    var _65 = _49+36;
    var _66 = FHEAP[_65];
    var _67 = _58 * _66;
    var _68 = Math.floor(_67);
    var _69 = _68 & -2;
    var _70 = Math.floor(_64);
    var _71 = _70 & -2;
    var _72 = Math.floor(_61);
    var _73 = _72 & -2;
    var _74 = _aabbMax_0_2_0 - _51;
    var _75 = _aabbMax_0_1_0 - _54;
    var _76 = _aabbMax_0_0_0 - _57;
    var _77 = _74 * _60;
    var _78 = _75 * _63;
    var _79 = _76 * _66;
    var _80 = _79 + 1;
    var _81 = Math.floor(_80);
    var _82 = _81 | 1;
    var _83 = _78 + 1;
    var _84 = Math.floor(_83);
    var _85 = _84 | 1;
    var _86 = _77 + 1;
    var _87 = Math.floor(_86);
    var _88 = _87 | 1;
    var _89 = _partId << 21;
    var _90 = _89 | _triangleIndex;
    var _91 = _this+4;
    var _92 = IHEAP[_91];
    var _93 = _92+4;
    var _94 = IHEAP[_93];
    var _95 = _92+8;
    var _96 = IHEAP[_95];
    var _97 = _96 == _94;
    ;
    if (_97) {
      __lastLabel__ = 2; ;
      var _98 = _94 == 0;
      var _99 = _94 << 1;
      var _iftmp_198_0_i_i = _98 ? 1 : _99;
      __ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE7reserveEi(_92, _iftmp_198_0_i_i);
      var __pre_i = IHEAP[_93];
      __lastLabel__ = 131; ;
    }
    else {
      __lastLabel__ = 2; ;
    }
    var _100 = __lastLabel__ == 131 ? __pre_i : (_94);
    var _101 = _92+12;
    var _102 = IHEAP[_101];
    var _103 = _102+20*_100;
    IHEAP[_103] = _69;
    var _104 = _102+20*_100+2;
    IHEAP[_104] = _71;
    var _105 = _102+20*_100+4;
    IHEAP[_105] = _73;
    var _106 = _102+20*_100+8;
    IHEAP[_106] = _82;
    var _107 = _102+20*_100+8+2;
    IHEAP[_107] = _85;
    var _108 = _102+20*_100+8+4;
    IHEAP[_108] = _88;
    var _109 = _102+20*_100+16;
    IHEAP[_109] = _90;
    var _110 = IHEAP[_93];
    var _111 = _110 + 1;
    IHEAP[_93] = _111;
    ;
    return;
  }
  __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallback28internalProcessTriangleIndexEPS2_ii.__index__ = Runtime.getFunctionIndex(__ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallback28internalProcessTriangleIndexEPS2_ii, "__ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallback28internalProcessTriangleIndexEPS2_ii");
  
  
  function __ZN14btOptimizedBvh14updateBvhNodesEP23btStridingMeshInterfaceiii(_this, _meshInterface, _firstNode, _endNode, _index) {
    var __stackBase__  = STACKTOP; STACKTOP += 56;
    var __label__;
    var __lastLabel__ = null;
    var _vertexbase = __stackBase__;
    var _numverts = __stackBase__+1;
    var _type = __stackBase__+2;
    var _stride = __stackBase__+3;
    var _indexbase = __stackBase__+4;
    var _indexstride = __stackBase__+5;
    var _numfaces = __stackBase__+6;
    var _indicestype = __stackBase__+7;
    var _triangleVerts = __stackBase__+8;
    IHEAP[_vertexbase] = 0;
    IHEAP[_numverts] = 0;
    IHEAP[_type] = 2;
    IHEAP[_stride] = 0;
    IHEAP[_indexbase] = 0;
    IHEAP[_indexstride] = 0;
    IHEAP[_numfaces] = 0;
    IHEAP[_indicestype] = 2;
    var _0 = _this+124+12;
    var _1 = _meshInterface+4+8;
    var _2 = _meshInterface+4+4;
    var _3 = _meshInterface+4;
    var _4 = _triangleVerts;
    var _5 = _triangleVerts+4;
    var _6 = _triangleVerts+8;
    var _7 = _triangleVerts+16;
    var _8 = _triangleVerts+16+4;
    var _9 = _triangleVerts+16+8;
    var _10 = _triangleVerts+32;
    var _11 = _triangleVerts+32+4;
    var _12 = _triangleVerts+32+8;
    var _13 = _this+4+8;
    var _14 = _this+4+4;
    var _15 = _this+4;
    var _16 = _this+36+8;
    var _17 = _this+36+4;
    var _18 = _this+36;
    var _19 = _meshInterface;
    __lastLabel__ = 1851; ;
    _bb32_outer$9812: while(1) { // _bb32_outer
      var _curNodeSubPart_2_ph = __lastLabel__ == 86 ? _curNodeSubPart_0 : (-1);
      var _i_0_in_ph = __lastLabel__ == 86 ? _i_0 : (_endNode);
      var _tmp129 = _i_0_in_ph + -1;
      var _tmp164 = _i_0_in_ph + 1;
      __lastLabel__ = 1852; ;
      _bb32$9814: while(1) { // _bb32
        var _indvar124 = __lastLabel__ == 1852 ? 0 : (_indvar_next125);
        var _tmp139 = _i_0_in_ph - _indvar124;
        var _i_0 = _tmp129 - _indvar124;
        var _tmp165 = _tmp164 - _indvar124;
        var _155 = _i_0 < _firstNode;
        if (_155) { __label__ = 422; /* _bb33 */ break _bb32_outer$9812; }
        var _20 = IHEAP[_0];
        var _scevgep162 = _20+20*_tmp139+-4;
        var _scevgep162163 = _scevgep162;
        var _21 = IHEAP[_scevgep162163];
        var _toBool = _21 < 0;
        if (!(_toBool)) { __label__ = 61; /* _bb4 */ break _bb32$9814; }
        var _scevgep169 = _20+20*_tmp139+16;
        var _145 = IHEAP[_scevgep169];
        var _tmp167 = _tmp139 - _145;
        var _toBool20 = _145 < 0;
        var _tmp167_tmp165 = _toBool20 ? _tmp167 : _tmp165;
        var _tmp165_pn = _toBool20 ? _tmp167_tmp165 : _tmp167_tmp165;
        var _scevgep132 = _20+20*_tmp167_tmp165;
        var _scevgep136 = _20+20*_tmp167_tmp165+8;
        var _scevgep128 = _20+20*_tmp139;
        var _146 = IHEAP[_scevgep128];
        var _scevgep147148 = _20+20*_i_0;
        IHEAP[_scevgep147148] = _146;
        var _147 = IHEAP[_scevgep132];
        var _148 = unSign(_146, 16) > unSign(_147, 16);
        ;
        if (_148) {
          ;
          IHEAP[_scevgep147148] = _147;
          ;
        }
        var _scevgep133 = _20+20*_tmp139+8;
        var _149 = IHEAP[_scevgep133];
        var _scevgep158 = _20+20*_tmp139+-10;
        IHEAP[_scevgep158] = _149;
        var _150 = IHEAP[_scevgep136];
        var _151 = unSign(_149, 16) < unSign(_150, 16);
        ;
        if (_151) {
          ;
          IHEAP[_scevgep158] = _150;
          ;
        }
        var _scevgep132_1 = _20+20*_tmp167_tmp165+2;
        var _scevgep136_1 = _20+20*_tmp167_tmp165+8+2;
        var _scevgep128_1 = _20+20*_tmp139+2;
        var _152 = IHEAP[_scevgep128_1];
        var _scevgep143 = _20+20*_tmp139+-14;
        IHEAP[_scevgep143] = _152;
        var _153 = IHEAP[_scevgep132_1];
        var _154 = unSign(_152, 16) > unSign(_153, 16);
        ;
        if (_154) {
          ;
          IHEAP[_scevgep143] = _153;
          ;
        }
        var _scevgep133_1 = _20+20*_tmp139+8+2;
        var _164 = IHEAP[_scevgep133_1];
        var _scevgep154 = _20+20*_tmp139+-8;
        IHEAP[_scevgep154] = _164;
        var _165 = IHEAP[_scevgep136_1];
        var _166 = unSign(_164, 16) < unSign(_165, 16);
        ;
        if (_166) {
          ;
          IHEAP[_scevgep154] = _165;
          ;
        }
        var _scevgep132_2 = _20+20*_tmp167_tmp165+4;
        var _scevgep136_2 = _20+20*_tmp167_tmp165+8+4;
        var _scevgep128_2 = _20+20*_tmp139+4;
        var _161 = IHEAP[_scevgep128_2];
        var _scevgep141 = _20+20*_tmp139+-12;
        IHEAP[_scevgep141] = _161;
        var _162 = IHEAP[_scevgep132_2];
        var _163 = unSign(_161, 16) > unSign(_162, 16);
        ;
        if (_163) {
          ;
          IHEAP[_scevgep141] = _162;
          ;
        }
        var _scevgep133_2 = _20+20*_tmp139+8+4;
        var _167 = IHEAP[_scevgep133_2];
        var _scevgep150 = _20+20*_tmp139+-6;
        IHEAP[_scevgep150] = _167;
        var _168 = IHEAP[_scevgep136_2];
        var _169 = unSign(_167, 16) < unSign(_168, 16);
        ;
        if (_169) {
          ;
          IHEAP[_scevgep150] = _168;
          ;
        }
        var _indvar_next125 = _indvar124 + 1;
        __lastLabel__ = 1859; __label__ = 91; /* _bb32 */ continue _bb32$9814;
      }
      var _22 = _20+20*_i_0+16;
      var _23 = IHEAP[_22];
      var _24 = _23 >> 21;
      var _25 = _24 == _curNodeSubPart_2_ph;
      ;
      if (_25) {
        __lastLabel__ = 61; ;
      }
      else {
        __lastLabel__ = 61; ;
        var _26 = _curNodeSubPart_2_ph > -1;
        ;
        if (_26) {
          ;
          var _27 = IHEAP[_19];
          var _28 = _27+24;
          var _29 = IHEAP[_28];
          var _30 = _29;
          FUNCTION_TABLE[_30](_meshInterface, _curNodeSubPart_2_ph);
          ;
        }
        var _31 = IHEAP[_19];
        var _32 = _31+16;
        var _33 = IHEAP[_32];
        var _34 = _33;
        FUNCTION_TABLE[_34](_meshInterface, _vertexbase, _numverts, _type, _stride, _indexbase, _indexstride, _numfaces, _indicestype, _24);
        __lastLabel__ = 2; ;
      }
      var _curNodeSubPart_0 = __lastLabel__ == 2 ? _24 : (_curNodeSubPart_2_ph);
      var _35 = IHEAP[_indexbase];
      var _36 = IHEAP[_indexstride];
      var _tmp106 = _23 & 2097151;
      var _tmp107 = _36 * _tmp106;
      var _tmp108 = _tmp107 + 4;
      var _tmp112 = _tmp107 + 8;
      __lastLabel__ = 130; ;
      _bb9$9843: while(1) { // _bb9
        var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
        var _tmp117 = 2 - _indvar;
        var _scevgep118119 = _triangleVerts+_tmp117*16;
        var _scevgep120 = _triangleVerts+_tmp117*16+4;
        var _scevgep121 = _triangleVerts+_tmp117*16+8;
        var _scevgep122 = _triangleVerts+_tmp117*16+12;
        var _37 = IHEAP[_indicestype];
        var _38 = _37 == 3;
        ;
        if (_38) {
          ;
          var _tmp = _indvar * -2;
          var _tmp109 = _tmp108 + _tmp;
          var _scevgep = _35+_tmp109;
          var _scevgep110 = _scevgep;
          var _39 = IHEAP[_scevgep110];
          var _40 = _39;
          __lastLabel__ = 150; ;
        }
        else {
          ;
          var _tmp111 = _indvar * -4;
          var _tmp113 = _tmp112 + _tmp111;
          var _scevgep114 = _35+_tmp113;
          var _scevgep114115 = _scevgep114;
          var _41 = IHEAP[_scevgep114115];
          __lastLabel__ = 292; ;
        }
        var _iftmp_164_0 = __lastLabel__ == 150 ? _40 : (_41);
        var _42 = IHEAP[_type];
        var _43 = _42 == 0;
        var _44 = IHEAP[_vertexbase];
        var _45 = IHEAP[_stride];
        var _46 = _45 * _iftmp_164_0;
        var _47 = _44+_46;
        ;
        if (_43) {
          ;
          var _48 = _47;
          var __sum38 = _46 + 8;
          var _49 = _44+__sum38;
          var _50 = _49;
          var _51 = FHEAP[_50];
          var _52 = FHEAP[_1];
          var _53 = _51 * _52;
          var __sum39 = _46 + 4;
          var _54 = _44+__sum39;
          var _55 = _54;
          var _56 = FHEAP[_55];
          var _57 = FHEAP[_2];
          var _58 = _56 * _57;
          var _59 = FHEAP[_48];
          var _60 = FHEAP[_3];
          var _61 = _59 * _60;
          __lastLabel__ = 108; ;
        }
        else {
          ;
          var _62 = _47;
          var __sum = _46 + 16;
          var _63 = _44+__sum;
          var _64 = _63;
          var _65 = FHEAP[_64];
          var _66 = FHEAP[_1];
          var _67 = _66;
          var _68 = _65 * _67;
          var _69 = _68;
          var __sum37 = _46 + 8;
          var _70 = _44+__sum37;
          var _71 = _70;
          var _72 = FHEAP[_71];
          var _73 = FHEAP[_2];
          var _74 = _73;
          var _75 = _72 * _74;
          var _76 = _75;
          var _77 = FHEAP[_62];
          var _78 = FHEAP[_3];
          var _79 = _78;
          var _80 = _77 * _79;
          var _81 = _80;
          __lastLabel__ = 63; ;
        }
        var _storemerge174 = __lastLabel__ == 108 ? _61 : (_81);
        var _storemerge173 = __lastLabel__ == 108 ? _58 : (_76);
        var _storemerge = __lastLabel__ == 108 ? _53 : (_69);
        FHEAP[_scevgep118119] = _storemerge174;
        FHEAP[_scevgep120] = _storemerge173;
        FHEAP[_scevgep121] = _storemerge;
        FHEAP[_scevgep122] = 0;
        var _indvar_next = _indvar + 1;
        var _exitcond = _indvar_next == 3;
        if (_exitcond) { __lastLabel__ = 154; __label__ = 86; /* _bb18 */ break _bb9$9843; } else { __lastLabel__ = 154; __label__ = 62; /* _bb9 */ continue _bb9$9843; }
      }
      var __pre = FHEAP[_4];
      var __pre175 = FHEAP[_5];
      var __pre176 = FHEAP[_6];
      var __pre177 = FHEAP[_7];
      var __pre178 = FHEAP[_8];
      var __pre179 = FHEAP[_9];
      var __pre180 = FHEAP[_10];
      var __pre181 = FHEAP[_11];
      var __pre182 = FHEAP[_12];
      var _82 = __pre < 999999984306749400;
      var _aabbMin_0_0_2 = _82 ? __pre : 999999984306749400;
      var _83 = __pre175 < 999999984306749400;
      var _aabbMin_0_1_2 = _83 ? __pre175 : 999999984306749400;
      var _84 = __pre176 < 999999984306749400;
      var _aabbMin_0_2_2 = _84 ? __pre176 : 999999984306749400;
      var _85 = __pre > -999999984306749400;
      var _aabbMax_0_0_2 = _85 ? __pre : -999999984306749400;
      var _86 = __pre175 > -999999984306749400;
      var _aabbMax_0_1_2 = _86 ? __pre175 : -999999984306749400;
      var _87 = __pre176 > -999999984306749400;
      var _aabbMax_0_2_2 = _87 ? __pre176 : -999999984306749400;
      var _88 = __pre177 < _aabbMin_0_0_2;
      var _aabbMin_0_0_1 = _88 ? __pre177 : _aabbMin_0_0_2;
      var _89 = __pre178 < _aabbMin_0_1_2;
      var _aabbMin_0_1_1 = _89 ? __pre178 : _aabbMin_0_1_2;
      var _90 = __pre179 < _aabbMin_0_2_2;
      var _aabbMin_0_2_1 = _90 ? __pre179 : _aabbMin_0_2_2;
      var _91 = _aabbMax_0_0_2 < __pre177;
      var _aabbMax_0_0_1 = _91 ? __pre177 : _aabbMax_0_0_2;
      var _92 = _aabbMax_0_1_2 < __pre178;
      var _aabbMax_0_1_1 = _92 ? __pre178 : _aabbMax_0_1_2;
      var _93 = _aabbMax_0_2_2 < __pre179;
      var _aabbMax_0_2_1 = _93 ? __pre179 : _aabbMax_0_2_2;
      var _94 = __pre180 < _aabbMin_0_0_1;
      var _aabbMin_0_0_0 = _94 ? __pre180 : _aabbMin_0_0_1;
      var _95 = __pre181 < _aabbMin_0_1_1;
      var _aabbMin_0_1_0 = _95 ? __pre181 : _aabbMin_0_1_1;
      var _96 = __pre182 < _aabbMin_0_2_1;
      var _aabbMin_0_2_0 = _96 ? __pre182 : _aabbMin_0_2_1;
      var _97 = _aabbMax_0_0_1 < __pre180;
      var _aabbMax_0_0_0 = _97 ? __pre180 : _aabbMax_0_0_1;
      var _98 = _aabbMax_0_1_1 < __pre181;
      var _aabbMax_0_1_0 = _98 ? __pre181 : _aabbMax_0_1_1;
      var _99 = _aabbMax_0_2_1 < __pre182;
      var _aabbMax_0_2_0 = _99 ? __pre182 : _aabbMax_0_2_1;
      var _100 = _20+20*_i_0;
      var _101 = FHEAP[_13];
      var _102 = _aabbMin_0_2_0 - _101;
      var _103 = FHEAP[_14];
      var _104 = _aabbMin_0_1_0 - _103;
      var _105 = FHEAP[_15];
      var _106 = _aabbMin_0_0_0 - _105;
      var _107 = FHEAP[_16];
      var _108 = _102 * _107;
      var _109 = FHEAP[_17];
      var _110 = _104 * _109;
      var _111 = FHEAP[_18];
      var _112 = _106 * _111;
      var _113 = Math.floor(_112);
      var _114 = _113 & -2;
      IHEAP[_100] = _114;
      var _115 = Math.floor(_110);
      var _116 = _115 & -2;
      var _117 = _20+20*_i_0+2;
      IHEAP[_117] = _116;
      var _118 = Math.floor(_108);
      var _119 = _118 & -2;
      var _120 = _20+20*_i_0+4;
      IHEAP[_120] = _119;
      var _121 = _20+20*_i_0+8;
      var _122 = FHEAP[_13];
      var _123 = _aabbMax_0_2_0 - _122;
      var _124 = FHEAP[_14];
      var _125 = _aabbMax_0_1_0 - _124;
      var _126 = FHEAP[_15];
      var _127 = _aabbMax_0_0_0 - _126;
      var _128 = FHEAP[_16];
      var _129 = _123 * _128;
      var _130 = FHEAP[_17];
      var _131 = _125 * _130;
      var _132 = FHEAP[_18];
      var _133 = _127 * _132;
      var _134 = _133 + 1;
      var _135 = Math.floor(_134);
      var _136 = _135 | 1;
      IHEAP[_121] = _136;
      var _137 = _131 + 1;
      var _138 = Math.floor(_137);
      var _139 = _138 | 1;
      var _140 = _20+20*_i_0+8+2;
      IHEAP[_140] = _139;
      var _141 = _129 + 1;
      var _142 = Math.floor(_141);
      var _143 = _142 | 1;
      var _144 = _20+20*_i_0+8+4;
      IHEAP[_144] = _143;
      __lastLabel__ = 86; __label__ = 1852; /* _bb32_outer */ continue _bb32_outer$9812;
    }
    var _156 = _curNodeSubPart_2_ph > -1;
    ;
    if (_156) {
      ;
      var _157 = IHEAP[_19];
      var _158 = _157+24;
      var _159 = IHEAP[_158];
      var _160 = _159;
      FUNCTION_TABLE[_160](_meshInterface, _curNodeSubPart_2_ph);
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN14btOptimizedBvh14updateBvhNodesEP23btStridingMeshInterfaceiii.__index__ = Runtime.getFunctionIndex(__ZN14btOptimizedBvh14updateBvhNodesEP23btStridingMeshInterfaceiii, "__ZN14btOptimizedBvh14updateBvhNodesEP23btStridingMeshInterfaceiii");
  
  
  function __ZN14btOptimizedBvh12refitPartialEP23btStridingMeshInterfaceRK9btVector3S4_(_this, _meshInterface, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _aabbMin+8;
    var _1 = FHEAP[_0];
    var _2 = _this+4+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _aabbMin+4;
    var _6 = FHEAP[_5];
    var _7 = _this+4+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _aabbMin;
    var _11 = FHEAP[_10];
    var _12 = _this+4;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _this+36+8;
    var _16 = FHEAP[_15];
    var _17 = _4 * _16;
    var _18 = _this+36+4;
    var _19 = FHEAP[_18];
    var _20 = _9 * _19;
    var _21 = _this+36;
    var _22 = FHEAP[_21];
    var _23 = _14 * _22;
    var _24 = Math.floor(_23);
    var _25 = _24 & -2;
    var _26 = Math.floor(_20);
    var _27 = _26 & -2;
    var _28 = Math.floor(_17);
    var _29 = _28 & -2;
    var _30 = _aabbMax+8;
    var _31 = FHEAP[_30];
    var _32 = _31 - _3;
    var _33 = _aabbMax+4;
    var _34 = FHEAP[_33];
    var _35 = _34 - _8;
    var _36 = _aabbMax;
    var _37 = FHEAP[_36];
    var _38 = _37 - _13;
    var _39 = _32 * _16;
    var _40 = _35 * _19;
    var _41 = _38 * _22;
    var _42 = _41 + 1;
    var _43 = Math.floor(_42);
    var _44 = _43 | 1;
    var _45 = _40 + 1;
    var _46 = Math.floor(_45);
    var _47 = _46 | 1;
    var _48 = _39 + 1;
    var _49 = Math.floor(_48);
    var _50 = _49 | 1;
    var _51 = _this+148+4;
    var _52 = IHEAP[_51];
    var _53 = _52 > 0;
    ;
    _bb_nph$_return$9859: do { 
      if (_53) {
        ;
        var _54 = _this+148+12;
        var _55 = _this+124+12;
        __lastLabel__ = 130; ;
        _bb$9861: while(1) { // _bb
          var _56 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _56 + 1;
          var _57 = IHEAP[_54];
          var _scevgep = _57+36*_56+8;
          var _58 = IHEAP[_scevgep];
          var _59 = unSign(_25, 16) <= unSign(_58, 16);
          var _scevgep67 = _57+36*_56;
          var _60 = IHEAP[_scevgep67];
          var _61 = unSign(_44, 16) >= unSign(_60, 16);
          var _62 = _59 & _61;
          var _scevgep8 = _57+36*_56+8+4;
          var _63 = IHEAP[_scevgep8];
          var _64 = unSign(_29, 16) <= unSign(_63, 16);
          var _65 = _62 & _64;
          var _scevgep9 = _57+36*_56+4;
          var _66 = IHEAP[_scevgep9];
          var _67 = unSign(_50, 16) >= unSign(_66, 16);
          var _68 = _65 & _67;
          var _scevgep10 = _57+36*_56+8+2;
          var _69 = IHEAP[_scevgep10];
          var _70 = unSign(_27, 16) <= unSign(_69, 16);
          var _71 = _68 & _70;
          var _scevgep11 = _57+36*_56+2;
          var _72 = IHEAP[_scevgep11];
          var _73 = unSign(_47, 16) >= unSign(_72, 16);
          var _74 = _71 & _73;
          ;
          if (_74) {
            ;
            var _scevgep12 = _57+36*_56+16;
            var _75 = IHEAP[_scevgep12];
            var _scevgep13 = _57+36*_56+20;
            var _76 = IHEAP[_scevgep13];
            var _77 = _76 + _75;
            __ZN14btOptimizedBvh14updateBvhNodesEP23btStridingMeshInterfaceiii(_this, _meshInterface, _75, _77, _56);
            var _78 = IHEAP[_scevgep12];
            var _79 = IHEAP[_55];
            var _80 = _79+20*_78;
            var _81 = IHEAP[_80];
            IHEAP[_scevgep67] = _81;
            var _82 = _79+20*_78+2;
            var _83 = IHEAP[_82];
            IHEAP[_scevgep11] = _83;
            var _84 = _79+20*_78+4;
            var _85 = IHEAP[_84];
            IHEAP[_scevgep9] = _85;
            var _86 = _79+20*_78+8;
            var _87 = IHEAP[_86];
            IHEAP[_scevgep] = _87;
            var _88 = _79+20*_78+8+2;
            var _89 = IHEAP[_88];
            IHEAP[_scevgep10] = _89;
            var _90 = _79+20*_78+8+4;
            var _91 = IHEAP[_90];
            IHEAP[_scevgep8] = _91;
            ;
          }
          var _92 = IHEAP[_51];
          var _93 = _92 > _tmp;
          if (_93) { __lastLabel__ = 0; __label__ = 60; /* _bb */ continue _bb$9861; } else { __lastLabel__ = 0; __label__ = 44; /* _return */ break _bb_nph$_return$9859; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN14btOptimizedBvh12refitPartialEP23btStridingMeshInterfaceRK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZN14btOptimizedBvh12refitPartialEP23btStridingMeshInterfaceRK9btVector3S4_, "__ZN14btOptimizedBvh12refitPartialEP23btStridingMeshInterfaceRK9btVector3S4_");
  
  
  function __ZN14btOptimizedBvh5refitEP23btStridingMeshInterfaceRK9btVector3S4_(_this, _meshInterface, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+60;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    ;
    _return$_bb$9870: do { 
      if (!_toBool) {
        ;
        var _2 = _this;
        __ZN14btQuantizedBvh21setQuantizationValuesERK9btVector3S2_f(_2, _aabbMin, _aabbMax, 1);
        var _3 = _this+56;
        var _4 = IHEAP[_3];
        __ZN14btOptimizedBvh14updateBvhNodesEP23btStridingMeshInterfaceiii(_this, _meshInterface, 0, _4, 0);
        var _5 = _this+148+4;
        var _6 = IHEAP[_5];
        var _7 = _6 > 0;
        if (!(_7)) { __label__ = 44; /* _return */ break _return$_bb$9870; }
        var _8 = _this+148+12;
        var _9 = _this+124+12;
        __lastLabel__ = 130; ;
        _bb1$9873: while(1) { // _bb1
          var _i_05 = __lastLabel__ == 130 ? 0 : (_25);
          var _10 = IHEAP[_8];
          var _scevgep = _10+36*_i_05+16;
          var _11 = IHEAP[_scevgep];
          var _12 = IHEAP[_9];
          var _13 = _12+20*_11;
          var _14 = IHEAP[_13];
          var _scevgep67 = _10+36*_i_05;
          IHEAP[_scevgep67] = _14;
          var _15 = _12+20*_11+2;
          var _16 = IHEAP[_15];
          var _scevgep8 = _10+36*_i_05+2;
          IHEAP[_scevgep8] = _16;
          var _17 = _12+20*_11+4;
          var _18 = IHEAP[_17];
          var _scevgep9 = _10+36*_i_05+4;
          IHEAP[_scevgep9] = _18;
          var _19 = _12+20*_11+8;
          var _20 = IHEAP[_19];
          var _scevgep10 = _10+36*_i_05+8;
          IHEAP[_scevgep10] = _20;
          var _21 = _12+20*_11+8+2;
          var _22 = IHEAP[_21];
          var _scevgep11 = _10+36*_i_05+8+2;
          IHEAP[_scevgep11] = _22;
          var _23 = _12+20*_11+8+4;
          var _24 = IHEAP[_23];
          var _scevgep12 = _10+36*_i_05+8+4;
          IHEAP[_scevgep12] = _24;
          var _25 = _i_05 + 1;
          var _26 = IHEAP[_5];
          var _27 = _26 > _25;
          if (_27) { __lastLabel__ = 75; __label__ = 75; /* _bb1 */ continue _bb1$9873; } else { __lastLabel__ = 75; __label__ = 44; /* _return */ break _return$_bb$9870; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN14btOptimizedBvh5refitEP23btStridingMeshInterfaceRK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZN14btOptimizedBvh5refitEP23btStridingMeshInterfaceRK9btVector3S4_, "__ZN14btOptimizedBvh5refitEP23btStridingMeshInterfaceRK9btVector3S4_");
  
  
  function __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD2Ev, "__ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD2Ev");
  
  
  function __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD2Ev, "__ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD2Ev");
  
  
  function __ZN14btOptimizedBvhD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV14btOptimizedBvh+8;
    var _1 = _this;
    __ZN14btQuantizedBvhD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN14btOptimizedBvhD0Ev.__index__ = Runtime.getFunctionIndex(__ZN14btOptimizedBvhD0Ev, "__ZN14btOptimizedBvhD0Ev");
  
  
  function __ZN14btOptimizedBvhD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV14btOptimizedBvh+8;
    var _1 = _this;
    __ZN14btQuantizedBvhD2Ev(_1);
    ;
    return;
  }
  __ZN14btOptimizedBvhD1Ev.__index__ = Runtime.getFunctionIndex(__ZN14btOptimizedBvhD1Ev, "__ZN14btOptimizedBvhD1Ev");
  
  
  function __ZN14btOptimizedBvhD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV14btOptimizedBvh+8;
    var _1 = _this;
    __ZN14btQuantizedBvhD2Ev(_1);
    ;
    return;
  }
  __ZN14btOptimizedBvhD2Ev.__index__ = Runtime.getFunctionIndex(__ZN14btOptimizedBvhD2Ev, "__ZN14btOptimizedBvhD2Ev");
  
  
  function __ZN14btOptimizedBvhC1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    __ZN14btQuantizedBvhC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV14btOptimizedBvh+8;
    ;
    return;
  }
  __ZN14btOptimizedBvhC1Ev.__index__ = Runtime.getFunctionIndex(__ZN14btOptimizedBvhC1Ev, "__ZN14btOptimizedBvhC1Ev");
  
  
  function __ZN23btPolyhedralConvexShapeC2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV23btPolyhedralConvexShape+8;
    ;
    return;
  }
  __ZN23btPolyhedralConvexShapeC2Ev.__index__ = Runtime.getFunctionIndex(__ZN23btPolyhedralConvexShapeC2Ev, "__ZN23btPolyhedralConvexShapeC2Ev");
  
  
  function __ZN23btPolyhedralConvexShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN23btPolyhedralConvexShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN23btPolyhedralConvexShapeD0Ev, "__ZN23btPolyhedralConvexShapeD0Ev");
  
  
  function __ZN23btPolyhedralConvexShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN23btPolyhedralConvexShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN23btPolyhedralConvexShapeD1Ev, "__ZN23btPolyhedralConvexShapeD1Ev");
  
  
  function __ZN34btPolyhedralConvexAabbCachingShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN34btPolyhedralConvexAabbCachingShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN34btPolyhedralConvexAabbCachingShapeD0Ev, "__ZN34btPolyhedralConvexAabbCachingShapeD0Ev");
  
  
  function __ZN34btPolyhedralConvexAabbCachingShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN34btPolyhedralConvexAabbCachingShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN34btPolyhedralConvexAabbCachingShapeD1Ev, "__ZN34btPolyhedralConvexAabbCachingShapeD1Ev");
  
  
  function __ZN34btPolyhedralConvexAabbCachingShape15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShape15setLocalScalingERK9btVector3(_0, _scaling);
    __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_this);
    ;
    return;
  }
  __ZN34btPolyhedralConvexAabbCachingShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN34btPolyhedralConvexAabbCachingShape15setLocalScalingERK9btVector3, "__ZN34btPolyhedralConvexAabbCachingShape15setLocalScalingERK9btVector3");
  
  
  function __ZN23btPolyhedralConvexShapeC1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV23btPolyhedralConvexShape+8;
    ;
    return;
  }
  __ZN23btPolyhedralConvexShapeC1Ev.__index__ = Runtime.getFunctionIndex(__ZN23btPolyhedralConvexShapeC1Ev, "__ZN23btPolyhedralConvexShapeC1Ev");
  
  
  function __ZN34btPolyhedralConvexAabbCachingShapeC1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV34btPolyhedralConvexAabbCachingShape+8;
    var _2 = _this+52;
    FHEAP[_2] = 1;
    var _3 = _this+52+4;
    FHEAP[_3] = 1;
    var _4 = _this+52+8;
    FHEAP[_4] = 1;
    var _5 = _this+52+12;
    FHEAP[_5] = 0;
    var _6 = _this+68;
    FHEAP[_6] = -1;
    var _7 = _this+68+4;
    FHEAP[_7] = -1;
    var _8 = _this+68+8;
    FHEAP[_8] = -1;
    var _9 = _this+68+12;
    FHEAP[_9] = 0;
    var _10 = _this+84;
    IHEAP[_10] = 0;
    ;
    return;
  }
  __ZN34btPolyhedralConvexAabbCachingShapeC1Ev.__index__ = Runtime.getFunctionIndex(__ZN34btPolyhedralConvexAabbCachingShapeC1Ev, "__ZN34btPolyhedralConvexAabbCachingShapeC1Ev");
  
  
  function __ZN34btPolyhedralConvexAabbCachingShapeC2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV34btPolyhedralConvexAabbCachingShape+8;
    var _2 = _this+52;
    FHEAP[_2] = 1;
    var _3 = _this+52+4;
    FHEAP[_3] = 1;
    var _4 = _this+52+8;
    FHEAP[_4] = 1;
    var _5 = _this+52+12;
    FHEAP[_5] = 0;
    var _6 = _this+68;
    FHEAP[_6] = -1;
    var _7 = _this+68+4;
    FHEAP[_7] = -1;
    var _8 = _this+68+8;
    FHEAP[_8] = -1;
    var _9 = _this+68+12;
    FHEAP[_9] = 0;
    var _10 = _this+84;
    IHEAP[_10] = 0;
    ;
    return;
  }
  __ZN34btPolyhedralConvexAabbCachingShapeC2Ev.__index__ = Runtime.getFunctionIndex(__ZN34btPolyhedralConvexAabbCachingShapeC2Ev, "__ZN34btPolyhedralConvexAabbCachingShapeC2Ev");
  
  
  function __ZN28btScaledBvhTriangleMeshShapeC2EP22btBvhTriangleMeshShapeRK9btVector3(_this, _childShape, _localScaling) {
    ;
    var __label__;
    var _0 = _this;
    __ZN14btConcaveShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV28btScaledBvhTriangleMeshShape+8;
    var _2 = _this+16;
    var _3 = _localScaling;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _this+16+4;
    var _6 = _localScaling+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _this+16+8;
    var _9 = _localScaling+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _this+16+12;
    var _12 = _localScaling+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _this+32;
    IHEAP[_14] = _childShape;
    var _15 = _this+4;
    IHEAP[_15] = 22;
    ;
    return;
  }
  __ZN28btScaledBvhTriangleMeshShapeC2EP22btBvhTriangleMeshShapeRK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN28btScaledBvhTriangleMeshShapeC2EP22btBvhTriangleMeshShapeRK9btVector3, "__ZN28btScaledBvhTriangleMeshShapeC2EP22btBvhTriangleMeshShapeRK9btVector3");
  
  
  function __ZN24btScaledTriangleCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV24btScaledTriangleCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    ;
    return;
  }
  __ZN24btScaledTriangleCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN24btScaledTriangleCallbackD1Ev, "__ZN24btScaledTriangleCallbackD1Ev");
  
  
  function __ZN24btScaledTriangleCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV24btScaledTriangleCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZN24btScaledTriangleCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN24btScaledTriangleCallbackD0Ev, "__ZN24btScaledTriangleCallbackD0Ev");
  
  
  function __ZN24btScaledTriangleCallback15processTriangleEP9btVector3ii(_this, _triangle, _partId, _triangleIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 48;
    var __label__;
    var _newTriangle = __stackBase__;
    var _0 = _triangle+8;
    var _1 = FHEAP[_0];
    var _2 = _this+8+8;
    var _3 = FHEAP[_2];
    var _4 = _1 * _3;
    var _5 = _triangle+4;
    var _6 = FHEAP[_5];
    var _7 = _this+8+4;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _triangle;
    var _11 = FHEAP[_10];
    var _12 = _this+8;
    var _13 = FHEAP[_12];
    var _14 = _11 * _13;
    var _15 = _newTriangle;
    FHEAP[_15] = _14;
    var _16 = _newTriangle+4;
    FHEAP[_16] = _9;
    var _17 = _newTriangle+8;
    FHEAP[_17] = _4;
    var _18 = _newTriangle+12;
    FHEAP[_18] = 0;
    var _19 = _triangle+16+8;
    var _20 = FHEAP[_19];
    var _21 = _20 * _3;
    var _22 = _triangle+16+4;
    var _23 = FHEAP[_22];
    var _24 = _23 * _8;
    var _25 = _triangle+16;
    var _26 = FHEAP[_25];
    var _27 = _26 * _13;
    var _28 = _newTriangle+16;
    FHEAP[_28] = _27;
    var _29 = _newTriangle+16+4;
    FHEAP[_29] = _24;
    var _30 = _newTriangle+16+8;
    FHEAP[_30] = _21;
    var _31 = _newTriangle+16+12;
    FHEAP[_31] = 0;
    var _32 = _triangle+32+8;
    var _33 = FHEAP[_32];
    var _34 = _33 * _3;
    var _35 = _triangle+32+4;
    var _36 = FHEAP[_35];
    var _37 = _36 * _8;
    var _38 = _triangle+32;
    var _39 = FHEAP[_38];
    var _40 = _39 * _13;
    var _41 = _newTriangle+32;
    FHEAP[_41] = _40;
    var _42 = _newTriangle+32+4;
    FHEAP[_42] = _37;
    var _43 = _newTriangle+32+8;
    FHEAP[_43] = _34;
    var _44 = _newTriangle+32+12;
    FHEAP[_44] = 0;
    var _45 = _this+4;
    var _46 = IHEAP[_45];
    var _47 = _46;
    var _48 = IHEAP[_47];
    var _49 = _48+8;
    var _50 = IHEAP[_49];
    var _51 = _50;
    var _52 = _newTriangle;
    FUNCTION_TABLE[_51](_46, _52, _partId, _triangleIndex);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN24btScaledTriangleCallback15processTriangleEP9btVector3ii.__index__ = Runtime.getFunctionIndex(__ZN24btScaledTriangleCallback15processTriangleEP9btVector3ii, "__ZN24btScaledTriangleCallback15processTriangleEP9btVector3ii");
  
  
  function __ZN28btScaledBvhTriangleMeshShape15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var _0 = _this+16;
    var _1 = _scaling;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _this+16+4;
    var _4 = _scaling+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+16+8;
    var _7 = _scaling+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+16+12;
    var _10 = _scaling+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    ;
    return;
  }
  __ZN28btScaledBvhTriangleMeshShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN28btScaledBvhTriangleMeshShape15setLocalScalingERK9btVector3, "__ZN28btScaledBvhTriangleMeshShape15setLocalScalingERK9btVector3");
  
  
  function __ZNK28btScaledBvhTriangleMeshShape15getLocalScalingEv(_this) {
    ;
    var __label__;
    var _0 = _this+16;
    ;
    return _0;
  }
  __ZNK28btScaledBvhTriangleMeshShape15getLocalScalingEv.__index__ = Runtime.getFunctionIndex(__ZNK28btScaledBvhTriangleMeshShape15getLocalScalingEv, "__ZNK28btScaledBvhTriangleMeshShape15getLocalScalingEv");
  
  
  function __ZN28btScaledBvhTriangleMeshShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btScaledBvhTriangleMeshShape+8;
    var _1 = _this;
    __ZN14btConcaveShapeD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZN28btScaledBvhTriangleMeshShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN28btScaledBvhTriangleMeshShapeD0Ev, "__ZN28btScaledBvhTriangleMeshShapeD0Ev");
  
  
  function __ZN28btScaledBvhTriangleMeshShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btScaledBvhTriangleMeshShape+8;
    var _1 = _this;
    __ZN14btConcaveShapeD2Ev(_1);
    ;
    return;
  }
  __ZN28btScaledBvhTriangleMeshShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN28btScaledBvhTriangleMeshShapeD1Ev, "__ZN28btScaledBvhTriangleMeshShapeD1Ev");
  
  
  function __ZN28btScaledBvhTriangleMeshShapeD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btScaledBvhTriangleMeshShape+8;
    var _1 = _this;
    __ZN14btConcaveShapeD2Ev(_1);
    ;
    return;
  }
  __ZN28btScaledBvhTriangleMeshShapeD2Ev.__index__ = Runtime.getFunctionIndex(__ZN28btScaledBvhTriangleMeshShapeD2Ev, "__ZN28btScaledBvhTriangleMeshShapeD2Ev");
  
  
  function __ZN28btScaledBvhTriangleMeshShapeC1EP22btBvhTriangleMeshShapeRK9btVector3(_this, _childShape, _localScaling) {
    ;
    var __label__;
    var _0 = _this;
    __ZN14btConcaveShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV28btScaledBvhTriangleMeshShape+8;
    var _2 = _this+16;
    var _3 = _localScaling;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _this+16+4;
    var _6 = _localScaling+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _this+16+8;
    var _9 = _localScaling+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _this+16+12;
    var _12 = _localScaling+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _this+32;
    IHEAP[_14] = _childShape;
    var _15 = _this+4;
    IHEAP[_15] = 22;
    ;
    return;
  }
  __ZN28btScaledBvhTriangleMeshShapeC1EP22btBvhTriangleMeshShapeRK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN28btScaledBvhTriangleMeshShapeC1EP22btBvhTriangleMeshShapeRK9btVector3, "__ZN28btScaledBvhTriangleMeshShapeC1EP22btBvhTriangleMeshShapeRK9btVector3");
  
  
  function __ZN11btShapeHullC2EPK13btConvexShape(_this, _shape) {
    ;
    var __label__;
    var _0 = _this+16;
    var _1 = _this+12;
    var _2 = _this+4;
    var _3 = _this+8;
    var _4 = _this+20+16;
    var _5 = _this+20+12;
    var _6 = _this+20+4;
    var _7 = _this+20+8;
    var _8 = _this+44;
    IHEAP[_8] = _shape;
    IHEAP[_0] = 1;
    IHEAP[_1] = 0;
    IHEAP[_2] = 0;
    IHEAP[_3] = 0;
    IHEAP[_4] = 1;
    IHEAP[_5] = 0;
    IHEAP[_6] = 0;
    IHEAP[_7] = 0;
    var _9 = _this+40;
    IHEAP[_9] = 0;
    ;
    return;
  }
  __ZN11btShapeHullC2EPK13btConvexShape.__index__ = Runtime.getFunctionIndex(__ZN11btShapeHullC2EPK13btConvexShape, "__ZN11btShapeHullC2EPK13btConvexShape");
  
  
  function __ZNK11btShapeHull12numTrianglesEv(_this) {
    ;
    var __label__;
    var _0 = _this+40;
    var _1 = IHEAP[_0];
    var _2 = Math.floor(unSign(_1, 32) / unSign(3, 32));
    ;
    return _2;
  }
  __ZNK11btShapeHull12numTrianglesEv.__index__ = Runtime.getFunctionIndex(__ZNK11btShapeHull12numTrianglesEv, "__ZNK11btShapeHull12numTrianglesEv");
  
  
  function __ZNK11btShapeHull10numIndicesEv(_this) {
    ;
    var __label__;
    var _0 = _this+40;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK11btShapeHull10numIndicesEv.__index__ = Runtime.getFunctionIndex(__ZNK11btShapeHull10numIndicesEv, "__ZNK11btShapeHull10numIndicesEv");
  
  
  function __ZNK11btShapeHull11numVerticesEv(_this) {
    ;
    var __label__;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK11btShapeHull11numVerticesEv.__index__ = Runtime.getFunctionIndex(__ZNK11btShapeHull11numVerticesEv, "__ZNK11btShapeHull11numVerticesEv");
  
  
  function __ZN11btShapeHullC1EPK13btConvexShape(_this, _shape) {
    ;
    var __label__;
    var _0 = _this+16;
    var _1 = _this+12;
    var _2 = _this+4;
    var _3 = _this+8;
    var _4 = _this+20+16;
    var _5 = _this+20+12;
    var _6 = _this+20+4;
    var _7 = _this+20+8;
    var _8 = _this+44;
    IHEAP[_8] = _shape;
    IHEAP[_0] = 1;
    IHEAP[_1] = 0;
    IHEAP[_2] = 0;
    IHEAP[_3] = 0;
    IHEAP[_4] = 1;
    IHEAP[_5] = 0;
    IHEAP[_6] = 0;
    IHEAP[_7] = 0;
    var _9 = _this+40;
    IHEAP[_9] = 0;
    ;
    return;
  }
  __ZN11btShapeHullC1EPK13btConvexShape.__index__ = Runtime.getFunctionIndex(__ZN11btShapeHullC1EPK13btConvexShape, "__ZN11btShapeHullC1EPK13btConvexShape");
  
  
  function __ZNK13btSphereShape37localGetSupportingVertexWithoutMarginERK9btVector3(_agg_result, _this, _vec) {
    ;
    var __label__;
    var _0 = _agg_result;
    FHEAP[_0] = 0;
    var _1 = _agg_result+4;
    FHEAP[_1] = 0;
    var _2 = _agg_result+8;
    FHEAP[_2] = 0;
    var _3 = _agg_result+12;
    FHEAP[_3] = 0;
    ;
    return;
  }
  __ZNK13btSphereShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK13btSphereShape37localGetSupportingVertexWithoutMarginERK9btVector3, "__ZNK13btSphereShape37localGetSupportingVertexWithoutMarginERK9btVector3");
  
  
  function __ZN13btSphereShape9setMarginEf(_this, _margin) {
    ;
    var __label__;
    var _0 = _this+44;
    FHEAP[_0] = _margin;
    ;
    return;
  }
  __ZN13btSphereShape9setMarginEf.__index__ = Runtime.getFunctionIndex(__ZN13btSphereShape9setMarginEf, "__ZN13btSphereShape9setMarginEf");
  
  
  function __ZNK13btSphereShape9getMarginEv(_this) {
    ;
    var __label__;
    var _0 = _this+28;
    var _1 = FHEAP[_0];
    var _2 = _this+12;
    var _3 = FHEAP[_2];
    var _4 = _1 * _3;
    ;
    return _4;
  }
  __ZNK13btSphereShape9getMarginEv.__index__ = Runtime.getFunctionIndex(__ZNK13btSphereShape9getMarginEv, "__ZNK13btSphereShape9getMarginEv");
  
  
  function __ZNK13btSphereShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(_this, _vectors, _supportVerticesOut, _numVectors) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _numVectors > 0;
    if (_0) { __lastLabel__ = -1; __label__ = 60; /* _bb */  } else { __lastLabel__ = -1; __label__ = 44; /* _return */  }
    _bb$_return$10233: while(1) { // _bb,_return
      if (__label__ == 60) {
        var _i_03 = __lastLabel__ == 60 ? _1 : (0);
        var _scevgep4 = _supportVerticesOut+16*_i_03;
        var _scevgep5 = _supportVerticesOut+16*_i_03+4;
        var _scevgep6 = _supportVerticesOut+16*_i_03+8;
        var _scevgep7 = _supportVerticesOut+16*_i_03+12;
        FHEAP[_scevgep4] = 0;
        FHEAP[_scevgep5] = 0;
        FHEAP[_scevgep6] = 0;
        FHEAP[_scevgep7] = 0;
        var _1 = _i_03 + 1;
        var _exitcond = _1 == _numVectors;
        if (_exitcond) { __lastLabel__ = 60; __label__ = 44; /* _return */ continue _bb$_return$10233; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$_return$10233; }
      }
      else if (__label__ == 44) {
        ;
        return;
      }
    }
  }
  __ZNK13btSphereShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__ = Runtime.getFunctionIndex(__ZNK13btSphereShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, "__ZNK13btSphereShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i");
  
  
  function __ZN13btSphereShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN13btSphereShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN13btSphereShapeD0Ev, "__ZN13btSphereShapeD0Ev");
  
  
  function __ZN13btSphereShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN13btSphereShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN13btSphereShapeD1Ev, "__ZN13btSphereShapeD1Ev");
  
  
  function __ZNK18btStaticPlaneShape7getAabbERK11btTransformR9btVector3S4_(_this, _t, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _aabbMin;
    FHEAP[_0] = -999999984306749400;
    var _1 = _aabbMin+4;
    FHEAP[_1] = -999999984306749400;
    var _2 = _aabbMin+8;
    FHEAP[_2] = -999999984306749400;
    var _3 = _aabbMin+12;
    FHEAP[_3] = 0;
    var _4 = _aabbMax;
    FHEAP[_4] = 999999984306749400;
    var _5 = _aabbMax+4;
    FHEAP[_5] = 999999984306749400;
    var _6 = _aabbMax+8;
    FHEAP[_6] = 999999984306749400;
    var _7 = _aabbMax+12;
    FHEAP[_7] = 0;
    ;
    return;
  }
  __ZNK18btStaticPlaneShape7getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK18btStaticPlaneShape7getAabbERK11btTransformR9btVector3S4_, "__ZNK18btStaticPlaneShape7getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZNK18btStaticPlaneShape21calculateLocalInertiaEfR9btVector3(_this, _mass, _inertia) {
    ;
    var __label__;
    var _0 = _inertia;
    FHEAP[_0] = 0;
    var _1 = _inertia+4;
    FHEAP[_1] = 0;
    var _2 = _inertia+8;
    FHEAP[_2] = 0;
    var _3 = _inertia+12;
    FHEAP[_3] = 0;
    ;
    return;
  }
  __ZNK18btStaticPlaneShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK18btStaticPlaneShape21calculateLocalInertiaEfR9btVector3, "__ZNK18btStaticPlaneShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZN18btStaticPlaneShape15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var _0 = _this+68;
    var _1 = _scaling;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _this+68+4;
    var _4 = _scaling+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+68+8;
    var _7 = _scaling+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+68+12;
    var _10 = _scaling+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    ;
    return;
  }
  __ZN18btStaticPlaneShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN18btStaticPlaneShape15setLocalScalingERK9btVector3, "__ZN18btStaticPlaneShape15setLocalScalingERK9btVector3");
  
  
  function __ZNK18btStaticPlaneShape15getLocalScalingEv(_this) {
    ;
    var __label__;
    var _0 = _this+68;
    ;
    return _0;
  }
  __ZNK18btStaticPlaneShape15getLocalScalingEv.__index__ = Runtime.getFunctionIndex(__ZNK18btStaticPlaneShape15getLocalScalingEv, "__ZNK18btStaticPlaneShape15getLocalScalingEv");
  
  
  function __ZN18btStaticPlaneShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btStaticPlaneShape+8;
    var _1 = _this;
    __ZN14btConcaveShapeD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZN18btStaticPlaneShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN18btStaticPlaneShapeD0Ev, "__ZN18btStaticPlaneShapeD0Ev");
  
  
  function __ZN18btStaticPlaneShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btStaticPlaneShape+8;
    var _1 = _this;
    __ZN14btConcaveShapeD2Ev(_1);
    ;
    return;
  }
  __ZN18btStaticPlaneShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN18btStaticPlaneShapeD1Ev, "__ZN18btStaticPlaneShapeD1Ev");
  
  
  function __ZN18btStaticPlaneShapeD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btStaticPlaneShape+8;
    var _1 = _this;
    __ZN14btConcaveShapeD2Ev(_1);
    ;
    return;
  }
  __ZN18btStaticPlaneShapeD2Ev.__index__ = Runtime.getFunctionIndex(__ZN18btStaticPlaneShapeD2Ev, "__ZN18btStaticPlaneShapeD2Ev");
  
  
  function __ZN23btStridingMeshInterfaceD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btStridingMeshInterface+8;
    ;
    return;
  }
  __ZN23btStridingMeshInterfaceD2Ev.__index__ = Runtime.getFunctionIndex(__ZN23btStridingMeshInterfaceD2Ev, "__ZN23btStridingMeshInterfaceD2Ev");
  
  
  function __ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_E23AabbCalculationCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallbackD1Ev, "__ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallbackD1Ev");
  
  
  function __ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_E23AabbCalculationCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallbackD0Ev, "__ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallbackD0Ev");
  
  
  function __ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallback28internalProcessTriangleIndexEPS0_ii(_this, _triangle, _partId, _triangleIndex) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _triangle;
    var _1 = _this+4;
    var _2 = FHEAP[_0];
    var _3 = FHEAP[_1];
    var _4 = _2 < _3;
    ;
    if (_4) {
      __lastLabel__ = -1; ;
      FHEAP[_1] = _2;
      __lastLabel__ = 263; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _5 = __lastLabel__ == 263 ? _2 : (_3);
    var _6 = _triangle+4;
    var _7 = _this+4+4;
    var _8 = FHEAP[_6];
    var _9 = FHEAP[_7];
    var _10 = _8 < _9;
    ;
    if (_10) {
      __lastLabel__ = 4108; ;
      FHEAP[_7] = _8;
      __lastLabel__ = 1183; ;
    }
    else {
      __lastLabel__ = 4108; ;
    }
    var _11 = __lastLabel__ == 1183 ? _8 : (_9);
    var _12 = _triangle+8;
    var _13 = _this+4+8;
    var _14 = FHEAP[_12];
    var _15 = FHEAP[_13];
    var _16 = _14 < _15;
    ;
    if (_16) {
      __lastLabel__ = 4110; ;
      FHEAP[_13] = _14;
      __lastLabel__ = 218; ;
    }
    else {
      __lastLabel__ = 4110; ;
    }
    var _17 = __lastLabel__ == 218 ? _14 : (_15);
    var _18 = _triangle+12;
    var _19 = _this+4+12;
    var _20 = FHEAP[_18];
    var _21 = FHEAP[_19];
    var _22 = _20 < _21;
    ;
    if (_22) {
      __lastLabel__ = 4112; ;
      FHEAP[_19] = _20;
      __lastLabel__ = 774; ;
    }
    else {
      __lastLabel__ = 4112; ;
    }
    var _23 = __lastLabel__ == 774 ? _20 : (_21);
    var _24 = _this+20;
    var _25 = FHEAP[_24];
    var _26 = FHEAP[_0];
    var _27 = _25 < _26;
    ;
    if (_27) {
      __lastLabel__ = 4114; ;
      FHEAP[_24] = _26;
      __lastLabel__ = 1259; ;
    }
    else {
      __lastLabel__ = 4114; ;
    }
    var _28 = __lastLabel__ == 1259 ? _26 : (_25);
    var _29 = _this+20+4;
    var _30 = FHEAP[_29];
    var _31 = FHEAP[_6];
    var _32 = _30 < _31;
    ;
    if (_32) {
      __lastLabel__ = 4135; ;
      FHEAP[_29] = _31;
      __lastLabel__ = 1932; ;
    }
    else {
      __lastLabel__ = 4135; ;
    }
    var _33 = __lastLabel__ == 1932 ? _31 : (_30);
    var _34 = _this+20+8;
    var _35 = FHEAP[_34];
    var _36 = FHEAP[_12];
    var _37 = _35 < _36;
    ;
    if (_37) {
      __lastLabel__ = 4136; ;
      FHEAP[_34] = _36;
      __lastLabel__ = 1934; ;
    }
    else {
      __lastLabel__ = 4136; ;
    }
    var _38 = __lastLabel__ == 1934 ? _36 : (_35);
    var _39 = _this+20+12;
    var _40 = FHEAP[_39];
    var _41 = FHEAP[_18];
    var _42 = _40 < _41;
    ;
    if (_42) {
      __lastLabel__ = 4089; ;
      FHEAP[_39] = _41;
      __lastLabel__ = 1936; ;
    }
    else {
      __lastLabel__ = 4089; ;
    }
    var _43 = __lastLabel__ == 4089 ? _40 : (_41);
    var _44 = _triangle+16;
    var _45 = FHEAP[_44];
    var _46 = _45 < _5;
    ;
    if (_46) {
      __lastLabel__ = 4137; ;
      FHEAP[_1] = _45;
      __lastLabel__ = 1938; ;
    }
    else {
      __lastLabel__ = 4137; ;
    }
    var _47 = __lastLabel__ == 1938 ? _45 : (_5);
    var _48 = _triangle+16+4;
    var _49 = FHEAP[_48];
    var _50 = _49 < _11;
    ;
    if (_50) {
      __lastLabel__ = 4138; ;
      FHEAP[_7] = _49;
      __lastLabel__ = 1940; ;
    }
    else {
      __lastLabel__ = 4138; ;
    }
    var _51 = __lastLabel__ == 1940 ? _49 : (_11);
    var _52 = _triangle+16+8;
    var _53 = FHEAP[_52];
    var _54 = _53 < _17;
    ;
    if (_54) {
      __lastLabel__ = 4139; ;
      FHEAP[_13] = _53;
      __lastLabel__ = 1942; ;
    }
    else {
      __lastLabel__ = 4139; ;
    }
    var _55 = __lastLabel__ == 1942 ? _53 : (_17);
    var _56 = _triangle+16+12;
    var _57 = FHEAP[_56];
    var _58 = _57 < _23;
    ;
    if (_58) {
      __lastLabel__ = 4140; ;
      FHEAP[_19] = _57;
      __lastLabel__ = 1944; ;
    }
    else {
      __lastLabel__ = 4140; ;
    }
    var _59 = __lastLabel__ == 1944 ? _57 : (_23);
    var _60 = FHEAP[_44];
    var _61 = _28 < _60;
    ;
    if (_61) {
      __lastLabel__ = 4141; ;
      FHEAP[_24] = _60;
      __lastLabel__ = 1946; ;
    }
    else {
      __lastLabel__ = 4141; ;
    }
    var _62 = __lastLabel__ == 1946 ? _60 : (_28);
    var _63 = FHEAP[_48];
    var _64 = _33 < _63;
    ;
    if (_64) {
      __lastLabel__ = 4142; ;
      FHEAP[_29] = _63;
      __lastLabel__ = 1948; ;
    }
    else {
      __lastLabel__ = 4142; ;
    }
    var _65 = __lastLabel__ == 1948 ? _63 : (_33);
    var _66 = FHEAP[_52];
    var _67 = _38 < _66;
    ;
    if (_67) {
      __lastLabel__ = 4143; ;
      FHEAP[_34] = _66;
      __lastLabel__ = 1950; ;
    }
    else {
      __lastLabel__ = 4143; ;
    }
    var _68 = __lastLabel__ == 1950 ? _66 : (_38);
    var _69 = FHEAP[_56];
    var _70 = _43 < _69;
    ;
    if (_70) {
      __lastLabel__ = 4090; ;
      FHEAP[_39] = _69;
      __lastLabel__ = 1952; ;
    }
    else {
      __lastLabel__ = 4090; ;
    }
    var _71 = __lastLabel__ == 4090 ? _43 : (_69);
    var _72 = _triangle+32;
    var _73 = FHEAP[_72];
    var _74 = _73 < _47;
    ;
    if (_74) {
      ;
      FHEAP[_1] = _73;
      ;
    }
    var _75 = _triangle+32+4;
    var _76 = FHEAP[_75];
    var _77 = _76 < _51;
    ;
    if (_77) {
      ;
      FHEAP[_7] = _76;
      ;
    }
    var _78 = _triangle+32+8;
    var _79 = FHEAP[_78];
    var _80 = _79 < _55;
    ;
    if (_80) {
      ;
      FHEAP[_13] = _79;
      ;
    }
    var _81 = _triangle+32+12;
    var _82 = FHEAP[_81];
    var _83 = _82 < _59;
    ;
    if (_83) {
      ;
      FHEAP[_19] = _82;
      ;
    }
    var _84 = FHEAP[_72];
    var _85 = _62 < _84;
    ;
    if (_85) {
      ;
      FHEAP[_24] = _84;
      ;
    }
    var _86 = FHEAP[_75];
    var _87 = _65 < _86;
    ;
    if (_87) {
      ;
      FHEAP[_29] = _86;
      ;
    }
    var _88 = FHEAP[_78];
    var _89 = _68 < _88;
    ;
    if (_89) {
      ;
      FHEAP[_34] = _88;
      ;
    }
    var _90 = FHEAP[_81];
    var _91 = _71 < _90;
    ;
    if (_91) {
      ;
      FHEAP[_39] = _90;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallback28internalProcessTriangleIndexEPS0_ii.__index__ = Runtime.getFunctionIndex(__ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallback28internalProcessTriangleIndexEPS0_ii, "__ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallback28internalProcessTriangleIndexEPS0_ii");
  
  
  function __ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_E23AabbCalculationCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallbackD2Ev, "__ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallbackD2Ev");
  
  
  function __ZN23btStridingMeshInterfaceD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btStridingMeshInterface+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN23btStridingMeshInterfaceD0Ev.__index__ = Runtime.getFunctionIndex(__ZN23btStridingMeshInterfaceD0Ev, "__ZN23btStridingMeshInterfaceD0Ev");
  
  
  function __ZN23btStridingMeshInterfaceD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btStridingMeshInterface+8;
    ;
    return;
  }
  __ZN23btStridingMeshInterfaceD1Ev.__index__ = Runtime.getFunctionIndex(__ZN23btStridingMeshInterfaceD1Ev, "__ZN23btStridingMeshInterfaceD1Ev");
  
  
  function __ZN16btBU_Simplex1to4C2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    __ZN34btPolyhedralConvexAabbCachingShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV16btBU_Simplex1to4+8;
    var _2 = _this+88;
    IHEAP[_2] = 0;
    var _3 = _this+4;
    IHEAP[_3] = 2;
    ;
    return;
  }
  __ZN16btBU_Simplex1to4C2Ev.__index__ = Runtime.getFunctionIndex(__ZN16btBU_Simplex1to4C2Ev, "__ZN16btBU_Simplex1to4C2Ev");
  
  
  function __ZNK16btBU_Simplex1to414getNumVerticesEv(_this) {
    ;
    var __label__;
    var _0 = _this+88;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK16btBU_Simplex1to414getNumVerticesEv.__index__ = Runtime.getFunctionIndex(__ZNK16btBU_Simplex1to414getNumVerticesEv, "__ZNK16btBU_Simplex1to414getNumVerticesEv");
  
  
  function __ZNK16btBU_Simplex1to411getNumEdgesEv(_this) {
    ;
    var __label__;
    var _0 = _this+88;
    var _1 = IHEAP[_0];
    if (_1 == 2) {
      __label__ = 0; /* _bb2 */ 
    }
    else if (_1 == 3) {
      __label__ = 116; /* _bb3 */ 
    }
    else if (_1 == 4) {
      __label__ = 61; /* _bb4 */ 
    }
    else {
    __label__ = 83; /* _bb6 */ 
    }
    
    if (__label__ == 83) {
      ;
      return 0;
    }
    else if (__label__ == 0) {
      ;
      return 1;
    }
    else if (__label__ == 116) {
      ;
      return 3;
    }
    else if (__label__ == 61) {
      ;
      return 6;
    }
  }
  __ZNK16btBU_Simplex1to411getNumEdgesEv.__index__ = Runtime.getFunctionIndex(__ZNK16btBU_Simplex1to411getNumEdgesEv, "__ZNK16btBU_Simplex1to411getNumEdgesEv");
  
  
  function __ZNK16btBU_Simplex1to47getEdgeEiR9btVector3S1_(_this, _i, _pa, _pb) {
    ;
    var __label__;
    var _0 = _this+88;
    var _1 = IHEAP[_0];
    if (_1 == 2) {
      __label__ = 60; /* _bb */ 
    }
    else if (_1 == 3) {
      __label__ = 75; /* _bb1 */ 
    }
    else if (_1 == 4) {
      __label__ = 82; /* _bb5 */ 
    }
    else {
    __label__ = 44; /* _return */ 
    }
    
    _return$_bb$_bb1$_bb5$10420: do { 
      if (__label__ == 60) {
        var _2 = _pa;
        var _3 = _this+92;
        var _4 = FHEAP[_3];
        FHEAP[_2] = _4;
        var _5 = _pa+4;
        var _6 = _this+92+4;
        var _7 = FHEAP[_6];
        FHEAP[_5] = _7;
        var _8 = _pa+8;
        var _9 = _this+92+8;
        var _10 = FHEAP[_9];
        FHEAP[_8] = _10;
        var _11 = _pa+12;
        var _12 = _this+92+12;
        var _13 = FHEAP[_12];
        FHEAP[_11] = _13;
        var _14 = _pb;
        var _15 = _this+92+16;
        var _16 = FHEAP[_15];
        FHEAP[_14] = _16;
        var _17 = _pb+4;
        var _18 = _this+92+16+4;
        var _19 = FHEAP[_18];
        FHEAP[_17] = _19;
        var _20 = _pb+8;
        var _21 = _this+92+16+8;
        var _22 = FHEAP[_21];
        FHEAP[_20] = _22;
        var _23 = _pb+12;
        var _24 = _this+92+16+12;
        var _25 = FHEAP[_24];
        FHEAP[_23] = _25;
        ;
        return;
      }
      else if (__label__ == 75) {
        if (_i == 0) {
          __label__ = 0; /* _bb2 */ 
        }
        else if (_i == 1) {
          __label__ = 116; /* _bb3 */ 
        }
        else if (_i == 2) {
          __label__ = 61; /* _bb4 */ 
        }
        else {
        __label__ = 44; /* _return */ break _return$_bb$_bb1$_bb5$10420;
        }
        
        if (__label__ == 0) {
          var _26 = _pa;
          var _27 = _this+92;
          var _28 = FHEAP[_27];
          FHEAP[_26] = _28;
          var _29 = _pa+4;
          var _30 = _this+92+4;
          var _31 = FHEAP[_30];
          FHEAP[_29] = _31;
          var _32 = _pa+8;
          var _33 = _this+92+8;
          var _34 = FHEAP[_33];
          FHEAP[_32] = _34;
          var _35 = _pa+12;
          var _36 = _this+92+12;
          var _37 = FHEAP[_36];
          FHEAP[_35] = _37;
          var _38 = _pb;
          var _39 = _this+92+16;
          var _40 = FHEAP[_39];
          FHEAP[_38] = _40;
          var _41 = _pb+4;
          var _42 = _this+92+16+4;
          var _43 = FHEAP[_42];
          FHEAP[_41] = _43;
          var _44 = _pb+8;
          var _45 = _this+92+16+8;
          var _46 = FHEAP[_45];
          FHEAP[_44] = _46;
          var _47 = _pb+12;
          var _48 = _this+92+16+12;
          var _49 = FHEAP[_48];
          FHEAP[_47] = _49;
          ;
          return;
        }
        else if (__label__ == 116) {
          var _50 = _pa;
          var _51 = _this+92+16;
          var _52 = FHEAP[_51];
          FHEAP[_50] = _52;
          var _53 = _pa+4;
          var _54 = _this+92+16+4;
          var _55 = FHEAP[_54];
          FHEAP[_53] = _55;
          var _56 = _pa+8;
          var _57 = _this+92+16+8;
          var _58 = FHEAP[_57];
          FHEAP[_56] = _58;
          var _59 = _pa+12;
          var _60 = _this+92+16+12;
          var _61 = FHEAP[_60];
          FHEAP[_59] = _61;
          var _62 = _pb;
          var _63 = _this+92+32;
          var _64 = FHEAP[_63];
          FHEAP[_62] = _64;
          var _65 = _pb+4;
          var _66 = _this+92+32+4;
          var _67 = FHEAP[_66];
          FHEAP[_65] = _67;
          var _68 = _pb+8;
          var _69 = _this+92+32+8;
          var _70 = FHEAP[_69];
          FHEAP[_68] = _70;
          var _71 = _pb+12;
          var _72 = _this+92+32+12;
          var _73 = FHEAP[_72];
          FHEAP[_71] = _73;
          ;
          return;
        }
        else if (__label__ == 61) {
          var _74 = _pa;
          var _75 = _this+92+32;
          var _76 = FHEAP[_75];
          FHEAP[_74] = _76;
          var _77 = _pa+4;
          var _78 = _this+92+32+4;
          var _79 = FHEAP[_78];
          FHEAP[_77] = _79;
          var _80 = _pa+8;
          var _81 = _this+92+32+8;
          var _82 = FHEAP[_81];
          FHEAP[_80] = _82;
          var _83 = _pa+12;
          var _84 = _this+92+32+12;
          var _85 = FHEAP[_84];
          FHEAP[_83] = _85;
          var _86 = _pb;
          var _87 = _this+92;
          var _88 = FHEAP[_87];
          FHEAP[_86] = _88;
          var _89 = _pb+4;
          var _90 = _this+92+4;
          var _91 = FHEAP[_90];
          FHEAP[_89] = _91;
          var _92 = _pb+8;
          var _93 = _this+92+8;
          var _94 = FHEAP[_93];
          FHEAP[_92] = _94;
          var _95 = _pb+12;
          var _96 = _this+92+12;
          var _97 = FHEAP[_96];
          FHEAP[_95] = _97;
          ;
          return;
        }
      }
      else if (__label__ == 82) {
        if (_i == 0) {
          __label__ = 83; /* _bb6 */ 
        }
        else if (_i == 1) {
          __label__ = 2; /* _bb7 */ 
        }
        else if (_i == 2) {
          __label__ = 148; /* _bb8 */ 
        }
        else if (_i == 3) {
          __label__ = 62; /* _bb9 */ 
        }
        else if (_i == 4) {
          __label__ = 150; /* _bb10 */ 
        }
        else if (_i == 5) {
          __label__ = 292; /* _bb11 */ 
        }
        else {
        __label__ = 44; /* _return */ break _return$_bb$_bb1$_bb5$10420;
        }
        
        if (__label__ == 83) {
          var _98 = _pa;
          var _99 = _this+92;
          var _100 = FHEAP[_99];
          FHEAP[_98] = _100;
          var _101 = _pa+4;
          var _102 = _this+92+4;
          var _103 = FHEAP[_102];
          FHEAP[_101] = _103;
          var _104 = _pa+8;
          var _105 = _this+92+8;
          var _106 = FHEAP[_105];
          FHEAP[_104] = _106;
          var _107 = _pa+12;
          var _108 = _this+92+12;
          var _109 = FHEAP[_108];
          FHEAP[_107] = _109;
          var _110 = _pb;
          var _111 = _this+92+16;
          var _112 = FHEAP[_111];
          FHEAP[_110] = _112;
          var _113 = _pb+4;
          var _114 = _this+92+16+4;
          var _115 = FHEAP[_114];
          FHEAP[_113] = _115;
          var _116 = _pb+8;
          var _117 = _this+92+16+8;
          var _118 = FHEAP[_117];
          FHEAP[_116] = _118;
          var _119 = _pb+12;
          var _120 = _this+92+16+12;
          var _121 = FHEAP[_120];
          FHEAP[_119] = _121;
          ;
          return;
        }
        else if (__label__ == 2) {
          var _122 = _pa;
          var _123 = _this+92+16;
          var _124 = FHEAP[_123];
          FHEAP[_122] = _124;
          var _125 = _pa+4;
          var _126 = _this+92+16+4;
          var _127 = FHEAP[_126];
          FHEAP[_125] = _127;
          var _128 = _pa+8;
          var _129 = _this+92+16+8;
          var _130 = FHEAP[_129];
          FHEAP[_128] = _130;
          var _131 = _pa+12;
          var _132 = _this+92+16+12;
          var _133 = FHEAP[_132];
          FHEAP[_131] = _133;
          var _134 = _pb;
          var _135 = _this+92+32;
          var _136 = FHEAP[_135];
          FHEAP[_134] = _136;
          var _137 = _pb+4;
          var _138 = _this+92+32+4;
          var _139 = FHEAP[_138];
          FHEAP[_137] = _139;
          var _140 = _pb+8;
          var _141 = _this+92+32+8;
          var _142 = FHEAP[_141];
          FHEAP[_140] = _142;
          var _143 = _pb+12;
          var _144 = _this+92+32+12;
          var _145 = FHEAP[_144];
          FHEAP[_143] = _145;
          ;
          return;
        }
        else if (__label__ == 148) {
          var _146 = _pa;
          var _147 = _this+92+32;
          var _148 = FHEAP[_147];
          FHEAP[_146] = _148;
          var _149 = _pa+4;
          var _150 = _this+92+32+4;
          var _151 = FHEAP[_150];
          FHEAP[_149] = _151;
          var _152 = _pa+8;
          var _153 = _this+92+32+8;
          var _154 = FHEAP[_153];
          FHEAP[_152] = _154;
          var _155 = _pa+12;
          var _156 = _this+92+32+12;
          var _157 = FHEAP[_156];
          FHEAP[_155] = _157;
          var _158 = _pb;
          var _159 = _this+92;
          var _160 = FHEAP[_159];
          FHEAP[_158] = _160;
          var _161 = _pb+4;
          var _162 = _this+92+4;
          var _163 = FHEAP[_162];
          FHEAP[_161] = _163;
          var _164 = _pb+8;
          var _165 = _this+92+8;
          var _166 = FHEAP[_165];
          FHEAP[_164] = _166;
          var _167 = _pb+12;
          var _168 = _this+92+12;
          var _169 = FHEAP[_168];
          FHEAP[_167] = _169;
          ;
          return;
        }
        else if (__label__ == 62) {
          var _170 = _pa;
          var _171 = _this+92;
          var _172 = FHEAP[_171];
          FHEAP[_170] = _172;
          var _173 = _pa+4;
          var _174 = _this+92+4;
          var _175 = FHEAP[_174];
          FHEAP[_173] = _175;
          var _176 = _pa+8;
          var _177 = _this+92+8;
          var _178 = FHEAP[_177];
          FHEAP[_176] = _178;
          var _179 = _pa+12;
          var _180 = _this+92+12;
          var _181 = FHEAP[_180];
          FHEAP[_179] = _181;
          var _182 = _pb;
          var _183 = _this+92+48;
          var _184 = FHEAP[_183];
          FHEAP[_182] = _184;
          var _185 = _pb+4;
          var _186 = _this+92+48+4;
          var _187 = FHEAP[_186];
          FHEAP[_185] = _187;
          var _188 = _pb+8;
          var _189 = _this+92+48+8;
          var _190 = FHEAP[_189];
          FHEAP[_188] = _190;
          var _191 = _pb+12;
          var _192 = _this+92+48+12;
          var _193 = FHEAP[_192];
          FHEAP[_191] = _193;
          ;
          return;
        }
        else if (__label__ == 150) {
          var _194 = _pa;
          var _195 = _this+92+16;
          var _196 = FHEAP[_195];
          FHEAP[_194] = _196;
          var _197 = _pa+4;
          var _198 = _this+92+16+4;
          var _199 = FHEAP[_198];
          FHEAP[_197] = _199;
          var _200 = _pa+8;
          var _201 = _this+92+16+8;
          var _202 = FHEAP[_201];
          FHEAP[_200] = _202;
          var _203 = _pa+12;
          var _204 = _this+92+16+12;
          var _205 = FHEAP[_204];
          FHEAP[_203] = _205;
          var _206 = _pb;
          var _207 = _this+92+48;
          var _208 = FHEAP[_207];
          FHEAP[_206] = _208;
          var _209 = _pb+4;
          var _210 = _this+92+48+4;
          var _211 = FHEAP[_210];
          FHEAP[_209] = _211;
          var _212 = _pb+8;
          var _213 = _this+92+48+8;
          var _214 = FHEAP[_213];
          FHEAP[_212] = _214;
          var _215 = _pb+12;
          var _216 = _this+92+48+12;
          var _217 = FHEAP[_216];
          FHEAP[_215] = _217;
          ;
          return;
        }
        else if (__label__ == 292) {
          var _218 = _pa;
          var _219 = _this+92+32;
          var _220 = FHEAP[_219];
          FHEAP[_218] = _220;
          var _221 = _pa+4;
          var _222 = _this+92+32+4;
          var _223 = FHEAP[_222];
          FHEAP[_221] = _223;
          var _224 = _pa+8;
          var _225 = _this+92+32+8;
          var _226 = FHEAP[_225];
          FHEAP[_224] = _226;
          var _227 = _pa+12;
          var _228 = _this+92+32+12;
          var _229 = FHEAP[_228];
          FHEAP[_227] = _229;
          var _230 = _pb;
          var _231 = _this+92+48;
          var _232 = FHEAP[_231];
          FHEAP[_230] = _232;
          var _233 = _pb+4;
          var _234 = _this+92+48+4;
          var _235 = FHEAP[_234];
          FHEAP[_233] = _235;
          var _236 = _pb+8;
          var _237 = _this+92+48+8;
          var _238 = FHEAP[_237];
          FHEAP[_236] = _238;
          var _239 = _pb+12;
          var _240 = _this+92+48+12;
          var _241 = FHEAP[_240];
          FHEAP[_239] = _241;
          ;
          return;
        }
      }
    } while(0);
    ;
    return;
  }
  __ZNK16btBU_Simplex1to47getEdgeEiR9btVector3S1_.__index__ = Runtime.getFunctionIndex(__ZNK16btBU_Simplex1to47getEdgeEiR9btVector3S1_, "__ZNK16btBU_Simplex1to47getEdgeEiR9btVector3S1_");
  
  
  function __ZNK16btBU_Simplex1to49getVertexEiR9btVector3(_this, _i, _vtx) {
    ;
    var __label__;
    var _0 = _vtx;
    var _1 = _this+92+_i*16;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _vtx+4;
    var _4 = _this+92+_i*16+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _vtx+8;
    var _7 = _this+92+_i*16+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _vtx+12;
    var _10 = _this+92+_i*16+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    ;
    return;
  }
  __ZNK16btBU_Simplex1to49getVertexEiR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK16btBU_Simplex1to49getVertexEiR9btVector3, "__ZNK16btBU_Simplex1to49getVertexEiR9btVector3");
  
  
  function __ZNK16btBU_Simplex1to412getNumPlanesEv(_this) {
    ;
    var __label__;
    var _0 = _this+88;
    var _1 = IHEAP[_0];
    if (_1 == 3) {
      __label__ = 116; /* _bb3 */ 
    }
    else if (_1 == 4) {
      __label__ = 61; /* _bb4 */ 
    }
    else {
    __label__ = 83; /* _bb6 */ 
    }
    
    if (__label__ == 83) {
      ;
      return 0;
    }
    else if (__label__ == 116) {
      ;
      return 2;
    }
    else if (__label__ == 61) {
      ;
      return 4;
    }
  }
  __ZNK16btBU_Simplex1to412getNumPlanesEv.__index__ = Runtime.getFunctionIndex(__ZNK16btBU_Simplex1to412getNumPlanesEv, "__ZNK16btBU_Simplex1to412getNumPlanesEv");
  
  
  function __ZN16btBU_Simplex1to4D0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN16btBU_Simplex1to4D0Ev.__index__ = Runtime.getFunctionIndex(__ZN16btBU_Simplex1to4D0Ev, "__ZN16btBU_Simplex1to4D0Ev");
  
  
  function __ZN16btBU_Simplex1to4D1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN16btBU_Simplex1to4D1Ev.__index__ = Runtime.getFunctionIndex(__ZN16btBU_Simplex1to4D1Ev, "__ZN16btBU_Simplex1to4D1Ev");
  
  
  function __ZNK16btBU_Simplex1to47getAabbERK11btTransformR9btVector3S4_(_this, _t, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this;
    __ZNK34btPolyhedralConvexAabbCachingShape7getAabbERK11btTransformR9btVector3S4_(_0, _t, _aabbMin, _aabbMax);
    ;
    return;
  }
  __ZNK16btBU_Simplex1to47getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK16btBU_Simplex1to47getAabbERK11btTransformR9btVector3S4_, "__ZNK16btBU_Simplex1to47getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZN16btBU_Simplex1to49addVertexERK9btVector3(_this, _pt) {
    ;
    var __label__;
    var _0 = _this+88;
    var _1 = IHEAP[_0];
    var _2 = _this+92+_1*16;
    var _3 = _pt;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _this+92+_1*16+4;
    var _6 = _pt+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _this+92+_1*16+8;
    var _9 = _pt+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _this+92+_1*16+12;
    var _12 = _pt+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _1 + 1;
    IHEAP[_0] = _14;
    var _15 = _this;
    __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_15);
    ;
    return;
  }
  __ZN16btBU_Simplex1to49addVertexERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN16btBU_Simplex1to49addVertexERK9btVector3, "__ZN16btBU_Simplex1to49addVertexERK9btVector3");
  
  
  function __ZN16btBU_Simplex1to4C1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    __ZN34btPolyhedralConvexAabbCachingShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV16btBU_Simplex1to4+8;
    var _2 = _this+88;
    IHEAP[_2] = 0;
    var _3 = _this+4;
    IHEAP[_3] = 2;
    ;
    return;
  }
  __ZN16btBU_Simplex1to4C1Ev.__index__ = Runtime.getFunctionIndex(__ZN16btBU_Simplex1to4C1Ev, "__ZN16btBU_Simplex1to4C1Ev");
  
  
  function __ZN18btTriangleCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btTriangleCallback+8;
    ;
    return;
  }
  __ZN18btTriangleCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZN18btTriangleCallbackD2Ev, "__ZN18btTriangleCallbackD2Ev");
  
  
  function __ZN31btInternalTriangleIndexCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV31btInternalTriangleIndexCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN31btInternalTriangleIndexCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN31btInternalTriangleIndexCallbackD0Ev, "__ZN31btInternalTriangleIndexCallbackD0Ev");
  
  
  function __ZN31btInternalTriangleIndexCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV31btInternalTriangleIndexCallback+8;
    ;
    return;
  }
  __ZN31btInternalTriangleIndexCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN31btInternalTriangleIndexCallbackD1Ev, "__ZN31btInternalTriangleIndexCallbackD1Ev");
  
  
  function __ZN31btInternalTriangleIndexCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV31btInternalTriangleIndexCallback+8;
    ;
    return;
  }
  __ZN31btInternalTriangleIndexCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZN31btInternalTriangleIndexCallbackD2Ev, "__ZN31btInternalTriangleIndexCallbackD2Ev");
  
  
  function __ZN18btTriangleCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btTriangleCallback+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN18btTriangleCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN18btTriangleCallbackD0Ev, "__ZN18btTriangleCallbackD0Ev");
  
  
  function __ZN18btTriangleCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btTriangleCallback+8;
    ;
    return;
  }
  __ZN18btTriangleCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN18btTriangleCallbackD1Ev, "__ZN18btTriangleCallbackD1Ev");
  
  
  function __ZNK26btTriangleIndexVertexArray14hasPremadeAabbEv(_this) {
    ;
    var __label__;
    var _0 = _this+48;
    var _1 = IHEAP[_0];
    var _2 = _1 == 1;
    var _retval12 = _2;
    ;
    return _retval12;
  }
  __ZNK26btTriangleIndexVertexArray14hasPremadeAabbEv.__index__ = Runtime.getFunctionIndex(__ZNK26btTriangleIndexVertexArray14hasPremadeAabbEv, "__ZNK26btTriangleIndexVertexArray14hasPremadeAabbEv");
  
  
  function __ZNK26btTriangleIndexVertexArray14setPremadeAabbERK9btVector3S2_(_this, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this+52;
    var _1 = _aabbMin;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _this+52+4;
    var _4 = _aabbMin+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+52+8;
    var _7 = _aabbMin+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+52+12;
    var _10 = _aabbMin+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _this+68;
    var _13 = _aabbMax;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _this+68+4;
    var _16 = _aabbMax+4;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _this+68+8;
    var _19 = _aabbMax+8;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _this+68+12;
    var _22 = _aabbMax+12;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    var _24 = _this+48;
    IHEAP[_24] = 1;
    ;
    return;
  }
  __ZNK26btTriangleIndexVertexArray14setPremadeAabbERK9btVector3S2_.__index__ = Runtime.getFunctionIndex(__ZNK26btTriangleIndexVertexArray14setPremadeAabbERK9btVector3S2_, "__ZNK26btTriangleIndexVertexArray14setPremadeAabbERK9btVector3S2_");
  
  
  function __ZNK26btTriangleIndexVertexArray14getPremadeAabbEP9btVector3S1_(_this, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _aabbMin;
    var _1 = _this+52;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _aabbMin+4;
    var _4 = _this+52+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _aabbMin+8;
    var _7 = _this+52+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _aabbMin+12;
    var _10 = _this+52+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _aabbMax;
    var _13 = _this+68;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _aabbMax+4;
    var _16 = _this+68+4;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _aabbMax+8;
    var _19 = _this+68+8;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _aabbMax+12;
    var _22 = _this+68+12;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    ;
    return;
  }
  __ZNK26btTriangleIndexVertexArray14getPremadeAabbEP9btVector3S1_.__index__ = Runtime.getFunctionIndex(__ZNK26btTriangleIndexVertexArray14getPremadeAabbEP9btVector3S1_, "__ZNK26btTriangleIndexVertexArray14getPremadeAabbEP9btVector3S1_");
  
  
  function __ZNK26btTriangleIndexVertexArray14getNumSubPartsEv(_this) {
    ;
    var __label__;
    var _0 = _this+20+4;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK26btTriangleIndexVertexArray14getNumSubPartsEv.__index__ = Runtime.getFunctionIndex(__ZNK26btTriangleIndexVertexArray14getNumSubPartsEv, "__ZNK26btTriangleIndexVertexArray14getNumSubPartsEv");
  
  
  function __ZN26btTriangleIndexVertexArray24getLockedVertexIndexBaseEPPhRiR14PHY_ScalarTypeS2_S1_S2_S2_S4_i(_this, _vertexbase, _numverts, _type, _vertexStride, _indexbase, _indexstride, _numfaces, _indicestype, _subpart) {
    ;
    var __label__;
    var _0 = _this+20+12;
    var _1 = IHEAP[_0];
    var _2 = _1+32*_subpart+12;
    var _3 = IHEAP[_2];
    IHEAP[_numverts] = _3;
    var _4 = _1+32*_subpart+16;
    var _5 = IHEAP[_4];
    IHEAP[_vertexbase] = _5;
    var _6 = _1+32*_subpart+28;
    var _7 = IHEAP[_6];
    IHEAP[_type] = _7;
    var _8 = _1+32*_subpart+20;
    var _9 = IHEAP[_8];
    IHEAP[_vertexStride] = _9;
    var _10 = _1+32*_subpart;
    var _11 = IHEAP[_10];
    IHEAP[_numfaces] = _11;
    var _12 = _1+32*_subpart+4;
    var _13 = IHEAP[_12];
    IHEAP[_indexbase] = _13;
    var _14 = _1+32*_subpart+8;
    var _15 = IHEAP[_14];
    IHEAP[_indexstride] = _15;
    var _16 = _1+32*_subpart+24;
    var _17 = IHEAP[_16];
    IHEAP[_indicestype] = _17;
    ;
    return;
  }
  __ZN26btTriangleIndexVertexArray24getLockedVertexIndexBaseEPPhRiR14PHY_ScalarTypeS2_S1_S2_S2_S4_i.__index__ = Runtime.getFunctionIndex(__ZN26btTriangleIndexVertexArray24getLockedVertexIndexBaseEPPhRiR14PHY_ScalarTypeS2_S1_S2_S2_S4_i, "__ZN26btTriangleIndexVertexArray24getLockedVertexIndexBaseEPPhRiR14PHY_ScalarTypeS2_S1_S2_S2_S4_i");
  
  
  function __ZNK26btTriangleIndexVertexArray32getLockedReadOnlyVertexIndexBaseEPPKhRiR14PHY_ScalarTypeS3_S2_S3_S3_S5_i(_this, _vertexbase, _numverts, _type, _vertexStride, _indexbase, _indexstride, _numfaces, _indicestype, _subpart) {
    ;
    var __label__;
    var _0 = _this+20+12;
    var _1 = IHEAP[_0];
    var _2 = _1+32*_subpart+12;
    var _3 = IHEAP[_2];
    IHEAP[_numverts] = _3;
    var _4 = _1+32*_subpart+16;
    var _5 = IHEAP[_4];
    IHEAP[_vertexbase] = _5;
    var _6 = _1+32*_subpart+28;
    var _7 = IHEAP[_6];
    IHEAP[_type] = _7;
    var _8 = _1+32*_subpart+20;
    var _9 = IHEAP[_8];
    IHEAP[_vertexStride] = _9;
    var _10 = _1+32*_subpart;
    var _11 = IHEAP[_10];
    IHEAP[_numfaces] = _11;
    var _12 = _1+32*_subpart+4;
    var _13 = IHEAP[_12];
    IHEAP[_indexbase] = _13;
    var _14 = _1+32*_subpart+8;
    var _15 = IHEAP[_14];
    IHEAP[_indexstride] = _15;
    var _16 = _1+32*_subpart+24;
    var _17 = IHEAP[_16];
    IHEAP[_indicestype] = _17;
    ;
    return;
  }
  __ZNK26btTriangleIndexVertexArray32getLockedReadOnlyVertexIndexBaseEPPKhRiR14PHY_ScalarTypeS3_S2_S3_S3_S5_i.__index__ = Runtime.getFunctionIndex(__ZNK26btTriangleIndexVertexArray32getLockedReadOnlyVertexIndexBaseEPPKhRiR14PHY_ScalarTypeS3_S2_S3_S3_S5_i, "__ZNK26btTriangleIndexVertexArray32getLockedReadOnlyVertexIndexBaseEPPKhRiR14PHY_ScalarTypeS3_S2_S3_S3_S5_i");
  
  
  function __ZN34btTriangleIndexVertexMaterialArray29getLockedReadOnlyMaterialBaseEPPKhRiR14PHY_ScalarTypeS3_S2_S3_S3_S5_i(_this, _materialBase, _numMaterials, _materialType, _materialStride, _triangleMaterialBase, _numTriangles, _triangleMaterialStride, _triangleType, _subpart) {
    ;
    var __label__;
    var _0 = _this+84+12;
    var _1 = IHEAP[_0];
    var _2 = _1+32*_subpart;
    var _3 = IHEAP[_2];
    IHEAP[_numMaterials] = _3;
    var _4 = _1+32*_subpart+4;
    var _5 = IHEAP[_4];
    IHEAP[_materialBase] = _5;
    IHEAP[_materialType] = 0;
    var _6 = _1+32*_subpart+8;
    var _7 = IHEAP[_6];
    IHEAP[_materialStride] = _7;
    var _8 = _1+32*_subpart+16;
    var _9 = IHEAP[_8];
    IHEAP[_numTriangles] = _9;
    var _10 = _1+32*_subpart+20;
    var _11 = IHEAP[_10];
    IHEAP[_triangleMaterialBase] = _11;
    var _12 = _1+32*_subpart+24;
    var _13 = IHEAP[_12];
    IHEAP[_triangleMaterialStride] = _13;
    var _14 = _1+32*_subpart+28;
    var _15 = IHEAP[_14];
    IHEAP[_triangleType] = _15;
    ;
    return;
  }
  __ZN34btTriangleIndexVertexMaterialArray29getLockedReadOnlyMaterialBaseEPPKhRiR14PHY_ScalarTypeS3_S2_S3_S3_S5_i.__index__ = Runtime.getFunctionIndex(__ZN34btTriangleIndexVertexMaterialArray29getLockedReadOnlyMaterialBaseEPPKhRiR14PHY_ScalarTypeS3_S2_S3_S3_S5_i, "__ZN34btTriangleIndexVertexMaterialArray29getLockedReadOnlyMaterialBaseEPPKhRiR14PHY_ScalarTypeS3_S2_S3_S3_S5_i");
  
  
  function __ZN34btTriangleIndexVertexMaterialArray21getLockedMaterialBaseEPPhRiR14PHY_ScalarTypeS2_S1_S2_S2_S4_i(_this, _materialBase, _numMaterials, _materialType, _materialStride, _triangleMaterialBase, _numTriangles, _triangleMaterialStride, _triangleType, _subpart) {
    ;
    var __label__;
    var _0 = _this+84+12;
    var _1 = IHEAP[_0];
    var _2 = _1+32*_subpart;
    var _3 = IHEAP[_2];
    IHEAP[_numMaterials] = _3;
    var _4 = _1+32*_subpart+4;
    var _5 = IHEAP[_4];
    IHEAP[_materialBase] = _5;
    IHEAP[_materialType] = 0;
    var _6 = _1+32*_subpart+8;
    var _7 = IHEAP[_6];
    IHEAP[_materialStride] = _7;
    var _8 = _1+32*_subpart+16;
    var _9 = IHEAP[_8];
    IHEAP[_numTriangles] = _9;
    var _10 = _1+32*_subpart+20;
    var _11 = IHEAP[_10];
    IHEAP[_triangleMaterialBase] = _11;
    var _12 = _1+32*_subpart+24;
    var _13 = IHEAP[_12];
    IHEAP[_triangleMaterialStride] = _13;
    var _14 = _1+32*_subpart+28;
    var _15 = IHEAP[_14];
    IHEAP[_triangleType] = _15;
    ;
    return;
  }
  __ZN34btTriangleIndexVertexMaterialArray21getLockedMaterialBaseEPPhRiR14PHY_ScalarTypeS2_S1_S2_S2_S4_i.__index__ = Runtime.getFunctionIndex(__ZN34btTriangleIndexVertexMaterialArray21getLockedMaterialBaseEPPhRiR14PHY_ScalarTypeS2_S1_S2_S2_S4_i, "__ZN34btTriangleIndexVertexMaterialArray21getLockedMaterialBaseEPPhRiR14PHY_ScalarTypeS2_S1_S2_S2_S4_i");
  
  
  function __ZNK14btTriangleMesh15getNumTrianglesEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+164;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    ;
    if (_toBool) {
      ;
      var _3 = _this+144+4;
      __lastLabel__ = 75; ;
    }
    else {
      ;
      var _2 = _this+124+4;
      __lastLabel__ = 60; ;
    }
    var __0_in_in = __lastLabel__ == 60 ? _2 : (_3);
    var __0_in = IHEAP[__0_in_in];
    var __0 = Math.floor(__0_in / 3);
    ;
    return __0;
  }
  __ZNK14btTriangleMesh15getNumTrianglesEv.__index__ = Runtime.getFunctionIndex(__ZNK14btTriangleMesh15getNumTrianglesEv, "__ZNK14btTriangleMesh15getNumTrianglesEv");
  
  
  function __ZN19btTriangleMeshShape15recalcLocalAabbEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 48;
    var __label__;
    var __lastLabel__ = null;
    var _vec = __stackBase__;
    var _tmp = __stackBase__+16;
    var _memtmp = __stackBase__+32;
    var _0 = _vec;
    var _1 = _vec+4;
    var _2 = _vec+8;
    var _3 = _vec+12;
    var _4 = _this;
    var _5 = _this+12;
    var _6 = _tmp;
    var _7 = _memtmp;
    var _8 = _tmp+4;
    var _9 = _memtmp+4;
    var _10 = _tmp+8;
    var _11 = _memtmp+8;
    var _12 = _tmp+12;
    var _13 = _memtmp+12;
    __lastLabel__ = 130; ;
    _bb$11018: while(1) { // _bb
      var _i_03 = __lastLabel__ == 130 ? 0 : (_32);
      var _scevgep = _vec+_i_03*4;
      var _scevgep4 = _tmp+_i_03*4;
      var _scevgep5 = _this+32+_i_03*4;
      var _scevgep6 = _this+16+_i_03*4;
      FHEAP[_0] = 0;
      FHEAP[_1] = 0;
      FHEAP[_2] = 0;
      FHEAP[_3] = 0;
      FHEAP[_scevgep] = 1;
      var _14 = IHEAP[_4];
      var _15 = _14+64;
      var _16 = IHEAP[_15];
      var _17 = _16;
      FUNCTION_TABLE[_17](_tmp, _this, _vec);
      var _18 = FHEAP[_scevgep4];
      var _19 = FHEAP[_5];
      var _20 = _18 + _19;
      FHEAP[_scevgep5] = _20;
      FHEAP[_scevgep] = -1;
      var _21 = IHEAP[_4];
      var _22 = _21+64;
      var _23 = IHEAP[_22];
      var _24 = _23;
      FUNCTION_TABLE[_24](_memtmp, _this, _vec);
      var _25 = FHEAP[_7];
      FHEAP[_6] = _25;
      var _26 = FHEAP[_9];
      FHEAP[_8] = _26;
      var _27 = FHEAP[_11];
      FHEAP[_10] = _27;
      var _28 = FHEAP[_13];
      FHEAP[_12] = _28;
      var _29 = FHEAP[_scevgep4];
      var _30 = FHEAP[_5];
      var _31 = _29 - _30;
      FHEAP[_scevgep6] = _31;
      var _32 = _i_03 + 1;
      var _exitcond = _32 == 3;
      if (_exitcond) { __lastLabel__ = 60; __label__ = 44; /* _return */ break _bb$11018; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$11018; }
    }
    STACKTOP = __stackBase__;
    return;
  }
  __ZN19btTriangleMeshShape15recalcLocalAabbEv.__index__ = Runtime.getFunctionIndex(__ZN19btTriangleMeshShape15recalcLocalAabbEv, "__ZN19btTriangleMeshShape15recalcLocalAabbEv");
  
  
  function __ZN21SupportVertexCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21SupportVertexCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    ;
    return;
  }
  __ZN21SupportVertexCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN21SupportVertexCallbackD1Ev, "__ZN21SupportVertexCallbackD1Ev");
  
  
  function __ZN21SupportVertexCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21SupportVertexCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZN21SupportVertexCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN21SupportVertexCallbackD0Ev, "__ZN21SupportVertexCallbackD0Ev");
  
  
  function __ZN21SupportVertexCallback15processTriangleEP9btVector3ii(_this, _triangle, _partId, _triangleIndex) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+88;
    var _1 = _this+88+4;
    var _2 = _this+88+8;
    var _3 = _this+84;
    var _4 = _this+4;
    var _5 = _this+4+4;
    var _6 = _this+4+8;
    var _7 = _this+4+12;
    var _scevgep6 = _triangle;
    var _scevgep7 = _triangle+4;
    var _scevgep8 = _triangle+8;
    var _8 = FHEAP[_0];
    var _9 = FHEAP[_scevgep6];
    var _10 = _8 * _9;
    var _11 = FHEAP[_1];
    var _12 = FHEAP[_scevgep7];
    var _13 = _11 * _12;
    var _14 = _10 + _13;
    var _15 = FHEAP[_2];
    var _16 = FHEAP[_scevgep8];
    var _17 = _15 * _16;
    var _18 = _14 + _17;
    var _19 = FHEAP[_3];
    var _20 = _19 < _18;
    ;
    if (_20) {
      __lastLabel__ = 130; ;
      var _scevgep9 = _triangle+12;
      FHEAP[_3] = _18;
      var _21 = FHEAP[_scevgep6];
      FHEAP[_4] = _21;
      var _22 = FHEAP[_scevgep7];
      FHEAP[_5] = _22;
      var _23 = FHEAP[_scevgep8];
      FHEAP[_6] = _23;
      var _24 = FHEAP[_scevgep9];
      FHEAP[_7] = _24;
      __lastLabel__ = 75; ;
    }
    else {
      __lastLabel__ = 130; ;
    }
    var _25 = __lastLabel__ == 75 ? _18 : (_19);
    var _scevgep6_1 = _triangle+16;
    var _scevgep7_1 = _triangle+16+4;
    var _scevgep8_1 = _triangle+16+8;
    var _26 = FHEAP[_scevgep6_1];
    var _27 = _8 * _26;
    var _28 = FHEAP[_scevgep7_1];
    var _29 = _11 * _28;
    var _30 = _27 + _29;
    var _31 = FHEAP[_scevgep8_1];
    var _32 = _15 * _31;
    var _33 = _30 + _32;
    var _34 = _25 < _33;
    ;
    if (_34) {
      __lastLabel__ = 0; ;
      var _scevgep9_1 = _triangle+16+12;
      FHEAP[_3] = _33;
      var _45 = FHEAP[_scevgep6_1];
      FHEAP[_4] = _45;
      var _46 = FHEAP[_scevgep7_1];
      FHEAP[_5] = _46;
      var _47 = FHEAP[_scevgep8_1];
      FHEAP[_6] = _47;
      var _48 = FHEAP[_scevgep9_1];
      FHEAP[_7] = _48;
      __lastLabel__ = 1771; ;
    }
    else {
      __lastLabel__ = 0; ;
    }
    var _35 = __lastLabel__ == 1771 ? _33 : (_25);
    var _scevgep6_2 = _triangle+32;
    var _scevgep7_2 = _triangle+32+4;
    var _scevgep8_2 = _triangle+32+8;
    var _36 = FHEAP[_scevgep6_2];
    var _37 = _8 * _36;
    var _38 = FHEAP[_scevgep7_2];
    var _39 = _11 * _38;
    var _40 = _37 + _39;
    var _41 = FHEAP[_scevgep8_2];
    var _42 = _15 * _41;
    var _43 = _40 + _42;
    var _44 = _35 < _43;
    ;
    if (_44) {
      ;
      var _scevgep9_2 = _triangle+32+12;
      FHEAP[_3] = _43;
      var _49 = FHEAP[_scevgep6_2];
      FHEAP[_4] = _49;
      var _50 = FHEAP[_scevgep7_2];
      FHEAP[_5] = _50;
      var _51 = FHEAP[_scevgep8_2];
      FHEAP[_6] = _51;
      var _52 = FHEAP[_scevgep9_2];
      FHEAP[_7] = _52;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN21SupportVertexCallback15processTriangleEP9btVector3ii.__index__ = Runtime.getFunctionIndex(__ZN21SupportVertexCallback15processTriangleEP9btVector3ii, "__ZN21SupportVertexCallback15processTriangleEP9btVector3ii");
  
  
  function __ZN19btTriangleMeshShape15setLocalScalingERK9btVector3(_this, _scaling) {
    var __stackBase__  = STACKTOP; STACKTOP += 48;
    var __label__;
    var __lastLabel__ = null;
    var _vec_i = __stackBase__;
    var _tmp_i = __stackBase__+16;
    var _memtmp_i = __stackBase__+32;
    var _0 = _this+48;
    var _1 = IHEAP[_0];
    var _2 = _1+4;
    var _3 = _scaling;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _1+4+4;
    var _6 = _scaling+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _1+4+8;
    var _9 = _scaling+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _1+4+12;
    var _12 = _scaling+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _vec_i;
    var _15 = _vec_i+4;
    var _16 = _vec_i+8;
    var _17 = _vec_i+12;
    var _18 = _this;
    var _19 = _this+12;
    var _20 = _tmp_i;
    var _21 = _memtmp_i;
    var _22 = _tmp_i+4;
    var _23 = _memtmp_i+4;
    var _24 = _tmp_i+8;
    var _25 = _memtmp_i+8;
    var _26 = _tmp_i+12;
    var _27 = _memtmp_i+12;
    __lastLabel__ = -1; ;
    _bb_i$11034: while(1) { // _bb_i
      var _i_03_i = __lastLabel__ == -1 ? 0 : (_46);
      var _scevgep6_i = _this+16+_i_03_i*4;
      var _scevgep5_i = _this+32+_i_03_i*4;
      var _scevgep4_i = _tmp_i+_i_03_i*4;
      var _scevgep_i = _vec_i+_i_03_i*4;
      FHEAP[_14] = 0;
      FHEAP[_15] = 0;
      FHEAP[_16] = 0;
      FHEAP[_17] = 0;
      FHEAP[_scevgep_i] = 1;
      var _28 = IHEAP[_18];
      var _29 = _28+64;
      var _30 = IHEAP[_29];
      var _31 = _30;
      FUNCTION_TABLE[_31](_tmp_i, _this, _vec_i);
      var _32 = FHEAP[_scevgep4_i];
      var _33 = FHEAP[_19];
      var _34 = _32 + _33;
      FHEAP[_scevgep5_i] = _34;
      FHEAP[_scevgep_i] = -1;
      var _35 = IHEAP[_18];
      var _36 = _35+64;
      var _37 = IHEAP[_36];
      var _38 = _37;
      FUNCTION_TABLE[_38](_memtmp_i, _this, _vec_i);
      var _39 = FHEAP[_21];
      FHEAP[_20] = _39;
      var _40 = FHEAP[_23];
      FHEAP[_22] = _40;
      var _41 = FHEAP[_25];
      FHEAP[_24] = _41;
      var _42 = FHEAP[_27];
      FHEAP[_26] = _42;
      var _43 = FHEAP[_scevgep4_i];
      var _44 = FHEAP[_19];
      var _45 = _43 - _44;
      FHEAP[_scevgep6_i] = _45;
      var _46 = _i_03_i + 1;
      var _exitcond = _46 == 3;
      if (_exitcond) { __lastLabel__ = 131; __label__ = 2083; /* __ZN19btTriangleMeshShape15recalcLocalAabbEv_exit */ break _bb_i$11034; } else { __lastLabel__ = 131; __label__ = 131; /* _bb_i */ continue _bb_i$11034; }
    }
    STACKTOP = __stackBase__;
    return;
  }
  __ZN19btTriangleMeshShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN19btTriangleMeshShape15setLocalScalingERK9btVector3, "__ZN19btTriangleMeshShape15setLocalScalingERK9btVector3");
  
  
  function __ZNK19btTriangleMeshShape15getLocalScalingEv(_this) {
    ;
    var __label__;
    var _0 = _this+48;
    var _1 = IHEAP[_0];
    var _2 = _1+4;
    ;
    return _2;
  }
  __ZNK19btTriangleMeshShape15getLocalScalingEv.__index__ = Runtime.getFunctionIndex(__ZNK19btTriangleMeshShape15getLocalScalingEv, "__ZNK19btTriangleMeshShape15getLocalScalingEv");
  
  
  function __ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD1Ev, "__ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD1Ev");
  
  
  function __ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD0Ev, "__ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD0Ev");
  
  
  function __ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallback28internalProcessTriangleIndexEPS2_ii(_this, _triangle, _partId, _triangleIndex) {
    ;
    var __label__;
    var _0 = _triangle+32;
    var _1 = _triangle+16;
    var _2 = _triangle;
    var _3 = FHEAP[_2];
    var _4 = FHEAP[_1];
    var _5 = _3 < _4;
    var _6 = _5 ? _3 : _4;
    var _7 = FHEAP[_0];
    var _8 = _6 < _7;
    var _9 = _8 ? _6 : _7;
    var _10 = _this+24;
    var _11 = FHEAP[_10];
    var _12 = _9 > _11;
    ;
    _return$_bb1_i$11041: do { 
      if (!_12) {
        ;
        var _13 = _3 > _4;
        var _14 = _13 ? _3 : _4;
        var _15 = _14 > _7;
        var _16 = _15 ? _14 : _7;
        var _17 = _this+8;
        var _18 = FHEAP[_17];
        var _19 = _16 < _18;
        if (_19) { __label__ = 44; /* _return */ break _return$_bb1_i$11041; }
        var _20 = _triangle+32+8;
        var _21 = _triangle+16+8;
        var _22 = _triangle+8;
        var _23 = FHEAP[_22];
        var _24 = FHEAP[_21];
        var _25 = _23 < _24;
        var _26 = _25 ? _23 : _24;
        var _27 = FHEAP[_20];
        var _28 = _26 < _27;
        var _29 = _28 ? _26 : _27;
        var _30 = _this+24+8;
        var _31 = FHEAP[_30];
        var _32 = _29 > _31;
        if (_32) { __label__ = 44; /* _return */ break _return$_bb1_i$11041; }
        var _33 = _23 > _24;
        var _34 = _33 ? _23 : _24;
        var _35 = _34 > _27;
        var _36 = _35 ? _34 : _27;
        var _37 = _this+8+8;
        var _38 = FHEAP[_37];
        var _39 = _36 < _38;
        if (_39) { __label__ = 44; /* _return */ break _return$_bb1_i$11041; }
        var _40 = _triangle+32+4;
        var _41 = _triangle+16+4;
        var _42 = _triangle+4;
        var _43 = FHEAP[_42];
        var _44 = FHEAP[_41];
        var _45 = _43 < _44;
        var _46 = _45 ? _43 : _44;
        var _47 = FHEAP[_40];
        var _48 = _46 < _47;
        var _49 = _48 ? _46 : _47;
        var _50 = _this+24+4;
        var _51 = FHEAP[_50];
        var _52 = _49 > _51;
        if (_52) { __label__ = 44; /* _return */ break _return$_bb1_i$11041; }
        var _53 = _43 > _44;
        var _54 = _53 ? _43 : _44;
        var _55 = _54 > _47;
        var _56 = _55 ? _54 : _47;
        var _57 = _this+8+4;
        var _58 = FHEAP[_57];
        var _phitmp = _56 < _58;
        if (_phitmp) { __label__ = 44; /* _return */ break _return$_bb1_i$11041; }
        var _59 = _this+4;
        var _60 = IHEAP[_59];
        var _61 = _60;
        var _62 = IHEAP[_61];
        var _63 = _62+8;
        var _64 = IHEAP[_63];
        var _65 = _64;
        FUNCTION_TABLE[_65](_60, _triangle, _partId, _triangleIndex);
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallback28internalProcessTriangleIndexEPS2_ii.__index__ = Runtime.getFunctionIndex(__ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallback28internalProcessTriangleIndexEPS2_ii, "__ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallback28internalProcessTriangleIndexEPS2_ii");
  
  
  function __ZNK19btTriangleMeshShape21calculateLocalInertiaEfR9btVector3(_this, _mass, _inertia) {
    ;
    var __label__;
    var _0 = _inertia;
    FHEAP[_0] = 0;
    var _1 = _inertia+4;
    FHEAP[_1] = 0;
    var _2 = _inertia+8;
    FHEAP[_2] = 0;
    var _3 = _inertia+12;
    FHEAP[_3] = 0;
    ;
    return;
  }
  __ZNK19btTriangleMeshShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK19btTriangleMeshShape21calculateLocalInertiaEfR9btVector3, "__ZNK19btTriangleMeshShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback+8;
    var _1 = _this;
    __ZN31btInternalTriangleIndexCallbackD2Ev(_1);
    ;
    return;
  }
  __ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD2Ev, "__ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD2Ev");
  
  
  function __ZN19btTriangleMeshShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV19btTriangleMeshShape+8;
    var _1 = _this;
    __ZN14btConcaveShapeD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZN19btTriangleMeshShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN19btTriangleMeshShapeD0Ev, "__ZN19btTriangleMeshShapeD0Ev");
  
  
  function __ZN19btTriangleMeshShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV19btTriangleMeshShape+8;
    var _1 = _this;
    __ZN14btConcaveShapeD2Ev(_1);
    ;
    return;
  }
  __ZN19btTriangleMeshShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN19btTriangleMeshShapeD1Ev, "__ZN19btTriangleMeshShapeD1Ev");
  
  
  function __ZN19btTriangleMeshShapeD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV19btTriangleMeshShape+8;
    var _1 = _this;
    __ZN14btConcaveShapeD2Ev(_1);
    ;
    return;
  }
  __ZN19btTriangleMeshShapeD2Ev.__index__ = Runtime.getFunctionIndex(__ZN19btTriangleMeshShapeD2Ev, "__ZN19btTriangleMeshShapeD2Ev");
  
  
  function __ZN21btUniformScalingShapeC2EP13btConvexShapef(_this, _convexChildShape, _uniformScalingFactor) {
    ;
    var __label__;
    var _0 = _this;
    __ZN13btConvexShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV21btUniformScalingShape+8;
    var _2 = _this+12;
    IHEAP[_2] = _convexChildShape;
    var _3 = _this+16;
    FHEAP[_3] = _uniformScalingFactor;
    var _4 = _this+4;
    IHEAP[_4] = 14;
    ;
    return;
  }
  __ZN21btUniformScalingShapeC2EP13btConvexShapef.__index__ = Runtime.getFunctionIndex(__ZN21btUniformScalingShapeC2EP13btConvexShapef, "__ZN21btUniformScalingShapeC2EP13btConvexShapef");
  
  
  function __ZNK21btUniformScalingShape37localGetSupportingVertexWithoutMarginERK9btVector3(_agg_result, _this, _vec) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var _memtmp = __stackBase__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+64;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_memtmp, _1, _vec);
    var _7 = _memtmp;
    var _8 = FHEAP[_7];
    var _9 = _memtmp+4;
    var _10 = FHEAP[_9];
    var _11 = _memtmp+8;
    var _12 = FHEAP[_11];
    var _13 = _this+16;
    var _14 = FHEAP[_13];
    var _15 = _12 * _14;
    var _16 = _10 * _14;
    var _17 = _8 * _14;
    var _18 = _agg_result;
    FHEAP[_18] = _17;
    var _19 = _agg_result+4;
    FHEAP[_19] = _16;
    var _20 = _agg_result+8;
    FHEAP[_20] = _15;
    var _21 = _agg_result+12;
    FHEAP[_21] = 0;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK21btUniformScalingShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK21btUniformScalingShape37localGetSupportingVertexWithoutMarginERK9btVector3, "__ZNK21btUniformScalingShape37localGetSupportingVertexWithoutMarginERK9btVector3");
  
  
  function __ZNK21btUniformScalingShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(_this, _vectors, _supportVerticesOut, _numVectors) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+68;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_1, _vectors, _supportVerticesOut, _numVectors);
    var _7 = _numVectors > 0;
    ;
    _bb_nph$_return$11073: do { 
      if (_7) {
        ;
        var _8 = _this+16;
        __lastLabel__ = 130; ;
        _bb$11075: while(1) { // _bb
          var _i_05 = __lastLabel__ == 130 ? 0 : (_16);
          var _scevgep6 = _supportVerticesOut+16*_i_05;
          var _scevgep7 = _supportVerticesOut+16*_i_05+4;
          var _scevgep8 = _supportVerticesOut+16*_i_05+8;
          var _scevgep9 = _supportVerticesOut+16*_i_05+12;
          var _9 = FHEAP[_scevgep8];
          var _10 = FHEAP[_8];
          var _11 = _9 * _10;
          var _12 = FHEAP[_scevgep7];
          var _13 = _12 * _10;
          var _14 = FHEAP[_scevgep6];
          var _15 = _14 * _10;
          FHEAP[_scevgep6] = _15;
          FHEAP[_scevgep7] = _13;
          FHEAP[_scevgep8] = _11;
          FHEAP[_scevgep9] = 0;
          var _16 = _i_05 + 1;
          var _exitcond = _16 == _numVectors;
          if (_exitcond) { __lastLabel__ = 60; __label__ = 44; /* _return */ break _bb_nph$_return$11073; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$11075; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZNK21btUniformScalingShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__ = Runtime.getFunctionIndex(__ZNK21btUniformScalingShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, "__ZNK21btUniformScalingShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i");
  
  
  function __ZNK21btUniformScalingShape24localGetSupportingVertexERK9btVector3(_agg_result, _this, _vec) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var _memtmp = __stackBase__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+60;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_memtmp, _1, _vec);
    var _7 = _memtmp;
    var _8 = FHEAP[_7];
    var _9 = _memtmp+4;
    var _10 = FHEAP[_9];
    var _11 = _memtmp+8;
    var _12 = FHEAP[_11];
    var _13 = _this+16;
    var _14 = FHEAP[_13];
    var _15 = _12 * _14;
    var _16 = _10 * _14;
    var _17 = _8 * _14;
    var _18 = _agg_result;
    FHEAP[_18] = _17;
    var _19 = _agg_result+4;
    FHEAP[_19] = _16;
    var _20 = _agg_result+8;
    FHEAP[_20] = _15;
    var _21 = _agg_result+12;
    FHEAP[_21] = 0;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK21btUniformScalingShape24localGetSupportingVertexERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK21btUniformScalingShape24localGetSupportingVertexERK9btVector3, "__ZNK21btUniformScalingShape24localGetSupportingVertexERK9btVector3");
  
  
  function __ZNK21btUniformScalingShape21calculateLocalInertiaEfR9btVector3(_this, _mass, _inertia) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var _tmpInertia = __stackBase__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+32;
    var _5 = IHEAP[_4];
    var _6 = _1;
    var _7 = _5;
    FUNCTION_TABLE[_7](_6, _mass, _tmpInertia);
    var _8 = _this+16;
    var _9 = _tmpInertia+8;
    var _10 = FHEAP[_9];
    var _11 = FHEAP[_8];
    var _12 = _10 * _11;
    var _13 = _tmpInertia+4;
    var _14 = FHEAP[_13];
    var _15 = _14 * _11;
    var _16 = _tmpInertia;
    var _17 = FHEAP[_16];
    var _18 = _17 * _11;
    var _19 = _inertia;
    FHEAP[_19] = _18;
    var _20 = _inertia+4;
    FHEAP[_20] = _15;
    var _21 = _inertia+8;
    FHEAP[_21] = _12;
    var _22 = _inertia+12;
    FHEAP[_22] = 0;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK21btUniformScalingShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK21btUniformScalingShape21calculateLocalInertiaEfR9btVector3, "__ZNK21btUniformScalingShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZNK21btUniformScalingShape7getAabbERK11btTransformR9btVector3S4_(_this, _t, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+8;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_1, _t, _aabbMin, _aabbMax);
    var _7 = _aabbMax+8;
    var _8 = FHEAP[_7];
    var _9 = _aabbMin+8;
    var _10 = FHEAP[_9];
    var _11 = _8 + _10;
    var _12 = _aabbMax+4;
    var _13 = FHEAP[_12];
    var _14 = _aabbMin+4;
    var _15 = FHEAP[_14];
    var _16 = _13 + _15;
    var _17 = _aabbMax;
    var _18 = FHEAP[_17];
    var _19 = _aabbMin;
    var _20 = FHEAP[_19];
    var _21 = _18 + _20;
    var _22 = _11 * 0.5;
    var _23 = _16 * 0.5;
    var _24 = _21 * 0.5;
    var _25 = _this+16;
    var _26 = _8 - _10;
    var _27 = _13 - _15;
    var _28 = _18 - _20;
    var _29 = _26 * 0.5;
    var _30 = _27 * 0.5;
    var _31 = _28 * 0.5;
    var _32 = FHEAP[_25];
    var _33 = _29 * _32;
    var _34 = _30 * _32;
    var _35 = _31 * _32;
    var _36 = _22 - _33;
    var _37 = _23 - _34;
    var _38 = _24 - _35;
    FHEAP[_19] = _38;
    FHEAP[_14] = _37;
    FHEAP[_9] = _36;
    var _39 = _aabbMin+12;
    FHEAP[_39] = 0;
    var _40 = _22 + _33;
    var _41 = _23 + _34;
    var _42 = _24 + _35;
    FHEAP[_17] = _42;
    FHEAP[_12] = _41;
    FHEAP[_7] = _40;
    var _43 = _aabbMax+12;
    FHEAP[_43] = 0;
    ;
    return;
  }
  __ZNK21btUniformScalingShape7getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK21btUniformScalingShape7getAabbERK11btTransformR9btVector3S4_, "__ZNK21btUniformScalingShape7getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZNK21btUniformScalingShape11getAabbSlowERK11btTransformR9btVector3S4_(_this, _t, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+72;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_1, _t, _aabbMin, _aabbMax);
    var _7 = _aabbMax+8;
    var _8 = FHEAP[_7];
    var _9 = _aabbMin+8;
    var _10 = FHEAP[_9];
    var _11 = _8 + _10;
    var _12 = _aabbMax+4;
    var _13 = FHEAP[_12];
    var _14 = _aabbMin+4;
    var _15 = FHEAP[_14];
    var _16 = _13 + _15;
    var _17 = _aabbMax;
    var _18 = FHEAP[_17];
    var _19 = _aabbMin;
    var _20 = FHEAP[_19];
    var _21 = _18 + _20;
    var _22 = _11 * 0.5;
    var _23 = _16 * 0.5;
    var _24 = _21 * 0.5;
    var _25 = _this+16;
    var _26 = _8 - _10;
    var _27 = _13 - _15;
    var _28 = _18 - _20;
    var _29 = _26 * 0.5;
    var _30 = _27 * 0.5;
    var _31 = _28 * 0.5;
    var _32 = FHEAP[_25];
    var _33 = _29 * _32;
    var _34 = _30 * _32;
    var _35 = _31 * _32;
    var _36 = _22 - _33;
    var _37 = _23 - _34;
    var _38 = _24 - _35;
    FHEAP[_19] = _38;
    FHEAP[_14] = _37;
    FHEAP[_9] = _36;
    var _39 = _aabbMin+12;
    FHEAP[_39] = 0;
    var _40 = _22 + _33;
    var _41 = _23 + _34;
    var _42 = _24 + _35;
    FHEAP[_17] = _42;
    FHEAP[_12] = _41;
    FHEAP[_7] = _40;
    var _43 = _aabbMax+12;
    FHEAP[_43] = 0;
    ;
    return;
  }
  __ZNK21btUniformScalingShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK21btUniformScalingShape11getAabbSlowERK11btTransformR9btVector3S4_, "__ZNK21btUniformScalingShape11getAabbSlowERK11btTransformR9btVector3S4_");
  
  
  function __ZN21btUniformScalingShape15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+24;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_1, _scaling);
    ;
    return;
  }
  __ZN21btUniformScalingShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN21btUniformScalingShape15setLocalScalingERK9btVector3, "__ZN21btUniformScalingShape15setLocalScalingERK9btVector3");
  
  
  function __ZN21btUniformScalingShape9setMarginEf(_this, _margin) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+40;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_1, _margin);
    ;
    return;
  }
  __ZN21btUniformScalingShape9setMarginEf.__index__ = Runtime.getFunctionIndex(__ZN21btUniformScalingShape9setMarginEf, "__ZN21btUniformScalingShape9setMarginEf");
  
  
  function __ZNK21btUniformScalingShape32getPreferredPenetrationDirectionEiR9btVector3(_this, _index, _penetrationVector) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+80;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_1, _index, _penetrationVector);
    ;
    return;
  }
  __ZNK21btUniformScalingShape32getPreferredPenetrationDirectionEiR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK21btUniformScalingShape32getPreferredPenetrationDirectionEiR9btVector3, "__ZNK21btUniformScalingShape32getPreferredPenetrationDirectionEiR9btVector3");
  
  
  function __ZN21btUniformScalingShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btUniformScalingShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN21btUniformScalingShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN21btUniformScalingShapeD0Ev, "__ZN21btUniformScalingShapeD0Ev");
  
  
  function __ZN21btUniformScalingShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btUniformScalingShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN21btUniformScalingShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN21btUniformScalingShapeD1Ev, "__ZN21btUniformScalingShapeD1Ev");
  
  
  function __ZN21btUniformScalingShapeD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btUniformScalingShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN21btUniformScalingShapeD2Ev.__index__ = Runtime.getFunctionIndex(__ZN21btUniformScalingShapeD2Ev, "__ZN21btUniformScalingShapeD2Ev");
  
  
  function __ZN21btUniformScalingShapeC1EP13btConvexShapef(_this, _convexChildShape, _uniformScalingFactor) {
    ;
    var __label__;
    var _0 = _this;
    __ZN13btConvexShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV21btUniformScalingShape+8;
    var _2 = _this+12;
    IHEAP[_2] = _convexChildShape;
    var _3 = _this+16;
    FHEAP[_3] = _uniformScalingFactor;
    var _4 = _this+4;
    IHEAP[_4] = 14;
    ;
    return;
  }
  __ZN21btUniformScalingShapeC1EP13btConvexShapef.__index__ = Runtime.getFunctionIndex(__ZN21btUniformScalingShapeC1EP13btConvexShapef, "__ZN21btUniformScalingShapeC1EP13btConvexShapef");
  
  
  function __ZN20btAlignedObjectArrayI17CONTACT_KEY_TOKENE17quickSortInternalI22CONTACT_KEY_TOKEN_COMPEEvT_ii(_this, _CompareFunc, _lo, _hi) {
    var __stackBase__  = STACKTOP; STACKTOP += 2;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = _this+12;
    var _3 = IHEAP[_2];
    var _4 = _hi + _lo;
    var _5 = Math.floor(_4 / 2);
    var _6 = _3+8*_5;
    var _7 = IHEAP[_6];
    __lastLabel__ = -1; ;
    _bb1_outer$11203: while(1) { // _bb1_outer
      var _i_0_ph = __lastLabel__ == -1 ? _lo : (_i_1);
      var _j_1_ph = __lastLabel__ == -1 ? _hi : (_j_2);
      var _8 = IHEAP[_2];
      var _9 = _8+8*_i_0_ph;
      var _10 = IHEAP[_9];
      var _11 = unSign(_10, 32) < unSign(_7, 32);
      ;
      _bb_nph16$_bb3_preheader$11205: do { 
        if (_11) {
          __lastLabel__ = 177; ;
          var _tmp24 = _i_0_ph + 1;
          __lastLabel__ = 1631; ;
          _bb$11207: while(1) { // _bb
            var _indvar22 = __lastLabel__ == 1631 ? 0 : (_indvar_next23);
            var _tmp25 = _tmp24 + _indvar22;
            var _scevgep2627 = _8+8*_tmp25;
            var _12 = IHEAP[_scevgep2627];
            var _13 = unSign(_12, 32) < unSign(_7, 32);
            var _indvar_next23 = _indvar22 + 1;
            if (_13) { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$11207; } else { __lastLabel__ = 60; __label__ = 510; /* _bb3_preheader */ break _bb_nph16$_bb3_preheader$11205; }
          }
        }
        else {
          __lastLabel__ = 177; ;
        }
      } while(0);
      var _14 = __lastLabel__ == 177 ? _10 : (_12);
      var _i_0_lcssa = __lastLabel__ == 177 ? _i_0_ph : (_tmp25);
      var _15 = _8+8*_j_1_ph;
      var _16 = IHEAP[_15];
      var _17 = unSign(_7, 32) < unSign(_16, 32);
      ;
      _bb_nph$_bb5$11210: do { 
        if (_17) {
          __lastLabel__ = 510; ;
          var _tmp18 = _j_1_ph + -1;
          __lastLabel__ = 130; ;
          _bb2$11212: while(1) { // _bb2
            var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
            var _tmp19 = _tmp18 - _indvar;
            var _scevgep20 = _8+8*_tmp19;
            var _18 = IHEAP[_scevgep20];
            var _19 = unSign(_7, 32) < unSign(_18, 32);
            var _indvar_next = _indvar + 1;
            if (_19) { __lastLabel__ = 0; __label__ = 0; /* _bb2 */ continue _bb2$11212; } else { __lastLabel__ = 0; __label__ = 82; /* _bb5 */ break _bb_nph$_bb5$11210; }
          }
        }
        else {
          __lastLabel__ = 510; ;
        }
      } while(0);
      var _20 = __lastLabel__ == 510 ? _16 : (_18);
      var _j_0_lcssa = __lastLabel__ == 510 ? _j_1_ph : (_tmp19);
      var _21 = _i_0_lcssa > _j_0_lcssa;
      ;
      if (_21) {
        __lastLabel__ = 82; ;
      }
      else {
        __lastLabel__ = 82; ;
        var _22 = _8+8*_i_0_lcssa;
        var _23 = _8+8*_i_0_lcssa+4;
        var _24 = IHEAP[_23];
        IHEAP[_22] = _20;
        var _25 = _8+8*_j_0_lcssa+4;
        var _26 = IHEAP[_25];
        IHEAP[_23] = _26;
        var _27 = IHEAP[_2];
        var _28 = _27+8*_j_0_lcssa;
        IHEAP[_28] = _14;
        var _29 = _27+8*_j_0_lcssa+4;
        IHEAP[_29] = _24;
        var _30 = _i_0_lcssa + 1;
        var _31 = _j_0_lcssa + -1;
        __lastLabel__ = 83; ;
      }
      var _i_1 = __lastLabel__ == 83 ? _30 : (_i_0_lcssa);
      var _j_2 = __lastLabel__ == 83 ? _31 : (_j_0_lcssa);
      var _32 = _i_1 > _j_2;
      if (_32) { __lastLabel__ = 2; __label__ = 148; /* _bb8 */ break _bb1_outer$11203; } else { __lastLabel__ = 2; __label__ = 177; /* _bb1_outer */ continue _bb1_outer$11203; }
    }
    var _33 = _j_2 > _lo;
    ;
    if (_33) {
      ;
      __ZN20btAlignedObjectArrayI17CONTACT_KEY_TOKENE17quickSortInternalI22CONTACT_KEY_TOKEN_COMPEEvT_ii(_this, _1, _lo, _j_2);
      ;
    }
    var _34 = _i_1 < _hi;
    ;
    if (_34) {
      ;
      __ZN20btAlignedObjectArrayI17CONTACT_KEY_TOKENE17quickSortInternalI22CONTACT_KEY_TOKEN_COMPEEvT_ii(_this, _0, _i_1, _hi);
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN20btAlignedObjectArrayI17CONTACT_KEY_TOKENE17quickSortInternalI22CONTACT_KEY_TOKEN_COMPEEvT_ii.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI17CONTACT_KEY_TOKENE17quickSortInternalI22CONTACT_KEY_TOKEN_COMPEEvT_ii, "__ZN20btAlignedObjectArrayI17CONTACT_KEY_TOKENE17quickSortInternalI22CONTACT_KEY_TOKEN_COMPEEvT_ii");
  
  
  function __ZN14btContactArray21merge_contacts_uniqueERKS_(_this, _contacts) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (!_2) {
      ;
      var _3 = _this+16;
      var _4 = IHEAP[_3];
      var _toBool_i_i = _4 == 0;
      ;
      if (!_toBool_i_i) {
        ;
        var _5 = _1;
        __Z21btAlignedFreeInternalPv(_5);
        ;
      }
      IHEAP[_0] = 0;
      ;
    }
    var _6 = _this+16;
    IHEAP[_6] = 1;
    IHEAP[_0] = 0;
    var _7 = _this+4;
    IHEAP[_7] = 0;
    var _8 = _this+8;
    IHEAP[_8] = 0;
    var _9 = _contacts+4;
    var _10 = IHEAP[_9];
    var _11 = _10 == 0;
    ;
    if (_11) {
      ;
      ;
      return;
    }
    else {
      ;
      var _12 = _10 == 1;
      var _13 = _contacts+12;
      var _14 = IHEAP[_13];
      ;
      if (_12) {
        ;
        var _16 = _this;
        __ZN20btAlignedObjectArrayI11GIM_CONTACTE7reserveEi(_16, 1);
        var __pre_i = IHEAP[_7];
        var __pre = IHEAP[_0];
        var _17 = __pre+48*__pre_i;
        var _18 = _17 == 0;
        ;
        if (_18) {
          __lastLabel__ = 159; ;
        }
        else {
          __lastLabel__ = 159; ;
          var _19 = __pre+48*__pre_i;
          var _20 = _14;
          var _21 = FHEAP[_20];
          FHEAP[_19] = _21;
          var _22 = __pre+48*__pre_i+4;
          var _23 = _14+4;
          var _24 = FHEAP[_23];
          FHEAP[_22] = _24;
          var _25 = __pre+48*__pre_i+8;
          var _26 = _14+8;
          var _27 = FHEAP[_26];
          FHEAP[_25] = _27;
          var _28 = __pre+48*__pre_i+12;
          var _29 = _14+12;
          var _30 = FHEAP[_29];
          FHEAP[_28] = _30;
          var _31 = __pre+48*__pre_i+16;
          var _32 = _14+16;
          var _33 = FHEAP[_32];
          FHEAP[_31] = _33;
          var _34 = __pre+48*__pre_i+16+4;
          var _35 = _14+16+4;
          var _36 = FHEAP[_35];
          FHEAP[_34] = _36;
          var _37 = __pre+48*__pre_i+16+8;
          var _38 = _14+16+8;
          var _39 = FHEAP[_38];
          FHEAP[_37] = _39;
          var _40 = __pre+48*__pre_i+16+12;
          var _41 = _14+16+12;
          var _42 = FHEAP[_41];
          FHEAP[_40] = _42;
          var _43 = _14+32;
          var _44 = FHEAP[_43];
          var _45 = __pre+48*__pre_i+32;
          FHEAP[_45] = _44;
          var _46 = _14+40;
          var _47 = IHEAP[_46];
          var _48 = __pre+48*__pre_i+40;
          IHEAP[_48] = _47;
          var _49 = _14+44;
          var _50 = IHEAP[_49];
          var _51 = __pre+48*__pre_i+44;
          IHEAP[_51] = _50;
          var __pre5_i = IHEAP[_7];
          __lastLabel__ = 132; ;
        }
        var _52 = __lastLabel__ == 159 ? __pre_i : (__pre5_i);
        var _53 = _52 + 1;
        IHEAP[_7] = _53;
        ;
        return;
      }
      else {
        ;
        var _15 = _10 > 1;
        ;
        return;
      }
    }
  }
  __ZN14btContactArray21merge_contacts_uniqueERKS_.__index__ = Runtime.getFunctionIndex(__ZN14btContactArray21merge_contacts_uniqueERKS_, "__ZN14btContactArray21merge_contacts_uniqueERKS_");
  
  
  function __ZN19btGenericMemoryPool24allocate_from_free_nodesEj(_this, _num_elements) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+16;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _bb15$_bb1$11263: do { 
      if (!_2) {
        ;
        var _3 = _this+8;
        var _4 = _this+4;
        __lastLabel__ = 75; ;
        _bb4_outer$11265: while(1) { // _bb4_outer
          var _ptr_0_ph = __lastLabel__ == 75 ? -1 : (_tmp22);
          var _revindex_0_ph = __lastLabel__ == 75 ? _1 : (_tmp22);
          var _5 = _ptr_0_ph == -1;
          if (!(_5)) { __label__ = 292; /* _bb11 */ break _bb4_outer$11265; }
          var _tmp21 = _revindex_0_ph + -1;
          __lastLabel__ = 2138; ;
          _bb4_us$11268: while(1) { // _bb4_us
            var _indvar = __lastLabel__ == 1542 ? _indvar_next : (0);
            var _tmp22 = _tmp21 - _indvar;
            var __not_us = _tmp22 == -1;
            if (__not_us) { __label__ = 62; /* _bb9 */ break _bb4_outer$11265; }
            var _6 = IHEAP[_3];
            var _7 = IHEAP[_4];
            var _scevgep = _7+4*_tmp22;
            var _8 = IHEAP[_scevgep];
            var _9 = _6+4*_8;
            var _10 = IHEAP[_9];
            var _11 = unSign(_10, 32) < unSign(_num_elements, 32);
            var _indvar_next = _indvar + 1;
            if (_11) { __lastLabel__ = 1542; __label__ = 2139; /* _bb4_us */ continue _bb4_us$11268; } else { __lastLabel__ = 1542; __label__ = 2137; /* _bb4_outer */ continue _bb4_outer$11265; }
          }
        }
        if (__label__ == 62) {
          if (_5) { __label__ = 153; /* _bb15 */ break _bb15$_bb1$11263; }
        }
        var _12 = IHEAP[_4];
        var _13 = _12+4*_ptr_0_ph;
        var _14 = IHEAP[_13];
        var _15 = IHEAP[_3];
        var _16 = _15+4*_14;
        var _17 = IHEAP[_16];
        IHEAP[_16] = _num_elements;
        var _18 = _17 == _num_elements;
        var _19 = IHEAP[_4];
        ;
        if (_18) {
          ;
          var _25 = IHEAP[_0];
          var _26 = _25 + -1;
          var _27 = _19+4*_26;
          var _28 = IHEAP[_27];
          var _29 = _19+4*_ptr_0_ph;
          IHEAP[_29] = _28;
          var _30 = IHEAP[_0];
          var _31 = _30 + -1;
          IHEAP[_0] = _31;
          ;
          return _14;
        }
        else {
          ;
          var _20 = _17 - _num_elements;
          var _21 = _14 + _num_elements;
          var _22 = _19+4*_ptr_0_ph;
          IHEAP[_22] = _21;
          var _23 = IHEAP[_3];
          var _24 = _23+4*_21;
          IHEAP[_24] = _20;
          ;
          return _14;
        }
      }
    } while(0);
    ;
    return -1;
  }
  __ZN19btGenericMemoryPool24allocate_from_free_nodesEj.__index__ = Runtime.getFunctionIndex(__ZN19btGenericMemoryPool24allocate_from_free_nodesEj, "__ZN19btGenericMemoryPool24allocate_from_free_nodesEj");
  
  
  function __ZN22btGenericPoolAllocatorD1Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV22btGenericPoolAllocator+8;
    var _1 = _this+76;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    if (_3) { __lastLabel__ = -1; __label__ = 44; /* _return */  } else { __lastLabel__ = -1; __label__ = 60; /* _bb */  }
    _return$_bb$11280: while(1) { // _return,_bb
      if (__label__ == 44) {
        ;
        return;
      }
      else if (__label__ == 60) {
        var _i_05 = __lastLabel__ == 60 ? _17 : (0);
        var _scevgep = _this+12+_i_05*4;
        var _4 = IHEAP[_scevgep];
        var _5 = _4;
        var _6 = IHEAP[_5];
        __Z21btAlignedFreeInternalPv(_6);
        var _7 = _4+4;
        var _8 = IHEAP[_7];
        var _9 = _8;
        __Z21btAlignedFreeInternalPv(_9);
        var _10 = _4+8;
        var _11 = IHEAP[_10];
        var _12 = _11;
        __Z21btAlignedFreeInternalPv(_12);
        var _13 = _4+12;
        IHEAP[_13] = 0;
        var _14 = _4+16;
        IHEAP[_14] = 0;
        var _15 = IHEAP[_scevgep];
        var _16 = _15;
        __Z21btAlignedFreeInternalPv(_16);
        var _17 = _i_05 + 1;
        var _18 = IHEAP[_1];
        var _19 = unSign(_18, 32) > unSign(_17, 32);
        if (_19) { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _return$_bb$11280; } else { __lastLabel__ = 60; __label__ = 44; /* _return */ continue _return$_bb$11280; }
      }
    }
  }
  __ZN22btGenericPoolAllocatorD1Ev.__index__ = Runtime.getFunctionIndex(__ZN22btGenericPoolAllocatorD1Ev, "__ZN22btGenericPoolAllocatorD1Ev");
  
  
  function __ZN22btGenericPoolAllocatorD0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV22btGenericPoolAllocator+8;
    var _1 = _this+76;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    if (_3) { __lastLabel__ = -1; __label__ = 116; /* _bb3 */  } else { __lastLabel__ = -1; __label__ = 60; /* _bb */  }
    _bb3$_bb$11285: while(1) { // _bb3,_bb
      if (__label__ == 116) {
        var _20 = _this;
        __ZdlPv(_20);
        ;
        return;
      }
      else if (__label__ == 60) {
        var _i_05 = __lastLabel__ == 60 ? _17 : (0);
        var _scevgep = _this+12+_i_05*4;
        var _4 = IHEAP[_scevgep];
        var _5 = _4;
        var _6 = IHEAP[_5];
        __Z21btAlignedFreeInternalPv(_6);
        var _7 = _4+4;
        var _8 = IHEAP[_7];
        var _9 = _8;
        __Z21btAlignedFreeInternalPv(_9);
        var _10 = _4+8;
        var _11 = IHEAP[_10];
        var _12 = _11;
        __Z21btAlignedFreeInternalPv(_12);
        var _13 = _4+12;
        IHEAP[_13] = 0;
        var _14 = _4+16;
        IHEAP[_14] = 0;
        var _15 = IHEAP[_scevgep];
        var _16 = _15;
        __Z21btAlignedFreeInternalPv(_16);
        var _17 = _i_05 + 1;
        var _18 = IHEAP[_1];
        var _19 = unSign(_18, 32) > unSign(_17, 32);
        if (_19) { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb3$_bb$11285; } else { __lastLabel__ = 60; __label__ = 116; /* _bb3 */ continue _bb3$_bb$11285; }
      }
    }
  }
  __ZN22btGenericPoolAllocatorD0Ev.__index__ = Runtime.getFunctionIndex(__ZN22btGenericPoolAllocatorD0Ev, "__ZN22btGenericPoolAllocatorD0Ev");
  
  
  function __ZN19btGenericMemoryPool18allocate_from_poolEj(_this, _num_elements) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 + _num_elements;
    var _3 = _this+24;
    var _4 = IHEAP[_3];
    var _5 = unSign(_2, 32) > unSign(_4, 32);
    ;
    if (_5) {
      ;
      ;
      return -1;
    }
    else {
      ;
      var _6 = _this+8;
      var _7 = IHEAP[_6];
      var _8 = _7+4*_1;
      IHEAP[_8] = _num_elements;
      var _9 = IHEAP[_0];
      var _10 = _9 + _num_elements;
      IHEAP[_0] = _10;
      ;
      return _1;
    }
  }
  __ZN19btGenericMemoryPool18allocate_from_poolEj.__index__ = Runtime.getFunctionIndex(__ZN19btGenericMemoryPool18allocate_from_poolEj, "__ZN19btGenericMemoryPool18allocate_from_poolEj");
  
  
  function __ZN19btGenericMemoryPool8allocateEj(_this, _size_bytes) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+20;
    var _1 = IHEAP[_0];
    var _2 = Math.floor(unSign(_size_bytes, 32) % unSign(_1, 32));
    var _3 = Math.floor(unSign(_size_bytes, 32) / unSign(_1, 32));
    var _not_ = _2 != 0;
    var _4 = _not_;
    var _element_count_0 = _4 + _3;
    var _5 = _this+16;
    var _6 = IHEAP[_5];
    var _7 = _6 == 0;
    ;
    _bb3$_bb1_i$11294: do { 
      if (!_7) {
        ;
        var _8 = _this+8;
        var _9 = _this+4;
        __lastLabel__ = 159; ;
        _bb4_outer_i$11296: while(1) { // _bb4_outer_i
          var _ptr_0_ph_i = __lastLabel__ == 159 ? -1 : (_tmp22_i);
          var _revindex_0_ph_i = __lastLabel__ == 159 ? _6 : (_tmp22_i);
          var _10 = _ptr_0_ph_i == -1;
          if (!(_10)) { __label__ = 1057; /* _bb11_i */ break _bb4_outer_i$11296; }
          var _tmp21_i = _revindex_0_ph_i + -1;
          __lastLabel__ = 2142; ;
          _bb4_us_i$11299: while(1) { // _bb4_us_i
            var _indvar_i = __lastLabel__ == 2144 ? _indvar_next_i : (0);
            var _tmp22_i = _tmp21_i - _indvar_i;
            var __not_us_i = _tmp22_i == -1;
            if (__not_us_i) { __label__ = 181; /* _bb9_i */ break _bb4_outer_i$11296; }
            var _11 = IHEAP[_8];
            var _12 = IHEAP[_9];
            var _scevgep_i = _12+4*_tmp22_i;
            var _13 = IHEAP[_scevgep_i];
            var _14 = _11+4*_13;
            var _15 = IHEAP[_14];
            var _16 = unSign(_15, 32) < unSign(_element_count_0, 32);
            var _indvar_next_i = _indvar_i + 1;
            if (_16) { __lastLabel__ = 2144; __label__ = 2143; /* _bb4_us_i */ continue _bb4_us_i$11299; } else { __lastLabel__ = 2144; __label__ = 2141; /* _bb4_outer_i */ continue _bb4_outer_i$11296; }
          }
        }
        if (__label__ == 181) {
          if (_10) { __label__ = 116; /* _bb3 */ break _bb3$_bb1_i$11294; }
        }
        var _17 = IHEAP[_9];
        var _18 = _17+4*_ptr_0_ph_i;
        var _19 = IHEAP[_18];
        var _20 = IHEAP[_8];
        var _21 = _20+4*_19;
        var _22 = IHEAP[_21];
        IHEAP[_21] = _element_count_0;
        var _23 = _22 == _element_count_0;
        var _24 = IHEAP[_9];
        ;
        if (_23) {
          ;
          var _30 = IHEAP[_5];
          var _31 = _30 + -1;
          var _32 = _24+4*_31;
          var _33 = IHEAP[_32];
          var _34 = _24+4*_ptr_0_ph_i;
          IHEAP[_34] = _33;
          var _35 = IHEAP[_5];
          var _36 = _35 + -1;
          IHEAP[_5] = _36;
          ;
        }
        else {
          ;
          var _25 = _22 - _element_count_0;
          var _26 = _19 + _element_count_0;
          var _27 = _24+4*_ptr_0_ph_i;
          IHEAP[_27] = _26;
          var _28 = IHEAP[_8];
          var _29 = _28+4*_26;
          IHEAP[_29] = _25;
          ;
        }
        var _37 = _19 == -1;
        if (_37) { __label__ = 116; /* _bb3 */ break _bb3$_bb1_i$11294; }
        var _38 = _this;
        var _39 = IHEAP[_38];
        var _40 = IHEAP[_0];
        var _41 = _40 * _19;
        var _42 = _39+_41;
        ;
        return _42;
      }
    } while(0);
    var _43 = _this+12;
    var _44 = IHEAP[_43];
    var _45 = _44 + _element_count_0;
    var _46 = _this+24;
    var _47 = IHEAP[_46];
    var _48 = unSign(_45, 32) > unSign(_47, 32);
    ;
    _bb6$__ZN19btGenericMemoryPool18allocate_from_poolEj_exit$11311: do { 
      if (!_48) {
        ;
        var _49 = _this+8;
        var _50 = IHEAP[_49];
        var _51 = _50+4*_44;
        IHEAP[_51] = _element_count_0;
        var _52 = IHEAP[_43];
        var _53 = _52 + _element_count_0;
        IHEAP[_43] = _53;
        var _54 = _44 == -1;
        if (_54) { __label__ = 83; /* _bb6 */ break _bb6$__ZN19btGenericMemoryPool18allocate_from_poolEj_exit$11311; }
        var _55 = _this;
        var _56 = IHEAP[_55];
        var _57 = IHEAP[_0];
        var _58 = _57 * _44;
        var _59 = _56+_58;
        ;
        return _59;
      }
    } while(0);
    ;
    return 0;
  }
  __ZN19btGenericMemoryPool8allocateEj.__index__ = Runtime.getFunctionIndex(__ZN19btGenericMemoryPool8allocateEj, "__ZN19btGenericMemoryPool8allocateEj");
  
  
  function __ZN19btGenericMemoryPool10freeMemoryEPv(_this, _pointer) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 > _pointer;
    ;
    _bb4$_bb1$11316: do { 
      if (!_2) {
        ;
        var _3 = _pointer;
        var _4 = _1;
        var _5 = _3 - _4;
        var _6 = _this+20;
        var _7 = IHEAP[_6];
        var _8 = _this+24;
        var _9 = IHEAP[_8];
        var _10 = _9 * _7;
        var _11 = unSign(_10, 32) > unSign(_5, 32);
        if (!(_11)) { __label__ = 61; /* _bb4 */ break _bb4$_bb1$11316; }
        var _12 = _this+4;
        var _13 = IHEAP[_12];
        var _14 = _this+16;
        var _15 = IHEAP[_14];
        var _16 = Math.floor(unSign(_5, 32) / unSign(_7, 32));
        var _17 = _13+4*_15;
        IHEAP[_17] = _16;
        var _18 = IHEAP[_14];
        var _19 = _18 + 1;
        IHEAP[_14] = _19;
        ;
        return 1;
      }
    } while(0);
    ;
    return 0;
  }
  __ZN19btGenericMemoryPool10freeMemoryEPv.__index__ = Runtime.getFunctionIndex(__ZN19btGenericMemoryPool10freeMemoryEPv, "__ZN19btGenericMemoryPool10freeMemoryEPv");
  
  
  function __ZN22GIM_STANDARD_ALLOCATORD1Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV22btGenericPoolAllocator+8;
    var _1 = _this+76;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    if (_3) { __lastLabel__ = -1; __label__ = 2147; /* __ZN22btGenericPoolAllocatorD2Ev_exit */  } else { __lastLabel__ = -1; __label__ = 131; /* _bb_i */  }
    __ZN22btGenericPoolAllocatorD2Ev_exit$_bb_i$11321: while(1) { // __ZN22btGenericPoolAllocatorD2Ev_exit,_bb_i
      if (__label__ == 2147) {
        ;
        return;
      }
      else if (__label__ == 131) {
        var _i_05_i = __lastLabel__ == 131 ? _tmp : (0);
        var _tmp = _i_05_i + 1;
        var _scevgep_i = _this+12+_i_05_i*4;
        var _4 = IHEAP[_scevgep_i];
        var _5 = _4;
        var _6 = IHEAP[_5];
        __Z21btAlignedFreeInternalPv(_6);
        var _7 = _4+4;
        var _8 = IHEAP[_7];
        var _9 = _8;
        __Z21btAlignedFreeInternalPv(_9);
        var _10 = _4+8;
        var _11 = IHEAP[_10];
        var _12 = _11;
        __Z21btAlignedFreeInternalPv(_12);
        var _13 = _4+12;
        IHEAP[_13] = 0;
        var _14 = _4+16;
        IHEAP[_14] = 0;
        var _15 = IHEAP[_scevgep_i];
        var _16 = _15;
        __Z21btAlignedFreeInternalPv(_16);
        var _17 = IHEAP[_1];
        var _18 = unSign(_17, 32) > unSign(_tmp, 32);
        if (_18) { __lastLabel__ = 131; __label__ = 131; /* _bb_i */ continue __ZN22btGenericPoolAllocatorD2Ev_exit$_bb_i$11321; } else { __lastLabel__ = 131; __label__ = 2147; /* __ZN22btGenericPoolAllocatorD2Ev_exit */ continue __ZN22btGenericPoolAllocatorD2Ev_exit$_bb_i$11321; }
      }
    }
  }
  __ZN22GIM_STANDARD_ALLOCATORD1Ev.__index__ = Runtime.getFunctionIndex(__ZN22GIM_STANDARD_ALLOCATORD1Ev, "__ZN22GIM_STANDARD_ALLOCATORD1Ev");
  
  
  function __ZN22GIM_STANDARD_ALLOCATORD0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV22btGenericPoolAllocator+8;
    var _1 = _this+76;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    if (_3) { __lastLabel__ = -1; __label__ = 2147; /* __ZN22btGenericPoolAllocatorD2Ev_exit */  } else { __lastLabel__ = -1; __label__ = 131; /* _bb_i */  }
    __ZN22btGenericPoolAllocatorD2Ev_exit$_bb_i$11326: while(1) { // __ZN22btGenericPoolAllocatorD2Ev_exit,_bb_i
      if (__label__ == 2147) {
        var _19 = _this;
        __ZdlPv(_19);
        ;
        return;
      }
      else if (__label__ == 131) {
        var _i_05_i = __lastLabel__ == 131 ? _tmp : (0);
        var _tmp = _i_05_i + 1;
        var _scevgep_i = _this+12+_i_05_i*4;
        var _4 = IHEAP[_scevgep_i];
        var _5 = _4;
        var _6 = IHEAP[_5];
        __Z21btAlignedFreeInternalPv(_6);
        var _7 = _4+4;
        var _8 = IHEAP[_7];
        var _9 = _8;
        __Z21btAlignedFreeInternalPv(_9);
        var _10 = _4+8;
        var _11 = IHEAP[_10];
        var _12 = _11;
        __Z21btAlignedFreeInternalPv(_12);
        var _13 = _4+12;
        IHEAP[_13] = 0;
        var _14 = _4+16;
        IHEAP[_14] = 0;
        var _15 = IHEAP[_scevgep_i];
        var _16 = _15;
        __Z21btAlignedFreeInternalPv(_16);
        var _17 = IHEAP[_1];
        var _18 = unSign(_17, 32) > unSign(_tmp, 32);
        if (_18) { __lastLabel__ = 131; __label__ = 131; /* _bb_i */ continue __ZN22btGenericPoolAllocatorD2Ev_exit$_bb_i$11326; } else { __lastLabel__ = 131; __label__ = 2147; /* __ZN22btGenericPoolAllocatorD2Ev_exit */ continue __ZN22btGenericPoolAllocatorD2Ev_exit$_bb_i$11326; }
      }
    }
  }
  __ZN22GIM_STANDARD_ALLOCATORD0Ev.__index__ = Runtime.getFunctionIndex(__ZN22GIM_STANDARD_ALLOCATORD0Ev, "__ZN22GIM_STANDARD_ALLOCATORD0Ev");
  
  
  function ___tcf_0(_unnamed_arg) {
    ;
    var __label__;
    var __lastLabel__ = null;
    IHEAP[_g_main_allocator] = __ZTV22btGenericPoolAllocator+8;
    var _0 = IHEAP[_g_main_allocator+76];
    var _1 = _0 == 0;
    if (_1) { __lastLabel__ = -1; __label__ = 2148; /* __ZN22GIM_STANDARD_ALLOCATORD1Ev_exit */  } else { __lastLabel__ = -1; __label__ = 263; /* _bb_i_i */  }
    __ZN22GIM_STANDARD_ALLOCATORD1Ev_exit$_bb_i_i$11331: while(1) { // __ZN22GIM_STANDARD_ALLOCATORD1Ev_exit,_bb_i_i
      if (__label__ == 2148) {
        ;
        return;
      }
      else if (__label__ == 263) {
        var _i_05_i_i = __lastLabel__ == 263 ? _tmp_i : (0);
        var _tmp_i = _i_05_i_i + 1;
        var _scevgep_i_i = _g_main_allocator+12+_i_05_i_i*4;
        var _2 = IHEAP[_scevgep_i_i];
        var _3 = _2;
        var _4 = IHEAP[_3];
        __Z21btAlignedFreeInternalPv(_4);
        var _5 = _2+4;
        var _6 = IHEAP[_5];
        var _7 = _6;
        __Z21btAlignedFreeInternalPv(_7);
        var _8 = _2+8;
        var _9 = IHEAP[_8];
        var _10 = _9;
        __Z21btAlignedFreeInternalPv(_10);
        var _11 = _2+12;
        IHEAP[_11] = 0;
        var _12 = _2+16;
        IHEAP[_12] = 0;
        var _13 = IHEAP[_scevgep_i_i];
        var _14 = _13;
        __Z21btAlignedFreeInternalPv(_14);
        var _15 = IHEAP[_g_main_allocator+76];
        var _16 = unSign(_15, 32) > unSign(_tmp_i, 32);
        if (_16) { __lastLabel__ = 263; __label__ = 263; /* _bb_i_i */ continue __ZN22GIM_STANDARD_ALLOCATORD1Ev_exit$_bb_i_i$11331; } else { __lastLabel__ = 263; __label__ = 2148; /* __ZN22GIM_STANDARD_ALLOCATORD1Ev_exit */ continue __ZN22GIM_STANDARD_ALLOCATORD1Ev_exit$_bb_i_i$11331; }
      }
    }
  }
  ___tcf_0.__index__ = Runtime.getFunctionIndex(___tcf_0, "___tcf_0");
  
  
  function __ZN22btGenericPoolAllocator10freeMemoryEPv(_this, _pointer) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+76;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _bb9$_bb_nph$11337: do { 
      if (!_2) {
        ;
        var _3 = _pointer;
        __lastLabel__ = 130; ;
        _bb$11339: while(1) { // _bb
          var _i_015 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _scevgep = _this+12+_i_015*4;
          var _tmp = _i_015 + 1;
          var _4 = IHEAP[_scevgep];
          var _5 = _4;
          var _6 = IHEAP[_5];
          var _7 = _6 > _pointer;
          ;
          if (!_7) {
            ;
            var _8 = _6;
            var _9 = _3 - _8;
            var _10 = _4+20;
            var _11 = IHEAP[_10];
            var _12 = _4+24;
            var _13 = IHEAP[_12];
            var _14 = _13 * _11;
            var _15 = unSign(_14, 32) > unSign(_9, 32);
            if (_15) { __label__ = 150; /* _bb10 */ break _bb$11339; }
          }
          var _16 = IHEAP[_0];
          var _17 = unSign(_16, 32) > unSign(_tmp, 32);
          if (_17) { __lastLabel__ = 2150; __label__ = 60; /* _bb */ continue _bb$11339; } else { __lastLabel__ = 2150; __label__ = 62; /* _bb9 */ break _bb9$_bb_nph$11337; }
        }
        var _18 = _4+4;
        var _19 = IHEAP[_18];
        var _20 = _4+16;
        var _21 = IHEAP[_20];
        var _22 = Math.floor(unSign(_9, 32) / unSign(_11, 32));
        var _23 = _19+4*_21;
        IHEAP[_23] = _22;
        var _24 = IHEAP[_20];
        var _25 = _24 + 1;
        IHEAP[_20] = _25;
        ;
        return 1;
      }
    } while(0);
    __Z21btAlignedFreeInternalPv(_pointer);
    ;
    return 1;
  }
  __ZN22btGenericPoolAllocator10freeMemoryEPv.__index__ = Runtime.getFunctionIndex(__ZN22btGenericPoolAllocator10freeMemoryEPv, "__ZN22btGenericPoolAllocator10freeMemoryEPv");
  
  
  function __Z10btPoolFreePv(_ptr) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = IHEAP[_g_main_allocator+76];
    var _1 = _0 == 0;
    ;
    _bb9_i$_bb_nph_i$11347: do { 
      if (!_1) {
        ;
        var _2 = _ptr;
        __lastLabel__ = 418; ;
        _bb_i$11349: while(1) { // _bb_i
          var _i_015_i = __lastLabel__ == 418 ? 0 : (_tmp_i);
          var _tmp_i = _i_015_i + 1;
          var _scevgep_i = _g_main_allocator+12+_i_015_i*4;
          var _3 = IHEAP[_scevgep_i];
          var _4 = _3;
          var _5 = IHEAP[_4];
          var _6 = _5 > _ptr;
          ;
          if (!_6) {
            ;
            var _7 = _5;
            var _8 = _2 - _7;
            var _9 = _3+20;
            var _10 = IHEAP[_9];
            var _11 = _3+24;
            var _12 = IHEAP[_11];
            var _13 = _12 * _10;
            var _14 = unSign(_13, 32) > unSign(_8, 32);
            if (_14) { __label__ = 581; /* _bb10_i */ break _bb_i$11349; }
          }
          var _15 = unSign(_0, 32) > unSign(_tmp_i, 32);
          if (_15) { __lastLabel__ = 2152; __label__ = 131; /* _bb_i */ continue _bb_i$11349; } else { __lastLabel__ = 2152; __label__ = 181; /* _bb9_i */ break _bb9_i$_bb_nph_i$11347; }
        }
        var _16 = _3+4;
        var _17 = IHEAP[_16];
        var _18 = _3+16;
        var _19 = IHEAP[_18];
        var _20 = Math.floor(unSign(_8, 32) / unSign(_10, 32));
        var _21 = _17+4*_19;
        IHEAP[_21] = _20;
        var _22 = IHEAP[_18];
        var _23 = _22 + 1;
        IHEAP[_18] = _23;
        ;
        return;
      }
    } while(0);
    __Z21btAlignedFreeInternalPv(_ptr);
    ;
    return;
  }
  __Z10btPoolFreePv.__index__ = Runtime.getFunctionIndex(__Z10btPoolFreePv, "__Z10btPoolFreePv");
  
  
  function __ZN19btGenericMemoryPool8end_poolEv(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    __Z21btAlignedFreeInternalPv(_1);
    var _2 = _this+4;
    var _3 = IHEAP[_2];
    var _4 = _3;
    __Z21btAlignedFreeInternalPv(_4);
    var _5 = _this+8;
    var _6 = IHEAP[_5];
    var _7 = _6;
    __Z21btAlignedFreeInternalPv(_7);
    var _8 = _this+12;
    IHEAP[_8] = 0;
    var _9 = _this+16;
    IHEAP[_9] = 0;
    ;
    return;
  }
  __ZN19btGenericMemoryPool8end_poolEv.__index__ = Runtime.getFunctionIndex(__ZN19btGenericMemoryPool8end_poolEv, "__ZN19btGenericMemoryPool8end_poolEv");
  
  
  function __ZN22btGenericPoolAllocatorD2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV22btGenericPoolAllocator+8;
    var _1 = _this+76;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    if (_3) { __lastLabel__ = -1; __label__ = 44; /* _return */  } else { __lastLabel__ = -1; __label__ = 60; /* _bb */  }
    _return$_bb$11358: while(1) { // _return,_bb
      if (__label__ == 44) {
        ;
        return;
      }
      else if (__label__ == 60) {
        var _i_05 = __lastLabel__ == 60 ? _17 : (0);
        var _scevgep = _this+12+_i_05*4;
        var _4 = IHEAP[_scevgep];
        var _5 = _4;
        var _6 = IHEAP[_5];
        __Z21btAlignedFreeInternalPv(_6);
        var _7 = _4+4;
        var _8 = IHEAP[_7];
        var _9 = _8;
        __Z21btAlignedFreeInternalPv(_9);
        var _10 = _4+8;
        var _11 = IHEAP[_10];
        var _12 = _11;
        __Z21btAlignedFreeInternalPv(_12);
        var _13 = _4+12;
        IHEAP[_13] = 0;
        var _14 = _4+16;
        IHEAP[_14] = 0;
        var _15 = IHEAP[_scevgep];
        var _16 = _15;
        __Z21btAlignedFreeInternalPv(_16);
        var _17 = _i_05 + 1;
        var _18 = IHEAP[_1];
        var _19 = unSign(_18, 32) > unSign(_17, 32);
        if (_19) { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _return$_bb$11358; } else { __lastLabel__ = 60; __label__ = 44; /* _return */ continue _return$_bb$11358; }
      }
    }
  }
  __ZN22btGenericPoolAllocatorD2Ev.__index__ = Runtime.getFunctionIndex(__ZN22btGenericPoolAllocatorD2Ev, "__ZN22btGenericPoolAllocatorD2Ev");
  
  
  function __ZN9btBvhTree20_calc_splitting_axisER18GIM_BVH_DATA_ARRAYii(_this, _primitive_boxes, _startIndex, _endIndex) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _endIndex - _startIndex;
    var _1 = _startIndex < _endIndex;
    ;
    _bb_nph45$_bb2_thread$11426: do { 
      if (_1) {
        ;
        var _3 = _primitive_boxes+12;
        var _4 = IHEAP[_3];
        __lastLabel__ = 2166; ;
        _bb$11428: while(1) { // _bb
          var _indvar61 = __lastLabel__ == 2166 ? 0 : (_indvar_next62);
          var _means_0_2_043 = __lastLabel__ == 2166 ? 0 : (_19);
          var _means_0_1_042 = __lastLabel__ == 2166 ? 0 : (_18);
          var _means_0_0_041 = __lastLabel__ == 2166 ? 0 : (_17);
          var _tmp65 = _indvar61 + _startIndex;
          var _scevgep66 = _4+36*_tmp65+16+8;
          var _scevgep67 = _4+36*_tmp65+8;
          var _scevgep68 = _4+36*_tmp65+16+4;
          var _scevgep69 = _4+36*_tmp65+4;
          var _scevgep70 = _4+36*_tmp65+16;
          var _scevgep7172 = _4+36*_tmp65;
          var _5 = FHEAP[_scevgep66];
          var _6 = FHEAP[_scevgep67];
          var _7 = _5 + _6;
          var _8 = FHEAP[_scevgep68];
          var _9 = FHEAP[_scevgep69];
          var _10 = _8 + _9;
          var _11 = FHEAP[_scevgep70];
          var _12 = FHEAP[_scevgep7172];
          var _13 = _11 + _12;
          var _14 = _7 * 0.5;
          var _15 = _10 * 0.5;
          var _16 = _13 * 0.5;
          var _17 = _means_0_0_041 + _16;
          var _18 = _means_0_1_042 + _15;
          var _19 = _means_0_2_043 + _14;
          var _indvar_next62 = _indvar61 + 1;
          var _exitcond64 = _indvar_next62 == _0;
          if (_exitcond64) { __lastLabel__ = 60; __label__ = 0; /* _bb2 */ break _bb$11428; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$11428; }
        }
        var _20 = _0;
        var _21 = 1 / _20;
        var _22 = _17 * _21;
        var _23 = _18 * _21;
        var _24 = _19 * _21;
        if (_1) { __lastLabel__ = 0; ; } else { __lastLabel__ = 0; __label__ = 83; /* _bb6 */ break _bb_nph45$_bb2_thread$11426; }
        var _25 = _primitive_boxes+12;
        var _26 = IHEAP[_25];
        __lastLabel__ = 130; ;
        _bb3$11432: while(1) { // _bb3
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _variance_0_2_037 = __lastLabel__ == 130 ? 0 : (_47);
          var _variance_0_1_036 = __lastLabel__ == 130 ? 0 : (_46);
          var _variance_0_0_035 = __lastLabel__ == 130 ? 0 : (_45);
          var _tmp51 = _indvar + _startIndex;
          var _scevgep = _26+36*_tmp51+16+8;
          var _scevgep52 = _26+36*_tmp51+8;
          var _scevgep53 = _26+36*_tmp51+16+4;
          var _scevgep54 = _26+36*_tmp51+4;
          var _scevgep55 = _26+36*_tmp51+16;
          var _scevgep5657 = _26+36*_tmp51;
          var _27 = FHEAP[_scevgep];
          var _28 = FHEAP[_scevgep52];
          var _29 = _27 + _28;
          var _30 = FHEAP[_scevgep53];
          var _31 = FHEAP[_scevgep54];
          var _32 = _30 + _31;
          var _33 = FHEAP[_scevgep55];
          var _34 = FHEAP[_scevgep5657];
          var _35 = _33 + _34;
          var _36 = _29 * 0.5;
          var _37 = _32 * 0.5;
          var _38 = _35 * 0.5;
          var _39 = _36 - _24;
          var _40 = _37 - _23;
          var _41 = _38 - _22;
          var _42 = _39 * _39;
          var _43 = _40 * _40;
          var _44 = _41 * _41;
          var _45 = _variance_0_0_035 + _44;
          var _46 = _variance_0_1_036 + _43;
          var _47 = _variance_0_2_037 + _42;
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _0;
          if (_exitcond) { __lastLabel__ = 116; __label__ = 83; /* _bb6 */ break _bb_nph45$_bb2_thread$11426; } else { __lastLabel__ = 116; __label__ = 116; /* _bb3 */ continue _bb3$11432; }
        }
      }
      else {
        ;
        var _2 = _0;
        __lastLabel__ = 791; ;
      }
    } while(0);
    var _48 = __lastLabel__ == 0 ? _20 : (__lastLabel__ == 791 ? _2 : (_20));
    var _variance_0_2_0_lcssa = __lastLabel__ == 0 ? 0 : (__lastLabel__ == 791 ? 0 : (_47));
    var _variance_0_1_0_lcssa = __lastLabel__ == 0 ? 0 : (__lastLabel__ == 791 ? 0 : (_46));
    var _variance_0_0_0_lcssa = __lastLabel__ == 0 ? 0 : (__lastLabel__ == 791 ? 0 : (_45));
    var _49 = _48 + -1;
    var _50 = 1 / _49;
    var _51 = _variance_0_0_0_lcssa * _50;
    var _52 = _variance_0_1_0_lcssa * _50;
    var _53 = _variance_0_2_0_lcssa * _50;
    var _54 = _51 < _52;
    ;
    if (_54) {
      ;
      var _55 = _52 < _53;
      var _iftmp_20_0_i = _55 ? 2 : 1;
      ;
      return _iftmp_20_0_i;
    }
    else {
      ;
      var _56 = _51 < _53;
      var _iftmp_21_0_i = _56 ? 2 : 0;
      ;
      return _iftmp_21_0_i;
    }
  }
  __ZN9btBvhTree20_calc_splitting_axisER18GIM_BVH_DATA_ARRAYii.__index__ = Runtime.getFunctionIndex(__ZN9btBvhTree20_calc_splitting_axisER18GIM_BVH_DATA_ARRAYii, "__ZN9btBvhTree20_calc_splitting_axisER18GIM_BVH_DATA_ARRAYii");
  
  
  function __ZN12btGImpactBvh5refitEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 96;
    var __label__;
    var __lastLabel__ = null;
    var _leafbox = __stackBase__;
    var _bound = __stackBase__+32;
    var _temp_box = __stackBase__+64;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _return$_bb_nph$11475: do { 
      if (!_2) {
        ;
        var _3 = _this+4+12;
        var _4 = _bound;
        var _5 = _bound+4;
        var _6 = _bound+8;
        var _7 = _bound+16;
        var _8 = _bound+16+4;
        var _9 = _bound+16+8;
        var _10 = _bound+12;
        var _11 = _bound+16+12;
        var _12 = _temp_box;
        var _13 = _temp_box+4;
        var _14 = _temp_box+8;
        var _15 = _temp_box+12;
        var _16 = _temp_box+16;
        var _17 = _temp_box+16+4;
        var _18 = _temp_box+16+8;
        var _19 = _temp_box+16+12;
        var _20 = _this+24;
        var _21 = _leafbox;
        var _22 = _leafbox+4;
        var _23 = _leafbox+8;
        var _24 = _leafbox+12;
        var _25 = _leafbox+16;
        var _26 = _leafbox+16+4;
        var _27 = _leafbox+16+8;
        var _28 = _leafbox+16+12;
        var _tmp49 = _1 + -1;
        __lastLabel__ = 130; ;
        _bb$11477: while(1) { // _bb
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _nodecount_028 = _1 - _indvar;
          var _tmp50 = _tmp49 - _indvar;
          var _29 = IHEAP[_3];
          var _scevgep69 = _29+36*_nodecount_028+-4;
          var _scevgep6970 = _scevgep69;
          var _30 = IHEAP[_scevgep6970];
          var _toBool = _30 < 0;
          ;
          if (_toBool) {
            ;
            FHEAP[_4] = 3.4028234663852886e+38;
            FHEAP[_5] = 3.4028234663852886e+38;
            FHEAP[_6] = 3.4028234663852886e+38;
            FHEAP[_7] = -3.4028234663852886e+38;
            FHEAP[_8] = -3.4028234663852886e+38;
            FHEAP[_9] = -3.4028234663852886e+38;
            var _46 = _1 == _indvar;
            ;
            if (_46) {
              __lastLabel__ = 0; ;
            }
            else {
              __lastLabel__ = 0; ;
              var _scevgep31 = _29+36*_nodecount_028;
              var _47 = FHEAP[_scevgep31];
              FHEAP[_12] = _47;
              var _scevgep32 = _29+36*_nodecount_028+4;
              var _48 = FHEAP[_scevgep32];
              FHEAP[_13] = _48;
              var _scevgep33 = _29+36*_nodecount_028+8;
              var _49 = FHEAP[_scevgep33];
              FHEAP[_14] = _49;
              var _scevgep34 = _29+36*_nodecount_028+12;
              var _50 = FHEAP[_scevgep34];
              FHEAP[_15] = _50;
              var _scevgep35 = _29+36*_nodecount_028+16;
              var _51 = FHEAP[_scevgep35];
              FHEAP[_16] = _51;
              var _scevgep36 = _29+36*_nodecount_028+16+4;
              var _52 = FHEAP[_scevgep36];
              FHEAP[_17] = _52;
              var _scevgep37 = _29+36*_nodecount_028+16+8;
              var _53 = FHEAP[_scevgep37];
              FHEAP[_18] = _53;
              var _scevgep38 = _29+36*_nodecount_028+16+12;
              var _54 = FHEAP[_scevgep38];
              FHEAP[_19] = _54;
              var _55 = _47 < 3.4028234663852886e+38;
              var _box_pn25_i10 = _55 ? _temp_box : _bound;
              var _iftmp_139_0_in_i11 = _box_pn25_i10;
              var _iftmp_139_0_i12 = FHEAP[_iftmp_139_0_in_i11];
              FHEAP[_4] = _iftmp_139_0_i12;
              var _56 = _48 < 3.4028234663852886e+38;
              var _box_pn24_i13 = _56 ? _temp_box : _bound;
              var _iftmp_140_0_in_i14 = _box_pn24_i13+4;
              var _iftmp_140_0_i15 = FHEAP[_iftmp_140_0_in_i14];
              FHEAP[_5] = _iftmp_140_0_i15;
              var _57 = _49 < 3.4028234663852886e+38;
              var _box_pn23_i16 = _57 ? _temp_box : _bound;
              var _iftmp_141_0_in_i17 = _box_pn23_i16+8;
              var _iftmp_141_0_i18 = FHEAP[_iftmp_141_0_in_i17];
              FHEAP[_6] = _iftmp_141_0_i18;
              var _58 = _51 > -3.4028234663852886e+38;
              var _box_pn22_i19 = _58 ? _temp_box : _bound;
              var _iftmp_142_0_in_i20 = _box_pn22_i19+16;
              var _iftmp_142_0_i21 = FHEAP[_iftmp_142_0_in_i20];
              FHEAP[_7] = _iftmp_142_0_i21;
              var _59 = _52 > -3.4028234663852886e+38;
              var _box_pn21_i22 = _59 ? _temp_box : _bound;
              var _iftmp_143_0_in_i23 = _box_pn21_i22+16+4;
              var _iftmp_143_0_i24 = FHEAP[_iftmp_143_0_in_i23];
              FHEAP[_8] = _iftmp_143_0_i24;
              var _60 = _53 > -3.4028234663852886e+38;
              var _box_pn_i25 = _60 ? _temp_box : _bound;
              var _iftmp_144_0_in_i26 = _box_pn_i25+16+8;
              var _iftmp_144_0_i27 = FHEAP[_iftmp_144_0_in_i26];
              FHEAP[_9] = _iftmp_144_0_i27;
              __lastLabel__ = 116; ;
            }
            var _61 = __lastLabel__ == 0 ? -3.4028234663852886e+38 : (_iftmp_144_0_i27);
            var _62 = __lastLabel__ == 0 ? -3.4028234663852886e+38 : (_iftmp_143_0_i24);
            var _63 = __lastLabel__ == 0 ? -3.4028234663852886e+38 : (_iftmp_142_0_i21);
            var _64 = __lastLabel__ == 0 ? 3.4028234663852886e+38 : (_iftmp_141_0_i18);
            var _65 = __lastLabel__ == 0 ? 3.4028234663852886e+38 : (_iftmp_140_0_i15);
            var _66 = __lastLabel__ == 0 ? 3.4028234663852886e+38 : (_iftmp_139_0_i12);
            var _scevgep39 = _29+36*_nodecount_028+32;
            var _67 = IHEAP[_scevgep39];
            var _toBool_i_i = _67 < 0;
            var _tmp = 0 - _67;
            var __p = _toBool_i_i ? _tmp : 1;
            var _tmp48 = 0 - _nodecount_028;
            var _68 = __p == _tmp48;
            ;
            if (_68) {
              __lastLabel__ = 61; ;
            }
            else {
              __lastLabel__ = 61; ;
              var _tmp47 = __p + _nodecount_028;
              var _69 = _29+36*_tmp47;
              var _70 = FHEAP[_69];
              FHEAP[_12] = _70;
              var _71 = _29+36*_tmp47+4;
              var _72 = FHEAP[_71];
              FHEAP[_13] = _72;
              var _73 = _29+36*_tmp47+8;
              var _74 = FHEAP[_73];
              FHEAP[_14] = _74;
              var _75 = _29+36*_tmp47+12;
              var _76 = FHEAP[_75];
              FHEAP[_15] = _76;
              var _77 = _29+36*_tmp47+16;
              var _78 = FHEAP[_77];
              FHEAP[_16] = _78;
              var _79 = _29+36*_tmp47+16+4;
              var _80 = FHEAP[_79];
              FHEAP[_17] = _80;
              var _81 = _29+36*_tmp47+16+8;
              var _82 = FHEAP[_81];
              FHEAP[_18] = _82;
              var _83 = _29+36*_tmp47+16+12;
              var _84 = FHEAP[_83];
              FHEAP[_19] = _84;
              var _85 = _66 > _70;
              var _box_pn25_i = _85 ? _temp_box : _bound;
              var _iftmp_139_0_in_i = _box_pn25_i;
              var _iftmp_139_0_i = FHEAP[_iftmp_139_0_in_i];
              FHEAP[_4] = _iftmp_139_0_i;
              var _86 = _65 > _72;
              var _box_pn24_i = _86 ? _temp_box : _bound;
              var _iftmp_140_0_in_i = _box_pn24_i+4;
              var _iftmp_140_0_i = FHEAP[_iftmp_140_0_in_i];
              FHEAP[_5] = _iftmp_140_0_i;
              var _87 = _64 > _74;
              var _box_pn23_i = _87 ? _temp_box : _bound;
              var _iftmp_141_0_in_i = _box_pn23_i+8;
              var _iftmp_141_0_i = FHEAP[_iftmp_141_0_in_i];
              FHEAP[_6] = _iftmp_141_0_i;
              var _88 = _63 < _78;
              var _box_pn22_i = _88 ? _temp_box : _bound;
              var _iftmp_142_0_in_i = _box_pn22_i+16;
              var _iftmp_142_0_i = FHEAP[_iftmp_142_0_in_i];
              FHEAP[_7] = _iftmp_142_0_i;
              var _89 = _62 < _80;
              var _box_pn21_i = _89 ? _temp_box : _bound;
              var _iftmp_143_0_in_i = _box_pn21_i+16+4;
              var _iftmp_143_0_i = FHEAP[_iftmp_143_0_in_i];
              FHEAP[_8] = _iftmp_143_0_i;
              var _90 = _61 < _82;
              var _box_pn_i = _90 ? _temp_box : _bound;
              var _iftmp_144_0_in_i = _box_pn_i+16+8;
              var _iftmp_144_0_i = FHEAP[_iftmp_144_0_in_i];
              FHEAP[_9] = _iftmp_144_0_i;
              __lastLabel__ = 82; ;
            }
            var _91 = __lastLabel__ == 61 ? _66 : (_iftmp_139_0_i);
            var _scevgep5152 = _29+36*_tmp50;
            FHEAP[_scevgep5152] = _91;
            var _92 = FHEAP[_5];
            var _scevgep53 = _29+36*_nodecount_028+-32;
            FHEAP[_scevgep53] = _92;
            var _93 = FHEAP[_6];
            var _scevgep54 = _29+36*_nodecount_028+-28;
            FHEAP[_scevgep54] = _93;
            var _94 = FHEAP[_10];
            var _scevgep55 = _29+36*_nodecount_028+-24;
            FHEAP[_scevgep55] = _94;
            var _95 = FHEAP[_7];
            var _scevgep56 = _29+36*_nodecount_028+-20;
            FHEAP[_scevgep56] = _95;
            var _96 = FHEAP[_8];
            var _scevgep57 = _29+36*_nodecount_028+-16;
            FHEAP[_scevgep57] = _96;
            var _97 = FHEAP[_9];
            var _scevgep58 = _29+36*_nodecount_028+-12;
            FHEAP[_scevgep58] = _97;
            var _98 = FHEAP[_11];
            var _scevgep59 = _29+36*_nodecount_028+-8;
            FHEAP[_scevgep59] = _98;
            ;
          }
          else {
            ;
            var _31 = IHEAP[_20];
            var _32 = _31;
            var _33 = IHEAP[_32];
            var _34 = _33+16;
            var _35 = IHEAP[_34];
            var _36 = _35;
            FUNCTION_TABLE[_36](_31, _30, _leafbox);
            var _37 = IHEAP[_3];
            var _38 = FHEAP[_21];
            var _scevgep6061 = _37+36*_tmp50;
            FHEAP[_scevgep6061] = _38;
            var _39 = FHEAP[_22];
            var _scevgep62 = _37+36*_nodecount_028+-32;
            FHEAP[_scevgep62] = _39;
            var _40 = FHEAP[_23];
            var _scevgep63 = _37+36*_nodecount_028+-28;
            FHEAP[_scevgep63] = _40;
            var _41 = FHEAP[_24];
            var _scevgep64 = _37+36*_nodecount_028+-24;
            FHEAP[_scevgep64] = _41;
            var _42 = FHEAP[_25];
            var _scevgep65 = _37+36*_nodecount_028+-20;
            FHEAP[_scevgep65] = _42;
            var _43 = FHEAP[_26];
            var _scevgep66 = _37+36*_nodecount_028+-16;
            FHEAP[_scevgep66] = _43;
            var _44 = FHEAP[_27];
            var _scevgep67 = _37+36*_nodecount_028+-12;
            FHEAP[_scevgep67] = _44;
            var _45 = FHEAP[_28];
            var _scevgep68 = _37+36*_nodecount_028+-8;
            FHEAP[_scevgep68] = _45;
            ;
          }
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _1;
          if (_exitcond) { __lastLabel__ = 2170; __label__ = 44; /* _return */ break _return$_bb_nph$11475; } else { __lastLabel__ = 2170; __label__ = 60; /* _bb */ continue _bb$11477; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN12btGImpactBvh5refitEv.__index__ = Runtime.getFunctionIndex(__ZN12btGImpactBvh5refitEv, "__ZN12btGImpactBvh5refitEv");
  
  
  function __ZN9btBvhTree30_sort_and_calc_splitting_indexER18GIM_BVH_DATA_ARRAYiii(_this, _primitive_boxes, _startIndex, _endIndex, _splitAxis) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _means = __stackBase__;
    var _center4 = __stackBase__+16;
    var _0 = _endIndex - _startIndex;
    var _1 = _means;
    FHEAP[_1] = 0;
    var _2 = _means+4;
    FHEAP[_2] = 0;
    var _3 = _means+8;
    FHEAP[_3] = 0;
    var _4 = _means+12;
    FHEAP[_4] = 0;
    var _5 = _startIndex < _endIndex;
    ;
    if (_5) {
      __lastLabel__ = -1; ;
      var _6 = _primitive_boxes+12;
      var _7 = IHEAP[_6];
      __lastLabel__ = 2173; ;
      _bb$11493: while(1) { // _bb
        var _indvar56 = __lastLabel__ == 2173 ? 0 : (_indvar_next57);
        var _8 = __lastLabel__ == 2173 ? 0 : (_25);
        var _9 = __lastLabel__ == 2173 ? 0 : (_24);
        var _10 = __lastLabel__ == 2173 ? 0 : (_23);
        var _tmp60 = _indvar56 + _startIndex;
        var _scevgep61 = _7+36*_tmp60+16+8;
        var _scevgep62 = _7+36*_tmp60+8;
        var _scevgep63 = _7+36*_tmp60+16+4;
        var _scevgep64 = _7+36*_tmp60+4;
        var _scevgep65 = _7+36*_tmp60+16;
        var _scevgep6667 = _7+36*_tmp60;
        var _11 = FHEAP[_scevgep61];
        var _12 = FHEAP[_scevgep62];
        var _13 = _11 + _12;
        var _14 = FHEAP[_scevgep63];
        var _15 = FHEAP[_scevgep64];
        var _16 = _14 + _15;
        var _17 = FHEAP[_scevgep65];
        var _18 = FHEAP[_scevgep6667];
        var _19 = _17 + _18;
        var _20 = _13 * 0.5;
        var _21 = _16 * 0.5;
        var _22 = _19 * 0.5;
        var _23 = _10 + _22;
        var _24 = _9 + _21;
        var _25 = _8 + _20;
        var _indvar_next57 = _indvar56 + 1;
        var _exitcond59 = _indvar_next57 == _0;
        if (_exitcond59) { __lastLabel__ = 60; __label__ = 804; /* _bb1_bb2_crit_edge */ break _bb$11493; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$11493; }
      }
      FHEAP[_3] = _25;
      FHEAP[_2] = _24;
      FHEAP[_1] = _23;
      __lastLabel__ = 804; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _26 = __lastLabel__ == 804 ? _25 : (0);
    var _27 = __lastLabel__ == 804 ? _24 : (0);
    var _28 = __lastLabel__ == 804 ? _23 : (0);
    var _29 = _0;
    var _30 = 1 / _29;
    var _31 = _28 * _30;
    FHEAP[_1] = _31;
    var _32 = _27 * _30;
    FHEAP[_2] = _32;
    var _33 = _26 * _30;
    FHEAP[_3] = _33;
    var _34 = _means+_splitAxis*4;
    var _35 = FHEAP[_34];
    ;
    _bb_nph$_bb8$11497: do { 
      if (_5) {
        __lastLabel__ = 0; ;
        var _36 = _primitive_boxes+12;
        var _37 = _center4;
        var _38 = _center4+4;
        var _39 = _center4+8;
        var _40 = _center4+12;
        var _41 = _center4+_splitAxis*4;
        __lastLabel__ = 130; ;
        _bb3$11499: while(1) { // _bb3
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _splitIndex_128 = __lastLabel__ == 130 ? _startIndex : (_splitIndex_0);
          var _tmp35 = _indvar + _startIndex;
          var _42 = IHEAP[_36];
          var _scevgep47 = _42+36*_tmp35+16+8;
          var _43 = FHEAP[_scevgep47];
          var _scevgep48 = _42+36*_tmp35+8;
          var _44 = FHEAP[_scevgep48];
          var _45 = _43 + _44;
          var _scevgep49 = _42+36*_tmp35+16+4;
          var _46 = FHEAP[_scevgep49];
          var _scevgep50 = _42+36*_tmp35+4;
          var _47 = FHEAP[_scevgep50];
          var _48 = _46 + _47;
          var _scevgep51 = _42+36*_tmp35+16;
          var _49 = FHEAP[_scevgep51];
          var _scevgep5253 = _42+36*_tmp35;
          var _50 = FHEAP[_scevgep5253];
          var _51 = _49 + _50;
          var _52 = _45 * 0.5;
          var _53 = _48 * 0.5;
          var _54 = _51 * 0.5;
          FHEAP[_37] = _54;
          FHEAP[_38] = _53;
          FHEAP[_39] = _52;
          FHEAP[_40] = 0;
          var _55 = FHEAP[_41];
          var _56 = _55 > _35;
          ;
          if (_56) {
            __lastLabel__ = 116; ;
            var _scevgep39 = _42+36*_tmp35+12;
            var _57 = FHEAP[_scevgep39];
            var _scevgep43 = _42+36*_tmp35+16+12;
            var _58 = FHEAP[_scevgep43];
            var _scevgep44 = _42+36*_tmp35+32;
            var _59 = IHEAP[_scevgep44];
            var _60 = _42+36*_splitIndex_128;
            var _61 = _60;
            var _scevgep45 = _42+36*_tmp35;
            var _scevgep4546 = _scevgep45;
            _llvm_memcpy_p0i8_p0i8_i32(_scevgep4546, _61, 36, 4, false);
            var _62 = IHEAP[_36];
            var __020_i = _62+36*_splitIndex_128;
            FHEAP[__020_i] = _50;
            var __122_i = _62+36*_splitIndex_128+4;
            FHEAP[__122_i] = _47;
            var __2_i = _62+36*_splitIndex_128+8;
            FHEAP[__2_i] = _44;
            var __3_i = _62+36*_splitIndex_128+12;
            FHEAP[__3_i] = _57;
            var __1813_0_i = _62+36*_splitIndex_128+16;
            FHEAP[__1813_0_i] = _49;
            var __1813_1_i = _62+36*_splitIndex_128+16+4;
            FHEAP[__1813_1_i] = _46;
            var __1813_2_i = _62+36*_splitIndex_128+16+8;
            FHEAP[__1813_2_i] = _43;
            var __1813_3_i = _62+36*_splitIndex_128+16+12;
            FHEAP[__1813_3_i] = _58;
            var __1_i = _62+36*_splitIndex_128+32;
            IHEAP[__1_i] = _59;
            var _63 = _splitIndex_128 + 1;
            __lastLabel__ = 82; ;
          }
          else {
            __lastLabel__ = 116; ;
          }
          var _splitIndex_0 = __lastLabel__ == 82 ? _63 : (_splitIndex_128);
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _0;
          if (_exitcond) { __lastLabel__ = 83; __label__ = 148; /* _bb8 */ break _bb_nph$_bb8$11497; } else { __lastLabel__ = 83; __label__ = 116; /* _bb3 */ continue _bb3$11499; }
        }
      }
      else {
        __lastLabel__ = 0; ;
      }
    } while(0);
    var _splitIndex_1_lcssa = __lastLabel__ == 0 ? _startIndex : (_splitIndex_0);
    var _64 = Math.floor(_0 / 3);
    var _65 = _64 + _startIndex;
    var _66 = _65 < _splitIndex_1_lcssa;
    ;
    _bb9$_bb14$11505: do { 
      if (_66) {
        ;
        var _67 = _endIndex + -1;
        var _68 = _67 - _64;
        var _69 = _68 > _splitIndex_1_lcssa;
        if (!(_69)) { __label__ = 63; /* _bb14 */ break _bb9$_bb14$11505; }
        STACKTOP = __stackBase__;
        return _splitIndex_1_lcssa;
      }
    } while(0);
    var _70 = _0 >> 1;
    var _71 = _70 + _startIndex;
    STACKTOP = __stackBase__;
    return _71;
  }
  __ZN9btBvhTree30_sort_and_calc_splitting_indexER18GIM_BVH_DATA_ARRAYiii.__index__ = Runtime.getFunctionIndex(__ZN9btBvhTree30_sort_and_calc_splitting_indexER18GIM_BVH_DATA_ARRAYiii, "__ZN9btBvhTree30_sort_and_calc_splitting_indexER18GIM_BVH_DATA_ARRAYiii");
  
  
  function __ZN12btGImpactBvh14find_collisionEPS_RK11btTransformS0_S3_R9btPairSet(_boxset0, _trans0, _boxset1, _trans1, _collision_pairs) {
    var __stackBase__  = STACKTOP; STACKTOP += 112;
    var __label__;
    var _trans_cache_1to0 = __stackBase__;
    var _0 = _boxset0;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _return$_bb$11557: do { 
      if (!_2) {
        ;
        var _3 = _boxset1;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 44; /* _return */ break _return$_bb$11557; }
        __ZN26BT_BOX_BOX_TRANSFORM_CACHE19calc_from_homogenicERK11btTransformS2_(_trans_cache_1to0, _trans0, _trans1);
        __ZL31_find_collision_pairs_recursiveP12btGImpactBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, 0, 0, 1);
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN12btGImpactBvh14find_collisionEPS_RK11btTransformS0_S3_R9btPairSet.__index__ = Runtime.getFunctionIndex(__ZN12btGImpactBvh14find_collisionEPS_RK11btTransformS0_S3_R9btPairSet, "__ZN12btGImpactBvh14find_collisionEPS_RK11btTransformS0_S3_R9btPairSet");
  
  
  function __ZN9btBvhTree10build_treeER18GIM_BVH_DATA_ARRAY(_this, _primitive_boxes) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = 0;
    var _1 = _primitive_boxes+4;
    var _2 = IHEAP[_1];
    var _3 = _2 << 1;
    var _4 = _this+4+4;
    var _5 = IHEAP[_4];
    var _6 = _5 < _3;
    ;
    _bb_nph_i$__ZN20btAlignedObjectArrayI17GIM_BVH_TREE_NODEE6resizeEiRKS0__exit$11683: do { 
      if (_6) {
        ;
        var _7 = _this+4;
        __ZN20btAlignedObjectArrayI17GIM_BVH_TREE_NODEE7reserveEi(_7, _3);
        var _8 = _this+4+12;
        var _tmp2 = _3 - _5;
        __lastLabel__ = 418; ;
        _bb7_i$11685: while(1) { // _bb7_i
          var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
          var _tmp3 = _5 + _indvar_i;
          var _9 = IHEAP[_8];
          var _scevgep_i = _9+36*_tmp3;
          var _10 = _scevgep_i == 0;
          ;
          if (!_10) {
            ;
            var _scevgep27_i = _9+36*_tmp3+32;
            IHEAP[_scevgep27_i] = 0;
            ;
          }
          var _indvar_next_i = _indvar_i + 1;
          var _exitcond = _indvar_next_i == _tmp2;
          if (_exitcond) { __lastLabel__ = 581; __label__ = 2221; /* __ZN20btAlignedObjectArrayI17GIM_BVH_TREE_NODEE6resizeEiRKS0__exit */ break _bb_nph_i$__ZN20btAlignedObjectArrayI17GIM_BVH_TREE_NODEE6resizeEiRKS0__exit$11683; } else { __lastLabel__ = 581; __label__ = 137; /* _bb7_i */ continue _bb7_i$11685; }
        }
      }
    } while(0);
    IHEAP[_4] = _3;
    var _11 = IHEAP[_1];
    __ZN9btBvhTree15_build_sub_treeER18GIM_BVH_DATA_ARRAYii(_this, _primitive_boxes, 0, _11);
    ;
    return;
  }
  __ZN9btBvhTree10build_treeER18GIM_BVH_DATA_ARRAY.__index__ = Runtime.getFunctionIndex(__ZN9btBvhTree10build_treeER18GIM_BVH_DATA_ARRAY, "__ZN9btBvhTree10build_treeER18GIM_BVH_DATA_ARRAY");
  
  
  function __ZN27btGImpactCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_this, _ci, _body0, _body1) {
    ;
    var __label__;
    var _0 = _this;
    __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_0, _ci, _body0, _body1);
    var _1 = _this;
    IHEAP[_1] = __ZTV27btGImpactCollisionAlgorithm+8;
    var _2 = _this+12;
    IHEAP[_2] = 0;
    var _3 = _this+8;
    IHEAP[_3] = 0;
    ;
    return;
  }
  __ZN27btGImpactCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, "__ZN27btGImpactCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_");
  
  
  function __ZN11btTransformmLERKS_(_this, _t) {
    ;
    var __label__;
    var _0 = _this+32;
    var _1 = FHEAP[_0];
    var _2 = _t+48;
    var _3 = FHEAP[_2];
    var _4 = _1 * _3;
    var _5 = _this+32+4;
    var _6 = FHEAP[_5];
    var _7 = _t+48+4;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _4 + _9;
    var _11 = _this+32+8;
    var _12 = FHEAP[_11];
    var _13 = _t+48+8;
    var _14 = FHEAP[_13];
    var _15 = _12 * _14;
    var _16 = _10 + _15;
    var _17 = _this+16;
    var _18 = FHEAP[_17];
    var _19 = _18 * _3;
    var _20 = _this+16+4;
    var _21 = FHEAP[_20];
    var _22 = _21 * _8;
    var _23 = _19 + _22;
    var _24 = _this+16+8;
    var _25 = FHEAP[_24];
    var _26 = _25 * _14;
    var _27 = _23 + _26;
    var _28 = _this;
    var _29 = FHEAP[_28];
    var _30 = _29 * _3;
    var _31 = _this+4;
    var _32 = FHEAP[_31];
    var _33 = _32 * _8;
    var _34 = _30 + _33;
    var _35 = _this+8;
    var _36 = FHEAP[_35];
    var _37 = _36 * _14;
    var _38 = _34 + _37;
    var _39 = _this+48;
    var _40 = FHEAP[_39];
    var _41 = _40 + _38;
    FHEAP[_39] = _41;
    var _42 = _this+48+4;
    var _43 = FHEAP[_42];
    var _44 = _43 + _27;
    FHEAP[_42] = _44;
    var _45 = _this+48+8;
    var _46 = FHEAP[_45];
    var _47 = _46 + _16;
    FHEAP[_45] = _47;
    var _48 = _t+8;
    var _49 = FHEAP[_48];
    var _50 = _49 * _1;
    var _51 = _t+16+8;
    var _52 = FHEAP[_51];
    var _53 = _52 * _6;
    var _54 = _50 + _53;
    var _55 = _t+32+8;
    var _56 = FHEAP[_55];
    var _57 = _56 * _12;
    var _58 = _54 + _57;
    var _59 = _t+4;
    var _60 = FHEAP[_59];
    var _61 = _60 * _1;
    var _62 = _t+16+4;
    var _63 = FHEAP[_62];
    var _64 = _63 * _6;
    var _65 = _61 + _64;
    var _66 = _t+32+4;
    var _67 = FHEAP[_66];
    var _68 = _67 * _12;
    var _69 = _65 + _68;
    var _70 = _t;
    var _71 = FHEAP[_70];
    var _72 = _71 * _1;
    var _73 = _t+16;
    var _74 = FHEAP[_73];
    var _75 = _74 * _6;
    var _76 = _72 + _75;
    var _77 = _t+32;
    var _78 = FHEAP[_77];
    var _79 = _78 * _12;
    var _80 = _76 + _79;
    var _81 = _49 * _18;
    var _82 = _52 * _21;
    var _83 = _81 + _82;
    var _84 = _56 * _25;
    var _85 = _83 + _84;
    var _86 = _60 * _18;
    var _87 = _63 * _21;
    var _88 = _86 + _87;
    var _89 = _67 * _25;
    var _90 = _88 + _89;
    var _91 = _71 * _18;
    var _92 = _74 * _21;
    var _93 = _91 + _92;
    var _94 = _78 * _25;
    var _95 = _93 + _94;
    var _96 = _49 * _29;
    var _97 = _52 * _32;
    var _98 = _96 + _97;
    var _99 = _56 * _36;
    var _100 = _98 + _99;
    var _101 = _60 * _29;
    var _102 = _63 * _32;
    var _103 = _101 + _102;
    var _104 = _67 * _36;
    var _105 = _103 + _104;
    var _106 = _71 * _29;
    var _107 = _74 * _32;
    var _108 = _106 + _107;
    var _109 = _78 * _36;
    var _110 = _108 + _109;
    FHEAP[_28] = _110;
    FHEAP[_31] = _105;
    FHEAP[_35] = _100;
    var _111 = _this+12;
    FHEAP[_111] = 0;
    FHEAP[_17] = _95;
    FHEAP[_20] = _90;
    FHEAP[_24] = _85;
    var _112 = _this+16+12;
    FHEAP[_112] = 0;
    FHEAP[_0] = _80;
    FHEAP[_5] = _69;
    FHEAP[_11] = _58;
    var _113 = _this+32+12;
    FHEAP[_113] = 0;
    ;
    return _this;
  }
  __ZN11btTransformmLERKS_.__index__ = Runtime.getFunctionIndex(__ZN11btTransformmLERKS_, "__ZN11btTransformmLERKS_");
  
  
  function __ZNK17btTriangleShapeEx7getAabbERK11btTransformR9btVector3S4_(_this, _t, _aabbMin, _aabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 48;
    var __label__;
    var _tv0 = __stackBase__;
    var _tv1 = __stackBase__+16;
    var _tv2 = __stackBase__+32;
    var _0 = _t+32;
    var _1 = FHEAP[_0];
    var _2 = _this+52;
    var _3 = FHEAP[_2];
    var _4 = _1 * _3;
    var _5 = _t+32+4;
    var _6 = FHEAP[_5];
    var _7 = _this+52+4;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _4 + _9;
    var _11 = _t+32+8;
    var _12 = FHEAP[_11];
    var _13 = _this+52+8;
    var _14 = FHEAP[_13];
    var _15 = _12 * _14;
    var _16 = _10 + _15;
    var _17 = _t+48+8;
    var _18 = FHEAP[_17];
    var _19 = _16 + _18;
    var _20 = _t+16;
    var _21 = FHEAP[_20];
    var _22 = _21 * _3;
    var _23 = _t+16+4;
    var _24 = FHEAP[_23];
    var _25 = _24 * _8;
    var _26 = _22 + _25;
    var _27 = _t+16+8;
    var _28 = FHEAP[_27];
    var _29 = _28 * _14;
    var _30 = _26 + _29;
    var _31 = _t+48+4;
    var _32 = FHEAP[_31];
    var _33 = _30 + _32;
    var _34 = _t;
    var _35 = FHEAP[_34];
    var _36 = _35 * _3;
    var _37 = _t+4;
    var _38 = FHEAP[_37];
    var _39 = _38 * _8;
    var _40 = _36 + _39;
    var _41 = _t+8;
    var _42 = FHEAP[_41];
    var _43 = _42 * _14;
    var _44 = _40 + _43;
    var _45 = _t+48;
    var _46 = FHEAP[_45];
    var _47 = _44 + _46;
    var _48 = _tv0;
    FHEAP[_48] = _47;
    var _49 = _tv0+4;
    FHEAP[_49] = _33;
    var _50 = _tv0+8;
    FHEAP[_50] = _19;
    var _51 = _tv0+12;
    FHEAP[_51] = 0;
    var _52 = _this+52+16;
    var _53 = FHEAP[_52];
    var _54 = _1 * _53;
    var _55 = _this+52+16+4;
    var _56 = FHEAP[_55];
    var _57 = _6 * _56;
    var _58 = _54 + _57;
    var _59 = _this+52+16+8;
    var _60 = FHEAP[_59];
    var _61 = _12 * _60;
    var _62 = _58 + _61;
    var _63 = _62 + _18;
    var _64 = _21 * _53;
    var _65 = _24 * _56;
    var _66 = _64 + _65;
    var _67 = _28 * _60;
    var _68 = _66 + _67;
    var _69 = _68 + _32;
    var _70 = _35 * _53;
    var _71 = _38 * _56;
    var _72 = _70 + _71;
    var _73 = _42 * _60;
    var _74 = _72 + _73;
    var _75 = _74 + _46;
    var _76 = _tv1;
    FHEAP[_76] = _75;
    var _77 = _tv1+4;
    FHEAP[_77] = _69;
    var _78 = _tv1+8;
    FHEAP[_78] = _63;
    var _79 = _tv1+12;
    FHEAP[_79] = 0;
    var _80 = _this+52+32;
    var _81 = FHEAP[_80];
    var _82 = _1 * _81;
    var _83 = _this+52+32+4;
    var _84 = FHEAP[_83];
    var _85 = _6 * _84;
    var _86 = _82 + _85;
    var _87 = _this+52+32+8;
    var _88 = FHEAP[_87];
    var _89 = _12 * _88;
    var _90 = _86 + _89;
    var _91 = _90 + _18;
    var _92 = _21 * _81;
    var _93 = _24 * _84;
    var _94 = _92 + _93;
    var _95 = _28 * _88;
    var _96 = _94 + _95;
    var _97 = _96 + _32;
    var _98 = _35 * _81;
    var _99 = _38 * _84;
    var _100 = _98 + _99;
    var _101 = _42 * _88;
    var _102 = _100 + _101;
    var _103 = _102 + _46;
    var _104 = _tv2;
    FHEAP[_104] = _103;
    var _105 = _tv2+4;
    FHEAP[_105] = _97;
    var _106 = _tv2+8;
    FHEAP[_106] = _91;
    var _107 = _tv2+12;
    FHEAP[_107] = 0;
    var _108 = _this+44;
    var _109 = FHEAP[_108];
    var _110 = _75 > _103;
    var _V3_pn_i = _110 ? _tv2 : _tv1;
    var _iftmp_227_0_in_i = _V3_pn_i;
    var _iftmp_227_0_i = FHEAP[_iftmp_227_0_in_i];
    var __not_i = _47 <= _iftmp_227_0_i;
    var _brmerge_i = __not_i | _110;
    var __mux_i = __not_i ? _48 : _104;
    var _iftmp_226_0_in_i = _brmerge_i ? __mux_i : _76;
    var _iftmp_226_0_i = FHEAP[_iftmp_226_0_in_i];
    var _111 = _69 > _97;
    var _V3_pn61_i = _111 ? _tv2 : _tv1;
    var _iftmp_230_0_in_i = _V3_pn61_i+4;
    var _iftmp_230_0_i = FHEAP[_iftmp_230_0_in_i];
    var __not66_i = _33 <= _iftmp_230_0_i;
    var _brmerge67_i = __not66_i | _111;
    var __mux68_i = __not66_i ? _48 : _104;
    var __pn60_pn_i = _brmerge67_i ? __mux68_i : _76;
    var _iftmp_229_0_in_i = __pn60_pn_i+4;
    var _iftmp_229_0_i = FHEAP[_iftmp_229_0_in_i];
    var _112 = _63 > _91;
    var _V3_pn62_i = _112 ? _tv2 : _tv1;
    var _iftmp_233_0_in_i = _V3_pn62_i+8;
    var _iftmp_233_0_i = FHEAP[_iftmp_233_0_in_i];
    var __not69_i = _19 <= _iftmp_233_0_i;
    var _brmerge70_i = __not69_i | _112;
    var __mux71_i = __not69_i ? _48 : _104;
    var __pn59_pn_i = _brmerge70_i ? __mux71_i : _76;
    var _iftmp_232_0_in_i = __pn59_pn_i+8;
    var _iftmp_232_0_i = FHEAP[_iftmp_232_0_in_i];
    var _113 = _75 < _103;
    var _V3_pn63_i = _113 ? _tv2 : _tv1;
    var _iftmp_236_0_in_i = _V3_pn63_i;
    var _iftmp_236_0_i = FHEAP[_iftmp_236_0_in_i];
    var __not72_i = _47 >= _iftmp_236_0_i;
    var _brmerge73_i = __not72_i | _113;
    var __mux74_i = __not72_i ? _48 : _104;
    var _iftmp_235_0_in_i = _brmerge73_i ? __mux74_i : _76;
    var _iftmp_235_0_i = FHEAP[_iftmp_235_0_in_i];
    var _114 = _69 < _97;
    var _V3_pn64_i = _114 ? _tv2 : _tv1;
    var _iftmp_239_0_in_i = _V3_pn64_i+4;
    var _iftmp_239_0_i = FHEAP[_iftmp_239_0_in_i];
    var __not75_i = _33 >= _iftmp_239_0_i;
    var _brmerge76_i = __not75_i | _114;
    var __mux77_i = __not75_i ? _48 : _104;
    var __pn58_pn_i = _brmerge76_i ? __mux77_i : _76;
    var _iftmp_238_0_in_i = __pn58_pn_i+4;
    var _iftmp_238_0_i = FHEAP[_iftmp_238_0_in_i];
    var _115 = _63 < _91;
    var _V3_pn65_i = _115 ? _tv2 : _tv1;
    var _iftmp_242_0_in_i = _V3_pn65_i+8;
    var _iftmp_242_0_i = FHEAP[_iftmp_242_0_in_i];
    var __not78_i = _19 >= _iftmp_242_0_i;
    var _brmerge79_i = __not78_i | _115;
    var __mux80_i = __not78_i ? _48 : _104;
    var __pn57_pn_i = _brmerge79_i ? __mux80_i : _76;
    var _iftmp_241_0_in_i = __pn57_pn_i+8;
    var _iftmp_241_0_i = FHEAP[_iftmp_241_0_in_i];
    var _116 = _iftmp_226_0_i - _109;
    var _117 = _iftmp_229_0_i - _109;
    var _118 = _iftmp_232_0_i - _109;
    var _119 = _iftmp_235_0_i + _109;
    var _120 = _iftmp_238_0_i + _109;
    var _121 = _iftmp_241_0_i + _109;
    var _122 = _aabbMin;
    FHEAP[_122] = _116;
    var _123 = _aabbMin+4;
    FHEAP[_123] = _117;
    var _124 = _aabbMin+8;
    FHEAP[_124] = _118;
    var _125 = _aabbMax;
    FHEAP[_125] = _119;
    var _126 = _aabbMax+4;
    FHEAP[_126] = _120;
    var _127 = _aabbMax+8;
    FHEAP[_127] = _121;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK17btTriangleShapeEx7getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK17btTriangleShapeEx7getAabbERK11btTransformR9btVector3S4_, "__ZNK17btTriangleShapeEx7getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZN18GIM_ShapeRetriever22TriangleShapeRetriever13getChildShapeEi(_this, _index) {
    ;
    var __label__;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = IHEAP[_4];
    var _6 = _5+100;
    var _7 = IHEAP[_6];
    var _8 = _1+4;
    var _9 = _7;
    FUNCTION_TABLE[_9](_3, _index, _8);
    var _10 = IHEAP[_0];
    var _11 = _10+4;
    ;
    return _11;
  }
  __ZN18GIM_ShapeRetriever22TriangleShapeRetriever13getChildShapeEi.__index__ = Runtime.getFunctionIndex(__ZN18GIM_ShapeRetriever22TriangleShapeRetriever13getChildShapeEi, "__ZN18GIM_ShapeRetriever22TriangleShapeRetriever13getChildShapeEi");
  
  
  function __ZN18GIM_ShapeRetriever19TetraShapeRetriever13getChildShapeEi(_this, _index) {
    ;
    var __label__;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = IHEAP[_4];
    var _6 = _5+104;
    var _7 = IHEAP[_6];
    var _8 = _1+104;
    var _9 = _7;
    FUNCTION_TABLE[_9](_3, _index, _8);
    var _10 = IHEAP[_0];
    var _11 = _10+104;
    ;
    return _11;
  }
  __ZN18GIM_ShapeRetriever19TetraShapeRetriever13getChildShapeEi.__index__ = Runtime.getFunctionIndex(__ZN18GIM_ShapeRetriever19TetraShapeRetriever13getChildShapeEi, "__ZN18GIM_ShapeRetriever19TetraShapeRetriever13getChildShapeEi");
  
  
  function __ZN18GIM_ShapeRetriever19ChildShapeRetrieverD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN18GIM_ShapeRetriever19ChildShapeRetrieverE+8;
    ;
    return;
  }
  __ZN18GIM_ShapeRetriever19ChildShapeRetrieverD1Ev.__index__ = Runtime.getFunctionIndex(__ZN18GIM_ShapeRetriever19ChildShapeRetrieverD1Ev, "__ZN18GIM_ShapeRetriever19ChildShapeRetrieverD1Ev");
  
  
  function __ZN18GIM_ShapeRetriever19ChildShapeRetrieverD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN18GIM_ShapeRetriever19ChildShapeRetrieverE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN18GIM_ShapeRetriever19ChildShapeRetrieverD0Ev.__index__ = Runtime.getFunctionIndex(__ZN18GIM_ShapeRetriever19ChildShapeRetrieverD0Ev, "__ZN18GIM_ShapeRetriever19ChildShapeRetrieverD0Ev");
  
  
  function __ZN18GIM_ShapeRetriever22TriangleShapeRetrieverD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN18GIM_ShapeRetriever22TriangleShapeRetrieverE+8;
    ;
    return;
  }
  __ZN18GIM_ShapeRetriever22TriangleShapeRetrieverD1Ev.__index__ = Runtime.getFunctionIndex(__ZN18GIM_ShapeRetriever22TriangleShapeRetrieverD1Ev, "__ZN18GIM_ShapeRetriever22TriangleShapeRetrieverD1Ev");
  
  
  function __ZN18GIM_ShapeRetriever22TriangleShapeRetrieverD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN18GIM_ShapeRetriever22TriangleShapeRetrieverE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN18GIM_ShapeRetriever22TriangleShapeRetrieverD0Ev.__index__ = Runtime.getFunctionIndex(__ZN18GIM_ShapeRetriever22TriangleShapeRetrieverD0Ev, "__ZN18GIM_ShapeRetriever22TriangleShapeRetrieverD0Ev");
  
  
  function __ZN18GIM_ShapeRetriever19TetraShapeRetrieverD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN18GIM_ShapeRetriever19TetraShapeRetrieverE+8;
    ;
    return;
  }
  __ZN18GIM_ShapeRetriever19TetraShapeRetrieverD1Ev.__index__ = Runtime.getFunctionIndex(__ZN18GIM_ShapeRetriever19TetraShapeRetrieverD1Ev, "__ZN18GIM_ShapeRetriever19TetraShapeRetrieverD1Ev");
  
  
  function __ZN18GIM_ShapeRetriever19TetraShapeRetrieverD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN18GIM_ShapeRetriever19TetraShapeRetrieverE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN18GIM_ShapeRetriever19TetraShapeRetrieverD0Ev.__index__ = Runtime.getFunctionIndex(__ZN18GIM_ShapeRetriever19TetraShapeRetrieverD0Ev, "__ZN18GIM_ShapeRetriever19TetraShapeRetrieverD0Ev");
  
  
  function __ZN25btGImpactTriangleCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btGImpactTriangleCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    ;
    return;
  }
  __ZN25btGImpactTriangleCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN25btGImpactTriangleCallbackD1Ev, "__ZN25btGImpactTriangleCallbackD1Ev");
  
  
  function __ZN25btGImpactTriangleCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btGImpactTriangleCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZN25btGImpactTriangleCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN25btGImpactTriangleCallbackD0Ev, "__ZN25btGImpactTriangleCallbackD0Ev");
  
  
  function __ZN27btGImpactCollisionAlgorithm10CreateFuncD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN27btGImpactCollisionAlgorithm10CreateFuncE+8;
    ;
    return;
  }
  __ZN27btGImpactCollisionAlgorithm10CreateFuncD1Ev.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithm10CreateFuncD1Ev, "__ZN27btGImpactCollisionAlgorithm10CreateFuncD1Ev");
  
  
  function __ZN27btGImpactCollisionAlgorithm10CreateFuncD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN27btGImpactCollisionAlgorithm10CreateFuncE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN27btGImpactCollisionAlgorithm10CreateFuncD0Ev.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithm10CreateFuncD0Ev, "__ZN27btGImpactCollisionAlgorithm10CreateFuncD0Ev");
  
  
  function __ZN27btGImpactCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE(_this, _manifoldArray) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (_2) {
      ;
      ;
      return;
    }
    else {
      ;
      __ZN20btAlignedObjectArrayIP20btPersistentManifoldE9push_backERKS1_(_manifoldArray, _0);
      ;
      return;
    }
  }
  __ZN27btGImpactCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, "__ZN27btGImpactCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE");
  
  
  function __ZN17btTriangleShapeExD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN17btTriangleShapeExD0Ev.__index__ = Runtime.getFunctionIndex(__ZN17btTriangleShapeExD0Ev, "__ZN17btTriangleShapeExD0Ev");
  
  
  function __ZN17btTriangleShapeExD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN17btTriangleShapeExD1Ev.__index__ = Runtime.getFunctionIndex(__ZN17btTriangleShapeExD1Ev, "__ZN17btTriangleShapeExD1Ev");
  
  
  function __ZN20btTetrahedronShapeExD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    var _2 = _this;
    __Z21btAlignedFreeInternalPv(_2);
    ;
    return;
  }
  __ZN20btTetrahedronShapeExD0Ev.__index__ = Runtime.getFunctionIndex(__ZN20btTetrahedronShapeExD0Ev, "__ZN20btTetrahedronShapeExD0Ev");
  
  
  function __ZN20btTetrahedronShapeExD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _1 = _this;
    __ZN13btConvexShapeD2Ev(_1);
    ;
    return;
  }
  __ZN20btTetrahedronShapeExD1Ev.__index__ = Runtime.getFunctionIndex(__ZN20btTetrahedronShapeExD1Ev, "__ZN20btTetrahedronShapeExD1Ev");
  
  
  function __ZN27btGImpactCollisionAlgorithm24gimpact_vs_compoundshapeEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP15btCompoundShapeb(_this, _body0, _body1, _shape0, _shape1, _swapped) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _body1+4;
    var _1 = FHEAP[_0];
    var _2 = _body1+4+4;
    var _3 = FHEAP[_2];
    var _4 = _body1+4+8;
    var _5 = FHEAP[_4];
    var _6 = _body1+4+12;
    var _7 = FHEAP[_6];
    var _8 = _body1+4+16;
    var _9 = FHEAP[_8];
    var _10 = _body1+4+16+4;
    var _11 = FHEAP[_10];
    var _12 = _body1+4+16+8;
    var _13 = FHEAP[_12];
    var _14 = _body1+4+16+12;
    var _15 = FHEAP[_14];
    var _16 = _body1+4+32;
    var _17 = FHEAP[_16];
    var _18 = _body1+4+32+4;
    var _19 = FHEAP[_18];
    var _20 = _body1+4+32+8;
    var _21 = FHEAP[_20];
    var _22 = _body1+4+32+12;
    var _23 = FHEAP[_22];
    var _24 = _body1+4+48;
    var _25 = FHEAP[_24];
    var _26 = _body1+4+48+4;
    var _27 = FHEAP[_26];
    var _28 = _body1+4+48+8;
    var _29 = FHEAP[_28];
    var _30 = _body1+4+48+12;
    var _31 = FHEAP[_30];
    var _32 = _shape1+12+4;
    var _33 = IHEAP[_32];
    var _34 = _33 == 0;
    ;
    _return$_bb_nph$12038: do { 
      if (!_34) {
        ;
        var _35 = _shape1+12+12;
        var _tmp25 = _33 + -1;
        __lastLabel__ = 130; ;
        _bb$12040: while(1) { // _bb
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp13 = _33 - _indvar;
          var _tmp26 = _tmp25 - _indvar;
          var _36 = IHEAP[_35];
          var _scevgep = _36+80*_tmp13+-16;
          var _scevgep14 = _scevgep;
          var _37 = IHEAP[_scevgep14];
          var _scevgep1516 = _36+80*_tmp13+-32;
          var _38 = FHEAP[_scevgep1516];
          var _39 = _17 * _38;
          var _scevgep17 = _36+80*_tmp13+-16+-12;
          var _40 = FHEAP[_scevgep17];
          var _41 = _19 * _40;
          var _42 = _39 + _41;
          var _scevgep18 = _36+80*_tmp13+-16+-8;
          var _43 = FHEAP[_scevgep18];
          var _44 = _21 * _43;
          var _45 = _42 + _44;
          var _46 = _45 + _29;
          var _47 = _9 * _38;
          var _48 = _11 * _40;
          var _49 = _47 + _48;
          var _50 = _13 * _43;
          var _51 = _49 + _50;
          var _52 = _51 + _27;
          var _53 = _1 * _38;
          var _54 = _3 * _40;
          var _55 = _53 + _54;
          var _56 = _5 * _43;
          var _57 = _55 + _56;
          var _58 = _57 + _25;
          var _scevgep19 = _36+80*_tmp13+-64+-8;
          var _59 = FHEAP[_scevgep19];
          var _60 = _59 * _17;
          var _scevgep20 = _36+80*_tmp13+-48+-8;
          var _61 = FHEAP[_scevgep20];
          var _62 = _61 * _19;
          var _63 = _60 + _62;
          var _scevgep21 = _36+80*_tmp13+-32+-8;
          var _64 = FHEAP[_scevgep21];
          var _65 = _64 * _21;
          var _66 = _63 + _65;
          var _scevgep22 = _36+80*_tmp13+-64+-12;
          var _67 = FHEAP[_scevgep22];
          var _68 = _67 * _17;
          var _scevgep23 = _36+80*_tmp13+-48+-12;
          var _69 = FHEAP[_scevgep23];
          var _70 = _69 * _19;
          var _71 = _68 + _70;
          var _scevgep24 = _36+80*_tmp13+-32+-12;
          var _72 = FHEAP[_scevgep24];
          var _73 = _72 * _21;
          var _74 = _71 + _73;
          var _scevgep2728 = _36+80*_tmp26;
          var _75 = FHEAP[_scevgep2728];
          var _76 = _75 * _17;
          var _scevgep2930 = _36+80*_tmp13+-64;
          var _77 = FHEAP[_scevgep2930];
          var _78 = _77 * _19;
          var _79 = _76 + _78;
          var _scevgep3132 = _36+80*_tmp13+-48;
          var _80 = FHEAP[_scevgep3132];
          var _81 = _80 * _21;
          var _82 = _79 + _81;
          var _83 = _59 * _9;
          var _84 = _61 * _11;
          var _85 = _83 + _84;
          var _86 = _64 * _13;
          var _87 = _85 + _86;
          var _88 = _67 * _9;
          var _89 = _69 * _11;
          var _90 = _88 + _89;
          var _91 = _72 * _13;
          var _92 = _90 + _91;
          var _93 = _75 * _9;
          var _94 = _77 * _11;
          var _95 = _93 + _94;
          var _96 = _80 * _13;
          var _97 = _95 + _96;
          var _98 = _59 * _1;
          var _99 = _61 * _3;
          var _100 = _98 + _99;
          var _101 = _64 * _5;
          var _102 = _100 + _101;
          var _103 = _67 * _1;
          var _104 = _69 * _3;
          var _105 = _103 + _104;
          var _106 = _72 * _5;
          var _107 = _105 + _106;
          var _108 = _75 * _1;
          var _109 = _77 * _3;
          var _110 = _108 + _109;
          var _111 = _80 * _5;
          var _112 = _110 + _111;
          FHEAP[_0] = _112;
          FHEAP[_2] = _107;
          FHEAP[_4] = _102;
          FHEAP[_6] = 0;
          FHEAP[_8] = _97;
          FHEAP[_10] = _92;
          FHEAP[_12] = _87;
          FHEAP[_14] = 0;
          FHEAP[_16] = _82;
          FHEAP[_18] = _74;
          FHEAP[_20] = _66;
          FHEAP[_22] = 0;
          FHEAP[_24] = _58;
          FHEAP[_26] = _52;
          FHEAP[_28] = _46;
          FHEAP[_30] = 0;
          __ZN27btGImpactCollisionAlgorithm16gimpact_vs_shapeEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP16btCollisionShapeb(_this, _body0, _body1, _shape0, _37, _swapped);
          FHEAP[_0] = _1;
          FHEAP[_2] = _3;
          FHEAP[_4] = _5;
          FHEAP[_6] = _7;
          FHEAP[_8] = _9;
          FHEAP[_10] = _11;
          FHEAP[_12] = _13;
          FHEAP[_14] = _15;
          FHEAP[_16] = _17;
          FHEAP[_18] = _19;
          FHEAP[_20] = _21;
          FHEAP[_22] = _23;
          FHEAP[_24] = _25;
          FHEAP[_26] = _27;
          FHEAP[_28] = _29;
          FHEAP[_30] = _31;
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _33;
          if (_exitcond) { __lastLabel__ = 60; __label__ = 44; /* _return */ break _return$_bb_nph$12038; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$12040; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN27btGImpactCollisionAlgorithm24gimpact_vs_compoundshapeEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP15btCompoundShapeb.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithm24gimpact_vs_compoundshapeEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP15btCompoundShapeb, "__ZN27btGImpactCollisionAlgorithm24gimpact_vs_compoundshapeEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP15btCompoundShapeb");
  
  
  function __ZN27btGImpactCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _body0, _body1, _dispatchInfo, _resultOut) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (!_2) {
      ;
      var _3 = _this+4;
      var _4 = IHEAP[_3];
      var _5 = _4;
      var _6 = IHEAP[_5];
      var _7 = _6+16;
      var _8 = IHEAP[_7];
      var _9 = _8;
      FUNCTION_TABLE[_9](_4, _1);
      IHEAP[_0] = 0;
      ;
    }
    var _10 = _this+8;
    var _11 = IHEAP[_10];
    var _12 = _11 == 0;
    ;
    if (!_12) {
      ;
      var _13 = _11;
      var _14 = IHEAP[_13];
      var _15 = IHEAP[_14];
      var _16 = _15;
      FUNCTION_TABLE[_16](_11);
      var _17 = _this+4;
      var _18 = IHEAP[_17];
      var _19 = _18;
      var _20 = IHEAP[_19];
      var _21 = _20+52;
      var _22 = IHEAP[_21];
      var _23 = IHEAP[_10];
      var _24 = _22;
      var _25 = _23;
      FUNCTION_TABLE[_24](_18, _25);
      IHEAP[_10] = 0;
      ;
    }
    var _26 = _this+24;
    IHEAP[_26] = -1;
    var _27 = _this+28;
    IHEAP[_27] = -1;
    var _28 = _this+32;
    IHEAP[_28] = -1;
    var _29 = _this+36;
    IHEAP[_29] = -1;
    var _30 = _this+16;
    IHEAP[_30] = _resultOut;
    var _31 = _this+20;
    IHEAP[_31] = _dispatchInfo;
    var _32 = _body0+192;
    var _33 = IHEAP[_32];
    var _34 = _33+4;
    var _35 = IHEAP[_34];
    var _36 = _35 == 25;
    ;
    if (_36) {
      ;
      var _37 = _33;
      var _38 = _body1+192;
      var _39 = IHEAP[_38];
      var _40 = _39+4;
      var _41 = IHEAP[_40];
      var _42 = _41 == 25;
      ;
      if (_42) {
        ;
        var _43 = _39;
        __ZN27btGImpactCollisionAlgorithm18gimpact_vs_gimpactEP17btCollisionObjectS1_P23btGImpactShapeInterfaceS3_(_this, _body0, _body1, _37, _43);
        ;
        return;
      }
      else {
        ;
        __ZN27btGImpactCollisionAlgorithm16gimpact_vs_shapeEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP16btCollisionShapeb(_this, _body0, _body1, _37, _39, 0);
        ;
        return;
      }
    }
    else {
      ;
      var _44 = _body1+192;
      var _45 = IHEAP[_44];
      var _46 = _45+4;
      var _47 = IHEAP[_46];
      var _48 = _47 == 25;
      ;
      if (_48) {
        ;
        var _49 = _45;
        __ZN27btGImpactCollisionAlgorithm16gimpact_vs_shapeEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP16btCollisionShapeb(_this, _body1, _body0, _49, _33, 1);
        ;
        return;
      }
      else {
        ;
        ;
        return;
      }
    }
  }
  __ZN27btGImpactCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN27btGImpactCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN27btGImpactCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_this, _ci, _body0, _body1) {
    ;
    var __label__;
    var _0 = _this;
    __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_0, _ci, _body0, _body1);
    var _1 = _this;
    IHEAP[_1] = __ZTV27btGImpactCollisionAlgorithm+8;
    var _2 = _this+12;
    IHEAP[_2] = 0;
    var _3 = _this+8;
    IHEAP[_3] = 0;
    ;
    return;
  }
  __ZN27btGImpactCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, "__ZN27btGImpactCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_");
  
  
  function __ZN18btQuantizedBvhTree17calc_quantizationER18GIM_BVH_DATA_ARRAYf(_this, _primitive_boxes, _boundMargin) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _global_bound = __stackBase__;
    var _0 = _global_bound;
    FHEAP[_0] = 3.4028234663852886e+38;
    var _1 = _global_bound+4;
    FHEAP[_1] = 3.4028234663852886e+38;
    var _2 = _global_bound+8;
    FHEAP[_2] = 3.4028234663852886e+38;
    var _3 = _global_bound+16;
    FHEAP[_3] = -3.4028234663852886e+38;
    var _4 = _global_bound+16+4;
    FHEAP[_4] = -3.4028234663852886e+38;
    var _5 = _global_bound+16+8;
    FHEAP[_5] = -3.4028234663852886e+38;
    var _6 = _primitive_boxes+4;
    var _7 = IHEAP[_6];
    var _8 = _7 > 0;
    ;
    _bb_nph$_bb2$12234: do { 
      if (_8) {
        __lastLabel__ = -1; ;
        var _9 = _primitive_boxes+12;
        __lastLabel__ = 130; ;
        _bb$12236: while(1) { // _bb
          var _10 = __lastLabel__ == 130 ? -3.4028234663852886e+38 : (_iftmp_144_0_i);
          var _11 = __lastLabel__ == 130 ? -3.4028234663852886e+38 : (_iftmp_143_0_i);
          var _12 = __lastLabel__ == 130 ? -3.4028234663852886e+38 : (_iftmp_142_0_i);
          var _13 = __lastLabel__ == 130 ? 3.4028234663852886e+38 : (_iftmp_141_0_i);
          var _14 = __lastLabel__ == 130 ? 3.4028234663852886e+38 : (_iftmp_140_0_i);
          var _15 = __lastLabel__ == 130 ? 3.4028234663852886e+38 : (_iftmp_139_0_i);
          var _i_03 = __lastLabel__ == 130 ? 0 : (_29);
          var _16 = IHEAP[_9];
          var _scevgep1516 = _16+36*_i_03;
          var _17 = FHEAP[_scevgep1516];
          var _18 = _15 > _17;
          var _scevgep1314 = _16+36*_i_03;
          var _box_pn25_i = _18 ? _scevgep1314 : _global_bound;
          var _iftmp_139_0_in_i = _box_pn25_i;
          var _iftmp_139_0_i = FHEAP[_iftmp_139_0_in_i];
          FHEAP[_0] = _iftmp_139_0_i;
          var _scevgep17 = _16+36*_i_03+4;
          var _19 = FHEAP[_scevgep17];
          var _20 = _14 > _19;
          var _box_pn24_i = _20 ? _scevgep1314 : _global_bound;
          var _iftmp_140_0_in_i = _box_pn24_i+4;
          var _iftmp_140_0_i = FHEAP[_iftmp_140_0_in_i];
          FHEAP[_1] = _iftmp_140_0_i;
          var _scevgep18 = _16+36*_i_03+8;
          var _21 = FHEAP[_scevgep18];
          var _22 = _13 > _21;
          var _box_pn23_i = _22 ? _scevgep1314 : _global_bound;
          var _iftmp_141_0_in_i = _box_pn23_i+8;
          var _iftmp_141_0_i = FHEAP[_iftmp_141_0_in_i];
          FHEAP[_2] = _iftmp_141_0_i;
          var _scevgep19 = _16+36*_i_03+16;
          var _23 = FHEAP[_scevgep19];
          var _24 = _12 < _23;
          var _box_pn22_i = _24 ? _scevgep1314 : _global_bound;
          var _iftmp_142_0_in_i = _box_pn22_i+16;
          var _iftmp_142_0_i = FHEAP[_iftmp_142_0_in_i];
          FHEAP[_3] = _iftmp_142_0_i;
          var _scevgep20 = _16+36*_i_03+16+4;
          var _25 = FHEAP[_scevgep20];
          var _26 = _11 < _25;
          var _box_pn21_i = _26 ? _scevgep1314 : _global_bound;
          var _iftmp_143_0_in_i = _box_pn21_i+16+4;
          var _iftmp_143_0_i = FHEAP[_iftmp_143_0_in_i];
          FHEAP[_4] = _iftmp_143_0_i;
          var _scevgep21 = _16+36*_i_03+16+8;
          var _27 = FHEAP[_scevgep21];
          var _28 = _10 < _27;
          var _box_pn_i = _28 ? _scevgep1314 : _global_bound;
          var _iftmp_144_0_in_i = _box_pn_i+16+8;
          var _iftmp_144_0_i = FHEAP[_iftmp_144_0_in_i];
          FHEAP[_5] = _iftmp_144_0_i;
          var _29 = _i_03 + 1;
          var _30 = _7 > _29;
          if (_30) { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$12236; } else { __lastLabel__ = 60; __label__ = 0; /* _bb2 */ break _bb_nph$_bb2$12234; }
        }
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _31 = __lastLabel__ == -1 ? -3.4028234663852886e+38 : (_iftmp_142_0_i);
    var _32 = __lastLabel__ == -1 ? -3.4028234663852886e+38 : (_iftmp_143_0_i);
    var _33 = __lastLabel__ == -1 ? -3.4028234663852886e+38 : (_iftmp_144_0_i);
    var _34 = __lastLabel__ == -1 ? 3.4028234663852886e+38 : (_iftmp_139_0_i);
    var _35 = __lastLabel__ == -1 ? 3.4028234663852886e+38 : (_iftmp_140_0_i);
    var _36 = __lastLabel__ == -1 ? 3.4028234663852886e+38 : (_iftmp_141_0_i);
    var _37 = _36 - _boundMargin;
    var _38 = _35 - _boundMargin;
    var _39 = _34 - _boundMargin;
    var _40 = _this+24;
    FHEAP[_40] = _39;
    var _41 = _this+24+4;
    FHEAP[_41] = _38;
    var _42 = _this+24+8;
    FHEAP[_42] = _37;
    var _43 = _this+24+12;
    FHEAP[_43] = 0;
    var _44 = _33 + _boundMargin;
    var _45 = _32 + _boundMargin;
    var _46 = _31 + _boundMargin;
    var _47 = _this+24+16;
    FHEAP[_47] = _46;
    var _48 = _this+24+16+4;
    FHEAP[_48] = _45;
    var _49 = _this+24+16+8;
    FHEAP[_49] = _44;
    var _50 = _this+24+16+12;
    FHEAP[_50] = 0;
    var _51 = _44 - _37;
    var _52 = _45 - _38;
    var _53 = _46 - _39;
    var _54 = 65535 / _51;
    var _55 = 65535 / _52;
    var _56 = 65535 / _53;
    var _57 = _this+56;
    FHEAP[_57] = _56;
    var _58 = _this+56+4;
    FHEAP[_58] = _55;
    var _59 = _this+56+8;
    FHEAP[_59] = _54;
    var _60 = _this+56+12;
    FHEAP[_60] = 0;
    STACKTOP = __stackBase__;
    return;
  }
  __ZN18btQuantizedBvhTree17calc_quantizationER18GIM_BVH_DATA_ARRAYf.__index__ = Runtime.getFunctionIndex(__ZN18btQuantizedBvhTree17calc_quantizationER18GIM_BVH_DATA_ARRAYf, "__ZN18btQuantizedBvhTree17calc_quantizationER18GIM_BVH_DATA_ARRAYf");
  
  
  function __ZN21btGImpactQuantizedBvh5refitEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 96;
    var __label__;
    var __lastLabel__ = null;
    var _leafbox = __stackBase__;
    var _bound = __stackBase__+32;
    var _temp_box = __stackBase__+64;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _return$_bb_nph$12240: do { 
      if (!_2) {
        ;
        var _3 = _this+4+12;
        var _4 = _bound;
        var _5 = _bound+4;
        var _6 = _bound+8;
        var _7 = _bound+16;
        var _8 = _bound+16+4;
        var _9 = _bound+16+8;
        var _10 = _this+24;
        var _11 = _this+24+4;
        var _12 = _this+24+8;
        var _13 = _this+24+16;
        var _14 = _this+24+16+4;
        var _15 = _this+24+16+8;
        var _16 = _this+56+8;
        var _17 = _this+56+4;
        var _18 = _this+56;
        var _19 = _temp_box;
        var _20 = _temp_box+4;
        var _21 = _temp_box+8;
        var _22 = _temp_box+12;
        var _23 = _temp_box+16;
        var _24 = _temp_box+16+4;
        var _25 = _temp_box+16+8;
        var _26 = _temp_box+16+12;
        var _27 = _this+72;
        var _28 = _leafbox;
        var _29 = _leafbox+4;
        var _30 = _leafbox+8;
        var _31 = _leafbox+16;
        var _32 = _leafbox+16+4;
        var _33 = _leafbox+16+8;
        var _tmp57 = _1 + -1;
        __lastLabel__ = 130; ;
        _bb$12242: while(1) { // _bb
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _nodecount_040 = _1 - _indvar;
          var _tmp58 = _tmp57 - _indvar;
          var _34 = IHEAP[_3];
          var _scevgep73 = _34+20*_nodecount_040+-4;
          var _scevgep7374 = _scevgep73;
          var _35 = IHEAP[_scevgep7374];
          var _toBool = _35 < 0;
          ;
          if (_toBool) {
            ;
            FHEAP[_4] = 3.4028234663852886e+38;
            FHEAP[_5] = 3.4028234663852886e+38;
            FHEAP[_6] = 3.4028234663852886e+38;
            FHEAP[_7] = -3.4028234663852886e+38;
            FHEAP[_8] = -3.4028234663852886e+38;
            FHEAP[_9] = -3.4028234663852886e+38;
            var _104 = _1 == _indvar;
            ;
            if (_104) {
              __lastLabel__ = 0; ;
            }
            else {
              __lastLabel__ = 0; ;
              var _scevgep44 = _34+20*_nodecount_040+4;
              var _105 = IHEAP[_scevgep44];
              var _106 = unSign(_105, 16);
              var _107 = FHEAP[_16];
              var _108 = _106 / _107;
              var _scevgep45 = _34+20*_nodecount_040+2;
              var _109 = IHEAP[_scevgep45];
              var _110 = unSign(_109, 16);
              var _111 = FHEAP[_17];
              var _112 = _110 / _111;
              var _scevgep43 = _34+20*_nodecount_040;
              var _113 = IHEAP[_scevgep43];
              var _114 = unSign(_113, 16);
              var _115 = FHEAP[_18];
              var _116 = _114 / _115;
              var _117 = FHEAP[_10];
              var _118 = _116 + _117;
              var _119 = FHEAP[_11];
              var _120 = _112 + _119;
              var _121 = FHEAP[_12];
              var _122 = _108 + _121;
              FHEAP[_19] = _118;
              FHEAP[_20] = _120;
              FHEAP[_21] = _122;
              FHEAP[_22] = 0;
              var _scevgep47 = _34+20*_nodecount_040+8+4;
              var _123 = IHEAP[_scevgep47];
              var _124 = unSign(_123, 16);
              var _125 = _124 / _107;
              var _scevgep48 = _34+20*_nodecount_040+8+2;
              var _126 = IHEAP[_scevgep48];
              var _127 = unSign(_126, 16);
              var _128 = _127 / _111;
              var _scevgep46 = _34+20*_nodecount_040+8;
              var _129 = IHEAP[_scevgep46];
              var _130 = unSign(_129, 16);
              var _131 = _130 / _115;
              var _132 = _131 + _117;
              var _133 = _128 + _119;
              var _134 = _125 + _121;
              FHEAP[_23] = _132;
              FHEAP[_24] = _133;
              FHEAP[_25] = _134;
              FHEAP[_26] = 0;
              var _135 = _118 < 3.4028234663852886e+38;
              var _box_pn25_i10 = _135 ? _temp_box : _bound;
              var _iftmp_139_0_in_i11 = _box_pn25_i10;
              var _iftmp_139_0_i12 = FHEAP[_iftmp_139_0_in_i11];
              FHEAP[_4] = _iftmp_139_0_i12;
              var _136 = _120 < 3.4028234663852886e+38;
              var _box_pn24_i13 = _136 ? _temp_box : _bound;
              var _iftmp_140_0_in_i14 = _box_pn24_i13+4;
              var _iftmp_140_0_i15 = FHEAP[_iftmp_140_0_in_i14];
              FHEAP[_5] = _iftmp_140_0_i15;
              var _137 = _122 < 3.4028234663852886e+38;
              var _box_pn23_i16 = _137 ? _temp_box : _bound;
              var _iftmp_141_0_in_i17 = _box_pn23_i16+8;
              var _iftmp_141_0_i18 = FHEAP[_iftmp_141_0_in_i17];
              FHEAP[_6] = _iftmp_141_0_i18;
              var _138 = _132 > -3.4028234663852886e+38;
              var _box_pn22_i19 = _138 ? _temp_box : _bound;
              var _iftmp_142_0_in_i20 = _box_pn22_i19+16;
              var _iftmp_142_0_i21 = FHEAP[_iftmp_142_0_in_i20];
              FHEAP[_7] = _iftmp_142_0_i21;
              var _139 = _133 > -3.4028234663852886e+38;
              var _box_pn21_i22 = _139 ? _temp_box : _bound;
              var _iftmp_143_0_in_i23 = _box_pn21_i22+16+4;
              var _iftmp_143_0_i24 = FHEAP[_iftmp_143_0_in_i23];
              FHEAP[_8] = _iftmp_143_0_i24;
              var _140 = _134 > -3.4028234663852886e+38;
              var _box_pn_i25 = _140 ? _temp_box : _bound;
              var _iftmp_144_0_in_i26 = _box_pn_i25+16+8;
              var _iftmp_144_0_i27 = FHEAP[_iftmp_144_0_in_i26];
              FHEAP[_9] = _iftmp_144_0_i27;
              __lastLabel__ = 116; ;
            }
            var _141 = __lastLabel__ == 0 ? -3.4028234663852886e+38 : (_iftmp_144_0_i27);
            var _142 = __lastLabel__ == 0 ? -3.4028234663852886e+38 : (_iftmp_143_0_i24);
            var _143 = __lastLabel__ == 0 ? -3.4028234663852886e+38 : (_iftmp_142_0_i21);
            var _144 = __lastLabel__ == 0 ? 3.4028234663852886e+38 : (_iftmp_141_0_i18);
            var _145 = __lastLabel__ == 0 ? 3.4028234663852886e+38 : (_iftmp_140_0_i15);
            var _146 = __lastLabel__ == 0 ? 3.4028234663852886e+38 : (_iftmp_139_0_i12);
            var _scevgep49 = _34+20*_nodecount_040+16;
            var _147 = IHEAP[_scevgep49];
            var _toBool_i_i = _147 < 0;
            var _tmp = 0 - _147;
            var __p = _toBool_i_i ? _tmp : 1;
            var _tmp56 = 0 - _nodecount_040;
            var _148 = __p == _tmp56;
            ;
            if (_148) {
              ;
              var __pre = FHEAP[_10];
              var __pre77 = FHEAP[_11];
              var __pre78 = FHEAP[_12];
              var __pre79 = FHEAP[_16];
              var __pre80 = FHEAP[_17];
              var __pre81 = FHEAP[_18];
              __lastLabel__ = 2299; ;
            }
            else {
              ;
              var _tmp55 = __p + _nodecount_040;
              var _149 = _34+20*_tmp55;
              var _150 = _34+20*_tmp55+4;
              var _151 = IHEAP[_150];
              var _152 = unSign(_151, 16);
              var _153 = FHEAP[_16];
              var _154 = _152 / _153;
              var _155 = _34+20*_tmp55+2;
              var _156 = IHEAP[_155];
              var _157 = unSign(_156, 16);
              var _158 = FHEAP[_17];
              var _159 = _157 / _158;
              var _160 = IHEAP[_149];
              var _161 = unSign(_160, 16);
              var _162 = FHEAP[_18];
              var _163 = _161 / _162;
              var _164 = FHEAP[_10];
              var _165 = _163 + _164;
              var _166 = FHEAP[_11];
              var _167 = _159 + _166;
              var _168 = FHEAP[_12];
              var _169 = _154 + _168;
              FHEAP[_19] = _165;
              FHEAP[_20] = _167;
              FHEAP[_21] = _169;
              FHEAP[_22] = 0;
              var _170 = _34+20*_tmp55+8;
              var _171 = _34+20*_tmp55+8+4;
              var _172 = IHEAP[_171];
              var _173 = unSign(_172, 16);
              var _174 = _173 / _153;
              var _175 = _34+20*_tmp55+8+2;
              var _176 = IHEAP[_175];
              var _177 = unSign(_176, 16);
              var _178 = _177 / _158;
              var _179 = IHEAP[_170];
              var _180 = unSign(_179, 16);
              var _181 = _180 / _162;
              var _182 = _181 + _164;
              var _183 = _178 + _166;
              var _184 = _174 + _168;
              FHEAP[_23] = _182;
              FHEAP[_24] = _183;
              FHEAP[_25] = _184;
              FHEAP[_26] = 0;
              var _185 = _146 > _165;
              var _box_pn25_i = _185 ? _temp_box : _bound;
              var _iftmp_139_0_in_i = _box_pn25_i;
              var _iftmp_139_0_i = FHEAP[_iftmp_139_0_in_i];
              FHEAP[_4] = _iftmp_139_0_i;
              var _186 = _145 > _167;
              var _box_pn24_i = _186 ? _temp_box : _bound;
              var _iftmp_140_0_in_i = _box_pn24_i+4;
              var _iftmp_140_0_i = FHEAP[_iftmp_140_0_in_i];
              FHEAP[_5] = _iftmp_140_0_i;
              var _187 = _144 > _169;
              var _box_pn23_i = _187 ? _temp_box : _bound;
              var _iftmp_141_0_in_i = _box_pn23_i+8;
              var _iftmp_141_0_i = FHEAP[_iftmp_141_0_in_i];
              FHEAP[_6] = _iftmp_141_0_i;
              var _188 = _143 < _182;
              var _box_pn22_i = _188 ? _temp_box : _bound;
              var _iftmp_142_0_in_i = _box_pn22_i+16;
              var _iftmp_142_0_i = FHEAP[_iftmp_142_0_in_i];
              FHEAP[_7] = _iftmp_142_0_i;
              var _189 = _142 < _183;
              var _box_pn21_i = _189 ? _temp_box : _bound;
              var _iftmp_143_0_in_i = _box_pn21_i+16+4;
              var _iftmp_143_0_i = FHEAP[_iftmp_143_0_in_i];
              FHEAP[_8] = _iftmp_143_0_i;
              var _190 = _141 < _184;
              var _box_pn_i = _190 ? _temp_box : _bound;
              var _iftmp_144_0_in_i = _box_pn_i+16+8;
              var _iftmp_144_0_i = FHEAP[_iftmp_144_0_in_i];
              FHEAP[_9] = _iftmp_144_0_i;
              __lastLabel__ = 82; ;
            }
            var _191 = __lastLabel__ == 2299 ? __pre81 : (_162);
            var _192 = __lastLabel__ == 2299 ? __pre80 : (_158);
            var _193 = __lastLabel__ == 2299 ? __pre79 : (_153);
            var _194 = __lastLabel__ == 2299 ? __pre78 : (_168);
            var _195 = __lastLabel__ == 2299 ? __pre77 : (_166);
            var _196 = __lastLabel__ == 2299 ? __pre : (_164);
            var _197 = __lastLabel__ == 2299 ? _144 : (_iftmp_141_0_i);
            var _198 = __lastLabel__ == 2299 ? _145 : (_iftmp_140_0_i);
            var _199 = __lastLabel__ == 2299 ? _146 : (_iftmp_139_0_i);
            var _200 = _199 < _196;
            var _clampedPoint_0_0_0_i1_i_i = _200 ? _196 : _199;
            var _201 = _198 < _195;
            var _clampedPoint_0_1_0_i2_i_i = _201 ? _195 : _198;
            var _202 = _197 < _194;
            var _clampedPoint_0_2_0_i3_i_i = _202 ? _194 : _197;
            var _203 = FHEAP[_13];
            var _204 = _203 < _clampedPoint_0_0_0_i1_i_i;
            var _clampedPoint_0_0_1_i4_i_i = _204 ? _203 : _clampedPoint_0_0_0_i1_i_i;
            var _205 = FHEAP[_14];
            var _206 = _205 < _clampedPoint_0_1_0_i2_i_i;
            var _clampedPoint_0_1_1_i5_i_i = _206 ? _205 : _clampedPoint_0_1_0_i2_i_i;
            var _207 = FHEAP[_15];
            var _208 = _207 < _clampedPoint_0_2_0_i3_i_i;
            var _clampedPoint_0_2_1_i6_i_i = _208 ? _207 : _clampedPoint_0_2_0_i3_i_i;
            var _209 = _clampedPoint_0_2_1_i6_i_i - _194;
            var _210 = _clampedPoint_0_1_1_i5_i_i - _195;
            var _211 = _clampedPoint_0_0_1_i4_i_i - _196;
            var _212 = _209 * _193;
            var _213 = _210 * _192;
            var _214 = _211 * _191;
            var _215 = _214 + 0.5;
            var _216 = Math.floor(_215);
            var _scevgep5960 = _34+20*_tmp58;
            IHEAP[_scevgep5960] = _216;
            var _217 = _213 + 0.5;
            var _218 = Math.floor(_217);
            var _scevgep61 = _34+20*_nodecount_040+-14;
            IHEAP[_scevgep61] = _218;
            var _219 = _212 + 0.5;
            var _220 = Math.floor(_219);
            var _scevgep62 = _34+20*_nodecount_040+-12;
            IHEAP[_scevgep62] = _220;
            var _221 = IHEAP[_3];
            var _222 = FHEAP[_7];
            var _223 = FHEAP[_8];
            var _224 = FHEAP[_9];
            var _225 = FHEAP[_10];
            var _226 = _222 < _225;
            var _clampedPoint_0_0_0_i_i_i = _226 ? _225 : _222;
            var _227 = FHEAP[_11];
            var _228 = _223 < _227;
            var _clampedPoint_0_1_0_i_i_i = _228 ? _227 : _223;
            var _229 = FHEAP[_12];
            var _230 = _224 < _229;
            var _clampedPoint_0_2_0_i_i_i = _230 ? _229 : _224;
            var _231 = FHEAP[_13];
            var _232 = _231 < _clampedPoint_0_0_0_i_i_i;
            var _clampedPoint_0_0_1_i_i_i = _232 ? _231 : _clampedPoint_0_0_0_i_i_i;
            var _233 = FHEAP[_14];
            var _234 = _233 < _clampedPoint_0_1_0_i_i_i;
            var _clampedPoint_0_1_1_i_i_i = _234 ? _233 : _clampedPoint_0_1_0_i_i_i;
            var _235 = FHEAP[_15];
            var _236 = _235 < _clampedPoint_0_2_0_i_i_i;
            var _clampedPoint_0_2_1_i_i_i = _236 ? _235 : _clampedPoint_0_2_0_i_i_i;
            var _237 = _clampedPoint_0_2_1_i_i_i - _229;
            var _238 = _clampedPoint_0_1_1_i_i_i - _227;
            var _239 = _clampedPoint_0_0_1_i_i_i - _225;
            var _240 = FHEAP[_16];
            var _241 = _237 * _240;
            var _242 = FHEAP[_17];
            var _243 = _238 * _242;
            var _244 = FHEAP[_18];
            var _245 = _239 * _244;
            var _246 = _245 + 0.5;
            var _247 = Math.floor(_246);
            var _scevgep63 = _221+20*_nodecount_040+-10;
            IHEAP[_scevgep63] = _247;
            var _248 = _243 + 0.5;
            var _249 = Math.floor(_248);
            var _scevgep64 = _221+20*_nodecount_040+-8;
            IHEAP[_scevgep64] = _249;
            var _250 = _241 + 0.5;
            var _251 = Math.floor(_250);
            var _scevgep65 = _221+20*_nodecount_040+-6;
            IHEAP[_scevgep65] = _251;
            ;
          }
          else {
            ;
            var _36 = IHEAP[_27];
            var _37 = _36;
            var _38 = IHEAP[_37];
            var _39 = _38+16;
            var _40 = IHEAP[_39];
            var _41 = _40;
            FUNCTION_TABLE[_41](_36, _35, _leafbox);
            var _42 = IHEAP[_3];
            var _43 = FHEAP[_28];
            var _44 = FHEAP[_29];
            var _45 = FHEAP[_30];
            var _46 = FHEAP[_10];
            var _47 = _43 < _46;
            var _clampedPoint_0_0_0_i1_i_i28 = _47 ? _46 : _43;
            var _48 = FHEAP[_11];
            var _49 = _44 < _48;
            var _clampedPoint_0_1_0_i2_i_i29 = _49 ? _48 : _44;
            var _50 = FHEAP[_12];
            var _51 = _45 < _50;
            var _clampedPoint_0_2_0_i3_i_i30 = _51 ? _50 : _45;
            var _52 = FHEAP[_13];
            var _53 = _52 < _clampedPoint_0_0_0_i1_i_i28;
            var _clampedPoint_0_0_1_i4_i_i31 = _53 ? _52 : _clampedPoint_0_0_0_i1_i_i28;
            var _54 = FHEAP[_14];
            var _55 = _54 < _clampedPoint_0_1_0_i2_i_i29;
            var _clampedPoint_0_1_1_i5_i_i32 = _55 ? _54 : _clampedPoint_0_1_0_i2_i_i29;
            var _56 = FHEAP[_15];
            var _57 = _56 < _clampedPoint_0_2_0_i3_i_i30;
            var _clampedPoint_0_2_1_i6_i_i33 = _57 ? _56 : _clampedPoint_0_2_0_i3_i_i30;
            var _58 = _clampedPoint_0_2_1_i6_i_i33 - _50;
            var _59 = _clampedPoint_0_1_1_i5_i_i32 - _48;
            var _60 = _clampedPoint_0_0_1_i4_i_i31 - _46;
            var _61 = FHEAP[_16];
            var _62 = _58 * _61;
            var _63 = FHEAP[_17];
            var _64 = _59 * _63;
            var _65 = FHEAP[_18];
            var _66 = _60 * _65;
            var _67 = _66 + 0.5;
            var _68 = Math.floor(_67);
            var _scevgep6667 = _42+20*_tmp58;
            IHEAP[_scevgep6667] = _68;
            var _69 = _64 + 0.5;
            var _70 = Math.floor(_69);
            var _scevgep68 = _42+20*_nodecount_040+-14;
            IHEAP[_scevgep68] = _70;
            var _71 = _62 + 0.5;
            var _72 = Math.floor(_71);
            var _scevgep69 = _42+20*_nodecount_040+-12;
            IHEAP[_scevgep69] = _72;
            var _73 = IHEAP[_3];
            var _74 = FHEAP[_31];
            var _75 = FHEAP[_32];
            var _76 = FHEAP[_33];
            var _77 = FHEAP[_10];
            var _78 = _74 < _77;
            var _clampedPoint_0_0_0_i_i_i34 = _78 ? _77 : _74;
            var _79 = FHEAP[_11];
            var _80 = _75 < _79;
            var _clampedPoint_0_1_0_i_i_i35 = _80 ? _79 : _75;
            var _81 = FHEAP[_12];
            var _82 = _76 < _81;
            var _clampedPoint_0_2_0_i_i_i36 = _82 ? _81 : _76;
            var _83 = FHEAP[_13];
            var _84 = _83 < _clampedPoint_0_0_0_i_i_i34;
            var _clampedPoint_0_0_1_i_i_i37 = _84 ? _83 : _clampedPoint_0_0_0_i_i_i34;
            var _85 = FHEAP[_14];
            var _86 = _85 < _clampedPoint_0_1_0_i_i_i35;
            var _clampedPoint_0_1_1_i_i_i38 = _86 ? _85 : _clampedPoint_0_1_0_i_i_i35;
            var _87 = FHEAP[_15];
            var _88 = _87 < _clampedPoint_0_2_0_i_i_i36;
            var _clampedPoint_0_2_1_i_i_i39 = _88 ? _87 : _clampedPoint_0_2_0_i_i_i36;
            var _89 = _clampedPoint_0_2_1_i_i_i39 - _81;
            var _90 = _clampedPoint_0_1_1_i_i_i38 - _79;
            var _91 = _clampedPoint_0_0_1_i_i_i37 - _77;
            var _92 = FHEAP[_16];
            var _93 = _89 * _92;
            var _94 = FHEAP[_17];
            var _95 = _90 * _94;
            var _96 = FHEAP[_18];
            var _97 = _91 * _96;
            var _98 = _97 + 0.5;
            var _99 = Math.floor(_98);
            var _scevgep70 = _73+20*_nodecount_040+-10;
            IHEAP[_scevgep70] = _99;
            var _100 = _95 + 0.5;
            var _101 = Math.floor(_100);
            var _scevgep71 = _73+20*_nodecount_040+-8;
            IHEAP[_scevgep71] = _101;
            var _102 = _93 + 0.5;
            var _103 = Math.floor(_102);
            var _scevgep72 = _73+20*_nodecount_040+-6;
            IHEAP[_scevgep72] = _103;
            ;
          }
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _1;
          if (_exitcond) { __lastLabel__ = 2170; __label__ = 44; /* _return */ break _return$_bb_nph$12240; } else { __lastLabel__ = 2170; __label__ = 60; /* _bb */ continue _bb$12242; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN21btGImpactQuantizedBvh5refitEv.__index__ = Runtime.getFunctionIndex(__ZN21btGImpactQuantizedBvh5refitEv, "__ZN21btGImpactQuantizedBvh5refitEv");
  
  
  function __ZN18btQuantizedBvhTree20_calc_splitting_axisER18GIM_BVH_DATA_ARRAYii(_this, _primitive_boxes, _startIndex, _endIndex) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _endIndex - _startIndex;
    var _1 = _startIndex < _endIndex;
    ;
    _bb_nph45$_bb2_thread$12257: do { 
      if (_1) {
        ;
        var _3 = _primitive_boxes+12;
        var _4 = IHEAP[_3];
        __lastLabel__ = 2166; ;
        _bb$12259: while(1) { // _bb
          var _indvar61 = __lastLabel__ == 2166 ? 0 : (_indvar_next62);
          var _means_0_2_043 = __lastLabel__ == 2166 ? 0 : (_19);
          var _means_0_1_042 = __lastLabel__ == 2166 ? 0 : (_18);
          var _means_0_0_041 = __lastLabel__ == 2166 ? 0 : (_17);
          var _tmp65 = _indvar61 + _startIndex;
          var _scevgep66 = _4+36*_tmp65+16+8;
          var _scevgep67 = _4+36*_tmp65+8;
          var _scevgep68 = _4+36*_tmp65+16+4;
          var _scevgep69 = _4+36*_tmp65+4;
          var _scevgep70 = _4+36*_tmp65+16;
          var _scevgep7172 = _4+36*_tmp65;
          var _5 = FHEAP[_scevgep66];
          var _6 = FHEAP[_scevgep67];
          var _7 = _5 + _6;
          var _8 = FHEAP[_scevgep68];
          var _9 = FHEAP[_scevgep69];
          var _10 = _8 + _9;
          var _11 = FHEAP[_scevgep70];
          var _12 = FHEAP[_scevgep7172];
          var _13 = _11 + _12;
          var _14 = _7 * 0.5;
          var _15 = _10 * 0.5;
          var _16 = _13 * 0.5;
          var _17 = _means_0_0_041 + _16;
          var _18 = _means_0_1_042 + _15;
          var _19 = _means_0_2_043 + _14;
          var _indvar_next62 = _indvar61 + 1;
          var _exitcond64 = _indvar_next62 == _0;
          if (_exitcond64) { __lastLabel__ = 60; __label__ = 0; /* _bb2 */ break _bb$12259; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$12259; }
        }
        var _20 = _0;
        var _21 = 1 / _20;
        var _22 = _17 * _21;
        var _23 = _18 * _21;
        var _24 = _19 * _21;
        if (_1) { __lastLabel__ = 0; ; } else { __lastLabel__ = 0; __label__ = 83; /* _bb6 */ break _bb_nph45$_bb2_thread$12257; }
        var _25 = _primitive_boxes+12;
        var _26 = IHEAP[_25];
        __lastLabel__ = 130; ;
        _bb3$12263: while(1) { // _bb3
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _variance_0_2_037 = __lastLabel__ == 130 ? 0 : (_47);
          var _variance_0_1_036 = __lastLabel__ == 130 ? 0 : (_46);
          var _variance_0_0_035 = __lastLabel__ == 130 ? 0 : (_45);
          var _tmp51 = _indvar + _startIndex;
          var _scevgep = _26+36*_tmp51+16+8;
          var _scevgep52 = _26+36*_tmp51+8;
          var _scevgep53 = _26+36*_tmp51+16+4;
          var _scevgep54 = _26+36*_tmp51+4;
          var _scevgep55 = _26+36*_tmp51+16;
          var _scevgep5657 = _26+36*_tmp51;
          var _27 = FHEAP[_scevgep];
          var _28 = FHEAP[_scevgep52];
          var _29 = _27 + _28;
          var _30 = FHEAP[_scevgep53];
          var _31 = FHEAP[_scevgep54];
          var _32 = _30 + _31;
          var _33 = FHEAP[_scevgep55];
          var _34 = FHEAP[_scevgep5657];
          var _35 = _33 + _34;
          var _36 = _29 * 0.5;
          var _37 = _32 * 0.5;
          var _38 = _35 * 0.5;
          var _39 = _36 - _24;
          var _40 = _37 - _23;
          var _41 = _38 - _22;
          var _42 = _39 * _39;
          var _43 = _40 * _40;
          var _44 = _41 * _41;
          var _45 = _variance_0_0_035 + _44;
          var _46 = _variance_0_1_036 + _43;
          var _47 = _variance_0_2_037 + _42;
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _0;
          if (_exitcond) { __lastLabel__ = 116; __label__ = 83; /* _bb6 */ break _bb_nph45$_bb2_thread$12257; } else { __lastLabel__ = 116; __label__ = 116; /* _bb3 */ continue _bb3$12263; }
        }
      }
      else {
        ;
        var _2 = _0;
        __lastLabel__ = 791; ;
      }
    } while(0);
    var _48 = __lastLabel__ == 0 ? _20 : (__lastLabel__ == 791 ? _2 : (_20));
    var _variance_0_2_0_lcssa = __lastLabel__ == 0 ? 0 : (__lastLabel__ == 791 ? 0 : (_47));
    var _variance_0_1_0_lcssa = __lastLabel__ == 0 ? 0 : (__lastLabel__ == 791 ? 0 : (_46));
    var _variance_0_0_0_lcssa = __lastLabel__ == 0 ? 0 : (__lastLabel__ == 791 ? 0 : (_45));
    var _49 = _48 + -1;
    var _50 = 1 / _49;
    var _51 = _variance_0_0_0_lcssa * _50;
    var _52 = _variance_0_1_0_lcssa * _50;
    var _53 = _variance_0_2_0_lcssa * _50;
    var _54 = _51 < _52;
    ;
    if (_54) {
      ;
      var _55 = _52 < _53;
      var _iftmp_20_0_i = _55 ? 2 : 1;
      ;
      return _iftmp_20_0_i;
    }
    else {
      ;
      var _56 = _51 < _53;
      var _iftmp_21_0_i = _56 ? 2 : 0;
      ;
      return _iftmp_21_0_i;
    }
  }
  __ZN18btQuantizedBvhTree20_calc_splitting_axisER18GIM_BVH_DATA_ARRAYii.__index__ = Runtime.getFunctionIndex(__ZN18btQuantizedBvhTree20_calc_splitting_axisER18GIM_BVH_DATA_ARRAYii, "__ZN18btQuantizedBvhTree20_calc_splitting_axisER18GIM_BVH_DATA_ARRAYii");
  
  
  function __ZN18btQuantizedBvhTree30_sort_and_calc_splitting_indexER18GIM_BVH_DATA_ARRAYiii(_this, _primitive_boxes, _startIndex, _endIndex, _splitAxis) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _means = __stackBase__;
    var _center4 = __stackBase__+16;
    var _0 = _endIndex - _startIndex;
    var _1 = _means;
    FHEAP[_1] = 0;
    var _2 = _means+4;
    FHEAP[_2] = 0;
    var _3 = _means+8;
    FHEAP[_3] = 0;
    var _4 = _means+12;
    FHEAP[_4] = 0;
    var _5 = _startIndex < _endIndex;
    ;
    if (_5) {
      __lastLabel__ = -1; ;
      var _6 = _primitive_boxes+12;
      var _7 = IHEAP[_6];
      __lastLabel__ = 2173; ;
      _bb$12273: while(1) { // _bb
        var _indvar56 = __lastLabel__ == 2173 ? 0 : (_indvar_next57);
        var _8 = __lastLabel__ == 2173 ? 0 : (_25);
        var _9 = __lastLabel__ == 2173 ? 0 : (_24);
        var _10 = __lastLabel__ == 2173 ? 0 : (_23);
        var _tmp60 = _indvar56 + _startIndex;
        var _scevgep61 = _7+36*_tmp60+16+8;
        var _scevgep62 = _7+36*_tmp60+8;
        var _scevgep63 = _7+36*_tmp60+16+4;
        var _scevgep64 = _7+36*_tmp60+4;
        var _scevgep65 = _7+36*_tmp60+16;
        var _scevgep6667 = _7+36*_tmp60;
        var _11 = FHEAP[_scevgep61];
        var _12 = FHEAP[_scevgep62];
        var _13 = _11 + _12;
        var _14 = FHEAP[_scevgep63];
        var _15 = FHEAP[_scevgep64];
        var _16 = _14 + _15;
        var _17 = FHEAP[_scevgep65];
        var _18 = FHEAP[_scevgep6667];
        var _19 = _17 + _18;
        var _20 = _13 * 0.5;
        var _21 = _16 * 0.5;
        var _22 = _19 * 0.5;
        var _23 = _10 + _22;
        var _24 = _9 + _21;
        var _25 = _8 + _20;
        var _indvar_next57 = _indvar56 + 1;
        var _exitcond59 = _indvar_next57 == _0;
        if (_exitcond59) { __lastLabel__ = 60; __label__ = 804; /* _bb1_bb2_crit_edge */ break _bb$12273; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$12273; }
      }
      FHEAP[_3] = _25;
      FHEAP[_2] = _24;
      FHEAP[_1] = _23;
      __lastLabel__ = 804; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _26 = __lastLabel__ == 804 ? _25 : (0);
    var _27 = __lastLabel__ == 804 ? _24 : (0);
    var _28 = __lastLabel__ == 804 ? _23 : (0);
    var _29 = _0;
    var _30 = 1 / _29;
    var _31 = _28 * _30;
    FHEAP[_1] = _31;
    var _32 = _27 * _30;
    FHEAP[_2] = _32;
    var _33 = _26 * _30;
    FHEAP[_3] = _33;
    var _34 = _means+_splitAxis*4;
    var _35 = FHEAP[_34];
    ;
    _bb_nph$_bb8$12277: do { 
      if (_5) {
        __lastLabel__ = 0; ;
        var _36 = _primitive_boxes+12;
        var _37 = _center4;
        var _38 = _center4+4;
        var _39 = _center4+8;
        var _40 = _center4+12;
        var _41 = _center4+_splitAxis*4;
        __lastLabel__ = 130; ;
        _bb3$12279: while(1) { // _bb3
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _splitIndex_128 = __lastLabel__ == 130 ? _startIndex : (_splitIndex_0);
          var _tmp35 = _indvar + _startIndex;
          var _42 = IHEAP[_36];
          var _scevgep47 = _42+36*_tmp35+16+8;
          var _43 = FHEAP[_scevgep47];
          var _scevgep48 = _42+36*_tmp35+8;
          var _44 = FHEAP[_scevgep48];
          var _45 = _43 + _44;
          var _scevgep49 = _42+36*_tmp35+16+4;
          var _46 = FHEAP[_scevgep49];
          var _scevgep50 = _42+36*_tmp35+4;
          var _47 = FHEAP[_scevgep50];
          var _48 = _46 + _47;
          var _scevgep51 = _42+36*_tmp35+16;
          var _49 = FHEAP[_scevgep51];
          var _scevgep5253 = _42+36*_tmp35;
          var _50 = FHEAP[_scevgep5253];
          var _51 = _49 + _50;
          var _52 = _45 * 0.5;
          var _53 = _48 * 0.5;
          var _54 = _51 * 0.5;
          FHEAP[_37] = _54;
          FHEAP[_38] = _53;
          FHEAP[_39] = _52;
          FHEAP[_40] = 0;
          var _55 = FHEAP[_41];
          var _56 = _55 > _35;
          ;
          if (_56) {
            __lastLabel__ = 116; ;
            var _scevgep39 = _42+36*_tmp35+12;
            var _57 = FHEAP[_scevgep39];
            var _scevgep43 = _42+36*_tmp35+16+12;
            var _58 = FHEAP[_scevgep43];
            var _scevgep44 = _42+36*_tmp35+32;
            var _59 = IHEAP[_scevgep44];
            var _60 = _42+36*_splitIndex_128;
            var _61 = _60;
            var _scevgep45 = _42+36*_tmp35;
            var _scevgep4546 = _scevgep45;
            _llvm_memcpy_p0i8_p0i8_i32(_scevgep4546, _61, 36, 4, false);
            var _62 = IHEAP[_36];
            var __020_i = _62+36*_splitIndex_128;
            FHEAP[__020_i] = _50;
            var __122_i = _62+36*_splitIndex_128+4;
            FHEAP[__122_i] = _47;
            var __2_i = _62+36*_splitIndex_128+8;
            FHEAP[__2_i] = _44;
            var __3_i = _62+36*_splitIndex_128+12;
            FHEAP[__3_i] = _57;
            var __1813_0_i = _62+36*_splitIndex_128+16;
            FHEAP[__1813_0_i] = _49;
            var __1813_1_i = _62+36*_splitIndex_128+16+4;
            FHEAP[__1813_1_i] = _46;
            var __1813_2_i = _62+36*_splitIndex_128+16+8;
            FHEAP[__1813_2_i] = _43;
            var __1813_3_i = _62+36*_splitIndex_128+16+12;
            FHEAP[__1813_3_i] = _58;
            var __1_i = _62+36*_splitIndex_128+32;
            IHEAP[__1_i] = _59;
            var _63 = _splitIndex_128 + 1;
            __lastLabel__ = 82; ;
          }
          else {
            __lastLabel__ = 116; ;
          }
          var _splitIndex_0 = __lastLabel__ == 82 ? _63 : (_splitIndex_128);
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _0;
          if (_exitcond) { __lastLabel__ = 83; __label__ = 148; /* _bb8 */ break _bb_nph$_bb8$12277; } else { __lastLabel__ = 83; __label__ = 116; /* _bb3 */ continue _bb3$12279; }
        }
      }
      else {
        __lastLabel__ = 0; ;
      }
    } while(0);
    var _splitIndex_1_lcssa = __lastLabel__ == 0 ? _startIndex : (_splitIndex_0);
    var _64 = Math.floor(_0 / 3);
    var _65 = _64 + _startIndex;
    var _66 = _65 < _splitIndex_1_lcssa;
    ;
    _bb9$_bb14$12285: do { 
      if (_66) {
        ;
        var _67 = _endIndex + -1;
        var _68 = _67 - _64;
        var _69 = _68 > _splitIndex_1_lcssa;
        if (!(_69)) { __label__ = 63; /* _bb14 */ break _bb9$_bb14$12285; }
        STACKTOP = __stackBase__;
        return _splitIndex_1_lcssa;
      }
    } while(0);
    var _70 = _0 >> 1;
    var _71 = _70 + _startIndex;
    STACKTOP = __stackBase__;
    return _71;
  }
  __ZN18btQuantizedBvhTree30_sort_and_calc_splitting_indexER18GIM_BVH_DATA_ARRAYiii.__index__ = Runtime.getFunctionIndex(__ZN18btQuantizedBvhTree30_sort_and_calc_splitting_indexER18GIM_BVH_DATA_ARRAYiii, "__ZN18btQuantizedBvhTree30_sort_and_calc_splitting_indexER18GIM_BVH_DATA_ARRAYiii");
  
  
  function __ZN21btGImpactQuantizedBvh14find_collisionEPS_RK11btTransformS0_S3_R9btPairSet(_boxset0, _trans0, _boxset1, _trans1, _collision_pairs) {
    var __stackBase__  = STACKTOP; STACKTOP += 112;
    var __label__;
    var _trans_cache_1to0 = __stackBase__;
    var _0 = _boxset0;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _return$_bb$12312: do { 
      if (!_2) {
        ;
        var _3 = _boxset1;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 44; /* _return */ break _return$_bb$12312; }
        __ZN26BT_BOX_BOX_TRANSFORM_CACHE19calc_from_homogenicERK11btTransformS2_(_trans_cache_1to0, _trans0, _trans1);
        __ZL41_find_quantized_collision_pairs_recursiveP21btGImpactQuantizedBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, 0, 0, 1);
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN21btGImpactQuantizedBvh14find_collisionEPS_RK11btTransformS0_S3_R9btPairSet.__index__ = Runtime.getFunctionIndex(__ZN21btGImpactQuantizedBvh14find_collisionEPS_RK11btTransformS0_S3_R9btPairSet, "__ZN21btGImpactQuantizedBvh14find_collisionEPS_RK11btTransformS0_S3_R9btPairSet");
  
  
  function __ZN18btQuantizedBvhTree10build_treeER18GIM_BVH_DATA_ARRAY(_this, _primitive_boxes) {
    ;
    var __label__;
    var __lastLabel__ = null;
    __ZN18btQuantizedBvhTree17calc_quantizationER18GIM_BVH_DATA_ARRAYf(_this, _primitive_boxes, 1);
    var _0 = _this;
    IHEAP[_0] = 0;
    var _1 = _primitive_boxes+4;
    var _2 = IHEAP[_1];
    var _3 = _2 << 1;
    var _4 = _this+4+4;
    var _5 = IHEAP[_4];
    var _6 = _5 < _3;
    ;
    _bb_nph_i$__ZN20btAlignedObjectArrayI21BT_QUANTIZED_BVH_NODEE6resizeEiRKS0__exit$12417: do { 
      if (_6) {
        ;
        var _7 = _this+4;
        __ZN20btAlignedObjectArrayI21BT_QUANTIZED_BVH_NODEE7reserveEi(_7, _3);
        var _8 = _this+4+12;
        var _tmp3 = _3 - _5;
        __lastLabel__ = 418; ;
        _bb7_i$12419: while(1) { // _bb7_i
          var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
          var _tmp4 = _5 + _indvar_i;
          var _9 = IHEAP[_8];
          var _scevgep_i = _9+20*_tmp4;
          var _10 = _scevgep_i == 0;
          ;
          if (!_10) {
            ;
            var _scevgep25_i = _9+20*_tmp4+16;
            IHEAP[_scevgep25_i] = 0;
            ;
          }
          var _indvar_next_i = _indvar_i + 1;
          var _exitcond = _indvar_next_i == _tmp3;
          if (_exitcond) { __lastLabel__ = 581; __label__ = 2328; /* __ZN20btAlignedObjectArrayI21BT_QUANTIZED_BVH_NODEE6resizeEiRKS0__exit */ break _bb_nph_i$__ZN20btAlignedObjectArrayI21BT_QUANTIZED_BVH_NODEE6resizeEiRKS0__exit$12417; } else { __lastLabel__ = 581; __label__ = 137; /* _bb7_i */ continue _bb7_i$12419; }
        }
      }
    } while(0);
    IHEAP[_4] = _3;
    var _11 = IHEAP[_1];
    __ZN18btQuantizedBvhTree15_build_sub_treeER18GIM_BVH_DATA_ARRAYii(_this, _primitive_boxes, 0, _11);
    ;
    return;
  }
  __ZN18btQuantizedBvhTree10build_treeER18GIM_BVH_DATA_ARRAY.__index__ = Runtime.getFunctionIndex(__ZN18btQuantizedBvhTree10build_treeER18GIM_BVH_DATA_ARRAY, "__ZN18btQuantizedBvhTree10build_treeER18GIM_BVH_DATA_ARRAY");
  
  
  function __ZN23btGImpactShapeInterface10postUpdateEv(_this) {
    ;
    var __label__;
    var _0 = _this+48;
    IHEAP[_0] = 1;
    ;
    return;
  }
  __ZN23btGImpactShapeInterface10postUpdateEv.__index__ = Runtime.getFunctionIndex(__ZN23btGImpactShapeInterface10postUpdateEv, "__ZN23btGImpactShapeInterface10postUpdateEv");
  
  
  function __ZN23btGImpactShapeInterface15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var _0 = _this+52;
    var _1 = _scaling;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _this+52+4;
    var _4 = _scaling+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+52+8;
    var _7 = _scaling+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+52+12;
    var _10 = _scaling+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _this;
    var _13 = IHEAP[_12];
    var _14 = _13+68;
    var _15 = IHEAP[_14];
    var _16 = _15;
    FUNCTION_TABLE[_16](_this);
    ;
    return;
  }
  __ZN23btGImpactShapeInterface15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN23btGImpactShapeInterface15setLocalScalingERK9btVector3, "__ZN23btGImpactShapeInterface15setLocalScalingERK9btVector3");
  
  
  function __ZNK23btGImpactShapeInterface15getLocalScalingEv(_this) {
    ;
    var __label__;
    var _0 = _this+52;
    ;
    return _0;
  }
  __ZNK23btGImpactShapeInterface15getLocalScalingEv.__index__ = Runtime.getFunctionIndex(__ZNK23btGImpactShapeInterface15getLocalScalingEv, "__ZNK23btGImpactShapeInterface15getLocalScalingEv");
  
  
  function __ZNK22btGImpactCompoundShape19getPrimitiveManagerEv(_this) {
    ;
    var __label__;
    var _0 = _this+144;
    ;
    return _0;
  }
  __ZNK22btGImpactCompoundShape19getPrimitiveManagerEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactCompoundShape19getPrimitiveManagerEv, "__ZNK22btGImpactCompoundShape19getPrimitiveManagerEv");
  
  
  function __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager19get_primitive_countEv(_this) {
    ;
    var __label__;
    var _0 = _this+60;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager19get_primitive_countEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager19get_primitive_countEv, "__ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager19get_primitive_countEv");
  
  
  function __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager22get_primitive_triangleEiR19btPrimitiveTriangle(_this, _prim_index, _triangle) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+64;
    var _1 = IHEAP[_0];
    var _2 = _1 == 3;
    var _3 = _this+52;
    var _4 = IHEAP[_3];
    var _5 = _this+56;
    var _6 = IHEAP[_5];
    var _7 = _6 * _prim_index;
    var _8 = _4+_7;
    ;
    if (_2) {
      ;
      var _9 = _8;
      var _10 = IHEAP[_9];
      var _11 = _10;
      var __sum4_i = _7 + 2;
      var _12 = _4+__sum4_i;
      var _13 = _12;
      var _14 = IHEAP[_13];
      var _15 = _14;
      var __sum5_i = _7 + 4;
      var _16 = _4+__sum5_i;
      var _17 = _16;
      var _18 = IHEAP[_17];
      var _19 = _18;
      __lastLabel__ = 131; ;
    }
    else {
      ;
      var _20 = _8;
      var _21 = IHEAP[_20];
      var __sum_i = _7 + 4;
      var _22 = _4+__sum_i;
      var _23 = _22;
      var _24 = IHEAP[_23];
      var __sum3_i = _7 + 8;
      var _25 = _4+__sum3_i;
      var _26 = _25;
      var _27 = IHEAP[_26];
      __lastLabel__ = 159; ;
    }
    var _indices_2_0 = __lastLabel__ == 131 ? _19 : (_27);
    var _indices_1_0 = __lastLabel__ == 131 ? _15 : (_24);
    var _indices_0_0 = __lastLabel__ == 131 ? _11 : (_21);
    var _28 = _this+44;
    var _29 = IHEAP[_28];
    var _30 = _29 == 1;
    var _31 = _this+36;
    var _32 = IHEAP[_31];
    var _33 = _this+48;
    var _34 = IHEAP[_33];
    var _35 = _34 * _indices_0_0;
    var _36 = _32+_35;
    ;
    if (_30) {
      ;
      var _37 = _36;
      var _38 = _triangle;
      var _39 = FHEAP[_37];
      var _40 = _this+12;
      var _41 = FHEAP[_40];
      var _42 = _41;
      var _43 = _39 * _42;
      var _44 = _43;
      FHEAP[_38] = _44;
      var __sum4_i14 = _35 + 8;
      var _45 = _32+__sum4_i14;
      var _46 = _45;
      var _47 = FHEAP[_46];
      var _48 = _this+12+4;
      var _49 = FHEAP[_48];
      var _50 = _49;
      var _51 = _47 * _50;
      var _52 = _51;
      var _53 = _triangle+4;
      FHEAP[_53] = _52;
      var __sum5_i15 = _35 + 16;
      var _54 = _32+__sum5_i15;
      var _55 = _54;
      var _56 = FHEAP[_55];
      var _57 = _this+12+8;
      var _58 = FHEAP[_57];
      var _59 = _58;
      var _60 = _56 * _59;
      var _61 = _60;
      var _62 = _triangle+8;
      FHEAP[_62] = _61;
      ;
    }
    else {
      ;
      var _63 = _36;
      var _64 = _triangle;
      var _65 = FHEAP[_63];
      var _66 = _this+12;
      var _67 = FHEAP[_66];
      var _68 = _65 * _67;
      FHEAP[_64] = _68;
      var __sum_i17 = _35 + 4;
      var _69 = _32+__sum_i17;
      var _70 = _69;
      var _71 = FHEAP[_70];
      var _72 = _this+12+4;
      var _73 = FHEAP[_72];
      var _74 = _71 * _73;
      var _75 = _triangle+4;
      FHEAP[_75] = _74;
      var __sum3_i18 = _35 + 8;
      var _76 = _32+__sum3_i18;
      var _77 = _76;
      var _78 = FHEAP[_77];
      var _79 = _this+12+8;
      var _80 = FHEAP[_79];
      var _81 = _78 * _80;
      var _82 = _triangle+8;
      FHEAP[_82] = _81;
      ;
    }
    var _83 = IHEAP[_28];
    var _84 = _83 == 1;
    var _85 = IHEAP[_31];
    var _86 = IHEAP[_33];
    var _87 = _86 * _indices_1_0;
    var _88 = _85+_87;
    ;
    if (_84) {
      ;
      var _89 = _88;
      var _90 = _triangle+16;
      var _91 = FHEAP[_89];
      var _92 = _this+12;
      var _93 = FHEAP[_92];
      var _94 = _93;
      var _95 = _91 * _94;
      var _96 = _95;
      FHEAP[_90] = _96;
      var __sum4_i7 = _87 + 8;
      var _97 = _85+__sum4_i7;
      var _98 = _97;
      var _99 = FHEAP[_98];
      var _100 = _this+12+4;
      var _101 = FHEAP[_100];
      var _102 = _101;
      var _103 = _99 * _102;
      var _104 = _103;
      var _105 = _triangle+16+4;
      FHEAP[_105] = _104;
      var __sum5_i8 = _87 + 16;
      var _106 = _85+__sum5_i8;
      var _107 = _106;
      var _108 = FHEAP[_107];
      var _109 = _this+12+8;
      var _110 = FHEAP[_109];
      var _111 = _110;
      var _112 = _108 * _111;
      var _113 = _112;
      var _114 = _triangle+16+8;
      FHEAP[_114] = _113;
      ;
    }
    else {
      ;
      var _115 = _88;
      var _116 = _triangle+16;
      var _117 = FHEAP[_115];
      var _118 = _this+12;
      var _119 = FHEAP[_118];
      var _120 = _117 * _119;
      FHEAP[_116] = _120;
      var __sum_i10 = _87 + 4;
      var _121 = _85+__sum_i10;
      var _122 = _121;
      var _123 = FHEAP[_122];
      var _124 = _this+12+4;
      var _125 = FHEAP[_124];
      var _126 = _123 * _125;
      var _127 = _triangle+16+4;
      FHEAP[_127] = _126;
      var __sum3_i11 = _87 + 8;
      var _128 = _85+__sum3_i11;
      var _129 = _128;
      var _130 = FHEAP[_129];
      var _131 = _this+12+8;
      var _132 = FHEAP[_131];
      var _133 = _130 * _132;
      var _134 = _triangle+16+8;
      FHEAP[_134] = _133;
      ;
    }
    var _135 = IHEAP[_28];
    var _136 = _135 == 1;
    var _137 = IHEAP[_31];
    var _138 = IHEAP[_33];
    var _139 = _138 * _indices_2_0;
    var _140 = _137+_139;
    ;
    if (_136) {
      ;
      var _141 = _140;
      var _142 = _triangle+32;
      var _143 = FHEAP[_141];
      var _144 = _this+12;
      var _145 = FHEAP[_144];
      var _146 = _145;
      var _147 = _143 * _146;
      var _148 = _147;
      FHEAP[_142] = _148;
      var __sum4_i1 = _139 + 8;
      var _149 = _137+__sum4_i1;
      var _150 = _149;
      var _151 = FHEAP[_150];
      var _152 = _this+12+4;
      var _153 = FHEAP[_152];
      var _154 = _153;
      var _155 = _151 * _154;
      var _156 = _155;
      var _157 = _triangle+32+4;
      FHEAP[_157] = _156;
      var __sum5_i2 = _139 + 16;
      var _158 = _137+__sum5_i2;
      var _159 = _158;
      var _160 = FHEAP[_159];
      var _161 = _this+12+8;
      var _162 = FHEAP[_161];
      var _163 = _162;
      var _164 = _160 * _163;
      var _165 = _164;
      var _166 = _triangle+32+8;
      FHEAP[_166] = _165;
      ;
    }
    else {
      ;
      var _167 = _140;
      var _168 = _triangle+32;
      var _169 = FHEAP[_167];
      var _170 = _this+12;
      var _171 = FHEAP[_170];
      var _172 = _169 * _171;
      FHEAP[_168] = _172;
      var __sum_i4 = _139 + 4;
      var _173 = _137+__sum_i4;
      var _174 = _173;
      var _175 = FHEAP[_174];
      var _176 = _this+12+4;
      var _177 = FHEAP[_176];
      var _178 = _175 * _177;
      var _179 = _triangle+32+4;
      FHEAP[_179] = _178;
      var __sum3_i5 = _139 + 8;
      var _180 = _137+__sum3_i5;
      var _181 = _180;
      var _182 = FHEAP[_181];
      var _183 = _this+12+8;
      var _184 = FHEAP[_183];
      var _185 = _182 * _184;
      var _186 = _triangle+32+8;
      FHEAP[_186] = _185;
      ;
    }
    var _187 = _this+4;
    var _188 = FHEAP[_187];
    var _189 = _triangle+64;
    FHEAP[_189] = _188;
    ;
    return;
  }
  __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager22get_primitive_triangleEiR19btPrimitiveTriangle.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager22get_primitive_triangleEiR19btPrimitiveTriangle, "__ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager22get_primitive_triangleEiR19btPrimitiveTriangle");
  
  
  function __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager19get_bullet_triangleEiR17btTriangleShapeEx(_this, _prim_index, _triangle) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+64;
    var _1 = IHEAP[_0];
    var _2 = _1 == 3;
    var _3 = _this+52;
    var _4 = IHEAP[_3];
    var _5 = _this+56;
    var _6 = IHEAP[_5];
    var _7 = _6 * _prim_index;
    var _8 = _4+_7;
    ;
    if (_2) {
      ;
      var _9 = _8;
      var _10 = IHEAP[_9];
      var _11 = _10;
      var __sum4_i = _7 + 2;
      var _12 = _4+__sum4_i;
      var _13 = _12;
      var _14 = IHEAP[_13];
      var _15 = _14;
      var __sum5_i = _7 + 4;
      var _16 = _4+__sum5_i;
      var _17 = _16;
      var _18 = IHEAP[_17];
      var _19 = _18;
      __lastLabel__ = 131; ;
    }
    else {
      ;
      var _20 = _8;
      var _21 = IHEAP[_20];
      var __sum_i = _7 + 4;
      var _22 = _4+__sum_i;
      var _23 = _22;
      var _24 = IHEAP[_23];
      var __sum3_i = _7 + 8;
      var _25 = _4+__sum3_i;
      var _26 = _25;
      var _27 = IHEAP[_26];
      __lastLabel__ = 159; ;
    }
    var _indices_2_0 = __lastLabel__ == 131 ? _19 : (_27);
    var _indices_1_0 = __lastLabel__ == 131 ? _15 : (_24);
    var _indices_0_0 = __lastLabel__ == 131 ? _11 : (_21);
    var _28 = _this+44;
    var _29 = IHEAP[_28];
    var _30 = _29 == 1;
    var _31 = _this+36;
    var _32 = IHEAP[_31];
    var _33 = _this+48;
    var _34 = IHEAP[_33];
    var _35 = _34 * _indices_0_0;
    var _36 = _32+_35;
    ;
    if (_30) {
      ;
      var _37 = _36;
      var _38 = _triangle+52;
      var _39 = FHEAP[_37];
      var _40 = _this+12;
      var _41 = FHEAP[_40];
      var _42 = _41;
      var _43 = _39 * _42;
      var _44 = _43;
      FHEAP[_38] = _44;
      var __sum4_i1 = _35 + 8;
      var _45 = _32+__sum4_i1;
      var _46 = _45;
      var _47 = FHEAP[_46];
      var _48 = _this+12+4;
      var _49 = FHEAP[_48];
      var _50 = _49;
      var _51 = _47 * _50;
      var _52 = _51;
      var _53 = _triangle+52+4;
      FHEAP[_53] = _52;
      var __sum5_i2 = _35 + 16;
      var _54 = _32+__sum5_i2;
      var _55 = _54;
      var _56 = FHEAP[_55];
      var _57 = _this+12+8;
      var _58 = FHEAP[_57];
      var _59 = _58;
      var _60 = _56 * _59;
      var _61 = _60;
      var _62 = _triangle+52+8;
      FHEAP[_62] = _61;
      ;
    }
    else {
      ;
      var _63 = _36;
      var _64 = _triangle+52;
      var _65 = FHEAP[_63];
      var _66 = _this+12;
      var _67 = FHEAP[_66];
      var _68 = _65 * _67;
      FHEAP[_64] = _68;
      var __sum_i4 = _35 + 4;
      var _69 = _32+__sum_i4;
      var _70 = _69;
      var _71 = FHEAP[_70];
      var _72 = _this+12+4;
      var _73 = FHEAP[_72];
      var _74 = _71 * _73;
      var _75 = _triangle+52+4;
      FHEAP[_75] = _74;
      var __sum3_i5 = _35 + 8;
      var _76 = _32+__sum3_i5;
      var _77 = _76;
      var _78 = FHEAP[_77];
      var _79 = _this+12+8;
      var _80 = FHEAP[_79];
      var _81 = _78 * _80;
      var _82 = _triangle+52+8;
      FHEAP[_82] = _81;
      ;
    }
    var _83 = IHEAP[_28];
    var _84 = _83 == 1;
    var _85 = IHEAP[_31];
    var _86 = IHEAP[_33];
    var _87 = _86 * _indices_1_0;
    var _88 = _85+_87;
    ;
    if (_84) {
      ;
      var _89 = _88;
      var _90 = _triangle+52+16;
      var _91 = FHEAP[_89];
      var _92 = _this+12;
      var _93 = FHEAP[_92];
      var _94 = _93;
      var _95 = _91 * _94;
      var _96 = _95;
      FHEAP[_90] = _96;
      var __sum4_i14 = _87 + 8;
      var _97 = _85+__sum4_i14;
      var _98 = _97;
      var _99 = FHEAP[_98];
      var _100 = _this+12+4;
      var _101 = FHEAP[_100];
      var _102 = _101;
      var _103 = _99 * _102;
      var _104 = _103;
      var _105 = _triangle+52+16+4;
      FHEAP[_105] = _104;
      var __sum5_i15 = _87 + 16;
      var _106 = _85+__sum5_i15;
      var _107 = _106;
      var _108 = FHEAP[_107];
      var _109 = _this+12+8;
      var _110 = FHEAP[_109];
      var _111 = _110;
      var _112 = _108 * _111;
      var _113 = _112;
      var _114 = _triangle+52+16+8;
      FHEAP[_114] = _113;
      ;
    }
    else {
      ;
      var _115 = _88;
      var _116 = _triangle+52+16;
      var _117 = FHEAP[_115];
      var _118 = _this+12;
      var _119 = FHEAP[_118];
      var _120 = _117 * _119;
      FHEAP[_116] = _120;
      var __sum_i17 = _87 + 4;
      var _121 = _85+__sum_i17;
      var _122 = _121;
      var _123 = FHEAP[_122];
      var _124 = _this+12+4;
      var _125 = FHEAP[_124];
      var _126 = _123 * _125;
      var _127 = _triangle+52+16+4;
      FHEAP[_127] = _126;
      var __sum3_i18 = _87 + 8;
      var _128 = _85+__sum3_i18;
      var _129 = _128;
      var _130 = FHEAP[_129];
      var _131 = _this+12+8;
      var _132 = FHEAP[_131];
      var _133 = _130 * _132;
      var _134 = _triangle+52+16+8;
      FHEAP[_134] = _133;
      ;
    }
    var _135 = IHEAP[_28];
    var _136 = _135 == 1;
    var _137 = IHEAP[_31];
    var _138 = IHEAP[_33];
    var _139 = _138 * _indices_2_0;
    var _140 = _137+_139;
    ;
    if (_136) {
      ;
      var _141 = _140;
      var _142 = _triangle+52+32;
      var _143 = FHEAP[_141];
      var _144 = _this+12;
      var _145 = FHEAP[_144];
      var _146 = _145;
      var _147 = _143 * _146;
      var _148 = _147;
      FHEAP[_142] = _148;
      var __sum4_i7 = _139 + 8;
      var _149 = _137+__sum4_i7;
      var _150 = _149;
      var _151 = FHEAP[_150];
      var _152 = _this+12+4;
      var _153 = FHEAP[_152];
      var _154 = _153;
      var _155 = _151 * _154;
      var _156 = _155;
      var _157 = _triangle+52+32+4;
      FHEAP[_157] = _156;
      var __sum5_i8 = _139 + 16;
      var _158 = _137+__sum5_i8;
      var _159 = _158;
      var _160 = FHEAP[_159];
      var _161 = _this+12+8;
      var _162 = FHEAP[_161];
      var _163 = _162;
      var _164 = _160 * _163;
      var _165 = _164;
      var _166 = _triangle+52+32+8;
      FHEAP[_166] = _165;
      ;
    }
    else {
      ;
      var _167 = _140;
      var _168 = _triangle+52+32;
      var _169 = FHEAP[_167];
      var _170 = _this+12;
      var _171 = FHEAP[_170];
      var _172 = _169 * _171;
      FHEAP[_168] = _172;
      var __sum_i10 = _139 + 4;
      var _173 = _137+__sum_i10;
      var _174 = _173;
      var _175 = FHEAP[_174];
      var _176 = _this+12+4;
      var _177 = FHEAP[_176];
      var _178 = _175 * _177;
      var _179 = _triangle+52+32+4;
      FHEAP[_179] = _178;
      var __sum3_i11 = _139 + 8;
      var _180 = _137+__sum3_i11;
      var _181 = _180;
      var _182 = FHEAP[_181];
      var _183 = _this+12+8;
      var _184 = FHEAP[_183];
      var _185 = _182 * _184;
      var _186 = _triangle+52+32+8;
      FHEAP[_186] = _185;
      ;
    }
    var _187 = _triangle;
    var _188 = IHEAP[_187];
    var _189 = _188+40;
    var _190 = IHEAP[_189];
    var _191 = _this+4;
    var _192 = FHEAP[_191];
    var _193 = _triangle;
    var _194 = _190;
    FUNCTION_TABLE[_194](_193, _192);
    ;
    return;
  }
  __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager19get_bullet_triangleEiR17btTriangleShapeEx.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager19get_bullet_triangleEiR17btTriangleShapeEx, "__ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager19get_bullet_triangleEiR17btTriangleShapeEx");
  
  
  function __ZNK22btGImpactMeshShapePart15lockChildShapesEv(_this) {
    ;
    var __label__;
    var _0 = _this+68+72;
    var _1 = IHEAP[_0];
    var _2 = _1+32;
    var _3 = _2;
    var _4 = IHEAP[_3];
    var _5 = _4 > 0;
    ;
    if (_5) {
      ;
      var _6 = _4 + 1;
      var _7 = _1+32;
      var __c = _6;
      IHEAP[_7] = __c;
      ;
      return;
    }
    else {
      ;
      var _8 = _1+8;
      var _9 = _8;
      var _10 = IHEAP[_9];
      var _11 = _10;
      var _12 = IHEAP[_11];
      var _13 = _12+16;
      var _14 = IHEAP[_13];
      var _15 = _1+28;
      var _16 = _15;
      var _17 = IHEAP[_16];
      var _18 = _1+64;
      var _19 = _18;
      var _20 = _1+60;
      var _21 = _20;
      var _22 = _1+56;
      var _23 = _22;
      var _24 = _1+52;
      var _25 = _24;
      var _26 = _1+48;
      var _27 = _26;
      var _28 = _1+44;
      var _29 = _28;
      var _30 = _1+40;
      var _31 = _30;
      var _32 = _1+36;
      var _33 = _32;
      var _34 = _14;
      FUNCTION_TABLE[_34](_10, _33, _31, _29, _27, _25, _23, _21, _19, _17);
      var _35 = _1+32;
      IHEAP[_35] = 1;
      ;
      return;
    }
  }
  __ZNK22btGImpactMeshShapePart15lockChildShapesEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart15lockChildShapesEv, "__ZNK22btGImpactMeshShapePart15lockChildShapesEv");
  
  
  function __ZNK22btGImpactMeshShapePart17unlockChildShapesEv(_this) {
    ;
    var __label__;
    var _0 = _this+68+72;
    var _1 = IHEAP[_0];
    var _2 = _1+32;
    var _3 = _2;
    var _4 = IHEAP[_3];
    var _5 = _4 == 0;
    ;
    if (_5) {
      ;
      ;
      return;
    }
    else {
      ;
      var _6 = _4 > 1;
      ;
      if (_6) {
        ;
        var _7 = _4 + -1;
        var _8 = _1+32;
        var __c = _7;
        IHEAP[_8] = __c;
        ;
        return;
      }
      else {
        ;
        var _9 = _1+8;
        var _10 = _9;
        var _11 = IHEAP[_10];
        var _12 = _11;
        var _13 = IHEAP[_12];
        var _14 = _13+24;
        var _15 = IHEAP[_14];
        var _16 = _1+28;
        var _17 = _16;
        var _18 = IHEAP[_17];
        var _19 = _15;
        FUNCTION_TABLE[_19](_11, _18);
        var _20 = _1+36;
        IHEAP[_20] = 0;
        var _21 = _1+32;
        IHEAP[_21] = 0;
        ;
        return;
      }
    }
  }
  __ZNK22btGImpactMeshShapePart17unlockChildShapesEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart17unlockChildShapesEv, "__ZNK22btGImpactMeshShapePart17unlockChildShapesEv");
  
  
  function __ZNK22btGImpactMeshShapePart17getNumChildShapesEv(_this) {
    ;
    var __label__;
    var _0 = _this+144+60;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK22btGImpactMeshShapePart17getNumChildShapesEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart17getNumChildShapesEv, "__ZNK22btGImpactMeshShapePart17getNumChildShapesEv");
  
  
  function __ZNK22btGImpactMeshShapePart19getPrimitiveManagerEv(_this) {
    ;
    var __label__;
    var _0 = _this+144;
    ;
    return _0;
  }
  __ZNK22btGImpactMeshShapePart19getPrimitiveManagerEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart19getPrimitiveManagerEv, "__ZNK22btGImpactMeshShapePart19getPrimitiveManagerEv");
  
  
  function __ZNK22btGImpactMeshShapePart17getBulletTriangleEiR17btTriangleShapeEx(_this, _prim_index, _triangle) {
    ;
    var __label__;
    var _0 = _this+144;
    __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager19get_bullet_triangleEiR17btTriangleShapeEx(_0, _prim_index, _triangle);
    ;
    return;
  }
  __ZNK22btGImpactMeshShapePart17getBulletTriangleEiR17btTriangleShapeEx.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart17getBulletTriangleEiR17btTriangleShapeEx, "__ZNK22btGImpactMeshShapePart17getBulletTriangleEiR17btTriangleShapeEx");
  
  
  function __ZN22btGImpactMeshShapePart9setMarginEf(_this, _margin) {
    ;
    var __label__;
    var _0 = _this+144+4;
    FHEAP[_0] = _margin;
    var _1 = _this;
    var _2 = IHEAP[_1];
    var _3 = _2+68;
    var _4 = IHEAP[_3];
    var _5 = _this;
    var _6 = _4;
    FUNCTION_TABLE[_6](_5);
    ;
    return;
  }
  __ZN22btGImpactMeshShapePart9setMarginEf.__index__ = Runtime.getFunctionIndex(__ZN22btGImpactMeshShapePart9setMarginEf, "__ZN22btGImpactMeshShapePart9setMarginEf");
  
  
  function __ZNK22btGImpactMeshShapePart9getMarginEv(_this) {
    ;
    var __label__;
    var _0 = _this+144+4;
    var _1 = FHEAP[_0];
    ;
    return _1;
  }
  __ZNK22btGImpactMeshShapePart9getMarginEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart9getMarginEv, "__ZNK22btGImpactMeshShapePart9getMarginEv");
  
  
  function __ZN22btGImpactMeshShapePart15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var _0 = _this+144+12;
    var _1 = _scaling;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _this+144+12+4;
    var _4 = _scaling+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+144+12+8;
    var _7 = _scaling+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+144+12+12;
    var _10 = _scaling+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _this;
    var _13 = IHEAP[_12];
    var _14 = _13+68;
    var _15 = IHEAP[_14];
    var _16 = _this;
    var _17 = _15;
    FUNCTION_TABLE[_17](_16);
    ;
    return;
  }
  __ZN22btGImpactMeshShapePart15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN22btGImpactMeshShapePart15setLocalScalingERK9btVector3, "__ZN22btGImpactMeshShapePart15setLocalScalingERK9btVector3");
  
  
  function __ZNK22btGImpactMeshShapePart15getLocalScalingEv(_this) {
    ;
    var __label__;
    var _0 = _this+144+12;
    ;
    return _0;
  }
  __ZNK22btGImpactMeshShapePart15getLocalScalingEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart15getLocalScalingEv, "__ZNK22btGImpactMeshShapePart15getLocalScalingEv");
  
  
  function __ZNK22btGImpactMeshShapePart21calculateLocalInertiaEfR9btVector3(_this, _mass, _inertia) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+108;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_this);
    var _5 = _inertia;
    FHEAP[_5] = 0;
    var _6 = _inertia+4;
    FHEAP[_6] = 0;
    var _7 = _inertia+8;
    FHEAP[_7] = 0;
    var _8 = _inertia+12;
    FHEAP[_8] = 0;
    var _9 = _this+144+40;
    var _10 = IHEAP[_9];
    var _11 = _10;
    var _12 = _mass / _11;
    var _13 = _10 == 0;
    ;
    _bb2$_bb_nph$12583: do { 
      if (!_13) {
        ;
        var _14 = _this+144+44;
        var _15 = _this+144+36;
        var _16 = _this+144+48;
        var _17 = _this+144+12;
        var _18 = _this+144+12+4;
        var _19 = _this+144+12+8;
        var _tmp10 = _10 + -1;
        __lastLabel__ = 130; ;
        _bb$12585: while(1) { // _bb
          var _20 = __lastLabel__ == 130 ? 0 : (_74);
          var _21 = __lastLabel__ == 130 ? 0 : (_73);
          var _22 = __lastLabel__ == 130 ? 0 : (_72);
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp11 = _tmp10 - _indvar;
          var _23 = IHEAP[_14];
          var _24 = _23 == 1;
          var _25 = IHEAP[_15];
          var _26 = IHEAP[_16];
          var _27 = _26 * _tmp11;
          var _28 = _25+_27;
          ;
          if (_24) {
            ;
            var _29 = _28;
            var _30 = FHEAP[_29];
            var _31 = FHEAP[_17];
            var _32 = _31;
            var _33 = _30 * _32;
            var _34 = _33;
            var __sum4_i_i = _27 + 8;
            var _35 = _25+__sum4_i_i;
            var _36 = _35;
            var _37 = FHEAP[_36];
            var _38 = FHEAP[_18];
            var _39 = _38;
            var _40 = _37 * _39;
            var _41 = _40;
            var __sum5_i_i = _27 + 16;
            var _42 = _25+__sum5_i_i;
            var _43 = _42;
            var _44 = FHEAP[_43];
            var _45 = FHEAP[_19];
            var _46 = _45;
            var _47 = _44 * _46;
            var _48 = _47;
            __lastLabel__ = 263; ;
          }
          else {
            ;
            var _49 = _28;
            var _50 = FHEAP[_49];
            var _51 = FHEAP[_17];
            var _52 = _50 * _51;
            var __sum_i_i = _27 + 4;
            var _53 = _25+__sum_i_i;
            var _54 = _53;
            var _55 = FHEAP[_54];
            var _56 = FHEAP[_18];
            var _57 = _55 * _56;
            var __sum3_i_i = _27 + 8;
            var _58 = _25+__sum3_i_i;
            var _59 = _58;
            var _60 = FHEAP[_59];
            var _61 = FHEAP[_19];
            var _62 = _60 * _61;
            __lastLabel__ = 265; ;
          }
          var _pointintertia_0_2_0 = __lastLabel__ == 263 ? _48 : (_62);
          var _pointintertia_0_1_0 = __lastLabel__ == 263 ? _41 : (_57);
          var _pointintertia_0_0_0 = __lastLabel__ == 263 ? _34 : (_52);
          var _63 = _pointintertia_0_0_0 * _pointintertia_0_0_0;
          var _64 = _pointintertia_0_1_0 * _pointintertia_0_1_0;
          var _65 = _pointintertia_0_2_0 * _pointintertia_0_2_0;
          var _66 = _63 + _64;
          var _67 = _66 * _12;
          var _68 = _63 + _65;
          var _69 = _68 * _12;
          var _70 = _64 + _65;
          var _71 = _70 * _12;
          var _72 = _22 + _71;
          FHEAP[_5] = _72;
          var _73 = _21 + _69;
          FHEAP[_6] = _73;
          var _74 = _20 + _67;
          FHEAP[_7] = _74;
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _10;
          if (_exitcond) { __lastLabel__ = 2345; __label__ = 0; /* _bb2 */ break _bb2$_bb_nph$12583; } else { __lastLabel__ = 2345; __label__ = 60; /* _bb */ continue _bb$12585; }
        }
      }
    } while(0);
    var _75 = IHEAP[_0];
    var _76 = _75+112;
    var _77 = IHEAP[_76];
    var _78 = _77;
    FUNCTION_TABLE[_78](_this);
    ;
    return;
  }
  __ZNK22btGImpactMeshShapePart21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart21calculateLocalInertiaEfR9btVector3, "__ZNK22btGImpactMeshShapePart21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZNK22btGImpactCompoundShape20childrenHasTransformEv(_this) {
    ;
    var __label__;
    var _0 = _this+152+4;
    var _1 = IHEAP[_0];
    var _not_ = _1 != 0;
    var __0 = _not_;
    ;
    return __0;
  }
  __ZNK22btGImpactCompoundShape20childrenHasTransformEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactCompoundShape20childrenHasTransformEv, "__ZNK22btGImpactCompoundShape20childrenHasTransformEv");
  
  
  function __ZNK22btGImpactCompoundShape17getNumChildShapesEv(_this) {
    ;
    var __label__;
    var _0 = _this+172+4;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK22btGImpactCompoundShape17getNumChildShapesEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactCompoundShape17getNumChildShapesEv, "__ZNK22btGImpactCompoundShape17getNumChildShapesEv");
  
  
  function __ZN22btGImpactCompoundShape13getChildShapeEi(_this, _index) {
    ;
    var __label__;
    var _0 = _this+172+12;
    var _1 = IHEAP[_0];
    var _2 = _1+4*_index;
    var _3 = IHEAP[_2];
    ;
    return _3;
  }
  __ZN22btGImpactCompoundShape13getChildShapeEi.__index__ = Runtime.getFunctionIndex(__ZN22btGImpactCompoundShape13getChildShapeEi, "__ZN22btGImpactCompoundShape13getChildShapeEi");
  
  
  function __ZNK22btGImpactCompoundShape13getChildShapeEi(_this, _index) {
    ;
    var __label__;
    var _0 = _this+172+12;
    var _1 = IHEAP[_0];
    var _2 = _1+4*_index;
    var _3 = IHEAP[_2];
    ;
    return _3;
  }
  __ZNK22btGImpactCompoundShape13getChildShapeEi.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactCompoundShape13getChildShapeEi, "__ZNK22btGImpactCompoundShape13getChildShapeEi");
  
  
  function __ZNK22btGImpactCompoundShape17getChildTransformEi(_agg_result, _this, _index) {
    ;
    var __label__;
    var _0 = _this+152+12;
    var _1 = IHEAP[_0];
    var _2 = _agg_result;
    var _3 = _1+64*_index;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _agg_result+4;
    var _6 = _1+64*_index+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _agg_result+8;
    var _9 = _1+64*_index+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _agg_result+12;
    var _12 = _1+64*_index+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _agg_result+16;
    var _15 = _1+64*_index+16;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _agg_result+16+4;
    var _18 = _1+64*_index+16+4;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _agg_result+16+8;
    var _21 = _1+64*_index+16+8;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _agg_result+16+12;
    var _24 = _1+64*_index+16+12;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _agg_result+32;
    var _27 = _1+64*_index+32;
    var _28 = FHEAP[_27];
    FHEAP[_26] = _28;
    var _29 = _agg_result+32+4;
    var _30 = _1+64*_index+32+4;
    var _31 = FHEAP[_30];
    FHEAP[_29] = _31;
    var _32 = _agg_result+32+8;
    var _33 = _1+64*_index+32+8;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _agg_result+32+12;
    var _36 = _1+64*_index+32+12;
    var _37 = FHEAP[_36];
    FHEAP[_35] = _37;
    var _38 = _agg_result+48;
    var _39 = _1+64*_index+48;
    var _40 = FHEAP[_39];
    FHEAP[_38] = _40;
    var _41 = _agg_result+48+4;
    var _42 = _1+64*_index+48+4;
    var _43 = FHEAP[_42];
    FHEAP[_41] = _43;
    var _44 = _agg_result+48+8;
    var _45 = _1+64*_index+48+8;
    var _46 = FHEAP[_45];
    FHEAP[_44] = _46;
    var _47 = _agg_result+48+12;
    var _48 = _1+64*_index+48+12;
    var _49 = FHEAP[_48];
    FHEAP[_47] = _49;
    ;
    return;
  }
  __ZNK22btGImpactCompoundShape17getChildTransformEi.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactCompoundShape17getChildTransformEi, "__ZNK22btGImpactCompoundShape17getChildTransformEi");
  
  
  function __ZN22btGImpactCompoundShape17setChildTransformEiRK11btTransform(_this, _index, _transform) {
    ;
    var __label__;
    var _0 = _this+152+12;
    var _1 = IHEAP[_0];
    var _2 = _1+64*_index;
    var _3 = _transform;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _1+64*_index+4;
    var _6 = _transform+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _1+64*_index+8;
    var _9 = _transform+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _1+64*_index+12;
    var _12 = _transform+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _1+64*_index+16;
    var _15 = _transform+16;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _1+64*_index+16+4;
    var _18 = _transform+16+4;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _1+64*_index+16+8;
    var _21 = _transform+16+8;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _1+64*_index+16+12;
    var _24 = _transform+16+12;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _1+64*_index+32;
    var _27 = _transform+32;
    var _28 = FHEAP[_27];
    FHEAP[_26] = _28;
    var _29 = _1+64*_index+32+4;
    var _30 = _transform+32+4;
    var _31 = FHEAP[_30];
    FHEAP[_29] = _31;
    var _32 = _1+64*_index+32+8;
    var _33 = _transform+32+8;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _1+64*_index+32+12;
    var _36 = _transform+32+12;
    var _37 = FHEAP[_36];
    FHEAP[_35] = _37;
    var _38 = _1+64*_index+48;
    var _39 = _transform+48;
    var _40 = FHEAP[_39];
    FHEAP[_38] = _40;
    var _41 = _1+64*_index+48+4;
    var _42 = _transform+48+4;
    var _43 = FHEAP[_42];
    FHEAP[_41] = _43;
    var _44 = _1+64*_index+48+8;
    var _45 = _transform+48+8;
    var _46 = FHEAP[_45];
    FHEAP[_44] = _46;
    var _47 = _1+64*_index+48+12;
    var _48 = _transform+48+12;
    var _49 = FHEAP[_48];
    FHEAP[_47] = _49;
    var _50 = _this;
    var _51 = IHEAP[_50];
    var _52 = _51+68;
    var _53 = IHEAP[_52];
    var _54 = _this;
    var _55 = _53;
    FUNCTION_TABLE[_55](_54);
    ;
    return;
  }
  __ZN22btGImpactCompoundShape17setChildTransformEiRK11btTransform.__index__ = Runtime.getFunctionIndex(__ZN22btGImpactCompoundShape17setChildTransformEiRK11btTransform, "__ZN22btGImpactCompoundShape17setChildTransformEiRK11btTransform");
  
  
  function __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager17get_primitive_boxEiR6btAABB(_this, _prim_index, _primbox) {
    var __stackBase__  = STACKTOP; STACKTOP += 72;
    var __label__;
    var _triangle = __stackBase__;
    var _0 = _triangle+64;
    FHEAP[_0] = 0.009999999776482582;
    var _1 = _this;
    var _2 = IHEAP[_1];
    var _3 = _2+20;
    var _4 = IHEAP[_3];
    var _5 = _4;
    FUNCTION_TABLE[_5](_this, _prim_index, _triangle);
    var _6 = FHEAP[_0];
    var _7 = _triangle+16;
    var _8 = _triangle+32;
    var _9 = _primbox;
    var _10 = _triangle;
    var _11 = FHEAP[_10];
    var _12 = _triangle+16;
    var _13 = FHEAP[_12];
    var _14 = _triangle+32;
    var _15 = FHEAP[_14];
    var _16 = _13 > _15;
    var _V3_pn_i = _16 ? _8 : _7;
    var _iftmp_380_0_in_i = _V3_pn_i;
    var _iftmp_380_0_i = FHEAP[_iftmp_380_0_in_i];
    var __not_i = _11 <= _iftmp_380_0_i;
    var _brmerge_i = __not_i | _16;
    var __mux_i = __not_i ? _10 : _14;
    var _iftmp_379_0_in_i = _brmerge_i ? __mux_i : _12;
    var _iftmp_379_0_i = FHEAP[_iftmp_379_0_in_i];
    var _17 = _triangle+4;
    var _18 = FHEAP[_17];
    var _19 = _triangle+16+4;
    var _20 = FHEAP[_19];
    var _21 = _triangle+32+4;
    var _22 = FHEAP[_21];
    var _23 = _20 > _22;
    var _V3_pn61_i = _23 ? _8 : _7;
    var _iftmp_383_0_in_i = _V3_pn61_i+4;
    var _iftmp_383_0_i = FHEAP[_iftmp_383_0_in_i];
    var __not66_i = _18 <= _iftmp_383_0_i;
    var _brmerge67_i = __not66_i | _23;
    var __mux68_i = __not66_i ? _10 : _14;
    var __pn60_pn_i = _brmerge67_i ? __mux68_i : _12;
    var _iftmp_382_0_in_i = __pn60_pn_i+4;
    var _iftmp_382_0_i = FHEAP[_iftmp_382_0_in_i];
    var _24 = _primbox+4;
    var _25 = _triangle+8;
    var _26 = FHEAP[_25];
    var _27 = _triangle+16+8;
    var _28 = FHEAP[_27];
    var _29 = _triangle+32+8;
    var _30 = FHEAP[_29];
    var _31 = _28 > _30;
    var _V3_pn62_i = _31 ? _8 : _7;
    var _iftmp_386_0_in_i = _V3_pn62_i+8;
    var _iftmp_386_0_i = FHEAP[_iftmp_386_0_in_i];
    var __not69_i = _26 <= _iftmp_386_0_i;
    var _brmerge70_i = __not69_i | _31;
    var __mux71_i = __not69_i ? _10 : _14;
    var __pn59_pn_i = _brmerge70_i ? __mux71_i : _12;
    var _iftmp_385_0_in_i = __pn59_pn_i+8;
    var _iftmp_385_0_i = FHEAP[_iftmp_385_0_in_i];
    var _32 = _primbox+8;
    var _33 = _primbox+16;
    var _34 = _13 < _15;
    var _V3_pn63_i = _34 ? _8 : _7;
    var _iftmp_389_0_in_i = _V3_pn63_i;
    var _iftmp_389_0_i = FHEAP[_iftmp_389_0_in_i];
    var __not72_i = _11 >= _iftmp_389_0_i;
    var _brmerge73_i = __not72_i | _34;
    var __mux74_i = __not72_i ? _10 : _14;
    var _iftmp_388_0_in_i = _brmerge73_i ? __mux74_i : _12;
    var _iftmp_388_0_i = FHEAP[_iftmp_388_0_in_i];
    var _35 = _20 < _22;
    var _V3_pn64_i = _35 ? _8 : _7;
    var _iftmp_392_0_in_i = _V3_pn64_i+4;
    var _iftmp_392_0_i = FHEAP[_iftmp_392_0_in_i];
    var __not75_i = _18 >= _iftmp_392_0_i;
    var _brmerge76_i = __not75_i | _35;
    var __mux77_i = __not75_i ? _10 : _14;
    var __pn58_pn_i = _brmerge76_i ? __mux77_i : _12;
    var _iftmp_391_0_in_i = __pn58_pn_i+4;
    var _iftmp_391_0_i = FHEAP[_iftmp_391_0_in_i];
    var _36 = _primbox+16+4;
    var _37 = _28 < _30;
    var _V3_pn65_i = _37 ? _8 : _7;
    var _iftmp_395_0_in_i = _V3_pn65_i+8;
    var _iftmp_395_0_i = FHEAP[_iftmp_395_0_in_i];
    var __not78_i = _26 >= _iftmp_395_0_i;
    var _brmerge79_i = __not78_i | _37;
    var __mux80_i = __not78_i ? _10 : _14;
    var __pn57_pn_i = _brmerge79_i ? __mux80_i : _12;
    var _iftmp_394_0_in_i = __pn57_pn_i+8;
    var _iftmp_394_0_i = FHEAP[_iftmp_394_0_in_i];
    var _38 = _primbox+16+8;
    var _39 = _iftmp_379_0_i - _6;
    FHEAP[_9] = _39;
    var _40 = _iftmp_382_0_i - _6;
    FHEAP[_24] = _40;
    var _41 = _iftmp_385_0_i - _6;
    FHEAP[_32] = _41;
    var _42 = _iftmp_388_0_i + _6;
    FHEAP[_33] = _42;
    var _43 = _iftmp_391_0_i + _6;
    FHEAP[_36] = _43;
    var _44 = _iftmp_394_0_i + _6;
    FHEAP[_38] = _44;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager17get_primitive_boxEiR6btAABB.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager17get_primitive_boxEiR6btAABB, "__ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager17get_primitive_boxEiR6btAABB");
  
  
  function __ZN18btGImpactMeshShape10postUpdateEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+148+4;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _bb2$_bb_nph$12605: do { 
      if (!_2) {
        ;
        var _3 = _this+148+12;
        var _tmp3 = _1 + -1;
        __lastLabel__ = 130; ;
        _bb$12607: while(1) { // _bb
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp4 = _tmp3 - _indvar;
          var _4 = IHEAP[_3];
          var _scevgep = _4+4*_tmp4;
          var _5 = IHEAP[_scevgep];
          var _6 = _5;
          var _7 = IHEAP[_6];
          var _8 = _7+68;
          var _9 = IHEAP[_8];
          var _10 = _5;
          var _11 = _9;
          FUNCTION_TABLE[_11](_10);
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _1;
          if (_exitcond) { __lastLabel__ = 60; __label__ = 0; /* _bb2 */ break _bb2$_bb_nph$12605; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$12607; }
        }
      }
    } while(0);
    var _12 = _this+48;
    IHEAP[_12] = 1;
    ;
    return;
  }
  __ZN18btGImpactMeshShape10postUpdateEv.__index__ = Runtime.getFunctionIndex(__ZN18btGImpactMeshShape10postUpdateEv, "__ZN18btGImpactMeshShape10postUpdateEv");
  
  
  function __ZN18btGImpactMeshShape13calcLocalAABBEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+16;
    FHEAP[_0] = 3.4028234663852886e+38;
    var _1 = _this+16+4;
    FHEAP[_1] = 3.4028234663852886e+38;
    var _2 = _this+16+8;
    FHEAP[_2] = 3.4028234663852886e+38;
    var _3 = _this+16+16;
    FHEAP[_3] = -3.4028234663852886e+38;
    var _4 = _this+16+16+4;
    FHEAP[_4] = -3.4028234663852886e+38;
    var _5 = _this+16+16+8;
    FHEAP[_5] = -3.4028234663852886e+38;
    var _6 = _this+148+4;
    var _7 = IHEAP[_6];
    var _8 = _7 == 0;
    ;
    _return$_bb_nph$12611: do { 
      if (!_8) {
        ;
        var _9 = _this+148+12;
        var _10 = _this+16;
        var _tmp3 = _7 + -1;
        var __pre = IHEAP[_9];
        __lastLabel__ = 130; ;
        _bb$12613: while(1) { // _bb
          var _11 = __lastLabel__ == 130 ? -3.4028234663852886e+38 : (_iftmp_245_0_i);
          var _12 = __lastLabel__ == 130 ? -3.4028234663852886e+38 : (_iftmp_244_0_i);
          var _13 = __lastLabel__ == 130 ? -3.4028234663852886e+38 : (_iftmp_243_0_i);
          var _14 = __lastLabel__ == 130 ? 3.4028234663852886e+38 : (_iftmp_242_0_i);
          var _15 = __lastLabel__ == 130 ? 3.4028234663852886e+38 : (_iftmp_241_0_i);
          var _16 = __lastLabel__ == 130 ? 3.4028234663852886e+38 : (_iftmp_240_0_i);
          var _17 = __lastLabel__ == 130 ? __pre : (_33);
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp4 = _tmp3 - _indvar;
          var _scevgep5 = _17+4*_tmp4;
          var _18 = IHEAP[_scevgep5];
          var _19 = _18+48;
          var _20 = IHEAP[_19];
          var _toBoolnot_i = _20 == 0;
          ;
          if (_toBoolnot_i) {
            __lastLabel__ = 60; ;
          }
          else {
            __lastLabel__ = 60; ;
            var _21 = _18;
            var _22 = _18;
            var _23 = IHEAP[_22];
            var _24 = _23+64;
            var _25 = IHEAP[_24];
            var _26 = _25;
            FUNCTION_TABLE[_26](_21);
            IHEAP[_19] = 0;
            var __pre6 = FHEAP[_0];
            var __pre7 = FHEAP[_1];
            var __pre8 = FHEAP[_2];
            var __pre9 = FHEAP[_3];
            var __pre10 = FHEAP[_4];
            var __pre11 = FHEAP[_5];
            __lastLabel__ = 131; ;
          }
          var _27 = __lastLabel__ == 60 ? _11 : (__pre11);
          var _28 = __lastLabel__ == 60 ? _12 : (__pre10);
          var _29 = __lastLabel__ == 60 ? _13 : (__pre9);
          var _30 = __lastLabel__ == 60 ? _14 : (__pre8);
          var _31 = __lastLabel__ == 60 ? _15 : (__pre7);
          var _32 = __lastLabel__ == 60 ? _16 : (__pre6);
          var _33 = IHEAP[_9];
          var _scevgep = _33+4*_tmp4;
          var _34 = IHEAP[_scevgep];
          var _35 = _34+16;
          var _36 = _34+16;
          var _37 = FHEAP[_36];
          var _38 = _32 > _37;
          var _box_pn25_i = _38 ? _35 : _10;
          var _iftmp_240_0_in_i = _box_pn25_i;
          var _iftmp_240_0_i = FHEAP[_iftmp_240_0_in_i];
          FHEAP[_0] = _iftmp_240_0_i;
          var _39 = _34+16+4;
          var _40 = FHEAP[_39];
          var _41 = _31 > _40;
          var _box_pn24_i = _41 ? _35 : _10;
          var _iftmp_241_0_in_i = _box_pn24_i+4;
          var _iftmp_241_0_i = FHEAP[_iftmp_241_0_in_i];
          FHEAP[_1] = _iftmp_241_0_i;
          var _42 = _34+16+8;
          var _43 = FHEAP[_42];
          var _44 = _30 > _43;
          var _box_pn23_i = _44 ? _35 : _10;
          var _iftmp_242_0_in_i = _box_pn23_i+8;
          var _iftmp_242_0_i = FHEAP[_iftmp_242_0_in_i];
          FHEAP[_2] = _iftmp_242_0_i;
          var _45 = _34+16+16;
          var _46 = FHEAP[_45];
          var _47 = _29 < _46;
          var _box_pn22_i = _47 ? _35 : _10;
          var _iftmp_243_0_in_i = _box_pn22_i+16;
          var _iftmp_243_0_i = FHEAP[_iftmp_243_0_in_i];
          FHEAP[_3] = _iftmp_243_0_i;
          var _48 = _34+16+16+4;
          var _49 = FHEAP[_48];
          var _50 = _28 < _49;
          var _box_pn21_i = _50 ? _35 : _10;
          var _iftmp_244_0_in_i = _box_pn21_i+16+4;
          var _iftmp_244_0_i = FHEAP[_iftmp_244_0_in_i];
          FHEAP[_4] = _iftmp_244_0_i;
          var _51 = _34+16+16+8;
          var _52 = FHEAP[_51];
          var _53 = _27 < _52;
          var _box_pn_i = _53 ? _35 : _10;
          var _iftmp_245_0_in_i = _box_pn_i+16+8;
          var _iftmp_245_0_i = FHEAP[_iftmp_245_0_in_i];
          FHEAP[_5] = _iftmp_245_0_i;
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _7;
          if (_exitcond) { __lastLabel__ = 2347; __label__ = 44; /* _return */ break _return$_bb_nph$12611; } else { __lastLabel__ = 2347; __label__ = 60; /* _bb */ continue _bb$12613; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN18btGImpactMeshShape13calcLocalAABBEv.__index__ = Runtime.getFunctionIndex(__ZN18btGImpactMeshShape13calcLocalAABBEv, "__ZN18btGImpactMeshShape13calcLocalAABBEv");
  
  
  function __ZN18btGImpactMeshShape9setMarginEf(_this, _margin) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+12;
    FHEAP[_0] = _margin;
    var _1 = _this+148+4;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb2$_bb_nph$12620: do { 
      if (!_3) {
        ;
        var _4 = _this+148+12;
        var _tmp3 = _2 + -1;
        __lastLabel__ = 130; ;
        _bb$12622: while(1) { // _bb
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp4 = _tmp3 - _indvar;
          var _5 = IHEAP[_4];
          var _scevgep = _5+4*_tmp4;
          var _6 = IHEAP[_scevgep];
          var _7 = _6;
          var _8 = IHEAP[_7];
          var _9 = _8+40;
          var _10 = IHEAP[_9];
          var _11 = _10;
          FUNCTION_TABLE[_11](_6, _margin);
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _2;
          if (_exitcond) { __lastLabel__ = 60; __label__ = 0; /* _bb2 */ break _bb2$_bb_nph$12620; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$12622; }
        }
      }
    } while(0);
    var _12 = _this+48;
    IHEAP[_12] = 1;
    ;
    return;
  }
  __ZN18btGImpactMeshShape9setMarginEf.__index__ = Runtime.getFunctionIndex(__ZN18btGImpactMeshShape9setMarginEf, "__ZN18btGImpactMeshShape9setMarginEf");
  
  
  function __ZN18btGImpactMeshShape15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+52;
    var _1 = _scaling;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _this+52+4;
    var _4 = _scaling+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+52+8;
    var _7 = _scaling+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+52+12;
    var _10 = _scaling+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _this+148+4;
    var _13 = IHEAP[_12];
    var _14 = _13 == 0;
    ;
    _bb2$_bb_nph$12626: do { 
      if (!_14) {
        ;
        var _15 = _this+148+12;
        var _tmp3 = _13 + -1;
        __lastLabel__ = 130; ;
        _bb$12628: while(1) { // _bb
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp4 = _tmp3 - _indvar;
          var _16 = IHEAP[_15];
          var _scevgep = _16+4*_tmp4;
          var _17 = IHEAP[_scevgep];
          var _18 = _17;
          var _19 = IHEAP[_18];
          var _20 = _19+24;
          var _21 = IHEAP[_20];
          var _22 = _21;
          FUNCTION_TABLE[_22](_17, _scaling);
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _13;
          if (_exitcond) { __lastLabel__ = 60; __label__ = 0; /* _bb2 */ break _bb2$_bb_nph$12626; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$12628; }
        }
      }
    } while(0);
    var _23 = _this+48;
    IHEAP[_23] = 1;
    ;
    return;
  }
  __ZN18btGImpactMeshShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN18btGImpactMeshShape15setLocalScalingERK9btVector3, "__ZN18btGImpactMeshShape15setLocalScalingERK9btVector3");
  
  
  function __ZNK18btGImpactMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_(_this, _callback, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+148+4;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _return$_bb_nph$12632: do { 
      if (!_2) {
        ;
        var _3 = _this+148+12;
        var _tmp3 = _1 + -1;
        __lastLabel__ = 130; ;
        _bb$12634: while(1) { // _bb
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp4 = _tmp3 - _indvar;
          var _4 = IHEAP[_3];
          var _scevgep = _4+4*_tmp4;
          var _5 = IHEAP[_scevgep];
          var _6 = _5;
          var _7 = IHEAP[_6];
          var _8 = _7+60;
          var _9 = IHEAP[_8];
          var _10 = _9;
          FUNCTION_TABLE[_10](_5, _callback, _aabbMin, _aabbMax);
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _1;
          if (_exitcond) { __lastLabel__ = 60; __label__ = 44; /* _return */ break _return$_bb_nph$12632; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$12634; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZNK18btGImpactMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK18btGImpactMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_, "__ZNK18btGImpactMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_");
  
  
  function __ZNK18btGImpactMeshShape21calculateLocalInertiaEfR9btVector3(_this, _mass, _inertia) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var __lastLabel__ = null;
    var _partinertia = __stackBase__;
    var _0 = _inertia;
    FHEAP[_0] = 0;
    var _1 = _inertia+4;
    FHEAP[_1] = 0;
    var _2 = _inertia+8;
    FHEAP[_2] = 0;
    var _3 = _inertia+12;
    FHEAP[_3] = 0;
    var _4 = _this+148+4;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = _mass / _6;
    var _8 = _5 == 0;
    ;
    _return$_bb_nph$12638: do { 
      if (!_8) {
        ;
        var _9 = _this+148+12;
        var _10 = _partinertia;
        var _11 = _partinertia+4;
        var _12 = _partinertia+8;
        var _tmp3 = _5 + -1;
        __lastLabel__ = 130; ;
        _bb$12640: while(1) { // _bb
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp4 = _tmp3 - _indvar;
          var _13 = IHEAP[_9];
          var _scevgep = _13+4*_tmp4;
          var _14 = IHEAP[_scevgep];
          var _15 = _14;
          var _16 = IHEAP[_15];
          var _17 = _16+32;
          var _18 = IHEAP[_17];
          var _19 = _18;
          FUNCTION_TABLE[_19](_14, _7, _partinertia);
          var _20 = FHEAP[_0];
          var _21 = FHEAP[_10];
          var _22 = _20 + _21;
          FHEAP[_0] = _22;
          var _23 = FHEAP[_1];
          var _24 = FHEAP[_11];
          var _25 = _23 + _24;
          FHEAP[_1] = _25;
          var _26 = FHEAP[_2];
          var _27 = FHEAP[_12];
          var _28 = _26 + _27;
          FHEAP[_2] = _28;
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _5;
          if (_exitcond) { __lastLabel__ = 60; __label__ = 44; /* _return */ break _return$_bb_nph$12638; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$12640; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK18btGImpactMeshShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK18btGImpactMeshShape21calculateLocalInertiaEfR9btVector3, "__ZNK18btGImpactMeshShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZN22btGImpactCompoundShape24CompoundPrimitiveManagerD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN22btGImpactCompoundShape24CompoundPrimitiveManagerE+8;
    ;
    return;
  }
  __ZN22btGImpactCompoundShape24CompoundPrimitiveManagerD1Ev.__index__ = Runtime.getFunctionIndex(__ZN22btGImpactCompoundShape24CompoundPrimitiveManagerD1Ev, "__ZN22btGImpactCompoundShape24CompoundPrimitiveManagerD1Ev");
  
  
  function __ZN22btGImpactCompoundShape24CompoundPrimitiveManagerD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN22btGImpactCompoundShape24CompoundPrimitiveManagerE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN22btGImpactCompoundShape24CompoundPrimitiveManagerD0Ev.__index__ = Runtime.getFunctionIndex(__ZN22btGImpactCompoundShape24CompoundPrimitiveManagerD0Ev, "__ZN22btGImpactCompoundShape24CompoundPrimitiveManagerD0Ev");
  
  
  function __ZN22btGImpactMeshShapePart23TrimeshPrimitiveManagerD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN22btGImpactMeshShapePart23TrimeshPrimitiveManagerE+8;
    ;
    return;
  }
  __ZN22btGImpactMeshShapePart23TrimeshPrimitiveManagerD1Ev.__index__ = Runtime.getFunctionIndex(__ZN22btGImpactMeshShapePart23TrimeshPrimitiveManagerD1Ev, "__ZN22btGImpactMeshShapePart23TrimeshPrimitiveManagerD1Ev");
  
  
  function __ZN22btGImpactMeshShapePart23TrimeshPrimitiveManagerD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN22btGImpactMeshShapePart23TrimeshPrimitiveManagerE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN22btGImpactMeshShapePart23TrimeshPrimitiveManagerD0Ev.__index__ = Runtime.getFunctionIndex(__ZN22btGImpactMeshShapePart23TrimeshPrimitiveManagerD0Ev, "__ZN22btGImpactMeshShapePart23TrimeshPrimitiveManagerD0Ev");
  
  
  function __ZN23btGImpactShapeInterface13calcLocalAABBEv(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+108;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_this);
    var _5 = _this+68;
    var _6 = IHEAP[_5];
    var _7 = _6 == 0;
    var _8 = _this+68;
    ;
    if (_7) {
      ;
      __ZN21btGImpactQuantizedBvh8buildSetEv(_8);
      ;
    }
    else {
      ;
      __ZN21btGImpactQuantizedBvh5refitEv(_8);
      ;
    }
    var _9 = IHEAP[_0];
    var _10 = _9+112;
    var _11 = IHEAP[_10];
    var _12 = _11;
    FUNCTION_TABLE[_12](_this);
    var _13 = _this+68+4+12;
    var _14 = IHEAP[_13];
    var _15 = _14;
    var _16 = _14+4;
    var _17 = IHEAP[_16];
    var _18 = unSign(_17, 16);
    var _19 = _this+68+56+8;
    var _20 = FHEAP[_19];
    var _21 = _18 / _20;
    var _22 = _14+2;
    var _23 = IHEAP[_22];
    var _24 = unSign(_23, 16);
    var _25 = _this+68+56+4;
    var _26 = FHEAP[_25];
    var _27 = _24 / _26;
    var _28 = IHEAP[_15];
    var _29 = unSign(_28, 16);
    var _30 = _this+68+56;
    var _31 = FHEAP[_30];
    var _32 = _29 / _31;
    var _33 = _this+68+24;
    var _34 = FHEAP[_33];
    var _35 = _32 + _34;
    var _36 = _this+68+24+4;
    var _37 = FHEAP[_36];
    var _38 = _27 + _37;
    var _39 = _this+68+24+8;
    var _40 = FHEAP[_39];
    var _41 = _21 + _40;
    var _42 = _14+8;
    var _43 = _14+8+4;
    var _44 = IHEAP[_43];
    var _45 = unSign(_44, 16);
    var _46 = _45 / _20;
    var _47 = _14+8+2;
    var _48 = IHEAP[_47];
    var _49 = unSign(_48, 16);
    var _50 = _49 / _26;
    var _51 = IHEAP[_42];
    var _52 = unSign(_51, 16);
    var _53 = _52 / _31;
    var _54 = _53 + _34;
    var _55 = _50 + _37;
    var _56 = _46 + _40;
    var _57 = _this+16;
    FHEAP[_57] = _35;
    var _58 = _this+16+4;
    FHEAP[_58] = _38;
    var _59 = _this+16+8;
    FHEAP[_59] = _41;
    var _60 = _this+16+12;
    FHEAP[_60] = 0;
    var _61 = _this+16+16;
    FHEAP[_61] = _54;
    var _62 = _this+16+16+4;
    FHEAP[_62] = _55;
    var _63 = _this+16+16+8;
    FHEAP[_63] = _56;
    var _64 = _this+16+16+12;
    FHEAP[_64] = 0;
    ;
    return;
  }
  __ZN23btGImpactShapeInterface13calcLocalAABBEv.__index__ = Runtime.getFunctionIndex(__ZN23btGImpactShapeInterface13calcLocalAABBEv, "__ZN23btGImpactShapeInterface13calcLocalAABBEv");
  
  
  function __ZN20GIM_TRIANGLE_CONTACT12merge_pointsERK9btVector4fPK9btVector3i(_this, _plane, _margin, _points, _point_count) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var __lastLabel__ = null;
    var _point_indices = __stackBase__;
    var _0 = _this+4;
    IHEAP[_0] = 0;
    var _1 = _this;
    FHEAP[_1] = -1000;
    var _2 = _point_count > 0;
    ;
    _bb_nph13$_return$12916: do { 
      if (_2) {
        ;
        var _3 = _plane;
        var _4 = _plane+4;
        var _5 = _plane+8;
        var _6 = _plane+12;
        var _7 = _point_indices;
        __lastLabel__ = 2370; ;
        _bb$12918: while(1) { // _bb
          var _8 = __lastLabel__ == 2370 ? 0 : (_31);
          var _9 = __lastLabel__ == 2370 ? -1000 : (_32);
          var _10 = __lastLabel__ == 2370 ? 0 : (_33);
          var _scevgep1920 = _points+16*_10;
          var _scevgep21 = _points+16*_10+4;
          var _scevgep22 = _points+16*_10+8;
          var _11 = FHEAP[_scevgep1920];
          var _12 = FHEAP[_3];
          var _13 = _11 * _12;
          var _14 = FHEAP[_scevgep21];
          var _15 = FHEAP[_4];
          var _16 = _14 * _15;
          var _17 = _13 + _16;
          var _18 = FHEAP[_scevgep22];
          var _19 = FHEAP[_5];
          var _20 = _18 * _19;
          var _21 = _17 + _20;
          var _22 = FHEAP[_6];
          var _23 = _21 - _22;
          var _24 = _margin - _23;
          var _25 = _24 < 0;
          ;
          _bb5$_bb1$12920: do { 
            if (_25) {
              __lastLabel__ = 60; ;
            }
            else {
              __lastLabel__ = 60; ;
              var _26 = _9 < _24;
              ;
              if (_26) {
                ;
                FHEAP[_1] = _24;
                IHEAP[_7] = _10;
                IHEAP[_0] = 1;
                __lastLabel__ = 0; ;
              }
              else {
                ;
                var _27 = _24 + 1.1920928955078125e-7;
                var _28 = _27 < _9;
                if (_28) { __lastLabel__ = 116; __label__ = 82; /* _bb5 */ break _bb5$_bb1$12920; } else { __lastLabel__ = 116; ; }
                var _29 = _point_indices+_8*4;
                IHEAP[_29] = _10;
                var _30 = _8 + 1;
                IHEAP[_0] = _30;
                __lastLabel__ = 61; ;
              }
            }
          } while(0);
          var _31 = __lastLabel__ == 116 ? _8 : (__lastLabel__ == 60 ? _8 : (__lastLabel__ == 61 ? _30 : (1)));
          var _32 = __lastLabel__ == 116 ? _9 : (__lastLabel__ == 60 ? _9 : (__lastLabel__ == 61 ? _9 : (_24)));
          var _33 = _10 + 1;
          var _exitcond = _33 == _point_count;
          if (_exitcond) { __lastLabel__ = 82; __label__ = 720; /* _bb9_preheader */ break _bb$12918; } else { __lastLabel__ = 82; __label__ = 60; /* _bb */ continue _bb$12918; }
        }
        var _34 = _31 > 0;
        if (_34) { __lastLabel__ = 720; ; } else { __lastLabel__ = 720; __label__ = 44; /* _return */ break _bb_nph13$_return$12916; }
        _bb8$12928: while(1) { // _bb8
          var __k_111 = __lastLabel__ == 720 ? 0 : (_44);
          var _scevgep = _point_indices+__k_111*4;
          var _scevgep1415 = _this+24+__k_111*16;
          var _scevgep16 = _this+24+__k_111*16+4;
          var _scevgep17 = _this+24+__k_111*16+8;
          var _scevgep18 = _this+24+__k_111*16+12;
          var _35 = IHEAP[_scevgep];
          var _36 = _points+16*_35;
          var _37 = FHEAP[_36];
          FHEAP[_scevgep1415] = _37;
          var _38 = _points+16*_35+4;
          var _39 = FHEAP[_38];
          FHEAP[_scevgep16] = _39;
          var _40 = _points+16*_35+8;
          var _41 = FHEAP[_40];
          FHEAP[_scevgep17] = _41;
          var _42 = _points+16*_35+12;
          var _43 = FHEAP[_42];
          FHEAP[_scevgep18] = _43;
          var _44 = __k_111 + 1;
          var _45 = IHEAP[_0];
          var _46 = _45 > _44;
          if (_46) { __lastLabel__ = 148; __label__ = 148; /* _bb8 */ continue _bb8$12928; } else { __lastLabel__ = 148; __label__ = 44; /* _return */ break _bb_nph13$_return$12916; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN20GIM_TRIANGLE_CONTACT12merge_pointsERK9btVector4fPK9btVector3i.__index__ = Runtime.getFunctionIndex(__ZN20GIM_TRIANGLE_CONTACT12merge_pointsERK9btVector4fPK9btVector3i, "__ZN20GIM_TRIANGLE_CONTACT12merge_pointsERK9btVector4fPK9btVector3i");
  
  
  function __Z21bt_plane_clip_polygonRK9btVector4PK9btVector3iPS2_(_plane, _polygon_points, _polygon_point_count, _clipped) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _polygon_points;
    var _1 = FHEAP[_0];
    var _2 = _plane;
    var _3 = FHEAP[_2];
    var _4 = _1 * _3;
    var _5 = _polygon_points+4;
    var _6 = FHEAP[_5];
    var _7 = _plane+4;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _4 + _9;
    var _11 = _polygon_points+8;
    var _12 = FHEAP[_11];
    var _13 = _plane+8;
    var _14 = FHEAP[_13];
    var _15 = _12 * _14;
    var _16 = _10 + _15;
    var _17 = _plane+12;
    var _18 = FHEAP[_17];
    var _19 = _16 - _18;
    var _20 = _19 <= 1.1920928955078125e-7;
    ;
    if (_20) {
      __lastLabel__ = -1; ;
      var _21 = _clipped;
      FHEAP[_21] = _1;
      var _22 = _clipped+4;
      var _23 = FHEAP[_5];
      FHEAP[_22] = _23;
      var _24 = _clipped+8;
      var _25 = FHEAP[_11];
      FHEAP[_24] = _25;
      var _26 = _clipped+12;
      var _27 = _polygon_points+12;
      var _28 = FHEAP[_27];
      FHEAP[_26] = _28;
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _clipped_count_0_ph = __lastLabel__ == -1 ? 0 : (1);
    var _29 = _polygon_point_count > 1;
    ;
    _bb_nph$_bb4$12935: do { 
      if (_29) {
        __lastLabel__ = 510; ;
        var _tmp = _polygon_point_count + -1;
        __lastLabel__ = 130; ;
        _bb2$12937: while(1) { // _bb2
          var _indvar = __lastLabel__ == 130 ? 0 : (_tmp15);
          var _olddist_012 = __lastLabel__ == 130 ? _19 : (_42);
          var _clipped_count_011 = __lastLabel__ == 130 ? _clipped_count_0_ph : (_clipped_count_4);
          var _tmp15 = _indvar + 1;
          var _scevgep16 = _polygon_points+16*_tmp15;
          var _scevgep17 = _polygon_points+16*_tmp15+4;
          var _scevgep18 = _polygon_points+16*_tmp15+8;
          var _scevgep19 = _polygon_points+16*_tmp15+12;
          var _30 = FHEAP[_scevgep16];
          var _31 = FHEAP[_2];
          var _32 = _30 * _31;
          var _33 = FHEAP[_scevgep17];
          var _34 = FHEAP[_7];
          var _35 = _33 * _34;
          var _36 = _32 + _35;
          var _37 = FHEAP[_scevgep18];
          var _38 = FHEAP[_13];
          var _39 = _37 * _38;
          var _40 = _36 + _39;
          var _41 = FHEAP[_17];
          var _42 = _40 - _41;
          var _43 = _olddist_012 > 1.1920928955078125e-7;
          var _44 = _42 > 1.1920928955078125e-7;
          var _45 = _44 ^ _43;
          ;
          if (_45) {
            __lastLabel__ = 0; ;
            var _scevgep23 = _polygon_points+16*_indvar+8;
            var _scevgep22 = _polygon_points+16*_indvar+4;
            var _scevgep2021 = _polygon_points+16*_indvar;
            var _46 = 0 - _olddist_012;
            var _47 = _42 - _olddist_012;
            var _48 = _46 / _47;
            var _49 = _37 * _48;
            var _50 = _33 * _48;
            var _51 = _30 * _48;
            var _52 = 1 - _48;
            var _53 = FHEAP[_scevgep23];
            var _54 = _53 * _52;
            var _55 = FHEAP[_scevgep22];
            var _56 = _55 * _52;
            var _57 = FHEAP[_scevgep2021];
            var _58 = _57 * _52;
            var _59 = _54 + _49;
            var _60 = _56 + _50;
            var _61 = _58 + _51;
            var _62 = _clipped+16*_clipped_count_011;
            FHEAP[_62] = _61;
            var _63 = _clipped+16*_clipped_count_011+4;
            FHEAP[_63] = _60;
            var _64 = _clipped+16*_clipped_count_011+8;
            FHEAP[_64] = _59;
            var _65 = _clipped+16*_clipped_count_011+12;
            FHEAP[_65] = 0;
            var _66 = _clipped_count_011 + 1;
            __lastLabel__ = 1627; ;
          }
          else {
            __lastLabel__ = 0; ;
          }
          var _clipped_count_3 = __lastLabel__ == 1627 ? _66 : (_clipped_count_011);
          ;
          if (_44) {
            __lastLabel__ = 1799; ;
          }
          else {
            __lastLabel__ = 1799; ;
            var _67 = _clipped+16*_clipped_count_3;
            var _68 = FHEAP[_scevgep16];
            FHEAP[_67] = _68;
            var _69 = _clipped+16*_clipped_count_3+4;
            var _70 = FHEAP[_scevgep17];
            FHEAP[_69] = _70;
            var _71 = _clipped+16*_clipped_count_3+8;
            var _72 = FHEAP[_scevgep18];
            FHEAP[_71] = _72;
            var _73 = _clipped+16*_clipped_count_3+12;
            var _74 = FHEAP[_scevgep19];
            FHEAP[_73] = _74;
            var _75 = _clipped_count_3 + 1;
            __lastLabel__ = 2374; ;
          }
          var _clipped_count_4 = __lastLabel__ == 2374 ? _75 : (_clipped_count_3);
          var _exitcond = _tmp15 == _tmp;
          if (_exitcond) { __lastLabel__ = 2376; __label__ = 61; /* _bb4 */ break _bb_nph$_bb4$12935; } else { __lastLabel__ = 2376; __label__ = 0; /* _bb2 */ continue _bb2$12937; }
        }
      }
      else {
        __lastLabel__ = 510; ;
      }
    } while(0);
    var _olddist_0_lcssa = __lastLabel__ == 510 ? _19 : (_42);
    var _clipped_count_0_lcssa = __lastLabel__ == 510 ? _clipped_count_0_ph : (_clipped_count_4);
    var _76 = _polygon_point_count + -1;
    var _77 = _olddist_0_lcssa > 1.1920928955078125e-7;
    var _78 = _19 > 1.1920928955078125e-7;
    var _79 = _78 ^ _77;
    ;
    if (_79) {
      __lastLabel__ = 61; ;
      var _80 = 0 - _olddist_0_lcssa;
      var _81 = _19 - _olddist_0_lcssa;
      var _82 = _80 / _81;
      var _83 = FHEAP[_11];
      var _84 = _83 * _82;
      var _85 = FHEAP[_5];
      var _86 = _85 * _82;
      var _87 = FHEAP[_0];
      var _88 = _87 * _82;
      var _89 = 1 - _82;
      var _90 = _polygon_points+16*_76+8;
      var _91 = FHEAP[_90];
      var _92 = _91 * _89;
      var _93 = _polygon_points+16*_76+4;
      var _94 = FHEAP[_93];
      var _95 = _94 * _89;
      var _96 = _polygon_points+16*_76;
      var _97 = FHEAP[_96];
      var _98 = _97 * _89;
      var _99 = _92 + _84;
      var _100 = _95 + _86;
      var _101 = _98 + _88;
      var _102 = _clipped+16*_clipped_count_0_lcssa;
      FHEAP[_102] = _101;
      var _103 = _clipped+16*_clipped_count_0_lcssa+4;
      FHEAP[_103] = _100;
      var _104 = _clipped+16*_clipped_count_0_lcssa+8;
      FHEAP[_104] = _99;
      var _105 = _clipped+16*_clipped_count_0_lcssa+12;
      FHEAP[_105] = 0;
      var _106 = _clipped_count_0_lcssa + 1;
      __lastLabel__ = 131; ;
    }
    else {
      __lastLabel__ = 61; ;
    }
    var _clipped_count_1 = __lastLabel__ == 131 ? _106 : (_clipped_count_0_lcssa);
    ;
    if (_78) {
      ;
      ;
      return _clipped_count_1;
    }
    else {
      ;
      var _107 = _clipped+16*_clipped_count_1;
      var _108 = FHEAP[_0];
      FHEAP[_107] = _108;
      var _109 = _clipped+16*_clipped_count_1+4;
      var _110 = FHEAP[_5];
      FHEAP[_109] = _110;
      var _111 = _clipped+16*_clipped_count_1+8;
      var _112 = FHEAP[_11];
      FHEAP[_111] = _112;
      var _113 = _clipped+16*_clipped_count_1+12;
      var _114 = _polygon_points+12;
      var _115 = FHEAP[_114];
      FHEAP[_113] = _115;
      var _116 = _clipped_count_1 + 1;
      ;
      return _116;
    }
  }
  __Z21bt_plane_clip_polygonRK9btVector4PK9btVector3iPS2_.__index__ = Runtime.getFunctionIndex(__Z21bt_plane_clip_polygonRK9btVector4PK9btVector3iPS2_, "__Z21bt_plane_clip_polygonRK9btVector4PK9btVector3iPS2_");
  
  
  function __Z22bt_plane_clip_triangleRK9btVector4RK9btVector3S4_S4_PS2_(_plane, _point0, _point1, _point2, _clipped) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _point0;
    var _1 = FHEAP[_0];
    var _2 = _plane;
    var _3 = FHEAP[_2];
    var _4 = _1 * _3;
    var _5 = _point0+4;
    var _6 = FHEAP[_5];
    var _7 = _plane+4;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _4 + _9;
    var _11 = _point0+8;
    var _12 = FHEAP[_11];
    var _13 = _plane+8;
    var _14 = FHEAP[_13];
    var _15 = _12 * _14;
    var _16 = _10 + _15;
    var _17 = _plane+12;
    var _18 = FHEAP[_17];
    var _19 = _16 - _18;
    var _20 = _19 <= 1.1920928955078125e-7;
    ;
    if (_20) {
      __lastLabel__ = -1; ;
      var _21 = _clipped;
      FHEAP[_21] = _1;
      var _22 = _clipped+4;
      var _23 = FHEAP[_5];
      FHEAP[_22] = _23;
      var _24 = _clipped+8;
      var _25 = FHEAP[_11];
      FHEAP[_24] = _25;
      var _26 = _clipped+12;
      var _27 = _point0+12;
      var _28 = FHEAP[_27];
      FHEAP[_26] = _28;
      var __pre = FHEAP[_2];
      var __pre13 = FHEAP[_7];
      var __pre14 = FHEAP[_13];
      var __pre15 = FHEAP[_17];
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _29 = __lastLabel__ == 60 ? __pre15 : (_18);
    var _30 = __lastLabel__ == 60 ? __pre14 : (_14);
    var _31 = __lastLabel__ == 60 ? __pre13 : (_8);
    var _32 = __lastLabel__ == 60 ? __pre : (_3);
    var _clipped_count_0 = __lastLabel__ == 60 ? 1 : (0);
    var _33 = _point1;
    var _34 = FHEAP[_33];
    var _35 = _34 * _32;
    var _36 = _point1+4;
    var _37 = FHEAP[_36];
    var _38 = _37 * _31;
    var _39 = _35 + _38;
    var _40 = _point1+8;
    var _41 = FHEAP[_40];
    var _42 = _41 * _30;
    var _43 = _39 + _42;
    var _44 = _43 - _29;
    var _45 = _19 > 1.1920928955078125e-7;
    var _46 = _44 > 1.1920928955078125e-7;
    var _47 = _46 ^ _45;
    ;
    if (_47) {
      __lastLabel__ = 75; ;
      var _48 = 0 - _19;
      var _49 = _44 - _19;
      var _50 = _48 / _49;
      var _51 = _41 * _50;
      var _52 = _37 * _50;
      var _53 = _34 * _50;
      var _54 = 1 - _50;
      var _55 = FHEAP[_11];
      var _56 = _55 * _54;
      var _57 = FHEAP[_5];
      var _58 = _57 * _54;
      var _59 = FHEAP[_0];
      var _60 = _59 * _54;
      var _61 = _56 + _51;
      var _62 = _58 + _52;
      var _63 = _60 + _53;
      var _64 = _clipped+16*_clipped_count_0;
      FHEAP[_64] = _63;
      var _65 = _clipped+16*_clipped_count_0+4;
      FHEAP[_65] = _62;
      var _66 = _clipped+16*_clipped_count_0+8;
      FHEAP[_66] = _61;
      var _67 = _clipped+16*_clipped_count_0+12;
      FHEAP[_67] = 0;
      var _68 = _clipped_count_0 + 1;
      __lastLabel__ = 797; ;
    }
    else {
      __lastLabel__ = 75; ;
    }
    var _clipped_count_5 = __lastLabel__ == 797 ? _68 : (_clipped_count_0);
    ;
    if (_46) {
      __lastLabel__ = 2255; ;
    }
    else {
      __lastLabel__ = 2255; ;
      var _69 = _clipped+16*_clipped_count_5;
      var _70 = FHEAP[_33];
      FHEAP[_69] = _70;
      var _71 = _clipped+16*_clipped_count_5+4;
      var _72 = FHEAP[_36];
      FHEAP[_71] = _72;
      var _73 = _clipped+16*_clipped_count_5+8;
      var _74 = FHEAP[_40];
      FHEAP[_73] = _74;
      var _75 = _clipped+16*_clipped_count_5+12;
      var _76 = _point1+12;
      var _77 = FHEAP[_76];
      FHEAP[_75] = _77;
      var _78 = _clipped_count_5 + 1;
      __lastLabel__ = 2380; ;
    }
    var _clipped_count_6 = __lastLabel__ == 2380 ? _78 : (_clipped_count_5);
    var _79 = _point2;
    var _80 = FHEAP[_79];
    var _81 = FHEAP[_2];
    var _82 = _80 * _81;
    var _83 = _point2+4;
    var _84 = FHEAP[_83];
    var _85 = FHEAP[_7];
    var _86 = _84 * _85;
    var _87 = _82 + _86;
    var _88 = _point2+8;
    var _89 = FHEAP[_88];
    var _90 = FHEAP[_13];
    var _91 = _89 * _90;
    var _92 = _87 + _91;
    var _93 = FHEAP[_17];
    var _94 = _92 - _93;
    var _95 = _94 > 1.1920928955078125e-7;
    var _96 = _95 ^ _46;
    ;
    if (_96) {
      __lastLabel__ = 4160; ;
      var _97 = 0 - _44;
      var _98 = _94 - _44;
      var _99 = _97 / _98;
      var _100 = _89 * _99;
      var _101 = _84 * _99;
      var _102 = _80 * _99;
      var _103 = 1 - _99;
      var _104 = FHEAP[_40];
      var _105 = _104 * _103;
      var _106 = FHEAP[_36];
      var _107 = _106 * _103;
      var _108 = FHEAP[_33];
      var _109 = _108 * _103;
      var _110 = _105 + _100;
      var _111 = _107 + _101;
      var _112 = _109 + _102;
      var _113 = _clipped+16*_clipped_count_6;
      FHEAP[_113] = _112;
      var _114 = _clipped+16*_clipped_count_6+4;
      FHEAP[_114] = _111;
      var _115 = _clipped+16*_clipped_count_6+8;
      FHEAP[_115] = _110;
      var _116 = _clipped+16*_clipped_count_6+12;
      FHEAP[_116] = 0;
      var _117 = _clipped_count_6 + 1;
      __lastLabel__ = 2047; ;
    }
    else {
      __lastLabel__ = 4160; ;
    }
    var _clipped_count_3 = __lastLabel__ == 2047 ? _117 : (_clipped_count_6);
    ;
    __Z29bt_plane_clip_polygon_collectRK9btVector3S1_ffPS_Ri_exit7$_bb5_i5$12965: do { 
      if (_95) {
        ;
        var _129 = _45 ^ _95;
        if (_129) { __lastLabel__ = 2384; __label__ = 131; /* _bb_i */ break __Z29bt_plane_clip_polygon_collectRK9btVector3S1_ffPS_Ri_exit7$_bb5_i5$12965; } else { __lastLabel__ = 2384; __label__ = 159; /* _bb1_i */ break __Z29bt_plane_clip_polygon_collectRK9btVector3S1_ffPS_Ri_exit7$_bb5_i5$12965; }
      }
      else {
        ;
        var _118 = _clipped+16*_clipped_count_3;
        var _119 = FHEAP[_79];
        FHEAP[_118] = _119;
        var _120 = _clipped+16*_clipped_count_3+4;
        var _121 = FHEAP[_83];
        FHEAP[_120] = _121;
        var _122 = _clipped+16*_clipped_count_3+8;
        var _123 = FHEAP[_88];
        FHEAP[_122] = _123;
        var _124 = _clipped+16*_clipped_count_3+12;
        var _125 = _point2+12;
        var _126 = FHEAP[_125];
        FHEAP[_124] = _126;
        var _127 = _clipped_count_3 + 1;
        var _128 = _45 ^ _95;
        if (_128) { __lastLabel__ = 2383; __label__ = 131; /* _bb_i */ break __Z29bt_plane_clip_polygon_collectRK9btVector3S1_ffPS_Ri_exit7$_bb5_i5$12965; } else { __lastLabel__ = 2383; __label__ = 159; /* _bb1_i */ break __Z29bt_plane_clip_polygon_collectRK9btVector3S1_ffPS_Ri_exit7$_bb5_i5$12965; }
      }
    } while(0);
    if (__label__ == 131) {
      var _clipped_count_416 = __lastLabel__ == 2383 ? _127 : (_clipped_count_3);
      var _130 = 0 - _94;
      var _131 = _19 - _94;
      var _132 = _130 / _131;
      var _133 = FHEAP[_11];
      var _134 = _133 * _132;
      var _135 = FHEAP[_5];
      var _136 = _135 * _132;
      var _137 = FHEAP[_0];
      var _138 = _137 * _132;
      var _139 = 1 - _132;
      var _140 = FHEAP[_88];
      var _141 = _140 * _139;
      var _142 = FHEAP[_83];
      var _143 = _142 * _139;
      var _144 = FHEAP[_79];
      var _145 = _144 * _139;
      var _146 = _141 + _134;
      var _147 = _143 + _136;
      var _148 = _145 + _138;
      var _149 = _clipped+16*_clipped_count_416;
      FHEAP[_149] = _148;
      var _150 = _clipped+16*_clipped_count_416+4;
      FHEAP[_150] = _147;
      var _151 = _clipped+16*_clipped_count_416+8;
      FHEAP[_151] = _146;
      var _152 = _clipped+16*_clipped_count_416+12;
      FHEAP[_152] = 0;
      var _153 = _clipped_count_416 + 1;
      __lastLabel__ = 131; ;
    }
    var _clipped_count_1 = __lastLabel__ == 131 ? _153 : (__lastLabel__ == 2384 ? _clipped_count_3 : (_127));
    ;
    if (_45) {
      ;
      ;
      return _clipped_count_1;
    }
    else {
      ;
      var _154 = _clipped+16*_clipped_count_1;
      var _155 = FHEAP[_0];
      FHEAP[_154] = _155;
      var _156 = _clipped+16*_clipped_count_1+4;
      var _157 = FHEAP[_5];
      FHEAP[_156] = _157;
      var _158 = _clipped+16*_clipped_count_1+8;
      var _159 = FHEAP[_11];
      FHEAP[_158] = _159;
      var _160 = _clipped+16*_clipped_count_1+12;
      var _161 = _point0+12;
      var _162 = FHEAP[_161];
      FHEAP[_160] = _162;
      var _163 = _clipped_count_1 + 1;
      ;
      return _163;
    }
  }
  __Z22bt_plane_clip_triangleRK9btVector4RK9btVector3S4_S4_PS2_.__index__ = Runtime.getFunctionIndex(__Z22bt_plane_clip_triangleRK9btVector4RK9btVector3S4_S4_PS2_, "__Z22bt_plane_clip_triangleRK9btVector4RK9btVector3S4_S4_PS2_");
  
  
  function __ZN19btPrimitiveTriangle25overlap_test_conservativeERKS_(_this, _other) {
    ;
    var __label__;
    var _0 = _this+64;
    var _1 = FHEAP[_0];
    var _2 = _other+64;
    var _3 = FHEAP[_2];
    var _4 = _1 + _3;
    var _5 = _other;
    var _6 = FHEAP[_5];
    var _7 = _this+48;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _other+4;
    var _11 = FHEAP[_10];
    var _12 = _this+48+4;
    var _13 = FHEAP[_12];
    var _14 = _11 * _13;
    var _15 = _9 + _14;
    var _16 = _other+8;
    var _17 = FHEAP[_16];
    var _18 = _this+48+8;
    var _19 = FHEAP[_18];
    var _20 = _17 * _19;
    var _21 = _15 + _20;
    var _22 = _this+48+12;
    var _23 = FHEAP[_22];
    var _24 = _21 - _23;
    var _25 = _24 - _4;
    var _26 = _25 > 0;
    ;
    _bb$_bb3$12975: do { 
      if (_26) {
        ;
        var _27 = _other+32+4;
        var _28 = _other+32;
        var _29 = _other+32+8;
        var _30 = FHEAP[_27];
        var _31 = FHEAP[_28];
        var _32 = _other+16+4;
        var _33 = _other+16;
        var _34 = FHEAP[_29];
        var _35 = _30 * _13;
        var _36 = _31 * _8;
        var _37 = _other+16+8;
        var _38 = FHEAP[_32];
        var _39 = FHEAP[_33];
        var _40 = _34 * _19;
        var _41 = _36 + _35;
        var _42 = FHEAP[_37];
        var _43 = _38 * _13;
        var _44 = _39 * _8;
        var _45 = _41 + _40;
        var _46 = _42 * _19;
        var _47 = _44 + _43;
        var _48 = _45 - _23;
        var _49 = _47 + _46;
        var _50 = _48 - _4;
        var _51 = _49 - _23;
        var _52 = _51 - _4;
        var _53 = _52 > 0;
        var _54 = _50 > 0;
        var _or_cond = _53 & _54;
        if (!(_or_cond)) { __label__ = 116; /* _bb3 */ break _bb$_bb3$12975; }
        ;
        return 0;
      }
    } while(0);
    var _55 = _this;
    var _56 = FHEAP[_55];
    var _57 = _other+48;
    var _58 = FHEAP[_57];
    var _59 = _56 * _58;
    var _60 = _this+4;
    var _61 = FHEAP[_60];
    var _62 = _other+48+4;
    var _63 = FHEAP[_62];
    var _64 = _61 * _63;
    var _65 = _59 + _64;
    var _66 = _this+8;
    var _67 = FHEAP[_66];
    var _68 = _other+48+8;
    var _69 = FHEAP[_68];
    var _70 = _67 * _69;
    var _71 = _65 + _70;
    var _72 = _other+48+12;
    var _73 = FHEAP[_72];
    var _74 = _71 - _73;
    var _75 = _74 - _4;
    var _76 = _75 > 0;
    ;
    if (_76) {
      ;
      var _77 = _this+32+4;
      var _78 = _this+32;
      var _79 = _this+32+8;
      var _80 = FHEAP[_77];
      var _81 = FHEAP[_78];
      var _82 = _this+16+4;
      var _83 = _this+16;
      var _84 = FHEAP[_79];
      var _85 = _80 * _63;
      var _86 = _81 * _58;
      var _87 = _this+16+8;
      var _88 = FHEAP[_82];
      var _89 = FHEAP[_83];
      var _90 = _84 * _69;
      var _91 = _86 + _85;
      var _92 = FHEAP[_87];
      var _93 = _88 * _63;
      var _94 = _89 * _58;
      var _95 = _91 + _90;
      var _96 = _92 * _69;
      var _97 = _94 + _93;
      var _98 = _95 - _73;
      var _99 = _97 + _96;
      var _100 = _98 - _4;
      var _101 = _99 - _73;
      var _102 = _101 - _4;
      var _103 = _102 > 0;
      var _104 = _100 > 0;
      var _or_cond11 = _103 & _104;
      var _105 = _or_cond11;
      var _retval = _105 ^ 1;
      ;
      return _retval;
    }
    else {
      ;
      ;
      return 1;
    }
  }
  __ZN19btPrimitiveTriangle25overlap_test_conservativeERKS_.__index__ = Runtime.getFunctionIndex(__ZN19btPrimitiveTriangle25overlap_test_conservativeERKS_, "__ZN19btPrimitiveTriangle25overlap_test_conservativeERKS_");
  
  
  function __ZN12GIM_BOX_TREE20_calc_splitting_axisER9gim_arrayI13GIM_AABB_DATAEjj(_this, _primitive_boxes, _startIndex, _endIndex) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _endIndex - _startIndex;
    var _1 = unSign(_startIndex, 32) < unSign(_endIndex, 32);
    ;
    _bb_nph45$_bb2_thread$13011: do { 
      if (_1) {
        ;
        var _3 = _primitive_boxes;
        var _4 = IHEAP[_3];
        __lastLabel__ = 2166; ;
        _bb$13013: while(1) { // _bb
          var _indvar61 = __lastLabel__ == 2166 ? 0 : (_indvar_next62);
          var _means_0_2_043 = __lastLabel__ == 2166 ? 0 : (_19);
          var _means_0_1_042 = __lastLabel__ == 2166 ? 0 : (_18);
          var _means_0_0_041 = __lastLabel__ == 2166 ? 0 : (_17);
          var _tmp65 = _indvar61 + _startIndex;
          var _scevgep66 = _4+36*_tmp65+16+8;
          var _scevgep67 = _4+36*_tmp65+8;
          var _scevgep68 = _4+36*_tmp65+16+4;
          var _scevgep69 = _4+36*_tmp65+4;
          var _scevgep70 = _4+36*_tmp65+16;
          var _scevgep7172 = _4+36*_tmp65;
          var _5 = FHEAP[_scevgep66];
          var _6 = FHEAP[_scevgep67];
          var _7 = _5 + _6;
          var _8 = FHEAP[_scevgep68];
          var _9 = FHEAP[_scevgep69];
          var _10 = _8 + _9;
          var _11 = FHEAP[_scevgep70];
          var _12 = FHEAP[_scevgep7172];
          var _13 = _11 + _12;
          var _14 = _7 * 0.5;
          var _15 = _10 * 0.5;
          var _16 = _13 * 0.5;
          var _17 = _means_0_0_041 + _16;
          var _18 = _means_0_1_042 + _15;
          var _19 = _means_0_2_043 + _14;
          var _indvar_next62 = _indvar61 + 1;
          var _exitcond64 = _indvar_next62 == _0;
          if (_exitcond64) { __lastLabel__ = 60; __label__ = 0; /* _bb2 */ break _bb$13013; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$13013; }
        }
        var _20 = unSign(_0, 32);
        var _21 = 1 / _20;
        var _22 = _17 * _21;
        var _23 = _18 * _21;
        var _24 = _19 * _21;
        if (_1) { __lastLabel__ = 0; ; } else { __lastLabel__ = 0; __label__ = 83; /* _bb6 */ break _bb_nph45$_bb2_thread$13011; }
        var _25 = _primitive_boxes;
        var _26 = IHEAP[_25];
        __lastLabel__ = 130; ;
        _bb3$13017: while(1) { // _bb3
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _variance_0_2_037 = __lastLabel__ == 130 ? 0 : (_47);
          var _variance_0_1_036 = __lastLabel__ == 130 ? 0 : (_46);
          var _variance_0_0_035 = __lastLabel__ == 130 ? 0 : (_45);
          var _tmp51 = _indvar + _startIndex;
          var _scevgep = _26+36*_tmp51+16+8;
          var _scevgep52 = _26+36*_tmp51+8;
          var _scevgep53 = _26+36*_tmp51+16+4;
          var _scevgep54 = _26+36*_tmp51+4;
          var _scevgep55 = _26+36*_tmp51+16;
          var _scevgep5657 = _26+36*_tmp51;
          var _27 = FHEAP[_scevgep];
          var _28 = FHEAP[_scevgep52];
          var _29 = _27 + _28;
          var _30 = FHEAP[_scevgep53];
          var _31 = FHEAP[_scevgep54];
          var _32 = _30 + _31;
          var _33 = FHEAP[_scevgep55];
          var _34 = FHEAP[_scevgep5657];
          var _35 = _33 + _34;
          var _36 = _29 * 0.5;
          var _37 = _32 * 0.5;
          var _38 = _35 * 0.5;
          var _39 = _36 - _24;
          var _40 = _37 - _23;
          var _41 = _38 - _22;
          var _42 = _39 * _39;
          var _43 = _40 * _40;
          var _44 = _41 * _41;
          var _45 = _variance_0_0_035 + _44;
          var _46 = _variance_0_1_036 + _43;
          var _47 = _variance_0_2_037 + _42;
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _0;
          if (_exitcond) { __lastLabel__ = 116; __label__ = 83; /* _bb6 */ break _bb_nph45$_bb2_thread$13011; } else { __lastLabel__ = 116; __label__ = 116; /* _bb3 */ continue _bb3$13017; }
        }
      }
      else {
        ;
        var _2 = unSign(_0, 32);
        __lastLabel__ = 791; ;
      }
    } while(0);
    var _48 = __lastLabel__ == 0 ? _20 : (__lastLabel__ == 791 ? _2 : (_20));
    var _variance_0_2_0_lcssa = __lastLabel__ == 0 ? 0 : (__lastLabel__ == 791 ? 0 : (_47));
    var _variance_0_1_0_lcssa = __lastLabel__ == 0 ? 0 : (__lastLabel__ == 791 ? 0 : (_46));
    var _variance_0_0_0_lcssa = __lastLabel__ == 0 ? 0 : (__lastLabel__ == 791 ? 0 : (_45));
    var _49 = _48 + -1;
    var _50 = 1 / _49;
    var _51 = _variance_0_0_0_lcssa * _50;
    var _52 = _variance_0_1_0_lcssa * _50;
    var _53 = _variance_0_2_0_lcssa * _50;
    var _54 = _51 < _52;
    ;
    if (_54) {
      ;
      var _55 = _52 < _53;
      var _iftmp_30_0_i = _55 ? 2 : 1;
      ;
      return _iftmp_30_0_i;
    }
    else {
      ;
      var _56 = _51 < _53;
      var _iftmp_31_0_i = _56 ? 2 : 0;
      ;
      return _iftmp_31_0_i;
    }
  }
  __ZN12GIM_BOX_TREE20_calc_splitting_axisER9gim_arrayI13GIM_AABB_DATAEjj.__index__ = Runtime.getFunctionIndex(__ZN12GIM_BOX_TREE20_calc_splitting_axisER9gim_arrayI13GIM_AABB_DATAEjj, "__ZN12GIM_BOX_TREE20_calc_splitting_axisER9gim_arrayI13GIM_AABB_DATAEjj");
  
  
  function __ZN12GIM_BOX_TREE30_sort_and_calc_splitting_indexER9gim_arrayI13GIM_AABB_DATAEjjj(_this, _primitive_boxes, _startIndex, _endIndex, _splitAxis) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _endIndex - _startIndex;
    var _1 = unSign(_startIndex, 32) < unSign(_endIndex, 32);
    ;
    _bb_nph19$_bb7$13025: do { 
      if (_1) {
        __lastLabel__ = -1; ;
        var _2 = _primitive_boxes;
        var _3 = IHEAP[_2];
        __lastLabel__ = 2250; ;
        _bb$13027: while(1) { // _bb
          var _indvar35 = __lastLabel__ == 2250 ? 0 : (_indvar_next36);
          var _splitValue_018 = __lastLabel__ == 2250 ? 0 : (_8);
          var _tmp39 = _indvar35 + _startIndex;
          var _scevgep40 = _3+36*_tmp39+16+_splitAxis*4;
          var _scevgep41 = _3+36*_tmp39+_splitAxis*4;
          var _4 = FHEAP[_scevgep40];
          var _5 = FHEAP[_scevgep41];
          var _6 = _4 + _5;
          var _7 = _6 * 0.5;
          var _8 = _7 + _splitValue_018;
          var _indvar_next36 = _indvar35 + 1;
          var _exitcond38 = _indvar_next36 == _0;
          if (_exitcond38) { __lastLabel__ = 60; __label__ = 0; /* _bb2 */ break _bb$13027; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$13027; }
        }
        var _9 = unSign(_0, 32);
        var _10 = _8 / _9;
        if (_1) { __lastLabel__ = 0; ; } else { __lastLabel__ = 0; __label__ = 2; /* _bb7 */ break _bb_nph19$_bb7$13025; }
        var _11 = _primitive_boxes;
        __lastLabel__ = 130; ;
        _bb3$13031: while(1) { // _bb3
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _splitIndex_116 = __lastLabel__ == 130 ? _startIndex : (_splitIndex_0);
          var _tmp21 = _indvar + _startIndex;
          var _12 = IHEAP[_11];
          var _scevgep33 = _12+36*_tmp21+16+_splitAxis*4;
          var _13 = FHEAP[_scevgep33];
          var _scevgep34 = _12+36*_tmp21+_splitAxis*4;
          var _14 = FHEAP[_scevgep34];
          var _15 = _13 + _14;
          var _16 = _15 * 0.5;
          var _17 = _16 > _10;
          ;
          if (_17) {
            __lastLabel__ = 116; ;
            var _scevgep22 = _12+36*_tmp21;
            var _18 = FHEAP[_scevgep22];
            var _scevgep23 = _12+36*_tmp21+4;
            var _19 = FHEAP[_scevgep23];
            var _scevgep24 = _12+36*_tmp21+8;
            var _20 = FHEAP[_scevgep24];
            var _scevgep25 = _12+36*_tmp21+12;
            var _21 = FHEAP[_scevgep25];
            var _scevgep26 = _12+36*_tmp21+16;
            var _22 = FHEAP[_scevgep26];
            var _scevgep27 = _12+36*_tmp21+16+4;
            var _23 = FHEAP[_scevgep27];
            var _scevgep28 = _12+36*_tmp21+16+8;
            var _24 = FHEAP[_scevgep28];
            var _scevgep29 = _12+36*_tmp21+16+12;
            var _25 = FHEAP[_scevgep29];
            var _scevgep30 = _12+36*_tmp21+32;
            var _26 = IHEAP[_scevgep30];
            var _27 = _12+36*_splitIndex_116;
            var _28 = _27;
            var _scevgep31 = _12+36*_tmp21;
            var _scevgep3132 = _scevgep31;
            _llvm_memcpy_p0i8_p0i8_i32(_scevgep3132, _28, 36, 4, false);
            var __020_i_i = _12+36*_splitIndex_116;
            FHEAP[__020_i_i] = _18;
            var __122_i_i = _12+36*_splitIndex_116+4;
            FHEAP[__122_i_i] = _19;
            var __2_i_i = _12+36*_splitIndex_116+8;
            FHEAP[__2_i_i] = _20;
            var __3_i_i = _12+36*_splitIndex_116+12;
            FHEAP[__3_i_i] = _21;
            var __1813_0_i_i = _12+36*_splitIndex_116+16;
            FHEAP[__1813_0_i_i] = _22;
            var __1813_1_i_i = _12+36*_splitIndex_116+16+4;
            FHEAP[__1813_1_i_i] = _23;
            var __1813_2_i_i = _12+36*_splitIndex_116+16+8;
            FHEAP[__1813_2_i_i] = _24;
            var __1813_3_i_i = _12+36*_splitIndex_116+16+12;
            FHEAP[__1813_3_i_i] = _25;
            var __1_i_i = _12+36*_splitIndex_116+32;
            IHEAP[__1_i_i] = _26;
            var _29 = _splitIndex_116 + 1;
            __lastLabel__ = 61; ;
          }
          else {
            __lastLabel__ = 116; ;
          }
          var _splitIndex_0 = __lastLabel__ == 61 ? _29 : (_splitIndex_116);
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _0;
          if (_exitcond) { __lastLabel__ = 82; __label__ = 2; /* _bb7 */ break _bb_nph19$_bb7$13025; } else { __lastLabel__ = 82; __label__ = 116; /* _bb3 */ continue _bb3$13031; }
        }
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _splitIndex_1_lcssa = __lastLabel__ == 0 ? _startIndex : (__lastLabel__ == 82 ? _splitIndex_0 : (_startIndex));
    var _30 = Math.floor(unSign(_0, 32) / unSign(3, 32));
    var _31 = _30 + _startIndex;
    var _32 = unSign(_31, 32) < unSign(_splitIndex_1_lcssa, 32);
    ;
    _bb8$_bb12$13037: do { 
      if (_32) {
        ;
        var _33 = _endIndex + -1;
        var _34 = _33 - _30;
        var _35 = unSign(_34, 32) > unSign(_splitIndex_1_lcssa, 32);
        if (!(_35)) { __label__ = 3; /* _bb12 */ break _bb8$_bb12$13037; }
        ;
        return _splitIndex_1_lcssa;
      }
    } while(0);
    var _36 = _0 >> 1;
    var _37 = _36 + _startIndex;
    ;
    return _37;
  }
  __ZN12GIM_BOX_TREE30_sort_and_calc_splitting_indexER9gim_arrayI13GIM_AABB_DATAEjjj.__index__ = Runtime.getFunctionIndex(__ZN12GIM_BOX_TREE30_sort_and_calc_splitting_indexER9gim_arrayI13GIM_AABB_DATAEjjj, "__ZN12GIM_BOX_TREE30_sort_and_calc_splitting_indexER9gim_arrayI13GIM_AABB_DATAEjjj");
  
  
  function __ZN12GIM_BOX_TREE10build_treeER9gim_arrayI13GIM_AABB_DATAE(_this, _primitive_boxes) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = 0;
    var _1 = _primitive_boxes+4;
    var _2 = IHEAP[_1];
    var _3 = _2 << 1;
    var _4 = _this+4;
    __ZN9gim_arrayI17GIM_BOX_TREE_NODEE6resizeEjb(_4, _3, 1);
    var _5 = IHEAP[_1];
    __ZN12GIM_BOX_TREE15_build_sub_treeER9gim_arrayI13GIM_AABB_DATAEjj(_this, _primitive_boxes, 0, _5);
    ;
    return;
  }
  __ZN12GIM_BOX_TREE10build_treeER9gim_arrayI13GIM_AABB_DATAE.__index__ = Runtime.getFunctionIndex(__ZN12GIM_BOX_TREE10build_treeER9gim_arrayI13GIM_AABB_DATAE, "__ZN12GIM_BOX_TREE10build_treeER9gim_arrayI13GIM_AABB_DATAE");
  
  
  function __Z13gim_heap_sortI15GIM_RSORT_TOKEN26GIM_RSORT_TOKEN_COMPARATOREvPT_jT0_(_pArr, _element_count, _CompareFunc) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = unSign(_element_count, 32) < unSign(2, 32);
    ;
    _return$_bb_nph27$13164: do { 
      if (!_0) {
        ;
        var _1 = _element_count >> 1;
        var _tmp41 = _1 + -1;
        __lastLabel__ = 2427; ;
        _bb$13166: while(1) { // _bb
          var _indvar34 = __lastLabel__ == 2427 ? 0 : (_indvar_next35);
          var _k_026 = _1 - _indvar34;
          var _scevgep39 = _pArr+8*_k_026;
          var _scevgep40 = _scevgep39+-4;
          var _tmp42 = _tmp41 - _indvar34;
          var _scevgep4344 = _pArr+8*_tmp42;
          var _2 = IHEAP[_scevgep4344];
          var _3 = IHEAP[_scevgep40];
          __lastLabel__ = 60; ;
          _bb9_i$13168: while(1) { // _bb9_i
            var _k_addr_0_i = __lastLabel__ == 60 ? _k_026 : (_child_0_i);
            var _21 = unSign(_1, 32) < unSign(_k_addr_0_i, 32);
            if (_21) { __label__ = 2430; /* __Z13gim_down_heapI15GIM_RSORT_TOKEN26GIM_RSORT_TOKEN_COMPARATOREvPT_jjT0__exit */ break _bb9_i$13168; }
            var _4 = _k_addr_0_i << 1;
            var _5 = _4 < _element_count;
            ;
            if (_5) {
              __lastLabel__ = 131; ;
              var _6 = _4 + -1;
              var _7 = _pArr+8*_6;
              var _8 = IHEAP[_7];
              var _9 = _pArr+8*_4;
              var _10 = IHEAP[_9];
              var _11 = _8 - _10;
              var __lobit_i = _11 >> 31;
              var ___i = __lobit_i | _4;
              __lastLabel__ = 159; ;
            }
            else {
              __lastLabel__ = 131; ;
            }
            var _child_0_i = __lastLabel__ == 131 ? _4 : (___i);
            var _12 = _child_0_i + -1;
            var _13 = _pArr+8*_12;
            var _14 = IHEAP[_13];
            var _15 = _2 - _14;
            var _toBool7_i = _15 < 0;
            if (!(_toBool7_i)) { __label__ = 2430; /* __Z13gim_down_heapI15GIM_RSORT_TOKEN26GIM_RSORT_TOKEN_COMPARATOREvPT_jjT0__exit */ break _bb9_i$13168; }
            var _16 = _k_addr_0_i + -1;
            var _17 = _pArr+8*_16;
            IHEAP[_17] = _14;
            var _18 = _pArr+8*_16+4;
            var _19 = _pArr+8*_12+4;
            var _20 = IHEAP[_19];
            IHEAP[_18] = _20;
            __lastLabel__ = 2429; __label__ = 181; /* _bb9_i */ continue _bb9_i$13168;
          }
          var _22 = _k_addr_0_i + -1;
          var _23 = _pArr+8*_22;
          IHEAP[_23] = _2;
          var _24 = _pArr+8*_22+4;
          IHEAP[_24] = _3;
          var _indvar_next35 = _indvar34 + 1;
          var _exitcond36 = _indvar_next35 == _1;
          if (_exitcond36) { __lastLabel__ = 2430; __label__ = 510; /* _bb3_preheader */ break _bb$13166; } else { __lastLabel__ = 2430; __label__ = 60; /* _bb */ continue _bb$13166; }
        }
        var _25 = unSign(_element_count, 32) > unSign(1, 32);
        if (!(_25)) { __label__ = 44; /* _return */ break _return$_bb_nph27$13164; }
        var _26 = _pArr;
        var _27 = _pArr+4;
        var _tmp = _element_count + -1;
        __lastLabel__ = 130; ;
        _bb2$13178: while(1) { // _bb2
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp29 = _element_count - _indvar;
          var _scevgep = _pArr+8*_tmp29;
          var _scevgep30 = _scevgep+-4;
          var _tmp31 = _tmp - _indvar;
          var _scevgep3233 = _pArr+8*_tmp31;
          var _28 = IHEAP[_26];
          var _29 = IHEAP[_27];
          var _30 = IHEAP[_scevgep3233];
          IHEAP[_26] = _30;
          var _31 = IHEAP[_scevgep30];
          IHEAP[_27] = _31;
          IHEAP[_scevgep3233] = _28;
          IHEAP[_scevgep30] = _29;
          var _32 = IHEAP[_26];
          var _33 = IHEAP[_27];
          var _34 = _tmp31 >> 1;
          __lastLabel__ = 0; ;
          _bb9_i19$13180: while(1) { // _bb9_i19
            var _k_addr_0_i18 = __lastLabel__ == 0 ? 1 : (_child_0_i14);
            var _52 = unSign(_34, 32) < unSign(_k_addr_0_i18, 32);
            if (_52) { __label__ = 2434; /* __Z13gim_down_heapI15GIM_RSORT_TOKEN26GIM_RSORT_TOKEN_COMPARATOREvPT_jjT0__exit20 */ break _bb9_i19$13180; }
            var _35 = _k_addr_0_i18 << 1;
            var _36 = _35 < _tmp31;
            ;
            if (_36) {
              __lastLabel__ = 698; ;
              var _37 = _35 + -1;
              var _38 = _pArr+8*_37;
              var _39 = IHEAP[_38];
              var _40 = _pArr+8*_35;
              var _41 = IHEAP[_40];
              var _42 = _39 - _41;
              var __lobit_i11 = _42 >> 31;
              var ___i12 = __lobit_i11 | _35;
              __lastLabel__ = 753; ;
            }
            else {
              __lastLabel__ = 698; ;
            }
            var _child_0_i14 = __lastLabel__ == 698 ? _35 : (___i12);
            var _43 = _child_0_i14 + -1;
            var _44 = _pArr+8*_43;
            var _45 = IHEAP[_44];
            var _46 = _32 - _45;
            var _toBool7_i15 = _46 < 0;
            if (!(_toBool7_i15)) { __label__ = 2434; /* __Z13gim_down_heapI15GIM_RSORT_TOKEN26GIM_RSORT_TOKEN_COMPARATOREvPT_jjT0__exit20 */ break _bb9_i19$13180; }
            var _47 = _k_addr_0_i18 + -1;
            var _48 = _pArr+8*_47;
            IHEAP[_48] = _45;
            var _49 = _pArr+8*_47+4;
            var _50 = _pArr+8*_43+4;
            var _51 = IHEAP[_50];
            IHEAP[_49] = _51;
            __lastLabel__ = 2433; __label__ = 2431; /* _bb9_i19 */ continue _bb9_i19$13180;
          }
          var _53 = _k_addr_0_i18 + -1;
          var _54 = _pArr+8*_53;
          IHEAP[_54] = _32;
          var _55 = _pArr+8*_53+4;
          IHEAP[_55] = _33;
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _tmp;
          if (_exitcond) { __lastLabel__ = 2434; __label__ = 44; /* _return */ break _return$_bb_nph27$13164; } else { __lastLabel__ = 2434; __label__ = 0; /* _bb2 */ continue _bb2$13178; }
        }
      }
    } while(0);
    ;
    return;
  }
  __Z13gim_heap_sortI15GIM_RSORT_TOKEN26GIM_RSORT_TOKEN_COMPARATOREvPT_jT0_.__index__ = Runtime.getFunctionIndex(__Z13gim_heap_sortI15GIM_RSORT_TOKEN26GIM_RSORT_TOKEN_COMPARATOREvPT_jT0_, "__Z13gim_heap_sortI15GIM_RSORT_TOKEN26GIM_RSORT_TOKEN_COMPARATOREvPT_jT0_");
  
  
  function __ZN25GIM_TRIANGLE_CONTACT_DATA12merge_pointsERK9btVector4fPK9btVector3j(_this, _plane, _margin, _points, _point_count) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var __lastLabel__ = null;
    var _point_indices_i = __stackBase__;
    var _0 = _this+8;
    var _1 = _plane;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _this+8+4;
    var _4 = _plane+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+8+8;
    var _7 = _plane+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+8+12;
    var _10 = _plane+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _this+4;
    IHEAP[_12] = 0;
    var _13 = _this;
    FHEAP[_13] = -1000;
    var _14 = _point_count == 0;
    ;
    __ZN25GIM_TRIANGLE_CONTACT_DATA19mergepoints_genericI22DISTANCE_PLANE_3D_FUNC9btVector4EEvRKT0_fPK9btVector3jT__exit$_bb_nph13_i$13239: do { 
      if (!_14) {
        ;
        var _15 = _point_indices_i;
        __lastLabel__ = 2438; ;
        _bb_i$13241: while(1) { // _bb_i
          var _16 = __lastLabel__ == 2438 ? 0 : (_39);
          var _17 = __lastLabel__ == 2438 ? -1000 : (_40);
          var _18 = __lastLabel__ == 2438 ? 0 : (_41);
          var _scevgep22_i = _points+16*_18+8;
          var _scevgep21_i = _points+16*_18+4;
          var _scevgep1920_i = _points+16*_18;
          var _19 = FHEAP[_1];
          var _20 = FHEAP[_scevgep1920_i];
          var _21 = _19 * _20;
          var _22 = FHEAP[_4];
          var _23 = FHEAP[_scevgep21_i];
          var _24 = _22 * _23;
          var _25 = _21 + _24;
          var _26 = FHEAP[_7];
          var _27 = FHEAP[_scevgep22_i];
          var _28 = _26 * _27;
          var _29 = _25 + _28;
          var _30 = FHEAP[_10];
          var _31 = _29 - _30;
          var _32 = _margin - _31;
          var _33 = _32 < 0;
          ;
          _bb5_i$_bb1_i$13243: do { 
            if (_33) {
              __lastLabel__ = 131; ;
            }
            else {
              __lastLabel__ = 131; ;
              var _34 = _17 < _32;
              ;
              if (_34) {
                ;
                FHEAP[_13] = _32;
                IHEAP[_15] = _18;
                IHEAP[_12] = 1;
                __lastLabel__ = 132; ;
              }
              else {
                ;
                var _35 = _32 + 1.1920928955078125e-7;
                var _36 = _35 < _17;
                if (_36) { __lastLabel__ = 133; __label__ = 300; /* _bb5_i */ break _bb5_i$_bb1_i$13243; } else { __lastLabel__ = 133; ; }
                var _37 = _point_indices_i+_16*4;
                IHEAP[_37] = _18;
                var _38 = _16 + 1;
                IHEAP[_12] = _38;
                __lastLabel__ = 135; ;
              }
            }
          } while(0);
          var _39 = __lastLabel__ == 133 ? _16 : (__lastLabel__ == 131 ? _16 : (__lastLabel__ == 135 ? _38 : (1)));
          var _40 = __lastLabel__ == 133 ? _17 : (__lastLabel__ == 131 ? _17 : (__lastLabel__ == 135 ? _17 : (_32)));
          var _41 = _18 + 1;
          var _exitcond = _41 == _point_count;
          if (_exitcond) { __lastLabel__ = 300; __label__ = 2440; /* _bb9_preheader_i */ break _bb_i$13241; } else { __lastLabel__ = 300; __label__ = 131; /* _bb_i */ continue _bb_i$13241; }
        }
        var _42 = _39 == 0;
        if (_42) { __lastLabel__ = 2440; __label__ = 2441; /* __ZN25GIM_TRIANGLE_CONTACT_DATA19mergepoints_genericI22DISTANCE_PLANE_3D_FUNC9btVector4EEvRKT0_fPK9btVector3jT__exit */ break __ZN25GIM_TRIANGLE_CONTACT_DATA19mergepoints_genericI22DISTANCE_PLANE_3D_FUNC9btVector4EEvRKT0_fPK9btVector3jT__exit$_bb_nph13_i$13239; } else { __lastLabel__ = 2440; ; }
        _bb8_i$13251: while(1) { // _bb8_i
          var __k_111_i = __lastLabel__ == 2440 ? 0 : (_tmp);
          var _tmp = __k_111_i + 1;
          var _scevgep18_i = _this+24+__k_111_i*16+12;
          var _scevgep17_i = _this+24+__k_111_i*16+8;
          var _scevgep16_i = _this+24+__k_111_i*16+4;
          var _scevgep1415_i = _this+24+__k_111_i*16;
          var _scevgep_i = _point_indices_i+__k_111_i*4;
          var _43 = IHEAP[_scevgep_i];
          var _44 = _points+16*_43;
          var _45 = FHEAP[_44];
          FHEAP[_scevgep1415_i] = _45;
          var _46 = _points+16*_43+4;
          var _47 = FHEAP[_46];
          FHEAP[_scevgep16_i] = _47;
          var _48 = _points+16*_43+8;
          var _49 = FHEAP[_48];
          FHEAP[_scevgep17_i] = _49;
          var _50 = _points+16*_43+12;
          var _51 = FHEAP[_50];
          FHEAP[_scevgep18_i] = _51;
          var _52 = IHEAP[_12];
          var _53 = unSign(_52, 32) > unSign(_tmp, 32);
          if (_53) { __lastLabel__ = 2429; __label__ = 2429; /* _bb8_i */ continue _bb8_i$13251; } else { __lastLabel__ = 2429; __label__ = 2441; /* __ZN25GIM_TRIANGLE_CONTACT_DATA19mergepoints_genericI22DISTANCE_PLANE_3D_FUNC9btVector4EEvRKT0_fPK9btVector3jT__exit */ break __ZN25GIM_TRIANGLE_CONTACT_DATA19mergepoints_genericI22DISTANCE_PLANE_3D_FUNC9btVector4EEvRKT0_fPK9btVector3jT__exit$_bb_nph13_i$13239; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN25GIM_TRIANGLE_CONTACT_DATA12merge_pointsERK9btVector4fPK9btVector3j.__index__ = Runtime.getFunctionIndex(__ZN25GIM_TRIANGLE_CONTACT_DATA12merge_pointsERK9btVector4fPK9btVector3j, "__ZN25GIM_TRIANGLE_CONTACT_DATA12merge_pointsERK9btVector4fPK9btVector3j");
  
  
  function __Z27PLANE_CLIP_TRIANGLE_GENERICI9btVector39btVector422DISTANCE_PLANE_3D_FUNCEjRKT0_RKT_S8_S8_PS6_T1_(_plane, _point0, _point1, _point2, _clipped, _distance_func) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _plane;
    var _1 = FHEAP[_0];
    var _2 = _point0;
    var _3 = FHEAP[_2];
    var _4 = _1 * _3;
    var _5 = _plane+4;
    var _6 = FHEAP[_5];
    var _7 = _point0+4;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _4 + _9;
    var _11 = _plane+8;
    var _12 = FHEAP[_11];
    var _13 = _point0+8;
    var _14 = FHEAP[_13];
    var _15 = _12 * _14;
    var _16 = _10 + _15;
    var _17 = _plane+12;
    var _18 = FHEAP[_17];
    var _19 = _16 - _18;
    var _20 = _19 <= 1.1920928955078125e-7;
    ;
    if (_20) {
      __lastLabel__ = -1; ;
      var _21 = _clipped;
      FHEAP[_21] = _3;
      var _22 = FHEAP[_7];
      var _23 = _clipped+4;
      FHEAP[_23] = _22;
      var _24 = FHEAP[_13];
      var _25 = _clipped+8;
      FHEAP[_25] = _24;
      var __pre = FHEAP[_0];
      var __pre13 = FHEAP[_5];
      var __pre14 = FHEAP[_11];
      var __pre15 = FHEAP[_17];
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _26 = __lastLabel__ == 60 ? __pre15 : (_18);
    var _27 = __lastLabel__ == 60 ? __pre14 : (_12);
    var _28 = __lastLabel__ == 60 ? __pre13 : (_6);
    var _29 = __lastLabel__ == 60 ? __pre : (_1);
    var _clipped_count_0 = __lastLabel__ == 60 ? 1 : (0);
    var _30 = _point1;
    var _31 = FHEAP[_30];
    var _32 = _29 * _31;
    var _33 = _point1+4;
    var _34 = FHEAP[_33];
    var _35 = _28 * _34;
    var _36 = _32 + _35;
    var _37 = _point1+8;
    var _38 = FHEAP[_37];
    var _39 = _27 * _38;
    var _40 = _36 + _39;
    var _41 = _40 - _26;
    var _42 = _19 > 1.1920928955078125e-7;
    var _43 = _41 > 1.1920928955078125e-7;
    var _44 = _43 ^ _42;
    ;
    if (_44) {
      __lastLabel__ = 75; ;
      var _45 = 0 - _19;
      var _46 = _41 - _19;
      var _47 = _45 / _46;
      var _48 = _clipped+16*_clipped_count_0;
      var _49 = 1 - _47;
      var _50 = FHEAP[_2];
      var _51 = _49 * _50;
      var _52 = _31 * _47;
      var _53 = _51 + _52;
      FHEAP[_48] = _53;
      var _54 = FHEAP[_7];
      var _55 = _49 * _54;
      var _56 = FHEAP[_33];
      var _57 = _56 * _47;
      var _58 = _55 + _57;
      var _59 = _clipped+16*_clipped_count_0+4;
      FHEAP[_59] = _58;
      var _60 = FHEAP[_13];
      var _61 = _49 * _60;
      var _62 = FHEAP[_37];
      var _63 = _62 * _47;
      var _64 = _61 + _63;
      var _65 = _clipped+16*_clipped_count_0+8;
      FHEAP[_65] = _64;
      var _66 = _clipped_count_0 + 1;
      __lastLabel__ = 797; ;
    }
    else {
      __lastLabel__ = 75; ;
    }
    var _clipped_count_5 = __lastLabel__ == 797 ? _66 : (_clipped_count_0);
    ;
    if (_43) {
      __lastLabel__ = 2255; ;
    }
    else {
      __lastLabel__ = 2255; ;
      var _67 = _clipped+16*_clipped_count_5;
      var _68 = FHEAP[_30];
      FHEAP[_67] = _68;
      var _69 = FHEAP[_33];
      var _70 = _clipped+16*_clipped_count_5+4;
      FHEAP[_70] = _69;
      var _71 = FHEAP[_37];
      var _72 = _clipped+16*_clipped_count_5+8;
      FHEAP[_72] = _71;
      var _73 = _clipped_count_5 + 1;
      __lastLabel__ = 2256; ;
    }
    var _clipped_count_6 = __lastLabel__ == 2256 ? _73 : (_clipped_count_5);
    var _74 = FHEAP[_0];
    var _75 = _point2;
    var _76 = FHEAP[_75];
    var _77 = _74 * _76;
    var _78 = FHEAP[_5];
    var _79 = _point2+4;
    var _80 = FHEAP[_79];
    var _81 = _78 * _80;
    var _82 = _77 + _81;
    var _83 = FHEAP[_11];
    var _84 = _point2+8;
    var _85 = FHEAP[_84];
    var _86 = _83 * _85;
    var _87 = _82 + _86;
    var _88 = FHEAP[_17];
    var _89 = _87 - _88;
    var _90 = _89 > 1.1920928955078125e-7;
    var _91 = _90 ^ _43;
    ;
    if (_91) {
      __lastLabel__ = 4163; ;
      var _92 = 0 - _41;
      var _93 = _89 - _41;
      var _94 = _92 / _93;
      var _95 = _clipped+16*_clipped_count_6;
      var _96 = 1 - _94;
      var _97 = FHEAP[_30];
      var _98 = _96 * _97;
      var _99 = _76 * _94;
      var _100 = _98 + _99;
      FHEAP[_95] = _100;
      var _101 = FHEAP[_33];
      var _102 = _96 * _101;
      var _103 = FHEAP[_79];
      var _104 = _103 * _94;
      var _105 = _102 + _104;
      var _106 = _clipped+16*_clipped_count_6+4;
      FHEAP[_106] = _105;
      var _107 = FHEAP[_37];
      var _108 = _96 * _107;
      var _109 = FHEAP[_84];
      var _110 = _109 * _94;
      var _111 = _108 + _110;
      var _112 = _clipped+16*_clipped_count_6+8;
      FHEAP[_112] = _111;
      var _113 = _clipped_count_6 + 1;
      __lastLabel__ = 2047; ;
    }
    else {
      __lastLabel__ = 4163; ;
    }
    var _clipped_count_3 = __lastLabel__ == 2047 ? _113 : (_clipped_count_6);
    ;
    __Z26PLANE_CLIP_POLYGON_COLLECTI9btVector3EvRKT_S3_ffPS1_Rj_exit7$_bb2_i5$13267: do { 
      if (_90) {
        ;
        var _122 = _42 ^ _90;
        if (_122) { __lastLabel__ = 2447; __label__ = 131; /* _bb_i */ break __Z26PLANE_CLIP_POLYGON_COLLECTI9btVector3EvRKT_S3_ffPS1_Rj_exit7$_bb2_i5$13267; } else { __lastLabel__ = 2447; __label__ = 159; /* _bb1_i */ break __Z26PLANE_CLIP_POLYGON_COLLECTI9btVector3EvRKT_S3_ffPS1_Rj_exit7$_bb2_i5$13267; }
      }
      else {
        ;
        var _114 = _clipped+16*_clipped_count_3;
        var _115 = FHEAP[_75];
        FHEAP[_114] = _115;
        var _116 = FHEAP[_79];
        var _117 = _clipped+16*_clipped_count_3+4;
        FHEAP[_117] = _116;
        var _118 = FHEAP[_84];
        var _119 = _clipped+16*_clipped_count_3+8;
        FHEAP[_119] = _118;
        var _120 = _clipped_count_3 + 1;
        var _121 = _42 ^ _90;
        if (_121) { __lastLabel__ = 2446; __label__ = 131; /* _bb_i */ break __Z26PLANE_CLIP_POLYGON_COLLECTI9btVector3EvRKT_S3_ffPS1_Rj_exit7$_bb2_i5$13267; } else { __lastLabel__ = 2446; __label__ = 159; /* _bb1_i */ break __Z26PLANE_CLIP_POLYGON_COLLECTI9btVector3EvRKT_S3_ffPS1_Rj_exit7$_bb2_i5$13267; }
      }
    } while(0);
    if (__label__ == 131) {
      var _clipped_count_416 = __lastLabel__ == 2446 ? _120 : (_clipped_count_3);
      var _123 = 0 - _89;
      var _124 = _19 - _89;
      var _125 = _123 / _124;
      var _126 = _clipped+16*_clipped_count_416;
      var _127 = 1 - _125;
      var _128 = FHEAP[_75];
      var _129 = _127 * _128;
      var _130 = FHEAP[_2];
      var _131 = _130 * _125;
      var _132 = _129 + _131;
      FHEAP[_126] = _132;
      var _133 = FHEAP[_79];
      var _134 = _127 * _133;
      var _135 = FHEAP[_7];
      var _136 = _135 * _125;
      var _137 = _134 + _136;
      var _138 = _clipped+16*_clipped_count_416+4;
      FHEAP[_138] = _137;
      var _139 = FHEAP[_84];
      var _140 = _127 * _139;
      var _141 = FHEAP[_13];
      var _142 = _141 * _125;
      var _143 = _140 + _142;
      var _144 = _clipped+16*_clipped_count_416+8;
      FHEAP[_144] = _143;
      var _145 = _clipped_count_416 + 1;
      __lastLabel__ = 131; ;
    }
    var _clipped_count_1 = __lastLabel__ == 131 ? _145 : (__lastLabel__ == 2447 ? _clipped_count_3 : (_120));
    ;
    if (_42) {
      ;
      ;
      return _clipped_count_1;
    }
    else {
      ;
      var _146 = _clipped+16*_clipped_count_1;
      var _147 = FHEAP[_2];
      FHEAP[_146] = _147;
      var _148 = FHEAP[_7];
      var _149 = _clipped+16*_clipped_count_1+4;
      FHEAP[_149] = _148;
      var _150 = FHEAP[_13];
      var _151 = _clipped+16*_clipped_count_1+8;
      FHEAP[_151] = _150;
      var _152 = _clipped_count_1 + 1;
      ;
      return _152;
    }
  }
  __Z27PLANE_CLIP_TRIANGLE_GENERICI9btVector39btVector422DISTANCE_PLANE_3D_FUNCEjRKT0_RKT_S8_S8_PS6_T1_.__index__ = Runtime.getFunctionIndex(__Z27PLANE_CLIP_TRIANGLE_GENERICI9btVector39btVector422DISTANCE_PLANE_3D_FUNCEjRKT0_RKT_S8_S8_PS6_T1_, "__Z27PLANE_CLIP_TRIANGLE_GENERICI9btVector39btVector422DISTANCE_PLANE_3D_FUNCEjRKT0_RKT_S8_S8_PS6_T1_");
  
  
  function __Z26PLANE_CLIP_POLYGON_GENERICI9btVector39btVector422DISTANCE_PLANE_3D_FUNCEjRKT0_PKT_jPS6_T1_(_plane, _polygon_points, _polygon_point_count, _clipped, _distance_func) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _plane;
    var _1 = FHEAP[_0];
    var _2 = _polygon_points;
    var _3 = FHEAP[_2];
    var _4 = _1 * _3;
    var _5 = _plane+4;
    var _6 = FHEAP[_5];
    var _7 = _polygon_points+4;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _4 + _9;
    var _11 = _plane+8;
    var _12 = FHEAP[_11];
    var _13 = _polygon_points+8;
    var _14 = FHEAP[_13];
    var _15 = _12 * _14;
    var _16 = _10 + _15;
    var _17 = _plane+12;
    var _18 = FHEAP[_17];
    var _19 = _16 - _18;
    var _20 = _19 <= 1.1920928955078125e-7;
    ;
    if (_20) {
      __lastLabel__ = -1; ;
      var _21 = _clipped;
      FHEAP[_21] = _3;
      var _22 = FHEAP[_7];
      var _23 = _clipped+4;
      FHEAP[_23] = _22;
      var _24 = FHEAP[_13];
      var _25 = _clipped+8;
      FHEAP[_25] = _24;
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _clipped_count_0_ph = __lastLabel__ == -1 ? 0 : (1);
    var _26 = unSign(_polygon_point_count, 32) > unSign(1, 32);
    ;
    _bb_nph$_bb4$13280: do { 
      if (_26) {
        __lastLabel__ = 510; ;
        var _tmp = _polygon_point_count + -1;
        __lastLabel__ = 130; ;
        _bb2$13282: while(1) { // _bb2
          var _indvar = __lastLabel__ == 130 ? 0 : (_tmp15);
          var _olddist_012 = __lastLabel__ == 130 ? _19 : (_39);
          var _clipped_count_011 = __lastLabel__ == 130 ? _clipped_count_0_ph : (_clipped_count_4);
          var _tmp15 = _indvar + 1;
          var _scevgep16 = _polygon_points+16*_tmp15;
          var _scevgep17 = _polygon_points+16*_tmp15+4;
          var _scevgep18 = _polygon_points+16*_tmp15+8;
          var _27 = FHEAP[_0];
          var _28 = FHEAP[_scevgep16];
          var _29 = _27 * _28;
          var _30 = FHEAP[_5];
          var _31 = FHEAP[_scevgep17];
          var _32 = _30 * _31;
          var _33 = _29 + _32;
          var _34 = FHEAP[_11];
          var _35 = FHEAP[_scevgep18];
          var _36 = _34 * _35;
          var _37 = _33 + _36;
          var _38 = FHEAP[_17];
          var _39 = _37 - _38;
          var _40 = _olddist_012 > 1.1920928955078125e-7;
          var _41 = _39 > 1.1920928955078125e-7;
          var _42 = _41 ^ _40;
          ;
          if (_42) {
            __lastLabel__ = 0; ;
            var _scevgep2122 = _polygon_points+16*_indvar;
            var _scevgep20 = _polygon_points+16*_indvar+4;
            var _scevgep19 = _polygon_points+16*_indvar+8;
            var _43 = 0 - _olddist_012;
            var _44 = _39 - _olddist_012;
            var _45 = _43 / _44;
            var _46 = _clipped+16*_clipped_count_011;
            var _47 = 1 - _45;
            var _48 = FHEAP[_scevgep2122];
            var _49 = _47 * _48;
            var _50 = _28 * _45;
            var _51 = _49 + _50;
            FHEAP[_46] = _51;
            var _52 = FHEAP[_scevgep20];
            var _53 = _47 * _52;
            var _54 = FHEAP[_scevgep17];
            var _55 = _54 * _45;
            var _56 = _53 + _55;
            var _57 = _clipped+16*_clipped_count_011+4;
            FHEAP[_57] = _56;
            var _58 = FHEAP[_scevgep19];
            var _59 = _47 * _58;
            var _60 = FHEAP[_scevgep18];
            var _61 = _60 * _45;
            var _62 = _59 + _61;
            var _63 = _clipped+16*_clipped_count_011+8;
            FHEAP[_63] = _62;
            var _64 = _clipped_count_011 + 1;
            __lastLabel__ = 1627; ;
          }
          else {
            __lastLabel__ = 0; ;
          }
          var _clipped_count_3 = __lastLabel__ == 1627 ? _64 : (_clipped_count_011);
          ;
          if (_41) {
            __lastLabel__ = 1799; ;
          }
          else {
            __lastLabel__ = 1799; ;
            var _65 = _clipped+16*_clipped_count_3;
            var _66 = FHEAP[_scevgep16];
            FHEAP[_65] = _66;
            var _67 = FHEAP[_scevgep17];
            var _68 = _clipped+16*_clipped_count_3+4;
            FHEAP[_68] = _67;
            var _69 = FHEAP[_scevgep18];
            var _70 = _clipped+16*_clipped_count_3+8;
            FHEAP[_70] = _69;
            var _71 = _clipped_count_3 + 1;
            __lastLabel__ = 2451; ;
          }
          var _clipped_count_4 = __lastLabel__ == 2451 ? _71 : (_clipped_count_3);
          var _exitcond = _tmp15 == _tmp;
          if (_exitcond) { __lastLabel__ = 2453; __label__ = 61; /* _bb4 */ break _bb_nph$_bb4$13280; } else { __lastLabel__ = 2453; __label__ = 0; /* _bb2 */ continue _bb2$13282; }
        }
      }
      else {
        __lastLabel__ = 510; ;
      }
    } while(0);
    var _olddist_0_lcssa = __lastLabel__ == 510 ? _19 : (_39);
    var _clipped_count_0_lcssa = __lastLabel__ == 510 ? _clipped_count_0_ph : (_clipped_count_4);
    var _72 = _polygon_point_count + -1;
    var _73 = _olddist_0_lcssa > 1.1920928955078125e-7;
    var _74 = _19 > 1.1920928955078125e-7;
    var _75 = _74 ^ _73;
    ;
    if (_75) {
      __lastLabel__ = 61; ;
      var _76 = 0 - _olddist_0_lcssa;
      var _77 = _19 - _olddist_0_lcssa;
      var _78 = _76 / _77;
      var _79 = _clipped+16*_clipped_count_0_lcssa;
      var _80 = 1 - _78;
      var _81 = _polygon_points+16*_72;
      var _82 = FHEAP[_81];
      var _83 = _80 * _82;
      var _84 = FHEAP[_2];
      var _85 = _84 * _78;
      var _86 = _83 + _85;
      FHEAP[_79] = _86;
      var _87 = _polygon_points+16*_72+4;
      var _88 = FHEAP[_87];
      var _89 = _80 * _88;
      var _90 = FHEAP[_7];
      var _91 = _90 * _78;
      var _92 = _89 + _91;
      var _93 = _clipped+16*_clipped_count_0_lcssa+4;
      FHEAP[_93] = _92;
      var _94 = _polygon_points+16*_72+8;
      var _95 = FHEAP[_94];
      var _96 = _80 * _95;
      var _97 = FHEAP[_13];
      var _98 = _97 * _78;
      var _99 = _96 + _98;
      var _100 = _clipped+16*_clipped_count_0_lcssa+8;
      FHEAP[_100] = _99;
      var _101 = _clipped_count_0_lcssa + 1;
      __lastLabel__ = 131; ;
    }
    else {
      __lastLabel__ = 61; ;
    }
    var _clipped_count_1 = __lastLabel__ == 131 ? _101 : (_clipped_count_0_lcssa);
    ;
    if (_74) {
      ;
      ;
      return _clipped_count_1;
    }
    else {
      ;
      var _102 = _clipped+16*_clipped_count_1;
      var _103 = FHEAP[_2];
      FHEAP[_102] = _103;
      var _104 = FHEAP[_7];
      var _105 = _clipped+16*_clipped_count_1+4;
      FHEAP[_105] = _104;
      var _106 = FHEAP[_13];
      var _107 = _clipped+16*_clipped_count_1+8;
      FHEAP[_107] = _106;
      var _108 = _clipped_count_1 + 1;
      ;
      return _108;
    }
  }
  __Z26PLANE_CLIP_POLYGON_GENERICI9btVector39btVector422DISTANCE_PLANE_3D_FUNCEjRKT0_PKT_jPS6_T1_.__index__ = Runtime.getFunctionIndex(__Z26PLANE_CLIP_POLYGON_GENERICI9btVector39btVector422DISTANCE_PLANE_3D_FUNCEjRKT0_PKT_jPS6_T1_, "__Z26PLANE_CLIP_POLYGON_GENERICI9btVector39btVector422DISTANCE_PLANE_3D_FUNCEjRKT0_PKT_jPS6_T1_");
  
  
  function __ZN27btContinuousConvexCollisionC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_this, _convexA, _convexB, _simplexSolver, _penetrationDepthSolver) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV27btContinuousConvexCollision+8;
    var _1 = _this+4;
    IHEAP[_1] = _simplexSolver;
    var _2 = _this+8;
    IHEAP[_2] = _penetrationDepthSolver;
    var _3 = _this+12;
    IHEAP[_3] = _convexA;
    var _4 = _this+16;
    IHEAP[_4] = _convexB;
    ;
    return;
  }
  __ZN27btContinuousConvexCollisionC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver.__index__ = Runtime.getFunctionIndex(__ZN27btContinuousConvexCollisionC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, "__ZN27btContinuousConvexCollisionC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver");
  
  
  function __ZN16btPointCollectorD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btPointCollector+8;
    ;
    return;
  }
  __ZN16btPointCollectorD1Ev.__index__ = Runtime.getFunctionIndex(__ZN16btPointCollectorD1Ev, "__ZN16btPointCollectorD1Ev");
  
  
  function __ZN16btPointCollectorD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btPointCollector+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN16btPointCollectorD0Ev.__index__ = Runtime.getFunctionIndex(__ZN16btPointCollectorD0Ev, "__ZN16btPointCollectorD0Ev");
  
  
  function __ZN16btPointCollector15addContactPointERK9btVector3S2_f(_this, _normalOnBInWorld, _pointInWorld, _depth) {
    ;
    var __label__;
    var _0 = _this+36;
    var _1 = FHEAP[_0];
    var _2 = _1 > _depth;
    ;
    if (_2) {
      ;
      var _3 = _this+40;
      IHEAP[_3] = 1;
      var _4 = _this+4;
      var _5 = _normalOnBInWorld;
      var _6 = FHEAP[_5];
      FHEAP[_4] = _6;
      var _7 = _this+4+4;
      var _8 = _normalOnBInWorld+4;
      var _9 = FHEAP[_8];
      FHEAP[_7] = _9;
      var _10 = _this+4+8;
      var _11 = _normalOnBInWorld+8;
      var _12 = FHEAP[_11];
      FHEAP[_10] = _12;
      var _13 = _this+4+12;
      var _14 = _normalOnBInWorld+12;
      var _15 = FHEAP[_14];
      FHEAP[_13] = _15;
      var _16 = _this+20;
      var _17 = _pointInWorld;
      var _18 = FHEAP[_17];
      FHEAP[_16] = _18;
      var _19 = _this+20+4;
      var _20 = _pointInWorld+4;
      var _21 = FHEAP[_20];
      FHEAP[_19] = _21;
      var _22 = _this+20+8;
      var _23 = _pointInWorld+8;
      var _24 = FHEAP[_23];
      FHEAP[_22] = _24;
      var _25 = _this+20+12;
      var _26 = _pointInWorld+12;
      var _27 = FHEAP[_26];
      FHEAP[_25] = _27;
      FHEAP[_0] = _depth;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN16btPointCollector15addContactPointERK9btVector3S2_f.__index__ = Runtime.getFunctionIndex(__ZN16btPointCollector15addContactPointERK9btVector3S2_f, "__ZN16btPointCollector15addContactPointERK9btVector3S2_f");
  
  
  function __ZN27btContinuousConvexCollisionD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV27btContinuousConvexCollision+8;
    var _1 = _this;
    __ZN12btConvexCastD2Ev(_1);
    ;
    return;
  }
  __ZN27btContinuousConvexCollisionD1Ev.__index__ = Runtime.getFunctionIndex(__ZN27btContinuousConvexCollisionD1Ev, "__ZN27btContinuousConvexCollisionD1Ev");
  
  
  function __ZN27btContinuousConvexCollisionD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV27btContinuousConvexCollision+8;
    var _1 = _this;
    __ZN12btConvexCastD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZN27btContinuousConvexCollisionD0Ev.__index__ = Runtime.getFunctionIndex(__ZN27btContinuousConvexCollisionD0Ev, "__ZN27btContinuousConvexCollisionD0Ev");
  
  
  function __ZN27btContinuousConvexCollisionC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_this, _convexA, _convexB, _simplexSolver, _penetrationDepthSolver) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV27btContinuousConvexCollision+8;
    var _1 = _this+4;
    IHEAP[_1] = _simplexSolver;
    var _2 = _this+8;
    IHEAP[_2] = _penetrationDepthSolver;
    var _3 = _this+12;
    IHEAP[_3] = _convexA;
    var _4 = _this+16;
    IHEAP[_4] = _convexB;
    ;
    return;
  }
  __ZN27btContinuousConvexCollisionC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver.__index__ = Runtime.getFunctionIndex(__ZN27btContinuousConvexCollisionC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, "__ZN27btContinuousConvexCollisionC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver");
  
  
  function __ZN12btConvexCastD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV12btConvexCast+8;
    ;
    return;
  }
  __ZN12btConvexCastD2Ev.__index__ = Runtime.getFunctionIndex(__ZN12btConvexCastD2Ev, "__ZN12btConvexCastD2Ev");
  
  
  function __ZN12btConvexCastD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV12btConvexCast+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN12btConvexCastD0Ev.__index__ = Runtime.getFunctionIndex(__ZN12btConvexCastD0Ev, "__ZN12btConvexCastD0Ev");
  
  
  function __ZN12btConvexCastD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV12btConvexCast+8;
    ;
    return;
  }
  __ZN12btConvexCastD1Ev.__index__ = Runtime.getFunctionIndex(__ZN12btConvexCastD1Ev, "__ZN12btConvexCastD1Ev");
  
  
  function __ZN15btGjkConvexCastC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolver(_this, _convexA, _convexB, _simplexSolver) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV15btGjkConvexCast+8;
    var _1 = _this+4;
    IHEAP[_1] = _simplexSolver;
    var _2 = _this+8;
    IHEAP[_2] = _convexA;
    var _3 = _this+12;
    IHEAP[_3] = _convexB;
    ;
    return;
  }
  __ZN15btGjkConvexCastC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolver.__index__ = Runtime.getFunctionIndex(__ZN15btGjkConvexCastC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolver, "__ZN15btGjkConvexCastC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolver");
  
  
  function __ZN15btGjkConvexCastD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV15btGjkConvexCast+8;
    var _1 = _this;
    __ZN12btConvexCastD2Ev(_1);
    ;
    return;
  }
  __ZN15btGjkConvexCastD1Ev.__index__ = Runtime.getFunctionIndex(__ZN15btGjkConvexCastD1Ev, "__ZN15btGjkConvexCastD1Ev");
  
  
  function __ZN15btGjkConvexCastD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV15btGjkConvexCast+8;
    var _1 = _this;
    __ZN12btConvexCastD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZN15btGjkConvexCastD0Ev.__index__ = Runtime.getFunctionIndex(__ZN15btGjkConvexCastD0Ev, "__ZN15btGjkConvexCastD0Ev");
  
  
  function __ZN15btGjkConvexCastC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolver(_this, _convexA, _convexB, _simplexSolver) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV15btGjkConvexCast+8;
    var _1 = _this+4;
    IHEAP[_1] = _simplexSolver;
    var _2 = _this+8;
    IHEAP[_2] = _convexA;
    var _3 = _this+12;
    IHEAP[_3] = _convexB;
    ;
    return;
  }
  __ZN15btGjkConvexCastC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolver.__index__ = Runtime.getFunctionIndex(__ZN15btGjkConvexCastC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolver, "__ZN15btGjkConvexCastC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolver");
  
  
  function __ZNK12gjkepa2_impl13MinkowskiDiff8Support1ERK9btVector3(_agg_result, _this, _d) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = _this+120;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = _4 & 1;
    var _toBool = _5 == 0;
    var __phi_trans_insert = _this+4;
    var __pre = IHEAP[__phi_trans_insert];
    var __phi_trans_insert4 = _this+120+4;
    var __pre5 = IHEAP[__phi_trans_insert4];
    ;
    if (_toBool) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _6 = __pre;
      var _7 = _6 + __pre5;
      var _8 = _7;
      var _9 = _8;
      var _10 = IHEAP[_9];
      var _11 = _10;
      var _12 = _11 + -1;
      var _13 = _12 + _4;
      var _14 = _13;
      var _iftmp_135_0_pre = IHEAP[_14];
      __lastLabel__ = 60; ;
    }
    var _15 = __lastLabel__ == 60 ? __pre5 : (__pre5);
    var _16 = __lastLabel__ == 60 ? __pre : (__pre);
    var _iftmp_135_0 = __lastLabel__ == 60 ? _iftmp_135_0_pre : (_3);
    var _17 = _this+8+32;
    var _18 = FHEAP[_17];
    var _19 = _d;
    var _20 = FHEAP[_19];
    var _21 = _18 * _20;
    var _22 = _this+8+32+4;
    var _23 = FHEAP[_22];
    var _24 = _d+4;
    var _25 = FHEAP[_24];
    var _26 = _23 * _25;
    var _27 = _21 + _26;
    var _28 = _this+8+32+8;
    var _29 = FHEAP[_28];
    var _30 = _d+8;
    var _31 = FHEAP[_30];
    var _32 = _29 * _31;
    var _33 = _27 + _32;
    var _34 = _this+8+16;
    var _35 = FHEAP[_34];
    var _36 = _35 * _20;
    var _37 = _this+8+16+4;
    var _38 = FHEAP[_37];
    var _39 = _38 * _25;
    var _40 = _36 + _39;
    var _41 = _this+8+16+8;
    var _42 = FHEAP[_41];
    var _43 = _42 * _31;
    var _44 = _40 + _43;
    var _45 = _this+8;
    var _46 = FHEAP[_45];
    var _47 = _46 * _20;
    var _48 = _this+8+4;
    var _49 = FHEAP[_48];
    var _50 = _49 * _25;
    var _51 = _47 + _50;
    var _52 = _this+8+8;
    var _53 = FHEAP[_52];
    var _54 = _53 * _31;
    var _55 = _51 + _54;
    var _56 = _0;
    FHEAP[_56] = _55;
    var _57 = _0+4;
    FHEAP[_57] = _44;
    var _58 = _0+8;
    FHEAP[_58] = _33;
    var _59 = _0+12;
    FHEAP[_59] = 0;
    var _60 = __pre;
    var _61 = _60 + __pre5;
    var _62 = _61;
    FUNCTION_TABLE[_iftmp_135_0](_1, _62, _0);
    var _63 = _this+56+32;
    var _64 = FHEAP[_63];
    var _65 = _1;
    var _66 = FHEAP[_65];
    var _67 = _64 * _66;
    var _68 = _this+56+32+4;
    var _69 = FHEAP[_68];
    var _70 = _1+4;
    var _71 = FHEAP[_70];
    var _72 = _69 * _71;
    var _73 = _67 + _72;
    var _74 = _this+56+32+8;
    var _75 = FHEAP[_74];
    var _76 = _1+8;
    var _77 = FHEAP[_76];
    var _78 = _75 * _77;
    var _79 = _73 + _78;
    var _80 = _this+56+48+8;
    var _81 = FHEAP[_80];
    var _82 = _79 + _81;
    var _83 = _this+56+16;
    var _84 = FHEAP[_83];
    var _85 = _84 * _66;
    var _86 = _this+56+16+4;
    var _87 = FHEAP[_86];
    var _88 = _87 * _71;
    var _89 = _85 + _88;
    var _90 = _this+56+16+8;
    var _91 = FHEAP[_90];
    var _92 = _91 * _77;
    var _93 = _89 + _92;
    var _94 = _this+56+48+4;
    var _95 = FHEAP[_94];
    var _96 = _93 + _95;
    var _97 = _this+56;
    var _98 = FHEAP[_97];
    var _99 = _98 * _66;
    var _100 = _this+56+4;
    var _101 = FHEAP[_100];
    var _102 = _101 * _71;
    var _103 = _99 + _102;
    var _104 = _this+56+8;
    var _105 = FHEAP[_104];
    var _106 = _105 * _77;
    var _107 = _103 + _106;
    var _108 = _this+56+48;
    var _109 = FHEAP[_108];
    var _110 = _107 + _109;
    var _111 = _agg_result;
    FHEAP[_111] = _110;
    var _112 = _agg_result+4;
    FHEAP[_112] = _96;
    var _113 = _agg_result+8;
    FHEAP[_113] = _82;
    var _114 = _agg_result+12;
    FHEAP[_114] = 0;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK12gjkepa2_impl13MinkowskiDiff8Support1ERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK12gjkepa2_impl13MinkowskiDiff8Support1ERK9btVector3, "__ZNK12gjkepa2_impl13MinkowskiDiff8Support1ERK9btVector3");
  
  
  function __ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_PfRj(_a, _b, _w, _m) {
    ;
    var __label__;
    var _0 = _b+8;
    var _1 = FHEAP[_0];
    var _2 = _a+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _b+4;
    var _6 = FHEAP[_5];
    var _7 = _a+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _b;
    var _11 = FHEAP[_10];
    var _12 = _a;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _14 * _14;
    var _16 = _9 * _9;
    var _17 = _15 + _16;
    var _18 = _4 * _4;
    var _19 = _17 + _18;
    var _20 = _19 > 0;
    ;
    if (_20) {
      ;
      var _21 = _13 * _14;
      var _22 = _8 * _9;
      var _23 = _21 + _22;
      var _24 = _3 * _4;
      var _25 = _23 + _24;
      var _26 = 0 - _25;
      var _27 = _26 / _19;
      var _28 = _27 < 1;
      ;
      if (_28) {
        ;
        var _38 = _27 > 0;
        ;
        if (_38) {
          ;
          var _48 = _w+4;
          FHEAP[_48] = _27;
          var _49 = 1 - _27;
          FHEAP[_w] = _49;
          IHEAP[_m] = 3;
          var _50 = _4 * _27;
          var _51 = _9 * _27;
          var _52 = _14 * _27;
          var _53 = FHEAP[_2];
          var _54 = _53 + _50;
          var _55 = FHEAP[_7];
          var _56 = _55 + _51;
          var _57 = FHEAP[_12];
          var _58 = _57 + _52;
          var _59 = _58 * _58;
          var _60 = _56 * _56;
          var _61 = _59 + _60;
          var _62 = _54 * _54;
          var _63 = _61 + _62;
          ;
          return _63;
        }
        else {
          ;
          FHEAP[_w] = 1;
          var _39 = _w+4;
          FHEAP[_39] = 0;
          IHEAP[_m] = 1;
          var _40 = FHEAP[_12];
          var _41 = _40 * _40;
          var _42 = FHEAP[_7];
          var _43 = _42 * _42;
          var _44 = _41 + _43;
          var _45 = FHEAP[_2];
          var _46 = _45 * _45;
          var _47 = _44 + _46;
          ;
          return _47;
        }
      }
      else {
        ;
        FHEAP[_w] = 0;
        var _29 = _w+4;
        FHEAP[_29] = 1;
        IHEAP[_m] = 2;
        var _30 = FHEAP[_10];
        var _31 = _30 * _30;
        var _32 = FHEAP[_5];
        var _33 = _32 * _32;
        var _34 = _31 + _33;
        var _35 = FHEAP[_0];
        var _36 = _35 * _35;
        var _37 = _34 + _36;
        ;
        return _37;
      }
    }
    else {
      ;
      ;
      return -1;
    }
  }
  __ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_PfRj.__index__ = Runtime.getFunctionIndex(__ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_PfRj, "__ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_PfRj");
  
  
  function __ZN12gjkepa2_implL10InitializeEPK13btConvexShapeRK11btTransformS2_S5_RN15btGjkEpaSolver28sResultsERNS_13MinkowskiDiffEb(_shape0, _wtrs0, _shape1, _wtrs1, _results, _shape, _withmargins) {
    ;
    var __label__;
    var _0 = _shape;
    var _1 = _results;
    _llvm_memset_p0i8_i64(_1, 0, 36, 4, false);
    IHEAP[_0] = _shape0;
    var _2 = _shape+4;
    IHEAP[_2] = _shape1;
    var _3 = _wtrs1+8;
    var _4 = FHEAP[_3];
    var _5 = _wtrs0+8;
    var _6 = FHEAP[_5];
    var _7 = _4 * _6;
    var _8 = _wtrs1+16+8;
    var _9 = FHEAP[_8];
    var _10 = _wtrs0+16+8;
    var _11 = FHEAP[_10];
    var _12 = _9 * _11;
    var _13 = _7 + _12;
    var _14 = _wtrs1+32+8;
    var _15 = FHEAP[_14];
    var _16 = _wtrs0+32+8;
    var _17 = FHEAP[_16];
    var _18 = _15 * _17;
    var _19 = _13 + _18;
    var _20 = _wtrs0+4;
    var _21 = FHEAP[_20];
    var _22 = _4 * _21;
    var _23 = _wtrs0+16+4;
    var _24 = FHEAP[_23];
    var _25 = _9 * _24;
    var _26 = _22 + _25;
    var _27 = _wtrs0+32+4;
    var _28 = FHEAP[_27];
    var _29 = _15 * _28;
    var _30 = _26 + _29;
    var _31 = _wtrs0;
    var _32 = FHEAP[_31];
    var _33 = _4 * _32;
    var _34 = _wtrs0+16;
    var _35 = FHEAP[_34];
    var _36 = _9 * _35;
    var _37 = _33 + _36;
    var _38 = _wtrs0+32;
    var _39 = FHEAP[_38];
    var _40 = _15 * _39;
    var _41 = _37 + _40;
    var _42 = _wtrs1+4;
    var _43 = FHEAP[_42];
    var _44 = _43 * _6;
    var _45 = _wtrs1+16+4;
    var _46 = FHEAP[_45];
    var _47 = _46 * _11;
    var _48 = _44 + _47;
    var _49 = _wtrs1+32+4;
    var _50 = FHEAP[_49];
    var _51 = _50 * _17;
    var _52 = _48 + _51;
    var _53 = _43 * _21;
    var _54 = _46 * _24;
    var _55 = _53 + _54;
    var _56 = _50 * _28;
    var _57 = _55 + _56;
    var _58 = _43 * _32;
    var _59 = _46 * _35;
    var _60 = _58 + _59;
    var _61 = _50 * _39;
    var _62 = _60 + _61;
    var _63 = _wtrs1;
    var _64 = FHEAP[_63];
    var _65 = _64 * _6;
    var _66 = _wtrs1+16;
    var _67 = FHEAP[_66];
    var _68 = _67 * _11;
    var _69 = _65 + _68;
    var _70 = _wtrs1+32;
    var _71 = FHEAP[_70];
    var _72 = _71 * _17;
    var _73 = _69 + _72;
    var _74 = _64 * _21;
    var _75 = _67 * _24;
    var _76 = _74 + _75;
    var _77 = _71 * _28;
    var _78 = _76 + _77;
    var _79 = _64 * _32;
    var _80 = _67 * _35;
    var _81 = _79 + _80;
    var _82 = _71 * _39;
    var _83 = _81 + _82;
    var _84 = _shape+8;
    FHEAP[_84] = _83;
    var _85 = _shape+8+4;
    FHEAP[_85] = _78;
    var _86 = _shape+8+8;
    FHEAP[_86] = _73;
    var _87 = _shape+8+12;
    FHEAP[_87] = 0;
    var _88 = _shape+8+16;
    FHEAP[_88] = _62;
    var _89 = _shape+8+16+4;
    FHEAP[_89] = _57;
    var _90 = _shape+8+16+8;
    FHEAP[_90] = _52;
    var _91 = _shape+8+16+12;
    FHEAP[_91] = 0;
    var _92 = _shape+8+32;
    FHEAP[_92] = _41;
    var _93 = _shape+8+32+4;
    FHEAP[_93] = _30;
    var _94 = _shape+8+32+8;
    FHEAP[_94] = _19;
    var _95 = _shape+8+32+12;
    FHEAP[_95] = 0;
    var _96 = _wtrs1+48+8;
    var _97 = FHEAP[_96];
    var _98 = _wtrs0+48+8;
    var _99 = FHEAP[_98];
    var _100 = _97 - _99;
    var _101 = _wtrs1+48+4;
    var _102 = FHEAP[_101];
    var _103 = _wtrs0+48+4;
    var _104 = FHEAP[_103];
    var _105 = _102 - _104;
    var _106 = _wtrs1+48;
    var _107 = FHEAP[_106];
    var _108 = _wtrs0+48;
    var _109 = FHEAP[_108];
    var _110 = _107 - _109;
    var _111 = FHEAP[_5];
    var _112 = _111 * _110;
    var _113 = FHEAP[_10];
    var _114 = _113 * _105;
    var _115 = _112 + _114;
    var _116 = FHEAP[_16];
    var _117 = _116 * _100;
    var _118 = _115 + _117;
    var _119 = FHEAP[_20];
    var _120 = _119 * _110;
    var _121 = FHEAP[_23];
    var _122 = _121 * _105;
    var _123 = _120 + _122;
    var _124 = FHEAP[_27];
    var _125 = _124 * _100;
    var _126 = _123 + _125;
    var _127 = FHEAP[_31];
    var _128 = _127 * _110;
    var _129 = FHEAP[_34];
    var _130 = _129 * _105;
    var _131 = _128 + _130;
    var _132 = FHEAP[_38];
    var _133 = _132 * _100;
    var _134 = _131 + _133;
    var _135 = FHEAP[_3];
    var _136 = _111 * _135;
    var _137 = FHEAP[_8];
    var _138 = _113 * _137;
    var _139 = _136 + _138;
    var _140 = FHEAP[_14];
    var _141 = _116 * _140;
    var _142 = _139 + _141;
    var _143 = FHEAP[_42];
    var _144 = _111 * _143;
    var _145 = FHEAP[_45];
    var _146 = _113 * _145;
    var _147 = _144 + _146;
    var _148 = FHEAP[_49];
    var _149 = _116 * _148;
    var _150 = _147 + _149;
    var _151 = FHEAP[_63];
    var _152 = _111 * _151;
    var _153 = FHEAP[_66];
    var _154 = _113 * _153;
    var _155 = _152 + _154;
    var _156 = FHEAP[_70];
    var _157 = _116 * _156;
    var _158 = _155 + _157;
    var _159 = _119 * _135;
    var _160 = _121 * _137;
    var _161 = _159 + _160;
    var _162 = _124 * _140;
    var _163 = _161 + _162;
    var _164 = _119 * _143;
    var _165 = _121 * _145;
    var _166 = _164 + _165;
    var _167 = _124 * _148;
    var _168 = _166 + _167;
    var _169 = _119 * _151;
    var _170 = _121 * _153;
    var _171 = _169 + _170;
    var _172 = _124 * _156;
    var _173 = _171 + _172;
    var _174 = _127 * _135;
    var _175 = _129 * _137;
    var _176 = _174 + _175;
    var _177 = _132 * _140;
    var _178 = _176 + _177;
    var _179 = _127 * _143;
    var _180 = _129 * _145;
    var _181 = _179 + _180;
    var _182 = _132 * _148;
    var _183 = _181 + _182;
    var _184 = _127 * _151;
    var _185 = _129 * _153;
    var _186 = _184 + _185;
    var _187 = _132 * _156;
    var _188 = _186 + _187;
    var _189 = _shape+56;
    FHEAP[_189] = _188;
    var _190 = _shape+56+4;
    FHEAP[_190] = _183;
    var _191 = _shape+56+8;
    FHEAP[_191] = _178;
    var _192 = _shape+56+12;
    FHEAP[_192] = 0;
    var _193 = _shape+56+16;
    FHEAP[_193] = _173;
    var _194 = _shape+56+16+4;
    FHEAP[_194] = _168;
    var _195 = _shape+56+16+8;
    FHEAP[_195] = _163;
    var _196 = _shape+56+16+12;
    FHEAP[_196] = 0;
    var _197 = _shape+56+32;
    FHEAP[_197] = _158;
    var _198 = _shape+56+32+4;
    FHEAP[_198] = _150;
    var _199 = _shape+56+32+8;
    FHEAP[_199] = _142;
    var _200 = _shape+56+32+12;
    FHEAP[_200] = 0;
    var _201 = _shape+56+48;
    FHEAP[_201] = _134;
    var _202 = _shape+56+48+4;
    FHEAP[_202] = _126;
    var _203 = _shape+56+48+8;
    FHEAP[_203] = _118;
    var _204 = _shape+56+48+12;
    FHEAP[_204] = 0;
    var _toBool_i = _withmargins == 0;
    var _205 = _shape+120;
    ;
    if (_toBool_i) {
      ;
      IHEAP[_205] = __ZNK13btConvexShape44localGetSupportVertexWithoutMarginNonVirtualERK9btVector3.__index__;
      var _207 = _shape+120+4;
      IHEAP[_207] = 0;
      ;
      return;
    }
    else {
      ;
      IHEAP[_205] = __ZNK13btConvexShape31localGetSupportVertexNonVirtualERK9btVector3.__index__;
      var _206 = _shape+120+4;
      IHEAP[_206] = 0;
      ;
      return;
    }
  }
  __ZN12gjkepa2_implL10InitializeEPK13btConvexShapeRK11btTransformS2_S5_RN15btGjkEpaSolver28sResultsERNS_13MinkowskiDiffEb.__index__ = Runtime.getFunctionIndex(__ZN12gjkepa2_implL10InitializeEPK13btConvexShapeRK11btTransformS2_S5_RN15btGjkEpaSolver28sResultsERNS_13MinkowskiDiffEb, "__ZN12gjkepa2_implL10InitializeEPK13btConvexShapeRK11btTransformS2_S5_RN15btGjkEpaSolver28sResultsERNS_13MinkowskiDiffEb");
  
  
  function __ZN30btGjkEpaPenetrationDepthSolverD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV30btGjkEpaPenetrationDepthSolver+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN30btGjkEpaPenetrationDepthSolverD0Ev.__index__ = Runtime.getFunctionIndex(__ZN30btGjkEpaPenetrationDepthSolverD0Ev, "__ZN30btGjkEpaPenetrationDepthSolverD0Ev");
  
  
  function __ZN30btGjkEpaPenetrationDepthSolverD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV30btGjkEpaPenetrationDepthSolver+8;
    ;
    return;
  }
  __ZN30btGjkEpaPenetrationDepthSolverD1Ev.__index__ = Runtime.getFunctionIndex(__ZN30btGjkEpaPenetrationDepthSolverD1Ev, "__ZN30btGjkEpaPenetrationDepthSolverD1Ev");
  
  
  function __ZN17btGjkPairDetectorC2EPK13btConvexShapeS2_iiffP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_this, _objectA, _objectB, _shapeTypeA, _shapeTypeB, _marginA, _marginB, _simplexSolver, _penetrationDepthSolver) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17btGjkPairDetector+8;
    var _1 = _this+4;
    FHEAP[_1] = 0;
    var _2 = _this+4+4;
    FHEAP[_2] = 1;
    var _3 = _this+4+8;
    FHEAP[_3] = 0;
    var _4 = _this+4+12;
    FHEAP[_4] = 0;
    var _5 = _this+20;
    IHEAP[_5] = _penetrationDepthSolver;
    var _6 = _this+24;
    IHEAP[_6] = _simplexSolver;
    var _7 = _this+28;
    IHEAP[_7] = _objectA;
    var _8 = _this+32;
    IHEAP[_8] = _objectB;
    var _9 = _this+36;
    IHEAP[_9] = _shapeTypeA;
    var _10 = _this+40;
    IHEAP[_10] = _shapeTypeB;
    var _11 = _this+44;
    FHEAP[_11] = _marginA;
    var _12 = _this+48;
    FHEAP[_12] = _marginB;
    var _13 = _this+52;
    IHEAP[_13] = 0;
    var _14 = _this+60;
    IHEAP[_14] = -1;
    var _15 = _this+72;
    IHEAP[_15] = 1;
    ;
    return;
  }
  __ZN17btGjkPairDetectorC2EPK13btConvexShapeS2_iiffP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver.__index__ = Runtime.getFunctionIndex(__ZN17btGjkPairDetectorC2EPK13btConvexShapeS2_iiffP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, "__ZN17btGjkPairDetectorC2EPK13btConvexShapeS2_iiffP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver");
  
  
  function __ZN17btGjkPairDetectorD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17btGjkPairDetector+8;
    ;
    return;
  }
  __ZN17btGjkPairDetectorD1Ev.__index__ = Runtime.getFunctionIndex(__ZN17btGjkPairDetectorD1Ev, "__ZN17btGjkPairDetectorD1Ev");
  
  
  function __ZN17btGjkPairDetectorD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17btGjkPairDetector+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN17btGjkPairDetectorD0Ev.__index__ = Runtime.getFunctionIndex(__ZN17btGjkPairDetectorD0Ev, "__ZN17btGjkPairDetectorD0Ev");
  
  
  function __ZN17btGjkPairDetectorC1EPK13btConvexShapeS2_iiffP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_this, _objectA, _objectB, _shapeTypeA, _shapeTypeB, _marginA, _marginB, _simplexSolver, _penetrationDepthSolver) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17btGjkPairDetector+8;
    var _1 = _this+4;
    FHEAP[_1] = 0;
    var _2 = _this+4+4;
    FHEAP[_2] = 1;
    var _3 = _this+4+8;
    FHEAP[_3] = 0;
    var _4 = _this+4+12;
    FHEAP[_4] = 0;
    var _5 = _this+20;
    IHEAP[_5] = _penetrationDepthSolver;
    var _6 = _this+24;
    IHEAP[_6] = _simplexSolver;
    var _7 = _this+28;
    IHEAP[_7] = _objectA;
    var _8 = _this+32;
    IHEAP[_8] = _objectB;
    var _9 = _this+36;
    IHEAP[_9] = _shapeTypeA;
    var _10 = _this+40;
    IHEAP[_10] = _shapeTypeB;
    var _11 = _this+44;
    FHEAP[_11] = _marginA;
    var _12 = _this+48;
    FHEAP[_12] = _marginB;
    var _13 = _this+52;
    IHEAP[_13] = 0;
    var _14 = _this+60;
    IHEAP[_14] = -1;
    var _15 = _this+72;
    IHEAP[_15] = 1;
    ;
    return;
  }
  __ZN17btGjkPairDetectorC1EPK13btConvexShapeS2_iiffP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver.__index__ = Runtime.getFunctionIndex(__ZN17btGjkPairDetectorC1EPK13btConvexShapeS2_iiffP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, "__ZN17btGjkPairDetectorC1EPK13btConvexShapeS2_iiffP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver");
  
  
  function __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResultD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocE20btIntermediateResult+8;
    ;
    return;
  }
  __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResultD2Ev.__index__ = Runtime.getFunctionIndex(__ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResultD2Ev, "__ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResultD2Ev");
  
  
  function __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResultD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocE20btIntermediateResult+8;
    ;
    return;
  }
  __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResultD1Ev.__index__ = Runtime.getFunctionIndex(__ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResultD1Ev, "__ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResultD1Ev");
  
  
  function __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResultD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocE20btIntermediateResult+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResultD0Ev.__index__ = Runtime.getFunctionIndex(__ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResultD0Ev, "__ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResultD0Ev");
  
  
  function __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResult15addContactPointERKS8_SG_f(_this, _normalOnBInWorld, _pointInWorld, _depth) {
    ;
    var __label__;
    var _0 = _this+4;
    var _1 = _normalOnBInWorld;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _this+4+4;
    var _4 = _normalOnBInWorld+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+4+8;
    var _7 = _normalOnBInWorld+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+4+12;
    var _10 = _normalOnBInWorld+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _this+20;
    var _13 = _pointInWorld;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _this+20+4;
    var _16 = _pointInWorld+4;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _this+20+8;
    var _19 = _pointInWorld+8;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _this+20+12;
    var _22 = _pointInWorld+12;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    var _24 = _this+36;
    FHEAP[_24] = _depth;
    var _25 = _this+40;
    IHEAP[_25] = 1;
    ;
    return;
  }
  __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResult15addContactPointERKS8_SG_f.__index__ = Runtime.getFunctionIndex(__ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResult15addContactPointERKS8_SG_f, "__ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResult15addContactPointERKS8_SG_f");
  
  
  function __ZN33btMinkowskiPenetrationDepthSolverD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV33btMinkowskiPenetrationDepthSolver+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN33btMinkowskiPenetrationDepthSolverD0Ev.__index__ = Runtime.getFunctionIndex(__ZN33btMinkowskiPenetrationDepthSolverD0Ev, "__ZN33btMinkowskiPenetrationDepthSolverD0Ev");
  
  
  function __ZN33btMinkowskiPenetrationDepthSolverD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV33btMinkowskiPenetrationDepthSolver+8;
    ;
    return;
  }
  __ZN33btMinkowskiPenetrationDepthSolverD1Ev.__index__ = Runtime.getFunctionIndex(__ZN33btMinkowskiPenetrationDepthSolverD1Ev, "__ZN33btMinkowskiPenetrationDepthSolverD1Ev");
  
  
  function __ZN20btPersistentManifoldC2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = 1;
    var _scevgep = _this+4+108;
    var _scevgep6 = _this+4+112;
    var _scevgep7 = _this+4+116;
    var _scevgep8 = _this+4+120;
    var _scevgep9 = _this+4+124;
    var _scevgep10 = _this+4+128;
    var _scevgep11 = _this+4+132;
    var _scevgep12 = _this+4+136;
    var _scevgep13 = _this+4+140;
    var _scevgep14 = _this+4+144;
    IHEAP[_scevgep] = 0;
    FHEAP[_scevgep6] = 0;
    IHEAP[_scevgep7] = 0;
    FHEAP[_scevgep8] = 0;
    FHEAP[_scevgep9] = 0;
    FHEAP[_scevgep10] = 0;
    FHEAP[_scevgep11] = 0;
    FHEAP[_scevgep12] = 0;
    FHEAP[_scevgep13] = 0;
    IHEAP[_scevgep14] = 0;
    var _scevgep_1 = _this+4+276+108;
    var _scevgep6_1 = _this+4+276+112;
    var _scevgep7_1 = _this+4+276+116;
    var _scevgep8_1 = _this+4+276+120;
    var _scevgep9_1 = _this+4+276+124;
    var _scevgep10_1 = _this+4+276+128;
    var _scevgep11_1 = _this+4+276+132;
    var _scevgep12_1 = _this+4+276+136;
    var _scevgep13_1 = _this+4+276+140;
    var _scevgep14_1 = _this+4+276+144;
    IHEAP[_scevgep_1] = 0;
    FHEAP[_scevgep6_1] = 0;
    IHEAP[_scevgep7_1] = 0;
    FHEAP[_scevgep8_1] = 0;
    FHEAP[_scevgep9_1] = 0;
    FHEAP[_scevgep10_1] = 0;
    FHEAP[_scevgep11_1] = 0;
    FHEAP[_scevgep12_1] = 0;
    FHEAP[_scevgep13_1] = 0;
    IHEAP[_scevgep14_1] = 0;
    var _scevgep_2 = _this+4+552+108;
    var _scevgep6_2 = _this+4+552+112;
    var _scevgep7_2 = _this+4+552+116;
    var _scevgep8_2 = _this+4+552+120;
    var _scevgep9_2 = _this+4+552+124;
    var _scevgep10_2 = _this+4+552+128;
    var _scevgep11_2 = _this+4+552+132;
    var _scevgep12_2 = _this+4+552+136;
    var _scevgep13_2 = _this+4+552+140;
    var _scevgep14_2 = _this+4+552+144;
    IHEAP[_scevgep_2] = 0;
    FHEAP[_scevgep6_2] = 0;
    IHEAP[_scevgep7_2] = 0;
    FHEAP[_scevgep8_2] = 0;
    FHEAP[_scevgep9_2] = 0;
    FHEAP[_scevgep10_2] = 0;
    FHEAP[_scevgep11_2] = 0;
    FHEAP[_scevgep12_2] = 0;
    FHEAP[_scevgep13_2] = 0;
    IHEAP[_scevgep14_2] = 0;
    var _scevgep_3 = _this+4+828+108;
    var _scevgep6_3 = _this+4+828+112;
    var _scevgep7_3 = _this+4+828+116;
    var _scevgep8_3 = _this+4+828+120;
    var _scevgep9_3 = _this+4+828+124;
    var _scevgep10_3 = _this+4+828+128;
    var _scevgep11_3 = _this+4+828+132;
    var _scevgep12_3 = _this+4+828+136;
    var _scevgep13_3 = _this+4+828+140;
    var _scevgep14_3 = _this+4+828+144;
    IHEAP[_scevgep_3] = 0;
    FHEAP[_scevgep6_3] = 0;
    IHEAP[_scevgep7_3] = 0;
    FHEAP[_scevgep8_3] = 0;
    FHEAP[_scevgep9_3] = 0;
    FHEAP[_scevgep10_3] = 0;
    FHEAP[_scevgep11_3] = 0;
    FHEAP[_scevgep12_3] = 0;
    FHEAP[_scevgep13_3] = 0;
    IHEAP[_scevgep14_3] = 0;
    var _1 = _this+1108;
    IHEAP[_1] = 0;
    var _2 = _this+1112;
    IHEAP[_2] = 0;
    var _3 = _this+1116;
    IHEAP[_3] = 0;
    var _4 = _this+1136;
    IHEAP[_4] = 0;
    ;
    return;
  }
  __ZN20btPersistentManifoldC2Ev.__index__ = Runtime.getFunctionIndex(__ZN20btPersistentManifoldC2Ev, "__ZN20btPersistentManifoldC2Ev");
  
  
  function __ZN20btPersistentManifoldC1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = 1;
    var _scevgep = _this+4+108;
    var _scevgep6 = _this+4+112;
    var _scevgep7 = _this+4+116;
    var _scevgep8 = _this+4+120;
    var _scevgep9 = _this+4+124;
    var _scevgep10 = _this+4+128;
    var _scevgep11 = _this+4+132;
    var _scevgep12 = _this+4+136;
    var _scevgep13 = _this+4+140;
    var _scevgep14 = _this+4+144;
    IHEAP[_scevgep] = 0;
    FHEAP[_scevgep6] = 0;
    IHEAP[_scevgep7] = 0;
    FHEAP[_scevgep8] = 0;
    FHEAP[_scevgep9] = 0;
    FHEAP[_scevgep10] = 0;
    FHEAP[_scevgep11] = 0;
    FHEAP[_scevgep12] = 0;
    FHEAP[_scevgep13] = 0;
    IHEAP[_scevgep14] = 0;
    var _scevgep_1 = _this+4+276+108;
    var _scevgep6_1 = _this+4+276+112;
    var _scevgep7_1 = _this+4+276+116;
    var _scevgep8_1 = _this+4+276+120;
    var _scevgep9_1 = _this+4+276+124;
    var _scevgep10_1 = _this+4+276+128;
    var _scevgep11_1 = _this+4+276+132;
    var _scevgep12_1 = _this+4+276+136;
    var _scevgep13_1 = _this+4+276+140;
    var _scevgep14_1 = _this+4+276+144;
    IHEAP[_scevgep_1] = 0;
    FHEAP[_scevgep6_1] = 0;
    IHEAP[_scevgep7_1] = 0;
    FHEAP[_scevgep8_1] = 0;
    FHEAP[_scevgep9_1] = 0;
    FHEAP[_scevgep10_1] = 0;
    FHEAP[_scevgep11_1] = 0;
    FHEAP[_scevgep12_1] = 0;
    FHEAP[_scevgep13_1] = 0;
    IHEAP[_scevgep14_1] = 0;
    var _scevgep_2 = _this+4+552+108;
    var _scevgep6_2 = _this+4+552+112;
    var _scevgep7_2 = _this+4+552+116;
    var _scevgep8_2 = _this+4+552+120;
    var _scevgep9_2 = _this+4+552+124;
    var _scevgep10_2 = _this+4+552+128;
    var _scevgep11_2 = _this+4+552+132;
    var _scevgep12_2 = _this+4+552+136;
    var _scevgep13_2 = _this+4+552+140;
    var _scevgep14_2 = _this+4+552+144;
    IHEAP[_scevgep_2] = 0;
    FHEAP[_scevgep6_2] = 0;
    IHEAP[_scevgep7_2] = 0;
    FHEAP[_scevgep8_2] = 0;
    FHEAP[_scevgep9_2] = 0;
    FHEAP[_scevgep10_2] = 0;
    FHEAP[_scevgep11_2] = 0;
    FHEAP[_scevgep12_2] = 0;
    FHEAP[_scevgep13_2] = 0;
    IHEAP[_scevgep14_2] = 0;
    var _scevgep_3 = _this+4+828+108;
    var _scevgep6_3 = _this+4+828+112;
    var _scevgep7_3 = _this+4+828+116;
    var _scevgep8_3 = _this+4+828+120;
    var _scevgep9_3 = _this+4+828+124;
    var _scevgep10_3 = _this+4+828+128;
    var _scevgep11_3 = _this+4+828+132;
    var _scevgep12_3 = _this+4+828+136;
    var _scevgep13_3 = _this+4+828+140;
    var _scevgep14_3 = _this+4+828+144;
    IHEAP[_scevgep_3] = 0;
    FHEAP[_scevgep6_3] = 0;
    IHEAP[_scevgep7_3] = 0;
    FHEAP[_scevgep8_3] = 0;
    FHEAP[_scevgep9_3] = 0;
    FHEAP[_scevgep10_3] = 0;
    FHEAP[_scevgep11_3] = 0;
    FHEAP[_scevgep12_3] = 0;
    FHEAP[_scevgep13_3] = 0;
    IHEAP[_scevgep14_3] = 0;
    var _1 = _this+1108;
    IHEAP[_1] = 0;
    var _2 = _this+1112;
    IHEAP[_2] = 0;
    var _3 = _this+1116;
    IHEAP[_3] = 0;
    var _4 = _this+1136;
    IHEAP[_4] = 0;
    ;
    return;
  }
  __ZN20btPersistentManifoldC1Ev.__index__ = Runtime.getFunctionIndex(__ZN20btPersistentManifoldC1Ev, "__ZN20btPersistentManifoldC1Ev");
  
  
  function __ZNK20btPersistentManifold27getContactBreakingThresholdEv(_this) {
    ;
    var __label__;
    var _0 = _this+1120;
    var _1 = FHEAP[_0];
    ;
    return _1;
  }
  __ZNK20btPersistentManifold27getContactBreakingThresholdEv.__index__ = Runtime.getFunctionIndex(__ZNK20btPersistentManifold27getContactBreakingThresholdEv, "__ZNK20btPersistentManifold27getContactBreakingThresholdEv");
  
  
  function __ZNK20btPersistentManifold13getCacheEntryERK15btManifoldPoint(_this, _newPoint) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+1120;
    var _1 = FHEAP[_0];
    var _2 = _this+1116;
    var _3 = IHEAP[_2];
    var _4 = _3 > 0;
    ;
    _bb_nph$_bb4$13942: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 * _1;
        var _6 = _newPoint+8;
        var _7 = FHEAP[_6];
        var _8 = _newPoint+4;
        var _9 = FHEAP[_8];
        var _10 = _newPoint;
        var _11 = FHEAP[_10];
        __lastLabel__ = 130; ;
        _bb$13944: while(1) { // _bb
          var _12 = __lastLabel__ == 130 ? 0 : (_25);
          var _nearestPoint_110 = __lastLabel__ == 130 ? -1 : (_nearestPoint_0);
          var _shortestDist_19 = __lastLabel__ == 130 ? _5 : (_shortestDist_0);
          var _scevgep = _this+4+_12*276+8;
          var _scevgep12 = _this+4+_12*276+4;
          var _scevgep1314 = _this+4+_12*276;
          var _13 = FHEAP[_scevgep];
          var _14 = _13 - _7;
          var _15 = FHEAP[_scevgep12];
          var _16 = _15 - _9;
          var _17 = FHEAP[_scevgep1314];
          var _18 = _17 - _11;
          var _19 = _18 * _18;
          var _20 = _16 * _16;
          var _21 = _19 + _20;
          var _22 = _14 * _14;
          var _23 = _21 + _22;
          var _24 = _23 < _shortestDist_19;
          var _nearestPoint_0 = _24 ? _12 : _nearestPoint_110;
          var _25 = _12 + 1;
          var _shortestDist_0 = _24 ? _23 : _shortestDist_19;
          var _exitcond = _25 == _3;
          if (_exitcond) { __lastLabel__ = 60; __label__ = 61; /* _bb4 */ break _bb_nph$_bb4$13942; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$13944; }
        }
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _nearestPoint_1_lcssa = __lastLabel__ == -1 ? -1 : (_nearestPoint_0);
    ;
    return _nearestPoint_1_lcssa;
  }
  __ZNK20btPersistentManifold13getCacheEntryERK15btManifoldPoint.__index__ = Runtime.getFunctionIndex(__ZNK20btPersistentManifold13getCacheEntryERK15btManifoldPoint, "__ZNK20btPersistentManifold13getCacheEntryERK15btManifoldPoint");
  
  
  function __ZN25btTriangleRaycastCallbackC2ERK9btVector3S2_j(_this, _from, _to, _flags) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btTriangleRaycastCallback+8;
    var _1 = _this+4;
    var _2 = _from;
    var _3 = FHEAP[_2];
    FHEAP[_1] = _3;
    var _4 = _this+4+4;
    var _5 = _from+4;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _this+4+8;
    var _8 = _from+8;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _this+4+12;
    var _11 = _from+12;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _this+20;
    var _14 = _to;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    var _16 = _this+20+4;
    var _17 = _to+4;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _this+20+8;
    var _20 = _to+8;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _this+20+12;
    var _23 = _to+12;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    var _25 = _this+36;
    IHEAP[_25] = _flags;
    var _26 = _this+40;
    FHEAP[_26] = 1;
    ;
    return;
  }
  __ZN25btTriangleRaycastCallbackC2ERK9btVector3S2_j.__index__ = Runtime.getFunctionIndex(__ZN25btTriangleRaycastCallbackC2ERK9btVector3S2_j, "__ZN25btTriangleRaycastCallbackC2ERK9btVector3S2_j");
  
  
  function __ZN25btTriangleRaycastCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btTriangleRaycastCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    ;
    return;
  }
  __ZN25btTriangleRaycastCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN25btTriangleRaycastCallbackD1Ev, "__ZN25btTriangleRaycastCallbackD1Ev");
  
  
  function __ZN25btTriangleRaycastCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btTriangleRaycastCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZN25btTriangleRaycastCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN25btTriangleRaycastCallbackD0Ev, "__ZN25btTriangleRaycastCallbackD0Ev");
  
  
  function __ZN25btTriangleRaycastCallbackC1ERK9btVector3S2_j(_this, _from, _to, _flags) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btTriangleRaycastCallback+8;
    var _1 = _this+4;
    var _2 = _from;
    var _3 = FHEAP[_2];
    FHEAP[_1] = _3;
    var _4 = _this+4+4;
    var _5 = _from+4;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _this+4+8;
    var _8 = _from+8;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _this+4+12;
    var _11 = _from+12;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _this+20;
    var _14 = _to;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    var _16 = _this+20+4;
    var _17 = _to+4;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _this+20+8;
    var _20 = _to+8;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _this+20+12;
    var _23 = _to+12;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    var _25 = _this+36;
    IHEAP[_25] = _flags;
    var _26 = _this+40;
    FHEAP[_26] = 1;
    ;
    return;
  }
  __ZN25btTriangleRaycastCallbackC1ERK9btVector3S2_j.__index__ = Runtime.getFunctionIndex(__ZN25btTriangleRaycastCallbackC1ERK9btVector3S2_j, "__ZN25btTriangleRaycastCallbackC1ERK9btVector3S2_j");
  
  
  function __ZN28btTriangleConvexcastCallbackC2EPK13btConvexShapeRK11btTransformS5_S5_f(_this, _convexShape, _convexShapeFrom, _convexShapeTo, _triangleToWorld, _triangleCollisionMargin) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btTriangleConvexcastCallback+8;
    var _1 = _this+4;
    IHEAP[_1] = _convexShape;
    var _2 = _this+8;
    var _3 = _convexShapeFrom;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _this+8+4;
    var _6 = _convexShapeFrom+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _this+8+8;
    var _9 = _convexShapeFrom+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _this+8+12;
    var _12 = _convexShapeFrom+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _this+8+16;
    var _15 = _convexShapeFrom+16;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _this+8+16+4;
    var _18 = _convexShapeFrom+16+4;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _this+8+16+8;
    var _21 = _convexShapeFrom+16+8;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _this+8+16+12;
    var _24 = _convexShapeFrom+16+12;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _this+8+32;
    var _27 = _convexShapeFrom+32;
    var _28 = FHEAP[_27];
    FHEAP[_26] = _28;
    var _29 = _this+8+32+4;
    var _30 = _convexShapeFrom+32+4;
    var _31 = FHEAP[_30];
    FHEAP[_29] = _31;
    var _32 = _this+8+32+8;
    var _33 = _convexShapeFrom+32+8;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _this+8+32+12;
    var _36 = _convexShapeFrom+32+12;
    var _37 = FHEAP[_36];
    FHEAP[_35] = _37;
    var _38 = _this+8+48;
    var _39 = _convexShapeFrom+48;
    var _40 = FHEAP[_39];
    FHEAP[_38] = _40;
    var _41 = _this+8+48+4;
    var _42 = _convexShapeFrom+48+4;
    var _43 = FHEAP[_42];
    FHEAP[_41] = _43;
    var _44 = _this+8+48+8;
    var _45 = _convexShapeFrom+48+8;
    var _46 = FHEAP[_45];
    FHEAP[_44] = _46;
    var _47 = _this+8+48+12;
    var _48 = _convexShapeFrom+48+12;
    var _49 = FHEAP[_48];
    FHEAP[_47] = _49;
    var _50 = _this+72;
    var _51 = _convexShapeTo;
    var _52 = FHEAP[_51];
    FHEAP[_50] = _52;
    var _53 = _this+72+4;
    var _54 = _convexShapeTo+4;
    var _55 = FHEAP[_54];
    FHEAP[_53] = _55;
    var _56 = _this+72+8;
    var _57 = _convexShapeTo+8;
    var _58 = FHEAP[_57];
    FHEAP[_56] = _58;
    var _59 = _this+72+12;
    var _60 = _convexShapeTo+12;
    var _61 = FHEAP[_60];
    FHEAP[_59] = _61;
    var _62 = _this+72+16;
    var _63 = _convexShapeTo+16;
    var _64 = FHEAP[_63];
    FHEAP[_62] = _64;
    var _65 = _this+72+16+4;
    var _66 = _convexShapeTo+16+4;
    var _67 = FHEAP[_66];
    FHEAP[_65] = _67;
    var _68 = _this+72+16+8;
    var _69 = _convexShapeTo+16+8;
    var _70 = FHEAP[_69];
    FHEAP[_68] = _70;
    var _71 = _this+72+16+12;
    var _72 = _convexShapeTo+16+12;
    var _73 = FHEAP[_72];
    FHEAP[_71] = _73;
    var _74 = _this+72+32;
    var _75 = _convexShapeTo+32;
    var _76 = FHEAP[_75];
    FHEAP[_74] = _76;
    var _77 = _this+72+32+4;
    var _78 = _convexShapeTo+32+4;
    var _79 = FHEAP[_78];
    FHEAP[_77] = _79;
    var _80 = _this+72+32+8;
    var _81 = _convexShapeTo+32+8;
    var _82 = FHEAP[_81];
    FHEAP[_80] = _82;
    var _83 = _this+72+32+12;
    var _84 = _convexShapeTo+32+12;
    var _85 = FHEAP[_84];
    FHEAP[_83] = _85;
    var _86 = _this+72+48;
    var _87 = _convexShapeTo+48;
    var _88 = FHEAP[_87];
    FHEAP[_86] = _88;
    var _89 = _this+72+48+4;
    var _90 = _convexShapeTo+48+4;
    var _91 = FHEAP[_90];
    FHEAP[_89] = _91;
    var _92 = _this+72+48+8;
    var _93 = _convexShapeTo+48+8;
    var _94 = FHEAP[_93];
    FHEAP[_92] = _94;
    var _95 = _this+72+48+12;
    var _96 = _convexShapeTo+48+12;
    var _97 = FHEAP[_96];
    FHEAP[_95] = _97;
    var _98 = _this+136;
    var _99 = _triangleToWorld;
    var _100 = FHEAP[_99];
    FHEAP[_98] = _100;
    var _101 = _this+136+4;
    var _102 = _triangleToWorld+4;
    var _103 = FHEAP[_102];
    FHEAP[_101] = _103;
    var _104 = _this+136+8;
    var _105 = _triangleToWorld+8;
    var _106 = FHEAP[_105];
    FHEAP[_104] = _106;
    var _107 = _this+136+12;
    var _108 = _triangleToWorld+12;
    var _109 = FHEAP[_108];
    FHEAP[_107] = _109;
    var _110 = _this+136+16;
    var _111 = _triangleToWorld+16;
    var _112 = FHEAP[_111];
    FHEAP[_110] = _112;
    var _113 = _this+136+16+4;
    var _114 = _triangleToWorld+16+4;
    var _115 = FHEAP[_114];
    FHEAP[_113] = _115;
    var _116 = _this+136+16+8;
    var _117 = _triangleToWorld+16+8;
    var _118 = FHEAP[_117];
    FHEAP[_116] = _118;
    var _119 = _this+136+16+12;
    var _120 = _triangleToWorld+16+12;
    var _121 = FHEAP[_120];
    FHEAP[_119] = _121;
    var _122 = _this+136+32;
    var _123 = _triangleToWorld+32;
    var _124 = FHEAP[_123];
    FHEAP[_122] = _124;
    var _125 = _this+136+32+4;
    var _126 = _triangleToWorld+32+4;
    var _127 = FHEAP[_126];
    FHEAP[_125] = _127;
    var _128 = _this+136+32+8;
    var _129 = _triangleToWorld+32+8;
    var _130 = FHEAP[_129];
    FHEAP[_128] = _130;
    var _131 = _this+136+32+12;
    var _132 = _triangleToWorld+32+12;
    var _133 = FHEAP[_132];
    FHEAP[_131] = _133;
    var _134 = _this+136+48;
    var _135 = _triangleToWorld+48;
    var _136 = FHEAP[_135];
    FHEAP[_134] = _136;
    var _137 = _this+136+48+4;
    var _138 = _triangleToWorld+48+4;
    var _139 = FHEAP[_138];
    FHEAP[_137] = _139;
    var _140 = _this+136+48+8;
    var _141 = _triangleToWorld+48+8;
    var _142 = FHEAP[_141];
    FHEAP[_140] = _142;
    var _143 = _this+136+48+12;
    var _144 = _triangleToWorld+48+12;
    var _145 = FHEAP[_144];
    FHEAP[_143] = _145;
    var _146 = _this+200;
    FHEAP[_146] = 1;
    var _147 = _this+204;
    FHEAP[_147] = _triangleCollisionMargin;
    ;
    return;
  }
  __ZN28btTriangleConvexcastCallbackC2EPK13btConvexShapeRK11btTransformS5_S5_f.__index__ = Runtime.getFunctionIndex(__ZN28btTriangleConvexcastCallbackC2EPK13btConvexShapeRK11btTransformS5_S5_f, "__ZN28btTriangleConvexcastCallbackC2EPK13btConvexShapeRK11btTransformS5_S5_f");
  
  
  function __ZN28btTriangleConvexcastCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btTriangleConvexcastCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    ;
    return;
  }
  __ZN28btTriangleConvexcastCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN28btTriangleConvexcastCallbackD1Ev, "__ZN28btTriangleConvexcastCallbackD1Ev");
  
  
  function __ZN28btTriangleConvexcastCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btTriangleConvexcastCallback+8;
    var _1 = _this;
    __ZN18btTriangleCallbackD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZN28btTriangleConvexcastCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN28btTriangleConvexcastCallbackD0Ev, "__ZN28btTriangleConvexcastCallbackD0Ev");
  
  
  function __ZN22btSubsimplexConvexCastC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolver(_this, _convexA, _convexB, _simplexSolver) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV22btSubsimplexConvexCast+8;
    var _1 = _this+4;
    IHEAP[_1] = _simplexSolver;
    var _2 = _this+8;
    IHEAP[_2] = _convexA;
    var _3 = _this+12;
    IHEAP[_3] = _convexB;
    ;
    return;
  }
  __ZN22btSubsimplexConvexCastC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolver.__index__ = Runtime.getFunctionIndex(__ZN22btSubsimplexConvexCastC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolver, "__ZN22btSubsimplexConvexCastC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolver");
  
  
  function __ZN22btSubsimplexConvexCastD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV22btSubsimplexConvexCast+8;
    var _1 = _this;
    __ZN12btConvexCastD2Ev(_1);
    ;
    return;
  }
  __ZN22btSubsimplexConvexCastD1Ev.__index__ = Runtime.getFunctionIndex(__ZN22btSubsimplexConvexCastD1Ev, "__ZN22btSubsimplexConvexCastD1Ev");
  
  
  function __ZN22btSubsimplexConvexCastD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV22btSubsimplexConvexCast+8;
    var _1 = _this;
    __ZN12btConvexCastD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZN22btSubsimplexConvexCastD0Ev.__index__ = Runtime.getFunctionIndex(__ZN22btSubsimplexConvexCastD0Ev, "__ZN22btSubsimplexConvexCastD0Ev");
  
  
  function __ZN22btSubsimplexConvexCastC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolver(_this, _convexA, _convexB, _simplexSolver) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV22btSubsimplexConvexCast+8;
    var _1 = _this+4;
    IHEAP[_1] = _simplexSolver;
    var _2 = _this+8;
    IHEAP[_2] = _convexA;
    var _3 = _this+12;
    IHEAP[_3] = _convexB;
    ;
    return;
  }
  __ZN22btSubsimplexConvexCastC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolver.__index__ = Runtime.getFunctionIndex(__ZN22btSubsimplexConvexCastC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolver, "__ZN22btSubsimplexConvexCastC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolver");
  
  
  function __ZN22btVoronoiSimplexSolver12removeVertexEi(_this, _index) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 + -1;
    IHEAP[_0] = _2;
    var _3 = _this+4+_index*16;
    var _4 = _this+4+_2*16;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+4+_index*16+4;
    var _7 = _this+4+_2*16+4;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+4+_index*16+8;
    var _10 = _this+4+_2*16+8;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _this+4+_index*16+12;
    var _13 = _this+4+_2*16+12;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = IHEAP[_0];
    var _16 = _this+84+_index*16;
    var _17 = _this+84+_15*16;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _this+84+_index*16+4;
    var _20 = _this+84+_15*16+4;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _this+84+_index*16+8;
    var _23 = _this+84+_15*16+8;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    var _25 = _this+84+_index*16+12;
    var _26 = _this+84+_15*16+12;
    var _27 = FHEAP[_26];
    FHEAP[_25] = _27;
    var _28 = IHEAP[_0];
    var _29 = _this+164+_index*16;
    var _30 = _this+164+_28*16;
    var _31 = FHEAP[_30];
    FHEAP[_29] = _31;
    var _32 = _this+164+_index*16+4;
    var _33 = _this+164+_28*16+4;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _this+164+_index*16+8;
    var _36 = _this+164+_28*16+8;
    var _37 = FHEAP[_36];
    FHEAP[_35] = _37;
    var _38 = _this+164+_index*16+12;
    var _39 = _this+164+_28*16+12;
    var _40 = FHEAP[_39];
    FHEAP[_38] = _40;
    ;
    return;
  }
  __ZN22btVoronoiSimplexSolver12removeVertexEi.__index__ = Runtime.getFunctionIndex(__ZN22btVoronoiSimplexSolver12removeVertexEi, "__ZN22btVoronoiSimplexSolver12removeVertexEi");
  
  
  function __ZN22btVoronoiSimplexSolver14reduceVerticesERK15btUsageBitfield(_this, _usedVerts) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 < 4;
    ;
    _bb5$_bb$14050: do { 
      if (_2) {
        ;
        var _43 = _1 < 3;
        if (_43) { __lastLabel__ = 82; ; } else { __lastLabel__ = 82; __label__ = 83; /* _bb6 */ break _bb5$_bb$14050; }
        var _85 = _1 < 2;
        if (_85) { __lastLabel__ = 3; ; } else { __lastLabel__ = 3; __label__ = 108; /* _bb13 */ break _bb5$_bb$14050; }
        var _127 = _1 < 1;
        if (_127) { __lastLabel__ = 64; __label__ = 5; /* _bb22 */ break _bb5$_bb$14050; } else { __lastLabel__ = 64; __label__ = 117; /* _bb20 */ break _bb5$_bb$14050; }
      }
      else {
        ;
        var _3 = _usedVerts;
        var _4 = IHEAP[_3];
        var _tmp = _4 & 8;
        var _5 = _tmp == 0;
        if (_5) { __lastLabel__ = 60; ; } else { __lastLabel__ = 60; __label__ = 83; /* _bb6 */ break _bb5$_bb$14050; }
        var _6 = _1 + -1;
        IHEAP[_0] = _6;
        var _7 = _this+4+48;
        var _8 = _this+4+_6*16;
        var _9 = FHEAP[_8];
        FHEAP[_7] = _9;
        var _10 = _this+4+48+4;
        var _11 = _this+4+_6*16+4;
        var _12 = FHEAP[_11];
        FHEAP[_10] = _12;
        var _13 = _this+4+48+8;
        var _14 = _this+4+_6*16+8;
        var _15 = FHEAP[_14];
        FHEAP[_13] = _15;
        var _16 = _this+4+48+12;
        var _17 = _this+4+_6*16+12;
        var _18 = FHEAP[_17];
        FHEAP[_16] = _18;
        var _19 = _this+84+48;
        var _20 = _this+84+_6*16;
        var _21 = FHEAP[_20];
        FHEAP[_19] = _21;
        var _22 = _this+84+48+4;
        var _23 = _this+84+_6*16+4;
        var _24 = FHEAP[_23];
        FHEAP[_22] = _24;
        var _25 = _this+84+48+8;
        var _26 = _this+84+_6*16+8;
        var _27 = FHEAP[_26];
        FHEAP[_25] = _27;
        var _28 = _this+84+48+12;
        var _29 = _this+84+_6*16+12;
        var _30 = FHEAP[_29];
        FHEAP[_28] = _30;
        var _31 = _this+164+48;
        var _32 = _this+164+_6*16;
        var _33 = FHEAP[_32];
        FHEAP[_31] = _33;
        var _34 = _this+164+48+4;
        var _35 = _this+164+_6*16+4;
        var _36 = FHEAP[_35];
        FHEAP[_34] = _36;
        var _37 = _this+164+48+8;
        var _38 = _this+164+_6*16+8;
        var _39 = FHEAP[_38];
        FHEAP[_37] = _39;
        var _40 = _this+164+48+12;
        var _41 = _this+164+_6*16+12;
        var _42 = FHEAP[_41];
        FHEAP[_40] = _42;
        __lastLabel__ = 61; __label__ = 83; /* _bb6 */ break _bb5$_bb$14050;
      }
    } while(0);
    _bb22$_bb20$_bb13$_bb6$14056: do { 
      if (__label__ == 83) {
        var _44 = __lastLabel__ == 82 ? _1 : (__lastLabel__ == 60 ? _1 : (_6));
        var _45 = _usedVerts;
        var _46 = IHEAP[_45];
        var _tmp27 = _46 & 4;
        var _47 = _tmp27 == 0;
        if (_47) { __lastLabel__ = 83; ; } else { __lastLabel__ = 83; __label__ = 108; /* _bb13 */ break _bb22$_bb20$_bb13$_bb6$14056; }
        var _48 = _44 + -1;
        IHEAP[_0] = _48;
        var _49 = _this+4+32;
        var _50 = _this+4+_48*16;
        var _51 = FHEAP[_50];
        FHEAP[_49] = _51;
        var _52 = _this+4+32+4;
        var _53 = _this+4+_48*16+4;
        var _54 = FHEAP[_53];
        FHEAP[_52] = _54;
        var _55 = _this+4+32+8;
        var _56 = _this+4+_48*16+8;
        var _57 = FHEAP[_56];
        FHEAP[_55] = _57;
        var _58 = _this+4+32+12;
        var _59 = _this+4+_48*16+12;
        var _60 = FHEAP[_59];
        FHEAP[_58] = _60;
        var _61 = _this+84+32;
        var _62 = _this+84+_48*16;
        var _63 = FHEAP[_62];
        FHEAP[_61] = _63;
        var _64 = _this+84+32+4;
        var _65 = _this+84+_48*16+4;
        var _66 = FHEAP[_65];
        FHEAP[_64] = _66;
        var _67 = _this+84+32+8;
        var _68 = _this+84+_48*16+8;
        var _69 = FHEAP[_68];
        FHEAP[_67] = _69;
        var _70 = _this+84+32+12;
        var _71 = _this+84+_48*16+12;
        var _72 = FHEAP[_71];
        FHEAP[_70] = _72;
        var _73 = _this+164+32;
        var _74 = _this+164+_48*16;
        var _75 = FHEAP[_74];
        FHEAP[_73] = _75;
        var _76 = _this+164+32+4;
        var _77 = _this+164+_48*16+4;
        var _78 = FHEAP[_77];
        FHEAP[_76] = _78;
        var _79 = _this+164+32+8;
        var _80 = _this+164+_48*16+8;
        var _81 = FHEAP[_80];
        FHEAP[_79] = _81;
        var _82 = _this+164+32+12;
        var _83 = _this+164+_48*16+12;
        var _84 = FHEAP[_83];
        FHEAP[_82] = _84;
        __lastLabel__ = 292; __label__ = 108; /* _bb13 */ break _bb22$_bb20$_bb13$_bb6$14056;
      }
    } while(0);
    _bb22$_bb20$_bb13$14059: do { 
      if (__label__ == 108) {
        var _86 = __lastLabel__ == 3 ? _1 : (__lastLabel__ == 83 ? _44 : (_48));
        var _87 = _usedVerts;
        var _88 = IHEAP[_87];
        var _tmp28 = _88 & 2;
        var _89 = _tmp28 == 0;
        if (_89) { __lastLabel__ = 108; ; } else { __lastLabel__ = 108; __label__ = 117; /* _bb20 */ break _bb22$_bb20$_bb13$14059; }
        var _90 = _86 + -1;
        IHEAP[_0] = _90;
        var _91 = _this+4+16;
        var _92 = _this+4+_90*16;
        var _93 = FHEAP[_92];
        FHEAP[_91] = _93;
        var _94 = _this+4+16+4;
        var _95 = _this+4+_90*16+4;
        var _96 = FHEAP[_95];
        FHEAP[_94] = _96;
        var _97 = _this+4+16+8;
        var _98 = _this+4+_90*16+8;
        var _99 = FHEAP[_98];
        FHEAP[_97] = _99;
        var _100 = _this+4+16+12;
        var _101 = _this+4+_90*16+12;
        var _102 = FHEAP[_101];
        FHEAP[_100] = _102;
        var _103 = _this+84+16;
        var _104 = _this+84+_90*16;
        var _105 = FHEAP[_104];
        FHEAP[_103] = _105;
        var _106 = _this+84+16+4;
        var _107 = _this+84+_90*16+4;
        var _108 = FHEAP[_107];
        FHEAP[_106] = _108;
        var _109 = _this+84+16+8;
        var _110 = _this+84+_90*16+8;
        var _111 = FHEAP[_110];
        FHEAP[_109] = _111;
        var _112 = _this+84+16+12;
        var _113 = _this+84+_90*16+12;
        var _114 = FHEAP[_113];
        FHEAP[_112] = _114;
        var _115 = _this+164+16;
        var _116 = _this+164+_90*16;
        var _117 = FHEAP[_116];
        FHEAP[_115] = _117;
        var _118 = _this+164+16+4;
        var _119 = _this+164+_90*16+4;
        var _120 = FHEAP[_119];
        FHEAP[_118] = _120;
        var _121 = _this+164+16+8;
        var _122 = _this+164+_90*16+8;
        var _123 = FHEAP[_122];
        FHEAP[_121] = _123;
        var _124 = _this+164+16+12;
        var _125 = _this+164+_90*16+12;
        var _126 = FHEAP[_125];
        FHEAP[_124] = _126;
        __lastLabel__ = 86; __label__ = 117; /* _bb20 */ break _bb22$_bb20$_bb13$14059;
      }
    } while(0);
    _bb22$_bb20$14062: do { 
      if (__label__ == 117) {
        var _128 = __lastLabel__ == 64 ? _1 : (__lastLabel__ == 108 ? _86 : (_90));
        var _129 = _usedVerts;
        var _130 = IHEAP[_129];
        var _tmp29 = _130 & 1;
        var _131 = _tmp29 == 0;
        if (!(_131)) { __label__ = 5; /* _bb22 */ break _bb22$_bb20$14062; }
        var _132 = _128 + -1;
        IHEAP[_0] = _132;
        var _133 = _this+4;
        var _134 = _this+4+_132*16;
        var _135 = FHEAP[_134];
        FHEAP[_133] = _135;
        var _136 = _this+4+4;
        var _137 = _this+4+_132*16+4;
        var _138 = FHEAP[_137];
        FHEAP[_136] = _138;
        var _139 = _this+4+8;
        var _140 = _this+4+_132*16+8;
        var _141 = FHEAP[_140];
        FHEAP[_139] = _141;
        var _142 = _this+4+12;
        var _143 = _this+4+_132*16+12;
        var _144 = FHEAP[_143];
        FHEAP[_142] = _144;
        var _145 = _this+84;
        var _146 = _this+84+_132*16;
        var _147 = FHEAP[_146];
        FHEAP[_145] = _147;
        var _148 = _this+84+4;
        var _149 = _this+84+_132*16+4;
        var _150 = FHEAP[_149];
        FHEAP[_148] = _150;
        var _151 = _this+84+8;
        var _152 = _this+84+_132*16+8;
        var _153 = FHEAP[_152];
        FHEAP[_151] = _153;
        var _154 = _this+84+12;
        var _155 = _this+84+_132*16+12;
        var _156 = FHEAP[_155];
        FHEAP[_154] = _156;
        var _157 = _this+164;
        var _158 = _this+164+_132*16;
        var _159 = FHEAP[_158];
        FHEAP[_157] = _159;
        var _160 = _this+164+4;
        var _161 = _this+164+_132*16+4;
        var _162 = FHEAP[_161];
        FHEAP[_160] = _162;
        var _163 = _this+164+8;
        var _164 = _this+164+_132*16+8;
        var _165 = FHEAP[_164];
        FHEAP[_163] = _165;
        var _166 = _this+164+12;
        var _167 = _this+164+_132*16+12;
        var _168 = FHEAP[_167];
        FHEAP[_166] = _168;
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __ZN22btVoronoiSimplexSolver14reduceVerticesERK15btUsageBitfield.__index__ = Runtime.getFunctionIndex(__ZN22btVoronoiSimplexSolver14reduceVerticesERK15btUsageBitfield, "__ZN22btVoronoiSimplexSolver14reduceVerticesERK15btUsageBitfield");
  
  
  function __ZN22btVoronoiSimplexSolver5resetEv(_this) {
    ;
    var __label__;
    var _0 = _this+312;
    IHEAP[_0] = 0;
    var _1 = _this;
    IHEAP[_1] = 0;
    var _2 = _this+356;
    IHEAP[_2] = 1;
    var _3 = _this+292;
    FHEAP[_3] = 999999984306749400;
    var _4 = _this+292+4;
    FHEAP[_4] = 999999984306749400;
    var _5 = _this+292+8;
    FHEAP[_5] = 999999984306749400;
    var _6 = _this+292+12;
    FHEAP[_6] = 0;
    var _7 = _this+316+36;
    IHEAP[_7] = 0;
    var _8 = _this+316+20;
    FHEAP[_8] = 0;
    var _9 = _this+316+20+4;
    FHEAP[_9] = 0;
    var _10 = _this+316+20+8;
    FHEAP[_10] = 0;
    var _11 = _this+316+20+12;
    FHEAP[_11] = 0;
    var _12 = _this+316+16;
    var _13 = IHEAP[_12];
    var _14 = _13 & -16;
    IHEAP[_12] = _14;
    ;
    return;
  }
  __ZN22btVoronoiSimplexSolver5resetEv.__index__ = Runtime.getFunctionIndex(__ZN22btVoronoiSimplexSolver5resetEv, "__ZN22btVoronoiSimplexSolver5resetEv");
  
  
  function __ZN22btVoronoiSimplexSolver9addVertexERK9btVector3S2_S2_(_this, _w, _p, _q) {
    ;
    var __label__;
    var _0 = _this+292;
    var _1 = _w;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _this+292+4;
    var _4 = _w+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+292+8;
    var _7 = _w+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+292+12;
    var _10 = _w+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _this+356;
    IHEAP[_12] = 1;
    var _13 = _this;
    var _14 = IHEAP[_13];
    var _15 = _this+4+_14*16;
    var _16 = FHEAP[_1];
    FHEAP[_15] = _16;
    var _17 = _this+4+_14*16+4;
    var _18 = FHEAP[_4];
    FHEAP[_17] = _18;
    var _19 = _this+4+_14*16+8;
    var _20 = FHEAP[_7];
    FHEAP[_19] = _20;
    var _21 = _this+4+_14*16+12;
    var _22 = FHEAP[_10];
    FHEAP[_21] = _22;
    var _23 = IHEAP[_13];
    var _24 = _this+84+_23*16;
    var _25 = _p;
    var _26 = FHEAP[_25];
    FHEAP[_24] = _26;
    var _27 = _this+84+_23*16+4;
    var _28 = _p+4;
    var _29 = FHEAP[_28];
    FHEAP[_27] = _29;
    var _30 = _this+84+_23*16+8;
    var _31 = _p+8;
    var _32 = FHEAP[_31];
    FHEAP[_30] = _32;
    var _33 = _this+84+_23*16+12;
    var _34 = _p+12;
    var _35 = FHEAP[_34];
    FHEAP[_33] = _35;
    var _36 = IHEAP[_13];
    var _37 = _this+164+_36*16;
    var _38 = _q;
    var _39 = FHEAP[_38];
    FHEAP[_37] = _39;
    var _40 = _this+164+_36*16+4;
    var _41 = _q+4;
    var _42 = FHEAP[_41];
    FHEAP[_40] = _42;
    var _43 = _this+164+_36*16+8;
    var _44 = _q+8;
    var _45 = FHEAP[_44];
    FHEAP[_43] = _45;
    var _46 = _this+164+_36*16+12;
    var _47 = _q+12;
    var _48 = FHEAP[_47];
    FHEAP[_46] = _48;
    var _49 = IHEAP[_13];
    var _50 = _49 + 1;
    IHEAP[_13] = _50;
    ;
    return;
  }
  __ZN22btVoronoiSimplexSolver9addVertexERK9btVector3S2_S2_.__index__ = Runtime.getFunctionIndex(__ZN22btVoronoiSimplexSolver9addVertexERK9btVector3S2_S2_, "__ZN22btVoronoiSimplexSolver9addVertexERK9btVector3S2_S2_");
  
  
  function __ZN22btVoronoiSimplexSolver9maxVertexEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    if (_2) { __lastLabel__ = -1; __label__ = 60; /* _bb */  } else { __lastLabel__ = -1; __label__ = 61; /* _bb4 */  }
    _bb$_bb4$14069: while(1) { // _bb,_bb4
      if (__label__ == 60) {
        var _maxV_17 = __lastLabel__ == 60 ? _maxV_0 : (0);
        var _i_06 = __lastLabel__ == 60 ? _12 : (0);
        var _scevgep8 = _this+4+_i_06*16;
        var _scevgep9 = _this+4+_i_06*16+4;
        var _scevgep10 = _this+4+_i_06*16+8;
        var _3 = FHEAP[_scevgep8];
        var _4 = _3 * _3;
        var _5 = FHEAP[_scevgep9];
        var _6 = _5 * _5;
        var _7 = _4 + _6;
        var _8 = FHEAP[_scevgep10];
        var _9 = _8 * _8;
        var _10 = _7 + _9;
        var _11 = _maxV_17 < _10;
        var _maxV_0 = _11 ? _10 : _maxV_17;
        var _12 = _i_06 + 1;
        var _exitcond = _12 == _1;
        if (_exitcond) { __lastLabel__ = 60; __label__ = 61; /* _bb4 */ continue _bb$_bb4$14069; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$_bb4$14069; }
      }
      else if (__label__ == 61) {
        var _maxV_1_lcssa = __lastLabel__ == -1 ? 0 : (_maxV_0);
        ;
        return _maxV_1_lcssa;
      }
    }
  }
  __ZN22btVoronoiSimplexSolver9maxVertexEv.__index__ = Runtime.getFunctionIndex(__ZN22btVoronoiSimplexSolver9maxVertexEv, "__ZN22btVoronoiSimplexSolver9maxVertexEv");
  
  
  function __ZNK22btVoronoiSimplexSolver10getSimplexEP9btVector3S1_S1_(_this, _pBuf, _qBuf, _yBuf) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    if (_2) { __lastLabel__ = -1; __label__ = 60; /* _bb */  } else { __lastLabel__ = -1; __label__ = 0; /* _bb2 */  }
    _bb$_bb2$14074: while(1) { // _bb,_bb2
      if (__label__ == 60) {
        var _i_04 = __lastLabel__ == 60 ? _15 : (0);
        var _scevgep5 = _yBuf+16*_i_04;
        var _scevgep67 = _this+4+_i_04*16;
        var _scevgep8 = _yBuf+16*_i_04+4;
        var _scevgep9 = _this+4+_i_04*16+4;
        var _scevgep10 = _yBuf+16*_i_04+8;
        var _scevgep11 = _this+4+_i_04*16+8;
        var _scevgep12 = _yBuf+16*_i_04+12;
        var _scevgep13 = _this+4+_i_04*16+12;
        var _scevgep1415 = _pBuf+16*_i_04;
        var _scevgep1617 = _this+84+_i_04*16;
        var _scevgep18 = _pBuf+16*_i_04+4;
        var _scevgep19 = _this+84+_i_04*16+4;
        var _scevgep20 = _pBuf+16*_i_04+8;
        var _scevgep21 = _this+84+_i_04*16+8;
        var _scevgep22 = _pBuf+16*_i_04+12;
        var _scevgep23 = _this+84+_i_04*16+12;
        var _scevgep2425 = _qBuf+16*_i_04;
        var _scevgep2627 = _this+164+_i_04*16;
        var _scevgep28 = _qBuf+16*_i_04+4;
        var _scevgep29 = _this+164+_i_04*16+4;
        var _scevgep30 = _qBuf+16*_i_04+8;
        var _scevgep31 = _this+164+_i_04*16+8;
        var _scevgep32 = _qBuf+16*_i_04+12;
        var _scevgep33 = _this+164+_i_04*16+12;
        var _3 = FHEAP[_scevgep67];
        FHEAP[_scevgep5] = _3;
        var _4 = FHEAP[_scevgep9];
        FHEAP[_scevgep8] = _4;
        var _5 = FHEAP[_scevgep11];
        FHEAP[_scevgep10] = _5;
        var _6 = FHEAP[_scevgep13];
        FHEAP[_scevgep12] = _6;
        var _7 = FHEAP[_scevgep1617];
        FHEAP[_scevgep1415] = _7;
        var _8 = FHEAP[_scevgep19];
        FHEAP[_scevgep18] = _8;
        var _9 = FHEAP[_scevgep21];
        FHEAP[_scevgep20] = _9;
        var _10 = FHEAP[_scevgep23];
        FHEAP[_scevgep22] = _10;
        var _11 = FHEAP[_scevgep2627];
        FHEAP[_scevgep2425] = _11;
        var _12 = FHEAP[_scevgep29];
        FHEAP[_scevgep28] = _12;
        var _13 = FHEAP[_scevgep31];
        FHEAP[_scevgep30] = _13;
        var _14 = FHEAP[_scevgep33];
        FHEAP[_scevgep32] = _14;
        var _15 = _i_04 + 1;
        var _16 = IHEAP[_0];
        var _17 = _16 > _15;
        if (_17) { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$_bb2$14074; } else { __lastLabel__ = 60; __label__ = 0; /* _bb2 */ continue _bb$_bb2$14074; }
      }
      else if (__label__ == 0) {
        var _18 = __lastLabel__ == -1 ? _1 : (_16);
        ;
        return _18;
      }
    }
  }
  __ZNK22btVoronoiSimplexSolver10getSimplexEP9btVector3S1_S1_.__index__ = Runtime.getFunctionIndex(__ZNK22btVoronoiSimplexSolver10getSimplexEP9btVector3S1_S1_, "__ZNK22btVoronoiSimplexSolver10getSimplexEP9btVector3S1_S1_");
  
  
  function __ZN22btVoronoiSimplexSolver9inSimplexERK9btVector3(_this, _w) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_bb4$14079: do { 
      if (_2) {
        __lastLabel__ = -1; ;
        var _3 = _w+8;
        var _4 = FHEAP[_3];
        var _5 = _w+4;
        var _6 = FHEAP[_5];
        var _7 = _w;
        var _8 = FHEAP[_7];
        var _9 = _this+308;
        var _10 = FHEAP[_9];
        __lastLabel__ = 130; ;
        _bb$14081: while(1) { // _bb
          var _i_013 = __lastLabel__ == 130 ? 0 : (_23);
          var _found_112 = __lastLabel__ == 130 ? 0 : (_found_0);
          var _scevgep = _this+4+_i_013*16+8;
          var _scevgep14 = _this+4+_i_013*16+4;
          var _scevgep1516 = _this+4+_i_013*16;
          var _11 = FHEAP[_scevgep];
          var _12 = _4 - _11;
          var _13 = FHEAP[_scevgep14];
          var _14 = _6 - _13;
          var _15 = FHEAP[_scevgep1516];
          var _16 = _8 - _15;
          var _17 = _16 * _16;
          var _18 = _14 * _14;
          var _19 = _17 + _18;
          var _20 = _12 * _12;
          var _21 = _19 + _20;
          var _22 = _21 > _10;
          var _found_0 = _22 ? _found_112 : 1;
          var _23 = _i_013 + 1;
          var _exitcond = _23 == _1;
          if (_exitcond) { __lastLabel__ = 60; __label__ = 61; /* _bb4 */ break _bb_nph$_bb4$14079; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$14081; }
        }
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _found_1_lcssa = __lastLabel__ == -1 ? 0 : (_found_0);
    var _24 = _w+12;
    var _25 = FHEAP[_24];
    var _26 = _this+292+12;
    var _27 = FHEAP[_26];
    var _28 = _25 != _27;
    ;
    __ZNK9btVector3eqERKS__exit$_bb_i$14084: do { 
      if (!_28) {
        ;
        var _29 = _w+8;
        var _30 = FHEAP[_29];
        var _31 = _this+292+8;
        var _32 = FHEAP[_31];
        var _33 = _30 != _32;
        if (_33) { __label__ = 2574; /* __ZNK9btVector3eqERKS__exit */ break __ZNK9btVector3eqERKS__exit$_bb_i$14084; }
        var _34 = _w+4;
        var _35 = FHEAP[_34];
        var _36 = _this+292+4;
        var _37 = FHEAP[_36];
        var _38 = _35 != _37;
        if (_38) { __label__ = 2574; /* __ZNK9btVector3eqERKS__exit */ break __ZNK9btVector3eqERKS__exit$_bb_i$14084; }
        var _39 = _w;
        var _40 = FHEAP[_39];
        var _41 = _this+292;
        var _42 = FHEAP[_41];
        var _phitmp = _40 != _42;
        var _phitmp11 = _phitmp ? _found_1_lcssa : 1;
        ;
        return _phitmp11;
      }
    } while(0);
    ;
    return _found_1_lcssa;
  }
  __ZN22btVoronoiSimplexSolver9inSimplexERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN22btVoronoiSimplexSolver9inSimplexERK9btVector3, "__ZN22btVoronoiSimplexSolver9inSimplexERK9btVector3");
  
  
  function __ZN22btVoronoiSimplexSolver14backup_closestER9btVector3(_this, _v) {
    ;
    var __label__;
    var _0 = _v;
    var _1 = _this+276;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _v+4;
    var _4 = _this+276+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _v+8;
    var _7 = _this+276+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _v+12;
    var _10 = _this+276+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    ;
    return;
  }
  __ZN22btVoronoiSimplexSolver14backup_closestER9btVector3.__index__ = Runtime.getFunctionIndex(__ZN22btVoronoiSimplexSolver14backup_closestER9btVector3, "__ZN22btVoronoiSimplexSolver14backup_closestER9btVector3");
  
  
  function __ZNK22btVoronoiSimplexSolver12emptySimplexEv(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    var _retval12 = _2;
    ;
    return _retval12;
  }
  __ZNK22btVoronoiSimplexSolver12emptySimplexEv.__index__ = Runtime.getFunctionIndex(__ZNK22btVoronoiSimplexSolver12emptySimplexEv, "__ZNK22btVoronoiSimplexSolver12emptySimplexEv");
  
  
  function __ZN22btVoronoiSimplexSolver22closestPtPointTriangleERK9btVector3S2_S2_S2_R25btSubSimplexClosestResult(_this, _p, _a, _b, _c, _result) {
    ;
    var __label__;
    var _0 = _result+16;
    var _1 = IHEAP[_0];
    var _2 = _1 & -16;
    IHEAP[_0] = _2;
    var _3 = _b+8;
    var _4 = FHEAP[_3];
    var _5 = _a+8;
    var _6 = FHEAP[_5];
    var _7 = _4 - _6;
    var _8 = _b+4;
    var _9 = FHEAP[_8];
    var _10 = _a+4;
    var _11 = FHEAP[_10];
    var _12 = _9 - _11;
    var _13 = _b;
    var _14 = FHEAP[_13];
    var _15 = _a;
    var _16 = FHEAP[_15];
    var _17 = _14 - _16;
    var _18 = _c+8;
    var _19 = FHEAP[_18];
    var _20 = _19 - _6;
    var _21 = _c+4;
    var _22 = FHEAP[_21];
    var _23 = _22 - _11;
    var _24 = _c;
    var _25 = FHEAP[_24];
    var _26 = _25 - _16;
    var _27 = _p+8;
    var _28 = FHEAP[_27];
    var _29 = _28 - _6;
    var _30 = _p+4;
    var _31 = FHEAP[_30];
    var _32 = _31 - _11;
    var _33 = _p;
    var _34 = FHEAP[_33];
    var _35 = _34 - _16;
    var _36 = _17 * _35;
    var _37 = _12 * _32;
    var _38 = _36 + _37;
    var _39 = _7 * _29;
    var _40 = _38 + _39;
    var _41 = _26 * _35;
    var _42 = _23 * _32;
    var _43 = _41 + _42;
    var _44 = _20 * _29;
    var _45 = _43 + _44;
    var _46 = _40 > 0;
    var _47 = _45 > 0;
    var _or_cond = _46 | _47;
    ;
    if (_or_cond) {
      ;
      var _61 = _28 - _4;
      var _62 = _31 - _9;
      var _63 = _34 - _14;
      var _64 = _17 * _63;
      var _65 = _12 * _62;
      var _66 = _64 + _65;
      var _67 = _7 * _61;
      var _68 = _66 + _67;
      var _69 = _26 * _63;
      var _70 = _23 * _62;
      var _71 = _69 + _70;
      var _72 = _20 * _61;
      var _73 = _71 + _72;
      var _74 = _68 < 0;
      var _75 = _73 > _68;
      var _or_cond32 = _74 | _75;
      ;
      if (_or_cond32) {
        ;
        var _89 = _40 * _73;
        var _90 = _68 * _45;
        var _91 = _89 - _90;
        var _92 = _91 > 0;
        var _93 = _40 < 0;
        var _or_cond33 = _92 | _93;
        var _94 = _68 > 0;
        var _or_cond34 = _or_cond33 | _94;
        ;
        if (_or_cond34) {
          ;
          var _113 = _28 - _19;
          var _114 = _31 - _22;
          var _115 = _34 - _25;
          var _116 = _17 * _115;
          var _117 = _12 * _114;
          var _118 = _116 + _117;
          var _119 = _7 * _113;
          var _120 = _118 + _119;
          var _121 = _26 * _115;
          var _122 = _23 * _114;
          var _123 = _121 + _122;
          var _124 = _20 * _113;
          var _125 = _123 + _124;
          var _126 = _125 < 0;
          var _127 = _120 > _125;
          var _or_cond35 = _126 | _127;
          ;
          if (_or_cond35) {
            ;
            var _141 = _120 * _45;
            var _142 = _40 * _125;
            var _143 = _141 - _142;
            var _144 = _143 > 0;
            var _145 = _45 < 0;
            var _or_cond36 = _144 | _145;
            var _146 = _125 > 0;
            var _or_cond37 = _or_cond36 | _146;
            ;
            if (_or_cond37) {
              ;
              var _165 = _68 * _125;
              var _166 = _120 * _73;
              var _167 = _165 - _166;
              var _168 = _167 > 0;
              var _169 = _73 - _68;
              var _170 = _169 < 0;
              var _or_cond39 = _168 | _170;
              ;
              _bb27$_bb22$14102: do { 
                if (!_or_cond39) {
                  ;
                  var _171 = _120 - _125;
                  var _172 = _171 < 0;
                  if (_172) { __label__ = 515; /* _bb27 */ break _bb27$_bb22$14102; }
                  var _173 = _169 + _171;
                  var _174 = _169 / _173;
                  var _175 = _19 - _4;
                  var _176 = _22 - _9;
                  var _177 = _25 - _14;
                  var _178 = _175 * _174;
                  var _179 = _176 * _174;
                  var _180 = _177 * _174;
                  var _181 = _4 + _178;
                  var _182 = _9 + _179;
                  var _183 = _14 + _180;
                  var _184 = _result;
                  FHEAP[_184] = _183;
                  var _185 = _result+4;
                  FHEAP[_185] = _182;
                  var _186 = _result+8;
                  FHEAP[_186] = _181;
                  var _187 = _result+12;
                  FHEAP[_187] = 0;
                  var _188 = _2 | 6;
                  IHEAP[_0] = _188;
                  var _189 = 1 - _174;
                  var _190 = _result+20;
                  FHEAP[_190] = 0;
                  var _191 = _result+20+4;
                  FHEAP[_191] = _189;
                  var _192 = _result+20+8;
                  FHEAP[_192] = _174;
                  var _193 = _result+20+12;
                  FHEAP[_193] = 0;
                  ;
                  return 1;
                }
              } while(0);
              var _194 = _167 + _143;
              var _195 = _194 + _91;
              var _196 = 1 / _195;
              var _197 = _143 * _196;
              var _198 = _91 * _196;
              var _199 = _20 * _198;
              var _200 = _23 * _198;
              var _201 = _26 * _198;
              var _202 = _7 * _197;
              var _203 = _12 * _197;
              var _204 = _17 * _197;
              var _205 = _6 + _202;
              var _206 = _11 + _203;
              var _207 = _16 + _204;
              var _208 = _205 + _199;
              var _209 = _206 + _200;
              var _210 = _207 + _201;
              var _211 = _result;
              FHEAP[_211] = _210;
              var _212 = _result+4;
              FHEAP[_212] = _209;
              var _213 = _result+8;
              FHEAP[_213] = _208;
              var _214 = _result+12;
              FHEAP[_214] = 0;
              var _215 = _2 | 7;
              IHEAP[_0] = _215;
              var _216 = 1 - _197;
              var _217 = _216 - _198;
              var _218 = _result+20;
              FHEAP[_218] = _217;
              var _219 = _result+20+4;
              FHEAP[_219] = _197;
              var _220 = _result+20+8;
              FHEAP[_220] = _198;
              var _221 = _result+20+12;
              FHEAP[_221] = 0;
              ;
              return 1;
            }
            else {
              ;
              var _147 = _45 - _125;
              var _148 = _45 / _147;
              var _149 = _20 * _148;
              var _150 = _23 * _148;
              var _151 = _26 * _148;
              var _152 = _6 + _149;
              var _153 = _11 + _150;
              var _154 = _16 + _151;
              var _155 = _result;
              FHEAP[_155] = _154;
              var _156 = _result+4;
              FHEAP[_156] = _153;
              var _157 = _result+8;
              FHEAP[_157] = _152;
              var _158 = _result+12;
              FHEAP[_158] = 0;
              var _159 = _2 | 5;
              IHEAP[_0] = _159;
              var _160 = 1 - _148;
              var _161 = _result+20;
              FHEAP[_161] = _160;
              var _162 = _result+20+4;
              FHEAP[_162] = 0;
              var _163 = _result+20+8;
              FHEAP[_163] = _148;
              var _164 = _result+20+12;
              FHEAP[_164] = 0;
              ;
              return 1;
            }
          }
          else {
            ;
            var _128 = _result;
            FHEAP[_128] = _25;
            var _129 = _result+4;
            var _130 = FHEAP[_21];
            FHEAP[_129] = _130;
            var _131 = _result+8;
            var _132 = FHEAP[_18];
            FHEAP[_131] = _132;
            var _133 = _result+12;
            var _134 = _c+12;
            var _135 = FHEAP[_134];
            FHEAP[_133] = _135;
            var _136 = _2 | 4;
            IHEAP[_0] = _136;
            var _137 = _result+20;
            FHEAP[_137] = 0;
            var _138 = _result+20+4;
            FHEAP[_138] = 0;
            var _139 = _result+20+8;
            FHEAP[_139] = 1;
            var _140 = _result+20+12;
            FHEAP[_140] = 0;
            ;
            return 1;
          }
        }
        else {
          ;
          var _95 = _40 - _68;
          var _96 = _40 / _95;
          var _97 = _7 * _96;
          var _98 = _12 * _96;
          var _99 = _17 * _96;
          var _100 = _6 + _97;
          var _101 = _11 + _98;
          var _102 = _16 + _99;
          var _103 = _result;
          FHEAP[_103] = _102;
          var _104 = _result+4;
          FHEAP[_104] = _101;
          var _105 = _result+8;
          FHEAP[_105] = _100;
          var _106 = _result+12;
          FHEAP[_106] = 0;
          var _107 = _2 | 3;
          IHEAP[_0] = _107;
          var _108 = 1 - _96;
          var _109 = _result+20;
          FHEAP[_109] = _108;
          var _110 = _result+20+4;
          FHEAP[_110] = _96;
          var _111 = _result+20+8;
          FHEAP[_111] = 0;
          var _112 = _result+20+12;
          FHEAP[_112] = 0;
          ;
          return 1;
        }
      }
      else {
        ;
        var _76 = _result;
        FHEAP[_76] = _14;
        var _77 = _result+4;
        var _78 = FHEAP[_8];
        FHEAP[_77] = _78;
        var _79 = _result+8;
        var _80 = FHEAP[_3];
        FHEAP[_79] = _80;
        var _81 = _result+12;
        var _82 = _b+12;
        var _83 = FHEAP[_82];
        FHEAP[_81] = _83;
        var _84 = _2 | 2;
        IHEAP[_0] = _84;
        var _85 = _result+20;
        FHEAP[_85] = 0;
        var _86 = _result+20+4;
        FHEAP[_86] = 1;
        var _87 = _result+20+8;
        FHEAP[_87] = 0;
        var _88 = _result+20+12;
        FHEAP[_88] = 0;
        ;
        return 1;
      }
    }
    else {
      ;
      var _48 = _result;
      FHEAP[_48] = _16;
      var _49 = _result+4;
      var _50 = FHEAP[_10];
      FHEAP[_49] = _50;
      var _51 = _result+8;
      var _52 = FHEAP[_5];
      FHEAP[_51] = _52;
      var _53 = _result+12;
      var _54 = _a+12;
      var _55 = FHEAP[_54];
      FHEAP[_53] = _55;
      var _56 = _2 | 1;
      IHEAP[_0] = _56;
      var _57 = _result+20;
      FHEAP[_57] = 1;
      var _58 = _result+20+4;
      FHEAP[_58] = 0;
      var _59 = _result+20+8;
      FHEAP[_59] = 0;
      var _60 = _result+20+12;
      FHEAP[_60] = 0;
      ;
      return 1;
    }
  }
  __ZN22btVoronoiSimplexSolver22closestPtPointTriangleERK9btVector3S2_S2_S2_R25btSubSimplexClosestResult.__index__ = Runtime.getFunctionIndex(__ZN22btVoronoiSimplexSolver22closestPtPointTriangleERK9btVector3S2_S2_S2_R25btSubSimplexClosestResult, "__ZN22btVoronoiSimplexSolver22closestPtPointTriangleERK9btVector3S2_S2_S2_R25btSubSimplexClosestResult");
  
  
  function __ZN22btVoronoiSimplexSolver19pointOutsideOfPlaneERK9btVector3S2_S2_S2_S2_(_this, _p, _a, _b, _c, _d) {
    ;
    var __label__;
    var _0 = _c+8;
    var _1 = FHEAP[_0];
    var _2 = _a+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _c+4;
    var _6 = FHEAP[_5];
    var _7 = _a+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _c;
    var _11 = FHEAP[_10];
    var _12 = _a;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _b+8;
    var _16 = FHEAP[_15];
    var _17 = _16 - _3;
    var _18 = _b+4;
    var _19 = FHEAP[_18];
    var _20 = _19 - _8;
    var _21 = _b;
    var _22 = FHEAP[_21];
    var _23 = _22 - _13;
    var _24 = _23 * _9;
    var _25 = _20 * _14;
    var _26 = _24 - _25;
    var _27 = _17 * _14;
    var _28 = _23 * _4;
    var _29 = _27 - _28;
    var _30 = _20 * _4;
    var _31 = _17 * _9;
    var _32 = _30 - _31;
    var _33 = _d+8;
    var _34 = FHEAP[_33];
    var _35 = _34 - _3;
    var _36 = _d+4;
    var _37 = FHEAP[_36];
    var _38 = _37 - _8;
    var _39 = _d;
    var _40 = FHEAP[_39];
    var _41 = _40 - _13;
    var _42 = _41 * _32;
    var _43 = _38 * _29;
    var _44 = _42 + _43;
    var _45 = _35 * _26;
    var _46 = _44 + _45;
    var _47 = _46 * _46;
    var _48 = _47 < 9.99999905104687e-9;
    ;
    if (_48) {
      ;
      ;
      return -1;
    }
    else {
      ;
      var _49 = _p;
      var _50 = _p+4;
      var _51 = FHEAP[_49];
      var _52 = FHEAP[_50];
      var _53 = _p+8;
      var _54 = _51 - _13;
      var _55 = _52 - _8;
      var _56 = FHEAP[_53];
      var _57 = _55 * _29;
      var _58 = _54 * _32;
      var _59 = _56 - _3;
      var _60 = _59 * _26;
      var _61 = _58 + _57;
      var _62 = _61 + _60;
      var _63 = _62 * _46;
      var _64 = _63 < 0;
      var _65 = _64;
      ;
      return _65;
    }
  }
  __ZN22btVoronoiSimplexSolver19pointOutsideOfPlaneERK9btVector3S2_S2_S2_S2_.__index__ = Runtime.getFunctionIndex(__ZN22btVoronoiSimplexSolver19pointOutsideOfPlaneERK9btVector3S2_S2_S2_S2_, "__ZN22btVoronoiSimplexSolver19pointOutsideOfPlaneERK9btVector3S2_S2_S2_S2_");
  
  
  function __ZN30btKinematicCharacterController26computeReflectionDirectionERK9btVector3S2_(_agg_result, _this, _direction, _normal) {
    ;
    var __label__;
    var _0 = _direction;
    var _1 = FHEAP[_0];
    var _2 = _normal;
    var _3 = FHEAP[_2];
    var _4 = _1 * _3;
    var _5 = _direction+4;
    var _6 = FHEAP[_5];
    var _7 = _normal+4;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _4 + _9;
    var _11 = _direction+8;
    var _12 = FHEAP[_11];
    var _13 = _normal+8;
    var _14 = FHEAP[_13];
    var _15 = _12 * _14;
    var _16 = _10 + _15;
    var _17 = _16 * 2;
    var _18 = _14 * _17;
    var _19 = _8 * _17;
    var _20 = _3 * _17;
    var _21 = _12 - _18;
    var _22 = _6 - _19;
    var _23 = _1 - _20;
    var _24 = _agg_result;
    FHEAP[_24] = _23;
    var _25 = _agg_result+4;
    FHEAP[_25] = _22;
    var _26 = _agg_result+8;
    FHEAP[_26] = _21;
    var _27 = _agg_result+12;
    FHEAP[_27] = 0;
    ;
    return;
  }
  __ZN30btKinematicCharacterController26computeReflectionDirectionERK9btVector3S2_.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController26computeReflectionDirectionERK9btVector3S2_, "__ZN30btKinematicCharacterController26computeReflectionDirectionERK9btVector3S2_");
  
  
  function __ZN16btCollisionWorld27ClosestConvexResultCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN16btCollisionWorld27ClosestConvexResultCallbackE+8;
    ;
    return;
  }
  __ZN16btCollisionWorld27ClosestConvexResultCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld27ClosestConvexResultCallbackD1Ev, "__ZN16btCollisionWorld27ClosestConvexResultCallbackD1Ev");
  
  
  function __ZN16btCollisionWorld27ClosestConvexResultCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN16btCollisionWorld27ClosestConvexResultCallbackE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN16btCollisionWorld27ClosestConvexResultCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld27ClosestConvexResultCallbackD0Ev, "__ZN16btCollisionWorld27ClosestConvexResultCallbackD0Ev");
  
  
  function __ZN16btCollisionWorld27ClosestConvexResultCallback15addSingleResultERNS_17LocalConvexResultEb(_this, _convexResult, _normalInWorldSpace) {
    ;
    var __label__;
    var _0 = _convexResult+40;
    var _1 = FHEAP[_0];
    var _2 = _this+4;
    FHEAP[_2] = _1;
    var _3 = _convexResult;
    var _4 = IHEAP[_3];
    var _5 = _this+76;
    IHEAP[_5] = _4;
    var _toBool = _normalInWorldSpace == 0;
    ;
    if (_toBool) {
      ;
      var _18 = _4+4+32;
      var _19 = FHEAP[_18];
      var _20 = _convexResult+8;
      var _21 = FHEAP[_20];
      var _22 = _19 * _21;
      var _23 = _4+4+32+4;
      var _24 = FHEAP[_23];
      var _25 = _convexResult+8+4;
      var _26 = FHEAP[_25];
      var _27 = _24 * _26;
      var _28 = _22 + _27;
      var _29 = _4+4+32+8;
      var _30 = FHEAP[_29];
      var _31 = _convexResult+8+8;
      var _32 = FHEAP[_31];
      var _33 = _30 * _32;
      var _34 = _28 + _33;
      var _35 = _4+4+16;
      var _36 = FHEAP[_35];
      var _37 = _36 * _21;
      var _38 = _4+4+16+4;
      var _39 = FHEAP[_38];
      var _40 = _39 * _26;
      var _41 = _37 + _40;
      var _42 = _4+4+16+8;
      var _43 = FHEAP[_42];
      var _44 = _43 * _32;
      var _45 = _41 + _44;
      var _46 = _4+4;
      var _47 = FHEAP[_46];
      var _48 = _47 * _21;
      var _49 = _4+4+4;
      var _50 = FHEAP[_49];
      var _51 = _50 * _26;
      var _52 = _48 + _51;
      var _53 = _4+4+8;
      var _54 = FHEAP[_53];
      var _55 = _54 * _32;
      var _56 = _52 + _55;
      var _57 = _this+44;
      FHEAP[_57] = _56;
      var _58 = _this+44+4;
      FHEAP[_58] = _45;
      var _59 = _this+44+8;
      FHEAP[_59] = _34;
      var _60 = _this+44+12;
      FHEAP[_60] = 0;
      ;
    }
    else {
      ;
      var _6 = _this+44;
      var _7 = _convexResult+8;
      var _8 = FHEAP[_7];
      FHEAP[_6] = _8;
      var _9 = _this+44+4;
      var _10 = _convexResult+8+4;
      var _11 = FHEAP[_10];
      FHEAP[_9] = _11;
      var _12 = _this+44+8;
      var _13 = _convexResult+8+8;
      var _14 = FHEAP[_13];
      FHEAP[_12] = _14;
      var _15 = _this+44+12;
      var _16 = _convexResult+8+12;
      var _17 = FHEAP[_16];
      FHEAP[_15] = _17;
      ;
    }
    var _61 = _this+60;
    var _62 = _convexResult+24;
    var _63 = FHEAP[_62];
    FHEAP[_61] = _63;
    var _64 = _this+60+4;
    var _65 = _convexResult+24+4;
    var _66 = FHEAP[_65];
    FHEAP[_64] = _66;
    var _67 = _this+60+8;
    var _68 = _convexResult+24+8;
    var _69 = FHEAP[_68];
    FHEAP[_67] = _69;
    var _70 = _this+60+12;
    var _71 = _convexResult+24+12;
    var _72 = FHEAP[_71];
    FHEAP[_70] = _72;
    var _73 = FHEAP[_0];
    ;
    return _73;
  }
  __ZN16btCollisionWorld27ClosestConvexResultCallback15addSingleResultERNS_17LocalConvexResultEb.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld27ClosestConvexResultCallback15addSingleResultERNS_17LocalConvexResultEb, "__ZN16btCollisionWorld27ClosestConvexResultCallback15addSingleResultERNS_17LocalConvexResultEb");
  
  
  function __ZN17btActionInterfaceD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17btActionInterface+8;
    ;
    return;
  }
  __ZN17btActionInterfaceD1Ev.__index__ = Runtime.getFunctionIndex(__ZN17btActionInterfaceD1Ev, "__ZN17btActionInterfaceD1Ev");
  
  
  function __ZN17btActionInterfaceD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17btActionInterface+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN17btActionInterfaceD0Ev.__index__ = Runtime.getFunctionIndex(__ZN17btActionInterfaceD0Ev, "__ZN17btActionInterfaceD0Ev");
  
  
  function __ZN30btCharacterControllerInterfaceD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV30btCharacterControllerInterface+8;
    ;
    return;
  }
  __ZN30btCharacterControllerInterfaceD1Ev.__index__ = Runtime.getFunctionIndex(__ZN30btCharacterControllerInterfaceD1Ev, "__ZN30btCharacterControllerInterfaceD1Ev");
  
  
  function __ZN30btCharacterControllerInterfaceD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV30btCharacterControllerInterface+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN30btCharacterControllerInterfaceD0Ev.__index__ = Runtime.getFunctionIndex(__ZN30btCharacterControllerInterfaceD0Ev, "__ZN30btCharacterControllerInterfaceD0Ev");
  
  
  function __ZN30btKinematicCharacterController12updateActionEP16btCollisionWorldf(_this, _collisionWorld, _deltaTime) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+32;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_this, _collisionWorld);
    var _5 = IHEAP[_0];
    var _6 = _5+36;
    var _7 = IHEAP[_6];
    var _8 = _7;
    FUNCTION_TABLE[_8](_this, _collisionWorld, _deltaTime);
    ;
    return;
  }
  __ZN30btKinematicCharacterController12updateActionEP16btCollisionWorldf.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController12updateActionEP16btCollisionWorldf, "__ZN30btKinematicCharacterController12updateActionEP16btCollisionWorldf");
  
  
  function __ZN43btKinematicClosestNotMeConvexResultCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN16btCollisionWorld27ClosestConvexResultCallbackE+8;
    ;
    return;
  }
  __ZN43btKinematicClosestNotMeConvexResultCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN43btKinematicClosestNotMeConvexResultCallbackD1Ev, "__ZN43btKinematicClosestNotMeConvexResultCallbackD1Ev");
  
  
  function __ZN43btKinematicClosestNotMeConvexResultCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN16btCollisionWorld27ClosestConvexResultCallbackE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN43btKinematicClosestNotMeConvexResultCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN43btKinematicClosestNotMeConvexResultCallbackD0Ev, "__ZN43btKinematicClosestNotMeConvexResultCallbackD0Ev");
  
  
  function __ZN43btKinematicClosestNotMeConvexResultCallback15addSingleResultERN16btCollisionWorld17LocalConvexResultEb(_this, _convexResult, _normalInWorldSpace) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _convexResult;
    var _1 = IHEAP[_0];
    var _2 = _this+80;
    var _3 = IHEAP[_2];
    var _4 = _1 == _3;
    ;
    _bb7$_bb1$14208: do { 
      if (!_4) {
        ;
        var _toBool = _normalInWorldSpace == 0;
        ;
        if (_toBool) {
          ;
          var _11 = _this+76;
          var _12 = IHEAP[_11];
          var _13 = _12+4+32;
          var _14 = FHEAP[_13];
          var _15 = _convexResult+8;
          var _16 = FHEAP[_15];
          var _17 = _14 * _16;
          var _18 = _12+4+32+4;
          var _19 = FHEAP[_18];
          var _20 = _convexResult+8+4;
          var _21 = FHEAP[_20];
          var _22 = _19 * _21;
          var _23 = _17 + _22;
          var _24 = _12+4+32+8;
          var _25 = FHEAP[_24];
          var _26 = _convexResult+8+8;
          var _27 = FHEAP[_26];
          var _28 = _25 * _27;
          var _29 = _23 + _28;
          var _30 = _12+4+16;
          var _31 = FHEAP[_30];
          var _32 = _31 * _16;
          var _33 = _12+4+16+4;
          var _34 = FHEAP[_33];
          var _35 = _34 * _21;
          var _36 = _32 + _35;
          var _37 = _12+4+16+8;
          var _38 = FHEAP[_37];
          var _39 = _38 * _27;
          var _40 = _36 + _39;
          var _41 = _12+4;
          var _42 = FHEAP[_41];
          var _43 = _42 * _16;
          var _44 = _12+4+4;
          var _45 = FHEAP[_44];
          var _46 = _45 * _21;
          var _47 = _43 + _46;
          var _48 = _12+4+8;
          var _49 = FHEAP[_48];
          var _50 = _49 * _27;
          var _51 = _47 + _50;
          __lastLabel__ = 116; ;
        }
        else {
          ;
          var _5 = _convexResult+8;
          var _6 = FHEAP[_5];
          var _7 = _convexResult+8+4;
          var _8 = FHEAP[_7];
          var _9 = _convexResult+8+8;
          var _10 = FHEAP[_9];
          __lastLabel__ = 0; ;
        }
        var _hitNormalWorld_0_2_0 = __lastLabel__ == 116 ? _29 : (_10);
        var _hitNormalWorld_0_1_0 = __lastLabel__ == 116 ? _40 : (_8);
        var _hitNormalWorld_0_0_0 = __lastLabel__ == 116 ? _51 : (_6);
        var _52 = _this+84;
        var _53 = FHEAP[_52];
        var _54 = _53 * _hitNormalWorld_0_0_0;
        var _55 = _this+84+4;
        var _56 = FHEAP[_55];
        var _57 = _56 * _hitNormalWorld_0_1_0;
        var _58 = _54 + _57;
        var _59 = _this+84+8;
        var _60 = FHEAP[_59];
        var _61 = _60 * _hitNormalWorld_0_2_0;
        var _62 = _58 + _61;
        var _63 = _this+100;
        var _64 = FHEAP[_63];
        var _65 = _64 > _62;
        if (_65) { __label__ = 2; /* _bb7 */ break _bb7$_bb1$14208; }
        var _66 = _convexResult+40;
        var _67 = FHEAP[_66];
        var _68 = _this+4;
        FHEAP[_68] = _67;
        var _69 = IHEAP[_0];
        var _70 = _this+76;
        IHEAP[_70] = _69;
        ;
        if (_toBool) {
          ;
          var _83 = _69+4+32;
          var _84 = FHEAP[_83];
          var _85 = _convexResult+8;
          var _86 = FHEAP[_85];
          var _87 = _84 * _86;
          var _88 = _69+4+32+4;
          var _89 = FHEAP[_88];
          var _90 = _convexResult+8+4;
          var _91 = FHEAP[_90];
          var _92 = _89 * _91;
          var _93 = _87 + _92;
          var _94 = _69+4+32+8;
          var _95 = FHEAP[_94];
          var _96 = _convexResult+8+8;
          var _97 = FHEAP[_96];
          var _98 = _95 * _97;
          var _99 = _93 + _98;
          var _100 = _69+4+16;
          var _101 = FHEAP[_100];
          var _102 = _101 * _86;
          var _103 = _69+4+16+4;
          var _104 = FHEAP[_103];
          var _105 = _104 * _91;
          var _106 = _102 + _105;
          var _107 = _69+4+16+8;
          var _108 = FHEAP[_107];
          var _109 = _108 * _97;
          var _110 = _106 + _109;
          var _111 = _69+4;
          var _112 = FHEAP[_111];
          var _113 = _112 * _86;
          var _114 = _69+4+4;
          var _115 = FHEAP[_114];
          var _116 = _115 * _91;
          var _117 = _113 + _116;
          var _118 = _69+4+8;
          var _119 = FHEAP[_118];
          var _120 = _119 * _97;
          var _121 = _117 + _120;
          var _122 = _this+44;
          FHEAP[_122] = _121;
          var _123 = _this+44+4;
          FHEAP[_123] = _110;
          var _124 = _this+44+8;
          FHEAP[_124] = _99;
          var _125 = _this+44+12;
          FHEAP[_125] = 0;
          ;
        }
        else {
          ;
          var _71 = _this+44;
          var _72 = _convexResult+8;
          var _73 = FHEAP[_72];
          FHEAP[_71] = _73;
          var _74 = _this+44+4;
          var _75 = _convexResult+8+4;
          var _76 = FHEAP[_75];
          FHEAP[_74] = _76;
          var _77 = _this+44+8;
          var _78 = _convexResult+8+8;
          var _79 = FHEAP[_78];
          FHEAP[_77] = _79;
          var _80 = _this+44+12;
          var _81 = _convexResult+8+12;
          var _82 = FHEAP[_81];
          FHEAP[_80] = _82;
          ;
        }
        var _126 = _this+60;
        var _127 = _convexResult+24;
        var _128 = FHEAP[_127];
        FHEAP[_126] = _128;
        var _129 = _this+60+4;
        var _130 = _convexResult+24+4;
        var _131 = FHEAP[_130];
        FHEAP[_129] = _131;
        var _132 = _this+60+8;
        var _133 = _convexResult+24+8;
        var _134 = FHEAP[_133];
        FHEAP[_132] = _134;
        var _135 = _this+60+12;
        var _136 = _convexResult+24+12;
        var _137 = FHEAP[_136];
        FHEAP[_135] = _137;
        var _138 = FHEAP[_66];
        ;
        return _138;
      }
    } while(0);
    ;
    return 1;
  }
  __ZN43btKinematicClosestNotMeConvexResultCallback15addSingleResultERN16btCollisionWorld17LocalConvexResultEb.__index__ = Runtime.getFunctionIndex(__ZN43btKinematicClosestNotMeConvexResultCallback15addSingleResultERN16btCollisionWorld17LocalConvexResultEb, "__ZN43btKinematicClosestNotMeConvexResultCallback15addSingleResultERN16btCollisionWorld17LocalConvexResultEb");
  
  
  function __ZN30btKinematicCharacterController17parallelComponentERK9btVector3S2_(_agg_result, _this, _direction, _normal) {
    ;
    var __label__;
    var _0 = _direction;
    var _1 = FHEAP[_0];
    var _2 = _normal;
    var _3 = FHEAP[_2];
    var _4 = _1 * _3;
    var _5 = _direction+4;
    var _6 = FHEAP[_5];
    var _7 = _normal+4;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _4 + _9;
    var _11 = _direction+8;
    var _12 = FHEAP[_11];
    var _13 = _normal+8;
    var _14 = FHEAP[_13];
    var _15 = _12 * _14;
    var _16 = _10 + _15;
    var _17 = _14 * _16;
    var _18 = _8 * _16;
    var _19 = _3 * _16;
    var _20 = _agg_result;
    FHEAP[_20] = _19;
    var _21 = _agg_result+4;
    FHEAP[_21] = _18;
    var _22 = _agg_result+8;
    FHEAP[_22] = _17;
    var _23 = _agg_result+12;
    FHEAP[_23] = 0;
    ;
    return;
  }
  __ZN30btKinematicCharacterController17parallelComponentERK9btVector3S2_.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController17parallelComponentERK9btVector3S2_, "__ZN30btKinematicCharacterController17parallelComponentERK9btVector3S2_");
  
  
  function __ZN30btKinematicCharacterController22perpindicularComponentERK9btVector3S2_(_agg_result, _this, _direction, _normal) {
    ;
    var __label__;
    var _0 = _direction;
    var _1 = FHEAP[_0];
    var _2 = _normal;
    var _3 = FHEAP[_2];
    var _4 = _1 * _3;
    var _5 = _direction+4;
    var _6 = FHEAP[_5];
    var _7 = _normal+4;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _4 + _9;
    var _11 = _direction+8;
    var _12 = FHEAP[_11];
    var _13 = _normal+8;
    var _14 = FHEAP[_13];
    var _15 = _12 * _14;
    var _16 = _10 + _15;
    var _17 = _14 * _16;
    var _18 = _8 * _16;
    var _19 = _3 * _16;
    var _20 = _12 - _17;
    var _21 = _6 - _18;
    var _22 = _1 - _19;
    var _23 = _agg_result;
    FHEAP[_23] = _22;
    var _24 = _agg_result+4;
    FHEAP[_24] = _21;
    var _25 = _agg_result+8;
    FHEAP[_25] = _20;
    var _26 = _agg_result+12;
    FHEAP[_26] = 0;
    ;
    return;
  }
  __ZN30btKinematicCharacterController22perpindicularComponentERK9btVector3S2_.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController22perpindicularComponentERK9btVector3S2_, "__ZN30btKinematicCharacterController22perpindicularComponentERK9btVector3S2_");
  
  
  function __ZN30btKinematicCharacterController14getGhostObjectEv(_this) {
    ;
    var __label__;
    var _0 = _this+8;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZN30btKinematicCharacterController14getGhostObjectEv.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController14getGhostObjectEv, "__ZN30btKinematicCharacterController14getGhostObjectEv");
  
  
  function __ZN30btKinematicCharacterController4warpERK9btVector3(_this, _origin) {
    ;
    var __label__;
    var _0 = _origin;
    var _1 = FHEAP[_0];
    var _2 = _origin+4;
    var _3 = FHEAP[_2];
    var _4 = _origin+8;
    var _5 = FHEAP[_4];
    var _6 = _origin+12;
    var _7 = FHEAP[_6];
    var _8 = _this+8;
    var _9 = IHEAP[_8];
    var _10 = _9+4;
    FHEAP[_10] = 1;
    var _11 = _9+4+4;
    FHEAP[_11] = 0;
    var _12 = _9+4+8;
    FHEAP[_12] = 0;
    var _13 = _9+4+12;
    FHEAP[_13] = 0;
    var _14 = _9+4+16;
    FHEAP[_14] = 0;
    var _15 = _9+4+16+4;
    FHEAP[_15] = 1;
    var _16 = _9+4+16+8;
    FHEAP[_16] = 0;
    var _17 = _9+4+16+12;
    FHEAP[_17] = 0;
    var _18 = _9+4+32;
    FHEAP[_18] = 0;
    var _19 = _9+4+32+4;
    FHEAP[_19] = 0;
    var _20 = _9+4+32+8;
    FHEAP[_20] = 1;
    var _21 = _9+4+32+12;
    FHEAP[_21] = 0;
    var _22 = _9+4+48;
    FHEAP[_22] = _1;
    var _23 = _9+4+48+4;
    FHEAP[_23] = _3;
    var _24 = _9+4+48+8;
    FHEAP[_24] = _5;
    var _25 = _9+4+48+12;
    FHEAP[_25] = _7;
    ;
    return;
  }
  __ZN30btKinematicCharacterController4warpERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController4warpERK9btVector3, "__ZN30btKinematicCharacterController4warpERK9btVector3");
  
  
  function __ZN30btKinematicCharacterController12setFallSpeedEf(_this, _fallSpeed) {
    ;
    var __label__;
    var _0 = _this+24;
    FHEAP[_0] = _fallSpeed;
    ;
    return;
  }
  __ZN30btKinematicCharacterController12setFallSpeedEf.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController12setFallSpeedEf, "__ZN30btKinematicCharacterController12setFallSpeedEf");
  
  
  function __ZN30btKinematicCharacterController12setJumpSpeedEf(_this, _jumpSpeed) {
    ;
    var __label__;
    var _0 = _this+28;
    FHEAP[_0] = _jumpSpeed;
    ;
    return;
  }
  __ZN30btKinematicCharacterController12setJumpSpeedEf.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController12setJumpSpeedEf, "__ZN30btKinematicCharacterController12setJumpSpeedEf");
  
  
  function __ZN30btKinematicCharacterController16setMaxJumpHeightEf(_this, _maxJumpHeight) {
    ;
    var __label__;
    var _0 = _this+32;
    FHEAP[_0] = _maxJumpHeight;
    ;
    return;
  }
  __ZN30btKinematicCharacterController16setMaxJumpHeightEf.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController16setMaxJumpHeightEf, "__ZN30btKinematicCharacterController16setMaxJumpHeightEf");
  
  
  function __ZN30btKinematicCharacterController10setGravityEf(_this, _gravity) {
    ;
    var __label__;
    var _0 = _this+44;
    FHEAP[_0] = _gravity;
    ;
    return;
  }
  __ZN30btKinematicCharacterController10setGravityEf.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController10setGravityEf, "__ZN30btKinematicCharacterController10setGravityEf");
  
  
  function __ZNK30btKinematicCharacterController10getGravityEv(_this) {
    ;
    var __label__;
    var _0 = _this+44;
    var _1 = FHEAP[_0];
    ;
    return _1;
  }
  __ZNK30btKinematicCharacterController10getGravityEv.__index__ = Runtime.getFunctionIndex(__ZNK30btKinematicCharacterController10getGravityEv, "__ZNK30btKinematicCharacterController10getGravityEv");
  
  
  function __ZNK30btKinematicCharacterController11getMaxSlopeEv(_this) {
    ;
    var __label__;
    var _0 = _this+36;
    var _1 = FHEAP[_0];
    ;
    return _1;
  }
  __ZNK30btKinematicCharacterController11getMaxSlopeEv.__index__ = Runtime.getFunctionIndex(__ZNK30btKinematicCharacterController11getMaxSlopeEv, "__ZNK30btKinematicCharacterController11getMaxSlopeEv");
  
  
  function __ZNK30btKinematicCharacterController8onGroundEv(_this) {
    ;
    var __label__;
    var _0 = _this+16;
    var _1 = FHEAP[_0];
    var _2 = _1 != 0;
    ;
    if (_2) {
      ;
      ;
      return 0;
    }
    else {
      ;
      var _3 = _this+20;
      var _4 = FHEAP[_3];
      var _not_ = _4 == 0;
      var _retval = _not_;
      ;
      return _retval;
    }
  }
  __ZNK30btKinematicCharacterController8onGroundEv.__index__ = Runtime.getFunctionIndex(__ZNK30btKinematicCharacterController8onGroundEv, "__ZNK30btKinematicCharacterController8onGroundEv");
  
  
  function __ZN30btKinematicCharacterControllerC2EP24btPairCachingGhostObjectP13btConvexShapefi(_this, _ghostObject, _convexShape, _stepHeight, _upAxis) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV30btKinematicCharacterController+8;
    var _1 = _this+128+16;
    IHEAP[_1] = 1;
    var _2 = _this+128+12;
    IHEAP[_2] = 0;
    var _3 = _this+128+4;
    IHEAP[_3] = 0;
    var _4 = _this+128+8;
    IHEAP[_4] = 0;
    var _5 = _this+176;
    IHEAP[_5] = _upAxis;
    var _6 = _this+56;
    FHEAP[_6] = 0.019999999552965164;
    var _7 = _this+60;
    FHEAP[_7] = 0;
    var _8 = _this+60+4;
    FHEAP[_8] = 0;
    var _9 = _this+60+8;
    FHEAP[_9] = 0;
    var _10 = _this+60+12;
    FHEAP[_10] = 0;
    var _11 = _this+170;
    IHEAP[_11] = 1;
    var _12 = _this+8;
    IHEAP[_12] = _ghostObject;
    var _13 = _this+52;
    FHEAP[_13] = _stepHeight;
    var _14 = _this+48;
    FHEAP[_14] = 0;
    var _15 = _this+12;
    IHEAP[_15] = _convexShape;
    var _16 = _this+171;
    IHEAP[_16] = 1;
    var _17 = _this+172;
    FHEAP[_17] = 0;
    var _18 = _this+16;
    FHEAP[_18] = 0;
    var _19 = _this+20;
    FHEAP[_19] = 0;
    var _20 = _this+44;
    FHEAP[_20] = 29.399999618530273;
    var _21 = _this+24;
    FHEAP[_21] = 55;
    var _22 = _this+28;
    FHEAP[_22] = 10;
    var _23 = _this+168;
    IHEAP[_23] = 0;
    var _24 = _this+169;
    IHEAP[_24] = 0;
    var _25 = _this+36;
    FHEAP[_25] = 0.7853981852531433;
    var _26 = _this+40;
    FHEAP[_26] = 0.7071067690849304;
    ;
    return;
  }
  __ZN30btKinematicCharacterControllerC2EP24btPairCachingGhostObjectP13btConvexShapefi.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterControllerC2EP24btPairCachingGhostObjectP13btConvexShapefi, "__ZN30btKinematicCharacterControllerC2EP24btPairCachingGhostObjectP13btConvexShapefi");
  
  
  function __ZN30btKinematicCharacterControllerD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV30btKinematicCharacterController+8;
    var _1 = _this+128+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+128+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      if (!_toBool_i_i_i) {
        ;
        var _6 = _2;
        __Z21btAlignedFreeInternalPv(_6);
        ;
      }
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+128+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+128+4;
    IHEAP[_8] = 0;
    var _9 = _this+128+8;
    IHEAP[_9] = 0;
    ;
    return;
  }
  __ZN30btKinematicCharacterControllerD1Ev.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterControllerD1Ev, "__ZN30btKinematicCharacterControllerD1Ev");
  
  
  function __ZN30btKinematicCharacterControllerD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV30btKinematicCharacterController+8;
    var _1 = _this+128+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+128+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      if (!_toBool_i_i_i) {
        ;
        var _6 = _2;
        __Z21btAlignedFreeInternalPv(_6);
        ;
      }
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+128+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+128+4;
    IHEAP[_8] = 0;
    var _9 = _this+128+8;
    IHEAP[_9] = 0;
    var _10 = _this;
    __ZdlPv(_10);
    ;
    return;
  }
  __ZN30btKinematicCharacterControllerD0Ev.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterControllerD0Ev, "__ZN30btKinematicCharacterControllerD0Ev");
  
  
  function __ZN30btKinematicCharacterControllerC1EP24btPairCachingGhostObjectP13btConvexShapefi(_this, _ghostObject, _convexShape, _stepHeight, _upAxis) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV30btKinematicCharacterController+8;
    var _1 = _this+128+16;
    IHEAP[_1] = 1;
    var _2 = _this+128+12;
    IHEAP[_2] = 0;
    var _3 = _this+128+4;
    IHEAP[_3] = 0;
    var _4 = _this+128+8;
    IHEAP[_4] = 0;
    var _5 = _this+176;
    IHEAP[_5] = _upAxis;
    var _6 = _this+56;
    FHEAP[_6] = 0.019999999552965164;
    var _7 = _this+60;
    FHEAP[_7] = 0;
    var _8 = _this+60+4;
    FHEAP[_8] = 0;
    var _9 = _this+60+8;
    FHEAP[_9] = 0;
    var _10 = _this+60+12;
    FHEAP[_10] = 0;
    var _11 = _this+170;
    IHEAP[_11] = 1;
    var _12 = _this+8;
    IHEAP[_12] = _ghostObject;
    var _13 = _this+52;
    FHEAP[_13] = _stepHeight;
    var _14 = _this+48;
    FHEAP[_14] = 0;
    var _15 = _this+12;
    IHEAP[_15] = _convexShape;
    var _16 = _this+171;
    IHEAP[_16] = 1;
    var _17 = _this+172;
    FHEAP[_17] = 0;
    var _18 = _this+16;
    FHEAP[_18] = 0;
    var _19 = _this+20;
    FHEAP[_19] = 0;
    var _20 = _this+44;
    FHEAP[_20] = 29.399999618530273;
    var _21 = _this+24;
    FHEAP[_21] = 55;
    var _22 = _this+28;
    FHEAP[_22] = 10;
    var _23 = _this+168;
    IHEAP[_23] = 0;
    var _24 = _this+169;
    IHEAP[_24] = 0;
    var _25 = _this+36;
    FHEAP[_25] = 0.7853981852531433;
    var _26 = _this+40;
    FHEAP[_26] = 0.7071067690849304;
    ;
    return;
  }
  __ZN30btKinematicCharacterControllerC1EP24btPairCachingGhostObjectP13btConvexShapefi.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterControllerC1EP24btPairCachingGhostObjectP13btConvexShapefi, "__ZN30btKinematicCharacterControllerC1EP24btPairCachingGhostObjectP13btConvexShapefi");
  
  
  function __ZN30btKinematicCharacterControllerD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV30btKinematicCharacterController+8;
    var _1 = _this+128+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+128+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      if (!_toBool_i_i_i) {
        ;
        var _6 = _2;
        __Z21btAlignedFreeInternalPv(_6);
        ;
      }
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+128+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+128+4;
    IHEAP[_8] = 0;
    var _9 = _this+128+8;
    IHEAP[_9] = 0;
    ;
    return;
  }
  __ZN30btKinematicCharacterControllerD2Ev.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterControllerD2Ev, "__ZN30btKinematicCharacterControllerD2Ev");
  
  
  function __ZN21btConeTwistConstraintC2ER11btRigidBodyS1_RK11btTransformS4_(_this, _rbA, _rbB, _rbAFrame, _rbBFrame) {
    ;
    var __label__;
    var _0 = _this;
    __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBodyS2_(_0, 5, _rbA, _rbB);
    var _1 = _this;
    IHEAP[_1] = __ZTV21btConeTwistConstraint+8;
    var _2 = _this+288;
    var _3 = _rbAFrame;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _this+288+4;
    var _6 = _rbAFrame+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _this+288+8;
    var _9 = _rbAFrame+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _this+288+12;
    var _12 = _rbAFrame+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _this+288+16;
    var _15 = _rbAFrame+16;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _this+288+16+4;
    var _18 = _rbAFrame+16+4;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _this+288+16+8;
    var _21 = _rbAFrame+16+8;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _this+288+16+12;
    var _24 = _rbAFrame+16+12;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _this+288+32;
    var _27 = _rbAFrame+32;
    var _28 = FHEAP[_27];
    FHEAP[_26] = _28;
    var _29 = _this+288+32+4;
    var _30 = _rbAFrame+32+4;
    var _31 = FHEAP[_30];
    FHEAP[_29] = _31;
    var _32 = _this+288+32+8;
    var _33 = _rbAFrame+32+8;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _this+288+32+12;
    var _36 = _rbAFrame+32+12;
    var _37 = FHEAP[_36];
    FHEAP[_35] = _37;
    var _38 = _this+288+48;
    var _39 = _rbAFrame+48;
    var _40 = FHEAP[_39];
    FHEAP[_38] = _40;
    var _41 = _this+288+48+4;
    var _42 = _rbAFrame+48+4;
    var _43 = FHEAP[_42];
    FHEAP[_41] = _43;
    var _44 = _this+288+48+8;
    var _45 = _rbAFrame+48+8;
    var _46 = FHEAP[_45];
    FHEAP[_44] = _46;
    var _47 = _this+288+48+12;
    var _48 = _rbAFrame+48+12;
    var _49 = FHEAP[_48];
    FHEAP[_47] = _49;
    var _50 = _this+352;
    var _51 = _rbBFrame;
    var _52 = FHEAP[_51];
    FHEAP[_50] = _52;
    var _53 = _this+352+4;
    var _54 = _rbBFrame+4;
    var _55 = FHEAP[_54];
    FHEAP[_53] = _55;
    var _56 = _this+352+8;
    var _57 = _rbBFrame+8;
    var _58 = FHEAP[_57];
    FHEAP[_56] = _58;
    var _59 = _this+352+12;
    var _60 = _rbBFrame+12;
    var _61 = FHEAP[_60];
    FHEAP[_59] = _61;
    var _62 = _this+352+16;
    var _63 = _rbBFrame+16;
    var _64 = FHEAP[_63];
    FHEAP[_62] = _64;
    var _65 = _this+352+16+4;
    var _66 = _rbBFrame+16+4;
    var _67 = FHEAP[_66];
    FHEAP[_65] = _67;
    var _68 = _this+352+16+8;
    var _69 = _rbBFrame+16+8;
    var _70 = FHEAP[_69];
    FHEAP[_68] = _70;
    var _71 = _this+352+16+12;
    var _72 = _rbBFrame+16+12;
    var _73 = FHEAP[_72];
    FHEAP[_71] = _73;
    var _74 = _this+352+32;
    var _75 = _rbBFrame+32;
    var _76 = FHEAP[_75];
    FHEAP[_74] = _76;
    var _77 = _this+352+32+4;
    var _78 = _rbBFrame+32+4;
    var _79 = FHEAP[_78];
    FHEAP[_77] = _79;
    var _80 = _this+352+32+8;
    var _81 = _rbBFrame+32+8;
    var _82 = FHEAP[_81];
    FHEAP[_80] = _82;
    var _83 = _this+352+32+12;
    var _84 = _rbBFrame+32+12;
    var _85 = FHEAP[_84];
    FHEAP[_83] = _85;
    var _86 = _this+352+48;
    var _87 = _rbBFrame+48;
    var _88 = FHEAP[_87];
    FHEAP[_86] = _88;
    var _89 = _this+352+48+4;
    var _90 = _rbBFrame+48+4;
    var _91 = FHEAP[_90];
    FHEAP[_89] = _91;
    var _92 = _this+352+48+8;
    var _93 = _rbBFrame+48+8;
    var _94 = FHEAP[_93];
    FHEAP[_92] = _94;
    var _95 = _this+352+48+12;
    var _96 = _rbBFrame+48+12;
    var _97 = FHEAP[_96];
    FHEAP[_95] = _97;
    var _98 = _this+512;
    var _99 = _this+540;
    IHEAP[_99] = 0;
    var _100 = _this+560;
    var _101 = _98;
    IHEAP[_101] = 0;
    FHEAP[_100] = -1;
    var _102 = _this+432;
    FHEAP[_102] = 999999984306749400;
    var _103 = _this+436;
    FHEAP[_103] = 999999984306749400;
    var _104 = _this+440;
    FHEAP[_104] = 999999984306749400;
    var _105 = _this+416;
    FHEAP[_105] = 1;
    var _106 = _this+420;
    FHEAP[_106] = 0.30000001192092896;
    var _107 = _this+424;
    FHEAP[_107] = 1;
    var _108 = _this+428;
    FHEAP[_108] = 0.009999999776482582;
    var _109 = _this+444;
    FHEAP[_109] = 0.05000000074505806;
    var _110 = _this+580;
    IHEAP[_110] = 0;
    var _111 = _this+584;
    FHEAP[_111] = 0;
    var _112 = _this+588;
    FHEAP[_112] = 0.699999988079071;
    var _113 = _this+592;
    FHEAP[_113] = 0;
    ;
    return;
  }
  __ZN21btConeTwistConstraintC2ER11btRigidBodyS1_RK11btTransformS4_.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraintC2ER11btRigidBodyS1_RK11btTransformS4_, "__ZN21btConeTwistConstraintC2ER11btRigidBodyS1_RK11btTransformS4_");
  
  
  function __ZN15btJacobianEntryC2ERK11btMatrix3x3S2_RK9btVector3S5_S5_S5_fS5_f(_this, _world2A, _world2B, _rel_pos1, _rel_pos2, _jointAxis, _inertiaInvA, _massInvA, _inertiaInvB, _massInvB) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = _jointAxis;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _this+4;
    var _4 = _jointAxis+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+8;
    var _7 = _jointAxis+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+12;
    var _10 = _jointAxis+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _rel_pos1;
    var _13 = FHEAP[_12];
    var _14 = _13 * _5;
    var _15 = _rel_pos1+4;
    var _16 = FHEAP[_15];
    var _17 = _16 * _2;
    var _18 = _14 - _17;
    var _19 = _rel_pos1+8;
    var _20 = FHEAP[_19];
    var _21 = _20 * _2;
    var _22 = _13 * _8;
    var _23 = _21 - _22;
    var _24 = _16 * _8;
    var _25 = _20 * _5;
    var _26 = _24 - _25;
    var _27 = _world2A+32;
    var _28 = FHEAP[_27];
    var _29 = _28 * _26;
    var _30 = _world2A+32+4;
    var _31 = FHEAP[_30];
    var _32 = _31 * _23;
    var _33 = _29 + _32;
    var _34 = _world2A+32+8;
    var _35 = FHEAP[_34];
    var _36 = _35 * _18;
    var _37 = _33 + _36;
    var _38 = _world2A+16;
    var _39 = FHEAP[_38];
    var _40 = _39 * _26;
    var _41 = _world2A+16+4;
    var _42 = FHEAP[_41];
    var _43 = _42 * _23;
    var _44 = _40 + _43;
    var _45 = _world2A+16+8;
    var _46 = FHEAP[_45];
    var _47 = _46 * _18;
    var _48 = _44 + _47;
    var _49 = _world2A;
    var _50 = FHEAP[_49];
    var _51 = _50 * _26;
    var _52 = _world2A+4;
    var _53 = FHEAP[_52];
    var _54 = _53 * _23;
    var _55 = _51 + _54;
    var _56 = _world2A+8;
    var _57 = FHEAP[_56];
    var _58 = _57 * _18;
    var _59 = _55 + _58;
    var _60 = _this+16;
    FHEAP[_60] = _59;
    var _61 = _this+16+4;
    FHEAP[_61] = _48;
    var _62 = _this+16+8;
    FHEAP[_62] = _37;
    var _63 = _this+16+12;
    FHEAP[_63] = 0;
    var _64 = 0 - _8;
    var _65 = 0 - _5;
    var _66 = 0 - _2;
    var _67 = _rel_pos2;
    var _68 = FHEAP[_67];
    var _69 = _68 * _65;
    var _70 = _rel_pos2+4;
    var _71 = FHEAP[_70];
    var _72 = _71 * _66;
    var _73 = _69 - _72;
    var _74 = _rel_pos2+8;
    var _75 = FHEAP[_74];
    var _76 = _75 * _66;
    var _77 = _68 * _64;
    var _78 = _76 - _77;
    var _79 = _71 * _64;
    var _80 = _75 * _65;
    var _81 = _79 - _80;
    var _82 = _world2B+32;
    var _83 = FHEAP[_82];
    var _84 = _83 * _81;
    var _85 = _world2B+32+4;
    var _86 = FHEAP[_85];
    var _87 = _86 * _78;
    var _88 = _84 + _87;
    var _89 = _world2B+32+8;
    var _90 = FHEAP[_89];
    var _91 = _90 * _73;
    var _92 = _88 + _91;
    var _93 = _world2B+16;
    var _94 = FHEAP[_93];
    var _95 = _94 * _81;
    var _96 = _world2B+16+4;
    var _97 = FHEAP[_96];
    var _98 = _97 * _78;
    var _99 = _95 + _98;
    var _100 = _world2B+16+8;
    var _101 = FHEAP[_100];
    var _102 = _101 * _73;
    var _103 = _99 + _102;
    var _104 = _world2B;
    var _105 = FHEAP[_104];
    var _106 = _105 * _81;
    var _107 = _world2B+4;
    var _108 = FHEAP[_107];
    var _109 = _108 * _78;
    var _110 = _106 + _109;
    var _111 = _world2B+8;
    var _112 = FHEAP[_111];
    var _113 = _112 * _73;
    var _114 = _110 + _113;
    var _115 = _this+32;
    FHEAP[_115] = _114;
    var _116 = _this+32+4;
    FHEAP[_116] = _103;
    var _117 = _this+32+8;
    FHEAP[_117] = _92;
    var _118 = _this+32+12;
    FHEAP[_118] = 0;
    var _119 = _inertiaInvA+8;
    var _120 = FHEAP[_119];
    var _121 = _120 * _37;
    var _122 = _inertiaInvA+4;
    var _123 = FHEAP[_122];
    var _124 = _123 * _48;
    var _125 = _inertiaInvA;
    var _126 = FHEAP[_125];
    var _127 = _126 * _59;
    var _128 = _this+48;
    FHEAP[_128] = _127;
    var _129 = _this+48+4;
    FHEAP[_129] = _124;
    var _130 = _this+48+8;
    FHEAP[_130] = _121;
    var _131 = _this+48+12;
    FHEAP[_131] = 0;
    var _132 = _inertiaInvB+8;
    var _133 = FHEAP[_132];
    var _134 = _133 * _92;
    var _135 = _inertiaInvB+4;
    var _136 = FHEAP[_135];
    var _137 = _136 * _103;
    var _138 = _inertiaInvB;
    var _139 = FHEAP[_138];
    var _140 = _139 * _114;
    var _141 = _this+64;
    FHEAP[_141] = _140;
    var _142 = _this+64+4;
    FHEAP[_142] = _137;
    var _143 = _this+64+8;
    FHEAP[_143] = _134;
    var _144 = _this+64+12;
    FHEAP[_144] = 0;
    var _145 = _127 * _59;
    var _146 = _124 * _48;
    var _147 = _145 + _146;
    var _148 = _121 * _37;
    var _149 = _147 + _148;
    var _150 = _149 + _massInvA;
    var _151 = _150 + _massInvB;
    var _152 = _140 * _114;
    var _153 = _137 * _103;
    var _154 = _152 + _153;
    var _155 = _134 * _92;
    var _156 = _154 + _155;
    var _157 = _151 + _156;
    var _158 = _this+80;
    FHEAP[_158] = _157;
    ;
    return;
  }
  __ZN15btJacobianEntryC2ERK11btMatrix3x3S2_RK9btVector3S5_S5_S5_fS5_f.__index__ = Runtime.getFunctionIndex(__ZN15btJacobianEntryC2ERK11btMatrix3x3S2_RK9btVector3S5_S5_S5_fS5_f, "__ZN15btJacobianEntryC2ERK11btMatrix3x3S2_RK9btVector3S5_S5_S5_fS5_f");
  
  
  function __ZN21btConeTwistConstraint4initEv(_this) {
    ;
    var __label__;
    var _0 = _this+512;
    IHEAP[_0] = 0;
    var _1 = _this+513;
    IHEAP[_1] = 0;
    var _2 = _this+514;
    IHEAP[_2] = 0;
    var _3 = _this+540;
    IHEAP[_3] = 0;
    var _4 = _this+560;
    FHEAP[_4] = -1;
    var _5 = _this+432;
    FHEAP[_5] = 999999984306749400;
    var _6 = _this+436;
    FHEAP[_6] = 999999984306749400;
    var _7 = _this+440;
    FHEAP[_7] = 999999984306749400;
    var _8 = _this+416;
    FHEAP[_8] = 1;
    var _9 = _this+420;
    FHEAP[_9] = 0.30000001192092896;
    var _10 = _this+424;
    FHEAP[_10] = 1;
    var _11 = _this+428;
    FHEAP[_11] = 0.009999999776482582;
    var _12 = _this+444;
    FHEAP[_12] = 0.05000000074505806;
    var _13 = _this+580;
    IHEAP[_13] = 0;
    var _14 = _this+584;
    FHEAP[_14] = 0;
    var _15 = _this+588;
    FHEAP[_15] = 0.699999988079071;
    var _16 = _this+592;
    FHEAP[_16] = 0;
    ;
    return;
  }
  __ZN21btConeTwistConstraint4initEv.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraint4initEv, "__ZN21btConeTwistConstraint4initEv");
  
  
  function __ZN21btConeTwistConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E(_this, _info) {
    ;
    var __label__;
    var _0 = _info;
    IHEAP[_0] = 6;
    var _1 = _info+4;
    IHEAP[_1] = 0;
    ;
    return;
  }
  __ZN21btConeTwistConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E, "__ZN21btConeTwistConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E");
  
  
  function __ZN21btConeTwistConstraint8setParamEifi(_this, _num, _value, _axis) {
    ;
    var __label__;
    if (_num == 1) {
      __label__ = 60; /* _bb */ 
    }
    else if (_num == 2) {
      __label__ = 60; /* _bb */ 
    }
    else if (_num == 3) {
      __label__ = 116; /* _bb3 */ 
    }
    else if (_num == 4) {
      __label__ = 116; /* _bb3 */ 
    }
    else {
    __label__ = 44; /* _return */ 
    }
    
    if (__label__ == 44) {
      ;
      return;
    }
    else if (__label__ == 60) {
      var _0 = unSign(_axis, 32) < unSign(3, 32);
      ;
      if (_0) {
        ;
        var _1 = _this+588;
        FHEAP[_1] = _value;
        var _2 = _this+580;
        var _3 = IHEAP[_2];
        var _4 = _3 | 2;
        IHEAP[_2] = _4;
        ;
        return;
      }
      else {
        ;
        var _5 = _this+420;
        FHEAP[_5] = _value;
        ;
        return;
      }
    }
    else if (__label__ == 116) {
      var _6 = unSign(_axis, 32) < unSign(3, 32);
      ;
      if (_6) {
        ;
        var _7 = _this+584;
        FHEAP[_7] = _value;
        var _8 = _this+580;
        var _9 = IHEAP[_8];
        var _10 = _9 | 1;
        IHEAP[_8] = _10;
        ;
        return;
      }
      else {
        ;
        var _11 = _this+592;
        FHEAP[_11] = _value;
        var _12 = _this+580;
        var _13 = IHEAP[_12];
        var _14 = _13 | 4;
        IHEAP[_12] = _14;
        ;
        return;
      }
    }
  }
  __ZN21btConeTwistConstraint8setParamEifi.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraint8setParamEifi, "__ZN21btConeTwistConstraint8setParamEifi");
  
  
  function __ZNK21btConeTwistConstraint8getParamEii(_this, _num, _axis) {
    ;
    var __label__;
    if (_num == 1) {
      __label__ = 60; /* _bb */ 
    }
    else if (_num == 2) {
      __label__ = 60; /* _bb */ 
    }
    else if (_num == 3) {
      __label__ = 61; /* _bb4 */ 
    }
    else if (_num == 4) {
      __label__ = 61; /* _bb4 */ 
    }
    else {
    __label__ = 148; /* _bb8 */ 
    }
    
    _bb8$_bb$_bb4$14439: do { 
      if (__label__ == 60) {
        var _0 = unSign(_axis, 32) < unSign(3, 32);
        ;
        if (_0) {
          ;
          var _1 = _this+588;
          var _2 = FHEAP[_1];
          ;
          return _2;
        }
        else {
          ;
          var _3 = _axis + -3;
          var _4 = unSign(_3, 32) < unSign(3, 32);
          if (!(_4)) { __label__ = 148; /* _bb8 */ break _bb8$_bb$_bb4$14439; }
          var _5 = _this+420;
          var _6 = FHEAP[_5];
          ;
          return _6;
        }
      }
      else if (__label__ == 61) {
        var _7 = unSign(_axis, 32) < unSign(3, 32);
        ;
        if (_7) {
          ;
          var _8 = _this+584;
          var _9 = FHEAP[_8];
          ;
          return _9;
        }
        else {
          ;
          var _10 = _axis + -3;
          var _11 = unSign(_10, 32) < unSign(3, 32);
          if (!(_11)) { __label__ = 148; /* _bb8 */ break _bb8$_bb$_bb4$14439; }
          var _12 = _this+592;
          var _13 = FHEAP[_12];
          ;
          return _13;
        }
      }
    } while(0);
    ;
    return 0;
  }
  __ZNK21btConeTwistConstraint8getParamEii.__index__ = Runtime.getFunctionIndex(__ZNK21btConeTwistConstraint8getParamEii, "__ZNK21btConeTwistConstraint8getParamEii");
  
  
  function __ZN21btConeTwistConstraintD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConeTwistConstraint+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN21btConeTwistConstraintD0Ev.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraintD0Ev, "__ZN21btConeTwistConstraintD0Ev");
  
  
  function __ZN21btConeTwistConstraintD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btConeTwistConstraint+8;
    ;
    return;
  }
  __ZN21btConeTwistConstraintD1Ev.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraintD1Ev, "__ZN21btConeTwistConstraintD1Ev");
  
  
  function __ZN21btConeTwistConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E(_this, _info) {
    ;
    var __label__;
    var _0 = _this+515;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    var _2 = _info;
    ;
    if (_toBool) {
      ;
      IHEAP[_2] = 3;
      var _4 = _info+4;
      IHEAP[_4] = 3;
      var _5 = _this+24;
      var _6 = IHEAP[_5];
      var _7 = _6+256;
      var _8 = _this+20;
      var _9 = IHEAP[_8];
      var _10 = _9+256;
      var _11 = _6+4;
      var _12 = _9+4;
      __ZN21btConeTwistConstraint14calcAngleInfo2ERK11btTransformS2_RK11btMatrix3x3S5_(_this, _12, _11, _10, _7);
      var _13 = _this+514;
      var _14 = IHEAP[_13];
      var _toBool2 = _14 == 0;
      ;
      _bb6$_bb3$14477: do { 
        if (!_toBool2) {
          ;
          var _15 = IHEAP[_2];
          var _16 = _15 + 1;
          IHEAP[_2] = _16;
          var _17 = IHEAP[_4];
          var _18 = _17 + -1;
          IHEAP[_4] = _18;
          var _19 = _this+432;
          var _20 = FHEAP[_19];
          var _21 = _this+444;
          var _22 = FHEAP[_21];
          var _23 = _20 < _22;
          if (!(_23)) { __label__ = 83; /* _bb6 */ break _bb6$_bb3$14477; }
          var _24 = _this+436;
          var _25 = FHEAP[_24];
          var _26 = _25 < _22;
          if (!(_26)) { __label__ = 83; /* _bb6 */ break _bb6$_bb3$14477; }
          var _27 = _15 + 2;
          IHEAP[_2] = _27;
          var _28 = _17 + -2;
          IHEAP[_4] = _28;
          ;
        }
      } while(0);
      var _29 = _this+513;
      var _30 = IHEAP[_29];
      var _toBool7 = _30 == 0;
      ;
      if (_toBool7) {
        ;
        ;
        return;
      }
      else {
        ;
        var _31 = IHEAP[_2];
        var _32 = _31 + 1;
        IHEAP[_2] = _32;
        var _33 = IHEAP[_4];
        var _34 = _33 + -1;
        IHEAP[_4] = _34;
        ;
        return;
      }
    }
    else {
      ;
      IHEAP[_2] = 0;
      var _3 = _info+4;
      IHEAP[_3] = 0;
      ;
      return;
    }
  }
  __ZN21btConeTwistConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E, "__ZN21btConeTwistConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E");
  
  
  function __ZN21btConeTwistConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E(_this, _info) {
    ;
    var __label__;
    var _0 = _this+24;
    var _1 = IHEAP[_0];
    var _2 = _1+256;
    var _3 = _this+20;
    var _4 = IHEAP[_3];
    var _5 = _4+256;
    var _6 = _1+4;
    var _7 = _4+4;
    __ZN21btConeTwistConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK11btMatrix3x3S8_(_this, _info, _7, _6, _5, _2);
    ;
    return;
  }
  __ZN21btConeTwistConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E, "__ZN21btConeTwistConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E");
  
  
  function __ZN21btConeTwistConstraint14setMotorTargetERK12btQuaternion(_this, _q) {
    var __stackBase__  = STACKTOP; STACKTOP += 208;
    var __label__;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _trABCur = __stackBase__+32;
    var _qABCur = __stackBase__+96;
    var _trConstraintCur = __stackBase__+112;
    var _qConstraintCur = __stackBase__+176;
    var _qConstraint = __stackBase__+192;
    var _2 = _this+20;
    var _3 = IHEAP[_2];
    var _4 = _3+4;
    var _5 = FHEAP[_4];
    var _6 = _3+4+4;
    var _7 = FHEAP[_6];
    var _8 = _3+4+8;
    var _9 = FHEAP[_8];
    var _10 = _3+4+16;
    var _11 = FHEAP[_10];
    var _12 = _3+4+16+4;
    var _13 = FHEAP[_12];
    var _14 = _3+4+16+8;
    var _15 = FHEAP[_14];
    var _16 = _3+4+32;
    var _17 = FHEAP[_16];
    var _18 = _3+4+32+4;
    var _19 = FHEAP[_18];
    var _20 = _3+4+32+8;
    var _21 = FHEAP[_20];
    var _22 = _3+4+48;
    var _23 = FHEAP[_22];
    var _24 = _3+4+48+4;
    var _25 = FHEAP[_24];
    var _26 = _3+4+48+8;
    var _27 = FHEAP[_26];
    var _28 = _this+24;
    var _29 = IHEAP[_28];
    var _30 = _29+4;
    var _31 = FHEAP[_30];
    var _32 = _29+4+4;
    var _33 = FHEAP[_32];
    var _34 = _29+4+8;
    var _35 = FHEAP[_34];
    var _36 = _29+4+16;
    var _37 = FHEAP[_36];
    var _38 = _29+4+16+4;
    var _39 = FHEAP[_38];
    var _40 = _29+4+16+8;
    var _41 = FHEAP[_40];
    var _42 = _29+4+32;
    var _43 = FHEAP[_42];
    var _44 = _29+4+32+4;
    var _45 = FHEAP[_44];
    var _46 = _29+4+32+8;
    var _47 = FHEAP[_46];
    var _48 = _29+4+48;
    var _49 = FHEAP[_48];
    var _50 = _29+4+48+4;
    var _51 = FHEAP[_50];
    var _52 = _29+4+48+8;
    var _53 = FHEAP[_52];
    var _54 = 0 - _53;
    var _55 = 0 - _51;
    var _56 = 0 - _49;
    var _57 = _35 * _56;
    var _58 = _41 * _55;
    var _59 = _57 + _58;
    var _60 = _47 * _54;
    var _61 = _59 + _60;
    var _62 = _33 * _56;
    var _63 = _39 * _55;
    var _64 = _62 + _63;
    var _65 = _45 * _54;
    var _66 = _64 + _65;
    var _67 = _31 * _56;
    var _68 = _37 * _55;
    var _69 = _67 + _68;
    var _70 = _43 * _54;
    var _71 = _69 + _70;
    var _72 = _35 * _23;
    var _73 = _41 * _25;
    var _74 = _72 + _73;
    var _75 = _47 * _27;
    var _76 = _74 + _75;
    var _77 = _76 + _61;
    var _78 = _33 * _23;
    var _79 = _39 * _25;
    var _80 = _78 + _79;
    var _81 = _45 * _27;
    var _82 = _80 + _81;
    var _83 = _82 + _66;
    var _84 = _31 * _23;
    var _85 = _37 * _25;
    var _86 = _84 + _85;
    var _87 = _43 * _27;
    var _88 = _86 + _87;
    var _89 = _88 + _71;
    var _90 = _9 * _35;
    var _91 = _15 * _41;
    var _92 = _90 + _91;
    var _93 = _21 * _47;
    var _94 = _92 + _93;
    var _95 = _7 * _35;
    var _96 = _13 * _41;
    var _97 = _95 + _96;
    var _98 = _19 * _47;
    var _99 = _97 + _98;
    var _100 = _5 * _35;
    var _101 = _11 * _41;
    var _102 = _100 + _101;
    var _103 = _17 * _47;
    var _104 = _102 + _103;
    var _105 = _9 * _33;
    var _106 = _15 * _39;
    var _107 = _105 + _106;
    var _108 = _21 * _45;
    var _109 = _107 + _108;
    var _110 = _7 * _33;
    var _111 = _13 * _39;
    var _112 = _110 + _111;
    var _113 = _19 * _45;
    var _114 = _112 + _113;
    var _115 = _5 * _33;
    var _116 = _11 * _39;
    var _117 = _115 + _116;
    var _118 = _17 * _45;
    var _119 = _117 + _118;
    var _120 = _9 * _31;
    var _121 = _15 * _37;
    var _122 = _120 + _121;
    var _123 = _21 * _43;
    var _124 = _122 + _123;
    var _125 = _7 * _31;
    var _126 = _13 * _37;
    var _127 = _125 + _126;
    var _128 = _19 * _43;
    var _129 = _127 + _128;
    var _130 = _5 * _31;
    var _131 = _11 * _37;
    var _132 = _130 + _131;
    var _133 = _17 * _43;
    var _134 = _132 + _133;
    var _135 = _trABCur;
    FHEAP[_135] = _134;
    var _136 = _trABCur+4;
    FHEAP[_136] = _129;
    var _137 = _trABCur+8;
    FHEAP[_137] = _124;
    var _138 = _trABCur+12;
    FHEAP[_138] = 0;
    var _139 = _trABCur+16;
    FHEAP[_139] = _119;
    var _140 = _trABCur+16+4;
    FHEAP[_140] = _114;
    var _141 = _trABCur+16+8;
    FHEAP[_141] = _109;
    var _142 = _trABCur+16+12;
    FHEAP[_142] = 0;
    var _143 = _trABCur+32;
    FHEAP[_143] = _104;
    var _144 = _trABCur+32+4;
    FHEAP[_144] = _99;
    var _145 = _trABCur+32+8;
    FHEAP[_145] = _94;
    var _146 = _trABCur+32+12;
    FHEAP[_146] = 0;
    var _147 = _trABCur+48;
    FHEAP[_147] = _89;
    var _148 = _trABCur+48+4;
    FHEAP[_148] = _83;
    var _149 = _trABCur+48+8;
    FHEAP[_149] = _77;
    var _150 = _trABCur+48+12;
    FHEAP[_150] = 0;
    var _151 = _trABCur;
    __ZNK11btMatrix3x311getRotationER12btQuaternion(_151, _qABCur);
    var _152 = _this+288+48;
    var _153 = FHEAP[_152];
    var _154 = _17 * _153;
    var _155 = _this+288+48+4;
    var _156 = FHEAP[_155];
    var _157 = _19 * _156;
    var _158 = _154 + _157;
    var _159 = _this+288+48+8;
    var _160 = FHEAP[_159];
    var _161 = _21 * _160;
    var _162 = _158 + _161;
    var _163 = _162 + _27;
    var _164 = _11 * _153;
    var _165 = _13 * _156;
    var _166 = _164 + _165;
    var _167 = _15 * _160;
    var _168 = _166 + _167;
    var _169 = _168 + _25;
    var _170 = _5 * _153;
    var _171 = _7 * _156;
    var _172 = _170 + _171;
    var _173 = _9 * _160;
    var _174 = _172 + _173;
    var _175 = _174 + _23;
    var _176 = _this+288+8;
    var _177 = FHEAP[_176];
    var _178 = _177 * _17;
    var _179 = _this+288+16+8;
    var _180 = FHEAP[_179];
    var _181 = _180 * _19;
    var _182 = _178 + _181;
    var _183 = _this+288+32+8;
    var _184 = FHEAP[_183];
    var _185 = _184 * _21;
    var _186 = _182 + _185;
    var _187 = _this+288+4;
    var _188 = FHEAP[_187];
    var _189 = _188 * _17;
    var _190 = _this+288+16+4;
    var _191 = FHEAP[_190];
    var _192 = _191 * _19;
    var _193 = _189 + _192;
    var _194 = _this+288+32+4;
    var _195 = FHEAP[_194];
    var _196 = _195 * _21;
    var _197 = _193 + _196;
    var _198 = _this+288;
    var _199 = FHEAP[_198];
    var _200 = _199 * _17;
    var _201 = _this+288+16;
    var _202 = FHEAP[_201];
    var _203 = _202 * _19;
    var _204 = _200 + _203;
    var _205 = _this+288+32;
    var _206 = FHEAP[_205];
    var _207 = _206 * _21;
    var _208 = _204 + _207;
    var _209 = _177 * _11;
    var _210 = _180 * _13;
    var _211 = _209 + _210;
    var _212 = _184 * _15;
    var _213 = _211 + _212;
    var _214 = _188 * _11;
    var _215 = _191 * _13;
    var _216 = _214 + _215;
    var _217 = _195 * _15;
    var _218 = _216 + _217;
    var _219 = _199 * _11;
    var _220 = _202 * _13;
    var _221 = _219 + _220;
    var _222 = _206 * _15;
    var _223 = _221 + _222;
    var _224 = _177 * _5;
    var _225 = _180 * _7;
    var _226 = _224 + _225;
    var _227 = _184 * _9;
    var _228 = _226 + _227;
    var _229 = _188 * _5;
    var _230 = _191 * _7;
    var _231 = _229 + _230;
    var _232 = _195 * _9;
    var _233 = _231 + _232;
    var _234 = _199 * _5;
    var _235 = _202 * _7;
    var _236 = _234 + _235;
    var _237 = _206 * _9;
    var _238 = _236 + _237;
    var _239 = _this+352+48;
    var _240 = FHEAP[_239];
    var _241 = _43 * _240;
    var _242 = _this+352+48+4;
    var _243 = FHEAP[_242];
    var _244 = _45 * _243;
    var _245 = _241 + _244;
    var _246 = _this+352+48+8;
    var _247 = FHEAP[_246];
    var _248 = _47 * _247;
    var _249 = _245 + _248;
    var _250 = _249 + _53;
    var _251 = _37 * _240;
    var _252 = _39 * _243;
    var _253 = _251 + _252;
    var _254 = _41 * _247;
    var _255 = _253 + _254;
    var _256 = _255 + _51;
    var _257 = _31 * _240;
    var _258 = _33 * _243;
    var _259 = _257 + _258;
    var _260 = _35 * _247;
    var _261 = _259 + _260;
    var _262 = _261 + _49;
    var _263 = _this+352+8;
    var _264 = FHEAP[_263];
    var _265 = _264 * _43;
    var _266 = _this+352+16+8;
    var _267 = FHEAP[_266];
    var _268 = _267 * _45;
    var _269 = _265 + _268;
    var _270 = _this+352+32+8;
    var _271 = FHEAP[_270];
    var _272 = _271 * _47;
    var _273 = _269 + _272;
    var _274 = _this+352+4;
    var _275 = FHEAP[_274];
    var _276 = _275 * _43;
    var _277 = _this+352+16+4;
    var _278 = FHEAP[_277];
    var _279 = _278 * _45;
    var _280 = _276 + _279;
    var _281 = _this+352+32+4;
    var _282 = FHEAP[_281];
    var _283 = _282 * _47;
    var _284 = _280 + _283;
    var _285 = _this+352;
    var _286 = FHEAP[_285];
    var _287 = _286 * _43;
    var _288 = _this+352+16;
    var _289 = FHEAP[_288];
    var _290 = _289 * _45;
    var _291 = _287 + _290;
    var _292 = _this+352+32;
    var _293 = FHEAP[_292];
    var _294 = _293 * _47;
    var _295 = _291 + _294;
    var _296 = _264 * _37;
    var _297 = _267 * _39;
    var _298 = _296 + _297;
    var _299 = _271 * _41;
    var _300 = _298 + _299;
    var _301 = _275 * _37;
    var _302 = _278 * _39;
    var _303 = _301 + _302;
    var _304 = _282 * _41;
    var _305 = _303 + _304;
    var _306 = _286 * _37;
    var _307 = _289 * _39;
    var _308 = _306 + _307;
    var _309 = _293 * _41;
    var _310 = _308 + _309;
    var _311 = _264 * _31;
    var _312 = _267 * _33;
    var _313 = _311 + _312;
    var _314 = _271 * _35;
    var _315 = _313 + _314;
    var _316 = _275 * _31;
    var _317 = _278 * _33;
    var _318 = _316 + _317;
    var _319 = _282 * _35;
    var _320 = _318 + _319;
    var _321 = _286 * _31;
    var _322 = _289 * _33;
    var _323 = _321 + _322;
    var _324 = _293 * _35;
    var _325 = _323 + _324;
    var _326 = 0 - _250;
    var _327 = 0 - _256;
    var _328 = 0 - _262;
    var _329 = _315 * _328;
    var _330 = _300 * _327;
    var _331 = _329 + _330;
    var _332 = _273 * _326;
    var _333 = _331 + _332;
    var _334 = _320 * _328;
    var _335 = _305 * _327;
    var _336 = _334 + _335;
    var _337 = _284 * _326;
    var _338 = _336 + _337;
    var _339 = _325 * _328;
    var _340 = _310 * _327;
    var _341 = _339 + _340;
    var _342 = _295 * _326;
    var _343 = _341 + _342;
    var _344 = _315 * _175;
    var _345 = _300 * _169;
    var _346 = _344 + _345;
    var _347 = _273 * _163;
    var _348 = _346 + _347;
    var _349 = _348 + _333;
    var _350 = _320 * _175;
    var _351 = _305 * _169;
    var _352 = _350 + _351;
    var _353 = _284 * _163;
    var _354 = _352 + _353;
    var _355 = _354 + _338;
    var _356 = _325 * _175;
    var _357 = _310 * _169;
    var _358 = _356 + _357;
    var _359 = _295 * _163;
    var _360 = _358 + _359;
    var _361 = _360 + _343;
    var _362 = _228 * _315;
    var _363 = _213 * _300;
    var _364 = _362 + _363;
    var _365 = _186 * _273;
    var _366 = _364 + _365;
    var _367 = _233 * _315;
    var _368 = _218 * _300;
    var _369 = _367 + _368;
    var _370 = _197 * _273;
    var _371 = _369 + _370;
    var _372 = _238 * _315;
    var _373 = _223 * _300;
    var _374 = _372 + _373;
    var _375 = _208 * _273;
    var _376 = _374 + _375;
    var _377 = _228 * _320;
    var _378 = _213 * _305;
    var _379 = _377 + _378;
    var _380 = _186 * _284;
    var _381 = _379 + _380;
    var _382 = _233 * _320;
    var _383 = _218 * _305;
    var _384 = _382 + _383;
    var _385 = _197 * _284;
    var _386 = _384 + _385;
    var _387 = _238 * _320;
    var _388 = _223 * _305;
    var _389 = _387 + _388;
    var _390 = _208 * _284;
    var _391 = _389 + _390;
    var _392 = _228 * _325;
    var _393 = _213 * _310;
    var _394 = _392 + _393;
    var _395 = _186 * _295;
    var _396 = _394 + _395;
    var _397 = _233 * _325;
    var _398 = _218 * _310;
    var _399 = _397 + _398;
    var _400 = _197 * _295;
    var _401 = _399 + _400;
    var _402 = _238 * _325;
    var _403 = _223 * _310;
    var _404 = _402 + _403;
    var _405 = _208 * _295;
    var _406 = _404 + _405;
    var _407 = _trConstraintCur;
    FHEAP[_407] = _406;
    var _408 = _trConstraintCur+4;
    FHEAP[_408] = _401;
    var _409 = _trConstraintCur+8;
    FHEAP[_409] = _396;
    var _410 = _trConstraintCur+12;
    FHEAP[_410] = 0;
    var _411 = _trConstraintCur+16;
    FHEAP[_411] = _391;
    var _412 = _trConstraintCur+16+4;
    FHEAP[_412] = _386;
    var _413 = _trConstraintCur+16+8;
    FHEAP[_413] = _381;
    var _414 = _trConstraintCur+16+12;
    FHEAP[_414] = 0;
    var _415 = _trConstraintCur+32;
    FHEAP[_415] = _376;
    var _416 = _trConstraintCur+32+4;
    FHEAP[_416] = _371;
    var _417 = _trConstraintCur+32+8;
    FHEAP[_417] = _366;
    var _418 = _trConstraintCur+32+12;
    FHEAP[_418] = 0;
    var _419 = _trConstraintCur+48;
    FHEAP[_419] = _361;
    var _420 = _trConstraintCur+48+4;
    FHEAP[_420] = _355;
    var _421 = _trConstraintCur+48+8;
    FHEAP[_421] = _349;
    var _422 = _trConstraintCur+48+12;
    FHEAP[_422] = 0;
    var _423 = _trConstraintCur;
    __ZNK11btMatrix3x311getRotationER12btQuaternion(_423, _qConstraintCur);
    var _424 = _this+288;
    __ZNK11btMatrix3x311getRotationER12btQuaternion(_424, _1);
    var _425 = _this+352;
    __ZNK11btMatrix3x311getRotationER12btQuaternion(_425, _0);
    var _426 = _0+12;
    var _427 = _0+8;
    var _428 = FHEAP[_427];
    var _429 = 0 - _428;
    var _430 = _0+4;
    var _431 = FHEAP[_430];
    var _432 = 0 - _431;
    var _433 = _0;
    var _434 = FHEAP[_433];
    var _435 = 0 - _434;
    var _436 = FHEAP[_426];
    var _437 = _q+12;
    var _438 = FHEAP[_437];
    var _439 = _436 * _438;
    var _440 = _q;
    var _441 = FHEAP[_440];
    var _442 = _441 * _435;
    var _443 = _439 - _442;
    var _444 = _q+4;
    var _445 = FHEAP[_444];
    var _446 = _445 * _432;
    var _447 = _443 - _446;
    var _448 = _q+8;
    var _449 = FHEAP[_448];
    var _450 = _449 * _429;
    var _451 = _447 - _450;
    var _452 = _436 * _449;
    var _453 = _438 * _429;
    var _454 = _452 + _453;
    var _455 = _445 * _435;
    var _456 = _454 + _455;
    var _457 = _441 * _432;
    var _458 = _456 - _457;
    var _459 = _436 * _445;
    var _460 = _438 * _432;
    var _461 = _459 + _460;
    var _462 = _441 * _429;
    var _463 = _461 + _462;
    var _464 = _449 * _435;
    var _465 = _463 - _464;
    var _466 = _436 * _441;
    var _467 = _438 * _435;
    var _468 = _466 + _467;
    var _469 = _449 * _432;
    var _470 = _468 + _469;
    var _471 = _445 * _429;
    var _472 = _470 - _471;
    var _473 = _1+12;
    var _474 = FHEAP[_473];
    var _475 = _451 * _474;
    var _476 = _1;
    var _477 = FHEAP[_476];
    var _478 = _472 * _477;
    var _479 = _475 - _478;
    var _480 = _1+4;
    var _481 = FHEAP[_480];
    var _482 = _465 * _481;
    var _483 = _479 - _482;
    var _484 = _1+8;
    var _485 = FHEAP[_484];
    var _486 = _458 * _485;
    var _487 = _483 - _486;
    var _488 = _451 * _485;
    var _489 = _458 * _474;
    var _490 = _488 + _489;
    var _491 = _472 * _481;
    var _492 = _490 + _491;
    var _493 = _465 * _477;
    var _494 = _492 - _493;
    var _495 = _451 * _481;
    var _496 = _465 * _474;
    var _497 = _495 + _496;
    var _498 = _458 * _477;
    var _499 = _497 + _498;
    var _500 = _472 * _485;
    var _501 = _499 - _500;
    var _502 = _451 * _477;
    var _503 = _472 * _474;
    var _504 = _502 + _503;
    var _505 = _465 * _485;
    var _506 = _504 + _505;
    var _507 = _458 * _481;
    var _508 = _506 - _507;
    var _509 = _qConstraint;
    FHEAP[_509] = _508;
    var _510 = _qConstraint+4;
    FHEAP[_510] = _501;
    var _511 = _qConstraint+8;
    FHEAP[_511] = _494;
    var _512 = _qConstraint+12;
    FHEAP[_512] = _487;
    __ZN21btConeTwistConstraint31setMotorTargetInConstraintSpaceERK12btQuaternion(_this, _qConstraint);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN21btConeTwistConstraint14setMotorTargetERK12btQuaternion.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraint14setMotorTargetERK12btQuaternion, "__ZN21btConeTwistConstraint14setMotorTargetERK12btQuaternion");
  
  
  function __ZN21btConeTwistConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK11btMatrix3x3S8_(_this, _info, _transA, _transB, _invInertiaWorldA, _invInertiaWorldB) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _a1 = __stackBase__;
    var _a2 = __stackBase__+16;
    __ZN21btConeTwistConstraint14calcAngleInfo2ERK11btTransformS2_RK11btMatrix3x3S5_(_this, _transA, _transB, _invInertiaWorldA, _invInertiaWorldB);
    var _0 = _info+8;
    var _1 = IHEAP[_0];
    FHEAP[_1] = 1;
    var _2 = IHEAP[_0];
    var _3 = _info+24;
    var _4 = IHEAP[_3];
    var _5 = _4 + 1;
    var _6 = _2+4*_5;
    FHEAP[_6] = 1;
    var _7 = IHEAP[_0];
    var _8 = IHEAP[_3];
    var _9 = _8 << 1;
    var _10 = _9 + 2;
    var _11 = _7+4*_10;
    FHEAP[_11] = 1;
    var _12 = _transA+32;
    var _13 = FHEAP[_12];
    var _14 = _this+288+48;
    var _15 = FHEAP[_14];
    var _16 = _13 * _15;
    var _17 = _transA+32+4;
    var _18 = FHEAP[_17];
    var _19 = _this+288+48+4;
    var _20 = FHEAP[_19];
    var _21 = _18 * _20;
    var _22 = _16 + _21;
    var _23 = _transA+32+8;
    var _24 = FHEAP[_23];
    var _25 = _this+288+48+8;
    var _26 = FHEAP[_25];
    var _27 = _24 * _26;
    var _28 = _22 + _27;
    var _29 = _transA+16;
    var _30 = FHEAP[_29];
    var _31 = _30 * _15;
    var _32 = _transA+16+4;
    var _33 = FHEAP[_32];
    var _34 = _33 * _20;
    var _35 = _31 + _34;
    var _36 = _transA+16+8;
    var _37 = FHEAP[_36];
    var _38 = _37 * _26;
    var _39 = _35 + _38;
    var _40 = _transA;
    var _41 = FHEAP[_40];
    var _42 = _41 * _15;
    var _43 = _transA+4;
    var _44 = FHEAP[_43];
    var _45 = _44 * _20;
    var _46 = _42 + _45;
    var _47 = _transA+8;
    var _48 = FHEAP[_47];
    var _49 = _48 * _26;
    var _50 = _46 + _49;
    var _51 = _a1;
    FHEAP[_51] = _50;
    var _52 = _a1+4;
    FHEAP[_52] = _39;
    var _53 = _a1+8;
    FHEAP[_53] = _28;
    var _54 = _a1+12;
    FHEAP[_54] = 0;
    var _55 = _info+12;
    var _56 = IHEAP[_55];
    var _57 = IHEAP[_3];
    var _58 = _56+4*_57;
    var _59 = _57 << 1;
    var _60 = _56+4*_59;
    var _61 = 0 - _28;
    var _62 = 0 - _39;
    var _63 = 0 - _50;
    FHEAP[_56] = 0;
    var _64 = _56+4;
    FHEAP[_64] = _28;
    var _65 = _56+8;
    FHEAP[_65] = _62;
    var _66 = _56+12;
    FHEAP[_66] = 0;
    FHEAP[_58] = _61;
    var __sum = _57 + 1;
    var _67 = _56+4*__sum;
    FHEAP[_67] = 0;
    var __sum83 = _57 + 2;
    var _68 = _56+4*__sum83;
    FHEAP[_68] = _50;
    var __sum84 = _57 + 3;
    var _69 = _56+4*__sum84;
    FHEAP[_69] = 0;
    FHEAP[_60] = _39;
    var __sum8586 = _59 | 1;
    var _70 = _56+4*__sum8586;
    FHEAP[_70] = _63;
    var __sum87 = _59 + 2;
    var _71 = _56+4*__sum87;
    FHEAP[_71] = 0;
    var __sum88 = _59 + 3;
    var _72 = _56+4*__sum88;
    FHEAP[_72] = 0;
    var _73 = _transB+32;
    var _74 = FHEAP[_73];
    var _75 = _this+352+48;
    var _76 = FHEAP[_75];
    var _77 = _74 * _76;
    var _78 = _transB+32+4;
    var _79 = FHEAP[_78];
    var _80 = _this+352+48+4;
    var _81 = FHEAP[_80];
    var _82 = _79 * _81;
    var _83 = _77 + _82;
    var _84 = _transB+32+8;
    var _85 = FHEAP[_84];
    var _86 = _this+352+48+8;
    var _87 = FHEAP[_86];
    var _88 = _85 * _87;
    var _89 = _83 + _88;
    var _90 = _transB+16;
    var _91 = FHEAP[_90];
    var _92 = _91 * _76;
    var _93 = _transB+16+4;
    var _94 = FHEAP[_93];
    var _95 = _94 * _81;
    var _96 = _92 + _95;
    var _97 = _transB+16+8;
    var _98 = FHEAP[_97];
    var _99 = _98 * _87;
    var _100 = _96 + _99;
    var _101 = _transB;
    var _102 = FHEAP[_101];
    var _103 = _102 * _76;
    var _104 = _transB+4;
    var _105 = FHEAP[_104];
    var _106 = _105 * _81;
    var _107 = _103 + _106;
    var _108 = _transB+8;
    var _109 = FHEAP[_108];
    var _110 = _109 * _87;
    var _111 = _107 + _110;
    var _112 = _a2;
    FHEAP[_112] = _111;
    var _113 = _a2+4;
    FHEAP[_113] = _100;
    var _114 = _a2+8;
    FHEAP[_114] = _89;
    var _115 = _a2+12;
    FHEAP[_115] = 0;
    var _116 = _info+20;
    var _117 = IHEAP[_116];
    var _118 = IHEAP[_3];
    var _119 = _117+4*_118;
    var _120 = _118 << 1;
    var _121 = _117+4*_120;
    var _122 = 0 - _89;
    FHEAP[_117] = 0;
    var _123 = _117+4;
    FHEAP[_123] = _122;
    var _124 = _117+8;
    FHEAP[_124] = _100;
    var _125 = _117+12;
    FHEAP[_125] = 0;
    var _126 = 0 - _111;
    FHEAP[_119] = _89;
    var __sum89 = _118 + 1;
    var _127 = _117+4*__sum89;
    FHEAP[_127] = 0;
    var __sum90 = _118 + 2;
    var _128 = _117+4*__sum90;
    FHEAP[_128] = _126;
    var __sum91 = _118 + 3;
    var _129 = _117+4*__sum91;
    FHEAP[_129] = 0;
    var _130 = 0 - _100;
    FHEAP[_121] = _130;
    var __sum9293 = _120 | 1;
    var _131 = _117+4*__sum9293;
    FHEAP[_131] = _111;
    var __sum94 = _120 + 2;
    var _132 = _117+4*__sum94;
    FHEAP[_132] = 0;
    var __sum95 = _120 + 3;
    var _133 = _117+4*__sum95;
    FHEAP[_133] = 0;
    var _134 = _this+580;
    var _135 = IHEAP[_134];
    var _136 = _135 & 2;
    var _137 = _136 == 0;
    ;
    if (_137) {
      ;
      var _139 = _info+4;
      __lastLabel__ = 61; ;
    }
    else {
      ;
      var _138 = _this+588;
      __lastLabel__ = 60; ;
    }
    var _iftmp_176_0_in = __lastLabel__ == 60 ? _138 : (_139);
    var _iftmp_176_0 = FHEAP[_iftmp_176_0_in];
    var _140 = _info;
    var _141 = FHEAP[_140];
    var _142 = _141 * _iftmp_176_0;
    var _143 = _info+28;
    var _144 = _info+36;
    var _145 = _info+40;
    var _146 = _info+32;
    var _147 = _this+584;
    var _scevgep97 = _transB+48;
    var _scevgep99 = _transA+48;
    var _148 = IHEAP[_143];
    var _149 = FHEAP[_scevgep97];
    var _150 = _111 + _149;
    var _151 = _150 - _50;
    var _152 = FHEAP[_scevgep99];
    var _153 = _151 - _152;
    var _154 = _153 * _142;
    FHEAP[_148] = _154;
    var _155 = IHEAP[_144];
    FHEAP[_155] = -3.4028234663852886e+38;
    var _156 = IHEAP[_145];
    FHEAP[_156] = 3.4028234663852886e+38;
    var _157 = IHEAP[_134];
    var _158 = _157 & 1;
    var _toBool = _158 == 0;
    ;
    if (!_toBool) {
      ;
      var _159 = IHEAP[_146];
      var _160 = FHEAP[_147];
      FHEAP[_159] = _160;
      ;
    }
    var _scevgep97_1 = _transB+48+4;
    var _scevgep99_1 = _transA+48+4;
    var _161 = IHEAP[_143];
    var _162 = IHEAP[_3];
    var _163 = FHEAP[_scevgep97_1];
    var _164 = _100 + _163;
    var _165 = _164 - _39;
    var _166 = FHEAP[_scevgep99_1];
    var _167 = _165 - _166;
    var _168 = _167 * _142;
    var _169 = _161+4*_162;
    FHEAP[_169] = _168;
    var _170 = IHEAP[_144];
    var _171 = IHEAP[_3];
    var _172 = _170+4*_171;
    FHEAP[_172] = -3.4028234663852886e+38;
    var _173 = IHEAP[_145];
    var _174 = IHEAP[_3];
    var _175 = _173+4*_174;
    FHEAP[_175] = 3.4028234663852886e+38;
    var _176 = IHEAP[_134];
    var _177 = _176 & 1;
    var _toBool_1 = _177 == 0;
    ;
    if (!_toBool_1) {
      ;
      var _446 = IHEAP[_146];
      var _447 = IHEAP[_3];
      var _448 = FHEAP[_147];
      var _449 = _446+4*_447;
      FHEAP[_449] = _448;
      ;
    }
    var _scevgep97_2 = _transB+48+8;
    var _scevgep99_2 = _transA+48+8;
    var _426 = IHEAP[_143];
    var _427 = IHEAP[_3];
    var _428 = _427 << 1;
    var _429 = FHEAP[_scevgep97_2];
    var _430 = _89 + _429;
    var _431 = _430 - _28;
    var _432 = FHEAP[_scevgep99_2];
    var _433 = _431 - _432;
    var _434 = _433 * _142;
    var _435 = _426+4*_428;
    FHEAP[_435] = _434;
    var _436 = IHEAP[_144];
    var _437 = IHEAP[_3];
    var _438 = _437 << 1;
    var _439 = _436+4*_438;
    FHEAP[_439] = -3.4028234663852886e+38;
    var _440 = IHEAP[_145];
    var _441 = IHEAP[_3];
    var _442 = _441 << 1;
    var _443 = _440+4*_442;
    FHEAP[_443] = 3.4028234663852886e+38;
    var _444 = IHEAP[_134];
    var _445 = _444 & 1;
    var _toBool_2 = _445 == 0;
    ;
    if (!_toBool_2) {
      ;
      var _450 = IHEAP[_146];
      var _451 = IHEAP[_3];
      var _452 = _451 << 1;
      var _453 = FHEAP[_147];
      var _454 = _450+4*_452;
      FHEAP[_454] = _453;
      ;
    }
    var _178 = IHEAP[_3];
    var _179 = _178 * 3;
    var _180 = _this+514;
    var _181 = IHEAP[_180];
    var _toBool11 = _181 == 0;
    ;
    _bb19$_bb12$14742: do { 
      if (_toBool11) {
        __lastLabel__ = 150; ;
      }
      else {
        __lastLabel__ = 150; ;
        var _182 = IHEAP[_55];
        var _183 = IHEAP[_116];
        var _184 = _this+432;
        var _185 = FHEAP[_184];
        var _186 = _this+444;
        var _187 = FHEAP[_186];
        var _188 = _185 >= _187;
        ;
        _bb15$_bb13$14744: do { 
          if (!_188) {
            ;
            var _189 = _this+436;
            var _190 = FHEAP[_189];
            var _191 = _190 >= _187;
            if (_191) { __label__ = 153; /* _bb15 */ break _bb15$_bb13$14744; }
            var _192 = FHEAP[_12];
            var _193 = FHEAP[_17];
            var _194 = FHEAP[_23];
            var _195 = FHEAP[_29];
            var _196 = FHEAP[_32];
            var _197 = FHEAP[_36];
            var _198 = FHEAP[_40];
            var _199 = FHEAP[_43];
            var _200 = FHEAP[_47];
            var _201 = _this+288+8;
            var _202 = FHEAP[_201];
            var _203 = _202 * _192;
            var _204 = _this+288+16+8;
            var _205 = FHEAP[_204];
            var _206 = _205 * _193;
            var _207 = _203 + _206;
            var _208 = _this+288+32+8;
            var _209 = FHEAP[_208];
            var _210 = _209 * _194;
            var _211 = _207 + _210;
            var _212 = _this+288+4;
            var _213 = FHEAP[_212];
            var _214 = _213 * _192;
            var _215 = _this+288+16+4;
            var _216 = FHEAP[_215];
            var _217 = _216 * _193;
            var _218 = _214 + _217;
            var _219 = _this+288+32+4;
            var _220 = FHEAP[_219];
            var _221 = _220 * _194;
            var _222 = _218 + _221;
            var _223 = _202 * _195;
            var _224 = _205 * _196;
            var _225 = _223 + _224;
            var _226 = _209 * _197;
            var _227 = _225 + _226;
            var _228 = _213 * _195;
            var _229 = _216 * _196;
            var _230 = _228 + _229;
            var _231 = _220 * _197;
            var _232 = _230 + _231;
            var _233 = _202 * _198;
            var _234 = _205 * _199;
            var _235 = _233 + _234;
            var _236 = _209 * _200;
            var _237 = _235 + _236;
            var _238 = _213 * _198;
            var _239 = _216 * _199;
            var _240 = _238 + _239;
            var _241 = _220 * _200;
            var _242 = _240 + _241;
            var _243 = _178 + _179;
            var _244 = _182+4*_179;
            FHEAP[_244] = _242;
            var _245 = _179 + 1;
            var _246 = _182+4*_245;
            FHEAP[_246] = _232;
            var _247 = _179 + 2;
            var _248 = _182+4*_247;
            FHEAP[_248] = _222;
            var _249 = _182+4*_243;
            FHEAP[_249] = _237;
            var _250 = _243 + 1;
            var _251 = _182+4*_250;
            FHEAP[_251] = _227;
            var _252 = _243 + 2;
            var _253 = _182+4*_252;
            FHEAP[_253] = _211;
            var _254 = 0 - _242;
            var _255 = _183+4*_179;
            FHEAP[_255] = _254;
            var _256 = 0 - _232;
            var _257 = _183+4*_245;
            FHEAP[_257] = _256;
            var _258 = 0 - _222;
            var _259 = _183+4*_247;
            FHEAP[_259] = _258;
            var _260 = 0 - _237;
            var _261 = _183+4*_243;
            FHEAP[_261] = _260;
            var _262 = 0 - _227;
            var _263 = _183+4*_250;
            FHEAP[_263] = _262;
            var _264 = 0 - _211;
            var _265 = _183+4*_252;
            FHEAP[_265] = _264;
            var _266 = FHEAP[_140];
            var _267 = _this+424;
            var _268 = FHEAP[_267];
            var _269 = _266 * _268;
            var _270 = _info+28;
            var _271 = IHEAP[_270];
            var _272 = _this+448;
            var _273 = FHEAP[_272];
            var _274 = _273 * _242;
            var _275 = _this+448+4;
            var _276 = FHEAP[_275];
            var _277 = _276 * _232;
            var _278 = _274 + _277;
            var _279 = _this+448+8;
            var _280 = FHEAP[_279];
            var _281 = _280 * _222;
            var _282 = _278 + _281;
            var _283 = _282 * _269;
            var _284 = _271+4*_179;
            FHEAP[_284] = _283;
            var _285 = IHEAP[_270];
            var _286 = FHEAP[_272];
            var _287 = _286 * _237;
            var _288 = FHEAP[_275];
            var _289 = _288 * _227;
            var _290 = _287 + _289;
            var _291 = FHEAP[_279];
            var _292 = _291 * _211;
            var _293 = _290 + _292;
            var _294 = _293 * _269;
            var _295 = _285+4*_243;
            FHEAP[_295] = _294;
            var _296 = _info+36;
            var _297 = IHEAP[_296];
            var _298 = _297+4*_179;
            FHEAP[_298] = -3.4028234663852886e+38;
            var _299 = _info+40;
            var _300 = IHEAP[_299];
            var _301 = _300+4*_179;
            FHEAP[_301] = 3.4028234663852886e+38;
            var _302 = IHEAP[_296];
            var _303 = _302+4*_243;
            FHEAP[_303] = -3.4028234663852886e+38;
            var _304 = IHEAP[_299];
            var _305 = _304+4*_243;
            FHEAP[_305] = 3.4028234663852886e+38;
            var _306 = IHEAP[_3];
            var _307 = _306 + _243;
            __lastLabel__ = 63; __label__ = 64; /* _bb19 */ break _bb19$_bb12$14742;
          }
        } while(0);
        var _308 = _this+424;
        var _309 = _this+448+8;
        var _310 = FHEAP[_309];
        var _311 = FHEAP[_308];
        var _312 = _310 * _311;
        var _313 = _this+448+4;
        var _314 = FHEAP[_313];
        var _315 = _314 * _311;
        var _316 = _this+448;
        var _317 = FHEAP[_316];
        var _318 = _317 * _311;
        var _319 = _312 * _311;
        var _320 = _315 * _311;
        var _321 = _318 * _311;
        var _322 = _182+4*_179;
        FHEAP[_322] = _321;
        var _323 = _179 + 1;
        var _324 = _182+4*_323;
        FHEAP[_324] = _320;
        var _325 = _179 + 2;
        var _326 = _182+4*_325;
        FHEAP[_326] = _319;
        var _327 = 0 - _321;
        var _328 = _183+4*_179;
        FHEAP[_328] = _327;
        var _329 = 0 - _320;
        var _330 = _183+4*_323;
        FHEAP[_330] = _329;
        var _331 = 0 - _319;
        var _332 = _183+4*_325;
        FHEAP[_332] = _331;
        var _333 = FHEAP[_140];
        var _334 = _this+420;
        var _335 = FHEAP[_334];
        var _336 = _333 * _335;
        var _337 = _info+28;
        var _338 = IHEAP[_337];
        var _339 = _this+492;
        var _340 = FHEAP[_339];
        var _341 = _340 * _336;
        var _342 = _338+4*_179;
        FHEAP[_342] = _341;
        var _343 = IHEAP[_134];
        var _344 = _343 & 4;
        var _345 = _344 == 0;
        ;
        if (!_345) {
          ;
          var _346 = _info+32;
          var _347 = IHEAP[_346];
          var _348 = _this+592;
          var _349 = FHEAP[_348];
          var _350 = _347+4*_179;
          FHEAP[_350] = _349;
          ;
        }
        var _351 = _info+36;
        var _352 = IHEAP[_351];
        var _353 = _352+4*_179;
        FHEAP[_353] = 0;
        var _354 = _info+40;
        var _355 = IHEAP[_354];
        var _356 = _355+4*_179;
        FHEAP[_356] = 3.4028234663852886e+38;
        var _357 = IHEAP[_3];
        var _358 = _357 + _179;
        __lastLabel__ = 86; ;
      }
    } while(0);
    var _srow_0 = __lastLabel__ == 86 ? _358 : (__lastLabel__ == 63 ? _307 : (_179));
    var _359 = _this+513;
    var _360 = IHEAP[_359];
    var _toBool20 = _360 == 0;
    ;
    if (_toBool20) {
      ;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      var _361 = _this+424;
      var _362 = _this+464+8;
      var _363 = FHEAP[_362];
      var _364 = FHEAP[_361];
      var _365 = _363 * _364;
      var _366 = _this+464+4;
      var _367 = FHEAP[_366];
      var _368 = _367 * _364;
      var _369 = _this+464;
      var _370 = FHEAP[_369];
      var _371 = _370 * _364;
      var _372 = _365 * _364;
      var _373 = _368 * _364;
      var _374 = _371 * _364;
      var _375 = IHEAP[_55];
      var _376 = IHEAP[_116];
      var _377 = _375+4*_srow_0;
      FHEAP[_377] = _374;
      var _378 = _srow_0 + 1;
      var _379 = _375+4*_378;
      FHEAP[_379] = _373;
      var _380 = _srow_0 + 2;
      var _381 = _375+4*_380;
      FHEAP[_381] = _372;
      var _382 = 0 - _374;
      var _383 = _376+4*_srow_0;
      FHEAP[_383] = _382;
      var _384 = 0 - _373;
      var _385 = _376+4*_378;
      FHEAP[_385] = _384;
      var _386 = 0 - _372;
      var _387 = _376+4*_380;
      FHEAP[_387] = _386;
      var _388 = FHEAP[_140];
      var _389 = _this+420;
      var _390 = FHEAP[_389];
      var _391 = _388 * _390;
      var _392 = _info+28;
      var _393 = IHEAP[_392];
      var _394 = _this+496;
      var _395 = FHEAP[_394];
      var _396 = _395 * _391;
      var _397 = _393+4*_srow_0;
      FHEAP[_397] = _396;
      var _398 = IHEAP[_134];
      var _399 = _398 & 4;
      var _400 = _399 == 0;
      ;
      if (!_400) {
        ;
        var _401 = _info+32;
        var _402 = IHEAP[_401];
        var _403 = _this+592;
        var _404 = FHEAP[_403];
        var _405 = _402+4*_srow_0;
        FHEAP[_405] = _404;
        ;
      }
      var _406 = _this+440;
      var _407 = FHEAP[_406];
      var _408 = _407 > 0;
      ;
      if (_408) {
        ;
        var _409 = FHEAP[_394];
        var _410 = _409 > 0;
        var _411 = _info+36;
        var _412 = IHEAP[_411];
        var _413 = _412+4*_srow_0;
        ;
        if (_410) {
          ;
          FHEAP[_413] = 0;
          var _414 = _info+40;
          var _415 = IHEAP[_414];
          var _416 = _415+4*_srow_0;
          FHEAP[_416] = 3.4028234663852886e+38;
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          FHEAP[_413] = -3.4028234663852886e+38;
          var _417 = _info+40;
          var _418 = IHEAP[_417];
          var _419 = _418+4*_srow_0;
          FHEAP[_419] = 0;
          STACKTOP = __stackBase__;
          return;
        }
      }
      else {
        ;
        var _420 = _info+36;
        var _421 = IHEAP[_420];
        var _422 = _421+4*_srow_0;
        FHEAP[_422] = -3.4028234663852886e+38;
        var _423 = _info+40;
        var _424 = IHEAP[_423];
        var _425 = _424+4*_srow_0;
        FHEAP[_425] = 3.4028234663852886e+38;
        STACKTOP = __stackBase__;
        return;
      }
    }
  }
  __ZN21btConeTwistConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK11btMatrix3x3S8_.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK11btMatrix3x3S8_, "__ZN21btConeTwistConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK11btMatrix3x3S8_");
  
  
  function __ZN21btConeTwistConstraintC2ER11btRigidBodyRK11btTransform(_this, _rbA, _rbAFrame) {
    ;
    var __label__;
    var _0 = _this;
    __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBody(_0, 5, _rbA);
    var _1 = _this;
    IHEAP[_1] = __ZTV21btConeTwistConstraint+8;
    var _2 = _this+288;
    var _3 = _rbAFrame;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _this+288+4;
    var _6 = _rbAFrame+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _this+288+8;
    var _9 = _rbAFrame+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _this+288+12;
    var _12 = _rbAFrame+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _this+288+16;
    var _15 = _rbAFrame+16;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _this+288+16+4;
    var _18 = _rbAFrame+16+4;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _this+288+16+8;
    var _21 = _rbAFrame+16+8;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _this+288+16+12;
    var _24 = _rbAFrame+16+12;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _this+288+32;
    var _27 = _rbAFrame+32;
    var _28 = FHEAP[_27];
    FHEAP[_26] = _28;
    var _29 = _this+288+32+4;
    var _30 = _rbAFrame+32+4;
    var _31 = FHEAP[_30];
    FHEAP[_29] = _31;
    var _32 = _this+288+32+8;
    var _33 = _rbAFrame+32+8;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _this+288+32+12;
    var _36 = _rbAFrame+32+12;
    var _37 = FHEAP[_36];
    FHEAP[_35] = _37;
    var _38 = _this+288+48;
    var _39 = _rbAFrame+48;
    var _40 = FHEAP[_39];
    FHEAP[_38] = _40;
    var _41 = _this+288+48+4;
    var _42 = _rbAFrame+48+4;
    var _43 = FHEAP[_42];
    FHEAP[_41] = _43;
    var _44 = _this+288+48+8;
    var _45 = _rbAFrame+48+8;
    var _46 = FHEAP[_45];
    FHEAP[_44] = _46;
    var _47 = _this+288+48+12;
    var _48 = _rbAFrame+48+12;
    var _49 = FHEAP[_48];
    FHEAP[_47] = _49;
    var _50 = _this+512;
    var _51 = _this+515;
    IHEAP[_51] = 0;
    var _52 = _this+352;
    FHEAP[_52] = _4;
    var _53 = _this+352+4;
    FHEAP[_53] = _7;
    var _54 = _this+352+8;
    FHEAP[_54] = _10;
    var _55 = _this+352+12;
    FHEAP[_55] = _13;
    var _56 = _this+352+16;
    FHEAP[_56] = _16;
    var _57 = _this+352+16+4;
    FHEAP[_57] = _19;
    var _58 = _this+352+16+8;
    FHEAP[_58] = _22;
    var _59 = _this+352+16+12;
    FHEAP[_59] = _25;
    var _60 = _this+352+32;
    FHEAP[_60] = _28;
    var _61 = _this+352+32+4;
    FHEAP[_61] = _31;
    var _62 = _this+352+32+8;
    FHEAP[_62] = _34;
    var _63 = _this+352+32+12;
    FHEAP[_63] = _37;
    var _64 = _this+352+48;
    FHEAP[_64] = _40;
    var _65 = _this+352+48+4;
    FHEAP[_65] = _43;
    var _66 = _this+352+48+8;
    FHEAP[_66] = _46;
    var _67 = _this+352+48+12;
    FHEAP[_67] = _49;
    IHEAP[_50] = 0;
    var _68 = _this+513;
    IHEAP[_68] = 0;
    var _69 = _this+514;
    IHEAP[_69] = 0;
    var _70 = _this+540;
    IHEAP[_70] = 0;
    var _71 = _this+560;
    FHEAP[_71] = -1;
    var _72 = _this+432;
    FHEAP[_72] = 999999984306749400;
    var _73 = _this+436;
    FHEAP[_73] = 999999984306749400;
    var _74 = _this+440;
    FHEAP[_74] = 999999984306749400;
    var _75 = _this+416;
    FHEAP[_75] = 1;
    var _76 = _this+420;
    FHEAP[_76] = 0.30000001192092896;
    var _77 = _this+424;
    FHEAP[_77] = 1;
    var _78 = _this+428;
    FHEAP[_78] = 0.009999999776482582;
    var _79 = _this+444;
    FHEAP[_79] = 0.05000000074505806;
    var _80 = _this+580;
    IHEAP[_80] = 0;
    var _81 = _this+584;
    FHEAP[_81] = 0;
    var _82 = _this+588;
    FHEAP[_82] = 0.699999988079071;
    var _83 = _this+592;
    FHEAP[_83] = 0;
    ;
    return;
  }
  __ZN21btConeTwistConstraintC2ER11btRigidBodyRK11btTransform.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraintC2ER11btRigidBodyRK11btTransform, "__ZN21btConeTwistConstraintC2ER11btRigidBodyRK11btTransform");
  
  
  function __ZN21btConeTwistConstraintC1ER11btRigidBodyRK11btTransform(_this, _rbA, _rbAFrame) {
    ;
    var __label__;
    var _0 = _this;
    __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBody(_0, 5, _rbA);
    var _1 = _this;
    IHEAP[_1] = __ZTV21btConeTwistConstraint+8;
    var _2 = _this+288;
    var _3 = _rbAFrame;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _this+288+4;
    var _6 = _rbAFrame+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _this+288+8;
    var _9 = _rbAFrame+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _this+288+12;
    var _12 = _rbAFrame+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _this+288+16;
    var _15 = _rbAFrame+16;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _this+288+16+4;
    var _18 = _rbAFrame+16+4;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _this+288+16+8;
    var _21 = _rbAFrame+16+8;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _this+288+16+12;
    var _24 = _rbAFrame+16+12;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _this+288+32;
    var _27 = _rbAFrame+32;
    var _28 = FHEAP[_27];
    FHEAP[_26] = _28;
    var _29 = _this+288+32+4;
    var _30 = _rbAFrame+32+4;
    var _31 = FHEAP[_30];
    FHEAP[_29] = _31;
    var _32 = _this+288+32+8;
    var _33 = _rbAFrame+32+8;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _this+288+32+12;
    var _36 = _rbAFrame+32+12;
    var _37 = FHEAP[_36];
    FHEAP[_35] = _37;
    var _38 = _this+288+48;
    var _39 = _rbAFrame+48;
    var _40 = FHEAP[_39];
    FHEAP[_38] = _40;
    var _41 = _this+288+48+4;
    var _42 = _rbAFrame+48+4;
    var _43 = FHEAP[_42];
    FHEAP[_41] = _43;
    var _44 = _this+288+48+8;
    var _45 = _rbAFrame+48+8;
    var _46 = FHEAP[_45];
    FHEAP[_44] = _46;
    var _47 = _this+288+48+12;
    var _48 = _rbAFrame+48+12;
    var _49 = FHEAP[_48];
    FHEAP[_47] = _49;
    var _50 = _this+512;
    var _51 = _this+515;
    IHEAP[_51] = 0;
    var _52 = _this+352;
    FHEAP[_52] = _4;
    var _53 = _this+352+4;
    FHEAP[_53] = _7;
    var _54 = _this+352+8;
    FHEAP[_54] = _10;
    var _55 = _this+352+12;
    FHEAP[_55] = _13;
    var _56 = _this+352+16;
    FHEAP[_56] = _16;
    var _57 = _this+352+16+4;
    FHEAP[_57] = _19;
    var _58 = _this+352+16+8;
    FHEAP[_58] = _22;
    var _59 = _this+352+16+12;
    FHEAP[_59] = _25;
    var _60 = _this+352+32;
    FHEAP[_60] = _28;
    var _61 = _this+352+32+4;
    FHEAP[_61] = _31;
    var _62 = _this+352+32+8;
    FHEAP[_62] = _34;
    var _63 = _this+352+32+12;
    FHEAP[_63] = _37;
    var _64 = _this+352+48;
    FHEAP[_64] = _40;
    var _65 = _this+352+48+4;
    FHEAP[_65] = _43;
    var _66 = _this+352+48+8;
    FHEAP[_66] = _46;
    var _67 = _this+352+48+12;
    FHEAP[_67] = _49;
    IHEAP[_50] = 0;
    var _68 = _this+513;
    IHEAP[_68] = 0;
    var _69 = _this+514;
    IHEAP[_69] = 0;
    var _70 = _this+540;
    IHEAP[_70] = 0;
    var _71 = _this+560;
    FHEAP[_71] = -1;
    var _72 = _this+432;
    FHEAP[_72] = 999999984306749400;
    var _73 = _this+436;
    FHEAP[_73] = 999999984306749400;
    var _74 = _this+440;
    FHEAP[_74] = 999999984306749400;
    var _75 = _this+416;
    FHEAP[_75] = 1;
    var _76 = _this+420;
    FHEAP[_76] = 0.30000001192092896;
    var _77 = _this+424;
    FHEAP[_77] = 1;
    var _78 = _this+428;
    FHEAP[_78] = 0.009999999776482582;
    var _79 = _this+444;
    FHEAP[_79] = 0.05000000074505806;
    var _80 = _this+580;
    IHEAP[_80] = 0;
    var _81 = _this+584;
    FHEAP[_81] = 0;
    var _82 = _this+588;
    FHEAP[_82] = 0.699999988079071;
    var _83 = _this+592;
    FHEAP[_83] = 0;
    ;
    return;
  }
  __ZN21btConeTwistConstraintC1ER11btRigidBodyRK11btTransform.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraintC1ER11btRigidBodyRK11btTransform, "__ZN21btConeTwistConstraintC1ER11btRigidBodyRK11btTransform");
  
  
  function __ZN19btContactConstraintC2EP20btPersistentManifoldR11btRigidBodyS3_(_this, _contactManifold, _rbA, _rbB) {
    ;
    var __label__;
    var _0 = _this;
    __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBodyS2_(_0, 8, _rbA, _rbB);
    var _1 = _this;
    IHEAP[_1] = __ZTV19btContactConstraint+8;
    var _2 = _this+36;
    var _3 = _2;
    var _4 = _contactManifold;
    _llvm_memcpy_p0i8_p0i8_i32(_3, _4, 1140, 4, false);
    ;
    return;
  }
  __ZN19btContactConstraintC2EP20btPersistentManifoldR11btRigidBodyS3_.__index__ = Runtime.getFunctionIndex(__ZN19btContactConstraintC2EP20btPersistentManifoldR11btRigidBodyS3_, "__ZN19btContactConstraintC2EP20btPersistentManifoldR11btRigidBodyS3_");
  
  
  function __ZN19btContactConstraint18setContactManifoldEP20btPersistentManifold(_this, _contactManifold) {
    ;
    var __label__;
    var _0 = _this+36;
    var _1 = _0;
    var _2 = _contactManifold;
    _llvm_memcpy_p0i8_p0i8_i32(_1, _2, 1140, 4, false);
    ;
    return;
  }
  __ZN19btContactConstraint18setContactManifoldEP20btPersistentManifold.__index__ = Runtime.getFunctionIndex(__ZN19btContactConstraint18setContactManifoldEP20btPersistentManifold, "__ZN19btContactConstraint18setContactManifoldEP20btPersistentManifold");
  
  
  function __Z22resolveSingleBilateralR11btRigidBodyRK9btVector3S0_S3_fS3_Rff(_body1, _pos1, _body2, _pos2, _distance, _normal, _impulse, _timeStep) {
    ;
    var __label__;
    var _0 = _normal;
    var _1 = FHEAP[_0];
    var _2 = _1 * _1;
    var _3 = _normal+4;
    var _4 = FHEAP[_3];
    var _5 = _4 * _4;
    var _6 = _2 + _5;
    var _7 = _normal+8;
    var _8 = FHEAP[_7];
    var _9 = _8 * _8;
    var _10 = _6 + _9;
    var _11 = _10 > 1.100000023841858;
    ;
    if (_11) {
      ;
      FHEAP[_impulse] = 0;
      ;
      return;
    }
    else {
      ;
      var _12 = _pos1+8;
      var _13 = FHEAP[_12];
      var _14 = _body1+4+48+8;
      var _15 = FHEAP[_14];
      var _16 = _13 - _15;
      var _17 = _pos1+4;
      var _18 = FHEAP[_17];
      var _19 = _body1+4+48+4;
      var _20 = FHEAP[_19];
      var _21 = _18 - _20;
      var _22 = _pos1;
      var _23 = FHEAP[_22];
      var _24 = _body1+4+48;
      var _25 = FHEAP[_24];
      var _26 = _23 - _25;
      var _27 = _pos2+8;
      var _28 = FHEAP[_27];
      var _29 = _body2+4+48+8;
      var _30 = FHEAP[_29];
      var _31 = _28 - _30;
      var _32 = _pos2+4;
      var _33 = FHEAP[_32];
      var _34 = _body2+4+48+4;
      var _35 = FHEAP[_34];
      var _36 = _33 - _35;
      var _37 = _pos2;
      var _38 = FHEAP[_37];
      var _39 = _body2+4+48;
      var _40 = FHEAP[_39];
      var _41 = _38 - _40;
      var _42 = _body1+320;
      var _43 = FHEAP[_42];
      var _44 = _43 * _21;
      var _45 = _body1+320+4;
      var _46 = FHEAP[_45];
      var _47 = _46 * _26;
      var _48 = _44 - _47;
      var _49 = _body1+320+8;
      var _50 = FHEAP[_49];
      var _51 = _50 * _26;
      var _52 = _43 * _16;
      var _53 = _51 - _52;
      var _54 = _46 * _16;
      var _55 = _50 * _21;
      var _56 = _54 - _55;
      var _57 = _body1+304+8;
      var _58 = FHEAP[_57];
      var _59 = _58 + _48;
      var _60 = _body1+304+4;
      var _61 = FHEAP[_60];
      var _62 = _61 + _53;
      var _63 = _body1+304;
      var _64 = FHEAP[_63];
      var _65 = _64 + _56;
      var _66 = _body2+320;
      var _67 = FHEAP[_66];
      var _68 = _67 * _36;
      var _69 = _body2+320+4;
      var _70 = FHEAP[_69];
      var _71 = _70 * _41;
      var _72 = _68 - _71;
      var _73 = _body2+320+8;
      var _74 = FHEAP[_73];
      var _75 = _74 * _41;
      var _76 = _67 * _31;
      var _77 = _75 - _76;
      var _78 = _70 * _31;
      var _79 = _74 * _36;
      var _80 = _78 - _79;
      var _81 = _body2+304+8;
      var _82 = FHEAP[_81];
      var _83 = _82 + _72;
      var _84 = _body2+304+4;
      var _85 = FHEAP[_84];
      var _86 = _85 + _77;
      var _87 = _body2+304;
      var _88 = FHEAP[_87];
      var _89 = _88 + _80;
      var _90 = _59 - _83;
      var _91 = _62 - _86;
      var _92 = _65 - _89;
      var _93 = _body2+336;
      var _94 = FHEAP[_93];
      var _95 = _body1+336;
      var _96 = FHEAP[_95];
      var _97 = _body2+4+32+8;
      var _98 = _body2+4+16+8;
      var _99 = _body2+4+8;
      var _100 = _body2+4+32+4;
      var _101 = _body2+4+16+4;
      var _102 = _body2+4+4;
      var _103 = _body2+4+32;
      var _104 = _body2+4+16;
      var _105 = _body2+4;
      var _106 = FHEAP[_105];
      var _107 = FHEAP[_104];
      var _108 = FHEAP[_103];
      var _109 = FHEAP[_102];
      var _110 = FHEAP[_101];
      var _111 = FHEAP[_100];
      var _112 = FHEAP[_99];
      var _113 = FHEAP[_98];
      var _114 = FHEAP[_97];
      var _115 = _body1+4+32+8;
      var _116 = _body1+4+16+8;
      var _117 = _body1+4+8;
      var _118 = _body1+4+32+4;
      var _119 = _body1+4+16+4;
      var _120 = _body1+4+4;
      var _121 = _body1+4+32;
      var _122 = _body1+4+16;
      var _123 = _body1+4;
      var _124 = FHEAP[_123];
      var _125 = FHEAP[_122];
      var _126 = FHEAP[_121];
      var _127 = FHEAP[_120];
      var _128 = FHEAP[_119];
      var _129 = FHEAP[_118];
      var _130 = FHEAP[_117];
      var _131 = FHEAP[_116];
      var _132 = FHEAP[_115];
      var _133 = _26 * _4;
      var _134 = _21 * _1;
      var _135 = _133 - _134;
      var _136 = _16 * _1;
      var _137 = _26 * _8;
      var _138 = _136 - _137;
      var _139 = _21 * _8;
      var _140 = _16 * _4;
      var _141 = _139 - _140;
      var _142 = _130 * _141;
      var _143 = _131 * _138;
      var _144 = _142 + _143;
      var _145 = _132 * _135;
      var _146 = _144 + _145;
      var _147 = _127 * _141;
      var _148 = _128 * _138;
      var _149 = _147 + _148;
      var _150 = _129 * _135;
      var _151 = _149 + _150;
      var _152 = _124 * _141;
      var _153 = _125 * _138;
      var _154 = _152 + _153;
      var _155 = _126 * _135;
      var _156 = _154 + _155;
      var _157 = 0 - _8;
      var _158 = 0 - _4;
      var _159 = 0 - _1;
      var _160 = _41 * _158;
      var _161 = _36 * _159;
      var _162 = _160 - _161;
      var _163 = _31 * _159;
      var _164 = _41 * _157;
      var _165 = _163 - _164;
      var _166 = _36 * _157;
      var _167 = _31 * _158;
      var _168 = _166 - _167;
      var _169 = _112 * _168;
      var _170 = _113 * _165;
      var _171 = _169 + _170;
      var _172 = _114 * _162;
      var _173 = _171 + _172;
      var _174 = _109 * _168;
      var _175 = _110 * _165;
      var _176 = _174 + _175;
      var _177 = _111 * _162;
      var _178 = _176 + _177;
      var _179 = _106 * _168;
      var _180 = _107 * _165;
      var _181 = _179 + _180;
      var _182 = _108 * _162;
      var _183 = _181 + _182;
      var _184 = _body1+388+8;
      var _185 = FHEAP[_184];
      var _186 = _185 * _146;
      var _187 = _body1+388+4;
      var _188 = FHEAP[_187];
      var _189 = _188 * _151;
      var _190 = _body1+388;
      var _191 = FHEAP[_190];
      var _192 = _191 * _156;
      var _193 = _body2+388+8;
      var _194 = FHEAP[_193];
      var _195 = _194 * _173;
      var _196 = _body2+388+4;
      var _197 = FHEAP[_196];
      var _198 = _197 * _178;
      var _199 = _body2+388;
      var _200 = FHEAP[_199];
      var _201 = _200 * _183;
      var _202 = _192 * _156;
      var _203 = _189 * _151;
      var _204 = _202 + _203;
      var _205 = _186 * _146;
      var _206 = _204 + _205;
      var _207 = _206 + _96;
      var _208 = _207 + _94;
      var _209 = _201 * _183;
      var _210 = _198 * _178;
      var _211 = _209 + _210;
      var _212 = _195 * _173;
      var _213 = _211 + _212;
      var _214 = _208 + _213;
      var _215 = 1 / _214;
      var _216 = _1 * _92;
      var _217 = _4 * _91;
      var _218 = _216 + _217;
      var _219 = _8 * _90;
      var _220 = _218 + _219;
      var _221 = _220 * -0.20000000298023224;
      var _222 = _221 * _215;
      FHEAP[_impulse] = _222;
      ;
      return;
    }
  }
  __Z22resolveSingleBilateralR11btRigidBodyRK9btVector3S0_S3_fS3_Rff.__index__ = Runtime.getFunctionIndex(__Z22resolveSingleBilateralR11btRigidBodyRK9btVector3S0_S3_fS3_Rff, "__Z22resolveSingleBilateralR11btRigidBodyRK9btVector3S0_S3_fS3_Rff");
  
  
  function __ZN19btContactConstraintD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV19btContactConstraint+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN19btContactConstraintD0Ev.__index__ = Runtime.getFunctionIndex(__ZN19btContactConstraintD0Ev, "__ZN19btContactConstraintD0Ev");
  
  
  function __ZN19btContactConstraintD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV19btContactConstraint+8;
    ;
    return;
  }
  __ZN19btContactConstraintD1Ev.__index__ = Runtime.getFunctionIndex(__ZN19btContactConstraintD1Ev, "__ZN19btContactConstraintD1Ev");
  
  
  function __ZN19btContactConstraintD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV19btContactConstraint+8;
    ;
    return;
  }
  __ZN19btContactConstraintD2Ev.__index__ = Runtime.getFunctionIndex(__ZN19btContactConstraintD2Ev, "__ZN19btContactConstraintD2Ev");
  
  
  function __ZN19btContactConstraintC1EP20btPersistentManifoldR11btRigidBodyS3_(_this, _contactManifold, _rbA, _rbB) {
    ;
    var __label__;
    var _0 = _this;
    __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBodyS2_(_0, 8, _rbA, _rbB);
    var _1 = _this;
    IHEAP[_1] = __ZTV19btContactConstraint+8;
    var _2 = _this+36;
    var _3 = _2;
    var _4 = _contactManifold;
    _llvm_memcpy_p0i8_p0i8_i32(_3, _4, 1140, 4, false);
    ;
    return;
  }
  __ZN19btContactConstraintC1EP20btPersistentManifoldR11btRigidBodyS3_.__index__ = Runtime.getFunctionIndex(__ZN19btContactConstraintC1EP20btPersistentManifoldR11btRigidBodyS3_, "__ZN19btContactConstraintC1EP20btPersistentManifoldR11btRigidBodyS3_");
  
  
  function __ZN23btGeneric6DofConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b(_this, _rbA, _rbB, _frameInA, _frameInB, _useLinearReferenceFrameA) {
    ;
    var __label__;
    var _0 = _this;
    __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBodyS2_(_0, 6, _rbA, _rbB);
    var _1 = _this;
    IHEAP[_1] = __ZTV23btGeneric6DofConstraint+8;
    var _2 = _this+36;
    var _3 = _frameInA;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _this+36+4;
    var _6 = _frameInA+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _this+36+8;
    var _9 = _frameInA+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _this+36+12;
    var _12 = _frameInA+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _this+36+16;
    var _15 = _frameInA+16;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _this+36+16+4;
    var _18 = _frameInA+16+4;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _this+36+16+8;
    var _21 = _frameInA+16+8;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _this+36+16+12;
    var _24 = _frameInA+16+12;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _this+36+32;
    var _27 = _frameInA+32;
    var _28 = FHEAP[_27];
    FHEAP[_26] = _28;
    var _29 = _this+36+32+4;
    var _30 = _frameInA+32+4;
    var _31 = FHEAP[_30];
    FHEAP[_29] = _31;
    var _32 = _this+36+32+8;
    var _33 = _frameInA+32+8;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _this+36+32+12;
    var _36 = _frameInA+32+12;
    var _37 = FHEAP[_36];
    FHEAP[_35] = _37;
    var _38 = _this+36+48;
    var _39 = _frameInA+48;
    var _40 = FHEAP[_39];
    FHEAP[_38] = _40;
    var _41 = _this+36+48+4;
    var _42 = _frameInA+48+4;
    var _43 = FHEAP[_42];
    FHEAP[_41] = _43;
    var _44 = _this+36+48+8;
    var _45 = _frameInA+48+8;
    var _46 = FHEAP[_45];
    FHEAP[_44] = _46;
    var _47 = _this+36+48+12;
    var _48 = _frameInA+48+12;
    var _49 = FHEAP[_48];
    FHEAP[_47] = _49;
    var _50 = _this+100;
    var _51 = _frameInB;
    var _52 = FHEAP[_51];
    FHEAP[_50] = _52;
    var _53 = _this+100+4;
    var _54 = _frameInB+4;
    var _55 = FHEAP[_54];
    FHEAP[_53] = _55;
    var _56 = _this+100+8;
    var _57 = _frameInB+8;
    var _58 = FHEAP[_57];
    FHEAP[_56] = _58;
    var _59 = _this+100+12;
    var _60 = _frameInB+12;
    var _61 = FHEAP[_60];
    FHEAP[_59] = _61;
    var _62 = _this+100+16;
    var _63 = _frameInB+16;
    var _64 = FHEAP[_63];
    FHEAP[_62] = _64;
    var _65 = _this+100+16+4;
    var _66 = _frameInB+16+4;
    var _67 = FHEAP[_66];
    FHEAP[_65] = _67;
    var _68 = _this+100+16+8;
    var _69 = _frameInB+16+8;
    var _70 = FHEAP[_69];
    FHEAP[_68] = _70;
    var _71 = _this+100+16+12;
    var _72 = _frameInB+16+12;
    var _73 = FHEAP[_72];
    FHEAP[_71] = _73;
    var _74 = _this+100+32;
    var _75 = _frameInB+32;
    var _76 = FHEAP[_75];
    FHEAP[_74] = _76;
    var _77 = _this+100+32+4;
    var _78 = _frameInB+32+4;
    var _79 = FHEAP[_78];
    FHEAP[_77] = _79;
    var _80 = _this+100+32+8;
    var _81 = _frameInB+32+8;
    var _82 = FHEAP[_81];
    FHEAP[_80] = _82;
    var _83 = _this+100+32+12;
    var _84 = _frameInB+32+12;
    var _85 = FHEAP[_84];
    FHEAP[_83] = _85;
    var _86 = _this+100+48;
    var _87 = _frameInB+48;
    var _88 = FHEAP[_87];
    FHEAP[_86] = _88;
    var _89 = _this+100+48+4;
    var _90 = _frameInB+48+4;
    var _91 = FHEAP[_90];
    FHEAP[_89] = _91;
    var _92 = _this+100+48+8;
    var _93 = _frameInB+48+8;
    var _94 = FHEAP[_93];
    FHEAP[_92] = _94;
    var _95 = _this+100+48+12;
    var _96 = _frameInB+48+12;
    var _97 = FHEAP[_96];
    FHEAP[_95] = _97;
    var _98 = _this+668;
    var _99 = _this+668+60;
    FHEAP[_99] = 0;
    var _100 = _this+668+60+4;
    FHEAP[_100] = 0;
    var _101 = _this+668+60+8;
    FHEAP[_101] = 0;
    var _102 = _this+668+60+12;
    FHEAP[_102] = 0;
    var _103 = _this+668+76;
    var _104 = _98;
    _llvm_memset_p0i8_i64(_104, 0, 48, 4, false);
    FHEAP[_103] = 0.20000000298023224;
    var _105 = _this+668+76+4;
    FHEAP[_105] = 0.20000000298023224;
    var _106 = _this+668+76+8;
    FHEAP[_106] = 0.20000000298023224;
    var _107 = _this+668+76+12;
    FHEAP[_107] = 0;
    var _108 = _this+668+92;
    FHEAP[_108] = 0;
    var _109 = _this+668+92+4;
    FHEAP[_109] = 0;
    var _110 = _this+668+92+8;
    FHEAP[_110] = 0;
    var _111 = _this+668+92+12;
    FHEAP[_111] = 0;
    var _112 = _this+668+48;
    FHEAP[_112] = 0.699999988079071;
    var _113 = _this+668+52;
    FHEAP[_113] = 1;
    var _114 = _this+668+56;
    FHEAP[_114] = 0.5;
    var _scevgep_i_i = _this+668+108;
    var _scevgep4_i_i = _this+668+112;
    var _scevgep5_i_i = _this+668+128;
    IHEAP[_scevgep_i_i] = 0;
    FHEAP[_scevgep4_i_i] = 0;
    FHEAP[_scevgep5_i_i] = 0;
    var _scevgep_1_i_i = _this+668+108+1;
    var _scevgep4_1_i_i = _this+668+112+4;
    var _scevgep5_1_i_i = _this+668+128+4;
    IHEAP[_scevgep_1_i_i] = 0;
    FHEAP[_scevgep4_1_i_i] = 0;
    FHEAP[_scevgep5_1_i_i] = 0;
    var _scevgep_2_i_i = _this+668+108+2;
    var _scevgep4_2_i_i = _this+668+112+8;
    var _scevgep5_2_i_i = _this+668+128+8;
    IHEAP[_scevgep_2_i_i] = 0;
    FHEAP[_scevgep4_2_i_i] = 0;
    FHEAP[_scevgep5_2_i_i] = 0;
    var _scevgep = _this+856+60;
    var _scevgep32 = _this+856+8;
    var _scevgep33 = _this+856+12;
    var _scevgep34 = _this+856+16;
    var _scevgep3536 = _this+856;
    var _scevgep37 = _this+856+4;
    var _scevgep38 = _this+856+28;
    var _scevgep39 = _this+856+32;
    var _scevgep40 = _this+856+36;
    var _scevgep41 = _this+856+40;
    var _scevgep42 = _this+856+20;
    var _scevgep43 = _this+856+24;
    var _scevgep44 = _this+856+56;
    var _scevgep45 = _this+856+48;
    var _scevgep46 = _this+856+44;
    FHEAP[_scevgep] = 0;
    FHEAP[_scevgep32] = 0;
    FHEAP[_scevgep33] = 0.10000000149011612;
    FHEAP[_scevgep34] = 300;
    FHEAP[_scevgep3536] = 1;
    FHEAP[_scevgep37] = -1;
    FHEAP[_scevgep38] = 0;
    FHEAP[_scevgep39] = 0.20000000298023224;
    FHEAP[_scevgep40] = 0;
    FHEAP[_scevgep41] = 0;
    FHEAP[_scevgep42] = 1;
    FHEAP[_scevgep43] = 0.5;
    IHEAP[_scevgep44] = 0;
    FHEAP[_scevgep45] = 0;
    IHEAP[_scevgep46] = 0;
    var _scevgep_1 = _this+856+64+60;
    var _scevgep32_1 = _this+856+64+8;
    var _scevgep33_1 = _this+856+64+12;
    var _scevgep34_1 = _this+856+64+16;
    var _scevgep3536_1 = _this+856+64;
    var _scevgep37_1 = _this+856+64+4;
    var _scevgep38_1 = _this+856+64+28;
    var _scevgep39_1 = _this+856+64+32;
    var _scevgep40_1 = _this+856+64+36;
    var _scevgep41_1 = _this+856+64+40;
    var _scevgep42_1 = _this+856+64+20;
    var _scevgep43_1 = _this+856+64+24;
    var _scevgep44_1 = _this+856+64+56;
    var _scevgep45_1 = _this+856+64+48;
    var _scevgep46_1 = _this+856+64+44;
    FHEAP[_scevgep_1] = 0;
    FHEAP[_scevgep32_1] = 0;
    FHEAP[_scevgep33_1] = 0.10000000149011612;
    FHEAP[_scevgep34_1] = 300;
    FHEAP[_scevgep3536_1] = 1;
    FHEAP[_scevgep37_1] = -1;
    FHEAP[_scevgep38_1] = 0;
    FHEAP[_scevgep39_1] = 0.20000000298023224;
    FHEAP[_scevgep40_1] = 0;
    FHEAP[_scevgep41_1] = 0;
    FHEAP[_scevgep42_1] = 1;
    FHEAP[_scevgep43_1] = 0.5;
    IHEAP[_scevgep44_1] = 0;
    FHEAP[_scevgep45_1] = 0;
    IHEAP[_scevgep46_1] = 0;
    var _scevgep_2 = _this+856+128+60;
    var _scevgep32_2 = _this+856+128+8;
    var _scevgep33_2 = _this+856+128+12;
    var _scevgep34_2 = _this+856+128+16;
    var _scevgep3536_2 = _this+856+128;
    var _scevgep37_2 = _this+856+128+4;
    var _scevgep38_2 = _this+856+128+28;
    var _scevgep39_2 = _this+856+128+32;
    var _scevgep40_2 = _this+856+128+36;
    var _scevgep41_2 = _this+856+128+40;
    var _scevgep42_2 = _this+856+128+20;
    var _scevgep43_2 = _this+856+128+24;
    var _scevgep44_2 = _this+856+128+56;
    var _scevgep45_2 = _this+856+128+48;
    var _scevgep46_2 = _this+856+128+44;
    FHEAP[_scevgep_2] = 0;
    FHEAP[_scevgep32_2] = 0;
    FHEAP[_scevgep33_2] = 0.10000000149011612;
    FHEAP[_scevgep34_2] = 300;
    FHEAP[_scevgep3536_2] = 1;
    FHEAP[_scevgep37_2] = -1;
    FHEAP[_scevgep38_2] = 0;
    FHEAP[_scevgep39_2] = 0.20000000298023224;
    FHEAP[_scevgep40_2] = 0;
    FHEAP[_scevgep41_2] = 0;
    FHEAP[_scevgep42_2] = 1;
    FHEAP[_scevgep43_2] = 0.5;
    IHEAP[_scevgep44_2] = 0;
    FHEAP[_scevgep45_2] = 0;
    IHEAP[_scevgep46_2] = 0;
    var _115 = _this+1288;
    IHEAP[_115] = _useLinearReferenceFrameA;
    var _116 = _this+1289;
    IHEAP[_116] = 1;
    var _117 = _this+1292;
    IHEAP[_117] = 0;
    var _118 = _this+1296;
    IHEAP[_118] = 0;
    var _119 = _this+24;
    var _120 = IHEAP[_119];
    var _121 = _120+4;
    var _122 = _this+20;
    var _123 = IHEAP[_122];
    var _124 = _123+4;
    __ZN23btGeneric6DofConstraint19calculateTransformsERK11btTransformS2_(_this, _124, _121);
    ;
    return;
  }
  __ZN23btGeneric6DofConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b, "__ZN23btGeneric6DofConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b");
  
  
  function __Z15btGetMatrixElemRK11btMatrix3x3i(_mat, _index) {
    ;
    var __label__;
    var _0 = Math.floor(_index % 3);
    var _1 = Math.floor(_index / 3);
    var _2 = _mat+_0*16+_1*4;
    var _3 = FHEAP[_2];
    ;
    return _3;
  }
  __Z15btGetMatrixElemRK11btMatrix3x3i.__index__ = Runtime.getFunctionIndex(__Z15btGetMatrixElemRK11btMatrix3x3i, "__Z15btGetMatrixElemRK11btMatrix3x3i");
  
  
  function __ZN22btRotationalLimitMotor14testLimitValueEf(_this, _test_value) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = FHEAP[_0];
    var _2 = _this+4;
    var _3 = FHEAP[_2];
    var _4 = _1 > _3;
    ;
    if (_4) {
      ;
      var _5 = _this+56;
      IHEAP[_5] = 0;
      ;
      return 0;
    }
    else {
      ;
      var _6 = _1 > _test_value;
      ;
      if (_6) {
        ;
        var _7 = _this+56;
        IHEAP[_7] = 1;
        var _8 = _test_value - _1;
        var _9 = _this+48;
        FHEAP[_9] = _8;
        ;
        return 1;
      }
      else {
        ;
        var _10 = _3 < _test_value;
        var _11 = _this+56;
        ;
        if (_10) {
          ;
          IHEAP[_11] = 2;
          var _12 = _test_value - _3;
          var _13 = _this+48;
          FHEAP[_13] = _12;
          ;
          return 2;
        }
        else {
          ;
          IHEAP[_11] = 0;
          ;
          return 0;
        }
      }
    }
  }
  __ZN22btRotationalLimitMotor14testLimitValueEf.__index__ = Runtime.getFunctionIndex(__ZN22btRotationalLimitMotor14testLimitValueEf, "__ZN22btRotationalLimitMotor14testLimitValueEf");
  
  
  function __ZN22btRotationalLimitMotor18solveAngularLimitsEfR9btVector3fP11btRigidBodyS3_(_this, _timeStep, _axis, _jacDiagABInv, _body0, _body1) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+56;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    __ZN22btRotationalLimitMotor16needApplyTorquesEv_exit$_bb4$14794: do { 
      if (_2) {
        ;
        var _3 = _this+44;
        var _4 = IHEAP[_3];
        var _phitmp = _4 == 0;
        if (_phitmp) { __label__ = 65; /* _bb24 */ break __ZN22btRotationalLimitMotor16needApplyTorquesEv_exit$_bb4$14794; }
        var _5 = _this+8;
        var _6 = FHEAP[_5];
        var _7 = _this+12;
        __lastLabel__ = 2722; __label__ = 82; /* _bb5 */ break __ZN22btRotationalLimitMotor16needApplyTorquesEv_exit$_bb4$14794;
      }
      else {
        ;
        var _8 = _this+32;
        var _9 = FHEAP[_8];
        var _10 = 0 - _9;
        var _11 = _this+48;
        var _12 = FHEAP[_11];
        var _13 = _12 * _10;
        var _14 = _13 / _timeStep;
        var _15 = _this+16;
        __lastLabel__ = 61; __label__ = 82; /* _bb5 */ break __ZN22btRotationalLimitMotor16needApplyTorquesEv_exit$_bb4$14794;
      }
    } while(0);
    _bb24$_bb5$14798: do { 
      if (__label__ == 82) {
        var _target_velocity_0 = __lastLabel__ == 61 ? _14 : (_6);
        var _maxMotorForce_0_in = __lastLabel__ == 61 ? _15 : (_7);
        var _maxMotorForce_0 = FHEAP[_maxMotorForce_0_in];
        var _16 = _maxMotorForce_0 * _timeStep;
        var _17 = _body0+320+8;
        var _18 = FHEAP[_17];
        var _19 = _body0+520+8;
        var _20 = FHEAP[_19];
        var _21 = _18 + _20;
        var _22 = _body0+320+4;
        var _23 = FHEAP[_22];
        var _24 = _body0+520+4;
        var _25 = FHEAP[_24];
        var _26 = _23 + _25;
        var _27 = _body0+320;
        var _28 = FHEAP[_27];
        var _29 = _body0+520;
        var _30 = FHEAP[_29];
        var _31 = _28 + _30;
        var _32 = _body1+320+8;
        var _33 = FHEAP[_32];
        var _34 = _body1+520+8;
        var _35 = FHEAP[_34];
        var _36 = _33 + _35;
        var _37 = _body1+320+4;
        var _38 = FHEAP[_37];
        var _39 = _body1+520+4;
        var _40 = FHEAP[_39];
        var _41 = _38 + _40;
        var _42 = _body1+320;
        var _43 = FHEAP[_42];
        var _44 = _body1+520;
        var _45 = FHEAP[_44];
        var _46 = _43 + _45;
        var _47 = _21 - _36;
        var _48 = _26 - _41;
        var _49 = _31 - _46;
        var _50 = _axis;
        var _51 = FHEAP[_50];
        var _52 = _51 * _49;
        var _53 = _axis+4;
        var _54 = FHEAP[_53];
        var _55 = _54 * _48;
        var _56 = _52 + _55;
        var _57 = _axis+8;
        var _58 = FHEAP[_57];
        var _59 = _58 * _47;
        var _60 = _56 + _59;
        var _61 = _this+24;
        var _62 = FHEAP[_61];
        var _63 = _this+20;
        var _64 = FHEAP[_63];
        var _65 = _64 * _60;
        var _66 = _target_velocity_0 - _65;
        var _67 = _62 * _66;
        var _68 = _67 < 1.1920928955078125e-7;
        var _69 = _67 > -1.1920928955078125e-7;
        var _or_cond = _68 & _69;
        if (_or_cond) { __label__ = 65; /* _bb24 */ break _bb24$_bb5$14798; }
        var _70 = _this+40;
        var _71 = FHEAP[_70];
        var _72 = _71 + 1;
        var _73 = _72 * _67;
        var _74 = _73 * _jacDiagABInv;
        var _75 = _74 > 0;
        ;
        _bb9$_bb13$14801: do { 
          if (_75) {
            ;
            var _76 = _74 > _16;
            var _iftmp_199_0 = _76 ? _16 : _74;
            __lastLabel__ = 62; ;
          }
          else {
            ;
            var _77 = 0 - _16;
            var _78 = _74 < _77;
            if (_78) { __lastLabel__ = 108; ; } else { __lastLabel__ = 108; __label__ = 4; /* _bb17 */ break _bb9$_bb13$14801; }
            __lastLabel__ = 63; ;
          }
        } while(0);
        var _storemerge = __lastLabel__ == 62 ? _iftmp_199_0 : (__lastLabel__ == 63 ? _77 : (_74));
        var _79 = _this+60;
        var _80 = FHEAP[_79];
        var _81 = _80 + _storemerge;
        var _82 = _81 <= 999999984306749400;
        ;
        if (_82) {
          __lastLabel__ = 4; ;
          var _83 = _81 >= -999999984306749400;
          var _iftmp_203_0 = _83 ? _81 : 0;
          __lastLabel__ = 86; ;
        }
        else {
          __lastLabel__ = 4; ;
        }
        var _iftmp_202_0 = __lastLabel__ == 86 ? _iftmp_203_0 : (0);
        FHEAP[_79] = _iftmp_202_0;
        var _84 = _iftmp_202_0 - _80;
        var _85 = FHEAP[_50];
        var _86 = FHEAP[_53];
        var _87 = FHEAP[_57];
        var _88 = _body0+336;
        var _89 = FHEAP[_88];
        var _90 = _89 != 0;
        ;
        if (_90) {
          __lastLabel__ = 419; ;
          var _91 = _body0+256+4;
          var _92 = _body0+256;
          var _93 = _body0+256+16+4;
          var _94 = _body0+256+16;
          var _95 = _body0+256+32+4;
          var _96 = _body0+256+32;
          var _97 = _body0+256+8;
          var _98 = FHEAP[_91];
          var _99 = FHEAP[_92];
          var _100 = _body0+256+16+8;
          var _101 = FHEAP[_93];
          var _102 = FHEAP[_94];
          var _103 = _body0+256+32+8;
          var _104 = FHEAP[_95];
          var _105 = FHEAP[_96];
          var _106 = FHEAP[_97];
          var _107 = _98 * _86;
          var _108 = _99 * _85;
          var _109 = FHEAP[_100];
          var _110 = _101 * _86;
          var _111 = _102 * _85;
          var _112 = FHEAP[_103];
          var _113 = _104 * _86;
          var _114 = _105 * _85;
          var _115 = _106 * _87;
          var _116 = _108 + _107;
          var _117 = _109 * _87;
          var _118 = _111 + _110;
          var _119 = _112 * _87;
          var _120 = _114 + _113;
          var _121 = _116 + _115;
          var _122 = _118 + _117;
          var _123 = _120 + _119;
          var _124 = _84 * 0;
          var _125 = _body0+504;
          var _126 = FHEAP[_125];
          var _127 = _126 + _124;
          FHEAP[_125] = _127;
          var _128 = _body0+504+4;
          var _129 = FHEAP[_128];
          var _130 = _129 + _124;
          FHEAP[_128] = _130;
          var _131 = _body0+504+8;
          var _132 = FHEAP[_131];
          var _133 = _132 + _124;
          FHEAP[_131] = _133;
          var _134 = _body0+536+8;
          var _135 = FHEAP[_134];
          var _136 = _135 * _84;
          var _137 = _body0+536+4;
          var _138 = FHEAP[_137];
          var _139 = _138 * _84;
          var _140 = _body0+536;
          var _141 = FHEAP[_140];
          var _142 = _141 * _84;
          var _143 = _123 * _136;
          var _144 = _122 * _139;
          var _145 = _121 * _142;
          var _146 = FHEAP[_29];
          var _147 = _146 + _145;
          FHEAP[_29] = _147;
          var _148 = FHEAP[_24];
          var _149 = _148 + _144;
          FHEAP[_24] = _149;
          var _150 = FHEAP[_19];
          var _151 = _150 + _143;
          FHEAP[_19] = _151;
          var __pre = FHEAP[_50];
          var __pre60 = FHEAP[_53];
          var __pre61 = FHEAP[_57];
          __lastLabel__ = 522; ;
        }
        else {
          __lastLabel__ = 419; ;
        }
        var _152 = __lastLabel__ == 419 ? _87 : (__pre61);
        var _153 = __lastLabel__ == 419 ? _86 : (__pre60);
        var _154 = __lastLabel__ == 419 ? _85 : (__pre);
        var _155 = 0 - _84;
        var _156 = _body1+336;
        var _157 = FHEAP[_156];
        var _158 = _157 != 0;
        ;
        if (_158) {
          ;
          var _159 = _body1+256+4;
          var _160 = _body1+256;
          var _161 = _body1+256+16+4;
          var _162 = _body1+256+16;
          var _163 = _body1+256+32+4;
          var _164 = _body1+256+32;
          var _165 = _body1+256+8;
          var _166 = FHEAP[_159];
          var _167 = FHEAP[_160];
          var _168 = _body1+256+16+8;
          var _169 = FHEAP[_161];
          var _170 = FHEAP[_162];
          var _171 = _body1+256+32+8;
          var _172 = FHEAP[_163];
          var _173 = FHEAP[_164];
          var _174 = FHEAP[_165];
          var _175 = _166 * _153;
          var _176 = _167 * _154;
          var _177 = FHEAP[_168];
          var _178 = _169 * _153;
          var _179 = _170 * _154;
          var _180 = FHEAP[_171];
          var _181 = _172 * _153;
          var _182 = _173 * _154;
          var _183 = _174 * _152;
          var _184 = _176 + _175;
          var _185 = _177 * _152;
          var _186 = _179 + _178;
          var _187 = _180 * _152;
          var _188 = _182 + _181;
          var _189 = _184 + _183;
          var _190 = _186 + _185;
          var _191 = _188 + _187;
          var _192 = _84 * 0;
          var _193 = _body1+504;
          var _194 = FHEAP[_193];
          var _195 = _194 + _192;
          FHEAP[_193] = _195;
          var _196 = _body1+504+4;
          var _197 = FHEAP[_196];
          var _198 = _197 + _192;
          FHEAP[_196] = _198;
          var _199 = _body1+504+8;
          var _200 = FHEAP[_199];
          var _201 = _200 + _192;
          FHEAP[_199] = _201;
          var _202 = _body1+536+8;
          var _203 = FHEAP[_202];
          var _204 = _203 * _155;
          var _205 = _body1+536+4;
          var _206 = FHEAP[_205];
          var _207 = _206 * _155;
          var _208 = _body1+536;
          var _209 = FHEAP[_208];
          var _210 = _209 * _155;
          var _211 = _191 * _204;
          var _212 = _190 * _207;
          var _213 = _189 * _210;
          var _214 = FHEAP[_44];
          var _215 = _214 + _213;
          FHEAP[_44] = _215;
          var _216 = FHEAP[_39];
          var _217 = _216 + _212;
          FHEAP[_39] = _217;
          var _218 = FHEAP[_34];
          var _219 = _218 + _211;
          FHEAP[_34] = _219;
          ;
          return _84;
        }
        else {
          ;
          ;
          return _84;
        }
      }
    } while(0);
    ;
    return 0;
  }
  __ZN22btRotationalLimitMotor18solveAngularLimitsEfR9btVector3fP11btRigidBodyS3_.__index__ = Runtime.getFunctionIndex(__ZN22btRotationalLimitMotor18solveAngularLimitsEfR9btVector3fP11btRigidBodyS3_, "__ZN22btRotationalLimitMotor18solveAngularLimitsEfR9btVector3fP11btRigidBodyS3_");
  
  
  function __ZN25btTranslationalLimitMotor14testLimitValueEif(_this, _limitIndex, _test_value) {
    ;
    var __label__;
    var _0 = _this+_limitIndex*4;
    var _1 = FHEAP[_0];
    var _2 = _this+16+_limitIndex*4;
    var _3 = FHEAP[_2];
    var _4 = _1 > _3;
    ;
    if (_4) {
      ;
      var _5 = _this+176+_limitIndex*4;
      IHEAP[_5] = 0;
      var _6 = _this+144+_limitIndex*4;
      FHEAP[_6] = 0;
      ;
      return 0;
    }
    else {
      ;
      var _7 = _1 > _test_value;
      ;
      if (_7) {
        ;
        var _8 = _this+176+_limitIndex*4;
        IHEAP[_8] = 2;
        var _9 = _test_value - _1;
        var _10 = _this+144+_limitIndex*4;
        FHEAP[_10] = _9;
        ;
        return 2;
      }
      else {
        ;
        var _11 = _3 < _test_value;
        var _12 = _this+176+_limitIndex*4;
        ;
        if (_11) {
          ;
          IHEAP[_12] = 1;
          var _13 = _test_value - _3;
          var _14 = _this+144+_limitIndex*4;
          FHEAP[_14] = _13;
          ;
          return 1;
        }
        else {
          ;
          IHEAP[_12] = 0;
          var _15 = _this+144+_limitIndex*4;
          FHEAP[_15] = 0;
          ;
          return 0;
        }
      }
    }
  }
  __ZN25btTranslationalLimitMotor14testLimitValueEif.__index__ = Runtime.getFunctionIndex(__ZN25btTranslationalLimitMotor14testLimitValueEif, "__ZN25btTranslationalLimitMotor14testLimitValueEif");
  
  
  function __ZN25btTranslationalLimitMotor15solveLinearAxisEffR11btRigidBodyRK9btVector3S1_S4_iS4_S4_(_this, _timeStep, _jacDiagABInv, _body1, _pointInA, _body2, _pointInB, _limit_index, _axis_normal_on_a, _anchorPos) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _anchorPos+8;
    var _1 = FHEAP[_0];
    var _2 = _body1+4+48+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _anchorPos+4;
    var _6 = FHEAP[_5];
    var _7 = _body1+4+48+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _anchorPos;
    var _11 = FHEAP[_10];
    var _12 = _body1+4+48;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _body2+4+48+8;
    var _16 = FHEAP[_15];
    var _17 = _1 - _16;
    var _18 = _body2+4+48+4;
    var _19 = FHEAP[_18];
    var _20 = _6 - _19;
    var _21 = _body2+4+48;
    var _22 = FHEAP[_21];
    var _23 = _11 - _22;
    var _24 = _body1+320+8;
    var _25 = FHEAP[_24];
    var _26 = _body1+520+8;
    var _27 = FHEAP[_26];
    var _28 = _25 + _27;
    var _29 = _body1+320+4;
    var _30 = FHEAP[_29];
    var _31 = _body1+520+4;
    var _32 = FHEAP[_31];
    var _33 = _30 + _32;
    var _34 = _body1+320;
    var _35 = FHEAP[_34];
    var _36 = _body1+520;
    var _37 = FHEAP[_36];
    var _38 = _35 + _37;
    var _39 = _38 * _9;
    var _40 = _33 * _14;
    var _41 = _39 - _40;
    var _42 = _28 * _14;
    var _43 = _38 * _4;
    var _44 = _42 - _43;
    var _45 = _33 * _4;
    var _46 = _28 * _9;
    var _47 = _45 - _46;
    var _48 = _body1+304+8;
    var _49 = FHEAP[_48];
    var _50 = _body1+504+8;
    var _51 = FHEAP[_50];
    var _52 = _49 + _51;
    var _53 = _body1+304+4;
    var _54 = FHEAP[_53];
    var _55 = _body1+504+4;
    var _56 = FHEAP[_55];
    var _57 = _54 + _56;
    var _58 = _body1+304;
    var _59 = FHEAP[_58];
    var _60 = _body1+504;
    var _61 = FHEAP[_60];
    var _62 = _59 + _61;
    var _63 = _52 + _41;
    var _64 = _57 + _44;
    var _65 = _62 + _47;
    var _66 = _body2+320+8;
    var _67 = FHEAP[_66];
    var _68 = _body2+520+8;
    var _69 = FHEAP[_68];
    var _70 = _67 + _69;
    var _71 = _body2+320+4;
    var _72 = FHEAP[_71];
    var _73 = _body2+520+4;
    var _74 = FHEAP[_73];
    var _75 = _72 + _74;
    var _76 = _body2+320;
    var _77 = FHEAP[_76];
    var _78 = _body2+520;
    var _79 = FHEAP[_78];
    var _80 = _77 + _79;
    var _81 = _80 * _20;
    var _82 = _75 * _23;
    var _83 = _81 - _82;
    var _84 = _70 * _23;
    var _85 = _80 * _17;
    var _86 = _84 - _85;
    var _87 = _75 * _17;
    var _88 = _70 * _20;
    var _89 = _87 - _88;
    var _90 = _body2+304+8;
    var _91 = FHEAP[_90];
    var _92 = _body2+504+8;
    var _93 = FHEAP[_92];
    var _94 = _91 + _93;
    var _95 = _body2+304+4;
    var _96 = FHEAP[_95];
    var _97 = _body2+504+4;
    var _98 = FHEAP[_97];
    var _99 = _96 + _98;
    var _100 = _body2+304;
    var _101 = FHEAP[_100];
    var _102 = _body2+504;
    var _103 = FHEAP[_102];
    var _104 = _101 + _103;
    var _105 = _94 + _83;
    var _106 = _99 + _86;
    var _107 = _104 + _89;
    var _108 = _63 - _105;
    var _109 = _64 - _106;
    var _110 = _65 - _107;
    var _111 = _axis_normal_on_a;
    var _112 = FHEAP[_111];
    var _113 = _112 * _110;
    var _114 = _axis_normal_on_a+4;
    var _115 = FHEAP[_114];
    var _116 = _115 * _109;
    var _117 = _113 + _116;
    var _118 = _axis_normal_on_a+8;
    var _119 = FHEAP[_118];
    var _120 = _119 * _108;
    var _121 = _117 + _120;
    var _122 = _pointInA+8;
    var _123 = FHEAP[_122];
    var _124 = _pointInB+8;
    var _125 = FHEAP[_124];
    var _126 = _123 - _125;
    var _127 = _pointInA+4;
    var _128 = FHEAP[_127];
    var _129 = _pointInB+4;
    var _130 = FHEAP[_129];
    var _131 = _128 - _130;
    var _132 = _pointInA;
    var _133 = FHEAP[_132];
    var _134 = _pointInB;
    var _135 = FHEAP[_134];
    var _136 = _133 - _135;
    var _137 = _136 * _112;
    var _138 = _131 * _115;
    var _139 = _137 + _138;
    var _140 = _126 * _119;
    var _141 = _139 + _140;
    var _142 = 0 - _141;
    var _143 = _this+_limit_index*4;
    var _144 = FHEAP[_143];
    var _145 = _this+16+_limit_index*4;
    var _146 = FHEAP[_145];
    var _147 = _144 < _146;
    ;
    if (_147) {
      __lastLabel__ = -1; ;
      var _148 = _146 < _142;
      ;
      if (_148) {
        ;
        var _149 = _142 - _146;
        __lastLabel__ = 75; ;
      }
      else {
        ;
        var _150 = _144 > _142;
        ;
        if (_150) {
          ;
          var _151 = _142 - _144;
          __lastLabel__ = 116; ;
        }
        else {
          ;
          ;
          return 0;
        }
      }
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _depth_0 = __lastLabel__ == 75 ? _149 : (__lastLabel__ == 116 ? _151 : (_142));
    var _lo_0 = __lastLabel__ == 75 ? 0 : (__lastLabel__ == 116 ? -999999984306749400 : (-999999984306749400));
    var _hi_0 = __lastLabel__ == 75 ? 999999984306749400 : (__lastLabel__ == 116 ? 0 : (999999984306749400));
    var _152 = _this+48;
    var _153 = FHEAP[_152];
    var _154 = _this+56;
    var _155 = FHEAP[_154];
    var _156 = _155 * _depth_0;
    var _157 = _156 / _timeStep;
    var _158 = _this+52;
    var _159 = FHEAP[_158];
    var _160 = _159 * _121;
    var _161 = _157 - _160;
    var _162 = _153 * _161;
    var _163 = _162 * _jacDiagABInv;
    var _164 = _this+32+_limit_index*4;
    var _165 = FHEAP[_164];
    var _166 = _165 + _163;
    var _167 = _166 <= _hi_0;
    ;
    if (_167) {
      __lastLabel__ = 82; ;
      var _168 = _166 >= _lo_0;
      var _iftmp_212_0 = _168 ? _166 : 0;
      __lastLabel__ = 83; ;
    }
    else {
      __lastLabel__ = 82; ;
    }
    var _iftmp_211_0 = __lastLabel__ == 83 ? _iftmp_212_0 : (0);
    FHEAP[_164] = _iftmp_211_0;
    var _169 = _iftmp_211_0 - _165;
    var _170 = FHEAP[_114];
    var _171 = _14 * _170;
    var _172 = FHEAP[_111];
    var _173 = _9 * _172;
    var _174 = _171 - _173;
    var _175 = _4 * _172;
    var _176 = FHEAP[_118];
    var _177 = _14 * _176;
    var _178 = _175 - _177;
    var _179 = _9 * _176;
    var _180 = _4 * _170;
    var _181 = _179 - _180;
    var _182 = _23 * _170;
    var _183 = _20 * _172;
    var _184 = _182 - _183;
    var _185 = _17 * _172;
    var _186 = _23 * _176;
    var _187 = _185 - _186;
    var _188 = _20 * _176;
    var _189 = _17 * _170;
    var _190 = _188 - _189;
    var _191 = _body1+336;
    var _192 = FHEAP[_191];
    var _193 = _192 != 0;
    ;
    if (_193) {
      ;
      var _194 = _body1+256+4;
      var _195 = _body1+256;
      var _196 = _body1+256+16+4;
      var _197 = _body1+256+16;
      var _198 = _body1+256+32+4;
      var _199 = _body1+256+32;
      var _200 = _body1+256+8;
      var _201 = FHEAP[_194];
      var _202 = FHEAP[_195];
      var _203 = _body1+256+16+8;
      var _204 = FHEAP[_196];
      var _205 = FHEAP[_197];
      var _206 = _body1+256+32+8;
      var _207 = FHEAP[_198];
      var _208 = FHEAP[_199];
      var _209 = FHEAP[_200];
      var _210 = _201 * _178;
      var _211 = _202 * _181;
      var _212 = FHEAP[_203];
      var _213 = _204 * _178;
      var _214 = _205 * _181;
      var _215 = FHEAP[_206];
      var _216 = _207 * _178;
      var _217 = _208 * _181;
      var _218 = _209 * _174;
      var _219 = _211 + _210;
      var _220 = _212 * _174;
      var _221 = _214 + _213;
      var _222 = _215 * _174;
      var _223 = _217 + _216;
      var _224 = _172 * _192;
      var _225 = _170 * _192;
      var _226 = _176 * _192;
      var _227 = _219 + _218;
      var _228 = _221 + _220;
      var _229 = _223 + _222;
      var _230 = _226 * _169;
      var _231 = _225 * _169;
      var _232 = _224 * _169;
      var _233 = FHEAP[_60];
      var _234 = _233 + _232;
      FHEAP[_60] = _234;
      var _235 = FHEAP[_55];
      var _236 = _235 + _231;
      FHEAP[_55] = _236;
      var _237 = FHEAP[_50];
      var _238 = _237 + _230;
      FHEAP[_50] = _238;
      var _239 = _body1+536+8;
      var _240 = FHEAP[_239];
      var _241 = _240 * _169;
      var _242 = _body1+536+4;
      var _243 = FHEAP[_242];
      var _244 = _243 * _169;
      var _245 = _body1+536;
      var _246 = FHEAP[_245];
      var _247 = _246 * _169;
      var _248 = _229 * _241;
      var _249 = _228 * _244;
      var _250 = _227 * _247;
      var _251 = FHEAP[_36];
      var _252 = _251 + _250;
      FHEAP[_36] = _252;
      var _253 = FHEAP[_31];
      var _254 = _253 + _249;
      FHEAP[_31] = _254;
      var _255 = FHEAP[_26];
      var _256 = _255 + _248;
      FHEAP[_26] = _256;
      ;
    }
    var _257 = 0 - _169;
    var _258 = _body2+336;
    var _259 = FHEAP[_258];
    var _260 = _259 != 0;
    ;
    if (_260) {
      ;
      var _261 = _body2+256+4;
      var _262 = _body2+256;
      var _263 = _body2+256+16+4;
      var _264 = _body2+256+16;
      var _265 = _body2+256+32+4;
      var _266 = _body2+256+32;
      var _267 = _body2+256+8;
      var _268 = FHEAP[_261];
      var _269 = FHEAP[_262];
      var _270 = _body2+256+16+8;
      var _271 = FHEAP[_263];
      var _272 = FHEAP[_264];
      var _273 = _body2+256+32+8;
      var _274 = FHEAP[_265];
      var _275 = FHEAP[_266];
      var _276 = FHEAP[_267];
      var _277 = _268 * _187;
      var _278 = _269 * _190;
      var _279 = FHEAP[_270];
      var _280 = _271 * _187;
      var _281 = _272 * _190;
      var _282 = FHEAP[_273];
      var _283 = _274 * _187;
      var _284 = _275 * _190;
      var _285 = FHEAP[_111];
      var _286 = FHEAP[_114];
      var _287 = FHEAP[_118];
      var _288 = _276 * _184;
      var _289 = _278 + _277;
      var _290 = _279 * _184;
      var _291 = _281 + _280;
      var _292 = _282 * _184;
      var _293 = _284 + _283;
      var _294 = _285 * _259;
      var _295 = _286 * _259;
      var _296 = _287 * _259;
      var _297 = _289 + _288;
      var _298 = _291 + _290;
      var _299 = _293 + _292;
      var _300 = _296 * _257;
      var _301 = _295 * _257;
      var _302 = _294 * _257;
      var _303 = FHEAP[_102];
      var _304 = _303 + _302;
      FHEAP[_102] = _304;
      var _305 = FHEAP[_97];
      var _306 = _305 + _301;
      FHEAP[_97] = _306;
      var _307 = FHEAP[_92];
      var _308 = _307 + _300;
      FHEAP[_92] = _308;
      var _309 = _body2+536+8;
      var _310 = FHEAP[_309];
      var _311 = _310 * _257;
      var _312 = _body2+536+4;
      var _313 = FHEAP[_312];
      var _314 = _313 * _257;
      var _315 = _body2+536;
      var _316 = FHEAP[_315];
      var _317 = _316 * _257;
      var _318 = _299 * _311;
      var _319 = _298 * _314;
      var _320 = _297 * _317;
      var _321 = FHEAP[_78];
      var _322 = _321 + _320;
      FHEAP[_78] = _322;
      var _323 = FHEAP[_73];
      var _324 = _323 + _319;
      FHEAP[_73] = _324;
      var _325 = FHEAP[_68];
      var _326 = _325 + _318;
      FHEAP[_68] = _326;
      ;
      return _169;
    }
    else {
      ;
      ;
      return _169;
    }
  }
  __ZN25btTranslationalLimitMotor15solveLinearAxisEffR11btRigidBodyRK9btVector3S1_S4_iS4_S4_.__index__ = Runtime.getFunctionIndex(__ZN25btTranslationalLimitMotor15solveLinearAxisEffR11btRigidBodyRK9btVector3S1_S4_iS4_S4_, "__ZN25btTranslationalLimitMotor15solveLinearAxisEffR11btRigidBodyRK9btVector3S1_S4_iS4_S4_");
  
  
  function __ZN23btGeneric6DofConstraint19buildLinearJacobianER15btJacobianEntryRK9btVector3S4_S4_(_this, _jacLinear, _normalWorld, _pivotAInW, _pivotBInW) {
    var __stackBase__  = STACKTOP; STACKTOP += 128;
    var __label__;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _3 = __stackBase__+80;
    var _4 = _this+20;
    var _5 = IHEAP[_4];
    var _6 = _5+4+32+8;
    var _7 = _5+4+16+8;
    var _8 = _5+4+8;
    var _9 = _5+4+32+4;
    var _10 = _5+4+16+4;
    var _11 = _5+4+4;
    var _12 = _5+4+32;
    var _13 = _5+4+16;
    var _14 = _5+4;
    var _15 = FHEAP[_14];
    var _16 = _3;
    FHEAP[_16] = _15;
    var _17 = FHEAP[_13];
    var _18 = _3+4;
    FHEAP[_18] = _17;
    var _19 = FHEAP[_12];
    var _20 = _3+8;
    FHEAP[_20] = _19;
    var _21 = _3+12;
    FHEAP[_21] = 0;
    var _22 = FHEAP[_11];
    var _23 = _3+16;
    FHEAP[_23] = _22;
    var _24 = FHEAP[_10];
    var _25 = _3+16+4;
    FHEAP[_25] = _24;
    var _26 = FHEAP[_9];
    var _27 = _3+16+8;
    FHEAP[_27] = _26;
    var _28 = _3+16+12;
    FHEAP[_28] = 0;
    var _29 = FHEAP[_8];
    var _30 = _3+32;
    FHEAP[_30] = _29;
    var _31 = FHEAP[_7];
    var _32 = _3+32+4;
    FHEAP[_32] = _31;
    var _33 = FHEAP[_6];
    var _34 = _3+32+8;
    FHEAP[_34] = _33;
    var _35 = _3+32+12;
    FHEAP[_35] = 0;
    var _36 = _this+24;
    var _37 = IHEAP[_36];
    var _38 = _37+4+32+8;
    var _39 = _37+4+16+8;
    var _40 = _37+4+8;
    var _41 = _37+4+32+4;
    var _42 = _37+4+16+4;
    var _43 = _37+4+4;
    var _44 = _37+4+32;
    var _45 = _37+4+16;
    var _46 = _37+4;
    var _47 = FHEAP[_46];
    var _48 = _2;
    FHEAP[_48] = _47;
    var _49 = FHEAP[_45];
    var _50 = _2+4;
    FHEAP[_50] = _49;
    var _51 = FHEAP[_44];
    var _52 = _2+8;
    FHEAP[_52] = _51;
    var _53 = _2+12;
    FHEAP[_53] = 0;
    var _54 = FHEAP[_43];
    var _55 = _2+16;
    FHEAP[_55] = _54;
    var _56 = FHEAP[_42];
    var _57 = _2+16+4;
    FHEAP[_57] = _56;
    var _58 = FHEAP[_41];
    var _59 = _2+16+8;
    FHEAP[_59] = _58;
    var _60 = _2+16+12;
    FHEAP[_60] = 0;
    var _61 = FHEAP[_40];
    var _62 = _2+32;
    FHEAP[_62] = _61;
    var _63 = FHEAP[_39];
    var _64 = _2+32+4;
    FHEAP[_64] = _63;
    var _65 = FHEAP[_38];
    var _66 = _2+32+8;
    FHEAP[_66] = _65;
    var _67 = _2+32+12;
    FHEAP[_67] = 0;
    var _68 = _pivotAInW+8;
    var _69 = FHEAP[_68];
    var _70 = _5+4+48+8;
    var _71 = FHEAP[_70];
    var _72 = _69 - _71;
    var _73 = _pivotAInW+4;
    var _74 = FHEAP[_73];
    var _75 = _5+4+48+4;
    var _76 = FHEAP[_75];
    var _77 = _74 - _76;
    var _78 = _pivotAInW;
    var _79 = FHEAP[_78];
    var _80 = _5+4+48;
    var _81 = FHEAP[_80];
    var _82 = _79 - _81;
    var _83 = _1;
    FHEAP[_83] = _82;
    var _84 = _1+4;
    FHEAP[_84] = _77;
    var _85 = _1+8;
    FHEAP[_85] = _72;
    var _86 = _1+12;
    FHEAP[_86] = 0;
    var _87 = _pivotBInW+8;
    var _88 = FHEAP[_87];
    var _89 = _37+4+48+8;
    var _90 = FHEAP[_89];
    var _91 = _88 - _90;
    var _92 = _pivotBInW+4;
    var _93 = FHEAP[_92];
    var _94 = _37+4+48+4;
    var _95 = FHEAP[_94];
    var _96 = _93 - _95;
    var _97 = _pivotBInW;
    var _98 = FHEAP[_97];
    var _99 = _37+4+48;
    var _100 = FHEAP[_99];
    var _101 = _98 - _100;
    var _102 = _0;
    FHEAP[_102] = _101;
    var _103 = _0+4;
    FHEAP[_103] = _96;
    var _104 = _0+8;
    FHEAP[_104] = _91;
    var _105 = _0+12;
    FHEAP[_105] = 0;
    var _106 = _jacLinear == 0;
    ;
    if (_106) {
      ;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      var _107 = _37+336;
      var _108 = _5+336;
      var _109 = FHEAP[_107];
      var _110 = _37+388;
      var _111 = FHEAP[_108];
      var _112 = _5+388;
      __ZN15btJacobianEntryC2ERK11btMatrix3x3S2_RK9btVector3S5_S5_S5_fS5_f(_jacLinear, _3, _2, _1, _0, _normalWorld, _112, _111, _110, _109);
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN23btGeneric6DofConstraint19buildLinearJacobianER15btJacobianEntryRK9btVector3S4_S4_.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraint19buildLinearJacobianER15btJacobianEntryRK9btVector3S4_S4_, "__ZN23btGeneric6DofConstraint19buildLinearJacobianER15btJacobianEntryRK9btVector3S4_S4_");
  
  
  function __ZN23btGeneric6DofConstraint20buildAngularJacobianER15btJacobianEntryRK9btVector3(_this, _jacAngular, _jointAxisW) {
    ;
    var __label__;
    var _0 = _this+20;
    var _1 = IHEAP[_0];
    var _2 = _this+24;
    var _3 = IHEAP[_2];
    var _4 = _jacAngular == 0;
    ;
    if (_4) {
      ;
      ;
      return;
    }
    else {
      ;
      var _5 = _3+4;
      var _6 = _3+4+16;
      var _7 = _3+4+32;
      var _8 = _3+4+4;
      var _9 = _3+4+16+4;
      var _10 = _3+4+32+4;
      var _11 = _3+4+8;
      var _12 = _3+4+16+8;
      var _13 = _3+4+32+8;
      var _14 = _1+4;
      var _15 = _1+4+16;
      var _16 = _1+4+32;
      var _17 = _1+4+4;
      var _18 = _1+4+16+4;
      var _19 = _1+4+32+4;
      var _20 = _1+4+8;
      var _21 = _1+4+16+8;
      var _22 = _1+4+32+8;
      var _23 = FHEAP[_13];
      var _24 = FHEAP[_12];
      var _25 = FHEAP[_11];
      var _26 = FHEAP[_10];
      var _27 = FHEAP[_9];
      var _28 = FHEAP[_8];
      var _29 = FHEAP[_7];
      var _30 = FHEAP[_6];
      var _31 = FHEAP[_5];
      var _32 = FHEAP[_22];
      var _33 = FHEAP[_21];
      var _34 = FHEAP[_20];
      var _35 = FHEAP[_19];
      var _36 = FHEAP[_18];
      var _37 = FHEAP[_17];
      var _38 = FHEAP[_16];
      var _39 = FHEAP[_15];
      var _40 = FHEAP[_14];
      var _41 = _jacAngular;
      FHEAP[_41] = 0;
      var _42 = _jacAngular+4;
      FHEAP[_42] = 0;
      var _43 = _jacAngular+8;
      FHEAP[_43] = 0;
      var _44 = _jacAngular+12;
      FHEAP[_44] = 0;
      var _45 = _jointAxisW;
      var _46 = FHEAP[_45];
      var _47 = _34 * _46;
      var _48 = _jointAxisW+4;
      var _49 = FHEAP[_48];
      var _50 = _33 * _49;
      var _51 = _47 + _50;
      var _52 = _jointAxisW+8;
      var _53 = FHEAP[_52];
      var _54 = _32 * _53;
      var _55 = _51 + _54;
      var _56 = _37 * _46;
      var _57 = _36 * _49;
      var _58 = _56 + _57;
      var _59 = _35 * _53;
      var _60 = _58 + _59;
      var _61 = _40 * _46;
      var _62 = _39 * _49;
      var _63 = _61 + _62;
      var _64 = _38 * _53;
      var _65 = _63 + _64;
      var _66 = _jacAngular+16;
      FHEAP[_66] = _65;
      var _67 = _jacAngular+16+4;
      FHEAP[_67] = _60;
      var _68 = _jacAngular+16+8;
      FHEAP[_68] = _55;
      var _69 = _jacAngular+16+12;
      FHEAP[_69] = 0;
      var _70 = FHEAP[_52];
      var _71 = 0 - _70;
      var _72 = FHEAP[_48];
      var _73 = 0 - _72;
      var _74 = FHEAP[_45];
      var _75 = 0 - _74;
      var _76 = _25 * _75;
      var _77 = _24 * _73;
      var _78 = _76 + _77;
      var _79 = _23 * _71;
      var _80 = _78 + _79;
      var _81 = _28 * _75;
      var _82 = _27 * _73;
      var _83 = _81 + _82;
      var _84 = _26 * _71;
      var _85 = _83 + _84;
      var _86 = _31 * _75;
      var _87 = _30 * _73;
      var _88 = _86 + _87;
      var _89 = _29 * _71;
      var _90 = _88 + _89;
      var _91 = _jacAngular+32;
      FHEAP[_91] = _90;
      var _92 = _jacAngular+32+4;
      FHEAP[_92] = _85;
      var _93 = _jacAngular+32+8;
      FHEAP[_93] = _80;
      var _94 = _jacAngular+32+12;
      FHEAP[_94] = 0;
      var _95 = _1+388+8;
      var _96 = FHEAP[_95];
      var _97 = _96 * _55;
      var _98 = _1+388+4;
      var _99 = FHEAP[_98];
      var _100 = _99 * _60;
      var _101 = _1+388;
      var _102 = FHEAP[_101];
      var _103 = _102 * _65;
      var _104 = _jacAngular+48;
      FHEAP[_104] = _103;
      var _105 = _jacAngular+48+4;
      FHEAP[_105] = _100;
      var _106 = _jacAngular+48+8;
      FHEAP[_106] = _97;
      var _107 = _jacAngular+48+12;
      FHEAP[_107] = 0;
      var _108 = _3+388+8;
      var _109 = FHEAP[_108];
      var _110 = _109 * _80;
      var _111 = _3+388+4;
      var _112 = FHEAP[_111];
      var _113 = _112 * _85;
      var _114 = _3+388;
      var _115 = FHEAP[_114];
      var _116 = _115 * _90;
      var _117 = _jacAngular+64;
      FHEAP[_117] = _116;
      var _118 = _jacAngular+64+4;
      FHEAP[_118] = _113;
      var _119 = _jacAngular+64+8;
      FHEAP[_119] = _110;
      var _120 = _jacAngular+64+12;
      FHEAP[_120] = 0;
      var _121 = _103 * _65;
      var _122 = _100 * _60;
      var _123 = _121 + _122;
      var _124 = _97 * _55;
      var _125 = _123 + _124;
      var _126 = _116 * _90;
      var _127 = _113 * _85;
      var _128 = _126 + _127;
      var _129 = _110 * _80;
      var _130 = _128 + _129;
      var _131 = _125 + _130;
      var _132 = _jacAngular+80;
      FHEAP[_132] = _131;
      ;
      return;
    }
  }
  __ZN23btGeneric6DofConstraint20buildAngularJacobianER15btJacobianEntryRK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraint20buildAngularJacobianER15btJacobianEntryRK9btVector3, "__ZN23btGeneric6DofConstraint20buildAngularJacobianER15btJacobianEntryRK9btVector3");
  
  
  function __ZN23btGeneric6DofConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E(_this, _info) {
    ;
    var __label__;
    var _0 = _this+1296;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    var _2 = _info;
    ;
    if (_toBool) {
      ;
      IHEAP[_2] = 6;
      var _4 = _info+4;
      IHEAP[_4] = 0;
      ;
      return;
    }
    else {
      ;
      IHEAP[_2] = 0;
      var _3 = _info+4;
      IHEAP[_3] = 0;
      ;
      return;
    }
  }
  __ZN23btGeneric6DofConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E, "__ZN23btGeneric6DofConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E");
  
  
  function __ZNK23btGeneric6DofConstraint7getAxisEi(_agg_result, _this, _axis_index) {
    ;
    var __label__;
    var _0 = _agg_result;
    var _1 = _this+1196+_axis_index*16;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _agg_result+4;
    var _4 = _this+1196+_axis_index*16+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _agg_result+8;
    var _7 = _this+1196+_axis_index*16+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _agg_result+12;
    var _10 = _this+1196+_axis_index*16+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    ;
    return;
  }
  __ZNK23btGeneric6DofConstraint7getAxisEi.__index__ = Runtime.getFunctionIndex(__ZNK23btGeneric6DofConstraint7getAxisEi, "__ZNK23btGeneric6DofConstraint7getAxisEi");
  
  
  function __ZNK23btGeneric6DofConstraint24getRelativePivotPositionEi(_this, _axisIndex) {
    ;
    var __label__;
    var _0 = _this+1244+_axisIndex*4;
    var _1 = FHEAP[_0];
    ;
    return _1;
  }
  __ZNK23btGeneric6DofConstraint24getRelativePivotPositionEi.__index__ = Runtime.getFunctionIndex(__ZNK23btGeneric6DofConstraint24getRelativePivotPositionEi, "__ZNK23btGeneric6DofConstraint24getRelativePivotPositionEi");
  
  
  function __ZNK23btGeneric6DofConstraint8getAngleEi(_this, _axisIndex) {
    ;
    var __label__;
    var _0 = _this+1180+_axisIndex*4;
    var _1 = FHEAP[_0];
    ;
    return _1;
  }
  __ZNK23btGeneric6DofConstraint8getAngleEi.__index__ = Runtime.getFunctionIndex(__ZNK23btGeneric6DofConstraint8getAngleEi, "__ZNK23btGeneric6DofConstraint8getAngleEi");
  
  
  function __ZN23btGeneric6DofConstraint13calcAnchorPosEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+20;
    var _1 = IHEAP[_0];
    var _2 = _1+336;
    var _3 = FHEAP[_2];
    var _4 = _this+24;
    var _5 = IHEAP[_4];
    var _6 = _5+336;
    var _7 = FHEAP[_6];
    var _8 = _7 == 0;
    ;
    if (_8) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _9 = _3 + _7;
      var _10 = _3 / _9;
      __lastLabel__ = 75; ;
    }
    var _storemerge = __lastLabel__ == 75 ? _10 : (1);
    var _11 = 1 - _storemerge;
    var _12 = _this+1116+48+8;
    var _13 = FHEAP[_12];
    var _14 = _13 * _11;
    var _15 = _this+1116+48+4;
    var _16 = FHEAP[_15];
    var _17 = _16 * _11;
    var _18 = _this+1116+48;
    var _19 = FHEAP[_18];
    var _20 = _19 * _11;
    var _21 = _this+1052+48+8;
    var _22 = FHEAP[_21];
    var _23 = _22 * _storemerge;
    var _24 = _this+1052+48+4;
    var _25 = FHEAP[_24];
    var _26 = _25 * _storemerge;
    var _27 = _this+1052+48;
    var _28 = FHEAP[_27];
    var _29 = _28 * _storemerge;
    var _30 = _23 + _14;
    var _31 = _26 + _17;
    var _32 = _29 + _20;
    var _33 = _this+1272;
    FHEAP[_33] = _32;
    var _34 = _this+1272+4;
    FHEAP[_34] = _31;
    var _35 = _this+1272+8;
    FHEAP[_35] = _30;
    var _36 = _this+1272+12;
    FHEAP[_36] = 0;
    ;
    return;
  }
  __ZN23btGeneric6DofConstraint13calcAnchorPosEv.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraint13calcAnchorPosEv, "__ZN23btGeneric6DofConstraint13calcAnchorPosEv");
  
  
  function __ZN23btGeneric6DofConstraint19calculateLinearInfoEv(_this) {
    ;
    var __label__;
    var _0 = _this+1116+48+8;
    var _1 = FHEAP[_0];
    var _2 = _this+1052+48+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _this+1116+48+4;
    var _6 = FHEAP[_5];
    var _7 = _this+1052+48+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _this+1116+48;
    var _11 = FHEAP[_10];
    var _12 = _this+1052+48;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _this+1244;
    var _16 = _this+1244+4;
    var _17 = _this+1244+8;
    var _18 = _this+1244+12;
    var _19 = _this+1052+16;
    var _20 = FHEAP[_19];
    var _21 = _this+1052+32+4;
    var _22 = FHEAP[_21];
    var _23 = _20 * _22;
    var _24 = _this+1052+16+4;
    var _25 = FHEAP[_24];
    var _26 = _this+1052+32;
    var _27 = FHEAP[_26];
    var _28 = _25 * _27;
    var _29 = _23 - _28;
    var _30 = _this+1052+16+8;
    var _31 = FHEAP[_30];
    var _32 = _31 * _27;
    var _33 = _this+1052+32+8;
    var _34 = FHEAP[_33];
    var _35 = _20 * _34;
    var _36 = _32 - _35;
    var _37 = _25 * _34;
    var _38 = _31 * _22;
    var _39 = _37 - _38;
    var _40 = _this+1052;
    var _41 = FHEAP[_40];
    var _42 = _41 * _39;
    var _43 = _this+1052+4;
    var _44 = FHEAP[_43];
    var _45 = _44 * _36;
    var _46 = _42 + _45;
    var _47 = _this+1052+8;
    var _48 = FHEAP[_47];
    var _49 = _48 * _29;
    var _50 = _46 + _49;
    var _51 = 1 / _50;
    var _52 = _41 * _25;
    var _53 = _44 * _20;
    var _54 = _52 - _53;
    var _55 = _54 * _51;
    var _56 = _44 * _27;
    var _57 = _41 * _22;
    var _58 = _56 - _57;
    var _59 = _58 * _51;
    var _60 = _29 * _51;
    var _61 = _48 * _20;
    var _62 = _41 * _31;
    var _63 = _61 - _62;
    var _64 = _63 * _51;
    var _65 = _41 * _34;
    var _66 = _48 * _27;
    var _67 = _65 - _66;
    var _68 = _67 * _51;
    var _69 = _36 * _51;
    var _70 = _44 * _31;
    var _71 = _48 * _25;
    var _72 = _70 - _71;
    var _73 = _72 * _51;
    var _74 = _48 * _22;
    var _75 = _44 * _34;
    var _76 = _74 - _75;
    var _77 = _76 * _51;
    var _78 = _39 * _51;
    var _79 = _60 * _14;
    var _80 = _59 * _9;
    var _81 = _79 + _80;
    var _82 = _55 * _4;
    var _83 = _81 + _82;
    var _84 = _69 * _14;
    var _85 = _68 * _9;
    var _86 = _84 + _85;
    var _87 = _64 * _4;
    var _88 = _86 + _87;
    var _89 = _78 * _14;
    var _90 = _77 * _9;
    var _91 = _89 + _90;
    var _92 = _73 * _4;
    var _93 = _91 + _92;
    FHEAP[_15] = _93;
    FHEAP[_16] = _88;
    FHEAP[_17] = _83;
    FHEAP[_18] = 0;
    var _scevgep11 = _this+668+160;
    var _scevgep12 = _this+668;
    var _scevgep13 = _this+668+16;
    var _scevgep14 = _this+668+176;
    var _scevgep15 = _this+668+144;
    FHEAP[_scevgep11] = _93;
    var _94 = FHEAP[_scevgep12];
    var _95 = FHEAP[_scevgep13];
    var _96 = _94 > _95;
    ;
    if (_96) {
      ;
      IHEAP[_scevgep14] = 0;
      FHEAP[_scevgep15] = 0;
      ;
    }
    else {
      ;
      var _97 = _94 > _93;
      ;
      if (_97) {
        ;
        IHEAP[_scevgep14] = 2;
        var _98 = _93 - _94;
        FHEAP[_scevgep15] = _98;
        ;
      }
      else {
        ;
        var _99 = _95 < _93;
        ;
        if (_99) {
          ;
          IHEAP[_scevgep14] = 1;
          var _100 = _93 - _95;
          FHEAP[_scevgep15] = _100;
          ;
        }
        else {
          ;
          IHEAP[_scevgep14] = 0;
          FHEAP[_scevgep15] = 0;
          ;
        }
      }
    }
    var _scevgep11_1 = _this+668+160+4;
    var _scevgep12_1 = _this+668+4;
    var _scevgep13_1 = _this+668+16+4;
    var _scevgep14_1 = _this+668+176+4;
    var _scevgep15_1 = _this+668+144+4;
    FHEAP[_scevgep11_1] = _88;
    var _101 = FHEAP[_scevgep12_1];
    var _102 = FHEAP[_scevgep13_1];
    var _103 = _101 > _102;
    ;
    if (_103) {
      ;
      IHEAP[_scevgep14_1] = 0;
      FHEAP[_scevgep15_1] = 0;
      ;
    }
    else {
      ;
      var _108 = _101 > _88;
      ;
      if (_108) {
        ;
        IHEAP[_scevgep14_1] = 2;
        var _110 = _88 - _101;
        FHEAP[_scevgep15_1] = _110;
        ;
      }
      else {
        ;
        var _107 = _102 < _88;
        ;
        if (_107) {
          ;
          IHEAP[_scevgep14_1] = 1;
          var _109 = _88 - _102;
          FHEAP[_scevgep15_1] = _109;
          ;
        }
        else {
          ;
          IHEAP[_scevgep14_1] = 0;
          FHEAP[_scevgep15_1] = 0;
          ;
        }
      }
    }
    var _scevgep11_2 = _this+668+160+8;
    var _scevgep12_2 = _this+668+8;
    var _scevgep13_2 = _this+668+16+8;
    var _scevgep14_2 = _this+668+176+8;
    var _scevgep15_2 = _this+668+144+8;
    FHEAP[_scevgep11_2] = _83;
    var _104 = FHEAP[_scevgep12_2];
    var _105 = FHEAP[_scevgep13_2];
    var _106 = _104 > _105;
    ;
    if (_106) {
      ;
      IHEAP[_scevgep14_2] = 0;
      FHEAP[_scevgep15_2] = 0;
      ;
      return;
    }
    else {
      ;
      var _112 = _104 > _83;
      ;
      if (_112) {
        ;
        IHEAP[_scevgep14_2] = 2;
        var _114 = _83 - _104;
        FHEAP[_scevgep15_2] = _114;
        ;
        return;
      }
      else {
        ;
        var _111 = _105 < _83;
        ;
        if (_111) {
          ;
          IHEAP[_scevgep14_2] = 1;
          var _113 = _83 - _105;
          FHEAP[_scevgep15_2] = _113;
          ;
          return;
        }
        else {
          ;
          IHEAP[_scevgep14_2] = 0;
          FHEAP[_scevgep15_2] = 0;
          ;
          return;
        }
      }
    }
  }
  __ZN23btGeneric6DofConstraint19calculateLinearInfoEv.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraint19calculateLinearInfoEv, "__ZN23btGeneric6DofConstraint19calculateLinearInfoEv");
  
  
  function __ZN23btGeneric6DofConstraint8setParamEifi(_this, _num, _value, _axis) {
    ;
    var __label__;
    var _0 = unSign(_axis, 32) < unSign(3, 32);
    ;
    _bb$_bb4$14896: do { 
      if (_0) {
        ;
        if (_num == 2) {
          __label__ = 75; /* _bb1 */ 
        }
        else if (_num == 3) {
          __label__ = 116; /* _bb3 */ 
        }
        else if (_num == 4) {
          __label__ = 0; /* _bb2 */ 
        }
        else {
        __label__ = 44; /* _return */ break _bb$_bb4$14896;
        }
        
        if (__label__ == 75) {
          var _1 = _this+668+76+_axis*4;
          FHEAP[_1] = _value;
          var _2 = _this+1292;
          var _3 = IHEAP[_2];
          var _4 = _axis * 3;
          var _5 = 4 << _4;
          var _6 = _3 | _5;
          IHEAP[_2] = _6;
          ;
          return;
        }
        else if (__label__ == 116) {
          var _13 = _this+668+60+_axis*4;
          FHEAP[_13] = _value;
          var _14 = _this+1292;
          var _15 = IHEAP[_14];
          var _16 = _axis * 3;
          var _17 = 1 << _16;
          var _18 = _15 | _17;
          IHEAP[_14] = _18;
          ;
          return;
        }
        else if (__label__ == 0) {
          var _7 = _this+668+92+_axis*4;
          FHEAP[_7] = _value;
          var _8 = _this+1292;
          var _9 = IHEAP[_8];
          var _10 = _axis * 3;
          var _11 = 2 << _10;
          var _12 = _9 | _11;
          IHEAP[_8] = _12;
          ;
          return;
        }
      }
      else {
        ;
        var _19 = _axis + -3;
        var _20 = unSign(_19, 32) < unSign(3, 32);
        if (!(_20)) { __label__ = 44; /* _return */ break _bb$_bb4$14896; }
        if (_num == 2) {
          __label__ = 83; /* _bb6 */ 
        }
        else if (_num == 3) {
          __label__ = 148; /* _bb8 */ 
        }
        else if (_num == 4) {
          __label__ = 2; /* _bb7 */ 
        }
        else {
        __label__ = 44; /* _return */ break _bb$_bb4$14896;
        }
        
        if (__label__ == 83) {
          var _21 = _this+856+_19*64+32;
          FHEAP[_21] = _value;
          var _22 = _this+1292;
          var _23 = IHEAP[_22];
          var _24 = _axis * 3;
          var _25 = 4 << _24;
          var _26 = _23 | _25;
          IHEAP[_22] = _26;
          ;
          return;
        }
        else if (__label__ == 148) {
          var _33 = _this+856+_19*64+28;
          FHEAP[_33] = _value;
          var _34 = _this+1292;
          var _35 = IHEAP[_34];
          var _36 = _axis * 3;
          var _37 = 1 << _36;
          var _38 = _35 | _37;
          IHEAP[_34] = _38;
          ;
          return;
        }
        else if (__label__ == 2) {
          var _27 = _this+856+_19*64+36;
          FHEAP[_27] = _value;
          var _28 = _this+1292;
          var _29 = IHEAP[_28];
          var _30 = _axis * 3;
          var _31 = 2 << _30;
          var _32 = _29 | _31;
          IHEAP[_28] = _32;
          ;
          return;
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN23btGeneric6DofConstraint8setParamEifi.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraint8setParamEifi, "__ZN23btGeneric6DofConstraint8setParamEifi");
  
  
  function __ZNK23btGeneric6DofConstraint8getParamEii(_this, _num, _axis) {
    ;
    var __label__;
    var _0 = unSign(_axis, 32) < unSign(3, 32);
    ;
    _bb$_bb4$14910: do { 
      if (_0) {
        ;
        if (_num == 2) {
          __label__ = 75; /* _bb1 */ 
        }
        else if (_num == 3) {
          __label__ = 116; /* _bb3 */ 
        }
        else if (_num == 4) {
          __label__ = 0; /* _bb2 */ 
        }
        else {
        __label__ = 62; /* _bb9 */ break _bb$_bb4$14910;
        }
        
        if (__label__ == 75) {
          var _1 = _this+668+76+_axis*4;
          var _2 = FHEAP[_1];
          ;
          return _2;
        }
        else if (__label__ == 116) {
          var _5 = _this+668+60+_axis*4;
          var _6 = FHEAP[_5];
          ;
          return _6;
        }
        else if (__label__ == 0) {
          var _3 = _this+668+92+_axis*4;
          var _4 = FHEAP[_3];
          ;
          return _4;
        }
      }
      else {
        ;
        var _7 = _axis + -3;
        var _8 = unSign(_7, 32) < unSign(3, 32);
        if (!(_8)) { __label__ = 62; /* _bb9 */ break _bb$_bb4$14910; }
        if (_num == 2) {
          __label__ = 83; /* _bb6 */ 
        }
        else if (_num == 3) {
          __label__ = 148; /* _bb8 */ 
        }
        else if (_num == 4) {
          __label__ = 2; /* _bb7 */ 
        }
        else {
        __label__ = 62; /* _bb9 */ break _bb$_bb4$14910;
        }
        
        if (__label__ == 83) {
          var _9 = _this+856+_7*64+32;
          var _10 = FHEAP[_9];
          ;
          return _10;
        }
        else if (__label__ == 148) {
          var _13 = _this+856+_7*64+28;
          var _14 = FHEAP[_13];
          ;
          return _14;
        }
        else if (__label__ == 2) {
          var _11 = _this+856+_7*64+36;
          var _12 = FHEAP[_11];
          ;
          return _12;
        }
      }
    } while(0);
    ;
    return 0;
  }
  __ZNK23btGeneric6DofConstraint8getParamEii.__index__ = Runtime.getFunctionIndex(__ZNK23btGeneric6DofConstraint8getParamEii, "__ZNK23btGeneric6DofConstraint8getParamEii");
  
  
  function __ZN23btGeneric6DofConstraintD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btGeneric6DofConstraint+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN23btGeneric6DofConstraintD0Ev.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraintD0Ev, "__ZN23btGeneric6DofConstraintD0Ev");
  
  
  function __ZN23btGeneric6DofConstraintD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btGeneric6DofConstraint+8;
    ;
    return;
  }
  __ZN23btGeneric6DofConstraintD1Ev.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraintD1Ev, "__ZN23btGeneric6DofConstraintD1Ev");
  
  
  function __ZN23btGeneric6DofConstraint19calculateTransformsERK11btTransformS2_(_this, _transA, _transB) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _transA+32;
    var _1 = FHEAP[_0];
    var _2 = _this+36+48;
    var _3 = FHEAP[_2];
    var _4 = _1 * _3;
    var _5 = _transA+32+4;
    var _6 = FHEAP[_5];
    var _7 = _this+36+48+4;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _4 + _9;
    var _11 = _transA+32+8;
    var _12 = FHEAP[_11];
    var _13 = _this+36+48+8;
    var _14 = FHEAP[_13];
    var _15 = _12 * _14;
    var _16 = _10 + _15;
    var _17 = _transA+48+8;
    var _18 = FHEAP[_17];
    var _19 = _16 + _18;
    var _20 = _transA+16;
    var _21 = FHEAP[_20];
    var _22 = _21 * _3;
    var _23 = _transA+16+4;
    var _24 = FHEAP[_23];
    var _25 = _24 * _8;
    var _26 = _22 + _25;
    var _27 = _transA+16+8;
    var _28 = FHEAP[_27];
    var _29 = _28 * _14;
    var _30 = _26 + _29;
    var _31 = _transA+48+4;
    var _32 = FHEAP[_31];
    var _33 = _30 + _32;
    var _34 = _transA;
    var _35 = FHEAP[_34];
    var _36 = _35 * _3;
    var _37 = _transA+4;
    var _38 = FHEAP[_37];
    var _39 = _38 * _8;
    var _40 = _36 + _39;
    var _41 = _transA+8;
    var _42 = FHEAP[_41];
    var _43 = _42 * _14;
    var _44 = _40 + _43;
    var _45 = _transA+48;
    var _46 = FHEAP[_45];
    var _47 = _44 + _46;
    var _48 = _this+36+8;
    var _49 = FHEAP[_48];
    var _50 = _49 * _1;
    var _51 = _this+36+16+8;
    var _52 = FHEAP[_51];
    var _53 = _52 * _6;
    var _54 = _50 + _53;
    var _55 = _this+36+32+8;
    var _56 = FHEAP[_55];
    var _57 = _56 * _12;
    var _58 = _54 + _57;
    var _59 = _this+36+4;
    var _60 = FHEAP[_59];
    var _61 = _60 * _1;
    var _62 = _this+36+16+4;
    var _63 = FHEAP[_62];
    var _64 = _63 * _6;
    var _65 = _61 + _64;
    var _66 = _this+36+32+4;
    var _67 = FHEAP[_66];
    var _68 = _67 * _12;
    var _69 = _65 + _68;
    var _70 = _this+36;
    var _71 = FHEAP[_70];
    var _72 = _71 * _1;
    var _73 = _this+36+16;
    var _74 = FHEAP[_73];
    var _75 = _74 * _6;
    var _76 = _72 + _75;
    var _77 = _this+36+32;
    var _78 = FHEAP[_77];
    var _79 = _78 * _12;
    var _80 = _76 + _79;
    var _81 = _49 * _21;
    var _82 = _52 * _24;
    var _83 = _81 + _82;
    var _84 = _56 * _28;
    var _85 = _83 + _84;
    var _86 = _60 * _21;
    var _87 = _63 * _24;
    var _88 = _86 + _87;
    var _89 = _67 * _28;
    var _90 = _88 + _89;
    var _91 = _71 * _21;
    var _92 = _74 * _24;
    var _93 = _91 + _92;
    var _94 = _78 * _28;
    var _95 = _93 + _94;
    var _96 = _49 * _35;
    var _97 = _52 * _38;
    var _98 = _96 + _97;
    var _99 = _56 * _42;
    var _100 = _98 + _99;
    var _101 = _60 * _35;
    var _102 = _63 * _38;
    var _103 = _101 + _102;
    var _104 = _67 * _42;
    var _105 = _103 + _104;
    var _106 = _71 * _35;
    var _107 = _74 * _38;
    var _108 = _106 + _107;
    var _109 = _78 * _42;
    var _110 = _108 + _109;
    var _111 = _this+1052;
    FHEAP[_111] = _110;
    var _112 = _this+1052+4;
    FHEAP[_112] = _105;
    var _113 = _this+1052+8;
    FHEAP[_113] = _100;
    var _114 = _this+1052+12;
    FHEAP[_114] = 0;
    var _115 = _this+1052+16;
    FHEAP[_115] = _95;
    var _116 = _this+1052+16+4;
    FHEAP[_116] = _90;
    var _117 = _this+1052+16+8;
    FHEAP[_117] = _85;
    var _118 = _this+1052+16+12;
    FHEAP[_118] = 0;
    var _119 = _this+1052+32;
    FHEAP[_119] = _80;
    var _120 = _this+1052+32+4;
    FHEAP[_120] = _69;
    var _121 = _this+1052+32+8;
    FHEAP[_121] = _58;
    var _122 = _this+1052+32+12;
    FHEAP[_122] = 0;
    var _123 = _this+1052+48;
    FHEAP[_123] = _47;
    var _124 = _this+1052+48+4;
    FHEAP[_124] = _33;
    var _125 = _this+1052+48+8;
    FHEAP[_125] = _19;
    var _126 = _this+1052+48+12;
    FHEAP[_126] = 0;
    var _127 = _transB+32;
    var _128 = FHEAP[_127];
    var _129 = _this+100+48;
    var _130 = FHEAP[_129];
    var _131 = _128 * _130;
    var _132 = _transB+32+4;
    var _133 = FHEAP[_132];
    var _134 = _this+100+48+4;
    var _135 = FHEAP[_134];
    var _136 = _133 * _135;
    var _137 = _131 + _136;
    var _138 = _transB+32+8;
    var _139 = FHEAP[_138];
    var _140 = _this+100+48+8;
    var _141 = FHEAP[_140];
    var _142 = _139 * _141;
    var _143 = _137 + _142;
    var _144 = _transB+48+8;
    var _145 = FHEAP[_144];
    var _146 = _143 + _145;
    var _147 = _transB+16;
    var _148 = FHEAP[_147];
    var _149 = _148 * _130;
    var _150 = _transB+16+4;
    var _151 = FHEAP[_150];
    var _152 = _151 * _135;
    var _153 = _149 + _152;
    var _154 = _transB+16+8;
    var _155 = FHEAP[_154];
    var _156 = _155 * _141;
    var _157 = _153 + _156;
    var _158 = _transB+48+4;
    var _159 = FHEAP[_158];
    var _160 = _157 + _159;
    var _161 = _transB;
    var _162 = FHEAP[_161];
    var _163 = _162 * _130;
    var _164 = _transB+4;
    var _165 = FHEAP[_164];
    var _166 = _165 * _135;
    var _167 = _163 + _166;
    var _168 = _transB+8;
    var _169 = FHEAP[_168];
    var _170 = _169 * _141;
    var _171 = _167 + _170;
    var _172 = _transB+48;
    var _173 = FHEAP[_172];
    var _174 = _171 + _173;
    var _175 = _this+100+8;
    var _176 = FHEAP[_175];
    var _177 = _176 * _128;
    var _178 = _this+100+16+8;
    var _179 = FHEAP[_178];
    var _180 = _179 * _133;
    var _181 = _177 + _180;
    var _182 = _this+100+32+8;
    var _183 = FHEAP[_182];
    var _184 = _183 * _139;
    var _185 = _181 + _184;
    var _186 = _this+100+4;
    var _187 = FHEAP[_186];
    var _188 = _187 * _128;
    var _189 = _this+100+16+4;
    var _190 = FHEAP[_189];
    var _191 = _190 * _133;
    var _192 = _188 + _191;
    var _193 = _this+100+32+4;
    var _194 = FHEAP[_193];
    var _195 = _194 * _139;
    var _196 = _192 + _195;
    var _197 = _this+100;
    var _198 = FHEAP[_197];
    var _199 = _198 * _128;
    var _200 = _this+100+16;
    var _201 = FHEAP[_200];
    var _202 = _201 * _133;
    var _203 = _199 + _202;
    var _204 = _this+100+32;
    var _205 = FHEAP[_204];
    var _206 = _205 * _139;
    var _207 = _203 + _206;
    var _208 = _176 * _148;
    var _209 = _179 * _151;
    var _210 = _208 + _209;
    var _211 = _183 * _155;
    var _212 = _210 + _211;
    var _213 = _187 * _148;
    var _214 = _190 * _151;
    var _215 = _213 + _214;
    var _216 = _194 * _155;
    var _217 = _215 + _216;
    var _218 = _198 * _148;
    var _219 = _201 * _151;
    var _220 = _218 + _219;
    var _221 = _205 * _155;
    var _222 = _220 + _221;
    var _223 = _176 * _162;
    var _224 = _179 * _165;
    var _225 = _223 + _224;
    var _226 = _183 * _169;
    var _227 = _225 + _226;
    var _228 = _187 * _162;
    var _229 = _190 * _165;
    var _230 = _228 + _229;
    var _231 = _194 * _169;
    var _232 = _230 + _231;
    var _233 = _198 * _162;
    var _234 = _201 * _165;
    var _235 = _233 + _234;
    var _236 = _205 * _169;
    var _237 = _235 + _236;
    var _238 = _this+1116;
    FHEAP[_238] = _237;
    var _239 = _this+1116+4;
    FHEAP[_239] = _232;
    var _240 = _this+1116+8;
    FHEAP[_240] = _227;
    var _241 = _this+1116+12;
    FHEAP[_241] = 0;
    var _242 = _this+1116+16;
    FHEAP[_242] = _222;
    var _243 = _this+1116+16+4;
    FHEAP[_243] = _217;
    var _244 = _this+1116+16+8;
    FHEAP[_244] = _212;
    var _245 = _this+1116+16+12;
    FHEAP[_245] = 0;
    var _246 = _this+1116+32;
    FHEAP[_246] = _207;
    var _247 = _this+1116+32+4;
    FHEAP[_247] = _196;
    var _248 = _this+1116+32+8;
    FHEAP[_248] = _185;
    var _249 = _this+1116+32+12;
    FHEAP[_249] = 0;
    var _250 = _this+1116+48;
    FHEAP[_250] = _174;
    var _251 = _this+1116+48+4;
    FHEAP[_251] = _160;
    var _252 = _this+1116+48+8;
    FHEAP[_252] = _146;
    var _253 = _this+1116+48+12;
    FHEAP[_253] = 0;
    __ZN23btGeneric6DofConstraint19calculateLinearInfoEv(_this);
    __ZN23btGeneric6DofConstraint18calculateAngleInfoEv(_this);
    var _254 = _this+1289;
    var _255 = IHEAP[_254];
    var _toBool = _255 == 0;
    ;
    if (_toBool) {
      ;
      ;
      return;
    }
    else {
      ;
      var _256 = _this+20;
      var _257 = IHEAP[_256];
      var _258 = _257+336;
      var _259 = FHEAP[_258];
      var _260 = _this+24;
      var _261 = IHEAP[_260];
      var _262 = _261+336;
      var _263 = FHEAP[_262];
      var _264 = _259 < 1.1920928955078125e-7;
      var _265 = _263 < 1.1920928955078125e-7;
      var _or_cond = _264 | _265;
      var _iftmp_215_0 = _or_cond;
      var _266 = _this+1268;
      IHEAP[_266] = _iftmp_215_0;
      var _267 = _259 + _263;
      var _268 = _267 > 0;
      ;
      if (_268) {
        ;
        var _269 = _263 / _267;
        var _270 = _this+1260;
        FHEAP[_270] = _269;
        __lastLabel__ = 82; ;
      }
      else {
        ;
        var _271 = _this+1260;
        FHEAP[_271] = 0.5;
        __lastLabel__ = 83; ;
      }
      var _272 = __lastLabel__ == 83 ? 0.5 : (_269);
      var _273 = 1 - _272;
      var _274 = _this+1264;
      FHEAP[_274] = _273;
      ;
      return;
    }
  }
  __ZN23btGeneric6DofConstraint19calculateTransformsERK11btTransformS2_.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraint19calculateTransformsERK11btTransformS2_, "__ZN23btGeneric6DofConstraint19calculateTransformsERK11btTransformS2_");
  
  
  function __ZN23btGeneric6DofConstraint19calculateTransformsEv(_this) {
    ;
    var __label__;
    var _0 = _this+24;
    var _1 = IHEAP[_0];
    var _2 = _1+4;
    var _3 = _this+20;
    var _4 = IHEAP[_3];
    var _5 = _4+4;
    __ZN23btGeneric6DofConstraint19calculateTransformsERK11btTransformS2_(_this, _5, _2);
    ;
    return;
  }
  __ZN23btGeneric6DofConstraint19calculateTransformsEv.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraint19calculateTransformsEv, "__ZN23btGeneric6DofConstraint19calculateTransformsEv");
  
  
  function __ZN29btGeneric6DofSpringConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b(_this, _rbA, _rbB, _frameInA, _frameInB, _useLinearReferenceFrameA) {
    ;
    var __label__;
    var _0 = _this;
    __ZN23btGeneric6DofConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b(_0, _rbA, _rbB, _frameInA, _frameInB, _useLinearReferenceFrameA);
    var _1 = _this;
    IHEAP[_1] = __ZTV29btGeneric6DofSpringConstraint+8;
    var _scevgep = _this+1300;
    var _scevgep4 = _this+1308;
    var _scevgep5 = _this+1332;
    var _scevgep6 = _this+1356;
    IHEAP[_scevgep] = 0;
    FHEAP[_scevgep4] = 0;
    FHEAP[_scevgep5] = 0;
    FHEAP[_scevgep6] = 1;
    var _scevgep_1 = _this+1300+1;
    var _scevgep4_1 = _this+1308+4;
    var _scevgep5_1 = _this+1332+4;
    var _scevgep6_1 = _this+1356+4;
    IHEAP[_scevgep_1] = 0;
    FHEAP[_scevgep4_1] = 0;
    FHEAP[_scevgep5_1] = 0;
    FHEAP[_scevgep6_1] = 1;
    var _scevgep_2 = _this+1300+2;
    var _scevgep4_2 = _this+1308+8;
    var _scevgep5_2 = _this+1332+8;
    var _scevgep6_2 = _this+1356+8;
    IHEAP[_scevgep_2] = 0;
    FHEAP[_scevgep4_2] = 0;
    FHEAP[_scevgep5_2] = 0;
    FHEAP[_scevgep6_2] = 1;
    var _scevgep_3 = _this+1300+3;
    var _scevgep4_3 = _this+1308+12;
    var _scevgep5_3 = _this+1332+12;
    var _scevgep6_3 = _this+1356+12;
    IHEAP[_scevgep_3] = 0;
    FHEAP[_scevgep4_3] = 0;
    FHEAP[_scevgep5_3] = 0;
    FHEAP[_scevgep6_3] = 1;
    var _scevgep_4 = _this+1300+4;
    var _scevgep4_4 = _this+1308+16;
    var _scevgep5_4 = _this+1332+16;
    var _scevgep6_4 = _this+1356+16;
    IHEAP[_scevgep_4] = 0;
    FHEAP[_scevgep4_4] = 0;
    FHEAP[_scevgep5_4] = 0;
    FHEAP[_scevgep6_4] = 1;
    var _scevgep_5 = _this+1300+5;
    var _scevgep4_5 = _this+1308+20;
    var _scevgep5_5 = _this+1332+20;
    var _scevgep6_5 = _this+1356+20;
    IHEAP[_scevgep_5] = 0;
    FHEAP[_scevgep4_5] = 0;
    FHEAP[_scevgep5_5] = 0;
    FHEAP[_scevgep6_5] = 1;
    ;
    return;
  }
  __ZN29btGeneric6DofSpringConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b.__index__ = Runtime.getFunctionIndex(__ZN29btGeneric6DofSpringConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b, "__ZN29btGeneric6DofSpringConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b");
  
  
  function __ZN29btGeneric6DofSpringConstraint12enableSpringEib(_this, _index, _onOff) {
    ;
    var __label__;
    var _0 = _this+1300+_index;
    IHEAP[_0] = _onOff;
    var _1 = _index < 3;
    ;
    if (_1) {
      ;
      var __sum = _index + 776;
      var _2 = _this+__sum;
      IHEAP[_2] = _onOff;
      ;
      return;
    }
    else {
      ;
      var _3 = _index + -3;
      var _4 = _this+856;
      var _5 = _4;
      var _6 = _5+_3*64+44;
      IHEAP[_6] = _onOff;
      ;
      return;
    }
  }
  __ZN29btGeneric6DofSpringConstraint12enableSpringEib.__index__ = Runtime.getFunctionIndex(__ZN29btGeneric6DofSpringConstraint12enableSpringEib, "__ZN29btGeneric6DofSpringConstraint12enableSpringEib");
  
  
  function __ZN29btGeneric6DofSpringConstraint12setStiffnessEif(_this, _index, _stiffness) {
    ;
    var __label__;
    var _0 = _this+1332+_index*4;
    FHEAP[_0] = _stiffness;
    ;
    return;
  }
  __ZN29btGeneric6DofSpringConstraint12setStiffnessEif.__index__ = Runtime.getFunctionIndex(__ZN29btGeneric6DofSpringConstraint12setStiffnessEif, "__ZN29btGeneric6DofSpringConstraint12setStiffnessEif");
  
  
  function __ZN29btGeneric6DofSpringConstraint10setDampingEif(_this, _index, _damping) {
    ;
    var __label__;
    var _0 = _this+1356+_index*4;
    FHEAP[_0] = _damping;
    ;
    return;
  }
  __ZN29btGeneric6DofSpringConstraint10setDampingEif.__index__ = Runtime.getFunctionIndex(__ZN29btGeneric6DofSpringConstraint10setDampingEif, "__ZN29btGeneric6DofSpringConstraint10setDampingEif");
  
  
  function __ZN29btGeneric6DofSpringConstraint19setEquilibriumPointEif(_this, _index, _val) {
    ;
    var __label__;
    var _0 = _this+1308+_index*4;
    FHEAP[_0] = _val;
    ;
    return;
  }
  __ZN29btGeneric6DofSpringConstraint19setEquilibriumPointEif.__index__ = Runtime.getFunctionIndex(__ZN29btGeneric6DofSpringConstraint19setEquilibriumPointEif, "__ZN29btGeneric6DofSpringConstraint19setEquilibriumPointEif");
  
  
  function __ZN29btGeneric6DofSpringConstraintD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btGeneric6DofConstraint+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN29btGeneric6DofSpringConstraintD0Ev.__index__ = Runtime.getFunctionIndex(__ZN29btGeneric6DofSpringConstraintD0Ev, "__ZN29btGeneric6DofSpringConstraintD0Ev");
  
  
  function __ZN29btGeneric6DofSpringConstraint19setEquilibriumPointEi(_this, _index) {
    ;
    var __label__;
    var _0 = _this;
    __ZN23btGeneric6DofConstraint19calculateTransformsEv(_0);
    var _1 = _index < 3;
    ;
    if (_1) {
      ;
      var _2 = _this+1244;
      var _3 = _2;
      var _4 = _3+4*_index;
      var _5 = FHEAP[_4];
      var _6 = _this+1308+_index*4;
      FHEAP[_6] = _5;
      ;
      return;
    }
    else {
      ;
      var _7 = _this+1180;
      var _8 = _7;
      var _9 = _index + -3;
      var _10 = _8+4*_9;
      var _11 = FHEAP[_10];
      var _12 = _this+1308+_index*4;
      FHEAP[_12] = _11;
      ;
      return;
    }
  }
  __ZN29btGeneric6DofSpringConstraint19setEquilibriumPointEi.__index__ = Runtime.getFunctionIndex(__ZN29btGeneric6DofSpringConstraint19setEquilibriumPointEi, "__ZN29btGeneric6DofSpringConstraint19setEquilibriumPointEi");
  
  
  function __ZN29btGeneric6DofSpringConstraint19setEquilibriumPointEv(_this) {
    ;
    var __label__;
    var _0 = _this;
    __ZN23btGeneric6DofConstraint19calculateTransformsEv(_0);
    var _scevgep14 = _this+1244;
    var _scevgep1415 = _scevgep14;
    var _scevgep16 = _this+1308;
    var _1 = FHEAP[_scevgep1415];
    FHEAP[_scevgep16] = _1;
    var _scevgep14_1 = _this+1248;
    var _scevgep1415_1 = _scevgep14_1;
    var _scevgep16_1 = _this+1308+4;
    var _2 = FHEAP[_scevgep1415_1];
    FHEAP[_scevgep16_1] = _2;
    var _scevgep14_2 = _this+1252;
    var _scevgep1415_2 = _scevgep14_2;
    var _scevgep16_2 = _this+1308+8;
    var _3 = FHEAP[_scevgep1415_2];
    FHEAP[_scevgep16_2] = _3;
    var _scevgep = _this+1180;
    var _scevgep10 = _scevgep;
    var _scevgep12 = _this+1308+12;
    var _4 = FHEAP[_scevgep10];
    FHEAP[_scevgep12] = _4;
    var _scevgep_1 = _this+1184;
    var _scevgep10_1 = _scevgep_1;
    var _scevgep12_1 = _this+1308+16;
    var _5 = FHEAP[_scevgep10_1];
    FHEAP[_scevgep12_1] = _5;
    var _scevgep_2 = _this+1188;
    var _scevgep10_2 = _scevgep_2;
    var _scevgep12_2 = _this+1308+20;
    var _6 = FHEAP[_scevgep10_2];
    FHEAP[_scevgep12_2] = _6;
    ;
    return;
  }
  __ZN29btGeneric6DofSpringConstraint19setEquilibriumPointEv.__index__ = Runtime.getFunctionIndex(__ZN29btGeneric6DofSpringConstraint19setEquilibriumPointEv, "__ZN29btGeneric6DofSpringConstraint19setEquilibriumPointEv");
  
  
  function __ZN29btGeneric6DofSpringConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b(_this, _rbA, _rbB, _frameInA, _frameInB, _useLinearReferenceFrameA) {
    ;
    var __label__;
    var _0 = _this;
    __ZN23btGeneric6DofConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b(_0, _rbA, _rbB, _frameInA, _frameInB, _useLinearReferenceFrameA);
    var _1 = _this;
    IHEAP[_1] = __ZTV29btGeneric6DofSpringConstraint+8;
    var _scevgep = _this+1300;
    var _scevgep4 = _this+1308;
    var _scevgep5 = _this+1332;
    var _scevgep6 = _this+1356;
    IHEAP[_scevgep] = 0;
    FHEAP[_scevgep4] = 0;
    FHEAP[_scevgep5] = 0;
    FHEAP[_scevgep6] = 1;
    var _scevgep_1 = _this+1300+1;
    var _scevgep4_1 = _this+1308+4;
    var _scevgep5_1 = _this+1332+4;
    var _scevgep6_1 = _this+1356+4;
    IHEAP[_scevgep_1] = 0;
    FHEAP[_scevgep4_1] = 0;
    FHEAP[_scevgep5_1] = 0;
    FHEAP[_scevgep6_1] = 1;
    var _scevgep_2 = _this+1300+2;
    var _scevgep4_2 = _this+1308+8;
    var _scevgep5_2 = _this+1332+8;
    var _scevgep6_2 = _this+1356+8;
    IHEAP[_scevgep_2] = 0;
    FHEAP[_scevgep4_2] = 0;
    FHEAP[_scevgep5_2] = 0;
    FHEAP[_scevgep6_2] = 1;
    var _scevgep_3 = _this+1300+3;
    var _scevgep4_3 = _this+1308+12;
    var _scevgep5_3 = _this+1332+12;
    var _scevgep6_3 = _this+1356+12;
    IHEAP[_scevgep_3] = 0;
    FHEAP[_scevgep4_3] = 0;
    FHEAP[_scevgep5_3] = 0;
    FHEAP[_scevgep6_3] = 1;
    var _scevgep_4 = _this+1300+4;
    var _scevgep4_4 = _this+1308+16;
    var _scevgep5_4 = _this+1332+16;
    var _scevgep6_4 = _this+1356+16;
    IHEAP[_scevgep_4] = 0;
    FHEAP[_scevgep4_4] = 0;
    FHEAP[_scevgep5_4] = 0;
    FHEAP[_scevgep6_4] = 1;
    var _scevgep_5 = _this+1300+5;
    var _scevgep4_5 = _this+1308+20;
    var _scevgep5_5 = _this+1332+20;
    var _scevgep6_5 = _this+1356+20;
    IHEAP[_scevgep_5] = 0;
    FHEAP[_scevgep4_5] = 0;
    FHEAP[_scevgep5_5] = 0;
    FHEAP[_scevgep6_5] = 1;
    ;
    return;
  }
  __ZN29btGeneric6DofSpringConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b.__index__ = Runtime.getFunctionIndex(__ZN29btGeneric6DofSpringConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b, "__ZN29btGeneric6DofSpringConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b");
  
  
  function __ZN18btHinge2ConstraintD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btGeneric6DofConstraint+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN18btHinge2ConstraintD0Ev.__index__ = Runtime.getFunctionIndex(__ZN18btHinge2ConstraintD0Ev, "__ZN18btHinge2ConstraintD0Ev");
  
  
  function __ZN17btHingeConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E(_this, _info) {
    ;
    var __label__;
    var _0 = _this+723;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    var _2 = _info;
    ;
    if (_toBool) {
      ;
      IHEAP[_2] = 6;
      var _4 = _info+4;
      IHEAP[_4] = 0;
      ;
      return;
    }
    else {
      ;
      IHEAP[_2] = 0;
      var _3 = _info+4;
      IHEAP[_3] = 0;
      ;
      return;
    }
  }
  __ZN17btHingeConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E, "__ZN17btHingeConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E");
  
  
  function __ZN17btHingeConstraint8setParamEifi(_this, _num, _value, _axis) {
    ;
    var __label__;
    if (_axis == 5) {
      __label__ = 60; /* _bb */ 
    }
    else if (_axis == -1) {
      __label__ = 60; /* _bb */ 
    }
    else {
    __label__ = 44; /* _return */ 
    }
    
    _return$_bb$15241: do { 
      if (__label__ == 60) {
        if (_num == 2) {
          __label__ = 116; /* _bb3 */ 
        }
        else if (_num == 3) {
          __label__ = 82; /* _bb5 */ 
        }
        else if (_num == 4) {
          __label__ = 61; /* _bb4 */ 
        }
        else {
        __label__ = 44; /* _return */ break _return$_bb$15241;
        }
        
        if (__label__ == 116) {
          var _0 = _this+744;
          FHEAP[_0] = _value;
          var _1 = _this+732;
          var _2 = IHEAP[_1];
          var _3 = _2 | 2;
          IHEAP[_1] = _3;
          ;
          return;
        }
        else if (__label__ == 82) {
          var _8 = _this+736;
          FHEAP[_8] = _value;
          var _9 = _this+732;
          var _10 = IHEAP[_9];
          var _11 = _10 | 4;
          IHEAP[_9] = _11;
          ;
          return;
        }
        else if (__label__ == 61) {
          var _4 = _this+740;
          FHEAP[_4] = _value;
          var _5 = _this+732;
          var _6 = IHEAP[_5];
          var _7 = _6 | 1;
          IHEAP[_5] = _7;
          ;
          return;
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN17btHingeConstraint8setParamEifi.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraint8setParamEifi, "__ZN17btHingeConstraint8setParamEifi");
  
  
  function __ZNK17btHingeConstraint8getParamEii(_this, _num, _axis) {
    ;
    var __label__;
    if (_axis == 5) {
      __label__ = 60; /* _bb */ 
    }
    else if (_axis == -1) {
      __label__ = 60; /* _bb */ 
    }
    else {
    __label__ = 83; /* _bb6 */ 
    }
    
    _bb6$_bb$15249: do { 
      if (__label__ == 60) {
        if (_num == 2) {
          __label__ = 116; /* _bb3 */ 
        }
        else if (_num == 3) {
          __label__ = 82; /* _bb5 */ 
        }
        else if (_num == 4) {
          __label__ = 61; /* _bb4 */ 
        }
        else {
        __label__ = 83; /* _bb6 */ break _bb6$_bb$15249;
        }
        
        if (__label__ == 116) {
          var _0 = _this+744;
          var _1 = FHEAP[_0];
          ;
          return _1;
        }
        else if (__label__ == 82) {
          var _4 = _this+736;
          var _5 = FHEAP[_4];
          ;
          return _5;
        }
        else if (__label__ == 61) {
          var _2 = _this+740;
          var _3 = FHEAP[_2];
          ;
          return _3;
        }
      }
    } while(0);
    ;
    return 0;
  }
  __ZNK17btHingeConstraint8getParamEii.__index__ = Runtime.getFunctionIndex(__ZNK17btHingeConstraint8getParamEii, "__ZNK17btHingeConstraint8getParamEii");
  
  
  function __ZN17btHingeConstraintD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17btHingeConstraint+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN17btHingeConstraintD0Ev.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraintD0Ev, "__ZN17btHingeConstraintD0Ev");
  
  
  function __ZN17btHingeConstraintD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17btHingeConstraint+8;
    ;
    return;
  }
  __ZN17btHingeConstraintD1Ev.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraintD1Ev, "__ZN17btHingeConstraintD1Ev");
  
  
  function __ZN17btHingeConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E(_this, _info) {
    ;
    var __label__;
    var _0 = _this+724;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    var _2 = _this+24;
    var _3 = IHEAP[_2];
    var _4 = _3+320;
    var _5 = _this+20;
    var _6 = IHEAP[_5];
    var _7 = _6+320;
    var _8 = _3+4;
    var _9 = _6+4;
    ;
    if (_toBool) {
      ;
      __ZN17btHingeConstraint16getInfo2InternalEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_(_this, _info, _9, _8, _7, _4);
      ;
      return;
    }
    else {
      ;
      __ZN17btHingeConstraint32getInfo2InternalUsingFrameOffsetEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_(_this, _info, _9, _8, _7, _4);
      ;
      return;
    }
  }
  __ZN17btHingeConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E, "__ZN17btHingeConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E");
  
  
  function __ZN17btHingeConstraintC2ER11btRigidBodyRK11btTransformb(_this, _rbA, _rbAFrame, _useReferenceFrameA) {
    ;
    var __label__;
    var _0 = _this;
    __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBody(_0, 4, _rbA);
    var _1 = _this;
    IHEAP[_1] = __ZTV17btHingeConstraint+8;
    var _2 = _this+540;
    var _3 = _rbAFrame;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _this+540+4;
    var _6 = _rbAFrame+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _this+540+8;
    var _9 = _rbAFrame+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _this+540+12;
    var _12 = _rbAFrame+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _this+540+16;
    var _15 = _rbAFrame+16;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _this+540+16+4;
    var _18 = _rbAFrame+16+4;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _this+540+16+8;
    var _21 = _rbAFrame+16+8;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _this+540+16+12;
    var _24 = _rbAFrame+16+12;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _this+540+32;
    var _27 = _rbAFrame+32;
    var _28 = FHEAP[_27];
    FHEAP[_26] = _28;
    var _29 = _this+540+32+4;
    var _30 = _rbAFrame+32+4;
    var _31 = FHEAP[_30];
    FHEAP[_29] = _31;
    var _32 = _this+540+32+8;
    var _33 = _rbAFrame+32+8;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _this+540+32+12;
    var _36 = _rbAFrame+32+12;
    var _37 = FHEAP[_36];
    FHEAP[_35] = _37;
    var _38 = _this+540+48;
    var _39 = _rbAFrame+48;
    var _40 = FHEAP[_39];
    FHEAP[_38] = _40;
    var _41 = _this+540+48+4;
    var _42 = _rbAFrame+48+4;
    var _43 = FHEAP[_42];
    FHEAP[_41] = _43;
    var _44 = _this+540+48+8;
    var _45 = _rbAFrame+48+8;
    var _46 = FHEAP[_45];
    FHEAP[_44] = _46;
    var _47 = _this+540+48+12;
    var _48 = _rbAFrame+48+12;
    var _49 = FHEAP[_48];
    FHEAP[_47] = _49;
    var _50 = _this+604;
    var _51 = FHEAP[_3];
    FHEAP[_50] = _51;
    var _52 = _this+604+4;
    var _53 = FHEAP[_6];
    FHEAP[_52] = _53;
    var _54 = _this+604+8;
    var _55 = FHEAP[_9];
    FHEAP[_54] = _55;
    var _56 = _this+604+12;
    var _57 = FHEAP[_12];
    FHEAP[_56] = _57;
    var _58 = _this+604+16;
    var _59 = FHEAP[_15];
    FHEAP[_58] = _59;
    var _60 = _this+604+16+4;
    var _61 = FHEAP[_18];
    FHEAP[_60] = _61;
    var _62 = _this+604+16+8;
    var _63 = FHEAP[_21];
    FHEAP[_62] = _63;
    var _64 = _this+604+16+12;
    var _65 = FHEAP[_24];
    FHEAP[_64] = _65;
    var _66 = _this+604+32;
    var _67 = FHEAP[_27];
    FHEAP[_66] = _67;
    var _68 = _this+604+32+4;
    var _69 = FHEAP[_30];
    FHEAP[_68] = _69;
    var _70 = _this+604+32+8;
    var _71 = FHEAP[_33];
    FHEAP[_70] = _71;
    var _72 = _this+604+32+12;
    var _73 = FHEAP[_36];
    FHEAP[_72] = _73;
    var _74 = _this+604+48;
    var _75 = FHEAP[_39];
    FHEAP[_74] = _75;
    var _76 = _this+604+48+4;
    var _77 = FHEAP[_42];
    FHEAP[_76] = _77;
    var _78 = _this+604+48+8;
    var _79 = FHEAP[_45];
    FHEAP[_78] = _79;
    var _80 = _this+604+48+12;
    var _81 = FHEAP[_48];
    FHEAP[_80] = _81;
    var _82 = _this+720;
    IHEAP[_82] = 0;
    var _83 = _this+721;
    IHEAP[_83] = 0;
    var _84 = _this+723;
    IHEAP[_84] = 0;
    var _85 = _this+724;
    IHEAP[_85] = 1;
    var _86 = _this+725;
    IHEAP[_86] = _useReferenceFrameA;
    var _87 = _this+732;
    IHEAP[_87] = 0;
    var _88 = _this+20;
    var _89 = IHEAP[_88];
    var _90 = _89+4+32;
    var _91 = FHEAP[_90];
    var _92 = _91 * _40;
    var _93 = _89+4+32+4;
    var _94 = FHEAP[_93];
    var _95 = _94 * _43;
    var _96 = _92 + _95;
    var _97 = _89+4+32+8;
    var _98 = FHEAP[_97];
    var _99 = _98 * _46;
    var _100 = _96 + _99;
    var _101 = _89+4+48+8;
    var _102 = FHEAP[_101];
    var _103 = _100 + _102;
    var _104 = _89+4+16;
    var _105 = FHEAP[_104];
    var _106 = _105 * _40;
    var _107 = _89+4+16+4;
    var _108 = FHEAP[_107];
    var _109 = _108 * _43;
    var _110 = _106 + _109;
    var _111 = _89+4+16+8;
    var _112 = FHEAP[_111];
    var _113 = _112 * _46;
    var _114 = _110 + _113;
    var _115 = _89+4+48+4;
    var _116 = FHEAP[_115];
    var _117 = _114 + _116;
    var _118 = _89+4;
    var _119 = FHEAP[_118];
    var _120 = _119 * _40;
    var _121 = _89+4+4;
    var _122 = FHEAP[_121];
    var _123 = _122 * _43;
    var _124 = _120 + _123;
    var _125 = _89+4+8;
    var _126 = FHEAP[_125];
    var _127 = _126 * _46;
    var _128 = _124 + _127;
    var _129 = _89+4+48;
    var _130 = FHEAP[_129];
    var _131 = _128 + _130;
    FHEAP[_74] = _131;
    FHEAP[_76] = _117;
    FHEAP[_78] = _103;
    FHEAP[_80] = 0;
    var _132 = _this+688;
    FHEAP[_132] = 1;
    var _133 = _this+692;
    FHEAP[_133] = -1;
    var _134 = _this+680;
    FHEAP[_134] = 0.30000001192092896;
    var _135 = _this+684;
    FHEAP[_135] = 1;
    var _136 = _this+676;
    FHEAP[_136] = 0.8999999761581421;
    var _137 = _this+722;
    IHEAP[_137] = 0;
    var _toBool = _useReferenceFrameA == 0;
    var _iftmp_186_0 = _toBool ? 1 : -1;
    var _138 = _this+716;
    FHEAP[_138] = _iftmp_186_0;
    ;
    return;
  }
  __ZN17btHingeConstraintC2ER11btRigidBodyRK11btTransformb.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraintC2ER11btRigidBodyRK11btTransformb, "__ZN17btHingeConstraintC2ER11btRigidBodyRK11btTransformb");
  
  
  function __ZN17btHingeConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b(_this, _rbA, _rbB, _rbAFrame, _rbBFrame, _useReferenceFrameA) {
    ;
    var __label__;
    var _0 = _this;
    __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBodyS2_(_0, 4, _rbA, _rbB);
    var _1 = _this;
    IHEAP[_1] = __ZTV17btHingeConstraint+8;
    var _2 = _this+540;
    var _3 = _rbAFrame;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _this+540+4;
    var _6 = _rbAFrame+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _this+540+8;
    var _9 = _rbAFrame+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _this+540+12;
    var _12 = _rbAFrame+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _this+540+16;
    var _15 = _rbAFrame+16;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _this+540+16+4;
    var _18 = _rbAFrame+16+4;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _this+540+16+8;
    var _21 = _rbAFrame+16+8;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _this+540+16+12;
    var _24 = _rbAFrame+16+12;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _this+540+32;
    var _27 = _rbAFrame+32;
    var _28 = FHEAP[_27];
    FHEAP[_26] = _28;
    var _29 = _this+540+32+4;
    var _30 = _rbAFrame+32+4;
    var _31 = FHEAP[_30];
    FHEAP[_29] = _31;
    var _32 = _this+540+32+8;
    var _33 = _rbAFrame+32+8;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _this+540+32+12;
    var _36 = _rbAFrame+32+12;
    var _37 = FHEAP[_36];
    FHEAP[_35] = _37;
    var _38 = _this+540+48;
    var _39 = _rbAFrame+48;
    var _40 = FHEAP[_39];
    FHEAP[_38] = _40;
    var _41 = _this+540+48+4;
    var _42 = _rbAFrame+48+4;
    var _43 = FHEAP[_42];
    FHEAP[_41] = _43;
    var _44 = _this+540+48+8;
    var _45 = _rbAFrame+48+8;
    var _46 = FHEAP[_45];
    FHEAP[_44] = _46;
    var _47 = _this+540+48+12;
    var _48 = _rbAFrame+48+12;
    var _49 = FHEAP[_48];
    FHEAP[_47] = _49;
    var _50 = _this+604;
    var _51 = _rbBFrame;
    var _52 = FHEAP[_51];
    FHEAP[_50] = _52;
    var _53 = _this+604+4;
    var _54 = _rbBFrame+4;
    var _55 = FHEAP[_54];
    FHEAP[_53] = _55;
    var _56 = _this+604+8;
    var _57 = _rbBFrame+8;
    var _58 = FHEAP[_57];
    FHEAP[_56] = _58;
    var _59 = _this+604+12;
    var _60 = _rbBFrame+12;
    var _61 = FHEAP[_60];
    FHEAP[_59] = _61;
    var _62 = _this+604+16;
    var _63 = _rbBFrame+16;
    var _64 = FHEAP[_63];
    FHEAP[_62] = _64;
    var _65 = _this+604+16+4;
    var _66 = _rbBFrame+16+4;
    var _67 = FHEAP[_66];
    FHEAP[_65] = _67;
    var _68 = _this+604+16+8;
    var _69 = _rbBFrame+16+8;
    var _70 = FHEAP[_69];
    FHEAP[_68] = _70;
    var _71 = _this+604+16+12;
    var _72 = _rbBFrame+16+12;
    var _73 = FHEAP[_72];
    FHEAP[_71] = _73;
    var _74 = _this+604+32;
    var _75 = _rbBFrame+32;
    var _76 = FHEAP[_75];
    FHEAP[_74] = _76;
    var _77 = _this+604+32+4;
    var _78 = _rbBFrame+32+4;
    var _79 = FHEAP[_78];
    FHEAP[_77] = _79;
    var _80 = _this+604+32+8;
    var _81 = _rbBFrame+32+8;
    var _82 = FHEAP[_81];
    FHEAP[_80] = _82;
    var _83 = _this+604+32+12;
    var _84 = _rbBFrame+32+12;
    var _85 = FHEAP[_84];
    FHEAP[_83] = _85;
    var _86 = _this+604+48;
    var _87 = _rbBFrame+48;
    var _88 = FHEAP[_87];
    FHEAP[_86] = _88;
    var _89 = _this+604+48+4;
    var _90 = _rbBFrame+48+4;
    var _91 = FHEAP[_90];
    FHEAP[_89] = _91;
    var _92 = _this+604+48+8;
    var _93 = _rbBFrame+48+8;
    var _94 = FHEAP[_93];
    FHEAP[_92] = _94;
    var _95 = _this+604+48+12;
    var _96 = _rbBFrame+48+12;
    var _97 = FHEAP[_96];
    FHEAP[_95] = _97;
    var _98 = _this+720;
    IHEAP[_98] = 0;
    var _99 = _this+721;
    IHEAP[_99] = 0;
    var _100 = _this+723;
    IHEAP[_100] = 0;
    var _101 = _this+724;
    IHEAP[_101] = 1;
    var _102 = _this+725;
    IHEAP[_102] = _useReferenceFrameA;
    var _103 = _this+732;
    IHEAP[_103] = 0;
    var _104 = _this+688;
    FHEAP[_104] = 1;
    var _105 = _this+692;
    FHEAP[_105] = -1;
    var _106 = _this+680;
    FHEAP[_106] = 0.30000001192092896;
    var _107 = _this+684;
    FHEAP[_107] = 1;
    var _108 = _this+676;
    FHEAP[_108] = 0.8999999761581421;
    var _109 = _this+722;
    IHEAP[_109] = 0;
    var _toBool = _useReferenceFrameA == 0;
    var _iftmp_182_0 = _toBool ? 1 : -1;
    var _110 = _this+716;
    FHEAP[_110] = _iftmp_182_0;
    ;
    return;
  }
  __ZN17btHingeConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b, "__ZN17btHingeConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b");
  
  
  function __ZN23btPoint2PointConstraintC2ER11btRigidBodyS1_RK9btVector3S4_(_this, _rbA, _rbB, _pivotInA, _pivotInB) {
    ;
    var __label__;
    var _0 = _this;
    __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBodyS2_(_0, 3, _rbA, _rbB);
    var _1 = _this;
    IHEAP[_1] = __ZTV23btPoint2PointConstraint+8;
    var _2 = _this+288;
    var _3 = _pivotInA;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _this+288+4;
    var _6 = _pivotInA+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _this+288+8;
    var _9 = _pivotInA+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _this+288+12;
    var _12 = _pivotInA+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _this+304;
    var _15 = _pivotInB;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _this+304+4;
    var _18 = _pivotInB+4;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _this+304+8;
    var _21 = _pivotInB+8;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _this+304+12;
    var _24 = _pivotInB+12;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _this+320;
    IHEAP[_26] = 0;
    var _27 = _this+332;
    IHEAP[_27] = 0;
    var _28 = _this+336;
    FHEAP[_28] = 0.30000001192092896;
    var _29 = _this+336+4;
    FHEAP[_29] = 1;
    var _30 = _this+336+8;
    FHEAP[_30] = 0;
    ;
    return;
  }
  __ZN23btPoint2PointConstraintC2ER11btRigidBodyS1_RK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZN23btPoint2PointConstraintC2ER11btRigidBodyS1_RK9btVector3S4_, "__ZN23btPoint2PointConstraintC2ER11btRigidBodyS1_RK9btVector3S4_");
  
  
  function __ZN23btPoint2PointConstraint13buildJacobianEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 144;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _3 = __stackBase__+80;
    var _normal = __stackBase__+128;
    var _4 = _this+28;
    FHEAP[_4] = 0;
    var _5 = _normal;
    FHEAP[_5] = 0;
    var _6 = _normal+4;
    FHEAP[_6] = 0;
    var _7 = _normal+8;
    FHEAP[_7] = 0;
    var _8 = _normal+12;
    FHEAP[_8] = 0;
    var _9 = _this+20;
    var _10 = _3;
    var _11 = _3+4;
    var _12 = _3+8;
    var _13 = _3+12;
    var _14 = _3+16;
    var _15 = _3+16+4;
    var _16 = _3+16+8;
    var _17 = _3+16+12;
    var _18 = _3+32;
    var _19 = _3+32+4;
    var _20 = _3+32+8;
    var _21 = _3+32+12;
    var _22 = _this+24;
    var _23 = _2;
    var _24 = _2+4;
    var _25 = _2+8;
    var _26 = _2+12;
    var _27 = _2+16;
    var _28 = _2+16+4;
    var _29 = _2+16+8;
    var _30 = _2+16+12;
    var _31 = _2+32;
    var _32 = _2+32+4;
    var _33 = _2+32+8;
    var _34 = _2+32+12;
    var _35 = _this+288;
    var _36 = _this+288+4;
    var _37 = _this+288+8;
    var _38 = _1;
    var _39 = _1+4;
    var _40 = _1+8;
    var _41 = _1+12;
    var _42 = _this+304;
    var _43 = _this+304+4;
    var _44 = _this+304+8;
    var _45 = _0;
    var _46 = _0+4;
    var _47 = _0+8;
    var _48 = _0+12;
    __lastLabel__ = 130; ;
    _bb$15478: while(1) { // _bb
      var _i_014 = __lastLabel__ == 130 ? 0 : (_154);
      var _scevgep = _this+36+_i_014*84;
      var _scevgep15 = _normal+_i_014*4;
      FHEAP[_scevgep15] = 1;
      var _49 = IHEAP[_9];
      var _50 = _49+4+32+8;
      var _51 = _49+4+16+8;
      var _52 = _49+4+8;
      var _53 = _49+4+32+4;
      var _54 = _49+4+16+4;
      var _55 = _49+4+4;
      var _56 = _49+4+32;
      var _57 = _49+4+16;
      var _58 = _49+4;
      var _59 = FHEAP[_58];
      FHEAP[_10] = _59;
      var _60 = FHEAP[_57];
      FHEAP[_11] = _60;
      var _61 = FHEAP[_56];
      FHEAP[_12] = _61;
      FHEAP[_13] = 0;
      var _62 = FHEAP[_55];
      FHEAP[_14] = _62;
      var _63 = FHEAP[_54];
      FHEAP[_15] = _63;
      var _64 = FHEAP[_53];
      FHEAP[_16] = _64;
      FHEAP[_17] = 0;
      var _65 = FHEAP[_52];
      FHEAP[_18] = _65;
      var _66 = FHEAP[_51];
      FHEAP[_19] = _66;
      var _67 = FHEAP[_50];
      FHEAP[_20] = _67;
      FHEAP[_21] = 0;
      var _68 = IHEAP[_22];
      var _69 = _68+4+32+8;
      var _70 = _68+4+16+8;
      var _71 = _68+4+8;
      var _72 = _68+4+32+4;
      var _73 = _68+4+16+4;
      var _74 = _68+4+4;
      var _75 = _68+4+32;
      var _76 = _68+4+16;
      var _77 = _68+4;
      var _78 = FHEAP[_77];
      FHEAP[_23] = _78;
      var _79 = FHEAP[_76];
      FHEAP[_24] = _79;
      var _80 = FHEAP[_75];
      FHEAP[_25] = _80;
      FHEAP[_26] = 0;
      var _81 = FHEAP[_74];
      FHEAP[_27] = _81;
      var _82 = FHEAP[_73];
      FHEAP[_28] = _82;
      var _83 = FHEAP[_72];
      FHEAP[_29] = _83;
      FHEAP[_30] = 0;
      var _84 = FHEAP[_71];
      FHEAP[_31] = _84;
      var _85 = FHEAP[_70];
      FHEAP[_32] = _85;
      var _86 = FHEAP[_69];
      FHEAP[_33] = _86;
      FHEAP[_34] = 0;
      var _87 = FHEAP[_35];
      var _88 = _61 * _87;
      var _89 = FHEAP[_36];
      var _90 = _64 * _89;
      var _91 = _88 + _90;
      var _92 = FHEAP[_37];
      var _93 = _67 * _92;
      var _94 = _91 + _93;
      var _95 = _49+4+48+8;
      var _96 = FHEAP[_95];
      var _97 = _94 + _96;
      var _98 = _60 * _87;
      var _99 = _63 * _89;
      var _100 = _98 + _99;
      var _101 = _66 * _92;
      var _102 = _100 + _101;
      var _103 = _49+4+48+4;
      var _104 = FHEAP[_103];
      var _105 = _102 + _104;
      var _106 = _59 * _87;
      var _107 = _62 * _89;
      var _108 = _106 + _107;
      var _109 = _65 * _92;
      var _110 = _108 + _109;
      var _111 = _49+4+48;
      var _112 = FHEAP[_111];
      var _113 = _110 + _112;
      var _114 = _97 - _96;
      var _115 = _105 - _104;
      var _116 = _113 - _112;
      FHEAP[_38] = _116;
      FHEAP[_39] = _115;
      FHEAP[_40] = _114;
      FHEAP[_41] = 0;
      var _117 = FHEAP[_42];
      var _118 = _80 * _117;
      var _119 = FHEAP[_43];
      var _120 = _83 * _119;
      var _121 = _118 + _120;
      var _122 = FHEAP[_44];
      var _123 = _86 * _122;
      var _124 = _121 + _123;
      var _125 = _68+4+48+8;
      var _126 = FHEAP[_125];
      var _127 = _124 + _126;
      var _128 = _79 * _117;
      var _129 = _82 * _119;
      var _130 = _128 + _129;
      var _131 = _85 * _122;
      var _132 = _130 + _131;
      var _133 = _68+4+48+4;
      var _134 = FHEAP[_133];
      var _135 = _132 + _134;
      var _136 = _78 * _117;
      var _137 = _81 * _119;
      var _138 = _136 + _137;
      var _139 = _84 * _122;
      var _140 = _138 + _139;
      var _141 = _68+4+48;
      var _142 = FHEAP[_141];
      var _143 = _140 + _142;
      var _144 = _127 - _126;
      var _145 = _135 - _134;
      var _146 = _143 - _142;
      FHEAP[_45] = _146;
      FHEAP[_46] = _145;
      FHEAP[_47] = _144;
      FHEAP[_48] = 0;
      var _147 = _scevgep == 0;
      ;
      if (!_147) {
        ;
        var _148 = _68+336;
        var _149 = _49+336;
        var _150 = FHEAP[_148];
        var _151 = _68+388;
        var _152 = FHEAP[_149];
        var _153 = _49+388;
        __ZN15btJacobianEntryC2ERK11btMatrix3x3S2_RK9btVector3S5_S5_S5_fS5_f(_scevgep, _3, _2, _1, _0, _normal, _153, _152, _151, _150);
        ;
      }
      FHEAP[_scevgep15] = 0;
      var _154 = _i_014 + 1;
      var _exitcond = _154 == 3;
      if (_exitcond) { __lastLabel__ = 116; __label__ = 44; /* _return */ break _bb$15478; } else { __lastLabel__ = 116; __label__ = 60; /* _bb */ continue _bb$15478; }
    }
    STACKTOP = __stackBase__;
    return;
  }
  __ZN23btPoint2PointConstraint13buildJacobianEv.__index__ = Runtime.getFunctionIndex(__ZN23btPoint2PointConstraint13buildJacobianEv, "__ZN23btPoint2PointConstraint13buildJacobianEv");
  
  
  function __ZN23btPoint2PointConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E(_this, _info) {
    ;
    var __label__;
    var _0 = _this+332;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    var _2 = _info;
    ;
    if (_toBool) {
      ;
      IHEAP[_2] = 3;
      var _4 = _info+4;
      IHEAP[_4] = 3;
      ;
      return;
    }
    else {
      ;
      IHEAP[_2] = 0;
      var _3 = _info+4;
      IHEAP[_3] = 0;
      ;
      return;
    }
  }
  __ZN23btPoint2PointConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E.__index__ = Runtime.getFunctionIndex(__ZN23btPoint2PointConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E, "__ZN23btPoint2PointConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E");
  
  
  function __ZN23btPoint2PointConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E(_this, _info) {
    ;
    var __label__;
    var _0 = _this+332;
    var _1 = IHEAP[_0];
    var _toBool_i = _1 == 0;
    var _2 = _info;
    ;
    if (_toBool_i) {
      ;
      IHEAP[_2] = 3;
      var _4 = _info+4;
      IHEAP[_4] = 3;
      ;
      return;
    }
    else {
      ;
      IHEAP[_2] = 0;
      var _3 = _info+4;
      IHEAP[_3] = 0;
      ;
      return;
    }
  }
  __ZN23btPoint2PointConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E.__index__ = Runtime.getFunctionIndex(__ZN23btPoint2PointConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E, "__ZN23btPoint2PointConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E");
  
  
  function __ZN23btPoint2PointConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_(_this, _info, _body0_trans, _body1_trans) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _a1 = __stackBase__;
    var _a2 = __stackBase__+16;
    var _0 = _info+8;
    var _1 = IHEAP[_0];
    FHEAP[_1] = 1;
    var _2 = IHEAP[_0];
    var _3 = _info+24;
    var _4 = IHEAP[_3];
    var _5 = _4 + 1;
    var _6 = _2+4*_5;
    FHEAP[_6] = 1;
    var _7 = IHEAP[_0];
    var _8 = IHEAP[_3];
    var _9 = _8 << 1;
    var _10 = _9 + 2;
    var _11 = _7+4*_10;
    FHEAP[_11] = 1;
    var _12 = _body0_trans+32;
    var _13 = FHEAP[_12];
    var _14 = _this+288;
    var _15 = FHEAP[_14];
    var _16 = _13 * _15;
    var _17 = _body0_trans+32+4;
    var _18 = FHEAP[_17];
    var _19 = _this+288+4;
    var _20 = FHEAP[_19];
    var _21 = _18 * _20;
    var _22 = _16 + _21;
    var _23 = _body0_trans+32+8;
    var _24 = FHEAP[_23];
    var _25 = _this+288+8;
    var _26 = FHEAP[_25];
    var _27 = _24 * _26;
    var _28 = _22 + _27;
    var _29 = _body0_trans+16;
    var _30 = FHEAP[_29];
    var _31 = _30 * _15;
    var _32 = _body0_trans+16+4;
    var _33 = FHEAP[_32];
    var _34 = _33 * _20;
    var _35 = _31 + _34;
    var _36 = _body0_trans+16+8;
    var _37 = FHEAP[_36];
    var _38 = _37 * _26;
    var _39 = _35 + _38;
    var _40 = _body0_trans;
    var _41 = FHEAP[_40];
    var _42 = _41 * _15;
    var _43 = _body0_trans+4;
    var _44 = FHEAP[_43];
    var _45 = _44 * _20;
    var _46 = _42 + _45;
    var _47 = _body0_trans+8;
    var _48 = FHEAP[_47];
    var _49 = _48 * _26;
    var _50 = _46 + _49;
    var _51 = _a1;
    FHEAP[_51] = _50;
    var _52 = _a1+4;
    FHEAP[_52] = _39;
    var _53 = _a1+8;
    FHEAP[_53] = _28;
    var _54 = _a1+12;
    FHEAP[_54] = 0;
    var _55 = _info+12;
    var _56 = IHEAP[_55];
    var _57 = IHEAP[_3];
    var _58 = _56+4*_57;
    var _59 = _57 << 1;
    var _60 = _56+4*_59;
    var _61 = 0 - _28;
    var _62 = 0 - _39;
    var _63 = 0 - _50;
    FHEAP[_56] = 0;
    var _64 = _56+4;
    FHEAP[_64] = _28;
    var _65 = _56+8;
    FHEAP[_65] = _62;
    var _66 = _56+12;
    FHEAP[_66] = 0;
    FHEAP[_58] = _61;
    var __sum = _57 + 1;
    var _67 = _56+4*__sum;
    FHEAP[_67] = 0;
    var __sum21 = _57 + 2;
    var _68 = _56+4*__sum21;
    FHEAP[_68] = _50;
    var __sum22 = _57 + 3;
    var _69 = _56+4*__sum22;
    FHEAP[_69] = 0;
    FHEAP[_60] = _39;
    var __sum2324 = _59 | 1;
    var _70 = _56+4*__sum2324;
    FHEAP[_70] = _63;
    var __sum25 = _59 + 2;
    var _71 = _56+4*__sum25;
    FHEAP[_71] = 0;
    var __sum26 = _59 + 3;
    var _72 = _56+4*__sum26;
    FHEAP[_72] = 0;
    var _73 = _body1_trans+32;
    var _74 = FHEAP[_73];
    var _75 = _this+304;
    var _76 = FHEAP[_75];
    var _77 = _74 * _76;
    var _78 = _body1_trans+32+4;
    var _79 = FHEAP[_78];
    var _80 = _this+304+4;
    var _81 = FHEAP[_80];
    var _82 = _79 * _81;
    var _83 = _77 + _82;
    var _84 = _body1_trans+32+8;
    var _85 = FHEAP[_84];
    var _86 = _this+304+8;
    var _87 = FHEAP[_86];
    var _88 = _85 * _87;
    var _89 = _83 + _88;
    var _90 = _body1_trans+16;
    var _91 = FHEAP[_90];
    var _92 = _91 * _76;
    var _93 = _body1_trans+16+4;
    var _94 = FHEAP[_93];
    var _95 = _94 * _81;
    var _96 = _92 + _95;
    var _97 = _body1_trans+16+8;
    var _98 = FHEAP[_97];
    var _99 = _98 * _87;
    var _100 = _96 + _99;
    var _101 = _body1_trans;
    var _102 = FHEAP[_101];
    var _103 = _102 * _76;
    var _104 = _body1_trans+4;
    var _105 = FHEAP[_104];
    var _106 = _105 * _81;
    var _107 = _103 + _106;
    var _108 = _body1_trans+8;
    var _109 = FHEAP[_108];
    var _110 = _109 * _87;
    var _111 = _107 + _110;
    var _112 = _a2;
    FHEAP[_112] = _111;
    var _113 = _a2+4;
    FHEAP[_113] = _100;
    var _114 = _a2+8;
    FHEAP[_114] = _89;
    var _115 = _a2+12;
    FHEAP[_115] = 0;
    var _116 = _info+20;
    var _117 = IHEAP[_116];
    var _118 = IHEAP[_3];
    var _119 = _117+4*_118;
    var _120 = _118 << 1;
    var _121 = _117+4*_120;
    var _122 = 0 - _89;
    FHEAP[_117] = 0;
    var _123 = _117+4;
    FHEAP[_123] = _122;
    var _124 = _117+8;
    FHEAP[_124] = _100;
    var _125 = _117+12;
    FHEAP[_125] = 0;
    var _126 = 0 - _111;
    FHEAP[_119] = _89;
    var __sum27 = _118 + 1;
    var _127 = _117+4*__sum27;
    FHEAP[_127] = 0;
    var __sum28 = _118 + 2;
    var _128 = _117+4*__sum28;
    FHEAP[_128] = _126;
    var __sum29 = _118 + 3;
    var _129 = _117+4*__sum29;
    FHEAP[_129] = 0;
    var _130 = 0 - _100;
    FHEAP[_121] = _130;
    var __sum3031 = _120 | 1;
    var _131 = _117+4*__sum3031;
    FHEAP[_131] = _111;
    var __sum32 = _120 + 2;
    var _132 = _117+4*__sum32;
    FHEAP[_132] = 0;
    var __sum33 = _120 + 3;
    var _133 = _117+4*__sum33;
    FHEAP[_133] = 0;
    var _134 = _this+320;
    var _135 = IHEAP[_134];
    var _136 = _135 & 1;
    var _toBool = _136 == 0;
    ;
    if (_toBool) {
      ;
      var _138 = _info+4;
      __lastLabel__ = 61; ;
    }
    else {
      ;
      var _137 = _this+324;
      __lastLabel__ = 60; ;
    }
    var _iftmp_179_0_in = __lastLabel__ == 60 ? _137 : (_138);
    var _iftmp_179_0 = FHEAP[_iftmp_179_0_in];
    var _139 = _info;
    var _140 = FHEAP[_139];
    var _141 = _140 * _iftmp_179_0;
    var _142 = _info+28;
    var _scevgep39 = _body1_trans+48;
    var _scevgep41 = _body0_trans+48;
    var _143 = IHEAP[_142];
    var _144 = FHEAP[_scevgep39];
    var _145 = _111 + _144;
    var _146 = _145 - _50;
    var _147 = FHEAP[_scevgep41];
    var _148 = _146 - _147;
    var _149 = _148 * _141;
    FHEAP[_143] = _149;
    var _scevgep39_1 = _body1_trans+48+4;
    var _scevgep41_1 = _body0_trans+48+4;
    var _150 = IHEAP[_142];
    var _151 = IHEAP[_3];
    var _152 = FHEAP[_scevgep39_1];
    var _153 = _100 + _152;
    var _154 = _153 - _39;
    var _155 = FHEAP[_scevgep41_1];
    var _156 = _154 - _155;
    var _157 = _156 * _141;
    var _158 = _150+4*_151;
    FHEAP[_158] = _157;
    var _scevgep39_2 = _body1_trans+48+8;
    var _scevgep41_2 = _body0_trans+48+8;
    var _159 = IHEAP[_142];
    var _160 = IHEAP[_3];
    var _161 = _160 << 1;
    var _162 = FHEAP[_scevgep39_2];
    var _163 = _89 + _162;
    var _164 = _163 - _28;
    var _165 = FHEAP[_scevgep41_2];
    var _166 = _164 - _165;
    var _167 = _166 * _141;
    var _168 = _159+4*_161;
    FHEAP[_168] = _167;
    var __pre = IHEAP[_134];
    var _169 = __pre & 2;
    var _170 = _169 == 0;
    ;
    if (!_170) {
      ;
      var _171 = _info+32;
      var _172 = _this+328;
      var _173 = IHEAP[_171];
      var _174 = FHEAP[_172];
      FHEAP[_173] = _174;
      var _175 = IHEAP[_171];
      var _176 = IHEAP[_3];
      var _177 = FHEAP[_172];
      var _178 = _175+4*_176;
      FHEAP[_178] = _177;
      var _179 = IHEAP[_171];
      var _180 = IHEAP[_3];
      var _181 = _180 << 1;
      var _182 = FHEAP[_172];
      var _183 = _179+4*_181;
      FHEAP[_183] = _182;
      ;
    }
    var _184 = _this+336+8;
    var _185 = FHEAP[_184];
    var _186 = _info+36;
    var _187 = 0 - _185;
    var _188 = _info+40;
    var _189 = _185 > 0;
    ;
    if (_189) {
      __lastLabel__ = 4180; ;
      var _190 = IHEAP[_186];
      FHEAP[_190] = _187;
      var _191 = IHEAP[_188];
      FHEAP[_191] = _185;
      var __pre42 = FHEAP[_184];
      __lastLabel__ = 63; ;
    }
    else {
      __lastLabel__ = 4180; ;
    }
    var _192 = __lastLabel__ == 63 ? __pre42 : (_185);
    var _193 = _192 > 0;
    ;
    if (_193) {
      __lastLabel__ = 153; ;
      var _199 = IHEAP[_186];
      var _200 = IHEAP[_3];
      var _201 = _199+4*_200;
      FHEAP[_201] = _187;
      var _202 = IHEAP[_188];
      var _203 = IHEAP[_3];
      var _204 = _202+4*_203;
      FHEAP[_204] = _185;
      var __pre43 = FHEAP[_184];
      __lastLabel__ = 2843; ;
    }
    else {
      __lastLabel__ = 153; ;
    }
    var _197 = __lastLabel__ == 2843 ? __pre43 : (_192);
    var _198 = _197 > 0;
    ;
    if (_198) {
      ;
      var _205 = IHEAP[_186];
      var _206 = IHEAP[_3];
      var _207 = _206 << 1;
      var _208 = _205+4*_207;
      FHEAP[_208] = _187;
      var _209 = IHEAP[_188];
      var _210 = IHEAP[_3];
      var _211 = _210 << 1;
      var _212 = _209+4*_211;
      FHEAP[_212] = _185;
      ;
    }
    var _194 = _this+336+4;
    var _195 = FHEAP[_194];
    var _196 = _info+52;
    FHEAP[_196] = _195;
    STACKTOP = __stackBase__;
    return;
  }
  __ZN23btPoint2PointConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_.__index__ = Runtime.getFunctionIndex(__ZN23btPoint2PointConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_, "__ZN23btPoint2PointConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_");
  
  
  function __ZN23btPoint2PointConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E(_this, _info) {
    ;
    var __label__;
    var _0 = _this+24;
    var _1 = IHEAP[_0];
    var _2 = _1+4;
    var _3 = _this+20;
    var _4 = IHEAP[_3];
    var _5 = _4+4;
    __ZN23btPoint2PointConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_(_this, _info, _5, _2);
    ;
    return;
  }
  __ZN23btPoint2PointConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E.__index__ = Runtime.getFunctionIndex(__ZN23btPoint2PointConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E, "__ZN23btPoint2PointConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E");
  
  
  function __ZN23btPoint2PointConstraint8setParamEifi(_this, _num, _value, _axis) {
    ;
    var __label__;
    var _0 = _axis == -1;
    ;
    _bb$_return$15512: do { 
      if (_0) {
        ;
        if (_num == 1) {
          __label__ = 75; /* _bb1 */ 
        }
        else if (_num == 2) {
          __label__ = 75; /* _bb1 */ 
        }
        else if (_num == 3) {
          __label__ = 0; /* _bb2 */ 
        }
        else if (_num == 4) {
          __label__ = 0; /* _bb2 */ 
        }
        else {
        __label__ = 44; /* _return */ break _bb$_return$15512;
        }
        
        if (__label__ == 75) {
          var _1 = _this+324;
          FHEAP[_1] = _value;
          var _2 = _this+320;
          var _3 = IHEAP[_2];
          var _4 = _3 | 1;
          IHEAP[_2] = _4;
          ;
          return;
        }
        else if (__label__ == 0) {
          var _5 = _this+328;
          FHEAP[_5] = _value;
          var _6 = _this+320;
          var _7 = IHEAP[_6];
          var _8 = _7 | 2;
          IHEAP[_6] = _8;
          ;
          return;
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN23btPoint2PointConstraint8setParamEifi.__index__ = Runtime.getFunctionIndex(__ZN23btPoint2PointConstraint8setParamEifi, "__ZN23btPoint2PointConstraint8setParamEifi");
  
  
  function __ZNK23btPoint2PointConstraint8getParamEii(_this, _num, _axis) {
    ;
    var __label__;
    var _0 = _axis == -1;
    ;
    _bb$_bb3$15519: do { 
      if (_0) {
        ;
        if (_num == 1) {
          __label__ = 75; /* _bb1 */ 
        }
        else if (_num == 2) {
          __label__ = 75; /* _bb1 */ 
        }
        else if (_num == 3) {
          __label__ = 0; /* _bb2 */ 
        }
        else if (_num == 4) {
          __label__ = 0; /* _bb2 */ 
        }
        else {
        __label__ = 116; /* _bb3 */ break _bb$_bb3$15519;
        }
        
        if (__label__ == 75) {
          var _1 = _this+324;
          var _2 = FHEAP[_1];
          ;
          return _2;
        }
        else if (__label__ == 0) {
          var _3 = _this+328;
          var _4 = FHEAP[_3];
          ;
          return _4;
        }
      }
    } while(0);
    ;
    return 3.4028234663852886e+38;
  }
  __ZNK23btPoint2PointConstraint8getParamEii.__index__ = Runtime.getFunctionIndex(__ZNK23btPoint2PointConstraint8getParamEii, "__ZNK23btPoint2PointConstraint8getParamEii");
  
  
  function __ZN23btPoint2PointConstraintD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btPoint2PointConstraint+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN23btPoint2PointConstraintD0Ev.__index__ = Runtime.getFunctionIndex(__ZN23btPoint2PointConstraintD0Ev, "__ZN23btPoint2PointConstraintD0Ev");
  
  
  function __ZN23btPoint2PointConstraintD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btPoint2PointConstraint+8;
    ;
    return;
  }
  __ZN23btPoint2PointConstraintD1Ev.__index__ = Runtime.getFunctionIndex(__ZN23btPoint2PointConstraintD1Ev, "__ZN23btPoint2PointConstraintD1Ev");
  
  
  function __ZN23btPoint2PointConstraintC2ER11btRigidBodyRK9btVector3(_this, _rbA, _pivotInA) {
    ;
    var __label__;
    var _0 = _this;
    __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBody(_0, 3, _rbA);
    var _1 = _this;
    IHEAP[_1] = __ZTV23btPoint2PointConstraint+8;
    var _2 = _this+288;
    var _3 = _pivotInA;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _this+288+4;
    var _6 = _pivotInA+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _this+288+8;
    var _9 = _pivotInA+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _this+288+12;
    var _12 = _pivotInA+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _rbA+4+32;
    var _15 = FHEAP[_14];
    var _16 = FHEAP[_3];
    var _17 = _15 * _16;
    var _18 = _rbA+4+32+4;
    var _19 = FHEAP[_18];
    var _20 = FHEAP[_6];
    var _21 = _19 * _20;
    var _22 = _17 + _21;
    var _23 = _rbA+4+32+8;
    var _24 = FHEAP[_23];
    var _25 = FHEAP[_9];
    var _26 = _24 * _25;
    var _27 = _22 + _26;
    var _28 = _rbA+4+48+8;
    var _29 = FHEAP[_28];
    var _30 = _27 + _29;
    var _31 = _rbA+4+16;
    var _32 = FHEAP[_31];
    var _33 = _32 * _16;
    var _34 = _rbA+4+16+4;
    var _35 = FHEAP[_34];
    var _36 = _35 * _20;
    var _37 = _33 + _36;
    var _38 = _rbA+4+16+8;
    var _39 = FHEAP[_38];
    var _40 = _39 * _25;
    var _41 = _37 + _40;
    var _42 = _rbA+4+48+4;
    var _43 = FHEAP[_42];
    var _44 = _41 + _43;
    var _45 = _rbA+4;
    var _46 = FHEAP[_45];
    var _47 = _46 * _16;
    var _48 = _rbA+4+4;
    var _49 = FHEAP[_48];
    var _50 = _49 * _20;
    var _51 = _47 + _50;
    var _52 = _rbA+4+8;
    var _53 = FHEAP[_52];
    var _54 = _53 * _25;
    var _55 = _51 + _54;
    var _56 = _rbA+4+48;
    var _57 = FHEAP[_56];
    var _58 = _55 + _57;
    var _59 = _this+304;
    FHEAP[_59] = _58;
    var _60 = _this+304+4;
    FHEAP[_60] = _44;
    var _61 = _this+304+8;
    FHEAP[_61] = _30;
    var _62 = _this+304+12;
    FHEAP[_62] = 0;
    var _63 = _this+320;
    IHEAP[_63] = 0;
    var _64 = _this+332;
    IHEAP[_64] = 0;
    var _65 = _this+336;
    FHEAP[_65] = 0.30000001192092896;
    var _66 = _this+336+4;
    FHEAP[_66] = 1;
    var _67 = _this+336+8;
    FHEAP[_67] = 0;
    ;
    return;
  }
  __ZN23btPoint2PointConstraintC2ER11btRigidBodyRK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN23btPoint2PointConstraintC2ER11btRigidBodyRK9btVector3, "__ZN23btPoint2PointConstraintC2ER11btRigidBodyRK9btVector3");
  
  
  function __ZN23btPoint2PointConstraintC1ER11btRigidBodyRK9btVector3(_this, _rbA, _pivotInA) {
    ;
    var __label__;
    var _0 = _this;
    __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBody(_0, 3, _rbA);
    var _1 = _this;
    IHEAP[_1] = __ZTV23btPoint2PointConstraint+8;
    var _2 = _this+288;
    var _3 = _pivotInA;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _this+288+4;
    var _6 = _pivotInA+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _this+288+8;
    var _9 = _pivotInA+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _this+288+12;
    var _12 = _pivotInA+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _rbA+4+32;
    var _15 = FHEAP[_14];
    var _16 = FHEAP[_3];
    var _17 = _15 * _16;
    var _18 = _rbA+4+32+4;
    var _19 = FHEAP[_18];
    var _20 = FHEAP[_6];
    var _21 = _19 * _20;
    var _22 = _17 + _21;
    var _23 = _rbA+4+32+8;
    var _24 = FHEAP[_23];
    var _25 = FHEAP[_9];
    var _26 = _24 * _25;
    var _27 = _22 + _26;
    var _28 = _rbA+4+48+8;
    var _29 = FHEAP[_28];
    var _30 = _27 + _29;
    var _31 = _rbA+4+16;
    var _32 = FHEAP[_31];
    var _33 = _32 * _16;
    var _34 = _rbA+4+16+4;
    var _35 = FHEAP[_34];
    var _36 = _35 * _20;
    var _37 = _33 + _36;
    var _38 = _rbA+4+16+8;
    var _39 = FHEAP[_38];
    var _40 = _39 * _25;
    var _41 = _37 + _40;
    var _42 = _rbA+4+48+4;
    var _43 = FHEAP[_42];
    var _44 = _41 + _43;
    var _45 = _rbA+4;
    var _46 = FHEAP[_45];
    var _47 = _46 * _16;
    var _48 = _rbA+4+4;
    var _49 = FHEAP[_48];
    var _50 = _49 * _20;
    var _51 = _47 + _50;
    var _52 = _rbA+4+8;
    var _53 = FHEAP[_52];
    var _54 = _53 * _25;
    var _55 = _51 + _54;
    var _56 = _rbA+4+48;
    var _57 = FHEAP[_56];
    var _58 = _55 + _57;
    var _59 = _this+304;
    FHEAP[_59] = _58;
    var _60 = _this+304+4;
    FHEAP[_60] = _44;
    var _61 = _this+304+8;
    FHEAP[_61] = _30;
    var _62 = _this+304+12;
    FHEAP[_62] = 0;
    var _63 = _this+320;
    IHEAP[_63] = 0;
    var _64 = _this+332;
    IHEAP[_64] = 0;
    var _65 = _this+336;
    FHEAP[_65] = 0.30000001192092896;
    var _66 = _this+336+4;
    FHEAP[_66] = 1;
    var _67 = _this+336+8;
    FHEAP[_67] = 0;
    ;
    return;
  }
  __ZN23btPoint2PointConstraintC1ER11btRigidBodyRK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN23btPoint2PointConstraintC1ER11btRigidBodyRK9btVector3, "__ZN23btPoint2PointConstraintC1ER11btRigidBodyRK9btVector3");
  
  
  function __ZN23btPoint2PointConstraintC1ER11btRigidBodyS1_RK9btVector3S4_(_this, _rbA, _rbB, _pivotInA, _pivotInB) {
    ;
    var __label__;
    var _0 = _this;
    __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBodyS2_(_0, 3, _rbA, _rbB);
    var _1 = _this;
    IHEAP[_1] = __ZTV23btPoint2PointConstraint+8;
    var _2 = _this+288;
    var _3 = _pivotInA;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _this+288+4;
    var _6 = _pivotInA+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _this+288+8;
    var _9 = _pivotInA+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _this+288+12;
    var _12 = _pivotInA+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _this+304;
    var _15 = _pivotInB;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _this+304+4;
    var _18 = _pivotInB+4;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _this+304+8;
    var _21 = _pivotInB+8;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _this+304+12;
    var _24 = _pivotInB+12;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _this+320;
    IHEAP[_26] = 0;
    var _27 = _this+332;
    IHEAP[_27] = 0;
    var _28 = _this+336;
    FHEAP[_28] = 0.30000001192092896;
    var _29 = _this+336+4;
    FHEAP[_29] = 1;
    var _30 = _this+336+8;
    FHEAP[_30] = 0;
    ;
    return;
  }
  __ZN23btPoint2PointConstraintC1ER11btRigidBodyS1_RK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZN23btPoint2PointConstraintC1ER11btRigidBodyS1_RK9btVector3S4_, "__ZN23btPoint2PointConstraintC1ER11btRigidBodyS1_RK9btVector3S4_");
  
  
  function __ZN18btConstraintSolverD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btConstraintSolver+8;
    ;
    return;
  }
  __ZN18btConstraintSolverD1Ev.__index__ = Runtime.getFunctionIndex(__ZN18btConstraintSolverD1Ev, "__ZN18btConstraintSolverD1Ev");
  
  
  function __ZN18btConstraintSolverD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btConstraintSolver+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN18btConstraintSolverD0Ev.__index__ = Runtime.getFunctionIndex(__ZN18btConstraintSolverD0Ev, "__ZN18btConstraintSolverD0Ev");
  
  
  function __ZN35btSequentialImpulseConstraintSolver33resolveSingleConstraintRowGenericER11btRigidBodyS1_RK18btSolverConstraint(_this, _body1, _body2, _c) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _c+116;
    var _1 = FHEAP[_0];
    var _2 = _c+84;
    var _3 = FHEAP[_2];
    var _4 = _c+120;
    var _5 = FHEAP[_4];
    var _6 = _3 * _5;
    var _7 = _1 - _6;
    var _8 = _c+16;
    var _9 = FHEAP[_8];
    var _10 = _body1+504;
    var _11 = FHEAP[_10];
    var _12 = _9 * _11;
    var _13 = _c+16+4;
    var _14 = FHEAP[_13];
    var _15 = _body1+504+4;
    var _16 = FHEAP[_15];
    var _17 = _14 * _16;
    var _18 = _12 + _17;
    var _19 = _c+16+8;
    var _20 = FHEAP[_19];
    var _21 = _body1+504+8;
    var _22 = FHEAP[_21];
    var _23 = _20 * _22;
    var _24 = _18 + _23;
    var _25 = _c;
    var _26 = FHEAP[_25];
    var _27 = _body1+520;
    var _28 = FHEAP[_27];
    var _29 = _26 * _28;
    var _30 = _c+4;
    var _31 = FHEAP[_30];
    var _32 = _body1+520+4;
    var _33 = FHEAP[_32];
    var _34 = _31 * _33;
    var _35 = _29 + _34;
    var _36 = _c+8;
    var _37 = FHEAP[_36];
    var _38 = _body1+520+8;
    var _39 = FHEAP[_38];
    var _40 = _37 * _39;
    var _41 = _35 + _40;
    var _42 = _24 + _41;
    var _43 = _c+32;
    var _44 = FHEAP[_43];
    var _45 = _body2+520;
    var _46 = FHEAP[_45];
    var _47 = _44 * _46;
    var _48 = _c+32+4;
    var _49 = FHEAP[_48];
    var _50 = _body2+520+4;
    var _51 = FHEAP[_50];
    var _52 = _49 * _51;
    var _53 = _47 + _52;
    var _54 = _c+32+8;
    var _55 = FHEAP[_54];
    var _56 = _body2+520+8;
    var _57 = FHEAP[_56];
    var _58 = _55 * _57;
    var _59 = _53 + _58;
    var _60 = _body2+504;
    var _61 = FHEAP[_60];
    var _62 = _9 * _61;
    var _63 = _body2+504+4;
    var _64 = FHEAP[_63];
    var _65 = _14 * _64;
    var _66 = _62 + _65;
    var _67 = _body2+504+8;
    var _68 = FHEAP[_67];
    var _69 = _20 * _68;
    var _70 = _66 + _69;
    var _71 = _59 - _70;
    var _72 = _c+92;
    var _73 = FHEAP[_72];
    var _74 = _73 * _42;
    var _75 = _7 - _74;
    var _76 = _73 * _71;
    var _77 = _75 - _76;
    var _78 = _3 + _77;
    var _79 = _c+124;
    var _80 = FHEAP[_79];
    var _81 = _80 > _78;
    ;
    if (_81) {
      ;
      var _82 = _80 - _3;
      FHEAP[_2] = _80;
      __lastLabel__ = 60; ;
    }
    else {
      ;
      var _83 = _c+128;
      var _84 = FHEAP[_83];
      var _85 = _84 < _78;
      ;
      if (_85) {
        ;
        var _86 = _84 - _3;
        FHEAP[_2] = _84;
        __lastLabel__ = 0; ;
      }
      else {
        ;
        FHEAP[_2] = _78;
        __lastLabel__ = 116; ;
      }
    }
    var _deltaImpulse_0 = __lastLabel__ == 60 ? _82 : (__lastLabel__ == 0 ? _86 : (_77));
    var _87 = _body1+336;
    var _88 = FHEAP[_87];
    var _89 = _88 != 0;
    ;
    if (_89) {
      ;
      var _90 = _body1+552;
      var _91 = _body1+552+4;
      var _92 = _body1+552+8;
      var _93 = FHEAP[_90];
      var _94 = FHEAP[_91];
      var _95 = FHEAP[_92];
      var _96 = _9 * _93;
      var _97 = _14 * _94;
      var _98 = _20 * _95;
      var _99 = _98 * _deltaImpulse_0;
      var _100 = _97 * _deltaImpulse_0;
      var _101 = _96 * _deltaImpulse_0;
      var _102 = FHEAP[_10];
      var _103 = _102 + _101;
      FHEAP[_10] = _103;
      var _104 = FHEAP[_15];
      var _105 = _104 + _100;
      FHEAP[_15] = _105;
      var _106 = FHEAP[_21];
      var _107 = _106 + _99;
      FHEAP[_21] = _107;
      var _108 = _body1+536+8;
      var _109 = FHEAP[_108];
      var _110 = _109 * _deltaImpulse_0;
      var _111 = _body1+536+4;
      var _112 = FHEAP[_111];
      var _113 = _112 * _deltaImpulse_0;
      var _114 = _body1+536;
      var _115 = FHEAP[_114];
      var _116 = _115 * _deltaImpulse_0;
      var _117 = _c+48+8;
      var _118 = FHEAP[_117];
      var _119 = _118 * _110;
      var _120 = _c+48+4;
      var _121 = FHEAP[_120];
      var _122 = _121 * _113;
      var _123 = _c+48;
      var _124 = FHEAP[_123];
      var _125 = _124 * _116;
      var _126 = FHEAP[_27];
      var _127 = _126 + _125;
      FHEAP[_27] = _127;
      var _128 = FHEAP[_32];
      var _129 = _128 + _122;
      FHEAP[_32] = _129;
      var _130 = FHEAP[_38];
      var _131 = _130 + _119;
      FHEAP[_38] = _131;
      ;
    }
    var _132 = _body2+336;
    var _133 = FHEAP[_132];
    var _134 = _133 != 0;
    ;
    if (_134) {
      ;
      var _135 = _body2+552;
      var _136 = _body2+552+4;
      var _137 = _body2+552+8;
      var _138 = FHEAP[_8];
      var _139 = FHEAP[_13];
      var _140 = FHEAP[_19];
      var _141 = FHEAP[_135];
      var _142 = FHEAP[_136];
      var _143 = FHEAP[_137];
      var _144 = 0 - _138;
      var _145 = 0 - _139;
      var _146 = 0 - _140;
      var _147 = _141 * _144;
      var _148 = _142 * _145;
      var _149 = _143 * _146;
      var _150 = _149 * _deltaImpulse_0;
      var _151 = _148 * _deltaImpulse_0;
      var _152 = _147 * _deltaImpulse_0;
      var _153 = FHEAP[_60];
      var _154 = _153 + _152;
      FHEAP[_60] = _154;
      var _155 = FHEAP[_63];
      var _156 = _155 + _151;
      FHEAP[_63] = _156;
      var _157 = FHEAP[_67];
      var _158 = _157 + _150;
      FHEAP[_67] = _158;
      var _159 = _body2+536+8;
      var _160 = FHEAP[_159];
      var _161 = _160 * _deltaImpulse_0;
      var _162 = _body2+536+4;
      var _163 = FHEAP[_162];
      var _164 = _163 * _deltaImpulse_0;
      var _165 = _body2+536;
      var _166 = FHEAP[_165];
      var _167 = _166 * _deltaImpulse_0;
      var _168 = _c+64+8;
      var _169 = FHEAP[_168];
      var _170 = _169 * _161;
      var _171 = _c+64+4;
      var _172 = FHEAP[_171];
      var _173 = _172 * _164;
      var _174 = _c+64;
      var _175 = FHEAP[_174];
      var _176 = _175 * _167;
      var _177 = FHEAP[_45];
      var _178 = _177 + _176;
      FHEAP[_45] = _178;
      var _179 = FHEAP[_50];
      var _180 = _179 + _173;
      FHEAP[_50] = _180;
      var _181 = FHEAP[_56];
      var _182 = _181 + _170;
      FHEAP[_56] = _182;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN35btSequentialImpulseConstraintSolver33resolveSingleConstraintRowGenericER11btRigidBodyS1_RK18btSolverConstraint.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver33resolveSingleConstraintRowGenericER11btRigidBodyS1_RK18btSolverConstraint, "__ZN35btSequentialImpulseConstraintSolver33resolveSingleConstraintRowGenericER11btRigidBodyS1_RK18btSolverConstraint");
  
  
  function __ZN35btSequentialImpulseConstraintSolver36resolveSingleConstraintRowLowerLimitER11btRigidBodyS1_RK18btSolverConstraint(_this, _body1, _body2, _c) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _c+116;
    var _1 = FHEAP[_0];
    var _2 = _c+84;
    var _3 = FHEAP[_2];
    var _4 = _c+120;
    var _5 = FHEAP[_4];
    var _6 = _3 * _5;
    var _7 = _1 - _6;
    var _8 = _c+16;
    var _9 = FHEAP[_8];
    var _10 = _body1+504;
    var _11 = FHEAP[_10];
    var _12 = _9 * _11;
    var _13 = _c+16+4;
    var _14 = FHEAP[_13];
    var _15 = _body1+504+4;
    var _16 = FHEAP[_15];
    var _17 = _14 * _16;
    var _18 = _12 + _17;
    var _19 = _c+16+8;
    var _20 = FHEAP[_19];
    var _21 = _body1+504+8;
    var _22 = FHEAP[_21];
    var _23 = _20 * _22;
    var _24 = _18 + _23;
    var _25 = _c;
    var _26 = FHEAP[_25];
    var _27 = _body1+520;
    var _28 = FHEAP[_27];
    var _29 = _26 * _28;
    var _30 = _c+4;
    var _31 = FHEAP[_30];
    var _32 = _body1+520+4;
    var _33 = FHEAP[_32];
    var _34 = _31 * _33;
    var _35 = _29 + _34;
    var _36 = _c+8;
    var _37 = FHEAP[_36];
    var _38 = _body1+520+8;
    var _39 = FHEAP[_38];
    var _40 = _37 * _39;
    var _41 = _35 + _40;
    var _42 = _24 + _41;
    var _43 = _c+32;
    var _44 = FHEAP[_43];
    var _45 = _body2+520;
    var _46 = FHEAP[_45];
    var _47 = _44 * _46;
    var _48 = _c+32+4;
    var _49 = FHEAP[_48];
    var _50 = _body2+520+4;
    var _51 = FHEAP[_50];
    var _52 = _49 * _51;
    var _53 = _47 + _52;
    var _54 = _c+32+8;
    var _55 = FHEAP[_54];
    var _56 = _body2+520+8;
    var _57 = FHEAP[_56];
    var _58 = _55 * _57;
    var _59 = _53 + _58;
    var _60 = _body2+504;
    var _61 = FHEAP[_60];
    var _62 = _9 * _61;
    var _63 = _body2+504+4;
    var _64 = FHEAP[_63];
    var _65 = _14 * _64;
    var _66 = _62 + _65;
    var _67 = _body2+504+8;
    var _68 = FHEAP[_67];
    var _69 = _20 * _68;
    var _70 = _66 + _69;
    var _71 = _59 - _70;
    var _72 = _c+92;
    var _73 = FHEAP[_72];
    var _74 = _73 * _42;
    var _75 = _7 - _74;
    var _76 = _73 * _71;
    var _77 = _75 - _76;
    var _78 = _3 + _77;
    var _79 = _c+124;
    var _80 = FHEAP[_79];
    var _81 = _80 > _78;
    ;
    if (_81) {
      __lastLabel__ = -1; ;
      var _82 = _80 - _3;
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _storemerge = __lastLabel__ == 60 ? _80 : (_78);
    var _deltaImpulse_0 = __lastLabel__ == 60 ? _82 : (_77);
    FHEAP[_2] = _storemerge;
    var _83 = _body1+336;
    var _84 = FHEAP[_83];
    var _85 = _84 != 0;
    ;
    if (_85) {
      ;
      var _86 = _body1+552;
      var _87 = _body1+552+4;
      var _88 = _body1+552+8;
      var _89 = FHEAP[_86];
      var _90 = FHEAP[_87];
      var _91 = FHEAP[_88];
      var _92 = _9 * _89;
      var _93 = _14 * _90;
      var _94 = _20 * _91;
      var _95 = _94 * _deltaImpulse_0;
      var _96 = _93 * _deltaImpulse_0;
      var _97 = _92 * _deltaImpulse_0;
      var _98 = FHEAP[_10];
      var _99 = _98 + _97;
      FHEAP[_10] = _99;
      var _100 = FHEAP[_15];
      var _101 = _100 + _96;
      FHEAP[_15] = _101;
      var _102 = FHEAP[_21];
      var _103 = _102 + _95;
      FHEAP[_21] = _103;
      var _104 = _body1+536+8;
      var _105 = FHEAP[_104];
      var _106 = _105 * _deltaImpulse_0;
      var _107 = _body1+536+4;
      var _108 = FHEAP[_107];
      var _109 = _108 * _deltaImpulse_0;
      var _110 = _body1+536;
      var _111 = FHEAP[_110];
      var _112 = _111 * _deltaImpulse_0;
      var _113 = _c+48+8;
      var _114 = FHEAP[_113];
      var _115 = _114 * _106;
      var _116 = _c+48+4;
      var _117 = FHEAP[_116];
      var _118 = _117 * _109;
      var _119 = _c+48;
      var _120 = FHEAP[_119];
      var _121 = _120 * _112;
      var _122 = FHEAP[_27];
      var _123 = _122 + _121;
      FHEAP[_27] = _123;
      var _124 = FHEAP[_32];
      var _125 = _124 + _118;
      FHEAP[_32] = _125;
      var _126 = FHEAP[_38];
      var _127 = _126 + _115;
      FHEAP[_38] = _127;
      ;
    }
    var _128 = _body2+336;
    var _129 = FHEAP[_128];
    var _130 = _129 != 0;
    ;
    if (_130) {
      ;
      var _131 = _body2+552;
      var _132 = _body2+552+4;
      var _133 = _body2+552+8;
      var _134 = FHEAP[_8];
      var _135 = FHEAP[_13];
      var _136 = FHEAP[_19];
      var _137 = FHEAP[_131];
      var _138 = FHEAP[_132];
      var _139 = FHEAP[_133];
      var _140 = 0 - _134;
      var _141 = 0 - _135;
      var _142 = 0 - _136;
      var _143 = _137 * _140;
      var _144 = _138 * _141;
      var _145 = _139 * _142;
      var _146 = _145 * _deltaImpulse_0;
      var _147 = _144 * _deltaImpulse_0;
      var _148 = _143 * _deltaImpulse_0;
      var _149 = FHEAP[_60];
      var _150 = _149 + _148;
      FHEAP[_60] = _150;
      var _151 = FHEAP[_63];
      var _152 = _151 + _147;
      FHEAP[_63] = _152;
      var _153 = FHEAP[_67];
      var _154 = _153 + _146;
      FHEAP[_67] = _154;
      var _155 = _body2+536+8;
      var _156 = FHEAP[_155];
      var _157 = _156 * _deltaImpulse_0;
      var _158 = _body2+536+4;
      var _159 = FHEAP[_158];
      var _160 = _159 * _deltaImpulse_0;
      var _161 = _body2+536;
      var _162 = FHEAP[_161];
      var _163 = _162 * _deltaImpulse_0;
      var _164 = _c+64+8;
      var _165 = FHEAP[_164];
      var _166 = _165 * _157;
      var _167 = _c+64+4;
      var _168 = FHEAP[_167];
      var _169 = _168 * _160;
      var _170 = _c+64;
      var _171 = FHEAP[_170];
      var _172 = _171 * _163;
      var _173 = FHEAP[_45];
      var _174 = _173 + _172;
      FHEAP[_45] = _174;
      var _175 = FHEAP[_50];
      var _176 = _175 + _169;
      FHEAP[_50] = _176;
      var _177 = FHEAP[_56];
      var _178 = _177 + _166;
      FHEAP[_56] = _178;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN35btSequentialImpulseConstraintSolver36resolveSingleConstraintRowLowerLimitER11btRigidBodyS1_RK18btSolverConstraint.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver36resolveSingleConstraintRowLowerLimitER11btRigidBodyS1_RK18btSolverConstraint, "__ZN35btSequentialImpulseConstraintSolver36resolveSingleConstraintRowLowerLimitER11btRigidBodyS1_RK18btSolverConstraint");
  
  
  function __ZN35btSequentialImpulseConstraintSolver43resolveSplitPenetrationImpulseCacheFriendlyER11btRigidBodyS1_RK18btSolverConstraint(_this, _body1, _body2, _c) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _c+132;
    var _1 = FHEAP[_0];
    var _2 = _1 != 0;
    ;
    _bb$__ZN11btRigidBody24internalApplyPushImpulseERK9btVector3S2_f_exit$15562: do { 
      if (_2) {
        ;
        var _3 = IHEAP[_gNumSplitImpulseRecoveries];
        var _4 = _3 + 1;
        IHEAP[_gNumSplitImpulseRecoveries] = _4;
        var _5 = FHEAP[_0];
        var _6 = _c+80;
        var _7 = FHEAP[_6];
        var _8 = _c+120;
        var _9 = FHEAP[_8];
        var _10 = _7 * _9;
        var _11 = _5 - _10;
        var _12 = _c+16;
        var _13 = FHEAP[_12];
        var _14 = _body1+568;
        var _15 = FHEAP[_14];
        var _16 = _13 * _15;
        var _17 = _c+16+4;
        var _18 = FHEAP[_17];
        var _19 = _body1+568+4;
        var _20 = FHEAP[_19];
        var _21 = _18 * _20;
        var _22 = _16 + _21;
        var _23 = _c+16+8;
        var _24 = FHEAP[_23];
        var _25 = _body1+568+8;
        var _26 = FHEAP[_25];
        var _27 = _24 * _26;
        var _28 = _22 + _27;
        var _29 = _c;
        var _30 = FHEAP[_29];
        var _31 = _body1+584;
        var _32 = FHEAP[_31];
        var _33 = _30 * _32;
        var _34 = _c+4;
        var _35 = FHEAP[_34];
        var _36 = _body1+584+4;
        var _37 = FHEAP[_36];
        var _38 = _35 * _37;
        var _39 = _33 + _38;
        var _40 = _c+8;
        var _41 = FHEAP[_40];
        var _42 = _body1+584+8;
        var _43 = FHEAP[_42];
        var _44 = _41 * _43;
        var _45 = _39 + _44;
        var _46 = _28 + _45;
        var _47 = _c+32;
        var _48 = FHEAP[_47];
        var _49 = _body2+584;
        var _50 = FHEAP[_49];
        var _51 = _48 * _50;
        var _52 = _c+32+4;
        var _53 = FHEAP[_52];
        var _54 = _body2+584+4;
        var _55 = FHEAP[_54];
        var _56 = _53 * _55;
        var _57 = _51 + _56;
        var _58 = _c+32+8;
        var _59 = FHEAP[_58];
        var _60 = _body2+584+8;
        var _61 = FHEAP[_60];
        var _62 = _59 * _61;
        var _63 = _57 + _62;
        var _64 = _body2+568;
        var _65 = FHEAP[_64];
        var _66 = _13 * _65;
        var _67 = _body2+568+4;
        var _68 = FHEAP[_67];
        var _69 = _18 * _68;
        var _70 = _66 + _69;
        var _71 = _body2+568+8;
        var _72 = FHEAP[_71];
        var _73 = _24 * _72;
        var _74 = _70 + _73;
        var _75 = _63 - _74;
        var _76 = _c+92;
        var _77 = FHEAP[_76];
        var _78 = _77 * _46;
        var _79 = _11 - _78;
        var _80 = _77 * _75;
        var _81 = _79 - _80;
        var _82 = _7 + _81;
        var _83 = _c+124;
        var _84 = FHEAP[_83];
        var _85 = _84 > _82;
        ;
        if (_85) {
          __lastLabel__ = 60; ;
          var _86 = _84 - _7;
          __lastLabel__ = 75; ;
        }
        else {
          __lastLabel__ = 60; ;
        }
        var _storemerge = __lastLabel__ == 75 ? _84 : (_82);
        var _deltaImpulse_0 = __lastLabel__ == 75 ? _86 : (_81);
        FHEAP[_6] = _storemerge;
        var _87 = _body1+336;
        var _88 = FHEAP[_87];
        var _89 = _88 != 0;
        ;
        if (_89) {
          ;
          var _90 = _body1+552;
          var _91 = _body1+552+4;
          var _92 = _body1+552+8;
          var _93 = FHEAP[_90];
          var _94 = FHEAP[_91];
          var _95 = FHEAP[_92];
          var _96 = _13 * _93;
          var _97 = _18 * _94;
          var _98 = _24 * _95;
          var _99 = _98 * _deltaImpulse_0;
          var _100 = _97 * _deltaImpulse_0;
          var _101 = _96 * _deltaImpulse_0;
          var _102 = FHEAP[_14];
          var _103 = _102 + _101;
          FHEAP[_14] = _103;
          var _104 = FHEAP[_19];
          var _105 = _104 + _100;
          FHEAP[_19] = _105;
          var _106 = FHEAP[_25];
          var _107 = _106 + _99;
          FHEAP[_25] = _107;
          var _108 = _body1+536+8;
          var _109 = FHEAP[_108];
          var _110 = _109 * _deltaImpulse_0;
          var _111 = _body1+536+4;
          var _112 = FHEAP[_111];
          var _113 = _112 * _deltaImpulse_0;
          var _114 = _body1+536;
          var _115 = FHEAP[_114];
          var _116 = _115 * _deltaImpulse_0;
          var _117 = _c+48+8;
          var _118 = FHEAP[_117];
          var _119 = _118 * _110;
          var _120 = _c+48+4;
          var _121 = FHEAP[_120];
          var _122 = _121 * _113;
          var _123 = _c+48;
          var _124 = FHEAP[_123];
          var _125 = _124 * _116;
          var _126 = FHEAP[_31];
          var _127 = _126 + _125;
          FHEAP[_31] = _127;
          var _128 = FHEAP[_36];
          var _129 = _128 + _122;
          FHEAP[_36] = _129;
          var _130 = FHEAP[_42];
          var _131 = _130 + _119;
          FHEAP[_42] = _131;
          ;
        }
        var _132 = _body2+336;
        var _133 = FHEAP[_132];
        var _134 = _133 != 0;
        if (!(_134)) { __label__ = 2852; /* __ZN11btRigidBody24internalApplyPushImpulseERK9btVector3S2_f_exit */ break _bb$__ZN11btRigidBody24internalApplyPushImpulseERK9btVector3S2_f_exit$15562; }
        var _135 = _body2+552;
        var _136 = _body2+552+4;
        var _137 = _body2+552+8;
        var _138 = FHEAP[_12];
        var _139 = FHEAP[_17];
        var _140 = FHEAP[_23];
        var _141 = FHEAP[_135];
        var _142 = FHEAP[_136];
        var _143 = FHEAP[_137];
        var _144 = 0 - _138;
        var _145 = 0 - _139;
        var _146 = 0 - _140;
        var _147 = _141 * _144;
        var _148 = _142 * _145;
        var _149 = _143 * _146;
        var _150 = _149 * _deltaImpulse_0;
        var _151 = _148 * _deltaImpulse_0;
        var _152 = _147 * _deltaImpulse_0;
        var _153 = FHEAP[_64];
        var _154 = _153 + _152;
        FHEAP[_64] = _154;
        var _155 = FHEAP[_67];
        var _156 = _155 + _151;
        FHEAP[_67] = _156;
        var _157 = FHEAP[_71];
        var _158 = _157 + _150;
        FHEAP[_71] = _158;
        var _159 = _body2+536+8;
        var _160 = FHEAP[_159];
        var _161 = _160 * _deltaImpulse_0;
        var _162 = _body2+536+4;
        var _163 = FHEAP[_162];
        var _164 = _163 * _deltaImpulse_0;
        var _165 = _body2+536;
        var _166 = FHEAP[_165];
        var _167 = _166 * _deltaImpulse_0;
        var _168 = _c+64+8;
        var _169 = FHEAP[_168];
        var _170 = _169 * _161;
        var _171 = _c+64+4;
        var _172 = FHEAP[_171];
        var _173 = _172 * _164;
        var _174 = _c+64;
        var _175 = FHEAP[_174];
        var _176 = _175 * _167;
        var _177 = FHEAP[_49];
        var _178 = _177 + _176;
        FHEAP[_49] = _178;
        var _179 = FHEAP[_54];
        var _180 = _179 + _173;
        FHEAP[_54] = _180;
        var _181 = FHEAP[_60];
        var _182 = _181 + _170;
        FHEAP[_60] = _182;
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __ZN35btSequentialImpulseConstraintSolver43resolveSplitPenetrationImpulseCacheFriendlyER11btRigidBodyS1_RK18btSolverConstraint.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver43resolveSplitPenetrationImpulseCacheFriendlyER11btRigidBodyS1_RK18btSolverConstraint, "__ZN35btSequentialImpulseConstraintSolver43resolveSplitPenetrationImpulseCacheFriendlyER11btRigidBodyS1_RK18btSolverConstraint");
  
  
  function __ZN35btSequentialImpulseConstraintSolver7btRand2Ev(_this) {
    ;
    var __label__;
    var _0 = _this+124;
    var _1 = IHEAP[_0];
    var _2 = _1 * 1664525;
    var _3 = _2 + 1013904223;
    IHEAP[_0] = _3;
    ;
    return _3;
  }
  __ZN35btSequentialImpulseConstraintSolver7btRand2Ev.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver7btRand2Ev, "__ZN35btSequentialImpulseConstraintSolver7btRand2Ev");
  
  
  function __ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei(_this, _n) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+124;
    var _1 = IHEAP[_0];
    var _2 = _1 * 1664525;
    var _3 = _2 + 1013904223;
    IHEAP[_0] = _3;
    var _4 = unSign(_n, 32) < unSign(65537, 32);
    ;
    _bb$_bb5$15575: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _3 >> 16;
        var _6 = _5 ^ _3;
        var _7 = unSign(_n, 32) < unSign(257, 32);
        if (_7) { __lastLabel__ = 60; ; } else { __lastLabel__ = 60; __label__ = 82; /* _bb5 */ break _bb$_bb5$15575; }
        var _8 = _6 >> 8;
        var _9 = _8 ^ _6;
        var _10 = unSign(_n, 32) < unSign(17, 32);
        if (_10) { __lastLabel__ = 75; ; } else { __lastLabel__ = 75; __label__ = 82; /* _bb5 */ break _bb$_bb5$15575; }
        var _11 = _9 >> 4;
        var _12 = _11 ^ _9;
        var _13 = unSign(_n, 32) < unSign(5, 32);
        if (_13) { __lastLabel__ = 0; ; } else { __lastLabel__ = 0; __label__ = 82; /* _bb5 */ break _bb$_bb5$15575; }
        var _14 = _12 >> 2;
        var _15 = _14 ^ _12;
        var _16 = unSign(_n, 32) < unSign(3, 32);
        if (_16) { __lastLabel__ = 116; ; } else { __lastLabel__ = 116; __label__ = 82; /* _bb5 */ break _bb$_bb5$15575; }
        var _17 = _15 >> 1;
        var _18 = _17 ^ _15;
        __lastLabel__ = 61; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _r_0 = __lastLabel__ == 61 ? _18 : (__lastLabel__ == 116 ? _15 : (__lastLabel__ == 0 ? _12 : (__lastLabel__ == 75 ? _9 : (__lastLabel__ == 60 ? _6 : (_3)))));
    var _19 = Math.floor(unSign(_r_0, 32) % unSign(_n, 32));
    ;
    return _19;
  }
  __ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei, "__ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei");
  
  
  function __Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3(_colObj, _frictionDirection) {
    ;
    var __label__;
    var _0 = _colObj == 0;
    ;
    _bb5$_bb$15584: do { 
      if (!_0) {
        ;
        var _1 = _colObj+180;
        var _2 = IHEAP[_1];
        var _3 = _2 == 0;
        if (_3) { __label__ = 82; /* _bb5 */ break _bb5$_bb$15584; }
        var _4 = _colObj+4+8;
        var _5 = FHEAP[_4];
        var _6 = _frictionDirection;
        var _7 = FHEAP[_6];
        var _8 = _5 * _7;
        var _9 = _colObj+4+16+8;
        var _10 = FHEAP[_9];
        var _11 = _frictionDirection+4;
        var _12 = FHEAP[_11];
        var _13 = _10 * _12;
        var _14 = _8 + _13;
        var _15 = _colObj+4+32+8;
        var _16 = FHEAP[_15];
        var _17 = _frictionDirection+8;
        var _18 = FHEAP[_17];
        var _19 = _16 * _18;
        var _20 = _14 + _19;
        var _21 = _colObj+4+4;
        var _22 = FHEAP[_21];
        var _23 = _22 * _7;
        var _24 = _colObj+4+16+4;
        var _25 = FHEAP[_24];
        var _26 = _25 * _12;
        var _27 = _23 + _26;
        var _28 = _colObj+4+32+4;
        var _29 = FHEAP[_28];
        var _30 = _29 * _18;
        var _31 = _27 + _30;
        var _32 = _colObj+4;
        var _33 = FHEAP[_32];
        var _34 = _33 * _7;
        var _35 = _colObj+4+16;
        var _36 = FHEAP[_35];
        var _37 = _36 * _12;
        var _38 = _34 + _37;
        var _39 = _colObj+4+32;
        var _40 = FHEAP[_39];
        var _41 = _40 * _18;
        var _42 = _38 + _41;
        var _43 = _colObj+164;
        var _44 = FHEAP[_43];
        var _45 = _42 * _44;
        var _46 = _colObj+164+4;
        var _47 = FHEAP[_46];
        var _48 = _31 * _47;
        var _49 = _colObj+164+8;
        var _50 = FHEAP[_49];
        var _51 = _20 * _50;
        var _52 = _40 * _45;
        var _53 = _29 * _48;
        var _54 = _52 + _53;
        var _55 = _16 * _51;
        var _56 = _54 + _55;
        var _57 = _36 * _45;
        var _58 = _25 * _48;
        var _59 = _57 + _58;
        var _60 = _10 * _51;
        var _61 = _59 + _60;
        var _62 = _33 * _45;
        var _63 = _22 * _48;
        var _64 = _62 + _63;
        var _65 = _5 * _51;
        var _66 = _64 + _65;
        FHEAP[_6] = _66;
        FHEAP[_11] = _61;
        FHEAP[_17] = _56;
        var _67 = _frictionDirection+12;
        FHEAP[_67] = 0;
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3.__index__ = Runtime.getFunctionIndex(__Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3, "__Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3");
  
  
  function __ZN35btSequentialImpulseConstraintSolver22setupContactConstraintER18btSolverConstraintP17btCollisionObjectS3_R15btManifoldPointRK19btContactSolverInfoR9btVector3RfSB_SA_SA_(_this, _solverConstraint, _colObj0, _colObj1, _cp, _infoGlobal, _vel, _rel_vel, _relaxation, _rel_pos1, _rel_pos2) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _colObj0+232;
    var _1 = IHEAP[_0];
    var __lobit_i = _1 & 2;
    var _toBool_i = __lobit_i == 0;
    ;
    if (_toBool_i) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _2 = _colObj0;
      __lastLabel__ = 131; ;
    }
    var _3 = __lastLabel__ == 131 ? _2 : (0);
    var _4 = _colObj1+232;
    var _5 = IHEAP[_4];
    var __lobit_i66 = _5 & 2;
    var _toBool_i67 = __lobit_i66 == 0;
    ;
    if (_toBool_i67) {
      __lastLabel__ = 3289; ;
    }
    else {
      __lastLabel__ = 3289; ;
      var _6 = _colObj1;
      __lastLabel__ = 2855; ;
    }
    var _7 = __lastLabel__ == 2855 ? _6 : (0);
    var _8 = _cp+48+8;
    var _9 = FHEAP[_8];
    var _10 = _colObj0+4+48+8;
    var _11 = FHEAP[_10];
    var _12 = _9 - _11;
    var _13 = _cp+48+4;
    var _14 = FHEAP[_13];
    var _15 = _colObj0+4+48+4;
    var _16 = FHEAP[_15];
    var _17 = _14 - _16;
    var _18 = _cp+48;
    var _19 = FHEAP[_18];
    var _20 = _colObj0+4+48;
    var _21 = FHEAP[_20];
    var _22 = _19 - _21;
    var _23 = _rel_pos1;
    FHEAP[_23] = _22;
    var _24 = _rel_pos1+4;
    FHEAP[_24] = _17;
    var _25 = _rel_pos1+8;
    FHEAP[_25] = _12;
    var _26 = _rel_pos1+12;
    FHEAP[_26] = 0;
    var _27 = _cp+32+8;
    var _28 = FHEAP[_27];
    var _29 = _colObj1+4+48+8;
    var _30 = FHEAP[_29];
    var _31 = _28 - _30;
    var _32 = _cp+32+4;
    var _33 = FHEAP[_32];
    var _34 = _colObj1+4+48+4;
    var _35 = FHEAP[_34];
    var _36 = _33 - _35;
    var _37 = _cp+32;
    var _38 = FHEAP[_37];
    var _39 = _colObj1+4+48;
    var _40 = FHEAP[_39];
    var _41 = _38 - _40;
    var _42 = _rel_pos2;
    FHEAP[_42] = _41;
    var _43 = _rel_pos2+4;
    FHEAP[_43] = _36;
    var _44 = _rel_pos2+8;
    FHEAP[_44] = _31;
    var _45 = _rel_pos2+12;
    FHEAP[_45] = 0;
    FHEAP[_relaxation] = 1;
    var _46 = FHEAP[_23];
    var _47 = _cp+64+4;
    var _48 = FHEAP[_47];
    var _49 = _46 * _48;
    var _50 = FHEAP[_24];
    var _51 = _cp+64;
    var _52 = FHEAP[_51];
    var _53 = _50 * _52;
    var _54 = _49 - _53;
    var _55 = FHEAP[_25];
    var _56 = _55 * _52;
    var _57 = _cp+64+8;
    var _58 = FHEAP[_57];
    var _59 = _46 * _58;
    var _60 = _56 - _59;
    var _61 = _50 * _58;
    var _62 = _55 * _48;
    var _63 = _61 - _62;
    var _64 = _3 == 0;
    ;
    if (_64) {
      ;
      var _111 = _solverConstraint+48;
      FHEAP[_111] = 0;
      var _112 = _solverConstraint+48+4;
      FHEAP[_112] = 0;
      var _113 = _solverConstraint+48+8;
      FHEAP[_113] = 0;
      var _114 = _solverConstraint+48+12;
      FHEAP[_114] = 0;
      __lastLabel__ = 116; ;
    }
    else {
      ;
      var _65 = _3+256+32;
      var _66 = FHEAP[_65];
      var _67 = _66 * _63;
      var _68 = _3+256+32+4;
      var _69 = FHEAP[_68];
      var _70 = _69 * _60;
      var _71 = _67 + _70;
      var _72 = _3+256+32+8;
      var _73 = FHEAP[_72];
      var _74 = _73 * _54;
      var _75 = _71 + _74;
      var _76 = _3+256+16;
      var _77 = FHEAP[_76];
      var _78 = _77 * _63;
      var _79 = _3+256+16+4;
      var _80 = FHEAP[_79];
      var _81 = _80 * _60;
      var _82 = _78 + _81;
      var _83 = _3+256+16+8;
      var _84 = FHEAP[_83];
      var _85 = _84 * _54;
      var _86 = _82 + _85;
      var _87 = _3+256;
      var _88 = FHEAP[_87];
      var _89 = _88 * _63;
      var _90 = _3+256+4;
      var _91 = FHEAP[_90];
      var _92 = _91 * _60;
      var _93 = _89 + _92;
      var _94 = _3+256+8;
      var _95 = FHEAP[_94];
      var _96 = _95 * _54;
      var _97 = _93 + _96;
      var _98 = _3+536+8;
      var _99 = FHEAP[_98];
      var _100 = _75 * _99;
      var _101 = _3+536+4;
      var _102 = FHEAP[_101];
      var _103 = _86 * _102;
      var _104 = _3+536;
      var _105 = FHEAP[_104];
      var _106 = _97 * _105;
      var _107 = _solverConstraint+48;
      FHEAP[_107] = _106;
      var _108 = _solverConstraint+48+4;
      FHEAP[_108] = _103;
      var _109 = _solverConstraint+48+8;
      FHEAP[_109] = _100;
      var _110 = _solverConstraint+48+12;
      FHEAP[_110] = 0;
      __lastLabel__ = 60; ;
    }
    var _115 = __lastLabel__ == 116 ? 0 : (_100);
    var _116 = __lastLabel__ == 116 ? 0 : (_103);
    var _117 = __lastLabel__ == 116 ? 0 : (_106);
    var _118 = FHEAP[_42];
    var _119 = FHEAP[_47];
    var _120 = FHEAP[_43];
    var _121 = FHEAP[_51];
    var _122 = FHEAP[_44];
    var _123 = FHEAP[_57];
    var _124 = _7 == 0;
    ;
    if (_124) {
      ;
      var _183 = _solverConstraint+64;
      FHEAP[_183] = 0;
      var _184 = _solverConstraint+64+4;
      FHEAP[_184] = 0;
      var _185 = _solverConstraint+64+8;
      FHEAP[_185] = 0;
      var _186 = _solverConstraint+64+12;
      FHEAP[_186] = 0;
      __lastLabel__ = 2; ;
    }
    else {
      ;
      var _125 = _122 * _119;
      var _126 = _120 * _123;
      var _127 = _118 * _123;
      var _128 = _122 * _121;
      var _129 = _120 * _121;
      var _130 = _118 * _119;
      var _131 = _126 - _125;
      var _132 = _128 - _127;
      var _133 = _130 - _129;
      var _134 = 0 - _133;
      var _135 = 0 - _132;
      var _136 = 0 - _131;
      var _137 = _7+256+32;
      var _138 = FHEAP[_137];
      var _139 = _138 * _136;
      var _140 = _7+256+32+4;
      var _141 = FHEAP[_140];
      var _142 = _141 * _135;
      var _143 = _139 + _142;
      var _144 = _7+256+32+8;
      var _145 = FHEAP[_144];
      var _146 = _145 * _134;
      var _147 = _143 + _146;
      var _148 = _7+256+16;
      var _149 = FHEAP[_148];
      var _150 = _149 * _136;
      var _151 = _7+256+16+4;
      var _152 = FHEAP[_151];
      var _153 = _152 * _135;
      var _154 = _150 + _153;
      var _155 = _7+256+16+8;
      var _156 = FHEAP[_155];
      var _157 = _156 * _134;
      var _158 = _154 + _157;
      var _159 = _7+256;
      var _160 = FHEAP[_159];
      var _161 = _160 * _136;
      var _162 = _7+256+4;
      var _163 = FHEAP[_162];
      var _164 = _163 * _135;
      var _165 = _161 + _164;
      var _166 = _7+256+8;
      var _167 = FHEAP[_166];
      var _168 = _167 * _134;
      var _169 = _165 + _168;
      var _170 = _7+536+8;
      var _171 = FHEAP[_170];
      var _172 = _147 * _171;
      var _173 = _7+536+4;
      var _174 = FHEAP[_173];
      var _175 = _158 * _174;
      var _176 = _7+536;
      var _177 = FHEAP[_176];
      var _178 = _169 * _177;
      var _179 = _solverConstraint+64;
      FHEAP[_179] = _178;
      var _180 = _solverConstraint+64+4;
      FHEAP[_180] = _175;
      var _181 = _solverConstraint+64+8;
      FHEAP[_181] = _172;
      var _182 = _solverConstraint+64+12;
      FHEAP[_182] = 0;
      __lastLabel__ = 82; ;
    }
    var _187 = __lastLabel__ == 2 ? 0 : (_178);
    var _188 = __lastLabel__ == 2 ? 0 : (_175);
    var _189 = __lastLabel__ == 2 ? 0 : (_172);
    ;
    if (_64) {
      __lastLabel__ = 148; ;
    }
    else {
      __lastLabel__ = 148; ;
      var _190 = FHEAP[_24];
      var _191 = _117 * _190;
      var _192 = FHEAP[_23];
      var _193 = _116 * _192;
      var _194 = _191 - _193;
      var _195 = _115 * _192;
      var _196 = FHEAP[_25];
      var _197 = _117 * _196;
      var _198 = _195 - _197;
      var _199 = _116 * _196;
      var _200 = _115 * _190;
      var _201 = _199 - _200;
      var _202 = _3+336;
      var _203 = FHEAP[_202];
      var _204 = FHEAP[_51];
      var _205 = _204 * _201;
      var _206 = FHEAP[_47];
      var _207 = _206 * _198;
      var _208 = _205 + _207;
      var _209 = FHEAP[_57];
      var _210 = _209 * _194;
      var _211 = _208 + _210;
      var _212 = _203 + _211;
      __lastLabel__ = 108; ;
    }
    var _denom0_0 = __lastLabel__ == 108 ? _212 : (0);
    ;
    if (_124) {
      __lastLabel__ = 153; ;
    }
    else {
      __lastLabel__ = 153; ;
      var _213 = 0 - _189;
      var _214 = 0 - _188;
      var _215 = 0 - _187;
      var _216 = FHEAP[_43];
      var _217 = _216 * _215;
      var _218 = FHEAP[_42];
      var _219 = _218 * _214;
      var _220 = _217 - _219;
      var _221 = _218 * _213;
      var _222 = FHEAP[_44];
      var _223 = _222 * _215;
      var _224 = _221 - _223;
      var _225 = _222 * _214;
      var _226 = _216 * _213;
      var _227 = _225 - _226;
      var _228 = _7+336;
      var _229 = FHEAP[_228];
      var _230 = FHEAP[_51];
      var _231 = _230 * _227;
      var _232 = FHEAP[_47];
      var _233 = _232 * _224;
      var _234 = _231 + _233;
      var _235 = FHEAP[_57];
      var _236 = _235 * _220;
      var _237 = _234 + _236;
      var _238 = _229 + _237;
      __lastLabel__ = 154; ;
    }
    var _denom1_0 = __lastLabel__ == 154 ? _238 : (0);
    var _239 = FHEAP[_relaxation];
    var _240 = _denom0_0 + _denom1_0;
    var _241 = _239 / _240;
    var _242 = _solverConstraint+92;
    FHEAP[_242] = _241;
    var _243 = _solverConstraint+16;
    var _244 = FHEAP[_51];
    FHEAP[_243] = _244;
    var _245 = _solverConstraint+16+4;
    var _246 = FHEAP[_47];
    FHEAP[_245] = _246;
    var _247 = _solverConstraint+16+8;
    var _248 = FHEAP[_57];
    FHEAP[_247] = _248;
    var _249 = _solverConstraint+16+12;
    var _250 = _cp+64+12;
    var _251 = FHEAP[_250];
    FHEAP[_249] = _251;
    var _252 = FHEAP[_23];
    var _253 = FHEAP[_47];
    var _254 = _252 * _253;
    var _255 = FHEAP[_24];
    var _256 = FHEAP[_51];
    var _257 = _255 * _256;
    var _258 = _254 - _257;
    var _259 = FHEAP[_25];
    var _260 = _259 * _256;
    var _261 = FHEAP[_57];
    var _262 = _252 * _261;
    var _263 = _260 - _262;
    var _264 = _255 * _261;
    var _265 = _259 * _253;
    var _266 = _264 - _265;
    var _267 = _solverConstraint;
    FHEAP[_267] = _266;
    var _268 = _solverConstraint+4;
    FHEAP[_268] = _263;
    var _269 = _solverConstraint+8;
    FHEAP[_269] = _258;
    var _270 = _solverConstraint+12;
    FHEAP[_270] = 0;
    var _271 = FHEAP[_57];
    var _272 = 0 - _271;
    var _273 = FHEAP[_47];
    var _274 = 0 - _273;
    var _275 = FHEAP[_51];
    var _276 = 0 - _275;
    var _277 = FHEAP[_42];
    var _278 = _277 * _274;
    var _279 = FHEAP[_43];
    var _280 = _279 * _276;
    var _281 = _278 - _280;
    var _282 = FHEAP[_44];
    var _283 = _282 * _276;
    var _284 = _277 * _272;
    var _285 = _283 - _284;
    var _286 = _279 * _272;
    var _287 = _282 * _274;
    var _288 = _286 - _287;
    var _289 = _solverConstraint+32;
    FHEAP[_289] = _288;
    var _290 = _solverConstraint+32+4;
    FHEAP[_290] = _285;
    var _291 = _solverConstraint+32+8;
    FHEAP[_291] = _281;
    var _292 = _solverConstraint+32+12;
    FHEAP[_292] = 0;
    ;
    if (_64) {
      __lastLabel__ = 86; ;
    }
    else {
      __lastLabel__ = 86; ;
      var _293 = _3+320;
      var _294 = FHEAP[_293];
      var _295 = FHEAP[_24];
      var _296 = _294 * _295;
      var _297 = _3+320+4;
      var _298 = FHEAP[_297];
      var _299 = FHEAP[_23];
      var _300 = _298 * _299;
      var _301 = _296 - _300;
      var _302 = _3+320+8;
      var _303 = FHEAP[_302];
      var _304 = _303 * _299;
      var _305 = FHEAP[_25];
      var _306 = _294 * _305;
      var _307 = _304 - _306;
      var _308 = _298 * _305;
      var _309 = _303 * _295;
      var _310 = _308 - _309;
      var _311 = _3+304+8;
      var _312 = FHEAP[_311];
      var _313 = _312 + _301;
      var _314 = _3+304+4;
      var _315 = FHEAP[_314];
      var _316 = _315 + _307;
      var _317 = _3+304;
      var _318 = FHEAP[_317];
      var _319 = _318 + _310;
      __lastLabel__ = 110; ;
    }
    var _vel1_0_0_0 = __lastLabel__ == 110 ? _319 : (0);
    var _vel1_0_1_0 = __lastLabel__ == 110 ? _316 : (0);
    var _vel1_0_2_0 = __lastLabel__ == 110 ? _313 : (0);
    ;
    if (_124) {
      __lastLabel__ = 419; ;
    }
    else {
      __lastLabel__ = 419; ;
      var _320 = _7+320;
      var _321 = FHEAP[_320];
      var _322 = FHEAP[_43];
      var _323 = _321 * _322;
      var _324 = _7+320+4;
      var _325 = FHEAP[_324];
      var _326 = FHEAP[_42];
      var _327 = _325 * _326;
      var _328 = _323 - _327;
      var _329 = _7+320+8;
      var _330 = FHEAP[_329];
      var _331 = _330 * _326;
      var _332 = FHEAP[_44];
      var _333 = _321 * _332;
      var _334 = _331 - _333;
      var _335 = _325 * _332;
      var _336 = _330 * _322;
      var _337 = _335 - _336;
      var _338 = _7+304+8;
      var _339 = FHEAP[_338];
      var _340 = _339 + _328;
      var _341 = _7+304+4;
      var _342 = FHEAP[_341];
      var _343 = _342 + _334;
      var _344 = _7+304;
      var _345 = FHEAP[_344];
      var _346 = _345 + _337;
      __lastLabel__ = 65; ;
    }
    var _vel2_0_0_0 = __lastLabel__ == 65 ? _346 : (0);
    var _vel2_0_1_0 = __lastLabel__ == 65 ? _343 : (0);
    var _vel2_0_2_0 = __lastLabel__ == 65 ? _340 : (0);
    var _347 = _vel1_0_2_0 - _vel2_0_2_0;
    var _348 = _vel1_0_1_0 - _vel2_0_1_0;
    var _349 = _vel1_0_0_0 - _vel2_0_0_0;
    var _350 = _vel;
    FHEAP[_350] = _349;
    var _351 = _vel+4;
    FHEAP[_351] = _348;
    var _352 = _vel+8;
    FHEAP[_352] = _347;
    var _353 = _vel+12;
    FHEAP[_353] = 0;
    var _354 = FHEAP[_51];
    var _355 = _354 * _349;
    var _356 = FHEAP[_47];
    var _357 = _356 * _348;
    var _358 = _355 + _357;
    var _359 = FHEAP[_57];
    var _360 = _359 * _347;
    var _361 = _358 + _360;
    FHEAP[_rel_vel] = _361;
    var _362 = _cp+80;
    var _363 = FHEAP[_362];
    var _364 = _infoGlobal+52;
    var _365 = FHEAP[_364];
    var _366 = _363 + _365;
    var _367 = _cp+84;
    var _368 = FHEAP[_367];
    var _369 = _solverConstraint+88;
    FHEAP[_369] = _368;
    var _370 = _cp+144;
    var _371 = IHEAP[_370];
    var _372 = _infoGlobal+64;
    var _373 = IHEAP[_372];
    var _374 = _371 > _373;
    ;
    _bb31$_bb29$15616: do { 
      if (_374) {
        __lastLabel__ = 626; ;
      }
      else {
        __lastLabel__ = 626; ;
        var _375 = _cp+88;
        var _376 = FHEAP[_375];
        var _377 = FHEAP[_rel_vel];
        var _378 = 0 - _377;
        var _379 = _376 * _378;
        var _380 = _379 > 0;
        if (_380) { __lastLabel__ = 6; __label__ = 89; /* _bb31 */ break _bb31$_bb29$15616; } else { __lastLabel__ = 6; ; }
        __lastLabel__ = 90; ;
      }
    } while(0);
    var _restitution_0 = __lastLabel__ == 90 ? 0 : (__lastLabel__ == 6 ? _379 : (0));
    var _381 = _infoGlobal+60;
    var _382 = IHEAP[_381];
    var _383 = _382 & 4;
    var _384 = _383 == 0;
    ;
    _bb36$_bb32$15620: do { 
      if (_384) {
        ;
        var _510 = _solverConstraint+84;
        FHEAP[_510] = 0;
        ;
      }
      else {
        ;
        var _385 = _cp+112;
        var _386 = FHEAP[_385];
        var _387 = _infoGlobal+56;
        var _388 = FHEAP[_387];
        var _389 = _386 * _388;
        var _390 = _solverConstraint+84;
        FHEAP[_390] = _389;
        ;
        _bb34$_bb33$15623: do { 
          if (!_64) {
            ;
            var _391 = _3+336;
            var _392 = FHEAP[_391];
            var _393 = _392 != 0;
            if (!(_393)) { __label__ = 250; /* _bb34 */ break _bb34$_bb33$15623; }
            var _394 = _3+340;
            var _395 = _3+340+4;
            var _396 = _3+340+8;
            var _397 = FHEAP[_243];
            var _398 = FHEAP[_245];
            var _399 = FHEAP[_247];
            var _400 = FHEAP[_394];
            var _401 = FHEAP[_395];
            var _402 = FHEAP[_396];
            var _403 = _397 * _392;
            var _404 = _398 * _392;
            var _405 = _399 * _392;
            var _406 = _403 * _400;
            var _407 = _404 * _401;
            var _408 = _405 * _402;
            var _409 = _408 * _389;
            var _410 = _407 * _389;
            var _411 = _406 * _389;
            var _412 = _3+504;
            var _413 = FHEAP[_412];
            var _414 = _413 + _411;
            FHEAP[_412] = _414;
            var _415 = _3+504+4;
            var _416 = FHEAP[_415];
            var _417 = _416 + _410;
            FHEAP[_415] = _417;
            var _418 = _3+504+8;
            var _419 = FHEAP[_418];
            var _420 = _419 + _409;
            FHEAP[_418] = _420;
            var _421 = _3+536+8;
            var _422 = FHEAP[_421];
            var _423 = _422 * _389;
            var _424 = _3+536+4;
            var _425 = FHEAP[_424];
            var _426 = _425 * _389;
            var _427 = _3+536;
            var _428 = FHEAP[_427];
            var _429 = _428 * _389;
            var _430 = _solverConstraint+48+8;
            var _431 = FHEAP[_430];
            var _432 = _431 * _423;
            var _433 = _solverConstraint+48+4;
            var _434 = FHEAP[_433];
            var _435 = _434 * _426;
            var _436 = _solverConstraint+48;
            var _437 = FHEAP[_436];
            var _438 = _437 * _429;
            var _439 = _3+520;
            var _440 = FHEAP[_439];
            var _441 = _440 + _438;
            FHEAP[_439] = _441;
            var _442 = _3+520+4;
            var _443 = FHEAP[_442];
            var _444 = _443 + _435;
            FHEAP[_442] = _444;
            var _445 = _3+520+8;
            var _446 = FHEAP[_445];
            var _447 = _446 + _432;
            FHEAP[_445] = _447;
            ;
          }
        } while(0);
        if (_124) { __label__ = 1014; /* _bb37 */ break _bb36$_bb32$15620; }
        var _448 = FHEAP[_390];
        var _449 = 0 - _448;
        var _450 = _7+336;
        var _451 = FHEAP[_450];
        var _452 = _451 != 0;
        if (!(_452)) { __label__ = 1014; /* _bb37 */ break _bb36$_bb32$15620; }
        var _453 = _7+340;
        var _454 = _7+340+4;
        var _455 = _7+340+8;
        var _456 = FHEAP[_243];
        var _457 = FHEAP[_245];
        var _458 = FHEAP[_247];
        var _459 = _solverConstraint+64;
        var _460 = _solverConstraint+64+4;
        var _461 = _solverConstraint+64+8;
        var _462 = FHEAP[_453];
        var _463 = FHEAP[_454];
        var _464 = FHEAP[_455];
        var _465 = _456 * _451;
        var _466 = _457 * _451;
        var _467 = _458 * _451;
        var _468 = FHEAP[_459];
        var _469 = FHEAP[_460];
        var _470 = FHEAP[_461];
        var _471 = _465 * _462;
        var _472 = _466 * _463;
        var _473 = _467 * _464;
        var _474 = 0 - _468;
        var _475 = 0 - _469;
        var _476 = 0 - _470;
        var _477 = _473 * _449;
        var _478 = _472 * _449;
        var _479 = _471 * _449;
        var _480 = _7+504;
        var _481 = FHEAP[_480];
        var _482 = _481 + _479;
        FHEAP[_480] = _482;
        var _483 = _7+504+4;
        var _484 = FHEAP[_483];
        var _485 = _484 + _478;
        FHEAP[_483] = _485;
        var _486 = _7+504+8;
        var _487 = FHEAP[_486];
        var _488 = _487 + _477;
        FHEAP[_486] = _488;
        var _489 = _7+536+8;
        var _490 = FHEAP[_489];
        var _491 = _490 * _449;
        var _492 = _7+536+4;
        var _493 = FHEAP[_492];
        var _494 = _493 * _449;
        var _495 = _7+536;
        var _496 = FHEAP[_495];
        var _497 = _496 * _449;
        var _498 = _491 * _476;
        var _499 = _494 * _475;
        var _500 = _497 * _474;
        var _501 = _7+520;
        var _502 = FHEAP[_501];
        var _503 = _502 + _500;
        FHEAP[_501] = _503;
        var _504 = _7+520+4;
        var _505 = FHEAP[_504];
        var _506 = _505 + _499;
        FHEAP[_504] = _506;
        var _507 = _7+520+8;
        var _508 = FHEAP[_507];
        var _509 = _508 + _498;
        FHEAP[_507] = _509;
        ;
      }
    } while(0);
    var _511 = _solverConstraint+80;
    FHEAP[_511] = 0;
    ;
    if (_64) {
      __lastLabel__ = 1014; ;
    }
    else {
      __lastLabel__ = 1014; ;
      var _512 = _3+304;
      var _513 = FHEAP[_512];
      var _514 = _3+304+4;
      var _515 = FHEAP[_514];
      var _516 = _3+304+8;
      var _517 = FHEAP[_516];
      __lastLabel__ = 635; ;
    }
    var __0_2176_0 = __lastLabel__ == 635 ? _517 : (0);
    var __0_1175_0 = __lastLabel__ == 635 ? _515 : (0);
    var __0_0174_0 = __lastLabel__ == 635 ? _513 : (0);
    var _518 = FHEAP[_243];
    var _519 = _518 * __0_0174_0;
    var _520 = FHEAP[_245];
    var _521 = _520 * __0_1175_0;
    var _522 = _519 + _521;
    var _523 = FHEAP[_247];
    var _524 = _523 * __0_2176_0;
    var _525 = _522 + _524;
    ;
    if (_64) {
      __lastLabel__ = 1018; ;
    }
    else {
      __lastLabel__ = 1018; ;
      var _526 = _3+320;
      var _527 = FHEAP[_526];
      var _528 = _3+320+4;
      var _529 = FHEAP[_528];
      var _530 = _3+320+8;
      var _531 = FHEAP[_530];
      __lastLabel__ = 1019; ;
    }
    var __0_2183_0 = __lastLabel__ == 1019 ? _531 : (0);
    var __0_1182_0 = __lastLabel__ == 1019 ? _529 : (0);
    var __0_0181_0 = __lastLabel__ == 1019 ? _527 : (0);
    var _532 = FHEAP[_267];
    var _533 = _532 * __0_0181_0;
    var _534 = FHEAP[_268];
    var _535 = _534 * __0_1182_0;
    var _536 = _533 + _535;
    var _537 = FHEAP[_269];
    var _538 = _537 * __0_2183_0;
    var _539 = _536 + _538;
    var _540 = _525 + _539;
    ;
    if (_124) {
      __lastLabel__ = 1276; ;
    }
    else {
      __lastLabel__ = 1276; ;
      var _541 = _7+320;
      var _542 = FHEAP[_541];
      var _543 = _7+320+4;
      var _544 = FHEAP[_543];
      var _545 = _7+320+8;
      var _546 = FHEAP[_545];
      __lastLabel__ = 478; ;
    }
    var __0_2190_0 = __lastLabel__ == 478 ? _546 : (0);
    var __0_1189_0 = __lastLabel__ == 478 ? _544 : (0);
    var __0_0188_0 = __lastLabel__ == 478 ? _542 : (0);
    var _547 = FHEAP[_289];
    var _548 = _547 * __0_0188_0;
    var _549 = FHEAP[_290];
    var _550 = _549 * __0_1189_0;
    var _551 = _548 + _550;
    var _552 = FHEAP[_291];
    var _553 = _552 * __0_2190_0;
    var _554 = _551 + _553;
    ;
    if (_124) {
      __lastLabel__ = 1021; ;
    }
    else {
      __lastLabel__ = 1021; ;
      var _555 = _7+304;
      var _556 = FHEAP[_555];
      var _557 = _7+304+4;
      var _558 = FHEAP[_557];
      var _559 = _7+304+8;
      var _560 = FHEAP[_559];
      __lastLabel__ = 1022; ;
    }
    var __0_2197_0 = __lastLabel__ == 1022 ? _560 : (0);
    var __0_1196_0 = __lastLabel__ == 1022 ? _558 : (0);
    var __0_0195_0 = __lastLabel__ == 1022 ? _556 : (0);
    var _561 = _518 * __0_0195_0;
    var _562 = _520 * __0_1196_0;
    var _563 = _561 + _562;
    var _564 = _523 * __0_2197_0;
    var _565 = _563 + _564;
    var _566 = _554 - _565;
    var _567 = _540 + _566;
    var _568 = 0 - _366;
    var _569 = _infoGlobal+32;
    var _570 = FHEAP[_569];
    var _571 = _570 * _568;
    var _572 = _infoGlobal+12;
    var _573 = FHEAP[_572];
    var _574 = _571 / _573;
    var _575 = _restitution_0 - _567;
    var _576 = FHEAP[_242];
    var _577 = _576 * _574;
    var _578 = _576 * _575;
    var _579 = _infoGlobal+44;
    var _580 = IHEAP[_579];
    var _581 = _580 == 0;
    ;
    _bb59$_bb58$15642: do { 
      if (_581) {
        __label__ = 1024; /* _bb59 */ 
      }
      else {
        ;
        var _582 = _infoGlobal+48;
        var _583 = FHEAP[_582];
        var _584 = _583 < _366;
        if (_584) { __label__ = 1024; /* _bb59 */ break _bb59$_bb58$15642; }
        var _588 = _solverConstraint+116;
        FHEAP[_588] = _578;
        var _589 = _solverConstraint+132;
        FHEAP[_589] = _577;
        __label__ = 482; /* _bb61 */ break _bb59$_bb58$15642;
      }
    } while(0);
    if (__label__ == 1024) {
      var _585 = _577 + _578;
      var _586 = _solverConstraint+116;
      FHEAP[_586] = _585;
      var _587 = _solverConstraint+132;
      FHEAP[_587] = 0;
      ;
    }
    var _590 = _solverConstraint+120;
    FHEAP[_590] = 0;
    var _591 = _solverConstraint+124;
    FHEAP[_591] = 0;
    var _592 = _solverConstraint+128;
    FHEAP[_592] = 10000000000;
    ;
    return;
  }
  __ZN35btSequentialImpulseConstraintSolver22setupContactConstraintER18btSolverConstraintP17btCollisionObjectS3_R15btManifoldPointRK19btContactSolverInfoR9btVector3RfSB_SA_SA_.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver22setupContactConstraintER18btSolverConstraintP17btCollisionObjectS3_R15btManifoldPointRK19btContactSolverInfoR9btVector3RfSB_SA_SA_, "__ZN35btSequentialImpulseConstraintSolver22setupContactConstraintER18btSolverConstraintP17btCollisionObjectS3_R15btManifoldPointRK19btContactSolverInfoR9btVector3RfSB_SA_SA_");
  
  
  function __ZN35btSequentialImpulseConstraintSolver5resetEv(_this) {
    ;
    var __label__;
    var _0 = _this+124;
    IHEAP[_0] = 0;
    ;
    return;
  }
  __ZN35btSequentialImpulseConstraintSolver5resetEv.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver5resetEv, "__ZN35btSequentialImpulseConstraintSolver5resetEv");
  
  
  function __ZN35btSequentialImpulseConstraintSolver28setFrictionConstraintImpulseER18btSolverConstraintP11btRigidBodyS3_R15btManifoldPointRK19btContactSolverInfo(_this, _solverConstraint, _rb0, _rb1, _cp, _infoGlobal) {
    ;
    var __label__;
    var _0 = _infoGlobal+60;
    var _1 = IHEAP[_0];
    var _2 = _1 & 8;
    var _3 = _2 == 0;
    var _4 = _solverConstraint+100;
    var _5 = IHEAP[_4];
    var _6 = _this+44+12;
    var _7 = IHEAP[_6];
    ;
    _bb13$_bb$15650: do { 
      if (_3) {
        ;
        var _268 = _7+136*_5+84;
        FHEAP[_268] = 0;
        var _269 = IHEAP[_0];
        var _270 = _269 & 16;
        var _271 = _270 == 0;
        if (_271) { __label__ = 2663; /* __ZN11btRigidBody20internalApplyImpulseERK9btVector3S2_f_exit */ break _bb13$_bb$15650; }
        var _272 = IHEAP[_4];
        var _273 = _272 + 1;
        var _274 = IHEAP[_6];
        var _275 = _274+136*_273+84;
        FHEAP[_275] = 0;
        ;
        return;
      }
      else {
        ;
        var _8 = _1 & 4;
        var _9 = _8 == 0;
        ;
        _bb5$_bb1$15654: do { 
          if (_9) {
            ;
            var _143 = _7+136*_5+84;
            FHEAP[_143] = 0;
            ;
          }
          else {
            ;
            var _10 = _cp+120;
            var _11 = FHEAP[_10];
            var _12 = _infoGlobal+56;
            var _13 = FHEAP[_12];
            var _14 = _11 * _13;
            var _15 = _7+136*_5+84;
            FHEAP[_15] = _14;
            var _16 = _rb0 == 0;
            ;
            _bb3$_bb2$15657: do { 
              if (!_16) {
                ;
                var _17 = _rb0+336;
                var _18 = FHEAP[_17];
                var _19 = _18 != 0;
                if (!(_19)) { __label__ = 116; /* _bb3 */ break _bb3$_bb2$15657; }
                var _20 = _7+136*_5+16;
                var _21 = _7+136*_5+16+4;
                var _22 = _7+136*_5+16+8;
                var _23 = _rb0+340;
                var _24 = _rb0+340+4;
                var _25 = _rb0+340+8;
                var _26 = FHEAP[_20];
                var _27 = FHEAP[_21];
                var _28 = FHEAP[_22];
                var _29 = FHEAP[_23];
                var _30 = FHEAP[_24];
                var _31 = FHEAP[_25];
                var _32 = _26 * _18;
                var _33 = _27 * _18;
                var _34 = _28 * _18;
                var _35 = _32 * _29;
                var _36 = _33 * _30;
                var _37 = _34 * _31;
                var _38 = _37 * _14;
                var _39 = _36 * _14;
                var _40 = _35 * _14;
                var _41 = _rb0+504;
                var _42 = FHEAP[_41];
                var _43 = _42 + _40;
                FHEAP[_41] = _43;
                var _44 = _rb0+504+4;
                var _45 = FHEAP[_44];
                var _46 = _45 + _39;
                FHEAP[_44] = _46;
                var _47 = _rb0+504+8;
                var _48 = FHEAP[_47];
                var _49 = _48 + _38;
                FHEAP[_47] = _49;
                var _50 = _rb0+536+8;
                var _51 = FHEAP[_50];
                var _52 = _51 * _14;
                var _53 = _rb0+536+4;
                var _54 = FHEAP[_53];
                var _55 = _54 * _14;
                var _56 = _rb0+536;
                var _57 = FHEAP[_56];
                var _58 = _57 * _14;
                var _59 = _7+136*_5+48+8;
                var _60 = FHEAP[_59];
                var _61 = _60 * _52;
                var _62 = _7+136*_5+48+4;
                var _63 = FHEAP[_62];
                var _64 = _63 * _55;
                var _65 = _7+136*_5+48;
                var _66 = FHEAP[_65];
                var _67 = _66 * _58;
                var _68 = _rb0+520;
                var _69 = FHEAP[_68];
                var _70 = _69 + _67;
                FHEAP[_68] = _70;
                var _71 = _rb0+520+4;
                var _72 = FHEAP[_71];
                var _73 = _72 + _64;
                FHEAP[_71] = _73;
                var _74 = _rb0+520+8;
                var _75 = FHEAP[_74];
                var _76 = _75 + _61;
                FHEAP[_74] = _76;
                ;
              }
            } while(0);
            var _77 = _rb1 == 0;
            if (_77) { __label__ = 83; /* _bb6 */ break _bb5$_bb1$15654; }
            var _78 = FHEAP[_15];
            var _79 = 0 - _78;
            var _80 = _rb1+336;
            var _81 = FHEAP[_80];
            var _82 = _81 != 0;
            if (!(_82)) { __label__ = 83; /* _bb6 */ break _bb5$_bb1$15654; }
            var _83 = _7+136*_5+16;
            var _84 = _7+136*_5+16+4;
            var _85 = _7+136*_5+16+8;
            var _86 = _rb1+340;
            var _87 = _rb1+340+4;
            var _88 = _rb1+340+8;
            var _89 = FHEAP[_83];
            var _90 = FHEAP[_84];
            var _91 = FHEAP[_85];
            var _92 = _7+136*_5+64;
            var _93 = _7+136*_5+64+4;
            var _94 = _7+136*_5+64+8;
            var _95 = FHEAP[_86];
            var _96 = FHEAP[_87];
            var _97 = FHEAP[_88];
            var _98 = _89 * _81;
            var _99 = _90 * _81;
            var _100 = _91 * _81;
            var _101 = FHEAP[_92];
            var _102 = FHEAP[_93];
            var _103 = FHEAP[_94];
            var _104 = _98 * _95;
            var _105 = _99 * _96;
            var _106 = _100 * _97;
            var _107 = 0 - _101;
            var _108 = 0 - _102;
            var _109 = 0 - _103;
            var _110 = _106 * _79;
            var _111 = _105 * _79;
            var _112 = _104 * _79;
            var _113 = _rb1+504;
            var _114 = FHEAP[_113];
            var _115 = _114 + _112;
            FHEAP[_113] = _115;
            var _116 = _rb1+504+4;
            var _117 = FHEAP[_116];
            var _118 = _117 + _111;
            FHEAP[_116] = _118;
            var _119 = _rb1+504+8;
            var _120 = FHEAP[_119];
            var _121 = _120 + _110;
            FHEAP[_119] = _121;
            var _122 = _rb1+536+8;
            var _123 = FHEAP[_122];
            var _124 = _123 * _79;
            var _125 = _rb1+536+4;
            var _126 = FHEAP[_125];
            var _127 = _126 * _79;
            var _128 = _rb1+536;
            var _129 = FHEAP[_128];
            var _130 = _129 * _79;
            var _131 = _124 * _109;
            var _132 = _127 * _108;
            var _133 = _130 * _107;
            var _134 = _rb1+520;
            var _135 = FHEAP[_134];
            var _136 = _135 + _133;
            FHEAP[_134] = _136;
            var _137 = _rb1+520+4;
            var _138 = FHEAP[_137];
            var _139 = _138 + _132;
            FHEAP[_137] = _139;
            var _140 = _rb1+520+8;
            var _141 = FHEAP[_140];
            var _142 = _141 + _131;
            FHEAP[_140] = _142;
            ;
          }
        } while(0);
        var _144 = IHEAP[_0];
        var _145 = _144 & 16;
        var _146 = _145 == 0;
        if (_146) { __label__ = 2663; /* __ZN11btRigidBody20internalApplyImpulseERK9btVector3S2_f_exit */ break _bb13$_bb$15650; }
        var _147 = IHEAP[_4];
        var _148 = _147 + 1;
        var _149 = IHEAP[_6];
        var _150 = _144 & 4;
        var _151 = _150 == 0;
        ;
        if (_151) {
          ;
          var _267 = _149+136*_148+84;
          FHEAP[_267] = 0;
          ;
          return;
        }
        else {
          ;
          var _152 = _cp+124;
          var _153 = FHEAP[_152];
          var _154 = _infoGlobal+56;
          var _155 = FHEAP[_154];
          var _156 = _153 * _155;
          var _157 = _149+136*_148+84;
          FHEAP[_157] = _156;
          var _158 = _rb0 == 0;
          ;
          _bb10$_bb9$15668: do { 
            if (!_158) {
              ;
              var _159 = _rb0+336;
              var _160 = FHEAP[_159];
              var _161 = _160 != 0;
              if (!(_161)) { __label__ = 150; /* _bb10 */ break _bb10$_bb9$15668; }
              var _162 = _149+136*_148+16;
              var _163 = _149+136*_148+16+4;
              var _164 = _149+136*_148+16+8;
              var _165 = FHEAP[_162];
              var _166 = FHEAP[_163];
              var _167 = FHEAP[_164];
              var _168 = _165 * _160;
              var _169 = _166 * _160;
              var _170 = _167 * _160;
              var _171 = _170 * _156;
              var _172 = _169 * _156;
              var _173 = _168 * _156;
              var _174 = _rb0+504;
              var _175 = FHEAP[_174];
              var _176 = _175 + _173;
              FHEAP[_174] = _176;
              var _177 = _rb0+504+4;
              var _178 = FHEAP[_177];
              var _179 = _178 + _172;
              FHEAP[_177] = _179;
              var _180 = _rb0+504+8;
              var _181 = FHEAP[_180];
              var _182 = _181 + _171;
              FHEAP[_180] = _182;
              var _183 = _rb0+536+8;
              var _184 = FHEAP[_183];
              var _185 = _184 * _156;
              var _186 = _rb0+536+4;
              var _187 = FHEAP[_186];
              var _188 = _187 * _156;
              var _189 = _rb0+536;
              var _190 = FHEAP[_189];
              var _191 = _190 * _156;
              var _192 = _149+136*_148+48+8;
              var _193 = FHEAP[_192];
              var _194 = _193 * _185;
              var _195 = _149+136*_148+48+4;
              var _196 = FHEAP[_195];
              var _197 = _196 * _188;
              var _198 = _149+136*_148+48;
              var _199 = FHEAP[_198];
              var _200 = _199 * _191;
              var _201 = _rb0+520;
              var _202 = FHEAP[_201];
              var _203 = _202 + _200;
              FHEAP[_201] = _203;
              var _204 = _rb0+520+4;
              var _205 = FHEAP[_204];
              var _206 = _205 + _197;
              FHEAP[_204] = _206;
              var _207 = _rb0+520+8;
              var _208 = FHEAP[_207];
              var _209 = _208 + _194;
              FHEAP[_207] = _209;
              ;
            }
          } while(0);
          var _210 = _rb1 == 0;
          if (_210) { __label__ = 2663; /* __ZN11btRigidBody20internalApplyImpulseERK9btVector3S2_f_exit */ break _bb13$_bb$15650; }
          var _211 = FHEAP[_157];
          var _212 = 0 - _211;
          var _213 = _rb1+336;
          var _214 = FHEAP[_213];
          var _215 = _214 != 0;
          if (!(_215)) { __label__ = 2663; /* __ZN11btRigidBody20internalApplyImpulseERK9btVector3S2_f_exit */ break _bb13$_bb$15650; }
          var _216 = _149+136*_148+16;
          var _217 = _149+136*_148+16+4;
          var _218 = _149+136*_148+16+8;
          var _219 = _149+136*_148+64;
          var _220 = _149+136*_148+64+4;
          var _221 = _149+136*_148+64+8;
          var _222 = FHEAP[_216];
          var _223 = FHEAP[_217];
          var _224 = FHEAP[_218];
          var _225 = FHEAP[_219];
          var _226 = FHEAP[_220];
          var _227 = FHEAP[_221];
          var _228 = _222 * _214;
          var _229 = _223 * _214;
          var _230 = _224 * _214;
          var _231 = 0 - _225;
          var _232 = 0 - _226;
          var _233 = 0 - _227;
          var _234 = _230 * _212;
          var _235 = _229 * _212;
          var _236 = _228 * _212;
          var _237 = _rb1+504;
          var _238 = FHEAP[_237];
          var _239 = _238 + _236;
          FHEAP[_237] = _239;
          var _240 = _rb1+504+4;
          var _241 = FHEAP[_240];
          var _242 = _241 + _235;
          FHEAP[_240] = _242;
          var _243 = _rb1+504+8;
          var _244 = FHEAP[_243];
          var _245 = _244 + _234;
          FHEAP[_243] = _245;
          var _246 = _rb1+536+8;
          var _247 = FHEAP[_246];
          var _248 = _247 * _212;
          var _249 = _rb1+536+4;
          var _250 = FHEAP[_249];
          var _251 = _250 * _212;
          var _252 = _rb1+536;
          var _253 = FHEAP[_252];
          var _254 = _253 * _212;
          var _255 = _248 * _233;
          var _256 = _251 * _232;
          var _257 = _254 * _231;
          var _258 = _rb1+520;
          var _259 = FHEAP[_258];
          var _260 = _259 + _257;
          FHEAP[_258] = _260;
          var _261 = _rb1+520+4;
          var _262 = FHEAP[_261];
          var _263 = _262 + _256;
          FHEAP[_261] = _263;
          var _264 = _rb1+520+8;
          var _265 = FHEAP[_264];
          var _266 = _265 + _255;
          FHEAP[_264] = _266;
          ;
          return;
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN35btSequentialImpulseConstraintSolver28setFrictionConstraintImpulseER18btSolverConstraintP11btRigidBodyS3_R15btManifoldPointRK19btContactSolverInfo.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver28setFrictionConstraintImpulseER18btSolverConstraintP11btRigidBodyS3_R15btManifoldPointRK19btContactSolverInfo, "__ZN35btSequentialImpulseConstraintSolver28setFrictionConstraintImpulseER18btSolverConstraintP11btRigidBodyS3_R15btManifoldPointRK19btContactSolverInfo");
  
  
  function __ZN35btSequentialImpulseConstraintSolver45solveGroupCacheFriendlySplitImpulseIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc(_this, _bodies, _numBodies, _manifoldPtr, _numManifolds, _constraints, _numConstraints, _infoGlobal, _debugDrawer, _stackAlloc) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _infoGlobal+44;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _return$_bb$15676: do { 
      if (!_2) {
        ;
        var _3 = _infoGlobal+60;
        var _4 = IHEAP[_3];
        var _5 = _4 & 256;
        var _6 = _5 == 0;
        var _7 = _infoGlobal+20;
        var _8 = IHEAP[_7];
        var _9 = _8 > 0;
        ;
        if (_6) {
          ;
          if (!(_9)) { __label__ = 44; /* _return */ break _return$_bb$15676; }
          var _26 = _this+4+4;
          var _27 = _this+64+12;
          var _28 = _this+4+12;
          __lastLabel__ = 2874; ;
          _bb8$15681: while(1) { // _bb8
            var _iteration_123 = __lastLabel__ == 2874 ? 0 : (_tmp27);
            var _tmp27 = _iteration_123 + 1;
            var _29 = IHEAP[_26];
            var _30 = _29 > 0;
            if (_30) { __lastLabel__ = 148; __label__ = 292; /* _bb11 */  } else { __lastLabel__ = 148; __label__ = 63; /* _bb14 */  }
            _bb11$_bb14$15683: while(1) { // _bb11,_bb14
              if (__label__ == 292) {
                var _j10_020 = __lastLabel__ == 292 ? _39 : (0);
                var _31 = IHEAP[_27];
                var _scevgep26 = _31+4*_j10_020;
                var _32 = IHEAP[_scevgep26];
                var _33 = IHEAP[_28];
                var _34 = _33+136*_32;
                var _35 = _33+136*_32+108;
                var _36 = IHEAP[_35];
                var _37 = _33+136*_32+104;
                var _38 = IHEAP[_37];
                __ZN35btSequentialImpulseConstraintSolver43resolveSplitPenetrationImpulseCacheFriendlyER11btRigidBodyS1_RK18btSolverConstraint(_this, _38, _36, _34);
                var _39 = _j10_020 + 1;
                var _exitcond25 = _39 == _29;
                if (_exitcond25) { __lastLabel__ = 292; __label__ = 63; /* _bb14 */ continue _bb11$_bb14$15683; } else { __lastLabel__ = 292; __label__ = 292; /* _bb11 */ continue _bb11$_bb14$15683; }
              }
              else if (__label__ == 63) {
                var _40 = IHEAP[_7];
                var _41 = _40 > _tmp27;
                if (_41) { __lastLabel__ = 63; __label__ = 148; /* _bb8 */ continue _bb8$15681; } else { __lastLabel__ = 63; __label__ = 44; /* _return */ break _return$_bb$15676; }
              }
            }
          }
        }
        else {
          ;
          if (!(_9)) { __label__ = 44; /* _return */ break _return$_bb$15676; }
          var _10 = _this+4+4;
          var _11 = _this+64+12;
          var _12 = _this+4+12;
          __lastLabel__ = 2250; ;
          _bb2$15689: while(1) { // _bb2
            var _iteration_018 = __lastLabel__ == 2250 ? 0 : (_tmp);
            var _tmp = _iteration_018 + 1;
            var _13 = IHEAP[_10];
            var _14 = _13 > 0;
            if (_14) { __lastLabel__ = 0; __label__ = 116; /* _bb3 */  } else { __lastLabel__ = 0; __label__ = 82; /* _bb5 */  }
            _bb3$_bb5$15691: while(1) { // _bb3,_bb5
              if (__label__ == 116) {
                var _j_017 = __lastLabel__ == 116 ? _23 : (0);
                var _15 = IHEAP[_11];
                var _scevgep = _15+4*_j_017;
                var _16 = IHEAP[_scevgep];
                var _17 = IHEAP[_12];
                var _18 = _17+136*_16;
                var _19 = _17+136*_16+108;
                var _20 = IHEAP[_19];
                var _21 = _17+136*_16+104;
                var _22 = IHEAP[_21];
                __ZN35btSequentialImpulseConstraintSolver43resolveSplitPenetrationImpulseCacheFriendlyER11btRigidBodyS1_RK18btSolverConstraint(_this, _22, _20, _18);
                var _23 = _j_017 + 1;
                var _exitcond = _23 == _13;
                if (_exitcond) { __lastLabel__ = 116; __label__ = 82; /* _bb5 */ continue _bb3$_bb5$15691; } else { __lastLabel__ = 116; __label__ = 116; /* _bb3 */ continue _bb3$_bb5$15691; }
              }
              else if (__label__ == 82) {
                var _24 = IHEAP[_7];
                var _25 = _24 > _tmp;
                if (_25) { __lastLabel__ = 82; __label__ = 0; /* _bb2 */ continue _bb2$15689; } else { __lastLabel__ = 82; __label__ = 44; /* _return */ break _return$_bb$15676; }
              }
            }
          }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN35btSequentialImpulseConstraintSolver45solveGroupCacheFriendlySplitImpulseIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver45solveGroupCacheFriendlySplitImpulseIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc, "__ZN35btSequentialImpulseConstraintSolver45solveGroupCacheFriendlySplitImpulseIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc");
  
  
  function __ZN35btSequentialImpulseConstraintSolver20solveSingleIterationEiPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc(_this, _iteration, _unnamed_arg, _unnamed_arg2, _unnamed_arg4, _unnamed_arg6, _constraints, _numConstraints, _infoGlobal, _unnamed_arg8, _unnamed_arg10) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4+4;
    var _1 = IHEAP[_0];
    var _2 = _this+44+4;
    var _3 = IHEAP[_2];
    var _4 = _infoGlobal+60;
    var _5 = IHEAP[_4];
    var _6 = _5 & 1;
    var _toBool = _6 == 0;
    ;
    _bb19$_bb$15697: do { 
      if (_toBool) {
        __lastLabel__ = -1; ;
      }
      else {
        __lastLabel__ = -1; ;
        var _7 = _iteration & 7;
        var _8 = _7 == 0;
        if (_8) { __lastLabel__ = 60; ; } else { __lastLabel__ = 60; __label__ = 64; /* _bb19 */ break _bb19$_bb$15697; }
        var _9 = _1 > 0;
        ;
        _bb_nph68$_bb18_preheader$15700: do { 
          if (_9) {
            ;
            var _10 = _this+64+12;
            var _11 = _this+124;
            __lastLabel__ = 2876; ;
            _bb12$15702: while(1) { // _bb12
              var _j_067 = __lastLabel__ == 2876 ? 0 : (_tmp90);
              var _tmp90 = _j_067 + 1;
              var _12 = IHEAP[_10];
              var _scevgep88 = _12+4*_j_067;
              var _13 = IHEAP[_scevgep88];
              var _14 = IHEAP[_11];
              var _15 = _14 * 1664525;
              var _16 = _15 + 1013904223;
              IHEAP[_11] = _16;
              var _17 = unSign(_tmp90, 32) < unSign(65537, 32);
              ;
              _bb_i$__ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei_exit$15704: do { 
                if (_17) {
                  __lastLabel__ = 3; ;
                  var _18 = _16 >> 16;
                  var _19 = _18 ^ _16;
                  var _20 = unSign(_tmp90, 32) < unSign(257, 32);
                  if (_20) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 2877; /* __ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei_exit */ break _bb_i$__ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei_exit$15704; }
                  var _21 = _19 >> 8;
                  var _22 = _21 ^ _19;
                  var _23 = unSign(_tmp90, 32) < unSign(17, 32);
                  if (_23) { __lastLabel__ = 159; ; } else { __lastLabel__ = 159; __label__ = 2877; /* __ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei_exit */ break _bb_i$__ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei_exit$15704; }
                  var _24 = _22 >> 4;
                  var _25 = _24 ^ _22;
                  var _26 = unSign(_tmp90, 32) < unSign(5, 32);
                  if (_26) { __lastLabel__ = 132; ; } else { __lastLabel__ = 132; __label__ = 2877; /* __ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei_exit */ break _bb_i$__ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei_exit$15704; }
                  var _27 = _25 >> 2;
                  var _28 = _27 ^ _25;
                  var _29 = unSign(_tmp90, 32) < unSign(3, 32);
                  if (_29) { __lastLabel__ = 133; ; } else { __lastLabel__ = 133; __label__ = 2877; /* __ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei_exit */ break _bb_i$__ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei_exit$15704; }
                  var _30 = _28 >> 1;
                  var _31 = _30 ^ _28;
                  __lastLabel__ = 135; ;
                }
                else {
                  __lastLabel__ = 3; ;
                }
              } while(0);
              var _r_0_i = __lastLabel__ == 135 ? _31 : (__lastLabel__ == 133 ? _28 : (__lastLabel__ == 132 ? _25 : (__lastLabel__ == 159 ? _22 : (__lastLabel__ == 131 ? _19 : (_16)))));
              var _32 = Math.floor(unSign(_r_0_i, 32) % unSign(_tmp90, 32));
              var _33 = _12+4*_32;
              var _34 = IHEAP[_33];
              IHEAP[_scevgep88] = _34;
              var _35 = IHEAP[_10];
              var _36 = _35+4*_32;
              IHEAP[_36] = _13;
              var _exitcond87 = _tmp90 == _1;
              if (_exitcond87) { __lastLabel__ = 2877; __label__ = 1995; /* _bb18_preheader */ break _bb_nph68$_bb18_preheader$15700; } else { __lastLabel__ = 2877; __label__ = 3; /* _bb12 */ continue _bb12$15702; }
            }
          }
        } while(0);
        var _37 = _3 > 0;
        ;
        _bb_nph$_bb19_loopexit$15712: do { 
          if (_37) {
            ;
            var _38 = _this+84+12;
            var _39 = _this+124;
            __lastLabel__ = 130; ;
            _bb15$15714: while(1) { // _bb15
              var _j_166 = __lastLabel__ == 130 ? 0 : (_tmp);
              var _tmp = _j_166 + 1;
              var _40 = IHEAP[_38];
              var _scevgep = _40+4*_j_166;
              var _41 = IHEAP[_scevgep];
              var _42 = IHEAP[_39];
              var _43 = _42 * 1664525;
              var _44 = _43 + 1013904223;
              IHEAP[_39] = _44;
              var _45 = unSign(_tmp, 32) < unSign(65537, 32);
              ;
              _bb_i59$__ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei_exit65$15716: do { 
                if (_45) {
                  __lastLabel__ = 153; ;
                  var _46 = _44 >> 16;
                  var _47 = _46 ^ _44;
                  var _48 = unSign(_tmp, 32) < unSign(257, 32);
                  if (_48) { __lastLabel__ = 2879; ; } else { __lastLabel__ = 2879; __label__ = 2881; /* __ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei_exit65 */ break _bb_i59$__ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei_exit65$15716; }
                  var _49 = _47 >> 8;
                  var _50 = _49 ^ _47;
                  var _51 = unSign(_tmp, 32) < unSign(17, 32);
                  if (_51) { __lastLabel__ = 2880; ; } else { __lastLabel__ = 2880; __label__ = 2881; /* __ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei_exit65 */ break _bb_i59$__ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei_exit65$15716; }
                  var _52 = _50 >> 4;
                  var _53 = _52 ^ _50;
                  var _54 = unSign(_tmp, 32) < unSign(5, 32);
                  if (_54) { __lastLabel__ = 2882; ; } else { __lastLabel__ = 2882; __label__ = 2881; /* __ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei_exit65 */ break _bb_i59$__ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei_exit65$15716; }
                  var _55 = _53 >> 2;
                  var _56 = _55 ^ _53;
                  var _57 = unSign(_tmp, 32) < unSign(3, 32);
                  if (_57) { __lastLabel__ = 2883; ; } else { __lastLabel__ = 2883; __label__ = 2881; /* __ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei_exit65 */ break _bb_i59$__ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei_exit65$15716; }
                  var _58 = _56 >> 1;
                  var _59 = _58 ^ _56;
                  __lastLabel__ = 2884; ;
                }
                else {
                  __lastLabel__ = 153; ;
                }
              } while(0);
              var _r_0_i64 = __lastLabel__ == 2884 ? _59 : (__lastLabel__ == 2883 ? _56 : (__lastLabel__ == 2882 ? _53 : (__lastLabel__ == 2880 ? _50 : (__lastLabel__ == 2879 ? _47 : (_44)))));
              var _60 = Math.floor(unSign(_r_0_i64, 32) % unSign(_tmp, 32));
              var _61 = _40+4*_60;
              var _62 = IHEAP[_61];
              IHEAP[_scevgep] = _62;
              var _63 = IHEAP[_38];
              var _64 = _63+4*_60;
              IHEAP[_64] = _41;
              var _exitcond = _tmp == _3;
              if (_exitcond) { __lastLabel__ = 2881; __label__ = 2886; /* _bb19_loopexit */ break _bb_nph$_bb19_loopexit$15712; } else { __lastLabel__ = 2881; __label__ = 153; /* _bb15 */ continue _bb15$15714; }
            }
          }
        } while(0);
        var __pre = IHEAP[_4];
        __lastLabel__ = 2886; ;
      }
    } while(0);
    var _65 = __lastLabel__ == 2886 ? __pre : (__lastLabel__ == -1 ? _5 : (_5));
    var _66 = _65 & 256;
    var _67 = _66 == 0;
    var _68 = _this+24+4;
    var _69 = IHEAP[_68];
    var _70 = _69 > 0;
    ;
    _bb41_preheader$_bb22_preheader$15725: do { 
      if (_67) {
        ;
        ;
        _bb_nph85$_bb45_preheader$15727: do { 
          if (_70) {
            ;
            var _131 = _this+24+12;
            __lastLabel__ = 793; ;
            _bb39$15729: while(1) { // _bb39
              var _j_684 = __lastLabel__ == 793 ? 0 : (_135);
              var _132 = IHEAP[_131];
              var _scevgep108 = _132+136*_j_684+108;
              var _133 = IHEAP[_scevgep108];
              var _scevgep109 = _132+136*_j_684+104;
              var _134 = IHEAP[_scevgep109];
              var _scevgep107 = _132+136*_j_684;
              __ZN35btSequentialImpulseConstraintSolver33resolveSingleConstraintRowGenericER11btRigidBodyS1_RK18btSolverConstraint(_this, _134, _133, _scevgep107);
              var _135 = _j_684 + 1;
              var _136 = IHEAP[_68];
              var _137 = _136 > _135;
              if (_137) { __lastLabel__ = 971; __label__ = 971; /* _bb39 */ continue _bb39$15729; } else { __lastLabel__ = 971; __label__ = 2892; /* _bb45_preheader */ break _bb_nph85$_bb45_preheader$15727; }
            }
          }
        } while(0);
        var _138 = _numConstraints > 0;
        ;
        _bb_nph83$_bb46$15732: do { 
          if (_138) {
            ;
            var _139 = _infoGlobal+12;
            __lastLabel__ = 2893; ;
            _bb44$15734: while(1) { // _bb44
              var _j_782 = __lastLabel__ == 2893 ? 0 : (_151);
              var _scevgep106 = _constraints+4*_j_782;
              var _140 = IHEAP[_scevgep106];
              var _141 = _140;
              var _142 = IHEAP[_141];
              var _143 = _142+24;
              var _144 = IHEAP[_143];
              var _145 = FHEAP[_139];
              var _146 = _140+24;
              var _147 = IHEAP[_146];
              var _148 = _140+20;
              var _149 = IHEAP[_148];
              var _150 = _144;
              FUNCTION_TABLE[_150](_140, _149, _147, _145);
              var _151 = _j_782 + 1;
              var _exitcond105 = _151 == _numConstraints;
              if (_exitcond105) { __lastLabel__ = 94; __label__ = 635; /* _bb46 */ break _bb_nph83$_bb46$15732; } else { __lastLabel__ = 94; __label__ = 94; /* _bb44 */ continue _bb44$15734; }
            }
          }
        } while(0);
        var _152 = IHEAP[_0];
        var _153 = _152 > 0;
        ;
        _bb_nph81$_bb50$15737: do { 
          if (_153) {
            ;
            var _154 = _this+64+12;
            var _155 = _this+4+12;
            __lastLabel__ = 1923; ;
            _bb47$15739: while(1) { // _bb47
              var _j_880 = __lastLabel__ == 1923 ? 0 : (_164);
              var _156 = IHEAP[_154];
              var _scevgep104 = _156+4*_j_880;
              var _157 = IHEAP[_scevgep104];
              var _158 = IHEAP[_155];
              var _159 = _158+136*_157;
              var _160 = _158+136*_157+108;
              var _161 = IHEAP[_160];
              var _162 = _158+136*_157+104;
              var _163 = IHEAP[_162];
              __ZN35btSequentialImpulseConstraintSolver36resolveSingleConstraintRowLowerLimitER11btRigidBodyS1_RK18btSolverConstraint(_this, _163, _161, _159);
              var _164 = _j_880 + 1;
              var _exitcond103 = _164 == _152;
              if (_exitcond103) { __lastLabel__ = 973; __label__ = 975; /* _bb50 */ break _bb_nph81$_bb50$15737; } else { __lastLabel__ = 973; __label__ = 973; /* _bb47 */ continue _bb47$15739; }
            }
          }
        } while(0);
        var _165 = IHEAP[_2];
        var _166 = _165 > 0;
        if (!(_166)) { __label__ = 71; /* _bb57 */ break _bb41_preheader$_bb22_preheader$15725; }
        var _167 = _this+84+12;
        var _168 = _this+44+12;
        var _169 = _this+4+12;
        __lastLabel__ = 2894; ;
        _bb51$15743: while(1) { // _bb51
          var _j_978 = __lastLabel__ == 2894 ? 0 : (_190);
          var _170 = IHEAP[_167];
          var _scevgep102 = _170+4*_j_978;
          var _171 = IHEAP[_scevgep102];
          var _172 = IHEAP[_168];
          var _173 = _172+136*_171+100;
          var _174 = IHEAP[_173];
          var _175 = IHEAP[_169];
          var _176 = _175+136*_174+84;
          var _177 = FHEAP[_176];
          var _178 = _177 > 0;
          ;
          if (_178) {
            ;
            var _179 = _172+136*_171;
            var _180 = _172+136*_171+88;
            var _181 = FHEAP[_180];
            var _182 = _181 * _177;
            var _183 = 0 - _182;
            var _184 = _172+136*_171+124;
            FHEAP[_184] = _183;
            var _185 = _172+136*_171+128;
            FHEAP[_185] = _182;
            var _186 = _172+136*_171+108;
            var _187 = IHEAP[_186];
            var _188 = _172+136*_171+104;
            var _189 = IHEAP[_188];
            __ZN35btSequentialImpulseConstraintSolver33resolveSingleConstraintRowGenericER11btRigidBodyS1_RK18btSolverConstraint(_this, _189, _187, _179);
            ;
          }
          var _190 = _j_978 + 1;
          var _exitcond101 = _190 == _165;
          if (_exitcond101) { __lastLabel__ = 1022; __label__ = 71; /* _bb57 */ break _bb41_preheader$_bb22_preheader$15725; } else { __lastLabel__ = 1022; __label__ = 1276; /* _bb51 */ continue _bb51$15743; }
        }
      }
      else {
        ;
        ;
        _bb_nph76$_bb26_preheader$15749: do { 
          if (_70) {
            ;
            var _71 = _this+24+12;
            __lastLabel__ = 816; ;
            _bb21$15751: while(1) { // _bb21
              var _j_275 = __lastLabel__ == 816 ? 0 : (_75);
              var _72 = IHEAP[_71];
              var _scevgep98 = _72+136*_j_275+108;
              var _73 = IHEAP[_scevgep98];
              var _scevgep99 = _72+136*_j_275+104;
              var _74 = IHEAP[_scevgep99];
              var _scevgep97 = _72+136*_j_275;
              __ZN35btSequentialImpulseConstraintSolver33resolveSingleConstraintRowGenericER11btRigidBodyS1_RK18btSolverConstraint(_this, _74, _73, _scevgep97);
              var _75 = _j_275 + 1;
              var _76 = IHEAP[_68];
              var _77 = _76 > _75;
              if (_77) { __lastLabel__ = 110; __label__ = 110; /* _bb21 */ continue _bb21$15751; } else { __lastLabel__ = 110; __label__ = 927; /* _bb26_preheader */ break _bb_nph76$_bb26_preheader$15749; }
            }
          }
        } while(0);
        var _78 = _numConstraints > 0;
        ;
        _bb_nph74$_bb27$15754: do { 
          if (_78) {
            ;
            var _79 = _infoGlobal+12;
            __lastLabel__ = 2888; ;
            _bb25$15756: while(1) { // _bb25
              var _j_373 = __lastLabel__ == 2888 ? 0 : (_91);
              var _scevgep96 = _constraints+4*_j_373;
              var _80 = IHEAP[_scevgep96];
              var _81 = _80;
              var _82 = IHEAP[_81];
              var _83 = _82+24;
              var _84 = IHEAP[_83];
              var _85 = FHEAP[_79];
              var _86 = _80+24;
              var _87 = IHEAP[_86];
              var _88 = _80+20;
              var _89 = IHEAP[_88];
              var _90 = _84;
              FUNCTION_TABLE[_90](_80, _89, _87, _85);
              var _91 = _j_373 + 1;
              var _exitcond95 = _91 == _numConstraints;
              if (_exitcond95) { __lastLabel__ = 540; __label__ = 515; /* _bb27 */ break _bb_nph74$_bb27$15754; } else { __lastLabel__ = 540; __label__ = 540; /* _bb25 */ continue _bb25$15756; }
            }
          }
        } while(0);
        var _92 = IHEAP[_0];
        var _93 = _92 > 0;
        ;
        _bb_nph72$_bb30$15759: do { 
          if (_93) {
            ;
            var _94 = _this+64+12;
            var _95 = _this+4+12;
            __lastLabel__ = 2889; ;
            _bb28$15761: while(1) { // _bb28
              var _j_471 = __lastLabel__ == 2889 ? 0 : (_104);
              var _96 = IHEAP[_94];
              var _scevgep94 = _96+4*_j_471;
              var _97 = IHEAP[_scevgep94];
              var _98 = IHEAP[_95];
              var _99 = _98+136*_97;
              var _100 = _98+136*_97+108;
              var _101 = IHEAP[_100];
              var _102 = _98+136*_97+104;
              var _103 = IHEAP[_102];
              __ZN35btSequentialImpulseConstraintSolver36resolveSingleConstraintRowLowerLimitER11btRigidBodyS1_RK18btSolverConstraint(_this, _103, _101, _99);
              var _104 = _j_471 + 1;
              var _exitcond93 = _104 == _92;
              if (_exitcond93) { __lastLabel__ = 66; __label__ = 90; /* _bb30 */ break _bb_nph72$_bb30$15759; } else { __lastLabel__ = 66; __label__ = 66; /* _bb28 */ continue _bb28$15761; }
            }
          }
        } while(0);
        var _105 = IHEAP[_2];
        var _106 = _105 > 0;
        if (!(_106)) { __label__ = 71; /* _bb57 */ break _bb41_preheader$_bb22_preheader$15725; }
        var _107 = _this+84+12;
        var _108 = _this+44+12;
        var _109 = _this+4+12;
        __lastLabel__ = 2890; ;
        _bb31$15765: while(1) { // _bb31
          var _j_569 = __lastLabel__ == 2890 ? 0 : (_130);
          var _110 = IHEAP[_107];
          var _scevgep92 = _110+4*_j_569;
          var _111 = IHEAP[_scevgep92];
          var _112 = IHEAP[_108];
          var _113 = _112+136*_111+100;
          var _114 = IHEAP[_113];
          var _115 = IHEAP[_109];
          var _116 = _115+136*_114+84;
          var _117 = FHEAP[_116];
          var _118 = _117 > 0;
          ;
          if (_118) {
            ;
            var _119 = _112+136*_111;
            var _120 = _112+136*_111+88;
            var _121 = FHEAP[_120];
            var _122 = _121 * _117;
            var _123 = 0 - _122;
            var _124 = _112+136*_111+124;
            FHEAP[_124] = _123;
            var _125 = _112+136*_111+128;
            FHEAP[_125] = _122;
            var _126 = _112+136*_111+108;
            var _127 = IHEAP[_126];
            var _128 = _112+136*_111+104;
            var _129 = IHEAP[_128];
            __ZN35btSequentialImpulseConstraintSolver33resolveSingleConstraintRowGenericER11btRigidBodyS1_RK18btSolverConstraint(_this, _129, _127, _119);
            ;
          }
          var _130 = _j_569 + 1;
          var _exitcond91 = _130 == _105;
          if (_exitcond91) { __lastLabel__ = 250; __label__ = 71; /* _bb57 */ break _bb41_preheader$_bb22_preheader$15725; } else { __lastLabel__ = 250; __label__ = 89; /* _bb31 */ continue _bb31$15765; }
        }
      }
    } while(0);
    ;
    return 0;
  }
  __ZN35btSequentialImpulseConstraintSolver20solveSingleIterationEiPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver20solveSingleIterationEiPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc, "__ZN35btSequentialImpulseConstraintSolver20solveSingleIterationEiPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc");
  
  
  function __ZN35btSequentialImpulseConstraintSolver29solveGroupCacheFriendlyFinishEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc(_this, _bodies, _numBodies, _unnamed_arg, _unnamed_arg2, _unnamed_arg4, _unnamed_arg6, _infoGlobal, _unnamed_arg8, _unnamed_arg10) {
    var __stackBase__  = STACKTOP; STACKTOP += 408;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+136;
    var _2 = __stackBase__+272;
    var _3 = _this+4+4;
    var _4 = IHEAP[_3];
    var _5 = _4 > 0;
    ;
    _bb_nph103$_bb14$15921: do { 
      if (_5) {
        ;
        var _6 = _this+4+12;
        var _7 = _infoGlobal+60;
        var _8 = _this+44+12;
        __lastLabel__ = 2932; ;
        _bb$15923: while(1) { // _bb
          var _j_0102 = __lastLabel__ == 2932 ? 0 : (_30);
          var _9 = IHEAP[_6];
          var _scevgep121 = _9+136*_j_0102+112;
          var _10 = IHEAP[_scevgep121];
          var _scevgep122 = _9+136*_j_0102+84;
          var _11 = FHEAP[_scevgep122];
          var _12 = _10+112;
          var _13 = _12;
          FHEAP[_13] = _11;
          var _14 = IHEAP[_7];
          var _15 = _14 & 8;
          var _16 = _15 == 0;
          ;
          if (!_16) {
            ;
            var _scevgep123 = _9+136*_j_0102+100;
            var _17 = IHEAP[_scevgep123];
            var _18 = IHEAP[_8];
            var _19 = _18+136*_17+84;
            var _20 = FHEAP[_19];
            var _21 = _10+120;
            var _22 = _21;
            FHEAP[_22] = _20;
            var _23 = IHEAP[_scevgep123];
            var _24 = _23 + 1;
            var _25 = IHEAP[_8];
            var _26 = _25+136*_24+84;
            var _27 = FHEAP[_26];
            var _28 = _10+124;
            var _29 = _28;
            FHEAP[_29] = _27;
            ;
          }
          var _30 = _j_0102 + 1;
          var _exitcond120 = _30 == _4;
          if (_exitcond120) { __lastLabel__ = 3; __label__ = 63; /* _bb14 */ break _bb_nph103$_bb14$15921; } else { __lastLabel__ = 3; __label__ = 60; /* _bb */ continue _bb$15923; }
        }
      }
    } while(0);
    var _31 = _this+24+4;
    var _32 = IHEAP[_31];
    var _33 = _32 > 0;
    ;
    _bb_nph101$_bb17$15929: do { 
      if (_33) {
        ;
        var _34 = _this+24+12;
        __lastLabel__ = 2403; ;
        _bb15$15931: while(1) { // _bb15
          var _j_1100 = __lastLabel__ == 2403 ? 0 : (_42);
          var _35 = IHEAP[_34];
          var _scevgep118 = _35+136*_j_1100+112;
          var _36 = IHEAP[_scevgep118];
          var _37 = _36+28;
          var _38 = _37;
          var _39 = FHEAP[_38];
          var _scevgep119 = _35+136*_j_1100+84;
          var _40 = FHEAP[_scevgep119];
          var _41 = _40 + _39;
          FHEAP[_38] = _41;
          var _42 = _j_1100 + 1;
          var _exitcond117 = _42 == _32;
          if (_exitcond117) { __lastLabel__ = 153; __label__ = 4; /* _bb17 */ break _bb_nph101$_bb17$15929; } else { __lastLabel__ = 153; __label__ = 153; /* _bb15 */ continue _bb15$15931; }
        }
      }
    } while(0);
    var _43 = _infoGlobal+44;
    var _44 = IHEAP[_43];
    var _45 = _44 == 0;
    var _46 = _numBodies > 0;
    ;
    _bb28_preheader$_bb22_preheader$15934: do { 
      if (_45) {
        ;
        if (_46) { __lastLabel__ = 2934; ; } else { __lastLabel__ = 2934; __label__ = 6; /* _bb29 */ break _bb28_preheader$_bb22_preheader$15934; }
        _bb24$15936: while(1) { // _bb24
          var _i_198 = __lastLabel__ == 515 ? _96 : (0);
          var _scevgep116 = _bodies+4*_i_198;
          var _55 = IHEAP[_scevgep116];
          var _56 = _55+232;
          var _57 = IHEAP[_56];
          var __lobit_i89 = _57 & 2;
          var _toBool_i90 = __lobit_i89 == 0;
          var _58 = _55 == 0;
          var _or_cond95 = _toBool_i90 | _58;
          ;
          _bb27$_bb26$15938: do { 
            if (!_or_cond95) {
              ;
              var _59 = _55+256+68+12;
              var _60 = FHEAP[_59];
              var _61 = _60 != 0;
              if (!(_61)) { __label__ = 515; /* _bb27 */ break _bb27$_bb26$15938; }
              var _62 = _55+256+4+48+4;
              var _63 = FHEAP[_62];
              var _64 = _55+512;
              var _65 = _64;
              var _66 = FHEAP[_65];
              var _67 = _63 + _66;
              var _68 = _55+256+4+48;
              var _69 = FHEAP[_68];
              var _70 = _55+256+252;
              var _71 = _70;
              var _72 = FHEAP[_71];
              var _73 = _69 + _72;
              var _74 = _55+256+4+32+12;
              var _75 = FHEAP[_74];
              var _76 = _55+256+248;
              var _77 = FHEAP[_76];
              var _78 = _75 + _77;
              FHEAP[_74] = _78;
              FHEAP[_68] = _73;
              FHEAP[_62] = _67;
              var _79 = _55+256+4+48+8;
              FHEAP[_79] = 0;
              var _80 = _55+256+68+4;
              var _81 = FHEAP[_80];
              var _82 = _55+512+4+12;
              var _83 = FHEAP[_82];
              var _84 = _81 + _83;
              var _85 = _55+256+68;
              var _86 = FHEAP[_85];
              var _87 = _55+512+4+8;
              var _88 = FHEAP[_87];
              var _89 = _86 + _88;
              var _90 = _55+256+4+48+12;
              var _91 = FHEAP[_90];
              var _92 = _55+512+4+4;
              var _93 = FHEAP[_92];
              var _94 = _91 + _93;
              FHEAP[_90] = _94;
              FHEAP[_85] = _89;
              FHEAP[_80] = _84;
              var _95 = _55+256+68+8;
              FHEAP[_95] = 0;
              ;
            }
          } while(0);
          var _96 = _i_198 + 1;
          var _exitcond115 = _96 == _numBodies;
          if (_exitcond115) { __lastLabel__ = 515; __label__ = 6; /* _bb29 */ break _bb28_preheader$_bb22_preheader$15934; } else { __lastLabel__ = 515; __label__ = 65; /* _bb24 */ continue _bb24$15936; }
        }
      }
      else {
        ;
        if (!(_46)) { __label__ = 6; /* _bb29 */ break _bb28_preheader$_bb22_preheader$15934; }
        var _47 = _infoGlobal+12;
        __lastLabel__ = 130; ;
        _bb19$15944: while(1) { // _bb19
          var _i_096 = __lastLabel__ == 130 ? 0 : (_54);
          var _scevgep = _bodies+4*_i_096;
          var _48 = IHEAP[_scevgep];
          var _49 = _48+232;
          var _50 = IHEAP[_49];
          var __lobit_i = _50 & 2;
          var _toBool_i = __lobit_i == 0;
          var _51 = _48 == 0;
          var _or_cond = _toBool_i | _51;
          ;
          if (!_or_cond) {
            ;
            var _52 = _48;
            var _53 = FHEAP[_47];
            __ZN11btRigidBody25internalWritebackVelocityEf(_52, _53);
            ;
          }
          var _54 = _i_096 + 1;
          var _exitcond = _54 == _numBodies;
          if (_exitcond) { __lastLabel__ = 110; __label__ = 6; /* _bb29 */ break _bb28_preheader$_bb22_preheader$15934; } else { __lastLabel__ = 110; __label__ = 64; /* _bb19 */ continue _bb19$15944; }
        }
      }
    } while(0);
    var _97 = IHEAP[_3];
    var _98 = _97 > 0;
    var __not = _98 ^ true;
    var _99 = _97 < 0;
    var _or_cond125 = __not & _99;
    ;
    _bb4_i61$__ZN20btAlignedObjectArrayI18btSolverConstraintE6resizeEiRKS0__exit88$15950: do { 
      if (_or_cond125) {
        ;
        var _100 = _this+4+8;
        var _101 = IHEAP[_100];
        var _102 = _101 < 0;
        ;
        if (_102) {
          ;
          var _103 = _this+4+12;
          var _104 = IHEAP[_103];
          var _105 = _104 == 0;
          ;
          if (!_105) {
            ;
            var _106 = _this+4+16;
            var _107 = IHEAP[_106];
            var _toBool_i_i_i74 = _107 == 0;
            ;
            if (!_toBool_i_i_i74) {
              ;
              var _108 = _104;
              __Z21btAlignedFreeInternalPv(_108);
              ;
            }
            IHEAP[_103] = 0;
            ;
          }
          var _109 = _this+4+16;
          IHEAP[_109] = 1;
          IHEAP[_103] = 0;
          IHEAP[_100] = 0;
          ;
        }
        var _110 = _this+4+12;
        var _111 = _2;
        var _tmp_i79 = 0 - _97;
        __lastLabel__ = 2941; ;
        _bb7_i87$15961: while(1) { // _bb7_i87
          var _indvar_i81 = __lastLabel__ == 2941 ? 0 : (_indvar_next_i85);
          var _tmp = _97 + _indvar_i81;
          var _112 = IHEAP[_110];
          var _scevgep105 = _112+136*_tmp;
          var _scevgep15_i84 = _scevgep105;
          _llvm_memcpy_p0i8_p0i8_i32(_scevgep15_i84, _111, 136, 4, false);
          var _indvar_next_i85 = _indvar_i81 + 1;
          var _exitcond104 = _indvar_next_i85 == _tmp_i79;
          if (_exitcond104) { __lastLabel__ = 2942; __label__ = 2943; /* __ZN20btAlignedObjectArrayI18btSolverConstraintE6resizeEiRKS0__exit88 */ break _bb4_i61$__ZN20btAlignedObjectArrayI18btSolverConstraintE6resizeEiRKS0__exit88$15950; } else { __lastLabel__ = 2942; __label__ = 2942; /* _bb7_i87 */ continue _bb7_i87$15961; }
        }
      }
    } while(0);
    IHEAP[_3] = 0;
    var _113 = IHEAP[_31];
    var _114 = _113 > 0;
    var __not126 = _114 ^ true;
    var _115 = _113 < 0;
    var _or_cond127 = __not126 & _115;
    ;
    _bb4_i32$__ZN20btAlignedObjectArrayI18btSolverConstraintE6resizeEiRKS0__exit59$15964: do { 
      if (_or_cond127) {
        ;
        var _116 = _this+24+8;
        var _117 = IHEAP[_116];
        var _118 = _117 < 0;
        ;
        if (_118) {
          ;
          var _119 = _this+24+12;
          var _120 = IHEAP[_119];
          var _121 = _120 == 0;
          ;
          if (!_121) {
            ;
            var _122 = _this+24+16;
            var _123 = IHEAP[_122];
            var _toBool_i_i_i45 = _123 == 0;
            ;
            if (!_toBool_i_i_i45) {
              ;
              var _124 = _120;
              __Z21btAlignedFreeInternalPv(_124);
              ;
            }
            IHEAP[_119] = 0;
            ;
          }
          var _125 = _this+24+16;
          IHEAP[_125] = 1;
          IHEAP[_119] = 0;
          IHEAP[_116] = 0;
          ;
        }
        var _126 = _this+24+12;
        var _127 = _1;
        var _tmp_i50 = 0 - _113;
        __lastLabel__ = 2947; ;
        _bb7_i58$15975: while(1) { // _bb7_i58
          var _indvar_i52 = __lastLabel__ == 2947 ? 0 : (_indvar_next_i56);
          var _tmp108 = _113 + _indvar_i52;
          var _128 = IHEAP[_126];
          var _scevgep109 = _128+136*_tmp108;
          var _scevgep15_i55 = _scevgep109;
          _llvm_memcpy_p0i8_p0i8_i32(_scevgep15_i55, _127, 136, 4, false);
          var _indvar_next_i56 = _indvar_i52 + 1;
          var _exitcond107 = _indvar_next_i56 == _tmp_i50;
          if (_exitcond107) { __lastLabel__ = 2948; __label__ = 2949; /* __ZN20btAlignedObjectArrayI18btSolverConstraintE6resizeEiRKS0__exit59 */ break _bb4_i32$__ZN20btAlignedObjectArrayI18btSolverConstraintE6resizeEiRKS0__exit59$15964; } else { __lastLabel__ = 2948; __label__ = 2948; /* _bb7_i58 */ continue _bb7_i58$15975; }
        }
      }
    } while(0);
    IHEAP[_31] = 0;
    var _129 = _this+44+4;
    var _130 = IHEAP[_129];
    var _131 = _130 > 0;
    var __not128 = _131 ^ true;
    var _132 = _130 < 0;
    var _or_cond129 = __not128 & _132;
    ;
    _bb4_i$__ZN20btAlignedObjectArrayI18btSolverConstraintE6resizeEiRKS0__exit$15978: do { 
      if (_or_cond129) {
        ;
        var _133 = _this+44+8;
        var _134 = IHEAP[_133];
        var _135 = _134 < 0;
        ;
        if (_135) {
          ;
          var _136 = _this+44+12;
          var _137 = IHEAP[_136];
          var _138 = _137 == 0;
          ;
          if (!_138) {
            ;
            var _139 = _this+44+16;
            var _140 = IHEAP[_139];
            var _toBool_i_i_i = _140 == 0;
            ;
            if (!_toBool_i_i_i) {
              ;
              var _141 = _137;
              __Z21btAlignedFreeInternalPv(_141);
              ;
            }
            IHEAP[_136] = 0;
            ;
          }
          var _142 = _this+44+16;
          IHEAP[_142] = 1;
          IHEAP[_136] = 0;
          IHEAP[_133] = 0;
          ;
        }
        var _143 = _this+44+12;
        var _144 = _0;
        var _tmp_i = 0 - _130;
        __lastLabel__ = 418; ;
        _bb7_i$15989: while(1) { // _bb7_i
          var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
          var _tmp112 = _130 + _indvar_i;
          var _145 = IHEAP[_143];
          var _scevgep113 = _145+136*_tmp112;
          var _scevgep15_i = _scevgep113;
          _llvm_memcpy_p0i8_p0i8_i32(_scevgep15_i, _144, 136, 4, false);
          var _indvar_next_i = _indvar_i + 1;
          var _exitcond111 = _indvar_next_i == _tmp_i;
          if (_exitcond111) { __lastLabel__ = 137; __label__ = 2953; /* __ZN20btAlignedObjectArrayI18btSolverConstraintE6resizeEiRKS0__exit */ break _bb4_i$__ZN20btAlignedObjectArrayI18btSolverConstraintE6resizeEiRKS0__exit$15978; } else { __lastLabel__ = 137; __label__ = 137; /* _bb7_i */ continue _bb7_i$15989; }
        }
      }
    } while(0);
    IHEAP[_129] = 0;
    STACKTOP = __stackBase__;
    return 0;
  }
  __ZN35btSequentialImpulseConstraintSolver29solveGroupCacheFriendlyFinishEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver29solveGroupCacheFriendlyFinishEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc, "__ZN35btSequentialImpulseConstraintSolver29solveGroupCacheFriendlyFinishEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc");
  
  
  function __ZN35btSequentialImpulseConstraintSolverC2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV35btSequentialImpulseConstraintSolver+8;
    var _1 = _this+4+16;
    IHEAP[_1] = 1;
    var _2 = _this+4+12;
    IHEAP[_2] = 0;
    var _3 = _this+4+4;
    IHEAP[_3] = 0;
    var _4 = _this+4+8;
    IHEAP[_4] = 0;
    var _5 = _this+24+16;
    IHEAP[_5] = 1;
    var _6 = _this+24+12;
    IHEAP[_6] = 0;
    var _7 = _this+24+4;
    IHEAP[_7] = 0;
    var _8 = _this+24+8;
    IHEAP[_8] = 0;
    var _9 = _this+44+16;
    IHEAP[_9] = 1;
    var _10 = _this+44+12;
    IHEAP[_10] = 0;
    var _11 = _this+44+4;
    IHEAP[_11] = 0;
    var _12 = _this+44+8;
    IHEAP[_12] = 0;
    var _13 = _this+64+16;
    IHEAP[_13] = 1;
    var _14 = _this+64+12;
    IHEAP[_14] = 0;
    var _15 = _this+64+4;
    IHEAP[_15] = 0;
    var _16 = _this+64+8;
    IHEAP[_16] = 0;
    var _17 = _this+84+16;
    IHEAP[_17] = 1;
    var _18 = _this+84+12;
    IHEAP[_18] = 0;
    var _19 = _this+84+4;
    IHEAP[_19] = 0;
    var _20 = _this+84+8;
    IHEAP[_20] = 0;
    var _21 = _this+104+16;
    IHEAP[_21] = 1;
    var _22 = _this+104+12;
    IHEAP[_22] = 0;
    var _23 = _this+104+4;
    IHEAP[_23] = 0;
    var _24 = _this+104+8;
    IHEAP[_24] = 0;
    var _25 = _this+124;
    IHEAP[_25] = 0;
    ;
    return;
  }
  __ZN35btSequentialImpulseConstraintSolverC2Ev.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolverC2Ev, "__ZN35btSequentialImpulseConstraintSolverC2Ev");
  
  
  function __ZN35btSequentialImpulseConstraintSolverC1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV35btSequentialImpulseConstraintSolver+8;
    var _1 = _this+4+16;
    IHEAP[_1] = 1;
    var _2 = _this+4+12;
    IHEAP[_2] = 0;
    var _3 = _this+4+4;
    IHEAP[_3] = 0;
    var _4 = _this+4+8;
    IHEAP[_4] = 0;
    var _5 = _this+24+16;
    IHEAP[_5] = 1;
    var _6 = _this+24+12;
    IHEAP[_6] = 0;
    var _7 = _this+24+4;
    IHEAP[_7] = 0;
    var _8 = _this+24+8;
    IHEAP[_8] = 0;
    var _9 = _this+44+16;
    IHEAP[_9] = 1;
    var _10 = _this+44+12;
    IHEAP[_10] = 0;
    var _11 = _this+44+4;
    IHEAP[_11] = 0;
    var _12 = _this+44+8;
    IHEAP[_12] = 0;
    var _13 = _this+64+16;
    IHEAP[_13] = 1;
    var _14 = _this+64+12;
    IHEAP[_14] = 0;
    var _15 = _this+64+4;
    IHEAP[_15] = 0;
    var _16 = _this+64+8;
    IHEAP[_16] = 0;
    var _17 = _this+84+16;
    IHEAP[_17] = 1;
    var _18 = _this+84+12;
    IHEAP[_18] = 0;
    var _19 = _this+84+4;
    IHEAP[_19] = 0;
    var _20 = _this+84+8;
    IHEAP[_20] = 0;
    var _21 = _this+104+16;
    IHEAP[_21] = 1;
    var _22 = _this+104+12;
    IHEAP[_22] = 0;
    var _23 = _this+104+4;
    IHEAP[_23] = 0;
    var _24 = _this+104+8;
    IHEAP[_24] = 0;
    var _25 = _this+124;
    IHEAP[_25] = 0;
    ;
    return;
  }
  __ZN35btSequentialImpulseConstraintSolverC1Ev.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolverC1Ev, "__ZN35btSequentialImpulseConstraintSolverC1Ev");
  
  
  function __ZN18btSliderConstraint10initParamsEv(_this) {
    ;
    var __label__;
    var _0 = _this+172;
    FHEAP[_0] = 1;
    var _1 = _this+176;
    FHEAP[_1] = -1;
    var _2 = _this+180;
    FHEAP[_2] = 0;
    var _3 = _this+184;
    FHEAP[_3] = 0;
    var _4 = _this+188;
    FHEAP[_4] = 1;
    var _5 = _this+192;
    FHEAP[_5] = 0.699999988079071;
    var _6 = _this+196;
    FHEAP[_6] = 0;
    var _7 = _this+200;
    FHEAP[_7] = 0;
    var _8 = _this+204;
    FHEAP[_8] = 1;
    var _9 = _this+208;
    FHEAP[_9] = 0.699999988079071;
    var _10 = _this+212;
    FHEAP[_10] = 0;
    var _11 = _this+216;
    FHEAP[_11] = 0;
    var _12 = _this+252;
    FHEAP[_12] = 1;
    var _13 = _this+256;
    FHEAP[_13] = 0.699999988079071;
    var _14 = _this+260;
    FHEAP[_14] = 1;
    var _15 = _this+264;
    FHEAP[_15] = 0;
    var _16 = _this+268;
    FHEAP[_16] = 1;
    var _17 = _this+272;
    FHEAP[_17] = 0.699999988079071;
    var _18 = _this+276;
    FHEAP[_18] = 1;
    var _19 = _this+280;
    FHEAP[_19] = 0;
    var _20 = _this+220;
    FHEAP[_20] = 1;
    var _21 = _this+224;
    FHEAP[_21] = 0.699999988079071;
    var _22 = _this+228;
    FHEAP[_22] = 1;
    var _23 = _this+232;
    FHEAP[_23] = 0;
    var _24 = _this+236;
    FHEAP[_24] = 1;
    var _25 = _this+240;
    FHEAP[_25] = 0.699999988079071;
    var _26 = _this+244;
    FHEAP[_26] = 1;
    var _27 = _this+248;
    FHEAP[_27] = 0;
    var _28 = _this+1084;
    IHEAP[_28] = 0;
    var _29 = _this+1088;
    FHEAP[_29] = 0;
    var _30 = _this+1092;
    FHEAP[_30] = 0;
    var _31 = _this+1096;
    FHEAP[_31] = 0;
    var _32 = _this+1100;
    IHEAP[_32] = 0;
    var _33 = _this+1104;
    FHEAP[_33] = 0;
    var _34 = _this+1108;
    FHEAP[_34] = 0;
    var _35 = _this+1112;
    FHEAP[_35] = 0;
    var _36 = _this+288;
    IHEAP[_36] = 0;
    var _37 = _this+37;
    IHEAP[_37] = 1;
    var _38 = _this+24;
    var _39 = IHEAP[_38];
    var _40 = _39+4;
    var _41 = _this+20;
    var _42 = IHEAP[_41];
    var _43 = _42+4;
    __ZN18btSliderConstraint19calculateTransformsERK11btTransformS2_(_this, _43, _40);
    ;
    return;
  }
  __ZN18btSliderConstraint10initParamsEv.__index__ = Runtime.getFunctionIndex(__ZN18btSliderConstraint10initParamsEv, "__ZN18btSliderConstraint10initParamsEv");
  
  
  function __ZN18btSliderConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E(_this, _info) {
    ;
    var __label__;
    var _0 = _info;
    IHEAP[_0] = 6;
    var _1 = _info+4;
    IHEAP[_1] = 0;
    ;
    return;
  }
  __ZN18btSliderConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E.__index__ = Runtime.getFunctionIndex(__ZN18btSliderConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E, "__ZN18btSliderConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E");
  
  
  function __ZN18btSliderConstraint19calculateTransformsERK11btTransformS2_(_this, _transA, _transB) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+168;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    ;
    _bb$_bb5$16298: do { 
      if (_toBool) {
        ;
        var _2 = _this+36;
        var _3 = IHEAP[_2];
        var _toBool1not = _3 == 0;
        if (_toBool1not) { __label__ = 82; /* _bb5 */ break _bb$_bb5$16298; }
        var _258 = _transB+32;
        var _259 = FHEAP[_258];
        var _260 = _this+104+48;
        var _261 = FHEAP[_260];
        var _262 = _259 * _261;
        var _263 = _transB+32+4;
        var _264 = FHEAP[_263];
        var _265 = _this+104+48+4;
        var _266 = FHEAP[_265];
        var _267 = _264 * _266;
        var _268 = _262 + _267;
        var _269 = _transB+32+8;
        var _270 = FHEAP[_269];
        var _271 = _this+104+48+8;
        var _272 = FHEAP[_271];
        var _273 = _270 * _272;
        var _274 = _268 + _273;
        var _275 = _transB+48+8;
        var _276 = FHEAP[_275];
        var _277 = _274 + _276;
        var _278 = _transB+16;
        var _279 = FHEAP[_278];
        var _280 = _279 * _261;
        var _281 = _transB+16+4;
        var _282 = FHEAP[_281];
        var _283 = _282 * _266;
        var _284 = _280 + _283;
        var _285 = _transB+16+8;
        var _286 = FHEAP[_285];
        var _287 = _286 * _272;
        var _288 = _284 + _287;
        var _289 = _transB+48+4;
        var _290 = FHEAP[_289];
        var _291 = _288 + _290;
        var _292 = _transB;
        var _293 = FHEAP[_292];
        var _294 = _293 * _261;
        var _295 = _transB+4;
        var _296 = FHEAP[_295];
        var _297 = _296 * _266;
        var _298 = _294 + _297;
        var _299 = _transB+8;
        var _300 = FHEAP[_299];
        var _301 = _300 * _272;
        var _302 = _298 + _301;
        var _303 = _transB+48;
        var _304 = FHEAP[_303];
        var _305 = _302 + _304;
        var _306 = _this+104+8;
        var _307 = FHEAP[_306];
        var _308 = _307 * _259;
        var _309 = _this+104+16+8;
        var _310 = FHEAP[_309];
        var _311 = _310 * _264;
        var _312 = _308 + _311;
        var _313 = _this+104+32+8;
        var _314 = FHEAP[_313];
        var _315 = _314 * _270;
        var _316 = _312 + _315;
        var _317 = _this+104+4;
        var _318 = FHEAP[_317];
        var _319 = _318 * _259;
        var _320 = _this+104+16+4;
        var _321 = FHEAP[_320];
        var _322 = _321 * _264;
        var _323 = _319 + _322;
        var _324 = _this+104+32+4;
        var _325 = FHEAP[_324];
        var _326 = _325 * _270;
        var _327 = _323 + _326;
        var _328 = _this+104;
        var _329 = FHEAP[_328];
        var _330 = _329 * _259;
        var _331 = _this+104+16;
        var _332 = FHEAP[_331];
        var _333 = _332 * _264;
        var _334 = _330 + _333;
        var _335 = _this+104+32;
        var _336 = FHEAP[_335];
        var _337 = _336 * _270;
        var _338 = _334 + _337;
        var _339 = _307 * _279;
        var _340 = _310 * _282;
        var _341 = _339 + _340;
        var _342 = _314 * _286;
        var _343 = _341 + _342;
        var _344 = _318 * _279;
        var _345 = _321 * _282;
        var _346 = _344 + _345;
        var _347 = _325 * _286;
        var _348 = _346 + _347;
        var _349 = _329 * _279;
        var _350 = _332 * _282;
        var _351 = _349 + _350;
        var _352 = _336 * _286;
        var _353 = _351 + _352;
        var _354 = _307 * _293;
        var _355 = _310 * _296;
        var _356 = _354 + _355;
        var _357 = _314 * _300;
        var _358 = _356 + _357;
        var _359 = _318 * _293;
        var _360 = _321 * _296;
        var _361 = _359 + _360;
        var _362 = _325 * _300;
        var _363 = _361 + _362;
        var _364 = _329 * _293;
        var _365 = _332 * _296;
        var _366 = _364 + _365;
        var _367 = _336 * _300;
        var _368 = _366 + _367;
        var _369 = _this+812;
        FHEAP[_369] = _368;
        var _370 = _this+812+4;
        FHEAP[_370] = _363;
        var _371 = _this+812+8;
        FHEAP[_371] = _358;
        var _372 = _this+812+12;
        FHEAP[_372] = 0;
        var _373 = _this+812+16;
        FHEAP[_373] = _353;
        var _374 = _this+812+16+4;
        FHEAP[_374] = _348;
        var _375 = _this+812+16+8;
        FHEAP[_375] = _343;
        var _376 = _this+812+16+12;
        FHEAP[_376] = 0;
        var _377 = _this+812+32;
        FHEAP[_377] = _338;
        var _378 = _this+812+32+4;
        FHEAP[_378] = _327;
        var _379 = _this+812+32+8;
        FHEAP[_379] = _316;
        var _380 = _this+812+32+12;
        FHEAP[_380] = 0;
        var _381 = _this+812+48;
        FHEAP[_381] = _305;
        var _382 = _this+812+48+4;
        FHEAP[_382] = _291;
        var _383 = _this+812+48+8;
        FHEAP[_383] = _277;
        var _384 = _this+812+48+12;
        FHEAP[_384] = 0;
        var _385 = _transA+32;
        var _386 = FHEAP[_385];
        var _387 = _this+40+48;
        var _388 = FHEAP[_387];
        var _389 = _386 * _388;
        var _390 = _transA+32+4;
        var _391 = FHEAP[_390];
        var _392 = _this+40+48+4;
        var _393 = FHEAP[_392];
        var _394 = _391 * _393;
        var _395 = _389 + _394;
        var _396 = _transA+32+8;
        var _397 = FHEAP[_396];
        var _398 = _this+40+48+8;
        var _399 = FHEAP[_398];
        var _400 = _397 * _399;
        var _401 = _395 + _400;
        var _402 = _transA+48+8;
        var _403 = FHEAP[_402];
        var _404 = _401 + _403;
        var _405 = _transA+16;
        var _406 = FHEAP[_405];
        var _407 = _406 * _388;
        var _408 = _transA+16+4;
        var _409 = FHEAP[_408];
        var _410 = _409 * _393;
        var _411 = _407 + _410;
        var _412 = _transA+16+8;
        var _413 = FHEAP[_412];
        var _414 = _413 * _399;
        var _415 = _411 + _414;
        var _416 = _transA+48+4;
        var _417 = FHEAP[_416];
        var _418 = _415 + _417;
        var _419 = _transA;
        var _420 = FHEAP[_419];
        var _421 = _420 * _388;
        var _422 = _transA+4;
        var _423 = FHEAP[_422];
        var _424 = _423 * _393;
        var _425 = _421 + _424;
        var _426 = _transA+8;
        var _427 = FHEAP[_426];
        var _428 = _427 * _399;
        var _429 = _425 + _428;
        var _430 = _transA+48;
        var _431 = FHEAP[_430];
        var _432 = _429 + _431;
        var _433 = _this+40+8;
        var _434 = FHEAP[_433];
        var _435 = _434 * _386;
        var _436 = _this+40+16+8;
        var _437 = FHEAP[_436];
        var _438 = _437 * _391;
        var _439 = _435 + _438;
        var _440 = _this+40+32+8;
        var _441 = FHEAP[_440];
        var _442 = _441 * _397;
        var _443 = _439 + _442;
        var _444 = _this+40+4;
        var _445 = FHEAP[_444];
        var _446 = _445 * _386;
        var _447 = _this+40+16+4;
        var _448 = FHEAP[_447];
        var _449 = _448 * _391;
        var _450 = _446 + _449;
        var _451 = _this+40+32+4;
        var _452 = FHEAP[_451];
        var _453 = _452 * _397;
        var _454 = _450 + _453;
        var _455 = _this+40;
        var _456 = FHEAP[_455];
        var _457 = _456 * _386;
        var _458 = _this+40+16;
        var _459 = FHEAP[_458];
        var _460 = _459 * _391;
        var _461 = _457 + _460;
        var _462 = _this+40+32;
        var _463 = FHEAP[_462];
        var _464 = _463 * _397;
        var _465 = _461 + _464;
        var _466 = _434 * _406;
        var _467 = _437 * _409;
        var _468 = _466 + _467;
        var _469 = _441 * _413;
        var _470 = _468 + _469;
        var _471 = _445 * _406;
        var _472 = _448 * _409;
        var _473 = _471 + _472;
        var _474 = _452 * _413;
        var _475 = _473 + _474;
        var _476 = _456 * _406;
        var _477 = _459 * _409;
        var _478 = _476 + _477;
        var _479 = _463 * _413;
        var _480 = _478 + _479;
        var _481 = _434 * _420;
        var _482 = _437 * _423;
        var _483 = _481 + _482;
        var _484 = _441 * _427;
        var _485 = _483 + _484;
        var _486 = _445 * _420;
        var _487 = _448 * _423;
        var _488 = _486 + _487;
        var _489 = _452 * _427;
        var _490 = _488 + _489;
        var _491 = _456 * _420;
        var _492 = _459 * _423;
        var _493 = _491 + _492;
        var _494 = _463 * _427;
        var _495 = _493 + _494;
        var _496 = _this+876;
        FHEAP[_496] = _495;
        var _497 = _this+876+4;
        FHEAP[_497] = _490;
        var _498 = _this+876+8;
        FHEAP[_498] = _485;
        var _499 = _this+876+12;
        FHEAP[_499] = 0;
        var _500 = _this+876+16;
        FHEAP[_500] = _480;
        var _501 = _this+876+16+4;
        FHEAP[_501] = _475;
        var _502 = _this+876+16+8;
        FHEAP[_502] = _470;
        var _503 = _this+876+16+12;
        FHEAP[_503] = 0;
        var _504 = _this+876+32;
        FHEAP[_504] = _465;
        var _505 = _this+876+32+4;
        FHEAP[_505] = _454;
        var _506 = _this+876+32+8;
        FHEAP[_506] = _443;
        var _507 = _this+876+32+12;
        FHEAP[_507] = 0;
        var _508 = _this+876+48;
        FHEAP[_508] = _432;
        var _509 = _this+876+48+4;
        FHEAP[_509] = _418;
        var _510 = _this+876+48+8;
        FHEAP[_510] = _404;
        var _511 = _this+876+48+12;
        FHEAP[_511] = 0;
        __lastLabel__ = 83; __label__ = 2; /* _bb7 */ break _bb$_bb5$16298;
      }
      else {
        __label__ = 82; /* _bb5 */ 
      }
    } while(0);
    if (__label__ == 82) {
      var _4 = _transA+32;
      var _5 = FHEAP[_4];
      var _6 = _this+40+48;
      var _7 = FHEAP[_6];
      var _8 = _5 * _7;
      var _9 = _transA+32+4;
      var _10 = FHEAP[_9];
      var _11 = _this+40+48+4;
      var _12 = FHEAP[_11];
      var _13 = _10 * _12;
      var _14 = _8 + _13;
      var _15 = _transA+32+8;
      var _16 = FHEAP[_15];
      var _17 = _this+40+48+8;
      var _18 = FHEAP[_17];
      var _19 = _16 * _18;
      var _20 = _14 + _19;
      var _21 = _transA+48+8;
      var _22 = FHEAP[_21];
      var _23 = _20 + _22;
      var _24 = _transA+16;
      var _25 = FHEAP[_24];
      var _26 = _25 * _7;
      var _27 = _transA+16+4;
      var _28 = FHEAP[_27];
      var _29 = _28 * _12;
      var _30 = _26 + _29;
      var _31 = _transA+16+8;
      var _32 = FHEAP[_31];
      var _33 = _32 * _18;
      var _34 = _30 + _33;
      var _35 = _transA+48+4;
      var _36 = FHEAP[_35];
      var _37 = _34 + _36;
      var _38 = _transA;
      var _39 = FHEAP[_38];
      var _40 = _39 * _7;
      var _41 = _transA+4;
      var _42 = FHEAP[_41];
      var _43 = _42 * _12;
      var _44 = _40 + _43;
      var _45 = _transA+8;
      var _46 = FHEAP[_45];
      var _47 = _46 * _18;
      var _48 = _44 + _47;
      var _49 = _transA+48;
      var _50 = FHEAP[_49];
      var _51 = _48 + _50;
      var _52 = _this+40+8;
      var _53 = FHEAP[_52];
      var _54 = _53 * _5;
      var _55 = _this+40+16+8;
      var _56 = FHEAP[_55];
      var _57 = _56 * _10;
      var _58 = _54 + _57;
      var _59 = _this+40+32+8;
      var _60 = FHEAP[_59];
      var _61 = _60 * _16;
      var _62 = _58 + _61;
      var _63 = _this+40+4;
      var _64 = FHEAP[_63];
      var _65 = _64 * _5;
      var _66 = _this+40+16+4;
      var _67 = FHEAP[_66];
      var _68 = _67 * _10;
      var _69 = _65 + _68;
      var _70 = _this+40+32+4;
      var _71 = FHEAP[_70];
      var _72 = _71 * _16;
      var _73 = _69 + _72;
      var _74 = _this+40;
      var _75 = FHEAP[_74];
      var _76 = _75 * _5;
      var _77 = _this+40+16;
      var _78 = FHEAP[_77];
      var _79 = _78 * _10;
      var _80 = _76 + _79;
      var _81 = _this+40+32;
      var _82 = FHEAP[_81];
      var _83 = _82 * _16;
      var _84 = _80 + _83;
      var _85 = _53 * _25;
      var _86 = _56 * _28;
      var _87 = _85 + _86;
      var _88 = _60 * _32;
      var _89 = _87 + _88;
      var _90 = _64 * _25;
      var _91 = _67 * _28;
      var _92 = _90 + _91;
      var _93 = _71 * _32;
      var _94 = _92 + _93;
      var _95 = _75 * _25;
      var _96 = _78 * _28;
      var _97 = _95 + _96;
      var _98 = _82 * _32;
      var _99 = _97 + _98;
      var _100 = _53 * _39;
      var _101 = _56 * _42;
      var _102 = _100 + _101;
      var _103 = _60 * _46;
      var _104 = _102 + _103;
      var _105 = _64 * _39;
      var _106 = _67 * _42;
      var _107 = _105 + _106;
      var _108 = _71 * _46;
      var _109 = _107 + _108;
      var _110 = _75 * _39;
      var _111 = _78 * _42;
      var _112 = _110 + _111;
      var _113 = _82 * _46;
      var _114 = _112 + _113;
      var _115 = _this+812;
      FHEAP[_115] = _114;
      var _116 = _this+812+4;
      FHEAP[_116] = _109;
      var _117 = _this+812+8;
      FHEAP[_117] = _104;
      var _118 = _this+812+12;
      FHEAP[_118] = 0;
      var _119 = _this+812+16;
      FHEAP[_119] = _99;
      var _120 = _this+812+16+4;
      FHEAP[_120] = _94;
      var _121 = _this+812+16+8;
      FHEAP[_121] = _89;
      var _122 = _this+812+16+12;
      FHEAP[_122] = 0;
      var _123 = _this+812+32;
      FHEAP[_123] = _84;
      var _124 = _this+812+32+4;
      FHEAP[_124] = _73;
      var _125 = _this+812+32+8;
      FHEAP[_125] = _62;
      var _126 = _this+812+32+12;
      FHEAP[_126] = 0;
      var _127 = _this+812+48;
      FHEAP[_127] = _51;
      var _128 = _this+812+48+4;
      FHEAP[_128] = _37;
      var _129 = _this+812+48+8;
      FHEAP[_129] = _23;
      var _130 = _this+812+48+12;
      FHEAP[_130] = 0;
      var _131 = _transB+32;
      var _132 = FHEAP[_131];
      var _133 = _this+104+48;
      var _134 = FHEAP[_133];
      var _135 = _132 * _134;
      var _136 = _transB+32+4;
      var _137 = FHEAP[_136];
      var _138 = _this+104+48+4;
      var _139 = FHEAP[_138];
      var _140 = _137 * _139;
      var _141 = _135 + _140;
      var _142 = _transB+32+8;
      var _143 = FHEAP[_142];
      var _144 = _this+104+48+8;
      var _145 = FHEAP[_144];
      var _146 = _143 * _145;
      var _147 = _141 + _146;
      var _148 = _transB+48+8;
      var _149 = FHEAP[_148];
      var _150 = _147 + _149;
      var _151 = _transB+16;
      var _152 = FHEAP[_151];
      var _153 = _152 * _134;
      var _154 = _transB+16+4;
      var _155 = FHEAP[_154];
      var _156 = _155 * _139;
      var _157 = _153 + _156;
      var _158 = _transB+16+8;
      var _159 = FHEAP[_158];
      var _160 = _159 * _145;
      var _161 = _157 + _160;
      var _162 = _transB+48+4;
      var _163 = FHEAP[_162];
      var _164 = _161 + _163;
      var _165 = _transB;
      var _166 = FHEAP[_165];
      var _167 = _166 * _134;
      var _168 = _transB+4;
      var _169 = FHEAP[_168];
      var _170 = _169 * _139;
      var _171 = _167 + _170;
      var _172 = _transB+8;
      var _173 = FHEAP[_172];
      var _174 = _173 * _145;
      var _175 = _171 + _174;
      var _176 = _transB+48;
      var _177 = FHEAP[_176];
      var _178 = _175 + _177;
      var _179 = _this+104+8;
      var _180 = FHEAP[_179];
      var _181 = _180 * _132;
      var _182 = _this+104+16+8;
      var _183 = FHEAP[_182];
      var _184 = _183 * _137;
      var _185 = _181 + _184;
      var _186 = _this+104+32+8;
      var _187 = FHEAP[_186];
      var _188 = _187 * _143;
      var _189 = _185 + _188;
      var _190 = _this+104+4;
      var _191 = FHEAP[_190];
      var _192 = _191 * _132;
      var _193 = _this+104+16+4;
      var _194 = FHEAP[_193];
      var _195 = _194 * _137;
      var _196 = _192 + _195;
      var _197 = _this+104+32+4;
      var _198 = FHEAP[_197];
      var _199 = _198 * _143;
      var _200 = _196 + _199;
      var _201 = _this+104;
      var _202 = FHEAP[_201];
      var _203 = _202 * _132;
      var _204 = _this+104+16;
      var _205 = FHEAP[_204];
      var _206 = _205 * _137;
      var _207 = _203 + _206;
      var _208 = _this+104+32;
      var _209 = FHEAP[_208];
      var _210 = _209 * _143;
      var _211 = _207 + _210;
      var _212 = _180 * _152;
      var _213 = _183 * _155;
      var _214 = _212 + _213;
      var _215 = _187 * _159;
      var _216 = _214 + _215;
      var _217 = _191 * _152;
      var _218 = _194 * _155;
      var _219 = _217 + _218;
      var _220 = _198 * _159;
      var _221 = _219 + _220;
      var _222 = _202 * _152;
      var _223 = _205 * _155;
      var _224 = _222 + _223;
      var _225 = _209 * _159;
      var _226 = _224 + _225;
      var _227 = _180 * _166;
      var _228 = _183 * _169;
      var _229 = _227 + _228;
      var _230 = _187 * _173;
      var _231 = _229 + _230;
      var _232 = _191 * _166;
      var _233 = _194 * _169;
      var _234 = _232 + _233;
      var _235 = _198 * _173;
      var _236 = _234 + _235;
      var _237 = _202 * _166;
      var _238 = _205 * _169;
      var _239 = _237 + _238;
      var _240 = _209 * _173;
      var _241 = _239 + _240;
      var _242 = _this+876;
      FHEAP[_242] = _241;
      var _243 = _this+876+4;
      FHEAP[_243] = _236;
      var _244 = _this+876+8;
      FHEAP[_244] = _231;
      var _245 = _this+876+12;
      FHEAP[_245] = 0;
      var _246 = _this+876+16;
      FHEAP[_246] = _226;
      var _247 = _this+876+16+4;
      FHEAP[_247] = _221;
      var _248 = _this+876+16+8;
      FHEAP[_248] = _216;
      var _249 = _this+876+16+12;
      FHEAP[_249] = 0;
      var _250 = _this+876+32;
      FHEAP[_250] = _211;
      var _251 = _this+876+32+4;
      FHEAP[_251] = _200;
      var _252 = _this+876+32+8;
      FHEAP[_252] = _189;
      var _253 = _this+876+32+12;
      FHEAP[_253] = 0;
      var _254 = _this+876+48;
      FHEAP[_254] = _178;
      var _255 = _this+876+48+4;
      FHEAP[_255] = _164;
      var _256 = _this+876+48+8;
      FHEAP[_256] = _150;
      var _257 = _this+876+48+12;
      FHEAP[_257] = 0;
      __lastLabel__ = 82; ;
    }
    var _512 = __lastLabel__ == 83 ? _316 : (_62);
    var _513 = __lastLabel__ == 83 ? _343 : (_89);
    var _514 = __lastLabel__ == 83 ? _358 : (_104);
    var _515 = __lastLabel__ == 83 ? _327 : (_73);
    var _516 = __lastLabel__ == 83 ? _348 : (_94);
    var _517 = __lastLabel__ == 83 ? _363 : (_109);
    var _518 = __lastLabel__ == 83 ? _338 : (_84);
    var _519 = __lastLabel__ == 83 ? _353 : (_99);
    var _520 = __lastLabel__ == 83 ? _368 : (_114);
    var _521 = __lastLabel__ == 83 ? _404 : (_150);
    var _522 = __lastLabel__ == 83 ? _418 : (_164);
    var _523 = __lastLabel__ == 83 ? _432 : (_178);
    var _524 = __lastLabel__ == 83 ? _277 : (_23);
    var _525 = __lastLabel__ == 83 ? _291 : (_37);
    var _526 = __lastLabel__ == 83 ? _305 : (_51);
    var _527 = _this+956;
    FHEAP[_527] = _526;
    var _528 = _this+956+4;
    FHEAP[_528] = _525;
    var _529 = _this+956+8;
    FHEAP[_529] = _524;
    var _530 = _this+956+12;
    FHEAP[_530] = 0;
    var _531 = _this+972;
    FHEAP[_531] = _523;
    var _532 = _this+972+4;
    FHEAP[_532] = _522;
    var _533 = _this+972+8;
    FHEAP[_533] = _521;
    var _534 = _this+972+12;
    FHEAP[_534] = 0;
    var _535 = _this+940;
    FHEAP[_535] = _520;
    var _536 = _this+940+4;
    FHEAP[_536] = _519;
    var _537 = _this+940+8;
    FHEAP[_537] = _518;
    var _538 = _this+940+12;
    FHEAP[_538] = 0;
    ;
    _bb9$_bb11$16304: do { 
      if (_toBool) {
        ;
        var _539 = _this+36;
        var _540 = IHEAP[_539];
        var _toBool10 = _540 == 0;
        if (!(_toBool10)) { __label__ = 292; /* _bb11 */ break _bb9$_bb11$16304; }
        var _548 = _524 - _521;
        var _549 = _525 - _522;
        var _550 = _526 - _523;
        var _551 = _this+1004;
        FHEAP[_551] = _550;
        var _552 = _this+1004+4;
        FHEAP[_552] = _549;
        var _553 = _this+1004+8;
        FHEAP[_553] = _548;
        var _554 = _this+1004+12;
        FHEAP[_554] = 0;
        __lastLabel__ = 108; __label__ = 44; /* _return */ break _bb9$_bb11$16304;
      }
      else {
        __label__ = 292; /* _bb11 */ 
      }
    } while(0);
    if (__label__ == 292) {
      var _541 = _521 - _524;
      var _542 = _522 - _525;
      var _543 = _523 - _526;
      var _544 = _this+1004;
      FHEAP[_544] = _543;
      var _545 = _this+1004+4;
      FHEAP[_545] = _542;
      var _546 = _this+1004+8;
      FHEAP[_546] = _541;
      var _547 = _this+1004+12;
      FHEAP[_547] = 0;
      __lastLabel__ = 292; ;
    }
    var _555 = __lastLabel__ == 108 ? _548 : (_541);
    var _556 = __lastLabel__ == 108 ? _549 : (_542);
    var _557 = __lastLabel__ == 108 ? _550 : (_543);
    var _558 = _520 * _557;
    var _559 = _519 * _556;
    var _560 = _558 + _559;
    var _561 = _518 * _555;
    var _562 = _560 + _561;
    var _563 = _518 * _562;
    var _564 = _519 * _562;
    var _565 = _520 * _562;
    var _566 = _524 + _563;
    var _567 = _525 + _564;
    var _568 = _526 + _565;
    var _569 = _this+988;
    FHEAP[_569] = _568;
    var _570 = _this+988+4;
    FHEAP[_570] = _567;
    var _571 = _this+988+8;
    FHEAP[_571] = _566;
    var _572 = _this+988+12;
    FHEAP[_572] = 0;
    var _scevgep102 = _this+1020;
    var _573 = _557 * _520;
    var _574 = _556 * _519;
    var _575 = _573 + _574;
    var _576 = _555 * _518;
    var _577 = _575 + _576;
    FHEAP[_scevgep102] = _577;
    var _scevgep102_1 = _this+1020+4;
    var _578 = _557 * _517;
    var _579 = _556 * _516;
    var _580 = _578 + _579;
    var _581 = _555 * _515;
    var _582 = _580 + _581;
    FHEAP[_scevgep102_1] = _582;
    var _scevgep102_2 = _this+1020+8;
    var _583 = _557 * _514;
    var _584 = _556 * _513;
    var _585 = _583 + _584;
    var _586 = _555 * _512;
    var _587 = _585 + _586;
    FHEAP[_scevgep102_2] = _587;
    ;
    return;
  }
  __ZN18btSliderConstraint19calculateTransformsERK11btTransformS2_.__index__ = Runtime.getFunctionIndex(__ZN18btSliderConstraint19calculateTransformsERK11btTransformS2_, "__ZN18btSliderConstraint19calculateTransformsERK11btTransformS2_");
  
  
  function __ZN18btSliderConstraint13testLinLimitsEv(_this) {
    ;
    var __label__;
    var _0 = _this+284;
    IHEAP[_0] = 0;
    var _1 = _this+1020;
    var _2 = FHEAP[_1];
    var _3 = _this+1068;
    FHEAP[_3] = _2;
    var _4 = _this+172;
    var _5 = FHEAP[_4];
    var _6 = _this+176;
    var _7 = FHEAP[_6];
    var _8 = _5 > _7;
    ;
    if (_8) {
      ;
      FHEAP[_1] = 0;
      ;
      return;
    }
    else {
      ;
      var _9 = _2 > _7;
      ;
      if (_9) {
        ;
        var _10 = _2 - _7;
        FHEAP[_1] = _10;
        IHEAP[_0] = 1;
        ;
        return;
      }
      else {
        ;
        var _11 = _2 < _5;
        ;
        if (_11) {
          ;
          var _12 = _2 - _5;
          FHEAP[_1] = _12;
          IHEAP[_0] = 1;
          ;
          return;
        }
        else {
          ;
          FHEAP[_1] = 0;
          ;
          return;
        }
      }
    }
  }
  __ZN18btSliderConstraint13testLinLimitsEv.__index__ = Runtime.getFunctionIndex(__ZN18btSliderConstraint13testLinLimitsEv, "__ZN18btSliderConstraint13testLinLimitsEv");
  
  
  function __ZN18btSliderConstraint11getAncorInAEv(_agg_result, _this) {
    ;
    var __label__;
    var _0 = _this+172;
    var _1 = FHEAP[_0];
    var _2 = _this+176;
    var _3 = FHEAP[_2];
    var _4 = _1 + _3;
    var _5 = _4 * 0.5;
    var _6 = _this+940+8;
    var _7 = FHEAP[_6];
    var _8 = _7 * _5;
    var _9 = _this+940+4;
    var _10 = FHEAP[_9];
    var _11 = _10 * _5;
    var _12 = _this+940;
    var _13 = FHEAP[_12];
    var _14 = _13 * _5;
    var _15 = _this+956+8;
    var _16 = FHEAP[_15];
    var _17 = _16 + _8;
    var _18 = _this+956+4;
    var _19 = FHEAP[_18];
    var _20 = _19 + _11;
    var _21 = _this+956;
    var _22 = FHEAP[_21];
    var _23 = _22 + _14;
    var _24 = _agg_result;
    var _25 = _agg_result+4;
    var _26 = _agg_result+8;
    var _27 = _agg_result+12;
    var _28 = _this+20;
    var _29 = IHEAP[_28];
    var _30 = _29+4+32+8;
    var _31 = _29+4+16+8;
    var _32 = _29+4+8;
    var _33 = _29+4+32+4;
    var _34 = _29+4+16+4;
    var _35 = _29+4+4;
    var _36 = _29+4+32;
    var _37 = _29+4+16;
    var _38 = _29+4;
    var _39 = FHEAP[_38];
    var _40 = FHEAP[_37];
    var _41 = FHEAP[_36];
    var _42 = FHEAP[_35];
    var _43 = FHEAP[_34];
    var _44 = FHEAP[_33];
    var _45 = FHEAP[_32];
    var _46 = FHEAP[_31];
    var _47 = FHEAP[_30];
    var _48 = _29+4+48+8;
    var _49 = FHEAP[_48];
    var _50 = 0 - _49;
    var _51 = _29+4+48+4;
    var _52 = FHEAP[_51];
    var _53 = 0 - _52;
    var _54 = _29+4+48;
    var _55 = FHEAP[_54];
    var _56 = 0 - _55;
    var _57 = _45 * _56;
    var _58 = _46 * _53;
    var _59 = _57 + _58;
    var _60 = _47 * _50;
    var _61 = _59 + _60;
    var _62 = _42 * _56;
    var _63 = _43 * _53;
    var _64 = _62 + _63;
    var _65 = _44 * _50;
    var _66 = _64 + _65;
    var _67 = _39 * _56;
    var _68 = _40 * _53;
    var _69 = _67 + _68;
    var _70 = _41 * _50;
    var _71 = _69 + _70;
    var _72 = _45 * _23;
    var _73 = _46 * _20;
    var _74 = _72 + _73;
    var _75 = _47 * _17;
    var _76 = _74 + _75;
    var _77 = _76 + _61;
    var _78 = _42 * _23;
    var _79 = _43 * _20;
    var _80 = _78 + _79;
    var _81 = _44 * _17;
    var _82 = _80 + _81;
    var _83 = _82 + _66;
    var _84 = _39 * _23;
    var _85 = _40 * _20;
    var _86 = _84 + _85;
    var _87 = _41 * _17;
    var _88 = _86 + _87;
    var _89 = _88 + _71;
    FHEAP[_24] = _89;
    FHEAP[_25] = _83;
    FHEAP[_26] = _77;
    FHEAP[_27] = 0;
    ;
    return;
  }
  __ZN18btSliderConstraint11getAncorInAEv.__index__ = Runtime.getFunctionIndex(__ZN18btSliderConstraint11getAncorInAEv, "__ZN18btSliderConstraint11getAncorInAEv");
  
  
  function __ZN18btSliderConstraint11getAncorInBEv(_agg_result, _this) {
    ;
    var __label__;
    var _0 = _agg_result;
    var _1 = _this+104+48;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _agg_result+4;
    var _4 = _this+104+48+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _agg_result+8;
    var _7 = _this+104+48+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _agg_result+12;
    var _10 = _this+104+48+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    ;
    return;
  }
  __ZN18btSliderConstraint11getAncorInBEv.__index__ = Runtime.getFunctionIndex(__ZN18btSliderConstraint11getAncorInBEv, "__ZN18btSliderConstraint11getAncorInBEv");
  
  
  function __ZN18btSliderConstraint8setParamEifi(_this, _num, _value, _axis) {
    ;
    var __label__;
    if (_num == 2) {
      __label__ = 60; /* _bb */ 
    }
    else if (_num == 3) {
      __label__ = 148; /* _bb8 */ 
    }
    else if (_num == 4) {
      __label__ = 3; /* _bb12 */ 
    }
    else {
    __label__ = 44; /* _return */ 
    }
    
    _return$_bb$_bb8$_bb12$16323: do { 
      if (__label__ == 60) {
        var _0 = _axis < 1;
        ;
        if (_0) {
          ;
          var _1 = _this+220;
          FHEAP[_1] = _value;
          var _2 = _this+288;
          var _3 = IHEAP[_2];
          var _4 = _3 | 512;
          IHEAP[_2] = _4;
          ;
          return;
        }
        else {
          ;
          var _5 = _axis < 3;
          ;
          if (_5) {
            ;
            var _6 = _this+252;
            FHEAP[_6] = _value;
            var _7 = _this+288;
            var _8 = IHEAP[_7];
            var _9 = _8 | 32;
            IHEAP[_7] = _9;
            ;
            return;
          }
          else {
            ;
            var _10 = _axis == 3;
            ;
            if (_10) {
              ;
              var _11 = _this+236;
              FHEAP[_11] = _value;
              var _12 = _this+288;
              var _13 = IHEAP[_12];
              var _14 = _13 | 2048;
              IHEAP[_12] = _14;
              ;
              return;
            }
            else {
              ;
              var _15 = _axis < 6;
              if (!(_15)) { __label__ = 44; /* _return */ break _return$_bb$_bb8$_bb12$16323; }
              var _16 = _this+268;
              FHEAP[_16] = _value;
              var _17 = _this+288;
              var _18 = IHEAP[_17];
              var _19 = _18 | 128;
              IHEAP[_17] = _19;
              ;
              return;
            }
          }
        }
      }
      else if (__label__ == 148) {
        var _20 = _axis < 1;
        ;
        if (_20) {
          ;
          var _21 = _this+200;
          FHEAP[_21] = _value;
          var _22 = _this+288;
          var _23 = IHEAP[_22];
          var _24 = _23 | 1;
          IHEAP[_22] = _24;
          ;
          return;
        }
        else {
          ;
          var _25 = _axis == 3;
          if (!(_25)) { __label__ = 44; /* _return */ break _return$_bb$_bb8$_bb12$16323; }
          var _26 = _this+216;
          FHEAP[_26] = _value;
          var _27 = _this+288;
          var _28 = IHEAP[_27];
          var _29 = _28 | 4;
          IHEAP[_27] = _29;
          ;
          return;
        }
      }
      else if (__label__ == 3) {
        var _30 = _axis < 1;
        ;
        if (_30) {
          ;
          var _31 = _this+232;
          FHEAP[_31] = _value;
          var _32 = _this+288;
          var _33 = IHEAP[_32];
          var _34 = _33 | 256;
          IHEAP[_32] = _34;
          ;
          return;
        }
        else {
          ;
          var _35 = _axis < 3;
          ;
          if (_35) {
            ;
            var _36 = _this+264;
            FHEAP[_36] = _value;
            var _37 = _this+288;
            var _38 = IHEAP[_37];
            var _39 = _38 | 16;
            IHEAP[_37] = _39;
            ;
            return;
          }
          else {
            ;
            var _40 = _axis == 3;
            ;
            if (_40) {
              ;
              var _41 = _this+248;
              FHEAP[_41] = _value;
              var _42 = _this+288;
              var _43 = IHEAP[_42];
              var _44 = _43 | 1024;
              IHEAP[_42] = _44;
              ;
              return;
            }
            else {
              ;
              var _45 = _axis < 6;
              if (!(_45)) { __label__ = 44; /* _return */ break _return$_bb$_bb8$_bb12$16323; }
              var _46 = _this+280;
              FHEAP[_46] = _value;
              var _47 = _this+288;
              var _48 = IHEAP[_47];
              var _49 = _48 | 64;
              IHEAP[_47] = _49;
              ;
              return;
            }
          }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN18btSliderConstraint8setParamEifi.__index__ = Runtime.getFunctionIndex(__ZN18btSliderConstraint8setParamEifi, "__ZN18btSliderConstraint8setParamEifi");
  
  
  function __ZNK18btSliderConstraint8getParamEii(_this, _num, _axis) {
    ;
    var __label__;
    if (_num == 2) {
      __label__ = 60; /* _bb */ 
    }
    else if (_num == 3) {
      __label__ = 148; /* _bb8 */ 
    }
    else if (_num == 4) {
      __label__ = 3; /* _bb12 */ 
    }
    else {
    __label__ = 117; /* _bb20 */ 
    }
    
    _bb20$_bb$_bb8$_bb12$16353: do { 
      if (__label__ == 60) {
        var _0 = _axis < 1;
        ;
        if (_0) {
          ;
          var _1 = _this+220;
          var _2 = FHEAP[_1];
          ;
          return _2;
        }
        else {
          ;
          var _3 = _axis < 3;
          ;
          if (_3) {
            ;
            var _4 = _this+252;
            var _5 = FHEAP[_4];
            ;
            return _5;
          }
          else {
            ;
            var _6 = _axis == 3;
            ;
            if (_6) {
              ;
              var _7 = _this+236;
              var _8 = FHEAP[_7];
              ;
              return _8;
            }
            else {
              ;
              var _9 = _axis < 6;
              if (!(_9)) { __label__ = 117; /* _bb20 */ break _bb20$_bb$_bb8$_bb12$16353; }
              var _10 = _this+268;
              var _11 = FHEAP[_10];
              ;
              return _11;
            }
          }
        }
      }
      else if (__label__ == 148) {
        var _12 = _axis < 1;
        ;
        if (_12) {
          ;
          var _13 = _this+200;
          var _14 = FHEAP[_13];
          ;
          return _14;
        }
        else {
          ;
          var _15 = _axis == 3;
          if (!(_15)) { __label__ = 117; /* _bb20 */ break _bb20$_bb$_bb8$_bb12$16353; }
          var _16 = _this+216;
          var _17 = FHEAP[_16];
          ;
          return _17;
        }
      }
      else if (__label__ == 3) {
        var _18 = _axis < 1;
        ;
        if (_18) {
          ;
          var _19 = _this+232;
          var _20 = FHEAP[_19];
          ;
          return _20;
        }
        else {
          ;
          var _21 = _axis < 3;
          ;
          if (_21) {
            ;
            var _22 = _this+264;
            var _23 = FHEAP[_22];
            ;
            return _23;
          }
          else {
            ;
            var _24 = _axis == 3;
            ;
            if (_24) {
              ;
              var _25 = _this+248;
              var _26 = FHEAP[_25];
              ;
              return _26;
            }
            else {
              ;
              var _27 = _axis < 6;
              if (!(_27)) { __label__ = 117; /* _bb20 */ break _bb20$_bb$_bb8$_bb12$16353; }
              var _28 = _this+280;
              var _29 = FHEAP[_28];
              ;
              return _29;
            }
          }
        }
      }
    } while(0);
    ;
    return 3.4028234663852886e+38;
  }
  __ZNK18btSliderConstraint8getParamEii.__index__ = Runtime.getFunctionIndex(__ZNK18btSliderConstraint8getParamEii, "__ZNK18btSliderConstraint8getParamEii");
  
  
  function __ZN18btSliderConstraintD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btSliderConstraint+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN18btSliderConstraintD0Ev.__index__ = Runtime.getFunctionIndex(__ZN18btSliderConstraintD0Ev, "__ZN18btSliderConstraintD0Ev");
  
  
  function __ZN18btSliderConstraintD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btSliderConstraint+8;
    ;
    return;
  }
  __ZN18btSliderConstraintD1Ev.__index__ = Runtime.getFunctionIndex(__ZN18btSliderConstraintD1Ev, "__ZN18btSliderConstraintD1Ev");
  
  
  function __ZN18btSliderConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E(_this, _info) {
    ;
    var __label__;
    var _0 = _this+36;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    var _2 = _info;
    ;
    if (_toBool) {
      ;
      IHEAP[_2] = 4;
      var _4 = _info+4;
      IHEAP[_4] = 2;
      var _5 = _this+24;
      var _6 = IHEAP[_5];
      var _7 = _6+4;
      var _8 = _this+20;
      var _9 = IHEAP[_8];
      var _10 = _9+4;
      __ZN18btSliderConstraint19calculateTransformsERK11btTransformS2_(_this, _10, _7);
      __ZN18btSliderConstraint13testAngLimitsEv(_this);
      var _11 = _this+284;
      IHEAP[_11] = 0;
      var _12 = _this+1020;
      var _13 = FHEAP[_12];
      var _14 = _this+1068;
      FHEAP[_14] = _13;
      var _15 = _this+172;
      var _16 = FHEAP[_15];
      var _17 = _this+176;
      var _18 = FHEAP[_17];
      var _19 = _16 > _18;
      ;
      _bb6_i$_bb_i$16388: do { 
        if (_19) {
          ;
          FHEAP[_12] = 0;
          __label__ = 116; /* _bb3 */ break _bb6_i$_bb_i$16388;
        }
        else {
          ;
          var _20 = _13 > _18;
          ;
          if (_20) {
            ;
            var _21 = _13 - _18;
            FHEAP[_12] = _21;
            IHEAP[_11] = 1;
            __label__ = 62; /* _bb9 */ break _bb6_i$_bb_i$16388;
          }
          else {
            ;
            var _22 = _13 < _16;
            ;
            if (_22) {
              ;
              var _23 = _13 - _16;
              FHEAP[_12] = _23;
              IHEAP[_11] = 1;
              __label__ = 62; /* _bb9 */ break _bb6_i$_bb_i$16388;
            }
            else {
              ;
              FHEAP[_12] = 0;
              __label__ = 116; /* _bb3 */ break _bb6_i$_bb_i$16388;
            }
          }
        }
      } while(0);
      _bb3$_bb9$16397: do { 
        if (__label__ == 116) {
          var _24 = _this+1084;
          var _25 = IHEAP[_24];
          var _toBool4 = _25 == 0;
          if (_toBool4) { __label__ = 150; /* _bb10 */ break _bb3$_bb9$16397; } else { __label__ = 62; /* _bb9 */ break _bb3$_bb9$16397; }
        }
      } while(0);
      if (__label__ == 62) {
        var _26 = IHEAP[_2];
        var _27 = _26 + 1;
        IHEAP[_2] = _27;
        var _28 = IHEAP[_4];
        var _29 = _28 + -1;
        IHEAP[_4] = _29;
        ;
      }
      var _30 = _this+285;
      var _31 = IHEAP[_30];
      var _toBool11 = _31 == 0;
      ;
      _bb12$_bb18$16402: do { 
        if (_toBool11) {
          ;
          var _32 = _this+1100;
          var _33 = IHEAP[_32];
          var _toBool13 = _33 == 0;
          if (!(_toBool13)) { __label__ = 86; /* _bb18 */ break _bb12$_bb18$16402; }
          ;
          return;
        }
      } while(0);
      var _34 = IHEAP[_2];
      var _35 = _34 + 1;
      IHEAP[_2] = _35;
      var _36 = IHEAP[_4];
      var _37 = _36 + -1;
      IHEAP[_4] = _37;
      ;
      return;
    }
    else {
      ;
      IHEAP[_2] = 0;
      var _3 = _info+4;
      IHEAP[_3] = 0;
      ;
      return;
    }
  }
  __ZN18btSliderConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E.__index__ = Runtime.getFunctionIndex(__ZN18btSliderConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E, "__ZN18btSliderConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E");
  
  
  function __ZN18btSliderConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E(_this, _info) {
    ;
    var __label__;
    var _0 = _this+24;
    var _1 = IHEAP[_0];
    var _2 = _1+336;
    var _3 = FHEAP[_2];
    var _4 = _this+20;
    var _5 = IHEAP[_4];
    var _6 = _5+336;
    var _7 = FHEAP[_6];
    var _8 = _1+304;
    var _9 = _5+304;
    var _10 = _1+4;
    var _11 = _5+4;
    __ZN18btSliderConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_ff(_this, _info, _11, _10, _9, _8, _7, _3);
    ;
    return;
  }
  __ZN18btSliderConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E.__index__ = Runtime.getFunctionIndex(__ZN18btSliderConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E, "__ZN18btSliderConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E");
  
  
  function __ZN18btSliderConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b(_this, _rbA, _rbB, _frameInA, _frameInB, _useLinearReferenceFrameA) {
    ;
    var __label__;
    var _0 = _this;
    __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBodyS2_(_0, 7, _rbA, _rbB);
    var _1 = _this;
    IHEAP[_1] = __ZTV18btSliderConstraint+8;
    var _2 = _this+36;
    IHEAP[_2] = 0;
    var _3 = _this+40;
    var _4 = _frameInA;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+40+4;
    var _7 = _frameInA+4;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+40+8;
    var _10 = _frameInA+8;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _this+40+12;
    var _13 = _frameInA+12;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _this+40+16;
    var _16 = _frameInA+16;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _this+40+16+4;
    var _19 = _frameInA+16+4;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _this+40+16+8;
    var _22 = _frameInA+16+8;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    var _24 = _this+40+16+12;
    var _25 = _frameInA+16+12;
    var _26 = FHEAP[_25];
    FHEAP[_24] = _26;
    var _27 = _this+40+32;
    var _28 = _frameInA+32;
    var _29 = FHEAP[_28];
    FHEAP[_27] = _29;
    var _30 = _this+40+32+4;
    var _31 = _frameInA+32+4;
    var _32 = FHEAP[_31];
    FHEAP[_30] = _32;
    var _33 = _this+40+32+8;
    var _34 = _frameInA+32+8;
    var _35 = FHEAP[_34];
    FHEAP[_33] = _35;
    var _36 = _this+40+32+12;
    var _37 = _frameInA+32+12;
    var _38 = FHEAP[_37];
    FHEAP[_36] = _38;
    var _39 = _this+40+48;
    var _40 = _frameInA+48;
    var _41 = FHEAP[_40];
    FHEAP[_39] = _41;
    var _42 = _this+40+48+4;
    var _43 = _frameInA+48+4;
    var _44 = FHEAP[_43];
    FHEAP[_42] = _44;
    var _45 = _this+40+48+8;
    var _46 = _frameInA+48+8;
    var _47 = FHEAP[_46];
    FHEAP[_45] = _47;
    var _48 = _this+40+48+12;
    var _49 = _frameInA+48+12;
    var _50 = FHEAP[_49];
    FHEAP[_48] = _50;
    var _51 = _this+104;
    var _52 = _frameInB;
    var _53 = FHEAP[_52];
    FHEAP[_51] = _53;
    var _54 = _this+104+4;
    var _55 = _frameInB+4;
    var _56 = FHEAP[_55];
    FHEAP[_54] = _56;
    var _57 = _this+104+8;
    var _58 = _frameInB+8;
    var _59 = FHEAP[_58];
    FHEAP[_57] = _59;
    var _60 = _this+104+12;
    var _61 = _frameInB+12;
    var _62 = FHEAP[_61];
    FHEAP[_60] = _62;
    var _63 = _this+104+16;
    var _64 = _frameInB+16;
    var _65 = FHEAP[_64];
    FHEAP[_63] = _65;
    var _66 = _this+104+16+4;
    var _67 = _frameInB+16+4;
    var _68 = FHEAP[_67];
    FHEAP[_66] = _68;
    var _69 = _this+104+16+8;
    var _70 = _frameInB+16+8;
    var _71 = FHEAP[_70];
    FHEAP[_69] = _71;
    var _72 = _this+104+16+12;
    var _73 = _frameInB+16+12;
    var _74 = FHEAP[_73];
    FHEAP[_72] = _74;
    var _75 = _this+104+32;
    var _76 = _frameInB+32;
    var _77 = FHEAP[_76];
    FHEAP[_75] = _77;
    var _78 = _this+104+32+4;
    var _79 = _frameInB+32+4;
    var _80 = FHEAP[_79];
    FHEAP[_78] = _80;
    var _81 = _this+104+32+8;
    var _82 = _frameInB+32+8;
    var _83 = FHEAP[_82];
    FHEAP[_81] = _83;
    var _84 = _this+104+32+12;
    var _85 = _frameInB+32+12;
    var _86 = FHEAP[_85];
    FHEAP[_84] = _86;
    var _87 = _this+104+48;
    var _88 = _frameInB+48;
    var _89 = FHEAP[_88];
    FHEAP[_87] = _89;
    var _90 = _this+104+48+4;
    var _91 = _frameInB+48+4;
    var _92 = FHEAP[_91];
    FHEAP[_90] = _92;
    var _93 = _this+104+48+8;
    var _94 = _frameInB+48+8;
    var _95 = FHEAP[_94];
    FHEAP[_93] = _95;
    var _96 = _this+104+48+12;
    var _97 = _frameInB+48+12;
    var _98 = FHEAP[_97];
    FHEAP[_96] = _98;
    var _99 = _this+168;
    IHEAP[_99] = _useLinearReferenceFrameA;
    var _100 = _this+172;
    FHEAP[_100] = 1;
    var _101 = _this+176;
    FHEAP[_101] = -1;
    var _102 = _this+180;
    FHEAP[_102] = 0;
    var _103 = _this+184;
    FHEAP[_103] = 0;
    var _104 = _this+188;
    FHEAP[_104] = 1;
    var _105 = _this+192;
    FHEAP[_105] = 0.699999988079071;
    var _106 = _this+196;
    FHEAP[_106] = 0;
    var _107 = _this+200;
    FHEAP[_107] = 0;
    var _108 = _this+204;
    FHEAP[_108] = 1;
    var _109 = _this+208;
    FHEAP[_109] = 0.699999988079071;
    var _110 = _this+212;
    FHEAP[_110] = 0;
    var _111 = _this+216;
    FHEAP[_111] = 0;
    var _112 = _this+252;
    FHEAP[_112] = 1;
    var _113 = _this+256;
    FHEAP[_113] = 0.699999988079071;
    var _114 = _this+260;
    FHEAP[_114] = 1;
    var _115 = _this+264;
    FHEAP[_115] = 0;
    var _116 = _this+268;
    FHEAP[_116] = 1;
    var _117 = _this+272;
    FHEAP[_117] = 0.699999988079071;
    var _118 = _this+276;
    FHEAP[_118] = 1;
    var _119 = _this+280;
    FHEAP[_119] = 0;
    var _120 = _this+220;
    FHEAP[_120] = 1;
    var _121 = _this+224;
    FHEAP[_121] = 0.699999988079071;
    var _122 = _this+228;
    FHEAP[_122] = 1;
    var _123 = _this+232;
    FHEAP[_123] = 0;
    var _124 = _this+236;
    FHEAP[_124] = 1;
    var _125 = _this+240;
    FHEAP[_125] = 0.699999988079071;
    var _126 = _this+244;
    FHEAP[_126] = 1;
    var _127 = _this+248;
    FHEAP[_127] = 0;
    var _128 = _this+1084;
    IHEAP[_128] = 0;
    var _129 = _this+1088;
    FHEAP[_129] = 0;
    var _130 = _this+1092;
    FHEAP[_130] = 0;
    var _131 = _this+1096;
    FHEAP[_131] = 0;
    var _132 = _this+1100;
    IHEAP[_132] = 0;
    var _133 = _this+1104;
    FHEAP[_133] = 0;
    var _134 = _this+1108;
    FHEAP[_134] = 0;
    var _135 = _this+1112;
    FHEAP[_135] = 0;
    var _136 = _this+288;
    IHEAP[_136] = 0;
    var _137 = _this+37;
    IHEAP[_137] = 1;
    var _138 = _this+24;
    var _139 = IHEAP[_138];
    var _140 = _139+4;
    var _141 = _this+20;
    var _142 = IHEAP[_141];
    var _143 = _142+4;
    __ZN18btSliderConstraint19calculateTransformsERK11btTransformS2_(_this, _143, _140);
    ;
    return;
  }
  __ZN18btSliderConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b.__index__ = Runtime.getFunctionIndex(__ZN18btSliderConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b, "__ZN18btSliderConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b");
  
  
  function __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBodyS2_(_this, _type, _rbA, _rbB) {
    ;
    var __label__;
    var _0 = _this+4;
    IHEAP[_0] = _type;
    var _1 = _this;
    IHEAP[_1] = __ZTV17btTypedConstraint+8;
    var _2 = _this+8;
    IHEAP[_2] = -1;
    var _3 = _this+12;
    IHEAP[_3] = -1;
    var _4 = _this+16;
    IHEAP[_4] = 0;
    var _5 = _this+20;
    IHEAP[_5] = _rbA;
    var _6 = _this+24;
    IHEAP[_6] = _rbB;
    var _7 = _this+28;
    FHEAP[_7] = 0;
    var _8 = _this+32;
    FHEAP[_8] = 0.30000001192092896;
    ;
    return;
  }
  __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBodyS2_.__index__ = Runtime.getFunctionIndex(__ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBodyS2_, "__ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBodyS2_");
  
  
  function __ZN17btTypedConstraintC1E21btTypedConstraintTypeR11btRigidBodyS2_(_this, _type, _rbA, _rbB) {
    ;
    var __label__;
    var _0 = _this+4;
    IHEAP[_0] = _type;
    var _1 = _this;
    IHEAP[_1] = __ZTV17btTypedConstraint+8;
    var _2 = _this+8;
    IHEAP[_2] = -1;
    var _3 = _this+12;
    IHEAP[_3] = -1;
    var _4 = _this+16;
    IHEAP[_4] = 0;
    var _5 = _this+20;
    IHEAP[_5] = _rbA;
    var _6 = _this+24;
    IHEAP[_6] = _rbB;
    var _7 = _this+28;
    FHEAP[_7] = 0;
    var _8 = _this+32;
    FHEAP[_8] = 0.30000001192092896;
    ;
    return;
  }
  __ZN17btTypedConstraintC1E21btTypedConstraintTypeR11btRigidBodyS2_.__index__ = Runtime.getFunctionIndex(__ZN17btTypedConstraintC1E21btTypedConstraintTypeR11btRigidBodyS2_, "__ZN17btTypedConstraintC1E21btTypedConstraintTypeR11btRigidBodyS2_");
  
  
  function __ZN21btUniversalConstraintD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btGeneric6DofConstraint+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN21btUniversalConstraintD0Ev.__index__ = Runtime.getFunctionIndex(__ZN21btUniversalConstraintD0Ev, "__ZN21btUniversalConstraintD0Ev");
  
  
  function __ZN21btUniversalConstraintD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btGeneric6DofConstraint+8;
    ;
    return;
  }
  __ZN21btUniversalConstraintD1Ev.__index__ = Runtime.getFunctionIndex(__ZN21btUniversalConstraintD1Ev, "__ZN21btUniversalConstraintD1Ev");
  
  
  function __ZN25btContinuousDynamicsWorldC2EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration(_this, _dispatcher, _pairCache, _constraintSolver, _collisionConfiguration) {
    ;
    var __label__;
    var _0 = _this;
    __ZN23btDiscreteDynamicsWorldC2EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration(_0, _dispatcher, _pairCache, _constraintSolver, _collisionConfiguration);
    var _1 = _this;
    IHEAP[_1] = __ZTV25btContinuousDynamicsWorld+8;
    ;
    return;
  }
  __ZN25btContinuousDynamicsWorldC2EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration.__index__ = Runtime.getFunctionIndex(__ZN25btContinuousDynamicsWorldC2EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration, "__ZN25btContinuousDynamicsWorldC2EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration");
  
  
  function __ZN25btContinuousDynamicsWorld19updateTemporalAabbsEf(_this, _timeStep) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _temporalAabbMin = __stackBase__;
    var _temporalAabbMax = __stackBase__+16;
    var _0 = _this+4+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_bb16$16633: do { 
      if (_2) {
        ;
        var _3 = _this+4+12;
        var _4 = _temporalAabbMax;
        var _5 = _temporalAabbMax+4;
        var _6 = _temporalAabbMax+8;
        var _7 = _temporalAabbMin;
        var _8 = _temporalAabbMin+4;
        var _9 = _temporalAabbMin+8;
        var _10 = _temporalAabbMin+12;
        var _11 = _temporalAabbMax+12;
        var _12 = _this+80;
        var _13 = _this+24;
        __lastLabel__ = 130; ;
        _bb$16635: while(1) { // _bb
          var _i_031 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _i_031 + 1;
          var _14 = IHEAP[_3];
          var _scevgep = _14+4*_i_031;
          var _15 = IHEAP[_scevgep];
          var _16 = _15+232;
          var _17 = IHEAP[_16];
          var __lobit_i = _17 & 2;
          var _toBool_i = __lobit_i == 0;
          var _18 = _15 == 0;
          var _or_cond = _toBool_i | _18;
          ;
          if (!_or_cond) {
            ;
            var _19 = _15+192;
            var _20 = IHEAP[_19];
            var _21 = _20;
            var _22 = IHEAP[_21];
            var _23 = _22+8;
            var _24 = IHEAP[_23];
            var _25 = _15+4;
            var _26 = _24;
            FUNCTION_TABLE[_26](_20, _25, _temporalAabbMin, _temporalAabbMax);
            var _27 = FHEAP[_4];
            var _28 = FHEAP[_5];
            var _29 = FHEAP[_6];
            var _30 = FHEAP[_7];
            var _31 = FHEAP[_8];
            var _32 = FHEAP[_9];
            var _33 = _15+256+4+48+4;
            var _34 = FHEAP[_33];
            var _35 = _34 * _timeStep;
            var _36 = _15+256+4+48;
            var _37 = FHEAP[_36];
            var _38 = _37 * _timeStep;
            var _39 = _15+256+4+32+12;
            var _40 = FHEAP[_39];
            var _41 = _40 * _timeStep;
            var _42 = _41 > 0;
            ;
            if (_42) {
              ;
              var _43 = _41 + _27;
              __lastLabel__ = 0; ;
            }
            else {
              ;
              var _44 = _41 + _30;
              __lastLabel__ = 116; ;
            }
            var _temporalAabbMinx_0 = __lastLabel__ == 0 ? _30 : (_44);
            var _temporalAabbMaxx_0 = __lastLabel__ == 0 ? _43 : (_27);
            var _45 = _38 > 0;
            ;
            if (_45) {
              ;
              var _46 = _38 + _28;
              __lastLabel__ = 83; ;
            }
            else {
              ;
              var _47 = _38 + _31;
              __lastLabel__ = 2; ;
            }
            var _temporalAabbMiny_0 = __lastLabel__ == 83 ? _31 : (_47);
            var _temporalAabbMaxy_0 = __lastLabel__ == 83 ? _46 : (_28);
            var _48 = _35 > 0;
            ;
            if (_48) {
              ;
              var _49 = _35 + _29;
              __lastLabel__ = 150; ;
            }
            else {
              ;
              var _50 = _35 + _32;
              __lastLabel__ = 292; ;
            }
            var _temporalAabbMaxz_0 = __lastLabel__ == 150 ? _49 : (_29);
            var _temporalAabbMinz_0 = __lastLabel__ == 150 ? _32 : (_50);
            FHEAP[_7] = _temporalAabbMinx_0;
            FHEAP[_8] = _temporalAabbMiny_0;
            FHEAP[_9] = _temporalAabbMinz_0;
            FHEAP[_10] = 0;
            FHEAP[_11] = 0;
            var _51 = _temporalAabbMaxx_0 + 0;
            FHEAP[_4] = _51;
            var _52 = _temporalAabbMaxy_0 + 0;
            FHEAP[_5] = _52;
            var _53 = _temporalAabbMaxz_0 + 0;
            FHEAP[_6] = _53;
            var _54 = IHEAP[_12];
            var _55 = _54;
            var _56 = IHEAP[_55];
            var _57 = _56+16;
            var _58 = IHEAP[_57];
            var _59 = IHEAP[_13];
            var _60 = _15+188;
            var _61 = IHEAP[_60];
            var _62 = _58;
            FUNCTION_TABLE[_62](_54, _61, _temporalAabbMin, _temporalAabbMax, _59);
            ;
          }
          var _63 = IHEAP[_0];
          var _64 = _63 > _tmp;
          if (_64) { __lastLabel__ = 108; __label__ = 60; /* _bb */ continue _bb$16635; } else { __lastLabel__ = 108; __label__ = 154; /* _bb16 */ break _bb_nph$_bb16$16633; }
        }
      }
    } while(0);
    var _65 = _this+80;
    var _66 = IHEAP[_65];
    var _67 = _66;
    var _68 = IHEAP[_67];
    var _69 = _68+32;
    var _70 = IHEAP[_69];
    var _71 = _this+24;
    var _72 = IHEAP[_71];
    var _73 = _70;
    FUNCTION_TABLE[_73](_66, _72);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN25btContinuousDynamicsWorld19updateTemporalAabbsEf.__index__ = Runtime.getFunctionIndex(__ZN25btContinuousDynamicsWorld19updateTemporalAabbsEf, "__ZN25btContinuousDynamicsWorld19updateTemporalAabbsEf");
  
  
  function __ZN25btContinuousDynamicsWorldD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btContinuousDynamicsWorld+8;
    var _1 = _this;
    __ZN23btDiscreteDynamicsWorldD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZN25btContinuousDynamicsWorldD0Ev.__index__ = Runtime.getFunctionIndex(__ZN25btContinuousDynamicsWorldD0Ev, "__ZN25btContinuousDynamicsWorldD0Ev");
  
  
  function __ZN25btContinuousDynamicsWorldD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btContinuousDynamicsWorld+8;
    var _1 = _this;
    __ZN23btDiscreteDynamicsWorldD2Ev(_1);
    ;
    return;
  }
  __ZN25btContinuousDynamicsWorldD1Ev.__index__ = Runtime.getFunctionIndex(__ZN25btContinuousDynamicsWorldD1Ev, "__ZN25btContinuousDynamicsWorldD1Ev");
  
  
  function __ZN25btContinuousDynamicsWorldD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btContinuousDynamicsWorld+8;
    var _1 = _this;
    __ZN23btDiscreteDynamicsWorldD2Ev(_1);
    ;
    return;
  }
  __ZN25btContinuousDynamicsWorldD2Ev.__index__ = Runtime.getFunctionIndex(__ZN25btContinuousDynamicsWorldD2Ev, "__ZN25btContinuousDynamicsWorldD2Ev");
  
  
  function __ZN25btContinuousDynamicsWorldC1EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration(_this, _dispatcher, _pairCache, _constraintSolver, _collisionConfiguration) {
    ;
    var __label__;
    var _0 = _this;
    __ZN23btDiscreteDynamicsWorldC2EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration(_0, _dispatcher, _pairCache, _constraintSolver, _collisionConfiguration);
    var _1 = _this;
    IHEAP[_1] = __ZTV25btContinuousDynamicsWorld+8;
    ;
    return;
  }
  __ZN25btContinuousDynamicsWorldC1EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration.__index__ = Runtime.getFunctionIndex(__ZN25btContinuousDynamicsWorldC1EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration, "__ZN25btContinuousDynamicsWorldC1EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration");
  
  
  function __ZNK23btDiscreteDynamicsWorld10getGravityEv(_agg_result, _this) {
    ;
    var __label__;
    var _0 = _agg_result;
    var _1 = _this+224;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _agg_result+4;
    var _4 = _this+224+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _agg_result+8;
    var _7 = _this+224+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _agg_result+12;
    var _10 = _this+224+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    ;
    return;
  }
  __ZNK23btDiscreteDynamicsWorld10getGravityEv.__index__ = Runtime.getFunctionIndex(__ZNK23btDiscreteDynamicsWorld10getGravityEv, "__ZNK23btDiscreteDynamicsWorld10getGravityEv");
  
  
  function __ZN23btDiscreteDynamicsWorld10addVehicleEP17btActionInterface(_this, _vehicle) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+60;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_this, _vehicle);
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorld10addVehicleEP17btActionInterface.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld10addVehicleEP17btActionInterface, "__ZN23btDiscreteDynamicsWorld10addVehicleEP17btActionInterface");
  
  
  function __ZN23btDiscreteDynamicsWorld13removeVehicleEP17btActionInterface(_this, _vehicle) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+64;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_this, _vehicle);
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorld13removeVehicleEP17btActionInterface.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld13removeVehicleEP17btActionInterface, "__ZN23btDiscreteDynamicsWorld13removeVehicleEP17btActionInterface");
  
  
  function __ZN23btDiscreteDynamicsWorld12addCharacterEP17btActionInterface(_this, _character) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+60;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_this, _character);
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorld12addCharacterEP17btActionInterface.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld12addCharacterEP17btActionInterface, "__ZN23btDiscreteDynamicsWorld12addCharacterEP17btActionInterface");
  
  
  function __ZN23btDiscreteDynamicsWorld15removeCharacterEP17btActionInterface(_this, _character) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+64;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_this, _character);
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorld15removeCharacterEP17btActionInterface.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld15removeCharacterEP17btActionInterface, "__ZN23btDiscreteDynamicsWorld15removeCharacterEP17btActionInterface");
  
  
  function __ZN25btSimulationIslandManager14IslandCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN25btSimulationIslandManager14IslandCallbackE+8;
    ;
    return;
  }
  __ZN25btSimulationIslandManager14IslandCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN25btSimulationIslandManager14IslandCallbackD1Ev, "__ZN25btSimulationIslandManager14IslandCallbackD1Ev");
  
  
  function __ZN25btSimulationIslandManager14IslandCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN25btSimulationIslandManager14IslandCallbackE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN25btSimulationIslandManager14IslandCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN25btSimulationIslandManager14IslandCallbackD0Ev, "__ZN25btSimulationIslandManager14IslandCallbackD0Ev");
  
  
  function __ZN34btClosestNotMeConvexResultCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN16btCollisionWorld27ClosestConvexResultCallbackE+8;
    ;
    return;
  }
  __ZN34btClosestNotMeConvexResultCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN34btClosestNotMeConvexResultCallbackD1Ev, "__ZN34btClosestNotMeConvexResultCallbackD1Ev");
  
  
  function __ZN34btClosestNotMeConvexResultCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN16btCollisionWorld27ClosestConvexResultCallbackE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN34btClosestNotMeConvexResultCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN34btClosestNotMeConvexResultCallbackD0Ev, "__ZN34btClosestNotMeConvexResultCallbackD0Ev");
  
  
  function __ZN34btClosestNotMeConvexResultCallback15addSingleResultERN16btCollisionWorld17LocalConvexResultEb(_this, _convexResult, _normalInWorldSpace) {
    ;
    var __label__;
    var _0 = _convexResult;
    var _1 = IHEAP[_0];
    var _2 = _this+80;
    var _3 = IHEAP[_2];
    var _4 = _1 == _3;
    ;
    _bb9$_bb1$16791: do { 
      if (!_4) {
        ;
        var _5 = _1+204;
        var _6 = IHEAP[_5];
        var __lobit_i = _6 & 4;
        var _toBoolnot = __lobit_i == 0;
        if (!(_toBoolnot)) { __label__ = 62; /* _bb9 */ break _bb9$_bb1$16791; }
        var _7 = _this+28+8;
        var _8 = FHEAP[_7];
        var _9 = _this+12+8;
        var _10 = FHEAP[_9];
        var _11 = _8 - _10;
        var _12 = _this+28+4;
        var _13 = FHEAP[_12];
        var _14 = _this+12+4;
        var _15 = FHEAP[_14];
        var _16 = _13 - _15;
        var _17 = _this+28;
        var _18 = FHEAP[_17];
        var _19 = _this+12;
        var _20 = FHEAP[_19];
        var _21 = _18 - _20;
        var _22 = _convexResult+8;
        var _23 = FHEAP[_22];
        var _24 = _23 * _21;
        var _25 = _convexResult+8+4;
        var _26 = FHEAP[_25];
        var _27 = _26 * _16;
        var _28 = _24 + _27;
        var _29 = _convexResult+8+8;
        var _30 = FHEAP[_29];
        var _31 = _30 * _11;
        var _32 = _28 + _31;
        var _33 = _this+84;
        var _34 = FHEAP[_33];
        var _35 = 0 - _34;
        var _36 = _32 < _35;
        if (!(_36)) { __label__ = 62; /* _bb9 */ break _bb9$_bb1$16791; }
        var _37 = _convexResult+40;
        var _38 = FHEAP[_37];
        var _39 = _this+4;
        FHEAP[_39] = _38;
        var _40 = IHEAP[_0];
        var _41 = _this+76;
        IHEAP[_41] = _40;
        var _toBool_i = _normalInWorldSpace == 0;
        ;
        if (_toBool_i) {
          ;
          var _51 = _40+4+32;
          var _52 = FHEAP[_51];
          var _53 = FHEAP[_22];
          var _54 = _52 * _53;
          var _55 = _40+4+32+4;
          var _56 = FHEAP[_55];
          var _57 = FHEAP[_25];
          var _58 = _56 * _57;
          var _59 = _54 + _58;
          var _60 = _40+4+32+8;
          var _61 = FHEAP[_60];
          var _62 = FHEAP[_29];
          var _63 = _61 * _62;
          var _64 = _59 + _63;
          var _65 = _40+4+16;
          var _66 = FHEAP[_65];
          var _67 = _66 * _53;
          var _68 = _40+4+16+4;
          var _69 = FHEAP[_68];
          var _70 = _69 * _57;
          var _71 = _67 + _70;
          var _72 = _40+4+16+8;
          var _73 = FHEAP[_72];
          var _74 = _73 * _62;
          var _75 = _71 + _74;
          var _76 = _40+4;
          var _77 = FHEAP[_76];
          var _78 = _77 * _53;
          var _79 = _40+4+4;
          var _80 = FHEAP[_79];
          var _81 = _80 * _57;
          var _82 = _78 + _81;
          var _83 = _40+4+8;
          var _84 = FHEAP[_83];
          var _85 = _84 * _62;
          var _86 = _82 + _85;
          var _87 = _this+44;
          FHEAP[_87] = _86;
          var _88 = _this+44+4;
          FHEAP[_88] = _75;
          var _89 = _this+44+8;
          FHEAP[_89] = _64;
          var _90 = _this+44+12;
          FHEAP[_90] = 0;
          ;
        }
        else {
          ;
          var _42 = _this+44;
          var _43 = FHEAP[_22];
          FHEAP[_42] = _43;
          var _44 = _this+44+4;
          var _45 = FHEAP[_25];
          FHEAP[_44] = _45;
          var _46 = _this+44+8;
          var _47 = FHEAP[_29];
          FHEAP[_46] = _47;
          var _48 = _this+44+12;
          var _49 = _convexResult+8+12;
          var _50 = FHEAP[_49];
          FHEAP[_48] = _50;
          ;
        }
        var _91 = _this+60;
        var _92 = _convexResult+24;
        var _93 = FHEAP[_92];
        FHEAP[_91] = _93;
        var _94 = _this+60+4;
        var _95 = _convexResult+24+4;
        var _96 = FHEAP[_95];
        FHEAP[_94] = _96;
        var _97 = _this+60+8;
        var _98 = _convexResult+24+8;
        var _99 = FHEAP[_98];
        FHEAP[_97] = _99;
        var _100 = _this+60+12;
        var _101 = _convexResult+24+12;
        var _102 = FHEAP[_101];
        FHEAP[_100] = _102;
        var _103 = FHEAP[_37];
        ;
        return _103;
      }
    } while(0);
    ;
    return 1;
  }
  __ZN34btClosestNotMeConvexResultCallback15addSingleResultERN16btCollisionWorld17LocalConvexResultEb.__index__ = Runtime.getFunctionIndex(__ZN34btClosestNotMeConvexResultCallback15addSingleResultERN16btCollisionWorld17LocalConvexResultEb, "__ZN34btClosestNotMeConvexResultCallback15addSingleResultERN16btCollisionWorld17LocalConvexResultEb");
  
  
  function __ZN23btDiscreteDynamicsWorld19getConstraintSolverEv(_this) {
    ;
    var __label__;
    var _0 = _this+176;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZN23btDiscreteDynamicsWorld19getConstraintSolverEv.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld19getConstraintSolverEv, "__ZN23btDiscreteDynamicsWorld19getConstraintSolverEv");
  
  
  function __ZN23btDiscreteDynamicsWorld13getConstraintEi(_this, _index) {
    ;
    var __label__;
    var _0 = _this+184+12;
    var _1 = IHEAP[_0];
    var _2 = _1+4*_index;
    var _3 = IHEAP[_2];
    ;
    return _3;
  }
  __ZN23btDiscreteDynamicsWorld13getConstraintEi.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld13getConstraintEi, "__ZN23btDiscreteDynamicsWorld13getConstraintEi");
  
  
  function __ZNK23btDiscreteDynamicsWorld17getNumConstraintsEv(_this) {
    ;
    var __label__;
    var _0 = _this+184+4;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZNK23btDiscreteDynamicsWorld17getNumConstraintsEv.__index__ = Runtime.getFunctionIndex(__ZNK23btDiscreteDynamicsWorld17getNumConstraintsEv, "__ZNK23btDiscreteDynamicsWorld17getNumConstraintsEv");
  
  
  function __ZN23btDiscreteDynamicsWorld11clearForcesEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+204+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_return$16818: do { 
      if (_2) {
        ;
        var _3 = _this+204+12;
        __lastLabel__ = 130; ;
        _bb$16820: while(1) { // _bb
          var _i_03 = __lastLabel__ == 130 ? 0 : (_8);
          var _4 = IHEAP[_3];
          var _scevgep = _4+4*_i_03;
          var _5 = IHEAP[_scevgep];
          var _6 = _5+404;
          var _7 = _6;
          _llvm_memset_p0i8_i64(_7, 0, 32, 4, false);
          var _8 = _i_03 + 1;
          var _9 = IHEAP[_0];
          var _10 = _9 > _8;
          if (_10) { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$16820; } else { __lastLabel__ = 60; __label__ = 44; /* _return */ break _bb_nph$_return$16818; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorld11clearForcesEv.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld11clearForcesEv, "__ZN23btDiscreteDynamicsWorld11clearForcesEv");
  
  
  function __ZNK23btDiscreteDynamicsWorld13getConstraintEi(_this, _index) {
    ;
    var __label__;
    var _0 = _this+184+12;
    var _1 = IHEAP[_0];
    var _2 = _1+4*_index;
    var _3 = IHEAP[_2];
    ;
    return _3;
  }
  __ZNK23btDiscreteDynamicsWorld13getConstraintEi.__index__ = Runtime.getFunctionIndex(__ZNK23btDiscreteDynamicsWorld13getConstraintEi, "__ZNK23btDiscreteDynamicsWorld13getConstraintEi");
  
  
  function __ZN23btDiscreteDynamicsWorld12removeActionEP17btActionInterface(_this, _action) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+248+4;
    var _1 = IHEAP[_0];
    var _2 = _this+248+12;
    __lastLabel__ = -1; ;
    _bb3_i_i$16825: while(1) { // _bb3_i_i
      var _7 = __lastLabel__ == -1 ? 0 : (_6);
      var _8 = _1 > _7;
      if (_8) { __lastLabel__ = 324; ; } else { __lastLabel__ = 324; __label__ = 3096; /* __ZNK20btAlignedObjectArrayIP17btActionInterfaceE16findLinearSearchERKS1__exit_i */ break _bb3_i_i$16825; }
      var _3 = IHEAP[_2];
      var _scevgep_i_i = _3+4*_7;
      var _4 = IHEAP[_scevgep_i_i];
      var _5 = _4 == _action;
      if (_5) { __lastLabel__ = 263; __label__ = 3096; /* __ZNK20btAlignedObjectArrayIP17btActionInterfaceE16findLinearSearchERKS1__exit_i */ break _bb3_i_i$16825; } else { __lastLabel__ = 263; ; }
      var _6 = _7 + 1;
      __lastLabel__ = 628; __label__ = 324; /* _bb3_i_i */ continue _bb3_i_i$16825;
    }
    var _index_0_i_i = __lastLabel__ == 324 ? _1 : (_7);
    var _9 = _1 > _index_0_i_i;
    ;
    if (_9) {
      ;
      var _10 = _1 + -1;
      var _11 = IHEAP[_2];
      var _12 = _11+4*_index_0_i_i;
      var _13 = IHEAP[_12];
      var _14 = _11+4*_10;
      var _15 = IHEAP[_14];
      IHEAP[_12] = _15;
      var _16 = IHEAP[_2];
      var _17 = _16+4*_10;
      IHEAP[_17] = _13;
      var _18 = IHEAP[_0];
      var _19 = _18 + -1;
      IHEAP[_0] = _19;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN23btDiscreteDynamicsWorld12removeActionEP17btActionInterface.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld12removeActionEP17btActionInterface, "__ZN23btDiscreteDynamicsWorld12removeActionEP17btActionInterface");
  
  
  function __ZN20btAlignedObjectArrayIP17btTypedConstraintE17quickSortInternalI33btSortConstraintOnIslandPredicateEEvT_ii(_this, _CompareFunc, _lo, _hi) {
    var __stackBase__  = STACKTOP; STACKTOP += 2;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = _this+12;
    var _3 = IHEAP[_2];
    var _4 = _hi + _lo;
    var _5 = Math.floor(_4 / 2);
    var _6 = _3+4*_5;
    var _7 = IHEAP[_6];
    var _8 = _7+20;
    var _9 = _7+24;
    __lastLabel__ = -1; ;
    _bb1_outer$16834: while(1) { // _bb1_outer
      var _i_0_ph = __lastLabel__ == -1 ? _lo : (_i_1);
      var _j_1_ph = __lastLabel__ == -1 ? _hi : (_j_2);
      var _10 = IHEAP[_2];
      var _11 = IHEAP[_8];
      var _12 = _11+208;
      var _13 = IHEAP[_12];
      var _14 = _13 > -1;
      if (_14) { __lastLabel__ = 177; __label__ = 3097; /* __Z23btGetConstraintIslandIdPK17btTypedConstraint_exit_i_us */  } else { __lastLabel__ = 177; __label__ = 3098; /* __Z23btGetConstraintIslandIdPK17btTypedConstraint_exit_i */  }
      __Z23btGetConstraintIslandIdPK17btTypedConstraint_exit_i_us$__Z23btGetConstraintIslandIdPK17btTypedConstraint_exit_i$16836: while(1) { // __Z23btGetConstraintIslandIdPK17btTypedConstraint_exit_i_us,__Z23btGetConstraintIslandIdPK17btTypedConstraint_exit_i
        if (__label__ == 3097) {
          var _indvar = __lastLabel__ == 1534 ? _indvar_next : (0);
          var _i_0_us = _i_0_ph + _indvar;
          var _scevgep = _10+4*_i_0_us;
          var _21 = IHEAP[_scevgep];
          var _22 = _21+20;
          var _23 = IHEAP[_22];
          var _24 = _23+208;
          var _25 = IHEAP[_24];
          var _26 = _25 > -1;
          ;
          if (_26) {
            __lastLabel__ = 3097; ;
          }
          else {
            __lastLabel__ = 3097; ;
            var _17 = _21+24;
            var _18 = IHEAP[_17];
            var _19 = _18+208;
            var _20 = IHEAP[_19];
            __lastLabel__ = 3100; ;
          }
          var _15 = __lastLabel__ == 3100 ? _20 : (_25);
          var _16 = _15 < _13;
          if (_16) { __lastLabel__ = 3099; ; } else { __lastLabel__ = 3099; __label__ = 510; /* _bb3_preheader */ break __Z23btGetConstraintIslandIdPK17btTypedConstraint_exit_i_us$__Z23btGetConstraintIslandIdPK17btTypedConstraint_exit_i$16836; }
          var _indvar_next = _indvar + 1;
          __lastLabel__ = 1534; __label__ = 3097; /* __Z23btGetConstraintIslandIdPK17btTypedConstraint_exit_i_us */ continue __Z23btGetConstraintIslandIdPK17btTypedConstraint_exit_i_us$__Z23btGetConstraintIslandIdPK17btTypedConstraint_exit_i$16836;
        }
        else if (__label__ == 3098) {
          var _indvar29 = __lastLabel__ == 60 ? _indvar_next30 : (0);
          var _i_0 = _i_0_ph + _indvar29;
          var _scevgep32 = _10+4*_i_0;
          var _27 = IHEAP[_scevgep32];
          var _28 = IHEAP[_9];
          var _29 = _28+208;
          var _30 = IHEAP[_29];
          var _31 = _27+20;
          var _32 = IHEAP[_31];
          var _33 = _32+208;
          var _34 = IHEAP[_33];
          var _35 = _34 > -1;
          ;
          if (_35) {
            __lastLabel__ = 3098; ;
          }
          else {
            __lastLabel__ = 3098; ;
            var _36 = _27+24;
            var _37 = IHEAP[_36];
            var _38 = _37+208;
            var _39 = IHEAP[_38];
            __lastLabel__ = 3102; ;
          }
          var _40 = __lastLabel__ == 3102 ? _39 : (_34);
          var _41 = _40 < _30;
          if (_41) { __lastLabel__ = 3104; ; } else { __lastLabel__ = 3104; __label__ = 510; /* _bb3_preheader */ break __Z23btGetConstraintIslandIdPK17btTypedConstraint_exit_i_us$__Z23btGetConstraintIslandIdPK17btTypedConstraint_exit_i$16836; }
          var _indvar_next30 = _indvar29 + 1;
          __lastLabel__ = 60; __label__ = 3098; /* __Z23btGetConstraintIslandIdPK17btTypedConstraint_exit_i */ continue __Z23btGetConstraintIslandIdPK17btTypedConstraint_exit_i_us$__Z23btGetConstraintIslandIdPK17btTypedConstraint_exit_i$16836;
        }
      }
      var _42 = __lastLabel__ == 3099 ? _21 : (_27);
      var _i_0_lcssa = __lastLabel__ == 3099 ? _i_0_us : (_i_0);
      if (_14) { __lastLabel__ = 510; __label__ = 3105; /* _bb3_us */  } else { __lastLabel__ = 510; __label__ = 116; /* _bb3 */  }
      _bb3_us$_bb3$16849: while(1) { // _bb3_us,_bb3
        if (__label__ == 3105) {
          var _indvar18 = __lastLabel__ == 1542 ? _indvar_next19 : (0);
          var _j_0_us = _j_1_ph - _indvar18;
          var _scevgep21 = _10+4*_j_0_us;
          var _43 = IHEAP[_scevgep21];
          var _44 = _43+20;
          var _45 = IHEAP[_44];
          var _46 = _45+208;
          var _47 = IHEAP[_46];
          var _48 = _47 > -1;
          ;
          if (_48) {
            __lastLabel__ = 3105; ;
          }
          else {
            __lastLabel__ = 3105; ;
            var _51 = _43+24;
            var _52 = IHEAP[_51];
            var _53 = _52+208;
            var _54 = IHEAP[_53];
            __lastLabel__ = 3107; ;
          }
          var _49 = __lastLabel__ == 3107 ? _54 : (_47);
          var _50 = _13 < _49;
          if (_50) { __lastLabel__ = 3106; ; } else { __lastLabel__ = 3106; __label__ = 82; /* _bb5 */ break _bb3_us$_bb3$16849; }
          var _indvar_next19 = _indvar18 + 1;
          __lastLabel__ = 1542; __label__ = 3105; /* _bb3_us */ continue _bb3_us$_bb3$16849;
        }
        else if (__label__ == 116) {
          var _indvar23 = __lastLabel__ == 0 ? _indvar_next24 : (0);
          var _j_0 = _j_1_ph - _indvar23;
          var _scevgep27 = _10+4*_j_0;
          var _55 = IHEAP[_scevgep27];
          var _56 = _55+20;
          var _57 = IHEAP[_56];
          var _58 = _57+208;
          var _59 = IHEAP[_58];
          var _60 = _59 > -1;
          ;
          if (_60) {
            __lastLabel__ = 116; ;
          }
          else {
            __lastLabel__ = 116; ;
            var _61 = _55+24;
            var _62 = IHEAP[_61];
            var _63 = _62+208;
            var _64 = IHEAP[_63];
            __lastLabel__ = 3109; ;
          }
          var _65 = __lastLabel__ == 3109 ? _64 : (_59);
          var _66 = IHEAP[_9];
          var _67 = _66+208;
          var _68 = IHEAP[_67];
          var _69 = _68 < _65;
          if (_69) { __lastLabel__ = 3111; ; } else { __lastLabel__ = 3111; __label__ = 82; /* _bb5 */ break _bb3_us$_bb3$16849; }
          var _indvar_next24 = _indvar23 + 1;
          __lastLabel__ = 0; __label__ = 116; /* _bb3 */ continue _bb3_us$_bb3$16849;
        }
      }
      var _70 = __lastLabel__ == 3106 ? _43 : (_55);
      var _j_0_lcssa = __lastLabel__ == 3106 ? _j_0_us : (_j_0);
      var _71 = _i_0_lcssa > _j_0_lcssa;
      ;
      if (_71) {
        __lastLabel__ = 82; ;
      }
      else {
        __lastLabel__ = 82; ;
        var _72 = _10+4*_i_0_lcssa;
        IHEAP[_72] = _70;
        var _73 = IHEAP[_2];
        var _74 = _73+4*_j_0_lcssa;
        IHEAP[_74] = _42;
        var _75 = _i_0_lcssa + 1;
        var _76 = _j_0_lcssa + -1;
        __lastLabel__ = 83; ;
      }
      var _i_1 = __lastLabel__ == 83 ? _75 : (_i_0_lcssa);
      var _j_2 = __lastLabel__ == 83 ? _76 : (_j_0_lcssa);
      var _77 = _i_1 > _j_2;
      if (_77) { __lastLabel__ = 2; __label__ = 148; /* _bb8 */ break _bb1_outer$16834; } else { __lastLabel__ = 2; __label__ = 177; /* _bb1_outer */ continue _bb1_outer$16834; }
    }
    var _78 = _j_2 > _lo;
    ;
    if (_78) {
      ;
      __ZN20btAlignedObjectArrayIP17btTypedConstraintE17quickSortInternalI33btSortConstraintOnIslandPredicateEEvT_ii(_this, _1, _lo, _j_2);
      ;
    }
    var _79 = _i_1 < _hi;
    ;
    if (_79) {
      ;
      __ZN20btAlignedObjectArrayIP17btTypedConstraintE17quickSortInternalI33btSortConstraintOnIslandPredicateEEvT_ii(_this, _0, _i_1, _hi);
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN20btAlignedObjectArrayIP17btTypedConstraintE17quickSortInternalI33btSortConstraintOnIslandPredicateEEvT_ii.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIP17btTypedConstraintE17quickSortInternalI33btSortConstraintOnIslandPredicateEEvT_ii, "__ZN20btAlignedObjectArrayIP17btTypedConstraintE17quickSortInternalI33btSortConstraintOnIslandPredicateEEvT_ii");
  
  
  function __ZN23btDiscreteDynamicsWorld9serializeEP12btSerializer(_this, _serializer) {
    ;
    var __label__;
    var _0 = _serializer;
    var _1 = IHEAP[_0];
    var _2 = _1+32;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_serializer);
    __ZN23btDiscreteDynamicsWorld20serializeRigidBodiesEP12btSerializer(_this, _serializer);
    var _5 = _this;
    __ZN16btCollisionWorld25serializeCollisionObjectsEP12btSerializer(_5, _serializer);
    var _6 = IHEAP[_0];
    var _7 = _6+36;
    var _8 = IHEAP[_7];
    var _9 = _8;
    FUNCTION_TABLE[_9](_serializer);
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorld9serializeEP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld9serializeEP12btSerializer, "__ZN23btDiscreteDynamicsWorld9serializeEP12btSerializer");
  
  
  function __ZN23btDiscreteDynamicsWorld19setConstraintSolverEP18btConstraintSolver(_this, _solver) {
    ;
    var __label__;
    var _0 = _this+245;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    ;
    if (!_toBool) {
      ;
      var _2 = _this+176;
      var _3 = IHEAP[_2];
      var _4 = _3;
      __Z21btAlignedFreeInternalPv(_4);
      ;
    }
    IHEAP[_0] = 0;
    var _5 = _this+176;
    IHEAP[_5] = _solver;
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorld19setConstraintSolverEP18btConstraintSolver.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld19setConstraintSolverEP18btConstraintSolver, "__ZN23btDiscreteDynamicsWorld19setConstraintSolverEP18btConstraintSolver");
  
  
  function __ZN23btDiscreteDynamicsWorld16removeConstraintEP17btTypedConstraint(_this, _constraint) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+184+4;
    var _1 = IHEAP[_0];
    var _2 = _this+184+12;
    __lastLabel__ = -1; ;
    _bb3_i_i$17385: while(1) { // _bb3_i_i
      var _7 = __lastLabel__ == -1 ? 0 : (_6);
      var _8 = _1 > _7;
      if (_8) { __lastLabel__ = 324; ; } else { __lastLabel__ = 324; __label__ = 3215; /* __ZNK20btAlignedObjectArrayIP17btTypedConstraintE16findLinearSearchERKS1__exit_i */ break _bb3_i_i$17385; }
      var _3 = IHEAP[_2];
      var _scevgep_i_i = _3+4*_7;
      var _4 = IHEAP[_scevgep_i_i];
      var _5 = _4 == _constraint;
      if (_5) { __lastLabel__ = 263; __label__ = 3215; /* __ZNK20btAlignedObjectArrayIP17btTypedConstraintE16findLinearSearchERKS1__exit_i */ break _bb3_i_i$17385; } else { __lastLabel__ = 263; ; }
      var _6 = _7 + 1;
      __lastLabel__ = 628; __label__ = 324; /* _bb3_i_i */ continue _bb3_i_i$17385;
    }
    var _index_0_i_i = __lastLabel__ == 324 ? _1 : (_7);
    var _9 = _1 > _index_0_i_i;
    ;
    if (_9) {
      ;
      var _10 = _1 + -1;
      var _11 = IHEAP[_2];
      var _12 = _11+4*_index_0_i_i;
      var _13 = IHEAP[_12];
      var _14 = _11+4*_10;
      var _15 = IHEAP[_14];
      IHEAP[_12] = _15;
      var _16 = IHEAP[_2];
      var _17 = _16+4*_10;
      IHEAP[_17] = _13;
      var _18 = IHEAP[_0];
      var _19 = _18 + -1;
      IHEAP[_0] = _19;
      ;
    }
    var _20 = _constraint+20;
    var _21 = IHEAP[_20];
    __ZN11btRigidBody19removeConstraintRefEP17btTypedConstraint(_21, _constraint);
    var _22 = _constraint+24;
    var _23 = IHEAP[_22];
    __ZN11btRigidBody19removeConstraintRefEP17btTypedConstraint(_23, _constraint);
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorld16removeConstraintEP17btTypedConstraint.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld16removeConstraintEP17btTypedConstraint, "__ZN23btDiscreteDynamicsWorld16removeConstraintEP17btTypedConstraint");
  
  
  function __ZN23btDiscreteDynamicsWorld10setGravityERK9btVector3(_this, _gravity) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+224;
    var _1 = _gravity;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _this+224+4;
    var _4 = _gravity+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+224+8;
    var _7 = _gravity+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+224+12;
    var _10 = _gravity+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _this+204+4;
    var _13 = IHEAP[_12];
    var _14 = _13 > 0;
    ;
    _bb_nph$_return$17550: do { 
      if (_14) {
        ;
        var _15 = _this+204+12;
        __lastLabel__ = 130; ;
        _bb$17552: while(1) { // _bb
          var _i_021 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _i_021 + 1;
          var _16 = IHEAP[_15];
          var _scevgep = _16+4*_i_021;
          var _17 = IHEAP[_scevgep];
          var _18 = _17+216;
          var _19 = IHEAP[_18];
          if (_19 == 2) {
            __label__ = 4; /* _bb17 */ 
          }
          else if (_19 == 5) {
            __label__ = 4; /* _bb17 */ 
          }
          else {
          __label__ = 61; /* _bb4 */ 
          }
          
          _bb4$_bb17$17554: do { 
            if (__label__ == 61) {
              var _20 = _17+496;
              var _21 = IHEAP[_20];
              var _22 = _21 & 1;
              var _toBool11 = _22 == 0;
              if (!(_toBool11)) { __label__ = 4; /* _bb17 */ break _bb4$_bb17$17554; }
              __ZN11btRigidBody10setGravityERK9btVector3(_17, _gravity);
              ;
            }
          } while(0);
          var _23 = IHEAP[_12];
          var _24 = _23 > _tmp;
          if (_24) { __lastLabel__ = 4; __label__ = 60; /* _bb */ continue _bb$17552; } else { __lastLabel__ = 4; __label__ = 44; /* _return */ break _bb_nph$_return$17550; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorld10setGravityERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld10setGravityERK9btVector3, "__ZN23btDiscreteDynamicsWorld10setGravityERK9btVector3");
  
  
  function __ZN23btDiscreteDynamicsWorld15removeRigidBodyEP11btRigidBody(_this, _body) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+204+4;
    var _1 = IHEAP[_0];
    var _2 = _this+204+12;
    __lastLabel__ = -1; ;
    _bb3_i_i$17560: while(1) { // _bb3_i_i
      var _7 = __lastLabel__ == -1 ? 0 : (_6);
      var _8 = _1 > _7;
      if (_8) { __lastLabel__ = 324; ; } else { __lastLabel__ = 324; __label__ = 3249; /* __ZNK20btAlignedObjectArrayIP11btRigidBodyE16findLinearSearchERKS1__exit_i */ break _bb3_i_i$17560; }
      var _3 = IHEAP[_2];
      var _scevgep_i_i = _3+4*_7;
      var _4 = IHEAP[_scevgep_i_i];
      var _5 = _4 == _body;
      if (_5) { __lastLabel__ = 263; __label__ = 3249; /* __ZNK20btAlignedObjectArrayIP11btRigidBodyE16findLinearSearchERKS1__exit_i */ break _bb3_i_i$17560; } else { __lastLabel__ = 263; ; }
      var _6 = _7 + 1;
      __lastLabel__ = 628; __label__ = 324; /* _bb3_i_i */ continue _bb3_i_i$17560;
    }
    var _index_0_i_i = __lastLabel__ == 324 ? _1 : (_7);
    var _9 = _1 > _index_0_i_i;
    ;
    if (_9) {
      ;
      var _10 = _1 + -1;
      var _11 = IHEAP[_2];
      var _12 = _11+4*_index_0_i_i;
      var _13 = IHEAP[_12];
      var _14 = _11+4*_10;
      var _15 = IHEAP[_14];
      IHEAP[_12] = _15;
      var _16 = IHEAP[_2];
      var _17 = _16+4*_10;
      IHEAP[_17] = _13;
      var _18 = IHEAP[_0];
      var _19 = _18 + -1;
      IHEAP[_0] = _19;
      ;
    }
    var _20 = _body;
    var _21 = _this;
    __ZN16btCollisionWorld21removeCollisionObjectEP17btCollisionObject(_21, _20);
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorld15removeRigidBodyEP11btRigidBody.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld15removeRigidBodyEP11btRigidBody, "__ZN23btDiscreteDynamicsWorld15removeRigidBodyEP11btRigidBody");
  
  
  function __ZN23btDiscreteDynamicsWorld21removeCollisionObjectEP17btCollisionObject(_this, _collisionObject) {
    ;
    var __label__;
    var _0 = _collisionObject+232;
    var _1 = IHEAP[_0];
    var __lobit_i = _1 & 2;
    var _toBool_i = __lobit_i == 0;
    var _2 = _collisionObject == 0;
    var _or_cond = _toBool_i | _2;
    ;
    if (_or_cond) {
      ;
      var _9 = _this;
      __ZN16btCollisionWorld21removeCollisionObjectEP17btCollisionObject(_9, _collisionObject);
      ;
      return;
    }
    else {
      ;
      var _3 = _collisionObject;
      var _4 = _this;
      var _5 = IHEAP[_4];
      var _6 = _5+84;
      var _7 = IHEAP[_6];
      var _8 = _7;
      FUNCTION_TABLE[_8](_this, _3);
      ;
      return;
    }
  }
  __ZN23btDiscreteDynamicsWorld21removeCollisionObjectEP17btCollisionObject.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld21removeCollisionObjectEP17btCollisionObject, "__ZN23btDiscreteDynamicsWorld21removeCollisionObjectEP17btCollisionObject");
  
  
  function __ZN23btDiscreteDynamicsWorld18addCollisionObjectEP17btCollisionObjectss(_this, _collisionObject, _collisionFilterGroup, _collisionFilterMask) {
    ;
    var __label__;
    var _0 = _this;
    __ZN16btCollisionWorld18addCollisionObjectEP17btCollisionObjectss(_0, _collisionObject, _collisionFilterGroup, _collisionFilterMask);
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorld18addCollisionObjectEP17btCollisionObjectss.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld18addCollisionObjectEP17btCollisionObjectss, "__ZN23btDiscreteDynamicsWorld18addCollisionObjectEP17btCollisionObjectss");
  
  
  function __ZN23btDiscreteDynamicsWorld28synchronizeSingleMotionStateEP11btRigidBody(_this, _body) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var _interpolatedTransform = __stackBase__;
    var _0 = _body+472;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _bb8$_bb$17604: do { 
      if (!_2) {
        ;
        var _3 = _body+204;
        var _4 = IHEAP[_3];
        var _5 = _4 & 3;
        var _6 = _5 == 0;
        if (!(_6)) { __label__ = 148; /* _bb8 */ break _bb8$_bb$17604; }
        var _7 = _this+240;
        var _8 = FHEAP[_7];
        var _9 = _body+240;
        var _10 = FHEAP[_9];
        var _11 = _8 * _10;
        var _12 = _body+148;
        var _13 = _body+132;
        var _14 = _body+68;
        __ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(_14, _13, _12, _11, _interpolatedTransform);
        var _15 = IHEAP[_0];
        var _16 = _15;
        var _17 = IHEAP[_16];
        var _18 = _17+12;
        var _19 = IHEAP[_18];
        var _20 = _19;
        FUNCTION_TABLE[_20](_15, _interpolatedTransform);
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN23btDiscreteDynamicsWorld28synchronizeSingleMotionStateEP11btRigidBody.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld28synchronizeSingleMotionStateEP11btRigidBody, "__ZN23btDiscreteDynamicsWorld28synchronizeSingleMotionStateEP11btRigidBody");
  
  
  function __ZN23btDiscreteDynamicsWorld12applyGravityEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+204+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_return$17635: do { 
      if (_2) {
        ;
        var _3 = _this+204+12;
        __lastLabel__ = 130; ;
        _bb$17637: while(1) { // _bb
          var _i_06 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _i_06 + 1;
          var _4 = IHEAP[_3];
          var _scevgep = _4+4*_i_06;
          var _5 = IHEAP[_scevgep];
          var _6 = _5+216;
          var _7 = IHEAP[_6];
          if (_7 == 2) {
            __label__ = 0; /* _bb2 */ 
          }
          else if (_7 == 5) {
            __label__ = 0; /* _bb2 */ 
          }
          else {
          __label__ = 75; /* _bb1 */ 
          }
          
          if (__label__ == 75) {
            __ZN11btRigidBody12applyGravityEv(_5);
            ;
          }
          var _8 = IHEAP[_0];
          var _9 = _8 > _tmp;
          if (_9) { __lastLabel__ = 0; __label__ = 60; /* _bb */ continue _bb$17637; } else { __lastLabel__ = 0; __label__ = 44; /* _return */ break _bb_nph$_return$17635; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorld12applyGravityEv.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld12applyGravityEv, "__ZN23btDiscreteDynamicsWorld12applyGravityEv");
  
  
  function __ZN23btDiscreteDynamicsWorld18saveKinematicStateEf(_this, _timeStep) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_return$17679: do { 
      if (_2) {
        ;
        var _3 = _this+4+12;
        __lastLabel__ = 130; ;
        _bb$17681: while(1) { // _bb
          var _i_013 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _i_013 + 1;
          var _4 = IHEAP[_3];
          var _scevgep = _4+4*_i_013;
          var _5 = IHEAP[_scevgep];
          var _6 = _5+232;
          var _7 = IHEAP[_6];
          var __lobit_i12 = _7 & 2;
          var _toBool_i = __lobit_i12 == 0;
          ;
          _bb8$__ZN11btRigidBody6upcastEP17btCollisionObject_exit$17683: do { 
            if (!_toBool_i) {
              ;
              var _8 = _5;
              var _9 = _5 == 0;
              if (_9) { __label__ = 148; /* _bb8 */ break _bb8$__ZN11btRigidBody6upcastEP17btCollisionObject_exit$17683; }
              var _10 = _5+216;
              var _11 = IHEAP[_10];
              var _12 = _11 == 2;
              if (_12) { __label__ = 148; /* _bb8 */ break _bb8$__ZN11btRigidBody6upcastEP17btCollisionObject_exit$17683; }
              var _13 = _5+204;
              var _14 = IHEAP[_13];
              var __lobit_i = _14 & 2;
              var _toBool6 = __lobit_i == 0;
              if (_toBool6) { __label__ = 148; /* _bb8 */ break _bb8$__ZN11btRigidBody6upcastEP17btCollisionObject_exit$17683; }
              __ZN11btRigidBody18saveKinematicStateEf(_8, _timeStep);
              ;
            }
          } while(0);
          var _15 = IHEAP[_0];
          var _16 = _15 > _tmp;
          if (_16) { __lastLabel__ = 148; __label__ = 60; /* _bb */ continue _bb$17681; } else { __lastLabel__ = 148; __label__ = 44; /* _return */ break _bb_nph$_return$17679; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorld18saveKinematicStateEf.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld18saveKinematicStateEf, "__ZN23btDiscreteDynamicsWorld18saveKinematicStateEf");
  
  
  function __ZN15btDynamicsWorldD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV15btDynamicsWorld+8;
    var _1 = _this;
    __ZN16btCollisionWorldD2Ev(_1);
    ;
    return;
  }
  __ZN15btDynamicsWorldD1Ev.__index__ = Runtime.getFunctionIndex(__ZN15btDynamicsWorldD1Ev, "__ZN15btDynamicsWorldD1Ev");
  
  
  function __ZN15btDynamicsWorldD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV15btDynamicsWorld+8;
    var _1 = _this;
    __ZN16btCollisionWorldD2Ev(_1);
    var _2 = _this;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZN15btDynamicsWorldD0Ev.__index__ = Runtime.getFunctionIndex(__ZN15btDynamicsWorldD0Ev, "__ZN15btDynamicsWorldD0Ev");
  
  
  function __ZNK11btRigidBody7getAabbER9btVector3S1_(_this, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this+192;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+8;
    var _5 = IHEAP[_4];
    var _6 = _this+4;
    var _7 = _5;
    FUNCTION_TABLE[_7](_1, _6, _aabbMin, _aabbMax);
    ;
    return;
  }
  __ZNK11btRigidBody7getAabbER9btVector3S1_.__index__ = Runtime.getFunctionIndex(__ZNK11btRigidBody7getAabbER9btVector3S1_, "__ZNK11btRigidBody7getAabbER9btVector3S1_");
  
  
  function __ZN11btRigidBody10setGravityERK9btVector3(_this, _acceleration) {
    ;
    var __label__;
    var _0 = _this+336;
    var _1 = FHEAP[_0];
    var _2 = _1 != 0;
    ;
    if (_2) {
      ;
      var _3 = 1 / _1;
      var _4 = _acceleration+8;
      var _5 = FHEAP[_4];
      var _6 = _5 * _3;
      var _7 = _acceleration+4;
      var _8 = FHEAP[_7];
      var _9 = _8 * _3;
      var _10 = _acceleration;
      var _11 = FHEAP[_10];
      var _12 = _11 * _3;
      var _13 = _this+356;
      FHEAP[_13] = _12;
      var _14 = _this+356+4;
      FHEAP[_14] = _9;
      var _15 = _this+356+8;
      FHEAP[_15] = _6;
      var _16 = _this+356+12;
      FHEAP[_16] = 0;
      ;
    }
    var _17 = _this+372;
    var _18 = _acceleration;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _this+372+4;
    var _21 = _acceleration+4;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _this+372+8;
    var _24 = _acceleration+8;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _this+372+12;
    var _27 = _acceleration+12;
    var _28 = FHEAP[_27];
    FHEAP[_26] = _28;
    ;
    return;
  }
  __ZN11btRigidBody10setGravityERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody10setGravityERK9btVector3, "__ZN11btRigidBody10setGravityERK9btVector3");
  
  
  function __ZN11btRigidBody12applyGravityEv(_this) {
    ;
    var __label__;
    var _0 = _this+204;
    var _1 = IHEAP[_0];
    var _2 = _1 & 3;
    var _3 = _2 == 0;
    ;
    if (_3) {
      ;
      var _4 = _this+356+8;
      var _5 = FHEAP[_4];
      var _6 = _this+340+8;
      var _7 = FHEAP[_6];
      var _8 = _5 * _7;
      var _9 = _this+356+4;
      var _10 = FHEAP[_9];
      var _11 = _this+340+4;
      var _12 = FHEAP[_11];
      var _13 = _10 * _12;
      var _14 = _this+356;
      var _15 = FHEAP[_14];
      var _16 = _this+340;
      var _17 = FHEAP[_16];
      var _18 = _15 * _17;
      var _19 = _this+404;
      var _20 = FHEAP[_19];
      var _21 = _20 + _18;
      FHEAP[_19] = _21;
      var _22 = _this+404+4;
      var _23 = FHEAP[_22];
      var _24 = _23 + _13;
      FHEAP[_22] = _24;
      var _25 = _this+404+8;
      var _26 = FHEAP[_25];
      var _27 = _26 + _8;
      FHEAP[_25] = _27;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN11btRigidBody12applyGravityEv.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody12applyGravityEv, "__ZN11btRigidBody12applyGravityEv");
  
  
  function __ZN11btRigidBody12setMassPropsEfRK9btVector3(_this, _mass, _inertia) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _mass == 0;
    var _1 = _this+204;
    var _2 = IHEAP[_1];
    ;
    if (_0) {
      ;
      var _3 = _2 | 1;
      IHEAP[_1] = _3;
      var _4 = _this+336;
      FHEAP[_4] = 0;
      __lastLabel__ = 60; ;
    }
    else {
      ;
      var _5 = _2 & -2;
      IHEAP[_1] = _5;
      var _6 = 1 / _mass;
      var _7 = _this+336;
      FHEAP[_7] = _6;
      __lastLabel__ = 75; ;
    }
    var _8 = __lastLabel__ == 75 ? _6 : (0);
    var _9 = _this+372+8;
    var _10 = FHEAP[_9];
    var _11 = _10 * _mass;
    var _12 = _this+372+4;
    var _13 = FHEAP[_12];
    var _14 = _13 * _mass;
    var _15 = _this+372;
    var _16 = FHEAP[_15];
    var _17 = _16 * _mass;
    var _18 = _this+356;
    FHEAP[_18] = _17;
    var _19 = _this+356+4;
    FHEAP[_19] = _14;
    var _20 = _this+356+8;
    FHEAP[_20] = _11;
    var _21 = _this+356+12;
    FHEAP[_21] = 0;
    var _22 = _inertia+8;
    var _23 = FHEAP[_22];
    var _24 = _23 != 0;
    ;
    if (_24) {
      __lastLabel__ = 0; ;
      var _25 = 1 / _23;
      __lastLabel__ = 116; ;
    }
    else {
      __lastLabel__ = 0; ;
    }
    var _iftmp_265_0 = __lastLabel__ == 116 ? _25 : (0);
    var _26 = _inertia+4;
    var _27 = FHEAP[_26];
    var _28 = _27 != 0;
    ;
    if (_28) {
      __lastLabel__ = 82; ;
      var _29 = 1 / _27;
      __lastLabel__ = 83; ;
    }
    else {
      __lastLabel__ = 82; ;
    }
    var _iftmp_266_0 = __lastLabel__ == 83 ? _29 : (0);
    var _30 = _inertia;
    var _31 = FHEAP[_30];
    var _32 = _31 != 0;
    ;
    if (_32) {
      __lastLabel__ = 148; ;
      var _33 = 1 / _31;
      __lastLabel__ = 62; ;
    }
    else {
      __lastLabel__ = 148; ;
    }
    var _iftmp_267_0 = __lastLabel__ == 62 ? _33 : (0);
    var _34 = _this+388;
    FHEAP[_34] = _iftmp_267_0;
    var _35 = _this+388+4;
    FHEAP[_35] = _iftmp_266_0;
    var _36 = _this+388+8;
    FHEAP[_36] = _iftmp_265_0;
    var _37 = _this+388+12;
    FHEAP[_37] = 0;
    var _38 = _this+340+8;
    var _39 = FHEAP[_38];
    var _40 = _39 * _8;
    var _41 = _this+340+4;
    var _42 = FHEAP[_41];
    var _43 = _42 * _8;
    var _44 = _this+340;
    var _45 = FHEAP[_44];
    var _46 = _45 * _8;
    var _47 = _this+552;
    FHEAP[_47] = _46;
    var _48 = _this+552+4;
    FHEAP[_48] = _43;
    var _49 = _this+552+8;
    FHEAP[_49] = _40;
    var _50 = _this+552+12;
    FHEAP[_50] = 0;
    ;
    return;
  }
  __ZN11btRigidBody12setMassPropsEfRK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody12setMassPropsEfRK9btVector3, "__ZN11btRigidBody12setMassPropsEfRK9btVector3");
  
  
  function __ZN11btRigidBody19updateInertiaTensorEv(_this) {
    ;
    var __label__;
    var _0 = _this+4+32+8;
    var _1 = _this+4+16+8;
    var _2 = _this+4+8;
    var _3 = _this+4+32+4;
    var _4 = _this+4+16+4;
    var _5 = _this+4+4;
    var _6 = _this+4+32;
    var _7 = _this+4+16;
    var _8 = _this+4;
    var _9 = FHEAP[_8];
    var _10 = FHEAP[_7];
    var _11 = FHEAP[_6];
    var _12 = FHEAP[_5];
    var _13 = FHEAP[_4];
    var _14 = FHEAP[_3];
    var _15 = FHEAP[_2];
    var _16 = FHEAP[_1];
    var _17 = FHEAP[_0];
    var _18 = _this+388+8;
    var _19 = FHEAP[_18];
    var _20 = _17 * _19;
    var _21 = _this+388+4;
    var _22 = FHEAP[_21];
    var _23 = _14 * _22;
    var _24 = _this+388;
    var _25 = FHEAP[_24];
    var _26 = _11 * _25;
    var _27 = _16 * _19;
    var _28 = _13 * _22;
    var _29 = _10 * _25;
    var _30 = _15 * _19;
    var _31 = _12 * _22;
    var _32 = _9 * _25;
    var _33 = _11 * _26;
    var _34 = _14 * _23;
    var _35 = _33 + _34;
    var _36 = _17 * _20;
    var _37 = _35 + _36;
    var _38 = _10 * _26;
    var _39 = _13 * _23;
    var _40 = _38 + _39;
    var _41 = _16 * _20;
    var _42 = _40 + _41;
    var _43 = _9 * _26;
    var _44 = _12 * _23;
    var _45 = _43 + _44;
    var _46 = _15 * _20;
    var _47 = _45 + _46;
    var _48 = _11 * _29;
    var _49 = _14 * _28;
    var _50 = _48 + _49;
    var _51 = _17 * _27;
    var _52 = _50 + _51;
    var _53 = _10 * _29;
    var _54 = _13 * _28;
    var _55 = _53 + _54;
    var _56 = _16 * _27;
    var _57 = _55 + _56;
    var _58 = _9 * _29;
    var _59 = _12 * _28;
    var _60 = _58 + _59;
    var _61 = _15 * _27;
    var _62 = _60 + _61;
    var _63 = _11 * _32;
    var _64 = _14 * _31;
    var _65 = _63 + _64;
    var _66 = _17 * _30;
    var _67 = _65 + _66;
    var _68 = _10 * _32;
    var _69 = _13 * _31;
    var _70 = _68 + _69;
    var _71 = _16 * _30;
    var _72 = _70 + _71;
    var _73 = _9 * _32;
    var _74 = _12 * _31;
    var _75 = _73 + _74;
    var _76 = _15 * _30;
    var _77 = _75 + _76;
    var _78 = _this+256;
    FHEAP[_78] = _77;
    var _79 = _this+256+4;
    FHEAP[_79] = _72;
    var _80 = _this+256+8;
    FHEAP[_80] = _67;
    var _81 = _this+256+12;
    FHEAP[_81] = 0;
    var _82 = _this+256+16;
    FHEAP[_82] = _62;
    var _83 = _this+256+16+4;
    FHEAP[_83] = _57;
    var _84 = _this+256+16+8;
    FHEAP[_84] = _52;
    var _85 = _this+256+16+12;
    FHEAP[_85] = 0;
    var _86 = _this+256+32;
    FHEAP[_86] = _47;
    var _87 = _this+256+32+4;
    FHEAP[_87] = _42;
    var _88 = _this+256+32+8;
    FHEAP[_88] = _37;
    var _89 = _this+256+32+12;
    FHEAP[_89] = 0;
    ;
    return;
  }
  __ZN11btRigidBody19updateInertiaTensorEv.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody19updateInertiaTensorEv, "__ZN11btRigidBody19updateInertiaTensorEv");
  
  
  function __ZN11btRigidBody24setCenterOfMassTransformERK11btTransform(_this, _xform) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+204;
    var _1 = IHEAP[_0];
    var _2 = _1 & 3;
    var _3 = _2 == 0;
    var _4 = _this+68;
    ;
    if (_3) {
      ;
      var _52 = _xform;
      var _53 = FHEAP[_52];
      FHEAP[_4] = _53;
      var _54 = _this+68+4;
      var _55 = _xform+4;
      var _56 = FHEAP[_55];
      FHEAP[_54] = _56;
      var _57 = _this+68+8;
      var _58 = _xform+8;
      var _59 = FHEAP[_58];
      FHEAP[_57] = _59;
      var _60 = _this+68+12;
      var _61 = _xform+12;
      var _62 = FHEAP[_61];
      FHEAP[_60] = _62;
      var _63 = _this+68+16;
      var _64 = _xform+16;
      var _65 = FHEAP[_64];
      FHEAP[_63] = _65;
      var _66 = _this+68+16+4;
      var _67 = _xform+16+4;
      var _68 = FHEAP[_67];
      FHEAP[_66] = _68;
      var _69 = _this+68+16+8;
      var _70 = _xform+16+8;
      var _71 = FHEAP[_70];
      FHEAP[_69] = _71;
      var _72 = _this+68+16+12;
      var _73 = _xform+16+12;
      var _74 = FHEAP[_73];
      FHEAP[_72] = _74;
      var _75 = _this+68+32;
      var _76 = _xform+32;
      var _77 = FHEAP[_76];
      FHEAP[_75] = _77;
      var _78 = _this+68+32+4;
      var _79 = _xform+32+4;
      var _80 = FHEAP[_79];
      FHEAP[_78] = _80;
      var _81 = _this+68+32+8;
      var _82 = _xform+32+8;
      var _83 = FHEAP[_82];
      FHEAP[_81] = _83;
      var _84 = _this+68+32+12;
      var _85 = _xform+32+12;
      var _86 = FHEAP[_85];
      FHEAP[_84] = _86;
      var _87 = _this+68+48;
      var _88 = _xform+48;
      var _89 = FHEAP[_88];
      FHEAP[_87] = _89;
      var _90 = _this+68+48+4;
      var _91 = _xform+48+4;
      var _92 = FHEAP[_91];
      FHEAP[_90] = _92;
      var _93 = _this+68+48+8;
      var _94 = _xform+48+8;
      var _95 = FHEAP[_94];
      FHEAP[_93] = _95;
      var _96 = _this+68+48+12;
      var _97 = _xform+48+12;
      var _98 = FHEAP[_97];
      FHEAP[_96] = _98;
      var __pre = _this+4;
      var __pre5 = _this+4+4;
      var __pre9 = _this+4+8;
      var __pre13 = _this+4+12;
      var __pre17 = _this+4+16;
      var __pre21 = _this+4+16+4;
      var __pre25 = _this+4+16+8;
      var __pre29 = _this+4+16+12;
      var __pre33 = _this+4+32;
      var __pre37 = _this+4+32+4;
      var __pre41 = _this+4+32+8;
      var __pre45 = _this+4+32+12;
      var __pre49 = _this+4+48;
      var __pre53 = _this+4+48+4;
      var __pre57 = _this+4+48+8;
      var __pre61 = _this+4+48+12;
      __lastLabel__ = 75; ;
    }
    else {
      ;
      var _5 = _this+4;
      var _6 = FHEAP[_5];
      FHEAP[_4] = _6;
      var _7 = _this+68+4;
      var _8 = _this+4+4;
      var _9 = FHEAP[_8];
      FHEAP[_7] = _9;
      var _10 = _this+68+8;
      var _11 = _this+4+8;
      var _12 = FHEAP[_11];
      FHEAP[_10] = _12;
      var _13 = _this+68+12;
      var _14 = _this+4+12;
      var _15 = FHEAP[_14];
      FHEAP[_13] = _15;
      var _16 = _this+68+16;
      var _17 = _this+4+16;
      var _18 = FHEAP[_17];
      FHEAP[_16] = _18;
      var _19 = _this+68+16+4;
      var _20 = _this+4+16+4;
      var _21 = FHEAP[_20];
      FHEAP[_19] = _21;
      var _22 = _this+68+16+8;
      var _23 = _this+4+16+8;
      var _24 = FHEAP[_23];
      FHEAP[_22] = _24;
      var _25 = _this+68+16+12;
      var _26 = _this+4+16+12;
      var _27 = FHEAP[_26];
      FHEAP[_25] = _27;
      var _28 = _this+68+32;
      var _29 = _this+4+32;
      var _30 = FHEAP[_29];
      FHEAP[_28] = _30;
      var _31 = _this+68+32+4;
      var _32 = _this+4+32+4;
      var _33 = FHEAP[_32];
      FHEAP[_31] = _33;
      var _34 = _this+68+32+8;
      var _35 = _this+4+32+8;
      var _36 = FHEAP[_35];
      FHEAP[_34] = _36;
      var _37 = _this+68+32+12;
      var _38 = _this+4+32+12;
      var _39 = FHEAP[_38];
      FHEAP[_37] = _39;
      var _40 = _this+68+48;
      var _41 = _this+4+48;
      var _42 = FHEAP[_41];
      FHEAP[_40] = _42;
      var _43 = _this+68+48+4;
      var _44 = _this+4+48+4;
      var _45 = FHEAP[_44];
      FHEAP[_43] = _45;
      var _46 = _this+68+48+8;
      var _47 = _this+4+48+8;
      var _48 = FHEAP[_47];
      FHEAP[_46] = _48;
      var _49 = _this+68+48+12;
      var _50 = _this+4+48+12;
      var _51 = FHEAP[_50];
      FHEAP[_49] = _51;
      var __pre3 = _xform;
      var __pre7 = _xform+4;
      var __pre11 = _xform+8;
      var __pre15 = _xform+12;
      var __pre19 = _xform+16;
      var __pre23 = _xform+16+4;
      var __pre27 = _xform+16+8;
      var __pre31 = _xform+16+12;
      var __pre35 = _xform+32;
      var __pre39 = _xform+32+4;
      var __pre43 = _xform+32+8;
      var __pre47 = _xform+32+12;
      var __pre51 = _xform+48;
      var __pre55 = _xform+48+4;
      var __pre59 = _xform+48+8;
      var __pre63 = _xform+48+12;
      __lastLabel__ = 60; ;
    }
    var __pre_phi64 = __lastLabel__ == 75 ? _97 : (__pre63);
    var __pre_phi62 = __lastLabel__ == 75 ? __pre61 : (_50);
    var __pre_phi60 = __lastLabel__ == 75 ? _94 : (__pre59);
    var __pre_phi58 = __lastLabel__ == 75 ? __pre57 : (_47);
    var __pre_phi56 = __lastLabel__ == 75 ? _91 : (__pre55);
    var __pre_phi54 = __lastLabel__ == 75 ? __pre53 : (_44);
    var __pre_phi52 = __lastLabel__ == 75 ? _88 : (__pre51);
    var __pre_phi50 = __lastLabel__ == 75 ? __pre49 : (_41);
    var __pre_phi48 = __lastLabel__ == 75 ? _85 : (__pre47);
    var __pre_phi46 = __lastLabel__ == 75 ? __pre45 : (_38);
    var __pre_phi44 = __lastLabel__ == 75 ? _82 : (__pre43);
    var __pre_phi42 = __lastLabel__ == 75 ? __pre41 : (_35);
    var __pre_phi40 = __lastLabel__ == 75 ? _79 : (__pre39);
    var __pre_phi38 = __lastLabel__ == 75 ? __pre37 : (_32);
    var __pre_phi36 = __lastLabel__ == 75 ? _76 : (__pre35);
    var __pre_phi34 = __lastLabel__ == 75 ? __pre33 : (_29);
    var __pre_phi32 = __lastLabel__ == 75 ? _73 : (__pre31);
    var __pre_phi30 = __lastLabel__ == 75 ? __pre29 : (_26);
    var __pre_phi28 = __lastLabel__ == 75 ? _70 : (__pre27);
    var __pre_phi26 = __lastLabel__ == 75 ? __pre25 : (_23);
    var __pre_phi24 = __lastLabel__ == 75 ? _67 : (__pre23);
    var __pre_phi22 = __lastLabel__ == 75 ? __pre21 : (_20);
    var __pre_phi20 = __lastLabel__ == 75 ? _64 : (__pre19);
    var __pre_phi18 = __lastLabel__ == 75 ? __pre17 : (_17);
    var __pre_phi16 = __lastLabel__ == 75 ? _61 : (__pre15);
    var __pre_phi14 = __lastLabel__ == 75 ? __pre13 : (_14);
    var __pre_phi12 = __lastLabel__ == 75 ? _58 : (__pre11);
    var __pre_phi10 = __lastLabel__ == 75 ? __pre9 : (_11);
    var __pre_phi8 = __lastLabel__ == 75 ? _55 : (__pre7);
    var __pre_phi6 = __lastLabel__ == 75 ? __pre5 : (_8);
    var __pre_phi4 = __lastLabel__ == 75 ? _52 : (__pre3);
    var __pre_phi = __lastLabel__ == 75 ? __pre : (_5);
    var _99 = _this+132;
    var _100 = _this+304;
    var _101 = FHEAP[_100];
    FHEAP[_99] = _101;
    var _102 = _this+132+4;
    var _103 = _this+304+4;
    var _104 = FHEAP[_103];
    FHEAP[_102] = _104;
    var _105 = _this+132+8;
    var _106 = _this+304+8;
    var _107 = FHEAP[_106];
    FHEAP[_105] = _107;
    var _108 = _this+132+12;
    var _109 = _this+304+12;
    var _110 = FHEAP[_109];
    FHEAP[_108] = _110;
    var _111 = _this+148;
    var _112 = _this+320;
    var _113 = FHEAP[_112];
    FHEAP[_111] = _113;
    var _114 = _this+148+4;
    var _115 = _this+320+4;
    var _116 = FHEAP[_115];
    FHEAP[_114] = _116;
    var _117 = _this+148+8;
    var _118 = _this+320+8;
    var _119 = FHEAP[_118];
    FHEAP[_117] = _119;
    var _120 = _this+148+12;
    var _121 = _this+320+12;
    var _122 = FHEAP[_121];
    FHEAP[_120] = _122;
    var _123 = FHEAP[__pre_phi4];
    FHEAP[__pre_phi] = _123;
    var _124 = FHEAP[__pre_phi8];
    FHEAP[__pre_phi6] = _124;
    var _125 = FHEAP[__pre_phi12];
    FHEAP[__pre_phi10] = _125;
    var _126 = FHEAP[__pre_phi16];
    FHEAP[__pre_phi14] = _126;
    var _127 = FHEAP[__pre_phi20];
    FHEAP[__pre_phi18] = _127;
    var _128 = FHEAP[__pre_phi24];
    FHEAP[__pre_phi22] = _128;
    var _129 = FHEAP[__pre_phi28];
    FHEAP[__pre_phi26] = _129;
    var _130 = FHEAP[__pre_phi32];
    FHEAP[__pre_phi30] = _130;
    var _131 = FHEAP[__pre_phi36];
    FHEAP[__pre_phi34] = _131;
    var _132 = FHEAP[__pre_phi40];
    FHEAP[__pre_phi38] = _132;
    var _133 = FHEAP[__pre_phi44];
    FHEAP[__pre_phi42] = _133;
    var _134 = FHEAP[__pre_phi48];
    FHEAP[__pre_phi46] = _134;
    var _135 = FHEAP[__pre_phi52];
    FHEAP[__pre_phi50] = _135;
    var _136 = FHEAP[__pre_phi56];
    FHEAP[__pre_phi54] = _136;
    var _137 = FHEAP[__pre_phi60];
    FHEAP[__pre_phi58] = _137;
    var _138 = FHEAP[__pre_phi64];
    FHEAP[__pre_phi62] = _138;
    var _139 = _this+388+8;
    var _140 = FHEAP[_139];
    var _141 = _133 * _140;
    var _142 = _this+388+4;
    var _143 = FHEAP[_142];
    var _144 = _132 * _143;
    var _145 = _this+388;
    var _146 = FHEAP[_145];
    var _147 = _131 * _146;
    var _148 = _129 * _140;
    var _149 = _128 * _143;
    var _150 = _127 * _146;
    var _151 = _125 * _140;
    var _152 = _124 * _143;
    var _153 = _123 * _146;
    var _154 = _131 * _147;
    var _155 = _132 * _144;
    var _156 = _154 + _155;
    var _157 = _133 * _141;
    var _158 = _156 + _157;
    var _159 = _127 * _147;
    var _160 = _128 * _144;
    var _161 = _159 + _160;
    var _162 = _129 * _141;
    var _163 = _161 + _162;
    var _164 = _123 * _147;
    var _165 = _124 * _144;
    var _166 = _164 + _165;
    var _167 = _125 * _141;
    var _168 = _166 + _167;
    var _169 = _131 * _150;
    var _170 = _132 * _149;
    var _171 = _169 + _170;
    var _172 = _133 * _148;
    var _173 = _171 + _172;
    var _174 = _127 * _150;
    var _175 = _128 * _149;
    var _176 = _174 + _175;
    var _177 = _129 * _148;
    var _178 = _176 + _177;
    var _179 = _123 * _150;
    var _180 = _124 * _149;
    var _181 = _179 + _180;
    var _182 = _125 * _148;
    var _183 = _181 + _182;
    var _184 = _131 * _153;
    var _185 = _132 * _152;
    var _186 = _184 + _185;
    var _187 = _133 * _151;
    var _188 = _186 + _187;
    var _189 = _127 * _153;
    var _190 = _128 * _152;
    var _191 = _189 + _190;
    var _192 = _129 * _151;
    var _193 = _191 + _192;
    var _194 = _123 * _153;
    var _195 = _124 * _152;
    var _196 = _194 + _195;
    var _197 = _125 * _151;
    var _198 = _196 + _197;
    var _199 = _this+256;
    FHEAP[_199] = _198;
    var _200 = _this+256+4;
    FHEAP[_200] = _193;
    var _201 = _this+256+8;
    FHEAP[_201] = _188;
    var _202 = _this+256+12;
    FHEAP[_202] = 0;
    var _203 = _this+256+16;
    FHEAP[_203] = _183;
    var _204 = _this+256+16+4;
    FHEAP[_204] = _178;
    var _205 = _this+256+16+8;
    FHEAP[_205] = _173;
    var _206 = _this+256+16+12;
    FHEAP[_206] = 0;
    var _207 = _this+256+32;
    FHEAP[_207] = _168;
    var _208 = _this+256+32+4;
    FHEAP[_208] = _163;
    var _209 = _this+256+32+8;
    FHEAP[_209] = _158;
    var _210 = _this+256+32+12;
    FHEAP[_210] = 0;
    ;
    return;
  }
  __ZN11btRigidBody24setCenterOfMassTransformERK11btTransform.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody24setCenterOfMassTransformERK11btTransform, "__ZN11btRigidBody24setCenterOfMassTransformERK11btTransform");
  
  
  function __ZN11btRigidBody24checkCollideWithOverrideEP17btCollisionObject(_this, _co) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _co+232;
    var _1 = IHEAP[_0];
    var __lobit_i = _1 & 2;
    var _toBool_i = __lobit_i == 0;
    ;
    _bb12$__ZN11btRigidBody6upcastEP17btCollisionObject_exit$17851: do { 
      if (_toBool_i) {
        __lastLabel__ = -1; ;
      }
      else {
        __lastLabel__ = -1; ;
        var _2 = _co;
        var _3 = _co == 0;
        if (_3) { __lastLabel__ = 3289; __label__ = 3; /* _bb12 */ break _bb12$__ZN11btRigidBody6upcastEP17btCollisionObject_exit$17851; } else { __lastLabel__ = 3289; ; }
        var _4 = _this+476+12;
        var _5 = _this+476+4;
        var _6 = IHEAP[_5];
        __lastLabel__ = 720; ;
        _bb9$17854: while(1) { // _bb9
          var _16 = __lastLabel__ == 82 ? _15 : (0);
          var _17 = _6 > _16;
          if (_17) { __lastLabel__ = 62; ; } else { __lastLabel__ = 62; __label__ = 3; /* _bb12 */ break _bb12$__ZN11btRigidBody6upcastEP17btCollisionObject_exit$17851; }
          var _7 = IHEAP[_4];
          var _scevgep = _7+4*_16;
          var _8 = IHEAP[_scevgep];
          var _9 = _8+20;
          var _10 = IHEAP[_9];
          var _11 = _10 == _2;
          if (_11) { __lastLabel__ = 0; __label__ = 3; /* _bb12 */ break _bb12$__ZN11btRigidBody6upcastEP17btCollisionObject_exit$17851; } else { __lastLabel__ = 0; ; }
          var _12 = _8+24;
          var _13 = IHEAP[_12];
          var _14 = _13 == _2;
          if (_14) { __lastLabel__ = 116; __label__ = 3; /* _bb12 */ break _bb12$__ZN11btRigidBody6upcastEP17btCollisionObject_exit$17851; } else { __lastLabel__ = 116; ; }
          var _15 = _16 + 1;
          __lastLabel__ = 82; __label__ = 62; /* _bb9 */ continue _bb9$17854;
        }
      }
    } while(0);
    var __0 = __lastLabel__ == 3289 ? 1 : (__lastLabel__ == -1 ? 1 : (__lastLabel__ == 62 ? 1 : (__lastLabel__ == 0 ? 0 : (0))));
    ;
    return __0;
  }
  __ZN11btRigidBody24checkCollideWithOverrideEP17btCollisionObject.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody24checkCollideWithOverrideEP17btCollisionObject, "__ZN11btRigidBody24checkCollideWithOverrideEP17btCollisionObject");
  
  
  function __ZN11btRigidBody10setDampingEff(_this, _lin_damping, _ang_damping) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _lin_damping_addr;
    var _ang_damping_addr;
    var _0;
    var _1;
    _lin_damping_addr = _lin_damping;
    _ang_damping_addr = _ang_damping;
    _1 = 1;
    var _2 = _lin_damping >= 0;
    ;
    if (_2) {
      __lastLabel__ = -1; ;
      var _3 = _lin_damping > 1;
      var __val6 = _1;
      var _lin_damping_addr_val = _lin_damping_addr;
      var __pre = _3 ? __val6 : _lin_damping_addr_val;
      __lastLabel__ = 131; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _4 = __lastLabel__ == 131 ? __pre : (0);
    var _5 = _this+436;
    FHEAP[_5] = _4;
    _0 = 1;
    var _6 = _ang_damping >= 0;
    ;
    if (_6) {
      __lastLabel__ = 4206; ;
      var _7 = _ang_damping > 1;
      var __val = _0;
      var _ang_damping_addr_val = _ang_damping_addr;
      var __pre5 = _7 ? __val : _ang_damping_addr_val;
      __lastLabel__ = 654; ;
    }
    else {
      __lastLabel__ = 4206; ;
    }
    var _8 = __lastLabel__ == 654 ? __pre5 : (0);
    var _9 = _this+440;
    FHEAP[_9] = _8;
    ;
    return;
  }
  __ZN11btRigidBody10setDampingEff.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody10setDampingEff, "__ZN11btRigidBody10setDampingEff");
  
  
  function __ZN11btRigidBody14setupRigidBodyERKNS_27btRigidBodyConstructionInfoE(_this, _constructionInfo) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+232;
    IHEAP[_0] = 2;
    var _1 = _this+304;
    var _2 = _this+536;
    var _3 = _1;
    _llvm_memset_p0i8_i64(_3, 0, 32, 4, false);
    FHEAP[_2] = 1;
    var _4 = _this+536+4;
    FHEAP[_4] = 1;
    var _5 = _this+536+8;
    FHEAP[_5] = 1;
    var _6 = _this+536+12;
    FHEAP[_6] = 0;
    var _7 = _this+340;
    FHEAP[_7] = 1;
    var _8 = _this+340+4;
    FHEAP[_8] = 1;
    var _9 = _this+340+8;
    FHEAP[_9] = 1;
    var _10 = _this+340+12;
    var _11 = _this+356;
    var _12 = _this+356+4;
    var _13 = _this+356+8;
    var _14 = _this+356+12;
    var _15 = _this+372;
    var _16 = _this+372+4;
    var _17 = _this+372+8;
    var _18 = _this+404;
    var _19 = _this+436;
    var _20 = _this+440;
    var _21 = _10;
    _llvm_memset_p0i8_i64(_21, 0, 36, 4, false);
    var _22 = _18;
    _llvm_memset_p0i8_i64(_22, 0, 36, 4, false);
    FHEAP[_20] = 0.5;
    var _23 = _constructionInfo+108;
    var _24 = FHEAP[_23];
    var _25 = _this+464;
    FHEAP[_25] = _24;
    var _26 = _constructionInfo+112;
    var _27 = FHEAP[_26];
    var _28 = _this+468;
    FHEAP[_28] = _27;
    var _29 = _constructionInfo+4;
    var _30 = IHEAP[_29];
    var _31 = _this+472;
    IHEAP[_31] = _30;
    var _32 = _this+600;
    IHEAP[_32] = 0;
    var _33 = _this+604;
    IHEAP[_33] = 0;
    var _34 = _constructionInfo+116;
    var _35 = IHEAP[_34];
    var _36 = _this+444;
    IHEAP[_36] = _35;
    var _37 = _constructionInfo+120;
    var _38 = FHEAP[_37];
    var _39 = _this+448;
    FHEAP[_39] = _38;
    var _40 = _constructionInfo+124;
    var _41 = FHEAP[_40];
    var _42 = _this+452;
    FHEAP[_42] = _41;
    var _43 = _constructionInfo+128;
    var _44 = FHEAP[_43];
    var _45 = _this+456;
    FHEAP[_45] = _44;
    var _46 = _constructionInfo+132;
    var _47 = FHEAP[_46];
    var _48 = _this+460;
    FHEAP[_48] = _47;
    var _49 = _30 == 0;
    ;
    if (_49) {
      ;
      var _56 = _this+4;
      var _57 = _constructionInfo+8;
      var _58 = FHEAP[_57];
      FHEAP[_56] = _58;
      var _59 = _this+4+4;
      var _60 = _constructionInfo+8+4;
      var _61 = FHEAP[_60];
      FHEAP[_59] = _61;
      var _62 = _this+4+8;
      var _63 = _constructionInfo+8+8;
      var _64 = FHEAP[_63];
      FHEAP[_62] = _64;
      var _65 = _this+4+12;
      var _66 = _constructionInfo+8+12;
      var _67 = FHEAP[_66];
      FHEAP[_65] = _67;
      var _68 = _this+4+16;
      var _69 = _constructionInfo+8+16;
      var _70 = FHEAP[_69];
      FHEAP[_68] = _70;
      var _71 = _this+4+16+4;
      var _72 = _constructionInfo+8+16+4;
      var _73 = FHEAP[_72];
      FHEAP[_71] = _73;
      var _74 = _this+4+16+8;
      var _75 = _constructionInfo+8+16+8;
      var _76 = FHEAP[_75];
      FHEAP[_74] = _76;
      var _77 = _this+4+16+12;
      var _78 = _constructionInfo+8+16+12;
      var _79 = FHEAP[_78];
      FHEAP[_77] = _79;
      var _80 = _this+4+32;
      var _81 = _constructionInfo+8+32;
      var _82 = FHEAP[_81];
      FHEAP[_80] = _82;
      var _83 = _this+4+32+4;
      var _84 = _constructionInfo+8+32+4;
      var _85 = FHEAP[_84];
      FHEAP[_83] = _85;
      var _86 = _this+4+32+8;
      var _87 = _constructionInfo+8+32+8;
      var _88 = FHEAP[_87];
      FHEAP[_86] = _88;
      var _89 = _this+4+32+12;
      var _90 = _constructionInfo+8+32+12;
      var _91 = FHEAP[_90];
      FHEAP[_89] = _91;
      var _92 = _this+4+48;
      var _93 = _constructionInfo+8+48;
      var _94 = FHEAP[_93];
      FHEAP[_92] = _94;
      var _95 = _this+4+48+4;
      var _96 = _constructionInfo+8+48+4;
      var _97 = FHEAP[_96];
      FHEAP[_95] = _97;
      var _98 = _this+4+48+8;
      var _99 = _constructionInfo+8+48+8;
      var _100 = FHEAP[_99];
      FHEAP[_98] = _100;
      var _101 = _this+4+48+12;
      var _102 = _constructionInfo+8+48+12;
      var _103 = FHEAP[_102];
      FHEAP[_101] = _103;
      __lastLabel__ = 75; ;
    }
    else {
      ;
      var _50 = _30;
      var _51 = IHEAP[_50];
      var _52 = _51+8;
      var _53 = IHEAP[_52];
      var _54 = _this+4;
      var _55 = _53;
      FUNCTION_TABLE[_55](_30, _54);
      var __phi_trans_insert = _this+4;
      var __pre = FHEAP[__phi_trans_insert];
      var __phi_trans_insert5 = _this+4+4;
      var __pre6 = FHEAP[__phi_trans_insert5];
      var __phi_trans_insert7 = _this+4+8;
      var __pre8 = FHEAP[__phi_trans_insert7];
      var __phi_trans_insert9 = _this+4+12;
      var __pre10 = FHEAP[__phi_trans_insert9];
      var __phi_trans_insert11 = _this+4+16;
      var __pre12 = FHEAP[__phi_trans_insert11];
      var __phi_trans_insert13 = _this+4+16+4;
      var __pre14 = FHEAP[__phi_trans_insert13];
      var __phi_trans_insert15 = _this+4+16+8;
      var __pre16 = FHEAP[__phi_trans_insert15];
      var __phi_trans_insert17 = _this+4+16+12;
      var __pre18 = FHEAP[__phi_trans_insert17];
      var __phi_trans_insert19 = _this+4+32;
      var __pre20 = FHEAP[__phi_trans_insert19];
      var __phi_trans_insert21 = _this+4+32+4;
      var __pre22 = FHEAP[__phi_trans_insert21];
      var __phi_trans_insert23 = _this+4+32+8;
      var __pre24 = FHEAP[__phi_trans_insert23];
      var __phi_trans_insert25 = _this+4+32+12;
      var __pre26 = FHEAP[__phi_trans_insert25];
      var __phi_trans_insert27 = _this+4+48;
      var __pre28 = FHEAP[__phi_trans_insert27];
      var __phi_trans_insert29 = _this+4+48+4;
      var __pre30 = FHEAP[__phi_trans_insert29];
      var __phi_trans_insert31 = _this+4+48+8;
      var __pre32 = FHEAP[__phi_trans_insert31];
      var __phi_trans_insert33 = _this+4+48+12;
      var __pre34 = FHEAP[__phi_trans_insert33];
      __lastLabel__ = 60; ;
    }
    var _104 = __lastLabel__ == 75 ? _103 : (__pre34);
    var _105 = __lastLabel__ == 75 ? _100 : (__pre32);
    var _106 = __lastLabel__ == 75 ? _97 : (__pre30);
    var _107 = __lastLabel__ == 75 ? _94 : (__pre28);
    var _108 = __lastLabel__ == 75 ? _91 : (__pre26);
    var _109 = __lastLabel__ == 75 ? _88 : (__pre24);
    var _110 = __lastLabel__ == 75 ? _85 : (__pre22);
    var _111 = __lastLabel__ == 75 ? _82 : (__pre20);
    var _112 = __lastLabel__ == 75 ? _79 : (__pre18);
    var _113 = __lastLabel__ == 75 ? _76 : (__pre16);
    var _114 = __lastLabel__ == 75 ? _73 : (__pre14);
    var _115 = __lastLabel__ == 75 ? _70 : (__pre12);
    var _116 = __lastLabel__ == 75 ? _67 : (__pre10);
    var _117 = __lastLabel__ == 75 ? _64 : (__pre8);
    var _118 = __lastLabel__ == 75 ? _61 : (__pre6);
    var _119 = __lastLabel__ == 75 ? _58 : (__pre);
    var _120 = _this+68;
    var _121 = _this+4;
    FHEAP[_120] = _119;
    var _122 = _this+68+4;
    var _123 = _this+4+4;
    FHEAP[_122] = _118;
    var _124 = _this+68+8;
    var _125 = _this+4+8;
    FHEAP[_124] = _117;
    var _126 = _this+68+12;
    FHEAP[_126] = _116;
    var _127 = _this+68+16;
    var _128 = _this+4+16;
    FHEAP[_127] = _115;
    var _129 = _this+68+16+4;
    var _130 = _this+4+16+4;
    FHEAP[_129] = _114;
    var _131 = _this+68+16+8;
    var _132 = _this+4+16+8;
    FHEAP[_131] = _113;
    var _133 = _this+68+16+12;
    FHEAP[_133] = _112;
    var _134 = _this+68+32;
    var _135 = _this+4+32;
    FHEAP[_134] = _111;
    var _136 = _this+68+32+4;
    var _137 = _this+4+32+4;
    FHEAP[_136] = _110;
    var _138 = _this+68+32+8;
    var _139 = _this+4+32+8;
    FHEAP[_138] = _109;
    var _140 = _this+68+32+12;
    FHEAP[_140] = _108;
    var _141 = _this+68+48;
    FHEAP[_141] = _107;
    var _142 = _this+68+48+4;
    FHEAP[_142] = _106;
    var _143 = _this+68+48+8;
    FHEAP[_143] = _105;
    var _144 = _this+68+48+12;
    FHEAP[_144] = _104;
    var _145 = _this+132;
    var _146 = _constructionInfo+100;
    var _147 = _145;
    _llvm_memset_p0i8_i64(_147, 0, 32, 4, false);
    var _148 = FHEAP[_146];
    var _149 = _this+224;
    FHEAP[_149] = _148;
    var _150 = _constructionInfo+104;
    var _151 = FHEAP[_150];
    var _152 = _this+228;
    FHEAP[_152] = _151;
    var _153 = _this;
    var _154 = IHEAP[_153];
    var _155 = _154+12;
    var _156 = IHEAP[_155];
    var _157 = _constructionInfo+72;
    var _158 = IHEAP[_157];
    var _159 = _this;
    var _160 = _156;
    FUNCTION_TABLE[_160](_159, _158);
    var _161 = IHEAP[__ZL8uniqueId];
    var _162 = _this+500;
    IHEAP[_162] = _161;
    var _163 = _161 + 1;
    IHEAP[__ZL8uniqueId] = _163;
    var _164 = _constructionInfo;
    var _165 = FHEAP[_164];
    var _166 = _165 == 0;
    var _167 = _this+204;
    var _168 = IHEAP[_167];
    ;
    if (_166) {
      ;
      var _169 = _168 | 1;
      IHEAP[_167] = _169;
      var _170 = _this+336;
      FHEAP[_170] = 0;
      __lastLabel__ = 131; ;
    }
    else {
      ;
      var _171 = _168 & -2;
      IHEAP[_167] = _171;
      var _172 = 1 / _165;
      var _173 = _this+336;
      FHEAP[_173] = _172;
      __lastLabel__ = 159; ;
    }
    var _174 = __lastLabel__ == 159 ? _172 : (0);
    var _175 = FHEAP[_17];
    var _176 = _175 * _165;
    var _177 = FHEAP[_16];
    var _178 = _177 * _165;
    var _179 = FHEAP[_15];
    var _180 = _179 * _165;
    FHEAP[_11] = _180;
    FHEAP[_12] = _178;
    FHEAP[_13] = _176;
    FHEAP[_14] = 0;
    var _181 = _constructionInfo+76+8;
    var _182 = FHEAP[_181];
    var _183 = _182 != 0;
    ;
    if (_183) {
      __lastLabel__ = 132; ;
      var _184 = 1 / _182;
      __lastLabel__ = 133; ;
    }
    else {
      __lastLabel__ = 132; ;
    }
    var _185 = __lastLabel__ == 133 ? _184 : (0);
    var _186 = _constructionInfo+76+4;
    var _187 = FHEAP[_186];
    var _188 = _187 != 0;
    ;
    if (_188) {
      __lastLabel__ = 300; ;
      var _189 = 1 / _187;
      __lastLabel__ = 136; ;
    }
    else {
      __lastLabel__ = 300; ;
    }
    var _190 = __lastLabel__ == 136 ? _189 : (0);
    var _191 = _constructionInfo+76;
    var _192 = FHEAP[_191];
    var _193 = _192 != 0;
    ;
    if (_193) {
      __lastLabel__ = 2429; ;
      var _194 = 1 / _192;
      __lastLabel__ = 181; ;
    }
    else {
      __lastLabel__ = 2429; ;
    }
    var _195 = __lastLabel__ == 181 ? _194 : (0);
    var _196 = _this+388;
    FHEAP[_196] = _195;
    var _197 = _this+388+4;
    FHEAP[_197] = _190;
    var _198 = _this+388+8;
    FHEAP[_198] = _185;
    var _199 = _this+388+12;
    FHEAP[_199] = 0;
    var _200 = FHEAP[_9];
    var _201 = _200 * _174;
    var _202 = FHEAP[_8];
    var _203 = _202 * _174;
    var _204 = FHEAP[_7];
    var _205 = _204 * _174;
    var _206 = _this+552;
    FHEAP[_206] = _205;
    var _207 = _this+552+4;
    FHEAP[_207] = _203;
    var _208 = _this+552+8;
    FHEAP[_208] = _201;
    var _209 = _this+552+12;
    FHEAP[_209] = 0;
    var _210 = _constructionInfo+96;
    var _211 = FHEAP[_210];
    var _212 = _constructionInfo+92;
    var _213 = FHEAP[_212];
    var _214 = _213 >= 0;
    ;
    if (_214) {
      __lastLabel__ = 4208; ;
      var _215 = _213 > 1;
      var __pre_i = _215 ? 1 : _213;
      __lastLabel__ = 263; ;
    }
    else {
      __lastLabel__ = 4208; ;
    }
    var _216 = __lastLabel__ == 263 ? __pre_i : (0);
    FHEAP[_19] = _216;
    var _217 = _211 >= 0;
    ;
    if (_217) {
      __lastLabel__ = 4209; ;
      var _218 = _211 > 1;
      var __pre5_i = _218 ? 1 : _211;
      __lastLabel__ = 215; ;
    }
    else {
      __lastLabel__ = 4209; ;
    }
    var _219 = __lastLabel__ == 215 ? __pre5_i : (0);
    FHEAP[_20] = _219;
    var _220 = FHEAP[_121];
    var _221 = FHEAP[_128];
    var _222 = FHEAP[_135];
    var _223 = FHEAP[_123];
    var _224 = FHEAP[_130];
    var _225 = FHEAP[_137];
    var _226 = FHEAP[_125];
    var _227 = FHEAP[_132];
    var _228 = FHEAP[_139];
    var _229 = _228 * _185;
    var _230 = _225 * _190;
    var _231 = _222 * _195;
    var _232 = _227 * _185;
    var _233 = _224 * _190;
    var _234 = _221 * _195;
    var _235 = _226 * _185;
    var _236 = _223 * _190;
    var _237 = _220 * _195;
    var _238 = _222 * _231;
    var _239 = _225 * _230;
    var _240 = _238 + _239;
    var _241 = _228 * _229;
    var _242 = _240 + _241;
    var _243 = _221 * _231;
    var _244 = _224 * _230;
    var _245 = _243 + _244;
    var _246 = _227 * _229;
    var _247 = _245 + _246;
    var _248 = _220 * _231;
    var _249 = _223 * _230;
    var _250 = _248 + _249;
    var _251 = _226 * _229;
    var _252 = _250 + _251;
    var _253 = _222 * _234;
    var _254 = _225 * _233;
    var _255 = _253 + _254;
    var _256 = _228 * _232;
    var _257 = _255 + _256;
    var _258 = _221 * _234;
    var _259 = _224 * _233;
    var _260 = _258 + _259;
    var _261 = _227 * _232;
    var _262 = _260 + _261;
    var _263 = _220 * _234;
    var _264 = _223 * _233;
    var _265 = _263 + _264;
    var _266 = _226 * _232;
    var _267 = _265 + _266;
    var _268 = _222 * _237;
    var _269 = _225 * _236;
    var _270 = _268 + _269;
    var _271 = _228 * _235;
    var _272 = _270 + _271;
    var _273 = _221 * _237;
    var _274 = _224 * _236;
    var _275 = _273 + _274;
    var _276 = _227 * _235;
    var _277 = _275 + _276;
    var _278 = _220 * _237;
    var _279 = _223 * _236;
    var _280 = _278 + _279;
    var _281 = _226 * _235;
    var _282 = _280 + _281;
    var _283 = _this+256;
    FHEAP[_283] = _282;
    var _284 = _this+256+4;
    FHEAP[_284] = _277;
    var _285 = _this+256+8;
    FHEAP[_285] = _272;
    var _286 = _this+256+12;
    FHEAP[_286] = 0;
    var _287 = _this+256+16;
    FHEAP[_287] = _267;
    var _288 = _this+256+16+4;
    FHEAP[_288] = _262;
    var _289 = _this+256+16+8;
    FHEAP[_289] = _257;
    var _290 = _this+256+16+12;
    FHEAP[_290] = 0;
    var _291 = _this+256+32;
    FHEAP[_291] = _252;
    var _292 = _this+256+32+4;
    FHEAP[_292] = _247;
    var _293 = _this+256+32+8;
    FHEAP[_293] = _242;
    var _294 = _this+256+32+12;
    FHEAP[_294] = 0;
    var _295 = _this+496;
    IHEAP[_295] = 0;
    var _296 = _this+504;
    var _297 = _296;
    _llvm_memset_p0i8_i64(_297, 0, 32, 4, false);
    FHEAP[_206] = _205;
    FHEAP[_207] = _203;
    FHEAP[_208] = _201;
    var _298 = _209;
    _llvm_memset_p0i8_i64(_298, 0, 36, 4, false);
    ;
    return;
  }
  __ZN11btRigidBody14setupRigidBodyERKNS_27btRigidBodyConstructionInfoE.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody14setupRigidBodyERKNS_27btRigidBodyConstructionInfoE, "__ZN11btRigidBody14setupRigidBodyERKNS_27btRigidBodyConstructionInfoE");
  
  
  function __ZN11btRigidBody19removeConstraintRefEP17btTypedConstraint(_this, _c) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+476+4;
    var _1 = IHEAP[_0];
    var _2 = _this+476+12;
    __lastLabel__ = -1; ;
    _bb3_i_i$17892: while(1) { // _bb3_i_i
      var _7 = __lastLabel__ == -1 ? 0 : (_6);
      var _8 = _1 > _7;
      if (_8) { __lastLabel__ = 324; ; } else { __lastLabel__ = 324; __label__ = 3215; /* __ZNK20btAlignedObjectArrayIP17btTypedConstraintE16findLinearSearchERKS1__exit_i */ break _bb3_i_i$17892; }
      var _3 = IHEAP[_2];
      var _scevgep_i_i = _3+4*_7;
      var _4 = IHEAP[_scevgep_i_i];
      var _5 = _4 == _c;
      if (_5) { __lastLabel__ = 263; __label__ = 3215; /* __ZNK20btAlignedObjectArrayIP17btTypedConstraintE16findLinearSearchERKS1__exit_i */ break _bb3_i_i$17892; } else { __lastLabel__ = 263; ; }
      var _6 = _7 + 1;
      __lastLabel__ = 628; __label__ = 324; /* _bb3_i_i */ continue _bb3_i_i$17892;
    }
    var _index_0_i_i = __lastLabel__ == 324 ? _1 : (_7);
    var _9 = _1 > _index_0_i_i;
    ;
    if (_9) {
      __lastLabel__ = 3215; ;
      var _10 = _1 + -1;
      var _11 = IHEAP[_2];
      var _12 = _11+4*_index_0_i_i;
      var _13 = IHEAP[_12];
      var _14 = _11+4*_10;
      var _15 = IHEAP[_14];
      IHEAP[_12] = _15;
      var _16 = IHEAP[_2];
      var _17 = _16+4*_10;
      IHEAP[_17] = _13;
      var _18 = IHEAP[_0];
      var _19 = _18 + -1;
      IHEAP[_0] = _19;
      __lastLabel__ = 131; ;
    }
    else {
      __lastLabel__ = 3215; ;
    }
    var _20 = __lastLabel__ == 3215 ? _1 : (_19);
    var _21 = _20 > 0;
    var _22 = _21;
    var _23 = _this+252;
    IHEAP[_23] = _22;
    ;
    return;
  }
  __ZN11btRigidBody19removeConstraintRefEP17btTypedConstraint.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody19removeConstraintRefEP17btTypedConstraint, "__ZN11btRigidBody19removeConstraintRefEP17btTypedConstraint");
  
  
  function __ZNK11btRigidBody14getOrientationEv(_agg_result, _this) {
    ;
    var __label__;
    var _0 = _this+4;
    __ZNK11btMatrix3x311getRotationER12btQuaternion(_0, _agg_result);
    ;
    return;
  }
  __ZNK11btRigidBody14getOrientationEv.__index__ = Runtime.getFunctionIndex(__ZNK11btRigidBody14getOrientationEv, "__ZNK11btRigidBody14getOrientationEv");
  
  
  function __ZN11btRigidBody25internalWritebackVelocityEf(_this, _timeStep) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var _newTransform = __stackBase__;
    var _0 = _this+336;
    var _1 = FHEAP[_0];
    var _2 = _1 != 0;
    ;
    if (_2) {
      ;
      var _3 = _this+304+8;
      var _4 = FHEAP[_3];
      var _5 = _this+504+8;
      var _6 = FHEAP[_5];
      var _7 = _4 + _6;
      var _8 = _this+304+4;
      var _9 = FHEAP[_8];
      var _10 = _this+504+4;
      var _11 = FHEAP[_10];
      var _12 = _9 + _11;
      var _13 = _this+304;
      var _14 = FHEAP[_13];
      var _15 = _this+504;
      var _16 = FHEAP[_15];
      var _17 = _14 + _16;
      FHEAP[_13] = _17;
      FHEAP[_8] = _12;
      FHEAP[_3] = _7;
      var _18 = _this+304+12;
      FHEAP[_18] = 0;
      var _19 = _this+320+8;
      var _20 = FHEAP[_19];
      var _21 = _this+520+8;
      var _22 = FHEAP[_21];
      var _23 = _20 + _22;
      var _24 = _this+320+4;
      var _25 = FHEAP[_24];
      var _26 = _this+520+4;
      var _27 = FHEAP[_26];
      var _28 = _25 + _27;
      var _29 = _this+320;
      var _30 = FHEAP[_29];
      var _31 = _this+520;
      var _32 = FHEAP[_31];
      var _33 = _30 + _32;
      FHEAP[_29] = _33;
      FHEAP[_24] = _28;
      FHEAP[_19] = _23;
      var _34 = _this+320+12;
      FHEAP[_34] = 0;
      var _35 = _this+584;
      var _36 = _this+568;
      var _37 = _this+4;
      __ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(_37, _36, _35, _timeStep, _newTransform);
      var _38 = _this+4;
      var _39 = _newTransform;
      var _40 = FHEAP[_39];
      FHEAP[_38] = _40;
      var _41 = _this+4+4;
      var _42 = _newTransform+4;
      var _43 = FHEAP[_42];
      FHEAP[_41] = _43;
      var _44 = _this+4+8;
      var _45 = _newTransform+8;
      var _46 = FHEAP[_45];
      FHEAP[_44] = _46;
      var _47 = _this+4+12;
      var _48 = _newTransform+12;
      var _49 = FHEAP[_48];
      FHEAP[_47] = _49;
      var _50 = _this+4+16;
      var _51 = _newTransform+16;
      var _52 = FHEAP[_51];
      FHEAP[_50] = _52;
      var _53 = _this+4+16+4;
      var _54 = _newTransform+16+4;
      var _55 = FHEAP[_54];
      FHEAP[_53] = _55;
      var _56 = _this+4+16+8;
      var _57 = _newTransform+16+8;
      var _58 = FHEAP[_57];
      FHEAP[_56] = _58;
      var _59 = _this+4+16+12;
      var _60 = _newTransform+16+12;
      var _61 = FHEAP[_60];
      FHEAP[_59] = _61;
      var _62 = _this+4+32;
      var _63 = _newTransform+32;
      var _64 = FHEAP[_63];
      FHEAP[_62] = _64;
      var _65 = _this+4+32+4;
      var _66 = _newTransform+32+4;
      var _67 = FHEAP[_66];
      FHEAP[_65] = _67;
      var _68 = _this+4+32+8;
      var _69 = _newTransform+32+8;
      var _70 = FHEAP[_69];
      FHEAP[_68] = _70;
      var _71 = _this+4+32+12;
      var _72 = _newTransform+32+12;
      var _73 = FHEAP[_72];
      FHEAP[_71] = _73;
      var _74 = _this+4+48;
      var _75 = _newTransform+48;
      var _76 = FHEAP[_75];
      FHEAP[_74] = _76;
      var _77 = _this+4+48+4;
      var _78 = _newTransform+48+4;
      var _79 = FHEAP[_78];
      FHEAP[_77] = _79;
      var _80 = _this+4+48+8;
      var _81 = _newTransform+48+8;
      var _82 = FHEAP[_81];
      FHEAP[_80] = _82;
      var _83 = _this+4+48+12;
      var _84 = _newTransform+48+12;
      var _85 = FHEAP[_84];
      FHEAP[_83] = _85;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN11btRigidBody25internalWritebackVelocityEf.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody25internalWritebackVelocityEf, "__ZN11btRigidBody25internalWritebackVelocityEf");
  
  
  function __ZN11btRigidBody26predictIntegratedTransformEfR11btTransform(_this, _timeStep, _predictedTransform) {
    ;
    var __label__;
    var _0 = _this+320;
    var _1 = _this+304;
    var _2 = _this+4;
    __ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(_2, _1, _0, _timeStep, _predictedTransform);
    ;
    return;
  }
  __ZN11btRigidBody26predictIntegratedTransformEfR11btTransform.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody26predictIntegratedTransformEfR11btTransform, "__ZN11btRigidBody26predictIntegratedTransformEfR11btTransform");
  
  
  function __ZN11btRigidBody18saveKinematicStateEf(_this, _timeStep) {
    var __stackBase__  = STACKTOP; STACKTOP += 17;
    var __label__;
    var _axis_i = __stackBase__;
    var _angle_i = __stackBase__+16;
    var _0 = _timeStep != 0;
    ;
    if (_0) {
      ;
      var _1 = _this+472;
      var _2 = IHEAP[_1];
      var _3 = _2 == 0;
      ;
      if (!_3) {
        ;
        var _4 = _2;
        var _5 = IHEAP[_4];
        var _6 = _5+8;
        var _7 = IHEAP[_6];
        var _8 = _this+4;
        var _9 = _7;
        FUNCTION_TABLE[_9](_2, _8);
        ;
      }
      var _10 = _this+4;
      var _11 = _this+68;
      var _12 = _this+4+48+8;
      var _13 = FHEAP[_12];
      var _14 = _this+68+48+8;
      var _15 = FHEAP[_14];
      var _16 = _13 - _15;
      var _17 = _this+4+48+4;
      var _18 = FHEAP[_17];
      var _19 = _this+68+48+4;
      var _20 = FHEAP[_19];
      var _21 = _18 - _20;
      var _22 = _this+4+48;
      var _23 = FHEAP[_22];
      var _24 = _this+68+48;
      var _25 = FHEAP[_24];
      var _26 = _23 - _25;
      var _27 = 1 / _timeStep;
      var _28 = _16 * _27;
      var _29 = _21 * _27;
      var _30 = _26 * _27;
      var _31 = _this+304;
      FHEAP[_31] = _30;
      var _32 = _this+304+4;
      FHEAP[_32] = _29;
      var _33 = _this+304+8;
      FHEAP[_33] = _28;
      var _34 = _this+304+12;
      FHEAP[_34] = 0;
      __ZN15btTransformUtil22calculateDiffAxisAngleERK11btTransformS2_R9btVector3Rf(_11, _10, _axis_i, _angle_i);
      var _35 = _axis_i+8;
      var _36 = FHEAP[_35];
      var _37 = FHEAP[_angle_i];
      var _38 = _36 * _37;
      var _39 = _axis_i+4;
      var _40 = FHEAP[_39];
      var _41 = _40 * _37;
      var _42 = _axis_i;
      var _43 = FHEAP[_42];
      var _44 = _43 * _37;
      var _45 = _38 * _27;
      var _46 = _41 * _27;
      var _47 = _44 * _27;
      var _48 = _this+320;
      FHEAP[_48] = _47;
      var _49 = _this+320+4;
      FHEAP[_49] = _46;
      var _50 = _this+320+8;
      FHEAP[_50] = _45;
      var _51 = _this+320+12;
      FHEAP[_51] = 0;
      var _52 = _this+132;
      var _53 = FHEAP[_31];
      FHEAP[_52] = _53;
      var _54 = _this+132+4;
      var _55 = FHEAP[_32];
      FHEAP[_54] = _55;
      var _56 = _this+132+8;
      var _57 = FHEAP[_33];
      FHEAP[_56] = _57;
      var _58 = _this+132+12;
      var _59 = FHEAP[_34];
      FHEAP[_58] = _59;
      var _60 = _this+148;
      FHEAP[_60] = _47;
      var _61 = _this+148+4;
      FHEAP[_61] = _46;
      var _62 = _this+148+8;
      FHEAP[_62] = _45;
      var _63 = _this+148+12;
      FHEAP[_63] = 0;
      var _64 = _this+68;
      var _65 = _this+4;
      var _66 = FHEAP[_65];
      FHEAP[_64] = _66;
      var _67 = _this+68+4;
      var _68 = _this+4+4;
      var _69 = FHEAP[_68];
      FHEAP[_67] = _69;
      var _70 = _this+68+8;
      var _71 = _this+4+8;
      var _72 = FHEAP[_71];
      FHEAP[_70] = _72;
      var _73 = _this+68+12;
      var _74 = _this+4+12;
      var _75 = FHEAP[_74];
      FHEAP[_73] = _75;
      var _76 = _this+68+16;
      var _77 = _this+4+16;
      var _78 = FHEAP[_77];
      FHEAP[_76] = _78;
      var _79 = _this+68+16+4;
      var _80 = _this+4+16+4;
      var _81 = FHEAP[_80];
      FHEAP[_79] = _81;
      var _82 = _this+68+16+8;
      var _83 = _this+4+16+8;
      var _84 = FHEAP[_83];
      FHEAP[_82] = _84;
      var _85 = _this+68+16+12;
      var _86 = _this+4+16+12;
      var _87 = FHEAP[_86];
      FHEAP[_85] = _87;
      var _88 = _this+68+32;
      var _89 = _this+4+32;
      var _90 = FHEAP[_89];
      FHEAP[_88] = _90;
      var _91 = _this+68+32+4;
      var _92 = _this+4+32+4;
      var _93 = FHEAP[_92];
      FHEAP[_91] = _93;
      var _94 = _this+68+32+8;
      var _95 = _this+4+32+8;
      var _96 = FHEAP[_95];
      FHEAP[_94] = _96;
      var _97 = _this+68+32+12;
      var _98 = _this+4+32+12;
      var _99 = FHEAP[_98];
      FHEAP[_97] = _99;
      var _100 = FHEAP[_22];
      FHEAP[_24] = _100;
      var _101 = FHEAP[_17];
      FHEAP[_19] = _101;
      var _102 = FHEAP[_12];
      FHEAP[_14] = _102;
      var _103 = _this+68+48+12;
      var _104 = _this+4+48+12;
      var _105 = FHEAP[_104];
      FHEAP[_103] = _105;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN11btRigidBody18saveKinematicStateEf.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody18saveKinematicStateEf, "__ZN11btRigidBody18saveKinematicStateEf");
  
  
  function __ZNK21btSimpleDynamicsWorld10getGravityEv(_agg_result, _this) {
    ;
    var __label__;
    var _0 = _agg_result;
    var _1 = _this+184;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _agg_result+4;
    var _4 = _this+184+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _agg_result+8;
    var _7 = _this+184+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _agg_result+12;
    var _10 = _this+184+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    ;
    return;
  }
  __ZNK21btSimpleDynamicsWorld10getGravityEv.__index__ = Runtime.getFunctionIndex(__ZNK21btSimpleDynamicsWorld10getGravityEv, "__ZNK21btSimpleDynamicsWorld10getGravityEv");
  
  
  function __ZN21btSimpleDynamicsWorld19getConstraintSolverEv(_this) {
    ;
    var __label__;
    var _0 = _this+176;
    var _1 = IHEAP[_0];
    ;
    return _1;
  }
  __ZN21btSimpleDynamicsWorld19getConstraintSolverEv.__index__ = Runtime.getFunctionIndex(__ZN21btSimpleDynamicsWorld19getConstraintSolverEv, "__ZN21btSimpleDynamicsWorld19getConstraintSolverEv");
  
  
  function __ZN21btSimpleDynamicsWorld23synchronizeMotionStatesEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_return$18026: do { 
      if (_2) {
        ;
        var _3 = _this+4+12;
        __lastLabel__ = 130; ;
        _bb$18028: while(1) { // _bb
          var _i_012 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _i_012 + 1;
          var _4 = IHEAP[_3];
          var _scevgep = _4+4*_i_012;
          var _5 = IHEAP[_scevgep];
          var _6 = _5+232;
          var _7 = IHEAP[_6];
          var __lobit_i = _7 & 2;
          var _toBool_i = __lobit_i == 0;
          var _8 = _5 == 0;
          var _or_cond = _toBool_i | _8;
          ;
          _bb8$_bb1$18030: do { 
            if (!_or_cond) {
              ;
              var _9 = _5+256+216;
              var _10 = _9;
              var _11 = IHEAP[_10];
              var _12 = _11 == 0;
              if (_12) { __label__ = 148; /* _bb8 */ break _bb8$_bb1$18030; }
              var _13 = _5+216;
              var _14 = IHEAP[_13];
              var _15 = _14 == 2;
              if (_15) { __label__ = 148; /* _bb8 */ break _bb8$_bb1$18030; }
              var _16 = _11;
              var _17 = IHEAP[_16];
              var _18 = _17+12;
              var _19 = IHEAP[_18];
              var _20 = _5+4;
              var _21 = _19;
              FUNCTION_TABLE[_21](_11, _20);
              ;
            }
          } while(0);
          var _22 = IHEAP[_0];
          var _23 = _22 > _tmp;
          if (_23) { __lastLabel__ = 148; __label__ = 60; /* _bb */ continue _bb$18028; } else { __lastLabel__ = 148; __label__ = 44; /* _return */ break _bb_nph$_return$18026; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN21btSimpleDynamicsWorld23synchronizeMotionStatesEv.__index__ = Runtime.getFunctionIndex(__ZN21btSimpleDynamicsWorld23synchronizeMotionStatesEv, "__ZN21btSimpleDynamicsWorld23synchronizeMotionStatesEv");
  
  
  function __ZN21btSimpleDynamicsWorld11updateAabbsEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _minAabb = __stackBase__;
    var _maxAabb = __stackBase__+16;
    var _0 = _this+4+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_return$18037: do { 
      if (_2) {
        ;
        var _3 = _this+4+12;
        var _4 = _this+80;
        var _5 = _this+24;
        __lastLabel__ = 130; ;
        _bb$18039: while(1) { // _bb
          var _i_024 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _i_024 + 1;
          var _6 = IHEAP[_3];
          var _scevgep = _6+4*_i_024;
          var _7 = IHEAP[_scevgep];
          var _8 = _7+232;
          var _9 = IHEAP[_8];
          var __lobit_i = _9 & 2;
          var _toBool_i = __lobit_i == 0;
          var _10 = _7 == 0;
          var _or_cond = _toBool_i | _10;
          ;
          _bb18$_bb1$18041: do { 
            if (!_or_cond) {
              ;
              var _11 = _7+216;
              var _12 = IHEAP[_11];
              if (_12 == 2) {
                __label__ = 86; /* _bb18 */ break _bb18$_bb1$18041;
              }
              else if (_12 == 5) {
                __label__ = 86; /* _bb18 */ break _bb18$_bb1$18041;
              }
              else {
              ;
              }
              
              var _13 = _7+204;
              var _14 = IHEAP[_13];
              var _15 = _14 & 1;
              var _toBool9not = _15 == 0;
              if (!(_toBool9not)) { __label__ = 86; /* _bb18 */ break _bb18$_bb1$18041; }
              var _16 = _7+192;
              var _17 = IHEAP[_16];
              var _18 = _17;
              var _19 = IHEAP[_18];
              var _20 = _19+8;
              var _21 = IHEAP[_20];
              var _22 = _7+4;
              var _23 = _21;
              FUNCTION_TABLE[_23](_17, _22, _minAabb, _maxAabb);
              var _24 = IHEAP[_4];
              var _25 = _24;
              var _26 = IHEAP[_25];
              var _27 = _26+16;
              var _28 = IHEAP[_27];
              var _29 = IHEAP[_5];
              var _30 = _7+188;
              var _31 = IHEAP[_30];
              var _32 = _28;
              FUNCTION_TABLE[_32](_24, _31, _minAabb, _maxAabb, _29);
              ;
            }
          } while(0);
          var _33 = IHEAP[_0];
          var _34 = _33 > _tmp;
          if (_34) { __lastLabel__ = 86; __label__ = 60; /* _bb */ continue _bb$18039; } else { __lastLabel__ = 86; __label__ = 44; /* _return */ break _bb_nph$_return$18037; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN21btSimpleDynamicsWorld11updateAabbsEv.__index__ = Runtime.getFunctionIndex(__ZN21btSimpleDynamicsWorld11updateAabbsEv, "__ZN21btSimpleDynamicsWorld11updateAabbsEv");
  
  
  function __ZN21btSimpleDynamicsWorld11clearForcesEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_return$18048: do { 
      if (_2) {
        ;
        var _3 = _this+4+12;
        __lastLabel__ = 130; ;
        _bb$18050: while(1) { // _bb
          var _i_05 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _i_05 + 1;
          var _4 = IHEAP[_3];
          var _scevgep = _4+4*_i_05;
          var _5 = IHEAP[_scevgep];
          var _6 = _5+232;
          var _7 = IHEAP[_6];
          var __lobit_i = _7 & 2;
          var _toBool_i = __lobit_i == 0;
          var _8 = _5 == 0;
          var _or_cond = _toBool_i | _8;
          ;
          if (!_or_cond) {
            ;
            var _9 = _5+256+148;
            var _10 = _9;
            _llvm_memset_p0i8_i64(_10, 0, 32, 4, false);
            ;
          }
          var _11 = IHEAP[_0];
          var _12 = _11 > _tmp;
          if (_12) { __lastLabel__ = 0; __label__ = 60; /* _bb */ continue _bb$18050; } else { __lastLabel__ = 0; __label__ = 44; /* _return */ break _bb_nph$_return$18048; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN21btSimpleDynamicsWorld11clearForcesEv.__index__ = Runtime.getFunctionIndex(__ZN21btSimpleDynamicsWorld11clearForcesEv, "__ZN21btSimpleDynamicsWorld11clearForcesEv");
  
  
  function __ZN21btSimpleDynamicsWorld19setConstraintSolverEP18btConstraintSolver(_this, _solver) {
    ;
    var __label__;
    var _0 = _this+180;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    ;
    if (!_toBool) {
      ;
      var _2 = _this+176;
      var _3 = IHEAP[_2];
      var _4 = _3;
      __Z21btAlignedFreeInternalPv(_4);
      ;
    }
    IHEAP[_0] = 0;
    var _5 = _this+176;
    IHEAP[_5] = _solver;
    ;
    return;
  }
  __ZN21btSimpleDynamicsWorld19setConstraintSolverEP18btConstraintSolver.__index__ = Runtime.getFunctionIndex(__ZN21btSimpleDynamicsWorld19setConstraintSolverEP18btConstraintSolver, "__ZN21btSimpleDynamicsWorld19setConstraintSolverEP18btConstraintSolver");
  
  
  function __ZN21btSimpleDynamicsWorld25predictUnconstraintMotionEf(_this, _timeStep) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_return$18061: do { 
      if (_2) {
        ;
        var _3 = _this+4+12;
        __lastLabel__ = 130; ;
        _bb$18063: while(1) { // _bb
          var _i_013 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _i_013 + 1;
          var _4 = IHEAP[_3];
          var _scevgep = _4+4*_i_013;
          var _5 = IHEAP[_scevgep];
          var _6 = _5+232;
          var _7 = IHEAP[_6];
          var __lobit_i = _7 & 2;
          var _toBool_i = __lobit_i == 0;
          ;
          _bb7$__ZN11btRigidBody6upcastEP17btCollisionObject_exit$18065: do { 
            if (!_toBool_i) {
              ;
              var _8 = _5;
              var _9 = _5 == 0;
              if (_9) { __label__ = 2; /* _bb7 */ break _bb7$__ZN11btRigidBody6upcastEP17btCollisionObject_exit$18065; }
              var _10 = _5+204;
              var _11 = IHEAP[_10];
              var _12 = _11 & 1;
              var _toBoolnot = _12 == 0;
              if (!(_toBoolnot)) { __label__ = 2; /* _bb7 */ break _bb7$__ZN11btRigidBody6upcastEP17btCollisionObject_exit$18065; }
              var _13 = _5+216;
              var _14 = IHEAP[_13];
              if (_14 == 2) {
                __label__ = 2; /* _bb7 */ break _bb7$__ZN11btRigidBody6upcastEP17btCollisionObject_exit$18065;
              }
              else if (_14 == 5) {
                __label__ = 2; /* _bb7 */ break _bb7$__ZN11btRigidBody6upcastEP17btCollisionObject_exit$18065;
              }
              else {
              ;
              }
              
              __ZN11btRigidBody12applyGravityEv(_8);
              __ZN11btRigidBody19integrateVelocitiesEf(_8, _timeStep);
              __ZN11btRigidBody12applyDampingEf(_8, _timeStep);
              var _15 = _5+68;
              __ZN11btRigidBody26predictIntegratedTransformEfR11btTransform(_8, _timeStep, _15);
              ;
            }
          } while(0);
          var _16 = IHEAP[_0];
          var _17 = _16 > _tmp;
          if (_17) { __lastLabel__ = 2; __label__ = 60; /* _bb */ continue _bb$18063; } else { __lastLabel__ = 2; __label__ = 44; /* _return */ break _bb_nph$_return$18061; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN21btSimpleDynamicsWorld25predictUnconstraintMotionEf.__index__ = Runtime.getFunctionIndex(__ZN21btSimpleDynamicsWorld25predictUnconstraintMotionEf, "__ZN21btSimpleDynamicsWorld25predictUnconstraintMotionEf");
  
  
  function __ZN21btSimpleDynamicsWorld19integrateTransformsEf(_this, _timeStep) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var __lastLabel__ = null;
    var _predictedTrans = __stackBase__;
    var _0 = _this+4+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_return$18073: do { 
      if (_2) {
        ;
        var _3 = _this+4+12;
        __lastLabel__ = 130; ;
        _bb$18075: while(1) { // _bb
          var _i_024 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _i_024 + 1;
          var _4 = IHEAP[_3];
          var _scevgep = _4+4*_i_024;
          var _5 = IHEAP[_scevgep];
          var _6 = _5+232;
          var _7 = IHEAP[_6];
          var __lobit_i = _7 & 2;
          var _toBool_i = __lobit_i == 0;
          ;
          _bb18$__ZN11btRigidBody6upcastEP17btCollisionObject_exit$18077: do { 
            if (!_toBool_i) {
              ;
              var _8 = _5;
              var _9 = _5 == 0;
              if (_9) { __label__ = 86; /* _bb18 */ break _bb18$__ZN11btRigidBody6upcastEP17btCollisionObject_exit$18077; }
              var _10 = _5+216;
              var _11 = IHEAP[_10];
              if (_11 == 2) {
                __label__ = 86; /* _bb18 */ break _bb18$__ZN11btRigidBody6upcastEP17btCollisionObject_exit$18077;
              }
              else if (_11 == 5) {
                __label__ = 86; /* _bb18 */ break _bb18$__ZN11btRigidBody6upcastEP17btCollisionObject_exit$18077;
              }
              else {
              ;
              }
              
              var _12 = _5+204;
              var _13 = IHEAP[_12];
              var _14 = _13 & 1;
              var _toBool9not = _14 == 0;
              if (!(_toBool9not)) { __label__ = 86; /* _bb18 */ break _bb18$__ZN11btRigidBody6upcastEP17btCollisionObject_exit$18077; }
              __ZN11btRigidBody26predictIntegratedTransformEfR11btTransform(_8, _timeStep, _predictedTrans);
              __ZN11btRigidBody18proceedToTransformERK11btTransform(_8, _predictedTrans);
              ;
            }
          } while(0);
          var _15 = IHEAP[_0];
          var _16 = _15 > _tmp;
          if (_16) { __lastLabel__ = 86; __label__ = 60; /* _bb */ continue _bb$18075; } else { __lastLabel__ = 86; __label__ = 44; /* _return */ break _bb_nph$_return$18073; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN21btSimpleDynamicsWorld19integrateTransformsEf.__index__ = Runtime.getFunctionIndex(__ZN21btSimpleDynamicsWorld19integrateTransformsEf, "__ZN21btSimpleDynamicsWorld19integrateTransformsEf");
  
  
  function __ZN21btSimpleDynamicsWorld12addRigidBodyEP11btRigidBody(_this, _body) {
    ;
    var __label__;
    var _0 = _this+184;
    __ZN11btRigidBody10setGravityERK9btVector3(_body, _0);
    var _1 = _body+192;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (_3) {
      ;
      ;
      return;
    }
    else {
      ;
      var _4 = _this;
      var _5 = IHEAP[_4];
      var _6 = _5+32;
      var _7 = IHEAP[_6];
      var _8 = _body;
      var _9 = _this;
      var _10 = _7;
      FUNCTION_TABLE[_10](_9, _8, 1, -1);
      ;
      return;
    }
  }
  __ZN21btSimpleDynamicsWorld12addRigidBodyEP11btRigidBody.__index__ = Runtime.getFunctionIndex(__ZN21btSimpleDynamicsWorld12addRigidBodyEP11btRigidBody, "__ZN21btSimpleDynamicsWorld12addRigidBodyEP11btRigidBody");
  
  
  function __ZN21btSimpleDynamicsWorld10setGravityERK9btVector3(_this, _gravity) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+184;
    var _1 = _gravity;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _this+184+4;
    var _4 = _gravity+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+184+8;
    var _7 = _gravity+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+184+12;
    var _10 = _gravity+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _this+4+4;
    var _13 = IHEAP[_12];
    var _14 = _13 > 0;
    ;
    _bb_nph$_return$18115: do { 
      if (_14) {
        ;
        var _15 = _this+4+12;
        __lastLabel__ = 130; ;
        _bb$18117: while(1) { // _bb
          var _i_05 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _i_05 + 1;
          var _16 = IHEAP[_15];
          var _scevgep = _16+4*_i_05;
          var _17 = IHEAP[_scevgep];
          var _18 = _17+232;
          var _19 = IHEAP[_18];
          var __lobit_i = _19 & 2;
          var _toBool_i = __lobit_i == 0;
          var _20 = _17 == 0;
          var _or_cond = _toBool_i | _20;
          ;
          if (!_or_cond) {
            ;
            var _21 = _17;
            __ZN11btRigidBody10setGravityERK9btVector3(_21, _gravity);
            ;
          }
          var _22 = IHEAP[_12];
          var _23 = _22 > _tmp;
          if (_23) { __lastLabel__ = 0; __label__ = 60; /* _bb */ continue _bb$18117; } else { __lastLabel__ = 0; __label__ = 44; /* _return */ break _bb_nph$_return$18115; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN21btSimpleDynamicsWorld10setGravityERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN21btSimpleDynamicsWorld10setGravityERK9btVector3, "__ZN21btSimpleDynamicsWorld10setGravityERK9btVector3");
  
  
  function __ZN21btSimpleDynamicsWorld21removeCollisionObjectEP17btCollisionObject(_this, _collisionObject) {
    ;
    var __label__;
    var _0 = _collisionObject+232;
    var _1 = IHEAP[_0];
    var __lobit_i = _1 & 2;
    var _toBool_i = __lobit_i == 0;
    var _2 = _collisionObject == 0;
    var _or_cond = _toBool_i | _2;
    ;
    if (_or_cond) {
      ;
      var _9 = _this;
      __ZN16btCollisionWorld21removeCollisionObjectEP17btCollisionObject(_9, _collisionObject);
      ;
      return;
    }
    else {
      ;
      var _3 = _collisionObject;
      var _4 = _this;
      var _5 = IHEAP[_4];
      var _6 = _5+84;
      var _7 = IHEAP[_6];
      var _8 = _7;
      FUNCTION_TABLE[_8](_this, _3);
      ;
      return;
    }
  }
  __ZN21btSimpleDynamicsWorld21removeCollisionObjectEP17btCollisionObject.__index__ = Runtime.getFunctionIndex(__ZN21btSimpleDynamicsWorld21removeCollisionObjectEP17btCollisionObject, "__ZN21btSimpleDynamicsWorld21removeCollisionObjectEP17btCollisionObject");
  
  
  function __ZN21btSimpleDynamicsWorld15removeRigidBodyEP11btRigidBody(_this, _body) {
    ;
    var __label__;
    var _0 = _body;
    var _1 = _this;
    __ZN16btCollisionWorld21removeCollisionObjectEP17btCollisionObject(_1, _0);
    ;
    return;
  }
  __ZN21btSimpleDynamicsWorld15removeRigidBodyEP11btRigidBody.__index__ = Runtime.getFunctionIndex(__ZN21btSimpleDynamicsWorld15removeRigidBodyEP11btRigidBody, "__ZN21btSimpleDynamicsWorld15removeRigidBodyEP11btRigidBody");
  
  
  function __ZN21btSimpleDynamicsWorldC1EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration(_this, _dispatcher, _pairCache, _constraintSolver, _collisionConfiguration) {
    ;
    var __label__;
    var _0 = _this;
    __ZN16btCollisionWorldC2EP12btDispatcherP21btBroadphaseInterfaceP24btCollisionConfiguration(_0, _dispatcher, _pairCache, _collisionConfiguration);
    var _1 = _this;
    var _2 = _this+92;
    IHEAP[_2] = 0;
    var _3 = _this+96;
    IHEAP[_3] = 0;
    var _4 = _this+100;
    IHEAP[_4] = 0;
    var _5 = _this+104;
    FHEAP[_5] = 0.6000000238418579;
    var _6 = _this+104+4;
    FHEAP[_6] = 1;
    var _7 = _this+104+8;
    FHEAP[_7] = 0.30000001192092896;
    var _8 = _this+104+16;
    FHEAP[_8] = 0;
    var _9 = _this+104+24;
    FHEAP[_9] = 20;
    var _10 = _this+104+20;
    IHEAP[_10] = 10;
    var _11 = _this+104+32;
    FHEAP[_11] = 0.20000000298023224;
    var _12 = _this+104+36;
    FHEAP[_12] = 0.10000000149011612;
    var _13 = _this+104+40;
    FHEAP[_13] = 0;
    var _14 = _this+104+28;
    FHEAP[_14] = 1;
    var _15 = _this+104+44;
    IHEAP[_15] = 0;
    var _16 = _this+104+48;
    FHEAP[_16] = -0.019999999552965164;
    var _17 = _this+104+52;
    FHEAP[_17] = 0;
    var _18 = _this+104+56;
    FHEAP[_18] = 0.8500000238418579;
    var _19 = _this+104+60;
    IHEAP[_19] = 260;
    var _20 = _this+104+64;
    IHEAP[_20] = 2;
    var _21 = _this+104+68;
    IHEAP[_21] = 128;
    IHEAP[_1] = __ZTV21btSimpleDynamicsWorld+8;
    var _22 = _this+176;
    IHEAP[_22] = _constraintSolver;
    var _23 = _this+180;
    IHEAP[_23] = 0;
    var _24 = _this+184;
    FHEAP[_24] = 0;
    var _25 = _this+184+4;
    FHEAP[_25] = 0;
    var _26 = _this+184+8;
    FHEAP[_26] = -10;
    var _27 = _this+184+12;
    FHEAP[_27] = 0;
    ;
    return;
  }
  __ZN21btSimpleDynamicsWorldC1EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration.__index__ = Runtime.getFunctionIndex(__ZN21btSimpleDynamicsWorldC1EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration, "__ZN21btSimpleDynamicsWorldC1EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration");
  
  
  function __ZN21btSimpleDynamicsWorldC2EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration(_this, _dispatcher, _pairCache, _constraintSolver, _collisionConfiguration) {
    ;
    var __label__;
    var _0 = _this;
    __ZN16btCollisionWorldC2EP12btDispatcherP21btBroadphaseInterfaceP24btCollisionConfiguration(_0, _dispatcher, _pairCache, _collisionConfiguration);
    var _1 = _this;
    var _2 = _this+92;
    IHEAP[_2] = 0;
    var _3 = _this+96;
    IHEAP[_3] = 0;
    var _4 = _this+100;
    IHEAP[_4] = 0;
    var _5 = _this+104;
    FHEAP[_5] = 0.6000000238418579;
    var _6 = _this+104+4;
    FHEAP[_6] = 1;
    var _7 = _this+104+8;
    FHEAP[_7] = 0.30000001192092896;
    var _8 = _this+104+16;
    FHEAP[_8] = 0;
    var _9 = _this+104+24;
    FHEAP[_9] = 20;
    var _10 = _this+104+20;
    IHEAP[_10] = 10;
    var _11 = _this+104+32;
    FHEAP[_11] = 0.20000000298023224;
    var _12 = _this+104+36;
    FHEAP[_12] = 0.10000000149011612;
    var _13 = _this+104+40;
    FHEAP[_13] = 0;
    var _14 = _this+104+28;
    FHEAP[_14] = 1;
    var _15 = _this+104+44;
    IHEAP[_15] = 0;
    var _16 = _this+104+48;
    FHEAP[_16] = -0.019999999552965164;
    var _17 = _this+104+52;
    FHEAP[_17] = 0;
    var _18 = _this+104+56;
    FHEAP[_18] = 0.8500000238418579;
    var _19 = _this+104+60;
    IHEAP[_19] = 260;
    var _20 = _this+104+64;
    IHEAP[_20] = 2;
    var _21 = _this+104+68;
    IHEAP[_21] = 128;
    IHEAP[_1] = __ZTV21btSimpleDynamicsWorld+8;
    var _22 = _this+176;
    IHEAP[_22] = _constraintSolver;
    var _23 = _this+180;
    IHEAP[_23] = 0;
    var _24 = _this+184;
    FHEAP[_24] = 0;
    var _25 = _this+184+4;
    FHEAP[_25] = 0;
    var _26 = _this+184+8;
    FHEAP[_26] = -10;
    var _27 = _this+184+12;
    FHEAP[_27] = 0;
    ;
    return;
  }
  __ZN21btSimpleDynamicsWorldC2EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration.__index__ = Runtime.getFunctionIndex(__ZN21btSimpleDynamicsWorldC2EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration, "__ZN21btSimpleDynamicsWorldC2EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration");
  
  
  function _plAddRigidBody(_world, _object) {
    ;
    var __label__;
    var _0 = _world;
    var _1 = _object;
    var _2 = _world;
    var _3 = IHEAP[_2];
    var _4 = _3+80;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_0, _1);
    ;
    return;
  }
  _plAddRigidBody.__index__ = Runtime.getFunctionIndex(_plAddRigidBody, "_plAddRigidBody");
  
  
  function _plRemoveRigidBody(_world, _object) {
    ;
    var __label__;
    var _0 = _world;
    var _1 = _object;
    var _2 = _world;
    var _3 = IHEAP[_2];
    var _4 = _3+84;
    var _5 = IHEAP[_4];
    var _6 = _5;
    FUNCTION_TABLE[_6](_0, _1);
    ;
    return;
  }
  _plRemoveRigidBody.__index__ = Runtime.getFunctionIndex(_plRemoveRigidBody, "_plRemoveRigidBody");
  
  
  function _plSetScaling(_cshape, _cscaling) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var _scaling = __stackBase__;
    var _0 = _cshape;
    var _1 = _cscaling+8;
    var _2 = _cscaling+4;
    var _3 = FHEAP[_cscaling];
    var _4 = _scaling;
    FHEAP[_4] = _3;
    var _5 = FHEAP[_2];
    var _6 = _scaling+4;
    FHEAP[_6] = _5;
    var _7 = FHEAP[_1];
    var _8 = _scaling+8;
    FHEAP[_8] = _7;
    var _9 = _scaling+12;
    FHEAP[_9] = 0;
    var _10 = _cshape;
    var _11 = IHEAP[_10];
    var _12 = _11+24;
    var _13 = IHEAP[_12];
    var _14 = _13;
    FUNCTION_TABLE[_14](_0, _scaling);
    STACKTOP = __stackBase__;
    return;
  }
  _plSetScaling.__index__ = Runtime.getFunctionIndex(_plSetScaling, "_plSetScaling");
  
  
  function _plSetPosition(_object, _position) {
    ;
    var __label__;
    var _0 = _position+8;
    var _1 = _position+4;
    var _2 = FHEAP[_position];
    var _3 = FHEAP[_1];
    var _4 = FHEAP[_0];
    var _5 = _object+52;
    var _6 = _5;
    FHEAP[_6] = _2;
    var _7 = _object+56;
    var _8 = _7;
    FHEAP[_8] = _3;
    var _9 = _object+60;
    var _10 = _9;
    FHEAP[_10] = _4;
    var _11 = _object+64;
    var _12 = _11;
    FHEAP[_12] = 0;
    ;
    return;
  }
  _plSetPosition.__index__ = Runtime.getFunctionIndex(_plSetPosition, "_plSetPosition");
  
  
  function _plSetOrientation(_object, _orientation) {
    ;
    var __label__;
    var _0 = _orientation+12;
    var _1 = _orientation+8;
    var _2 = _orientation+4;
    var _3 = FHEAP[_orientation];
    var _4 = FHEAP[_2];
    var _5 = FHEAP[_1];
    var _6 = FHEAP[_0];
    var _7 = _3 * _3;
    var _8 = _4 * _4;
    var _9 = _7 + _8;
    var _10 = _5 * _5;
    var _11 = _9 + _10;
    var _12 = _6 * _6;
    var _13 = _11 + _12;
    var _14 = 2 / _13;
    var _15 = _3 * _14;
    var _16 = _4 * _14;
    var _17 = _5 * _14;
    var _18 = _6 * _15;
    var _19 = _6 * _16;
    var _20 = _6 * _17;
    var _21 = _3 * _15;
    var _22 = _3 * _16;
    var _23 = _3 * _17;
    var _24 = _4 * _16;
    var _25 = _4 * _17;
    var _26 = _5 * _17;
    var _27 = _21 + _24;
    var _28 = 1 - _27;
    var _29 = _25 + _18;
    var _30 = _23 - _19;
    var _31 = _25 - _18;
    var _32 = _21 + _26;
    var _33 = 1 - _32;
    var _34 = _22 + _20;
    var _35 = _23 + _19;
    var _36 = _22 - _20;
    var _37 = _24 + _26;
    var _38 = 1 - _37;
    var _39 = _object+4;
    var _40 = _39;
    FHEAP[_40] = _38;
    var _41 = _object+8;
    var _42 = _41;
    FHEAP[_42] = _36;
    var _43 = _object+12;
    var _44 = _43;
    FHEAP[_44] = _35;
    var _45 = _object+16;
    var _46 = _45;
    FHEAP[_46] = 0;
    var _47 = _object+20;
    var _48 = _47;
    FHEAP[_48] = _34;
    var _49 = _object+24;
    var _50 = _49;
    FHEAP[_50] = _33;
    var _51 = _object+28;
    var _52 = _51;
    FHEAP[_52] = _31;
    var _53 = _object+32;
    var _54 = _53;
    FHEAP[_54] = 0;
    var _55 = _object+36;
    var _56 = _55;
    FHEAP[_56] = _30;
    var _57 = _object+40;
    var _58 = _57;
    FHEAP[_58] = _29;
    var _59 = _object+44;
    var _60 = _59;
    FHEAP[_60] = _28;
    var _61 = _object+48;
    var _62 = _61;
    FHEAP[_62] = 0;
    ;
    return;
  }
  _plSetOrientation.__index__ = Runtime.getFunctionIndex(_plSetOrientation, "_plSetOrientation");
  
  
  function _plSetOpenGLMatrix(_object, _matrix) {
    ;
    var __label__;
    var _0 = _object+4;
    var _1 = _matrix+32;
    var _2 = _matrix+16;
    var _3 = FHEAP[_matrix];
    var _4 = _0;
    FHEAP[_4] = _3;
    var _5 = FHEAP[_2];
    var _6 = _object+8;
    var _7 = _6;
    FHEAP[_7] = _5;
    var _8 = FHEAP[_1];
    var _9 = _object+12;
    var _10 = _9;
    FHEAP[_10] = _8;
    var _11 = _object+16;
    var _12 = _11;
    FHEAP[_12] = 0;
    var _13 = _matrix+36;
    var _14 = _matrix+20;
    var _15 = _matrix+4;
    var _16 = FHEAP[_15];
    var _17 = _object+20;
    var _18 = _17;
    FHEAP[_18] = _16;
    var _19 = FHEAP[_14];
    var _20 = _object+24;
    var _21 = _20;
    FHEAP[_21] = _19;
    var _22 = FHEAP[_13];
    var _23 = _object+28;
    var _24 = _23;
    FHEAP[_24] = _22;
    var _25 = _object+32;
    var _26 = _25;
    FHEAP[_26] = 0;
    var _27 = _matrix+40;
    var _28 = _matrix+24;
    var _29 = _matrix+8;
    var _30 = FHEAP[_29];
    var _31 = _object+36;
    var _32 = _31;
    FHEAP[_32] = _30;
    var _33 = FHEAP[_28];
    var _34 = _object+40;
    var _35 = _34;
    FHEAP[_35] = _33;
    var _36 = FHEAP[_27];
    var _37 = _object+44;
    var _38 = _37;
    FHEAP[_38] = _36;
    var _39 = _object+48;
    var _40 = _39;
    FHEAP[_40] = 0;
    var _41 = _matrix+56;
    var _42 = _matrix+52;
    var _43 = _matrix+48;
    var _44 = FHEAP[_43];
    var _45 = _object+52;
    var _46 = _45;
    FHEAP[_46] = _44;
    var _47 = FHEAP[_42];
    var _48 = _object+56;
    var _49 = _48;
    FHEAP[_49] = _47;
    var _50 = FHEAP[_41];
    var _51 = _object+60;
    var _52 = _51;
    FHEAP[_52] = _50;
    var _53 = _object+64;
    var _54 = _53;
    FHEAP[_54] = 0;
    ;
    return;
  }
  _plSetOpenGLMatrix.__index__ = Runtime.getFunctionIndex(_plSetOpenGLMatrix, "_plSetOpenGLMatrix");
  
  
  function _plGetOpenGLMatrix(_object, _matrix) {
    ;
    var __label__;
    var _0 = _object+4;
    var _1 = _0;
    var _2 = FHEAP[_1];
    FHEAP[_matrix] = _2;
    var _3 = _object+20;
    var _4 = _3;
    var _5 = FHEAP[_4];
    var _6 = _matrix+4;
    FHEAP[_6] = _5;
    var _7 = _object+36;
    var _8 = _7;
    var _9 = FHEAP[_8];
    var _10 = _matrix+8;
    FHEAP[_10] = _9;
    var _11 = _matrix+12;
    FHEAP[_11] = 0;
    var _12 = _object+8;
    var _13 = _12;
    var _14 = FHEAP[_13];
    var _15 = _matrix+16;
    FHEAP[_15] = _14;
    var _16 = _object+24;
    var _17 = _16;
    var _18 = FHEAP[_17];
    var _19 = _matrix+20;
    FHEAP[_19] = _18;
    var _20 = _object+40;
    var _21 = _20;
    var _22 = FHEAP[_21];
    var _23 = _matrix+24;
    FHEAP[_23] = _22;
    var _24 = _matrix+28;
    FHEAP[_24] = 0;
    var _25 = _object+12;
    var _26 = _25;
    var _27 = FHEAP[_26];
    var _28 = _matrix+32;
    FHEAP[_28] = _27;
    var _29 = _object+28;
    var _30 = _29;
    var _31 = FHEAP[_30];
    var _32 = _matrix+36;
    FHEAP[_32] = _31;
    var _33 = _object+44;
    var _34 = _33;
    var _35 = FHEAP[_34];
    var _36 = _matrix+40;
    FHEAP[_36] = _35;
    var _37 = _matrix+44;
    FHEAP[_37] = 0;
    var _38 = _object+52;
    var _39 = _38;
    var _40 = FHEAP[_39];
    var _41 = _matrix+48;
    FHEAP[_41] = _40;
    var _42 = _object+56;
    var _43 = _42;
    var _44 = FHEAP[_43];
    var _45 = _matrix+52;
    FHEAP[_45] = _44;
    var _46 = _object+60;
    var _47 = _46;
    var _48 = FHEAP[_47];
    var _49 = _matrix+56;
    FHEAP[_49] = _48;
    var _50 = _matrix+60;
    FHEAP[_50] = 1;
    ;
    return;
  }
  _plGetOpenGLMatrix.__index__ = Runtime.getFunctionIndex(_plGetOpenGLMatrix, "_plGetOpenGLMatrix");
  
  
  function _plGetPosition(_object, _position) {
    ;
    var __label__;
    var _0 = _object+52;
    var _1 = _0;
    var _2 = FHEAP[_1];
    FHEAP[_position] = _2;
    var _3 = _object+56;
    var _4 = _3;
    var _5 = FHEAP[_4];
    var _6 = _position+4;
    FHEAP[_6] = _5;
    var _7 = _object+60;
    var _8 = _7;
    var _9 = FHEAP[_8];
    var _10 = _position+8;
    FHEAP[_10] = _9;
    ;
    return;
  }
  _plGetPosition.__index__ = Runtime.getFunctionIndex(_plGetPosition, "_plGetPosition");
  
  
  function _plGetOrientation(_object, _orientation) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var _0 = __stackBase__;
    var _1 = _object+4;
    var _2 = _1;
    __ZNK11btMatrix3x311getRotationER12btQuaternion(_2, _0);
    var _3 = _0;
    var _4 = FHEAP[_3];
    FHEAP[_orientation] = _4;
    var _5 = _0+4;
    var _6 = FHEAP[_5];
    var _7 = _orientation+4;
    FHEAP[_7] = _6;
    var _8 = _0+8;
    var _9 = FHEAP[_8];
    var _10 = _orientation+8;
    FHEAP[_10] = _9;
    var _11 = _0+12;
    var _12 = FHEAP[_11];
    var _13 = _orientation+12;
    FHEAP[_13] = _12;
    STACKTOP = __stackBase__;
    return;
  }
  _plGetOrientation.__index__ = Runtime.getFunctionIndex(_plGetOrientation, "_plGetOrientation");
  
  
  function _plAddVertex(_cshape, _x, _y, _z) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var _0 = __stackBase__;
    var _1 = _cshape;
    var _2 = _0;
    FHEAP[_2] = _x;
    var _3 = _0+4;
    FHEAP[_3] = _y;
    var _4 = _0+8;
    FHEAP[_4] = _z;
    var _5 = _0+12;
    FHEAP[_5] = 0;
    __ZN17btConvexHullShape8addPointERK9btVector3(_1, _0);
    STACKTOP = __stackBase__;
    return;
  }
  _plAddVertex.__index__ = Runtime.getFunctionIndex(_plAddVertex, "_plAddVertex");
  
  
  function _plAddChildShape(_compoundShapeHandle, _childShapeHandle, _childPos, _childOrn) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var _localTrans = __stackBase__;
    var _0 = _compoundShapeHandle;
    var _1 = _childShapeHandle;
    var _2 = _localTrans;
    var _3 = _localTrans+4;
    var _4 = _localTrans+8;
    var _5 = _localTrans+12;
    var _6 = _localTrans+16;
    var _7 = _localTrans+16+4;
    var _8 = _localTrans+16+8;
    var _9 = _localTrans+16+12;
    var _10 = _localTrans+32;
    var _11 = _localTrans+32+4;
    var _12 = _localTrans+32+8;
    var _13 = _localTrans+32+12;
    var _14 = _localTrans+48;
    var _15 = _localTrans+48+4;
    var _16 = _localTrans+48+8;
    var _17 = _localTrans+48+12;
    var _18 = _childPos+8;
    var _19 = _childPos+4;
    var _20 = FHEAP[_childPos];
    var _21 = FHEAP[_19];
    var _22 = FHEAP[_18];
    FHEAP[_14] = _20;
    FHEAP[_15] = _21;
    FHEAP[_16] = _22;
    FHEAP[_17] = 0;
    var _23 = _childOrn+12;
    var _24 = _childOrn+8;
    var _25 = _childOrn+4;
    var _26 = FHEAP[_childOrn];
    var _27 = FHEAP[_25];
    var _28 = FHEAP[_24];
    var _29 = FHEAP[_23];
    var _30 = _26 * _26;
    var _31 = _27 * _27;
    var _32 = _30 + _31;
    var _33 = _28 * _28;
    var _34 = _32 + _33;
    var _35 = _29 * _29;
    var _36 = _34 + _35;
    var _37 = 2 / _36;
    var _38 = _26 * _37;
    var _39 = _27 * _37;
    var _40 = _28 * _37;
    var _41 = _29 * _38;
    var _42 = _29 * _39;
    var _43 = _29 * _40;
    var _44 = _26 * _38;
    var _45 = _26 * _39;
    var _46 = _26 * _40;
    var _47 = _27 * _39;
    var _48 = _27 * _40;
    var _49 = _28 * _40;
    var _50 = _44 + _47;
    var _51 = 1 - _50;
    var _52 = _48 + _41;
    var _53 = _46 - _42;
    var _54 = _48 - _41;
    var _55 = _44 + _49;
    var _56 = 1 - _55;
    var _57 = _45 + _43;
    var _58 = _46 + _42;
    var _59 = _45 - _43;
    var _60 = _47 + _49;
    var _61 = 1 - _60;
    FHEAP[_2] = _61;
    FHEAP[_3] = _59;
    FHEAP[_4] = _58;
    FHEAP[_5] = 0;
    FHEAP[_6] = _57;
    FHEAP[_7] = _56;
    FHEAP[_8] = _54;
    FHEAP[_9] = 0;
    FHEAP[_10] = _53;
    FHEAP[_11] = _52;
    FHEAP[_12] = _51;
    FHEAP[_13] = 0;
    __ZN15btCompoundShape13addChildShapeERK11btTransformP16btCollisionShape(_0, _localTrans, _1);
    STACKTOP = __stackBase__;
    return;
  }
  _plAddChildShape.__index__ = Runtime.getFunctionIndex(_plAddChildShape, "_plAddChildShape");
  
  
  function __ZN11btRigidBody12applyImpulseERK9btVector3S2_(_this, _impulse, _rel_pos) {
    ;
    var __label__;
    var _0 = _this+336;
    var _1 = FHEAP[_0];
    var _2 = _1 != 0;
    ;
    _bb$_return$18279: do { 
      if (_2) {
        ;
        var _3 = _impulse+8;
        var _4 = FHEAP[_3];
        var _5 = _this+340+8;
        var _6 = FHEAP[_5];
        var _7 = _4 * _6;
        var _8 = _impulse+4;
        var _9 = FHEAP[_8];
        var _10 = _this+340+4;
        var _11 = FHEAP[_10];
        var _12 = _9 * _11;
        var _13 = _impulse;
        var _14 = FHEAP[_13];
        var _15 = _this+340;
        var _16 = FHEAP[_15];
        var _17 = _14 * _16;
        var _18 = _7 * _1;
        var _19 = _12 * _1;
        var _20 = _17 * _1;
        var _21 = _this+304;
        var _22 = FHEAP[_21];
        var _23 = _22 + _20;
        FHEAP[_21] = _23;
        var _24 = _this+304+4;
        var _25 = FHEAP[_24];
        var _26 = _25 + _19;
        FHEAP[_24] = _26;
        var _27 = _this+304+8;
        var _28 = FHEAP[_27];
        var _29 = _28 + _18;
        FHEAP[_27] = _29;
        var _30 = _this+536;
        var _31 = _30 == 0;
        if (_31) { __label__ = 44; /* _return */ break _bb$_return$18279; }
        var _32 = FHEAP[_3];
        var _33 = _32 * _6;
        var _34 = FHEAP[_8];
        var _35 = _34 * _11;
        var _36 = FHEAP[_13];
        var _37 = _36 * _16;
        var _38 = _rel_pos;
        var _39 = FHEAP[_38];
        var _40 = _39 * _35;
        var _41 = _rel_pos+4;
        var _42 = FHEAP[_41];
        var _43 = _42 * _37;
        var _44 = _40 - _43;
        var _45 = _rel_pos+8;
        var _46 = FHEAP[_45];
        var _47 = _46 * _37;
        var _48 = _39 * _33;
        var _49 = _47 - _48;
        var _50 = _42 * _33;
        var _51 = _46 * _35;
        var _52 = _50 - _51;
        var _53 = _this+256+32;
        var _54 = FHEAP[_53];
        var _55 = _54 * _52;
        var _56 = _this+256+32+4;
        var _57 = FHEAP[_56];
        var _58 = _57 * _49;
        var _59 = _55 + _58;
        var _60 = _this+256+32+8;
        var _61 = FHEAP[_60];
        var _62 = _61 * _44;
        var _63 = _59 + _62;
        var _64 = _this+256+16;
        var _65 = FHEAP[_64];
        var _66 = _65 * _52;
        var _67 = _this+256+16+4;
        var _68 = FHEAP[_67];
        var _69 = _68 * _49;
        var _70 = _66 + _69;
        var _71 = _this+256+16+8;
        var _72 = FHEAP[_71];
        var _73 = _72 * _44;
        var _74 = _70 + _73;
        var _75 = _this+256;
        var _76 = FHEAP[_75];
        var _77 = _76 * _52;
        var _78 = _this+256+4;
        var _79 = FHEAP[_78];
        var _80 = _79 * _49;
        var _81 = _77 + _80;
        var _82 = _this+256+8;
        var _83 = FHEAP[_82];
        var _84 = _83 * _44;
        var _85 = _81 + _84;
        var _86 = _this+536+8;
        var _87 = FHEAP[_86];
        var _88 = _63 * _87;
        var _89 = _this+536+4;
        var _90 = FHEAP[_89];
        var _91 = _74 * _90;
        var _92 = FHEAP[_30];
        var _93 = _85 * _92;
        var _94 = _this+320;
        var _95 = FHEAP[_94];
        var _96 = _95 + _93;
        FHEAP[_94] = _96;
        var _97 = _this+320+4;
        var _98 = FHEAP[_97];
        var _99 = _98 + _91;
        FHEAP[_97] = _99;
        var _100 = _this+320+8;
        var _101 = FHEAP[_100];
        var _102 = _101 + _88;
        FHEAP[_100] = _102;
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __ZN11btRigidBody12applyImpulseERK9btVector3S2_.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody12applyImpulseERK9btVector3S2_, "__ZN11btRigidBody12applyImpulseERK9btVector3S2_");
  
  
  function __ZN16btRaycastVehicle12updateActionEP16btCollisionWorldf(_this, _collisionWorld, _step) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+16;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_this, _step);
    ;
    return;
  }
  __ZN16btRaycastVehicle12updateActionEP16btCollisionWorldf.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicle12updateActionEP16btCollisionWorldf, "__ZN16btRaycastVehicle12updateActionEP16btCollisionWorldf");
  
  
  function __ZN16btRaycastVehicle19setCoordinateSystemEiii(_this, _rightIndex, _upIndex, _forwardIndex) {
    ;
    var __label__;
    var _0 = _this+120;
    IHEAP[_0] = _rightIndex;
    var _1 = _this+124;
    IHEAP[_1] = _upIndex;
    var _2 = _this+128;
    IHEAP[_2] = _forwardIndex;
    ;
    return;
  }
  __ZN16btRaycastVehicle19setCoordinateSystemEiii.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicle19setCoordinateSystemEiii, "__ZN16btRaycastVehicle19setCoordinateSystemEiii");
  
  
  function __ZN16btCollisionWorld24ClosestRayResultCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN16btCollisionWorld24ClosestRayResultCallbackE+8;
    ;
    return;
  }
  __ZN16btCollisionWorld24ClosestRayResultCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld24ClosestRayResultCallbackD1Ev, "__ZN16btCollisionWorld24ClosestRayResultCallbackD1Ev");
  
  
  function __ZN16btCollisionWorld24ClosestRayResultCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTVN16btCollisionWorld24ClosestRayResultCallbackE+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN16btCollisionWorld24ClosestRayResultCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld24ClosestRayResultCallbackD0Ev, "__ZN16btCollisionWorld24ClosestRayResultCallbackD0Ev");
  
  
  function __ZN16btCollisionWorld24ClosestRayResultCallback15addSingleResultERNS_14LocalRayResultEb(_this, _rayResult, _normalInWorldSpace) {
    ;
    var __label__;
    var _0 = _rayResult+24;
    var _1 = FHEAP[_0];
    var _2 = _this+4;
    FHEAP[_2] = _1;
    var _3 = _rayResult;
    var _4 = IHEAP[_3];
    var _5 = _this+8;
    IHEAP[_5] = _4;
    var _toBool = _normalInWorldSpace == 0;
    ;
    if (_toBool) {
      ;
      var _18 = _4+4+32;
      var _19 = FHEAP[_18];
      var _20 = _rayResult+8;
      var _21 = FHEAP[_20];
      var _22 = _19 * _21;
      var _23 = _4+4+32+4;
      var _24 = FHEAP[_23];
      var _25 = _rayResult+8+4;
      var _26 = FHEAP[_25];
      var _27 = _24 * _26;
      var _28 = _22 + _27;
      var _29 = _4+4+32+8;
      var _30 = FHEAP[_29];
      var _31 = _rayResult+8+8;
      var _32 = FHEAP[_31];
      var _33 = _30 * _32;
      var _34 = _28 + _33;
      var _35 = _4+4+16;
      var _36 = FHEAP[_35];
      var _37 = _36 * _21;
      var _38 = _4+4+16+4;
      var _39 = FHEAP[_38];
      var _40 = _39 * _26;
      var _41 = _37 + _40;
      var _42 = _4+4+16+8;
      var _43 = FHEAP[_42];
      var _44 = _43 * _32;
      var _45 = _41 + _44;
      var _46 = _4+4;
      var _47 = FHEAP[_46];
      var _48 = _47 * _21;
      var _49 = _4+4+4;
      var _50 = FHEAP[_49];
      var _51 = _50 * _26;
      var _52 = _48 + _51;
      var _53 = _4+4+8;
      var _54 = FHEAP[_53];
      var _55 = _54 * _32;
      var _56 = _52 + _55;
      var _57 = _this+52;
      FHEAP[_57] = _56;
      var _58 = _this+52+4;
      FHEAP[_58] = _45;
      var _59 = _this+52+8;
      FHEAP[_59] = _34;
      var _60 = _this+52+12;
      FHEAP[_60] = 0;
      ;
    }
    else {
      ;
      var _6 = _this+52;
      var _7 = _rayResult+8;
      var _8 = FHEAP[_7];
      FHEAP[_6] = _8;
      var _9 = _this+52+4;
      var _10 = _rayResult+8+4;
      var _11 = FHEAP[_10];
      FHEAP[_9] = _11;
      var _12 = _this+52+8;
      var _13 = _rayResult+8+8;
      var _14 = FHEAP[_13];
      FHEAP[_12] = _14;
      var _15 = _this+52+12;
      var _16 = _rayResult+8+12;
      var _17 = FHEAP[_16];
      FHEAP[_15] = _17;
      ;
    }
    var _61 = FHEAP[_0];
    var _62 = 1 - _61;
    var _63 = _this+20;
    var _64 = FHEAP[_63];
    var _65 = _64 * _62;
    var _66 = _this+36;
    var _67 = FHEAP[_66];
    var _68 = _67 * _61;
    var _69 = _65 + _68;
    var _70 = _this+68;
    FHEAP[_70] = _69;
    var _71 = _this+20+4;
    var _72 = FHEAP[_71];
    var _73 = _72 * _62;
    var _74 = _this+36+4;
    var _75 = FHEAP[_74];
    var _76 = _75 * _61;
    var _77 = _73 + _76;
    var _78 = _this+68+4;
    FHEAP[_78] = _77;
    var _79 = _this+20+8;
    var _80 = FHEAP[_79];
    var _81 = _80 * _62;
    var _82 = _this+36+8;
    var _83 = FHEAP[_82];
    var _84 = _83 * _61;
    var _85 = _81 + _84;
    var _86 = _this+68+8;
    FHEAP[_86] = _85;
    var _87 = FHEAP[_0];
    ;
    return _87;
  }
  __ZN16btCollisionWorld24ClosestRayResultCallback15addSingleResultERNS_14LocalRayResultEb.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld24ClosestRayResultCallback15addSingleResultERNS_14LocalRayResultEb, "__ZN16btCollisionWorld24ClosestRayResultCallback15addSingleResultERNS_14LocalRayResultEb");
  
  
  function __ZN16btRaycastVehicle11defaultInitERKNS_15btVehicleTuningE(_this, _tuning) {
    ;
    var __label__;
    var _0 = _this+112;
    FHEAP[_0] = 0;
    var _1 = _this+108;
    FHEAP[_1] = 0;
    ;
    return;
  }
  __ZN16btRaycastVehicle11defaultInitERKNS_15btVehicleTuningE.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicle11defaultInitERKNS_15btVehicleTuningE, "__ZN16btRaycastVehicle11defaultInitERKNS_15btVehicleTuningE");
  
  
  function __ZN11btWheelInfoC1ERKS_(_this, _unnamed_arg) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = _unnamed_arg;
    _llvm_memcpy_p0i8_p0i8_i32(_0, _1, 92, 4, false);
    var _2 = _this+92;
    var _3 = _unnamed_arg+92;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _this+92+4;
    var _6 = _unnamed_arg+92+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _this+92+8;
    var _9 = _unnamed_arg+92+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _this+92+12;
    var _12 = _unnamed_arg+92+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _this+92+16;
    var _15 = _unnamed_arg+92+16;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _this+92+16+4;
    var _18 = _unnamed_arg+92+16+4;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _this+92+16+8;
    var _21 = _unnamed_arg+92+16+8;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _this+92+16+12;
    var _24 = _unnamed_arg+92+16+12;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _this+92+32;
    var _27 = _unnamed_arg+92+32;
    var _28 = FHEAP[_27];
    FHEAP[_26] = _28;
    var _29 = _this+92+32+4;
    var _30 = _unnamed_arg+92+32+4;
    var _31 = FHEAP[_30];
    FHEAP[_29] = _31;
    var _32 = _this+92+32+8;
    var _33 = _unnamed_arg+92+32+8;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _this+92+32+12;
    var _36 = _unnamed_arg+92+32+12;
    var _37 = FHEAP[_36];
    FHEAP[_35] = _37;
    var _38 = _this+92+48;
    var _39 = _unnamed_arg+92+48;
    var _40 = FHEAP[_39];
    FHEAP[_38] = _40;
    var _41 = _this+92+48+4;
    var _42 = _unnamed_arg+92+48+4;
    var _43 = FHEAP[_42];
    FHEAP[_41] = _43;
    var _44 = _this+92+48+8;
    var _45 = _unnamed_arg+92+48+8;
    var _46 = FHEAP[_45];
    FHEAP[_44] = _46;
    var _47 = _this+92+48+12;
    var _48 = _unnamed_arg+92+48+12;
    var _49 = FHEAP[_48];
    FHEAP[_47] = _49;
    var _50 = _this+156;
    var _51 = _unnamed_arg+156;
    var _52 = FHEAP[_51];
    FHEAP[_50] = _52;
    var _53 = _this+156+4;
    var _54 = _unnamed_arg+156+4;
    var _55 = FHEAP[_54];
    FHEAP[_53] = _55;
    var _56 = _this+156+8;
    var _57 = _unnamed_arg+156+8;
    var _58 = FHEAP[_57];
    FHEAP[_56] = _58;
    var _59 = _this+156+12;
    var _60 = _unnamed_arg+156+12;
    var _61 = FHEAP[_60];
    FHEAP[_59] = _61;
    var _62 = _this+172;
    var _63 = _unnamed_arg+172;
    var _64 = FHEAP[_63];
    FHEAP[_62] = _64;
    var _65 = _this+172+4;
    var _66 = _unnamed_arg+172+4;
    var _67 = FHEAP[_66];
    FHEAP[_65] = _67;
    var _68 = _this+172+8;
    var _69 = _unnamed_arg+172+8;
    var _70 = FHEAP[_69];
    FHEAP[_68] = _70;
    var _71 = _this+172+12;
    var _72 = _unnamed_arg+172+12;
    var _73 = FHEAP[_72];
    FHEAP[_71] = _73;
    var _74 = _this+188;
    var _75 = _unnamed_arg+188;
    var _76 = FHEAP[_75];
    FHEAP[_74] = _76;
    var _77 = _this+188+4;
    var _78 = _unnamed_arg+188+4;
    var _79 = FHEAP[_78];
    FHEAP[_77] = _79;
    var _80 = _this+188+8;
    var _81 = _unnamed_arg+188+8;
    var _82 = FHEAP[_81];
    FHEAP[_80] = _82;
    var _83 = _this+188+12;
    var _84 = _unnamed_arg+188+12;
    var _85 = FHEAP[_84];
    FHEAP[_83] = _85;
    var _86 = _unnamed_arg+204;
    var _87 = FHEAP[_86];
    var _88 = _this+204;
    FHEAP[_88] = _87;
    var _89 = _unnamed_arg+208;
    var _90 = FHEAP[_89];
    var _91 = _this+208;
    FHEAP[_91] = _90;
    var _92 = _unnamed_arg+212;
    var _93 = FHEAP[_92];
    var _94 = _this+212;
    FHEAP[_94] = _93;
    var _95 = _unnamed_arg+216;
    var _96 = FHEAP[_95];
    var _97 = _this+216;
    FHEAP[_97] = _96;
    var _98 = _unnamed_arg+220;
    var _99 = FHEAP[_98];
    var _100 = _this+220;
    FHEAP[_100] = _99;
    var _101 = _unnamed_arg+224;
    var _102 = FHEAP[_101];
    var _103 = _this+224;
    FHEAP[_103] = _102;
    var _104 = _unnamed_arg+228;
    var _105 = FHEAP[_104];
    var _106 = _this+228;
    FHEAP[_106] = _105;
    var _107 = _unnamed_arg+232;
    var _108 = FHEAP[_107];
    var _109 = _this+232;
    FHEAP[_109] = _108;
    var _110 = _unnamed_arg+236;
    var _111 = FHEAP[_110];
    var _112 = _this+236;
    FHEAP[_112] = _111;
    var _113 = _unnamed_arg+240;
    var _114 = FHEAP[_113];
    var _115 = _this+240;
    FHEAP[_115] = _114;
    var _116 = _unnamed_arg+244;
    var _117 = FHEAP[_116];
    var _118 = _this+244;
    FHEAP[_118] = _117;
    var _119 = _unnamed_arg+248;
    var _120 = FHEAP[_119];
    var _121 = _this+248;
    FHEAP[_121] = _120;
    var _122 = _unnamed_arg+252;
    var _123 = FHEAP[_122];
    var _124 = _this+252;
    FHEAP[_124] = _123;
    var _125 = _unnamed_arg+256;
    var _126 = FHEAP[_125];
    var _127 = _this+256;
    FHEAP[_127] = _126;
    var _128 = _unnamed_arg+260;
    var _129 = IHEAP[_128];
    var _130 = _this+260;
    IHEAP[_130] = _129;
    var _131 = _unnamed_arg+264;
    var _132 = IHEAP[_131];
    var _133 = _this+264;
    IHEAP[_133] = _132;
    var _134 = _unnamed_arg+268;
    var _135 = FHEAP[_134];
    var _136 = _this+268;
    FHEAP[_136] = _135;
    var _137 = _unnamed_arg+272;
    var _138 = FHEAP[_137];
    var _139 = _this+272;
    FHEAP[_139] = _138;
    var _140 = _unnamed_arg+276;
    var _141 = FHEAP[_140];
    var _142 = _this+276;
    FHEAP[_142] = _141;
    var _143 = _unnamed_arg+280;
    var _144 = FHEAP[_143];
    var _145 = _this+280;
    FHEAP[_145] = _144;
    ;
    return;
  }
  __ZN11btWheelInfoC1ERKS_.__index__ = Runtime.getFunctionIndex(__ZN11btWheelInfoC1ERKS_, "__ZN11btWheelInfoC1ERKS_");
  
  
  function __ZNK16btRaycastVehicle24getChassisWorldTransformEv(_this) {
    ;
    var __label__;
    var _0 = _this+116;
    var _1 = IHEAP[_0];
    var _2 = _1+4;
    ;
    return _2;
  }
  __ZNK16btRaycastVehicle24getChassisWorldTransformEv.__index__ = Runtime.getFunctionIndex(__ZNK16btRaycastVehicle24getChassisWorldTransformEv, "__ZNK16btRaycastVehicle24getChassisWorldTransformEv");
  
  
  function __ZN16btRaycastVehicle23updateWheelTransformsWSER11btWheelInfob(_this, _wheel, _interpolatedTransform) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var __lastLabel__ = null;
    var _chassisTrans = __stackBase__;
    var _0 = _wheel+84;
    IHEAP[_0] = 0;
    var _1 = _this+116;
    var _2 = IHEAP[_1];
    var _3 = _chassisTrans;
    var _4 = _2+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _chassisTrans+4;
    var _7 = _2+4+4;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _chassisTrans+8;
    var _10 = _2+4+8;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _chassisTrans+12;
    var _13 = _2+4+12;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _chassisTrans+16;
    var _16 = _2+4+16;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _chassisTrans+16+4;
    var _19 = _2+4+16+4;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _chassisTrans+16+8;
    var _22 = _2+4+16+8;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    var _24 = _chassisTrans+16+12;
    var _25 = _2+4+16+12;
    var _26 = FHEAP[_25];
    FHEAP[_24] = _26;
    var _27 = _chassisTrans+32;
    var _28 = _2+4+32;
    var _29 = FHEAP[_28];
    FHEAP[_27] = _29;
    var _30 = _chassisTrans+32+4;
    var _31 = _2+4+32+4;
    var _32 = FHEAP[_31];
    FHEAP[_30] = _32;
    var _33 = _chassisTrans+32+8;
    var _34 = _2+4+32+8;
    var _35 = FHEAP[_34];
    FHEAP[_33] = _35;
    var _36 = _chassisTrans+32+12;
    var _37 = _2+4+32+12;
    var _38 = FHEAP[_37];
    FHEAP[_36] = _38;
    var _39 = _chassisTrans+48;
    var _40 = _2+4+48;
    var _41 = FHEAP[_40];
    FHEAP[_39] = _41;
    var _42 = _chassisTrans+48+4;
    var _43 = _2+4+48+4;
    var _44 = FHEAP[_43];
    FHEAP[_42] = _44;
    var _45 = _chassisTrans+48+8;
    var _46 = _2+4+48+8;
    var _47 = FHEAP[_46];
    FHEAP[_45] = _47;
    var _48 = _chassisTrans+48+12;
    var _49 = _2+4+48+12;
    var _50 = FHEAP[_49];
    FHEAP[_48] = _50;
    var _toBoolnot = _interpolatedTransform == 0;
    ;
    _bb9$_bb$18296: do { 
      if (_toBoolnot) {
        __lastLabel__ = -1; ;
      }
      else {
        __lastLabel__ = -1; ;
        var _51 = _2+472;
        var _52 = IHEAP[_51];
        var _53 = _52 == 0;
        if (_53) { __lastLabel__ = 60; __label__ = 62; /* _bb9 */ break _bb9$_bb$18296; } else { __lastLabel__ = 60; ; }
        var _54 = _52;
        var _55 = IHEAP[_54];
        var _56 = _55+8;
        var _57 = IHEAP[_56];
        var _58 = _57;
        FUNCTION_TABLE[_58](_52, _chassisTrans);
        var __pre = FHEAP[_27];
        var __pre18 = FHEAP[_30];
        var __pre19 = FHEAP[_33];
        var __pre20 = FHEAP[_45];
        var __pre21 = FHEAP[_15];
        var __pre22 = FHEAP[_18];
        var __pre23 = FHEAP[_21];
        var __pre24 = FHEAP[_42];
        var __pre25 = FHEAP[_3];
        var __pre26 = FHEAP[_6];
        var __pre27 = FHEAP[_9];
        var __pre28 = FHEAP[_39];
        __lastLabel__ = 148; ;
      }
    } while(0);
    var _59 = __lastLabel__ == -1 ? _41 : (__lastLabel__ == 60 ? _41 : (__pre28));
    var _60 = __lastLabel__ == -1 ? _11 : (__lastLabel__ == 60 ? _11 : (__pre27));
    var _61 = __lastLabel__ == -1 ? _8 : (__lastLabel__ == 60 ? _8 : (__pre26));
    var _62 = __lastLabel__ == -1 ? _5 : (__lastLabel__ == 60 ? _5 : (__pre25));
    var _63 = __lastLabel__ == -1 ? _44 : (__lastLabel__ == 60 ? _44 : (__pre24));
    var _64 = __lastLabel__ == -1 ? _23 : (__lastLabel__ == 60 ? _23 : (__pre23));
    var _65 = __lastLabel__ == -1 ? _20 : (__lastLabel__ == 60 ? _20 : (__pre22));
    var _66 = __lastLabel__ == -1 ? _17 : (__lastLabel__ == 60 ? _17 : (__pre21));
    var _67 = __lastLabel__ == -1 ? _47 : (__lastLabel__ == 60 ? _47 : (__pre20));
    var _68 = __lastLabel__ == -1 ? _35 : (__lastLabel__ == 60 ? _35 : (__pre19));
    var _69 = __lastLabel__ == -1 ? _32 : (__lastLabel__ == 60 ? _32 : (__pre18));
    var _70 = __lastLabel__ == -1 ? _29 : (__lastLabel__ == 60 ? _29 : (__pre));
    var _71 = _wheel+156;
    var _72 = FHEAP[_71];
    var _73 = _70 * _72;
    var _74 = _wheel+156+4;
    var _75 = FHEAP[_74];
    var _76 = _69 * _75;
    var _77 = _73 + _76;
    var _78 = _wheel+156+8;
    var _79 = FHEAP[_78];
    var _80 = _68 * _79;
    var _81 = _77 + _80;
    var _82 = _81 + _67;
    var _83 = _66 * _72;
    var _84 = _65 * _75;
    var _85 = _83 + _84;
    var _86 = _64 * _79;
    var _87 = _85 + _86;
    var _88 = _87 + _63;
    var _89 = _62 * _72;
    var _90 = _61 * _75;
    var _91 = _89 + _90;
    var _92 = _60 * _79;
    var _93 = _91 + _92;
    var _94 = _93 + _59;
    var _95 = _wheel+36;
    FHEAP[_95] = _94;
    var _96 = _wheel+36+4;
    FHEAP[_96] = _88;
    var _97 = _wheel+36+8;
    FHEAP[_97] = _82;
    var _98 = _wheel+36+12;
    FHEAP[_98] = 0;
    var _99 = _wheel+172;
    var _100 = FHEAP[_99];
    var _101 = _70 * _100;
    var _102 = _wheel+172+4;
    var _103 = FHEAP[_102];
    var _104 = _69 * _103;
    var _105 = _101 + _104;
    var _106 = _wheel+172+8;
    var _107 = FHEAP[_106];
    var _108 = _68 * _107;
    var _109 = _105 + _108;
    var _110 = _66 * _100;
    var _111 = _65 * _103;
    var _112 = _110 + _111;
    var _113 = _64 * _107;
    var _114 = _112 + _113;
    var _115 = _62 * _100;
    var _116 = _61 * _103;
    var _117 = _115 + _116;
    var _118 = _60 * _107;
    var _119 = _117 + _118;
    var _120 = _wheel+52;
    FHEAP[_120] = _119;
    var _121 = _wheel+52+4;
    FHEAP[_121] = _114;
    var _122 = _wheel+52+8;
    FHEAP[_122] = _109;
    var _123 = _wheel+52+12;
    FHEAP[_123] = 0;
    var _124 = _wheel+188;
    var _125 = FHEAP[_124];
    var _126 = _70 * _125;
    var _127 = _wheel+188+4;
    var _128 = FHEAP[_127];
    var _129 = _69 * _128;
    var _130 = _126 + _129;
    var _131 = _wheel+188+8;
    var _132 = FHEAP[_131];
    var _133 = _68 * _132;
    var _134 = _130 + _133;
    var _135 = _66 * _125;
    var _136 = _65 * _128;
    var _137 = _135 + _136;
    var _138 = _64 * _132;
    var _139 = _137 + _138;
    var _140 = _62 * _125;
    var _141 = _61 * _128;
    var _142 = _140 + _141;
    var _143 = _60 * _132;
    var _144 = _142 + _143;
    var _145 = _wheel+68;
    FHEAP[_145] = _144;
    var _146 = _wheel+68+4;
    FHEAP[_146] = _139;
    var _147 = _wheel+68+8;
    FHEAP[_147] = _134;
    var _148 = _wheel+68+12;
    FHEAP[_148] = 0;
    STACKTOP = __stackBase__;
    return;
  }
  __ZN16btRaycastVehicle23updateWheelTransformsWSER11btWheelInfob.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicle23updateWheelTransformsWSER11btWheelInfob, "__ZN16btRaycastVehicle23updateWheelTransformsWSER11btWheelInfob");
  
  
  function __ZN19btWheelContactPointC1EP11btRigidBodyS1_RK9btVector3S4_f(_this, _body0, _body1, _frictionPosWorld, _frictionDirectionWorld, _maxImpulse) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = _body0;
    var _1 = _this+4;
    IHEAP[_1] = _body1;
    var _2 = _this+8;
    var _3 = _frictionPosWorld;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _this+8+4;
    var _6 = _frictionPosWorld+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _this+8+8;
    var _9 = _frictionPosWorld+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _this+8+12;
    var _12 = _frictionPosWorld+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _this+24;
    var _15 = _frictionDirectionWorld;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _this+24+4;
    var _18 = _frictionDirectionWorld+4;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _this+24+8;
    var _21 = _frictionDirectionWorld+8;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _this+24+12;
    var _24 = _frictionDirectionWorld+12;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _this+44;
    FHEAP[_26] = _maxImpulse;
    var _27 = FHEAP[_9];
    var _28 = _body0+4+48+8;
    var _29 = FHEAP[_28];
    var _30 = _27 - _29;
    var _31 = FHEAP[_6];
    var _32 = _body0+4+48+4;
    var _33 = FHEAP[_32];
    var _34 = _31 - _33;
    var _35 = FHEAP[_3];
    var _36 = _body0+4+48;
    var _37 = FHEAP[_36];
    var _38 = _35 - _37;
    var _39 = FHEAP[_18];
    var _40 = _38 * _39;
    var _41 = FHEAP[_15];
    var _42 = _34 * _41;
    var _43 = _40 - _42;
    var _44 = _30 * _41;
    var _45 = FHEAP[_21];
    var _46 = _38 * _45;
    var _47 = _44 - _46;
    var _48 = _34 * _45;
    var _49 = _30 * _39;
    var _50 = _48 - _49;
    var _51 = _body0+256+8;
    var _52 = FHEAP[_51];
    var _53 = _52 * _50;
    var _54 = _body0+256+16+8;
    var _55 = FHEAP[_54];
    var _56 = _55 * _47;
    var _57 = _53 + _56;
    var _58 = _body0+256+32+8;
    var _59 = FHEAP[_58];
    var _60 = _59 * _43;
    var _61 = _57 + _60;
    var _62 = _body0+256+4;
    var _63 = FHEAP[_62];
    var _64 = _63 * _50;
    var _65 = _body0+256+16+4;
    var _66 = FHEAP[_65];
    var _67 = _66 * _47;
    var _68 = _64 + _67;
    var _69 = _body0+256+32+4;
    var _70 = FHEAP[_69];
    var _71 = _70 * _43;
    var _72 = _68 + _71;
    var _73 = _body0+256;
    var _74 = FHEAP[_73];
    var _75 = _74 * _50;
    var _76 = _body0+256+16;
    var _77 = FHEAP[_76];
    var _78 = _77 * _47;
    var _79 = _75 + _78;
    var _80 = _body0+256+32;
    var _81 = FHEAP[_80];
    var _82 = _81 * _43;
    var _83 = _79 + _82;
    var _84 = _83 * _34;
    var _85 = _72 * _38;
    var _86 = _84 - _85;
    var _87 = _61 * _38;
    var _88 = _83 * _30;
    var _89 = _87 - _88;
    var _90 = _72 * _30;
    var _91 = _61 * _34;
    var _92 = _90 - _91;
    var _93 = _body0+336;
    var _94 = FHEAP[_93];
    var _95 = _41 * _92;
    var _96 = _39 * _89;
    var _97 = _95 + _96;
    var _98 = _45 * _86;
    var _99 = _97 + _98;
    var _100 = _94 + _99;
    var _101 = _body1+4+48+8;
    var _102 = FHEAP[_101];
    var _103 = _27 - _102;
    var _104 = _body1+4+48+4;
    var _105 = FHEAP[_104];
    var _106 = _31 - _105;
    var _107 = _body1+4+48;
    var _108 = FHEAP[_107];
    var _109 = _35 - _108;
    var _110 = _109 * _39;
    var _111 = _106 * _41;
    var _112 = _110 - _111;
    var _113 = _103 * _41;
    var _114 = _109 * _45;
    var _115 = _113 - _114;
    var _116 = _106 * _45;
    var _117 = _103 * _39;
    var _118 = _116 - _117;
    var _119 = _body1+256+8;
    var _120 = FHEAP[_119];
    var _121 = _120 * _118;
    var _122 = _body1+256+16+8;
    var _123 = FHEAP[_122];
    var _124 = _123 * _115;
    var _125 = _121 + _124;
    var _126 = _body1+256+32+8;
    var _127 = FHEAP[_126];
    var _128 = _127 * _112;
    var _129 = _125 + _128;
    var _130 = _body1+256+4;
    var _131 = FHEAP[_130];
    var _132 = _131 * _118;
    var _133 = _body1+256+16+4;
    var _134 = FHEAP[_133];
    var _135 = _134 * _115;
    var _136 = _132 + _135;
    var _137 = _body1+256+32+4;
    var _138 = FHEAP[_137];
    var _139 = _138 * _112;
    var _140 = _136 + _139;
    var _141 = _body1+256;
    var _142 = FHEAP[_141];
    var _143 = _142 * _118;
    var _144 = _body1+256+16;
    var _145 = FHEAP[_144];
    var _146 = _145 * _115;
    var _147 = _143 + _146;
    var _148 = _body1+256+32;
    var _149 = FHEAP[_148];
    var _150 = _149 * _112;
    var _151 = _147 + _150;
    var _152 = _151 * _106;
    var _153 = _140 * _109;
    var _154 = _152 - _153;
    var _155 = _129 * _109;
    var _156 = _151 * _103;
    var _157 = _155 - _156;
    var _158 = _140 * _103;
    var _159 = _129 * _106;
    var _160 = _158 - _159;
    var _161 = _body1+336;
    var _162 = FHEAP[_161];
    var _163 = _41 * _160;
    var _164 = _39 * _157;
    var _165 = _163 + _164;
    var _166 = _45 * _154;
    var _167 = _165 + _166;
    var _168 = _162 + _167;
    var _169 = _100 + _168;
    var _170 = 1 / _169;
    var _171 = _this+40;
    FHEAP[_171] = _170;
    ;
    return;
  }
  __ZN19btWheelContactPointC1EP11btRigidBodyS1_RK9btVector3S4_f.__index__ = Runtime.getFunctionIndex(__ZN19btWheelContactPointC1EP11btRigidBodyS1_RK9btVector3S4_f, "__ZN19btWheelContactPointC1EP11btRigidBodyS1_RK9btVector3S4_f");
  
  
  function __Z19calcRollingFrictionR19btWheelContactPoint(_contactPoint) {
    ;
    var __label__;
    var _0 = _contactPoint;
    var _1 = IHEAP[_0];
    var _2 = _contactPoint+8+8;
    var _3 = FHEAP[_2];
    var _4 = _1+4+48+8;
    var _5 = FHEAP[_4];
    var _6 = _3 - _5;
    var _7 = _contactPoint+8+4;
    var _8 = FHEAP[_7];
    var _9 = _1+4+48+4;
    var _10 = FHEAP[_9];
    var _11 = _8 - _10;
    var _12 = _contactPoint+8;
    var _13 = FHEAP[_12];
    var _14 = _1+4+48;
    var _15 = FHEAP[_14];
    var _16 = _13 - _15;
    var _17 = _contactPoint+4;
    var _18 = IHEAP[_17];
    var _19 = _18+4+48+8;
    var _20 = FHEAP[_19];
    var _21 = _3 - _20;
    var _22 = _18+4+48+4;
    var _23 = FHEAP[_22];
    var _24 = _8 - _23;
    var _25 = _18+4+48;
    var _26 = FHEAP[_25];
    var _27 = _13 - _26;
    var _28 = _contactPoint+44;
    var _29 = FHEAP[_28];
    var _30 = _1+320;
    var _31 = FHEAP[_30];
    var _32 = _31 * _11;
    var _33 = _1+320+4;
    var _34 = FHEAP[_33];
    var _35 = _34 * _16;
    var _36 = _32 - _35;
    var _37 = _1+320+8;
    var _38 = FHEAP[_37];
    var _39 = _38 * _16;
    var _40 = _31 * _6;
    var _41 = _39 - _40;
    var _42 = _34 * _6;
    var _43 = _38 * _11;
    var _44 = _42 - _43;
    var _45 = _1+304+8;
    var _46 = FHEAP[_45];
    var _47 = _46 + _36;
    var _48 = _1+304+4;
    var _49 = FHEAP[_48];
    var _50 = _49 + _41;
    var _51 = _1+304;
    var _52 = FHEAP[_51];
    var _53 = _52 + _44;
    var _54 = _18+320;
    var _55 = FHEAP[_54];
    var _56 = _55 * _24;
    var _57 = _18+320+4;
    var _58 = FHEAP[_57];
    var _59 = _58 * _27;
    var _60 = _56 - _59;
    var _61 = _18+320+8;
    var _62 = FHEAP[_61];
    var _63 = _62 * _27;
    var _64 = _55 * _21;
    var _65 = _63 - _64;
    var _66 = _58 * _21;
    var _67 = _62 * _24;
    var _68 = _66 - _67;
    var _69 = _18+304+8;
    var _70 = FHEAP[_69];
    var _71 = _70 + _60;
    var _72 = _18+304+4;
    var _73 = FHEAP[_72];
    var _74 = _73 + _65;
    var _75 = _18+304;
    var _76 = FHEAP[_75];
    var _77 = _76 + _68;
    var _78 = _47 - _71;
    var _79 = _50 - _74;
    var _80 = _53 - _77;
    var _81 = _contactPoint+24;
    var _82 = FHEAP[_81];
    var _83 = _82 * _80;
    var _84 = _contactPoint+24+4;
    var _85 = FHEAP[_84];
    var _86 = _85 * _79;
    var _87 = _83 + _86;
    var _88 = _contactPoint+24+8;
    var _89 = FHEAP[_88];
    var _90 = _89 * _78;
    var _91 = _87 + _90;
    var _92 = 0 - _91;
    var _93 = _contactPoint+40;
    var _94 = FHEAP[_93];
    var _95 = _94 * _92;
    var _96 = _29 < _95;
    var _j1_1 = _96 ? _29 : _95;
    var _97 = 0 - _29;
    var _98 = _j1_1 < _97;
    var _j1_0 = _98 ? _97 : _j1_1;
    ;
    return _j1_0;
  }
  __Z19calcRollingFrictionR19btWheelContactPoint.__index__ = Runtime.getFunctionIndex(__Z19calcRollingFrictionR19btWheelContactPoint, "__Z19calcRollingFrictionR19btWheelContactPoint");
  
  
  function __ZN16btRaycastVehicle12getWheelInfoEi(_this, _index) {
    ;
    var __label__;
    var _0 = _this+132+12;
    var _1 = IHEAP[_0];
    var _2 = _1+284*_index;
    ;
    return _2;
  }
  __ZN16btRaycastVehicle12getWheelInfoEi.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicle12getWheelInfoEi, "__ZN16btRaycastVehicle12getWheelInfoEi");
  
  
  function __ZN16btRaycastVehicle9debugDrawEP12btIDebugDraw(_this, _debugDrawer) {
    var __stackBase__  = STACKTOP; STACKTOP += 48;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _wheelColor = __stackBase__+16;
    var _wheelPosWS = __stackBase__+32;
    var _1 = _this+132+4;
    var _2 = IHEAP[_1];
    var _3 = _2 > 0;
    ;
    _bb_nph$_return$18304: do { 
      if (_3) {
        ;
        var _4 = _wheelColor;
        var _5 = _wheelColor+4;
        var _6 = _wheelColor+8;
        var _7 = _wheelColor+12;
        var _8 = _this+132+12;
        var _9 = _wheelPosWS;
        var _10 = _wheelPosWS+4;
        var _11 = _wheelPosWS+8;
        var _12 = _wheelPosWS+12;
        var _13 = _this+120;
        var _14 = _debugDrawer;
        var _15 = _0;
        var _16 = _0+4;
        var _17 = _0+8;
        var _18 = _0+12;
        __lastLabel__ = 130; ;
        _bb$18306: while(1) { // _bb
          var _v_09 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _v_09 + 1;
          FHEAP[_4] = 0;
          FHEAP[_5] = 1;
          FHEAP[_6] = 1;
          FHEAP[_7] = 0;
          var _19 = IHEAP[_8];
          var _scevgep = _19+284*_v_09+84;
          var _20 = IHEAP[_scevgep];
          var _toBool = _20 == 0;
          var _storemerge = _toBool ? 1 : 0;
          FHEAP[_4] = _storemerge;
          FHEAP[_5] = 0;
          FHEAP[_6] = 1;
          FHEAP[_7] = 0;
          var _scevgep10 = _19+284*_v_09+92+48;
          var _21 = FHEAP[_scevgep10];
          FHEAP[_9] = _21;
          var _scevgep11 = _19+284*_v_09+92+48+4;
          var _22 = FHEAP[_scevgep11];
          FHEAP[_10] = _22;
          var _scevgep12 = _19+284*_v_09+92+48+8;
          var _23 = FHEAP[_scevgep12];
          FHEAP[_11] = _23;
          var _scevgep13 = _19+284*_v_09+92+48+12;
          var _24 = FHEAP[_scevgep13];
          FHEAP[_12] = _24;
          var _25 = IHEAP[_13];
          var _scevgep16 = _19+284*_v_09+92+_25*4;
          var _26 = FHEAP[_scevgep16];
          var _scevgep15 = _19+284*_v_09+92+16+_25*4;
          var _27 = FHEAP[_scevgep15];
          var _scevgep14 = _19+284*_v_09+92+32+_25*4;
          var _28 = FHEAP[_scevgep14];
          var _29 = IHEAP[_14];
          var _30 = _29+8;
          var _31 = IHEAP[_30];
          var _32 = _23 + _28;
          var _33 = _22 + _27;
          var _34 = _21 + _26;
          FHEAP[_15] = _34;
          FHEAP[_16] = _33;
          FHEAP[_17] = _32;
          FHEAP[_18] = 0;
          var _35 = _31;
          FUNCTION_TABLE[_35](_debugDrawer, _wheelPosWS, _0, _wheelColor);
          var _36 = IHEAP[_14];
          var _37 = _36+8;
          var _38 = IHEAP[_37];
          var _39 = IHEAP[_8];
          var _40 = _38;
          var _scevgep17 = _39+284*_v_09+16;
          var _scevgep1718 = _scevgep17;
          FUNCTION_TABLE[_40](_debugDrawer, _wheelPosWS, _scevgep1718, _wheelColor);
          var _41 = IHEAP[_1];
          var _42 = _41 > _tmp;
          if (_42) { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$18306; } else { __lastLabel__ = 60; __label__ = 44; /* _return */ break _bb_nph$_return$18304; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN16btRaycastVehicle9debugDrawEP12btIDebugDraw.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicle9debugDrawEP12btIDebugDraw, "__ZN16btRaycastVehicle9debugDrawEP12btIDebugDraw");
  
  
  function __ZN16btRaycastVehicle8setBrakeEfi(_this, _brake, _wheelIndex) {
    ;
    var __label__;
    var _0 = _this+132+12;
    var _1 = IHEAP[_0];
    var _2 = _1+284*_wheelIndex+256;
    FHEAP[_2] = _brake;
    ;
    return;
  }
  __ZN16btRaycastVehicle8setBrakeEfi.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicle8setBrakeEfi, "__ZN16btRaycastVehicle8setBrakeEfi");
  
  
  function __ZN16btRaycastVehicle16applyEngineForceEfi(_this, _force, _wheel) {
    ;
    var __label__;
    var _0 = _this+132+12;
    var _1 = IHEAP[_0];
    var _2 = _1+284*_wheel+252;
    FHEAP[_2] = _force;
    ;
    return;
  }
  __ZN16btRaycastVehicle16applyEngineForceEfi.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicle16applyEngineForceEfi, "__ZN16btRaycastVehicle16applyEngineForceEfi");
  
  
  function __ZN16btRaycastVehicle16setSteeringValueEfi(_this, _steering, _wheel) {
    ;
    var __label__;
    var _0 = _this+132+12;
    var _1 = IHEAP[_0];
    var _2 = _1+284*_wheel+232;
    FHEAP[_2] = _steering;
    ;
    return;
  }
  __ZN16btRaycastVehicle16setSteeringValueEfi.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicle16setSteeringValueEfi, "__ZN16btRaycastVehicle16setSteeringValueEfi");
  
  
  function __ZNK16btRaycastVehicle12getWheelInfoEi(_this, _index) {
    ;
    var __label__;
    var _0 = _this+132+12;
    var _1 = IHEAP[_0];
    var _2 = _1+284*_index;
    ;
    return _2;
  }
  __ZNK16btRaycastVehicle12getWheelInfoEi.__index__ = Runtime.getFunctionIndex(__ZNK16btRaycastVehicle12getWheelInfoEi, "__ZNK16btRaycastVehicle12getWheelInfoEi");
  
  
  function __ZNK16btRaycastVehicle16getSteeringValueEi(_this, _wheel) {
    ;
    var __label__;
    var _0 = _this+132+12;
    var _1 = IHEAP[_0];
    var _2 = _1+284*_wheel+232;
    var _3 = FHEAP[_2];
    ;
    return _3;
  }
  __ZNK16btRaycastVehicle16getSteeringValueEi.__index__ = Runtime.getFunctionIndex(__ZNK16btRaycastVehicle16getSteeringValueEi, "__ZNK16btRaycastVehicle16getSteeringValueEi");
  
  
  function __ZNK16btRaycastVehicle19getWheelTransformWSEi(_this, _wheelIndex) {
    ;
    var __label__;
    var _0 = _this+132+12;
    var _1 = IHEAP[_0];
    var _2 = _1+284*_wheelIndex+92;
    ;
    return _2;
  }
  __ZNK16btRaycastVehicle19getWheelTransformWSEi.__index__ = Runtime.getFunctionIndex(__ZNK16btRaycastVehicle19getWheelTransformWSEi, "__ZNK16btRaycastVehicle19getWheelTransformWSEi");
  
  
  function __ZN25btDefaultVehicleRaycasterD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btDefaultVehicleRaycaster+8;
    var _1 = _this;
    __ZdlPv(_1);
    ;
    return;
  }
  __ZN25btDefaultVehicleRaycasterD0Ev.__index__ = Runtime.getFunctionIndex(__ZN25btDefaultVehicleRaycasterD0Ev, "__ZN25btDefaultVehicleRaycasterD0Ev");
  
  
  function __ZN25btDefaultVehicleRaycasterD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btDefaultVehicleRaycaster+8;
    ;
    return;
  }
  __ZN25btDefaultVehicleRaycasterD1Ev.__index__ = Runtime.getFunctionIndex(__ZN25btDefaultVehicleRaycasterD1Ev, "__ZN25btDefaultVehicleRaycasterD1Ev");
  
  
  function __ZN16btRaycastVehicle8addWheelERK9btVector3S2_S2_ffRKNS_15btVehicleTuningEb(_this, _connectionPointCS, _wheelDirectionCS0, _wheelAxleCS, _suspensionRestLength, _wheelRadius, _tuning, _isFrontWheel) {
    var __stackBase__  = STACKTOP; STACKTOP += 284;
    var __label__;
    var _0 = __stackBase__;
    var _1 = _connectionPointCS;
    var _2 = FHEAP[_1];
    var _3 = _connectionPointCS+4;
    var _4 = FHEAP[_3];
    var _5 = _connectionPointCS+8;
    var _6 = FHEAP[_5];
    var _7 = _connectionPointCS+12;
    var _8 = FHEAP[_7];
    var _9 = _wheelDirectionCS0;
    var _10 = FHEAP[_9];
    var _11 = _wheelDirectionCS0+4;
    var _12 = FHEAP[_11];
    var _13 = _wheelDirectionCS0+8;
    var _14 = FHEAP[_13];
    var _15 = _wheelDirectionCS0+12;
    var _16 = FHEAP[_15];
    var _17 = _wheelAxleCS;
    var _18 = FHEAP[_17];
    var _19 = _wheelAxleCS+4;
    var _20 = FHEAP[_19];
    var _21 = _wheelAxleCS+8;
    var _22 = FHEAP[_21];
    var _23 = _wheelAxleCS+12;
    var _24 = FHEAP[_23];
    var _25 = _tuning;
    var _26 = FHEAP[_25];
    var _27 = _tuning+4;
    var _28 = FHEAP[_27];
    var _29 = _tuning+8;
    var _30 = FHEAP[_29];
    var _31 = _tuning+16;
    var _32 = FHEAP[_31];
    var _33 = _tuning+12;
    var _34 = FHEAP[_33];
    var _35 = _tuning+20;
    var _36 = FHEAP[_35];
    var _37 = _0+204;
    FHEAP[_37] = _suspensionRestLength;
    var _38 = _0+208;
    FHEAP[_38] = _34;
    var _39 = _0+212;
    FHEAP[_39] = _wheelRadius;
    var _40 = _0+216;
    FHEAP[_40] = _26;
    var _41 = _0+220;
    FHEAP[_41] = _28;
    var _42 = _0+224;
    FHEAP[_42] = _30;
    var _43 = _0+156;
    FHEAP[_43] = _2;
    var _44 = _0+156+4;
    FHEAP[_44] = _4;
    var _45 = _0+156+8;
    FHEAP[_45] = _6;
    var _46 = _0+156+12;
    FHEAP[_46] = _8;
    var _47 = _0+172;
    FHEAP[_47] = _10;
    var _48 = _0+172+4;
    FHEAP[_48] = _12;
    var _49 = _0+172+8;
    FHEAP[_49] = _14;
    var _50 = _0+172+12;
    FHEAP[_50] = _16;
    var _51 = _0+188;
    FHEAP[_51] = _18;
    var _52 = _0+188+4;
    FHEAP[_52] = _20;
    var _53 = _0+188+8;
    FHEAP[_53] = _22;
    var _54 = _0+188+12;
    FHEAP[_54] = _24;
    var _55 = _0+228;
    FHEAP[_55] = _32;
    var _56 = _0+232;
    FHEAP[_56] = 0;
    var _57 = _0+252;
    FHEAP[_57] = 0;
    var _58 = _0+236;
    FHEAP[_58] = 0;
    var _59 = _0+240;
    FHEAP[_59] = 0;
    var _60 = _0+256;
    FHEAP[_60] = 0;
    var _61 = _0+244;
    FHEAP[_61] = 0.10000000149011612;
    var _62 = _0+260;
    IHEAP[_62] = _isFrontWheel;
    var _63 = _0+248;
    FHEAP[_63] = _36;
    var _64 = _this+132;
    __ZN20btAlignedObjectArrayI11btWheelInfoE9push_backERKS0_(_64, _0);
    var _65 = _this+132+4;
    var _66 = IHEAP[_65];
    var _67 = _66 + -1;
    var _68 = _this+132+12;
    var _69 = IHEAP[_68];
    var _70 = _69+284*_67;
    __ZN16btRaycastVehicle23updateWheelTransformsWSER11btWheelInfob(_this, _70, 0);
    var _71 = IHEAP[_65];
    var _72 = _71 + -1;
    __ZN16btRaycastVehicle20updateWheelTransformEib(_this, _72, 0);
    STACKTOP = __stackBase__;
    return _70;
  }
  __ZN16btRaycastVehicle8addWheelERK9btVector3S2_S2_ffRKNS_15btVehicleTuningEb.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicle8addWheelERK9btVector3S2_S2_ffRKNS_15btVehicleTuningEb, "__ZN16btRaycastVehicle8addWheelERK9btVector3S2_S2_ffRKNS_15btVehicleTuningEb");
  
  
  function __ZN16btRaycastVehicleC2ERKNS_15btVehicleTuningEP11btRigidBodyP18btVehicleRaycaster(_this, _tuning, _chassis, _raycaster) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btRaycastVehicle+8;
    var _1 = _this+4+16;
    IHEAP[_1] = 1;
    var _2 = _this+4+12;
    IHEAP[_2] = 0;
    var _3 = _this+4+4;
    IHEAP[_3] = 0;
    var _4 = _this+4+8;
    IHEAP[_4] = 0;
    var _5 = _this+24+16;
    IHEAP[_5] = 1;
    var _6 = _this+24+12;
    IHEAP[_6] = 0;
    var _7 = _this+24+4;
    IHEAP[_7] = 0;
    var _8 = _this+24+8;
    IHEAP[_8] = 0;
    var _9 = _this+44+16;
    IHEAP[_9] = 1;
    var _10 = _this+44+12;
    IHEAP[_10] = 0;
    var _11 = _this+44+4;
    IHEAP[_11] = 0;
    var _12 = _this+44+8;
    IHEAP[_12] = 0;
    var _13 = _this+64+16;
    IHEAP[_13] = 1;
    var _14 = _this+64+12;
    IHEAP[_14] = 0;
    var _15 = _this+64+4;
    IHEAP[_15] = 0;
    var _16 = _this+64+8;
    IHEAP[_16] = 0;
    var _17 = _this+100;
    IHEAP[_17] = _raycaster;
    var _18 = _this+104;
    FHEAP[_18] = 0;
    var _19 = _this+132+16;
    IHEAP[_19] = 1;
    var _20 = _this+132+12;
    IHEAP[_20] = 0;
    var _21 = _this+132+4;
    IHEAP[_21] = 0;
    var _22 = _this+132+8;
    IHEAP[_22] = 0;
    var _23 = _this+116;
    IHEAP[_23] = _chassis;
    var _24 = _this+120;
    IHEAP[_24] = 0;
    var _25 = _this+124;
    IHEAP[_25] = 2;
    var _26 = _this+128;
    IHEAP[_26] = 1;
    var _27 = _this+112;
    FHEAP[_27] = 0;
    var _28 = _this+108;
    FHEAP[_28] = 0;
    ;
    return;
  }
  __ZN16btRaycastVehicleC2ERKNS_15btVehicleTuningEP11btRigidBodyP18btVehicleRaycaster.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicleC2ERKNS_15btVehicleTuningEP11btRigidBodyP18btVehicleRaycaster, "__ZN16btRaycastVehicleC2ERKNS_15btVehicleTuningEP11btRigidBodyP18btVehicleRaycaster");
  
  
  function __ZN16btRaycastVehicleC1ERKNS_15btVehicleTuningEP11btRigidBodyP18btVehicleRaycaster(_this, _tuning, _chassis, _raycaster) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btRaycastVehicle+8;
    var _1 = _this+4+16;
    IHEAP[_1] = 1;
    var _2 = _this+4+12;
    IHEAP[_2] = 0;
    var _3 = _this+4+4;
    IHEAP[_3] = 0;
    var _4 = _this+4+8;
    IHEAP[_4] = 0;
    var _5 = _this+24+16;
    IHEAP[_5] = 1;
    var _6 = _this+24+12;
    IHEAP[_6] = 0;
    var _7 = _this+24+4;
    IHEAP[_7] = 0;
    var _8 = _this+24+8;
    IHEAP[_8] = 0;
    var _9 = _this+44+16;
    IHEAP[_9] = 1;
    var _10 = _this+44+12;
    IHEAP[_10] = 0;
    var _11 = _this+44+4;
    IHEAP[_11] = 0;
    var _12 = _this+44+8;
    IHEAP[_12] = 0;
    var _13 = _this+64+16;
    IHEAP[_13] = 1;
    var _14 = _this+64+12;
    IHEAP[_14] = 0;
    var _15 = _this+64+4;
    IHEAP[_15] = 0;
    var _16 = _this+64+8;
    IHEAP[_16] = 0;
    var _17 = _this+100;
    IHEAP[_17] = _raycaster;
    var _18 = _this+104;
    FHEAP[_18] = 0;
    var _19 = _this+132+16;
    IHEAP[_19] = 1;
    var _20 = _this+132+12;
    IHEAP[_20] = 0;
    var _21 = _this+132+4;
    IHEAP[_21] = 0;
    var _22 = _this+132+8;
    IHEAP[_22] = 0;
    var _23 = _this+116;
    IHEAP[_23] = _chassis;
    var _24 = _this+120;
    IHEAP[_24] = 0;
    var _25 = _this+124;
    IHEAP[_25] = 2;
    var _26 = _this+128;
    IHEAP[_26] = 1;
    var _27 = _this+112;
    FHEAP[_27] = 0;
    var _28 = _this+108;
    FHEAP[_28] = 0;
    ;
    return;
  }
  __ZN16btRaycastVehicleC1ERKNS_15btVehicleTuningEP11btRigidBodyP18btVehicleRaycaster.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicleC1ERKNS_15btVehicleTuningEP11btRigidBodyP18btVehicleRaycaster, "__ZN16btRaycastVehicleC1ERKNS_15btVehicleTuningEP11btRigidBodyP18btVehicleRaycaster");
  
  
  function __ZNK11btWheelInfo23getSuspensionRestLengthEv(_this) {
    ;
    var __label__;
    var _0 = _this+204;
    var _1 = FHEAP[_0];
    ;
    return _1;
  }
  __ZNK11btWheelInfo23getSuspensionRestLengthEv.__index__ = Runtime.getFunctionIndex(__ZNK11btWheelInfo23getSuspensionRestLengthEv, "__ZNK11btWheelInfo23getSuspensionRestLengthEv");
  
  
  function __ZN11btWheelInfo11updateWheelERK11btRigidBodyRNS_11RaycastInfoE(_this, _chassis, _raycastInfo) {
    ;
    var __label__;
    var _0 = _this+84;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    ;
    if (_toBool) {
      ;
      var _70 = _this+204;
      var _71 = FHEAP[_70];
      var _72 = _this+32;
      FHEAP[_72] = _71;
      var _73 = _this+272;
      FHEAP[_73] = 0;
      var _74 = _this+52+8;
      var _75 = FHEAP[_74];
      var _76 = 0 - _75;
      var _77 = _this+52+4;
      var _78 = FHEAP[_77];
      var _79 = 0 - _78;
      var _80 = _this+52;
      var _81 = FHEAP[_80];
      var _82 = 0 - _81;
      var _83 = _this;
      FHEAP[_83] = _82;
      var _84 = _this+4;
      FHEAP[_84] = _79;
      var _85 = _this+8;
      FHEAP[_85] = _76;
      var _86 = _this+12;
      FHEAP[_86] = 0;
      var _87 = _this+268;
      FHEAP[_87] = 1;
      ;
      return;
    }
    else {
      ;
      var _2 = _this;
      var _3 = FHEAP[_2];
      var _4 = _this+52;
      var _5 = FHEAP[_4];
      var _6 = _3 * _5;
      var _7 = _this+4;
      var _8 = FHEAP[_7];
      var _9 = _this+52+4;
      var _10 = FHEAP[_9];
      var _11 = _8 * _10;
      var _12 = _6 + _11;
      var _13 = _this+8;
      var _14 = FHEAP[_13];
      var _15 = _this+52+8;
      var _16 = FHEAP[_15];
      var _17 = _14 * _16;
      var _18 = _12 + _17;
      var _19 = _this+16+8;
      var _20 = FHEAP[_19];
      var _21 = _chassis+4+48+8;
      var _22 = FHEAP[_21];
      var _23 = _20 - _22;
      var _24 = _this+16+4;
      var _25 = FHEAP[_24];
      var _26 = _chassis+4+48+4;
      var _27 = FHEAP[_26];
      var _28 = _25 - _27;
      var _29 = _this+16;
      var _30 = FHEAP[_29];
      var _31 = _chassis+4+48;
      var _32 = FHEAP[_31];
      var _33 = _30 - _32;
      var _34 = _chassis+320;
      var _35 = FHEAP[_34];
      var _36 = _chassis+320+4;
      var _37 = FHEAP[_36];
      var _38 = _chassis+320+8;
      var _39 = FHEAP[_38];
      var _40 = _18 < -0.10000000149011612;
      ;
      if (_40) {
        ;
        var _43 = _chassis+304;
        var _44 = _chassis+304+4;
        var _45 = _39 * _28;
        var _46 = _37 * _23;
        var _47 = _35 * _23;
        var _48 = _39 * _33;
        var _49 = FHEAP[_43];
        var _50 = FHEAP[_44];
        var _51 = _chassis+304+8;
        var _52 = _46 - _45;
        var _53 = _48 - _47;
        var _54 = _37 * _33;
        var _55 = _35 * _28;
        var _56 = _49 + _52;
        var _57 = _50 + _53;
        var _58 = FHEAP[_51];
        var _59 = _55 - _54;
        var _60 = _8 * _57;
        var _61 = _3 * _56;
        var _62 = _58 + _59;
        var _63 = _14 * _62;
        var _64 = _61 + _60;
        var _65 = _64 + _63;
        var _66 = -1 / _18;
        var _67 = _65 * _66;
        var _68 = _this+272;
        FHEAP[_68] = _67;
        var _69 = _this+268;
        FHEAP[_69] = _66;
        ;
        return;
      }
      else {
        ;
        var _41 = _this+272;
        FHEAP[_41] = 0;
        var _42 = _this+268;
        FHEAP[_42] = 10;
        ;
        return;
      }
    }
  }
  __ZN11btWheelInfo11updateWheelERK11btRigidBodyRNS_11RaycastInfoE.__index__ = Runtime.getFunctionIndex(__ZN11btWheelInfo11updateWheelERK11btRigidBodyRNS_11RaycastInfoE, "__ZN11btWheelInfo11updateWheelERK11btRigidBodyRNS_11RaycastInfoE");
  
  
  function __ZL20btAlignedFreeDefaultPv(_ptr) {
    ;
    var __label__;
    var _0 = _ptr == 0;
    ;
    if (_0) {
      ;
      ;
      return;
    }
    else {
      ;
      var _1 = _ptr+-4;
      var _2 = _1;
      var _3 = IHEAP[_2];
      var _4 = IHEAP[__ZL9sFreeFunc];
      FUNCTION_TABLE[_4](_3);
      ;
      return;
    }
  }
  __ZL20btAlignedFreeDefaultPv.__index__ = Runtime.getFunctionIndex(__ZL20btAlignedFreeDefaultPv, "__ZL20btAlignedFreeDefaultPv");
  
  
  function __Z22ThreePlaneIntersectionRK7btPlaneS1_S1_(_agg_result, _p0, _p1, _p2) {
    ;
    var __label__;
    var _0 = _p0;
    var _1 = FHEAP[_0];
    var _2 = _p0+4;
    var _3 = FHEAP[_2];
    var _4 = _p0+8;
    var _5 = FHEAP[_4];
    var _6 = _p1;
    var _7 = FHEAP[_6];
    var _8 = _p1+4;
    var _9 = FHEAP[_8];
    var _10 = _p1+8;
    var _11 = FHEAP[_10];
    var _12 = _p2;
    var _13 = FHEAP[_12];
    var _14 = _p2+4;
    var _15 = FHEAP[_14];
    var _16 = _p2+8;
    var _17 = FHEAP[_16];
    var _18 = _7 * _15;
    var _19 = _9 * _13;
    var _20 = _18 - _19;
    var _21 = _11 * _13;
    var _22 = _7 * _17;
    var _23 = _21 - _22;
    var _24 = _9 * _17;
    var _25 = _11 * _15;
    var _26 = _24 - _25;
    var _27 = _13 * _3;
    var _28 = _15 * _1;
    var _29 = _27 - _28;
    var _30 = _17 * _1;
    var _31 = _13 * _5;
    var _32 = _30 - _31;
    var _33 = _15 * _5;
    var _34 = _17 * _3;
    var _35 = _33 - _34;
    var _36 = _1 * _9;
    var _37 = _3 * _7;
    var _38 = _36 - _37;
    var _39 = _5 * _7;
    var _40 = _1 * _11;
    var _41 = _39 - _40;
    var _42 = _3 * _11;
    var _43 = _5 * _9;
    var _44 = _42 - _43;
    var _45 = _1 * _26;
    var _46 = _3 * _23;
    var _47 = _45 + _46;
    var _48 = _5 * _20;
    var _49 = _47 + _48;
    var _50 = -1 / _49;
    var _51 = _p0+16;
    var _52 = FHEAP[_51];
    var _53 = _26 * _52;
    var _54 = _23 * _52;
    var _55 = _20 * _52;
    var _56 = _p1+16;
    var _57 = FHEAP[_56];
    var _58 = _35 * _57;
    var _59 = _32 * _57;
    var _60 = _29 * _57;
    var _61 = _p2+16;
    var _62 = FHEAP[_61];
    var _63 = _44 * _62;
    var _64 = _41 * _62;
    var _65 = _38 * _62;
    var _66 = _53 + _58;
    var _67 = _54 + _59;
    var _68 = _55 + _60;
    var _69 = _66 + _63;
    var _70 = _67 + _64;
    var _71 = _68 + _65;
    var _72 = _69 * _50;
    var _73 = _70 * _50;
    var _74 = _71 * _50;
    var _75 = _agg_result;
    FHEAP[_75] = _72;
    var _76 = _agg_result+4;
    FHEAP[_76] = _73;
    var _77 = _agg_result+8;
    FHEAP[_77] = _74;
    var _78 = _agg_result+12;
    FHEAP[_78] = 0;
    ;
    return;
  }
  __Z22ThreePlaneIntersectionRK7btPlaneS1_S1_.__index__ = Runtime.getFunctionIndex(__Z22ThreePlaneIntersectionRK7btPlaneS1_S1_, "__Z22ThreePlaneIntersectionRK7btPlaneS1_S1_");
  
  
  function __Z12PlaneProjectRK7btPlaneRK9btVector3(_agg_result, _plane, _point) {
    ;
    var __label__;
    var _0 = _point;
    var _1 = FHEAP[_0];
    var _2 = _plane;
    var _3 = FHEAP[_2];
    var _4 = _1 * _3;
    var _5 = _point+4;
    var _6 = FHEAP[_5];
    var _7 = _plane+4;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _4 + _9;
    var _11 = _point+8;
    var _12 = FHEAP[_11];
    var _13 = _plane+8;
    var _14 = FHEAP[_13];
    var _15 = _12 * _14;
    var _16 = _10 + _15;
    var _17 = _plane+16;
    var _18 = FHEAP[_17];
    var _19 = _16 + _18;
    var _20 = _14 * _19;
    var _21 = _8 * _19;
    var _22 = _3 * _19;
    var _23 = _12 - _20;
    var _24 = _6 - _21;
    var _25 = _1 - _22;
    var _26 = _agg_result;
    FHEAP[_26] = _25;
    var _27 = _agg_result+4;
    FHEAP[_27] = _24;
    var _28 = _agg_result+8;
    FHEAP[_28] = _23;
    var _29 = _agg_result+12;
    FHEAP[_29] = 0;
    ;
    return;
  }
  __Z12PlaneProjectRK7btPlaneRK9btVector3.__index__ = Runtime.getFunctionIndex(__Z12PlaneProjectRK7btPlaneRK9btVector3, "__Z12PlaneProjectRK7btPlaneRK9btVector3");
  
  
  function __Z9PlaneTestRK7btPlaneRK9btVector3(_p, _v) {
    ;
    var __label__;
    var _0 = _v;
    var _1 = FHEAP[_0];
    var _2 = _p;
    var _3 = FHEAP[_2];
    var _4 = _1 * _3;
    var _5 = _v+4;
    var _6 = FHEAP[_5];
    var _7 = _p+4;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _4 + _9;
    var _11 = _v+8;
    var _12 = FHEAP[_11];
    var _13 = _p+8;
    var _14 = FHEAP[_13];
    var _15 = _12 * _14;
    var _16 = _10 + _15;
    var _17 = _p+16;
    var _18 = FHEAP[_17];
    var _19 = _16 + _18;
    var _20 = FHEAP[_planetestepsilon];
    var _21 = _19 <= _20;
    ;
    if (_21) {
      ;
      var _22 = 0 - _20;
      var _23 = _19 < _22;
      var _iftmp_49_0 = _23;
      ;
      return _iftmp_49_0;
    }
    else {
      ;
      ;
      return 2;
    }
  }
  __Z9PlaneTestRK7btPlaneRK9btVector3.__index__ = Runtime.getFunctionIndex(__Z9PlaneTestRK7btPlaneRK9btVector3, "__Z9PlaneTestRK7btPlaneRK9btVector3");
  
  
  function __ZeqRK4int3S1_(_a, _b) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _b7 = _b;
    var _a9 = _a;
    __lastLabel__ = -1; ;
    _bb3$18657: while(1) { // _bb3
      var _4 = __lastLabel__ == -1 ? 0 : (_3);
      var _tmp = _4 << 2;
      var _5 = _4 < 3;
      if (_5) { __lastLabel__ = 116; ; } else { __lastLabel__ = 116; __label__ = 82; /* _bb5 */ break _bb3$18657; }
      var _uglygep10 = _a9+_tmp;
      var _uglygep = _b7+_tmp;
      var _uglygep1011 = _uglygep10;
      var _uglygep8 = _uglygep;
      var _0 = IHEAP[_uglygep1011];
      var _1 = IHEAP[_uglygep8];
      var _2 = _0 == _1;
      if (_2) { __lastLabel__ = 60; ; } else { __lastLabel__ = 60; __label__ = 82; /* _bb5 */ break _bb3$18657; }
      var _3 = _4 + 1;
      __lastLabel__ = 0; __label__ = 116; /* _bb3 */ continue _bb3$18657;
    }
    var __0 = __lastLabel__ == 60 ? 0 : (1);
    ;
    return __0;
  }
  __ZeqRK4int3S1_.__index__ = Runtime.getFunctionIndex(__ZeqRK4int3S1_, "__ZeqRK4int3S1_");
  
  
  function __Z7hasedgeRK4int3ii(_t, _a, _b) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _t11 = _t;
    var _0 = _t;
    __lastLabel__ = -1; ;
    _bb7$18663: while(1) { // _bb7
      var _7 = __lastLabel__ == -1 ? 0 : (__lastLabel__ == 75 ? _tmp : (_tmp));
      var _tmp = _7 + 1;
      var _8 = _7 < 3;
      if (_8) { __lastLabel__ = 2; ; } else { __lastLabel__ = 2; __label__ = 62; /* _bb9 */ break _bb7$18663; }
      var _tmp12 = _7 << 2;
      var _uglygep = _t11+_tmp12;
      var _uglygep13 = _uglygep;
      var _1 = IHEAP[_uglygep13];
      var _2 = _1 == _a;
      if (_2) { __lastLabel__ = 60; ; } else { __lastLabel__ = 60; __label__ = 2; /* _bb7 */ continue _bb7$18663; }
      var _3 = Math.floor(_tmp % 3);
      var _4 = _0+4*_3;
      var _5 = IHEAP[_4];
      var _6 = _5 == _b;
      if (_6) { __lastLabel__ = 75; __label__ = 62; /* _bb9 */ break _bb7$18663; } else { __lastLabel__ = 75; __label__ = 2; /* _bb7 */ continue _bb7$18663; }
    }
    var __0 = __lastLabel__ == 75 ? 1 : (0);
    ;
    return __0;
  }
  __Z7hasedgeRK4int3ii.__index__ = Runtime.getFunctionIndex(__Z7hasedgeRK4int3ii, "__Z7hasedgeRK4int3ii");
  
  
  function __Z7hasvertRK4int3i(_t, _v) {
    ;
    var __label__;
    var _0 = _t;
    var _1 = IHEAP[_0];
    var _2 = _1 == _v;
    ;
    _bb4$_bb$18669: do { 
      if (!_2) {
        ;
        var _3 = _0+4;
        var _4 = IHEAP[_3];
        var _5 = _4 == _v;
        if (_5) { __label__ = 61; /* _bb4 */ break _bb4$_bb$18669; }
        var _6 = _0+8;
        var _7 = IHEAP[_6];
        var _8 = _7 == _v;
        var _retval = _8;
        ;
        return _retval;
      }
    } while(0);
    ;
    return 1;
  }
  __Z7hasvertRK4int3i.__index__ = Runtime.getFunctionIndex(__Z7hasvertRK4int3i, "__Z7hasvertRK4int3i");
  
  
  function __Z9shareedgeRK4int3S1_(_a, _b) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _t11_i = _a;
    var _b10 = _b;
    var _0 = _b;
    var _1 = _a;
    __lastLabel__ = -1; ;
    _bb3$18674: while(1) { // _bb3
      var _14 = __lastLabel__ == -1 ? 0 : (_tmp9);
      var _15 = _14 < 3;
      if (_15) { __lastLabel__ = 116; ; } else { __lastLabel__ = 116; __label__ = 82; /* _bb5 */ break _bb3$18674; }
      var _tmp11 = _14 << 2;
      var _uglygep12 = _b10+_tmp11;
      var _uglygep1213 = _uglygep12;
      var _tmp9 = _14 + 1;
      var _2 = Math.floor(_tmp9 % 3);
      var _3 = IHEAP[_uglygep1213];
      var _4 = _0+4*_2;
      var _5 = IHEAP[_4];
      __lastLabel__ = 60; ;
      _bb7_i$18677: while(1) { // _bb7_i
        var _12 = __lastLabel__ == 60 ? 0 : (__lastLabel__ == 131 ? _tmp_i : (_tmp_i));
        var _tmp_i = _12 + 1;
        var _13 = _12 < 3;
        if (_13) { __lastLabel__ = 137; ; } else { __lastLabel__ = 137; __label__ = 116; /* _bb3 */ continue _bb3$18674; }
        var _tmp = _12 << 2;
        var _uglygep = _t11_i+_tmp;
        var _uglygep13_i = _uglygep;
        var _6 = IHEAP[_uglygep13_i];
        var _7 = _6 == _5;
        if (_7) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 137; /* _bb7_i */ continue _bb7_i$18677; }
        var _8 = Math.floor(_tmp_i % 3);
        var _9 = _1+4*_8;
        var _10 = IHEAP[_9];
        var _11 = _10 == _3;
        if (_11) { __lastLabel__ = 159; __label__ = 82; /* _bb5 */ break _bb3$18674; } else { __lastLabel__ = 159; __label__ = 137; /* _bb7_i */ continue _bb7_i$18677; }
      }
    }
    var __0 = __lastLabel__ == 159 ? 1 : (0);
    ;
    return __0;
  }
  __Z9shareedgeRK4int3S1_.__index__ = Runtime.getFunctionIndex(__Z9shareedgeRK4int3S1_, "__Z9shareedgeRK4int3S1_");
  
  
  function __ZN14btHullTriangle4neibEii(_this, _a, _b) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _this21 = _this;
    var _0 = _this;
    __lastLabel__ = -1; ;
    _bb14$18683: while(1) { // _bb14
      var _16 = __lastLabel__ == -1 ? 0 : (__lastLabel__ == 2 ? _tmp20 : (_tmp20));
      var _17 = _16 < 3;
      if (!(_17)) { __label__ = 154; /* _bb16 */ break _bb14$18683; }
      var _tmp22 = _16 << 2;
      var _uglygep = _this21+_tmp22;
      var _uglygep23 = _uglygep;
      var _tmp20 = _16 + 1;
      var _tmp = _16 + 2;
      var _1 = Math.floor(_tmp20 % 3);
      var _2 = Math.floor(_tmp % 3);
      var _3 = IHEAP[_uglygep23];
      var _4 = _3 == _a;
      ;
      if (_4) {
        ;
        var _5 = _0+4*_1;
        var _6 = IHEAP[_5];
        var _7 = _6 == _b;
        if (_7) { __label__ = 82; /* _bb5 */ break _bb14$18683; }
      }
      var _8 = _3 == _b;
      if (_8) { __lastLabel__ = 116; ; } else { __lastLabel__ = 116; __label__ = 63; /* _bb14 */ continue _bb14$18683; }
      var _11 = _0+4*_1;
      var _12 = IHEAP[_11];
      var _13 = _12 == _a;
      if (_13) { __lastLabel__ = 2; __label__ = 3; /* _bb12 */ break _bb14$18683; } else { __lastLabel__ = 2; __label__ = 63; /* _bb14 */ continue _bb14$18683; }
    }
    if (__label__ == 82) {
      var _9 = _this+12;
      var _10 = _9+4*_2;
      ;
      return _10;
    }
    else if (__label__ == 3) {
      var _14 = _this+12;
      var _15 = _14+4*_2;
      ;
      return _15;
    }
    else if (__label__ == 154) {
      ;
      return __ZZN14btHullTriangle4neibEiiE2er;
    }
  }
  __ZN14btHullTriangle4neibEii.__index__ = Runtime.getFunctionIndex(__ZN14btHullTriangle4neibEii, "__ZN14btHullTriangle4neibEii");
  
  
  function __Z7GetDistfffPKf(_px, _py, _pz, _p2) {
    ;
    var __label__;
    var _0 = FHEAP[_p2];
    var _1 = _px - _0;
    var _2 = _p2+4;
    var _3 = FHEAP[_2];
    var _4 = _py - _3;
    var _5 = _p2+8;
    var _6 = FHEAP[_5];
    var _7 = _pz - _6;
    var _8 = _1 * _1;
    var _9 = _4 * _4;
    var _10 = _8 + _9;
    var _11 = _7 * _7;
    var _12 = _10 + _11;
    ;
    return _12;
  }
  __Z7GetDistfffPKf.__index__ = Runtime.getFunctionIndex(__Z7GetDistfffPKf, "__Z7GetDistfffPKf");
  
  
  function __Z9SplitTestR7ConvexHRK7btPlane(_convex, _plane) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _convex+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_bb2$18697: do { 
      if (_2) {
        __lastLabel__ = -1; ;
        var _3 = _convex+12;
        var _4 = IHEAP[_3];
        var _5 = _plane;
        var _6 = FHEAP[_5];
        var _7 = _plane+4;
        var _8 = FHEAP[_7];
        var _9 = _plane+8;
        var _10 = FHEAP[_9];
        var _11 = _plane+16;
        var _12 = FHEAP[_11];
        var _13 = FHEAP[_planetestepsilon];
        var _14 = 0 - _13;
        var _tmp = _1 > 1;
        var _smax = _tmp ? _1 : 1;
        __lastLabel__ = 130; ;
        _bb$18699: while(1) { // _bb
          var _i_05 = __lastLabel__ == 130 ? 0 : (_28);
          var _flag_04 = __lastLabel__ == 130 ? 0 : (_27);
          var _scevgep6 = _4+16*_i_05;
          var _scevgep7 = _4+16*_i_05+4;
          var _scevgep8 = _4+16*_i_05+8;
          var _15 = FHEAP[_scevgep6];
          var _16 = _15 * _6;
          var _17 = FHEAP[_scevgep7];
          var _18 = _17 * _8;
          var _19 = _16 + _18;
          var _20 = FHEAP[_scevgep8];
          var _21 = _20 * _10;
          var _22 = _19 + _21;
          var _23 = _22 + _12;
          var _24 = _23 <= _13;
          ;
          if (_24) {
            __lastLabel__ = 60; ;
            var _25 = _23 < _14;
            var _iftmp_49_0_i = _25;
            __lastLabel__ = 131; ;
          }
          else {
            __lastLabel__ = 60; ;
          }
          var _26 = __lastLabel__ == 131 ? _iftmp_49_0_i : (2);
          var _27 = _26 | _flag_04;
          var _28 = _i_05 + 1;
          var _exitcond = _28 == _smax;
          if (_exitcond) { __lastLabel__ = 3398; __label__ = 0; /* _bb2 */ break _bb_nph$_bb2$18697; } else { __lastLabel__ = 3398; __label__ = 60; /* _bb */ continue _bb$18699; }
        }
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _flag_0_lcssa = __lastLabel__ == -1 ? 0 : (_27);
    ;
    return _flag_0_lcssa;
  }
  __Z9SplitTestR7ConvexHRK7btPlane.__index__ = Runtime.getFunctionIndex(__Z9SplitTestR7ConvexHRK7btPlane, "__Z9SplitTestR7ConvexHRK7btPlane");
  
  
  function __ZN11HullLibrary6b2bfixEP14btHullTriangleS1_(_this, _s, _t) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _this21_i63 = _s;
    var _this21_i33 = _t;
    var _0 = _s;
    var _1 = _s+12;
    var _2 = _this+12;
    var _3 = _t;
    var _4 = _t+12;
    __lastLabel__ = 130; ;
    _bb$18706: while(1) { // _bb
      var _i_089 = __lastLabel__ == 130 ? 0 : (_5);
      var _tmp129 = _i_089 + 2;
      var _5 = _i_089 + 1;
      var _tmp127 = _5 == 3;
      var _tmp128 = _tmp127 ? 0 : _5;
      var _6 = Math.floor(_tmp129 % 3);
      var _7 = _0+4*_tmp128;
      var _8 = IHEAP[_7];
      var _9 = _0+4*_6;
      var _10 = IHEAP[_9];
      __lastLabel__ = 60; ;
      _bb14_i75$18708: while(1) { // _bb14_i75
        var _24 = __lastLabel__ == 60 ? 0 : (__lastLabel__ == 3402 ? _tmp20_i67 : (_tmp20_i67));
        var _25 = _24 < 3;
        if (_25) { __lastLabel__ = 3399; ; } else { __lastLabel__ = 3399; __label__ = 3407; /* __ZN14btHullTriangle4neibEii_exit77 */ break _bb14_i75$18708; }
        var _tmp = _24 << 2;
        var _uglygep = _this21_i63+_tmp;
        var _uglygep23_i66 = _uglygep;
        var _tmp20_i67 = _24 + 1;
        var _tmp_i68 = _24 + 2;
        var _11 = Math.floor(_tmp20_i67 % 3);
        var _12 = Math.floor(_tmp_i68 % 3);
        var _13 = IHEAP[_uglygep23_i66];
        var _14 = _13 == _8;
        ;
        if (_14) {
          ;
          var _15 = _0+4*_11;
          var _16 = IHEAP[_15];
          var _17 = _16 == _10;
          if (_17) { __label__ = 3400; /* _bb5_i72 */ break _bb14_i75$18708; }
        }
        var _18 = _13 == _10;
        if (_18) { __lastLabel__ = 3402; ; } else { __lastLabel__ = 3402; __label__ = 3399; /* _bb14_i75 */ continue _bb14_i75$18708; }
        var _20 = _0+4*_11;
        var _21 = IHEAP[_20];
        var _22 = _21 == _8;
        if (_22) { __lastLabel__ = 3403; __label__ = 3405; /* _bb12_i74 */ break _bb14_i75$18708; } else { __lastLabel__ = 3403; __label__ = 3399; /* _bb14_i75 */ continue _bb14_i75$18708; }
      }
      if (__label__ == 3400) {
        var _19 = _1+4*_12;
        __lastLabel__ = 3400; ;
      }
      else if (__label__ == 3405) {
        var _23 = _1+4*_12;
        __lastLabel__ = 3405; ;
      }
      var _26 = __lastLabel__ == 3405 ? _23 : (__lastLabel__ == 3400 ? _19 : (__ZZN14btHullTriangle4neibEiiE2er));
      var _27 = IHEAP[_26];
      var _28 = IHEAP[_2];
      var _29 = _28+4*_27;
      var _30 = IHEAP[_29];
      var _this21_i48 = _30;
      var _31 = _30;
      __lastLabel__ = 3407; ;
      _bb14_i60$18719: while(1) { // _bb14_i60
        var _47 = __lastLabel__ == 3407 ? 0 : (__lastLabel__ == 3411 ? _tmp20_i52 : (_tmp20_i52));
        var _48 = _47 < 3;
        if (_48) { __lastLabel__ = 3408; ; } else { __lastLabel__ = 3408; __label__ = 3414; /* __ZN14btHullTriangle4neibEii_exit62 */ break _bb14_i60$18719; }
        var _tmp96 = _47 << 2;
        var _uglygep97 = _this21_i48+_tmp96;
        var _uglygep23_i51 = _uglygep97;
        var _tmp20_i52 = _47 + 1;
        var _tmp_i53 = _47 + 2;
        var _32 = Math.floor(_tmp20_i52 % 3);
        var _33 = Math.floor(_tmp_i53 % 3);
        var _34 = IHEAP[_uglygep23_i51];
        var _35 = _34 == _10;
        ;
        if (_35) {
          ;
          var _36 = _31+4*_32;
          var _37 = IHEAP[_36];
          var _38 = _37 == _8;
          if (_38) { __label__ = 3409; /* _bb5_i57 */ break _bb14_i60$18719; }
        }
        var _39 = _34 == _8;
        if (_39) { __lastLabel__ = 3411; ; } else { __lastLabel__ = 3411; __label__ = 3408; /* _bb14_i60 */ continue _bb14_i60$18719; }
        var _42 = _31+4*_32;
        var _43 = IHEAP[_42];
        var _44 = _43 == _10;
        if (_44) { __lastLabel__ = 2948; __label__ = 3413; /* _bb12_i59 */ break _bb14_i60$18719; } else { __lastLabel__ = 2948; __label__ = 3408; /* _bb14_i60 */ continue _bb14_i60$18719; }
      }
      if (__label__ == 3409) {
        var _40 = _30+12;
        var _41 = _40+4*_33;
        __lastLabel__ = 3409; ;
      }
      else if (__label__ == 3413) {
        var _45 = _30+12;
        var _46 = _45+4*_33;
        __lastLabel__ = 3413; ;
      }
      var _49 = __lastLabel__ == 3413 ? _46 : (__lastLabel__ == 3409 ? _41 : (__ZZN14btHullTriangle4neibEiiE2er));
      __lastLabel__ = 3414; ;
      _bb14_i45$18730: while(1) { // _bb14_i45
        var _63 = __lastLabel__ == 3414 ? 0 : (__lastLabel__ == 411 ? _tmp20_i37 : (_tmp20_i37));
        var _64 = _63 < 3;
        if (_64) { __lastLabel__ = 3415; ; } else { __lastLabel__ = 3415; __label__ = 3421; /* __ZN14btHullTriangle4neibEii_exit47 */ break _bb14_i45$18730; }
        var _tmp103 = _63 << 2;
        var _uglygep104 = _this21_i33+_tmp103;
        var _uglygep23_i36 = _uglygep104;
        var _tmp20_i37 = _63 + 1;
        var _tmp_i38 = _63 + 2;
        var _50 = Math.floor(_tmp20_i37 % 3);
        var _51 = Math.floor(_tmp_i38 % 3);
        var _52 = IHEAP[_uglygep23_i36];
        var _53 = _52 == _10;
        ;
        if (_53) {
          ;
          var _54 = _3+4*_50;
          var _55 = IHEAP[_54];
          var _56 = _55 == _8;
          if (_56) { __label__ = 3416; /* _bb5_i42 */ break _bb14_i45$18730; }
        }
        var _57 = _52 == _8;
        if (_57) { __lastLabel__ = 411; ; } else { __lastLabel__ = 411; __label__ = 3415; /* _bb14_i45 */ continue _bb14_i45$18730; }
        var _59 = _3+4*_50;
        var _60 = IHEAP[_59];
        var _61 = _60 == _10;
        if (_61) { __lastLabel__ = 3418; __label__ = 3420; /* _bb12_i44 */ break _bb14_i45$18730; } else { __lastLabel__ = 3418; __label__ = 3415; /* _bb14_i45 */ continue _bb14_i45$18730; }
      }
      if (__label__ == 3416) {
        var _58 = _4+4*_51;
        __lastLabel__ = 3416; ;
      }
      else if (__label__ == 3420) {
        var _62 = _4+4*_51;
        __lastLabel__ = 3420; ;
      }
      var _65 = __lastLabel__ == 3420 ? _62 : (__lastLabel__ == 3416 ? _58 : (__ZZN14btHullTriangle4neibEiiE2er));
      var _66 = IHEAP[_65];
      IHEAP[_49] = _66;
      __lastLabel__ = 3421; ;
      _bb14_i30$18741: while(1) { // _bb14_i30
        var _80 = __lastLabel__ == 3421 ? 0 : (__lastLabel__ == 3425 ? _tmp20_i22 : (_tmp20_i22));
        var _81 = _80 < 3;
        if (_81) { __lastLabel__ = 3422; ; } else { __lastLabel__ = 3422; __label__ = 3429; /* __ZN14btHullTriangle4neibEii_exit32 */ break _bb14_i30$18741; }
        var _tmp110 = _80 << 2;
        var _uglygep111 = _this21_i33+_tmp110;
        var _uglygep23_i21 = _uglygep111;
        var _tmp20_i22 = _80 + 1;
        var _tmp_i23 = _80 + 2;
        var _67 = Math.floor(_tmp20_i22 % 3);
        var _68 = Math.floor(_tmp_i23 % 3);
        var _69 = IHEAP[_uglygep23_i21];
        var _70 = _69 == _10;
        ;
        if (_70) {
          ;
          var _71 = _3+4*_67;
          var _72 = IHEAP[_71];
          var _73 = _72 == _8;
          if (_73) { __label__ = 3423; /* _bb5_i27 */ break _bb14_i30$18741; }
        }
        var _74 = _69 == _8;
        if (_74) { __lastLabel__ = 3425; ; } else { __lastLabel__ = 3425; __label__ = 3422; /* _bb14_i30 */ continue _bb14_i30$18741; }
        var _76 = _3+4*_67;
        var _77 = IHEAP[_76];
        var _78 = _77 == _10;
        if (_78) { __lastLabel__ = 3426; __label__ = 3428; /* _bb12_i29 */ break _bb14_i30$18741; } else { __lastLabel__ = 3426; __label__ = 3422; /* _bb14_i30 */ continue _bb14_i30$18741; }
      }
      if (__label__ == 3423) {
        var _75 = _4+4*_68;
        __lastLabel__ = 3423; ;
      }
      else if (__label__ == 3428) {
        var _79 = _4+4*_68;
        __lastLabel__ = 3428; ;
      }
      var _82 = __lastLabel__ == 3428 ? _79 : (__lastLabel__ == 3423 ? _75 : (__ZZN14btHullTriangle4neibEiiE2er));
      var _83 = IHEAP[_82];
      var _84 = IHEAP[_2];
      var _85 = _84+4*_83;
      var _86 = IHEAP[_85];
      var _this21_i3 = _86;
      var _87 = _86;
      __lastLabel__ = 3429; ;
      _bb14_i15$18752: while(1) { // _bb14_i15
        var _103 = __lastLabel__ == 3429 ? 0 : (__lastLabel__ == 3433 ? _tmp20_i7 : (_tmp20_i7));
        var _104 = _103 < 3;
        if (_104) { __lastLabel__ = 3430; ; } else { __lastLabel__ = 3430; __label__ = 3437; /* __ZN14btHullTriangle4neibEii_exit17 */ break _bb14_i15$18752; }
        var _tmp117 = _103 << 2;
        var _uglygep118 = _this21_i3+_tmp117;
        var _uglygep23_i6 = _uglygep118;
        var _tmp20_i7 = _103 + 1;
        var _tmp_i8 = _103 + 2;
        var _88 = Math.floor(_tmp20_i7 % 3);
        var _89 = Math.floor(_tmp_i8 % 3);
        var _90 = IHEAP[_uglygep23_i6];
        var _91 = _90 == _8;
        ;
        if (_91) {
          ;
          var _92 = _87+4*_88;
          var _93 = IHEAP[_92];
          var _94 = _93 == _10;
          if (_94) { __label__ = 3431; /* _bb5_i12 */ break _bb14_i15$18752; }
        }
        var _95 = _90 == _10;
        if (_95) { __lastLabel__ = 3433; ; } else { __lastLabel__ = 3433; __label__ = 3430; /* _bb14_i15 */ continue _bb14_i15$18752; }
        var _98 = _87+4*_88;
        var _99 = IHEAP[_98];
        var _100 = _99 == _8;
        if (_100) { __lastLabel__ = 3434; __label__ = 3436; /* _bb12_i14 */ break _bb14_i15$18752; } else { __lastLabel__ = 3434; __label__ = 3430; /* _bb14_i15 */ continue _bb14_i15$18752; }
      }
      if (__label__ == 3431) {
        var _96 = _86+12;
        var _97 = _96+4*_89;
        __lastLabel__ = 3431; ;
      }
      else if (__label__ == 3436) {
        var _101 = _86+12;
        var _102 = _101+4*_89;
        __lastLabel__ = 3436; ;
      }
      var _105 = __lastLabel__ == 3436 ? _102 : (__lastLabel__ == 3431 ? _97 : (__ZZN14btHullTriangle4neibEiiE2er));
      __lastLabel__ = 3437; ;
      _bb14_i$18763: while(1) { // _bb14_i
        var _119 = __lastLabel__ == 3437 ? 0 : (__lastLabel__ == 133 ? _tmp20_i : (_tmp20_i));
        var _120 = _119 < 3;
        if (_120) { __lastLabel__ = 1060; ; } else { __lastLabel__ = 1060; __label__ = 3441; /* __ZN14btHullTriangle4neibEii_exit */ break _bb14_i$18763; }
        var _tmp124 = _119 << 2;
        var _uglygep125 = _this21_i63+_tmp124;
        var _uglygep23_i = _uglygep125;
        var _tmp20_i = _119 + 1;
        var _tmp_i = _119 + 2;
        var _106 = Math.floor(_tmp20_i % 3);
        var _107 = Math.floor(_tmp_i % 3);
        var _108 = IHEAP[_uglygep23_i];
        var _109 = _108 == _8;
        ;
        if (_109) {
          ;
          var _110 = _0+4*_106;
          var _111 = IHEAP[_110];
          var _112 = _111 == _10;
          if (_112) { __label__ = 300; /* _bb5_i */ break _bb14_i$18763; }
        }
        var _113 = _108 == _10;
        if (_113) { __lastLabel__ = 133; ; } else { __lastLabel__ = 133; __label__ = 1060; /* _bb14_i */ continue _bb14_i$18763; }
        var _115 = _0+4*_106;
        var _116 = IHEAP[_115];
        var _117 = _116 == _8;
        if (_117) { __lastLabel__ = 137; __label__ = 3440; /* _bb12_i */ break _bb14_i$18763; } else { __lastLabel__ = 137; __label__ = 1060; /* _bb14_i */ continue _bb14_i$18763; }
      }
      if (__label__ == 300) {
        var _114 = _1+4*_107;
        __lastLabel__ = 300; ;
      }
      else if (__label__ == 3440) {
        var _118 = _1+4*_107;
        __lastLabel__ = 3440; ;
      }
      var _121 = __lastLabel__ == 3440 ? _118 : (__lastLabel__ == 300 ? _114 : (__ZZN14btHullTriangle4neibEiiE2er));
      var _122 = IHEAP[_121];
      IHEAP[_105] = _122;
      if (_tmp127) { __lastLabel__ = 3441; __label__ = 44; /* _return */ break _bb$18706; } else { __lastLabel__ = 3441; __label__ = 60; /* _bb */ continue _bb$18706; }
    }
    ;
    return;
  }
  __ZN11HullLibrary6b2bfixEP14btHullTriangleS1_.__index__ = Runtime.getFunctionIndex(__ZN11HullLibrary6b2bfixEP14btHullTriangleS1_, "__ZN11HullLibrary6b2bfixEP14btHullTriangleS1_");
  
  
  function __ZN11HullLibrary10extrudableEf(_this, _epsilon) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_bb10$18776: do { 
      if (_2) {
        __lastLabel__ = -1; ;
        var _3 = _this+12;
        var _tmp = _1 > 1;
        var _smax = _tmp ? _1 : 1;
        __lastLabel__ = 130; ;
        _bb$18778: while(1) { // _bb
          var _t_116 = __lastLabel__ == 130 ? 0 : (_t_0);
          var _i_015 = __lastLabel__ == 130 ? 0 : (_15);
          var _4 = _t_116 == 0;
          ;
          _bb6$_bb1$18780: do { 
            if (_4) {
              __label__ = 83; /* _bb6 */ 
            }
            else {
              ;
              var _5 = IHEAP[_3];
              var _scevgep = _5+4*_i_015;
              var _6 = IHEAP[_scevgep];
              var _7 = _6 == 0;
              if (_7) { __lastLabel__ = 75; __label__ = 2; /* _bb7 */ break _bb6$_bb1$18780; } else { __lastLabel__ = 75; ; }
              var _8 = _t_116+32;
              var _9 = FHEAP[_8];
              var _10 = _6+32;
              var _11 = FHEAP[_10];
              var _12 = _9 < _11;
              if (_12) { __lastLabel__ = 0; __label__ = 83; /* _bb6 */ break _bb6$_bb1$18780; } else { __lastLabel__ = 0; __label__ = 2; /* _bb7 */ break _bb6$_bb1$18780; }
            }
          } while(0);
          if (__label__ == 83) {
            var _13 = IHEAP[_3];
            var _scevgep17 = _13+4*_i_015;
            var _14 = IHEAP[_scevgep17];
            __lastLabel__ = 83; ;
          }
          var _t_0 = __lastLabel__ == 83 ? _14 : (__lastLabel__ == 0 ? _t_116 : (_t_116));
          var _15 = _i_015 + 1;
          var _exitcond = _15 == _smax;
          if (_exitcond) { __lastLabel__ = 2; __label__ = 150; /* _bb10 */ break _bb_nph$_bb10$18776; } else { __lastLabel__ = 2; __label__ = 60; /* _bb */ continue _bb$18778; }
        }
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _t_1_lcssa = __lastLabel__ == -1 ? 0 : (_t_0);
    var _16 = _t_1_lcssa+32;
    var _17 = FHEAP[_16];
    var _18 = _17 > _epsilon;
    var _iftmp_70_0 = _18 ? _t_1_lcssa : 0;
    ;
    return _iftmp_70_0;
  }
  __ZN11HullLibrary10extrudableEf.__index__ = Runtime.getFunctionIndex(__ZN11HullLibrary10extrudableEf, "__ZN11HullLibrary10extrudableEf");
  
  
  function __Z11ReleaseHullR11PHullResult(_result) {
    ;
    var __label__;
    var _0 = _result+16+4;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (!_2) {
      ;
      var _3 = _result+16+12;
      var _4 = IHEAP[_3];
      var _5 = _4 == 0;
      ;
      if (!_5) {
        ;
        var _6 = _result+16+16;
        var _7 = IHEAP[_6];
        var _toBool_i_i = _7 == 0;
        ;
        if (!_toBool_i_i) {
          ;
          var _8 = _4;
          __Z21btAlignedFreeInternalPv(_8);
          ;
        }
        IHEAP[_3] = 0;
        ;
      }
      var _9 = _result+16+16;
      IHEAP[_9] = 1;
      IHEAP[_3] = 0;
      IHEAP[_0] = 0;
      var _10 = _result+16+8;
      IHEAP[_10] = 0;
      ;
    }
    var _11 = _result;
    IHEAP[_11] = 0;
    var _12 = _result+4;
    IHEAP[_12] = 0;
    var _13 = _result+12;
    IHEAP[_13] = 0;
    ;
    return;
  }
  __Z11ReleaseHullR11PHullResult.__index__ = Runtime.getFunctionIndex(__Z11ReleaseHullR11PHullResult, "__Z11ReleaseHullR11PHullResult");
  
  
  function __ZN11HullLibrary13ReleaseResultER10HullResult(_this, _result) {
    ;
    var __label__;
    var _0 = _result+8+4;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (!_2) {
      ;
      var _3 = _result+4;
      IHEAP[_3] = 0;
      var _4 = _result+8+12;
      var _5 = IHEAP[_4];
      var _6 = _5 == 0;
      ;
      if (!_6) {
        ;
        var _7 = _result+8+16;
        var _8 = IHEAP[_7];
        var _toBool_i_i6 = _8 == 0;
        ;
        if (!_toBool_i_i6) {
          ;
          var _9 = _5;
          __Z21btAlignedFreeInternalPv(_9);
          ;
        }
        IHEAP[_4] = 0;
        ;
      }
      var _10 = _result+8+16;
      IHEAP[_10] = 1;
      IHEAP[_4] = 0;
      IHEAP[_0] = 0;
      var _11 = _result+8+8;
      IHEAP[_11] = 0;
      ;
    }
    var _12 = _result+36+4;
    var _13 = IHEAP[_12];
    var _14 = _13 == 0;
    ;
    if (_14) {
      ;
      ;
      return 0;
    }
    else {
      ;
      var _15 = _result+32;
      IHEAP[_15] = 0;
      var _16 = _result+36+12;
      var _17 = IHEAP[_16];
      var _18 = _17 == 0;
      ;
      if (!_18) {
        ;
        var _19 = _result+36+16;
        var _20 = IHEAP[_19];
        var _toBool_i_i = _20 == 0;
        ;
        if (!_toBool_i_i) {
          ;
          var _21 = _17;
          __Z21btAlignedFreeInternalPv(_21);
          ;
        }
        IHEAP[_16] = 0;
        ;
      }
      var _22 = _result+36+16;
      IHEAP[_22] = 1;
      IHEAP[_16] = 0;
      IHEAP[_12] = 0;
      var _23 = _result+36+8;
      IHEAP[_23] = 0;
      ;
      return 0;
    }
  }
  __ZN11HullLibrary13ReleaseResultER10HullResult.__index__ = Runtime.getFunctionIndex(__ZN11HullLibrary13ReleaseResultER10HullResult, "__ZN11HullLibrary13ReleaseResultER10HullResult");
  
  
  function __ZN11HullLibrary18deAllocateTriangleEP14btHullTriangle(_this, _tri) {
    ;
    var __label__;
    var _0 = _tri+24;
    var _1 = IHEAP[_0];
    var _2 = _this+12;
    var _3 = IHEAP[_2];
    var _4 = _3+4*_1;
    IHEAP[_4] = 0;
    var _5 = _tri;
    __Z21btAlignedFreeInternalPv(_5);
    ;
    return;
  }
  __ZN11HullLibrary18deAllocateTriangleEP14btHullTriangle.__index__ = Runtime.getFunctionIndex(__ZN11HullLibrary18deAllocateTriangleEP14btHullTriangle, "__ZN11HullLibrary18deAllocateTriangleEP14btHullTriangle");
  
  
  function __ZN11HullLibrary9removeb2bEP14btHullTriangleS1_(_this, _s, _t) {
    ;
    var __label__;
    __ZN11HullLibrary6b2bfixEP14btHullTriangleS1_(_this, _s, _t);
    var _0 = _s+24;
    var _1 = IHEAP[_0];
    var _2 = _this+12;
    var _3 = IHEAP[_2];
    var _4 = _3+4*_1;
    IHEAP[_4] = 0;
    var _5 = _s;
    __Z21btAlignedFreeInternalPv(_5);
    var _6 = _t+24;
    var _7 = IHEAP[_6];
    var _8 = IHEAP[_2];
    var _9 = _8+4*_7;
    IHEAP[_9] = 0;
    var _10 = _t;
    __Z21btAlignedFreeInternalPv(_10);
    ;
    return;
  }
  __ZN11HullLibrary9removeb2bEP14btHullTriangleS1_.__index__ = Runtime.getFunctionIndex(__ZN11HullLibrary9removeb2bEP14btHullTriangleS1_, "__ZN11HullLibrary9removeb2bEP14btHullTriangleS1_");
  
  
  function __Z8notExistRK9btVector3RK20btAlignedObjectArrayIS_E(_planeEquation, _planeEquations) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _planeEquations+4;
    var _1 = IHEAP[_0];
    var _2 = _planeEquations+12;
    var _3 = _planeEquation;
    var _4 = _planeEquation+4;
    var _5 = _planeEquation+8;
    __lastLabel__ = -1; ;
    _bb3$19597: while(1) { // _bb3
      var _20 = __lastLabel__ == -1 ? 0 : (_19);
      var _21 = _20 < _1;
      if (_21) { __lastLabel__ = 116; ; } else { __lastLabel__ = 116; __label__ = 82; /* _bb5 */ break _bb3$19597; }
      var _6 = IHEAP[_2];
      var _7 = FHEAP[_3];
      var _scevgep910 = _6+16*_20;
      var _8 = FHEAP[_scevgep910];
      var _9 = _7 * _8;
      var _10 = FHEAP[_4];
      var _scevgep8 = _6+16*_20+4;
      var _11 = FHEAP[_scevgep8];
      var _12 = _10 * _11;
      var _13 = _9 + _12;
      var _14 = FHEAP[_5];
      var _scevgep = _6+16*_20+8;
      var _15 = FHEAP[_scevgep];
      var _16 = _14 * _15;
      var _17 = _13 + _16;
      var _18 = _17 > 0.9990000128746033;
      if (_18) { __lastLabel__ = 60; __label__ = 82; /* _bb5 */ break _bb3$19597; } else { __lastLabel__ = 60; ; }
      var _19 = _20 + 1;
      __lastLabel__ = 0; __label__ = 116; /* _bb3 */ continue _bb3$19597;
    }
    var __0 = __lastLabel__ == 60 ? 0 : (1);
    ;
    return __0;
  }
  __Z8notExistRK9btVector3RK20btAlignedObjectArrayIS_E.__index__ = Runtime.getFunctionIndex(__Z8notExistRK9btVector3RK20btAlignedObjectArrayIS_E, "__Z8notExistRK9btVector3RK20btAlignedObjectArrayIS_E");
  
  
  function __ZN14btGeometryUtil22areVerticesBehindPlaneERK9btVector3RK20btAlignedObjectArrayIS0_Ef(_planeNormal, _vertices, _margin) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _vertices+4;
    var _1 = IHEAP[_0];
    var _2 = _vertices+12;
    var _3 = _planeNormal;
    var _4 = _planeNormal+4;
    var _5 = _planeNormal+8;
    var _6 = _planeNormal+12;
    __lastLabel__ = -1; ;
    _bb3$19603: while(1) { // _bb3
      var _24 = __lastLabel__ == -1 ? 0 : (_23);
      var _25 = _24 < _1;
      if (_25) { __lastLabel__ = 116; ; } else { __lastLabel__ = 116; __label__ = 82; /* _bb5 */ break _bb3$19603; }
      var _7 = IHEAP[_2];
      var _8 = FHEAP[_3];
      var _scevgep910 = _7+16*_24;
      var _9 = FHEAP[_scevgep910];
      var _10 = _8 * _9;
      var _11 = FHEAP[_4];
      var _scevgep8 = _7+16*_24+4;
      var _12 = FHEAP[_scevgep8];
      var _13 = _11 * _12;
      var _14 = _10 + _13;
      var _15 = FHEAP[_5];
      var _scevgep = _7+16*_24+8;
      var _16 = FHEAP[_scevgep];
      var _17 = _15 * _16;
      var _18 = _14 + _17;
      var _19 = FHEAP[_6];
      var _20 = _18 + _19;
      var _21 = _20 - _margin;
      var _22 = _21 > 0;
      if (_22) { __lastLabel__ = 60; __label__ = 82; /* _bb5 */ break _bb3$19603; } else { __lastLabel__ = 60; ; }
      var _23 = _24 + 1;
      __lastLabel__ = 0; __label__ = 116; /* _bb3 */ continue _bb3$19603;
    }
    var __0 = __lastLabel__ == 60 ? 0 : (1);
    ;
    return __0;
  }
  __ZN14btGeometryUtil22areVerticesBehindPlaneERK9btVector3RK20btAlignedObjectArrayIS0_Ef.__index__ = Runtime.getFunctionIndex(__ZN14btGeometryUtil22areVerticesBehindPlaneERK9btVector3RK20btAlignedObjectArrayIS0_Ef, "__ZN14btGeometryUtil22areVerticesBehindPlaneERK9btVector3RK20btAlignedObjectArrayIS0_Ef");
  
  
  function __ZN14btGeometryUtil19isPointInsidePlanesERK20btAlignedObjectArrayI9btVector3ERKS1_f(_planeEquations, _point, _margin) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _planeEquations+4;
    var _1 = IHEAP[_0];
    var _2 = _planeEquations+12;
    var _3 = _point;
    var _4 = _point+4;
    var _5 = _point+8;
    __lastLabel__ = -1; ;
    _bb3$19609: while(1) { // _bb3
      var _23 = __lastLabel__ == -1 ? 0 : (_22);
      var _24 = _23 < _1;
      if (_24) { __lastLabel__ = 116; ; } else { __lastLabel__ = 116; __label__ = 82; /* _bb5 */ break _bb3$19609; }
      var _6 = IHEAP[_2];
      var _scevgep1011 = _6+16*_23;
      var _7 = FHEAP[_scevgep1011];
      var _8 = FHEAP[_3];
      var _9 = _7 * _8;
      var _scevgep9 = _6+16*_23+4;
      var _10 = FHEAP[_scevgep9];
      var _11 = FHEAP[_4];
      var _12 = _10 * _11;
      var _13 = _9 + _12;
      var _scevgep8 = _6+16*_23+8;
      var _14 = FHEAP[_scevgep8];
      var _15 = FHEAP[_5];
      var _16 = _14 * _15;
      var _17 = _13 + _16;
      var _scevgep = _6+16*_23+12;
      var _18 = FHEAP[_scevgep];
      var _19 = _17 + _18;
      var _20 = _19 - _margin;
      var _21 = _20 > 0;
      if (_21) { __lastLabel__ = 60; __label__ = 82; /* _bb5 */ break _bb3$19609; } else { __lastLabel__ = 60; ; }
      var _22 = _23 + 1;
      __lastLabel__ = 0; __label__ = 116; /* _bb3 */ continue _bb3$19609;
    }
    var __0 = __lastLabel__ == 60 ? 0 : (1);
    ;
    return __0;
  }
  __ZN14btGeometryUtil19isPointInsidePlanesERK20btAlignedObjectArrayI9btVector3ERKS1_f.__index__ = Runtime.getFunctionIndex(__ZN14btGeometryUtil19isPointInsidePlanesERK20btAlignedObjectArrayI9btVector3ERKS1_f, "__ZN14btGeometryUtil19isPointInsidePlanesERK20btAlignedObjectArrayI9btVector3ERKS1_f");
  
  
  function __ZN7btClockaSERKS_(_this, _other) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _other;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = IHEAP[_4];
    var _6 = _3+4;
    var _7 = IHEAP[_6];
    var _8 = _1;
    IHEAP[_8] = _5;
    var _9 = _1+4;
    IHEAP[_9] = _7;
    ;
    return _this;
  }
  __ZN7btClockaSERKS_.__index__ = Runtime.getFunctionIndex(__ZN7btClockaSERKS_, "__ZN7btClockaSERKS_");
  
  
  function __ZN12CProfileNode5ResetEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    __lastLabel__ = -1; ;
    _tailrecurse$19677: while(1) { // _tailrecurse
      var _this_tr = __lastLabel__ == -1 ? _this : (_6);
      var _0 = _this_tr+4;
      IHEAP[_0] = 0;
      var _1 = _this_tr+8;
      FHEAP[_1] = 0;
      var _2 = _this_tr+24;
      var _3 = IHEAP[_2];
      var _4 = _3 == 0;
      ;
      if (!_4) {
        ;
        __ZN12CProfileNode5ResetEv(_3);
        ;
      }
      var _5 = _this_tr+28;
      var _6 = IHEAP[_5];
      var _7 = _6 == 0;
      if (_7) { __lastLabel__ = 75; __label__ = 44; /* _return */ break _tailrecurse$19677; } else { __lastLabel__ = 75; __label__ = 764; /* _tailrecurse */ continue _tailrecurse$19677; }
    }
    ;
    return;
  }
  __ZN12CProfileNode5ResetEv.__index__ = Runtime.getFunctionIndex(__ZN12CProfileNode5ResetEv, "__ZN12CProfileNode5ResetEv");
  
  
  function __ZN12CProfileNodeC1EPKcPS_(_this, _name, _parent) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = _name;
    var _1 = _this+4;
    IHEAP[_1] = 0;
    var _2 = _this+8;
    FHEAP[_2] = 0;
    var _3 = _this+12;
    IHEAP[_3] = 0;
    var _4 = _this+16;
    IHEAP[_4] = 0;
    var _5 = _this+20;
    IHEAP[_5] = _parent;
    var _6 = _this+24;
    IHEAP[_6] = 0;
    var _7 = _this+28;
    IHEAP[_7] = 0;
    __ZN12CProfileNode5ResetEv(_this);
    ;
    return;
  }
  __ZN12CProfileNodeC1EPKcPS_.__index__ = Runtime.getFunctionIndex(__ZN12CProfileNodeC1EPKcPS_, "__ZN12CProfileNodeC1EPKcPS_");
  
  
  function __ZN12CProfileNodeC2EPKcPS_(_this, _name, _parent) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = _name;
    var _1 = _this+4;
    IHEAP[_1] = 0;
    var _2 = _this+8;
    FHEAP[_2] = 0;
    var _3 = _this+12;
    IHEAP[_3] = 0;
    var _4 = _this+16;
    IHEAP[_4] = 0;
    var _5 = _this+20;
    IHEAP[_5] = _parent;
    var _6 = _this+24;
    IHEAP[_6] = 0;
    var _7 = _this+28;
    IHEAP[_7] = 0;
    __ZN12CProfileNode5ResetEv(_this);
    ;
    return;
  }
  __ZN12CProfileNodeC2EPKcPS_.__index__ = Runtime.getFunctionIndex(__ZN12CProfileNodeC2EPKcPS_, "__ZN12CProfileNodeC2EPKcPS_");
  
  
  function __ZN16CProfileIteratorC2EP12CProfileNode(_this, _start) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = _start;
    var _1 = _start+24;
    var _2 = IHEAP[_1];
    var _3 = _this+4;
    IHEAP[_3] = _2;
    ;
    return;
  }
  __ZN16CProfileIteratorC2EP12CProfileNode.__index__ = Runtime.getFunctionIndex(__ZN16CProfileIteratorC2EP12CProfileNode, "__ZN16CProfileIteratorC2EP12CProfileNode");
  
  
  function __ZN16CProfileIteratorC1EP12CProfileNode(_this, _start) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = _start;
    var _1 = _start+24;
    var _2 = IHEAP[_1];
    var _3 = _this+4;
    IHEAP[_3] = _2;
    ;
    return;
  }
  __ZN16CProfileIteratorC1EP12CProfileNode.__index__ = Runtime.getFunctionIndex(__ZN16CProfileIteratorC1EP12CProfileNode, "__ZN16CProfileIteratorC1EP12CProfileNode");
  
  
  function __ZN16CProfileIterator5FirstEv(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+24;
    var _3 = IHEAP[_2];
    var _4 = _this+4;
    IHEAP[_4] = _3;
    ;
    return;
  }
  __ZN16CProfileIterator5FirstEv.__index__ = Runtime.getFunctionIndex(__ZN16CProfileIterator5FirstEv, "__ZN16CProfileIterator5FirstEv");
  
  
  function __ZN16CProfileIterator4NextEv(_this) {
    ;
    var __label__;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1+28;
    var _3 = IHEAP[_2];
    IHEAP[_0] = _3;
    ;
    return;
  }
  __ZN16CProfileIterator4NextEv.__index__ = Runtime.getFunctionIndex(__ZN16CProfileIterator4NextEv, "__ZN16CProfileIterator4NextEv");
  
  
  function __ZN16CProfileIterator7Is_DoneEv(_this) {
    ;
    var __label__;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    var _retval12 = _2;
    ;
    return _retval12;
  }
  __ZN16CProfileIterator7Is_DoneEv.__index__ = Runtime.getFunctionIndex(__ZN16CProfileIterator7Is_DoneEv, "__ZN16CProfileIterator7Is_DoneEv");
  
  
  function __ZN16CProfileIterator11Enter_ChildEi(_this, _index) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+24;
    var _3 = IHEAP[_2];
    var _4 = _this+4;
    IHEAP[_4] = _3;
    var _5 = _3 != 0;
    var _6 = _index != 0;
    var _7 = _5 & _6;
    ;
    _bb_nph$_bb4$19691: do { 
      if (_7) {
        __lastLabel__ = -1; ;
        var _tmp8 = _index + -1;
        __lastLabel__ = 130; ;
        _bb$19693: while(1) { // _bb
          var _8 = __lastLabel__ == 130 ? _3 : (_10);
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _9 = _8+28;
          var _10 = IHEAP[_9];
          IHEAP[_4] = _10;
          var _11 = _10 != 0;
          var _12 = _tmp8 != _indvar;
          var _13 = _11 & _12;
          var _indvar_next = _indvar + 1;
          if (_13) { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$19693; } else { __lastLabel__ = 60; __label__ = 61; /* _bb4 */ break _bb_nph$_bb4$19691; }
        }
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _14 = __lastLabel__ == -1 ? _3 : (_10);
    var _15 = _14 == 0;
    ;
    if (_15) {
      ;
      ;
      return;
    }
    else {
      ;
      IHEAP[_0] = _14;
      var _16 = _14+24;
      var _17 = IHEAP[_16];
      IHEAP[_4] = _17;
      ;
      return;
    }
  }
  __ZN16CProfileIterator11Enter_ChildEi.__index__ = Runtime.getFunctionIndex(__ZN16CProfileIterator11Enter_ChildEi, "__ZN16CProfileIterator11Enter_ChildEi");
  
  
  function __ZN16CProfileIterator12Enter_ParentEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+20;
    var _3 = IHEAP[_2];
    var _4 = _3 == 0;
    ;
    if (_4) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      IHEAP[_0] = _3;
      __lastLabel__ = 60; ;
    }
    var _5 = __lastLabel__ == -1 ? _1 : (_3);
    var _6 = _5+24;
    var _7 = IHEAP[_6];
    var _8 = _this+4;
    IHEAP[_8] = _7;
    ;
    return;
  }
  __ZN16CProfileIterator12Enter_ParentEv.__index__ = Runtime.getFunctionIndex(__ZN16CProfileIterator12Enter_ParentEv, "__ZN16CProfileIterator12Enter_ParentEv");
  
  
  function __ZN12CProfileNodeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this+24;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (!_2) {
      ;
      __ZN12CProfileNodeD1Ev(_1);
      var _3 = _1;
      __ZdlPv(_3);
      ;
    }
    var _4 = _this+28;
    var _5 = IHEAP[_4];
    var _6 = _5 == 0;
    ;
    if (_6) {
      ;
      ;
      return;
    }
    else {
      ;
      __ZN12CProfileNodeD1Ev(_5);
      var _7 = _5;
      __ZdlPv(_7);
      ;
      return;
    }
  }
  __ZN12CProfileNodeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN12CProfileNodeD1Ev, "__ZN12CProfileNodeD1Ev");
  
  
  function __ZN12CProfileNodeD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this+24;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (!_2) {
      ;
      __ZN12CProfileNodeD1Ev(_1);
      var _3 = _1;
      __ZdlPv(_3);
      ;
    }
    var _4 = _this+28;
    var _5 = IHEAP[_4];
    var _6 = _5 == 0;
    ;
    if (_6) {
      ;
      ;
      return;
    }
    else {
      ;
      __ZN12CProfileNodeD1Ev(_5);
      var _7 = _5;
      __ZdlPv(_7);
      ;
      return;
    }
  }
  __ZN12CProfileNodeD2Ev.__index__ = Runtime.getFunctionIndex(__ZN12CProfileNodeD2Ev, "__ZN12CProfileNodeD2Ev");
  
  
  function __ZN12CProfileNode13CleanupMemoryEv(_this) {
    ;
    var __label__;
    var _0 = _this+24;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (!_2) {
      ;
      __ZN12CProfileNodeD1Ev(_1);
      var _3 = _1;
      __ZdlPv(_3);
      ;
    }
    IHEAP[_0] = 0;
    var _4 = _this+28;
    var _5 = IHEAP[_4];
    var _6 = _5 == 0;
    ;
    if (!_6) {
      ;
      __ZN12CProfileNodeD1Ev(_5);
      var _7 = _5;
      __ZdlPv(_7);
      ;
    }
    IHEAP[_4] = 0;
    ;
    return;
  }
  __ZN12CProfileNode13CleanupMemoryEv.__index__ = Runtime.getFunctionIndex(__ZN12CProfileNode13CleanupMemoryEv, "__ZN12CProfileNode13CleanupMemoryEv");
  
  
  function __ZN7btClockD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZN7btClockD1Ev.__index__ = Runtime.getFunctionIndex(__ZN7btClockD1Ev, "__ZN7btClockD1Ev");
  
  
  function __ZN7btClockD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1;
    __ZdlPv(_2);
    ;
    return;
  }
  __ZN7btClockD2Ev.__index__ = Runtime.getFunctionIndex(__ZN7btClockD2Ev, "__ZN7btClockD2Ev");
  
  
  function _main(_argc, _argv) {
    var __stackBase__  = STACKTOP; STACKTOP += 632;
    var __label__;
    var _argc_addr;
    var _argv_addr;
    var _retval;
    var _save_filt_650;
    var _save_eptr_649;
    var _save_filt_648;
    var _save_eptr_647;
    var _save_filt_646;
    var _save_eptr_645;
    var _save_filt_644;
    var _save_eptr_643;
    var _save_filt_642;
    var _save_eptr_641;
    var _save_filt_640;
    var _save_eptr_639;
    var _save_filt_638;
    var _save_eptr_637;
    var _save_filt_636;
    var _save_eptr_635;
    var _save_filt_634;
    var _save_eptr_633;
    var _save_filt_632;
    var _save_eptr_631;
    var _0;
    var _retval_462;
    var _1;
    var _iftmp_461;
    var _retval_460;
    var _2;
    var _iftmp_459;
    var _retval_458;
    var _3;
    var _4;
    var _5;
    var _6 = __stackBase__;
    var _7 = __stackBase__+1;
    var _8 = __stackBase__+2;
    var _9 = __stackBase__+3;
    var _10 = __stackBase__+19;
    var _11 = __stackBase__+20;
    var _12 = __stackBase__+21;
    var _13;
    var _14;
    var _15;
    var _16;
    var _17 = __stackBase__+22;
    var _18 = __stackBase__+23;
    var _19 = __stackBase__+24;
    var _20 = __stackBase__+25;
    var _21 = __stackBase__+26;
    var _22 = __stackBase__+27;
    var _23 = __stackBase__+28;
    var _24;
    var _25 = __stackBase__+44;
    var _26 = __stackBase__+45;
    var _27 = __stackBase__+46;
    var _28 = __stackBase__+47;
    var _29;
    var _30 = __stackBase__+63;
    var _31 = __stackBase__+64;
    var _32 = __stackBase__+65;
    var _33 = __stackBase__+66;
    var _34;
    var _35;
    var _36;
    var _37;
    var _38;
    var _39 = __stackBase__+82;
    var _40;
    var _i;
    var _collisionConfiguration;
    var _dispatcher;
    var _overlappingPairCache;
    var _solver;
    var _dynamicsWorld;
    var _groundShape = __stackBase__+114;
    var _collisionShapes = __stackBase__+115;
    var _groundTransform = __stackBase__+135;
    var _eh_exception;
    var _eh_selector;
    var _mass;
    var _isDynamic;
    var _localInertia = __stackBase__+199;
    var _myMotionState;
    var _rbInfo = __stackBase__+215;
    var _body;
    var _colShape = __stackBase__+351;
    var _startTransform = __stackBase__+352;
    var _mass44;
    var _isDynamic45;
    var _localInertia46 = __stackBase__+416;
    var _myMotionState47;
    var _rbInfo48 = __stackBase__+432;
    var _body49;
    var _j;
    var _obj;
    var _body78;
    var _trans = __stackBase__+568;
    var _obj94;
    var _body95;
    var _j111;
    var _shape;
    var __alloca_point_ = 0;
    _argc_addr = _argc;
    _argv_addr = _argv;
    __ZN34btDefaultCollisionConstructionInfoC1Ev(_39);
    _40 = _39;
    var _41 = __Znwj(88);
    var _42 = _41;
    _38 = _42;
    var _43 = _38;
    var _44 = _40;
    (function() { try { __THREW__ = false; return __ZN31btDefaultCollisionConfigurationC1ERK34btDefaultCollisionConstructionInfo(_43, _44) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 345) {
      var _45 = _38;
      _collisionConfiguration = _45;
      var _46 = __Znwj(5388);
      var _47 = _46;
      _37 = _47;
      var _48 = _collisionConfiguration;
      var _49 = _48;
      var _50 = _37;
      (function() { try { __THREW__ = false; return __ZN21btCollisionDispatcherC1EP24btCollisionConfiguration(_50, _49) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3715; /* _lpad143 */  }
      if (__label__ == 1554) {
        ;
        var _55 = _37;
        _dispatcher = _55;
        var _56 = __Znwj(156);
        var _57 = _56;
        _36 = _57;
        var _58 = _36;
        (function() { try { __THREW__ = false; return __ZN16btDbvtBroadphaseC1EP22btOverlappingPairCache(_58, 0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3716; /* _lpad147 */  }
        if (__label__ == 759) {
          ;
          var _63 = _36;
          var _64 = _63;
          _overlappingPairCache = _64;
          var _65 = __Znwj(128);
          var _66 = _65;
          _35 = _66;
          var _67 = _35;
          (function() { try { __THREW__ = false; return __ZN35btSequentialImpulseConstraintSolverC1Ev(_67) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 979; /* _invcont8 */  } else { __label__ = 3717; /* _lpad151 */  }
          if (__label__ == 979) {
            ;
            var _72 = _35;
            _solver = _72;
            var _73 = __Znwj(272);
            var _74 = _73;
            _34 = _74;
            var _75 = _collisionConfiguration;
            var _76 = _75;
            var _77 = _solver;
            var _78 = _77;
            var _79 = _dispatcher;
            var _80 = _79;
            var _81 = _34;
            var _82 = _overlappingPairCache;
            (function() { try { __THREW__ = false; return __ZN23btDiscreteDynamicsWorldC1EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration(_81, _80, _82, _78, _76) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2115; /* _invcont13 */  } else { __label__ = 3718; /* _lpad155 */  }
            if (__label__ == 2115) {
              ;
              var _87 = _34;
              _dynamicsWorld = _87;
              var _88 = _dynamicsWorld;
              var _89 = _88;
              var _90 = _89;
              var _91 = _90;
              var _92 = IHEAP[_91];
              var _93 = _92+68;
              var _94 = IHEAP[_93];
              FHEAP[_32] = 0;
              FHEAP[_31] = -10;
              FHEAP[_30] = 0;
              __ZN9btVector3C1ERKfS1_S1_(_33, _30, _31, _32);
              var _95 = _94;
              var _96 = _dynamicsWorld;
              FUNCTION_TABLE[_95](_96, _33);
              FHEAP[_27] = 50;
              FHEAP[_26] = 50;
              FHEAP[_25] = 50;
              __ZN9btVector3C1ERKfS1_S1_(_28, _25, _26, _27);
              _29 = _28;
              var _97 = __ZN13btConvexShapenwEj(52);
              var _98 = _97;
              _24 = _98;
              var _99 = _24;
              var _100 = _29;
              (function() { try { __THREW__ = false; return __ZN10btBoxShapeC1ERK9btVector3(_99, _100) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3719; /* _invcont18 */  } else { __label__ = 3720; /* _lpad159 */  }
              if (__label__ == 3719) {
                ;
                var _105 = _24;
                var _106 = _105;
                IHEAP[_groundShape] = _106;
                __ZN20btAlignedObjectArrayIP16btCollisionShapeEC1Ev(_collisionShapes);
                (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIP16btCollisionShapeE9push_backERKS1_(_collisionShapes, _groundShape) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3721; /* _invcont23 */  } else { __label__ = 3722; /* _lpad167 */  }
                _invcont23$_lpad167$19: do { 
                  if (__label__ == 3721) {
                    ;
                    __ZN11btTransformC1Ev(_groundTransform);
                    __ZN11btTransform11setIdentityEv(_groundTransform);
                    FHEAP[_22] = 0;
                    FHEAP[_21] = -56;
                    FHEAP[_20] = 0;
                    __ZN9btVector3C1ERKfS1_S1_(_23, _20, _21, _22);
                    __ZN11btTransform9setOriginERK9btVector3(_groundTransform, _23);
                    _mass = 0;
                    var _111 = _mass;
                    var _112 = _111 != 0;
                    var _113 = _112;
                    _isDynamic = _113;
                    FHEAP[_19] = 0;
                    FHEAP[_18] = 0;
                    FHEAP[_17] = 0;
                    __ZN9btVector3C1ERKfS1_S1_(_localInertia, _17, _18, _19);
                    var _114 = _isDynamic;
                    var _toBool = _114 != 0;
                    ;
                    if (_toBool) {
                      ;
                      var _115 = IHEAP[_groundShape];
                      var _116 = IHEAP[_groundShape];
                      var _117 = _116;
                      var _118 = IHEAP[_117];
                      var _119 = _118+32;
                      var _120 = IHEAP[_119];
                      var _121 = IHEAP[_groundShape];
                      var _122 = _120;
                      var _123 = _mass;
                      (function() { try { __THREW__ = false; return FUNCTION_TABLE[_122](_121, _123, _localInertia) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; }
                      ;
                    }
                    var _124 = (function() { try { __THREW__ = false; return __ZN11btTransform11getIdentityEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; };
                    _16 = _124;
                    var _125 = (function() { try { __THREW__ = false; return __Znwj(200) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; };
                    var _126 = _125;
                    _15 = _126;
                    var _127 = _15;
                    var _128 = _16;
                    __ZN20btDefaultMotionStateC1ERK11btTransformS2_(_127, _groundTransform, _128);
                    var _129 = _15;
                    _myMotionState = _129;
                    var _130 = IHEAP[_groundShape];
                    var _131 = _myMotionState;
                    var _132 = _131;
                    var _133 = _mass;
                    __ZN11btRigidBody27btRigidBodyConstructionInfoC1EfP13btMotionStateP16btCollisionShapeRK9btVector3(_rbInfo, _133, _132, _130, _localInertia);
                    var _134 = (function() { try { __THREW__ = false; return __ZN17btCollisionObjectnwEj(608) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; };
                    var _135 = _134;
                    _14 = _135;
                    var _136 = _14;
                    (function() { try { __THREW__ = false; return __ZN11btRigidBodyC1ERKNS_27btRigidBodyConstructionInfoE(_136, _rbInfo) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3724; /* _invcont36 */  } else { __label__ = 3725; /* _lpad171 */  }
                    if (__label__ == 3724) {
                      var _137 = _14;
                      _body = _137;
                      var _138 = _dynamicsWorld;
                      var _139 = _138;
                      var _140 = _139;
                      var _141 = _140;
                      var _142 = IHEAP[_141];
                      var _143 = _142+80;
                      var _144 = IHEAP[_143];
                      var _145 = _144;
                      var _146 = _dynamicsWorld;
                      var _147 = _body;
                      (function() { try { __THREW__ = false; return FUNCTION_TABLE[_145](_146, _147) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; }
                      ;
                      var _152 = (function() { try { __THREW__ = false; return __ZN13btSphereShapenwEj(52) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; };
                      var _153 = _152;
                      _13 = _153;
                      var _154 = _13;
                      (function() { try { __THREW__ = false; return __ZN13btSphereShapeC1Ef(_154, 1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3729; /* _invcont51 */  } else { __label__ = 3730; /* _lpad179 */  }
                      if (__label__ == 3729) {
                        var _155 = _13;
                        var _156 = _155;
                        IHEAP[_colShape] = _156;
                        (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIP16btCollisionShapeE9push_backERKS1_(_collisionShapes, _colShape) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; }
                        ;
                        __ZN11btTransformC1Ev(_startTransform);
                        __ZN11btTransform11setIdentityEv(_startTransform);
                        _mass44 = 1;
                        var _161 = _mass44;
                        var _162 = _161 != 0;
                        var _163 = _162;
                        _isDynamic45 = _163;
                        FHEAP[_12] = 0;
                        FHEAP[_11] = 0;
                        FHEAP[_10] = 0;
                        __ZN9btVector3C1ERKfS1_S1_(_localInertia46, _10, _11, _12);
                        var _164 = _isDynamic45;
                        var _toBool59 = _164 != 0;
                        ;
                        if (_toBool59) {
                          ;
                          var _165 = IHEAP[_colShape];
                          var _166 = IHEAP[_colShape];
                          var _167 = _166;
                          var _168 = IHEAP[_167];
                          var _169 = _168+32;
                          var _170 = IHEAP[_169];
                          var _171 = IHEAP[_colShape];
                          var _172 = _170;
                          var _173 = _mass44;
                          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_172](_171, _173, _localInertia46) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; }
                          ;
                        }
                        FHEAP[_8] = 0;
                        FHEAP[_7] = 10;
                        FHEAP[_6] = 2;
                        __ZN9btVector3C1ERKfS1_S1_(_9, _6, _7, _8);
                        __ZN11btTransform9setOriginERK9btVector3(_startTransform, _9);
                        var _174 = (function() { try { __THREW__ = false; return __ZN11btTransform11getIdentityEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; };
                        _5 = _174;
                        var _175 = (function() { try { __THREW__ = false; return __Znwj(200) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; };
                        var _176 = _175;
                        _4 = _176;
                        var _177 = _4;
                        var _178 = _5;
                        __ZN20btDefaultMotionStateC1ERK11btTransformS2_(_177, _startTransform, _178);
                        var _179 = _4;
                        _myMotionState47 = _179;
                        var _180 = IHEAP[_colShape];
                        var _181 = _myMotionState47;
                        var _182 = _181;
                        var _183 = _mass44;
                        __ZN11btRigidBody27btRigidBodyConstructionInfoC1EfP13btMotionStateP16btCollisionShapeRK9btVector3(_rbInfo48, _183, _182, _180, _localInertia46);
                        var _184 = (function() { try { __THREW__ = false; return __ZN17btCollisionObjectnwEj(608) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; };
                        var _185 = _184;
                        _3 = _185;
                        var _186 = _3;
                        (function() { try { __THREW__ = false; return __ZN11btRigidBodyC1ERKNS_27btRigidBodyConstructionInfoE(_186, _rbInfo48) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3735; /* _invcont66 */  } else { __label__ = 3736; /* _lpad187 */  }
                        if (__label__ == 3735) {
                          var _187 = _3;
                          _body49 = _187;
                          var _188 = _dynamicsWorld;
                          var _189 = _188;
                          var _190 = _189;
                          var _191 = _190;
                          var _192 = IHEAP[_191];
                          var _193 = _192+80;
                          var _194 = IHEAP[_193];
                          var _195 = _194;
                          var _196 = _dynamicsWorld;
                          var _197 = _body49;
                          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_195](_196, _197) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; }
                          ;
                          _i = 0;
                          ;
                          _bb90$49: while(1) { // _bb90
                            var _261 = _i;
                            var _262 = _261 <= 99;
                            if (!(_262)) { __label__ = 23; /* _bb91 */ break _bb90$49; }
                            var _202 = _dynamicsWorld;
                            var _203 = _202;
                            var _204 = _203;
                            var _205 = _204;
                            var _206 = IHEAP[_205];
                            var _207 = _206+48;
                            var _208 = IHEAP[_207];
                            var _209 = _208;
                            var _210 = _dynamicsWorld;
                            var _211 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_209](_210, 0.01666666753590107, 10, 0.01666666753590107) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; };
                            var _212 = _dynamicsWorld;
                            var _213 = _212;
                            var _214 = _213;
                            var _215 = (function() { try { __THREW__ = false; return __ZNK16btCollisionWorld22getNumCollisionObjectsEv(_214) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; };
                            var _216 = _215 - 1;
                            _j = _216;
                            ;
                            _bb88$54: while(1) { // _bb88
                              var _257 = _j;
                              var _258 = _257 >= 0;
                              if (!(_258)) { __label__ = 21; /* _bb89 */ break _bb88$54; }
                              var _217 = _dynamicsWorld;
                              var _218 = _217;
                              var _219 = _218;
                              var _220 = __ZN16btCollisionWorld23getCollisionObjectArrayEv(_219);
                              var _221 = _j;
                              var _222 = __ZN20btAlignedObjectArrayIP17btCollisionObjectEixEi(_220, _221);
                              var _223 = IHEAP[_222];
                              _obj = _223;
                              var _224 = _obj;
                              var _225 = __ZN11btRigidBody6upcastEP17btCollisionObject(_224);
                              _body78 = _225;
                              var _226 = _body78;
                              var _227 = _226 == 0;
                              ;
                              _bb81$_bb79$57: do { 
                                if (_227) {
                                  __label__ = 15; /* _bb81 */ 
                                }
                                else {
                                  ;
                                  var _228 = _body78;
                                  var _229 = __ZN11btRigidBody14getMotionStateEv(_228);
                                  var _230 = _229 == 0;
                                  if (_230) { __label__ = 15; /* _bb81 */ break _bb81$_bb79$57; }
                                  _iftmp_459 = 1;
                                  __label__ = 17; /* _bb82 */ break _bb81$_bb79$57;
                                }
                              } while(0);
                              if (__label__ == 15) {
                                _iftmp_459 = 0;
                                ;
                              }
                              var _231 = _iftmp_459;
                              _retval_458 = _231;
                              var _232 = _retval_458;
                              var _toBool83 = _232 != 0;
                              ;
                              if (_toBool83) {
                                ;
                                __ZN11btTransformC1Ev(_trans);
                                var _233 = _body78;
                                var _234 = __ZN11btRigidBody14getMotionStateEv(_233);
                                _2 = _234;
                                var _235 = _2;
                                var _236 = _235;
                                var _237 = IHEAP[_236];
                                var _238 = _237+8;
                                var _239 = IHEAP[_238];
                                var _240 = _239;
                                var _241 = _2;
                                (function() { try { __THREW__ = false; return FUNCTION_TABLE[_240](_241, _trans) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; }
                                var _242 = __ZN11btTransform9getOriginEv(_trans);
                                var _243 = __ZNK9btVector34getZEv(_242);
                                var _244 = FHEAP[_243];
                                var _245 = _244;
                                var _246 = __ZN11btTransform9getOriginEv(_trans);
                                var _247 = __ZNK9btVector34getYEv(_246);
                                var _248 = FHEAP[_247];
                                var _249 = _248;
                                var _250 = __ZN11btTransform9getOriginEv(_trans);
                                var _251 = __ZNK9btVector34getXEv(_250);
                                var _252 = FHEAP[_251];
                                var _253 = _252;
                                var _254 = (function() { try { __THREW__ = false; return _printf(__str3, _253, _249, _245) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; };
                                ;
                              }
                              var _255 = _j;
                              var _256 = _255 - 1;
                              _j = _256;
                              __label__ = 14; /* _bb88 */ continue _bb88$54;
                            }
                            var _259 = _i;
                            var _260 = _259 + 1;
                            _i = _260;
                            __label__ = 13; /* _bb90 */ continue _bb90$49;
                          }
                          var _263 = _dynamicsWorld;
                          var _264 = _263;
                          var _265 = _264;
                          var _266 = (function() { try { __THREW__ = false; return __ZNK16btCollisionWorld22getNumCollisionObjectsEv(_265) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; };
                          var _267 = _266 - 1;
                          _i = _267;
                          ;
                          _bb109$71: while(1) { // _bb109
                            var _316 = _i;
                            var _317 = _316 >= 0;
                            if (!(_317)) { __label__ = 34; /* _bb110 */ break _bb109$71; }
                            var _268 = _dynamicsWorld;
                            var _269 = _268;
                            var _270 = _269;
                            var _271 = __ZN16btCollisionWorld23getCollisionObjectArrayEv(_270);
                            var _272 = _i;
                            var _273 = __ZN20btAlignedObjectArrayIP17btCollisionObjectEixEi(_271, _272);
                            var _274 = IHEAP[_273];
                            _obj94 = _274;
                            var _275 = _obj94;
                            var _276 = __ZN11btRigidBody6upcastEP17btCollisionObject(_275);
                            _body95 = _276;
                            var _277 = _body95;
                            var _278 = _277 == 0;
                            ;
                            _bb98$_bb96$74: do { 
                              if (_278) {
                                __label__ = 25; /* _bb98 */ 
                              }
                              else {
                                ;
                                var _279 = _body95;
                                var _280 = __ZN11btRigidBody14getMotionStateEv(_279);
                                var _281 = _280 == 0;
                                if (_281) { __label__ = 25; /* _bb98 */ break _bb98$_bb96$74; }
                                _iftmp_461 = 1;
                                __label__ = 27; /* _bb99 */ break _bb98$_bb96$74;
                              }
                            } while(0);
                            if (__label__ == 25) {
                              _iftmp_461 = 0;
                              ;
                            }
                            var _282 = _iftmp_461;
                            _retval_460 = _282;
                            var _283 = _retval_460;
                            var _toBool100 = _283 != 0;
                            ;
                            _bb101$_bb104$80: do { 
                              if (_toBool100) {
                                ;
                                var _284 = _body95;
                                var _285 = __ZN11btRigidBody14getMotionStateEv(_284);
                                _1 = _285;
                                var _286 = _1;
                                var _287 = _286 != 0;
                                if (!(_287)) { __label__ = 30; /* _bb104 */ break _bb101$_bb104$80; }
                                var _288 = _1;
                                var _289 = _288;
                                var _290 = IHEAP[_289];
                                var _291 = _290+4;
                                var _292 = IHEAP[_291];
                                var _293 = _292;
                                var _294 = _1;
                                (function() { try { __THREW__ = false; return FUNCTION_TABLE[_293](_294) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; }
                                ;
                              }
                            } while(0);
                            var _295 = _dynamicsWorld;
                            var _296 = _295;
                            var _297 = _296;
                            var _298 = _297;
                            var _299 = IHEAP[_298];
                            var _300 = _299+36;
                            var _301 = IHEAP[_300];
                            var _302 = _301;
                            var _303 = _dynamicsWorld;
                            var _304 = _obj94;
                            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_302](_303, _304) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; }
                            var _305 = _obj94;
                            var _306 = _305 != 0;
                            ;
                            if (_306) {
                              ;
                              var _307 = _obj94;
                              var _308 = _307;
                              var _309 = IHEAP[_308];
                              var _310 = _309+8;
                              var _311 = IHEAP[_310];
                              var _312 = _311;
                              var _313 = _obj94;
                              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_312](_313) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; }
                              ;
                            }
                            var _314 = _i;
                            var _315 = _314 - 1;
                            _i = _315;
                            __label__ = 24; /* _bb109 */ continue _bb109$71;
                          }
                          _j111 = 0;
                          ;
                          _bb116$91: while(1) { // _bb116
                            var _334 = __ZNK20btAlignedObjectArrayIP16btCollisionShapeE4sizeEv(_collisionShapes);
                            var _335 = _j111;
                            var _336 = _334 > _335;
                            var _337 = _336;
                            _retval_462 = _337;
                            var _338 = _retval_462;
                            var _toBool117 = _338 != 0;
                            if (!(_toBool117)) { __label__ = 38; /* _bb118 */ break _bb116$91; }
                            var _318 = _j111;
                            var _319 = __ZN20btAlignedObjectArrayIP16btCollisionShapeEixEi(_collisionShapes, _318);
                            var _320 = IHEAP[_319];
                            _shape = _320;
                            var _321 = _j111;
                            var _322 = __ZN20btAlignedObjectArrayIP16btCollisionShapeEixEi(_collisionShapes, _321);
                            IHEAP[_322] = 0;
                            var _323 = _shape;
                            var _324 = _323 != 0;
                            ;
                            if (_324) {
                              ;
                              var _325 = _shape;
                              var _326 = _325;
                              var _327 = IHEAP[_326];
                              var _328 = _327+4;
                              var _329 = IHEAP[_328];
                              var _330 = _329;
                              var _331 = _shape;
                              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_330](_331) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; }
                              ;
                            }
                            var _332 = _j111;
                            var _333 = _332 + 1;
                            _j111 = _333;
                            __label__ = 35; /* _bb116 */ continue _bb116$91;
                          }
                          var _339 = _dynamicsWorld;
                          var _340 = _339 != 0;
                          ;
                          if (_340) {
                            ;
                            var _341 = _dynamicsWorld;
                            var _342 = _341;
                            var _343 = _342;
                            var _344 = _343;
                            var _345 = IHEAP[_344];
                            var _346 = _345+4;
                            var _347 = IHEAP[_346];
                            var _348 = _347;
                            var _349 = _dynamicsWorld;
                            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_348](_349) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; }
                            ;
                          }
                          var _350 = _solver;
                          var _351 = _350 != 0;
                          ;
                          if (_351) {
                            ;
                            var _352 = _solver;
                            var _353 = _352;
                            var _354 = _353;
                            var _355 = IHEAP[_354];
                            var _356 = _355+4;
                            var _357 = IHEAP[_356];
                            var _358 = _357;
                            var _359 = _solver;
                            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_358](_359) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; }
                            ;
                          }
                          var _360 = _overlappingPairCache;
                          var _361 = _360 != 0;
                          ;
                          if (_361) {
                            ;
                            var _362 = _overlappingPairCache;
                            var _363 = _362;
                            var _364 = IHEAP[_363];
                            var _365 = _364+4;
                            var _366 = IHEAP[_365];
                            var _367 = _366;
                            var _368 = _overlappingPairCache;
                            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_367](_368) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; }
                            ;
                          }
                          var _369 = _dispatcher;
                          var _370 = _369 != 0;
                          ;
                          if (_370) {
                            ;
                            var _371 = _dispatcher;
                            var _372 = _371;
                            var _373 = _372;
                            var _374 = IHEAP[_373];
                            var _375 = _374+4;
                            var _376 = IHEAP[_375];
                            var _377 = _376;
                            var _378 = _dispatcher;
                            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_377](_378) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; }
                            ;
                          }
                          var _379 = _collisionConfiguration;
                          var _380 = _379 != 0;
                          ;
                          if (_380) {
                            ;
                            var _381 = _collisionConfiguration;
                            var _382 = _381;
                            var _383 = _382;
                            var _384 = IHEAP[_383];
                            var _385 = _384+4;
                            var _386 = IHEAP[_385];
                            var _387 = _386;
                            var _388 = _collisionConfiguration;
                            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_387](_388) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; }
                            ;
                          }
                          (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIP16btCollisionShapeE5clearEv(_collisionShapes) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3722; /* _lpad167 */ break _invcont23$_lpad167$19; }
                          __ZN20btAlignedObjectArrayIP16btCollisionShapeED1Ev(_collisionShapes);
                          _0 = 0;
                          var _389 = _0;
                          _retval = _389;
                          ;
                          var _retval140 = _retval;
                          STACKTOP = __stackBase__;
                          return _retval140;
                        }
                        else if (__label__ == 3736) {
                          var _eh_ptr188 = _llvm_eh_exception();
                          _eh_exception = _eh_ptr188;
                          var _eh_ptr189 = _eh_exception;
                          var _eh_select190 = _llvm_eh_selector(_eh_ptr189, ___gxx_personality_v0, 0);
                          _eh_selector = _eh_select190;
                          ;
                          ;
                          var _eh_select69 = _eh_selector;
                          _save_filt_648 = _eh_select69;
                          var _eh_value70 = _eh_exception;
                          _save_eptr_647 = _eh_value70;
                          var _198 = _3;
                          var _199 = _198;
                          (function() { try { __THREW__ = false; return __ZN17btCollisionObjectdlEPv(_199) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3738; /* _invcont71 */  } else { __label__ = 3739; /* _lpad191 */  }
                          if (__label__ == 3738) {
                            var _200 = _save_eptr_647;
                            _eh_exception = _200;
                            var _201 = _save_filt_648;
                            _eh_selector = _201;
                            __label__ = 9; /* _ppad205 */ break _invcont23$_lpad167$19;
                          }
                          else if (__label__ == 3739) {
                            var _eh_ptr192 = _llvm_eh_exception();
                            _eh_exception = _eh_ptr192;
                            var _eh_ptr193 = _eh_exception;
                            var _eh_select194 = _llvm_eh_selector(_eh_ptr193, ___gxx_personality_v0, 1);
                            _eh_selector = _eh_select194;
                            ;
                            ;
                            __ZSt9terminatev();
                            // unreachable
                          }
                        }
                      }
                      else if (__label__ == 3730) {
                        var _eh_ptr180 = _llvm_eh_exception();
                        _eh_exception = _eh_ptr180;
                        var _eh_ptr181 = _eh_exception;
                        var _eh_select182 = _llvm_eh_selector(_eh_ptr181, ___gxx_personality_v0, 0);
                        _eh_selector = _eh_select182;
                        ;
                        ;
                        var _eh_select54 = _eh_selector;
                        _save_filt_646 = _eh_select54;
                        var _eh_value55 = _eh_exception;
                        _save_eptr_645 = _eh_value55;
                        var _157 = _13;
                        var _158 = _157;
                        (function() { try { __THREW__ = false; return __ZN13btSphereShapedlEPv(_158) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3732; /* _invcont56 */  } else { __label__ = 3733; /* _lpad183 */  }
                        if (__label__ == 3732) {
                          var _159 = _save_eptr_645;
                          _eh_exception = _159;
                          var _160 = _save_filt_646;
                          _eh_selector = _160;
                          __label__ = 9; /* _ppad205 */ break _invcont23$_lpad167$19;
                        }
                        else if (__label__ == 3733) {
                          var _eh_ptr184 = _llvm_eh_exception();
                          _eh_exception = _eh_ptr184;
                          var _eh_ptr185 = _eh_exception;
                          var _eh_select186 = _llvm_eh_selector(_eh_ptr185, ___gxx_personality_v0, 1);
                          _eh_selector = _eh_select186;
                          ;
                          ;
                          __ZSt9terminatev();
                          // unreachable
                        }
                      }
                    }
                    else if (__label__ == 3725) {
                      var _eh_ptr172 = _llvm_eh_exception();
                      _eh_exception = _eh_ptr172;
                      var _eh_ptr173 = _eh_exception;
                      var _eh_select174 = _llvm_eh_selector(_eh_ptr173, ___gxx_personality_v0, 0);
                      _eh_selector = _eh_select174;
                      ;
                      ;
                      var _eh_select39 = _eh_selector;
                      _save_filt_644 = _eh_select39;
                      var _eh_value40 = _eh_exception;
                      _save_eptr_643 = _eh_value40;
                      var _148 = _14;
                      var _149 = _148;
                      (function() { try { __THREW__ = false; return __ZN17btCollisionObjectdlEPv(_149) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3727; /* _invcont41 */  } else { __label__ = 3728; /* _lpad175 */  }
                      if (__label__ == 3727) {
                        var _150 = _save_eptr_643;
                        _eh_exception = _150;
                        var _151 = _save_filt_644;
                        _eh_selector = _151;
                        __label__ = 9; /* _ppad205 */ break _invcont23$_lpad167$19;
                      }
                      else if (__label__ == 3728) {
                        var _eh_ptr176 = _llvm_eh_exception();
                        _eh_exception = _eh_ptr176;
                        var _eh_ptr177 = _eh_exception;
                        var _eh_select178 = _llvm_eh_selector(_eh_ptr177, ___gxx_personality_v0, 1);
                        _eh_selector = _eh_select178;
                        ;
                        ;
                        __ZSt9terminatev();
                        // unreachable
                      }
                    }
                  }
                } while(0);
                if (__label__ == 3722) {
                  var _eh_ptr168 = _llvm_eh_exception();
                  _eh_exception = _eh_ptr168;
                  var _eh_ptr169 = _eh_exception;
                  var _eh_select170 = _llvm_eh_selector(_eh_ptr169, ___gxx_personality_v0, 0);
                  _eh_selector = _eh_select170;
                  ;
                }
                ;
                var _eh_select136 = _eh_selector;
                _save_filt_650 = _eh_select136;
                var _eh_value137 = _eh_exception;
                _save_eptr_649 = _eh_value137;
                (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIP16btCollisionShapeED1Ev(_collisionShapes) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3751; /* _invcont138 */  } else { __label__ = 3752; /* _lpad195 */  }
                if (__label__ == 3751) {
                  var _390 = _save_eptr_649;
                  _eh_exception = _390;
                  var _391 = _save_filt_650;
                  _eh_selector = _391;
                  ;
                }
                else if (__label__ == 3752) {
                  var _eh_ptr196 = _llvm_eh_exception();
                  _eh_exception = _eh_ptr196;
                  var _eh_ptr197 = _eh_exception;
                  var _eh_select198 = _llvm_eh_selector(_eh_ptr197, ___gxx_personality_v0, 1);
                  _eh_selector = _eh_select198;
                  ;
                  ;
                  __ZSt9terminatev();
                  // unreachable
                }
              }
              else if (__label__ == 3720) {
                var _eh_ptr160 = _llvm_eh_exception();
                _eh_exception = _eh_ptr160;
                var _eh_ptr161 = _eh_exception;
                var _eh_select162 = _llvm_eh_selector(_eh_ptr161, ___gxx_personality_v0, 0);
                _eh_selector = _eh_select162;
                ;
                ;
                var _eh_select25 = _eh_selector;
                _save_filt_642 = _eh_select25;
                var _eh_value26 = _eh_exception;
                _save_eptr_641 = _eh_value26;
                var _107 = _24;
                var _108 = _107;
                (function() { try { __THREW__ = false; return __ZN13btConvexShapedlEPv(_108) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2266; /* _invcont27 */  } else { __label__ = 3723; /* _lpad163 */  }
                if (__label__ == 2266) {
                  var _109 = _save_eptr_641;
                  _eh_exception = _109;
                  var _110 = _save_filt_642;
                  _eh_selector = _110;
                  ;
                }
                else if (__label__ == 3723) {
                  var _eh_ptr164 = _llvm_eh_exception();
                  _eh_exception = _eh_ptr164;
                  var _eh_ptr165 = _eh_exception;
                  var _eh_select166 = _llvm_eh_selector(_eh_ptr165, ___gxx_personality_v0, 1);
                  _eh_selector = _eh_select166;
                  ;
                  ;
                  __ZSt9terminatev();
                  // unreachable
                }
              }
            }
            else if (__label__ == 3718) {
              var _eh_ptr156 = _llvm_eh_exception();
              _eh_exception = _eh_ptr156;
              var _eh_ptr157 = _eh_exception;
              var _eh_select158 = _llvm_eh_selector(_eh_ptr157, ___gxx_personality_v0, 0);
              _eh_selector = _eh_select158;
              ;
              ;
              var _eh_select20 = _eh_selector;
              _save_filt_640 = _eh_select20;
              var _eh_value21 = _eh_exception;
              _save_eptr_639 = _eh_value21;
              var _101 = _34;
              var _102 = _101;
              __ZdlPv(_102);
              var _103 = _save_eptr_639;
              _eh_exception = _103;
              var _104 = _save_filt_640;
              _eh_selector = _104;
              ;
            }
          }
          else if (__label__ == 3717) {
            var _eh_ptr152 = _llvm_eh_exception();
            _eh_exception = _eh_ptr152;
            var _eh_ptr153 = _eh_exception;
            var _eh_select154 = _llvm_eh_selector(_eh_ptr153, ___gxx_personality_v0, 0);
            _eh_selector = _eh_select154;
            ;
            ;
            var _eh_select15 = _eh_selector;
            _save_filt_638 = _eh_select15;
            var _eh_value16 = _eh_exception;
            _save_eptr_637 = _eh_value16;
            var _83 = _35;
            var _84 = _83;
            __ZdlPv(_84);
            var _85 = _save_eptr_637;
            _eh_exception = _85;
            var _86 = _save_filt_638;
            _eh_selector = _86;
            ;
          }
        }
        else if (__label__ == 3716) {
          var _eh_ptr148 = _llvm_eh_exception();
          _eh_exception = _eh_ptr148;
          var _eh_ptr149 = _eh_exception;
          var _eh_select150 = _llvm_eh_selector(_eh_ptr149, ___gxx_personality_v0, 0);
          _eh_selector = _eh_select150;
          ;
          ;
          var _eh_select10 = _eh_selector;
          _save_filt_636 = _eh_select10;
          var _eh_value11 = _eh_exception;
          _save_eptr_635 = _eh_value11;
          var _68 = _36;
          var _69 = _68;
          __ZdlPv(_69);
          var _70 = _save_eptr_635;
          _eh_exception = _70;
          var _71 = _save_filt_636;
          _eh_selector = _71;
          ;
        }
      }
      else if (__label__ == 3715) {
        var _eh_ptr144 = _llvm_eh_exception();
        _eh_exception = _eh_ptr144;
        var _eh_ptr145 = _eh_exception;
        var _eh_select146 = _llvm_eh_selector(_eh_ptr145, ___gxx_personality_v0, 0);
        _eh_selector = _eh_select146;
        ;
        ;
        var _eh_select5 = _eh_selector;
        _save_filt_634 = _eh_select5;
        var _eh_value6 = _eh_exception;
        _save_eptr_633 = _eh_value6;
        var _59 = _37;
        var _60 = _59;
        __ZdlPv(_60);
        var _61 = _save_eptr_633;
        _eh_exception = _61;
        var _62 = _save_filt_634;
        _eh_selector = _62;
        ;
      }
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      _eh_exception = _eh_ptr;
      var _eh_ptr141 = _eh_exception;
      var _eh_select142 = _llvm_eh_selector(_eh_ptr141, ___gxx_personality_v0, 0);
      _eh_selector = _eh_select142;
      ;
      ;
      var _eh_select = _eh_selector;
      _save_filt_632 = _eh_select;
      var _eh_value = _eh_exception;
      _save_eptr_631 = _eh_value;
      var _51 = _38;
      var _52 = _51;
      __ZdlPv(_52);
      var _53 = _save_eptr_631;
      _eh_exception = _53;
      var _54 = _save_filt_632;
      _eh_selector = _54;
      ;
    }
    var _eh_ptr213 = _eh_exception;
    __Unwind_Resume_or_Rethrow(_eh_ptr213);
    // unreachable
  }
  _main.__index__ = Runtime.getFunctionIndex(_main, "_main");
  
  
  function __ZNK11btMatrix3x35tdotxERK9btVector3(_this, _v) {
    ;
    var __label__;
    var _this_addr;
    var _v_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _v_addr = _v;
    var _1 = _this_addr;
    var _2 = _1;
    var _3 = _2;
    var _4 = __ZNK9btVector31xEv(_3);
    var _5 = FHEAP[_4];
    var _6 = _v_addr;
    var _7 = __ZNK9btVector31xEv(_6);
    var _8 = FHEAP[_7];
    var _9 = _5 * _8;
    var _10 = _this_addr;
    var _11 = _10;
    var _12 = _11+16;
    var _13 = __ZNK9btVector31xEv(_12);
    var _14 = FHEAP[_13];
    var _15 = _v_addr;
    var _16 = __ZNK9btVector31yEv(_15);
    var _17 = FHEAP[_16];
    var _18 = _14 * _17;
    var _19 = _9 + _18;
    var _20 = _this_addr;
    var _21 = _20;
    var _22 = _21+32;
    var _23 = __ZNK9btVector31xEv(_22);
    var _24 = FHEAP[_23];
    var _25 = _v_addr;
    var _26 = __ZNK9btVector31zEv(_25);
    var _27 = FHEAP[_26];
    var _28 = _24 * _27;
    var _29 = _19 + _28;
    _0 = _29;
    var _30 = _0;
    _retval = _30;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK11btMatrix3x35tdotxERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK11btMatrix3x35tdotxERK9btVector3, "__ZNK11btMatrix3x35tdotxERK9btVector3");
  
  
  function __ZNK11btMatrix3x35tdotyERK9btVector3(_this, _v) {
    ;
    var __label__;
    var _this_addr;
    var _v_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _v_addr = _v;
    var _1 = _this_addr;
    var _2 = _1;
    var _3 = _2;
    var _4 = __ZNK9btVector31yEv(_3);
    var _5 = FHEAP[_4];
    var _6 = _v_addr;
    var _7 = __ZNK9btVector31xEv(_6);
    var _8 = FHEAP[_7];
    var _9 = _5 * _8;
    var _10 = _this_addr;
    var _11 = _10;
    var _12 = _11+16;
    var _13 = __ZNK9btVector31yEv(_12);
    var _14 = FHEAP[_13];
    var _15 = _v_addr;
    var _16 = __ZNK9btVector31yEv(_15);
    var _17 = FHEAP[_16];
    var _18 = _14 * _17;
    var _19 = _9 + _18;
    var _20 = _this_addr;
    var _21 = _20;
    var _22 = _21+32;
    var _23 = __ZNK9btVector31yEv(_22);
    var _24 = FHEAP[_23];
    var _25 = _v_addr;
    var _26 = __ZNK9btVector31zEv(_25);
    var _27 = FHEAP[_26];
    var _28 = _24 * _27;
    var _29 = _19 + _28;
    _0 = _29;
    var _30 = _0;
    _retval = _30;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK11btMatrix3x35tdotyERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK11btMatrix3x35tdotyERK9btVector3, "__ZNK11btMatrix3x35tdotyERK9btVector3");
  
  
  function __ZNK11btMatrix3x35tdotzERK9btVector3(_this, _v) {
    ;
    var __label__;
    var _this_addr;
    var _v_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _v_addr = _v;
    var _1 = _this_addr;
    var _2 = _1;
    var _3 = _2;
    var _4 = __ZNK9btVector31zEv(_3);
    var _5 = FHEAP[_4];
    var _6 = _v_addr;
    var _7 = __ZNK9btVector31xEv(_6);
    var _8 = FHEAP[_7];
    var _9 = _5 * _8;
    var _10 = _this_addr;
    var _11 = _10;
    var _12 = _11+16;
    var _13 = __ZNK9btVector31zEv(_12);
    var _14 = FHEAP[_13];
    var _15 = _v_addr;
    var _16 = __ZNK9btVector31yEv(_15);
    var _17 = FHEAP[_16];
    var _18 = _14 * _17;
    var _19 = _9 + _18;
    var _20 = _this_addr;
    var _21 = _20;
    var _22 = _21+32;
    var _23 = __ZNK9btVector31zEv(_22);
    var _24 = FHEAP[_23];
    var _25 = _v_addr;
    var _26 = __ZNK9btVector31zEv(_25);
    var _27 = FHEAP[_26];
    var _28 = _24 * _27;
    var _29 = _19 + _28;
    _0 = _29;
    var _30 = _0;
    _retval = _30;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK11btMatrix3x35tdotzERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK11btMatrix3x35tdotzERK9btVector3, "__ZNK11btMatrix3x35tdotzERK9btVector3");
  
  
  function __ZNK11btMatrix3x39transposeEv(_agg_result, _this) {
    ;
    var __label__;
    var _memtmp;
    var _this_addr;
    var __alloca_point_ = 0;
    _memtmp = _agg_result;
    _this_addr = _this;
    var _0 = _memtmp;
    var _1 = _this_addr;
    var _2 = _1;
    var _3 = _2+32;
    var _4 = __ZNK9btVector31zEv(_3);
    var _5 = _this_addr;
    var _6 = _5;
    var _7 = _6+16;
    var _8 = __ZNK9btVector31zEv(_7);
    var _9 = _this_addr;
    var _10 = _9;
    var _11 = _10;
    var _12 = __ZNK9btVector31zEv(_11);
    var _13 = _this_addr;
    var _14 = _13;
    var _15 = _14+32;
    var _16 = __ZNK9btVector31yEv(_15);
    var _17 = _this_addr;
    var _18 = _17;
    var _19 = _18+16;
    var _20 = __ZNK9btVector31yEv(_19);
    var _21 = _this_addr;
    var _22 = _21;
    var _23 = _22;
    var _24 = __ZNK9btVector31yEv(_23);
    var _25 = _this_addr;
    var _26 = _25;
    var _27 = _26+32;
    var _28 = __ZNK9btVector31xEv(_27);
    var _29 = _this_addr;
    var _30 = _29;
    var _31 = _30+16;
    var _32 = __ZNK9btVector31xEv(_31);
    var _33 = _this_addr;
    var _34 = _33;
    var _35 = _34;
    var _36 = __ZNK9btVector31xEv(_35);
    __ZN11btMatrix3x3C1ERKfS1_S1_S1_S1_S1_S1_S1_S1_(_0, _36, _32, _28, _24, _20, _16, _12, _8, _4);
    ;
    ;
    return;
  }
  __ZNK11btMatrix3x39transposeEv.__index__ = Runtime.getFunctionIndex(__ZNK11btMatrix3x39transposeEv, "__ZNK11btMatrix3x39transposeEv");
  
  
  function __ZmlRK11btMatrix3x3RK9btVector3(_agg_result, _m, _v) {
    var __stackBase__  = STACKTOP; STACKTOP += 3;
    var __label__;
    var _m_addr;
    var _v_addr;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = __stackBase__+2;
    var __alloca_point_ = 0;
    _m_addr = _m;
    _v_addr = _v;
    var _3 = _m_addr;
    var _4 = __ZNK11btMatrix3x3ixEi(_3, 2);
    var _5 = _v_addr;
    var _6 = __ZNK9btVector33dotERKS_(_4, _5);
    FHEAP[_2] = _6;
    var _7 = _m_addr;
    var _8 = __ZNK11btMatrix3x3ixEi(_7, 1);
    var _9 = _v_addr;
    var _10 = __ZNK9btVector33dotERKS_(_8, _9);
    FHEAP[_1] = _10;
    var _11 = _m_addr;
    var _12 = __ZNK11btMatrix3x3ixEi(_11, 0);
    var _13 = _v_addr;
    var _14 = __ZNK9btVector33dotERKS_(_12, _13);
    FHEAP[_0] = _14;
    __ZN9btVector3C1ERKfS1_S1_(_agg_result, _0, _1, _2);
    ;
    STACKTOP = __stackBase__;
    return;
  }
  __ZmlRK11btMatrix3x3RK9btVector3.__index__ = Runtime.getFunctionIndex(__ZmlRK11btMatrix3x3RK9btVector3, "__ZmlRK11btMatrix3x3RK9btVector3");
  
  
  function __ZmlRK11btMatrix3x3S1_(_agg_result, _m1, _m2) {
    var __stackBase__  = STACKTOP; STACKTOP += 9;
    var __label__;
    var _memtmp;
    var _m1_addr;
    var _m2_addr;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = __stackBase__+2;
    var _3 = __stackBase__+3;
    var _4 = __stackBase__+4;
    var _5 = __stackBase__+5;
    var _6 = __stackBase__+6;
    var _7 = __stackBase__+7;
    var _8 = __stackBase__+8;
    var __alloca_point_ = 0;
    _memtmp = _agg_result;
    _m1_addr = _m1;
    _m2_addr = _m2;
    var _9 = _memtmp;
    var _10 = _m1_addr;
    var _11 = __ZNK11btMatrix3x3ixEi(_10, 2);
    var _12 = _m2_addr;
    var _13 = __ZNK11btMatrix3x35tdotzERK9btVector3(_12, _11);
    FHEAP[_8] = _13;
    var _14 = _m1_addr;
    var _15 = __ZNK11btMatrix3x3ixEi(_14, 2);
    var _16 = _m2_addr;
    var _17 = __ZNK11btMatrix3x35tdotyERK9btVector3(_16, _15);
    FHEAP[_7] = _17;
    var _18 = _m1_addr;
    var _19 = __ZNK11btMatrix3x3ixEi(_18, 2);
    var _20 = _m2_addr;
    var _21 = __ZNK11btMatrix3x35tdotxERK9btVector3(_20, _19);
    FHEAP[_6] = _21;
    var _22 = _m1_addr;
    var _23 = __ZNK11btMatrix3x3ixEi(_22, 1);
    var _24 = _m2_addr;
    var _25 = __ZNK11btMatrix3x35tdotzERK9btVector3(_24, _23);
    FHEAP[_5] = _25;
    var _26 = _m1_addr;
    var _27 = __ZNK11btMatrix3x3ixEi(_26, 1);
    var _28 = _m2_addr;
    var _29 = __ZNK11btMatrix3x35tdotyERK9btVector3(_28, _27);
    FHEAP[_4] = _29;
    var _30 = _m1_addr;
    var _31 = __ZNK11btMatrix3x3ixEi(_30, 1);
    var _32 = _m2_addr;
    var _33 = __ZNK11btMatrix3x35tdotxERK9btVector3(_32, _31);
    FHEAP[_3] = _33;
    var _34 = _m1_addr;
    var _35 = __ZNK11btMatrix3x3ixEi(_34, 0);
    var _36 = _m2_addr;
    var _37 = __ZNK11btMatrix3x35tdotzERK9btVector3(_36, _35);
    FHEAP[_2] = _37;
    var _38 = _m1_addr;
    var _39 = __ZNK11btMatrix3x3ixEi(_38, 0);
    var _40 = _m2_addr;
    var _41 = __ZNK11btMatrix3x35tdotyERK9btVector3(_40, _39);
    FHEAP[_1] = _41;
    var _42 = _m1_addr;
    var _43 = __ZNK11btMatrix3x3ixEi(_42, 0);
    var _44 = _m2_addr;
    var _45 = __ZNK11btMatrix3x35tdotxERK9btVector3(_44, _43);
    FHEAP[_0] = _45;
    __ZN11btMatrix3x3C1ERKfS1_S1_S1_S1_S1_S1_S1_S1_(_9, _0, _1, _2, _3, _4, _5, _6, _7, _8);
    ;
    STACKTOP = __stackBase__;
    return;
  }
  __ZmlRK11btMatrix3x3S1_.__index__ = Runtime.getFunctionIndex(__ZmlRK11btMatrix3x3S1_, "__ZmlRK11btMatrix3x3S1_");
  
  
  function __ZN11btTransformaSERKS_(_this, _other) {
    ;
    var __label__;
    var _this_addr;
    var _other_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _other_addr = _other;
    var _1 = _other_addr;
    var _2 = _1;
    var _3 = _this_addr;
    var _4 = _3;
    var _5 = __ZN11btMatrix3x3aSERKS_(_4, _2);
    var _6 = _this_addr;
    var _7 = _6+48;
    var _8 = _other_addr;
    var _9 = _8+48;
    var _10 = _7;
    var _11 = _9;
    var _12 = _10;
    var _13 = _11;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _10+4;
    var _16 = _11+4;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _10+8;
    var _19 = _11+8;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _10+12;
    var _22 = _11+12;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    var _24 = _this_addr;
    _0 = _24;
    var _25 = _0;
    _retval = _25;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZN11btTransformaSERKS_.__index__ = Runtime.getFunctionIndex(__ZN11btTransformaSERKS_, "__ZN11btTransformaSERKS_");
  
  
  function __ZNK11btTransformclERK9btVector3(_agg_result, _this, _x) {
    var __stackBase__  = STACKTOP; STACKTOP += 3;
    var __label__;
    var _this_addr;
    var _x_addr;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = __stackBase__+2;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _x_addr = _x;
    var _3 = _this_addr;
    var _4 = _3;
    var _5 = __ZNK11btMatrix3x3ixEi(_4, 2);
    var _6 = _x_addr;
    var _7 = __ZNK9btVector33dotERKS_(_5, _6);
    var _8 = _this_addr;
    var _9 = _8+48;
    var _10 = __ZNK9btVector31zEv(_9);
    var _11 = FHEAP[_10];
    var _12 = _7 + _11;
    FHEAP[_2] = _12;
    var _13 = _this_addr;
    var _14 = _13;
    var _15 = __ZNK11btMatrix3x3ixEi(_14, 1);
    var _16 = _x_addr;
    var _17 = __ZNK9btVector33dotERKS_(_15, _16);
    var _18 = _this_addr;
    var _19 = _18+48;
    var _20 = __ZNK9btVector31yEv(_19);
    var _21 = FHEAP[_20];
    var _22 = _17 + _21;
    FHEAP[_1] = _22;
    var _23 = _this_addr;
    var _24 = _23;
    var _25 = __ZNK11btMatrix3x3ixEi(_24, 0);
    var _26 = _x_addr;
    var _27 = __ZNK9btVector33dotERKS_(_25, _26);
    var _28 = _this_addr;
    var _29 = _28+48;
    var _30 = __ZNK9btVector31xEv(_29);
    var _31 = FHEAP[_30];
    var _32 = _27 + _31;
    FHEAP[_0] = _32;
    __ZN9btVector3C1ERKfS1_S1_(_agg_result, _0, _1, _2);
    ;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK11btTransformclERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK11btTransformclERK9btVector3, "__ZNK11btTransformclERK9btVector3");
  
  
  function __ZNK20btDefaultMotionState17getWorldTransformER11btTransform(_this, _centerOfMassWorldTrans) {
    var __stackBase__  = STACKTOP; STACKTOP += 128;
    var __label__;
    var _this_addr;
    var _centerOfMassWorldTrans_addr;
    var _0 = __stackBase__;
    var _1 = __stackBase__+64;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _centerOfMassWorldTrans_addr = _centerOfMassWorldTrans;
    var _2 = _this_addr;
    var _3 = _2+4;
    var _4 = _this_addr;
    var _5 = _4+68;
    __ZNK11btTransform7inverseEv(_0, _5);
    __ZNK11btTransformmlERKS_(_1, _0, _3);
    var _6 = _centerOfMassWorldTrans_addr;
    var _7 = __ZN11btTransformaSERKS_(_6, _1);
    ;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK20btDefaultMotionState17getWorldTransformER11btTransform.__index__ = Runtime.getFunctionIndex(__ZNK20btDefaultMotionState17getWorldTransformER11btTransform, "__ZNK20btDefaultMotionState17getWorldTransformER11btTransform");
  
  
  function __ZN20btDefaultMotionState17setWorldTransformERK11btTransform(_this, _centerOfMassWorldTrans) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var _this_addr;
    var _centerOfMassWorldTrans_addr;
    var _0 = __stackBase__;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _centerOfMassWorldTrans_addr = _centerOfMassWorldTrans;
    var _1 = _this_addr;
    var _2 = _1+68;
    var _3 = _centerOfMassWorldTrans_addr;
    __ZNK11btTransformmlERKS_(_0, _3, _2);
    var _4 = _this_addr;
    var _5 = _4+4;
    var _6 = __ZN11btTransformaSERKS_(_5, _0);
    ;
    STACKTOP = __stackBase__;
    return;
  }
  __ZN20btDefaultMotionState17setWorldTransformERK11btTransform.__index__ = Runtime.getFunctionIndex(__ZN20btDefaultMotionState17setWorldTransformERK11btTransform, "__ZN20btDefaultMotionState17setWorldTransformERK11btTransform");
  
  
  function __ZN11btRigidBody6upcastEP17btCollisionObject(_colObj) {
    ;
    var __label__;
    var _colObj_addr;
    var _retval;
    var _0;
    var _retval_413;
    var __alloca_point_ = 0;
    _colObj_addr = _colObj;
    var _1 = _colObj_addr;
    var _2 = __ZNK17btCollisionObject15getInternalTypeEv(_1);
    var _3 = _2 & 2;
    var _4 = _3 != 0;
    var _5 = _4;
    _retval_413 = _5;
    var _6 = _retval_413;
    var _toBool = _6 != 0;
    ;
    if (_toBool) {
      ;
      var _7 = _colObj_addr;
      var _8 = _7;
      _0 = _8;
      ;
    }
    else {
      ;
      _0 = 0;
      ;
    }
    var _9 = _0;
    _retval = _9;
    ;
    var _retval3 = _retval;
    ;
    return _retval3;
  }
  __ZN11btRigidBody6upcastEP17btCollisionObject.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody6upcastEP17btCollisionObject, "__ZN11btRigidBody6upcastEP17btCollisionObject");
  
  
  function __ZNK16btCollisionWorld22getNumCollisionObjectsEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _1 = _this_addr;
    var _2 = _1+4;
    var _3 = __ZNK20btAlignedObjectArrayIP17btCollisionObjectE4sizeEv(_2);
    _0 = _3;
    var _4 = _0;
    _retval = _4;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZNK16btCollisionWorld22getNumCollisionObjectsEv.__index__ = Runtime.getFunctionIndex(__ZNK16btCollisionWorld22getNumCollisionObjectsEv, "__ZNK16btCollisionWorld22getNumCollisionObjectsEv");
  
  
  function __ZNK17btTriangleInfoMap9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var _this_addr;
    var _dataBuffer_addr;
    var _serializer_addr;
    var _retval;
    var _0;
    var _iftmp_303;
    var _iftmp_301;
    var _iftmp_299;
    var _iftmp_297;
    var _tmapData;
    var _sz;
    var _numElem;
    var _chunk;
    var _memPtr;
    var _i;
    var _sz12;
    var _numElem13;
    var _chunk14;
    var _memPtr15;
    var _i16;
    var _sz25;
    var _numElem26;
    var _chunk27;
    var _memPtr28;
    var _i29;
    var _sz38;
    var _numElem39;
    var _chunk40;
    var _memPtr41;
    var _i42;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _dataBuffer_addr = _dataBuffer;
    _serializer_addr = _serializer;
    var _1 = _dataBuffer_addr;
    var _2 = _1;
    _tmapData = _2;
    var _3 = _this_addr;
    var _4 = _3+84;
    var _5 = FHEAP[_4];
    var _6 = _tmapData;
    var _7 = _6+16;
    FHEAP[_7] = _5;
    var _8 = _this_addr;
    var _9 = _8+88;
    var _10 = FHEAP[_9];
    var _11 = _tmapData;
    var _12 = _11+20;
    FHEAP[_12] = _10;
    var _13 = _this_addr;
    var _14 = _13+92;
    var _15 = FHEAP[_14];
    var _16 = _tmapData;
    var _17 = _16+24;
    FHEAP[_17] = _15;
    var _18 = _this_addr;
    var _19 = _18+96;
    var _20 = FHEAP[_19];
    var _21 = _tmapData;
    var _22 = _21+28;
    FHEAP[_22] = _20;
    var _23 = _this_addr;
    var _24 = _23+100;
    var _25 = FHEAP[_24];
    var _26 = _tmapData;
    var _27 = _26+32;
    FHEAP[_27] = _25;
    var _28 = _this_addr;
    var _29 = _28+4;
    var _30 = _29;
    var _31 = __ZNK20btAlignedObjectArrayIiE4sizeEv(_30);
    var _32 = _tmapData;
    var _33 = _32+40;
    IHEAP[_33] = _31;
    var _34 = _tmapData;
    var _35 = _34+40;
    var _36 = IHEAP[_35];
    var _37 = _36 != 0;
    ;
    if (_37) {
      ;
      var _38 = _serializer_addr;
      var _39 = _38;
      var _40 = IHEAP[_39];
      var _41 = _40+28;
      var _42 = IHEAP[_41];
      var _43 = _this_addr;
      var _44 = _43+4;
      var _45 = _44;
      var _46 = __ZNK20btAlignedObjectArrayIiEixEi(_45, 0);
      var _47 = _46;
      var _48 = _42;
      var _49 = _serializer_addr;
      var _50 = FUNCTION_TABLE[_48](_49, _47);
      var _51 = _50;
      _iftmp_297 = _51;
      ;
    }
    else {
      ;
      _iftmp_297 = 0;
      ;
    }
    var _52 = _tmapData;
    var _53 = _52;
    var _54 = _iftmp_297;
    IHEAP[_53] = _54;
    var _55 = _tmapData;
    var _56 = _55;
    var _57 = IHEAP[_56];
    var _58 = _57 != 0;
    ;
    if (_58) {
      ;
      _sz = 4;
      var _59 = _tmapData;
      var _60 = _59+40;
      var _61 = IHEAP[_60];
      _numElem = _61;
      var _62 = _serializer_addr;
      var _63 = _62;
      var _64 = IHEAP[_63];
      var _65 = _64+16;
      var _66 = IHEAP[_65];
      var _67 = _sz;
      var _68 = _66;
      var _69 = _serializer_addr;
      var _70 = _numElem;
      var _71 = FUNCTION_TABLE[_68](_69, _67, _70);
      _chunk = _71;
      var _72 = _chunk;
      var _73 = _72+8;
      var _74 = IHEAP[_73];
      var _75 = _74;
      _memPtr = _75;
      _i = 0;
      ;
      _bb5$351: while(1) { // _bb5
        var _87 = _i;
        var _88 = _numElem;
        var _89 = _87 < _88;
        if (!(_89)) { __label__ = 83; /* _bb6 */ break _bb5$351; }
        var _76 = _this_addr;
        var _77 = _76+4;
        var _78 = _77;
        var _79 = _i;
        var _80 = __ZNK20btAlignedObjectArrayIiEixEi(_78, _79);
        var _81 = IHEAP[_80];
        var _82 = _memPtr;
        IHEAP[_82] = _81;
        var _83 = _i;
        var _84 = _83 + 1;
        _i = _84;
        var _85 = _memPtr;
        var _86 = _85+4;
        _memPtr = _86;
        __label__ = 82; /* _bb5 */ continue _bb5$351;
      }
      var _90 = _serializer_addr;
      var _91 = _90;
      var _92 = IHEAP[_91];
      var _93 = _92+20;
      var _94 = IHEAP[_93];
      var _95 = _this_addr;
      var _96 = _95+4;
      var _97 = _96;
      var _98 = __ZNK20btAlignedObjectArrayIiEixEi(_97, 0);
      var _99 = _98;
      var _100 = _94;
      var _101 = _serializer_addr;
      var _102 = _chunk;
      FUNCTION_TABLE[_100](_101, _102, __str, 1497453121, _99);
      ;
    }
    var _103 = _this_addr;
    var _104 = _103+4;
    var _105 = _104+20;
    var _106 = __ZNK20btAlignedObjectArrayIiE4sizeEv(_105);
    var _107 = _tmapData;
    var _108 = _107+36;
    IHEAP[_108] = _106;
    var _109 = _tmapData;
    var _110 = _109+36;
    var _111 = IHEAP[_110];
    var _112 = _111 != 0;
    ;
    if (_112) {
      ;
      var _113 = _serializer_addr;
      var _114 = _113;
      var _115 = IHEAP[_114];
      var _116 = _115+28;
      var _117 = IHEAP[_116];
      var _118 = _this_addr;
      var _119 = _118+4;
      var _120 = _119+20;
      var _121 = __ZNK20btAlignedObjectArrayIiEixEi(_120, 0);
      var _122 = _121;
      var _123 = _117;
      var _124 = _serializer_addr;
      var _125 = FUNCTION_TABLE[_123](_124, _122);
      var _126 = _125;
      _iftmp_299 = _126;
      ;
    }
    else {
      ;
      _iftmp_299 = 0;
      ;
    }
    var _127 = _tmapData;
    var _128 = _127+4;
    var _129 = _iftmp_299;
    IHEAP[_128] = _129;
    var _130 = _tmapData;
    var _131 = _130+4;
    var _132 = IHEAP[_131];
    var _133 = _132 != 0;
    ;
    if (_133) {
      ;
      _sz12 = 4;
      var _134 = _tmapData;
      var _135 = _134+36;
      var _136 = IHEAP[_135];
      _numElem13 = _136;
      var _137 = _serializer_addr;
      var _138 = _137;
      var _139 = IHEAP[_138];
      var _140 = _139+16;
      var _141 = IHEAP[_140];
      var _142 = _sz12;
      var _143 = _141;
      var _144 = _serializer_addr;
      var _145 = _numElem13;
      var _146 = FUNCTION_TABLE[_143](_144, _142, _145);
      _chunk14 = _146;
      var _147 = _chunk14;
      var _148 = _147+8;
      var _149 = IHEAP[_148];
      var _150 = _149;
      _memPtr15 = _150;
      _i16 = 0;
      ;
      _bb18$362: while(1) { // _bb18
        var _162 = _i16;
        var _163 = _numElem13;
        var _164 = _162 < _163;
        if (!(_164)) { __label__ = 64; /* _bb19 */ break _bb18$362; }
        var _151 = _this_addr;
        var _152 = _151+4;
        var _153 = _152+20;
        var _154 = _i16;
        var _155 = __ZNK20btAlignedObjectArrayIiEixEi(_153, _154);
        var _156 = IHEAP[_155];
        var _157 = _memPtr15;
        IHEAP[_157] = _156;
        var _158 = _i16;
        var _159 = _158 + 1;
        _i16 = _159;
        var _160 = _memPtr15;
        var _161 = _160+4;
        _memPtr15 = _161;
        __label__ = 86; /* _bb18 */ continue _bb18$362;
      }
      var _165 = _serializer_addr;
      var _166 = _165;
      var _167 = IHEAP[_166];
      var _168 = _167+20;
      var _169 = IHEAP[_168];
      var _170 = _this_addr;
      var _171 = _170+4;
      var _172 = _171+20;
      var _173 = __ZNK20btAlignedObjectArrayIiEixEi(_172, 0);
      var _174 = _173;
      var _175 = _169;
      var _176 = _serializer_addr;
      var _177 = _chunk14;
      FUNCTION_TABLE[_175](_176, _177, __str, 1497453121, _174);
      ;
    }
    var _178 = _this_addr;
    var _179 = _178+4;
    var _180 = _179+40;
    var _181 = __ZNK20btAlignedObjectArrayI14btTriangleInfoE4sizeEv(_180);
    var _182 = _tmapData;
    var _183 = _182+44;
    IHEAP[_183] = _181;
    var _184 = _tmapData;
    var _185 = _184+44;
    var _186 = IHEAP[_185];
    var _187 = _186 != 0;
    ;
    if (_187) {
      ;
      var _188 = _serializer_addr;
      var _189 = _188;
      var _190 = IHEAP[_189];
      var _191 = _190+28;
      var _192 = IHEAP[_191];
      var _193 = _this_addr;
      var _194 = _193+4;
      var _195 = _194+40;
      var _196 = __ZNK20btAlignedObjectArrayI14btTriangleInfoEixEi(_195, 0);
      var _197 = _196;
      var _198 = _192;
      var _199 = _serializer_addr;
      var _200 = FUNCTION_TABLE[_198](_199, _197);
      var _201 = _200;
      _iftmp_301 = _201;
      ;
    }
    else {
      ;
      _iftmp_301 = 0;
      ;
    }
    var _202 = _tmapData;
    var _203 = _202+8;
    var _204 = _iftmp_301;
    IHEAP[_203] = _204;
    var _205 = _tmapData;
    var _206 = _205+8;
    var _207 = IHEAP[_206];
    var _208 = _207 != 0;
    ;
    if (_208) {
      ;
      _sz25 = 16;
      var _209 = _tmapData;
      var _210 = _209+44;
      var _211 = IHEAP[_210];
      _numElem26 = _211;
      var _212 = _serializer_addr;
      var _213 = _212;
      var _214 = IHEAP[_213];
      var _215 = _214+16;
      var _216 = IHEAP[_215];
      var _217 = _sz25;
      var _218 = _216;
      var _219 = _serializer_addr;
      var _220 = _numElem26;
      var _221 = FUNCTION_TABLE[_218](_219, _217, _220);
      _chunk27 = _221;
      var _222 = _chunk27;
      var _223 = _222+8;
      var _224 = IHEAP[_223];
      var _225 = _224;
      _memPtr28 = _225;
      _i29 = 0;
      ;
      _bb31$373: while(1) { // _bb31
        var _266 = _i29;
        var _267 = _numElem26;
        var _268 = _266 < _267;
        if (!(_268)) { __label__ = 91; /* _bb32 */ break _bb31$373; }
        var _226 = _this_addr;
        var _227 = _226+4;
        var _228 = _227+40;
        var _229 = _i29;
        var _230 = __ZNK20btAlignedObjectArrayI14btTriangleInfoEixEi(_228, _229);
        var _231 = _230+4;
        var _232 = FHEAP[_231];
        var _233 = _memPtr28;
        var _234 = _233+4;
        FHEAP[_234] = _232;
        var _235 = _this_addr;
        var _236 = _235+4;
        var _237 = _236+40;
        var _238 = _i29;
        var _239 = __ZNK20btAlignedObjectArrayI14btTriangleInfoEixEi(_237, _238);
        var _240 = _239+8;
        var _241 = FHEAP[_240];
        var _242 = _memPtr28;
        var _243 = _242+8;
        FHEAP[_243] = _241;
        var _244 = _this_addr;
        var _245 = _244+4;
        var _246 = _245+40;
        var _247 = _i29;
        var _248 = __ZNK20btAlignedObjectArrayI14btTriangleInfoEixEi(_246, _247);
        var _249 = _248+12;
        var _250 = FHEAP[_249];
        var _251 = _memPtr28;
        var _252 = _251+12;
        FHEAP[_252] = _250;
        var _253 = _this_addr;
        var _254 = _253+4;
        var _255 = _254+40;
        var _256 = _i29;
        var _257 = __ZNK20btAlignedObjectArrayI14btTriangleInfoEixEi(_255, _256);
        var _258 = _257;
        var _259 = IHEAP[_258];
        var _260 = _memPtr28;
        var _261 = _260;
        IHEAP[_261] = _259;
        var _262 = _i29;
        var _263 = _262 + 1;
        _i29 = _263;
        var _264 = _memPtr28;
        var _265 = _264+16;
        _memPtr28 = _265;
        __label__ = 89; /* _bb31 */ continue _bb31$373;
      }
      var _269 = _serializer_addr;
      var _270 = _269;
      var _271 = IHEAP[_270];
      var _272 = _271+20;
      var _273 = IHEAP[_272];
      var _274 = _this_addr;
      var _275 = _274+4;
      var _276 = _275+40;
      var _277 = __ZNK20btAlignedObjectArrayI14btTriangleInfoEixEi(_276, 0);
      var _278 = _277;
      var _279 = _273;
      var _280 = _serializer_addr;
      var _281 = _chunk27;
      FUNCTION_TABLE[_279](_280, _281, __str1, 1497453121, _278);
      ;
    }
    var _282 = _this_addr;
    var _283 = _282+4;
    var _284 = _283+60;
    var _285 = __ZNK20btAlignedObjectArrayI9btHashIntE4sizeEv(_284);
    var _286 = _tmapData;
    var _287 = _286+48;
    IHEAP[_287] = _285;
    var _288 = _tmapData;
    var _289 = _288+48;
    var _290 = IHEAP[_289];
    var _291 = _290 != 0;
    ;
    if (_291) {
      ;
      var _292 = _serializer_addr;
      var _293 = _292;
      var _294 = IHEAP[_293];
      var _295 = _294+28;
      var _296 = IHEAP[_295];
      var _297 = _this_addr;
      var _298 = _297+4;
      var _299 = _298+60;
      var _300 = __ZNK20btAlignedObjectArrayI9btHashIntEixEi(_299, 0);
      var _301 = _300;
      var _302 = _296;
      var _303 = _serializer_addr;
      var _304 = FUNCTION_TABLE[_302](_303, _301);
      var _305 = _304;
      _iftmp_303 = _305;
      ;
    }
    else {
      ;
      _iftmp_303 = 0;
      ;
    }
    var _306 = _tmapData;
    var _307 = _306+12;
    var _308 = _iftmp_303;
    IHEAP[_307] = _308;
    var _309 = _tmapData;
    var _310 = _309+12;
    var _311 = IHEAP[_310];
    var _312 = _311 != 0;
    ;
    if (_312) {
      ;
      _sz38 = 4;
      var _313 = _tmapData;
      var _314 = _313+44;
      var _315 = IHEAP[_314];
      _numElem39 = _315;
      var _316 = _serializer_addr;
      var _317 = _316;
      var _318 = IHEAP[_317];
      var _319 = _318+16;
      var _320 = IHEAP[_319];
      var _321 = _sz38;
      var _322 = _320;
      var _323 = _serializer_addr;
      var _324 = _numElem39;
      var _325 = FUNCTION_TABLE[_322](_323, _321, _324);
      _chunk40 = _325;
      var _326 = _chunk40;
      var _327 = _326+8;
      var _328 = IHEAP[_327];
      var _329 = _328;
      _memPtr41 = _329;
      _i42 = 0;
      ;
      _bb44$384: while(1) { // _bb44
        var _341 = _i42;
        var _342 = _numElem39;
        var _343 = _341 < _342;
        if (!(_343)) { __label__ = 95; /* _bb45 */ break _bb44$384; }
        var _330 = _this_addr;
        var _331 = _330+4;
        var _332 = _331+60;
        var _333 = _i42;
        var _334 = __ZNK20btAlignedObjectArrayI9btHashIntEixEi(_332, _333);
        var _335 = __ZNK9btHashInt7getUid1Ev(_334);
        var _336 = _memPtr41;
        IHEAP[_336] = _335;
        var _337 = _i42;
        var _338 = _337 + 1;
        _i42 = _338;
        var _339 = _memPtr41;
        var _340 = _339+4;
        _memPtr41 = _340;
        __label__ = 94; /* _bb44 */ continue _bb44$384;
      }
      var _344 = _serializer_addr;
      var _345 = _344;
      var _346 = IHEAP[_345];
      var _347 = _346+20;
      var _348 = IHEAP[_347];
      var _349 = _this_addr;
      var _350 = _349+4;
      var _351 = _350+60;
      var _352 = __ZNK20btAlignedObjectArrayI9btHashIntEixEi(_351, 0);
      var _353 = _352;
      var _354 = _348;
      var _355 = _serializer_addr;
      var _356 = _chunk40;
      FUNCTION_TABLE[_354](_355, _356, __str, 1497453121, _353);
      ;
    }
    _0 = __str2;
    var _357 = _0;
    _retval = _357;
    ;
    var _retval47 = _retval;
    ;
    return _retval47;
  }
  __ZNK17btTriangleInfoMap9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK17btTriangleInfoMap9serializeEPvP12btSerializer, "__ZNK17btTriangleInfoMap9serializeEPvP12btSerializer");
  
  
  function __ZNK20btAlignedObjectArrayIP16btCollisionShapeE4copyEiiPS1_(_this, _start, _end, _dest) {
    ;
    var __label__;
    var _this_addr;
    var _start_addr;
    var _end_addr;
    var _dest_addr;
    var _iftmp_601;
    var _0;
    var _i;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _start_addr = _start;
    _end_addr = _end;
    _dest_addr = _dest;
    var _1 = _start_addr;
    _i = _1;
    ;
    _bb4$447: while(1) { // _bb4
      var _21 = _i;
      var _22 = _end_addr;
      var _23 = _21 < _22;
      if (!(_23)) { __label__ = 82; /* _bb5 */ break _bb4$447; }
      var _2 = _dest_addr;
      var _3 = _i;
      var _4 = _2+4*_3;
      var _5 = _4;
      var _6 = __ZnwjPv(4, _5);
      var _7 = _6;
      _0 = _7;
      var _8 = _0;
      var _9 = _8 != 0;
      ;
      if (_9) {
        ;
        var _10 = _this_addr;
        var _11 = _10+12;
        var _12 = IHEAP[_11];
        var _13 = _i;
        var _14 = _12+4*_13;
        var _15 = IHEAP[_14];
        var _16 = _0;
        IHEAP[_16] = _15;
        var _17 = _0;
        _iftmp_601 = _17;
        ;
      }
      else {
        ;
        var _18 = _0;
        _iftmp_601 = _18;
        ;
      }
      var _19 = _i;
      var _20 = _19 + 1;
      _i = _20;
      __label__ = 61; /* _bb4 */ continue _bb4$447;
    }
    ;
    ;
    return;
  }
  __ZNK20btAlignedObjectArrayIP16btCollisionShapeE4copyEiiPS1_.__index__ = Runtime.getFunctionIndex(__ZNK20btAlignedObjectArrayIP16btCollisionShapeE4copyEiiPS1_, "__ZNK20btAlignedObjectArrayIP16btCollisionShapeE4copyEiiPS1_");
  
  
  function __ZN20btAlignedObjectArrayI9btHashIntE5clearEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = __ZNK20btAlignedObjectArrayI9btHashIntE4sizeEv(_0);
    var _2 = _this_addr;
    __ZN20btAlignedObjectArrayI9btHashIntE7destroyEii(_2, 0, _1);
    var _3 = _this_addr;
    __ZN20btAlignedObjectArrayI9btHashIntE10deallocateEv(_3);
    var _4 = _this_addr;
    __ZN20btAlignedObjectArrayI9btHashIntE4initEv(_4);
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI9btHashIntE5clearEv.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI9btHashIntE5clearEv, "__ZN20btAlignedObjectArrayI9btHashIntE5clearEv");
  
  
  function __ZN20btAlignedObjectArrayI14btTriangleInfoE5clearEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = __ZNK20btAlignedObjectArrayI14btTriangleInfoE4sizeEv(_0);
    var _2 = _this_addr;
    __ZN20btAlignedObjectArrayI14btTriangleInfoE7destroyEii(_2, 0, _1);
    var _3 = _this_addr;
    __ZN20btAlignedObjectArrayI14btTriangleInfoE10deallocateEv(_3);
    var _4 = _this_addr;
    __ZN20btAlignedObjectArrayI14btTriangleInfoE4initEv(_4);
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI14btTriangleInfoE5clearEv.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI14btTriangleInfoE5clearEv, "__ZN20btAlignedObjectArrayI14btTriangleInfoE5clearEv");
  
  
  function __ZN20btAlignedObjectArrayIiE5clearEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = __ZNK20btAlignedObjectArrayIiE4sizeEv(_0);
    var _2 = _this_addr;
    __ZN20btAlignedObjectArrayIiE7destroyEii(_2, 0, _1);
    var _3 = _this_addr;
    __ZN20btAlignedObjectArrayIiE10deallocateEv(_3);
    var _4 = _this_addr;
    __ZN20btAlignedObjectArrayIiE4initEv(_4);
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIiE5clearEv.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIiE5clearEv, "__ZN20btAlignedObjectArrayIiE5clearEv");
  
  
  function __ZN9btHashMapI9btHashInt14btTriangleInfoED2Ev(_this) {
    ;
    var __label__;
    var _this_addr;
    var _save_filt_630;
    var _save_eptr_629;
    var _save_filt_628;
    var _save_eptr_627;
    var _save_filt_626;
    var _save_eptr_625;
    var _eh_exception;
    var _eh_selector;
    var _memtmp;
    var _memtmp9;
    var _memtmp17;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = _0+60;
    (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI9btHashIntED1Ev(_1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 3753; /* _lpad28 */  }
    _invcont$_lpad28$514: do { 
      if (__label__ == 345) {
        var _2 = _this_addr;
        var _3 = _2+40;
        _memtmp = _3;
        var _mtmp = _memtmp;
        (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI14btTriangleInfoED1Ev(_mtmp) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3754; /* _lpad24 */  }
        if (__label__ == 1554) {
          ;
          var _9 = _this_addr;
          var _10 = _9+20;
          _memtmp9 = _10;
          var _mtmp10 = _memtmp9;
          (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIiED1Ev(_mtmp10) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2109; /* _invcont5 */  } else { __label__ = 254; /* _lpad */  }
          if (__label__ == 2109) {
            ;
            var _16 = _this_addr;
            var _17 = _16;
            _memtmp17 = _17;
            var _mtmp18 = _memtmp17;
            __ZN20btAlignedObjectArrayIiED1Ev(_mtmp18);
            ;
            ;
            ;
            return;
          }
          else if (__label__ == 254) {
            var _eh_ptr = _llvm_eh_exception();
            _eh_exception = _eh_ptr;
            var _eh_ptr22 = _eh_exception;
            var _eh_select23 = _llvm_eh_selector(_eh_ptr22, ___gxx_personality_v0, 0);
            _eh_selector = _eh_select23;
            __label__ = 45; /* _ppad */ break _invcont$_lpad28$514;
          }
        }
        else if (__label__ == 3754) {
          var _eh_ptr25 = _llvm_eh_exception();
          _eh_exception = _eh_ptr25;
          var _eh_ptr26 = _eh_exception;
          var _eh_select27 = _llvm_eh_selector(_eh_ptr26, ___gxx_personality_v0, 0);
          _eh_selector = _eh_select27;
          __label__ = 107; /* _ppad44 */ break _invcont$_lpad28$514;
        }
      }
      else if (__label__ == 3753) {
        var _eh_ptr29 = _llvm_eh_exception();
        _eh_exception = _eh_ptr29;
        var _eh_ptr30 = _eh_exception;
        var _eh_select31 = _llvm_eh_selector(_eh_ptr30, ___gxx_personality_v0, 0);
        _eh_selector = _eh_select31;
        ;
        ;
        var _eh_select = _eh_selector;
        _save_filt_626 = _eh_select;
        var _eh_value = _eh_exception;
        _save_eptr_625 = _eh_value;
        var _4 = _this_addr;
        var _5 = _4+40;
        _memtmp = _5;
        var _6 = _memtmp;
        (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI14btTriangleInfoED1Ev(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 3755; /* _lpad32 */  }
        if (__label__ == 1102) {
          var _7 = _save_eptr_625;
          _eh_exception = _7;
          var _8 = _save_filt_626;
          _eh_selector = _8;
          __label__ = 107; /* _ppad44 */ break _invcont$_lpad28$514;
        }
        else if (__label__ == 3755) {
          var _eh_ptr33 = _llvm_eh_exception();
          _eh_exception = _eh_ptr33;
          var _eh_ptr34 = _eh_exception;
          var _eh_select35 = _llvm_eh_selector(_eh_ptr34, ___gxx_personality_v0, 1);
          _eh_selector = _eh_select35;
          ;
          ;
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    if (__label__ == 107) {
      ;
      var _eh_select7 = _eh_selector;
      _save_filt_628 = _eh_select7;
      var _eh_value8 = _eh_exception;
      _save_eptr_627 = _eh_value8;
      var _11 = _this_addr;
      var _12 = _11+20;
      _memtmp9 = _12;
      var _13 = _memtmp9;
      (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIiED1Ev(_13) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1603; /* _invcont11 */  } else { __label__ = 680; /* _lpad36 */  }
      if (__label__ == 1603) {
        var _14 = _save_eptr_627;
        _eh_exception = _14;
        var _15 = _save_filt_628;
        _eh_selector = _15;
        ;
      }
      else if (__label__ == 680) {
        var _eh_ptr37 = _llvm_eh_exception();
        _eh_exception = _eh_ptr37;
        var _eh_ptr38 = _eh_exception;
        var _eh_select39 = _llvm_eh_selector(_eh_ptr38, ___gxx_personality_v0, 1);
        _eh_selector = _eh_select39;
        ;
        ;
        __ZSt9terminatev();
        // unreachable
      }
    }
    ;
    var _eh_select15 = _eh_selector;
    _save_filt_630 = _eh_select15;
    var _eh_value16 = _eh_exception;
    _save_eptr_629 = _eh_value16;
    var _18 = _this_addr;
    var _19 = _18;
    _memtmp17 = _19;
    var _20 = _memtmp17;
    (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIiED1Ev(_20) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3253; /* _invcont19 */  } else { __label__ = 520; /* _lpad40 */  }
    if (__label__ == 3253) {
      var _21 = _save_eptr_629;
      _eh_exception = _21;
      var _22 = _save_filt_630;
      _eh_selector = _22;
      ;
      var _eh_ptr49 = _eh_exception;
      __Unwind_Resume_or_Rethrow(_eh_ptr49);
      // unreachable
    }
    else if (__label__ == 520) {
      var _eh_ptr41 = _llvm_eh_exception();
      _eh_exception = _eh_ptr41;
      var _eh_ptr42 = _eh_exception;
      var _eh_select43 = _llvm_eh_selector(_eh_ptr42, ___gxx_personality_v0, 1);
      _eh_selector = _eh_select43;
      ;
      ;
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN9btHashMapI9btHashInt14btTriangleInfoED2Ev.__index__ = Runtime.getFunctionIndex(__ZN9btHashMapI9btHashInt14btTriangleInfoED2Ev, "__ZN9btHashMapI9btHashInt14btTriangleInfoED2Ev");
  
  
  function __ZN20btAlignedObjectArrayIP16btCollisionShapeE5clearEv(_this) {
    ;
    var __label__;
    var _this_addr;
    var __alloca_point_ = 0;
    _this_addr = _this;
    var _0 = _this_addr;
    var _1 = __ZNK20btAlignedObjectArrayIP16btCollisionShapeE4sizeEv(_0);
    var _2 = _this_addr;
    __ZN20btAlignedObjectArrayIP16btCollisionShapeE7destroyEii(_2, 0, _1);
    var _3 = _this_addr;
    __ZN20btAlignedObjectArrayIP16btCollisionShapeE10deallocateEv(_3);
    var _4 = _this_addr;
    __ZN20btAlignedObjectArrayIP16btCollisionShapeE4initEv(_4);
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIP16btCollisionShapeE5clearEv.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIP16btCollisionShapeE5clearEv, "__ZN20btAlignedObjectArrayIP16btCollisionShapeE5clearEv");
  
  
  function __ZN13btConvexShapenwEj(_sizeInBytes) {
    ;
    var __label__;
    var _sizeInBytes_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _sizeInBytes_addr = _sizeInBytes;
    var _1 = _sizeInBytes_addr;
    var _2 = __Z22btAlignedAllocInternalji(_1, 16);
    _0 = _2;
    var _3 = _0;
    _retval = _3;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZN13btConvexShapenwEj.__index__ = Runtime.getFunctionIndex(__ZN13btConvexShapenwEj, "__ZN13btConvexShapenwEj");
  
  
  function __ZN13btSphereShapenwEj(_sizeInBytes) {
    ;
    var __label__;
    var _sizeInBytes_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _sizeInBytes_addr = _sizeInBytes;
    var _1 = _sizeInBytes_addr;
    var _2 = __Z22btAlignedAllocInternalji(_1, 16);
    _0 = _2;
    var _3 = _0;
    _retval = _3;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZN13btSphereShapenwEj.__index__ = Runtime.getFunctionIndex(__ZN13btSphereShapenwEj, "__ZN13btSphereShapenwEj");
  
  
  function __ZN18btAlignedAllocatorIP16btCollisionShapeLj16EE8allocateEiPPKS1_(_this, _n, _hint) {
    ;
    var __label__;
    var _this_addr;
    var _n_addr;
    var _hint_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _n_addr = _n;
    _hint_addr = _hint;
    var _1 = _n_addr;
    var _2 = _1 * 4;
    var _3 = __Z22btAlignedAllocInternalji(_2, 16);
    var _4 = _3;
    _0 = _4;
    var _5 = _0;
    _retval = _5;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZN18btAlignedAllocatorIP16btCollisionShapeLj16EE8allocateEiPPKS1_.__index__ = Runtime.getFunctionIndex(__ZN18btAlignedAllocatorIP16btCollisionShapeLj16EE8allocateEiPPKS1_, "__ZN18btAlignedAllocatorIP16btCollisionShapeLj16EE8allocateEiPPKS1_");
  
  
  function __ZN20btAlignedObjectArrayIP16btCollisionShapeE8allocateEi(_this, _size) {
    ;
    var __label__;
    var _this_addr;
    var _size_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _size_addr = _size;
    var _1 = _size_addr;
    var _2 = _1 != 0;
    ;
    if (_2) {
      ;
      var _3 = _this_addr;
      var _4 = _3;
      var _5 = _size_addr;
      var _6 = __ZN18btAlignedAllocatorIP16btCollisionShapeLj16EE8allocateEiPPKS1_(_4, _5, 0);
      var _7 = _6;
      _0 = _7;
      ;
    }
    else {
      ;
      _0 = 0;
      ;
    }
    var _8 = _0;
    _retval = _8;
    ;
    var _retval3 = _retval;
    ;
    return _retval3;
  }
  __ZN20btAlignedObjectArrayIP16btCollisionShapeE8allocateEi.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIP16btCollisionShapeE8allocateEi, "__ZN20btAlignedObjectArrayIP16btCollisionShapeE8allocateEi");
  
  
  function __ZN20btAlignedObjectArrayIP16btCollisionShapeE7reserveEi(_this, __Count) {
    ;
    var __label__;
    var _this_addr;
    var __Count_addr;
    var _retval_573;
    var _s;
    var __alloca_point_ = 0;
    _this_addr = _this;
    __Count_addr = __Count;
    var _0 = _this_addr;
    var _1 = __ZNK20btAlignedObjectArrayIP16btCollisionShapeE8capacityEv(_0);
    var _2 = __Count_addr;
    var _3 = _1 < _2;
    var _4 = _3;
    _retval_573 = _4;
    var _5 = _retval_573;
    var _toBool = _5 != 0;
    ;
    if (_toBool) {
      ;
      var _6 = _this_addr;
      var _7 = __Count_addr;
      var _8 = __ZN20btAlignedObjectArrayIP16btCollisionShapeE8allocateEi(_6, _7);
      var _9 = _8;
      _s = _9;
      var _10 = _this_addr;
      var _11 = __ZNK20btAlignedObjectArrayIP16btCollisionShapeE4sizeEv(_10);
      var _12 = _this_addr;
      var _13 = _s;
      __ZNK20btAlignedObjectArrayIP16btCollisionShapeE4copyEiiPS1_(_12, 0, _11, _13);
      var _14 = _this_addr;
      var _15 = __ZNK20btAlignedObjectArrayIP16btCollisionShapeE4sizeEv(_14);
      var _16 = _this_addr;
      __ZN20btAlignedObjectArrayIP16btCollisionShapeE7destroyEii(_16, 0, _15);
      var _17 = _this_addr;
      __ZN20btAlignedObjectArrayIP16btCollisionShapeE10deallocateEv(_17);
      var _18 = _this_addr;
      var _19 = _18+16;
      IHEAP[_19] = 1;
      var _20 = _this_addr;
      var _21 = _20+12;
      var _22 = _s;
      IHEAP[_21] = _22;
      var _23 = _this_addr;
      var _24 = _23+8;
      var _25 = __Count_addr;
      IHEAP[_24] = _25;
      ;
    }
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIP16btCollisionShapeE7reserveEi.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIP16btCollisionShapeE7reserveEi, "__ZN20btAlignedObjectArrayIP16btCollisionShapeE7reserveEi");
  
  
  function __ZN20btAlignedObjectArrayIP16btCollisionShapeE9push_backERKS1_(_this, __Val) {
    ;
    var __label__;
    var _this_addr;
    var __Val_addr;
    var _iftmp_506;
    var _0;
    var _retval_505;
    var _sz;
    var __alloca_point_ = 0;
    _this_addr = _this;
    __Val_addr = __Val;
    var _1 = _this_addr;
    var _2 = __ZNK20btAlignedObjectArrayIP16btCollisionShapeE4sizeEv(_1);
    _sz = _2;
    var _3 = _this_addr;
    var _4 = __ZNK20btAlignedObjectArrayIP16btCollisionShapeE8capacityEv(_3);
    var _5 = _sz;
    var _6 = _4 == _5;
    var _7 = _6;
    _retval_505 = _7;
    var _8 = _retval_505;
    var _toBool = _8 != 0;
    ;
    if (_toBool) {
      ;
      var _9 = _this_addr;
      var _10 = __ZNK20btAlignedObjectArrayIP16btCollisionShapeE4sizeEv(_9);
      var _11 = _this_addr;
      var _12 = __ZN20btAlignedObjectArrayIP16btCollisionShapeE9allocSizeEi(_11, _10);
      var _13 = _this_addr;
      __ZN20btAlignedObjectArrayIP16btCollisionShapeE7reserveEi(_13, _12);
      ;
    }
    var _14 = _this_addr;
    var _15 = _14+12;
    var _16 = IHEAP[_15];
    var _17 = _this_addr;
    var _18 = _17+4;
    var _19 = IHEAP[_18];
    var _20 = _16+4*_19;
    var _21 = _20;
    var _22 = __ZnwjPv(4, _21);
    var _23 = _22;
    _0 = _23;
    var _24 = _0;
    var _25 = _24 != 0;
    ;
    if (_25) {
      ;
      var _26 = __Val_addr;
      var _27 = IHEAP[_26];
      var _28 = _0;
      IHEAP[_28] = _27;
      var _29 = _0;
      _iftmp_506 = _29;
      ;
    }
    else {
      ;
      var _30 = _0;
      _iftmp_506 = _30;
      ;
    }
    var _31 = _this_addr;
    var _32 = _31+4;
    var _33 = IHEAP[_32];
    var _34 = _33 + 1;
    var _35 = _this_addr;
    var _36 = _35+4;
    IHEAP[_36] = _34;
    ;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIP16btCollisionShapeE9push_backERKS1_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIP16btCollisionShapeE9push_backERKS1_, "__ZN20btAlignedObjectArrayIP16btCollisionShapeE9push_backERKS1_");
  
  
  function __ZN17btCollisionObjectnwEj(_sizeInBytes) {
    ;
    var __label__;
    var _sizeInBytes_addr;
    var _retval;
    var _0;
    var __alloca_point_ = 0;
    _sizeInBytes_addr = _sizeInBytes;
    var _1 = _sizeInBytes_addr;
    var _2 = __Z22btAlignedAllocInternalji(_1, 16);
    _0 = _2;
    var _3 = _0;
    _retval = _3;
    ;
    var _retval1 = _retval;
    ;
    return _retval1;
  }
  __ZN17btCollisionObjectnwEj.__index__ = Runtime.getFunctionIndex(__ZN17btCollisionObjectnwEj, "__ZN17btCollisionObjectnwEj");
  
  
  function __ZN10btBoxShapeC1ERK9btVector3(_this, _boxHalfExtents) {
    var __stackBase__  = STACKTOP; STACKTOP += 51;
    var __label__;
    var _this_addr;
    var _boxHalfExtents_addr;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+17;
    var _3 = __stackBase__+18;
    var _margin = __stackBase__+19;
    var _memtmp = __stackBase__+35;
    var __alloca_point_ = 0;
    _this_addr = _this;
    _boxHalfExtents_addr = _boxHalfExtents;
    var _4 = _this_addr;
    var _5 = _4;
    __ZN23btPolyhedralConvexShapeC2Ev(_5);
    var _6 = _this_addr;
    var _7 = _6;
    var _8 = _7;
    var _9 = _8;
    var _10 = _9;
    var _11 = _10;
    IHEAP[_11] = __ZTV10btBoxShape+8;
    var _12 = _this_addr;
    var _13 = _12;
    var _14 = _13;
    var _15 = _14;
    var _16 = _15;
    var _17 = _16+4;
    IHEAP[_17] = 0;
    var _18 = _this_addr;
    var _19 = _18;
    var _20 = _19;
    var _21 = __ZNK21btConvexInternalShape9getMarginEv(_20);
    FHEAP[_3] = _21;
    var _22 = _this_addr;
    var _23 = _22;
    var _24 = _23;
    var _25 = __ZNK21btConvexInternalShape9getMarginEv(_24);
    FHEAP[_2] = _25;
    var _26 = _this_addr;
    var _27 = _26;
    var _28 = _27;
    var _29 = __ZNK21btConvexInternalShape9getMarginEv(_28);
    FHEAP[_1] = _29;
    __ZN9btVector3C1ERKfS1_S1_(_margin, _1, _2, _3);
    var _30 = _this_addr;
    var _31 = _30;
    var _32 = _31;
    var _33 = _32+12;
    var _34 = _boxHalfExtents_addr;
    __ZmlRK9btVector3S1_(_0, _34, _33);
    var _35 = _this_addr;
    var _36 = _35;
    var _37 = _36;
    var _38 = _37+28;
    __ZmiRK9btVector3S1_(_memtmp, _0, _margin);
    var _39 = _38;
    var _40 = _memtmp;
    var _41 = _39;
    var _42 = _40;
    var _43 = FHEAP[_42];
    FHEAP[_41] = _43;
    var _44 = _39+4;
    var _45 = _40+4;
    var _46 = FHEAP[_45];
    FHEAP[_44] = _46;
    var _47 = _39+8;
    var _48 = _40+8;
    var _49 = FHEAP[_48];
    FHEAP[_47] = _49;
    var _50 = _39+12;
    var _51 = _40+12;
    var _52 = FHEAP[_51];
    FHEAP[_50] = _52;
    ;
    STACKTOP = __stackBase__;
    return;
  }
  __ZN10btBoxShapeC1ERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN10btBoxShapeC1ERK9btVector3, "__ZN10btBoxShapeC1ERK9btVector3");
  
  
  function __ZN11btMatrix3x311getIdentityEv() {
    var __stackBase__  = STACKTOP; STACKTOP += 9;
    var __label__;
    var _retval;
    var _save_filt_654;
    var _save_eptr_653;
    var _0;
    var _1 = __stackBase__;
    var _2 = __stackBase__+1;
    var _3 = __stackBase__+2;
    var _4 = __stackBase__+3;
    var _5 = __stackBase__+4;
    var _6 = __stackBase__+5;
    var _7 = __stackBase__+6;
    var _8 = __stackBase__+7;
    var _9 = __stackBase__+8;
    var _10;
    var _retval_48;
    var _eh_exception;
    var _eh_selector;
    var __alloca_point_ = 0;
    var _11 = IHEAP[__ZGVZN11btMatrix3x311getIdentityEvE14identityMatrix];
    var _12 = _11 == 0;
    ;
    _bb$_bb9$616: do { 
      if (_12) {
        ;
        var _13 = ___cxa_guard_acquire(__ZGVZN11btMatrix3x311getIdentityEvE14identityMatrix);
        var _14 = _13 != 0;
        var _15 = _14;
        _retval_48 = _15;
        var _16 = _retval_48;
        var _toBool = _16 != 0;
        if (!(_toBool)) { __label__ = 62; /* _bb9 */ break _bb$_bb9$616; }
        _10 = 0;
        FHEAP[_9] = 1;
        FHEAP[_8] = 0;
        FHEAP[_7] = 0;
        FHEAP[_6] = 0;
        FHEAP[_5] = 1;
        FHEAP[_4] = 0;
        FHEAP[_3] = 0;
        FHEAP[_2] = 0;
        FHEAP[_1] = 1;
        (function() { try { __THREW__ = false; return __ZN11btMatrix3x3C1ERKfS1_S1_S1_S1_S1_S1_S1_S1_(__ZZN11btMatrix3x311getIdentityEvE14identityMatrix, _1, _2, _3, _4, _5, _6, _7, _8, _9) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        if (__label__ == 345) {
          _10 = 1;
          ___cxa_guard_release(__ZGVZN11btMatrix3x311getIdentityEvE14identityMatrix);
          ;
        }
        else if (__label__ == 254) {
          var _eh_ptr = _llvm_eh_exception();
          _eh_exception = _eh_ptr;
          var _eh_ptr11 = _eh_exception;
          var _eh_select12 = _llvm_eh_selector(_eh_ptr11, ___gxx_personality_v0, 0);
          _eh_selector = _eh_select12;
          ;
          ;
          var _eh_select = _eh_selector;
          _save_filt_654 = _eh_select;
          var _eh_value = _eh_exception;
          _save_eptr_653 = _eh_value;
          var _17 = _10;
          var _toBool3 = _17 != 0;
          var _toBool3not = _toBool3 ^ true;
          var _toBool3not4 = _toBool3not;
          var _toBool6 = _toBool3not4 != 0;
          ;
          if (_toBool6) {
            ;
            ___cxa_guard_abort(__ZGVZN11btMatrix3x311getIdentityEvE14identityMatrix);
            ;
          }
          var _18 = _save_eptr_653;
          _eh_exception = _18;
          var _19 = _save_filt_654;
          _eh_selector = _19;
          ;
          var _eh_ptr13 = _eh_exception;
          __Unwind_Resume_or_Rethrow(_eh_ptr13);
          // unreachable
        }
      }
    } while(0);
    _0 = __ZZN11btMatrix3x311getIdentityEvE14identityMatrix;
    var _20 = _0;
    _retval = _20;
    ;
    var _retval10 = _retval;
    STACKTOP = __stackBase__;
    return _retval10;
  }
  __ZN11btMatrix3x311getIdentityEv.__index__ = Runtime.getFunctionIndex(__ZN11btMatrix3x311getIdentityEv, "__ZN11btMatrix3x311getIdentityEv");
  
  
  function __ZN11btTransform11getIdentityEv() {
    var __stackBase__  = STACKTOP; STACKTOP += 19;
    var __label__;
    var _retval;
    var _save_filt_652;
    var _save_eptr_651;
    var _0;
    var _1 = __stackBase__;
    var _2 = __stackBase__+1;
    var _3 = __stackBase__+2;
    var _4 = __stackBase__+3;
    var _5;
    var _retval_99;
    var _eh_exception;
    var _eh_selector;
    var __alloca_point_ = 0;
    var _6 = IHEAP[__ZGVZN11btTransform11getIdentityEvE17identityTransform];
    var _7 = _6 == 0;
    ;
    _bb$_bb9$631: do { 
      if (_7) {
        ;
        var _8 = ___cxa_guard_acquire(__ZGVZN11btTransform11getIdentityEvE17identityTransform);
        var _9 = _8 != 0;
        var _10 = _9;
        _retval_99 = _10;
        var _11 = _retval_99;
        var _toBool = _11 != 0;
        if (!(_toBool)) { __label__ = 62; /* _bb9 */ break _bb$_bb9$631; }
        _5 = 0;
        FHEAP[_3] = 0;
        FHEAP[_2] = 0;
        FHEAP[_1] = 0;
        __ZN9btVector3C1ERKfS1_S1_(_4, _1, _2, _3);
        var _12 = (function() { try { __THREW__ = false; return __ZN11btMatrix3x311getIdentityEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
        if (__label__ == 345) {
          __ZN11btTransformC1ERK11btMatrix3x3RK9btVector3(__ZZN11btTransform11getIdentityEvE17identityTransform, _12, _4);
          _5 = 1;
          ___cxa_guard_release(__ZGVZN11btTransform11getIdentityEvE17identityTransform);
          ;
        }
        else if (__label__ == 254) {
          var _eh_ptr = _llvm_eh_exception();
          _eh_exception = _eh_ptr;
          var _eh_ptr11 = _eh_exception;
          var _eh_select12 = _llvm_eh_selector(_eh_ptr11, ___gxx_personality_v0, 0);
          _eh_selector = _eh_select12;
          ;
          ;
          var _eh_select = _eh_selector;
          _save_filt_652 = _eh_select;
          var _eh_value = _eh_exception;
          _save_eptr_651 = _eh_value;
          var _13 = _5;
          var _toBool3 = _13 != 0;
          var _toBool3not = _toBool3 ^ true;
          var _toBool3not4 = _toBool3not;
          var _toBool6 = _toBool3not4 != 0;
          ;
          if (_toBool6) {
            ;
            ___cxa_guard_abort(__ZGVZN11btTransform11getIdentityEvE17identityTransform);
            ;
          }
          var _14 = _save_eptr_651;
          _eh_exception = _14;
          var _15 = _save_filt_652;
          _eh_selector = _15;
          ;
          var _eh_ptr13 = _eh_exception;
          __Unwind_Resume_or_Rethrow(_eh_ptr13);
          // unreachable
        }
      }
    } while(0);
    _0 = __ZZN11btTransform11getIdentityEvE17identityTransform;
    var _16 = _0;
    _retval = _16;
    ;
    var _retval10 = _retval;
    STACKTOP = __stackBase__;
    return _retval10;
  }
  __ZN11btTransform11getIdentityEv.__index__ = Runtime.getFunctionIndex(__ZN11btTransform11getIdentityEv, "__ZN11btTransform11getIdentityEv");
  
  
  function __ZN20btAxisSweep3InternalIjE8aabbTestERK9btVector3S3_R24btBroadphaseAabbCallback(_this, _aabbMin, _aabbMax, _callback) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+116;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (_2) {
      ;
      var _3 = _this+60;
      var _4 = IHEAP[_3];
      var _5 = _4 << 1;
      var _6 = _5 | 1;
      var _7 = _6 == 1;
      ;
      _return$_bb_nph$699: do { 
        if (!_7) {
          ;
          var _13 = _this+76;
          var _14 = _this+68;
          var _15 = _aabbMin;
          var _16 = _aabbMin+8;
          var _17 = _aabbMin+4;
          var _18 = _aabbMax+4;
          var _19 = _callback;
          var _20 = _aabbMax+8;
          var _21 = _aabbMax;
          __lastLabel__ = 130; ;
          _bb2$701: while(1) { // _bb2
            var _indvar = __lastLabel__ == 130 ? 0 : (_tmp);
            var _tmp = _indvar + 1;
            var _tmp13 = _indvar + 2;
            var _22 = IHEAP[_13];
            var _scevgep1112 = _22+8*_tmp;
            var _23 = IHEAP[_scevgep1112];
            var _24 = _23 & 1;
            var _25 = _24 == 0;
            ;
            _bb6$_bb3$703: do { 
              if (!_25) {
                ;
                var _scevgep = _22+8*_tmp+4;
                var _26 = IHEAP[_scevgep];
                var _27 = IHEAP[_14];
                var _28 = FHEAP[_15];
                var _29 = _27+76*_26+32;
                var _30 = FHEAP[_29];
                var _31 = _28 > _30;
                ;
                _bb2_i$_bb_i$705: do { 
                  if (_31) {
                    __label__ = 132; /* _bb2_i */ 
                  }
                  else {
                    ;
                    var _32 = FHEAP[_21];
                    var _33 = _27+76*_26+16;
                    var _34 = FHEAP[_33];
                    var _35 = _32 < _34;
                    if (_35) { __lastLabel__ = 131; __label__ = 132; /* _bb2_i */ break _bb2_i$_bb_i$705; } else { __lastLabel__ = 131; __label__ = 133; /* _bb3_i */ break _bb2_i$_bb_i$705; }
                  }
                } while(0);
                if (__label__ == 132) {
                  __lastLabel__ = 132; ;
                }
                var _iftmp_122_0_i = __lastLabel__ == 132 ? 0 : (1);
                var _36 = FHEAP[_16];
                var _37 = _27+76*_26+32+8;
                var _38 = FHEAP[_37];
                var _39 = _36 > _38;
                ;
                _bb6_i$_bb4_i$710: do { 
                  if (_39) {
                    __label__ = 136; /* _bb6_i */ 
                  }
                  else {
                    ;
                    var _40 = FHEAP[_20];
                    var _41 = _27+76*_26+16+8;
                    var _42 = FHEAP[_41];
                    var _43 = _40 < _42;
                    if (_43) { __lastLabel__ = 135; __label__ = 136; /* _bb6_i */ break _bb6_i$_bb4_i$710; } else { __lastLabel__ = 135; __label__ = 137; /* _bb7_i */ break _bb6_i$_bb4_i$710; }
                  }
                } while(0);
                if (__label__ == 136) {
                  __lastLabel__ = 136; ;
                }
                var _iftmp_123_0_i = __lastLabel__ == 136 ? 0 : (_iftmp_122_0_i);
                var _44 = FHEAP[_17];
                var _45 = _27+76*_26+32+4;
                var _46 = FHEAP[_45];
                var _47 = _44 > _46;
                if (_47) { __label__ = 83; /* _bb6 */ break _bb6$_bb3$703; }
                var _48 = FHEAP[_18];
                var _49 = _27+76*_26+16+4;
                var _50 = FHEAP[_49];
                var _51 = _48 < _50;
                var _phitmp9 = _iftmp_123_0_i == 0;
                var _phitmp = _51 | _phitmp9;
                if (_phitmp) { __label__ = 83; /* _bb6 */ break _bb6$_bb3$703; }
                var _52 = IHEAP[_19];
                var _53 = _52+8;
                var _54 = IHEAP[_53];
                var _55 = _27+76*_26;
                var _56 = _54;
                var _57 = FUNCTION_TABLE[_56](_callback, _55);
                ;
              }
            } while(0);
            var _58 = IHEAP[_3];
            var _59 = _58 << 1;
            var _60 = _59 | 1;
            var _61 = unSign(_60, 32) > unSign(_tmp13, 32);
            if (_61) { __lastLabel__ = 83; __label__ = 0; /* _bb2 */ continue _bb2$701; } else { __lastLabel__ = 83; __label__ = 44; /* _return */ break _return$_bb_nph$699; }
          }
        }
      } while(0);
      ;
      return;
    }
    else {
      ;
      var _8 = _1;
      var _9 = IHEAP[_8];
      var _10 = _9+28;
      var _11 = IHEAP[_10];
      var _12 = _11;
      FUNCTION_TABLE[_12](_1, _aabbMin, _aabbMax, _callback);
      ;
      return;
    }
  }
  __ZN20btAxisSweep3InternalIjE8aabbTestERK9btVector3S3_R24btBroadphaseAabbCallback.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjE8aabbTestERK9btVector3S3_R24btBroadphaseAabbCallback, "__ZN20btAxisSweep3InternalIjE8aabbTestERK9btVector3S3_R24btBroadphaseAabbCallback");
  
  
  function __ZN20btAxisSweep3InternalIjE7rayTestERK9btVector3S3_R23btBroadphaseRayCallbackS3_S3_(_this, _rayFrom, _rayTo, _rayCallback, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+116;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (_2) {
      ;
      var _3 = _this+60;
      var _4 = IHEAP[_3];
      var _5 = _4 << 1;
      var _6 = _5 | 1;
      var _7 = _6 == 1;
      ;
      _return$_bb_nph$723: do { 
        if (!_7) {
          ;
          var _13 = _this+76;
          var _14 = _rayCallback;
          var _15 = _this+68;
          var _16 = _rayCallback;
          __lastLabel__ = 130; ;
          _bb2$725: while(1) { // _bb2
            var _indvar = __lastLabel__ == 130 ? 0 : (_tmp);
            var _tmp = _indvar + 1;
            var _tmp10 = _indvar + 2;
            var _17 = IHEAP[_13];
            var _scevgep89 = _17+8*_tmp;
            var _18 = IHEAP[_scevgep89];
            var _19 = _18 & 1;
            var _20 = _19 == 0;
            ;
            if (!_20) {
              ;
              var _21 = IHEAP[_14];
              var _22 = _21+8;
              var _23 = IHEAP[_22];
              var _scevgep = _17+8*_tmp+4;
              var _24 = IHEAP[_scevgep];
              var _25 = IHEAP[_15];
              var _26 = _25+76*_24;
              var _27 = _23;
              var _28 = FUNCTION_TABLE[_27](_16, _26);
              ;
            }
            var _29 = IHEAP[_3];
            var _30 = _29 << 1;
            var _31 = _30 | 1;
            var _32 = unSign(_31, 32) > unSign(_tmp10, 32);
            if (_32) { __lastLabel__ = 61; __label__ = 0; /* _bb2 */ continue _bb2$725; } else { __lastLabel__ = 61; __label__ = 44; /* _return */ break _return$_bb_nph$723; }
          }
        }
      } while(0);
      ;
      return;
    }
    else {
      ;
      var _8 = _1;
      var _9 = IHEAP[_8];
      var _10 = _9+24;
      var _11 = IHEAP[_10];
      var _12 = _11;
      FUNCTION_TABLE[_12](_1, _rayFrom, _rayTo, _rayCallback, _aabbMin, _aabbMax);
      ;
      return;
    }
  }
  __ZN20btAxisSweep3InternalIjE7rayTestERK9btVector3S3_R23btBroadphaseRayCallbackS3_S3_.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjE7rayTestERK9btVector3S3_R23btBroadphaseRayCallbackS3_S3_, "__ZN20btAxisSweep3InternalIjE7rayTestERK9btVector3S3_R23btBroadphaseRayCallbackS3_S3_");
  
  
  function __ZN20btAxisSweep3InternalItE8aabbTestERK9btVector3S3_R24btBroadphaseAabbCallback(_this, _aabbMin, _aabbMax, _callback) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+108;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (_2) {
      ;
      var _3 = _this+56;
      var _4 = IHEAP[_3];
      var _5 = _4;
      var _6 = _5 << 1;
      var _7 = _6 | 1;
      var _8 = _7 == 1;
      ;
      _return$_bb_nph$735: do { 
        if (!_8) {
          ;
          var _14 = _this+68;
          var _15 = _this+60;
          var _16 = _aabbMin;
          var _17 = _aabbMin+8;
          var _18 = _aabbMin+4;
          var _19 = _aabbMax+4;
          var _20 = _callback;
          var _21 = _aabbMax+8;
          var _22 = _aabbMax;
          __lastLabel__ = 130; ;
          _bb2$737: while(1) { // _bb2
            var _indvar = __lastLabel__ == 130 ? 0 : (_i_010);
            var _i_010 = _indvar + 1;
            var _tmp = _indvar + 2;
            var _23 = IHEAP[_14];
            var _24 = _i_010;
            var _25 = _23+4*_24;
            var _26 = IHEAP[_25];
            var _27 = _26 & 1;
            var _28 = _27 == 0;
            ;
            _bb6$_bb3$739: do { 
              if (!_28) {
                ;
                var _29 = _23+4*_24+2;
                var _30 = IHEAP[_29];
                var _31 = IHEAP[_15];
                var _32 = _30;
                var _33 = FHEAP[_16];
                var _34 = _31+68*_32+32;
                var _35 = FHEAP[_34];
                var _36 = _33 > _35;
                ;
                _bb2_i$_bb_i$741: do { 
                  if (_36) {
                    __label__ = 132; /* _bb2_i */ 
                  }
                  else {
                    ;
                    var _37 = FHEAP[_22];
                    var _38 = _31+68*_32+16;
                    var _39 = FHEAP[_38];
                    var _40 = _37 < _39;
                    if (_40) { __lastLabel__ = 131; __label__ = 132; /* _bb2_i */ break _bb2_i$_bb_i$741; } else { __lastLabel__ = 131; __label__ = 133; /* _bb3_i */ break _bb2_i$_bb_i$741; }
                  }
                } while(0);
                if (__label__ == 132) {
                  __lastLabel__ = 132; ;
                }
                var _iftmp_122_0_i = __lastLabel__ == 132 ? 0 : (1);
                var _41 = FHEAP[_17];
                var _42 = _31+68*_32+32+8;
                var _43 = FHEAP[_42];
                var _44 = _41 > _43;
                ;
                _bb6_i$_bb4_i$746: do { 
                  if (_44) {
                    __label__ = 136; /* _bb6_i */ 
                  }
                  else {
                    ;
                    var _45 = FHEAP[_21];
                    var _46 = _31+68*_32+16+8;
                    var _47 = FHEAP[_46];
                    var _48 = _45 < _47;
                    if (_48) { __lastLabel__ = 135; __label__ = 136; /* _bb6_i */ break _bb6_i$_bb4_i$746; } else { __lastLabel__ = 135; __label__ = 137; /* _bb7_i */ break _bb6_i$_bb4_i$746; }
                  }
                } while(0);
                if (__label__ == 136) {
                  __lastLabel__ = 136; ;
                }
                var _iftmp_123_0_i = __lastLabel__ == 136 ? 0 : (_iftmp_122_0_i);
                var _49 = FHEAP[_18];
                var _50 = _31+68*_32+32+4;
                var _51 = FHEAP[_50];
                var _52 = _49 > _51;
                if (_52) { __label__ = 83; /* _bb6 */ break _bb6$_bb3$739; }
                var _53 = FHEAP[_19];
                var _54 = _31+68*_32+16+4;
                var _55 = FHEAP[_54];
                var _56 = _53 < _55;
                var _phitmp9 = _iftmp_123_0_i == 0;
                var _phitmp = _56 | _phitmp9;
                if (_phitmp) { __label__ = 83; /* _bb6 */ break _bb6$_bb3$739; }
                var _57 = IHEAP[_20];
                var _58 = _57+8;
                var _59 = IHEAP[_58];
                var _60 = _31+68*_32;
                var _61 = _59;
                var _62 = FUNCTION_TABLE[_61](_callback, _60);
                ;
              }
            } while(0);
            var _63 = _tmp;
            var _64 = IHEAP[_3];
            var _65 = _64;
            var _66 = _65 << 1;
            var _67 = _66 | 1;
            var _68 = unSign(_63, 32) < unSign(_67, 32);
            if (_68) { __lastLabel__ = 83; __label__ = 0; /* _bb2 */ continue _bb2$737; } else { __lastLabel__ = 83; __label__ = 44; /* _return */ break _return$_bb_nph$735; }
          }
        }
      } while(0);
      ;
      return;
    }
    else {
      ;
      var _9 = _1;
      var _10 = IHEAP[_9];
      var _11 = _10+28;
      var _12 = IHEAP[_11];
      var _13 = _12;
      FUNCTION_TABLE[_13](_1, _aabbMin, _aabbMax, _callback);
      ;
      return;
    }
  }
  __ZN20btAxisSweep3InternalItE8aabbTestERK9btVector3S3_R24btBroadphaseAabbCallback.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItE8aabbTestERK9btVector3S3_R24btBroadphaseAabbCallback, "__ZN20btAxisSweep3InternalItE8aabbTestERK9btVector3S3_R24btBroadphaseAabbCallback");
  
  
  function __ZN20btAxisSweep3InternalItE7rayTestERK9btVector3S3_R23btBroadphaseRayCallbackS3_S3_(_this, _rayFrom, _rayTo, _rayCallback, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+108;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (_2) {
      ;
      var _3 = _this+56;
      var _4 = IHEAP[_3];
      var _5 = _4;
      var _6 = _5 << 1;
      var _7 = _6 | 1;
      var _8 = _7 == 1;
      ;
      _return$_bb_nph$759: do { 
        if (!_8) {
          ;
          var _14 = _this+68;
          var _15 = _rayCallback;
          var _16 = _this+60;
          var _17 = _rayCallback;
          __lastLabel__ = 130; ;
          _bb2$761: while(1) { // _bb2
            var _indvar = __lastLabel__ == 130 ? 0 : (_i_07);
            var _i_07 = _indvar + 1;
            var _tmp = _indvar + 2;
            var _18 = IHEAP[_14];
            var _19 = _i_07;
            var _20 = _18+4*_19;
            var _21 = IHEAP[_20];
            var _22 = _21 & 1;
            var _23 = _22 == 0;
            ;
            if (!_23) {
              ;
              var _24 = IHEAP[_15];
              var _25 = _24+8;
              var _26 = IHEAP[_25];
              var _27 = _18+4*_19+2;
              var _28 = IHEAP[_27];
              var _29 = IHEAP[_16];
              var _30 = _28;
              var _31 = _29+68*_30;
              var _32 = _26;
              var _33 = FUNCTION_TABLE[_32](_17, _31);
              ;
            }
            var _34 = _tmp;
            var _35 = IHEAP[_3];
            var _36 = _35;
            var _37 = _36 << 1;
            var _38 = _37 | 1;
            var _39 = unSign(_34, 32) < unSign(_38, 32);
            if (_39) { __lastLabel__ = 61; __label__ = 0; /* _bb2 */ continue _bb2$761; } else { __lastLabel__ = 61; __label__ = 44; /* _return */ break _return$_bb_nph$759; }
          }
        }
      } while(0);
      ;
      return;
    }
    else {
      ;
      var _9 = _1;
      var _10 = IHEAP[_9];
      var _11 = _10+24;
      var _12 = IHEAP[_11];
      var _13 = _12;
      FUNCTION_TABLE[_13](_1, _rayFrom, _rayTo, _rayCallback, _aabbMin, _aabbMax);
      ;
      return;
    }
  }
  __ZN20btAxisSweep3InternalItE7rayTestERK9btVector3S3_R23btBroadphaseRayCallbackS3_S3_.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItE7rayTestERK9btVector3S3_R23btBroadphaseRayCallbackS3_S3_, "__ZN20btAxisSweep3InternalItE7rayTestERK9btVector3S3_R23btBroadphaseRayCallbackS3_S3_");
  
  
  function __ZN20btAxisSweep3InternalIjE11sortMinDownEijP12btDispatcherb(_this, _axis, _edge, _unnamed_arg, _updateOverlaps) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+76+_axis*4;
    var _1 = IHEAP[_0];
    var __sum = _edge + -1;
    var _2 = _1+8*_edge+4;
    var _3 = IHEAP[_2];
    var _4 = _this+68;
    var _5 = IHEAP[_4];
    var _6 = _1+8*_edge;
    var _7 = IHEAP[_6];
    var _8 = _1+8*__sum;
    var _9 = IHEAP[_8];
    var _10 = unSign(_7, 32) < unSign(_9, 32);
    ;
    _bb_nph$_return$813: do { 
      if (_10) {
        ;
        var _11 = _5+76*_3+48+_axis*4;
        var _12 = 1 << _axis;
        var _13 = _12 & 3;
        var _toBool2not = _updateOverlaps == 0;
        var _14 = 1 << _13;
        var _15 = _14 & 3;
        var _16 = _5+76*_3+60+_13*4;
        var _17 = _5+76*_3+48+_13*4;
        var _18 = _5+76*_3+60+_15*4;
        var _19 = _5+76*_3+48+_15*4;
        var _20 = _this+100;
        var _21 = _5+76*_3;
        var _22 = _this+104;
        var _tmp26 = _edge + -2;
        __lastLabel__ = 130; ;
        _bb$815: while(1) { // _bb
          var _23 = __lastLabel__ == 130 ? _5 : (__pre);
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp27 = _tmp26 - _indvar;
          var _scevgep28 = _1+8*_tmp27;
          var _tmp29 = _edge - _indvar;
          var _scevgep30 = _1+8*_tmp29;
          var _scevgep31 = _scevgep30+-4;
          var _tmp33 = __sum - _indvar;
          var _scevgep3435 = _1+8*_tmp33;
          var _scevgep36 = _1+8*_tmp29+4;
          var _24 = IHEAP[_scevgep31];
          var _25 = IHEAP[_scevgep3435];
          var _26 = _25 & 1;
          var _27 = _26 == 0;
          ;
          if (_27) {
            ;
            var _63 = _23+76*_24+48+_axis*4;
            var _64 = IHEAP[_63];
            var _65 = _64 + 1;
            IHEAP[_63] = _65;
            ;
          }
          else {
            ;
            ;
            _bb17$_bb6$820: do { 
              if (!_toBool2not) {
                ;
                var _28 = IHEAP[_16];
                var _29 = _23+76*_24+48+_13*4;
                var _30 = IHEAP[_29];
                var _31 = unSign(_28, 32) < unSign(_30, 32);
                if (_31) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$820; }
                var _32 = _23+76*_24+60+_13*4;
                var _33 = IHEAP[_32];
                var _34 = IHEAP[_17];
                var _35 = unSign(_33, 32) < unSign(_34, 32);
                if (_35) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$820; }
                var _36 = IHEAP[_18];
                var _37 = _23+76*_24+48+_15*4;
                var _38 = IHEAP[_37];
                var _39 = unSign(_36, 32) < unSign(_38, 32);
                if (_39) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$820; }
                var _40 = _23+76*_24+60+_15*4;
                var _41 = IHEAP[_40];
                var _42 = IHEAP[_19];
                var _phitmp = unSign(_41, 32) < unSign(_42, 32);
                if (_phitmp) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$820; }
                var _43 = IHEAP[_20];
                var _44 = _43;
                var _45 = IHEAP[_44];
                var _46 = _45+8;
                var _47 = IHEAP[_46];
                var _48 = _23+76*_24;
                var _49 = _43;
                var _50 = _47;
                var _51 = FUNCTION_TABLE[_50](_49, _21, _48);
                var _52 = IHEAP[_22];
                var _53 = _52 == 0;
                if (_53) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$820; }
                var _54 = _52;
                var _55 = IHEAP[_54];
                var _56 = _55+8;
                var _57 = IHEAP[_56];
                var _58 = _57;
                var _59 = FUNCTION_TABLE[_58](_52, _21, _48);
                ;
              }
            } while(0);
            var _60 = _23+76*_24+60+_axis*4;
            var _61 = IHEAP[_60];
            var _62 = _61 + 1;
            IHEAP[_60] = _62;
            ;
          }
          var _66 = IHEAP[_11];
          var _67 = _66 + -1;
          IHEAP[_11] = _67;
          var _68 = IHEAP[_scevgep30];
          var _69 = IHEAP[_scevgep36];
          var _70 = IHEAP[_scevgep3435];
          var _71 = IHEAP[_scevgep31];
          IHEAP[_scevgep30] = _70;
          IHEAP[_scevgep36] = _71;
          IHEAP[_scevgep3435] = _68;
          IHEAP[_scevgep31] = _69;
          var _72 = IHEAP[_scevgep28];
          var _73 = unSign(_68, 32) < unSign(_72, 32);
          if (!(_73)) { __label__ = 44; /* _return */ break _bb_nph$_return$813; }
          var _indvar_next = _indvar + 1;
          var __pre = IHEAP[_4];
          __lastLabel__ = 163; __label__ = 60; /* _bb */ continue _bb$815;
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN20btAxisSweep3InternalIjE11sortMinDownEijP12btDispatcherb.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjE11sortMinDownEijP12btDispatcherb, "__ZN20btAxisSweep3InternalIjE11sortMinDownEijP12btDispatcherb");
  
  
  function __ZN20btAxisSweep3InternalIjE9sortMaxUpEijP12btDispatcherb(_this, _axis, _edge, _unnamed_arg, _updateOverlaps) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+76+_axis*4;
    var _1 = IHEAP[_0];
    var _2 = _1+8*_edge+4;
    var _3 = IHEAP[_2];
    var _4 = _this+68;
    var _5 = IHEAP[_4];
    var _6 = 1 << _axis;
    var _7 = _6 & 3;
    var _8 = 1 << _7;
    var _9 = _8 & 3;
    var _toBool2not = _updateOverlaps == 0;
    var _10 = _5+76*_3+60+_7*4;
    var _11 = _5+76*_3+48+_7*4;
    var _12 = _5+76*_3+60+_9*4;
    var _13 = _5+76*_3+48+_9*4;
    var _14 = _this+100;
    var _15 = _this+104;
    var _16 = _5+76*_3+60+_axis*4;
    var _tmp27 = _edge + 1;
    __lastLabel__ = -1; ;
    _bb20$832: while(1) { // _bb20
      var _indvar = __lastLabel__ == 64 ? _indvar_next : (0);
      var _tmp = _indvar + _edge;
      var _scevgep25 = _1+8*_tmp;
      var _scevgep26 = _1+8*_tmp+4;
      var _tmp28 = _tmp27 + _indvar;
      var _scevgep2930 = _1+8*_tmp28;
      var _scevgep31 = _1+8*_tmp28+4;
      var _66 = IHEAP[_scevgep31];
      var _67 = _66 == 0;
      if (_67) { __label__ = 44; /* _return */ break _bb20$832; }
      var _68 = IHEAP[_scevgep25];
      var _69 = IHEAP[_scevgep2930];
      var _70 = unSign(_68, 32) < unSign(_69, 32);
      if (_70) { __label__ = 44; /* _return */ break _bb20$832; }
      var _17 = IHEAP[_4];
      var _18 = _69 & 1;
      var _19 = _18 == 0;
      ;
      if (_19) {
        ;
        ;
        _bb17$_bb6$838: do { 
          if (!_toBool2not) {
            ;
            var _20 = IHEAP[_10];
            var _21 = _17+76*_66+48+_7*4;
            var _22 = IHEAP[_21];
            var _23 = unSign(_20, 32) < unSign(_22, 32);
            if (_23) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$838; }
            var _24 = _17+76*_66+60+_7*4;
            var _25 = IHEAP[_24];
            var _26 = IHEAP[_11];
            var _27 = unSign(_25, 32) < unSign(_26, 32);
            if (_27) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$838; }
            var _28 = IHEAP[_12];
            var _29 = _17+76*_66+48+_9*4;
            var _30 = IHEAP[_29];
            var _31 = unSign(_28, 32) < unSign(_30, 32);
            if (_31) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$838; }
            var _32 = _17+76*_66+60+_9*4;
            var _33 = IHEAP[_32];
            var _34 = IHEAP[_13];
            var _phitmp = unSign(_33, 32) < unSign(_34, 32);
            if (_phitmp) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$838; }
            var _35 = IHEAP[_scevgep26];
            var _36 = IHEAP[_14];
            var _37 = _36;
            var _38 = IHEAP[_37];
            var _39 = _38+8;
            var _40 = IHEAP[_39];
            var _41 = _17+76*_66;
            var _42 = _17+76*_35;
            var _43 = _36;
            var _44 = _40;
            var _45 = FUNCTION_TABLE[_44](_43, _42, _41);
            var _46 = IHEAP[_15];
            var _47 = _46 == 0;
            if (_47) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$838; }
            var _48 = _46;
            var _49 = IHEAP[_48];
            var _50 = _49+8;
            var _51 = IHEAP[_50];
            var _52 = _51;
            var _53 = FUNCTION_TABLE[_52](_46, _42, _41);
            ;
          }
        } while(0);
        var _54 = _17+76*_66+48+_axis*4;
        var _55 = IHEAP[_54];
        var _56 = _55 + -1;
        IHEAP[_54] = _56;
        ;
      }
      else {
        ;
        var _57 = _17+76*_66+60+_axis*4;
        var _58 = IHEAP[_57];
        var _59 = _58 + -1;
        IHEAP[_57] = _59;
        ;
      }
      var _60 = IHEAP[_16];
      var _61 = _60 + 1;
      IHEAP[_16] = _61;
      var _62 = IHEAP[_scevgep25];
      var _63 = IHEAP[_scevgep26];
      var _64 = IHEAP[_scevgep2930];
      var _65 = IHEAP[_scevgep31];
      IHEAP[_scevgep25] = _64;
      IHEAP[_scevgep26] = _65;
      IHEAP[_scevgep2930] = _62;
      IHEAP[_scevgep31] = _63;
      var _indvar_next = _indvar + 1;
      __lastLabel__ = 64; __label__ = 117; /* _bb20 */ continue _bb20$832;
    }
    ;
    return;
  }
  __ZN20btAxisSweep3InternalIjE9sortMaxUpEijP12btDispatcherb.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjE9sortMaxUpEijP12btDispatcherb, "__ZN20btAxisSweep3InternalIjE9sortMaxUpEijP12btDispatcherb");
  
  
  function __ZN20btAxisSweep3InternalIjE9sortMinUpEijP12btDispatcherb(_this, _axis, _edge, _dispatcher, _updateOverlaps) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+76+_axis*4;
    var _1 = IHEAP[_0];
    var _2 = _1+8*_edge+4;
    var _3 = IHEAP[_2];
    var _4 = _this+68;
    var _5 = IHEAP[_4];
    var _6 = _5+76*_3+48+_axis*4;
    var _7 = 1 << _axis;
    var _8 = _7 & 3;
    var _toBool2not = _updateOverlaps == 0;
    var _9 = 1 << _8;
    var _10 = _9 & 3;
    var _11 = _this+100;
    var _12 = _this+104;
    var _tmp27 = _edge + 1;
    __lastLabel__ = -1; ;
    _bb20$850: while(1) { // _bb20
      var _indvar = __lastLabel__ == 64 ? _indvar_next : (0);
      var _tmp = _indvar + _edge;
      var _scevgep25 = _1+8*_tmp;
      var _scevgep26 = _1+8*_tmp+4;
      var _tmp28 = _tmp27 + _indvar;
      var _scevgep2930 = _1+8*_tmp28;
      var _scevgep31 = _1+8*_tmp28+4;
      var _66 = IHEAP[_scevgep31];
      var _67 = _66 == 0;
      if (_67) { __label__ = 44; /* _return */ break _bb20$850; }
      var _68 = IHEAP[_scevgep25];
      var _69 = IHEAP[_scevgep2930];
      var _70 = unSign(_68, 32) < unSign(_69, 32);
      if (_70) { __label__ = 44; /* _return */ break _bb20$850; }
      var _13 = IHEAP[_4];
      var _14 = _69 & 1;
      var _15 = _14 == 0;
      ;
      if (_15) {
        ;
        var _57 = _13+76*_66+48+_axis*4;
        var _58 = IHEAP[_57];
        var _59 = _58 + -1;
        IHEAP[_57] = _59;
        ;
      }
      else {
        ;
        var _16 = IHEAP[_scevgep26];
        ;
        _bb17$_bb6$857: do { 
          if (!_toBool2not) {
            ;
            var _17 = _13+76*_16+60+_8*4;
            var _18 = IHEAP[_17];
            var _19 = _13+76*_66+48+_8*4;
            var _20 = IHEAP[_19];
            var _21 = unSign(_18, 32) < unSign(_20, 32);
            if (_21) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$857; }
            var _22 = _13+76*_66+60+_8*4;
            var _23 = IHEAP[_22];
            var _24 = _13+76*_16+48+_8*4;
            var _25 = IHEAP[_24];
            var _26 = unSign(_23, 32) < unSign(_25, 32);
            if (_26) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$857; }
            var _27 = _13+76*_16+60+_10*4;
            var _28 = IHEAP[_27];
            var _29 = _13+76*_66+48+_10*4;
            var _30 = IHEAP[_29];
            var _31 = unSign(_28, 32) < unSign(_30, 32);
            if (_31) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$857; }
            var _32 = _13+76*_66+60+_10*4;
            var _33 = IHEAP[_32];
            var _34 = _13+76*_16+48+_10*4;
            var _35 = IHEAP[_34];
            var _phitmp = unSign(_33, 32) < unSign(_35, 32);
            if (_phitmp) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$857; }
            var _36 = IHEAP[_11];
            var _37 = _36;
            var _38 = IHEAP[_37];
            var _39 = _38+12;
            var _40 = IHEAP[_39];
            var _41 = _13+76*_66;
            var _42 = _13+76*_16;
            var _43 = _36;
            var _44 = _40;
            var _45 = FUNCTION_TABLE[_44](_43, _42, _41, _dispatcher);
            var _46 = IHEAP[_12];
            var _47 = _46 == 0;
            if (_47) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$857; }
            var _48 = _46;
            var _49 = IHEAP[_48];
            var _50 = _49+12;
            var _51 = IHEAP[_50];
            var _52 = _51;
            var _53 = FUNCTION_TABLE[_52](_46, _42, _41, _dispatcher);
            ;
          }
        } while(0);
        var _54 = _13+76*_66+60+_axis*4;
        var _55 = IHEAP[_54];
        var _56 = _55 + -1;
        IHEAP[_54] = _56;
        ;
      }
      var _60 = IHEAP[_6];
      var _61 = _60 + 1;
      IHEAP[_6] = _61;
      var _62 = IHEAP[_scevgep25];
      var _63 = IHEAP[_scevgep26];
      var _64 = IHEAP[_scevgep2930];
      var _65 = IHEAP[_scevgep31];
      IHEAP[_scevgep25] = _64;
      IHEAP[_scevgep26] = _65;
      IHEAP[_scevgep2930] = _62;
      IHEAP[_scevgep31] = _63;
      var _indvar_next = _indvar + 1;
      __lastLabel__ = 64; __label__ = 117; /* _bb20 */ continue _bb20$850;
    }
    ;
    return;
  }
  __ZN20btAxisSweep3InternalIjE9sortMinUpEijP12btDispatcherb.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjE9sortMinUpEijP12btDispatcherb, "__ZN20btAxisSweep3InternalIjE9sortMinUpEijP12btDispatcherb");
  
  
  function __ZN20btAxisSweep3InternalIjE12removeHandleEjP12btDispatcher(_this, _handle, _dispatcher) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+68;
    var _1 = IHEAP[_0];
    var _2 = _this+100;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = IHEAP[_4];
    var _6 = _5+56;
    var _7 = IHEAP[_6];
    var _8 = _7;
    var _9 = FUNCTION_TABLE[_8](_3);
    var _toBoolnot = _9 == 0;
    ;
    if (_toBoolnot) {
      ;
      var _10 = IHEAP[_2];
      var _11 = _10;
      var _12 = IHEAP[_11];
      var _13 = _12+16;
      var _14 = IHEAP[_13];
      var _15 = _1+76*_handle;
      var _16 = _10;
      var _17 = _14;
      FUNCTION_TABLE[_17](_16, _15, _dispatcher);
      ;
    }
    var _18 = _this+60;
    var _19 = IHEAP[_18];
    var _20 = _19 << 1;
    var _21 = IHEAP[_0];
    var _scevgep16 = _21+60;
    var _22 = IHEAP[_scevgep16];
    var _23 = _22 + -2;
    IHEAP[_scevgep16] = _23;
    var _24 = IHEAP[_0];
    var _scevgep16_1 = _24+60+4;
    var _25 = IHEAP[_scevgep16_1];
    var _26 = _25 + -2;
    IHEAP[_scevgep16_1] = _26;
    var _27 = IHEAP[_0];
    var _scevgep16_2 = _27+60+8;
    var _28 = IHEAP[_scevgep16_2];
    var _29 = _28 + -2;
    IHEAP[_scevgep16_2] = _29;
    var _30 = _this+8;
    var _31 = _20 + -1;
    __lastLabel__ = 130; ;
    _bb7$871: while(1) { // _bb7
      var _32 = __lastLabel__ == 130 ? 0 : (_43);
      var _scevgep = _this+76+_32*4;
      var _scevgep13 = _1+76*_handle+60+_32*4;
      var _scevgep14 = _1+76*_handle+48+_32*4;
      var _33 = IHEAP[_scevgep];
      var _34 = IHEAP[_scevgep13];
      var _35 = IHEAP[_30];
      var _36 = _33+8*_34;
      IHEAP[_36] = _35;
      __ZN20btAxisSweep3InternalIjE9sortMaxUpEijP12btDispatcherb(_this, _32, _34, _dispatcher, 0);
      var _37 = IHEAP[_scevgep14];
      var _38 = IHEAP[_30];
      var _39 = _33+8*_37;
      IHEAP[_39] = _38;
      __ZN20btAxisSweep3InternalIjE9sortMinUpEijP12btDispatcherb(_this, _32, _37, _dispatcher, 0);
      var _40 = _33+8*_31+4;
      IHEAP[_40] = 0;
      var _41 = IHEAP[_30];
      var _42 = _33+8*_31;
      IHEAP[_42] = _41;
      var _43 = _32 + 1;
      var _exitcond = _43 == 3;
      if (_exitcond) { __lastLabel__ = 2; __label__ = 62; /* _bb9 */ break _bb7$871; } else { __lastLabel__ = 2; __label__ = 2; /* _bb7 */ continue _bb7$871; }
    }
    var _44 = _this+72;
    var _45 = IHEAP[_44];
    var _46 = IHEAP[_0];
    var _47 = _46+76*_handle+48;
    IHEAP[_47] = _45;
    IHEAP[_44] = _handle;
    var _48 = IHEAP[_18];
    var _49 = _48 + -1;
    IHEAP[_18] = _49;
    ;
    return;
  }
  __ZN20btAxisSweep3InternalIjE12removeHandleEjP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjE12removeHandleEjP12btDispatcher, "__ZN20btAxisSweep3InternalIjE12removeHandleEjP12btDispatcher");
  
  
  function __ZN20btAxisSweep3InternalIjE11sortMaxDownEijP12btDispatcherb(_this, _axis, _edge, _dispatcher, _updateOverlaps) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+76+_axis*4;
    var _1 = IHEAP[_0];
    var __sum = _edge + -1;
    var _2 = _this+68;
    var _3 = IHEAP[_2];
    var _4 = _1+8*_edge;
    var _5 = IHEAP[_4];
    var _6 = _1+8*__sum;
    var _7 = IHEAP[_6];
    var _8 = unSign(_5, 32) < unSign(_7, 32);
    ;
    _bb_nph$_return$879: do { 
      if (_8) {
        ;
        var _9 = _1+8*_edge+4;
        var _10 = IHEAP[_9];
        var _11 = 1 << _axis;
        var _12 = _11 & 3;
        var _toBool2not = _updateOverlaps == 0;
        var _13 = 1 << _12;
        var _14 = _13 & 3;
        var _15 = _this+100;
        var _16 = _this+104;
        var _17 = _3+76*_10+60+_axis*4;
        var _tmp26 = _edge + -2;
        __lastLabel__ = 130; ;
        _bb$881: while(1) { // _bb
          var _18 = __lastLabel__ == 130 ? _3 : (__pre);
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp27 = _tmp26 - _indvar;
          var _scevgep28 = _1+8*_tmp27;
          var _tmp29 = _edge - _indvar;
          var _scevgep30 = _1+8*_tmp29;
          var _scevgep31 = _scevgep30+-4;
          var _tmp33 = __sum - _indvar;
          var _scevgep3435 = _1+8*_tmp33;
          var _scevgep36 = _1+8*_tmp29+4;
          var _19 = IHEAP[_scevgep31];
          var _20 = IHEAP[_scevgep3435];
          var _21 = _20 & 1;
          var _22 = _21 == 0;
          ;
          if (_22) {
            ;
            var _23 = IHEAP[_scevgep36];
            ;
            _bb17$_bb6$885: do { 
              if (!_toBool2not) {
                ;
                var _24 = _18+76*_23+60+_12*4;
                var _25 = IHEAP[_24];
                var _26 = _18+76*_19+48+_12*4;
                var _27 = IHEAP[_26];
                var _28 = unSign(_25, 32) < unSign(_27, 32);
                if (_28) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$885; }
                var _29 = _18+76*_19+60+_12*4;
                var _30 = IHEAP[_29];
                var _31 = _18+76*_23+48+_12*4;
                var _32 = IHEAP[_31];
                var _33 = unSign(_30, 32) < unSign(_32, 32);
                if (_33) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$885; }
                var _34 = _18+76*_23+60+_14*4;
                var _35 = IHEAP[_34];
                var _36 = _18+76*_19+48+_14*4;
                var _37 = IHEAP[_36];
                var _38 = unSign(_35, 32) < unSign(_37, 32);
                if (_38) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$885; }
                var _39 = _18+76*_19+60+_14*4;
                var _40 = IHEAP[_39];
                var _41 = _18+76*_23+48+_14*4;
                var _42 = IHEAP[_41];
                var _phitmp = unSign(_40, 32) < unSign(_42, 32);
                if (_phitmp) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$885; }
                var _43 = IHEAP[_15];
                var _44 = _43;
                var _45 = IHEAP[_44];
                var _46 = _45+12;
                var _47 = IHEAP[_46];
                var _48 = _18+76*_19;
                var _49 = _18+76*_23;
                var _50 = _43;
                var _51 = _47;
                var _52 = FUNCTION_TABLE[_51](_50, _49, _48, _dispatcher);
                var _53 = IHEAP[_16];
                var _54 = _53 == 0;
                if (_54) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$885; }
                var _55 = _53;
                var _56 = IHEAP[_55];
                var _57 = _56+12;
                var _58 = IHEAP[_57];
                var _59 = _58;
                var _60 = FUNCTION_TABLE[_59](_53, _49, _48, _dispatcher);
                ;
              }
            } while(0);
            var _61 = _18+76*_19+48+_axis*4;
            var _62 = IHEAP[_61];
            var _63 = _62 + 1;
            IHEAP[_61] = _63;
            ;
          }
          else {
            ;
            var _64 = _18+76*_19+60+_axis*4;
            var _65 = IHEAP[_64];
            var _66 = _65 + 1;
            IHEAP[_64] = _66;
            ;
          }
          var _67 = IHEAP[_17];
          var _68 = _67 + -1;
          IHEAP[_17] = _68;
          var _69 = IHEAP[_scevgep30];
          var _70 = IHEAP[_scevgep36];
          var _71 = IHEAP[_scevgep3435];
          var _72 = IHEAP[_scevgep31];
          IHEAP[_scevgep30] = _71;
          IHEAP[_scevgep36] = _72;
          IHEAP[_scevgep3435] = _69;
          IHEAP[_scevgep31] = _70;
          var _73 = IHEAP[_scevgep28];
          var _74 = unSign(_69, 32) < unSign(_73, 32);
          if (!(_74)) { __label__ = 44; /* _return */ break _bb_nph$_return$879; }
          var _indvar_next = _indvar + 1;
          var __pre = IHEAP[_2];
          __lastLabel__ = 163; __label__ = 60; /* _bb */ continue _bb$881;
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN20btAxisSweep3InternalIjE11sortMaxDownEijP12btDispatcherb.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjE11sortMaxDownEijP12btDispatcherb, "__ZN20btAxisSweep3InternalIjE11sortMaxDownEijP12btDispatcherb");
  
  
  function __ZN20btAxisSweep3InternalIjE11createProxyERK9btVector3S3_iPvssP12btDispatcherS4_(_this, _aabbMin, _aabbMax, _shapeType, _userPtr, _collisionFilterGroup, _collisionFilterMask, _dispatcher, _multiSapProxy) {
    ;
    var __label__;
    var _0 = __ZN20btAxisSweep3InternalIjE9addHandleERK9btVector3S3_PvssP12btDispatcherS4_(_this, _aabbMin, _aabbMax, _userPtr, _collisionFilterGroup, _collisionFilterMask, _dispatcher, _multiSapProxy);
    var _1 = _this+68;
    var _2 = IHEAP[_1];
    var _3 = _this+116;
    var _4 = IHEAP[_3];
    var _5 = _4 == 0;
    ;
    if (!_5) {
      ;
      var _6 = _4;
      var _7 = IHEAP[_6];
      var _8 = _7+8;
      var _9 = IHEAP[_8];
      var _10 = _9;
      var _11 = FUNCTION_TABLE[_10](_4, _aabbMin, _aabbMax, _shapeType, _userPtr, _collisionFilterGroup, _collisionFilterMask, _dispatcher, 0);
      var _12 = _2+76*_0+72;
      IHEAP[_12] = _11;
      ;
    }
    var _13 = _2+76*_0;
    ;
    return _13;
  }
  __ZN20btAxisSweep3InternalIjE11createProxyERK9btVector3S3_iPvssP12btDispatcherS4_.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjE11createProxyERK9btVector3S3_iPvssP12btDispatcherS4_, "__ZN20btAxisSweep3InternalIjE11createProxyERK9btVector3S3_iPvssP12btDispatcherS4_");
  
  
  function __ZN20btAxisSweep3InternalItE11sortMinDownEitP12btDispatcherb(_this, _axis, _edge, _unnamed_arg, _updateOverlaps) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+68+_axis*4;
    var _1 = IHEAP[_0];
    var _2 = _edge;
    var __sum = _2 + -1;
    var _3 = _1+4*_2+2;
    var _4 = IHEAP[_3];
    var _5 = _this+60;
    var _6 = IHEAP[_5];
    var _7 = _4;
    var _8 = _1+4*_2;
    var _9 = IHEAP[_8];
    var _10 = _1+4*__sum;
    var _11 = IHEAP[_10];
    var _12 = unSign(_9, 16) < unSign(_11, 16);
    ;
    _bb_nph$_return$975: do { 
      if (_12) {
        ;
        var _13 = _6+68*_7+48+_axis*2;
        var _14 = 1 << _axis;
        var _15 = _14 & 3;
        var _toBool2not = _updateOverlaps == 0;
        var _16 = 1 << _15;
        var _17 = _16 & 3;
        var _18 = _6+68*_7+56+_15*2;
        var _19 = _6+68*_7+48+_15*2;
        var _20 = _6+68*_7+56+_17*2;
        var _21 = _6+68*_7+48+_17*2;
        var _22 = _this+92;
        var _23 = _6+68*_7;
        var _24 = _this+96;
        var _tmp27 = _2 + -2;
        __lastLabel__ = 130; ;
        _bb$977: while(1) { // _bb
          var _25 = __lastLabel__ == 130 ? _6 : (__pre);
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp28 = _tmp27 - _indvar;
          var _scevgep29 = _1+4*_tmp28;
          var _tmp30 = _2 - _indvar;
          var _scevgep31 = _1+4*_tmp30;
          var _scevgep32 = _scevgep31+-2;
          var _tmp34 = __sum - _indvar;
          var _scevgep3536 = _1+4*_tmp34;
          var _scevgep37 = _1+4*_tmp30+2;
          var _26 = IHEAP[_scevgep32];
          var _27 = _26;
          var _28 = IHEAP[_scevgep3536];
          var _29 = _28 & 1;
          var _30 = _29 == 0;
          ;
          if (_30) {
            ;
            var _66 = _25+68*_27+48+_axis*2;
            var _67 = IHEAP[_66];
            var _68 = _67 + 1;
            IHEAP[_66] = _68;
            ;
          }
          else {
            ;
            ;
            _bb17$_bb6$982: do { 
              if (!_toBool2not) {
                ;
                var _31 = IHEAP[_18];
                var _32 = _25+68*_27+48+_15*2;
                var _33 = IHEAP[_32];
                var _34 = unSign(_31, 16) < unSign(_33, 16);
                if (_34) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$982; }
                var _35 = _25+68*_27+56+_15*2;
                var _36 = IHEAP[_35];
                var _37 = IHEAP[_19];
                var _38 = unSign(_36, 16) < unSign(_37, 16);
                if (_38) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$982; }
                var _39 = IHEAP[_20];
                var _40 = _25+68*_27+48+_17*2;
                var _41 = IHEAP[_40];
                var _42 = unSign(_39, 16) < unSign(_41, 16);
                if (_42) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$982; }
                var _43 = _25+68*_27+56+_17*2;
                var _44 = IHEAP[_43];
                var _45 = IHEAP[_21];
                var _phitmp = unSign(_44, 16) < unSign(_45, 16);
                if (_phitmp) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$982; }
                var _46 = IHEAP[_22];
                var _47 = _46;
                var _48 = IHEAP[_47];
                var _49 = _48+8;
                var _50 = IHEAP[_49];
                var _51 = _25+68*_27;
                var _52 = _46;
                var _53 = _50;
                var _54 = FUNCTION_TABLE[_53](_52, _23, _51);
                var _55 = IHEAP[_24];
                var _56 = _55 == 0;
                if (_56) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$982; }
                var _57 = _55;
                var _58 = IHEAP[_57];
                var _59 = _58+8;
                var _60 = IHEAP[_59];
                var _61 = _60;
                var _62 = FUNCTION_TABLE[_61](_55, _23, _51);
                ;
              }
            } while(0);
            var _63 = _25+68*_27+56+_axis*2;
            var _64 = IHEAP[_63];
            var _65 = _64 + 1;
            IHEAP[_63] = _65;
            ;
          }
          var _69 = IHEAP[_13];
          var _70 = _69 + -1;
          IHEAP[_13] = _70;
          var _71 = IHEAP[_scevgep31];
          var _72 = IHEAP[_scevgep37];
          var _73 = IHEAP[_scevgep3536];
          var _74 = IHEAP[_scevgep32];
          IHEAP[_scevgep31] = _73;
          IHEAP[_scevgep37] = _74;
          IHEAP[_scevgep3536] = _71;
          IHEAP[_scevgep32] = _72;
          var _75 = IHEAP[_scevgep29];
          var _76 = unSign(_71, 16) < unSign(_75, 16);
          if (!(_76)) { __label__ = 44; /* _return */ break _bb_nph$_return$975; }
          var _indvar_next = _indvar + 1;
          var __pre = IHEAP[_5];
          __lastLabel__ = 163; __label__ = 60; /* _bb */ continue _bb$977;
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN20btAxisSweep3InternalItE11sortMinDownEitP12btDispatcherb.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItE11sortMinDownEitP12btDispatcherb, "__ZN20btAxisSweep3InternalItE11sortMinDownEitP12btDispatcherb");
  
  
  function __ZN20btAxisSweep3InternalItE9sortMaxUpEitP12btDispatcherb(_this, _axis, _edge, _unnamed_arg, _updateOverlaps) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+68+_axis*4;
    var _1 = IHEAP[_0];
    var _2 = _edge;
    var _3 = _1+4*_2+2;
    var _4 = IHEAP[_3];
    var _5 = _this+60;
    var _6 = IHEAP[_5];
    var _7 = _4;
    var _8 = 1 << _axis;
    var _9 = _8 & 3;
    var _10 = 1 << _9;
    var _11 = _10 & 3;
    var _toBool2not = _updateOverlaps == 0;
    var _12 = _6+68*_7+56+_9*2;
    var _13 = _6+68*_7+48+_9*2;
    var _14 = _6+68*_7+56+_11*2;
    var _15 = _6+68*_7+48+_11*2;
    var _16 = _this+92;
    var _17 = _this+96;
    var _18 = _6+68*_7+56+_axis*2;
    var _tmp28 = _2 + 1;
    __lastLabel__ = -1; ;
    _bb20$994: while(1) { // _bb20
      var _indvar = __lastLabel__ == 64 ? _indvar_next : (0);
      var _tmp25 = _2 + _indvar;
      var _scevgep26 = _1+4*_tmp25;
      var _scevgep27 = _1+4*_tmp25+2;
      var _tmp29 = _tmp28 + _indvar;
      var _scevgep3031 = _1+4*_tmp29;
      var _scevgep32 = _1+4*_tmp29+2;
      var _70 = IHEAP[_scevgep32];
      var _71 = _70 == 0;
      if (_71) { __label__ = 44; /* _return */ break _bb20$994; }
      var _72 = IHEAP[_scevgep26];
      var _73 = IHEAP[_scevgep3031];
      var _74 = unSign(_72, 16) < unSign(_73, 16);
      if (_74) { __label__ = 44; /* _return */ break _bb20$994; }
      var _19 = IHEAP[_5];
      var _20 = _70;
      var _21 = _73 & 1;
      var _22 = _21 == 0;
      ;
      if (_22) {
        ;
        ;
        _bb17$_bb6$1000: do { 
          if (!_toBool2not) {
            ;
            var _23 = IHEAP[_12];
            var _24 = _19+68*_20+48+_9*2;
            var _25 = IHEAP[_24];
            var _26 = unSign(_23, 16) < unSign(_25, 16);
            if (_26) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$1000; }
            var _27 = _19+68*_20+56+_9*2;
            var _28 = IHEAP[_27];
            var _29 = IHEAP[_13];
            var _30 = unSign(_28, 16) < unSign(_29, 16);
            if (_30) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$1000; }
            var _31 = IHEAP[_14];
            var _32 = _19+68*_20+48+_11*2;
            var _33 = IHEAP[_32];
            var _34 = unSign(_31, 16) < unSign(_33, 16);
            if (_34) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$1000; }
            var _35 = _19+68*_20+56+_11*2;
            var _36 = IHEAP[_35];
            var _37 = IHEAP[_15];
            var _phitmp = unSign(_36, 16) < unSign(_37, 16);
            if (_phitmp) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$1000; }
            var _38 = IHEAP[_scevgep27];
            var _39 = _38;
            var _40 = IHEAP[_16];
            var _41 = _40;
            var _42 = IHEAP[_41];
            var _43 = _42+8;
            var _44 = IHEAP[_43];
            var _45 = _19+68*_20;
            var _46 = _19+68*_39;
            var _47 = _40;
            var _48 = _44;
            var _49 = FUNCTION_TABLE[_48](_47, _46, _45);
            var _50 = IHEAP[_17];
            var _51 = _50 == 0;
            if (_51) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$1000; }
            var _52 = _50;
            var _53 = IHEAP[_52];
            var _54 = _53+8;
            var _55 = IHEAP[_54];
            var _56 = _55;
            var _57 = FUNCTION_TABLE[_56](_50, _46, _45);
            ;
          }
        } while(0);
        var _58 = _19+68*_20+48+_axis*2;
        var _59 = IHEAP[_58];
        var _60 = _59 + -1;
        IHEAP[_58] = _60;
        ;
      }
      else {
        ;
        var _61 = _19+68*_20+56+_axis*2;
        var _62 = IHEAP[_61];
        var _63 = _62 + -1;
        IHEAP[_61] = _63;
        ;
      }
      var _64 = IHEAP[_18];
      var _65 = _64 + 1;
      IHEAP[_18] = _65;
      var _66 = IHEAP[_scevgep26];
      var _67 = IHEAP[_scevgep27];
      var _68 = IHEAP[_scevgep3031];
      var _69 = IHEAP[_scevgep32];
      IHEAP[_scevgep26] = _68;
      IHEAP[_scevgep27] = _69;
      IHEAP[_scevgep3031] = _66;
      IHEAP[_scevgep32] = _67;
      var _indvar_next = _indvar + 1;
      __lastLabel__ = 64; __label__ = 117; /* _bb20 */ continue _bb20$994;
    }
    ;
    return;
  }
  __ZN20btAxisSweep3InternalItE9sortMaxUpEitP12btDispatcherb.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItE9sortMaxUpEitP12btDispatcherb, "__ZN20btAxisSweep3InternalItE9sortMaxUpEitP12btDispatcherb");
  
  
  function __ZN20btAxisSweep3InternalItE9sortMinUpEitP12btDispatcherb(_this, _axis, _edge, _dispatcher, _updateOverlaps) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+68+_axis*4;
    var _1 = IHEAP[_0];
    var _2 = _edge;
    var _3 = _1+4*_2+2;
    var _4 = IHEAP[_3];
    var _5 = _this+60;
    var _6 = IHEAP[_5];
    var _7 = _4;
    var _8 = _6+68*_7+48+_axis*2;
    var _9 = 1 << _axis;
    var _10 = _9 & 3;
    var _toBool2not = _updateOverlaps == 0;
    var _11 = 1 << _10;
    var _12 = _11 & 3;
    var _13 = _this+92;
    var _14 = _this+96;
    var _tmp28 = _2 + 1;
    __lastLabel__ = -1; ;
    _bb20$1012: while(1) { // _bb20
      var _indvar = __lastLabel__ == 64 ? _indvar_next : (0);
      var _tmp25 = _2 + _indvar;
      var _scevgep26 = _1+4*_tmp25;
      var _scevgep27 = _1+4*_tmp25+2;
      var _tmp29 = _tmp28 + _indvar;
      var _scevgep3031 = _1+4*_tmp29;
      var _scevgep32 = _1+4*_tmp29+2;
      var _70 = IHEAP[_scevgep32];
      var _71 = _70 == 0;
      if (_71) { __label__ = 44; /* _return */ break _bb20$1012; }
      var _72 = IHEAP[_scevgep26];
      var _73 = IHEAP[_scevgep3031];
      var _74 = unSign(_72, 16) < unSign(_73, 16);
      if (_74) { __label__ = 44; /* _return */ break _bb20$1012; }
      var _15 = IHEAP[_5];
      var _16 = _70;
      var _17 = _73 & 1;
      var _18 = _17 == 0;
      ;
      if (_18) {
        ;
        var _61 = _15+68*_16+48+_axis*2;
        var _62 = IHEAP[_61];
        var _63 = _62 + -1;
        IHEAP[_61] = _63;
        ;
      }
      else {
        ;
        var _19 = IHEAP[_scevgep27];
        var _20 = _19;
        ;
        _bb17$_bb6$1019: do { 
          if (!_toBool2not) {
            ;
            var _21 = _15+68*_20+56+_10*2;
            var _22 = IHEAP[_21];
            var _23 = _15+68*_16+48+_10*2;
            var _24 = IHEAP[_23];
            var _25 = unSign(_22, 16) < unSign(_24, 16);
            if (_25) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$1019; }
            var _26 = _15+68*_16+56+_10*2;
            var _27 = IHEAP[_26];
            var _28 = _15+68*_20+48+_10*2;
            var _29 = IHEAP[_28];
            var _30 = unSign(_27, 16) < unSign(_29, 16);
            if (_30) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$1019; }
            var _31 = _15+68*_20+56+_12*2;
            var _32 = IHEAP[_31];
            var _33 = _15+68*_16+48+_12*2;
            var _34 = IHEAP[_33];
            var _35 = unSign(_32, 16) < unSign(_34, 16);
            if (_35) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$1019; }
            var _36 = _15+68*_16+56+_12*2;
            var _37 = IHEAP[_36];
            var _38 = _15+68*_20+48+_12*2;
            var _39 = IHEAP[_38];
            var _phitmp = unSign(_37, 16) < unSign(_39, 16);
            if (_phitmp) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$1019; }
            var _40 = IHEAP[_13];
            var _41 = _40;
            var _42 = IHEAP[_41];
            var _43 = _42+12;
            var _44 = IHEAP[_43];
            var _45 = _15+68*_16;
            var _46 = _15+68*_20;
            var _47 = _40;
            var _48 = _44;
            var _49 = FUNCTION_TABLE[_48](_47, _46, _45, _dispatcher);
            var _50 = IHEAP[_14];
            var _51 = _50 == 0;
            if (_51) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$1019; }
            var _52 = _50;
            var _53 = IHEAP[_52];
            var _54 = _53+12;
            var _55 = IHEAP[_54];
            var _56 = _55;
            var _57 = FUNCTION_TABLE[_56](_50, _46, _45, _dispatcher);
            ;
          }
        } while(0);
        var _58 = _15+68*_16+56+_axis*2;
        var _59 = IHEAP[_58];
        var _60 = _59 + -1;
        IHEAP[_58] = _60;
        ;
      }
      var _64 = IHEAP[_8];
      var _65 = _64 + 1;
      IHEAP[_8] = _65;
      var _66 = IHEAP[_scevgep26];
      var _67 = IHEAP[_scevgep27];
      var _68 = IHEAP[_scevgep3031];
      var _69 = IHEAP[_scevgep32];
      IHEAP[_scevgep26] = _68;
      IHEAP[_scevgep27] = _69;
      IHEAP[_scevgep3031] = _66;
      IHEAP[_scevgep32] = _67;
      var _indvar_next = _indvar + 1;
      __lastLabel__ = 64; __label__ = 117; /* _bb20 */ continue _bb20$1012;
    }
    ;
    return;
  }
  __ZN20btAxisSweep3InternalItE9sortMinUpEitP12btDispatcherb.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItE9sortMinUpEitP12btDispatcherb, "__ZN20btAxisSweep3InternalItE9sortMinUpEitP12btDispatcherb");
  
  
  function __ZN20btAxisSweep3InternalItE12removeHandleEtP12btDispatcher(_this, _handle, _dispatcher) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+60;
    var _1 = IHEAP[_0];
    var _2 = _this+92;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = IHEAP[_4];
    var _6 = _5+56;
    var _7 = IHEAP[_6];
    var _8 = _7;
    var _9 = FUNCTION_TABLE[_8](_3);
    var _toBoolnot = _9 == 0;
    ;
    if (_toBoolnot) {
      ;
      var _10 = _handle;
      var _11 = IHEAP[_2];
      var _12 = _11;
      var _13 = IHEAP[_12];
      var _14 = _13+16;
      var _15 = IHEAP[_14];
      var _16 = _1+68*_10;
      var _17 = _11;
      var _18 = _15;
      FUNCTION_TABLE[_18](_17, _16, _dispatcher);
      ;
    }
    var _19 = _this+56;
    var _20 = IHEAP[_19];
    var _21 = _20;
    var _22 = _21 << 1;
    var _23 = IHEAP[_0];
    var _scevgep16 = _23+56;
    var _24 = IHEAP[_scevgep16];
    var _25 = _24 + -2;
    IHEAP[_scevgep16] = _25;
    var _26 = IHEAP[_0];
    var _scevgep16_1 = _26+56+2;
    var _27 = IHEAP[_scevgep16_1];
    var _28 = _27 + -2;
    IHEAP[_scevgep16_1] = _28;
    var _29 = IHEAP[_0];
    var _scevgep16_2 = _29+56+4;
    var _30 = IHEAP[_scevgep16_2];
    var _31 = _30 + -2;
    IHEAP[_scevgep16_2] = _31;
    var _32 = _this+6;
    var _33 = _22 + -1;
    var _tmp = _handle;
    __lastLabel__ = 130; ;
    _bb7$1033: while(1) { // _bb7
      var _34 = __lastLabel__ == 130 ? 0 : (_47);
      var _scevgep = _this+68+_34*4;
      var _scevgep13 = _1+68*_tmp+56+_34*2;
      var _scevgep14 = _1+68*_tmp+48+_34*2;
      var _35 = IHEAP[_scevgep];
      var _36 = IHEAP[_scevgep13];
      var _37 = _36;
      var _38 = IHEAP[_32];
      var _39 = _35+4*_37;
      IHEAP[_39] = _38;
      __ZN20btAxisSweep3InternalItE9sortMaxUpEitP12btDispatcherb(_this, _34, _36, _dispatcher, 0);
      var _40 = IHEAP[_scevgep14];
      var _41 = _40;
      var _42 = IHEAP[_32];
      var _43 = _35+4*_41;
      IHEAP[_43] = _42;
      __ZN20btAxisSweep3InternalItE9sortMinUpEitP12btDispatcherb(_this, _34, _40, _dispatcher, 0);
      var _44 = _35+4*_33+2;
      IHEAP[_44] = 0;
      var _45 = IHEAP[_32];
      var _46 = _35+4*_33;
      IHEAP[_46] = _45;
      var _47 = _34 + 1;
      var _exitcond = _47 == 3;
      if (_exitcond) { __lastLabel__ = 2; __label__ = 62; /* _bb9 */ break _bb7$1033; } else { __lastLabel__ = 2; __label__ = 2; /* _bb7 */ continue _bb7$1033; }
    }
    var _48 = _this+64;
    var _49 = IHEAP[_48];
    var _50 = IHEAP[_0];
    var _51 = _handle;
    var _52 = _50+68*_51+48;
    IHEAP[_52] = _49;
    IHEAP[_48] = _handle;
    var _53 = IHEAP[_19];
    var _54 = _53 + -1;
    IHEAP[_19] = _54;
    ;
    return;
  }
  __ZN20btAxisSweep3InternalItE12removeHandleEtP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItE12removeHandleEtP12btDispatcher, "__ZN20btAxisSweep3InternalItE12removeHandleEtP12btDispatcher");
  
  
  function __ZN20btAxisSweep3InternalItE11sortMaxDownEitP12btDispatcherb(_this, _axis, _edge, _dispatcher, _updateOverlaps) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+68+_axis*4;
    var _1 = IHEAP[_0];
    var _2 = _edge;
    var __sum = _2 + -1;
    var _3 = _this+60;
    var _4 = IHEAP[_3];
    var _5 = _1+4*_2;
    var _6 = IHEAP[_5];
    var _7 = _1+4*__sum;
    var _8 = IHEAP[_7];
    var _9 = unSign(_6, 16) < unSign(_8, 16);
    ;
    _bb_nph$_return$1041: do { 
      if (_9) {
        ;
        var _10 = _1+4*_2+2;
        var _11 = IHEAP[_10];
        var _12 = _11;
        var _13 = 1 << _axis;
        var _14 = _13 & 3;
        var _toBool2not = _updateOverlaps == 0;
        var _15 = 1 << _14;
        var _16 = _15 & 3;
        var _17 = _this+92;
        var _18 = _this+96;
        var _19 = _4+68*_12+56+_axis*2;
        var _tmp27 = _2 + -2;
        __lastLabel__ = 130; ;
        _bb$1043: while(1) { // _bb
          var _20 = __lastLabel__ == 130 ? _4 : (__pre);
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp28 = _tmp27 - _indvar;
          var _scevgep29 = _1+4*_tmp28;
          var _tmp30 = _2 - _indvar;
          var _scevgep31 = _1+4*_tmp30;
          var _scevgep32 = _scevgep31+-2;
          var _tmp34 = __sum - _indvar;
          var _scevgep3536 = _1+4*_tmp34;
          var _scevgep37 = _1+4*_tmp30+2;
          var _21 = IHEAP[_scevgep32];
          var _22 = _21;
          var _23 = IHEAP[_scevgep3536];
          var _24 = _23 & 1;
          var _25 = _24 == 0;
          ;
          if (_25) {
            ;
            var _26 = IHEAP[_scevgep37];
            var _27 = _26;
            ;
            _bb17$_bb6$1047: do { 
              if (!_toBool2not) {
                ;
                var _28 = _20+68*_27+56+_14*2;
                var _29 = IHEAP[_28];
                var _30 = _20+68*_22+48+_14*2;
                var _31 = IHEAP[_30];
                var _32 = unSign(_29, 16) < unSign(_31, 16);
                if (_32) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$1047; }
                var _33 = _20+68*_22+56+_14*2;
                var _34 = IHEAP[_33];
                var _35 = _20+68*_27+48+_14*2;
                var _36 = IHEAP[_35];
                var _37 = unSign(_34, 16) < unSign(_36, 16);
                if (_37) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$1047; }
                var _38 = _20+68*_27+56+_16*2;
                var _39 = IHEAP[_38];
                var _40 = _20+68*_22+48+_16*2;
                var _41 = IHEAP[_40];
                var _42 = unSign(_39, 16) < unSign(_41, 16);
                if (_42) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$1047; }
                var _43 = _20+68*_22+56+_16*2;
                var _44 = IHEAP[_43];
                var _45 = _20+68*_27+48+_16*2;
                var _46 = IHEAP[_45];
                var _phitmp = unSign(_44, 16) < unSign(_46, 16);
                if (_phitmp) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$1047; }
                var _47 = IHEAP[_17];
                var _48 = _47;
                var _49 = IHEAP[_48];
                var _50 = _49+12;
                var _51 = IHEAP[_50];
                var _52 = _20+68*_22;
                var _53 = _20+68*_27;
                var _54 = _47;
                var _55 = _51;
                var _56 = FUNCTION_TABLE[_55](_54, _53, _52, _dispatcher);
                var _57 = IHEAP[_18];
                var _58 = _57 == 0;
                if (_58) { __label__ = 4; /* _bb17 */ break _bb17$_bb6$1047; }
                var _59 = _57;
                var _60 = IHEAP[_59];
                var _61 = _60+12;
                var _62 = IHEAP[_61];
                var _63 = _62;
                var _64 = FUNCTION_TABLE[_63](_57, _53, _52, _dispatcher);
                ;
              }
            } while(0);
            var _65 = _20+68*_22+48+_axis*2;
            var _66 = IHEAP[_65];
            var _67 = _66 + 1;
            IHEAP[_65] = _67;
            ;
          }
          else {
            ;
            var _68 = _20+68*_22+56+_axis*2;
            var _69 = IHEAP[_68];
            var _70 = _69 + 1;
            IHEAP[_68] = _70;
            ;
          }
          var _71 = IHEAP[_19];
          var _72 = _71 + -1;
          IHEAP[_19] = _72;
          var _73 = IHEAP[_scevgep31];
          var _74 = IHEAP[_scevgep37];
          var _75 = IHEAP[_scevgep3536];
          var _76 = IHEAP[_scevgep32];
          IHEAP[_scevgep31] = _75;
          IHEAP[_scevgep37] = _76;
          IHEAP[_scevgep3536] = _73;
          IHEAP[_scevgep32] = _74;
          var _77 = IHEAP[_scevgep29];
          var _78 = unSign(_73, 16) < unSign(_77, 16);
          if (!(_78)) { __label__ = 44; /* _return */ break _bb_nph$_return$1041; }
          var _indvar_next = _indvar + 1;
          var __pre = IHEAP[_3];
          __lastLabel__ = 163; __label__ = 60; /* _bb */ continue _bb$1043;
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN20btAxisSweep3InternalItE11sortMaxDownEitP12btDispatcherb.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItE11sortMaxDownEitP12btDispatcherb, "__ZN20btAxisSweep3InternalItE11sortMaxDownEitP12btDispatcherb");
  
  
  function __ZN20btAxisSweep3InternalItE11createProxyERK9btVector3S3_iPvssP12btDispatcherS4_(_this, _aabbMin, _aabbMax, _shapeType, _userPtr, _collisionFilterGroup, _collisionFilterMask, _dispatcher, _multiSapProxy) {
    ;
    var __label__;
    var _0 = __ZN20btAxisSweep3InternalItE9addHandleERK9btVector3S3_PvssP12btDispatcherS4_(_this, _aabbMin, _aabbMax, _userPtr, _collisionFilterGroup, _collisionFilterMask, _dispatcher, _multiSapProxy);
    var _1 = _this+60;
    var _2 = IHEAP[_1];
    var _3 = _0;
    var _4 = _this+108;
    var _5 = IHEAP[_4];
    var _6 = _5 == 0;
    ;
    if (!_6) {
      ;
      var _7 = _5;
      var _8 = IHEAP[_7];
      var _9 = _8+8;
      var _10 = IHEAP[_9];
      var _11 = _10;
      var _12 = FUNCTION_TABLE[_11](_5, _aabbMin, _aabbMax, _shapeType, _userPtr, _collisionFilterGroup, _collisionFilterMask, _dispatcher, 0);
      var _13 = _2+68*_3+64;
      IHEAP[_13] = _12;
      ;
    }
    var _14 = _2+68*_3;
    ;
    return _14;
  }
  __ZN20btAxisSweep3InternalItE11createProxyERK9btVector3S3_iPvssP12btDispatcherS4_.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItE11createProxyERK9btVector3S3_iPvssP12btDispatcherS4_, "__ZN20btAxisSweep3InternalItE11createProxyERK9btVector3S3_iPvssP12btDispatcherS4_");
  
  
  function __ZN20btAlignedObjectArrayI16btBroadphasePairE6resizeEiRKS0_(_this, _newsize, _fillData) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > _newsize;
    ;
    _bb9$_bb3$1085: do { 
      if (!_2) {
        ;
        var _3 = _1 < _newsize;
        if (!(_3)) { __label__ = 62; /* _bb9 */ break _bb9$_bb3$1085; }
        var _4 = _this+8;
        var _5 = IHEAP[_4];
        var _6 = _5 < _newsize;
        ;
        if (_6) {
          ;
          var _7 = _newsize == 0;
          ;
          if (_7) {
            __lastLabel__ = 131; ;
          }
          else {
            __lastLabel__ = 131; ;
            var _8 = _newsize << 4;
            var _9 = __Z22btAlignedAllocInternalji(_8, 16);
            var _phitmp_i = _9;
            var __pre = IHEAP[_0];
            __lastLabel__ = 215; ;
          }
          var _10 = __lastLabel__ == 215 ? __pre : (_1);
          var _11 = __lastLabel__ == 215 ? _phitmp_i : (0);
          var _12 = _10 > 0;
          ;
          _bb_nph_i_i$__ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i$1093: do { 
            if (_12) {
              ;
              var _13 = _this+12;
              __lastLabel__ = 217; ;
              _bb_i4_i$1095: while(1) { // _bb_i4_i
                var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
                var _scevgep13_i_i = _11+16*_indvar_i_i+12;
                var _scevgep11_i_i = _11+16*_indvar_i_i+8;
                var _scevgep9_i_i = _11+16*_indvar_i_i+4;
                var _scevgep67_i_i = _11+16*_indvar_i_i;
                var _14 = IHEAP[_13];
                var _scevgep5_i_i = _14+16*_indvar_i_i;
                var _15 = IHEAP[_scevgep5_i_i];
                IHEAP[_scevgep67_i_i] = _15;
                var _scevgep8_i_i = _14+16*_indvar_i_i+4;
                var _16 = IHEAP[_scevgep8_i_i];
                IHEAP[_scevgep9_i_i] = _16;
                var _scevgep10_i_i = _14+16*_indvar_i_i+8;
                var _17 = IHEAP[_scevgep10_i_i];
                IHEAP[_scevgep11_i_i] = _17;
                var _scevgep12_i_i = _14+16*_indvar_i_i+12;
                var _18 = IHEAP[_scevgep12_i_i];
                IHEAP[_scevgep13_i_i] = _18;
                var _indvar_next_i_i = _indvar_i_i + 1;
                var _exitcond19 = _indvar_next_i_i == _10;
                if (_exitcond19) { __lastLabel__ = 218; __label__ = 219; /* __ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i$1093; } else { __lastLabel__ = 218; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$1095; }
              }
            }
          } while(0);
          var _19 = _this+12;
          var _20 = IHEAP[_19];
          var _21 = _20 == 0;
          ;
          if (!_21) {
            ;
            var _22 = _this+16;
            var _23 = IHEAP[_22];
            var _toBool_i_i = _23 == 0;
            ;
            if (!_toBool_i_i) {
              ;
              var _24 = _20;
              __Z21btAlignedFreeInternalPv(_24);
              ;
            }
            IHEAP[_19] = 0;
            ;
          }
          var _25 = _this+16;
          IHEAP[_25] = 1;
          IHEAP[_19] = _11;
          IHEAP[_4] = _newsize;
          if (!(_3)) { __label__ = 62; /* _bb9 */ break _bb9$_bb3$1085; }
        }
        var _26 = _this+12;
        var _27 = _fillData;
        var _28 = _fillData+4;
        var _29 = _fillData+8;
        var _30 = _fillData+12;
        var _tmp = _newsize - _1;
        __lastLabel__ = 130; ;
        _bb7$1105: while(1) { // _bb7
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp14 = _1 + _indvar;
          var _31 = IHEAP[_26];
          var _32 = IHEAP[_27];
          var _scevgep15 = _31+16*_tmp14;
          IHEAP[_scevgep15] = _32;
          var _33 = IHEAP[_28];
          var _scevgep16 = _31+16*_tmp14+4;
          IHEAP[_scevgep16] = _33;
          var _34 = IHEAP[_29];
          var _scevgep17 = _31+16*_tmp14+8;
          IHEAP[_scevgep17] = _34;
          var _35 = IHEAP[_30];
          var _scevgep18 = _31+16*_tmp14+12;
          IHEAP[_scevgep18] = _35;
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _tmp;
          if (_exitcond) { __lastLabel__ = 2; __label__ = 62; /* _bb9 */ break _bb9$_bb3$1085; } else { __lastLabel__ = 2; __label__ = 2; /* _bb7 */ continue _bb7$1105; }
        }
      }
    } while(0);
    IHEAP[_0] = _newsize;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI16btBroadphasePairE6resizeEiRKS0_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI16btBroadphasePairE6resizeEiRKS0_, "__ZN20btAlignedObjectArrayI16btBroadphasePairE6resizeEiRKS0_");
  
  
  function __ZN20btAxisSweep3InternalIjE25calculateOverlappingPairsEP12btDispatcher(_this, _dispatcher) {
    var __stackBase__  = STACKTOP; STACKTOP += 34;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = __stackBase__+2;
    var _3 = __stackBase__+18;
    var _4 = _this+100;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = IHEAP[_6];
    var _8 = _7+56;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = FUNCTION_TABLE[_10](_5);
    var _toBool = _11 == 0;
    ;
    if (_toBool) {
      ;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      var _12 = IHEAP[_4];
      var _13 = _12;
      var _14 = IHEAP[_13];
      var _15 = _14+28;
      var _16 = IHEAP[_15];
      var _17 = _16;
      var _18 = FUNCTION_TABLE[_17](_12);
      var _19 = _18+4;
      var _20 = IHEAP[_19];
      var _21 = _20 > 1;
      ;
      if (_21) {
        __lastLabel__ = 60; ;
        var _22 = _20 + -1;
        __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(_18, _1, 0, _22);
        var __pre = IHEAP[_19];
        __lastLabel__ = 131; ;
      }
      else {
        __lastLabel__ = 60; ;
      }
      var _23 = __lastLabel__ == 60 ? _20 : (__pre);
      var _24 = _3;
      IHEAP[_24] = 0;
      var _25 = _3+4;
      IHEAP[_25] = 0;
      var _26 = _3+8;
      IHEAP[_26] = 0;
      var _27 = _3+12;
      IHEAP[_27] = 0;
      var _28 = _this+112;
      var _29 = IHEAP[_28];
      var _30 = _23 - _29;
      __ZN20btAlignedObjectArrayI16btBroadphasePairE6resizeEiRKS0_(_18, _30, _3);
      IHEAP[_28] = 0;
      var _31 = IHEAP[_19];
      var _32 = _31 > 0;
      ;
      _bb_nph$__ZN20btAlignedObjectArrayI16btBroadphasePairE9quickSortI29btBroadphasePairSortPredicateEEvT__exit26$1115: do { 
        if (_32) {
          __lastLabel__ = 976; ;
          var _33 = _18+12;
          __lastLabel__ = 130; ;
          _bb1$1117: while(1) { // _bb1
            var _i_037 = __lastLabel__ == 130 ? 0 : (_tmp);
            var _previousPair_1_036 = __lastLabel__ == 130 ? 0 : (_58);
            var _previousPair_0_035 = __lastLabel__ == 130 ? 0 : (_35);
            var _tmp = _i_037 + 1;
            var _34 = IHEAP[_33];
            var _scevgep4849 = _34+16*_i_037;
            var _35 = IHEAP[_scevgep4849];
            var _36 = _35 == _previousPair_0_035;
            var _scevgep58 = _34+16*_i_037+4;
            var _37 = IHEAP[_scevgep58];
            var _phitmp = _37 == _previousPair_1_036;
            var _or_cond = _36 & _phitmp;
            ;
            _bb13$_bb6$1119: do { 
              if (_or_cond) {
                __lastLabel__ = 75; __label__ = 108; /* _bb13 */ 
              }
              else {
                __lastLabel__ = 75; ;
                var _scevgep = _35+48;
                var _scevgep40 = _37+48+12;
                var _scevgep42 = _35+48+12;
                var _scevgep44 = _37+48;
                __lastLabel__ = 83; ;
                _bb4_i$1121: while(1) { // _bb4_i
                  var _45 = __lastLabel__ == 83 ? 0 : (_44);
                  var _scevgep38 = _scevgep+4*_45;
                  var _scevgep1314_i = _scevgep38;
                  var _scevgep9_i = _scevgep40+4*_45;
                  var _46 = _45 < 3;
                  if (_46) { __lastLabel__ = 135; ; } else { __lastLabel__ = 135; __label__ = 63; /* _bb14 */ break _bb13$_bb6$1119; }
                  var _scevgep45 = _scevgep44+4*_45;
                  var _scevgep1617_i = _scevgep45;
                  var _scevgep11_i = _scevgep42+4*_45;
                  var _38 = IHEAP[_scevgep11_i];
                  var _39 = IHEAP[_scevgep1617_i];
                  var _40 = unSign(_38, 32) < unSign(_39, 32);
                  if (_40) { __label__ = 224; /* _bb13_loopexit */ break _bb4_i$1121; }
                  var _41 = IHEAP[_scevgep9_i];
                  var _42 = IHEAP[_scevgep1314_i];
                  var _43 = unSign(_41, 32) < unSign(_42, 32);
                  if (_43) { __label__ = 224; /* _bb13_loopexit */ break _bb4_i$1121; }
                  var _44 = _45 + 1;
                  __lastLabel__ = 133; __label__ = 135; /* _bb4_i */ continue _bb4_i$1121;
                }
                var _scevgep54_pre = _34+16*_i_037+4;
                __lastLabel__ = 224; __label__ = 108; /* _bb13 */ break _bb13$_bb6$1119;
              }
            } while(0);
            if (__label__ == 108) {
              var _scevgep54_pre_phi = __lastLabel__ == 224 ? _scevgep54_pre : (_scevgep58);
              var _47 = __lastLabel__ == 224 ? _37 : (_37);
              var _48 = IHEAP[_4];
              var _49 = _48;
              var _50 = IHEAP[_49];
              var _51 = _50+32;
              var _52 = IHEAP[_51];
              var _53 = _52;
              var _scevgep47 = _34+16*_i_037;
              FUNCTION_TABLE[_53](_48, _scevgep47, _dispatcher);
              IHEAP[_scevgep4849] = 0;
              IHEAP[_scevgep54_pre_phi] = 0;
              var _54 = IHEAP[_28];
              var _55 = _54 + 1;
              IHEAP[_28] = _55;
              var _56 = IHEAP[_gOverlappingPairs];
              var _57 = _56 + -1;
              IHEAP[_gOverlappingPairs] = _57;
              __lastLabel__ = 108; ;
            }
            var _58 = __lastLabel__ == 108 ? _47 : (_37);
            var _59 = IHEAP[_19];
            var _60 = _59 > _tmp;
            if (_60) { __lastLabel__ = 63; __label__ = 75; /* _bb1 */ continue _bb1$1117; } else { __lastLabel__ = 63; __label__ = 4; /* _bb17 */ break _bb1$1117; }
          }
          var _61 = _59 > 1;
          if (_61) { __lastLabel__ = 4; ; } else { __lastLabel__ = 4; __label__ = 228; /* __ZN20btAlignedObjectArrayI16btBroadphasePairE9quickSortI29btBroadphasePairSortPredicateEEvT__exit26 */ break _bb_nph$__ZN20btAlignedObjectArrayI16btBroadphasePairE9quickSortI29btBroadphasePairSortPredicateEEvT__exit26$1115; }
          var _62 = _59 + -1;
          __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(_18, _0, 0, _62);
          var __pre62 = IHEAP[_19];
          __lastLabel__ = 227; ;
        }
        else {
          __lastLabel__ = 976; ;
        }
      } while(0);
      var _63 = __lastLabel__ == 227 ? __pre62 : (__lastLabel__ == 4 ? _59 : (_31));
      var _64 = _2;
      IHEAP[_64] = 0;
      var _65 = _2+4;
      IHEAP[_65] = 0;
      var _66 = _2+8;
      IHEAP[_66] = 0;
      var _67 = _2+12;
      IHEAP[_67] = 0;
      var _68 = IHEAP[_28];
      var _69 = _63 - _68;
      __ZN20btAlignedObjectArrayI16btBroadphasePairE6resizeEiRKS0_(_18, _69, _2);
      IHEAP[_28] = 0;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN20btAxisSweep3InternalIjE25calculateOverlappingPairsEP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjE25calculateOverlappingPairsEP12btDispatcher, "__ZN20btAxisSweep3InternalIjE25calculateOverlappingPairsEP12btDispatcher");
  
  
  function __ZN20btAxisSweep3InternalItE25calculateOverlappingPairsEP12btDispatcher(_this, _dispatcher) {
    var __stackBase__  = STACKTOP; STACKTOP += 34;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = __stackBase__+2;
    var _3 = __stackBase__+18;
    var _4 = _this+92;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = IHEAP[_6];
    var _8 = _7+56;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = FUNCTION_TABLE[_10](_5);
    var _toBool = _11 == 0;
    ;
    if (_toBool) {
      ;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      var _12 = IHEAP[_4];
      var _13 = _12;
      var _14 = IHEAP[_13];
      var _15 = _14+28;
      var _16 = IHEAP[_15];
      var _17 = _16;
      var _18 = FUNCTION_TABLE[_17](_12);
      var _19 = _18+4;
      var _20 = IHEAP[_19];
      var _21 = _20 > 1;
      ;
      if (_21) {
        __lastLabel__ = 60; ;
        var _22 = _20 + -1;
        __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(_18, _1, 0, _22);
        var __pre = IHEAP[_19];
        __lastLabel__ = 131; ;
      }
      else {
        __lastLabel__ = 60; ;
      }
      var _23 = __lastLabel__ == 60 ? _20 : (__pre);
      var _24 = _3;
      IHEAP[_24] = 0;
      var _25 = _3+4;
      IHEAP[_25] = 0;
      var _26 = _3+8;
      IHEAP[_26] = 0;
      var _27 = _3+12;
      IHEAP[_27] = 0;
      var _28 = _this+104;
      var _29 = IHEAP[_28];
      var _30 = _23 - _29;
      __ZN20btAlignedObjectArrayI16btBroadphasePairE6resizeEiRKS0_(_18, _30, _3);
      IHEAP[_28] = 0;
      var _31 = IHEAP[_19];
      var _32 = _31 > 0;
      ;
      _bb_nph$__ZN20btAlignedObjectArrayI16btBroadphasePairE9quickSortI29btBroadphasePairSortPredicateEEvT__exit26$1140: do { 
        if (_32) {
          __lastLabel__ = 976; ;
          var _33 = _18+12;
          __lastLabel__ = 130; ;
          _bb1$1142: while(1) { // _bb1
            var _i_037 = __lastLabel__ == 130 ? 0 : (_tmp63);
            var _previousPair_1_036 = __lastLabel__ == 130 ? 0 : (_58);
            var _previousPair_0_035 = __lastLabel__ == 130 ? 0 : (_35);
            var _tmp63 = _i_037 + 1;
            var _34 = IHEAP[_33];
            var _scevgep4950 = _34+16*_i_037;
            var _35 = IHEAP[_scevgep4950];
            var _36 = _35 == _previousPair_0_035;
            var _scevgep59 = _34+16*_i_037+4;
            var _37 = IHEAP[_scevgep59];
            var _phitmp = _37 == _previousPair_1_036;
            var _or_cond = _36 & _phitmp;
            ;
            _bb13$_bb6$1144: do { 
              if (_or_cond) {
                __lastLabel__ = 75; __label__ = 108; /* _bb13 */ 
              }
              else {
                __lastLabel__ = 75; ;
                var _scevgep = _35+48;
                var _scevgep38 = _scevgep;
                var _scevgep40 = _37+48;
                var _scevgep4041 = _scevgep40;
                var _scevgep44 = _37+48+6;
                var _scevgep46 = _35+48+6;
                __lastLabel__ = 83; ;
                _bb4_i$1146: while(1) { // _bb4_i
                  var _45 = __lastLabel__ == 83 ? 0 : (_44);
                  var _tmp = _45 << 1;
                  var _uglygep = _scevgep38+_tmp;
                  var _uglygep14_i = _uglygep;
                  var _scevgep9_i = _scevgep44+2*_45;
                  var _46 = _45 < 3;
                  if (_46) { __lastLabel__ = 135; ; } else { __lastLabel__ = 135; __label__ = 63; /* _bb14 */ break _bb13$_bb6$1144; }
                  var _uglygep42 = _scevgep4041+_tmp;
                  var _scevgep11_i = _scevgep46+2*_45;
                  var _uglygep1718_i = _uglygep42;
                  var _38 = IHEAP[_scevgep11_i];
                  var _39 = IHEAP[_uglygep1718_i];
                  var _40 = unSign(_38, 16) < unSign(_39, 16);
                  if (_40) { __label__ = 224; /* _bb13_loopexit */ break _bb4_i$1146; }
                  var _41 = IHEAP[_scevgep9_i];
                  var _42 = IHEAP[_uglygep14_i];
                  var _43 = unSign(_41, 16) < unSign(_42, 16);
                  if (_43) { __label__ = 224; /* _bb13_loopexit */ break _bb4_i$1146; }
                  var _44 = _45 + 1;
                  __lastLabel__ = 133; __label__ = 135; /* _bb4_i */ continue _bb4_i$1146;
                }
                var _scevgep55_pre = _34+16*_i_037+4;
                __lastLabel__ = 224; __label__ = 108; /* _bb13 */ break _bb13$_bb6$1144;
              }
            } while(0);
            if (__label__ == 108) {
              var _scevgep55_pre_phi = __lastLabel__ == 224 ? _scevgep55_pre : (_scevgep59);
              var _47 = __lastLabel__ == 224 ? _37 : (_37);
              var _48 = IHEAP[_4];
              var _49 = _48;
              var _50 = IHEAP[_49];
              var _51 = _50+32;
              var _52 = IHEAP[_51];
              var _53 = _52;
              var _scevgep48 = _34+16*_i_037;
              FUNCTION_TABLE[_53](_48, _scevgep48, _dispatcher);
              IHEAP[_scevgep4950] = 0;
              IHEAP[_scevgep55_pre_phi] = 0;
              var _54 = IHEAP[_28];
              var _55 = _54 + 1;
              IHEAP[_28] = _55;
              var _56 = IHEAP[_gOverlappingPairs];
              var _57 = _56 + -1;
              IHEAP[_gOverlappingPairs] = _57;
              __lastLabel__ = 108; ;
            }
            var _58 = __lastLabel__ == 108 ? _47 : (_37);
            var _59 = IHEAP[_19];
            var _60 = _59 > _tmp63;
            if (_60) { __lastLabel__ = 63; __label__ = 75; /* _bb1 */ continue _bb1$1142; } else { __lastLabel__ = 63; __label__ = 4; /* _bb17 */ break _bb1$1142; }
          }
          var _61 = _59 > 1;
          if (_61) { __lastLabel__ = 4; ; } else { __lastLabel__ = 4; __label__ = 228; /* __ZN20btAlignedObjectArrayI16btBroadphasePairE9quickSortI29btBroadphasePairSortPredicateEEvT__exit26 */ break _bb_nph$__ZN20btAlignedObjectArrayI16btBroadphasePairE9quickSortI29btBroadphasePairSortPredicateEEvT__exit26$1140; }
          var _62 = _59 + -1;
          __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(_18, _0, 0, _62);
          var __pre64 = IHEAP[_19];
          __lastLabel__ = 227; ;
        }
        else {
          __lastLabel__ = 976; ;
        }
      } while(0);
      var _63 = __lastLabel__ == 227 ? __pre64 : (__lastLabel__ == 4 ? _59 : (_31));
      var _64 = _2;
      IHEAP[_64] = 0;
      var _65 = _2+4;
      IHEAP[_65] = 0;
      var _66 = _2+8;
      IHEAP[_66] = 0;
      var _67 = _2+12;
      IHEAP[_67] = 0;
      var _68 = IHEAP[_28];
      var _69 = _63 - _68;
      __ZN20btAlignedObjectArrayI16btBroadphasePairE6resizeEiRKS0_(_18, _69, _2);
      IHEAP[_28] = 0;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN20btAxisSweep3InternalItE25calculateOverlappingPairsEP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItE25calculateOverlappingPairsEP12btDispatcher, "__ZN20btAxisSweep3InternalItE25calculateOverlappingPairsEP12btDispatcher");
  
  
  function __ZN20btAxisSweep3InternalIjEC2ERK9btVector3S3_jjjP22btOverlappingPairCacheb(_this, _worldAabbMin, _worldAabbMax, _handleMask, _handleSentinel, _userMaxHandles, _pairCache, _disableRaycastAccelerator) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV20btAxisSweep3InternalIjE+8;
    var _1 = _this+4;
    IHEAP[_1] = _handleMask;
    var _2 = _this+8;
    IHEAP[_2] = _handleSentinel;
    var _3 = _this+100;
    IHEAP[_3] = _pairCache;
    var _4 = _this+104;
    IHEAP[_4] = 0;
    var _5 = _this+108;
    IHEAP[_5] = 0;
    var _6 = _this+112;
    IHEAP[_6] = 0;
    var _7 = _this+116;
    IHEAP[_7] = 0;
    var _8 = _userMaxHandles + 1;
    var _9 = _pairCache == 0;
    ;
    _bb$_bb7$1227: do { 
      if (_9) {
        ;
        var _10 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(76, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb$_bb7$1227; };
        var _11 = _10 == 0;
        ;
        _bb6$_bb1$1230: do { 
          if (!_11) {
            ;
            var _12 = _10;
            (function() { try { __THREW__ = false; return __ZN28btHashedOverlappingPairCacheC1Ev(_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 83; /* _bb6 */ break _bb6$_bb1$1230; } else { ; }
            var _eh_ptr55 = _llvm_eh_exception();
            var _eh_select57 = _llvm_eh_selector(_eh_ptr55, ___gxx_personality_v0, 0);
            __lastLabel__ = 256; __label__ = 45; /* _ppad */ break _bb$_bb7$1227;
          }
        } while(0);
        var _13 = _10;
        IHEAP[_3] = _13;
        IHEAP[_5] = 1;
        __label__ = 2; /* _bb7 */ break _bb$_bb7$1227;
      }
      else {
        __label__ = 2; /* _bb7 */ 
      }
    } while(0);
    _bb7$_ppad$_lpad$1234: do { 
      if (__label__ == 2) {
        var _toBoolnot = _disableRaycastAccelerator == 0;
        ;
        if (_toBoolnot) {
          ;
          var _14 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(24, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb7$_ppad$_lpad$1234; };
          var _15 = _14 == 0;
          ;
          if (!_15) {
            ;
            var _16 = _14;
            IHEAP[_16] = __ZTV15btNullPairCache+8;
            var _17 = _14+20;
            IHEAP[_17] = 1;
            var _18 = _14+16;
            var _19 = _18;
            IHEAP[_19] = 0;
            var _20 = _14+8;
            var _21 = _20;
            IHEAP[_21] = 0;
            var _22 = _14+12;
            var _23 = _22;
            IHEAP[_23] = 0;
            ;
          }
          var _24 = _14;
          var _25 = _this+120;
          IHEAP[_25] = _24;
          var _26 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(156, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb7$_ppad$_lpad$1234; };
          var _27 = _26;
          var _28 = _26 == 0;
          ;
          _bb29$_bb22$1243: do { 
            if (!_28) {
              ;
              var _29 = IHEAP[_25];
              (function() { try { __THREW__ = false; return __ZN16btDbvtBroadphaseC1EP22btOverlappingPairCache(_27, _29) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 6; /* _bb29 */ break _bb29$_bb22$1243; } else { ; }
              var _eh_ptr63 = _llvm_eh_exception();
              var _eh_select65 = _llvm_eh_selector(_eh_ptr63, ___gxx_personality_v0, 0);
              __lastLabel__ = 257; __label__ = 45; /* _ppad */ break _bb7$_ppad$_lpad$1234;
            }
          } while(0);
          IHEAP[_7] = _27;
          var _30 = _26+153;
          IHEAP[_30] = 1;
          ;
        }
        var _31 = _this+12;
        var _32 = _worldAabbMin;
        var _33 = FHEAP[_32];
        FHEAP[_31] = _33;
        var _34 = _this+12+4;
        var _35 = _worldAabbMin+4;
        var _36 = FHEAP[_35];
        FHEAP[_34] = _36;
        var _37 = _this+12+8;
        var _38 = _worldAabbMin+8;
        var _39 = FHEAP[_38];
        FHEAP[_37] = _39;
        var _40 = _this+12+12;
        var _41 = _worldAabbMin+12;
        var _42 = FHEAP[_41];
        FHEAP[_40] = _42;
        var _43 = _this+28;
        var _44 = _worldAabbMax;
        var _45 = FHEAP[_44];
        FHEAP[_43] = _45;
        var _46 = _this+28+4;
        var _47 = _worldAabbMax+4;
        var _48 = FHEAP[_47];
        FHEAP[_46] = _48;
        var _49 = _this+28+8;
        var _50 = _worldAabbMax+8;
        var _51 = FHEAP[_50];
        FHEAP[_49] = _51;
        var _52 = _this+28+12;
        var _53 = _worldAabbMax+12;
        var _54 = FHEAP[_53];
        FHEAP[_52] = _54;
        var _55 = _51 - _39;
        var _56 = _48 - _36;
        var _57 = _45 - _33;
        var _58 = IHEAP[_2];
        var _59 = unSign(_58, 32);
        var _60 = _59 / _55;
        var _61 = _59 / _56;
        var _62 = _59 / _57;
        var _63 = _this+44;
        FHEAP[_63] = _62;
        var _64 = _this+44+4;
        FHEAP[_64] = _61;
        var _65 = _this+44+8;
        FHEAP[_65] = _60;
        var _66 = _this+44+12;
        FHEAP[_66] = 0;
        var _67 = _8 * 76;
        var _68 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_67, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb7$_ppad$_lpad$1234; };
        var _69 = _userMaxHandles == -1;
        if (_69) { __lastLabel__ = 249; __label__ = 250; /* _bb34 */  } else { __lastLabel__ = 249; __label__ = 91; /* _bb32 */  }
        _bb34$_bb32$1249: while(1) { // _bb34,_bb32
          if (__label__ == 250) {
            var _70 = _68;
            var _71 = _this+68;
            IHEAP[_71] = _70;
            var _72 = _this+64;
            IHEAP[_72] = _8;
            var _73 = _this+60;
            IHEAP[_73] = 0;
            var _74 = _this+72;
            IHEAP[_74] = 1;
            var _75 = unSign(_8, 32) > unSign(1, 32);
            if (_75) { __lastLabel__ = 250; __label__ = 251; /* _bb36 */ break _bb34$_bb32$1249; } else { __lastLabel__ = 250; __label__ = 68; /* _bb38 */ break _bb34$_bb32$1249; }
          }
          else if (__label__ == 91) {
            var _indvar90 = __lastLabel__ == 91 ? _indvar_next91 : (0);
            var _tmp94 = _indvar90 * 76;
            var _scevgep95 = _68+_tmp94;
            var _scevgep9596 = _scevgep95;
            var _tmp97 = _tmp94 + 8;
            var _scevgep98 = _68+_tmp97;
            var _scevgep9899 = _scevgep98;
            IHEAP[_scevgep9596] = 0;
            IHEAP[_scevgep9899] = 0;
            var _indvar_next91 = _indvar90 + 1;
            var _exitcond93 = _indvar_next91 == _8;
            if (_exitcond93) { __lastLabel__ = 91; __label__ = 250; /* _bb34 */ continue _bb34$_bb32$1249; } else { __lastLabel__ = 91; __label__ = 91; /* _bb32 */ continue _bb34$_bb32$1249; }
          }
        }
        _bb36$_bb38$1253: while(1) { // _bb36,_bb38
          if (__label__ == 251) {
            var _76 = __lastLabel__ == 250 ? _70 : (__pre);
            var _indvar = __lastLabel__ == 250 ? 0 : (_tmp);
            var _tmp = _indvar + 1;
            var _tmp89 = _indvar + 2;
            var _scevgep88 = _76+76*_tmp+48;
            IHEAP[_scevgep88] = _tmp89;
            var _exitcond = _tmp == _userMaxHandles;
            var __pre = IHEAP[_71];
            if (_exitcond) { __lastLabel__ = 251; __label__ = 68; /* _bb38 */ continue _bb36$_bb38$1253; } else { __lastLabel__ = 251; __label__ = 251; /* _bb36 */ continue _bb36$_bb38$1253; }
          }
          else if (__label__ == 68) {
            var _77 = __lastLabel__ == 250 ? _70 : (__pre);
            var _78 = _77+76*_userMaxHandles+48;
            IHEAP[_78] = 0;
            var _79 = _8 << 4;
            __lastLabel__ = 68; __label__ = 8; /* _bb43 */ break _bb36$_bb38$1253;
          }
        }
        _bb43$1257: while(1) { // _bb43
          var _83 = __lastLabel__ == 68 ? 0 : (_82);
          var _scevgep86 = _this+76+_83*4;
          var _scevgep87 = _this+88+_83*4;
          var _84 = _83 < 3;
          if (!(_84)) { __label__ = 44; /* _return */ break _bb43$1257; }
          var _80 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_79, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb7$_ppad$_lpad$1234; };
          IHEAP[_scevgep87] = _80;
          var _81 = _80;
          IHEAP[_scevgep86] = _81;
          var _82 = _83 + 1;
          __lastLabel__ = 252; __label__ = 8; /* _bb43 */ continue _bb43$1257;
        }
        var _85 = IHEAP[_71];
        var _86 = _85;
        IHEAP[_86] = 0;
        var _scevgep85 = _this+76;
        var _87 = IHEAP[_71];
        var _scevgep = _87+48;
        IHEAP[_scevgep] = 0;
        var _88 = IHEAP[_71];
        var _scevgep84 = _88+60;
        IHEAP[_scevgep84] = 1;
        var _89 = IHEAP[_scevgep85];
        var _90 = _89;
        IHEAP[_90] = 0;
        var _91 = IHEAP[_scevgep85];
        var _92 = _91+4;
        IHEAP[_92] = 0;
        var _93 = IHEAP[_scevgep85];
        var _94 = IHEAP[_2];
        var _95 = _93+8;
        IHEAP[_95] = _94;
        var _96 = IHEAP[_scevgep85];
        var _97 = _96+8+4;
        IHEAP[_97] = 0;
        var _scevgep85_1 = _this+76+4;
        var _98 = IHEAP[_71];
        var _scevgep_1 = _98+48+4;
        IHEAP[_scevgep_1] = 0;
        var _99 = IHEAP[_71];
        var _scevgep84_1 = _99+60+4;
        IHEAP[_scevgep84_1] = 1;
        var _100 = IHEAP[_scevgep85_1];
        var _101 = _100;
        IHEAP[_101] = 0;
        var _102 = IHEAP[_scevgep85_1];
        var _103 = _102+4;
        IHEAP[_103] = 0;
        var _104 = IHEAP[_scevgep85_1];
        var _105 = IHEAP[_2];
        var _106 = _104+8;
        IHEAP[_106] = _105;
        var _107 = IHEAP[_scevgep85_1];
        var _108 = _107+8+4;
        IHEAP[_108] = 0;
        var _scevgep85_2 = _this+76+8;
        var _109 = IHEAP[_71];
        var _scevgep_2 = _109+48+8;
        IHEAP[_scevgep_2] = 0;
        var _110 = IHEAP[_71];
        var _scevgep84_2 = _110+60+8;
        IHEAP[_scevgep84_2] = 1;
        var _111 = IHEAP[_scevgep85_2];
        var _112 = _111;
        IHEAP[_112] = 0;
        var _113 = IHEAP[_scevgep85_2];
        var _114 = _113+4;
        IHEAP[_114] = 0;
        var _115 = IHEAP[_scevgep85_2];
        var _116 = IHEAP[_2];
        var _117 = _115+8;
        IHEAP[_117] = _116;
        var _118 = IHEAP[_scevgep85_2];
        var _119 = _118+8+4;
        IHEAP[_119] = 0;
        ;
        return;
      }
    } while(0);
    if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select53 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __lastLabel__ = 254; ;
    }
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (__lastLabel__ == 257 ? _eh_ptr63 : (_eh_ptr55));
    IHEAP[_0] = __ZTV21btBroadphaseInterface+8;
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  __ZN20btAxisSweep3InternalIjEC2ERK9btVector3S3_jjjP22btOverlappingPairCacheb.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalIjEC2ERK9btVector3S3_jjjP22btOverlappingPairCacheb, "__ZN20btAxisSweep3InternalIjEC2ERK9btVector3S3_jjjP22btOverlappingPairCacheb");
  
  
  function __ZN20btAxisSweep3InternalItEC2ERK9btVector3S3_tttP22btOverlappingPairCacheb(_this, _worldAabbMin, _worldAabbMax, _handleMask, _handleSentinel, _userMaxHandles, _pairCache, _disableRaycastAccelerator) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV20btAxisSweep3InternalItE+8;
    var _1 = _this+4;
    IHEAP[_1] = _handleMask;
    var _2 = _this+6;
    IHEAP[_2] = _handleSentinel;
    var _3 = _this+92;
    IHEAP[_3] = _pairCache;
    var _4 = _this+96;
    IHEAP[_4] = 0;
    var _5 = _this+100;
    IHEAP[_5] = 0;
    var _6 = _this+104;
    IHEAP[_6] = 0;
    var _7 = _this+108;
    IHEAP[_7] = 0;
    var _8 = _userMaxHandles + 1;
    var _9 = _pairCache == 0;
    ;
    _bb$_bb7$1268: do { 
      if (_9) {
        ;
        var _10 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(76, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb$_bb7$1268; };
        var _11 = _10 == 0;
        ;
        _bb6$_bb1$1271: do { 
          if (!_11) {
            ;
            var _12 = _10;
            (function() { try { __THREW__ = false; return __ZN28btHashedOverlappingPairCacheC1Ev(_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 83; /* _bb6 */ break _bb6$_bb1$1271; } else { ; }
            var _eh_ptr55 = _llvm_eh_exception();
            var _eh_select57 = _llvm_eh_selector(_eh_ptr55, ___gxx_personality_v0, 0);
            __lastLabel__ = 256; __label__ = 45; /* _ppad */ break _bb$_bb7$1268;
          }
        } while(0);
        var _13 = _10;
        IHEAP[_3] = _13;
        IHEAP[_5] = 1;
        __label__ = 2; /* _bb7 */ break _bb$_bb7$1268;
      }
      else {
        __label__ = 2; /* _bb7 */ 
      }
    } while(0);
    _bb7$_ppad$_lpad$1275: do { 
      if (__label__ == 2) {
        var _toBoolnot = _disableRaycastAccelerator == 0;
        ;
        if (_toBoolnot) {
          ;
          var _14 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(24, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb7$_ppad$_lpad$1275; };
          var _15 = _14 == 0;
          ;
          if (!_15) {
            ;
            var _16 = _14;
            IHEAP[_16] = __ZTV15btNullPairCache+8;
            var _17 = _14+20;
            IHEAP[_17] = 1;
            var _18 = _14+16;
            var _19 = _18;
            IHEAP[_19] = 0;
            var _20 = _14+8;
            var _21 = _20;
            IHEAP[_21] = 0;
            var _22 = _14+12;
            var _23 = _22;
            IHEAP[_23] = 0;
            ;
          }
          var _24 = _14;
          var _25 = _this+112;
          IHEAP[_25] = _24;
          var _26 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(156, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb7$_ppad$_lpad$1275; };
          var _27 = _26;
          var _28 = _26 == 0;
          ;
          _bb29$_bb22$1284: do { 
            if (!_28) {
              ;
              var _29 = IHEAP[_25];
              (function() { try { __THREW__ = false; return __ZN16btDbvtBroadphaseC1EP22btOverlappingPairCache(_27, _29) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 6; /* _bb29 */ break _bb29$_bb22$1284; } else { ; }
              var _eh_ptr63 = _llvm_eh_exception();
              var _eh_select65 = _llvm_eh_selector(_eh_ptr63, ___gxx_personality_v0, 0);
              __lastLabel__ = 257; __label__ = 45; /* _ppad */ break _bb7$_ppad$_lpad$1275;
            }
          } while(0);
          IHEAP[_7] = _27;
          var _30 = _26+153;
          IHEAP[_30] = 1;
          ;
        }
        var _31 = _this+8;
        var _32 = _worldAabbMin;
        var _33 = FHEAP[_32];
        FHEAP[_31] = _33;
        var _34 = _this+8+4;
        var _35 = _worldAabbMin+4;
        var _36 = FHEAP[_35];
        FHEAP[_34] = _36;
        var _37 = _this+8+8;
        var _38 = _worldAabbMin+8;
        var _39 = FHEAP[_38];
        FHEAP[_37] = _39;
        var _40 = _this+8+12;
        var _41 = _worldAabbMin+12;
        var _42 = FHEAP[_41];
        FHEAP[_40] = _42;
        var _43 = _this+24;
        var _44 = _worldAabbMax;
        var _45 = FHEAP[_44];
        FHEAP[_43] = _45;
        var _46 = _this+24+4;
        var _47 = _worldAabbMax+4;
        var _48 = FHEAP[_47];
        FHEAP[_46] = _48;
        var _49 = _this+24+8;
        var _50 = _worldAabbMax+8;
        var _51 = FHEAP[_50];
        FHEAP[_49] = _51;
        var _52 = _this+24+12;
        var _53 = _worldAabbMax+12;
        var _54 = FHEAP[_53];
        FHEAP[_52] = _54;
        var _55 = _51 - _39;
        var _56 = _48 - _36;
        var _57 = _45 - _33;
        var _58 = IHEAP[_2];
        var _59 = unSign(_58, 16);
        var _60 = _59 / _55;
        var _61 = _59 / _56;
        var _62 = _59 / _57;
        var _63 = _this+40;
        FHEAP[_63] = _62;
        var _64 = _this+40+4;
        FHEAP[_64] = _61;
        var _65 = _this+40+8;
        FHEAP[_65] = _60;
        var _66 = _this+40+12;
        FHEAP[_66] = 0;
        var _67 = _8;
        var _68 = _67 << 6;
        var _69 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_68, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb7$_ppad$_lpad$1275; };
        var _70 = _8 == 0;
        if (_70) { __lastLabel__ = 249; __label__ = 250; /* _bb34 */  } else { __lastLabel__ = 249; __label__ = 91; /* _bb32 */  }
        _bb34$_bb32$1290: while(1) { // _bb34,_bb32
          if (__label__ == 250) {
            var _71 = _69;
            var _72 = _this+60;
            IHEAP[_72] = _71;
            var _73 = _this+58;
            IHEAP[_73] = _8;
            var _74 = _this+56;
            IHEAP[_74] = 0;
            var _75 = _this+64;
            IHEAP[_75] = 1;
            var _76 = unSign(_8, 16) > unSign(1, 16);
            if (_76) { __lastLabel__ = 250; __label__ = 260; /* _bb_nph80 */ break _bb34$_bb32$1290; } else { __lastLabel__ = 250; __label__ = 68; /* _bb38 */ break _bb34$_bb32$1290; }
          }
          else if (__label__ == 91) {
            var _indvar95 = __lastLabel__ == 91 ? _indvar_next96 : (0);
            var _tmp100 = _indvar95 << 6;
            var _scevgep101 = _69+_tmp100;
            var _scevgep101102 = _scevgep101;
            var _tmp103106 = _tmp100 | 8;
            var _scevgep104 = _69+_tmp103106;
            var _scevgep104105 = _scevgep104;
            IHEAP[_scevgep101102] = 0;
            IHEAP[_scevgep104105] = 0;
            var _indvar_next96 = _indvar95 + 1;
            var _exitcond99 = _indvar_next96 == _67;
            if (_exitcond99) { __lastLabel__ = 91; __label__ = 250; /* _bb34 */ continue _bb34$_bb32$1290; } else { __lastLabel__ = 91; __label__ = 91; /* _bb32 */ continue _bb34$_bb32$1290; }
          }
        }
        _bb_nph80$_bb38$1294: do { 
          if (__label__ == 260) {
            var _tmp = _userMaxHandles + -1;
            var _tmp89 = _tmp;
            var _tmp90 = _tmp89 + 1;
            __lastLabel__ = 260; ;
            _bb36$1296: while(1) { // _bb36
              var _77 = __lastLabel__ == 260 ? _71 : (__pre);
              var _indvar = __lastLabel__ == 260 ? 0 : (_tmp91);
              var _tmp91 = _indvar + 1;
              var _tmp93 = _indvar + 2;
              var _tmp94 = _tmp93;
              var _scevgep92 = _77+68*_tmp91+48;
              IHEAP[_scevgep92] = _tmp94;
              var _exitcond = _tmp91 == _tmp90;
              var __pre = IHEAP[_72];
              if (_exitcond) { __lastLabel__ = 251; __label__ = 68; /* _bb38 */ break _bb_nph80$_bb38$1294; } else { __lastLabel__ = 251; __label__ = 251; /* _bb36 */ continue _bb36$1296; }
            }
          }
        } while(0);
        var _78 = __lastLabel__ == 250 ? _71 : (__pre);
        var _79 = _67 + -1;
        var _80 = _78+68*_79+48;
        IHEAP[_80] = 0;
        var _81 = _67 << 3;
        __lastLabel__ = 68; ;
        _bb43$1299: while(1) { // _bb43
          var _85 = __lastLabel__ == 68 ? 0 : (_84);
          var _scevgep87 = _this+68+_85*4;
          var _scevgep88 = _this+80+_85*4;
          var _86 = _85 < 3;
          if (!(_86)) { __label__ = 44; /* _return */ break _bb43$1299; }
          var _82 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_81, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb7$_ppad$_lpad$1275; };
          IHEAP[_scevgep88] = _82;
          var _83 = _82;
          IHEAP[_scevgep87] = _83;
          var _84 = _85 + 1;
          __lastLabel__ = 252; __label__ = 8; /* _bb43 */ continue _bb43$1299;
        }
        var _87 = IHEAP[_72];
        var _88 = _87;
        IHEAP[_88] = 0;
        var _scevgep86 = _this+68;
        var _89 = IHEAP[_72];
        var _scevgep = _89+48;
        IHEAP[_scevgep] = 0;
        var _90 = IHEAP[_72];
        var _scevgep85 = _90+56;
        IHEAP[_scevgep85] = 1;
        var _91 = IHEAP[_scevgep86];
        var _92 = _91;
        IHEAP[_92] = 0;
        var _93 = IHEAP[_scevgep86];
        var _94 = _93+2;
        IHEAP[_94] = 0;
        var _95 = IHEAP[_scevgep86];
        var _96 = IHEAP[_2];
        var _97 = _95+4;
        IHEAP[_97] = _96;
        var _98 = IHEAP[_scevgep86];
        var _99 = _98+4+2;
        IHEAP[_99] = 0;
        var _scevgep86_1 = _this+68+4;
        var _100 = IHEAP[_72];
        var _scevgep_1 = _100+48+2;
        IHEAP[_scevgep_1] = 0;
        var _101 = IHEAP[_72];
        var _scevgep85_1 = _101+56+2;
        IHEAP[_scevgep85_1] = 1;
        var _102 = IHEAP[_scevgep86_1];
        var _103 = _102;
        IHEAP[_103] = 0;
        var _104 = IHEAP[_scevgep86_1];
        var _105 = _104+2;
        IHEAP[_105] = 0;
        var _106 = IHEAP[_scevgep86_1];
        var _107 = IHEAP[_2];
        var _108 = _106+4;
        IHEAP[_108] = _107;
        var _109 = IHEAP[_scevgep86_1];
        var _110 = _109+4+2;
        IHEAP[_110] = 0;
        var _scevgep86_2 = _this+68+8;
        var _111 = IHEAP[_72];
        var _scevgep_2 = _111+48+4;
        IHEAP[_scevgep_2] = 0;
        var _112 = IHEAP[_72];
        var _scevgep85_2 = _112+56+4;
        IHEAP[_scevgep85_2] = 1;
        var _113 = IHEAP[_scevgep86_2];
        var _114 = _113;
        IHEAP[_114] = 0;
        var _115 = IHEAP[_scevgep86_2];
        var _116 = _115+2;
        IHEAP[_116] = 0;
        var _117 = IHEAP[_scevgep86_2];
        var _118 = IHEAP[_2];
        var _119 = _117+4;
        IHEAP[_119] = _118;
        var _120 = IHEAP[_scevgep86_2];
        var _121 = _120+4+2;
        IHEAP[_121] = 0;
        ;
        return;
      }
    } while(0);
    if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select53 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __lastLabel__ = 254; ;
    }
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (__lastLabel__ == 257 ? _eh_ptr63 : (_eh_ptr55));
    IHEAP[_0] = __ZTV21btBroadphaseInterface+8;
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  __ZN20btAxisSweep3InternalItEC2ERK9btVector3S3_tttP22btOverlappingPairCacheb.__index__ = Runtime.getFunctionIndex(__ZN20btAxisSweep3InternalItEC2ERK9btVector3S3_tttP22btOverlappingPairCacheb, "__ZN20btAxisSweep3InternalItEC2ERK9btVector3S3_tttP22btOverlappingPairCacheb");
  
  
  function __ZN6btDbvt11countLeavesEPK10btDbvtNode(_node) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _node+36+4;
    var _1 = IHEAP[_0];
    var _toBoolnot_i4 = _1 == 0;
    if (_toBoolnot_i4) { __lastLabel__ = -1; __label__ = 0; /* _bb2 */  } else { __lastLabel__ = -1; __label__ = 60; /* _bb */  }
    _bb2$_bb$1326: while(1) { // _bb2,_bb
      if (__label__ == 0) {
        var _accumulator_tr_lcssa = __lastLabel__ == -1 ? 1 : (_6);
        ;
        return _accumulator_tr_lcssa;
      }
      else if (__label__ == 60) {
        var _2 = __lastLabel__ == 60 ? _8 : (_1);
        var _node_tr6 = __lastLabel__ == 60 ? _2 : (_node);
        var _accumulator_tr5 = __lastLabel__ == 60 ? _6 : (1);
        var _3 = _node_tr6+36;
        var _4 = IHEAP[_3];
        var _5 = __ZN6btDbvt11countLeavesEPK10btDbvtNode(_4);
        var _6 = _5 + _accumulator_tr5;
        var _7 = _2+36+4;
        var _8 = IHEAP[_7];
        var _toBoolnot_i = _8 == 0;
        if (_toBoolnot_i) { __lastLabel__ = 60; __label__ = 0; /* _bb2 */ continue _bb2$_bb$1326; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb2$_bb$1326; }
      }
    }
  }
  __ZN6btDbvt11countLeavesEPK10btDbvtNode.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt11countLeavesEPK10btDbvtNode, "__ZN6btDbvt11countLeavesEPK10btDbvtNode");
  
  
  function __ZL10insertleafP6btDbvtP10btDbvtNodeS2_(_pdbvt, _root, _leaf) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _pdbvt;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (_2) {
      ;
      IHEAP[_0] = _leaf;
      var _3 = _leaf+32;
      IHEAP[_3] = 0;
      ;
      return;
    }
    else {
      ;
      var _4 = _root+36+4;
      var _5 = IHEAP[_4];
      var _6 = _5 == 0;
      ;
      _bb8$_bb4_preheader$1343: do { 
        if (_6) {
          __lastLabel__ = 75; ;
        }
        else {
          __lastLabel__ = 75; ;
          var _7 = _leaf+8;
          var _8 = FHEAP[_7];
          var _9 = _leaf+16+8;
          var _10 = FHEAP[_9];
          var _11 = _8 + _10;
          var _12 = _leaf+4;
          var _13 = FHEAP[_12];
          var _14 = _leaf+16+4;
          var _15 = FHEAP[_14];
          var _16 = _13 + _15;
          var _17 = _leaf;
          var _18 = FHEAP[_17];
          var _19 = _leaf+16;
          var _20 = FHEAP[_19];
          var _21 = _18 + _20;
          __lastLabel__ = 262; ;
          _bb4$1345: while(1) { // _bb4
            var _22 = __lastLabel__ == 61 ? _76 : (_5);
            var _root_addr_0 = __lastLabel__ == 61 ? _74 : (_root);
            var _23 = _root_addr_0+36;
            var _24 = IHEAP[_23];
            var _25 = _24+8;
            var _26 = FHEAP[_25];
            var _27 = _24+16+8;
            var _28 = FHEAP[_27];
            var _29 = _26 + _28;
            var _30 = _24+4;
            var _31 = FHEAP[_30];
            var _32 = _24+16+4;
            var _33 = FHEAP[_32];
            var _34 = _31 + _33;
            var _35 = _24;
            var _36 = FHEAP[_35];
            var _37 = _24+16;
            var _38 = FHEAP[_37];
            var _39 = _36 + _38;
            var _40 = _11 - _29;
            var _41 = _16 - _34;
            var _42 = _21 - _39;
            var _43 = _fabsf(_42);
            var _44 = _fabsf(_41);
            var _45 = _43 + _44;
            var _46 = _fabsf(_40);
            var _47 = _45 + _46;
            var _48 = _22+8;
            var _49 = FHEAP[_48];
            var _50 = _22+16+8;
            var _51 = FHEAP[_50];
            var _52 = _49 + _51;
            var _53 = _22+4;
            var _54 = FHEAP[_53];
            var _55 = _22+16+4;
            var _56 = FHEAP[_55];
            var _57 = _54 + _56;
            var _58 = _22;
            var _59 = FHEAP[_58];
            var _60 = _22+16;
            var _61 = FHEAP[_60];
            var _62 = _59 + _61;
            var _63 = _11 - _52;
            var _64 = _16 - _57;
            var _65 = _21 - _62;
            var _66 = _fabsf(_65);
            var _67 = _fabsf(_64);
            var _68 = _66 + _67;
            var _69 = _fabsf(_63);
            var _70 = _68 + _69;
            var _71 = _47 >= _70;
            var _72 = _71;
            var _73 = _root_addr_0+36+_72*4;
            var _74 = IHEAP[_73];
            var _75 = _74+36+4;
            var _76 = IHEAP[_75];
            var _77 = _76 == 0;
            if (_77) { __lastLabel__ = 61; __label__ = 148; /* _bb8 */ break _bb8$_bb4_preheader$1343; } else { __lastLabel__ = 61; __label__ = 61; /* _bb4 */ continue _bb4$1345; }
          }
        }
      } while(0);
      var _root_addr_1 = __lastLabel__ == 75 ? _root : (_74);
      var _78 = _root_addr_1+32;
      var _79 = IHEAP[_78];
      var _80 = _pdbvt+4;
      var _81 = IHEAP[_80];
      var _82 = _81 == 0;
      ;
      if (_82) {
        ;
        var _83 = __Z22btAlignedAllocInternalji(44, 16);
        var _84 = _83;
        __lastLabel__ = 265; ;
      }
      else {
        ;
        IHEAP[_80] = 0;
        __lastLabel__ = 263; ;
      }
      var _node_0_i_i = __lastLabel__ == 263 ? _81 : (_84);
      var _85 = _node_0_i_i+32;
      IHEAP[_85] = _79;
      var _86 = _node_0_i_i+36;
      IHEAP[_86] = 0;
      var _87 = _node_0_i_i+36+4;
      IHEAP[_87] = 0;
      var _scevgep_i_i = _leaf;
      var _scevgep11_i_i = _root_addr_1;
      var _scevgep12_i_i = _node_0_i_i;
      var _scevgep13_i_i = _leaf+16;
      var _scevgep14_i_i = _root_addr_1+16;
      var _scevgep15_i_i = _node_0_i_i+16;
      var _88 = FHEAP[_scevgep_i_i];
      var _89 = FHEAP[_scevgep11_i_i];
      var _90 = _88 < _89;
      var _storemerge_i_i = _90 ? _88 : _89;
      FHEAP[_scevgep12_i_i] = _storemerge_i_i;
      var _91 = FHEAP[_scevgep13_i_i];
      var _92 = FHEAP[_scevgep14_i_i];
      var _93 = _91 > _92;
      var _storemerge16_i_i = _93 ? _91 : _92;
      FHEAP[_scevgep15_i_i] = _storemerge16_i_i;
      var _scevgep_1_i_i = _leaf+4;
      var _scevgep11_1_i_i = _root_addr_1+4;
      var _scevgep12_1_i_i = _node_0_i_i+4;
      var _scevgep13_1_i_i = _leaf+16+4;
      var _scevgep14_1_i_i = _root_addr_1+16+4;
      var _scevgep15_1_i_i = _node_0_i_i+16+4;
      var _94 = FHEAP[_scevgep_1_i_i];
      var _95 = FHEAP[_scevgep11_1_i_i];
      var _96 = _94 < _95;
      var _storemerge17_i_i = _96 ? _94 : _95;
      FHEAP[_scevgep12_1_i_i] = _storemerge17_i_i;
      var _97 = FHEAP[_scevgep13_1_i_i];
      var _98 = FHEAP[_scevgep14_1_i_i];
      var _99 = _97 > _98;
      var _storemerge18_i_i = _99 ? _97 : _98;
      FHEAP[_scevgep15_1_i_i] = _storemerge18_i_i;
      var _scevgep_2_i_i = _leaf+8;
      var _scevgep11_2_i_i = _root_addr_1+8;
      var _scevgep12_2_i_i = _node_0_i_i+8;
      var _scevgep13_2_i_i = _leaf+16+8;
      var _scevgep14_2_i_i = _root_addr_1+16+8;
      var _scevgep15_2_i_i = _node_0_i_i+16+8;
      var _100 = FHEAP[_scevgep_2_i_i];
      var _101 = FHEAP[_scevgep11_2_i_i];
      var _102 = _100 < _101;
      var _storemerge19_i_i = _102 ? _100 : _101;
      FHEAP[_scevgep12_2_i_i] = _storemerge19_i_i;
      var _103 = FHEAP[_scevgep13_2_i_i];
      var _104 = FHEAP[_scevgep14_2_i_i];
      var _105 = _103 > _104;
      var _storemerge20_i_i = _105 ? _103 : _104;
      FHEAP[_scevgep15_2_i_i] = _storemerge20_i_i;
      var _106 = _79 == 0;
      ;
      if (_106) {
        ;
        IHEAP[_86] = _root_addr_1;
        IHEAP[_78] = _node_0_i_i;
        IHEAP[_87] = _leaf;
        var _167 = _leaf+32;
        IHEAP[_167] = _node_0_i_i;
        IHEAP[_0] = _node_0_i_i;
        ;
        return;
      }
      else {
        ;
        var _107 = IHEAP[_78];
        var _108 = _107+36+4;
        var _109 = IHEAP[_108];
        var _110 = _109 == _root_addr_1;
        var _111 = _110;
        var _112 = _79+36+_111*4;
        IHEAP[_112] = _node_0_i_i;
        IHEAP[_86] = _root_addr_1;
        IHEAP[_78] = _node_0_i_i;
        IHEAP[_87] = _leaf;
        var _113 = _leaf+32;
        IHEAP[_113] = _node_0_i_i;
        var __pre = FHEAP[_scevgep12_i_i];
        __lastLabel__ = 62; ;
        _bb10$1355: while(1) { // _bb10
          var _114 = __lastLabel__ == 62 ? __pre : (_storemerge_i);
          var _prev_0 = __lastLabel__ == 62 ? _79 : (_165);
          var _node_0 = __lastLabel__ == 62 ? _node_0_i_i : (_prev_0);
          var _115 = _prev_0;
          var _116 = FHEAP[_115];
          var _117 = _116 > _114;
          ;
          _bb14$_bb_i$1357: do { 
            if (!_117) {
              ;
              var _118 = _prev_0+4;
              var _119 = FHEAP[_118];
              var _120 = _node_0+4;
              var _121 = FHEAP[_120];
              var _122 = _119 > _121;
              if (_122) { __label__ = 63; /* _bb14 */ break _bb14$_bb_i$1357; }
              var _123 = _prev_0+8;
              var _124 = FHEAP[_123];
              var _125 = _node_0+8;
              var _126 = FHEAP[_125];
              var _127 = _124 > _126;
              if (_127) { __label__ = 63; /* _bb14 */ break _bb14$_bb_i$1357; }
              var _128 = _prev_0+16;
              var _129 = FHEAP[_128];
              var _130 = _node_0+16;
              var _131 = FHEAP[_130];
              var _132 = _129 < _131;
              if (_132) { __label__ = 63; /* _bb14 */ break _bb14$_bb_i$1357; }
              var _133 = _prev_0+16+4;
              var _134 = FHEAP[_133];
              var _135 = _node_0+16+4;
              var _136 = FHEAP[_135];
              var _137 = _134 < _136;
              if (_137) { __label__ = 63; /* _bb14 */ break _bb14$_bb_i$1357; }
              var _138 = _prev_0+16+8;
              var _139 = FHEAP[_138];
              var _140 = _node_0+16+8;
              var _141 = FHEAP[_140];
              var _phitmp = _139 < _141;
              if (!(_phitmp)) { __label__ = 44; /* _return */ break _bb10$1355; }
            }
          } while(0);
          var _142 = _prev_0+36+4;
          var _143 = IHEAP[_142];
          var _144 = _prev_0+36;
          var _145 = IHEAP[_144];
          var _scevgep_i = _145;
          var _scevgep11_i = _143;
          var _scevgep13_i = _145+16;
          var _scevgep14_i = _143+16;
          var _scevgep15_i = _prev_0+16;
          var _146 = FHEAP[_scevgep_i];
          var _147 = FHEAP[_scevgep11_i];
          var _148 = _146 < _147;
          var _storemerge_i = _148 ? _146 : _147;
          FHEAP[_115] = _storemerge_i;
          var _149 = FHEAP[_scevgep13_i];
          var _150 = FHEAP[_scevgep14_i];
          var _151 = _149 > _150;
          var _storemerge16_i = _151 ? _149 : _150;
          FHEAP[_scevgep15_i] = _storemerge16_i;
          var _scevgep_1_i = _145+4;
          var _scevgep11_1_i = _143+4;
          var _scevgep12_1_i = _prev_0+4;
          var _scevgep13_1_i = _145+16+4;
          var _scevgep14_1_i = _143+16+4;
          var _scevgep15_1_i = _prev_0+16+4;
          var _152 = FHEAP[_scevgep_1_i];
          var _153 = FHEAP[_scevgep11_1_i];
          var _154 = _152 < _153;
          var _storemerge17_i = _154 ? _152 : _153;
          FHEAP[_scevgep12_1_i] = _storemerge17_i;
          var _155 = FHEAP[_scevgep13_1_i];
          var _156 = FHEAP[_scevgep14_1_i];
          var _157 = _155 > _156;
          var _storemerge18_i = _157 ? _155 : _156;
          FHEAP[_scevgep15_1_i] = _storemerge18_i;
          var _scevgep_2_i = _145+8;
          var _scevgep11_2_i = _143+8;
          var _scevgep12_2_i = _prev_0+8;
          var _scevgep13_2_i = _145+16+8;
          var _scevgep14_2_i = _143+16+8;
          var _scevgep15_2_i = _prev_0+16+8;
          var _158 = FHEAP[_scevgep_2_i];
          var _159 = FHEAP[_scevgep11_2_i];
          var _160 = _158 < _159;
          var _storemerge19_i = _160 ? _158 : _159;
          FHEAP[_scevgep12_2_i] = _storemerge19_i;
          var _161 = FHEAP[_scevgep13_2_i];
          var _162 = FHEAP[_scevgep14_2_i];
          var _163 = _161 > _162;
          var _storemerge20_i = _163 ? _161 : _162;
          FHEAP[_scevgep15_2_i] = _storemerge20_i;
          var _164 = _prev_0+32;
          var _165 = IHEAP[_164];
          var _166 = _165 == 0;
          if (_166) { __lastLabel__ = 63; __label__ = 44; /* _return */ break _bb10$1355; } else { __lastLabel__ = 63; __label__ = 150; /* _bb10 */ continue _bb10$1355; }
        }
        ;
        return;
      }
    }
  }
  __ZL10insertleafP6btDbvtP10btDbvtNodeS2_.__index__ = Runtime.getFunctionIndex(__ZL10insertleafP6btDbvtP10btDbvtNodeS2_, "__ZL10insertleafP6btDbvtP10btDbvtNodeS2_");
  
  
  function __ZN6btDbvt6insertERK12btDbvtAabbMmPv(_this, _volume, _data) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (_2) {
      ;
      var _3 = __Z22btAlignedAllocInternalji(44, 16);
      var _4 = _3;
      __lastLabel__ = 265; ;
    }
    else {
      ;
      IHEAP[_0] = 0;
      __lastLabel__ = 263; ;
    }
    var _node_0_i_i = __lastLabel__ == 263 ? _1 : (_4);
    var _5 = _node_0_i_i+32;
    IHEAP[_5] = 0;
    var _6 = _node_0_i_i+36;
    var _data_c_i_i = _data;
    IHEAP[_6] = _data_c_i_i;
    var _7 = _node_0_i_i+36+4;
    IHEAP[_7] = 0;
    var _8 = _node_0_i_i;
    var _9 = _volume;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _node_0_i_i+4;
    var _12 = _volume+4;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _node_0_i_i+8;
    var _15 = _volume+8;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _node_0_i_i+12;
    var _18 = _volume+12;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _node_0_i_i+16;
    var _21 = _volume+16;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _node_0_i_i+16+4;
    var _24 = _volume+16+4;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _node_0_i_i+16+8;
    var _27 = _volume+16+8;
    var _28 = FHEAP[_27];
    FHEAP[_26] = _28;
    var _29 = _node_0_i_i+16+12;
    var _30 = _volume+16+12;
    var _31 = FHEAP[_30];
    FHEAP[_29] = _31;
    var _32 = _this;
    var _33 = IHEAP[_32];
    __ZL10insertleafP6btDbvtP10btDbvtNodeS2_(_this, _33, _node_0_i_i);
    var _34 = _this+12;
    var _35 = IHEAP[_34];
    var _36 = _35 + 1;
    IHEAP[_34] = _36;
    ;
    return _node_0_i_i;
  }
  __ZN6btDbvt6insertERK12btDbvtAabbMmPv.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt6insertERK12btDbvtAabbMmPv, "__ZN6btDbvt6insertERK12btDbvtAabbMmPv");
  
  
  function __ZL8bottomupP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeE(_pdbvt, _leaves) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _leaves+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 1;
    ;
    _bb_nph49$_return$1371: do { 
      if (_2) {
        ;
        var _81 = _leaves+12;
        var _82 = _pdbvt+4;
        __lastLabel__ = 273; ;
        _bb7_preheader$1373: while(1) { // _bb7_preheader
          var _83 = __lastLabel__ == 273 ? _1 : (_79);
          var _84 = _83 > 0;
          if (_84) { __lastLabel__ = 272; __label__ = 269; /* _bb5_preheader */  } else { __lastLabel__ = 272; __label__ = 62; /* _bb9 */  }
          _bb5_preheader$_bb9$1375: while(1) { // _bb5_preheader,_bb9
            if (__label__ == 269) {
              var _33 = __lastLabel__ == 83 ? _j_035 : (0);
              var _minsize_244 = __lastLabel__ == 83 ? _minsize_1_lcssa : (3.4028234663852886e+38);
              var _minidx_0_243 = __lastLabel__ == 83 ? _minidx_0_1_lcssa : (-1);
              var _minidx_1_242 = __lastLabel__ == 83 ? _minidx_1_1_lcssa : (-1);
              var _j_035 = _33 + 1;
              var _tmp = _33 + 2;
              var _34 = _83 > _j_035;
              ;
              _bb_nph$_bb6$1378: do { 
                if (_34) {
                  __lastLabel__ = 269; ;
                  var _tmp66 = _33 ^ -1;
                  var _3 = IHEAP[_81];
                  var _scevgep68 = _3+4*_33;
                  var _4 = IHEAP[_scevgep68];
                  var _scevgep_i_i13 = _4;
                  var _scevgep13_i_i15 = _4+16;
                  var _5 = FHEAP[_scevgep_i_i13];
                  var _6 = FHEAP[_scevgep13_i_i15];
                  var _scevgep_1_i_i19 = _4+4;
                  var _scevgep13_1_i_i21 = _4+16+4;
                  var _7 = FHEAP[_scevgep_1_i_i19];
                  var _8 = FHEAP[_scevgep13_1_i_i21];
                  var _scevgep_2_i_i25 = _4+8;
                  var _scevgep13_2_i_i27 = _4+16+8;
                  var _9 = FHEAP[_scevgep_2_i_i25];
                  var _10 = FHEAP[_scevgep13_2_i_i27];
                  var _tmp63 = _83 > _tmp;
                  var _smax64 = _tmp63 ? _83 : _tmp;
                  var _tmp53 = _smax64 + _tmp66;
                  __lastLabel__ = 130; ;
                  _bb2$1380: while(1) { // _bb2
                    var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
                    var _minsize_138 = __lastLabel__ == 130 ? _minsize_244 : (_minsize_0);
                    var _minidx_0_137 = __lastLabel__ == 130 ? _minidx_0_243 : (_minidx_0_0);
                    var _minidx_1_136 = __lastLabel__ == 130 ? _minidx_1_242 : (_minidx_1_0);
                    var _j_039 = _j_035 + _indvar;
                    var _scevgep = _3+4*_j_039;
                    var _11 = IHEAP[_scevgep];
                    var _scevgep11_i_i14 = _11;
                    var _scevgep14_i_i16 = _11+16;
                    var _12 = FHEAP[_scevgep11_i_i14];
                    var _13 = _5 < _12;
                    var _storemerge_i_i17 = _13 ? _5 : _12;
                    var _14 = FHEAP[_scevgep14_i_i16];
                    var _15 = _6 > _14;
                    var _storemerge16_i_i18 = _15 ? _6 : _14;
                    var _scevgep11_1_i_i20 = _11+4;
                    var _scevgep14_1_i_i22 = _11+16+4;
                    var _16 = FHEAP[_scevgep11_1_i_i20];
                    var _17 = _7 < _16;
                    var _storemerge17_i_i23 = _17 ? _7 : _16;
                    var _18 = FHEAP[_scevgep14_1_i_i22];
                    var _19 = _8 > _18;
                    var _storemerge18_i_i24 = _19 ? _8 : _18;
                    var _scevgep11_2_i_i26 = _11+8;
                    var _scevgep14_2_i_i28 = _11+16+8;
                    var _20 = FHEAP[_scevgep11_2_i_i26];
                    var _21 = _9 < _20;
                    var _storemerge19_i_i29 = _21 ? _9 : _20;
                    var _22 = FHEAP[_scevgep14_2_i_i28];
                    var _23 = _10 > _22;
                    var _storemerge20_i_i30 = _23 ? _10 : _22;
                    var _24 = _storemerge20_i_i30 - _storemerge19_i_i29;
                    var _25 = _storemerge18_i_i24 - _storemerge17_i_i23;
                    var _26 = _storemerge16_i_i18 - _storemerge_i_i17;
                    var _27 = _26 * _25;
                    var _28 = _27 * _24;
                    var _29 = _28 + _26;
                    var _30 = _29 + _25;
                    var _31 = _30 + _24;
                    var _32 = _31 < _minsize_138;
                    var _minidx_1_0 = _32 ? _j_039 : _minidx_1_136;
                    var _minidx_0_0 = _32 ? _33 : _minidx_0_137;
                    var _minsize_0 = _32 ? _31 : _minsize_138;
                    var _indvar_next = _indvar + 1;
                    var _exitcond = _indvar_next == _tmp53;
                    if (_exitcond) { __lastLabel__ = 0; __label__ = 83; /* _bb6 */ break _bb_nph$_bb6$1378; } else { __lastLabel__ = 0; __label__ = 0; /* _bb2 */ continue _bb2$1380; }
                  }
                }
                else {
                  __lastLabel__ = 269; ;
                }
              } while(0);
              var _minsize_1_lcssa = __lastLabel__ == 269 ? _minsize_244 : (_minsize_0);
              var _minidx_0_1_lcssa = __lastLabel__ == 269 ? _minidx_0_243 : (_minidx_0_0);
              var _minidx_1_1_lcssa = __lastLabel__ == 269 ? _minidx_1_242 : (_minidx_1_0);
              var _exitcond58 = _j_035 == _83;
              if (_exitcond58) { __lastLabel__ = 83; __label__ = 62; /* _bb9 */ continue _bb5_preheader$_bb9$1375; } else { __lastLabel__ = 83; __label__ = 269; /* _bb5_preheader */ continue _bb5_preheader$_bb9$1375; }
            }
            else if (__label__ == 62) {
              var _minidx_0_2_lcssa = __lastLabel__ == 83 ? _minidx_0_1_lcssa : (-1);
              var _minidx_1_2_lcssa = __lastLabel__ == 83 ? _minidx_1_1_lcssa : (-1);
              var _35 = IHEAP[_81];
              var _36 = _35+4*_minidx_0_2_lcssa;
              var _37 = IHEAP[_36];
              var _38 = _35+4*_minidx_1_2_lcssa;
              var _39 = IHEAP[_38];
              var _40 = IHEAP[_82];
              var _41 = _40 == 0;
              if (_41) { __label__ = 265; /* _bb1_i_i */ break _bb5_preheader$_bb9$1375; } else { __label__ = 263; /* _bb_i_i */ break _bb5_preheader$_bb9$1375; }
            }
          }
          if (__label__ == 265) {
            var _42 = __Z22btAlignedAllocInternalji(44, 16);
            var _43 = _42;
            __lastLabel__ = 265; ;
          }
          else if (__label__ == 263) {
            IHEAP[_82] = 0;
            __lastLabel__ = 263; ;
          }
          var _node_0_i_i = __lastLabel__ == 263 ? _40 : (_43);
          var _44 = _node_0_i_i+32;
          IHEAP[_44] = 0;
          var _45 = _node_0_i_i+36;
          IHEAP[_45] = 0;
          var _46 = _node_0_i_i+36+4;
          IHEAP[_46] = 0;
          var _scevgep_i_i = _37;
          var _scevgep11_i_i = _39;
          var _scevgep12_i_i = _node_0_i_i;
          var _scevgep13_i_i = _37+16;
          var _scevgep14_i_i = _39+16;
          var _scevgep15_i_i = _node_0_i_i+16;
          var _47 = FHEAP[_scevgep_i_i];
          var _48 = FHEAP[_scevgep11_i_i];
          var _49 = _47 < _48;
          var _storemerge_i_i = _49 ? _47 : _48;
          FHEAP[_scevgep12_i_i] = _storemerge_i_i;
          var _50 = FHEAP[_scevgep13_i_i];
          var _51 = FHEAP[_scevgep14_i_i];
          var _52 = _50 > _51;
          var _storemerge16_i_i = _52 ? _50 : _51;
          FHEAP[_scevgep15_i_i] = _storemerge16_i_i;
          var _scevgep_1_i_i = _37+4;
          var _scevgep11_1_i_i = _39+4;
          var _scevgep12_1_i_i = _node_0_i_i+4;
          var _scevgep13_1_i_i = _37+16+4;
          var _scevgep14_1_i_i = _39+16+4;
          var _scevgep15_1_i_i = _node_0_i_i+16+4;
          var _53 = FHEAP[_scevgep_1_i_i];
          var _54 = FHEAP[_scevgep11_1_i_i];
          var _55 = _53 < _54;
          var _storemerge17_i_i = _55 ? _53 : _54;
          FHEAP[_scevgep12_1_i_i] = _storemerge17_i_i;
          var _56 = FHEAP[_scevgep13_1_i_i];
          var _57 = FHEAP[_scevgep14_1_i_i];
          var _58 = _56 > _57;
          var _storemerge18_i_i = _58 ? _56 : _57;
          FHEAP[_scevgep15_1_i_i] = _storemerge18_i_i;
          var _scevgep_2_i_i = _37+8;
          var _scevgep11_2_i_i = _39+8;
          var _scevgep12_2_i_i = _node_0_i_i+8;
          var _scevgep13_2_i_i = _37+16+8;
          var _scevgep14_2_i_i = _39+16+8;
          var _scevgep15_2_i_i = _node_0_i_i+16+8;
          var _59 = FHEAP[_scevgep_2_i_i];
          var _60 = FHEAP[_scevgep11_2_i_i];
          var _61 = _59 < _60;
          var _storemerge19_i_i = _61 ? _59 : _60;
          FHEAP[_scevgep12_2_i_i] = _storemerge19_i_i;
          var _62 = FHEAP[_scevgep13_2_i_i];
          var _63 = FHEAP[_scevgep14_2_i_i];
          var _64 = _62 > _63;
          var _storemerge20_i_i = _64 ? _62 : _63;
          FHEAP[_scevgep15_2_i_i] = _storemerge20_i_i;
          IHEAP[_45] = _37;
          IHEAP[_46] = _39;
          var _65 = _37+32;
          IHEAP[_65] = _node_0_i_i;
          var _66 = _39+32;
          IHEAP[_66] = _node_0_i_i;
          var _67 = IHEAP[_81];
          var _68 = _67+4*_minidx_0_2_lcssa;
          IHEAP[_68] = _node_0_i_i;
          var _69 = IHEAP[_0];
          var _70 = _69 + -1;
          var _71 = IHEAP[_81];
          var _72 = _71+4*_minidx_1_2_lcssa;
          var _73 = IHEAP[_72];
          var _74 = _71+4*_70;
          var _75 = IHEAP[_74];
          IHEAP[_72] = _75;
          var _76 = IHEAP[_81];
          var _77 = _76+4*_70;
          IHEAP[_77] = _73;
          var _78 = IHEAP[_0];
          var _79 = _78 + -1;
          IHEAP[_0] = _79;
          var _80 = _79 > 1;
          if (_80) { __lastLabel__ = 271; __label__ = 272; /* _bb7_preheader */ continue _bb7_preheader$1373; } else { __lastLabel__ = 271; __label__ = 44; /* _return */ break _bb_nph49$_return$1371; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZL8bottomupP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeE.__index__ = Runtime.getFunctionIndex(__ZL8bottomupP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeE, "__ZL8bottomupP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeE");
  
  
  function __ZN6btDbvt13extractLeavesEPK10btDbvtNodeR20btAlignedObjectArrayIS2_E(_node, _leaves) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _node+36+4;
    var _1 = IHEAP[_0];
    var _toBoolnot_i3 = _1 == 0;
    if (_toBoolnot_i3) { __lastLabel__ = -1; __label__ = 75; /* _bb1 */  } else { __lastLabel__ = -1; __label__ = 60; /* _bb */  }
    _bb1$_bb$1390: while(1) { // _bb1,_bb
      if (__label__ == 75) {
        var _node_tr_lcssa = __lastLabel__ == -1 ? _node : (_5);
        var _8 = _leaves+4;
        var _9 = IHEAP[_8];
        var _10 = _leaves+8;
        var _11 = IHEAP[_10];
        var _12 = _11 == _9;
        if (_12) { __lastLabel__ = 75; __label__ = 131; /* _bb_i */ break _bb1$_bb$1390; } else { __lastLabel__ = 75; __label__ = 159; /* _bb1_i */ break _bb1$_bb$1390; }
      }
      else if (__label__ == 60) {
        var _node_tr4 = __lastLabel__ == 60 ? _5 : (_node);
        var _2 = _node_tr4+36;
        var _3 = IHEAP[_2];
        __ZN6btDbvt13extractLeavesEPK10btDbvtNodeR20btAlignedObjectArrayIS2_E(_3, _leaves);
        var _4 = _node_tr4+36+4;
        var _5 = IHEAP[_4];
        var _6 = _5+36+4;
        var _7 = IHEAP[_6];
        var _toBoolnot_i = _7 == 0;
        if (_toBoolnot_i) { __lastLabel__ = 60; __label__ = 75; /* _bb1 */ continue _bb1$_bb$1390; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb1$_bb$1390; }
      }
    }
    _bb_i$_bb1_i$1394: do { 
      if (__label__ == 131) {
        var _13 = _9 == 0;
        var _14 = _9 << 1;
        var _iftmp_309_0_i_i = _13 ? 1 : _14;
        var _15 = _11 < _iftmp_309_0_i_i;
        if (_15) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$1394; }
        var _16 = _iftmp_309_0_i_i == 0;
        ;
        if (_16) {
          __lastLabel__ = 263; ;
        }
        else {
          __lastLabel__ = 263; ;
          var _17 = _iftmp_309_0_i_i << 2;
          var _18 = __Z22btAlignedAllocInternalji(_17, 16);
          var _phitmp_i_i = _18;
          var __pre_i = IHEAP[_8];
          __lastLabel__ = 274; ;
        }
        var _19 = __lastLabel__ == 274 ? __pre_i : (_9);
        var _20 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
        var _21 = _19 > 0;
        ;
        _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i$1400: do { 
          if (_21) {
            ;
            var _22 = _leaves+12;
            __lastLabel__ = 276; ;
            _bb_i4_i_i$1402: while(1) { // _bb_i4_i_i
              var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
              var _scevgep_i_i_i = _20+4*_indvar_i_i_i;
              var _23 = _scevgep_i_i_i == 0;
              ;
              if (!_23) {
                ;
                var _24 = IHEAP[_22];
                var _scevgep8_i_i_i = _24+4*_indvar_i_i_i;
                var _25 = IHEAP[_scevgep8_i_i_i];
                IHEAP[_scevgep_i_i_i] = _25;
                ;
              }
              var _indvar_next_i_i_i = _indvar_i_i_i + 1;
              var _exitcond = _indvar_next_i_i_i == _19;
              if (_exitcond) { __lastLabel__ = 279; __label__ = 280; /* __ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i$1400; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$1402; }
            }
          }
        } while(0);
        var _26 = _leaves+12;
        var _27 = IHEAP[_26];
        var _28 = _27 == 0;
        ;
        if (!_28) {
          ;
          var _29 = _leaves+16;
          var _30 = IHEAP[_29];
          var _toBool_i_i_i = _30 == 0;
          ;
          if (!_toBool_i_i_i) {
            ;
            var _31 = _27;
            __Z21btAlignedFreeInternalPv(_31);
            ;
          }
          IHEAP[_26] = 0;
          ;
        }
        var _32 = _leaves+16;
        IHEAP[_32] = 1;
        IHEAP[_26] = _20;
        IHEAP[_10] = _iftmp_309_0_i_i;
        var __pre5_i = IHEAP[_8];
        __lastLabel__ = 283; ;
      }
    } while(0);
    var _33 = __lastLabel__ == 283 ? __pre5_i : (__lastLabel__ == 75 ? _9 : (_9));
    var _34 = _leaves+12;
    var _35 = IHEAP[_34];
    var _36 = _35+4*_33;
    var _37 = _36 == 0;
    ;
    if (_37) {
      __lastLabel__ = 159; ;
    }
    else {
      __lastLabel__ = 159; ;
      IHEAP[_36] = _node_tr_lcssa;
      var __pre6_i = IHEAP[_8];
      __lastLabel__ = 132; ;
    }
    var _38 = __lastLabel__ == 159 ? _33 : (__pre6_i);
    var _39 = _38 + 1;
    IHEAP[_8] = _39;
    ;
    return;
  }
  __ZN6btDbvt13extractLeavesEPK10btDbvtNodeR20btAlignedObjectArrayIS2_E.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt13extractLeavesEPK10btDbvtNodeR20btAlignedObjectArrayIS2_E, "__ZN6btDbvt13extractLeavesEPK10btDbvtNodeR20btAlignedObjectArrayIS2_E");
  
  
  function __ZN20btDbvtNodeEnumerator7ProcessEPK10btDbvtNode(_this, _n) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4+4;
    var _1 = IHEAP[_0];
    var _2 = _this+4+8;
    var _3 = IHEAP[_2];
    var _4 = _3 == _1;
    ;
    _bb_i$_bb1_i$1419: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 == 0;
        var _6 = _1 << 1;
        var _iftmp_309_0_i_i = _5 ? 1 : _6;
        var _7 = _3 < _iftmp_309_0_i_i;
        if (_7) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$1419; }
        var _8 = _iftmp_309_0_i_i == 0;
        ;
        if (_8) {
          __lastLabel__ = 263; ;
        }
        else {
          __lastLabel__ = 263; ;
          var _9 = _iftmp_309_0_i_i << 2;
          var _10 = __Z22btAlignedAllocInternalji(_9, 16);
          var _phitmp_i_i = _10;
          var __pre_i = IHEAP[_0];
          __lastLabel__ = 274; ;
        }
        var _11 = __lastLabel__ == 274 ? __pre_i : (_1);
        var _12 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
        var _13 = _11 > 0;
        ;
        _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i$1425: do { 
          if (_13) {
            ;
            var _14 = _this+4+12;
            __lastLabel__ = 276; ;
            _bb_i4_i_i$1427: while(1) { // _bb_i4_i_i
              var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
              var _scevgep_i_i_i = _12+4*_indvar_i_i_i;
              var _15 = _scevgep_i_i_i == 0;
              ;
              if (!_15) {
                ;
                var _16 = IHEAP[_14];
                var _scevgep8_i_i_i = _16+4*_indvar_i_i_i;
                var _17 = IHEAP[_scevgep8_i_i_i];
                IHEAP[_scevgep_i_i_i] = _17;
                ;
              }
              var _indvar_next_i_i_i = _indvar_i_i_i + 1;
              var _exitcond = _indvar_next_i_i_i == _11;
              if (_exitcond) { __lastLabel__ = 279; __label__ = 280; /* __ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i$1425; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$1427; }
            }
          }
        } while(0);
        var _18 = _this+4+12;
        var _19 = IHEAP[_18];
        var _20 = _19 == 0;
        ;
        if (!_20) {
          ;
          var _21 = _this+4+16;
          var _22 = IHEAP[_21];
          var _toBool_i_i_i = _22 == 0;
          ;
          if (!_toBool_i_i_i) {
            ;
            var _23 = _19;
            __Z21btAlignedFreeInternalPv(_23);
            ;
          }
          IHEAP[_18] = 0;
          ;
        }
        var _24 = _this+4+16;
        IHEAP[_24] = 1;
        IHEAP[_18] = _12;
        IHEAP[_2] = _iftmp_309_0_i_i;
        var __pre5_i = IHEAP[_0];
        __lastLabel__ = 283; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _25 = __lastLabel__ == 283 ? __pre5_i : (__lastLabel__ == -1 ? _1 : (_1));
    var _26 = _this+4+12;
    var _27 = IHEAP[_26];
    var _28 = _27+4*_25;
    var _29 = _28 == 0;
    ;
    if (_29) {
      __lastLabel__ = 159; ;
    }
    else {
      __lastLabel__ = 159; ;
      IHEAP[_28] = _n;
      var __pre6_i = IHEAP[_0];
      __lastLabel__ = 132; ;
    }
    var _30 = __lastLabel__ == 159 ? _25 : (__pre6_i);
    var _31 = _30 + 1;
    IHEAP[_0] = _31;
    ;
    return;
  }
  __ZN20btDbvtNodeEnumerator7ProcessEPK10btDbvtNode.__index__ = Runtime.getFunctionIndex(__ZN20btDbvtNodeEnumerator7ProcessEPK10btDbvtNode, "__ZN20btDbvtNodeEnumerator7ProcessEPK10btDbvtNode");
  
  
  function __ZN6btDbvt6removeEP10btDbvtNode(_this, _leaf) {
    ;
    var __label__;
    var _0 = __ZL10removeleafP6btDbvtP10btDbvtNode(_this, _leaf);
    var _1 = _this+4;
    var _2 = IHEAP[_1];
    var _3 = _2;
    __Z21btAlignedFreeInternalPv(_3);
    IHEAP[_1] = _leaf;
    var _4 = _this+12;
    var _5 = IHEAP[_4];
    var _6 = _5 + -1;
    IHEAP[_4] = _6;
    ;
    return;
  }
  __ZN6btDbvt6removeEP10btDbvtNode.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt6removeEP10btDbvtNode, "__ZN6btDbvt6removeEP10btDbvtNode");
  
  
  function __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm(_this, _leaf, _volume) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __ZL10removeleafP6btDbvtP10btDbvtNode(_this, _leaf);
    var _1 = _0 == 0;
    ;
    _bb6$_bb$1459: do { 
      if (_1) {
        __lastLabel__ = -1; ;
      }
      else {
        __lastLabel__ = -1; ;
        var _2 = _this+8;
        var _3 = IHEAP[_2];
        var _4 = _3 > -1;
        ;
        if (_4) {
          __lastLabel__ = 60; ;
          _bb3$1462: while(1) { // _bb3
            var _root_0 = __lastLabel__ == 0 ? _9 : (_0);
            var _6 = __lastLabel__ == 0 ? _5 : (0);
            var _7 = _3 > _6;
            if (_7) { __lastLabel__ = 116; ; } else { __lastLabel__ = 116; __label__ = 83; /* _bb6 */ break _bb6$_bb$1459; }
            var _8 = _root_0+32;
            var _9 = IHEAP[_8];
            var _10 = _9 == 0;
            if (_10) { __lastLabel__ = 61; __label__ = 83; /* _bb6 */ break _bb6$_bb$1459; } else { __lastLabel__ = 61; ; }
            var _5 = _6 + 1;
            __lastLabel__ = 0; __label__ = 116; /* _bb3 */ continue _bb3$1462;
          }
        }
        else {
          __lastLabel__ = 60; ;
          var _11 = _this;
          var _12 = IHEAP[_11];
          __lastLabel__ = 82; ;
        }
      }
    } while(0);
    var _root_1 = __lastLabel__ == 82 ? _12 : (__lastLabel__ == -1 ? 0 : (__lastLabel__ == 116 ? _root_0 : (_root_0)));
    var _13 = _leaf;
    var _14 = _volume;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    var _16 = _leaf+4;
    var _17 = _volume+4;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _leaf+8;
    var _20 = _volume+8;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _leaf+12;
    var _23 = _volume+12;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    var _25 = _leaf+16;
    var _26 = _volume+16;
    var _27 = FHEAP[_26];
    FHEAP[_25] = _27;
    var _28 = _leaf+16+4;
    var _29 = _volume+16+4;
    var _30 = FHEAP[_29];
    FHEAP[_28] = _30;
    var _31 = _leaf+16+8;
    var _32 = _volume+16+8;
    var _33 = FHEAP[_32];
    FHEAP[_31] = _33;
    var _34 = _leaf+16+12;
    var _35 = _volume+16+12;
    var _36 = FHEAP[_35];
    FHEAP[_34] = _36;
    __ZL10insertleafP6btDbvtP10btDbvtNodeS2_(_this, _root_1, _leaf);
    ;
    return;
  }
  __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm, "__ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm");
  
  
  function __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMmf(_this, _leaf, _volume, _margin) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _leaf;
    var _1 = FHEAP[_0];
    var _2 = _volume;
    var _3 = FHEAP[_2];
    var _4 = _1 > _3;
    ;
    _entry_bb1_crit_edge$_bb_i$1469: do { 
      if (_4) {
        ;
        var __phi_trans_insert = _volume+4;
        var __pre = FHEAP[__phi_trans_insert];
        __lastLabel__ = 294; ;
      }
      else {
        ;
        var _5 = _leaf+4;
        var _6 = FHEAP[_5];
        var _7 = _volume+4;
        var _8 = FHEAP[_7];
        var _9 = _6 > _8;
        if (_9) { __lastLabel__ = 131; __label__ = 75; /* _bb1 */ break _entry_bb1_crit_edge$_bb_i$1469; } else { __lastLabel__ = 131; ; }
        var _10 = _leaf+8;
        var _11 = FHEAP[_10];
        var _12 = _volume+8;
        var _13 = FHEAP[_12];
        var _14 = _11 > _13;
        if (_14) { __lastLabel__ = 159; __label__ = 75; /* _bb1 */ break _entry_bb1_crit_edge$_bb_i$1469; } else { __lastLabel__ = 159; ; }
        var _15 = _leaf+16;
        var _16 = FHEAP[_15];
        var _17 = _volume+16;
        var _18 = FHEAP[_17];
        var _19 = _16 < _18;
        if (_19) { __lastLabel__ = 132; __label__ = 75; /* _bb1 */ break _entry_bb1_crit_edge$_bb_i$1469; } else { __lastLabel__ = 132; ; }
        var _20 = _leaf+16+4;
        var _21 = FHEAP[_20];
        var _22 = _volume+16+4;
        var _23 = FHEAP[_22];
        var _24 = _21 < _23;
        if (_24) { __lastLabel__ = 133; __label__ = 75; /* _bb1 */ break _entry_bb1_crit_edge$_bb_i$1469; } else { __lastLabel__ = 133; ; }
        var _25 = _leaf+16+8;
        var _26 = FHEAP[_25];
        var _27 = _volume+16+8;
        var _28 = FHEAP[_27];
        var _phitmp = _26 < _28;
        if (_phitmp) { __lastLabel__ = 266; __label__ = 75; /* _bb1 */ break _entry_bb1_crit_edge$_bb_i$1469; } else { __lastLabel__ = 266; ; }
        ;
        return 0;
      }
    } while(0);
    var _29 = __lastLabel__ == 294 ? __pre : (__lastLabel__ == 266 ? _8 : (__lastLabel__ == 131 ? _8 : (__lastLabel__ == 159 ? _8 : (__lastLabel__ == 132 ? _8 : (_8)))));
    var _30 = _3 - _margin;
    FHEAP[_2] = _30;
    var _31 = _volume+4;
    var _32 = _29 - _margin;
    FHEAP[_31] = _32;
    var _33 = _volume+8;
    var _34 = FHEAP[_33];
    var _35 = _34 - _margin;
    FHEAP[_33] = _35;
    var _36 = _volume+16;
    var _37 = FHEAP[_36];
    var _38 = _37 + _margin;
    FHEAP[_36] = _38;
    var _39 = _volume+16+4;
    var _40 = FHEAP[_39];
    var _41 = _40 + _margin;
    FHEAP[_39] = _41;
    var _42 = _volume+16+8;
    var _43 = FHEAP[_42];
    var _44 = _43 + _margin;
    FHEAP[_42] = _44;
    var _45 = __ZL10removeleafP6btDbvtP10btDbvtNode(_this, _leaf);
    var _46 = _45 == 0;
    ;
    __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm_exit$_bb_i5$1478: do { 
      if (_46) {
        __lastLabel__ = 75; ;
      }
      else {
        __lastLabel__ = 75; ;
        var _47 = _this+8;
        var _48 = IHEAP[_47];
        var _49 = _48 > -1;
        ;
        if (_49) {
          __lastLabel__ = 1383; ;
          _bb3_i7$1481: while(1) { // _bb3_i7
            var _root_0_i = __lastLabel__ == 296 ? _54 : (_45);
            var _51 = __lastLabel__ == 296 ? _50 : (0);
            var _52 = _48 > _51;
            if (_52) { __lastLabel__ = 297; ; } else { __lastLabel__ = 297; __label__ = 299; /* __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm_exit */ break __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm_exit$_bb_i5$1478; }
            var _53 = _root_0_i+32;
            var _54 = IHEAP[_53];
            var _55 = _54 == 0;
            if (_55) { __lastLabel__ = 298; __label__ = 299; /* __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm_exit */ break __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm_exit$_bb_i5$1478; } else { __lastLabel__ = 298; ; }
            var _50 = _51 + 1;
            __lastLabel__ = 296; __label__ = 297; /* _bb3_i7 */ continue _bb3_i7$1481;
          }
        }
        else {
          __lastLabel__ = 1383; ;
          var _56 = _this;
          var _57 = IHEAP[_56];
          __lastLabel__ = 300; ;
        }
      }
    } while(0);
    var _root_1_i = __lastLabel__ == 300 ? _57 : (__lastLabel__ == 75 ? 0 : (__lastLabel__ == 298 ? _root_0_i : (_root_0_i)));
    var _58 = FHEAP[_2];
    FHEAP[_0] = _58;
    var _59 = _leaf+4;
    var _60 = FHEAP[_31];
    FHEAP[_59] = _60;
    var _61 = _leaf+8;
    var _62 = FHEAP[_33];
    FHEAP[_61] = _62;
    var _63 = _leaf+12;
    var _64 = _volume+12;
    var _65 = FHEAP[_64];
    FHEAP[_63] = _65;
    var _66 = _leaf+16;
    var _67 = FHEAP[_36];
    FHEAP[_66] = _67;
    var _68 = _leaf+16+4;
    var _69 = FHEAP[_39];
    FHEAP[_68] = _69;
    var _70 = _leaf+16+8;
    var _71 = FHEAP[_42];
    FHEAP[_70] = _71;
    var _72 = _leaf+16+12;
    var _73 = _volume+16+12;
    var _74 = FHEAP[_73];
    FHEAP[_72] = _74;
    __ZL10insertleafP6btDbvtP10btDbvtNodeS2_(_this, _root_1_i, _leaf);
    ;
    return 1;
  }
  __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMmf.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMmf, "__ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMmf");
  
  
  function __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMmRK9btVector3(_this, _leaf, _volume, _velocity) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _leaf;
    var _1 = FHEAP[_0];
    var _2 = _volume;
    var _3 = FHEAP[_2];
    var _4 = _1 > _3;
    ;
    _bb1$_bb_i$1488: do { 
      if (!_4) {
        ;
        var _5 = _leaf+4;
        var _6 = FHEAP[_5];
        var _7 = _volume+4;
        var _8 = FHEAP[_7];
        var _9 = _6 > _8;
        if (_9) { __label__ = 75; /* _bb1 */ break _bb1$_bb_i$1488; }
        var _10 = _leaf+8;
        var _11 = FHEAP[_10];
        var _12 = _volume+8;
        var _13 = FHEAP[_12];
        var _14 = _11 > _13;
        if (_14) { __label__ = 75; /* _bb1 */ break _bb1$_bb_i$1488; }
        var _15 = _leaf+16;
        var _16 = FHEAP[_15];
        var _17 = _volume+16;
        var _18 = FHEAP[_17];
        var _19 = _16 < _18;
        if (_19) { __label__ = 75; /* _bb1 */ break _bb1$_bb_i$1488; }
        var _20 = _leaf+16+4;
        var _21 = FHEAP[_20];
        var _22 = _volume+16+4;
        var _23 = FHEAP[_22];
        var _24 = _21 < _23;
        if (_24) { __label__ = 75; /* _bb1 */ break _bb1$_bb_i$1488; }
        var _25 = _leaf+16+8;
        var _26 = FHEAP[_25];
        var _27 = _volume+16+8;
        var _28 = FHEAP[_27];
        var _phitmp = _26 < _28;
        if (_phitmp) { __label__ = 75; /* _bb1 */ break _bb1$_bb_i$1488; }
        ;
        return 0;
      }
    } while(0);
    var _29 = _velocity;
    var _30 = FHEAP[_29];
    var _31 = _30 > 0;
    ;
    if (_31) {
      ;
      var _32 = _volume+16;
      var _33 = FHEAP[_32];
      var _34 = _33 + _30;
      FHEAP[_32] = _34;
      ;
    }
    else {
      ;
      var _35 = _3 + _30;
      FHEAP[_2] = _35;
      ;
    }
    var _36 = _velocity+4;
    var _37 = FHEAP[_36];
    var _38 = _37 > 0;
    ;
    if (_38) {
      ;
      var _39 = _volume+16+4;
      var _40 = FHEAP[_39];
      var _41 = _40 + _37;
      FHEAP[_39] = _41;
      ;
    }
    else {
      ;
      var _42 = _volume+4;
      var _43 = FHEAP[_42];
      var _44 = _43 + _37;
      FHEAP[_42] = _44;
      ;
    }
    var _45 = _velocity+8;
    var _46 = FHEAP[_45];
    var _47 = _46 > 0;
    ;
    if (_47) {
      ;
      var _48 = _volume+16+8;
      var _49 = FHEAP[_48];
      var _50 = _49 + _46;
      FHEAP[_48] = _50;
      ;
    }
    else {
      ;
      var _51 = _volume+8;
      var _52 = FHEAP[_51];
      var _53 = _52 + _46;
      FHEAP[_51] = _53;
      ;
    }
    var _54 = __ZL10removeleafP6btDbvtP10btDbvtNode(_this, _leaf);
    var _55 = _54 == 0;
    ;
    __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm_exit$_bb_i5$1508: do { 
      if (_55) {
        __lastLabel__ = 4080; ;
      }
      else {
        __lastLabel__ = 4080; ;
        var _56 = _this+8;
        var _57 = IHEAP[_56];
        var _58 = _57 > -1;
        ;
        if (_58) {
          __lastLabel__ = 1383; ;
          _bb3_i7$1511: while(1) { // _bb3_i7
            var _root_0_i = __lastLabel__ == 296 ? _63 : (_54);
            var _60 = __lastLabel__ == 296 ? _59 : (0);
            var _61 = _57 > _60;
            if (_61) { __lastLabel__ = 297; ; } else { __lastLabel__ = 297; __label__ = 299; /* __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm_exit */ break __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm_exit$_bb_i5$1508; }
            var _62 = _root_0_i+32;
            var _63 = IHEAP[_62];
            var _64 = _63 == 0;
            if (_64) { __lastLabel__ = 298; __label__ = 299; /* __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm_exit */ break __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm_exit$_bb_i5$1508; } else { __lastLabel__ = 298; ; }
            var _59 = _60 + 1;
            __lastLabel__ = 296; __label__ = 297; /* _bb3_i7 */ continue _bb3_i7$1511;
          }
        }
        else {
          __lastLabel__ = 1383; ;
          var _65 = _this;
          var _66 = IHEAP[_65];
          __lastLabel__ = 300; ;
        }
      }
    } while(0);
    var _root_1_i = __lastLabel__ == 300 ? _66 : (__lastLabel__ == 4080 ? 0 : (__lastLabel__ == 298 ? _root_0_i : (_root_0_i)));
    var _67 = FHEAP[_2];
    FHEAP[_0] = _67;
    var _68 = _leaf+4;
    var _69 = _volume+4;
    var _70 = FHEAP[_69];
    FHEAP[_68] = _70;
    var _71 = _leaf+8;
    var _72 = _volume+8;
    var _73 = FHEAP[_72];
    FHEAP[_71] = _73;
    var _74 = _leaf+12;
    var _75 = _volume+12;
    var _76 = FHEAP[_75];
    FHEAP[_74] = _76;
    var _77 = _leaf+16;
    var _78 = _volume+16;
    var _79 = FHEAP[_78];
    FHEAP[_77] = _79;
    var _80 = _leaf+16+4;
    var _81 = _volume+16+4;
    var _82 = FHEAP[_81];
    FHEAP[_80] = _82;
    var _83 = _leaf+16+8;
    var _84 = _volume+16+8;
    var _85 = FHEAP[_84];
    FHEAP[_83] = _85;
    var _86 = _leaf+16+12;
    var _87 = _volume+16+12;
    var _88 = FHEAP[_87];
    FHEAP[_86] = _88;
    __ZL10insertleafP6btDbvtP10btDbvtNodeS2_(_this, _root_1_i, _leaf);
    ;
    return 1;
  }
  __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMmRK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMmRK9btVector3, "__ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMmRK9btVector3");
  
  
  function __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMmRK9btVector3f(_this, _leaf, _volume, _velocity, _margin) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _leaf;
    var _1 = FHEAP[_0];
    var _2 = _volume;
    var _3 = FHEAP[_2];
    var _4 = _1 > _3;
    ;
    _entry_bb1_crit_edge$_bb_i$1518: do { 
      if (_4) {
        ;
        var __phi_trans_insert = _volume+4;
        var __pre = FHEAP[__phi_trans_insert];
        __lastLabel__ = 294; ;
      }
      else {
        ;
        var _5 = _leaf+4;
        var _6 = FHEAP[_5];
        var _7 = _volume+4;
        var _8 = FHEAP[_7];
        var _9 = _6 > _8;
        if (_9) { __lastLabel__ = 131; __label__ = 75; /* _bb1 */ break _entry_bb1_crit_edge$_bb_i$1518; } else { __lastLabel__ = 131; ; }
        var _10 = _leaf+8;
        var _11 = FHEAP[_10];
        var _12 = _volume+8;
        var _13 = FHEAP[_12];
        var _14 = _11 > _13;
        if (_14) { __lastLabel__ = 159; __label__ = 75; /* _bb1 */ break _entry_bb1_crit_edge$_bb_i$1518; } else { __lastLabel__ = 159; ; }
        var _15 = _leaf+16;
        var _16 = FHEAP[_15];
        var _17 = _volume+16;
        var _18 = FHEAP[_17];
        var _19 = _16 < _18;
        if (_19) { __lastLabel__ = 132; __label__ = 75; /* _bb1 */ break _entry_bb1_crit_edge$_bb_i$1518; } else { __lastLabel__ = 132; ; }
        var _20 = _leaf+16+4;
        var _21 = FHEAP[_20];
        var _22 = _volume+16+4;
        var _23 = FHEAP[_22];
        var _24 = _21 < _23;
        if (_24) { __lastLabel__ = 133; __label__ = 75; /* _bb1 */ break _entry_bb1_crit_edge$_bb_i$1518; } else { __lastLabel__ = 133; ; }
        var _25 = _leaf+16+8;
        var _26 = FHEAP[_25];
        var _27 = _volume+16+8;
        var _28 = FHEAP[_27];
        var _phitmp = _26 < _28;
        if (_phitmp) { __lastLabel__ = 266; __label__ = 75; /* _bb1 */ break _entry_bb1_crit_edge$_bb_i$1518; } else { __lastLabel__ = 266; ; }
        ;
        return 0;
      }
    } while(0);
    var _29 = __lastLabel__ == 294 ? __pre : (__lastLabel__ == 266 ? _8 : (__lastLabel__ == 131 ? _8 : (__lastLabel__ == 159 ? _8 : (__lastLabel__ == 132 ? _8 : (_8)))));
    var _30 = _3 - _margin;
    FHEAP[_2] = _30;
    var _31 = _volume+4;
    var _32 = _29 - _margin;
    FHEAP[_31] = _32;
    var _33 = _volume+8;
    var _34 = FHEAP[_33];
    var _35 = _34 - _margin;
    FHEAP[_33] = _35;
    var _36 = _volume+16;
    var _37 = FHEAP[_36];
    var _38 = _37 + _margin;
    FHEAP[_36] = _38;
    var _39 = _volume+16+4;
    var _40 = FHEAP[_39];
    var _41 = _40 + _margin;
    FHEAP[_39] = _41;
    var _42 = _volume+16+8;
    var _43 = FHEAP[_42];
    var _44 = _43 + _margin;
    FHEAP[_42] = _44;
    var _45 = _velocity;
    var _46 = FHEAP[_45];
    var _47 = _46 > 0;
    ;
    if (_47) {
      ;
      var _48 = _38 + _46;
      FHEAP[_36] = _48;
      ;
    }
    else {
      ;
      var _49 = _30 + _46;
      FHEAP[_2] = _49;
      ;
    }
    var _50 = _velocity+4;
    var _51 = FHEAP[_50];
    var _52 = _51 > 0;
    ;
    if (_52) {
      ;
      var _53 = _41 + _51;
      FHEAP[_39] = _53;
      ;
    }
    else {
      ;
      var _54 = _32 + _51;
      FHEAP[_31] = _54;
      ;
    }
    var _55 = _velocity+8;
    var _56 = FHEAP[_55];
    var _57 = _56 > 0;
    ;
    if (_57) {
      ;
      var _58 = _44 + _56;
      FHEAP[_42] = _58;
      ;
    }
    else {
      ;
      var _59 = _35 + _56;
      FHEAP[_33] = _59;
      ;
    }
    var _60 = __ZL10removeleafP6btDbvtP10btDbvtNode(_this, _leaf);
    var _61 = _60 == 0;
    ;
    __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm_exit$_bb_i5$1539: do { 
      if (_61) {
        __lastLabel__ = 4080; ;
      }
      else {
        __lastLabel__ = 4080; ;
        var _62 = _this+8;
        var _63 = IHEAP[_62];
        var _64 = _63 > -1;
        ;
        if (_64) {
          __lastLabel__ = 1383; ;
          _bb3_i7$1542: while(1) { // _bb3_i7
            var _root_0_i = __lastLabel__ == 296 ? _69 : (_60);
            var _66 = __lastLabel__ == 296 ? _65 : (0);
            var _67 = _63 > _66;
            if (_67) { __lastLabel__ = 297; ; } else { __lastLabel__ = 297; __label__ = 299; /* __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm_exit */ break __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm_exit$_bb_i5$1539; }
            var _68 = _root_0_i+32;
            var _69 = IHEAP[_68];
            var _70 = _69 == 0;
            if (_70) { __lastLabel__ = 298; __label__ = 299; /* __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm_exit */ break __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm_exit$_bb_i5$1539; } else { __lastLabel__ = 298; ; }
            var _65 = _66 + 1;
            __lastLabel__ = 296; __label__ = 297; /* _bb3_i7 */ continue _bb3_i7$1542;
          }
        }
        else {
          __lastLabel__ = 1383; ;
          var _71 = _this;
          var _72 = IHEAP[_71];
          __lastLabel__ = 300; ;
        }
      }
    } while(0);
    var _root_1_i = __lastLabel__ == 300 ? _72 : (__lastLabel__ == 4080 ? 0 : (__lastLabel__ == 298 ? _root_0_i : (_root_0_i)));
    var _73 = FHEAP[_2];
    FHEAP[_0] = _73;
    var _74 = _leaf+4;
    var _75 = FHEAP[_31];
    FHEAP[_74] = _75;
    var _76 = _leaf+8;
    var _77 = FHEAP[_33];
    FHEAP[_76] = _77;
    var _78 = _leaf+12;
    var _79 = _volume+12;
    var _80 = FHEAP[_79];
    FHEAP[_78] = _80;
    var _81 = _leaf+16;
    var _82 = FHEAP[_36];
    FHEAP[_81] = _82;
    var _83 = _leaf+16+4;
    var _84 = FHEAP[_39];
    FHEAP[_83] = _84;
    var _85 = _leaf+16+8;
    var _86 = FHEAP[_42];
    FHEAP[_85] = _86;
    var _87 = _leaf+16+12;
    var _88 = _volume+16+12;
    var _89 = FHEAP[_88];
    FHEAP[_87] = _89;
    __ZL10insertleafP6btDbvtP10btDbvtNodeS2_(_this, _root_1_i, _leaf);
    ;
    return 1;
  }
  __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMmRK9btVector3f.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMmRK9btVector3f, "__ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMmRK9btVector3f");
  
  
  function __ZN6btDbvt6updateEP10btDbvtNodei(_this, _leaf, _lookahead) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __ZL10removeleafP6btDbvtP10btDbvtNode(_this, _leaf);
    var _1 = _0 == 0;
    ;
    _bb6$_bb$1549: do { 
      if (_1) {
        __lastLabel__ = -1; ;
      }
      else {
        __lastLabel__ = -1; ;
        var _2 = _lookahead > -1;
        ;
        if (_2) {
          __lastLabel__ = 60; ;
          _bb3$1552: while(1) { // _bb3
            var _root_0 = __lastLabel__ == 0 ? _7 : (_0);
            var _4 = __lastLabel__ == 0 ? _3 : (0);
            var _5 = _4 < _lookahead;
            if (_5) { __lastLabel__ = 116; ; } else { __lastLabel__ = 116; __label__ = 83; /* _bb6 */ break _bb6$_bb$1549; }
            var _6 = _root_0+32;
            var _7 = IHEAP[_6];
            var _8 = _7 == 0;
            if (_8) { __lastLabel__ = 61; __label__ = 83; /* _bb6 */ break _bb6$_bb$1549; } else { __lastLabel__ = 61; ; }
            var _3 = _4 + 1;
            __lastLabel__ = 0; __label__ = 116; /* _bb3 */ continue _bb3$1552;
          }
        }
        else {
          __lastLabel__ = 60; ;
          var _9 = _this;
          var _10 = IHEAP[_9];
          __lastLabel__ = 82; ;
        }
      }
    } while(0);
    var _root_1 = __lastLabel__ == 82 ? _10 : (__lastLabel__ == -1 ? 0 : (__lastLabel__ == 116 ? _root_0 : (_root_0)));
    __ZL10insertleafP6btDbvtP10btDbvtNodeS2_(_this, _root_1, _leaf);
    ;
    return;
  }
  __ZN6btDbvt6updateEP10btDbvtNodei.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt6updateEP10btDbvtNodei, "__ZN6btDbvt6updateEP10btDbvtNodei");
  
  
  function __ZN6btDbvt19optimizeIncrementalEi(_this, _passes) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _passes < 0;
    ;
    if (_0) {
      __lastLabel__ = -1; ;
      var _1 = _this+12;
      var _2 = IHEAP[_1];
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _passes_addr_0 = __lastLabel__ == 60 ? _2 : (_passes);
    var _3 = _this;
    var _4 = IHEAP[_3];
    var _5 = _4 != 0;
    var _6 = _passes_addr_0 > 0;
    var _7 = _5 & _6;
    ;
    _bb4_preheader$_return$1562: do { 
      if (_7) {
        ;
        var _8 = _this+16;
        __lastLabel__ = 262; ;
        _bb4$1564: while(1) { // _bb4
          var _node_013 = __lastLabel__ == 262 ? _4 : (_node_013_pre);
          var _indvar = __lastLabel__ == 262 ? 1 : (_phitmp);
          var _9 = _node_013+36+4;
          var _10 = IHEAP[_9];
          var _toBoolnot_i14 = _10 == 0;
          if (_toBoolnot_i14) { __lastLabel__ = 61; __label__ = 148; /* _bb8 */  } else { __lastLabel__ = 61; __label__ = 82; /* _bb5 */  }
          _bb8$_bb5$1566: while(1) { // _bb8,_bb5
            if (__label__ == 148) {
              var _node_0_lcssa = __lastLabel__ == 61 ? _node_013 : (_node_0);
              var _82 = __ZL10removeleafP6btDbvtP10btDbvtNode(_this, _node_0_lcssa);
              var _83 = _82 == 0;
              if (_83) { __lastLabel__ = 148; __label__ = 316; /* __ZN6btDbvt6updateEP10btDbvtNodei_exit */ break _bb8$_bb5$1566; } else { __lastLabel__ = 148; __label__ = 317; /* _bb_i11 */ break _bb8$_bb5$1566; }
            }
            else if (__label__ == 82) {
              var _node_016 = __lastLabel__ == 315 ? _node_0 : (_node_013);
              var _bit_015 = __lastLabel__ == 315 ? _78 : (0);
              var _11 = _node_016+32;
              var _12 = IHEAP[_11];
              var _13 = _12 > _node_016;
              ;
              if (_13) {
                __lastLabel__ = 82; ;
                var _14 = _12+36+4;
                var _15 = IHEAP[_14];
                var _16 = _15 == _node_016;
                var _17 = _16;
                var _18 = _17 ^ 1;
                var _19 = _12+36+_18*4;
                var _20 = IHEAP[_19];
                var _21 = _12+32;
                var _22 = IHEAP[_21];
                var _23 = _22 == 0;
                ;
                if (_23) {
                  ;
                  IHEAP[_3] = _node_016;
                  ;
                }
                else {
                  ;
                  var _24 = _22+36+4;
                  var _25 = IHEAP[_24];
                  var _26 = _25 == _12;
                  var _27 = _26;
                  var _28 = _22+36+_27*4;
                  IHEAP[_28] = _node_016;
                  ;
                }
                var _29 = _20+32;
                IHEAP[_29] = _node_016;
                IHEAP[_21] = _node_016;
                IHEAP[_11] = _22;
                var _30 = _node_016+36;
                var _31 = IHEAP[_30];
                var _32 = _12+36;
                IHEAP[_32] = _31;
                var _33 = _node_016+36+4;
                var _34 = IHEAP[_33];
                IHEAP[_14] = _34;
                var _35 = IHEAP[_30];
                var _36 = _35+32;
                IHEAP[_36] = _12;
                var _37 = IHEAP[_33];
                var _38 = _37+32;
                IHEAP[_38] = _12;
                var _39 = _node_016+36+_17*4;
                IHEAP[_39] = _12;
                var _40 = _node_016+36+_18*4;
                IHEAP[_40] = _20;
                var _41 = _12;
                var _42 = FHEAP[_41];
                var _43 = _12+4;
                var _44 = FHEAP[_43];
                var _45 = _12+8;
                var _46 = FHEAP[_45];
                var _47 = _12+12;
                var _48 = FHEAP[_47];
                var _49 = _12+16;
                var _50 = FHEAP[_49];
                var _51 = _12+16+4;
                var _52 = FHEAP[_51];
                var _53 = _12+16+8;
                var _54 = FHEAP[_53];
                var _55 = _12+16+12;
                var _56 = FHEAP[_55];
                var _57 = _node_016;
                var _58 = FHEAP[_57];
                FHEAP[_41] = _58;
                var _59 = _node_016+4;
                var _60 = FHEAP[_59];
                FHEAP[_43] = _60;
                var _61 = _node_016+8;
                var _62 = FHEAP[_61];
                FHEAP[_45] = _62;
                var _63 = _node_016+12;
                var _64 = FHEAP[_63];
                FHEAP[_47] = _64;
                var _65 = _node_016+16;
                var _66 = FHEAP[_65];
                FHEAP[_49] = _66;
                var _67 = _node_016+16+4;
                var _68 = FHEAP[_67];
                FHEAP[_51] = _68;
                var _69 = _node_016+16+8;
                var _70 = FHEAP[_69];
                FHEAP[_53] = _70;
                var _71 = _node_016+16+12;
                var _72 = FHEAP[_71];
                FHEAP[_55] = _72;
                FHEAP[_57] = _42;
                FHEAP[_59] = _44;
                FHEAP[_61] = _46;
                FHEAP[_63] = _48;
                FHEAP[_65] = _50;
                FHEAP[_67] = _52;
                FHEAP[_69] = _54;
                FHEAP[_71] = _56;
                __lastLabel__ = 133; ;
              }
              else {
                __lastLabel__ = 82; ;
              }
              var _73 = __lastLabel__ == 133 ? _12 : (_node_016);
              var _74 = IHEAP[_8];
              var _75 = _74 >> _bit_015;
              var _76 = _bit_015 + 1;
              var _77 = _75 & 1;
              var _78 = _76 & 31;
              var _79 = _73+36+_77*4;
              var _node_0 = IHEAP[_79];
              var _80 = _node_0+36+4;
              var _81 = IHEAP[_80];
              var _toBoolnot_i = _81 == 0;
              if (_toBoolnot_i) { __lastLabel__ = 315; __label__ = 148; /* _bb8 */ continue _bb8$_bb5$1566; } else { __lastLabel__ = 315; __label__ = 82; /* _bb5 */ continue _bb8$_bb5$1566; }
            }
          }
          if (__label__ == 317) {
            var _84 = IHEAP[_3];
            __lastLabel__ = 317; ;
          }
          var _root_1_i = __lastLabel__ == 317 ? _84 : (0);
          __ZL10insertleafP6btDbvtP10btDbvtNodeS2_(_this, _root_1_i, _node_0_lcssa);
          var _85 = IHEAP[_8];
          var _86 = _85 + 1;
          IHEAP[_8] = _86;
          var _exitcond = _indvar == _passes_addr_0;
          if (_exitcond) { __label__ = 44; /* _return */ break _bb4_preheader$_return$1562; }
          var _node_013_pre = IHEAP[_3];
          var _phitmp = _indvar + 1;
          __lastLabel__ = 319; __label__ = 61; /* _bb4 */ continue _bb4$1564;
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN6btDbvt19optimizeIncrementalEi.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt19optimizeIncrementalEi, "__ZN6btDbvt19optimizeIncrementalEi");
  
  
  function __ZN20btAlignedObjectArrayIP10btDbvtNodeE9push_backERKS1_(_this, __Val) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _this+8;
    var _3 = IHEAP[_2];
    var _4 = _3 == _1;
    ;
    _bb$_bb1$1590: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 == 0;
        var _6 = _1 << 1;
        var _iftmp_315_0_i = _5 ? 1 : _6;
        var _7 = _3 < _iftmp_315_0_i;
        if (_7) { __lastLabel__ = 60; ; } else { __lastLabel__ = 60; __label__ = 75; /* _bb1 */ break _bb$_bb1$1590; }
        var _8 = _iftmp_315_0_i == 0;
        ;
        if (_8) {
          __lastLabel__ = 131; ;
        }
        else {
          __lastLabel__ = 131; ;
          var _9 = _iftmp_315_0_i << 2;
          var _10 = __Z22btAlignedAllocInternalji(_9, 16);
          var _phitmp_i = _10;
          var __pre = IHEAP[_0];
          __lastLabel__ = 215; ;
        }
        var _11 = __lastLabel__ == 215 ? __pre : (_1);
        var _12 = __lastLabel__ == 215 ? _phitmp_i : (0);
        var _13 = _11 > 0;
        ;
        _bb_nph_i_i$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i$1596: do { 
          if (_13) {
            ;
            var _14 = _this+12;
            __lastLabel__ = 217; ;
            _bb_i4_i$1598: while(1) { // _bb_i4_i
              var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
              var _scevgep_i_i = _12+4*_indvar_i_i;
              var _15 = _scevgep_i_i == 0;
              ;
              if (!_15) {
                ;
                var _16 = IHEAP[_14];
                var _scevgep8_i_i = _16+4*_indvar_i_i;
                var _17 = IHEAP[_scevgep8_i_i];
                IHEAP[_scevgep_i_i] = _17;
                ;
              }
              var _indvar_next_i_i = _indvar_i_i + 1;
              var _exitcond = _indvar_next_i_i == _11;
              if (_exitcond) { __lastLabel__ = 324; __label__ = 325; /* __ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i$1596; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$1598; }
            }
          }
        } while(0);
        var _18 = _this+12;
        var _19 = IHEAP[_18];
        var _20 = _19 == 0;
        ;
        if (!_20) {
          ;
          var _21 = _this+16;
          var _22 = IHEAP[_21];
          var _toBool_i_i = _22 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _23 = _19;
            __Z21btAlignedFreeInternalPv(_23);
            ;
          }
          IHEAP[_18] = 0;
          ;
        }
        var _24 = _this+16;
        IHEAP[_24] = 1;
        IHEAP[_18] = _12;
        IHEAP[_2] = _iftmp_315_0_i;
        var __pre5 = IHEAP[_0];
        __lastLabel__ = 328; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _25 = __lastLabel__ == 328 ? __pre5 : (__lastLabel__ == -1 ? _1 : (_1));
    var _26 = _this+12;
    var _27 = IHEAP[_26];
    var _28 = _27+4*_25;
    var _29 = _28 == 0;
    ;
    if (_29) {
      __lastLabel__ = 75; ;
    }
    else {
      __lastLabel__ = 75; ;
      var _30 = IHEAP[__Val];
      IHEAP[_28] = _30;
      var __pre6 = IHEAP[_0];
      __lastLabel__ = 0; ;
    }
    var _31 = __lastLabel__ == 75 ? _25 : (__pre6);
    var _32 = _31 + 1;
    IHEAP[_0] = _32;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIP10btDbvtNodeE9push_backERKS1_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIP10btDbvtNodeE9push_backERKS1_, "__ZN20btAlignedObjectArrayIP10btDbvtNodeE9push_backERKS1_");
  
  
  function __ZL11fetchleavesP6btDbvtP10btDbvtNodeR20btAlignedObjectArrayIS2_Ei(_pdbvt, _root, _leaves, _depth) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _root+36+4;
    var _1 = IHEAP[_0];
    var _notlhs = _depth != 0;
    var _notrhs = _1 != 0;
    var _not_or_cond = _notrhs & _notlhs;
    ;
    if (_not_or_cond) {
      ;
      var _2 = _depth + -1;
      var _3 = _root+36;
      var _4 = IHEAP[_3];
      __ZL11fetchleavesP6btDbvtP10btDbvtNodeR20btAlignedObjectArrayIS2_Ei(_pdbvt, _4, _leaves, _2);
      var _5 = IHEAP[_0];
      __ZL11fetchleavesP6btDbvtP10btDbvtNodeR20btAlignedObjectArrayIS2_Ei(_pdbvt, _5, _leaves, _2);
      var _6 = _pdbvt+4;
      var _7 = IHEAP[_6];
      var _8 = _7;
      __Z21btAlignedFreeInternalPv(_8);
      IHEAP[_6] = _root;
      ;
      return;
    }
    else {
      ;
      var _9 = _leaves+4;
      var _10 = IHEAP[_9];
      var _11 = _leaves+8;
      var _12 = IHEAP[_11];
      var _13 = _12 == _10;
      ;
      _bb_i$_bb1_i$1618: do { 
        if (_13) {
          __lastLabel__ = 62; ;
          var _14 = _10 == 0;
          var _15 = _10 << 1;
          var _iftmp_315_0_i_i = _14 ? 1 : _15;
          var _16 = _12 < _iftmp_315_0_i_i;
          if (_16) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$1618; }
          var _17 = _iftmp_315_0_i_i == 0;
          ;
          if (_17) {
            __lastLabel__ = 263; ;
          }
          else {
            __lastLabel__ = 263; ;
            var _18 = _iftmp_315_0_i_i << 2;
            var _19 = __Z22btAlignedAllocInternalji(_18, 16);
            var _phitmp_i_i = _19;
            var __pre_i = IHEAP[_9];
            __lastLabel__ = 274; ;
          }
          var _20 = __lastLabel__ == 274 ? __pre_i : (_10);
          var _21 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
          var _22 = _20 > 0;
          ;
          _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i_i$1624: do { 
            if (_22) {
              ;
              var _23 = _leaves+12;
              __lastLabel__ = 276; ;
              _bb_i4_i_i$1626: while(1) { // _bb_i4_i_i
                var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
                var _scevgep_i_i_i = _21+4*_indvar_i_i_i;
                var _24 = _scevgep_i_i_i == 0;
                ;
                if (!_24) {
                  ;
                  var _25 = IHEAP[_23];
                  var _scevgep8_i_i_i = _25+4*_indvar_i_i_i;
                  var _26 = IHEAP[_scevgep8_i_i_i];
                  IHEAP[_scevgep_i_i_i] = _26;
                  ;
                }
                var _indvar_next_i_i_i = _indvar_i_i_i + 1;
                var _exitcond = _indvar_next_i_i_i == _20;
                if (_exitcond) { __lastLabel__ = 279; __label__ = 333; /* __ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i_i$1624; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$1626; }
              }
            }
          } while(0);
          var _27 = _leaves+12;
          var _28 = IHEAP[_27];
          var _29 = _28 == 0;
          ;
          if (!_29) {
            ;
            var _30 = _leaves+16;
            var _31 = IHEAP[_30];
            var _toBool_i_i_i = _31 == 0;
            ;
            if (!_toBool_i_i_i) {
              ;
              var _32 = _28;
              __Z21btAlignedFreeInternalPv(_32);
              ;
            }
            IHEAP[_27] = 0;
            ;
          }
          var _33 = _leaves+16;
          IHEAP[_33] = 1;
          IHEAP[_27] = _21;
          IHEAP[_11] = _iftmp_315_0_i_i;
          var __pre5_i = IHEAP[_9];
          __lastLabel__ = 336; ;
        }
        else {
          __lastLabel__ = 62; ;
        }
      } while(0);
      var _34 = __lastLabel__ == 336 ? __pre5_i : (__lastLabel__ == 62 ? _10 : (_10));
      var _35 = _leaves+12;
      var _36 = IHEAP[_35];
      var _37 = _36+4*_34;
      var _38 = _37 == 0;
      ;
      if (_38) {
        __lastLabel__ = 159; ;
      }
      else {
        __lastLabel__ = 159; ;
        IHEAP[_37] = _root;
        var __pre6_i = IHEAP[_9];
        __lastLabel__ = 132; ;
      }
      var _39 = __lastLabel__ == 159 ? _34 : (__pre6_i);
      var _40 = _39 + 1;
      IHEAP[_9] = _40;
      ;
      return;
    }
  }
  __ZL11fetchleavesP6btDbvtP10btDbvtNodeR20btAlignedObjectArrayIS2_Ei.__index__ = Runtime.getFunctionIndex(__ZL11fetchleavesP6btDbvtP10btDbvtNodeR20btAlignedObjectArrayIS2_Ei, "__ZL11fetchleavesP6btDbvtP10btDbvtNodeR20btAlignedObjectArrayIS2_Ei");
  
  
  function __ZNK6btDbvt5cloneERS_PNS_6ICloneE(_this, _dest, _iclone) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _dest;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (!_2) {
      ;
      __ZL17recursedeletenodeP6btDbvtP10btDbvtNode(_dest, _1);
      ;
    }
    var _3 = _dest+4;
    var _4 = IHEAP[_3];
    var _5 = _4;
    __Z21btAlignedFreeInternalPv(_5);
    IHEAP[_3] = 0;
    var _6 = _dest+8;
    IHEAP[_6] = -1;
    var _7 = _dest+20+12;
    var _8 = IHEAP[_7];
    var _9 = _8 == 0;
    ;
    if (!_9) {
      ;
      var _10 = _dest+20+16;
      var _11 = IHEAP[_10];
      var _toBool_i_i_i = _11 == 0;
      ;
      if (!_toBool_i_i_i) {
        ;
        var _12 = _8;
        __Z21btAlignedFreeInternalPv(_12);
        ;
      }
      IHEAP[_7] = 0;
      ;
    }
    var _13 = _dest+20+16;
    IHEAP[_13] = 1;
    IHEAP[_7] = 0;
    var _14 = _dest+20+4;
    IHEAP[_14] = 0;
    var _15 = _dest+20+8;
    IHEAP[_15] = 0;
    var _16 = _dest+16;
    IHEAP[_16] = 0;
    var _17 = _this;
    var _18 = IHEAP[_17];
    var _19 = _18 == 0;
    ;
    __ZN20btAlignedObjectArrayIN6btDbvt7sStkCLNEED1Ev_exit51$_bb$1662: do { 
      if (!_19) {
        ;
        var _20 = _this+12;
        var _21 = IHEAP[_20];
        var _22 = _21 > 0;
        ;
        _bb_i2_i$_bb_i2_i_i$1664: do { 
          if (_22) {
            ;
            var _23 = _21 << 3;
            var _24 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_23, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 381; /* _lpad_thread */ break _bb_i2_i$_bb_i2_i_i$1664; };
            var _25 = IHEAP[_17];
            __lastLabel__ = 345; __label__ = 346; /* _bb1_i36 */ break _bb_i2_i$_bb_i2_i_i$1664;
          }
          else {
            ;
            var _26 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(8, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 274; __label__ = 346; /* _bb1_i36 */ break _bb_i2_i$_bb_i2_i_i$1664; } else { __lastLabel__ = 274; __label__ = 381; /* _lpad_thread */ break _bb_i2_i$_bb_i2_i_i$1664; };
          }
        } while(0);
        _bb1_i36$_lpad_thread$1668: do { 
          if (__label__ == 346) {
            var _27 = __lastLabel__ == 345 ? _25 : (_18);
            var _stack_2_4 = __lastLabel__ == 345 ? _21 : (1);
            var _stack_3_5_in = __lastLabel__ == 345 ? _24 : (_26);
            var _stack_3_5 = _stack_3_5_in;
            var _28 = _stack_3_5_in == 0;
            ;
            if (!_28) {
              ;
              var _29 = _stack_3_5_in;
              IHEAP[_29] = _27;
              var _30 = _stack_3_5_in+4;
              var _31 = _30;
              IHEAP[_31] = 0;
              ;
            }
            var _32 = _iclone;
            __lastLabel__ = 348; ;
            _bb2$1673: while(1) { // _bb2
              var _stack_1_1 = __lastLabel__ == 3 ? _stack_1_0 : (1);
              var _stack_2_2 = __lastLabel__ == 3 ? _stack_2_1 : (_stack_2_4);
              var _stack_3_2 = __lastLabel__ == 3 ? _stack_3_1 : (_stack_3_5);
              var _33 = _stack_1_1 + -1;
              var _34 = _stack_3_2+8*_33;
              var _35 = IHEAP[_34];
              var _36 = _stack_3_2+8*_33+4;
              var _37 = IHEAP[_36];
              var _38 = _35+36;
              var _39 = _38;
              var _40 = IHEAP[_39];
              var _41 = IHEAP[_3];
              var _42 = _41 == 0;
              ;
              if (_42) {
                ;
                var _43 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(44, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 4058; ; } else { __lastLabel__ = 4058; __label__ = 254; /* _lpad */ break _bb2$1673; };
                var _44 = _43;
                __lastLabel__ = 351; ;
              }
              else {
                ;
                IHEAP[_3] = 0;
                __lastLabel__ = 349; ;
              }
              var _node_0_i_i = __lastLabel__ == 349 ? _41 : (_44);
              var _45 = _node_0_i_i+32;
              IHEAP[_45] = _37;
              var _46 = _node_0_i_i+36;
              var _data_c_i_i = _40;
              IHEAP[_46] = _data_c_i_i;
              var _47 = _node_0_i_i+36+4;
              IHEAP[_47] = 0;
              var _48 = _node_0_i_i;
              var _49 = _35;
              var _50 = FHEAP[_49];
              FHEAP[_48] = _50;
              var _51 = _node_0_i_i+4;
              var _52 = _35+4;
              var _53 = FHEAP[_52];
              FHEAP[_51] = _53;
              var _54 = _node_0_i_i+8;
              var _55 = _35+8;
              var _56 = FHEAP[_55];
              FHEAP[_54] = _56;
              var _57 = _node_0_i_i+12;
              var _58 = _35+12;
              var _59 = FHEAP[_58];
              FHEAP[_57] = _59;
              var _60 = _node_0_i_i+16;
              var _61 = _35+16;
              var _62 = FHEAP[_61];
              FHEAP[_60] = _62;
              var _63 = _node_0_i_i+16+4;
              var _64 = _35+16+4;
              var _65 = FHEAP[_64];
              FHEAP[_63] = _65;
              var _66 = _node_0_i_i+16+8;
              var _67 = _35+16+8;
              var _68 = FHEAP[_67];
              FHEAP[_66] = _68;
              var _69 = _node_0_i_i+16+12;
              var _70 = _35+16+12;
              var _71 = FHEAP[_70];
              FHEAP[_69] = _71;
              var _72 = _37 == 0;
              ;
              if (_72) {
                ;
                IHEAP[_0] = _node_0_i_i;
                ;
              }
              else {
                ;
                var _73 = _33 & 1;
                var _74 = _37+36+_73*4;
                IHEAP[_74] = _node_0_i_i;
                ;
              }
              var _75 = _35+36+4;
              var _76 = IHEAP[_75];
              var _toBoolnot_i = _76 == 0;
              ;
              if (_toBoolnot_i) {
                ;
                var _117 = IHEAP[_32];
                var _118 = _117+8;
                var _119 = IHEAP[_118];
                var _120 = _119;
                (function() { try { __THREW__ = false; return FUNCTION_TABLE[_120](_iclone, _node_0_i_i) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 150; ; } else { __lastLabel__ = 150; __label__ = 254; /* _lpad */ break _bb2$1673; }
              }
              else {
                ;
                var _77 = _35+36;
                var _78 = IHEAP[_77];
                var _79 = _stack_2_2 == _33;
                ;
                _bb_i53$_bb1_i78$1687: do { 
                  if (_79) {
                    __lastLabel__ = 2; ;
                    var _80 = _33 == 0;
                    var _81 = _33 << 1;
                    var _iftmp_318_0_i_i52 = _80 ? 1 : _81;
                    var _82 = _stack_2_2 < _iftmp_318_0_i_i52;
                    if (_82) { __lastLabel__ = 353; ; } else { __lastLabel__ = 353; __label__ = 355; /* _bb1_i78 */ break _bb_i53$_bb1_i78$1687; }
                    var _83 = _iftmp_318_0_i_i52 == 0;
                    ;
                    if (_83) {
                      __lastLabel__ = 354; ;
                    }
                    else {
                      __lastLabel__ = 354; ;
                      var _84 = _iftmp_318_0_i_i52 << 3;
                      var _85 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_84, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 4059; ; } else { __lastLabel__ = 4059; __label__ = 254; /* _lpad */ break _bb2$1673; };
                      var _phitmp_i_i55 = _85;
                      __lastLabel__ = 356; ;
                    }
                    var _86 = __lastLabel__ == 356 ? _phitmp_i_i55 : (0);
                    var _87 = _33 > 0;
                    if (_87) { __lastLabel__ = 358; __label__ = 359; /* _bb_i4_i_i62 */  } else { __lastLabel__ = 358; __label__ = 360; /* __ZNK20btAlignedObjectArrayIN6btDbvt7sStkCLNEE4copyEiiPS1__exit_i_i71 */  }
                    _bb_i4_i_i62$__ZNK20btAlignedObjectArrayIN6btDbvt7sStkCLNEE4copyEiiPS1__exit_i_i71$1694: while(1) { // _bb_i4_i_i62,__ZNK20btAlignedObjectArrayIN6btDbvt7sStkCLNEE4copyEiiPS1__exit_i_i71
                      if (__label__ == 359) {
                        var _indvar_i_i_i60 = __lastLabel__ == 362 ? _indvar_next_i_i_i68 : (0);
                        var _scevgep_i_i_i61 = _86+8*_indvar_i_i_i60;
                        var _88 = _scevgep_i_i_i61 == 0;
                        ;
                        if (!_88) {
                          ;
                          var _scevgep12_i_i_i63 = _86+8*_indvar_i_i_i60+4;
                          var _scevgep11_i_i_i64 = _86+8*_indvar_i_i_i60;
                          var _scevgep89_i_i_i65 = _stack_3_2+8*_indvar_i_i_i60;
                          var _scevgep10_i_i_i66 = _stack_3_2+8*_indvar_i_i_i60+4;
                          var _89 = IHEAP[_scevgep89_i_i_i65];
                          var _90 = IHEAP[_scevgep10_i_i_i66];
                          IHEAP[_scevgep11_i_i_i64] = _89;
                          IHEAP[_scevgep12_i_i_i63] = _90;
                          ;
                        }
                        var _indvar_next_i_i_i68 = _indvar_i_i_i60 + 1;
                        var _exitcond135 = _indvar_next_i_i_i68 == _33;
                        if (_exitcond135) { __lastLabel__ = 362; __label__ = 360; /* __ZNK20btAlignedObjectArrayIN6btDbvt7sStkCLNEE4copyEiiPS1__exit_i_i71 */ continue _bb_i4_i_i62$__ZNK20btAlignedObjectArrayIN6btDbvt7sStkCLNEE4copyEiiPS1__exit_i_i71$1694; } else { __lastLabel__ = 362; __label__ = 359; /* _bb_i4_i_i62 */ continue _bb_i4_i_i62$__ZNK20btAlignedObjectArrayIN6btDbvt7sStkCLNEE4copyEiiPS1__exit_i_i71$1694; }
                      }
                      else if (__label__ == 360) {
                        var _91 = _stack_3_2 == 0;
                        if (_91) { __lastLabel__ = 360; __label__ = 355; /* _bb1_i78 */ break _bb_i53$_bb1_i78$1687; } else { __lastLabel__ = 360; __label__ = 363; /* _bb1_i_i_i74 */ break _bb_i4_i_i62$__ZNK20btAlignedObjectArrayIN6btDbvt7sStkCLNEE4copyEiiPS1__exit_i_i71$1694; }
                      }
                    }
                    var _92 = _stack_3_2;
                    (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_92) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 363; ; } else { __lastLabel__ = 363; __label__ = 383; /* _lpad_thread126 */ break _bb2$1673; }
                  }
                  else {
                    __lastLabel__ = 2; ;
                  }
                } while(0);
                var _stack_2_3 = __lastLabel__ == 353 ? _stack_2_2 : (__lastLabel__ == 2 ? _stack_2_2 : (__lastLabel__ == 363 ? _iftmp_318_0_i_i52 : (_iftmp_318_0_i_i52)));
                var _stack_3_4 = __lastLabel__ == 353 ? _stack_3_2 : (__lastLabel__ == 2 ? _stack_3_2 : (__lastLabel__ == 363 ? _86 : (_86)));
                var _93 = _stack_3_4+8*_33;
                var _94 = _93 == 0;
                ;
                if (!_94) {
                  ;
                  var _95 = _stack_3_4+8*_33;
                  IHEAP[_95] = _78;
                  var _96 = _stack_3_4+8*_33+4;
                  IHEAP[_96] = _node_0_i_i;
                  ;
                }
                var _97 = IHEAP[_75];
                var _98 = _stack_2_3 == _stack_1_1;
                ;
                _bb_i85$_bb1_i110$1706: do { 
                  if (_98) {
                    __lastLabel__ = 979; ;
                    var _99 = _stack_1_1 == 0;
                    var _100 = _stack_1_1 << 1;
                    var _iftmp_318_0_i_i84 = _99 ? 1 : _100;
                    var _101 = _stack_2_3 < _iftmp_318_0_i_i84;
                    if (_101) { __lastLabel__ = 365; ; } else { __lastLabel__ = 365; __label__ = 367; /* _bb1_i110 */ break _bb_i85$_bb1_i110$1706; }
                    var _102 = _iftmp_318_0_i_i84 == 0;
                    ;
                    if (_102) {
                      __lastLabel__ = 366; ;
                    }
                    else {
                      __lastLabel__ = 366; ;
                      var _103 = _iftmp_318_0_i_i84 << 3;
                      var _104 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_103, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 4060; ; } else { __lastLabel__ = 4060; __label__ = 254; /* _lpad */ break _bb2$1673; };
                      var _phitmp_i_i87 = _104;
                      __lastLabel__ = 368; ;
                    }
                    var _105 = __lastLabel__ == 368 ? _phitmp_i_i87 : (0);
                    var _106 = _stack_1_1 > 0;
                    if (_106) { __lastLabel__ = 370; __label__ = 371; /* _bb_i4_i_i94 */  } else { __lastLabel__ = 370; __label__ = 372; /* __ZNK20btAlignedObjectArrayIN6btDbvt7sStkCLNEE4copyEiiPS1__exit_i_i103 */  }
                    _bb_i4_i_i94$__ZNK20btAlignedObjectArrayIN6btDbvt7sStkCLNEE4copyEiiPS1__exit_i_i103$1713: while(1) { // _bb_i4_i_i94,__ZNK20btAlignedObjectArrayIN6btDbvt7sStkCLNEE4copyEiiPS1__exit_i_i103
                      if (__label__ == 371) {
                        var _indvar_i_i_i92 = __lastLabel__ == 374 ? _indvar_next_i_i_i100 : (0);
                        var _scevgep_i_i_i93 = _105+8*_indvar_i_i_i92;
                        var _107 = _scevgep_i_i_i93 == 0;
                        ;
                        if (!_107) {
                          ;
                          var _scevgep12_i_i_i95 = _105+8*_indvar_i_i_i92+4;
                          var _scevgep11_i_i_i96 = _105+8*_indvar_i_i_i92;
                          var _scevgep89_i_i_i97 = _stack_3_4+8*_indvar_i_i_i92;
                          var _scevgep10_i_i_i98 = _stack_3_4+8*_indvar_i_i_i92+4;
                          var _108 = IHEAP[_scevgep89_i_i_i97];
                          var _109 = IHEAP[_scevgep10_i_i_i98];
                          IHEAP[_scevgep11_i_i_i96] = _108;
                          IHEAP[_scevgep12_i_i_i95] = _109;
                          ;
                        }
                        var _indvar_next_i_i_i100 = _indvar_i_i_i92 + 1;
                        var _exitcond = _indvar_next_i_i_i100 == _stack_1_1;
                        if (_exitcond) { __lastLabel__ = 374; __label__ = 372; /* __ZNK20btAlignedObjectArrayIN6btDbvt7sStkCLNEE4copyEiiPS1__exit_i_i103 */ continue _bb_i4_i_i94$__ZNK20btAlignedObjectArrayIN6btDbvt7sStkCLNEE4copyEiiPS1__exit_i_i103$1713; } else { __lastLabel__ = 374; __label__ = 371; /* _bb_i4_i_i94 */ continue _bb_i4_i_i94$__ZNK20btAlignedObjectArrayIN6btDbvt7sStkCLNEE4copyEiiPS1__exit_i_i103$1713; }
                      }
                      else if (__label__ == 372) {
                        var _110 = _stack_3_4 == 0;
                        if (_110) { __lastLabel__ = 372; __label__ = 367; /* _bb1_i110 */ break _bb_i85$_bb1_i110$1706; } else { __lastLabel__ = 372; __label__ = 375; /* _bb1_i_i_i106 */ break _bb_i4_i_i94$__ZNK20btAlignedObjectArrayIN6btDbvt7sStkCLNEE4copyEiiPS1__exit_i_i103$1713; }
                      }
                    }
                    var _111 = _stack_3_4;
                    (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_111) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 375; ; } else { __lastLabel__ = 375; __label__ = 383; /* _lpad_thread126 */ break _bb2$1673; }
                  }
                  else {
                    __lastLabel__ = 979; ;
                  }
                } while(0);
                var _stack_2_0 = __lastLabel__ == 365 ? _stack_2_3 : (__lastLabel__ == 979 ? _stack_2_3 : (__lastLabel__ == 375 ? _iftmp_318_0_i_i84 : (_iftmp_318_0_i_i84)));
                var _stack_3_0 = __lastLabel__ == 365 ? _stack_3_4 : (__lastLabel__ == 979 ? _stack_3_4 : (__lastLabel__ == 375 ? _105 : (_105)));
                var _112 = _stack_3_0+8*_stack_1_1;
                var _113 = _112 == 0;
                ;
                if (!_113) {
                  ;
                  var _114 = _stack_3_0+8*_stack_1_1;
                  IHEAP[_114] = _97;
                  var _115 = _stack_3_0+8*_stack_1_1+4;
                  IHEAP[_115] = _node_0_i_i;
                  ;
                }
                var _116 = _stack_1_1 + 1;
                __lastLabel__ = 377; ;
              }
              var _stack_1_0 = __lastLabel__ == 150 ? _33 : (_116);
              var _stack_2_1 = __lastLabel__ == 150 ? _stack_2_2 : (_stack_2_0);
              var _stack_3_1 = __lastLabel__ == 150 ? _stack_3_2 : (_stack_3_0);
              var _121 = _stack_1_0 > 0;
              if (_121) { __lastLabel__ = 3; __label__ = 0; /* _bb2 */ continue _bb2$1673; } else { __lastLabel__ = 3; __label__ = 4; /* _bb17 */ break _bb2$1673; }
            }
            if (__label__ == 254) {
              var _stack_3_3 = __lastLabel__ == 150 ? _stack_3_2 : (__lastLabel__ == 4060 ? _stack_3_4 : (__lastLabel__ == 4059 ? _stack_3_2 : (_stack_3_2)));
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select20 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              var _124 = _stack_3_3 == 0;
              if (_124) { __lastLabel__ = 254; __label__ = 385; /* _invcont15 */ break _bb1_i36$_lpad_thread$1668; } else { __lastLabel__ = 254; ; }
            }
            else if (__label__ == 4) {
              var _122 = _stack_3_1 == 0;
              if (_122) { __label__ = 379; /* __ZN20btAlignedObjectArrayIN6btDbvt7sStkCLNEED1Ev_exit51 */ break __ZN20btAlignedObjectArrayIN6btDbvt7sStkCLNEED1Ev_exit51$_bb$1662; }
              var _123 = _stack_3_1;
              __Z21btAlignedFreeInternalPv(_123);
              ;
              return;
            }
            else if (__label__ == 383) {
              var _stack_3_3_ph = __lastLabel__ == 375 ? _stack_3_4 : (_stack_3_2);
              var _eh_ptr127 = _llvm_eh_exception();
              var _eh_select20128 = _llvm_eh_selector(_eh_ptr127, ___gxx_personality_v0, 0);
              __lastLabel__ = 383; ;
            }
            var _stack_3_3129 = __lastLabel__ == 383 ? _stack_3_3_ph : (_stack_3_3);
            var _eh_ptr130 = __lastLabel__ == 383 ? _eh_ptr127 : (_eh_ptr);
            var _125 = _stack_3_3129;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_125) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3758; __label__ = 385; /* _invcont15 */ break _bb1_i36$_lpad_thread$1668; } else { __lastLabel__ = 3758; ; }
            var _eh_ptr22 = _llvm_eh_exception();
            var _eh_select24 = _llvm_eh_selector(_eh_ptr22, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
          else if (__label__ == 381) {
            var _eh_ptr122 = _llvm_eh_exception();
            var _eh_select20123 = _llvm_eh_selector(_eh_ptr122, ___gxx_personality_v0, 0);
            __lastLabel__ = 381; ;
          }
        } while(0);
        var _eh_ptr124 = __lastLabel__ == 381 ? _eh_ptr122 : (__lastLabel__ == 254 ? _eh_ptr : (_eh_ptr130));
        __Unwind_Resume_or_Rethrow(_eh_ptr124);
        // unreachable
      }
    } while(0);
    ;
    return;
  }
  __ZNK6btDbvt5cloneERS_PNS_6ICloneE.__index__ = Runtime.getFunctionIndex(__ZNK6btDbvt5cloneERS_PNS_6ICloneE, "__ZNK6btDbvt5cloneERS_PNS_6ICloneE");
  
  
  function __ZN6btDbvt16optimizeBottomUpEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 20;
    var __label__;
    var __lastLabel__ = null;
    var _leaves = __stackBase__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    __ZN20btAlignedObjectArrayIP10btDbvtNodeED1Ev_exit21$_bb$1737: do { 
      if (!_2) {
        ;
        var _3 = _leaves+16;
        IHEAP[_3] = 1;
        var _4 = _leaves+12;
        IHEAP[_4] = 0;
        var _5 = _leaves+4;
        IHEAP[_5] = 0;
        var _6 = _leaves+8;
        IHEAP[_6] = 0;
        var _7 = _this+12;
        var _8 = IHEAP[_7];
        var _9 = _8 > 0;
        ;
        _bb_i2_i$_invcont$1739: do { 
          if (_9) {
            __lastLabel__ = 60; ;
            var _10 = _8 << 2;
            var _11 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_10, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb_i2_i$_invcont$1739; };
            var _phitmp_i = _11;
            var _12 = IHEAP[_5];
            var _13 = _12 > 0;
            if (_13) { __lastLabel__ = 386; __label__ = 218; /* _bb_i4_i */  } else { __lastLabel__ = 386; __label__ = 325; /* __ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i */  }
            _bb_i4_i$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i$1742: while(1) { // _bb_i4_i,__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i
              if (__label__ == 218) {
                var _indvar_i_i = __lastLabel__ == 324 ? _indvar_next_i_i : (0);
                var _tmp = _indvar_i_i << 2;
                var _scevgep = _11+_tmp;
                var _14 = _scevgep == 0;
                ;
                if (!_14) {
                  ;
                  var _scevgep_i_i = _scevgep;
                  var _15 = IHEAP[_4];
                  var _scevgep8_i_i = _15+4*_indvar_i_i;
                  var _16 = IHEAP[_scevgep8_i_i];
                  IHEAP[_scevgep_i_i] = _16;
                  ;
                }
                var _indvar_next_i_i = _indvar_i_i + 1;
                var _exitcond = _indvar_next_i_i == _12;
                if (_exitcond) { __lastLabel__ = 324; __label__ = 325; /* __ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i */ continue _bb_i4_i$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i$1742; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i$1742; }
              }
              else if (__label__ == 325) {
                var _17 = IHEAP[_4];
                var _18 = _17 == 0;
                if (_18) { __label__ = 328; /* __ZN20btAlignedObjectArrayIP10btDbvtNodeE10deallocateEv_exit_i */ break _bb_i4_i$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i$1742; } else { __label__ = 263; /* _bb_i_i */ break _bb_i4_i$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i$1742; }
              }
            }
            if (__label__ == 263) {
              var _19 = IHEAP[_3];
              var _toBool_i_i = _19 == 0;
              ;
              if (!_toBool_i_i) {
                ;
                var _20 = _17;
                (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_20) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb_i2_i$_invcont$1739; }
              }
              IHEAP[_4] = 0;
              ;
            }
            IHEAP[_3] = 1;
            IHEAP[_4] = _phitmp_i;
            IHEAP[_6] = _8;
            var __pre = IHEAP[_0];
            __lastLabel__ = 328; __label__ = 345; /* _invcont */ break _bb_i2_i$_invcont$1739;
          }
          else {
            __lastLabel__ = 60; __label__ = 345; /* _invcont */ 
          }
        } while(0);
        _invcont$_lpad$1755: do { 
          if (__label__ == 345) {
            var _21 = __lastLabel__ == 328 ? __pre : (_1);
            (function() { try { __THREW__ = false; return __ZL11fetchleavesP6btDbvtP10btDbvtNodeR20btAlignedObjectArrayIS2_Ei(_this, _21, _leaves, -1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$1755; }
            (function() { try { __THREW__ = false; return __ZL8bottomupP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeE(_this, _leaves) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$1755; }
            var _22 = IHEAP[_4];
            var _23 = IHEAP[_22];
            IHEAP[_0] = _23;
            var _24 = _22 == 0;
            if (_24) { __label__ = 389; /* __ZN20btAlignedObjectArrayIP10btDbvtNodeED1Ev_exit21 */ break __ZN20btAlignedObjectArrayIP10btDbvtNodeED1Ev_exit21$_bb$1737; }
            var _25 = IHEAP[_3];
            var _toBool_i_i_i17 = _25 == 0;
            ;
            if (!_toBool_i_i_i17) {
              ;
              var _26 = _22;
              __Z21btAlignedFreeInternalPv(_26);
              ;
            }
            IHEAP[_4] = 0;
            STACKTOP = __stackBase__;
            return;
          }
        } while(0);
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _27 = IHEAP[_4];
        var _28 = _27 == 0;
        ;
        if (!_28) {
          ;
          var _29 = IHEAP[_3];
          var _toBool_i_i_i = _29 == 0;
          ;
          _bb2_i_i_i$_bb1_i_i_i$1766: do { 
            if (!_toBool_i_i_i) {
              ;
              var _30 = _27;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_30) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$1766; } else { ; }
              var _eh_ptr10 = _llvm_eh_exception();
              var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_4] = 0;
          ;
        }
        IHEAP[_3] = 1;
        IHEAP[_4] = 0;
        IHEAP[_5] = 0;
        IHEAP[_6] = 0;
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN6btDbvt16optimizeBottomUpEv.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt16optimizeBottomUpEv, "__ZN6btDbvt16optimizeBottomUpEv");
  
  
  function __ZN6btDbvtD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _bb1_i$_bb_i$1773: do { 
      if (_2) {
        __label__ = 159; /* _bb1_i */ 
      }
      else {
        ;
        (function() { try { __THREW__ = false; return __ZL17recursedeletenodeP6btDbvtP10btDbvtNode(_this, _1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 159; /* _bb1_i */ break _bb1_i$_bb_i$1773; } else { __label__ = 254; /* _lpad */ break _bb1_i$_bb_i$1773; }
      }
    } while(0);
    _bb1_i$_lpad$1775: do { 
      if (__label__ == 159) {
        var _3 = _this+4;
        var _4 = IHEAP[_3];
        var _5 = _4;
        (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb1_i$_lpad$1775; }
        IHEAP[_3] = 0;
        var _6 = _this+8;
        IHEAP[_6] = -1;
        var _7 = _this+20+12;
        var _8 = IHEAP[_7];
        var _9 = _8 == 0;
        ;
        if (!_9) {
          ;
          var _10 = _this+20+16;
          var _11 = IHEAP[_10];
          var _toBool_i_i_i = _11 == 0;
          ;
          if (!_toBool_i_i_i) {
            ;
            var _12 = _8;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb1_i$_lpad$1775; }
          }
          IHEAP[_7] = 0;
          ;
        }
        var _16 = _this+20+16;
        var _17 = _this+20+4;
        var _18 = _this+20+8;
        var _19 = _this+16;
        IHEAP[_19] = 0;
        IHEAP[_16] = 1;
        IHEAP[_7] = 0;
        IHEAP[_17] = 0;
        IHEAP[_18] = 0;
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select6 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    var _20 = _this+20+12;
    var _21 = IHEAP[_20];
    var _22 = _21 == 0;
    ;
    if (!_22) {
      ;
      var _23 = _this+20+16;
      var _24 = IHEAP[_23];
      var _toBool_i_i_i19 = _24 == 0;
      ;
      _bb2_i_i_i22$_bb1_i_i_i21$1787: do { 
        if (!_toBool_i_i_i19) {
          ;
          var _25 = _21;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_25) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3764; /* _bb2_i_i_i22 */ break _bb2_i_i_i22$_bb1_i_i_i21$1787; } else { ; }
          var _eh_ptr8 = _llvm_eh_exception();
          var _eh_select10 = _llvm_eh_selector(_eh_ptr8, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_20] = 0;
      ;
    }
    var _13 = _this+20+16;
    IHEAP[_13] = 1;
    IHEAP[_20] = 0;
    var _14 = _this+20+4;
    IHEAP[_14] = 0;
    var _15 = _this+20+8;
    IHEAP[_15] = 0;
    __Unwind_Resume_or_Rethrow(_eh_ptr);
    // unreachable
  }
  __ZN6btDbvtD1Ev.__index__ = Runtime.getFunctionIndex(__ZN6btDbvtD1Ev, "__ZN6btDbvtD1Ev");
  
  
  function __ZN6btDbvtD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _bb1_i$_bb_i$1793: do { 
      if (_2) {
        __label__ = 159; /* _bb1_i */ 
      }
      else {
        ;
        (function() { try { __THREW__ = false; return __ZL17recursedeletenodeP6btDbvtP10btDbvtNode(_this, _1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 159; /* _bb1_i */ break _bb1_i$_bb_i$1793; } else { __label__ = 254; /* _lpad */ break _bb1_i$_bb_i$1793; }
      }
    } while(0);
    _bb1_i$_lpad$1795: do { 
      if (__label__ == 159) {
        var _3 = _this+4;
        var _4 = IHEAP[_3];
        var _5 = _4;
        (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb1_i$_lpad$1795; }
        IHEAP[_3] = 0;
        var _6 = _this+8;
        IHEAP[_6] = -1;
        var _7 = _this+20+12;
        var _8 = IHEAP[_7];
        var _9 = _8 == 0;
        ;
        if (!_9) {
          ;
          var _10 = _this+20+16;
          var _11 = IHEAP[_10];
          var _toBool_i_i_i = _11 == 0;
          ;
          if (!_toBool_i_i_i) {
            ;
            var _12 = _8;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb1_i$_lpad$1795; }
          }
          IHEAP[_7] = 0;
          ;
        }
        var _16 = _this+20+16;
        var _17 = _this+20+4;
        var _18 = _this+20+8;
        var _19 = _this+16;
        IHEAP[_19] = 0;
        IHEAP[_16] = 1;
        IHEAP[_7] = 0;
        IHEAP[_17] = 0;
        IHEAP[_18] = 0;
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select6 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    var _20 = _this+20+12;
    var _21 = IHEAP[_20];
    var _22 = _21 == 0;
    ;
    if (!_22) {
      ;
      var _23 = _this+20+16;
      var _24 = IHEAP[_23];
      var _toBool_i_i_i19 = _24 == 0;
      ;
      _bb2_i_i_i22$_bb1_i_i_i21$1807: do { 
        if (!_toBool_i_i_i19) {
          ;
          var _25 = _21;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_25) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3764; /* _bb2_i_i_i22 */ break _bb2_i_i_i22$_bb1_i_i_i21$1807; } else { ; }
          var _eh_ptr8 = _llvm_eh_exception();
          var _eh_select10 = _llvm_eh_selector(_eh_ptr8, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_20] = 0;
      ;
    }
    var _13 = _this+20+16;
    IHEAP[_13] = 1;
    IHEAP[_20] = 0;
    var _14 = _this+20+4;
    IHEAP[_14] = 0;
    var _15 = _this+20+8;
    IHEAP[_15] = 0;
    __Unwind_Resume_or_Rethrow(_eh_ptr);
    // unreachable
  }
  __ZN6btDbvtD2Ev.__index__ = Runtime.getFunctionIndex(__ZN6btDbvtD2Ev, "__ZN6btDbvtD2Ev");
  
  
  function __ZNK6btDbvt5writeEPNS_7IWriterE(_this, _iwriter) {
    var __stackBase__  = STACKTOP; STACKTOP += 24;
    var __label__;
    var __lastLabel__ = null;
    var _nodes = __stackBase__;
    var _0 = _nodes;
    IHEAP[_0] = __ZTV20btDbvtNodeEnumerator+8;
    var _1 = _nodes+4+16;
    IHEAP[_1] = 1;
    var _2 = _nodes+4+12;
    IHEAP[_2] = 0;
    var _3 = _nodes+4+4;
    IHEAP[_3] = 0;
    var _4 = _nodes+4+8;
    IHEAP[_4] = 0;
    var _5 = _this+12;
    var _6 = IHEAP[_5];
    var _7 = _6 << 1;
    var _8 = _7 > 0;
    ;
    _bb_i2_i$_invcont$1827: do { 
      if (_8) {
        ;
        var _9 = _6 << 3;
        var _10 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_9, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb_i2_i$_invcont$1827; };
        var _phitmp_i = _10;
        var _11 = IHEAP[_3];
        var _12 = _11 > 0;
        if (_12) { __lastLabel__ = 401; __label__ = 218; /* _bb_i4_i */  } else { __lastLabel__ = 401; __label__ = 402; /* __ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i */  }
        _bb_i4_i$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i$1830: while(1) { // _bb_i4_i,__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i
          if (__label__ == 218) {
            var _indvar_i_i = __lastLabel__ == 324 ? _indvar_next_i_i : (0);
            var _tmp = _indvar_i_i << 2;
            var _scevgep45 = _10+_tmp;
            var _13 = _scevgep45 == 0;
            ;
            if (!_13) {
              ;
              var _scevgep_i_i = _scevgep45;
              var _14 = IHEAP[_2];
              var _scevgep8_i_i = _14+4*_indvar_i_i;
              var _15 = IHEAP[_scevgep8_i_i];
              IHEAP[_scevgep_i_i] = _15;
              ;
            }
            var _indvar_next_i_i = _indvar_i_i + 1;
            var _exitcond = _indvar_next_i_i == _11;
            if (_exitcond) { __lastLabel__ = 324; __label__ = 402; /* __ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i */ continue _bb_i4_i$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i$1830; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i$1830; }
          }
          else if (__label__ == 402) {
            var _16 = IHEAP[_2];
            var _17 = _16 == 0;
            if (_17) { __label__ = 404; /* __ZN20btAlignedObjectArrayIPK10btDbvtNodeE10deallocateEv_exit_i */ break _bb_i4_i$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i$1830; } else { __label__ = 263; /* _bb_i_i */ break _bb_i4_i$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i$1830; }
          }
        }
        if (__label__ == 263) {
          var _18 = IHEAP[_1];
          var _toBool_i_i = _18 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _19 = _16;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_19) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb_i2_i$_invcont$1827; }
          }
          IHEAP[_2] = 0;
          ;
        }
        IHEAP[_1] = 1;
        IHEAP[_2] = _phitmp_i;
        IHEAP[_4] = _7;
        __label__ = 345; /* _invcont */ break _bb_i2_i$_invcont$1827;
      }
      else {
        __label__ = 345; /* _invcont */ 
      }
    } while(0);
    _invcont$_lpad$1843: do { 
      if (__label__ == 345) {
        var _20 = _this;
        var _21 = IHEAP[_20];
        var _22 = _nodes;
        (function() { try { __THREW__ = false; return __ZN6btDbvt9enumNodesEPK10btDbvtNodeRNS_8ICollideE(_21, _22) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$1843; }
        var _23 = _iwriter;
        var _24 = IHEAP[_23];
        var _25 = _24+8;
        var _26 = IHEAP[_25];
        var _27 = IHEAP[_3];
        var _28 = IHEAP[_20];
        var _29 = _26;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_29](_iwriter, _28, _27) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 1554; ; } else { __lastLabel__ = 1554; __label__ = 254; /* _lpad */ break _invcont$_lpad$1843; }
        _bb10$1846: while(1) { // _bb10
          var _63 = __lastLabel__ == 62 ? _62 : (0);
          var _64 = IHEAP[_3];
          var _65 = _64 > _63;
          if (!(_65)) { __label__ = 153; /* _bb15 */ break _bb10$1846; }
          var _30 = IHEAP[_2];
          var _scevgep = _30+4*_63;
          var _31 = IHEAP[_scevgep];
          var _32 = _31+32;
          var _33 = IHEAP[_32];
          var _34 = _33 == 0;
          if (_34) { __lastLabel__ = 60; __label__ = 61; /* _bb4 */  } else { __lastLabel__ = 60; __label__ = 133; /* _bb3_i */  }
          _bb4$_bb3_i$1849: while(1) { // _bb4,_bb3_i
            if (__label__ == 61) {
              var _p_0 = __lastLabel__ == 60 ? -1 : (__lastLabel__ == 133 ? _64 : (_38));
              var _40 = _31+36+4;
              var _41 = IHEAP[_40];
              var _toBoolnot_i = _41 == 0;
              if (_toBoolnot_i) { __label__ = 2; /* _bb7 */ break _bb4$_bb3_i$1849; } else { __label__ = 82; /* _bb5 */ break _bb4$_bb3_i$1849; }
            }
            else if (__label__ == 133) {
              var _38 = __lastLabel__ == 132 ? _37 : (0);
              var _39 = _64 > _38;
              if (_39) { __lastLabel__ = 133; ; } else { __lastLabel__ = 133; __label__ = 61; /* _bb4 */ continue _bb4$_bb3_i$1849; }
              var _scevgep_i = _30+4*_38;
              var _35 = IHEAP[_scevgep_i];
              var _36 = _35 == _33;
              if (_36) { __lastLabel__ = 406; __label__ = 61; /* _bb4 */ continue _bb4$_bb3_i$1849; } else { __lastLabel__ = 406; ; }
              var _37 = _38 + 1;
              __lastLabel__ = 132; __label__ = 133; /* _bb3_i */ continue _bb4$_bb3_i$1849;
            }
          }
          if (__label__ == 2) {
            var _58 = IHEAP[_23];
            var _59 = _58+16;
            var _60 = IHEAP[_59];
            var _61 = _60;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_61](_iwriter, _31, _63, _p_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$1843; }
          }
          else if (__label__ == 82) {
            var _42 = _31+36;
            var _43 = IHEAP[_42];
            __lastLabel__ = 82; ;
            _bb3_i35$1858: while(1) { // _bb3_i35
              var _47 = __lastLabel__ == 82 ? 0 : (_46);
              var _48 = _64 > _47;
              if (_48) { __lastLabel__ = 407; ; } else { __lastLabel__ = 407; __label__ = 409; /* __ZNK20btAlignedObjectArrayIPK10btDbvtNodeE16findLinearSearchERKS2__exit37 */ break _bb3_i35$1858; }
              var _scevgep_i32 = _30+4*_47;
              var _44 = IHEAP[_scevgep_i32];
              var _45 = _44 == _43;
              if (_45) { __lastLabel__ = 408; __label__ = 409; /* __ZNK20btAlignedObjectArrayIPK10btDbvtNodeE16findLinearSearchERKS2__exit37 */ break _bb3_i35$1858; } else { __lastLabel__ = 408; ; }
              var _46 = _47 + 1;
              __lastLabel__ = 410; __label__ = 407; /* _bb3_i35 */ continue _bb3_i35$1858;
            }
            var _index_0_i36 = __lastLabel__ == 407 ? _64 : (_47);
            __lastLabel__ = 409; ;
            _bb3_i41$1863: while(1) { // _bb3_i41
              var _52 = __lastLabel__ == 409 ? 0 : (_51);
              var _53 = _64 > _52;
              if (_53) { __lastLabel__ = 411; ; } else { __lastLabel__ = 411; __label__ = 413; /* __ZNK20btAlignedObjectArrayIPK10btDbvtNodeE16findLinearSearchERKS2__exit43 */ break _bb3_i41$1863; }
              var _scevgep_i38 = _30+4*_52;
              var _49 = IHEAP[_scevgep_i38];
              var _50 = _49 == _41;
              if (_50) { __lastLabel__ = 412; __label__ = 413; /* __ZNK20btAlignedObjectArrayIPK10btDbvtNodeE16findLinearSearchERKS2__exit43 */ break _bb3_i41$1863; } else { __lastLabel__ = 412; ; }
              var _51 = _52 + 1;
              __lastLabel__ = 414; __label__ = 411; /* _bb3_i41 */ continue _bb3_i41$1863;
            }
            var _index_0_i42 = __lastLabel__ == 411 ? _64 : (_52);
            var _54 = IHEAP[_23];
            var _55 = _54+12;
            var _56 = IHEAP[_55];
            var _57 = _56;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_57](_iwriter, _31, _63, _p_0, _index_0_i36, _index_0_i42) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$1843; }
          }
          var _62 = _63 + 1;
          __lastLabel__ = 62; __label__ = 150; /* _bb10 */ continue _bb10$1846;
        }
        IHEAP[_0] = __ZTV20btDbvtNodeEnumerator+8;
        var _66 = IHEAP[_2];
        var _67 = _66 == 0;
        ;
        if (_67) {
          ;
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _68 = IHEAP[_1];
          var _toBool_i_i_i_i26 = _68 == 0;
          ;
          if (!_toBool_i_i_i_i26) {
            ;
            var _69 = _66;
            __Z21btAlignedFreeInternalPv(_69);
            ;
          }
          IHEAP[_2] = 0;
          STACKTOP = __stackBase__;
          return;
        }
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select17 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    IHEAP[_0] = __ZTV20btDbvtNodeEnumerator+8;
    var _70 = IHEAP[_2];
    var _71 = _70 == 0;
    ;
    if (!_71) {
      ;
      var _72 = IHEAP[_1];
      var _toBool_i_i_i_i = _72 == 0;
      ;
      _bb2_i_i_i_i$_bb1_i_i_i_i$1879: do { 
        if (!_toBool_i_i_i_i) {
          ;
          var _73 = _70;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_73) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3769; /* _bb2_i_i_i_i */ break _bb2_i_i_i_i$_bb1_i_i_i_i$1879; } else { ; }
          var _eh_ptr19 = _llvm_eh_exception();
          var _eh_select21 = _llvm_eh_selector(_eh_ptr19, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_2] = 0;
      ;
    }
    IHEAP[_1] = 1;
    IHEAP[_2] = 0;
    IHEAP[_3] = 0;
    IHEAP[_4] = 0;
    __Unwind_Resume_or_Rethrow(_eh_ptr);
    // unreachable
  }
  __ZNK6btDbvt5writeEPNS_7IWriterE.__index__ = Runtime.getFunctionIndex(__ZNK6btDbvt5writeEPNS_7IWriterE, "__ZNK6btDbvt5writeEPNS_7IWriterE");
  
  
  function __ZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEi(_pdbvt, _leaves, _bu_treshold) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var __lastLabel__ = null;
    var _sets = __stackBase__;
    var _splitcount = __stackBase__+40;
    var _0 = IHEAP[__ZGVZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis];
    var _1 = _0 == 0;
    ;
    _bb$_bb2$1885: do { 
      if (_1) {
        ;
        var _2 = ___cxa_guard_acquire(__ZGVZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis);
        var _3 = _2 == 0;
        if (_3) { __label__ = 0; /* _bb2 */ break _bb$_bb2$1885; }
        FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis] = 1;
        FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+4] = 0;
        FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+8] = 0;
        FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+12] = 0;
        FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+16] = 0;
        FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+16+4] = 1;
        FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+16+8] = 0;
        FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+16+12] = 0;
        FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+32] = 0;
        FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+32+4] = 0;
        FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+32+8] = 1;
        FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+32+12] = 0;
        ___cxa_guard_release(__ZGVZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis);
        ;
      }
    } while(0);
    var _4 = _leaves+4;
    var _5 = IHEAP[_4];
    var _6 = _5 > 1;
    ;
    if (_6) {
      ;
      var _7 = _5 > _bu_treshold;
      ;
      if (_7) {
        ;
        var _leaves_idx85 = _leaves+12;
        var _leaves_idx85_val = IHEAP[_leaves_idx85];
        var _8 = IHEAP[_leaves_idx85_val];
        var _9 = _8;
        var _10 = FHEAP[_9];
        var _11 = _8+4;
        var _12 = FHEAP[_11];
        var _13 = _8+8;
        var _14 = FHEAP[_13];
        var _15 = _8+12;
        var _16 = FHEAP[_15];
        var _17 = _8+16;
        var _18 = FHEAP[_17];
        var _19 = _8+16+4;
        var _20 = FHEAP[_19];
        var _21 = _8+16+8;
        var _22 = FHEAP[_21];
        var _23 = _8+16+12;
        var _24 = FHEAP[_23];
        var _tmp_i = _5 + -1;
        __lastLabel__ = 418; ;
        _bb_i$1893: while(1) { // _bb_i
          var _indvar_i = __lastLabel__ == 418 ? 0 : (_tmp276);
          var _locals_0_0_0_014_i = __lastLabel__ == 418 ? _10 : (_storemerge_i_i);
          var _locals_0_0_1_013_i = __lastLabel__ == 418 ? _12 : (_storemerge17_i_i);
          var _locals_0_0_2_012_i = __lastLabel__ == 418 ? _14 : (_storemerge19_i_i);
          var _locals_1_0_2_011_i = __lastLabel__ == 418 ? _22 : (_storemerge20_i_i);
          var _locals_1_0_0_010_i = __lastLabel__ == 418 ? _18 : (_storemerge16_i_i);
          var _locals_1_0_1_09_i = __lastLabel__ == 418 ? _20 : (_storemerge18_i_i);
          var _tmp276 = _indvar_i + 1;
          var _scevgep_i = _leaves_idx85_val+4*_tmp276;
          var _25 = IHEAP[_scevgep_i];
          var _scevgep11_i_i = _25;
          var _scevgep14_i_i = _25+16;
          var _26 = FHEAP[_scevgep11_i_i];
          var _27 = _locals_0_0_0_014_i < _26;
          var _storemerge_i_i = _27 ? _locals_0_0_0_014_i : _26;
          var _28 = FHEAP[_scevgep14_i_i];
          var _29 = _locals_1_0_0_010_i > _28;
          var _storemerge16_i_i = _29 ? _locals_1_0_0_010_i : _28;
          var _scevgep11_1_i_i = _25+4;
          var _scevgep14_1_i_i = _25+16+4;
          var _30 = FHEAP[_scevgep11_1_i_i];
          var _31 = _locals_0_0_1_013_i < _30;
          var _storemerge17_i_i = _31 ? _locals_0_0_1_013_i : _30;
          var _32 = FHEAP[_scevgep14_1_i_i];
          var _33 = _locals_1_0_1_09_i > _32;
          var _storemerge18_i_i = _33 ? _locals_1_0_1_09_i : _32;
          var _scevgep11_2_i_i = _25+8;
          var _scevgep14_2_i_i = _25+16+8;
          var _34 = FHEAP[_scevgep11_2_i_i];
          var _35 = _locals_0_0_2_012_i < _34;
          var _storemerge19_i_i = _35 ? _locals_0_0_2_012_i : _34;
          var _36 = FHEAP[_scevgep14_2_i_i];
          var _37 = _locals_1_0_2_011_i > _36;
          var _storemerge20_i_i = _37 ? _locals_1_0_2_011_i : _36;
          var _exitcond275 = _tmp276 == _tmp_i;
          if (_exitcond275) { __lastLabel__ = 131; __label__ = 154; /* _bb16 */ break _bb_i$1893; } else { __lastLabel__ = 131; __label__ = 131; /* _bb_i */ continue _bb_i$1893; }
        }
        var _38 = _storemerge19_i_i + _storemerge20_i_i;
        var _39 = _storemerge17_i_i + _storemerge18_i_i;
        var _40 = _storemerge_i_i + _storemerge16_i_i;
        var _41 = _38 * 0.5;
        var _42 = _39 * 0.5;
        var _43 = _40 * 0.5;
        var _scevgep271 = _sets+16;
        var _scevgep272 = _sets+12;
        var _scevgep273 = _sets+4;
        var _scevgep274 = _sets+8;
        IHEAP[_scevgep271] = 1;
        IHEAP[_scevgep272] = 0;
        IHEAP[_scevgep273] = 0;
        IHEAP[_scevgep274] = 0;
        var _scevgep271_1 = _sets+20+16;
        var _scevgep272_1 = _sets+20+12;
        var _scevgep273_1 = _sets+20+4;
        var _scevgep274_1 = _sets+20+8;
        IHEAP[_scevgep271_1] = 1;
        IHEAP[_scevgep272_1] = 0;
        IHEAP[_scevgep273_1] = 0;
        IHEAP[_scevgep274_1] = 0;
        var _44 = _splitcount;
        IHEAP[_44] = 0;
        var _45 = _splitcount+4;
        IHEAP[_45] = 0;
        var _46 = _splitcount+8;
        IHEAP[_46] = 0;
        var _47 = _splitcount+8+4;
        IHEAP[_47] = 0;
        var _48 = _splitcount+16;
        IHEAP[_48] = 0;
        var _49 = _splitcount+16+4;
        IHEAP[_49] = 0;
        var _50 = _5 > 0;
        if (_50) { __lastLabel__ = 154; __label__ = 419; /* _bb23 */  } else { __lastLabel__ = 154; __label__ = 420; /* _bb_nph206 */  }
        _bb23$_bb_nph206$1896: while(1) { // _bb23,_bb_nph206
          if (__label__ == 419) {
            var _i_0209 = __lastLabel__ == 154 ? 0 : (_106);
            var _scevgep267 = _leaves_idx85_val+4*_i_0209;
            var _51 = IHEAP[_scevgep267];
            var _52 = _51+8;
            var _53 = FHEAP[_52];
            var _54 = _51+16+8;
            var _55 = FHEAP[_54];
            var _56 = _53 + _55;
            var _57 = _51+4;
            var _58 = FHEAP[_57];
            var _59 = _51+16+4;
            var _60 = FHEAP[_59];
            var _61 = _58 + _60;
            var _62 = _51;
            var _63 = FHEAP[_62];
            var _64 = _51+16;
            var _65 = FHEAP[_64];
            var _66 = _63 + _65;
            var _67 = _56 * 0.5;
            var _68 = _61 * 0.5;
            var _69 = _66 * 0.5;
            var _70 = _67 - _41;
            var _71 = _68 - _42;
            var _72 = _69 - _43;
            var _73 = FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis];
            var _74 = _72 * _73;
            var _75 = FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+4];
            var _76 = _71 * _75;
            var _77 = _74 + _76;
            var _78 = FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+8];
            var _79 = _70 * _78;
            var _80 = _77 + _79;
            var _81 = _80 > 0;
            var _tmp257 = _81;
            var _scevgep258 = _splitcount+_tmp257*4;
            var _82 = IHEAP[_scevgep258];
            var _83 = _82 + 1;
            IHEAP[_scevgep258] = _83;
            var _84 = FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+16];
            var _85 = _72 * _84;
            var _86 = FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+16+4];
            var _87 = _71 * _86;
            var _88 = _85 + _87;
            var _89 = FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+16+8];
            var _90 = _70 * _89;
            var _91 = _88 + _90;
            var _92 = _91 > 0;
            var _tmp257_1 = _92;
            var _scevgep258_1 = _splitcount+8+_tmp257_1*4;
            var _93 = IHEAP[_scevgep258_1];
            var _94 = _93 + 1;
            IHEAP[_scevgep258_1] = _94;
            var _95 = FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+32];
            var _96 = _72 * _95;
            var _97 = FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+32+4];
            var _98 = _71 * _97;
            var _99 = _96 + _98;
            var _100 = FHEAP[__ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+32+8];
            var _101 = _70 * _100;
            var _102 = _99 + _101;
            var _103 = _102 > 0;
            var _tmp257_2 = _103;
            var _scevgep258_2 = _splitcount+16+_tmp257_2*4;
            var _104 = IHEAP[_scevgep258_2];
            var _105 = _104 + 1;
            IHEAP[_scevgep258_2] = _105;
            var _106 = _i_0209 + 1;
            var _exitcond266 = _106 == _5;
            if (_exitcond266) { __lastLabel__ = 419; __label__ = 420; /* _bb_nph206 */ continue _bb23$_bb_nph206$1896; } else { __lastLabel__ = 419; __label__ = 419; /* _bb23 */ continue _bb23$_bb_nph206$1896; }
          }
          else if (__label__ == 420) {
            var _107 = IHEAP[_44];
            var _108 = _107 > 0;
            if (_108) { __lastLabel__ = 420; __label__ = 66; /* _bb28 */ break _bb23$_bb_nph206$1896; } else { __lastLabel__ = 420; __label__ = 89; /* _bb31 */ break _bb23$_bb_nph206$1896; }
          }
        }
        _bb28$_bb31$1900: do { 
          if (__label__ == 66) {
            var _109 = IHEAP[_45];
            var _110 = _109 > 0;
            if (_110) { __lastLabel__ = 66; ; } else { __lastLabel__ = 66; __label__ = 89; /* _bb31 */ break _bb28$_bb31$1900; }
            var _111 = _107 - _109;
            var _112 = _111;
            var _113 = _fabsf(_112);
            var _114 = Math.floor(_113);
            var _115 = _114 < _5;
            if (_115) { __lastLabel__ = 6; ; } else { __lastLabel__ = 6; __label__ = 89; /* _bb31 */ break _bb28$_bb31$1900; }
            __lastLabel__ = 90; ;
          }
        } while(0);
        var _bestaxis_0 = __lastLabel__ == 90 ? 0 : (__lastLabel__ == 420 ? -1 : (__lastLabel__ == 66 ? -1 : (-1)));
        var _bestmidp_0 = __lastLabel__ == 90 ? _114 : (__lastLabel__ == 420 ? _5 : (__lastLabel__ == 66 ? _5 : (_5)));
        var _116 = IHEAP[_46];
        var _117 = _116 > 0;
        ;
        _bb28_1$_bb31_1$1905: do { 
          if (_117) {
            __lastLabel__ = 89; ;
            var _329 = IHEAP[_47];
            var _330 = _329 > 0;
            if (_330) { __lastLabel__ = 484; ; } else { __lastLabel__ = 484; __label__ = 486; /* _bb31_1 */ break _bb28_1$_bb31_1$1905; }
            var _331 = _116 - _329;
            var _332 = _331;
            var _333 = _fabsf(_332);
            var _334 = Math.floor(_333);
            var _335 = _334 < _bestmidp_0;
            if (_335) { __lastLabel__ = 485; ; } else { __lastLabel__ = 485; __label__ = 486; /* _bb31_1 */ break _bb28_1$_bb31_1$1905; }
            __lastLabel__ = 487; ;
          }
          else {
            __lastLabel__ = 89; ;
          }
        } while(0);
        var _bestaxis_0_1 = __lastLabel__ == 487 ? 1 : (__lastLabel__ == 89 ? _bestaxis_0 : (__lastLabel__ == 484 ? _bestaxis_0 : (_bestaxis_0)));
        var _bestmidp_0_1 = __lastLabel__ == 487 ? _334 : (__lastLabel__ == 89 ? _bestmidp_0 : (__lastLabel__ == 484 ? _bestmidp_0 : (_bestmidp_0)));
        var _327 = IHEAP[_48];
        var _328 = _327 > 0;
        ;
        _bb28_2$_bb33$1910: do { 
          if (_328) {
            ;
            var _336 = IHEAP[_49];
            var _337 = _336 > 0;
            if (!(_337)) { __label__ = 422; /* _bb33 */ break _bb28_2$_bb33$1910; }
            var _338 = _327 - _336;
            var _339 = _338;
            var _340 = _fabsf(_339);
            var _341 = Math.floor(_340);
            var _342 = _341 < _bestmidp_0_1;
            if (_342) { __lastLabel__ = 489; __label__ = 250; /* _bb34 */ break _bb28_2$_bb33$1910; } else { __lastLabel__ = 489; __label__ = 422; /* _bb33 */ break _bb28_2$_bb33$1910; }
          }
          else {
            __label__ = 422; /* _bb33 */ 
          }
        } while(0);
        _bb34$_bb33$1913: do { 
          if (__label__ == 422) {
            var _118 = _bestaxis_0_1 > -1;
            if (_118) { __lastLabel__ = 422; __label__ = 250; /* _bb34 */ break _bb34$_bb33$1913; } else { __lastLabel__ = 422; ; }
            var _234 = Math.floor(_5 / 2);
            var _235 = _234 + 1;
            var _236 = _sets+8;
            var _237 = IHEAP[_236];
            var _238 = _237 < _235;
            ;
            if (_238) {
              __lastLabel__ = 68; ;
              var _239 = _235 == 0;
              ;
              if (_239) {
                __lastLabel__ = 4246; ;
              }
              else {
                __lastLabel__ = 4246; ;
                var _240 = _235 << 2;
                var _241 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_240, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 483; /* _lpad69 */ break _bb34$_bb33$1913; };
                var _phitmp_i105 = _241;
                __lastLabel__ = 457; ;
              }
              var _242 = __lastLabel__ == 457 ? _phitmp_i105 : (0);
              var _243 = _sets+4;
              var _244 = IHEAP[_243];
              var _245 = _244 > 0;
              ;
              _bb_nph_i_i108$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i117$1922: do { 
                if (_245) {
                  ;
                  var _246 = _sets+12;
                  __lastLabel__ = 459; ;
                  _bb_i4_i111$1924: while(1) { // _bb_i4_i111
                    var _indvar_i_i109 = __lastLabel__ == 459 ? 0 : (_indvar_next_i_i114);
                    var _scevgep_i_i110 = _242+4*_indvar_i_i109;
                    var _247 = _scevgep_i_i110 == 0;
                    ;
                    if (!_247) {
                      ;
                      var _248 = IHEAP[_246];
                      var _scevgep8_i_i112 = _248+4*_indvar_i_i109;
                      var _249 = IHEAP[_scevgep8_i_i112];
                      IHEAP[_scevgep_i_i110] = _249;
                      ;
                    }
                    var _indvar_next_i_i114 = _indvar_i_i109 + 1;
                    var _exitcond216 = _indvar_next_i_i114 == _244;
                    if (_exitcond216) { __lastLabel__ = 462; __label__ = 463; /* __ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i117 */ break _bb_nph_i_i108$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i117$1922; } else { __lastLabel__ = 462; __label__ = 460; /* _bb_i4_i111 */ continue _bb_i4_i111$1924; }
                  }
                }
              } while(0);
              var _250 = _sets+12;
              var _251 = IHEAP[_250];
              var _252 = _251 == 0;
              ;
              if (!_252) {
                ;
                var _253 = _sets+16;
                var _254 = IHEAP[_253];
                var _toBool_i_i118 = _254 == 0;
                ;
                if (!_toBool_i_i118) {
                  ;
                  var _255 = _251;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_255) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 483; /* _lpad69 */ break _bb34$_bb33$1913; }
                }
                IHEAP[_250] = 0;
                ;
              }
              var _256 = _sets+16;
              IHEAP[_256] = 1;
              IHEAP[_250] = _242;
              IHEAP[_236] = _235;
              var __pre = IHEAP[_4];
              __lastLabel__ = 465; ;
            }
            else {
              __lastLabel__ = 68; ;
            }
            var _257 = __lastLabel__ == 465 ? __pre : (_5);
            var _258 = Math.floor(_257 / 2);
            var _259 = _sets+20+8;
            var _260 = IHEAP[_259];
            var _261 = _260 < _258;
            ;
            if (_261) {
              __lastLabel__ = 1231; ;
              var __off = _257 + 1;
              var _262 = unSign(__off, 32) < unSign(3, 32);
              ;
              if (_262) {
                __lastLabel__ = 4253; ;
              }
              else {
                __lastLabel__ = 4253; ;
                var _263 = _258 << 2;
                var _264 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_263, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 483; /* _lpad69 */ break _bb34$_bb33$1913; };
                var _phitmp_i = _264;
                __lastLabel__ = 467; ;
              }
              var _265 = __lastLabel__ == 467 ? _phitmp_i : (0);
              var _266 = _sets+20+4;
              var _267 = IHEAP[_266];
              var _268 = _267 > 0;
              ;
              _bb_nph_i_i$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i$1943: do { 
                if (_268) {
                  ;
                  var _269 = _sets+20+12;
                  __lastLabel__ = 217; ;
                  _bb_i4_i$1945: while(1) { // _bb_i4_i
                    var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
                    var _scevgep_i_i = _265+4*_indvar_i_i;
                    var _270 = _scevgep_i_i == 0;
                    ;
                    if (!_270) {
                      ;
                      var _271 = IHEAP[_269];
                      var _scevgep8_i_i = _271+4*_indvar_i_i;
                      var _272 = IHEAP[_scevgep8_i_i];
                      IHEAP[_scevgep_i_i] = _272;
                      ;
                    }
                    var _indvar_next_i_i = _indvar_i_i + 1;
                    var _exitcond = _indvar_next_i_i == _267;
                    if (_exitcond) { __lastLabel__ = 324; __label__ = 325; /* __ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i$1943; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$1945; }
                  }
                }
              } while(0);
              var _273 = _sets+20+12;
              var _274 = IHEAP[_273];
              var _275 = _274 == 0;
              ;
              if (!_275) {
                ;
                var _276 = _sets+20+16;
                var _277 = IHEAP[_276];
                var _toBool_i_i = _277 == 0;
                ;
                if (!_toBool_i_i) {
                  ;
                  var _278 = _274;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_278) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 483; /* _lpad69 */ break _bb34$_bb33$1913; }
                }
                IHEAP[_273] = 0;
                ;
              }
              var _279 = _sets+20+16;
              IHEAP[_279] = 1;
              IHEAP[_273] = _265;
              IHEAP[_259] = _258;
              var __pre278 = IHEAP[_4];
              __lastLabel__ = 328; ;
            }
            else {
              __lastLabel__ = 1231; ;
            }
            var _280 = __lastLabel__ == 328 ? __pre278 : (_257);
            __lastLabel__ = 472; ;
            _bb44$1958: while(1) { // _bb44
              var _285 = __lastLabel__ == 472 ? 0 : (_284);
              var _286 = _285 < _280;
              if (!(_286)) { __label__ = 95; /* _bb45 */ break _bb34$_bb33$1913; }
              var _281 = IHEAP[_leaves_idx85];
              var _282 = _285 & 1;
              var _283 = _sets+_282*20;
              var _scevgep = _281+4*_285;
              (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIP10btDbvtNodeE9push_backERKS1_(_283, _scevgep) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 483; /* _lpad69 */ break _bb34$_bb33$1913; }
              var _284 = _285 + 1;
              __lastLabel__ = 473; __label__ = 94; /* _bb44 */ continue _bb44$1958;
            }
          }
        } while(0);
        _bb34$_lpad69$_bb45$1962: do { 
          if (__label__ == 250) {
            var _bestaxis_0_2279 = __lastLabel__ == 422 ? _bestaxis_0_1 : (2);
            var _119 = _splitcount+_bestaxis_0_2279*8;
            var _120 = IHEAP[_119];
            var _121 = _sets+8;
            var _122 = IHEAP[_121];
            var _123 = _122 < _120;
            ;
            if (_123) {
              ;
              var _124 = _120 == 0;
              ;
              if (_124) {
                __lastLabel__ = 4256; ;
              }
              else {
                __lastLabel__ = 4256; ;
                var _125 = _120 << 2;
                var _126 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_125, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 483; /* _lpad69 */ break _bb34$_lpad69$_bb45$1962; };
                var _phitmp_i141 = _126;
                __lastLabel__ = 423; ;
              }
              var _127 = __lastLabel__ == 423 ? _phitmp_i141 : (0);
              var _128 = _sets+4;
              var _129 = IHEAP[_128];
              var _130 = _129 > 0;
              ;
              _bb_nph_i_i144$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i153$1970: do { 
                if (_130) {
                  ;
                  var _131 = _sets+12;
                  __lastLabel__ = 425; ;
                  _bb_i4_i147$1972: while(1) { // _bb_i4_i147
                    var _indvar_i_i145 = __lastLabel__ == 425 ? 0 : (_indvar_next_i_i150);
                    var _scevgep_i_i146 = _127+4*_indvar_i_i145;
                    var _132 = _scevgep_i_i146 == 0;
                    ;
                    if (!_132) {
                      ;
                      var _133 = IHEAP[_131];
                      var _scevgep8_i_i148 = _133+4*_indvar_i_i145;
                      var _134 = IHEAP[_scevgep8_i_i148];
                      IHEAP[_scevgep_i_i146] = _134;
                      ;
                    }
                    var _indvar_next_i_i150 = _indvar_i_i145 + 1;
                    var _exitcond249 = _indvar_next_i_i150 == _129;
                    if (_exitcond249) { __lastLabel__ = 428; __label__ = 429; /* __ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i153 */ break _bb_nph_i_i144$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i153$1970; } else { __lastLabel__ = 428; __label__ = 426; /* _bb_i4_i147 */ continue _bb_i4_i147$1972; }
                  }
                }
              } while(0);
              var _135 = _sets+12;
              var _136 = IHEAP[_135];
              var _137 = _136 == 0;
              ;
              if (!_137) {
                ;
                var _138 = _sets+16;
                var _139 = IHEAP[_138];
                var _toBool_i_i154 = _139 == 0;
                ;
                if (!_toBool_i_i154) {
                  ;
                  var _140 = _136;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_140) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 483; /* _lpad69 */ break _bb34$_lpad69$_bb45$1962; }
                }
                IHEAP[_135] = 0;
                ;
              }
              var _141 = _sets+16;
              IHEAP[_141] = 1;
              IHEAP[_135] = _127;
              IHEAP[_121] = _120;
              ;
            }
            var _142 = _splitcount+_bestaxis_0_2279*8+4;
            var _143 = IHEAP[_142];
            var _144 = _sets+20+8;
            var _145 = IHEAP[_144];
            var _146 = _145 < _143;
            ;
            if (_146) {
              ;
              var _147 = _143 == 0;
              ;
              if (_147) {
                __lastLabel__ = 4264; ;
              }
              else {
                __lastLabel__ = 4264; ;
                var _148 = _143 << 2;
                var _149 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_148, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 483; /* _lpad69 */ break _bb34$_lpad69$_bb45$1962; };
                var _phitmp_i164 = _149;
                __lastLabel__ = 432; ;
              }
              var _150 = __lastLabel__ == 432 ? _phitmp_i164 : (0);
              var _151 = _sets+20+4;
              var _152 = IHEAP[_151];
              var _153 = _152 > 0;
              ;
              _bb_nph_i_i167$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i176$1991: do { 
                if (_153) {
                  ;
                  var _154 = _sets+20+12;
                  __lastLabel__ = 434; ;
                  _bb_i4_i170$1993: while(1) { // _bb_i4_i170
                    var _indvar_i_i168 = __lastLabel__ == 434 ? 0 : (_indvar_next_i_i173);
                    var _scevgep_i_i169 = _150+4*_indvar_i_i168;
                    var _155 = _scevgep_i_i169 == 0;
                    ;
                    if (!_155) {
                      ;
                      var _156 = IHEAP[_154];
                      var _scevgep8_i_i171 = _156+4*_indvar_i_i168;
                      var _157 = IHEAP[_scevgep8_i_i171];
                      IHEAP[_scevgep_i_i169] = _157;
                      ;
                    }
                    var _indvar_next_i_i173 = _indvar_i_i168 + 1;
                    var _exitcond246 = _indvar_next_i_i173 == _152;
                    if (_exitcond246) { __lastLabel__ = 437; __label__ = 438; /* __ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i176 */ break _bb_nph_i_i167$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i176$1991; } else { __lastLabel__ = 437; __label__ = 435; /* _bb_i4_i170 */ continue _bb_i4_i170$1993; }
                  }
                }
              } while(0);
              var _158 = _sets+20+12;
              var _159 = IHEAP[_158];
              var _160 = _159 == 0;
              ;
              if (!_160) {
                ;
                var _161 = _sets+20+16;
                var _162 = IHEAP[_161];
                var _toBool_i_i177 = _162 == 0;
                ;
                if (!_toBool_i_i177) {
                  ;
                  var _163 = _159;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_163) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 483; /* _lpad69 */ break _bb34$_lpad69$_bb45$1962; }
                }
                IHEAP[_158] = 0;
                ;
              }
              var _164 = _sets+20+16;
              IHEAP[_164] = 1;
              IHEAP[_158] = _150;
              IHEAP[_144] = _143;
              ;
            }
            var _165 = _sets;
            var _166 = _sets+20;
            var _167 = _sets+4;
            var _168 = IHEAP[_167];
            var _169 = _168 < 0;
            ;
            _bb4_i_i$__ZN20btAlignedObjectArrayIP10btDbvtNodeE6resizeEiRKS1__exit_i$2006: do { 
              if (_169) {
                ;
                var _170 = IHEAP[_121];
                var _171 = _170 < 0;
                ;
                if (_171) {
                  ;
                  var _172 = _sets+12;
                  var _173 = IHEAP[_172];
                  var _174 = _173 == 0;
                  ;
                  if (!_174) {
                    ;
                    var _175 = _sets+16;
                    var _176 = IHEAP[_175];
                    var _toBool_i_i_i_i = _176 == 0;
                    ;
                    if (!_toBool_i_i_i_i) {
                      ;
                      var _177 = _173;
                      (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_177) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 483; /* _lpad69 */ break _bb34$_lpad69$_bb45$1962; }
                    }
                    IHEAP[_172] = 0;
                    ;
                  }
                  var _178 = _sets+16;
                  IHEAP[_178] = 1;
                  IHEAP[_172] = 0;
                  IHEAP[_121] = 0;
                  ;
                }
                var _179 = _sets+12;
                var _tmp_i_i = 0 - _168;
                __lastLabel__ = 443; ;
                _bb7_i_i$2017: while(1) { // _bb7_i_i
                  var _indvar_i_i128 = __lastLabel__ == 443 ? 0 : (_indvar_next_i_i131);
                  var _tmp243 = _168 + _indvar_i_i128;
                  var _180 = IHEAP[_179];
                  var _scevgep245 = _180+4*_tmp243;
                  var _181 = _scevgep245 == 0;
                  ;
                  if (!_181) {
                    ;
                    IHEAP[_scevgep245] = 0;
                    ;
                  }
                  var _indvar_next_i_i131 = _indvar_i_i128 + 1;
                  var _exitcond242 = _indvar_next_i_i131 == _tmp_i_i;
                  if (_exitcond242) { __lastLabel__ = 446; __label__ = 447; /* __ZN20btAlignedObjectArrayIP10btDbvtNodeE6resizeEiRKS1__exit_i */ break _bb4_i_i$__ZN20btAlignedObjectArrayIP10btDbvtNodeE6resizeEiRKS1__exit_i$2006; } else { __lastLabel__ = 446; __label__ = 444; /* _bb7_i_i */ continue _bb7_i_i$2017; }
                }
              }
            } while(0);
            IHEAP[_167] = 0;
            var _182 = _sets+20+4;
            var _183 = IHEAP[_182];
            var _184 = _183 < 0;
            ;
            _bb4_i7_i$__ZN20btAlignedObjectArrayIP10btDbvtNodeE6resizeEiRKS1__exit35_i$2023: do { 
              if (_184) {
                ;
                var _185 = IHEAP[_144];
                var _186 = _185 < 0;
                ;
                if (_186) {
                  ;
                  var _187 = _sets+20+12;
                  var _188 = IHEAP[_187];
                  var _189 = _188 == 0;
                  ;
                  if (!_189) {
                    ;
                    var _190 = _sets+20+16;
                    var _191 = IHEAP[_190];
                    var _toBool_i_i_i20_i = _191 == 0;
                    ;
                    if (!_toBool_i_i_i20_i) {
                      ;
                      var _192 = _188;
                      (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_192) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 483; /* _lpad69 */ break _bb34$_lpad69$_bb45$1962; }
                    }
                    IHEAP[_187] = 0;
                    ;
                  }
                  var _193 = _sets+20+16;
                  IHEAP[_193] = 1;
                  IHEAP[_187] = 0;
                  IHEAP[_144] = 0;
                  ;
                }
                var _194 = _sets+20+12;
                var _tmp_i25_i = 0 - _183;
                __lastLabel__ = 450; ;
                _bb7_i30_i$2034: while(1) { // _bb7_i30_i
                  var _indvar_i27_i = __lastLabel__ == 450 ? 0 : (_indvar_next_i32_i);
                  var _tmp239 = _183 + _indvar_i27_i;
                  var _195 = IHEAP[_194];
                  var _scevgep241 = _195+4*_tmp239;
                  var _196 = _scevgep241 == 0;
                  ;
                  if (!_196) {
                    ;
                    IHEAP[_scevgep241] = 0;
                    ;
                  }
                  var _indvar_next_i32_i = _indvar_i27_i + 1;
                  var _exitcond238 = _indvar_next_i32_i == _tmp_i25_i;
                  if (_exitcond238) { __lastLabel__ = 453; __label__ = 454; /* __ZN20btAlignedObjectArrayIP10btDbvtNodeE6resizeEiRKS1__exit35_i */ break _bb4_i7_i$__ZN20btAlignedObjectArrayIP10btDbvtNodeE6resizeEiRKS1__exit35_i$2023; } else { __lastLabel__ = 453; __label__ = 451; /* _bb7_i30_i */ continue _bb7_i30_i$2034; }
                }
              }
            } while(0);
            IHEAP[_182] = 0;
            var _197 = IHEAP[_4];
            var _198 = _197 > 0;
            if (!(_198)) { __label__ = 95; /* _bb45 */ break _bb34$_lpad69$_bb45$1962; }
            var _199 = __ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+_bestaxis_0_2279*16;
            var _200 = __ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+_bestaxis_0_2279*16+4;
            var _201 = __ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis+_bestaxis_0_2279*16+8;
            __lastLabel__ = 455; ;
            _bb_i134$2041: while(1) { // _bb_i134
              var _i_044_i = __lastLabel__ == 455 ? 0 : (_tmp234);
              var _tmp234 = _i_044_i + 1;
              var _202 = IHEAP[_leaves_idx85];
              var _scevgep237 = _202+4*_i_044_i;
              var _203 = IHEAP[_scevgep237];
              var _204 = _203+8;
              var _205 = FHEAP[_204];
              var _206 = _203+16+8;
              var _207 = FHEAP[_206];
              var _208 = _205 + _207;
              var _209 = _203+4;
              var _210 = FHEAP[_209];
              var _211 = _203+16+4;
              var _212 = FHEAP[_211];
              var _213 = _210 + _212;
              var _214 = _203;
              var _215 = FHEAP[_214];
              var _216 = _203+16;
              var _217 = FHEAP[_216];
              var _218 = _215 + _217;
              var _219 = _208 * 0.5;
              var _220 = _213 * 0.5;
              var _221 = _218 * 0.5;
              var _222 = _219 - _41;
              var _223 = _220 - _42;
              var _224 = _221 - _43;
              var _225 = FHEAP[_199];
              var _226 = _225 * _224;
              var _227 = FHEAP[_200];
              var _228 = _227 * _223;
              var _229 = _226 + _228;
              var _230 = FHEAP[_201];
              var _231 = _230 * _222;
              var _232 = _229 + _231;
              var _233 = _232 < 0;
              ;
              if (_233) {
                ;
                (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIP10btDbvtNodeE9push_backERKS1_(_165, _scevgep237) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 483; /* _lpad69 */ break _bb34$_lpad69$_bb45$1962; }
              }
              else {
                ;
                (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIP10btDbvtNodeE9push_backERKS1_(_166, _scevgep237) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 483; /* _lpad69 */ break _bb34$_lpad69$_bb45$1962; }
              }
              var _exitcond49_i = _tmp234 == _197;
              if (_exitcond49_i) { __lastLabel__ = 133; __label__ = 95; /* _bb45 */ break _bb34$_lpad69$_bb45$1962; } else { __lastLabel__ = 133; __label__ = 456; /* _bb_i134 */ continue _bb_i134$2041; }
            }
          }
        } while(0);
        _bb45$_lpad69$2047: do { 
          if (__label__ == 95) {
            var _287 = _pdbvt+4;
            var _288 = IHEAP[_287];
            var _289 = _288 == 0;
            ;
            if (_289) {
              ;
              var _290 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(44, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 483; /* _lpad69 */ break _bb45$_lpad69$2047; };
              var _291 = _290;
              __lastLabel__ = 475; ;
            }
            else {
              ;
              IHEAP[_287] = 0;
              __lastLabel__ = 263; ;
            }
            var _node_0_i_i = __lastLabel__ == 263 ? _288 : (_291);
            var _292 = _node_0_i_i+32;
            IHEAP[_292] = 0;
            var _293 = _node_0_i_i+36;
            IHEAP[_293] = 0;
            var _294 = _node_0_i_i+36+4;
            IHEAP[_294] = 0;
            var _295 = _node_0_i_i;
            FHEAP[_295] = _storemerge_i_i;
            var _296 = _node_0_i_i+4;
            FHEAP[_296] = _storemerge17_i_i;
            var _297 = _node_0_i_i+8;
            FHEAP[_297] = _storemerge19_i_i;
            var _298 = _node_0_i_i+12;
            FHEAP[_298] = _16;
            var _299 = _node_0_i_i+16;
            FHEAP[_299] = _storemerge16_i_i;
            var _300 = _node_0_i_i+16+4;
            FHEAP[_300] = _storemerge18_i_i;
            var _301 = _node_0_i_i+16+8;
            FHEAP[_301] = _storemerge20_i_i;
            var _302 = _node_0_i_i+16+12;
            FHEAP[_302] = _24;
            var _303 = _sets;
            var _304 = (function() { try { __THREW__ = false; return __ZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEi(_pdbvt, _303, _bu_treshold) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 483; /* _lpad69 */ break _bb45$_lpad69$2047; };
            IHEAP[_293] = _304;
            var _305 = _sets+20;
            var _306 = (function() { try { __THREW__ = false; return __ZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEi(_pdbvt, _305, _bu_treshold) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 483; /* _lpad69 */ break _bb45$_lpad69$2047; };
            IHEAP[_294] = _306;
            var _312 = IHEAP[_293];
            var _313 = _312+32;
            IHEAP[_313] = _node_0_i_i;
            var _314 = IHEAP[_294];
            var _315 = _314+32;
            IHEAP[_315] = _node_0_i_i;
            __lastLabel__ = 130; ;
            _bb58$2056: while(1) { // _bb58
              var _indvar225 = __lastLabel__ == 130 ? 0 : (_indvar_next226);
              var _tmp229 = 1 - _indvar225;
              var _scevgep230 = _sets+_tmp229*20+12;
              var _scevgep231 = _sets+_tmp229*20+16;
              var _scevgep232 = _sets+_tmp229*20+4;
              var _scevgep233 = _sets+_tmp229*20+8;
              var _316 = IHEAP[_scevgep230];
              var _317 = _316 == 0;
              ;
              if (!_317) {
                ;
                var _318 = IHEAP[_scevgep231];
                var _toBool_i_i_i = _318 == 0;
                ;
                if (!_toBool_i_i_i) {
                  ;
                  var _319 = _316;
                  __Z21btAlignedFreeInternalPv(_319);
                  ;
                }
                IHEAP[_scevgep230] = 0;
                ;
              }
              IHEAP[_scevgep231] = 1;
              IHEAP[_scevgep230] = 0;
              IHEAP[_scevgep232] = 0;
              IHEAP[_scevgep233] = 0;
              var _indvar_next226 = _indvar225 + 1;
              var _exitcond227 = _indvar_next226 == 2;
              if (_exitcond227) { __lastLabel__ = 481; __label__ = 482; /* _bb61 */ break _bb58$2056; } else { __lastLabel__ = 481; __label__ = 10; /* _bb58 */ continue _bb58$2056; }
            }
            STACKTOP = __stackBase__;
            return _node_0_i_i;
          }
        } while(0);
        var _eh_ptr70 = _llvm_eh_exception();
        var _eh_select72 = _llvm_eh_selector(_eh_ptr70, ___gxx_personality_v0, 0);
        var _326 = _sets;
        __lastLabel__ = 483; ;
        _bb52$2066: while(1) { // _bb52
          var _indvar = __lastLabel__ == 477 ? _indvar_next : (0);
          var _tmp = 0 - _indvar;
          var _tmp219 = 1 - _indvar;
          var _scevgep220 = _sets+_tmp219*20+8;
          var _scevgep221 = _sets+_tmp219*20+4;
          var _scevgep222 = _sets+_tmp219*20+16;
          var _scevgep223 = _sets+_tmp219*20+12;
          var __081 = _sets+40+_tmp*20;
          var _307 = __081 == _326;
          if (_307) { __label__ = 111; /* _Unwind */ break _bb52$2066; }
          var _308 = IHEAP[_scevgep223];
          var _309 = _308 == 0;
          ;
          if (!_309) {
            ;
            var _310 = IHEAP[_scevgep222];
            var _toBool_i_i_i86 = _310 == 0;
            ;
            if (!_toBool_i_i_i86) {
              ;
              var _311 = _308;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_311) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3779; /* _lpad73 */ break _bb52$2066; }
            }
            IHEAP[_scevgep223] = 0;
            ;
          }
          IHEAP[_scevgep222] = 1;
          IHEAP[_scevgep223] = 0;
          IHEAP[_scevgep221] = 0;
          IHEAP[_scevgep220] = 0;
          var _indvar_next = _indvar + 1;
          __lastLabel__ = 477; __label__ = 478; /* _bb52 */ continue _bb52$2066;
        }
        if (__label__ == 111) {
          __Unwind_Resume_or_Rethrow(_eh_ptr70);
          // unreachable
        }
        else if (__label__ == 3779) {
          var _eh_ptr74 = _llvm_eh_exception();
          var _eh_select76 = _llvm_eh_selector(_eh_ptr74, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
      else {
        ;
        __ZL8bottomupP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeE(_pdbvt, _leaves);
        var _320 = _leaves+12;
        var _321 = IHEAP[_320];
        var _322 = IHEAP[_321];
        STACKTOP = __stackBase__;
        return _322;
      }
    }
    else {
      ;
      var _323 = _leaves+12;
      var _324 = IHEAP[_323];
      var _325 = IHEAP[_324];
      STACKTOP = __stackBase__;
      return _325;
    }
  }
  __ZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEi.__index__ = Runtime.getFunctionIndex(__ZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEi, "__ZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEi");
  
  
  function __ZN6btDbvt15optimizeTopDownEi(_this, _bu_treshold) {
    var __stackBase__  = STACKTOP; STACKTOP += 20;
    var __label__;
    var __lastLabel__ = null;
    var _leaves = __stackBase__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    __ZN20btAlignedObjectArrayIP10btDbvtNodeED1Ev_exit21$_bb$2081: do { 
      if (!_2) {
        ;
        var _3 = _leaves+16;
        IHEAP[_3] = 1;
        var _4 = _leaves+12;
        IHEAP[_4] = 0;
        var _5 = _leaves+4;
        IHEAP[_5] = 0;
        var _6 = _leaves+8;
        IHEAP[_6] = 0;
        var _7 = _this+12;
        var _8 = IHEAP[_7];
        var _9 = _8 > 0;
        ;
        _bb_i2_i$_invcont$2083: do { 
          if (_9) {
            __lastLabel__ = 60; ;
            var _10 = _8 << 2;
            var _11 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_10, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb_i2_i$_invcont$2083; };
            var _phitmp_i = _11;
            var _12 = IHEAP[_5];
            var _13 = _12 > 0;
            if (_13) { __lastLabel__ = 386; __label__ = 218; /* _bb_i4_i */  } else { __lastLabel__ = 386; __label__ = 325; /* __ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i */  }
            _bb_i4_i$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i$2086: while(1) { // _bb_i4_i,__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i
              if (__label__ == 218) {
                var _indvar_i_i = __lastLabel__ == 324 ? _indvar_next_i_i : (0);
                var _tmp = _indvar_i_i << 2;
                var _scevgep = _11+_tmp;
                var _14 = _scevgep == 0;
                ;
                if (!_14) {
                  ;
                  var _scevgep_i_i = _scevgep;
                  var _15 = IHEAP[_4];
                  var _scevgep8_i_i = _15+4*_indvar_i_i;
                  var _16 = IHEAP[_scevgep8_i_i];
                  IHEAP[_scevgep_i_i] = _16;
                  ;
                }
                var _indvar_next_i_i = _indvar_i_i + 1;
                var _exitcond = _indvar_next_i_i == _12;
                if (_exitcond) { __lastLabel__ = 324; __label__ = 325; /* __ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i */ continue _bb_i4_i$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i$2086; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i$2086; }
              }
              else if (__label__ == 325) {
                var _17 = IHEAP[_4];
                var _18 = _17 == 0;
                if (_18) { __label__ = 328; /* __ZN20btAlignedObjectArrayIP10btDbvtNodeE10deallocateEv_exit_i */ break _bb_i4_i$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i$2086; } else { __label__ = 263; /* _bb_i_i */ break _bb_i4_i$__ZNK20btAlignedObjectArrayIP10btDbvtNodeE4copyEiiPS1__exit_i$2086; }
              }
            }
            if (__label__ == 263) {
              var _19 = IHEAP[_3];
              var _toBool_i_i = _19 == 0;
              ;
              if (!_toBool_i_i) {
                ;
                var _20 = _17;
                (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_20) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb_i2_i$_invcont$2083; }
              }
              IHEAP[_4] = 0;
              ;
            }
            IHEAP[_3] = 1;
            IHEAP[_4] = _phitmp_i;
            IHEAP[_6] = _8;
            var __pre = IHEAP[_0];
            __lastLabel__ = 328; __label__ = 345; /* _invcont */ break _bb_i2_i$_invcont$2083;
          }
          else {
            __lastLabel__ = 60; __label__ = 345; /* _invcont */ 
          }
        } while(0);
        _invcont$_lpad$2099: do { 
          if (__label__ == 345) {
            var _21 = __lastLabel__ == 328 ? __pre : (_1);
            (function() { try { __THREW__ = false; return __ZL11fetchleavesP6btDbvtP10btDbvtNodeR20btAlignedObjectArrayIS2_Ei(_this, _21, _leaves, -1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$2099; }
            var _22 = (function() { try { __THREW__ = false; return __ZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEi(_this, _leaves, _bu_treshold) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$2099; };
            IHEAP[_0] = _22;
            var _23 = IHEAP[_4];
            var _24 = _23 == 0;
            if (_24) { __label__ = 389; /* __ZN20btAlignedObjectArrayIP10btDbvtNodeED1Ev_exit21 */ break __ZN20btAlignedObjectArrayIP10btDbvtNodeED1Ev_exit21$_bb$2081; }
            var _25 = IHEAP[_3];
            var _toBool_i_i_i17 = _25 == 0;
            ;
            if (!_toBool_i_i_i17) {
              ;
              var _26 = _23;
              __Z21btAlignedFreeInternalPv(_26);
              ;
            }
            IHEAP[_4] = 0;
            STACKTOP = __stackBase__;
            return;
          }
        } while(0);
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _27 = IHEAP[_4];
        var _28 = _27 == 0;
        ;
        if (!_28) {
          ;
          var _29 = IHEAP[_3];
          var _toBool_i_i_i = _29 == 0;
          ;
          _bb2_i_i_i$_bb1_i_i_i$2110: do { 
            if (!_toBool_i_i_i) {
              ;
              var _30 = _27;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_30) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$2110; } else { ; }
              var _eh_ptr10 = _llvm_eh_exception();
              var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_4] = 0;
          ;
        }
        IHEAP[_3] = 1;
        IHEAP[_4] = 0;
        IHEAP[_5] = 0;
        IHEAP[_6] = 0;
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN6btDbvt15optimizeTopDownEi.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt15optimizeTopDownEi, "__ZN6btDbvt15optimizeTopDownEi");
  
  
  function __ZN16btDbvtBroadphaseC2EP22btOverlappingPairCache(_this, _paircache) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btDbvtBroadphase+8;
    var _1 = _this+4;
    __lastLabel__ = -1; ;
    _bb1$2117: while(1) { // _bb1
      var _indvar79 = __lastLabel__ == 345 ? _indvar_next80 : (0);
      var __061 = 1 - _indvar79;
      var _2 = __061 == -1;
      if (_2) { __label__ = 62; /* _bb9 */ break _bb1$2117; }
      var __0 = _this+4+_indvar79*40;
      (function() { try { __THREW__ = false; return __ZN6btDbvtC1Ev(__0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb1$2117; }
      var _indvar_next80 = _indvar79 + 1;
      __lastLabel__ = 345; __label__ = 75; /* _bb1 */ continue _bb1$2117;
    }
    _lpad$_bb9$2121: do { 
      if (__label__ == 254) {
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select38 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _33 = _1 == 0;
        if (_33) { __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _lpad$_bb9$2121; } else { __lastLabel__ = 254; ; }
        var _3 = 1 - __061;
        var _4 = _3 * 40;
        var _5 = _1;
        var _6 = _4 + _5;
        var _7 = _6;
        __lastLabel__ = 116; ;
        _bb4$2124: while(1) { // _bb4
          var _indvar = __lastLabel__ == 82 ? _indvar_next : (0);
          var _tmp = 0 - _indvar;
          var __062 = _7+40*_tmp;
          var _8 = __062 == _1;
          if (_8) { __lastLabel__ = 61; __label__ = 45; /* _ppad */ break _lpad$_bb9$2121; } else { __lastLabel__ = 61; ; }
          var _tmp67 = _indvar ^ -1;
          var _scevgep = _7+40*_tmp67;
          var _indvar_next = _indvar + 1;
          (function() { try { __THREW__ = false; return __ZN6btDbvtD1Ev(_scevgep) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 82; __label__ = 61; /* _bb4 */ continue _bb4$2124; } else { __lastLabel__ = 82; __label__ = 3781; /* _lpad39 */ break _bb4$2124; }
        }
        var _eh_ptr40 = _llvm_eh_exception();
        var _eh_select42 = _llvm_eh_selector(_eh_ptr40, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
      else if (__label__ == 62) {
        var _9 = _this+153;
        IHEAP[_9] = 0;
        var _10 = _this+154;
        IHEAP[_10] = 1;
        var _11 = _paircache == 0;
        var _12 = _11;
        var _13 = _this+152;
        IHEAP[_13] = _12;
        var _14 = _this+100;
        FHEAP[_14] = 0;
        var _15 = _this+104;
        IHEAP[_15] = 0;
        var _16 = _this+124;
        IHEAP[_16] = 0;
        var _17 = _this+108;
        IHEAP[_17] = 1;
        var _18 = _this+112;
        IHEAP[_18] = 0;
        var _19 = _this+116;
        IHEAP[_19] = 10;
        var _20 = _this+120;
        IHEAP[_20] = 1;
        var _21 = _this+128;
        IHEAP[_21] = 0;
        var _22 = _this+132;
        IHEAP[_22] = 0;
        var _23 = _this+136;
        FHEAP[_23] = 0;
        ;
        _bb10$_return$2129: do { 
          if (_11) {
            __lastLabel__ = 62; ;
            var _24 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(76, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1603; /* _invcont11 */  } else { __label__ = 494; /* _lpad43 */  };
            _invcont11$_lpad43$2131: do { 
              if (__label__ == 1603) {
                var _25 = _24 == 0;
                ;
                _bb19$_bb12$2133: do { 
                  if (!_25) {
                    ;
                    var _26 = _24;
                    (function() { try { __THREW__ = false; return __ZN28btHashedOverlappingPairCacheC1Ev(_26) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 64; /* _bb19 */ break _bb19$_bb12$2133; } else { ; }
                    var _eh_ptr48 = _llvm_eh_exception();
                    var _eh_select50 = _llvm_eh_selector(_eh_ptr48, ___gxx_personality_v0, 0);
                    __lastLabel__ = 496; __label__ = 497; /* _ppad57 */ break _invcont11$_lpad43$2131;
                  }
                } while(0);
                var _27 = _24;
                __lastLabel__ = 64; __label__ = 44; /* _return */ break _bb10$_return$2129;
              }
              else if (__label__ == 494) {
                var _eh_ptr44 = _llvm_eh_exception();
                var _eh_select46 = _llvm_eh_selector(_eh_ptr44, ___gxx_personality_v0, 0);
                __lastLabel__ = 494; ;
              }
            } while(0);
            var _eh_exception_1 = __lastLabel__ == 496 ? _eh_ptr48 : (_eh_ptr44);
            var _34 = _this+4;
            var _35 = _34 == 0;
            if (_35) { __lastLabel__ = 497; __label__ = 45; /* _ppad */ break _lpad$_bb9$2121; } else { __lastLabel__ = 497; ; }
            _bb28$2139: while(1) { // _bb28
              var _indvar69 = __lastLabel__ == 6 ? _indvar_next70 : (0);
              var _scevgep75_idx = _indvar69 * -40;
              var _28 = _scevgep75_idx == -80;
              if (_28) { __lastLabel__ = 66; __label__ = 45; /* _ppad */ break _lpad$_bb9$2121; } else { __lastLabel__ = 66; ; }
              var _tmp72 = 1 - _indvar69;
              var _scevgep73 = _this+4+_tmp72*40;
              var _indvar_next70 = _indvar69 + 1;
              (function() { try { __THREW__ = false; return __ZN6btDbvtD1Ev(_scevgep73) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 6; __label__ = 66; /* _bb28 */ continue _bb28$2139; } else { __lastLabel__ = 6; __label__ = 3782; /* _lpad51 */ break _bb28$2139; }
            }
            var _eh_ptr52 = _llvm_eh_exception();
            var _eh_select54 = _llvm_eh_selector(_eh_ptr52, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
          else {
            __lastLabel__ = 62; ;
          }
        } while(0);
        var _iftmp_237_0 = __lastLabel__ == 64 ? _27 : (_paircache);
        var _29 = _this+96;
        IHEAP[_29] = _iftmp_237_0;
        var _30 = _this+148;
        IHEAP[_30] = 0;
        var _31 = _this+140;
        IHEAP[_31] = 0;
        var _32 = _this+144;
        IHEAP[_32] = 0;
        var _scevgep77 = _this+84;
        IHEAP[_scevgep77] = 0;
        var _scevgep77_1 = _this+84+4;
        IHEAP[_scevgep77_1] = 0;
        var _scevgep77_2 = _this+84+8;
        IHEAP[_scevgep77_2] = 0;
        ;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (__lastLabel__ == 497 ? _eh_exception_1 : (__lastLabel__ == 61 ? _eh_ptr : (_eh_exception_1)));
    IHEAP[_0] = __ZTV21btBroadphaseInterface+8;
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  __ZN16btDbvtBroadphaseC2EP22btOverlappingPairCache.__index__ = Runtime.getFunctionIndex(__ZN16btDbvtBroadphaseC2EP22btOverlappingPairCache, "__ZN16btDbvtBroadphaseC2EP22btOverlappingPairCache");
  
  
  function __ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNodeS2_(_this, _na, _nb) {
    ;
    var __label__;
    var _0 = _na == _nb;
    ;
    if (_0) {
      ;
      ;
      return;
    }
    else {
      ;
      var _1 = _na+36;
      var _2 = _1;
      var _3 = IHEAP[_2];
      var _4 = _nb+36;
      var _5 = _4;
      var _6 = IHEAP[_5];
      var _7 = _this+4;
      var _8 = IHEAP[_7];
      var _9 = _8+96;
      var _10 = IHEAP[_9];
      var _11 = _10;
      var _12 = IHEAP[_11];
      var _13 = _12+8;
      var _14 = IHEAP[_13];
      var _15 = _6;
      var _16 = _3;
      var _17 = _10;
      var _18 = _14;
      var _19 = FUNCTION_TABLE[_18](_17, _16, _15);
      var _20 = IHEAP[_7];
      var _21 = _20+120;
      var _22 = IHEAP[_21];
      var _23 = _22 + 1;
      IHEAP[_21] = _23;
      ;
      return;
    }
  }
  __ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNodeS2_.__index__ = Runtime.getFunctionIndex(__ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNodeS2_, "__ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNodeS2_");
  
  
  function __ZN19BroadphaseRayTester7ProcessEPK10btDbvtNode(_this, _leaf) {
    ;
    var __label__;
    var _0 = _leaf+36;
    var _1 = _0;
    var _2 = IHEAP[_1];
    var _3 = _this+4;
    var _4 = IHEAP[_3];
    var _5 = _4;
    var _6 = IHEAP[_5];
    var _7 = _6+8;
    var _8 = IHEAP[_7];
    var _9 = _2;
    var _10 = _4;
    var _11 = _8;
    var _12 = FUNCTION_TABLE[_11](_10, _9);
    ;
    return;
  }
  __ZN19BroadphaseRayTester7ProcessEPK10btDbvtNode.__index__ = Runtime.getFunctionIndex(__ZN19BroadphaseRayTester7ProcessEPK10btDbvtNode, "__ZN19BroadphaseRayTester7ProcessEPK10btDbvtNode");
  
  
  function __ZN20BroadphaseAabbTester7ProcessEPK10btDbvtNode(_this, _leaf) {
    ;
    var __label__;
    var _0 = _leaf+36;
    var _1 = _0;
    var _2 = IHEAP[_1];
    var _3 = _this+4;
    var _4 = IHEAP[_3];
    var _5 = _4;
    var _6 = IHEAP[_5];
    var _7 = _6+8;
    var _8 = IHEAP[_7];
    var _9 = _2;
    var _10 = _8;
    var _11 = FUNCTION_TABLE[_10](_4, _9);
    ;
    return;
  }
  __ZN20BroadphaseAabbTester7ProcessEPK10btDbvtNode.__index__ = Runtime.getFunctionIndex(__ZN20BroadphaseAabbTester7ProcessEPK10btDbvtNode, "__ZN20BroadphaseAabbTester7ProcessEPK10btDbvtNode");
  
  
  function __ZN20btAlignedObjectArrayIN6btDbvt6sStkNNEE6resizeEiRKS1_(_this, _newsize, _fillData) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > _newsize;
    ;
    _bb12$_bb3$2178: do { 
      if (!_2) {
        ;
        var _3 = _1 < _newsize;
        if (!(_3)) { __label__ = 3; /* _bb12 */ break _bb12$_bb3$2178; }
        var _4 = _this+8;
        var _5 = IHEAP[_4];
        var _6 = _5 < _newsize;
        ;
        if (_6) {
          ;
          var _7 = _newsize == 0;
          ;
          if (_7) {
            __lastLabel__ = 131; ;
          }
          else {
            __lastLabel__ = 131; ;
            var _8 = _newsize << 3;
            var _9 = __Z22btAlignedAllocInternalji(_8, 16);
            var _phitmp_i = _9;
            var __pre = IHEAP[_0];
            __lastLabel__ = 215; ;
          }
          var _10 = __lastLabel__ == 215 ? __pre : (_1);
          var _11 = __lastLabel__ == 215 ? _phitmp_i : (0);
          var _12 = _10 > 0;
          ;
          _bb_nph_i_i$__ZNK20btAlignedObjectArrayIN6btDbvt6sStkNNEE4copyEiiPS1__exit_i$2186: do { 
            if (_12) {
              ;
              var _13 = _this+12;
              __lastLabel__ = 217; ;
              _bb_i4_i$2188: while(1) { // _bb_i4_i
                var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
                var _scevgep_i_i = _11+8*_indvar_i_i;
                var _14 = _scevgep_i_i == 0;
                ;
                if (!_14) {
                  ;
                  var _scevgep12_i_i = _11+8*_indvar_i_i+4;
                  var _scevgep11_i_i = _11+8*_indvar_i_i;
                  var _15 = IHEAP[_13];
                  var _scevgep89_i_i = _15+8*_indvar_i_i;
                  var _16 = IHEAP[_scevgep89_i_i];
                  var _scevgep10_i_i = _15+8*_indvar_i_i+4;
                  var _17 = IHEAP[_scevgep10_i_i];
                  IHEAP[_scevgep11_i_i] = _16;
                  IHEAP[_scevgep12_i_i] = _17;
                  ;
                }
                var _indvar_next_i_i = _indvar_i_i + 1;
                var _exitcond21 = _indvar_next_i_i == _10;
                if (_exitcond21) { __lastLabel__ = 324; __label__ = 501; /* __ZNK20btAlignedObjectArrayIN6btDbvt6sStkNNEE4copyEiiPS1__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayIN6btDbvt6sStkNNEE4copyEiiPS1__exit_i$2186; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$2188; }
              }
            }
          } while(0);
          var _18 = _this+12;
          var _19 = IHEAP[_18];
          var _20 = _19 == 0;
          ;
          if (!_20) {
            ;
            var _21 = _this+16;
            var _22 = IHEAP[_21];
            var _toBool_i_i = _22 == 0;
            ;
            if (!_toBool_i_i) {
              ;
              var _23 = _19;
              __Z21btAlignedFreeInternalPv(_23);
              ;
            }
            IHEAP[_18] = 0;
            ;
          }
          var _24 = _this+16;
          IHEAP[_24] = 1;
          IHEAP[_18] = _11;
          IHEAP[_4] = _newsize;
          if (!(_3)) { __label__ = 3; /* _bb12 */ break _bb12$_bb3$2178; }
        }
        var _25 = _this+12;
        var _26 = _fillData;
        var _27 = _fillData+4;
        var _tmp = _newsize - _1;
        __lastLabel__ = 130; ;
        _bb7$2201: while(1) { // _bb7
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp17 = _1 + _indvar;
          var _28 = IHEAP[_25];
          var _scevgep = _28+8*_tmp17;
          var _29 = _scevgep == 0;
          ;
          if (!_29) {
            ;
            var _30 = IHEAP[_26];
            var _31 = IHEAP[_27];
            var _scevgep1819 = _28+8*_tmp17;
            IHEAP[_scevgep1819] = _30;
            var _scevgep20 = _28+8*_tmp17+4;
            IHEAP[_scevgep20] = _31;
            ;
          }
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _tmp;
          if (_exitcond) { __lastLabel__ = 150; __label__ = 3; /* _bb12 */ break _bb12$_bb3$2178; } else { __lastLabel__ = 150; __label__ = 2; /* _bb7 */ continue _bb7$2201; }
        }
      }
    } while(0);
    IHEAP[_0] = _newsize;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIN6btDbvt6sStkNNEE6resizeEiRKS1_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIN6btDbvt6sStkNNEE6resizeEiRKS1_, "__ZN20btAlignedObjectArrayIN6btDbvt6sStkNNEE6resizeEiRKS1_");
  
  
  function __ZN16btDbvtBroadphase7collideEP12btDispatcher(_this, _dispatcher) {
    var __stackBase__  = STACKTOP; STACKTOP += 44;
    var __label__;
    var __lastLabel__ = null;
    var _curAabb = __stackBase__;
    var _collider8 = __stackBase__+32;
    var _0 = _this+4+12;
    var _1 = IHEAP[_0];
    var _2 = _this+112;
    var _3 = IHEAP[_2];
    var _4 = _3 * _1;
    var _5 = Math.floor(_4 / 100);
    var _6 = _5 + 1;
    var _7 = _this+4;
    __ZN6btDbvt19optimizeIncrementalEi(_7, _6);
    var _8 = _this+124;
    var _9 = IHEAP[_8];
    var _10 = _9 == 0;
    ;
    if (!_10) {
      ;
      var _11 = _this+4+40+12;
      var _12 = IHEAP[_11];
      var _13 = _this+108;
      var _14 = IHEAP[_13];
      var _15 = _14 * _12;
      var _16 = Math.floor(_15 / 100);
      var _17 = _16 + 1;
      var _18 = _this+4+40;
      __ZN6btDbvt19optimizeIncrementalEi(_18, _17);
      var _19 = IHEAP[_8];
      var __neg = Math.floor(_15 / -100);
      var __neg58 = __neg + -1;
      var _20 = __neg58 + _19;
      var _21 = _20 < 0;
      var _22 = _21 ? 0 : _20;
      IHEAP[_8] = _22;
      ;
    }
    var _23 = _this+104;
    var _24 = IHEAP[_23];
    var _25 = _24 + 1;
    var _26 = Math.floor(_25 % 2);
    IHEAP[_23] = _26;
    var _27 = _this+84+_26*4;
    var _28 = IHEAP[_27];
    var _29 = _28 == 0;
    ;
    _bb7$_bb3_preheader$2240: do { 
      if (_29) {
        __label__ = 2; /* _bb7 */ 
      }
      else {
        ;
        var _30 = _this+84+8;
        var _31 = _curAabb;
        var _32 = _curAabb+4;
        var _33 = _curAabb+8;
        var _34 = _curAabb+12;
        var _35 = _curAabb+16;
        var _36 = _curAabb+16+4;
        var _37 = _curAabb+16+8;
        var _38 = _curAabb+16+12;
        var _39 = _this+4+40;
        __lastLabel__ = 510; ;
        _bb3$2242: while(1) { // _bb3
          var _current_0 = __lastLabel__ == 514 ? _41 : (_28);
          var _40 = _current_0+52+4;
          var _41 = IHEAP[_40];
          var _42 = _current_0+52;
          var _43 = IHEAP[_42];
          var _44 = _43 == 0;
          ;
          if (_44) {
            ;
            var _46 = _current_0+60;
            var _47 = IHEAP[_46];
            var _48 = _this+84+_47*4;
            IHEAP[_48] = _41;
            ;
          }
          else {
            ;
            var _45 = _43+52+4;
            IHEAP[_45] = _41;
            ;
          }
          var _49 = IHEAP[_40];
          var _50 = _49 == 0;
          ;
          if (!_50) {
            ;
            var _51 = IHEAP[_42];
            var _52 = _49+52;
            IHEAP[_52] = _51;
            ;
          }
          IHEAP[_42] = 0;
          var _53 = IHEAP[_30];
          IHEAP[_40] = _53;
          var _54 = IHEAP[_30];
          var _55 = _54 == 0;
          ;
          if (!_55) {
            ;
            var _56 = _54+52;
            IHEAP[_56] = _current_0;
            ;
          }
          IHEAP[_30] = _current_0;
          var _57 = _current_0+48;
          var _58 = IHEAP[_57];
          (function() { try { __THREW__ = false; return __ZN6btDbvt6removeEP10btDbvtNode(_7, _58) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb3$2242; }
          var _59 = _current_0+16;
          var _60 = FHEAP[_59];
          FHEAP[_31] = _60;
          var _61 = _current_0+16+4;
          var _62 = FHEAP[_61];
          FHEAP[_32] = _62;
          var _63 = _current_0+16+8;
          var _64 = FHEAP[_63];
          FHEAP[_33] = _64;
          var _65 = _current_0+16+12;
          var _66 = FHEAP[_65];
          FHEAP[_34] = _66;
          var _67 = _current_0+32;
          var _68 = FHEAP[_67];
          FHEAP[_35] = _68;
          var _69 = _current_0+32+4;
          var _70 = FHEAP[_69];
          FHEAP[_36] = _70;
          var _71 = _current_0+32+8;
          var _72 = FHEAP[_71];
          FHEAP[_37] = _72;
          var _73 = _current_0+32+12;
          var _74 = FHEAP[_73];
          FHEAP[_38] = _74;
          var _75 = _current_0;
          var _76 = (function() { try { __THREW__ = false; return __ZN6btDbvt6insertERK12btDbvtAabbMmPv(_39, _curAabb, _75) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb3$2242; };
          IHEAP[_57] = _76;
          var _77 = _current_0+60;
          IHEAP[_77] = 2;
          var _78 = _41 == 0;
          if (_78) { __lastLabel__ = 514; __label__ = 82; /* _bb5 */ break _bb3$2242; } else { __lastLabel__ = 514; __label__ = 116; /* _bb3 */ continue _bb3$2242; }
        }
        if (__label__ == 254) {
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select39 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          __lastLabel__ = 254; __label__ = 111; /* _Unwind */ break _bb7$_bb3_preheader$2240;
        }
        else if (__label__ == 82) {
          var _79 = _this+4+40+12;
          var _80 = IHEAP[_79];
          IHEAP[_8] = _80;
          var _81 = _this+154;
          IHEAP[_81] = 1;
          __label__ = 2; /* _bb7 */ break _bb7$_bb3_preheader$2240;
        }
      }
    } while(0);
    _bb7$_Unwind$2259: do { 
      if (__label__ == 2) {
        var _82 = _collider8;
        IHEAP[_82] = __ZTV18btDbvtTreeCollider+8;
        var _83 = _collider8+4;
        IHEAP[_83] = _this;
        var _84 = _this+153;
        var _85 = IHEAP[_84];
        var _toBool = _85 == 0;
        ;
        _bb18$_bb9$2261: do { 
          if (!_toBool) {
            ;
            var _86 = _this+4+40;
            var _87 = IHEAP[_86];
            var _88 = _this+4;
            var _89 = IHEAP[_88];
            var _90 = _collider8;
            (function() { try { __THREW__ = false; return __ZN6btDbvt24collideTTpersistentStackEPK10btDbvtNodeS2_RNS_8ICollideE(_7, _89, _87, _90) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 292; /* _bb11 */  } else { __label__ = 520; /* _lpad40 */  }
            if (__label__ == 292) {
              var __pre62 = IHEAP[_84];
              var _toBool12 = __pre62 == 0;
              if (_toBool12) { __label__ = 86; /* _bb18 */ break _bb18$_bb9$2261; }
              var _91 = _this+4;
              var _92 = IHEAP[_91];
              var _93 = _collider8;
              (function() { try { __THREW__ = false; return __ZN6btDbvt24collideTTpersistentStackEPK10btDbvtNodeS2_RNS_8ICollideE(_7, _92, _92, _93) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 86; /* _bb18 */ break _bb18$_bb9$2261; } else { ; }
            }
            var _eh_ptr41 = _llvm_eh_exception();
            var _eh_select43 = _llvm_eh_selector(_eh_ptr41, ___gxx_personality_v0, 0);
            IHEAP[_82] = __ZTV18btDbvtTreeCollider+8;
            __lastLabel__ = 520; __label__ = 111; /* _Unwind */ break _bb7$_Unwind$2259;
          }
        } while(0);
        IHEAP[_82] = __ZTV18btDbvtTreeCollider+8;
        var _94 = _this+154;
        var _95 = IHEAP[_94];
        var _toBool19 = _95 == 0;
        ;
        _bb34$_bb20$2268: do { 
          if (!_toBool19) {
            ;
            var _96 = _this+96;
            var _97 = IHEAP[_96];
            var _98 = _97;
            var _99 = IHEAP[_98];
            var _100 = _99+28;
            var _101 = IHEAP[_100];
            var _102 = _101;
            var _103 = FUNCTION_TABLE[_102](_97);
            var _104 = _103+4;
            var _105 = IHEAP[_104];
            var _106 = _105 > 0;
            if (!(_106)) { __label__ = 250; /* _bb34 */ break _bb34$_bb20$2268; }
            var _107 = _this+116;
            var _108 = IHEAP[_107];
            var _109 = _108 * _105;
            var _110 = Math.floor(_109 / 100);
            var _111 = _this+120;
            var _112 = IHEAP[_111];
            var _113 = _112 > _110;
            var _114 = _113 ? _112 : _110;
            var _115 = _105 < _114;
            var _116 = _115 ? _105 : _114;
            var _117 = _116 > 0;
            var _118 = _this+144;
            ;
            _bb_nph$_bb32$2271: do { 
              if (_117) {
                __lastLabel__ = 5; ;
                var _119 = _103+12;
                __lastLabel__ = 130; ;
                _bb23$2273: while(1) { // _bb23
                  var _i_160 = __lastLabel__ == 130 ? 0 : (_174);
                  var _ni_159 = __lastLabel__ == 130 ? _116 : (_ni_0);
                  var _120 = IHEAP[_118];
                  var _121 = _120 + _i_160;
                  var _122 = IHEAP[_104];
                  var _123 = Math.floor(_121 % _122);
                  var _124 = IHEAP[_119];
                  var _125 = _124+16*_123;
                  var _126 = IHEAP[_125];
                  var _127 = _124+16*_123+4;
                  var _128 = IHEAP[_127];
                  var _129 = _128+48;
                  var _130 = _129;
                  var _131 = IHEAP[_130];
                  var _132 = _126+48;
                  var _133 = _132;
                  var _134 = IHEAP[_133];
                  var _135 = _134;
                  var _136 = FHEAP[_135];
                  var _137 = _131+16;
                  var _138 = FHEAP[_137];
                  var _139 = _136 > _138;
                  ;
                  _bb27$_bb_i$2275: do { 
                    if (_139) {
                      __label__ = 515; /* _bb27 */ 
                    }
                    else {
                      ;
                      var _140 = _134+16;
                      var _141 = FHEAP[_140];
                      var _142 = _131;
                      var _143 = FHEAP[_142];
                      var _144 = _141 < _143;
                      if (_144) { __label__ = 515; /* _bb27 */ break _bb27$_bb_i$2275; }
                      var _145 = _134+4;
                      var _146 = FHEAP[_145];
                      var _147 = _131+16+4;
                      var _148 = FHEAP[_147];
                      var _149 = _146 > _148;
                      if (_149) { __label__ = 515; /* _bb27 */ break _bb27$_bb_i$2275; }
                      var _150 = _134+16+4;
                      var _151 = FHEAP[_150];
                      var _152 = _131+4;
                      var _153 = FHEAP[_152];
                      var _154 = _151 < _153;
                      if (_154) { __label__ = 515; /* _bb27 */ break _bb27$_bb_i$2275; }
                      var _155 = _134+8;
                      var _156 = FHEAP[_155];
                      var _157 = _131+16+8;
                      var _158 = FHEAP[_157];
                      var _159 = _156 > _158;
                      if (_159) { __label__ = 515; /* _bb27 */ break _bb27$_bb_i$2275; }
                      var _160 = _134+16+8;
                      var _161 = FHEAP[_160];
                      var _162 = _131+8;
                      var _163 = FHEAP[_162];
                      var _phitmp = _161 < _163;
                      if (_phitmp) { __lastLabel__ = 508; __label__ = 515; /* _bb27 */ break _bb27$_bb_i$2275; } else { __lastLabel__ = 508; __label__ = 66; /* _bb28 */ break _bb27$_bb_i$2275; }
                    }
                  } while(0);
                  if (__label__ == 515) {
                    var _164 = IHEAP[_96];
                    var _165 = _164;
                    var _166 = IHEAP[_165];
                    var _167 = _166+12;
                    var _168 = IHEAP[_167];
                    var _169 = _164;
                    var _170 = _168;
                    var _171 = FUNCTION_TABLE[_170](_169, _126, _128, _dispatcher);
                    var _172 = _ni_159 + -1;
                    var _173 = _i_160 + -1;
                    __lastLabel__ = 515; ;
                  }
                  var _ni_0 = __lastLabel__ == 515 ? _172 : (_ni_159);
                  var _i_0 = __lastLabel__ == 515 ? _173 : (_i_160);
                  var _174 = _i_0 + 1;
                  var _175 = _174 < _ni_0;
                  if (_175) { __lastLabel__ = 66; __label__ = 419; /* _bb23 */ continue _bb23$2273; } else { __lastLabel__ = 66; __label__ = 90; /* _bb30 */ break _bb23$2273; }
                }
                var __pre61 = IHEAP[_104];
                var _176 = __pre61 > 0;
                var _177 = _this+144;
                if (_176) { __lastLabel__ = 90; __label__ = 91; /* _bb32 */ break _bb_nph$_bb32$2271; } else { __lastLabel__ = 90; ; }
                IHEAP[_177] = 0;
                __label__ = 250; /* _bb34 */ break _bb34$_bb20$2268;
              }
              else {
                __lastLabel__ = 5; ;
              }
            } while(0);
            var _178 = __lastLabel__ == 90 ? _177 : (_118);
            var _ni_1_lcssa64 = __lastLabel__ == 90 ? _ni_0 : (_116);
            var _179 = __lastLabel__ == 90 ? __pre61 : (_105);
            var _180 = IHEAP[_178];
            var _181 = _180 + _ni_1_lcssa64;
            var _182 = Math.floor(_181 % _179);
            IHEAP[_178] = _182;
            ;
          }
        } while(0);
        var _183 = _this+140;
        var _184 = IHEAP[_183];
        var _185 = _184 + 1;
        IHEAP[_183] = _185;
        var _186 = _this+120;
        IHEAP[_186] = 1;
        IHEAP[_94] = 0;
        var _187 = _this+128;
        var _188 = IHEAP[_187];
        var _189 = _188 == 0;
        ;
        if (_189) {
          ;
          var _196 = _this+136;
          FHEAP[_196] = 0;
          var __phi_trans_insert = _this+132;
          var __pre = IHEAP[__phi_trans_insert];
          __lastLabel__ = 251; ;
        }
        else {
          ;
          var _190 = _this+132;
          var _191 = IHEAP[_190];
          var _192 = unSign(_191, 32);
          var _193 = unSign(_188, 32);
          var _194 = _192 / _193;
          var _195 = _this+136;
          FHEAP[_195] = _194;
          __lastLabel__ = 518; ;
        }
        var _197 = __lastLabel__ == 251 ? __pre : (_191);
        var _198 = _this+132;
        var _199 = _197 >> 1;
        IHEAP[_198] = _199;
        var _200 = _188 >> 1;
        IHEAP[_187] = _200;
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 520 ? _eh_ptr41 : (_eh_ptr);
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  __ZN16btDbvtBroadphase7collideEP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN16btDbvtBroadphase7collideEP12btDispatcher, "__ZN16btDbvtBroadphase7collideEP12btDispatcher");
  
  
  function __ZN16btDbvtBroadphase22performDeferredRemovalEP12btDispatcher(_this, _dispatcher) {
    var __stackBase__  = STACKTOP; STACKTOP += 18;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = __stackBase__+2;
    var _3 = _this+96;
    var _4 = IHEAP[_3];
    var _5 = _4;
    var _6 = IHEAP[_5];
    var _7 = _6+56;
    var _8 = IHEAP[_7];
    var _9 = _8;
    var _10 = FUNCTION_TABLE[_9](_4);
    var _toBool = _10 == 0;
    ;
    if (_toBool) {
      ;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      var _11 = IHEAP[_3];
      var _12 = _11;
      var _13 = IHEAP[_12];
      var _14 = _13+28;
      var _15 = IHEAP[_14];
      var _16 = _15;
      var _17 = FUNCTION_TABLE[_16](_11);
      var _18 = _17+4;
      var _19 = IHEAP[_18];
      var _20 = _19 > 1;
      ;
      if (_20) {
        __lastLabel__ = 60; ;
        var _21 = _19 + -1;
        __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(_17, _1, 0, _21);
        var __pre = IHEAP[_18];
        __lastLabel__ = 131; ;
      }
      else {
        __lastLabel__ = 60; ;
      }
      var _22 = __lastLabel__ == 60 ? _19 : (__pre);
      var _23 = _22 > 0;
      ;
      _bb_nph$__ZN20btAlignedObjectArrayI16btBroadphasePairE9quickSortI29btBroadphasePairSortPredicateEEvT__exit26$2300: do { 
        if (_23) {
          __lastLabel__ = 4188; ;
          var _24 = _17+12;
          __lastLabel__ = 130; ;
          _bb1$2302: while(1) { // _bb1
            var _i_041 = __lastLabel__ == 130 ? 0 : (_tmp);
            var _invalidPair_140 = __lastLabel__ == 130 ? 0 : (_invalidPair_0);
            var _previousPair_1_039 = __lastLabel__ == 130 ? 0 : (_72);
            var _previousPair_0_038 = __lastLabel__ == 130 ? 0 : (_26);
            var _tmp = _i_041 + 1;
            var _25 = IHEAP[_24];
            var _scevgep4243 = _25+16*_i_041;
            var _26 = IHEAP[_scevgep4243];
            var _27 = _26 == _previousPair_0_038;
            var _scevgep52 = _25+16*_i_041+4;
            var _28 = IHEAP[_scevgep52];
            var _phitmp = _28 == _previousPair_1_039;
            var _or_cond = _27 & _phitmp;
            ;
            _bb13$_bb6$2304: do { 
              if (_or_cond) {
                __lastLabel__ = 75; __label__ = 108; /* _bb13 */ 
              }
              else {
                __lastLabel__ = 75; ;
                var _29 = _28+48;
                var _30 = _29;
                var _31 = IHEAP[_30];
                var _32 = _26+48;
                var _33 = _32;
                var _34 = IHEAP[_33];
                var _35 = _34;
                var _36 = FHEAP[_35];
                var _37 = _31+16;
                var _38 = FHEAP[_37];
                var _39 = _36 > _38;
                if (_39) { __lastLabel__ = 83; __label__ = 108; /* _bb13 */ break _bb13$_bb6$2304; } else { __lastLabel__ = 83; ; }
                var _40 = _34+16;
                var _41 = FHEAP[_40];
                var _42 = _31;
                var _43 = FHEAP[_42];
                var _44 = _41 < _43;
                if (_44) { __lastLabel__ = 522; __label__ = 108; /* _bb13 */ break _bb13$_bb6$2304; } else { __lastLabel__ = 522; ; }
                var _45 = _34+4;
                var _46 = FHEAP[_45];
                var _47 = _31+16+4;
                var _48 = FHEAP[_47];
                var _49 = _46 > _48;
                if (_49) { __lastLabel__ = 159; __label__ = 108; /* _bb13 */ break _bb13$_bb6$2304; } else { __lastLabel__ = 159; ; }
                var _50 = _34+16+4;
                var _51 = FHEAP[_50];
                var _52 = _31+4;
                var _53 = FHEAP[_52];
                var _54 = _51 < _53;
                if (_54) { __lastLabel__ = 523; __label__ = 108; /* _bb13 */ break _bb13$_bb6$2304; } else { __lastLabel__ = 523; ; }
                var _55 = _34+8;
                var _56 = FHEAP[_55];
                var _57 = _31+16+8;
                var _58 = FHEAP[_57];
                var _59 = _56 > _58;
                if (_59) { __lastLabel__ = 133; __label__ = 108; /* _bb13 */ break _bb13$_bb6$2304; } else { __lastLabel__ = 133; ; }
                var _60 = _34+16+8;
                var _61 = FHEAP[_60];
                var _62 = _31+8;
                var _63 = FHEAP[_62];
                var _phitmp37 = _61 < _63;
                if (_phitmp37) { __lastLabel__ = 508; __label__ = 108; /* _bb13 */ break _bb13$_bb6$2304; } else { __lastLabel__ = 508; __label__ = 63; /* _bb14 */ break _bb13$_bb6$2304; }
              }
            } while(0);
            if (__label__ == 108) {
              var _64 = __lastLabel__ == 508 ? _28 : (__lastLabel__ == 133 ? _28 : (__lastLabel__ == 523 ? _28 : (__lastLabel__ == 159 ? _28 : (__lastLabel__ == 522 ? _28 : (__lastLabel__ == 83 ? _28 : (_28))))));
              var _65 = IHEAP[_3];
              var _66 = _65;
              var _67 = IHEAP[_66];
              var _68 = _67+32;
              var _69 = IHEAP[_68];
              var _70 = _69;
              var _scevgep = _25+16*_i_041;
              FUNCTION_TABLE[_70](_65, _scevgep, _dispatcher);
              IHEAP[_scevgep4243] = 0;
              var _scevgep48 = _25+16*_i_041+4;
              IHEAP[_scevgep48] = 0;
              var _71 = _invalidPair_140 + 1;
              __lastLabel__ = 108; ;
            }
            var _72 = __lastLabel__ == 108 ? _64 : (_28);
            var _invalidPair_0 = __lastLabel__ == 108 ? _71 : (_invalidPair_140);
            var _73 = IHEAP[_18];
            var _74 = _73 > _tmp;
            if (_74) { __lastLabel__ = 63; __label__ = 75; /* _bb1 */ continue _bb1$2302; } else { __lastLabel__ = 63; __label__ = 4; /* _bb17 */ break _bb1$2302; }
          }
          var _75 = _73 > 1;
          if (_75) { __lastLabel__ = 4; ; } else { __lastLabel__ = 4; __label__ = 228; /* __ZN20btAlignedObjectArrayI16btBroadphasePairE9quickSortI29btBroadphasePairSortPredicateEEvT__exit26 */ break _bb_nph$__ZN20btAlignedObjectArrayI16btBroadphasePairE9quickSortI29btBroadphasePairSortPredicateEEvT__exit26$2300; }
          var _76 = _73 + -1;
          __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(_17, _0, 0, _76);
          var __pre56 = IHEAP[_18];
          __lastLabel__ = 227; ;
        }
        else {
          __lastLabel__ = 4188; ;
        }
      } while(0);
      var _invalidPair_1_lcssa57 = __lastLabel__ == 4 ? _invalidPair_0 : (__lastLabel__ == 227 ? _invalidPair_0 : (0));
      var _77 = __lastLabel__ == 4 ? _73 : (__lastLabel__ == 227 ? __pre56 : (_22));
      var _78 = _2;
      IHEAP[_78] = 0;
      var _79 = _2+4;
      IHEAP[_79] = 0;
      var _80 = _2+8;
      IHEAP[_80] = 0;
      var _81 = _2+12;
      IHEAP[_81] = 0;
      var _82 = _77 - _invalidPair_1_lcssa57;
      __ZN20btAlignedObjectArrayI16btBroadphasePairE6resizeEiRKS0_(_17, _82, _2);
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN16btDbvtBroadphase22performDeferredRemovalEP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN16btDbvtBroadphase22performDeferredRemovalEP12btDispatcher, "__ZN16btDbvtBroadphase22performDeferredRemovalEP12btDispatcher");
  
  
  function __ZN16btDbvtBroadphase18setAabbForceUpdateEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher(_this, _absproxy, _aabbMin, _aabbMax, _unnamed_arg) {
    var __stackBase__  = STACKTOP; STACKTOP += 44;
    var __label__;
    var _aabb = __stackBase__;
    var _collider = __stackBase__+32;
    var _0 = _absproxy;
    var _1 = _aabb;
    var _2 = _aabbMin;
    var _3 = FHEAP[_2];
    FHEAP[_1] = _3;
    var _4 = _aabb+4;
    var _5 = _aabbMin+4;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _aabb+8;
    var _8 = _aabbMin+8;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _aabb+12;
    var _11 = _aabbMin+12;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _aabb+16;
    var _14 = _aabbMax;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    var _16 = _aabb+16+4;
    var _17 = _aabbMax+4;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _aabb+16+8;
    var _20 = _aabbMax+8;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _aabb+16+12;
    var _23 = _aabbMax+12;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    var _25 = _absproxy+48+12;
    var _26 = IHEAP[_25];
    var _27 = _26 == 2;
    ;
    if (_27) {
      ;
      var _28 = _absproxy+48;
      var _29 = _28;
      var _30 = IHEAP[_29];
      var _31 = _this+4+40;
      __ZN6btDbvt6removeEP10btDbvtNode(_31, _30);
      var _32 = _this+4;
      var _33 = _absproxy;
      var _34 = __ZN6btDbvt6insertERK12btDbvtAabbMmPv(_32, _aabb, _33);
      var _35 = _absproxy+48;
      var __c = _34;
      IHEAP[_35] = __c;
      ;
    }
    else {
      ;
      var _36 = _this+128;
      var _37 = IHEAP[_36];
      var _38 = _37 + 1;
      IHEAP[_36] = _38;
      var _39 = _absproxy+48;
      var _40 = _39;
      var _41 = IHEAP[_40];
      var _42 = _this+4;
      __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm(_42, _41, _aabb);
      var _43 = _this+132;
      var _44 = IHEAP[_43];
      var _45 = _44 + 1;
      IHEAP[_43] = _45;
      ;
    }
    var _46 = _absproxy+48+4;
    var _47 = _46;
    var _48 = IHEAP[_47];
    var _49 = _48 == 0;
    var _50 = _absproxy+48+8;
    var _51 = IHEAP[_50];
    var _52 = _51;
    ;
    if (_49) {
      ;
      var _54 = IHEAP[_25];
      var _55 = _this+84+_54*4;
      IHEAP[_55] = _52;
      ;
    }
    else {
      ;
      var _53 = _48+52+4;
      IHEAP[_53] = _52;
      ;
    }
    var _56 = IHEAP[_50];
    var _57 = _56 == 0;
    ;
    if (!_57) {
      ;
      var _58 = IHEAP[_47];
      var _59 = _56+52;
      var _60 = _59;
      IHEAP[_60] = _58;
      ;
    }
    var _61 = _absproxy+16;
    var _62 = FHEAP[_2];
    FHEAP[_61] = _62;
    var _63 = _absproxy+16+4;
    var _64 = FHEAP[_5];
    FHEAP[_63] = _64;
    var _65 = _absproxy+16+8;
    var _66 = FHEAP[_8];
    FHEAP[_65] = _66;
    var _67 = _absproxy+16+12;
    var _68 = FHEAP[_11];
    FHEAP[_67] = _68;
    var _69 = _absproxy+32;
    var _70 = FHEAP[_14];
    FHEAP[_69] = _70;
    var _71 = _absproxy+32+4;
    var _72 = FHEAP[_17];
    FHEAP[_71] = _72;
    var _73 = _absproxy+32+8;
    var _74 = FHEAP[_20];
    FHEAP[_73] = _74;
    var _75 = _absproxy+32+12;
    var _76 = FHEAP[_23];
    FHEAP[_75] = _76;
    var _77 = _this+104;
    var _78 = IHEAP[_77];
    IHEAP[_25] = _78;
    var _79 = IHEAP[_77];
    var _80 = _this+84+_79*4;
    IHEAP[_47] = 0;
    var _81 = IHEAP[_80];
    var __c18 = _81;
    IHEAP[_50] = __c18;
    var _82 = IHEAP[_80];
    var _83 = _82 == 0;
    ;
    if (!_83) {
      ;
      var _84 = _82+52;
      IHEAP[_84] = _0;
      ;
    }
    IHEAP[_80] = _0;
    var _85 = _this+154;
    IHEAP[_85] = 1;
    var _86 = _this+153;
    var _87 = IHEAP[_86];
    var _toBool4not = _87 == 0;
    ;
    _bb8$_bb11$2345: do { 
      if (_toBool4not) {
        ;
        var _88 = _collider;
        IHEAP[_88] = __ZTV18btDbvtTreeCollider+8;
        var _89 = _collider+4;
        IHEAP[_89] = _this;
        var _90 = _absproxy+48;
        var _91 = _90;
        var _92 = IHEAP[_91];
        var _93 = _this+4+40;
        var _94 = IHEAP[_93];
        var _95 = _this+4+40;
        var _96 = _collider;
        (function() { try { __THREW__ = false; return __ZN6btDbvt24collideTTpersistentStackEPK10btDbvtNodeS2_RNS_8ICollideE(_95, _94, _92, _96) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        if (__label__ == 345) {
          var _97 = IHEAP[_91];
          var _98 = _this+4;
          var _99 = IHEAP[_98];
          var _100 = _this+4;
          (function() { try { __THREW__ = false; return __ZN6btDbvt24collideTTpersistentStackEPK10btDbvtNodeS2_RNS_8ICollideE(_100, _99, _97, _96) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 292; /* _bb11 */ break _bb8$_bb11$2345; } else { ; }
        }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select14 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        IHEAP[_88] = __ZTV18btDbvtTreeCollider+8;
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN16btDbvtBroadphase18setAabbForceUpdateEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN16btDbvtBroadphase18setAabbForceUpdateEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher, "__ZN16btDbvtBroadphase18setAabbForceUpdateEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher");
  
  
  function __ZN16btDbvtBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher(_this, _absproxy, _aabbMin, _aabbMax, _unnamed_arg) {
    var __stackBase__  = STACKTOP; STACKTOP += 60;
    var __label__;
    var __lastLabel__ = null;
    var _aabb = __stackBase__;
    var _velocity = __stackBase__+32;
    var _collider = __stackBase__+48;
    var _0 = _absproxy;
    var _1 = _aabb;
    var _2 = _aabbMin;
    var _3 = FHEAP[_2];
    FHEAP[_1] = _3;
    var _4 = _aabb+4;
    var _5 = _aabbMin+4;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _aabb+8;
    var _8 = _aabbMin+8;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _aabb+12;
    var _11 = _aabbMin+12;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _aabb+16;
    var _14 = _aabbMax;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    var _16 = _aabb+16+4;
    var _17 = _aabbMax+4;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _aabb+16+8;
    var _20 = _aabbMax+8;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _aabb+16+12;
    var _23 = _aabbMax+12;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    var _25 = _absproxy+48+12;
    var _26 = IHEAP[_25];
    var _27 = _26 == 2;
    ;
    _bb$_bb1$2352: do { 
      if (_27) {
        ;
        var _28 = _absproxy+48;
        var _29 = _28;
        var _30 = IHEAP[_29];
        var _31 = _this+4+40;
        __ZN6btDbvt6removeEP10btDbvtNode(_31, _30);
        var _32 = _this+4;
        var _33 = _absproxy;
        var _34 = __ZN6btDbvt6insertERK12btDbvtAabbMmPv(_32, _aabb, _33);
        var _35 = _absproxy+48;
        var __c = _34;
        IHEAP[_35] = __c;
        __lastLabel__ = 60; ;
      }
      else {
        ;
        var _36 = _this+128;
        var _37 = IHEAP[_36];
        var _38 = _37 + 1;
        IHEAP[_36] = _38;
        var _39 = _absproxy+48;
        var _40 = _39;
        var _41 = IHEAP[_40];
        var _42 = _41;
        var _43 = FHEAP[_42];
        var _44 = _43 > _15;
        ;
        _bb14$_bb_i$2355: do { 
          if (!_44) {
            ;
            var _45 = _41+16;
            var _46 = FHEAP[_45];
            var _47 = _46 < _3;
            if (_47) { __label__ = 63; /* _bb14 */ break _bb14$_bb_i$2355; }
            var _48 = _41+4;
            var _49 = FHEAP[_48];
            var _50 = _49 > _18;
            if (_50) { __label__ = 63; /* _bb14 */ break _bb14$_bb_i$2355; }
            var _51 = _41+16+4;
            var _52 = FHEAP[_51];
            var _53 = _52 < _6;
            if (_53) { __label__ = 63; /* _bb14 */ break _bb14$_bb_i$2355; }
            var _54 = _41+8;
            var _55 = FHEAP[_54];
            var _56 = _55 > _21;
            if (_56) { __label__ = 63; /* _bb14 */ break _bb14$_bb_i$2355; }
            var _57 = _41+16+8;
            var _58 = FHEAP[_57];
            var _phitmp = _58 < _9;
            if (_phitmp) { __label__ = 63; /* _bb14 */ break _bb14$_bb_i$2355; }
            var _59 = FHEAP[_8];
            var _60 = _absproxy+16+8;
            var _61 = FHEAP[_60];
            var _62 = _59 - _61;
            var _63 = FHEAP[_5];
            var _64 = _absproxy+16+4;
            var _65 = FHEAP[_64];
            var _66 = _63 - _65;
            var _67 = FHEAP[_2];
            var _68 = _absproxy+16;
            var _69 = FHEAP[_68];
            var _70 = _67 - _69;
            var _71 = _this+100;
            var _72 = _absproxy+32+8;
            var _73 = FHEAP[_72];
            var _74 = _73 - _61;
            var _75 = _absproxy+32+4;
            var _76 = FHEAP[_75];
            var _77 = _76 - _65;
            var _78 = _absproxy+32;
            var _79 = FHEAP[_78];
            var _80 = _79 - _69;
            var _81 = _74 * 0.5;
            var _82 = _77 * 0.5;
            var _83 = _80 * 0.5;
            var _84 = FHEAP[_71];
            var _85 = _81 * _84;
            var _86 = _82 * _84;
            var _87 = _83 * _84;
            var _88 = _velocity;
            FHEAP[_88] = _87;
            var _89 = _velocity+4;
            FHEAP[_89] = _86;
            var _90 = _velocity+8;
            FHEAP[_90] = _85;
            var _91 = _velocity+12;
            FHEAP[_91] = 0;
            var _92 = _70 < 0;
            ;
            if (_92) {
              ;
              var _93 = 0 - _87;
              FHEAP[_88] = _93;
              ;
            }
            var _94 = _66 < 0;
            ;
            if (_94) {
              ;
              var _95 = 0 - _86;
              FHEAP[_89] = _95;
              ;
            }
            var _96 = _62 < 0;
            ;
            if (_96) {
              ;
              var _97 = 0 - _85;
              FHEAP[_90] = _97;
              ;
            }
            var _98 = _this+4;
            var _99 = __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMmRK9btVector3f(_98, _41, _aabb, _velocity, 0.05000000074505806);
            var _toBool12 = _99 == 0;
            if (_toBool12) { __lastLabel__ = 292; __label__ = 153; /* _bb15 */ break _bb$_bb1$2352; } else { __lastLabel__ = 292; ; }
            var _100 = _this+132;
            var _101 = IHEAP[_100];
            var _102 = _101 + 1;
            IHEAP[_100] = _102;
            __lastLabel__ = 108; __label__ = 153; /* _bb15 */ break _bb$_bb1$2352;
          }
        } while(0);
        var _103 = _this+4;
        __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm(_103, _41, _aabb);
        var _104 = _this+132;
        var _105 = IHEAP[_104];
        var _106 = _105 + 1;
        IHEAP[_104] = _106;
        __lastLabel__ = 63; ;
      }
    } while(0);
    var _docollide_0 = __lastLabel__ == 60 ? true : (__lastLabel__ == 108 ? true : (__lastLabel__ == 292 ? false : (true)));
    var _107 = _absproxy+48+4;
    var _108 = _107;
    var _109 = IHEAP[_108];
    var _110 = _109 == 0;
    var _111 = _absproxy+48+8;
    var _112 = IHEAP[_111];
    var _113 = _112;
    ;
    if (_110) {
      ;
      var _115 = IHEAP[_25];
      var _116 = _this+84+_115*4;
      IHEAP[_116] = _113;
      ;
    }
    else {
      ;
      var _114 = _109+52+4;
      IHEAP[_114] = _113;
      ;
    }
    var _117 = IHEAP[_111];
    var _118 = _117 == 0;
    ;
    if (!_118) {
      ;
      var _119 = IHEAP[_108];
      var _120 = _117+52;
      var _121 = _120;
      IHEAP[_121] = _119;
      ;
    }
    var _122 = _absproxy+16;
    var _123 = FHEAP[_2];
    FHEAP[_122] = _123;
    var _124 = _absproxy+16+4;
    var _125 = FHEAP[_5];
    FHEAP[_124] = _125;
    var _126 = _absproxy+16+8;
    var _127 = FHEAP[_8];
    FHEAP[_126] = _127;
    var _128 = _absproxy+16+12;
    var _129 = FHEAP[_11];
    FHEAP[_128] = _129;
    var _130 = _absproxy+32;
    var _131 = FHEAP[_14];
    FHEAP[_130] = _131;
    var _132 = _absproxy+32+4;
    var _133 = FHEAP[_17];
    FHEAP[_132] = _133;
    var _134 = _absproxy+32+8;
    var _135 = FHEAP[_20];
    FHEAP[_134] = _135;
    var _136 = _absproxy+32+12;
    var _137 = FHEAP[_23];
    FHEAP[_136] = _137;
    var _138 = _this+104;
    var _139 = IHEAP[_138];
    IHEAP[_25] = _139;
    var _140 = IHEAP[_138];
    var _141 = _this+84+_140*4;
    IHEAP[_108] = 0;
    var _142 = IHEAP[_141];
    var __c48 = _142;
    IHEAP[_111] = __c48;
    var _143 = IHEAP[_141];
    var _144 = _143 == 0;
    ;
    if (!_144) {
      ;
      var _145 = _143+52;
      IHEAP[_145] = _0;
      ;
    }
    IHEAP[_141] = _0;
    ;
    _bb17$_bb25$2384: do { 
      if (_docollide_0) {
        ;
        var _146 = _this+154;
        IHEAP[_146] = 1;
        var _147 = _this+153;
        var _148 = IHEAP[_147];
        var _toBool18not = _148 == 0;
        if (!(_toBool18not)) { __label__ = 540; /* _bb25 */ break _bb17$_bb25$2384; }
        var _149 = _collider;
        IHEAP[_149] = __ZTV18btDbvtTreeCollider+8;
        var _150 = _collider+4;
        IHEAP[_150] = _this;
        var _151 = _absproxy+48;
        var _152 = _151;
        var _153 = IHEAP[_152];
        var _154 = _this+4+40;
        var _155 = IHEAP[_154];
        var _156 = _this+4+40;
        var _157 = _collider;
        (function() { try { __THREW__ = false; return __ZN6btDbvt24collideTTpersistentStackEPK10btDbvtNodeS2_RNS_8ICollideE(_156, _155, _153, _157) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        if (__label__ == 345) {
          var _158 = IHEAP[_152];
          var _159 = _this+4;
          var _160 = IHEAP[_159];
          var _161 = _this+4;
          (function() { try { __THREW__ = false; return __ZN6btDbvt24collideTTpersistentStackEPK10btDbvtNodeS2_RNS_8ICollideE(_161, _160, _158, _157) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 540; /* _bb25 */ break _bb17$_bb25$2384; } else { ; }
        }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select28 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        IHEAP[_149] = __ZTV18btDbvtTreeCollider+8;
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN16btDbvtBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN16btDbvtBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher, "__ZN16btDbvtBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher");
  
  
  function __ZN6btDbvt9collideTVEPK10btDbvtNodeRK12btDbvtAabbMmRNS_8ICollideE(_this, _root, _vol, _policy) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _root == 0;
    ;
    __ZN20btAlignedObjectArrayIPK10btDbvtNodeED1Ev_exit59$_bb_i$2392: do { 
      if (!_0) {
        ;
        var _1 = _vol;
        var _2 = FHEAP[_1];
        var _3 = _vol+4;
        var _4 = FHEAP[_3];
        var _5 = _vol+8;
        var _6 = FHEAP[_5];
        var _7 = _vol+16;
        var _8 = FHEAP[_7];
        var _9 = _vol+16+4;
        var _10 = FHEAP[_9];
        var _11 = _vol+16+8;
        var _12 = FHEAP[_11];
        var _13 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(256, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 159; /* _bb1_i */  } else { __label__ = 541; /* _lpad_thread134 */  };
        _bb1_i$_lpad_thread134$2394: do { 
          if (__label__ == 159) {
            var _phitmp_i = _13;
            var _14 = _13 == 0;
            ;
            if (!_14) {
              ;
              IHEAP[_phitmp_i] = _root;
              ;
            }
            var _15 = _policy;
            __lastLabel__ = 510; ;
            _bb3$2399: while(1) { // _bb3
              var _stack_1_1 = __lastLabel__ == 510 ? 1 : (_stack_1_0);
              var _stack_2_2 = __lastLabel__ == 510 ? 64 : (_stack_2_1);
              var _stack_3_3 = __lastLabel__ == 510 ? _phitmp_i : (_stack_3_1);
              var _16 = _stack_1_1 + -1;
              var _17 = _stack_3_3+4*_16;
              var _18 = IHEAP[_17];
              var _19 = _18;
              var _20 = FHEAP[_19];
              var _21 = _20 > _8;
              ;
              _bb11$_bb_i60$2401: do { 
                if (_21) {
                  __lastLabel__ = 116; ;
                }
                else {
                  __lastLabel__ = 116; ;
                  var _22 = _18+16;
                  var _23 = FHEAP[_22];
                  var _24 = _23 < _2;
                  if (_24) { __lastLabel__ = 544; __label__ = 292; /* _bb11 */ break _bb11$_bb_i60$2401; } else { __lastLabel__ = 544; ; }
                  var _25 = _18+4;
                  var _26 = FHEAP[_25];
                  var _27 = _26 > _10;
                  if (_27) { __lastLabel__ = 545; __label__ = 292; /* _bb11 */ break _bb11$_bb_i60$2401; } else { __lastLabel__ = 545; ; }
                  var _28 = _18+16+4;
                  var _29 = FHEAP[_28];
                  var _30 = _29 < _4;
                  if (_30) { __lastLabel__ = 546; __label__ = 292; /* _bb11 */ break _bb11$_bb_i60$2401; } else { __lastLabel__ = 546; ; }
                  var _31 = _18+8;
                  var _32 = FHEAP[_31];
                  var _33 = _32 > _12;
                  if (_33) { __lastLabel__ = 547; __label__ = 292; /* _bb11 */ break _bb11$_bb_i60$2401; } else { __lastLabel__ = 547; ; }
                  var _34 = _18+16+8;
                  var _35 = FHEAP[_34];
                  var _phitmp = _35 < _6;
                  if (_phitmp) { __lastLabel__ = 508; __label__ = 292; /* _bb11 */ break _bb11$_bb_i60$2401; } else { __lastLabel__ = 508; ; }
                  var _36 = _18+36+4;
                  var _37 = IHEAP[_36];
                  var _toBoolnot_i = _37 == 0;
                  ;
                  if (_toBoolnot_i) {
                    ;
                    var _72 = IHEAP[_15];
                    var _73 = _72+12;
                    var _74 = IHEAP[_73];
                    var _75 = _74;
                    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_75](_policy, _18) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 62; ; } else { __lastLabel__ = 62; __label__ = 254; /* _lpad */ break _bb3$2399; }
                  }
                  else {
                    ;
                    var _38 = _18+36;
                    var _39 = IHEAP[_38];
                    var _40 = _stack_2_2 == _16;
                    ;
                    _bb_i96$_bb1_i118$2411: do { 
                      if (_40) {
                        __lastLabel__ = 83; ;
                        var _41 = _16 == 0;
                        var _42 = _16 << 1;
                        var _iftmp_288_0_i_i95 = _41 ? 1 : _42;
                        var _43 = _stack_2_2 < _iftmp_288_0_i_i95;
                        if (_43) { __lastLabel__ = 548; ; } else { __lastLabel__ = 548; __label__ = 550; /* _bb1_i118 */ break _bb_i96$_bb1_i118$2411; }
                        var _44 = _iftmp_288_0_i_i95 == 0;
                        ;
                        if (_44) {
                          __lastLabel__ = 549; ;
                        }
                        else {
                          __lastLabel__ = 549; ;
                          var _45 = _iftmp_288_0_i_i95 << 2;
                          var _46 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_45, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 4062; ; } else { __lastLabel__ = 4062; __label__ = 254; /* _lpad */ break _bb3$2399; };
                          var _phitmp_i_i98 = _46;
                          __lastLabel__ = 551; ;
                        }
                        var _47 = __lastLabel__ == 551 ? _phitmp_i_i98 : (0);
                        var _48 = _16 > 0;
                        if (_48) { __lastLabel__ = 553; __label__ = 554; /* _bb_i4_i_i105 */  } else { __lastLabel__ = 553; __label__ = 555; /* __ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i111 */  }
                        _bb_i4_i_i105$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i111$2418: while(1) { // _bb_i4_i_i105,__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i111
                          if (__label__ == 554) {
                            var _indvar_i_i_i103 = __lastLabel__ == 557 ? _indvar_next_i_i_i108 : (0);
                            var _scevgep_i_i_i104 = _47+4*_indvar_i_i_i103;
                            var _49 = _scevgep_i_i_i104 == 0;
                            ;
                            if (!_49) {
                              ;
                              var _scevgep8_i_i_i106 = _stack_3_3+4*_indvar_i_i_i103;
                              var _50 = IHEAP[_scevgep8_i_i_i106];
                              IHEAP[_scevgep_i_i_i104] = _50;
                              ;
                            }
                            var _indvar_next_i_i_i108 = _indvar_i_i_i103 + 1;
                            var _exitcond137 = _indvar_next_i_i_i108 == _16;
                            if (_exitcond137) { __lastLabel__ = 557; __label__ = 555; /* __ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i111 */ continue _bb_i4_i_i105$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i111$2418; } else { __lastLabel__ = 557; __label__ = 554; /* _bb_i4_i_i105 */ continue _bb_i4_i_i105$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i111$2418; }
                          }
                          else if (__label__ == 555) {
                            var _51 = _stack_3_3 == 0;
                            if (_51) { __lastLabel__ = 555; __label__ = 550; /* _bb1_i118 */ break _bb_i96$_bb1_i118$2411; } else { __lastLabel__ = 555; __label__ = 558; /* _bb1_i_i_i114 */ break _bb_i4_i_i105$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i111$2418; }
                          }
                        }
                        var _52 = _stack_3_3;
                        (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_52) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 558; ; } else { __lastLabel__ = 558; __label__ = 381; /* _lpad_thread */ break _bb3$2399; }
                      }
                      else {
                        __lastLabel__ = 83; ;
                      }
                    } while(0);
                    var _stack_2_0 = __lastLabel__ == 548 ? _stack_2_2 : (__lastLabel__ == 83 ? _stack_2_2 : (__lastLabel__ == 558 ? _iftmp_288_0_i_i95 : (_iftmp_288_0_i_i95)));
                    var _stack_3_0 = __lastLabel__ == 548 ? _stack_3_3 : (__lastLabel__ == 83 ? _stack_3_3 : (__lastLabel__ == 558 ? _47 : (_47)));
                    var _53 = _stack_3_0+4*_16;
                    var _54 = _53 == 0;
                    ;
                    if (!_54) {
                      ;
                      IHEAP[_53] = _39;
                      ;
                    }
                    var _55 = IHEAP[_36];
                    var _56 = _stack_2_0 == _stack_1_1;
                    ;
                    _bb_i66$_bb1_i88$2430: do { 
                      if (_56) {
                        __lastLabel__ = 1555; ;
                        var _57 = _stack_1_1 == 0;
                        var _58 = _stack_1_1 << 1;
                        var _iftmp_288_0_i_i65 = _57 ? 1 : _58;
                        var _59 = _stack_2_0 < _iftmp_288_0_i_i65;
                        if (_59) { __lastLabel__ = 560; ; } else { __lastLabel__ = 560; __label__ = 562; /* _bb1_i88 */ break _bb_i66$_bb1_i88$2430; }
                        var _60 = _iftmp_288_0_i_i65 == 0;
                        ;
                        if (_60) {
                          __lastLabel__ = 561; ;
                        }
                        else {
                          __lastLabel__ = 561; ;
                          var _61 = _iftmp_288_0_i_i65 << 2;
                          var _62 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_61, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 4063; ; } else { __lastLabel__ = 4063; __label__ = 254; /* _lpad */ break _bb3$2399; };
                          var _phitmp_i_i68 = _62;
                          __lastLabel__ = 563; ;
                        }
                        var _63 = __lastLabel__ == 563 ? _phitmp_i_i68 : (0);
                        var _64 = _stack_1_1 > 0;
                        if (_64) { __lastLabel__ = 565; __label__ = 566; /* _bb_i4_i_i75 */  } else { __lastLabel__ = 565; __label__ = 567; /* __ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i81 */  }
                        _bb_i4_i_i75$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i81$2437: while(1) { // _bb_i4_i_i75,__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i81
                          if (__label__ == 566) {
                            var _indvar_i_i_i73 = __lastLabel__ == 569 ? _indvar_next_i_i_i78 : (0);
                            var _scevgep_i_i_i74 = _63+4*_indvar_i_i_i73;
                            var _65 = _scevgep_i_i_i74 == 0;
                            ;
                            if (!_65) {
                              ;
                              var _scevgep8_i_i_i76 = _stack_3_0+4*_indvar_i_i_i73;
                              var _66 = IHEAP[_scevgep8_i_i_i76];
                              IHEAP[_scevgep_i_i_i74] = _66;
                              ;
                            }
                            var _indvar_next_i_i_i78 = _indvar_i_i_i73 + 1;
                            var _exitcond = _indvar_next_i_i_i78 == _stack_1_1;
                            if (_exitcond) { __lastLabel__ = 569; __label__ = 567; /* __ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i81 */ continue _bb_i4_i_i75$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i81$2437; } else { __lastLabel__ = 569; __label__ = 566; /* _bb_i4_i_i75 */ continue _bb_i4_i_i75$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i81$2437; }
                          }
                          else if (__label__ == 567) {
                            var _67 = _stack_3_0 == 0;
                            if (_67) { __lastLabel__ = 567; __label__ = 562; /* _bb1_i88 */ break _bb_i66$_bb1_i88$2430; } else { __lastLabel__ = 567; __label__ = 570; /* _bb1_i_i_i84 */ break _bb_i4_i_i75$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i81$2437; }
                          }
                        }
                        var _68 = _stack_3_0;
                        (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_68) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 570; ; } else { __lastLabel__ = 570; __label__ = 381; /* _lpad_thread */ break _bb3$2399; }
                      }
                      else {
                        __lastLabel__ = 1555; ;
                      }
                    } while(0);
                    var _stack_2_3 = __lastLabel__ == 560 ? _stack_2_0 : (__lastLabel__ == 1555 ? _stack_2_0 : (__lastLabel__ == 570 ? _iftmp_288_0_i_i65 : (_iftmp_288_0_i_i65)));
                    var _stack_3_4 = __lastLabel__ == 560 ? _stack_3_0 : (__lastLabel__ == 1555 ? _stack_3_0 : (__lastLabel__ == 570 ? _63 : (_63)));
                    var _69 = _stack_3_4+4*_stack_1_1;
                    var _70 = _69 == 0;
                    ;
                    if (!_70) {
                      ;
                      IHEAP[_69] = _55;
                      ;
                    }
                    var _71 = _stack_1_1 + 1;
                    __lastLabel__ = 572; ;
                  }
                }
              } while(0);
              var _stack_1_0 = __lastLabel__ == 508 ? _16 : (__lastLabel__ == 62 ? _16 : (__lastLabel__ == 572 ? _71 : (__lastLabel__ == 547 ? _16 : (__lastLabel__ == 546 ? _16 : (__lastLabel__ == 545 ? _16 : (__lastLabel__ == 544 ? _16 : (_16)))))));
              var _stack_2_1 = __lastLabel__ == 508 ? _stack_2_2 : (__lastLabel__ == 62 ? _stack_2_2 : (__lastLabel__ == 572 ? _stack_2_3 : (__lastLabel__ == 547 ? _stack_2_2 : (__lastLabel__ == 546 ? _stack_2_2 : (__lastLabel__ == 545 ? _stack_2_2 : (__lastLabel__ == 544 ? _stack_2_2 : (_stack_2_2)))))));
              var _stack_3_1 = __lastLabel__ == 508 ? _stack_3_3 : (__lastLabel__ == 62 ? _stack_3_3 : (__lastLabel__ == 572 ? _stack_3_4 : (__lastLabel__ == 547 ? _stack_3_3 : (__lastLabel__ == 546 ? _stack_3_3 : (__lastLabel__ == 545 ? _stack_3_3 : (__lastLabel__ == 544 ? _stack_3_3 : (_stack_3_3)))))));
              var _76 = _stack_1_0 > 0;
              if (_76) { __lastLabel__ = 292; __label__ = 116; /* _bb3 */ continue _bb3$2399; } else { __lastLabel__ = 292; __label__ = 154; /* _bb16 */ break _bb3$2399; }
            }
            if (__label__ == 154) {
              var _77 = _stack_3_1 == 0;
              if (_77) { __label__ = 574; /* __ZN20btAlignedObjectArrayIPK10btDbvtNodeED1Ev_exit59 */ break __ZN20btAlignedObjectArrayIPK10btDbvtNodeED1Ev_exit59$_bb_i$2392; }
              var _78 = _stack_3_1;
              __Z21btAlignedFreeInternalPv(_78);
              ;
              return;
            }
            else if (__label__ == 254) {
              var _stack_3_2 = __lastLabel__ == 62 ? _stack_3_3 : (__lastLabel__ == 4063 ? _stack_3_0 : (_stack_3_3));
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select19 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              var _79 = _stack_3_2 == 0;
              if (_79) { __lastLabel__ = 254; __label__ = 577; /* _invcont14 */ break _bb1_i$_lpad_thread134$2394; } else { __lastLabel__ = 254; ; }
            }
            else if (__label__ == 381) {
              var _stack_3_2_ph = __lastLabel__ == 570 ? _stack_3_0 : (_stack_3_3);
              var _eh_ptr129 = _llvm_eh_exception();
              var _eh_select19130 = _llvm_eh_selector(_eh_ptr129, ___gxx_personality_v0, 0);
              __lastLabel__ = 381; ;
            }
            var _stack_3_2131 = __lastLabel__ == 381 ? _stack_3_2_ph : (_stack_3_2);
            var _eh_ptr132 = __lastLabel__ == 381 ? _eh_ptr129 : (_eh_ptr);
            var _80 = _stack_3_2131;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_80) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 2160; __label__ = 577; /* _invcont14 */ break _bb1_i$_lpad_thread134$2394; } else { __lastLabel__ = 2160; ; }
            var _eh_ptr21 = _llvm_eh_exception();
            var _eh_select23 = _llvm_eh_selector(_eh_ptr21, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
          else if (__label__ == 541) {
            var _eh_ptr135 = _llvm_eh_exception();
            var _eh_select19136 = _llvm_eh_selector(_eh_ptr135, ___gxx_personality_v0, 0);
            __lastLabel__ = 541; ;
          }
        } while(0);
        var _eh_ptr133 = __lastLabel__ == 254 ? _eh_ptr : (__lastLabel__ == 541 ? _eh_ptr135 : (_eh_ptr132));
        __Unwind_Resume_or_Rethrow(_eh_ptr133);
        // unreachable
      }
    } while(0);
    ;
    return;
  }
  __ZN6btDbvt9collideTVEPK10btDbvtNodeRK12btDbvtAabbMmRNS_8ICollideE.__index__ = Runtime.getFunctionIndex(__ZN6btDbvt9collideTVEPK10btDbvtNodeRK12btDbvtAabbMmRNS_8ICollideE, "__ZN6btDbvt9collideTVEPK10btDbvtNodeRK12btDbvtAabbMmRNS_8ICollideE");
  
  
  function __ZN16btDbvtBroadphase8aabbTestERK9btVector3S2_R24btBroadphaseAabbCallback(_this, _aabbMin, _aabbMax, _aabbCallback) {
    var __stackBase__  = STACKTOP; STACKTOP += 40;
    var __label__;
    var _callback = __stackBase__;
    var _bounds = __stackBase__+8;
    var _0 = _callback;
    IHEAP[_0] = __ZTV20BroadphaseAabbTester+8;
    var _1 = _callback+4;
    IHEAP[_1] = _aabbCallback;
    var _2 = _bounds;
    var _3 = _aabbMin;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _bounds+4;
    var _6 = _aabbMin+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _bounds+8;
    var _9 = _aabbMin+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _bounds+12;
    var _12 = _aabbMin+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _bounds+16;
    var _15 = _aabbMax;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _bounds+16+4;
    var _18 = _aabbMax+4;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _bounds+16+8;
    var _21 = _aabbMax+8;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _bounds+16+12;
    var _24 = _aabbMax+12;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _this+4;
    var _27 = IHEAP[_26];
    var _28 = _this+4;
    var _29 = _callback;
    (function() { try { __THREW__ = false; return __ZN6btDbvt9collideTVEPK10btDbvtNodeRK12btDbvtAabbMmRNS_8ICollideE(_28, _27, _bounds, _29) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    _invcont$_lpad$2461: do { 
      if (__label__ == 345) {
        var _30 = _this+4+40;
        var _31 = IHEAP[_30];
        var _32 = _this+4+40;
        (function() { try { __THREW__ = false; return __ZN6btDbvt9collideTVEPK10btDbvtNodeRK12btDbvtAabbMmRNS_8ICollideE(_32, _31, _bounds, _29) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$2461; }
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select4 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    IHEAP[_0] = __ZTV20BroadphaseAabbTester+8;
    __Unwind_Resume_or_Rethrow(_eh_ptr);
    // unreachable
  }
  __ZN16btDbvtBroadphase8aabbTestERK9btVector3S2_R24btBroadphaseAabbCallback.__index__ = Runtime.getFunctionIndex(__ZN16btDbvtBroadphase8aabbTestERK9btVector3S2_R24btBroadphaseAabbCallback, "__ZN16btDbvtBroadphase8aabbTestERK9btVector3S2_R24btBroadphaseAabbCallback");
  
  
  function __ZN16btDbvtBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_(_this, _aabbMin, _aabbMax, _unnamed_arg, _userPtr, _collisionFilterGroup, _collisionFilterMask, _unnamed_arg2, _unnamed_arg4) {
    var __stackBase__  = STACKTOP; STACKTOP += 44;
    var __label__;
    var _aabb = __stackBase__;
    var _collider = __stackBase__+32;
    var _0 = __Z22btAlignedAllocInternalji(64, 16);
    var _1 = _0;
    var _2 = _0;
    IHEAP[_2] = _userPtr;
    var _3 = _0+4;
    var _4 = _3;
    IHEAP[_4] = _collisionFilterGroup;
    var _5 = _0+6;
    var _6 = _5;
    IHEAP[_6] = _collisionFilterMask;
    var _7 = _0+16;
    var _8 = _7;
    var _9 = _aabbMin;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _0+20;
    var _12 = _11;
    var _13 = _aabbMin+4;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _0+24;
    var _16 = _15;
    var _17 = _aabbMin+8;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _0+28;
    var _20 = _19;
    var _21 = _aabbMin+12;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _0+32;
    var _24 = _23;
    var _25 = _aabbMax;
    var _26 = FHEAP[_25];
    FHEAP[_24] = _26;
    var _27 = _0+36;
    var _28 = _27;
    var _29 = _aabbMax+4;
    var _30 = FHEAP[_29];
    FHEAP[_28] = _30;
    var _31 = _0+40;
    var _32 = _31;
    var _33 = _aabbMax+8;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _0+44;
    var _36 = _35;
    var _37 = _aabbMax+12;
    var _38 = FHEAP[_37];
    FHEAP[_36] = _38;
    var _39 = _0+8;
    var _40 = _39;
    IHEAP[_40] = 0;
    var _41 = _0+56;
    var _42 = _41;
    IHEAP[_42] = 0;
    var _43 = _0+52;
    var _44 = _43;
    IHEAP[_44] = 0;
    var _45 = _aabb;
    var _46 = FHEAP[_9];
    FHEAP[_45] = _46;
    var _47 = _aabb+4;
    var _48 = FHEAP[_13];
    FHEAP[_47] = _48;
    var _49 = _aabb+8;
    var _50 = FHEAP[_17];
    FHEAP[_49] = _50;
    var _51 = _aabb+12;
    var _52 = FHEAP[_21];
    FHEAP[_51] = _52;
    var _53 = _aabb+16;
    var _54 = FHEAP[_25];
    FHEAP[_53] = _54;
    var _55 = _aabb+16+4;
    var _56 = FHEAP[_29];
    FHEAP[_55] = _56;
    var _57 = _aabb+16+8;
    var _58 = FHEAP[_33];
    FHEAP[_57] = _58;
    var _59 = _aabb+16+12;
    var _60 = FHEAP[_37];
    FHEAP[_59] = _60;
    var _61 = _this+104;
    var _62 = IHEAP[_61];
    var _63 = _0+60;
    var _64 = _63;
    IHEAP[_64] = _62;
    var _65 = _this+148;
    var _66 = IHEAP[_65];
    var _67 = _66 + 1;
    IHEAP[_65] = _67;
    var _68 = _0+12;
    var _69 = _68;
    IHEAP[_69] = _67;
    var _70 = _this+4;
    var _71 = __ZN6btDbvt6insertERK12btDbvtAabbMmPv(_70, _aabb, _0);
    var _72 = _0+48;
    var _73 = _72;
    IHEAP[_73] = _71;
    var _74 = IHEAP[_61];
    var _75 = _this+84+_74*4;
    IHEAP[_44] = 0;
    var _76 = IHEAP[_75];
    IHEAP[_42] = _76;
    var _77 = IHEAP[_75];
    var _78 = _77 == 0;
    ;
    if (!_78) {
      ;
      var _79 = _77+52;
      IHEAP[_79] = _1;
      ;
    }
    IHEAP[_75] = _1;
    var _80 = _this+153;
    var _81 = IHEAP[_80];
    var _toBoolnot = _81 == 0;
    ;
    _bb$_bb11$2469: do { 
      if (_toBoolnot) {
        ;
        var _82 = _collider;
        IHEAP[_82] = __ZTV18btDbvtTreeCollider+8;
        var _83 = _collider+4;
        IHEAP[_83] = _this;
        var _84 = _collider+8;
        IHEAP[_84] = _1;
        var _85 = _this+4;
        var _86 = IHEAP[_85];
        var _87 = _collider;
        (function() { try { __THREW__ = false; return __ZN6btDbvt9collideTVEPK10btDbvtNodeRK12btDbvtAabbMmRNS_8ICollideE(_70, _86, _aabb, _87) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        _invcont$_lpad$2471: do { 
          if (__label__ == 345) {
            var _88 = _this+4+40;
            var _89 = IHEAP[_88];
            var _90 = _this+4+40;
            (function() { try { __THREW__ = false; return __ZN6btDbvt9collideTVEPK10btDbvtNodeRK12btDbvtAabbMmRNS_8ICollideE(_90, _89, _aabb, _87) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$2471; }
            IHEAP[_82] = __ZTV18btDbvtTreeCollider+8;
            __label__ = 292; /* _bb11 */ break _bb$_bb11$2469;
          }
        } while(0);
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select14 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        IHEAP[_82] = __ZTV18btDbvtTreeCollider+8;
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    var _91 = _0;
    STACKTOP = __stackBase__;
    return _91;
  }
  __ZN16btDbvtBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_.__index__ = Runtime.getFunctionIndex(__ZN16btDbvtBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_, "__ZN16btDbvtBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_");
  
  
  function __ZNK6btDbvt15rayTestInternalEPK10btDbvtNodeRK9btVector3S5_S5_PjfS5_S5_RNS_8ICollideE(_this, _root, _rayFrom, _rayTo, _rayDirectionInverse, _signs, _lambda_max, _aabbMin, _aabbMax, _policy) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _bounds = __stackBase__;
    var _0 = _root == 0;
    ;
    __ZN20btAlignedObjectArrayIPK10btDbvtNodeED1Ev_exit34$_bb_i_i$2477: do { 
      if (!_0) {
        ;
        var _1 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(512, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 263; __label__ = 137; /* _bb7_i */  } else { __lastLabel__ = 263; __label__ = 381; /* _lpad_thread */  };
        _bb7_i$_lpad_thread$2479: do { 
          if (__label__ == 137) {
            _bb7_i$2480: while(1) { // _bb7_i
              var _indvar_i = __lastLabel__ == 581 ? _indvar_next_i : (0);
              var _tmp99 = _indvar_i << 2;
              var _scevgep = _1+_tmp99;
              var _2 = _scevgep == 0;
              ;
              if (!_2) {
                ;
                var _scevgep18_i = _scevgep;
                IHEAP[_scevgep18_i] = 0;
                ;
              }
              var _indvar_next_i = _indvar_i + 1;
              var _exitcond98 = _indvar_next_i == 128;
              if (_exitcond98) { __lastLabel__ = 581; __label__ = 262; /* _bb4_preheader */ break _bb7_i$2480; } else { __lastLabel__ = 581; __label__ = 137; /* _bb7_i */ continue _bb7_i$2480; }
            }
            var _phitmp_i_i = _1;
            IHEAP[_phitmp_i_i] = _root;
            var _3 = _aabbMax+8;
            var _4 = _aabbMax+4;
            var _5 = _aabbMax;
            var _6 = _bounds;
            var _7 = _bounds+4;
            var _8 = _bounds+8;
            var _9 = _bounds+12;
            var _10 = _aabbMin+8;
            var _11 = _aabbMin+4;
            var _12 = _aabbMin;
            var _13 = _bounds+16;
            var _14 = _bounds+16+4;
            var _15 = _bounds+16+8;
            var _16 = _bounds+16+12;
            var _17 = _rayFrom;
            var _18 = _rayDirectionInverse;
            var _19 = _signs+4;
            var _20 = _rayFrom+4;
            var _21 = _rayDirectionInverse+4;
            var _22 = _signs+8;
            var _23 = _rayFrom+8;
            var _24 = _rayDirectionInverse+8;
            var _25 = _policy;
            __lastLabel__ = 262; ;
            _bb4$2486: while(1) { // _bb4
              var _stack_3_4 = __lastLabel__ == 262 ? _phitmp_i_i : (_stack_3_3);
              var _stack_2_4 = __lastLabel__ == 262 ? 128 : (_stack_2_3);
              var _stack_1_2 = __lastLabel__ == 262 ? 128 : (_stack_1_1);
              var _depth_0 = __lastLabel__ == 262 ? 1 : (_depth_1);
              var _treshold_2 = __lastLabel__ == 262 ? 126 : (_treshold_1);
              var _26 = _depth_0 + -1;
              var _27 = _stack_3_4+4*_26;
              var _28 = IHEAP[_27];
              var _29 = _28+8;
              var _30 = FHEAP[_29];
              var _31 = FHEAP[_3];
              var _32 = _30 - _31;
              var _33 = _28+4;
              var _34 = FHEAP[_33];
              var _35 = FHEAP[_4];
              var _36 = _34 - _35;
              var _37 = _28;
              var _38 = FHEAP[_37];
              var _39 = FHEAP[_5];
              var _40 = _38 - _39;
              FHEAP[_6] = _40;
              FHEAP[_7] = _36;
              FHEAP[_8] = _32;
              FHEAP[_9] = 0;
              var _41 = _28+16+8;
              var _42 = FHEAP[_41];
              var _43 = FHEAP[_10];
              var _44 = _42 - _43;
              var _45 = _28+16+4;
              var _46 = FHEAP[_45];
              var _47 = FHEAP[_11];
              var _48 = _46 - _47;
              var _49 = _28+16;
              var _50 = FHEAP[_49];
              var _51 = FHEAP[_12];
              var _52 = _50 - _51;
              FHEAP[_13] = _52;
              FHEAP[_14] = _48;
              FHEAP[_15] = _44;
              FHEAP[_16] = 0;
              var _53 = IHEAP[_signs];
              var _54 = _bounds+_53*16;
              var _55 = FHEAP[_54];
              var _56 = FHEAP[_17];
              var _57 = _55 - _56;
              var _58 = FHEAP[_18];
              var _59 = _57 * _58;
              var _60 = 1 - _53;
              var _61 = _bounds+_60*16;
              var _62 = FHEAP[_61];
              var _63 = _62 - _56;
              var _64 = _63 * _58;
              var _65 = IHEAP[_19];
              var _66 = _bounds+_65*16+4;
              var _67 = FHEAP[_66];
              var _68 = FHEAP[_20];
              var _69 = _67 - _68;
              var _70 = FHEAP[_21];
              var _71 = _69 * _70;
              var _72 = 1 - _65;
              var _73 = _bounds+_72*16+4;
              var _74 = FHEAP[_73];
              var _75 = _74 - _68;
              var _76 = _75 * _70;
              var _77 = _59 > _76;
              var _78 = _71 > _64;
              var _or_cond_i = _77 | _78;
              ;
              _bb13$_bb2_i$2488: do { 
                if (_or_cond_i) {
                  __lastLabel__ = 61; ;
                }
                else {
                  __lastLabel__ = 61; ;
                  var _79 = _59 < _71;
                  var _80 = _79 ? _71 : _59;
                  var _81 = _76 < _64;
                  var _tmax_0_i = _81 ? _76 : _64;
                  var _82 = IHEAP[_22];
                  var _83 = _bounds+_82*16+8;
                  var _84 = FHEAP[_83];
                  var _85 = FHEAP[_23];
                  var _86 = _84 - _85;
                  var _87 = FHEAP[_24];
                  var _88 = _86 * _87;
                  var _89 = 1 - _82;
                  var _90 = _bounds+_89*16+8;
                  var _91 = FHEAP[_90];
                  var _92 = _91 - _85;
                  var _93 = _92 * _87;
                  var _94 = _80 > _93;
                  var _95 = _88 > _tmax_0_i;
                  var _or_cond21_i = _94 | _95;
                  if (_or_cond21_i) { __lastLabel__ = 132; __label__ = 108; /* _bb13 */ break _bb13$_bb2_i$2488; } else { __lastLabel__ = 132; ; }
                  var _96 = _80 < _88;
                  var _97 = _96 ? _88 : _80;
                  var _98 = _93 < _tmax_0_i;
                  var _tmax_1_i = _98 ? _93 : _tmax_0_i;
                  var _99 = _97 >= _lambda_max;
                  var _100 = _tmax_1_i <= 0;
                  var _or_cond22_i = _99 | _100;
                  if (_or_cond22_i) { __lastLabel__ = 181; __label__ = 108; /* _bb13 */ break _bb13$_bb2_i$2488; } else { __lastLabel__ = 181; ; }
                  var _101 = _28+36+4;
                  var _102 = IHEAP[_101];
                  var _toBoolnot_i = _102 == 0;
                  ;
                  if (_toBoolnot_i) {
                    ;
                    var _125 = IHEAP[_25];
                    var _126 = _125+12;
                    var _127 = IHEAP[_126];
                    var _128 = _127;
                    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_128](_policy, _28) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 292; ; } else { __lastLabel__ = 292; __label__ = 254; /* _lpad */ break _bb4$2486; }
                  }
                  else {
                    ;
                    var _103 = _26 > _treshold_2;
                    ;
                    if (_103) {
                      __lastLabel__ = 2; ;
                      var _104 = _stack_1_2 << 1;
                      var _105 = _stack_1_2 > _104;
                      ;
                      _invcont9$_bb3_i41$2497: do { 
                        if (_105) {
                          __lastLabel__ = 148; ;
                        }
                        else {
                          __lastLabel__ = 148; ;
                          var _106 = _stack_1_2 < _104;
                          if (_106) { __lastLabel__ = 411; ; } else { __lastLabel__ = 411; __label__ = 583; /* _invcont9 */ break _invcont9$_bb3_i41$2497; }
                          var _107 = _stack_2_4 < _104;
                          ;
                          if (_107) {
                            __lastLabel__ = 582; ;
                            var _108 = _104 == 0;
                            ;
                            if (_108) {
                              __lastLabel__ = 4290; ;
                            }
                            else {
                              __lastLabel__ = 4290; ;
                              var _109 = _stack_1_2 << 3;
                              var _110 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_109, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb4$2486; };
                              var _phitmp_i_i44 = _110;
                              __lastLabel__ = 584; ;
                            }
                            var _111 = __lastLabel__ == 584 ? _phitmp_i_i44 : (0);
                            var _112 = _stack_1_2 > 0;
                            if (_112) { __lastLabel__ = 586; __label__ = 587; /* _bb_i4_i_i50 */  } else { __lastLabel__ = 586; __label__ = 588; /* __ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i56 */  }
                            _bb_i4_i_i50$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i56$2506: while(1) { // _bb_i4_i_i50,__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i56
                              if (__label__ == 587) {
                                var _indvar_i_i_i48 = __lastLabel__ == 590 ? _indvar_next_i_i_i53 : (0);
                                var _scevgep_i_i_i49 = _111+4*_indvar_i_i_i48;
                                var _113 = _scevgep_i_i_i49 == 0;
                                ;
                                if (!_113) {
                                  ;
                                  var _scevgep8_i_i_i51 = _stack_3_4+4*_indvar_i_i_i48;
                                  var _114 = IHEAP[_scevgep8_i_i_i51];
                                  IHEAP[_scevgep_i_i_i49] = _114;
                                  ;
                                }
                                var _indvar_next_i_i_i53 = _indvar_i_i_i48 + 1;
                                var _exitcond93 = _indvar_next_i_i_i53 == _stack_1_2;
                                if (_exitcond93) { __lastLabel__ = 590; __label__ = 588; /* __ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i56 */ continue _bb_i4_i_i50$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i56$2506; } else { __lastLabel__ = 590; __label__ = 587; /* _bb_i4_i_i50 */ continue _bb_i4_i_i50$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i56$2506; }
                              }
                              else if (__label__ == 588) {
                                var _115 = _stack_3_4 == 0;
                                if (_115) { __label__ = 591; /* _bb11_preheader_i61 */ break _bb_i4_i_i50$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i56$2506; } else { __label__ = 592; /* _bb1_i_i_i59 */ break _bb_i4_i_i50$__ZNK20btAlignedObjectArrayIPK10btDbvtNodeE4copyEiiPS2__exit_i_i56$2506; }
                              }
                            }
                            if (__label__ == 592) {
                              var _116 = _stack_3_4;
                              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_116) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 593; /* _lpad_thread85 */ break _bb4$2486; }
                            }
                            if (_106) { __lastLabel__ = 591; ; } else { __lastLabel__ = 591; __label__ = 583; /* _invcont9 */ break _invcont9$_bb3_i41$2497; }
                          }
                          else {
                            __lastLabel__ = 582; ;
                          }
                          var _stack_3_0 = __lastLabel__ == 591 ? _111 : (_stack_3_4);
                          var _stack_2_0 = __lastLabel__ == 591 ? _104 : (_stack_2_4);
                          __lastLabel__ = 596; ;
                          _bb7_i67$2517: while(1) { // _bb7_i67
                            var _indvar_i64 = __lastLabel__ == 596 ? 0 : (_indvar_next_i69);
                            var _tmp = _stack_1_2 + _indvar_i64;
                            var _scevgep18_i66 = _stack_3_0+4*_tmp;
                            var _117 = _scevgep18_i66 == 0;
                            ;
                            if (!_117) {
                              ;
                              IHEAP[_scevgep18_i66] = 0;
                              ;
                            }
                            var _indvar_next_i69 = _indvar_i64 + 1;
                            var _exitcond = _indvar_next_i69 == _stack_1_2;
                            if (_exitcond) { __lastLabel__ = 599; __label__ = 583; /* _invcont9 */ break _invcont9$_bb3_i41$2497; } else { __lastLabel__ = 599; __label__ = 597; /* _bb7_i67 */ continue _bb7_i67$2517; }
                          }
                        }
                      } while(0);
                      var _stack_2_1 = __lastLabel__ == 148 ? _stack_2_4 : (__lastLabel__ == 591 ? _104 : (__lastLabel__ == 411 ? _stack_2_4 : (_stack_2_0)));
                      var _stack_3_1 = __lastLabel__ == 148 ? _stack_3_4 : (__lastLabel__ == 591 ? _111 : (__lastLabel__ == 411 ? _stack_3_4 : (_stack_3_0)));
                      var _118 = _104 + -2;
                      __lastLabel__ = 583; ;
                    }
                    else {
                      __lastLabel__ = 2; ;
                    }
                    var _stack_3_2 = __lastLabel__ == 583 ? _stack_3_1 : (_stack_3_4);
                    var _stack_2_2 = __lastLabel__ == 583 ? _stack_2_1 : (_stack_2_4);
                    var _stack_1_0 = __lastLabel__ == 583 ? _104 : (_stack_1_2);
                    var _treshold_0 = __lastLabel__ == 583 ? _118 : (_treshold_2);
                    var _119 = _stack_3_2+4*_26;
                    var _120 = _28+36;
                    var _121 = IHEAP[_120];
                    IHEAP[_119] = _121;
                    var _122 = _depth_0 + 1;
                    var _123 = _stack_3_2+4*_depth_0;
                    var _124 = IHEAP[_101];
                    IHEAP[_123] = _124;
                    __lastLabel__ = 150; ;
                  }
                }
              } while(0);
              var _stack_3_3 = __lastLabel__ == 181 ? _stack_3_4 : (__lastLabel__ == 292 ? _stack_3_4 : (__lastLabel__ == 150 ? _stack_3_2 : (__lastLabel__ == 132 ? _stack_3_4 : (_stack_3_4))));
              var _stack_2_3 = __lastLabel__ == 181 ? _stack_2_4 : (__lastLabel__ == 292 ? _stack_2_4 : (__lastLabel__ == 150 ? _stack_2_2 : (__lastLabel__ == 132 ? _stack_2_4 : (_stack_2_4))));
              var _stack_1_1 = __lastLabel__ == 181 ? _stack_1_2 : (__lastLabel__ == 292 ? _stack_1_2 : (__lastLabel__ == 150 ? _stack_1_0 : (__lastLabel__ == 132 ? _stack_1_2 : (_stack_1_2))));
              var _depth_1 = __lastLabel__ == 181 ? _26 : (__lastLabel__ == 292 ? _26 : (__lastLabel__ == 150 ? _122 : (__lastLabel__ == 132 ? _26 : (_26))));
              var _treshold_1 = __lastLabel__ == 181 ? _treshold_2 : (__lastLabel__ == 292 ? _treshold_2 : (__lastLabel__ == 150 ? _treshold_0 : (__lastLabel__ == 132 ? _treshold_2 : (_treshold_2))));
              var _129 = _depth_1 == 0;
              if (_129) { __lastLabel__ = 108; __label__ = 64; /* _bb19 */ break _bb4$2486; } else { __lastLabel__ = 108; __label__ = 61; /* _bb4 */ continue _bb4$2486; }
            }
            if (__label__ == 64) {
              var _130 = _stack_3_3 == 0;
              if (_130) { __label__ = 602; /* __ZN20btAlignedObjectArrayIPK10btDbvtNodeED1Ev_exit34 */ break __ZN20btAlignedObjectArrayIPK10btDbvtNodeED1Ev_exit34$_bb_i_i$2477; }
              var _131 = _stack_3_3;
              __Z21btAlignedFreeInternalPv(_131);
              STACKTOP = __stackBase__;
              return;
            }
            else if (__label__ == 254) {
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select22 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              var _132 = _stack_3_4 == 0;
              if (_132) { __lastLabel__ = 254; __label__ = 604; /* _invcont17 */ break _bb7_i$_lpad_thread$2479; } else { __lastLabel__ = 254; ; }
            }
            else if (__label__ == 593) {
              var _eh_ptr86 = _llvm_eh_exception();
              var _eh_select2287 = _llvm_eh_selector(_eh_ptr86, ___gxx_personality_v0, 0);
              __lastLabel__ = 593; ;
            }
            var _eh_ptr88 = __lastLabel__ == 593 ? _eh_ptr86 : (_eh_ptr);
            var _133 = _stack_3_4;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_133) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 2160; __label__ = 604; /* _invcont17 */ break _bb7_i$_lpad_thread$2479; } else { __lastLabel__ = 2160; ; }
            var _eh_ptr24 = _llvm_eh_exception();
            var _eh_select26 = _llvm_eh_selector(_eh_ptr24, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
          else if (__label__ == 381) {
            var _eh_ptr82 = _llvm_eh_exception();
            var _eh_select2283 = _llvm_eh_selector(_eh_ptr82, ___gxx_personality_v0, 0);
            __lastLabel__ = 381; ;
          }
        } while(0);
        var _eh_ptr84 = __lastLabel__ == 381 ? _eh_ptr82 : (__lastLabel__ == 254 ? _eh_ptr : (_eh_ptr88));
        __Unwind_Resume_or_Rethrow(_eh_ptr84);
        // unreachable
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK6btDbvt15rayTestInternalEPK10btDbvtNodeRK9btVector3S5_S5_PjfS5_S5_RNS_8ICollideE.__index__ = Runtime.getFunctionIndex(__ZNK6btDbvt15rayTestInternalEPK10btDbvtNodeRK9btVector3S5_S5_PjfS5_S5_RNS_8ICollideE, "__ZNK6btDbvt15rayTestInternalEPK10btDbvtNodeRK9btVector3S5_S5_PjfS5_S5_RNS_8ICollideE");
  
  
  function __ZN16btDbvtBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_(_this, _rayFrom, _rayTo, _rayCallback, _aabbMin, _aabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 8;
    var __label__;
    var _callback = __stackBase__;
    var _0 = _callback;
    IHEAP[_0] = __ZTV19BroadphaseRayTester+8;
    var _1 = _callback+4;
    IHEAP[_1] = _rayCallback;
    var _2 = _rayCallback+32;
    var _3 = FHEAP[_2];
    var _4 = _rayCallback+20;
    var _5 = _rayCallback+4;
    var _6 = _this+4;
    var _7 = IHEAP[_6];
    var _8 = _this+4;
    var _9 = _callback;
    (function() { try { __THREW__ = false; return __ZNK6btDbvt15rayTestInternalEPK10btDbvtNodeRK9btVector3S5_S5_PjfS5_S5_RNS_8ICollideE(_8, _7, _rayFrom, _rayTo, _5, _4, _3, _aabbMin, _aabbMax, _9) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    _invcont$_lpad$2536: do { 
      if (__label__ == 345) {
        var _10 = FHEAP[_2];
        var _11 = _this+4+40;
        var _12 = IHEAP[_11];
        var _13 = _this+4+40;
        (function() { try { __THREW__ = false; return __ZNK6btDbvt15rayTestInternalEPK10btDbvtNodeRK9btVector3S5_S5_PjfS5_S5_RNS_8ICollideE(_13, _12, _rayFrom, _rayTo, _5, _4, _10, _aabbMin, _aabbMax, _9) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$2536; }
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select4 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    IHEAP[_0] = __ZTV19BroadphaseRayTester+8;
    __Unwind_Resume_or_Rethrow(_eh_ptr);
    // unreachable
  }
  __ZN16btDbvtBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_.__index__ = Runtime.getFunctionIndex(__ZN16btDbvtBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_, "__ZN16btDbvtBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_");
  
  
  function __ZN16btDbvtBroadphaseD0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btDbvtBroadphase+8;
    var _1 = _this+152;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb9$_bb$2541: do { 
      if (!_toBool) {
        ;
        var _3 = _this+96;
        var _4 = IHEAP[_3];
        var _5 = _4;
        var _6 = IHEAP[_5];
        var _7 = IHEAP[_6];
        var _8 = _7;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_8](_4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        if (__label__ == 345) {
          var _9 = IHEAP[_3];
          var _10 = _9;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_10) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 62; /* _bb9 */ break _bb9$_bb$2541; } else { ; }
        }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select22 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _18 = _this+4;
        var _19 = _18 == 0;
        if (_19) { __lastLabel__ = 254; __label__ = 2; /* _bb7 */  } else { __lastLabel__ = 254; __label__ = 61; /* _bb4 */  }
        _bb7$_bb4$2546: while(1) { // _bb7,_bb4
          if (__label__ == 2) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 61) {
            var _indvar = __lastLabel__ == 82 ? _indvar_next : (0);
            var _scevgep32_idx = _indvar * -40;
            var _11 = _scevgep32_idx == -80;
            if (_11) { __label__ = 2; /* _bb7 */ continue _bb7$_bb4$2546; }
            var _tmp30 = 1 - _indvar;
            var _scevgep = _this+4+_tmp30*40;
            var _indvar_next = _indvar + 1;
            (function() { try { __THREW__ = false; return __ZN6btDbvtD1Ev(_scevgep) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 82; __label__ = 61; /* _bb4 */ continue _bb7$_bb4$2546; } else { __lastLabel__ = 82; __label__ = 1682; /* _lpad23 */ break _bb7$_bb4$2546; }
          }
        }
        var _eh_ptr24 = _llvm_eh_exception();
        var _eh_select26 = _llvm_eh_selector(_eh_ptr24, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    } while(0);
    var _12 = _this+4;
    var _13 = _12 == 0;
    ;
    _bb19$_bb10$2553: do { 
      if (!_13) {
        ;
        var _14 = _12+80;
        var _15 = _this+4;
        var _16 = _14 == _15;
        if (_16) { __lastLabel__ = 150; __label__ = 64; /* _bb19 */ break _bb19$_bb10$2553; } else { __lastLabel__ = 150; ; }
        _bb16$2555: while(1) { // _bb16
          var _indvar34 = __lastLabel__ == 154 ? _indvar_next35 : (0);
          var _tmp37 = 1 - _indvar34;
          var _scevgep38 = _this+4+_tmp37*40;
          __ZN6btDbvtD1Ev(_scevgep38);
          var _indvar_next35 = _indvar34 + 1;
          var _exitcond = _indvar_next35 == 2;
          if (_exitcond) { __lastLabel__ = 154; __label__ = 64; /* _bb19 */ break _bb19$_bb10$2553; } else { __lastLabel__ = 154; __label__ = 154; /* _bb16 */ continue _bb16$2555; }
        }
      }
    } while(0);
    var _17 = _this;
    __ZdlPv(_17);
    ;
    return;
  }
  __ZN16btDbvtBroadphaseD0Ev.__index__ = Runtime.getFunctionIndex(__ZN16btDbvtBroadphaseD0Ev, "__ZN16btDbvtBroadphaseD0Ev");
  
  
  function __ZN16btDbvtBroadphaseD1Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btDbvtBroadphase+8;
    var _1 = _this+152;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb9$_bb$2559: do { 
      if (!_toBool) {
        ;
        var _3 = _this+96;
        var _4 = IHEAP[_3];
        var _5 = _4;
        var _6 = IHEAP[_5];
        var _7 = IHEAP[_6];
        var _8 = _7;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_8](_4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        if (__label__ == 345) {
          var _9 = IHEAP[_3];
          var _10 = _9;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_10) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 62; /* _bb9 */ break _bb9$_bb$2559; } else { ; }
        }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select22 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _17 = _this+4;
        var _18 = _17 == 0;
        if (_18) { __lastLabel__ = 254; __label__ = 2; /* _bb7 */  } else { __lastLabel__ = 254; __label__ = 61; /* _bb4 */  }
        _bb7$_bb4$2564: while(1) { // _bb7,_bb4
          if (__label__ == 2) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 61) {
            var _indvar = __lastLabel__ == 82 ? _indvar_next : (0);
            var _scevgep32_idx = _indvar * -40;
            var _11 = _scevgep32_idx == -80;
            if (_11) { __label__ = 2; /* _bb7 */ continue _bb7$_bb4$2564; }
            var _tmp30 = 1 - _indvar;
            var _scevgep = _this+4+_tmp30*40;
            var _indvar_next = _indvar + 1;
            (function() { try { __THREW__ = false; return __ZN6btDbvtD1Ev(_scevgep) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 82; __label__ = 61; /* _bb4 */ continue _bb7$_bb4$2564; } else { __lastLabel__ = 82; __label__ = 1682; /* _lpad23 */ break _bb7$_bb4$2564; }
          }
        }
        var _eh_ptr24 = _llvm_eh_exception();
        var _eh_select26 = _llvm_eh_selector(_eh_ptr24, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    } while(0);
    var _12 = _this+4;
    var _13 = _12 == 0;
    ;
    _return$_bb10$2571: do { 
      if (!_13) {
        ;
        var _14 = _12+80;
        var _15 = _this+4;
        var _16 = _14 == _15;
        if (_16) { __lastLabel__ = 150; __label__ = 44; /* _return */ break _return$_bb10$2571; } else { __lastLabel__ = 150; ; }
        _bb16$2573: while(1) { // _bb16
          var _indvar34 = __lastLabel__ == 154 ? _indvar_next35 : (0);
          var _tmp37 = 1 - _indvar34;
          var _scevgep38 = _this+4+_tmp37*40;
          __ZN6btDbvtD1Ev(_scevgep38);
          var _indvar_next35 = _indvar34 + 1;
          var _exitcond = _indvar_next35 == 2;
          if (_exitcond) { __lastLabel__ = 154; __label__ = 44; /* _return */ break _return$_bb10$2571; } else { __lastLabel__ = 154; __label__ = 154; /* _bb16 */ continue _bb16$2573; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN16btDbvtBroadphaseD1Ev.__index__ = Runtime.getFunctionIndex(__ZN16btDbvtBroadphaseD1Ev, "__ZN16btDbvtBroadphaseD1Ev");
  
  
  function __ZN16btDbvtBroadphaseD2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btDbvtBroadphase+8;
    var _1 = _this+152;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb9$_bb$2577: do { 
      if (!_toBool) {
        ;
        var _3 = _this+96;
        var _4 = IHEAP[_3];
        var _5 = _4;
        var _6 = IHEAP[_5];
        var _7 = IHEAP[_6];
        var _8 = _7;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_8](_4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        if (__label__ == 345) {
          var _9 = IHEAP[_3];
          var _10 = _9;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_10) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 62; /* _bb9 */ break _bb9$_bb$2577; } else { ; }
        }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select22 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _17 = _this+4;
        var _18 = _17 == 0;
        if (_18) { __lastLabel__ = 254; __label__ = 2; /* _bb7 */  } else { __lastLabel__ = 254; __label__ = 61; /* _bb4 */  }
        _bb7$_bb4$2582: while(1) { // _bb7,_bb4
          if (__label__ == 2) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 61) {
            var _indvar = __lastLabel__ == 82 ? _indvar_next : (0);
            var _scevgep32_idx = _indvar * -40;
            var _11 = _scevgep32_idx == -80;
            if (_11) { __label__ = 2; /* _bb7 */ continue _bb7$_bb4$2582; }
            var _tmp30 = 1 - _indvar;
            var _scevgep = _this+4+_tmp30*40;
            var _indvar_next = _indvar + 1;
            (function() { try { __THREW__ = false; return __ZN6btDbvtD1Ev(_scevgep) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 82; __label__ = 61; /* _bb4 */ continue _bb7$_bb4$2582; } else { __lastLabel__ = 82; __label__ = 1682; /* _lpad23 */ break _bb7$_bb4$2582; }
          }
        }
        var _eh_ptr24 = _llvm_eh_exception();
        var _eh_select26 = _llvm_eh_selector(_eh_ptr24, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    } while(0);
    var _12 = _this+4;
    var _13 = _12 == 0;
    ;
    _return$_bb10$2589: do { 
      if (!_13) {
        ;
        var _14 = _12+80;
        var _15 = _this+4;
        var _16 = _14 == _15;
        if (_16) { __lastLabel__ = 150; __label__ = 44; /* _return */ break _return$_bb10$2589; } else { __lastLabel__ = 150; ; }
        _bb16$2591: while(1) { // _bb16
          var _indvar34 = __lastLabel__ == 154 ? _indvar_next35 : (0);
          var _tmp37 = 1 - _indvar34;
          var _scevgep38 = _this+4+_tmp37*40;
          __ZN6btDbvtD1Ev(_scevgep38);
          var _indvar_next35 = _indvar34 + 1;
          var _exitcond = _indvar_next35 == 2;
          if (_exitcond) { __lastLabel__ = 154; __label__ = 44; /* _return */ break _return$_bb10$2589; } else { __lastLabel__ = 154; __label__ = 154; /* _bb16 */ continue _bb16$2591; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN16btDbvtBroadphaseD2Ev.__index__ = Runtime.getFunctionIndex(__ZN16btDbvtBroadphaseD2Ev, "__ZN16btDbvtBroadphaseD2Ev");
  
  
  function __ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallback11processNodeEii(_this, _unnamed_arg, _broadphaseIndex) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1+4+12;
    var _3 = IHEAP[_2];
    var _4 = _3+4*_broadphaseIndex;
    var _5 = IHEAP[_4];
    var _6 = _this+8;
    var _7 = IHEAP[_6];
    var _8 = _7+48+4;
    var _9 = IHEAP[_8];
    __lastLabel__ = -1; ;
    _bb3$2626: while(1) { // _bb3
      var _17 = __lastLabel__ == -1 ? 0 : (_16);
      var _18 = _9 > _17;
      if (!(_18)) { __label__ = 83; /* _bb6 */ break _bb3$2626; }
      var _10 = _7+48+12;
      var _11 = IHEAP[_10];
      var _scevgep = _11+4*_17;
      var _12 = IHEAP[_scevgep];
      var _13 = _12+4;
      var _14 = IHEAP[_13];
      var _15 = _14 == _5;
      if (_15) { __label__ = 82; /* _bb5 */ break _bb3$2626; }
      var _16 = _17 + 1;
      __lastLabel__ = 0; __label__ = 116; /* _bb3 */ continue _bb3$2626;
    }
    _bb5$_bb6$2630: do { 
      if (__label__ == 82) {
        var _19 = _17 < 0;
        if (_19) { __label__ = 83; /* _bb6 */ break _bb5$_bb6$2630; }
        ;
        return;
      }
    } while(0);
    var _20 = _5;
    var _21 = IHEAP[_20];
    var _22 = _21+8;
    var _23 = IHEAP[_22];
    var _24 = _this+12;
    var _25 = IHEAP[_24];
    var _26 = _7+6;
    var _27 = IHEAP[_26];
    var _28 = _7+4;
    var _29 = IHEAP[_28];
    var _30 = _7;
    var _31 = IHEAP[_30];
    var _32 = _7+100;
    var _33 = IHEAP[_32];
    var _34 = _7+84;
    var _35 = _7+68;
    var _36 = _23;
    var _37 = _7;
    var _38 = FUNCTION_TABLE[_36](_5, _35, _34, _33, _31, _29, _27, _25, _37);
    var _39 = IHEAP[_6];
    var _40 = IHEAP[_0];
    __ZN20btMultiSapBroadphase20addToChildBroadphaseEPNS_15btMultiSapProxyEP17btBroadphaseProxyP21btBroadphaseInterface(_40, _39, _38, _5);
    ;
    return;
  }
  __ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallback11processNodeEii.__index__ = Runtime.getFunctionIndex(__ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallback11processNodeEii, "__ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallback11processNodeEii");
  
  
  function __ZN20btMultiSapBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_(_this, _rayFrom, _rayTo, _rayCallback, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+48+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_return$2651: do { 
      if (_2) {
        ;
        var _3 = _rayCallback;
        var _4 = _this+48+12;
        var _5 = _rayCallback;
        __lastLabel__ = 130; ;
        _bb$2653: while(1) { // _bb
          var _i_03 = __lastLabel__ == 130 ? 0 : (_14);
          var _6 = IHEAP[_3];
          var _7 = _6+8;
          var _8 = IHEAP[_7];
          var _9 = IHEAP[_4];
          var _scevgep = _9+4*_i_03;
          var _10 = IHEAP[_scevgep];
          var _11 = _10;
          var _12 = _8;
          var _13 = FUNCTION_TABLE[_12](_5, _11);
          var _14 = _i_03 + 1;
          var _15 = IHEAP[_0];
          var _16 = _15 > _14;
          if (_16) { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$2653; } else { __lastLabel__ = 60; __label__ = 44; /* _return */ break _bb_nph$_return$2651; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN20btMultiSapBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_.__index__ = Runtime.getFunctionIndex(__ZN20btMultiSapBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_, "__ZN20btMultiSapBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_");
  
  
  function __ZN20btMultiSapBroadphase25calculateOverlappingPairsEP12btDispatcher(_this, _dispatcher) {
    var __stackBase__  = STACKTOP; STACKTOP += 34;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = __stackBase__+2;
    var _3 = __stackBase__+18;
    var _4 = IHEAP[_stopUpdating];
    var _toBool3not = _4 == 0;
    ;
    _bb$_bb12$2709: do { 
      if (_toBool3not) {
        ;
        var _5 = _this;
        var _6 = IHEAP[_5];
        var _7 = _6+36;
        var _8 = IHEAP[_7];
        var _9 = _8;
        var _10 = FUNCTION_TABLE[_9](_this);
        var _11 = _10;
        var _12 = IHEAP[_11];
        var _13 = _12+56;
        var _14 = IHEAP[_13];
        var _15 = _14;
        var _16 = FUNCTION_TABLE[_15](_10);
        var _toBool7not = _16 == 0;
        if (_toBool7not) { __label__ = 3; /* _bb12 */ break _bb$_bb12$2709; }
        var _17 = IHEAP[_5];
        var _18 = _17+36;
        var _19 = IHEAP[_18];
        var _20 = _19;
        var _21 = FUNCTION_TABLE[_20](_this);
        var _22 = _21;
        var _23 = IHEAP[_22];
        var _24 = _23+28;
        var _25 = IHEAP[_24];
        var _26 = _25;
        var _27 = FUNCTION_TABLE[_26](_21);
        var _28 = _27+4;
        var _29 = IHEAP[_28];
        var _30 = _29 > 1;
        ;
        if (_30) {
          __lastLabel__ = 153; ;
          var _31 = _29 + -1;
          __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI37btMultiSapBroadphasePairSortPredicateEEvT_ii(_27, _1, 0, _31);
          var __pre = IHEAP[_28];
          __lastLabel__ = 131; ;
        }
        else {
          __lastLabel__ = 153; ;
        }
        var _32 = __lastLabel__ == 153 ? _29 : (__pre);
        var _33 = _3;
        IHEAP[_33] = 0;
        var _34 = _3+4;
        IHEAP[_34] = 0;
        var _35 = _3+8;
        IHEAP[_35] = 0;
        var _36 = _3+12;
        IHEAP[_36] = 0;
        var _37 = _this+44;
        var _38 = IHEAP[_37];
        var _39 = _32 - _38;
        __ZN20btAlignedObjectArrayI16btBroadphasePairE6resizeEiRKS0_(_27, _39, _3);
        IHEAP[_37] = 0;
        var _40 = IHEAP[_28];
        var _41 = _40 > 0;
        ;
        _bb_nph$__ZN20btAlignedObjectArrayI16btBroadphasePairE9quickSortI37btMultiSapBroadphasePairSortPredicateEEvT__exit55$2715: do { 
          if (_41) {
            __lastLabel__ = 4293; ;
            var _42 = _27+12;
            __lastLabel__ = 130; ;
            _bb16$2717: while(1) { // _bb16
              var _i_065 = __lastLabel__ == 130 ? 0 : (_tmp);
              var _previousPair_1_064 = __lastLabel__ == 130 ? 0 : (_49);
              var _previousPair_0_063 = __lastLabel__ == 130 ? 0 : (_44);
              var _tmp = _i_065 + 1;
              var _43 = IHEAP[_42];
              var _scevgep6667 = _43+16*_i_065;
              var _44 = IHEAP[_scevgep6667];
              var _45 = _44 == 0;
              ;
              if (_45) {
                __lastLabel__ = 154; ;
              }
              else {
                __lastLabel__ = 154; ;
                var _46 = _44+8;
                var _47 = IHEAP[_46];
                var _48 = _47;
                __lastLabel__ = 4; ;
              }
              var _iftmp_179_0 = __lastLabel__ == 4 ? _48 : (0);
              var _scevgep70 = _43+16*_i_065+4;
              var _49 = IHEAP[_scevgep70];
              var _50 = _49 == 0;
              ;
              if (_50) {
                __lastLabel__ = 64; ;
              }
              else {
                __lastLabel__ = 64; ;
                var _51 = _49+8;
                var _52 = IHEAP[_51];
                var _53 = _52;
                __lastLabel__ = 117; ;
              }
              var _iftmp_180_0 = __lastLabel__ == 117 ? _53 : (0);
              var _54 = _previousPair_0_063 == 0;
              ;
              if (_54) {
                __lastLabel__ = 5; ;
              }
              else {
                __lastLabel__ = 5; ;
                var _55 = _previousPair_0_063+8;
                var _56 = IHEAP[_55];
                var _57 = _56;
                __lastLabel__ = 419; ;
              }
              var _iftmp_181_0 = __lastLabel__ == 419 ? _57 : (0);
              var _58 = _previousPair_1_064 == 0;
              ;
              if (_58) {
                __lastLabel__ = 540; ;
              }
              else {
                __lastLabel__ = 540; ;
                var _59 = _previousPair_1_064+8;
                var _60 = IHEAP[_59];
                var _61 = _60;
                __lastLabel__ = 626; ;
              }
              var _iftmp_182_0 = __lastLabel__ == 626 ? _61 : (0);
              var _notlhs = _iftmp_179_0 != _iftmp_181_0;
              var _notrhs = _iftmp_180_0 != _iftmp_182_0;
              var _toBool31not = _notrhs | _notlhs;
              ;
              _bb35$_bb42$2731: do { 
                if (_toBool31not) {
                  ;
                  var _62 = _44+8;
                  var _63 = IHEAP[_62];
                  var _64 = _49+8;
                  var _65 = IHEAP[_64];
                  var _66 = _65+84;
                  var _67 = _63+68;
                  var _68 = _67;
                  var _69 = FHEAP[_68];
                  var _70 = _66;
                  var _71 = FHEAP[_70];
                  var _72 = _69 > _71;
                  ;
                  _bb2_i_i$_bb_i_i$2733: do { 
                    if (_72) {
                      __label__ = 628; /* _bb2_i_i */ 
                    }
                    else {
                      ;
                      var _73 = _63+84;
                      var _74 = _65+68;
                      var _75 = _73;
                      var _76 = FHEAP[_75];
                      var _77 = _74;
                      var _78 = FHEAP[_77];
                      var _79 = _76 < _78;
                      if (_79) { __lastLabel__ = 263; __label__ = 628; /* _bb2_i_i */ break _bb2_i_i$_bb_i_i$2733; } else { __lastLabel__ = 263; __label__ = 324; /* _bb3_i_i */ break _bb2_i_i$_bb_i_i$2733; }
                    }
                  } while(0);
                  if (__label__ == 628) {
                    __lastLabel__ = 628; ;
                  }
                  var _iftmp_123_0_i_i = __lastLabel__ == 628 ? 0 : (1);
                  var _80 = _63+76;
                  var _81 = _80;
                  var _82 = FHEAP[_81];
                  var _83 = _65+92;
                  var _84 = _83;
                  var _85 = FHEAP[_84];
                  var _86 = _82 > _85;
                  ;
                  _bb6_i_i$_bb4_i_i$2738: do { 
                    if (_86) {
                      __label__ = 631; /* _bb6_i_i */ 
                    }
                    else {
                      ;
                      var _87 = _63+92;
                      var _88 = _87;
                      var _89 = FHEAP[_88];
                      var _90 = _65+76;
                      var _91 = _90;
                      var _92 = FHEAP[_91];
                      var _93 = _89 < _92;
                      if (_93) { __lastLabel__ = 630; __label__ = 631; /* _bb6_i_i */ break _bb6_i_i$_bb4_i_i$2738; } else { __lastLabel__ = 630; __label__ = 444; /* _bb7_i_i */ break _bb6_i_i$_bb4_i_i$2738; }
                    }
                  } while(0);
                  if (__label__ == 631) {
                    __lastLabel__ = 631; ;
                  }
                  var _iftmp_124_0_i_i = __lastLabel__ == 631 ? 0 : (_iftmp_123_0_i_i);
                  var _94 = _63+72;
                  var _95 = _94;
                  var _96 = FHEAP[_95];
                  var _97 = _65+88;
                  var _98 = _97;
                  var _99 = FHEAP[_98];
                  var _100 = _96 > _99;
                  if (_100) { __label__ = 69; /* _bb42 */ break _bb35$_bb42$2731; }
                  var _101 = _63+88;
                  var _102 = _101;
                  var _103 = FHEAP[_102];
                  var _104 = _65+72;
                  var _105 = _104;
                  var _106 = FHEAP[_105];
                  var _107 = _103 < _106;
                  var _phitmp62 = _iftmp_124_0_i_i == 0;
                  var _phitmp = _107 | _phitmp62;
                  if (_phitmp) { __label__ = 69; /* _bb42 */ break _bb35$_bb42$2731; } else { __label__ = 8; /* _bb43 */ break _bb35$_bb42$2731; }
                }
                else {
                  __label__ = 69; /* _bb42 */ 
                }
              } while(0);
              if (__label__ == 69) {
                var _108 = IHEAP[_5];
                var _109 = _108+36;
                var _110 = IHEAP[_109];
                var _111 = _110;
                var _112 = FUNCTION_TABLE[_111](_this);
                var _113 = _112;
                var _114 = IHEAP[_113];
                var _115 = _114+32;
                var _116 = IHEAP[_115];
                var _117 = _116;
                var _scevgep = _43+16*_i_065;
                FUNCTION_TABLE[_117](_112, _scevgep, _dispatcher);
                IHEAP[_scevgep6667] = 0;
                IHEAP[_scevgep70] = 0;
                var _118 = IHEAP[_37];
                var _119 = _118 + 1;
                IHEAP[_37] = _119;
                var _120 = IHEAP[_gOverlappingPairs];
                var _121 = _120 + -1;
                IHEAP[_gOverlappingPairs] = _121;
                ;
              }
              var _122 = IHEAP[_28];
              var _123 = _122 > _tmp;
              if (_123) { __lastLabel__ = 8; __label__ = 154; /* _bb16 */ continue _bb16$2717; } else { __lastLabel__ = 8; __label__ = 635; /* _bb46 */ break _bb16$2717; }
            }
            var _124 = _122 > 1;
            if (_124) { __lastLabel__ = 635; ; } else { __lastLabel__ = 635; __label__ = 636; /* __ZN20btAlignedObjectArrayI16btBroadphasePairE9quickSortI37btMultiSapBroadphasePairSortPredicateEEvT__exit55 */ break _bb_nph$__ZN20btAlignedObjectArrayI16btBroadphasePairE9quickSortI37btMultiSapBroadphasePairSortPredicateEEvT__exit55$2715; }
            var _125 = _122 + -1;
            __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI37btMultiSapBroadphasePairSortPredicateEEvT_ii(_27, _0, 0, _125);
            var __pre81 = IHEAP[_28];
            __lastLabel__ = 353; ;
          }
          else {
            __lastLabel__ = 4293; ;
          }
        } while(0);
        var _126 = __lastLabel__ == 353 ? __pre81 : (__lastLabel__ == 635 ? _122 : (_40));
        var _127 = _2;
        IHEAP[_127] = 0;
        var _128 = _2+4;
        IHEAP[_128] = 0;
        var _129 = _2+8;
        IHEAP[_129] = 0;
        var _130 = _2+12;
        IHEAP[_130] = 0;
        var _131 = IHEAP[_37];
        var _132 = _126 - _131;
        __ZN20btAlignedObjectArrayI16btBroadphasePairE6resizeEiRKS0_(_27, _132, _2);
        IHEAP[_37] = 0;
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN20btMultiSapBroadphase25calculateOverlappingPairsEP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN20btMultiSapBroadphase25calculateOverlappingPairsEP12btDispatcher, "__ZN20btMultiSapBroadphase25calculateOverlappingPairsEP12btDispatcher");
  
  
  function __ZN20btMultiSapBroadphase20addToChildBroadphaseEPNS_15btMultiSapProxyEP17btBroadphaseProxyP21btBroadphaseInterface(_this, _parentMultiSapProxy, _childProxy, _childBroadphase) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __Z22btAlignedAllocInternalji(8, 16);
    var _1 = _0;
    var _2 = _0;
    IHEAP[_2] = _childProxy;
    var _3 = _0+4;
    var _4 = _3;
    IHEAP[_4] = _childBroadphase;
    var _5 = _parentMultiSapProxy+48+4;
    var _6 = IHEAP[_5];
    var _7 = _parentMultiSapProxy+48+8;
    var _8 = IHEAP[_7];
    var _9 = _8 == _6;
    ;
    _bb_i$_bb1_i$2752: do { 
      if (_9) {
        __lastLabel__ = -1; ;
        var _10 = _6 == 0;
        var _11 = _6 << 1;
        var _iftmp_199_0_i_i = _10 ? 1 : _11;
        var _12 = _8 < _iftmp_199_0_i_i;
        if (_12) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$2752; }
        var _13 = _iftmp_199_0_i_i == 0;
        ;
        if (_13) {
          __lastLabel__ = 263; ;
        }
        else {
          __lastLabel__ = 263; ;
          var _14 = _iftmp_199_0_i_i << 2;
          var _15 = __Z22btAlignedAllocInternalji(_14, 16);
          var _phitmp_i_i = _15;
          var __pre_i = IHEAP[_5];
          __lastLabel__ = 274; ;
        }
        var _16 = __lastLabel__ == 274 ? __pre_i : (_6);
        var _17 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
        var _18 = _16 > 0;
        ;
        _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIPN20btMultiSapBroadphase13btBridgeProxyEE4copyEiiPS2__exit_i_i$2758: do { 
          if (_18) {
            ;
            var _19 = _parentMultiSapProxy+48+12;
            __lastLabel__ = 276; ;
            _bb_i4_i_i$2760: while(1) { // _bb_i4_i_i
              var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
              var _scevgep_i_i_i = _17+4*_indvar_i_i_i;
              var _20 = _scevgep_i_i_i == 0;
              ;
              if (!_20) {
                ;
                var _21 = IHEAP[_19];
                var _scevgep8_i_i_i = _21+4*_indvar_i_i_i;
                var _22 = IHEAP[_scevgep8_i_i_i];
                IHEAP[_scevgep_i_i_i] = _22;
                ;
              }
              var _indvar_next_i_i_i = _indvar_i_i_i + 1;
              var _exitcond = _indvar_next_i_i_i == _16;
              if (_exitcond) { __lastLabel__ = 279; __label__ = 640; /* __ZNK20btAlignedObjectArrayIPN20btMultiSapBroadphase13btBridgeProxyEE4copyEiiPS2__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIPN20btMultiSapBroadphase13btBridgeProxyEE4copyEiiPS2__exit_i_i$2758; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$2760; }
            }
          }
        } while(0);
        var _23 = _parentMultiSapProxy+48+12;
        var _24 = IHEAP[_23];
        var _25 = _24 == 0;
        ;
        if (!_25) {
          ;
          var _26 = _parentMultiSapProxy+48+16;
          var _27 = IHEAP[_26];
          var _toBool_i_i_i = _27 == 0;
          ;
          if (!_toBool_i_i_i) {
            ;
            var _28 = _24;
            __Z21btAlignedFreeInternalPv(_28);
            ;
          }
          IHEAP[_23] = 0;
          ;
        }
        var _29 = _parentMultiSapProxy+48+16;
        IHEAP[_29] = 1;
        IHEAP[_23] = _17;
        IHEAP[_7] = _iftmp_199_0_i_i;
        var __pre5_i = IHEAP[_5];
        __lastLabel__ = 643; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _30 = __lastLabel__ == 643 ? __pre5_i : (__lastLabel__ == -1 ? _6 : (_6));
    var _31 = _parentMultiSapProxy+48+12;
    var _32 = IHEAP[_31];
    var _33 = _32+4*_30;
    var _34 = _33 == 0;
    ;
    if (_34) {
      __lastLabel__ = 159; ;
    }
    else {
      __lastLabel__ = 159; ;
      IHEAP[_33] = _1;
      var __pre6_i = IHEAP[_5];
      __lastLabel__ = 132; ;
    }
    var _35 = __lastLabel__ == 159 ? _30 : (__pre6_i);
    var _36 = _35 + 1;
    IHEAP[_5] = _36;
    ;
    return;
  }
  __ZN20btMultiSapBroadphase20addToChildBroadphaseEPNS_15btMultiSapProxyEP17btBroadphaseProxyP21btBroadphaseInterface.__index__ = Runtime.getFunctionIndex(__ZN20btMultiSapBroadphase20addToChildBroadphaseEPNS_15btMultiSapProxyEP17btBroadphaseProxyP21btBroadphaseInterface, "__ZN20btMultiSapBroadphase20addToChildBroadphaseEPNS_15btMultiSapProxyEP17btBroadphaseProxyP21btBroadphaseInterface");
  
  
  function __ZN20btMultiSapBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_(_this, _aabbMin, _aabbMax, _shapeType, _userPtr, _collisionFilterGroup, _collisionFilterMask, _dispatcher, _unnamed_arg) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __Z22btAlignedAllocInternalji(104, 16);
    var _1 = _0;
    var _2 = _0;
    IHEAP[_2] = _userPtr;
    var _3 = _0+4;
    var _4 = _3;
    IHEAP[_4] = _collisionFilterGroup;
    var _5 = _0+6;
    var _6 = _5;
    IHEAP[_6] = _collisionFilterMask;
    var _7 = _0+16;
    var _8 = _7;
    var _9 = _aabbMin;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _0+20;
    var _12 = _11;
    var _13 = _aabbMin+4;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _0+24;
    var _16 = _15;
    var _17 = _aabbMin+8;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _0+28;
    var _20 = _19;
    var _21 = _aabbMin+12;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _0+32;
    var _24 = _23;
    var _25 = _aabbMax;
    var _26 = FHEAP[_25];
    FHEAP[_24] = _26;
    var _27 = _0+36;
    var _28 = _27;
    var _29 = _aabbMax+4;
    var _30 = FHEAP[_29];
    FHEAP[_28] = _30;
    var _31 = _0+40;
    var _32 = _31;
    var _33 = _aabbMax+8;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _0+44;
    var _36 = _35;
    var _37 = _aabbMax+12;
    var _38 = FHEAP[_37];
    FHEAP[_36] = _38;
    var _39 = _0+8;
    var _40 = _39;
    IHEAP[_40] = 0;
    var _41 = _0+64;
    IHEAP[_41] = 1;
    var _42 = _0+60;
    var _43 = _42;
    IHEAP[_43] = 0;
    var _44 = _0+52;
    var _45 = _44;
    IHEAP[_45] = 0;
    var _46 = _0+56;
    var _47 = _46;
    IHEAP[_47] = 0;
    var _48 = _0+68;
    var _49 = _48;
    var _50 = FHEAP[_9];
    FHEAP[_49] = _50;
    var _51 = _0+72;
    var _52 = _51;
    var _53 = FHEAP[_13];
    FHEAP[_52] = _53;
    var _54 = _0+76;
    var _55 = _54;
    var _56 = FHEAP[_17];
    FHEAP[_55] = _56;
    var _57 = _0+80;
    var _58 = _57;
    var _59 = FHEAP[_21];
    FHEAP[_58] = _59;
    var _60 = _0+84;
    var _61 = _60;
    var _62 = FHEAP[_25];
    FHEAP[_61] = _62;
    var _63 = _0+88;
    var _64 = _63;
    var _65 = FHEAP[_29];
    FHEAP[_64] = _65;
    var _66 = _0+92;
    var _67 = _66;
    var _68 = FHEAP[_33];
    FHEAP[_67] = _68;
    var _69 = _0+96;
    var _70 = _69;
    var _71 = FHEAP[_37];
    FHEAP[_70] = _71;
    var _72 = _0+100;
    var _73 = _72;
    IHEAP[_73] = _shapeType;
    IHEAP[_40] = _0;
    var _74 = _this+48+4;
    var _75 = IHEAP[_74];
    var _76 = _this+48+8;
    var _77 = IHEAP[_76];
    var _78 = _77 == _75;
    ;
    _bb_i$_bb1_i$2777: do { 
      if (_78) {
        __lastLabel__ = 75; ;
        var _79 = _75 == 0;
        var _80 = _75 << 1;
        var _iftmp_197_0_i_i = _79 ? 1 : _80;
        var _81 = _77 < _iftmp_197_0_i_i;
        if (_81) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$2777; }
        var _82 = _iftmp_197_0_i_i == 0;
        ;
        if (_82) {
          __lastLabel__ = 263; ;
        }
        else {
          __lastLabel__ = 263; ;
          var _83 = _iftmp_197_0_i_i << 2;
          var _84 = __Z22btAlignedAllocInternalji(_83, 16);
          var _phitmp_i_i = _84;
          var __pre_i = IHEAP[_74];
          __lastLabel__ = 274; ;
        }
        var _85 = __lastLabel__ == 274 ? __pre_i : (_75);
        var _86 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
        var _87 = _85 > 0;
        ;
        _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIPN20btMultiSapBroadphase15btMultiSapProxyEE4copyEiiPS2__exit_i_i$2783: do { 
          if (_87) {
            ;
            var _88 = _this+48+12;
            __lastLabel__ = 276; ;
            _bb_i4_i_i$2785: while(1) { // _bb_i4_i_i
              var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
              var _scevgep_i_i_i = _86+4*_indvar_i_i_i;
              var _89 = _scevgep_i_i_i == 0;
              ;
              if (!_89) {
                ;
                var _90 = IHEAP[_88];
                var _scevgep8_i_i_i = _90+4*_indvar_i_i_i;
                var _91 = IHEAP[_scevgep8_i_i_i];
                IHEAP[_scevgep_i_i_i] = _91;
                ;
              }
              var _indvar_next_i_i_i = _indvar_i_i_i + 1;
              var _exitcond = _indvar_next_i_i_i == _85;
              if (_exitcond) { __lastLabel__ = 279; __label__ = 648; /* __ZNK20btAlignedObjectArrayIPN20btMultiSapBroadphase15btMultiSapProxyEE4copyEiiPS2__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIPN20btMultiSapBroadphase15btMultiSapProxyEE4copyEiiPS2__exit_i_i$2783; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$2785; }
            }
          }
        } while(0);
        var _92 = _this+48+12;
        var _93 = IHEAP[_92];
        var _94 = _93 == 0;
        ;
        if (!_94) {
          ;
          var _95 = _this+48+16;
          var _96 = IHEAP[_95];
          var _toBool_i_i_i = _96 == 0;
          ;
          if (!_toBool_i_i_i) {
            ;
            var _97 = _93;
            __Z21btAlignedFreeInternalPv(_97);
            ;
          }
          IHEAP[_92] = 0;
          ;
        }
        var _98 = _this+48+16;
        IHEAP[_98] = 1;
        IHEAP[_92] = _86;
        IHEAP[_76] = _iftmp_197_0_i_i;
        var __pre5_i = IHEAP[_74];
        __lastLabel__ = 651; ;
      }
      else {
        __lastLabel__ = 75; ;
      }
    } while(0);
    var _99 = __lastLabel__ == 651 ? __pre5_i : (__lastLabel__ == 75 ? _75 : (_75));
    var _100 = _this+48+12;
    var _101 = IHEAP[_100];
    var _102 = _101+4*_99;
    var _103 = _102 == 0;
    ;
    if (_103) {
      __lastLabel__ = 159; ;
    }
    else {
      __lastLabel__ = 159; ;
      IHEAP[_102] = _1;
      var __pre6_i = IHEAP[_74];
      __lastLabel__ = 132; ;
    }
    var _104 = __lastLabel__ == 159 ? _99 : (__pre6_i);
    var _105 = _104 + 1;
    IHEAP[_74] = _105;
    var _106 = _this;
    var _107 = IHEAP[_106];
    var _108 = _107+16;
    var _109 = IHEAP[_108];
    var _110 = _0;
    var _111 = _109;
    FUNCTION_TABLE[_111](_this, _110, _aabbMin, _aabbMax, _dispatcher);
    ;
    return _110;
  }
  __ZN20btMultiSapBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_.__index__ = Runtime.getFunctionIndex(__ZN20btMultiSapBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_, "__ZN20btMultiSapBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_");
  
  
  function __ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE7reserveEi(_this, __Count) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+8;
    var _1 = IHEAP[_0];
    var _2 = _1 < __Count;
    ;
    if (_2) {
      ;
      var _3 = __Count == 0;
      ;
      if (_3) {
        __lastLabel__ = 60; ;
      }
      else {
        __lastLabel__ = 60; ;
        var _4 = __Count << 4;
        var _5 = __Z22btAlignedAllocInternalji(_4, 16);
        var _phitmp = _5;
        __lastLabel__ = 654; ;
      }
      var _6 = __lastLabel__ == 654 ? _phitmp : (0);
      var _7 = _this+4;
      var _8 = IHEAP[_7];
      var _9 = _8 > 0;
      ;
      _bb_nph_i$__ZNK20btAlignedObjectArrayI18btQuantizedBvhNodeE4copyEiiPS0__exit$2807: do { 
        if (_9) {
          ;
          var _10 = _this+12;
          __lastLabel__ = 418; ;
          _bb_i4$2809: while(1) { // _bb_i4
            var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
            var _scevgep1213_i = _6+20*_indvar_i;
            var _scevgep14_i = _6+20*_indvar_i+2;
            var _scevgep15_i = _6+20*_indvar_i+4;
            var _scevgep16_i = _6+20*_indvar_i+8;
            var _scevgep17_i = _6+20*_indvar_i+8+2;
            var _scevgep18_i = _6+20*_indvar_i+8+4;
            var _scevgep19_i = _6+20*_indvar_i+16;
            var _11 = IHEAP[_10];
            var _scevgep5_i = _11+20*_indvar_i;
            var _12 = IHEAP[_scevgep5_i];
            IHEAP[_scevgep1213_i] = _12;
            var _scevgep6_i = _11+20*_indvar_i+2;
            var _13 = IHEAP[_scevgep6_i];
            IHEAP[_scevgep14_i] = _13;
            var _scevgep7_i = _11+20*_indvar_i+4;
            var _14 = IHEAP[_scevgep7_i];
            IHEAP[_scevgep15_i] = _14;
            var _scevgep8_i = _11+20*_indvar_i+8;
            var _15 = IHEAP[_scevgep8_i];
            IHEAP[_scevgep16_i] = _15;
            var _scevgep9_i = _11+20*_indvar_i+8+2;
            var _16 = IHEAP[_scevgep9_i];
            IHEAP[_scevgep17_i] = _16;
            var _scevgep10_i = _11+20*_indvar_i+8+4;
            var _17 = IHEAP[_scevgep10_i];
            IHEAP[_scevgep18_i] = _17;
            var _scevgep11_i = _11+20*_indvar_i+16;
            var _18 = IHEAP[_scevgep11_i];
            IHEAP[_scevgep19_i] = _18;
            var _indvar_next_i = _indvar_i + 1;
            var _exitcond = _indvar_next_i == _8;
            if (_exitcond) { __lastLabel__ = 656; __label__ = 657; /* __ZNK20btAlignedObjectArrayI18btQuantizedBvhNodeE4copyEiiPS0__exit */ break _bb_nph_i$__ZNK20btAlignedObjectArrayI18btQuantizedBvhNodeE4copyEiiPS0__exit$2807; } else { __lastLabel__ = 656; __label__ = 656; /* _bb_i4 */ continue _bb_i4$2809; }
          }
        }
      } while(0);
      var _19 = _this+12;
      var _20 = IHEAP[_19];
      var _21 = _20 == 0;
      ;
      if (!_21) {
        ;
        var _22 = _this+16;
        var _23 = IHEAP[_22];
        var _toBool_i = _23 == 0;
        ;
        if (!_toBool_i) {
          ;
          var _24 = _20;
          __Z21btAlignedFreeInternalPv(_24);
          ;
        }
        IHEAP[_19] = 0;
        ;
      }
      var _25 = _this+16;
      IHEAP[_25] = 1;
      IHEAP[_19] = _6;
      IHEAP[_0] = __Count;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE7reserveEi.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE7reserveEi, "__ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE7reserveEi");
  
  
  function __ZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher(_this, _proxy, _aabbMin, _aabbMax, _dispatcher) {
    var __stackBase__  = STACKTOP; STACKTOP += 48;
    var __label__;
    var __lastLabel__ = null;
    var _myNodeCallback = __stackBase__;
    var _worldAabbMin = __stackBase__+16;
    var _worldAabbMax = __stackBase__+32;
    var _0 = _proxy;
    var _1 = _proxy+48+16+4;
    var _2 = _aabbMin;
    var _3 = FHEAP[_2];
    FHEAP[_1] = _3;
    var _4 = _proxy+48+16+8;
    var _5 = _aabbMin+4;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _proxy+48+16+12;
    var _8 = _aabbMin+8;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _proxy+48+16+16;
    var _11 = _aabbMin+12;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _proxy+48+32+4;
    var _14 = _aabbMax;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    var _16 = _proxy+48+32+8;
    var _17 = _aabbMax+4;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _proxy+48+32+12;
    var _20 = _aabbMax+8;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _proxy+48+32+16;
    var _23 = _aabbMax+12;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    var _25 = _myNodeCallback;
    IHEAP[_25] = __ZTVZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherE21MyNodeOverlapCallback+8;
    var _26 = _myNodeCallback+4;
    IHEAP[_26] = _this;
    var _27 = _myNodeCallback+8;
    IHEAP[_27] = _0;
    var _28 = _myNodeCallback+12;
    IHEAP[_28] = _dispatcher;
    var _29 = _this+32;
    var _30 = IHEAP[_29];
    var _31 = _30 == 0;
    ;
    _bb10_preheader$_bb$2820: do { 
      if (_31) {
        __label__ = 660; /* _bb10_preheader */ 
      }
      else {
        ;
        var _32 = _myNodeCallback;
        (function() { try { __THREW__ = false; return __ZNK14btQuantizedBvh26reportAabbOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_(_30, _32, _aabbMin, _aabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 660; /* _bb10_preheader */ break _bb10_preheader$_bb$2820; } else { __label__ = 254; /* _lpad */ break _bb10_preheader$_bb$2820; }
      }
    } while(0);
    _bb10_preheader$_lpad$2822: do { 
      if (__label__ == 660) {
        var _33 = _proxy+48+4;
        var _34 = _33;
        var _35 = _proxy+48+12;
        var _36 = _35;
        var _37 = _worldAabbMin;
        var _38 = _worldAabbMin+8;
        var _39 = _worldAabbMin+4;
        var _40 = _worldAabbMax+4;
        var _41 = _worldAabbMax+8;
        var _42 = _worldAabbMax;
        __lastLabel__ = 660; ;
        _bb10$2824: while(1) { // _bb10
          var _92 = __lastLabel__ == 62 ? _91 : (0);
          var _93 = IHEAP[_34];
          var _94 = _93 > _92;
          if (_94) { __lastLabel__ = 150; ; } else { __lastLabel__ = 150; __label__ = 153; /* _bb15 */ break _bb10$2824; }
          var _43 = IHEAP[_36];
          var _scevgep24 = _43+4*_92;
          var _44 = IHEAP[_scevgep24];
          var _45 = _44+4;
          var _46 = IHEAP[_45];
          var _47 = _46;
          var _48 = IHEAP[_47];
          var _49 = _48+44;
          var _50 = IHEAP[_49];
          var _51 = _50;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_51](_46, _worldAabbMin, _worldAabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb10_preheader$_lpad$2822; }
          var _52 = FHEAP[_37];
          var _53 = FHEAP[_13];
          var _54 = _52 > _53;
          ;
          _bb2_i$_bb_i$2828: do { 
            if (_54) {
              __label__ = 132; /* _bb2_i */ 
            }
            else {
              ;
              var _55 = FHEAP[_42];
              var _56 = FHEAP[_1];
              var _57 = _55 < _56;
              if (_57) { __lastLabel__ = 131; __label__ = 132; /* _bb2_i */ break _bb2_i$_bb_i$2828; } else { __lastLabel__ = 131; __label__ = 133; /* _bb3_i */ break _bb2_i$_bb_i$2828; }
            }
          } while(0);
          if (__label__ == 132) {
            __lastLabel__ = 132; ;
          }
          var _iftmp_123_0_i = __lastLabel__ == 132 ? 0 : (1);
          var _58 = FHEAP[_38];
          var _59 = FHEAP[_19];
          var _60 = _58 > _59;
          ;
          _bb6_i$_bb4_i$2833: do { 
            if (_60) {
              __label__ = 136; /* _bb6_i */ 
            }
            else {
              ;
              var _61 = FHEAP[_41];
              var _62 = FHEAP[_7];
              var _63 = _61 < _62;
              if (_63) { __lastLabel__ = 135; __label__ = 136; /* _bb6_i */ break _bb6_i$_bb4_i$2833; } else { __lastLabel__ = 135; __label__ = 137; /* _bb7_i */ break _bb6_i$_bb4_i$2833; }
            }
          } while(0);
          if (__label__ == 136) {
            __lastLabel__ = 136; ;
          }
          var _iftmp_124_0_i = __lastLabel__ == 136 ? 0 : (_iftmp_123_0_i);
          var _64 = FHEAP[_39];
          var _65 = FHEAP[_16];
          var _66 = _64 > _65;
          ;
          _bb7$__Z20TestAabbAgainstAabb2RK9btVector3S1_S1_S1__exit$2838: do { 
            if (_66) {
              __label__ = 2; /* _bb7 */ 
            }
            else {
              ;
              var _67 = FHEAP[_40];
              var _68 = FHEAP[_4];
              var _69 = _67 < _68;
              var _phitmp22 = _iftmp_124_0_i == 0;
              var _phitmp = _69 | _phitmp22;
              if (_phitmp) { __label__ = 2; /* _bb7 */ break _bb7$__Z20TestAabbAgainstAabb2RK9btVector3S1_S1_S1__exit$2838; } else { __label__ = 62; /* _bb9 */ break _bb7$__Z20TestAabbAgainstAabb2RK9btVector3S1_S1_S1__exit$2838; }
            }
          } while(0);
          if (__label__ == 2) {
            var _70 = IHEAP[_36];
            var _scevgep25 = _70+4*_92;
            var _71 = IHEAP[_scevgep25];
            var _72 = _71;
            var _73 = IHEAP[_72];
            var _74 = _71+4;
            var _75 = IHEAP[_74];
            var _76 = _75;
            var _77 = IHEAP[_76];
            var _78 = _77+12;
            var _79 = IHEAP[_78];
            var _80 = _79;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_80](_75, _73, _dispatcher) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb10_preheader$_lpad$2822; }
            var _81 = IHEAP[_34];
            var _82 = _81 + -1;
            var _83 = IHEAP[_36];
            var _scevgep27 = _83+4*_92;
            var _84 = IHEAP[_scevgep27];
            var _85 = _83+4*_82;
            var _86 = IHEAP[_85];
            IHEAP[_scevgep27] = _86;
            var _87 = IHEAP[_36];
            var _88 = _87+4*_82;
            IHEAP[_88] = _84;
            var _89 = IHEAP[_34];
            var _90 = _89 + -1;
            IHEAP[_34] = _90;
            ;
          }
          var _91 = _92 + 1;
          __lastLabel__ = 62; __label__ = 150; /* _bb10 */ continue _bb10$2824;
        }
        _bb15$2844: while(1) { // _bb15
          var _107 = __lastLabel__ == 577 ? __pre : (_93);
          var _108 = __lastLabel__ == 577 ? _106 : (0);
          var _109 = _107 > _108;
          if (!(_109)) { __label__ = 86; /* _bb18 */ break _bb15$2844; }
          var _95 = IHEAP[_36];
          var _scevgep = _95+4*_108;
          var _96 = IHEAP[_scevgep];
          var _97 = _96+4;
          var _98 = IHEAP[_97];
          var _99 = _98;
          var _100 = IHEAP[_99];
          var _101 = _100+16;
          var _102 = IHEAP[_101];
          var _103 = _96;
          var _104 = IHEAP[_103];
          var _105 = _102;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_105](_98, _104, _aabbMin, _aabbMax, _dispatcher) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb10_preheader$_lpad$2822; }
          var _106 = _108 + 1;
          var __pre = IHEAP[_34];
          __lastLabel__ = 577; __label__ = 153; /* _bb15 */ continue _bb15$2844;
        }
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select20 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    IHEAP[_25] = __ZTVZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherE21MyNodeOverlapCallback+8;
    __Unwind_Resume_or_Rethrow(_eh_ptr);
    // unreachable
  }
  __ZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher, "__ZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher");
  
  
  function __ZN20btMultiSapBroadphaseD0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV20btMultiSapBroadphase+8;
    var _1 = _this+36;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$2852: do { 
      if (_toBool) {
        __label__ = 82; /* _bb5 */ 
      }
      else {
        ;
        var _3 = _this+28;
        var _4 = IHEAP[_3];
        var _5 = _4;
        var _6 = IHEAP[_5];
        var _7 = IHEAP[_6];
        var _8 = _7;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_8](_4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 3759; /* _lpad21 */  }
        if (__label__ == 345) {
          var _9 = IHEAP[_3];
          var _10 = _9;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_10) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$2852; } else { ; }
        }
        var _eh_ptr22 = _llvm_eh_exception();
        var _eh_select24 = _llvm_eh_selector(_eh_ptr22, ___gxx_personality_v0, 0);
        var _33 = _this+48+12;
        var _34 = IHEAP[_33];
        var _35 = _34 == 0;
        ;
        if (!_35) {
          ;
          var _36 = _this+48+16;
          var _37 = IHEAP[_36];
          var _toBool_i_i_i41 = _37 == 0;
          ;
          _bb2_i_i_i44$_bb1_i_i_i43$2859: do { 
            if (!_toBool_i_i_i41) {
              ;
              var _38 = _34;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_38) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3793; /* _bb2_i_i_i44 */ break _bb2_i_i_i44$_bb1_i_i_i43$2859; } else { ; }
              var _eh_ptr26 = _llvm_eh_exception();
              var _eh_select28 = _llvm_eh_selector(_eh_ptr26, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_33] = 0;
          ;
        }
        var _39 = _this+48+16;
        IHEAP[_39] = 1;
        IHEAP[_33] = 0;
        var _40 = _this+48+4;
        IHEAP[_40] = 0;
        var _41 = _this+48+8;
        IHEAP[_41] = 0;
        __lastLabel__ = 668; __label__ = 45; /* _ppad */ break _bb5$_bb$2852;
      }
    } while(0);
    _bb5$_ppad$2864: do { 
      if (__label__ == 82) {
        var _11 = _this+48+12;
        var _12 = IHEAP[_11];
        var _13 = _12 == 0;
        ;
        if (!_13) {
          ;
          var _14 = _this+48+16;
          var _15 = IHEAP[_14];
          var _toBool_i_i_i = _15 == 0;
          ;
          _bb2_i_i_i$_bb1_i_i_i$2868: do { 
            if (!_toBool_i_i_i) {
              ;
              var _16 = _12;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$2868; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select20 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb5$_ppad$2864;
            }
          } while(0);
          IHEAP[_11] = 0;
          ;
        }
        var _20 = _this+48+16;
        IHEAP[_20] = 1;
        IHEAP[_11] = 0;
        var _21 = _this+48+4;
        IHEAP[_21] = 0;
        var _22 = _this+48+8;
        IHEAP[_22] = 0;
        var _23 = _this+4+12;
        var _24 = IHEAP[_23];
        var _25 = _24 == 0;
        ;
        if (!_25) {
          ;
          var _26 = _this+4+16;
          var _27 = IHEAP[_26];
          var _toBool_i_i_i37 = _27 == 0;
          ;
          if (!_toBool_i_i_i37) {
            ;
            var _28 = _24;
            __Z21btAlignedFreeInternalPv(_28);
            ;
          }
          IHEAP[_23] = 0;
          ;
        }
        var _29 = _this+4+16;
        IHEAP[_29] = 1;
        IHEAP[_23] = 0;
        var _30 = _this+4+4;
        IHEAP[_30] = 0;
        var _31 = _this+4+8;
        IHEAP[_31] = 0;
        var _32 = _this;
        __ZdlPv(_32);
        ;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr22);
    var _42 = _this+4+12;
    var _43 = IHEAP[_42];
    var _44 = _43 == 0;
    ;
    if (!_44) {
      ;
      var _45 = _this+4+16;
      var _46 = IHEAP[_45];
      var _toBool_i_i_i47 = _46 == 0;
      ;
      _bb2_i_i_i50$_bb1_i_i_i49$2882: do { 
        if (!_toBool_i_i_i47) {
          ;
          var _47 = _43;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_47) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 380; /* _bb2_i_i_i50 */ break _bb2_i_i_i50$_bb1_i_i_i49$2882; } else { ; }
          var _eh_ptr30 = _llvm_eh_exception();
          var _eh_select32 = _llvm_eh_selector(_eh_ptr30, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_42] = 0;
      ;
    }
    var _17 = _this+4+16;
    IHEAP[_17] = 1;
    IHEAP[_42] = 0;
    var _18 = _this+4+4;
    IHEAP[_18] = 0;
    var _19 = _this+4+8;
    IHEAP[_19] = 0;
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  __ZN20btMultiSapBroadphaseD0Ev.__index__ = Runtime.getFunctionIndex(__ZN20btMultiSapBroadphaseD0Ev, "__ZN20btMultiSapBroadphaseD0Ev");
  
  
  function __ZN20btMultiSapBroadphaseD2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV20btMultiSapBroadphase+8;
    var _1 = _this+36;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$2889: do { 
      if (_toBool) {
        __label__ = 82; /* _bb5 */ 
      }
      else {
        ;
        var _3 = _this+28;
        var _4 = IHEAP[_3];
        var _5 = _4;
        var _6 = IHEAP[_5];
        var _7 = IHEAP[_6];
        var _8 = _7;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_8](_4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 3759; /* _lpad21 */  }
        if (__label__ == 345) {
          var _9 = IHEAP[_3];
          var _10 = _9;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_10) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$2889; } else { ; }
        }
        var _eh_ptr22 = _llvm_eh_exception();
        var _eh_select24 = _llvm_eh_selector(_eh_ptr22, ___gxx_personality_v0, 0);
        var _32 = _this+48+12;
        var _33 = IHEAP[_32];
        var _34 = _33 == 0;
        ;
        if (!_34) {
          ;
          var _35 = _this+48+16;
          var _36 = IHEAP[_35];
          var _toBool_i_i_i41 = _36 == 0;
          ;
          _bb2_i_i_i44$_bb1_i_i_i43$2896: do { 
            if (!_toBool_i_i_i41) {
              ;
              var _37 = _33;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_37) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3793; /* _bb2_i_i_i44 */ break _bb2_i_i_i44$_bb1_i_i_i43$2896; } else { ; }
              var _eh_ptr26 = _llvm_eh_exception();
              var _eh_select28 = _llvm_eh_selector(_eh_ptr26, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_32] = 0;
          ;
        }
        var _38 = _this+48+16;
        IHEAP[_38] = 1;
        IHEAP[_32] = 0;
        var _39 = _this+48+4;
        IHEAP[_39] = 0;
        var _40 = _this+48+8;
        IHEAP[_40] = 0;
        __lastLabel__ = 668; __label__ = 45; /* _ppad */ break _bb5$_bb$2889;
      }
    } while(0);
    _bb5$_ppad$2901: do { 
      if (__label__ == 82) {
        var _11 = _this+48+12;
        var _12 = IHEAP[_11];
        var _13 = _12 == 0;
        ;
        if (!_13) {
          ;
          var _14 = _this+48+16;
          var _15 = IHEAP[_14];
          var _toBool_i_i_i = _15 == 0;
          ;
          _bb2_i_i_i$_bb1_i_i_i$2905: do { 
            if (!_toBool_i_i_i) {
              ;
              var _16 = _12;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$2905; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select20 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb5$_ppad$2901;
            }
          } while(0);
          IHEAP[_11] = 0;
          ;
        }
        var _20 = _this+48+16;
        IHEAP[_20] = 1;
        IHEAP[_11] = 0;
        var _21 = _this+48+4;
        IHEAP[_21] = 0;
        var _22 = _this+48+8;
        IHEAP[_22] = 0;
        var _23 = _this+4+12;
        var _24 = IHEAP[_23];
        var _25 = _24 == 0;
        ;
        if (!_25) {
          ;
          var _26 = _this+4+16;
          var _27 = IHEAP[_26];
          var _toBool_i_i_i37 = _27 == 0;
          ;
          if (!_toBool_i_i_i37) {
            ;
            var _28 = _24;
            __Z21btAlignedFreeInternalPv(_28);
            ;
          }
          IHEAP[_23] = 0;
          ;
        }
        var _29 = _this+4+16;
        IHEAP[_29] = 1;
        IHEAP[_23] = 0;
        var _30 = _this+4+4;
        IHEAP[_30] = 0;
        var _31 = _this+4+8;
        IHEAP[_31] = 0;
        ;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr22);
    var _41 = _this+4+12;
    var _42 = IHEAP[_41];
    var _43 = _42 == 0;
    ;
    if (!_43) {
      ;
      var _44 = _this+4+16;
      var _45 = IHEAP[_44];
      var _toBool_i_i_i47 = _45 == 0;
      ;
      _bb2_i_i_i50$_bb1_i_i_i49$2919: do { 
        if (!_toBool_i_i_i47) {
          ;
          var _46 = _42;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_46) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 380; /* _bb2_i_i_i50 */ break _bb2_i_i_i50$_bb1_i_i_i49$2919; } else { ; }
          var _eh_ptr30 = _llvm_eh_exception();
          var _eh_select32 = _llvm_eh_selector(_eh_ptr30, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_41] = 0;
      ;
    }
    var _17 = _this+4+16;
    IHEAP[_17] = 1;
    IHEAP[_41] = 0;
    var _18 = _this+4+4;
    IHEAP[_18] = 0;
    var _19 = _this+4+8;
    IHEAP[_19] = 0;
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  __ZN20btMultiSapBroadphaseD2Ev.__index__ = Runtime.getFunctionIndex(__ZN20btMultiSapBroadphaseD2Ev, "__ZN20btMultiSapBroadphaseD2Ev");
  
  
  function __ZN20btMultiSapBroadphase9buildTreeERK9btVector3S2_(_this, _bvhAabbMin, _bvhAabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _aabbMin = __stackBase__;
    var _aabbMax = __stackBase__+16;
    var _0 = __Z22btAlignedAllocInternalji(172, 16);
    var _1 = _0;
    (function() { try { __THREW__ = false; return __ZN14btQuantizedBvhC1Ev(_1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 116; /* _bb3 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 116) {
      var _2 = _this+32;
      IHEAP[_2] = _1;
      __ZN14btQuantizedBvh21setQuantizationValuesERK9btVector3S2_f(_1, _bvhAabbMin, _bvhAabbMax, 1);
      var _3 = IHEAP[_2];
      var _4 = _3+104;
      var _5 = _this+4+4;
      var _6 = IHEAP[_5];
      var _7 = _6 > 0;
      ;
      if (_7) {
        __lastLabel__ = 116; ;
        var _8 = _this+4+12;
        var _9 = _aabbMin+8;
        var _10 = _aabbMin+4;
        var _11 = _aabbMin;
        var _12 = _aabbMax+8;
        var _13 = _aabbMax+4;
        var _14 = _aabbMax;
        var _15 = _3+104+4;
        var _16 = _3+104+8;
        var _17 = _3+104+12;
        __lastLabel__ = 130; ;
        _bb4$2929: while(1) { // _bb4
          var _18 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _18 + 1;
          var _19 = IHEAP[_8];
          var _scevgep = _19+4*_18;
          var _20 = IHEAP[_scevgep];
          var _21 = _20;
          var _22 = IHEAP[_21];
          var _23 = _22+44;
          var _24 = IHEAP[_23];
          var _25 = _24;
          FUNCTION_TABLE[_25](_20, _aabbMin, _aabbMax);
          var _26 = IHEAP[_2];
          var _27 = FHEAP[_9];
          var _28 = _26+4+8;
          var _29 = FHEAP[_28];
          var _30 = _27 - _29;
          var _31 = FHEAP[_10];
          var _32 = _26+4+4;
          var _33 = FHEAP[_32];
          var _34 = _31 - _33;
          var _35 = FHEAP[_11];
          var _36 = _26+4;
          var _37 = FHEAP[_36];
          var _38 = _35 - _37;
          var _39 = _26+36+8;
          var _40 = FHEAP[_39];
          var _41 = _30 * _40;
          var _42 = _26+36+4;
          var _43 = FHEAP[_42];
          var _44 = _34 * _43;
          var _45 = _26+36;
          var _46 = FHEAP[_45];
          var _47 = _38 * _46;
          var _48 = Math.floor(_47);
          var _49 = _48 & -2;
          var _50 = Math.floor(_44);
          var _51 = _50 & -2;
          var _52 = Math.floor(_41);
          var _53 = _52 & -2;
          var _54 = FHEAP[_12];
          var _55 = _54 - _29;
          var _56 = FHEAP[_13];
          var _57 = _56 - _33;
          var _58 = FHEAP[_14];
          var _59 = _58 - _37;
          var _60 = _55 * _40;
          var _61 = _57 * _43;
          var _62 = _59 * _46;
          var _63 = _62 + 1;
          var _64 = Math.floor(_63);
          var _65 = _64 | 1;
          var _66 = _61 + 1;
          var _67 = Math.floor(_66);
          var _68 = _67 | 1;
          var _69 = _60 + 1;
          var _70 = Math.floor(_69);
          var _71 = _70 | 1;
          var _72 = IHEAP[_15];
          var _73 = IHEAP[_16];
          var _74 = _73 == _72;
          ;
          if (_74) {
            __lastLabel__ = 61; ;
            var _75 = _72 == 0;
            var _76 = _72 << 1;
            var _iftmp_195_0_i_i = _75 ? 1 : _76;
            __ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE7reserveEi(_4, _iftmp_195_0_i_i);
            var __pre_i = IHEAP[_15];
            __lastLabel__ = 131; ;
          }
          else {
            __lastLabel__ = 61; ;
          }
          var _77 = __lastLabel__ == 131 ? __pre_i : (_72);
          var _78 = IHEAP[_17];
          var _79 = _78+20*_77;
          IHEAP[_79] = _49;
          var _80 = _78+20*_77+2;
          IHEAP[_80] = _51;
          var _81 = _78+20*_77+4;
          IHEAP[_81] = _53;
          var _82 = _78+20*_77+8;
          IHEAP[_82] = _65;
          var _83 = _78+20*_77+8+2;
          IHEAP[_83] = _68;
          var _84 = _78+20*_77+8+4;
          IHEAP[_84] = _71;
          var _85 = _78+20*_77+16;
          IHEAP[_85] = _18;
          var _86 = IHEAP[_15];
          var _87 = _86 + 1;
          IHEAP[_15] = _87;
          var _88 = IHEAP[_5];
          var _89 = _88 > _tmp;
          if (_89) { __lastLabel__ = 676; __label__ = 61; /* _bb4 */ continue _bb4$2929; } else { __lastLabel__ = 676; __label__ = 677; /* _bb5_bb6_crit_edge */ break _bb4$2929; }
        }
        var __pre = IHEAP[_2];
        __lastLabel__ = 677; ;
      }
      else {
        __lastLabel__ = 116; ;
      }
      var _90 = __lastLabel__ == 677 ? __pre : (_3);
      __ZN14btQuantizedBvh13buildInternalEv(_90);
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
      if (__label__ == 1554) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3761) {
        var _eh_ptr10 = _llvm_eh_exception();
        var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZN20btMultiSapBroadphase9buildTreeERK9btVector3S2_.__index__ = Runtime.getFunctionIndex(__ZN20btMultiSapBroadphase9buildTreeERK9btVector3S2_, "__ZN20btMultiSapBroadphase9buildTreeERK9btVector3S2_");
  
  
  function __ZN20btMultiSapBroadphaseC2EiP22btOverlappingPairCache(_this, _unnamed_arg, _pairCache) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV20btMultiSapBroadphase+8;
    var _1 = _this+4+16;
    IHEAP[_1] = 1;
    var _2 = _this+4+12;
    IHEAP[_2] = 0;
    var _3 = _this+4+4;
    IHEAP[_3] = 0;
    var _4 = _this+4+8;
    IHEAP[_4] = 0;
    var _5 = _this+28;
    IHEAP[_5] = _pairCache;
    var _6 = _this+32;
    IHEAP[_6] = 0;
    var _7 = _this+36;
    IHEAP[_7] = 0;
    var _8 = _this+44;
    IHEAP[_8] = 0;
    var _9 = _this+48+16;
    IHEAP[_9] = 1;
    var _10 = _this+48+12;
    IHEAP[_10] = 0;
    var _11 = _this+48+4;
    IHEAP[_11] = 0;
    var _12 = _this+48+8;
    IHEAP[_12] = 0;
    var _13 = _pairCache == 0;
    ;
    _bb$_bb10$2941: do { 
      if (_13) {
        ;
        IHEAP[_7] = 1;
        var _14 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(36, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 680; /* _lpad36 */ break _bb$_bb10$2941; };
        var _15 = _14 == 0;
        ;
        _bb9$_bb4$2944: do { 
          if (!_15) {
            ;
            var _16 = _14;
            (function() { try { __THREW__ = false; return __ZN28btSortedOverlappingPairCacheC1Ev(_16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 62; /* _bb9 */ break _bb9$_bb4$2944; } else { ; }
            var _eh_ptr41 = _llvm_eh_exception();
            var _eh_select43 = _llvm_eh_selector(_eh_ptr41, ___gxx_personality_v0, 0);
            __lastLabel__ = 520; __label__ = 682; /* _ppad53 */ break _bb$_bb10$2941;
          }
        } while(0);
        var _17 = _14;
        IHEAP[_5] = _17;
        __label__ = 150; /* _bb10 */ break _bb$_bb10$2941;
      }
      else {
        __label__ = 150; /* _bb10 */ 
      }
    } while(0);
    _bb10$_ppad53$_lpad36$2948: do { 
      if (__label__ == 150) {
        var _18 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(4, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 680; /* _lpad36 */ break _bb10$_ppad53$_lpad36$2948; };
        var _19 = _18 == 0;
        ;
        if (!_19) {
          ;
          var _20 = _18;
          IHEAP[_20] = __ZTVZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheE31btMultiSapOverlapFilterCallback+8;
          ;
        }
        var _21 = _18;
        var _22 = _this+40;
        IHEAP[_22] = _21;
        var _23 = IHEAP[_5];
        var _24 = _23;
        var _25 = IHEAP[_24];
        var _26 = _25+44;
        var _27 = IHEAP[_26];
        var _28 = _27;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_28](_23, _21) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 680; /* _lpad36 */ break _bb10$_ppad53$_lpad36$2948; }
        ;
        return;
      }
    } while(0);
    if (__label__ == 680) {
      var _eh_ptr37 = _llvm_eh_exception();
      var _eh_select39 = _llvm_eh_selector(_eh_ptr37, ___gxx_personality_v0, 0);
      __lastLabel__ = 680; ;
    }
    var _eh_exception_0 = __lastLabel__ == 680 ? _eh_ptr37 : (_eh_ptr41);
    var _33 = IHEAP[_10];
    var _34 = _33 == 0;
    ;
    if (!_34) {
      ;
      var _35 = IHEAP[_9];
      var _toBool_i_i_i = _35 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$2960: do { 
        if (!_toBool_i_i_i) {
          ;
          var _36 = _33;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_36) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$2960; } else { ; }
          var _eh_ptr45 = _llvm_eh_exception();
          var _eh_select47 = _llvm_eh_selector(_eh_ptr45, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_10] = 0;
      ;
    }
    IHEAP[_9] = 1;
    IHEAP[_10] = 0;
    IHEAP[_11] = 0;
    IHEAP[_12] = 0;
    var _29 = IHEAP[_2];
    var _30 = _29 == 0;
    ;
    if (!_30) {
      ;
      var _31 = IHEAP[_1];
      var _toBool_i_i_i58 = _31 == 0;
      ;
      _bb2_i_i_i61$_bb1_i_i_i60$2967: do { 
        if (!_toBool_i_i_i58) {
          ;
          var _32 = _29;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_32) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3796; /* _bb2_i_i_i61 */ break _bb2_i_i_i61$_bb1_i_i_i60$2967; } else { ; }
          var _eh_ptr49 = _llvm_eh_exception();
          var _eh_select51 = _llvm_eh_selector(_eh_ptr49, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_2] = 0;
      ;
    }
    IHEAP[_1] = 1;
    IHEAP[_2] = 0;
    IHEAP[_3] = 0;
    IHEAP[_4] = 0;
    IHEAP[_0] = __ZTV21btBroadphaseInterface+8;
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  __ZN20btMultiSapBroadphaseC2EiP22btOverlappingPairCache.__index__ = Runtime.getFunctionIndex(__ZN20btMultiSapBroadphaseC2EiP22btOverlappingPairCache, "__ZN20btMultiSapBroadphaseC2EiP22btOverlappingPairCache");
  
  
  function __ZN28btHashedOverlappingPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher(_this, _callback, _dispatcher) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4+4;
    var _1 = _this+4+12;
    var _2 = _callback;
    var _3 = _this;
    __lastLabel__ = -1; ;
    _bb3_outer$3025: while(1) { // _bb3_outer
      var _20 = __lastLabel__ == -1 ? 0 : (_19);
      ;
      _bb3$3027: while(1) { // _bb3
        var _21 = IHEAP[_0];
        var _22 = _21 > _20;
        if (!(_22)) { __label__ = 44; /* _return */ break _bb3_outer$3025; }
        var _4 = IHEAP[_1];
        var _5 = IHEAP[_2];
        var _6 = _5+8;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _scevgep = _4+16*_20;
        var _9 = FUNCTION_TABLE[_8](_callback, _scevgep);
        var _toBool = _9 == 0;
        if (_toBool) { __label__ = 0; /* _bb2 */ break _bb3$3027; }
        var _10 = IHEAP[_3];
        var _11 = _10+12;
        var _12 = IHEAP[_11];
        var _scevgep6 = _4+16*_20+4;
        var _13 = IHEAP[_scevgep6];
        var _scevgep78 = _4+16*_20;
        var _14 = IHEAP[_scevgep78];
        var _15 = _12;
        var _16 = FUNCTION_TABLE[_15](_this, _14, _13, _dispatcher);
        var _17 = IHEAP[_gOverlappingPairs];
        var _18 = _17 + -1;
        IHEAP[_gOverlappingPairs] = _18;
        __label__ = 116; /* _bb3 */ continue _bb3$3027;
      }
      var _19 = _20 + 1;
      __lastLabel__ = 0; __label__ = 685; /* _bb3_outer */ continue _bb3_outer$3025;
    }
    ;
    return;
  }
  __ZN28btHashedOverlappingPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher, "__ZN28btHashedOverlappingPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher");
  
  
  function __ZN28btHashedOverlappingPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher(_this, _proxy0, _proxy1, _dispatcher) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = IHEAP[_gRemovePairs];
    var _1 = _0 + 1;
    IHEAP[_gRemovePairs] = _1;
    var _2 = _proxy0+12;
    var _3 = IHEAP[_2];
    var _4 = _proxy1+12;
    var _5 = IHEAP[_4];
    var _6 = _3 > _5;
    var _proxy1_addr_0 = _6 ? _proxy0 : _proxy1;
    var _proxy0_addr_0 = _6 ? _proxy1 : _proxy0;
    var _7 = _proxy0_addr_0+12;
    var _8 = IHEAP[_7];
    var _9 = _proxy1_addr_0+12;
    var _10 = IHEAP[_9];
    var _11 = _10 << 16;
    var _12 = _11 | _8;
    var _13 = _12 << 15;
    var _not_i22 = _13 ^ -1;
    var _14 = _12 + _not_i22;
    var _15 = _14 >> 10;
    var _16 = _15 ^ _14;
    var _17 = _16 * 9;
    var _18 = _17 >> 6;
    var _19 = _18 ^ _17;
    var _20 = _19 << 11;
    var _not2_i23 = _20 ^ -1;
    var _21 = _19 + _not2_i23;
    var _22 = _21 >> 16;
    var _23 = _22 ^ _21;
    var _24 = _this+4+8;
    var _25 = IHEAP[_24];
    var _26 = _25 + -1;
    var _27 = _23 & _26;
    var _28 = _this+32+12;
    var _29 = IHEAP[_28];
    var _30 = _29+4*_27;
    var _31 = _this+4+12;
    var _32 = _this+52+12;
    __lastLabel__ = -1; ;
    _bb1_i$3045: while(1) { // _bb1_i
      var _index_0_in_i = __lastLabel__ == -1 ? _30 : (_34);
      var _index_0_i = IHEAP[_index_0_in_i];
      var _cond_i = _index_0_i == -1;
      if (_cond_i) { __label__ = 117; /* _bb20 */ break _bb1_i$3045; }
      var _35 = IHEAP[_31];
      var _36 = _35+16*_index_0_i;
      var _37 = IHEAP[_36];
      var _38 = _37+12;
      var _39 = IHEAP[_38];
      var _40 = _39 == _8;
      ;
      if (_40) {
        ;
        var _41 = _35+16*_index_0_i+4;
        var _42 = IHEAP[_41];
        var _43 = _42+12;
        var _44 = IHEAP[_43];
        var _phitmp_i = _44 == _10;
        if (_phitmp_i) { __label__ = 687; /* __ZN28btHashedOverlappingPairCache16internalFindPairEP17btBroadphaseProxyS1_i_exit */ break _bb1_i$3045; }
      }
      var _33 = IHEAP[_32];
      var _34 = _33+4*_index_0_i;
      __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ continue _bb1_i$3045;
    }
    _bb20$__ZN28btHashedOverlappingPairCache16internalFindPairEP17btBroadphaseProxyS1_i_exit$3051: do { 
      if (__label__ == 687) {
        var _45 = _35+16*_index_0_i;
        var _46 = _45 == 0;
        if (_46) { __label__ = 117; /* _bb20 */ break _bb20$__ZN28btHashedOverlappingPairCache16internalFindPairEP17btBroadphaseProxyS1_i_exit$3051; }
        var _47 = _this;
        var _48 = IHEAP[_47];
        var _49 = _48+32;
        var _50 = IHEAP[_49];
        var _51 = _50;
        FUNCTION_TABLE[_51](_this, _45, _dispatcher);
        var _52 = _35+16*_index_0_i+12;
        var _53 = IHEAP[_52];
        var _54 = _45;
        var _55 = IHEAP[_31];
        var _56 = _55;
        var _57 = _54 - _56;
        var _58 = _57 >> 4;
        var _59 = IHEAP[_28];
        var _60 = _59+4*_27;
        var _index_026 = IHEAP[_60];
        var _61 = _index_026 == _58;
        ;
        _bb8$_bb_nph28$3054: do { 
          if (_61) {
            __label__ = 148; /* _bb8 */ 
          }
          else {
            ;
            var _62 = IHEAP[_32];
            __lastLabel__ = 689; ;
            _bb4$3056: while(1) { // _bb4
              var _index_027 = __lastLabel__ == 689 ? _index_026 : (_index_0);
              var _63 = _62+4*_index_027;
              var _index_0 = IHEAP[_63];
              var _64 = _index_0 == _58;
              if (_64) { __lastLabel__ = 61; __label__ = 83; /* _bb6 */ break _bb4$3056; } else { __lastLabel__ = 61; __label__ = 61; /* _bb4 */ continue _bb4$3056; }
            }
            var _65 = _index_027 == -1;
            if (_65) { __label__ = 148; /* _bb8 */ break _bb8$_bb_nph28$3054; }
            var _66 = IHEAP[_32];
            var _67 = _66+4*_index_027;
            var _68 = _66+4*_58;
            var _69 = IHEAP[_68];
            IHEAP[_67] = _69;
            __label__ = 62; /* _bb9 */ break _bb8$_bb_nph28$3054;
          }
        } while(0);
        if (__label__ == 148) {
          var _70 = IHEAP[_32];
          var _71 = _70+4*_58;
          var _72 = IHEAP[_71];
          IHEAP[_60] = _72;
          ;
        }
        var _73 = _this+4+4;
        var _74 = IHEAP[_73];
        var _75 = _74 + -1;
        var _76 = _this+72;
        var _77 = IHEAP[_76];
        var _78 = _77 == 0;
        ;
        if (!_78) {
          ;
          var _79 = _77;
          var _80 = IHEAP[_79];
          var _81 = _80+12;
          var _82 = IHEAP[_81];
          var _83 = _82;
          var _84 = FUNCTION_TABLE[_83](_77, _proxy0_addr_0, _proxy1_addr_0, _dispatcher);
          ;
        }
        var _85 = _75 == _58;
        ;
        if (_85) {
          ;
          var _86 = IHEAP[_73];
          var _87 = _86 + -1;
          IHEAP[_73] = _87;
          ;
          return _53;
        }
        else {
          ;
          var _88 = IHEAP[_31];
          var _89 = _88+16*_75+4;
          var _90 = IHEAP[_89];
          var _91 = _90+12;
          var _92 = IHEAP[_91];
          var _93 = _88+16*_75;
          var _94 = IHEAP[_93];
          var _95 = _94+12;
          var _96 = IHEAP[_95];
          var _97 = _92 << 16;
          var _98 = _96 | _97;
          var _99 = _98 << 15;
          var _not_i = _99 ^ -1;
          var _100 = _98 + _not_i;
          var _101 = _100 >> 10;
          var _102 = _101 ^ _100;
          var _103 = _102 * 9;
          var _104 = _103 >> 6;
          var _105 = _104 ^ _103;
          var _106 = _105 << 11;
          var _not2_i = _106 ^ -1;
          var _107 = _105 + _not2_i;
          var _108 = _107 >> 16;
          var _109 = _108 ^ _107;
          var _110 = IHEAP[_24];
          var _111 = _110 + -1;
          var _112 = _109 & _111;
          var _113 = IHEAP[_28];
          var _114 = _113+4*_112;
          var _index_124 = IHEAP[_114];
          var _115 = _index_124 == _75;
          ;
          _bb18$_bb_nph$3069: do { 
            if (_115) {
              __label__ = 86; /* _bb18 */ 
            }
            else {
              ;
              var _116 = IHEAP[_32];
              __lastLabel__ = 130; ;
              _bb14$3071: while(1) { // _bb14
                var _index_125 = __lastLabel__ == 130 ? _index_124 : (_index_1);
                var _117 = _116+4*_index_125;
                var _index_1 = IHEAP[_117];
                var _118 = _index_1 == _75;
                if (_118) { __lastLabel__ = 63; __label__ = 154; /* _bb16 */ break _bb14$3071; } else { __lastLabel__ = 63; __label__ = 63; /* _bb14 */ continue _bb14$3071; }
              }
              var _119 = _index_125 == -1;
              if (_119) { __label__ = 86; /* _bb18 */ break _bb18$_bb_nph$3069; }
              var _120 = IHEAP[_32];
              var _121 = _120+4*_index_125;
              var _122 = _120+4*_75;
              var _123 = IHEAP[_122];
              IHEAP[_121] = _123;
              __label__ = 64; /* _bb19 */ break _bb18$_bb_nph$3069;
            }
          } while(0);
          if (__label__ == 86) {
            var _124 = IHEAP[_32];
            var _125 = _124+4*_75;
            var _126 = IHEAP[_125];
            IHEAP[_114] = _126;
            ;
          }
          var _127 = IHEAP[_31];
          var _128 = _127+16*_58;
          var _129 = _127+16*_75;
          var _130 = IHEAP[_129];
          IHEAP[_128] = _130;
          var _131 = _127+16*_58+4;
          var _132 = _127+16*_75+4;
          var _133 = IHEAP[_132];
          IHEAP[_131] = _133;
          var _134 = _127+16*_58+8;
          var _135 = _127+16*_75+8;
          var _136 = IHEAP[_135];
          IHEAP[_134] = _136;
          var _137 = _127+16*_58+12;
          var _138 = _127+16*_75+12;
          var _139 = IHEAP[_138];
          IHEAP[_137] = _139;
          var _140 = IHEAP[_32];
          var _141 = _140+4*_58;
          var _142 = IHEAP[_28];
          var _143 = _142+4*_112;
          var _144 = IHEAP[_143];
          IHEAP[_141] = _144;
          var _145 = IHEAP[_28];
          var _146 = _145+4*_112;
          IHEAP[_146] = _58;
          var _147 = IHEAP[_73];
          var _148 = _147 + -1;
          IHEAP[_73] = _148;
          ;
          return _53;
        }
      }
    } while(0);
    ;
    return 0;
  }
  __ZN28btHashedOverlappingPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher, "__ZN28btHashedOverlappingPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher");
  
  
  function __ZN28btSortedOverlappingPairCache8findPairEP17btBroadphaseProxyS1_(_this, _proxy0, _proxy1) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+28;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _bb1_i$_bb_i$3080: do { 
      if (_2) {
        ;
        var _9 = _proxy0+4;
        var _10 = IHEAP[_9];
        var _11 = _proxy1+6;
        var _12 = IHEAP[_11];
        var _13 = _12 & _10;
        var _toBoolnot_i = _13 == 0;
        if (_toBoolnot_i) { __label__ = 2; /* _bb7 */ break _bb1_i$_bb_i$3080; }
        var _14 = _proxy1+4;
        var _15 = IHEAP[_14];
        var _16 = _proxy0+6;
        var _17 = IHEAP[_16];
        var _18 = _17 & _15;
        var _not__i = _18 != 0;
        var _retval_i = _not__i;
        __lastLabel__ = 300; __label__ = 693; /* __ZNK28btSortedOverlappingPairCache24needsBroadphaseCollisionEP17btBroadphaseProxyS1__exit */ break _bb1_i$_bb_i$3080;
      }
      else {
        ;
        var _3 = _1;
        var _4 = IHEAP[_3];
        var _5 = _4+8;
        var _6 = IHEAP[_5];
        var _7 = _6;
        var _8 = FUNCTION_TABLE[_7](_1, _proxy0, _proxy1);
        __lastLabel__ = 131; __label__ = 693; /* __ZNK28btSortedOverlappingPairCache24needsBroadphaseCollisionEP17btBroadphaseProxyS1__exit */ break _bb1_i$_bb_i$3080;
      }
    } while(0);
    _bb7$__ZNK28btSortedOverlappingPairCache24needsBroadphaseCollisionEP17btBroadphaseProxyS1__exit$3084: do { 
      if (__label__ == 693) {
        var _19 = __lastLabel__ == 131 ? _8 : (_retval_i);
        var _toBoolnot = _19 == 0;
        if (_toBoolnot) { __label__ = 2; /* _bb7 */ break _bb7$__ZNK28btSortedOverlappingPairCache24needsBroadphaseCollisionEP17btBroadphaseProxyS1__exit$3084; }
        var _20 = _proxy0+12;
        var _21 = IHEAP[_20];
        var _22 = _proxy1+12;
        var _23 = IHEAP[_22];
        var _24 = _21 < _23;
        var _tmpPair_1_0 = _24 ? _proxy1 : _proxy0;
        var _tmpPair_0_0 = _24 ? _proxy0 : _proxy1;
        var _25 = _this+4+4;
        var _26 = IHEAP[_25];
        var _27 = _this+4+12;
        __lastLabel__ = 116; ;
        _bb3_i$3087: while(1) { // _bb3_i
          var _33 = __lastLabel__ == 116 ? 0 : (_32);
          var _34 = _26 > _33;
          if (_34) { __lastLabel__ = 133; ; } else { __lastLabel__ = 133; __label__ = 695; /* __ZNK20btAlignedObjectArrayI16btBroadphasePairE16findLinearSearchERKS0__exit */ break _bb3_i$3087; }
          var _28 = IHEAP[_27];
          var _scevgep78_i = _28+16*_33;
          var _29 = IHEAP[_scevgep78_i];
          var _30 = _29 == _tmpPair_0_0;
          ;
          if (_30) {
            ;
            var _scevgep_i = _28+16*_33+4;
            var _31 = IHEAP[_scevgep_i];
            var _phitmp_i = _31 == _tmpPair_1_0;
            if (_phitmp_i) { __lastLabel__ = 694; __label__ = 695; /* __ZNK20btAlignedObjectArrayI16btBroadphasePairE16findLinearSearchERKS0__exit */ break _bb3_i$3087; } else { __lastLabel__ = 694; ; }
          }
          var _32 = _33 + 1;
          __lastLabel__ = 132; __label__ = 133; /* _bb3_i */ continue _bb3_i$3087;
        }
        var _index_0_i = __lastLabel__ == 133 ? _26 : (_33);
        var _35 = _26 > _index_0_i;
        if (!(_35)) { __label__ = 2; /* _bb7 */ break _bb7$__ZNK28btSortedOverlappingPairCache24needsBroadphaseCollisionEP17btBroadphaseProxyS1__exit$3084; }
        var _36 = IHEAP[_27];
        var _37 = _36+16*_index_0_i;
        ;
        return _37;
      }
    } while(0);
    ;
    return 0;
  }
  __ZN28btSortedOverlappingPairCache8findPairEP17btBroadphaseProxyS1_.__index__ = Runtime.getFunctionIndex(__ZN28btSortedOverlappingPairCache8findPairEP17btBroadphaseProxyS1_, "__ZN28btSortedOverlappingPairCache8findPairEP17btBroadphaseProxyS1_");
  
  
  function __ZN28btSortedOverlappingPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher(_this, _callback, _dispatcher) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4+4;
    var _1 = _this+4+12;
    var _2 = _callback;
    var _3 = _this;
    __lastLabel__ = -1; ;
    _bb3_outer$3097: while(1) { // _bb3_outer
      var _39 = __lastLabel__ == -1 ? 0 : (_38);
      ;
      _bb3$3099: while(1) { // _bb3
        var _40 = IHEAP[_0];
        var _41 = _40 > _39;
        if (!(_41)) { __label__ = 44; /* _return */ break _bb3_outer$3097; }
        var _4 = IHEAP[_1];
        var _5 = IHEAP[_2];
        var _6 = _5+8;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _scevgep6 = _4+16*_39;
        var _9 = FUNCTION_TABLE[_8](_callback, _scevgep6);
        var _toBool = _9 == 0;
        if (_toBool) { __label__ = 0; /* _bb2 */ break _bb3$3099; }
        var _10 = IHEAP[_3];
        var _11 = _10+32;
        var _12 = IHEAP[_11];
        var _13 = _12;
        FUNCTION_TABLE[_13](_this, _scevgep6, _dispatcher);
        var _scevgep1718 = _4+16*_39;
        IHEAP[_scevgep1718] = 0;
        var _scevgep19 = _4+16*_39+4;
        IHEAP[_scevgep19] = 0;
        var _14 = IHEAP[_0];
        var _15 = _14 + -1;
        var _16 = IHEAP[_1];
        var _scevgep910 = _16+16*_39;
        var _17 = IHEAP[_scevgep910];
        var _scevgep12 = _16+16*_39+4;
        var _18 = IHEAP[_scevgep12];
        var _scevgep14 = _16+16*_39+8;
        var _19 = IHEAP[_scevgep14];
        var _scevgep16 = _16+16*_39+12;
        var _20 = IHEAP[_scevgep16];
        var _21 = _16+16*_15;
        var _22 = IHEAP[_21];
        IHEAP[_scevgep910] = _22;
        var _23 = _16+16*_15+4;
        var _24 = IHEAP[_23];
        IHEAP[_scevgep12] = _24;
        var _25 = _16+16*_15+8;
        var _26 = IHEAP[_25];
        IHEAP[_scevgep14] = _26;
        var _27 = _16+16*_15+12;
        var _28 = IHEAP[_27];
        IHEAP[_scevgep16] = _28;
        var _29 = IHEAP[_1];
        var _30 = _29+16*_15;
        IHEAP[_30] = _17;
        var _31 = _29+16*_15+4;
        IHEAP[_31] = _18;
        var _32 = _29+16*_15+8;
        IHEAP[_32] = _19;
        var _33 = _29+16*_15+12;
        IHEAP[_33] = _20;
        var _34 = IHEAP[_0];
        var _35 = _34 + -1;
        IHEAP[_0] = _35;
        var _36 = IHEAP[_gOverlappingPairs];
        var _37 = _36 + -1;
        IHEAP[_gOverlappingPairs] = _37;
        __label__ = 116; /* _bb3 */ continue _bb3$3099;
      }
      var _38 = _39 + 1;
      __lastLabel__ = 0; __label__ = 685; /* _bb3_outer */ continue _bb3_outer$3097;
    }
    ;
    return;
  }
  __ZN28btSortedOverlappingPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN28btSortedOverlappingPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher, "__ZN28btSortedOverlappingPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher");
  
  
  function __ZN28btSortedOverlappingPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher(_this, _proxy0, _proxy1, _dispatcher) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+56;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = FUNCTION_TABLE[_4](_this);
    var _toBoolnot = _5 == 0;
    ;
    _bb$_bb8$3106: do { 
      if (_toBoolnot) {
        ;
        var _6 = _proxy0+12;
        var _7 = IHEAP[_6];
        var _8 = _proxy1+12;
        var _9 = IHEAP[_8];
        var _10 = _7 < _9;
        var _findPair_1_0 = _10 ? _proxy1 : _proxy0;
        var _findPair_0_0 = _10 ? _proxy0 : _proxy1;
        var _11 = _this+4+4;
        var _12 = IHEAP[_11];
        var _13 = _this+4+12;
        __lastLabel__ = 60; ;
        _bb3_i$3108: while(1) { // _bb3_i
          var _19 = __lastLabel__ == 60 ? 0 : (_18);
          var _20 = _12 > _19;
          if (_20) { __lastLabel__ = 133; ; } else { __lastLabel__ = 133; __label__ = 695; /* __ZNK20btAlignedObjectArrayI16btBroadphasePairE16findLinearSearchERKS0__exit */ break _bb3_i$3108; }
          var _14 = IHEAP[_13];
          var _scevgep78_i = _14+16*_19;
          var _15 = IHEAP[_scevgep78_i];
          var _16 = _15 == _findPair_0_0;
          ;
          if (_16) {
            ;
            var _scevgep_i = _14+16*_19+4;
            var _17 = IHEAP[_scevgep_i];
            var _phitmp_i = _17 == _findPair_1_0;
            if (_phitmp_i) { __lastLabel__ = 694; __label__ = 695; /* __ZNK20btAlignedObjectArrayI16btBroadphasePairE16findLinearSearchERKS0__exit */ break _bb3_i$3108; } else { __lastLabel__ = 694; ; }
          }
          var _18 = _19 + 1;
          __lastLabel__ = 132; __label__ = 133; /* _bb3_i */ continue _bb3_i$3108;
        }
        var _index_0_i = __lastLabel__ == 133 ? _12 : (_19);
        var _21 = _12 > _index_0_i;
        if (!(_21)) { __label__ = 148; /* _bb8 */ break _bb$_bb8$3106; }
        var _22 = IHEAP[_gOverlappingPairs];
        var _23 = _22 + -1;
        IHEAP[_gOverlappingPairs] = _23;
        var _24 = IHEAP[_13];
        var _25 = _24+16*_index_0_i;
        var _26 = _24+16*_index_0_i+12;
        var _27 = IHEAP[_26];
        var _28 = IHEAP[_0];
        var _29 = _28+32;
        var _30 = IHEAP[_29];
        var _31 = _30;
        FUNCTION_TABLE[_31](_this, _25, _dispatcher);
        var _32 = _this+32;
        var _33 = IHEAP[_32];
        var _34 = _33 == 0;
        ;
        if (!_34) {
          ;
          var _35 = _33;
          var _36 = IHEAP[_35];
          var _37 = _36+12;
          var _38 = IHEAP[_37];
          var _39 = _38;
          var _40 = FUNCTION_TABLE[_39](_33, _proxy0, _proxy1, _dispatcher);
          ;
        }
        var _41 = _this+4+8;
        var _42 = IHEAP[_41];
        var _43 = _42 + -1;
        var _44 = IHEAP[_13];
        var _45 = _44+16*_index_0_i;
        var _46 = IHEAP[_45];
        var _47 = _44+16*_index_0_i+4;
        var _48 = IHEAP[_47];
        var _49 = _44+16*_index_0_i+8;
        var _50 = IHEAP[_49];
        var _51 = _44+16*_index_0_i+12;
        var _52 = IHEAP[_51];
        var _53 = _44+16*_43;
        var _54 = IHEAP[_53];
        IHEAP[_45] = _54;
        var _55 = _44+16*_43+4;
        var _56 = IHEAP[_55];
        IHEAP[_47] = _56;
        var _57 = _44+16*_43+8;
        var _58 = IHEAP[_57];
        IHEAP[_49] = _58;
        var _59 = _44+16*_43+12;
        var _60 = IHEAP[_59];
        IHEAP[_51] = _60;
        var _61 = IHEAP[_13];
        var _62 = _61+16*_43;
        IHEAP[_62] = _46;
        var _63 = _61+16*_43+4;
        IHEAP[_63] = _48;
        var _64 = _61+16*_43+8;
        IHEAP[_64] = _50;
        var _65 = _61+16*_43+12;
        IHEAP[_65] = _52;
        var _66 = IHEAP[_11];
        var _67 = _66 + -1;
        IHEAP[_11] = _67;
        ;
        return _27;
      }
    } while(0);
    ;
    return 0;
  }
  __ZN28btSortedOverlappingPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN28btSortedOverlappingPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher, "__ZN28btSortedOverlappingPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher");
  
  
  function __ZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher(_this, _proxy, _dispatcher) {
    var __stackBase__  = STACKTOP; STACKTOP += 8;
    var __label__;
    var _removeCallback = __stackBase__;
    var _0 = _removeCallback;
    IHEAP[_0] = __ZTVZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback+8;
    var _1 = _removeCallback+4;
    IHEAP[_1] = _proxy;
    var _2 = _this;
    var _3 = IHEAP[_2];
    var _4 = _3+48;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = _removeCallback;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_6](_this, _7, _dispatcher) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 75; /* _bb1 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 75) {
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select3 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_0] = __ZTVZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback+8;
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  __ZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher, "__ZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher");
  
  
  function __ZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher(_this, _proxy, _dispatcher) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var _cleanPairs = __stackBase__;
    var _0 = _this;
    var _1 = _cleanPairs;
    IHEAP[_1] = __ZTVZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback+8;
    var _2 = _cleanPairs+4;
    IHEAP[_2] = _proxy;
    var _3 = _cleanPairs+8;
    IHEAP[_3] = _0;
    var _4 = _cleanPairs+12;
    IHEAP[_4] = _dispatcher;
    var _5 = _this;
    var _6 = IHEAP[_5];
    var _7 = _6+48;
    var _8 = IHEAP[_7];
    var _9 = _8;
    var _10 = _cleanPairs;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_9](_this, _10, _dispatcher) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 75; /* _bb1 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 75) {
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select3 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_1] = __ZTVZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback+8;
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  __ZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher, "__ZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher");
  
  
  function __ZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher(_this, _proxy, _dispatcher) {
    var __stackBase__  = STACKTOP; STACKTOP += 8;
    var __label__;
    var _removeCallback = __stackBase__;
    var _0 = _removeCallback;
    IHEAP[_0] = __ZTVZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback+8;
    var _1 = _removeCallback+4;
    IHEAP[_1] = _proxy;
    var _2 = _this;
    var _3 = IHEAP[_2];
    var _4 = _3+48;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = _removeCallback;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_6](_this, _7, _dispatcher) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 75; /* _bb1 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 75) {
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select3 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_0] = __ZTVZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback+8;
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  __ZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher, "__ZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher");
  
  
  function __ZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher(_this, _proxy, _dispatcher) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var _cleanPairs = __stackBase__;
    var _0 = _this;
    var _1 = _cleanPairs;
    IHEAP[_1] = __ZTVZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback+8;
    var _2 = _cleanPairs+4;
    IHEAP[_2] = _proxy;
    var _3 = _cleanPairs+8;
    IHEAP[_3] = _0;
    var _4 = _cleanPairs+12;
    IHEAP[_4] = _dispatcher;
    var _5 = _this;
    var _6 = IHEAP[_5];
    var _7 = _6+48;
    var _8 = IHEAP[_7];
    var _9 = _8;
    var _10 = _cleanPairs;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_9](_this, _10, _dispatcher) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 75; /* _bb1 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 75) {
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select3 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_1] = __ZTVZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback+8;
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  __ZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher, "__ZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher");
  
  
  function __ZN28btSortedOverlappingPairCache18addOverlappingPairEP17btBroadphaseProxyS1_(_this, _proxy0, _proxy1) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+28;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _bb1_i$_bb_i$3155: do { 
      if (_2) {
        ;
        var _9 = _proxy0+4;
        var _10 = IHEAP[_9];
        var _11 = _proxy1+6;
        var _12 = IHEAP[_11];
        var _13 = _12 & _10;
        var _toBoolnot_i = _13 == 0;
        if (_toBoolnot_i) { __lastLabel__ = 159; __label__ = 83; /* _bb6 */ break _bb1_i$_bb_i$3155; } else { __lastLabel__ = 159; ; }
        var _14 = _proxy1+4;
        var _15 = IHEAP[_14];
        var _16 = _proxy0+6;
        var _17 = IHEAP[_16];
        var _18 = _17 & _15;
        var _not__i = _18 != 0;
        var _retval_i = _not__i;
        __lastLabel__ = 300; __label__ = 693; /* __ZNK28btSortedOverlappingPairCache24needsBroadphaseCollisionEP17btBroadphaseProxyS1__exit */ break _bb1_i$_bb_i$3155;
      }
      else {
        ;
        var _3 = _1;
        var _4 = IHEAP[_3];
        var _5 = _4+8;
        var _6 = IHEAP[_5];
        var _7 = _6;
        var _8 = FUNCTION_TABLE[_7](_1, _proxy0, _proxy1);
        __lastLabel__ = 131; __label__ = 693; /* __ZNK28btSortedOverlappingPairCache24needsBroadphaseCollisionEP17btBroadphaseProxyS1__exit */ break _bb1_i$_bb_i$3155;
      }
    } while(0);
    _bb6$__ZNK28btSortedOverlappingPairCache24needsBroadphaseCollisionEP17btBroadphaseProxyS1__exit$3159: do { 
      if (__label__ == 693) {
        var _19 = __lastLabel__ == 131 ? _8 : (_retval_i);
        var _toBoolnot = _19 == 0;
        if (_toBoolnot) { __lastLabel__ = 693; __label__ = 83; /* _bb6 */ break _bb6$__ZNK28btSortedOverlappingPairCache24needsBroadphaseCollisionEP17btBroadphaseProxyS1__exit$3159; } else { __lastLabel__ = 693; ; }
        var _20 = _this+4;
        var _21 = __ZN20btAlignedObjectArrayI16btBroadphasePairE21expandNonInitializingEv(_20);
        var _22 = _proxy0+12;
        var _23 = IHEAP[_22];
        var _24 = _proxy1+12;
        var _25 = IHEAP[_24];
        var _26 = _23 < _25;
        var _27 = _21;
        ;
        if (_26) {
          ;
          IHEAP[_27] = _proxy0;
          var _28 = _21+4;
          IHEAP[_28] = _proxy1;
          ;
        }
        else {
          ;
          IHEAP[_27] = _proxy1;
          var _29 = _21+4;
          IHEAP[_29] = _proxy0;
          ;
        }
        var _30 = _21+8;
        IHEAP[_30] = 0;
        var _31 = _21+12;
        IHEAP[_31] = 0;
        var _32 = IHEAP[_gOverlappingPairs];
        var _33 = _32 + 1;
        IHEAP[_gOverlappingPairs] = _33;
        var _34 = IHEAP[_gAddedPairs];
        var _35 = _34 + 1;
        IHEAP[_gAddedPairs] = _35;
        var _36 = _this+32;
        var _37 = IHEAP[_36];
        var _38 = _37 == 0;
        if (_38) { __lastLabel__ = 705; __label__ = 83; /* _bb6 */ break _bb6$__ZNK28btSortedOverlappingPairCache24needsBroadphaseCollisionEP17btBroadphaseProxyS1__exit$3159; } else { __lastLabel__ = 705; ; }
        var _39 = _37;
        var _40 = IHEAP[_39];
        var _41 = _40+8;
        var _42 = IHEAP[_41];
        var _43 = _42;
        var _44 = FUNCTION_TABLE[_43](_37, _proxy0, _proxy1);
        ;
        return _21;
      }
    } while(0);
    var __0 = __lastLabel__ == 693 ? 0 : (__lastLabel__ == 705 ? _21 : (0));
    ;
    return __0;
  }
  __ZN28btSortedOverlappingPairCache18addOverlappingPairEP17btBroadphaseProxyS1_.__index__ = Runtime.getFunctionIndex(__ZN28btSortedOverlappingPairCache18addOverlappingPairEP17btBroadphaseProxyS1_, "__ZN28btSortedOverlappingPairCache18addOverlappingPairEP17btBroadphaseProxyS1_");
  
  
  function __ZN28btHashedOverlappingPairCacheD0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btHashedOverlappingPairCache+8;
    var _1 = _this+52+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$3176: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+52+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$3178: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$3178; } else { ; }
            var _eh_ptr19 = _llvm_eh_exception();
            var _eh_select21 = _llvm_eh_selector(_eh_ptr19, ___gxx_personality_v0, 0);
            var _32 = _this+32+12;
            var _33 = IHEAP[_32];
            var _34 = _33 == 0;
            ;
            if (!_34) {
              ;
              var _35 = _this+32+16;
              var _36 = IHEAP[_35];
              var _toBool_i_i_i44 = _36 == 0;
              ;
              _bb2_i_i_i47$_bb1_i_i_i46$3183: do { 
                if (!_toBool_i_i_i44) {
                  ;
                  var _37 = _33;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_37) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3798; /* _bb2_i_i_i47 */ break _bb2_i_i_i47$_bb1_i_i_i46$3183; } else { ; }
                  var _eh_ptr23 = _llvm_eh_exception();
                  var _eh_select25 = _llvm_eh_selector(_eh_ptr23, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_32] = 0;
              ;
            }
            var _38 = _this+32+16;
            IHEAP[_38] = 1;
            IHEAP[_32] = 0;
            var _39 = _this+32+4;
            IHEAP[_39] = 0;
            var _40 = _this+32+8;
            IHEAP[_40] = 0;
            __lastLabel__ = 712; __label__ = 45; /* _ppad */ break _bb3$_bb_i_i_i$3176;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$3176;
      }
    } while(0);
    _bb3$_ppad$3189: do { 
      if (__label__ == 116) {
        var _7 = _this+52+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+52+4;
        IHEAP[_8] = 0;
        var _9 = _this+52+8;
        IHEAP[_9] = 0;
        var _10 = _this+32+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+32+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i34 = _14 == 0;
          ;
          _bb2_i_i_i37$_bb1_i_i_i36$3193: do { 
            if (!_toBool_i_i_i34) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3797; /* _bb2_i_i_i37 */ break _bb2_i_i_i37$_bb1_i_i_i36$3193; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select17 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad$3189;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _19 = _this+32+16;
        IHEAP[_19] = 1;
        IHEAP[_10] = 0;
        var _20 = _this+32+4;
        IHEAP[_20] = 0;
        var _21 = _this+32+8;
        IHEAP[_21] = 0;
        var _22 = _this+4+12;
        var _23 = IHEAP[_22];
        var _24 = _23 == 0;
        ;
        if (!_24) {
          ;
          var _25 = _this+4+16;
          var _26 = IHEAP[_25];
          var _toBool_i_i_i40 = _26 == 0;
          ;
          if (!_toBool_i_i_i40) {
            ;
            var _27 = _23;
            __Z21btAlignedFreeInternalPv(_27);
            ;
          }
          IHEAP[_22] = 0;
          ;
        }
        var _28 = _this+4+16;
        IHEAP[_28] = 1;
        IHEAP[_22] = 0;
        var _29 = _this+4+4;
        IHEAP[_29] = 0;
        var _30 = _this+4+8;
        IHEAP[_30] = 0;
        var _31 = _this;
        __ZdlPv(_31);
        ;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr19);
    var _41 = _this+4+12;
    var _42 = IHEAP[_41];
    var _43 = _42 == 0;
    ;
    if (!_43) {
      ;
      var _44 = _this+4+16;
      var _45 = IHEAP[_44];
      var _toBool_i_i_i50 = _45 == 0;
      ;
      _bb2_i_i_i53$_bb1_i_i_i52$3207: do { 
        if (!_toBool_i_i_i50) {
          ;
          var _46 = _42;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_46) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3799; /* _bb2_i_i_i53 */ break _bb2_i_i_i53$_bb1_i_i_i52$3207; } else { ; }
          var _eh_ptr27 = _llvm_eh_exception();
          var _eh_select29 = _llvm_eh_selector(_eh_ptr27, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_41] = 0;
      ;
    }
    var _16 = _this+4+16;
    IHEAP[_16] = 1;
    IHEAP[_41] = 0;
    var _17 = _this+4+4;
    IHEAP[_17] = 0;
    var _18 = _this+4+8;
    IHEAP[_18] = 0;
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  __ZN28btHashedOverlappingPairCacheD0Ev.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCacheD0Ev, "__ZN28btHashedOverlappingPairCacheD0Ev");
  
  
  function __ZN28btHashedOverlappingPairCacheD1Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btHashedOverlappingPairCache+8;
    var _1 = _this+52+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$3213: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+52+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$3215: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$3215; } else { ; }
            var _eh_ptr19 = _llvm_eh_exception();
            var _eh_select21 = _llvm_eh_selector(_eh_ptr19, ___gxx_personality_v0, 0);
            var _31 = _this+32+12;
            var _32 = IHEAP[_31];
            var _33 = _32 == 0;
            ;
            if (!_33) {
              ;
              var _34 = _this+32+16;
              var _35 = IHEAP[_34];
              var _toBool_i_i_i44 = _35 == 0;
              ;
              _bb2_i_i_i47$_bb1_i_i_i46$3220: do { 
                if (!_toBool_i_i_i44) {
                  ;
                  var _36 = _32;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_36) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3798; /* _bb2_i_i_i47 */ break _bb2_i_i_i47$_bb1_i_i_i46$3220; } else { ; }
                  var _eh_ptr23 = _llvm_eh_exception();
                  var _eh_select25 = _llvm_eh_selector(_eh_ptr23, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_31] = 0;
              ;
            }
            var _37 = _this+32+16;
            IHEAP[_37] = 1;
            IHEAP[_31] = 0;
            var _38 = _this+32+4;
            IHEAP[_38] = 0;
            var _39 = _this+32+8;
            IHEAP[_39] = 0;
            __lastLabel__ = 712; __label__ = 45; /* _ppad */ break _bb3$_bb_i_i_i$3213;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$3213;
      }
    } while(0);
    _bb3$_ppad$3226: do { 
      if (__label__ == 116) {
        var _7 = _this+52+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+52+4;
        IHEAP[_8] = 0;
        var _9 = _this+52+8;
        IHEAP[_9] = 0;
        var _10 = _this+32+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+32+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i34 = _14 == 0;
          ;
          _bb2_i_i_i37$_bb1_i_i_i36$3230: do { 
            if (!_toBool_i_i_i34) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3797; /* _bb2_i_i_i37 */ break _bb2_i_i_i37$_bb1_i_i_i36$3230; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select17 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad$3226;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _19 = _this+32+16;
        IHEAP[_19] = 1;
        IHEAP[_10] = 0;
        var _20 = _this+32+4;
        IHEAP[_20] = 0;
        var _21 = _this+32+8;
        IHEAP[_21] = 0;
        var _22 = _this+4+12;
        var _23 = IHEAP[_22];
        var _24 = _23 == 0;
        ;
        if (!_24) {
          ;
          var _25 = _this+4+16;
          var _26 = IHEAP[_25];
          var _toBool_i_i_i40 = _26 == 0;
          ;
          if (!_toBool_i_i_i40) {
            ;
            var _27 = _23;
            __Z21btAlignedFreeInternalPv(_27);
            ;
          }
          IHEAP[_22] = 0;
          ;
        }
        var _28 = _this+4+16;
        IHEAP[_28] = 1;
        IHEAP[_22] = 0;
        var _29 = _this+4+4;
        IHEAP[_29] = 0;
        var _30 = _this+4+8;
        IHEAP[_30] = 0;
        ;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr19);
    var _40 = _this+4+12;
    var _41 = IHEAP[_40];
    var _42 = _41 == 0;
    ;
    if (!_42) {
      ;
      var _43 = _this+4+16;
      var _44 = IHEAP[_43];
      var _toBool_i_i_i50 = _44 == 0;
      ;
      _bb2_i_i_i53$_bb1_i_i_i52$3244: do { 
        if (!_toBool_i_i_i50) {
          ;
          var _45 = _41;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_45) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3799; /* _bb2_i_i_i53 */ break _bb2_i_i_i53$_bb1_i_i_i52$3244; } else { ; }
          var _eh_ptr27 = _llvm_eh_exception();
          var _eh_select29 = _llvm_eh_selector(_eh_ptr27, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_40] = 0;
      ;
    }
    var _16 = _this+4+16;
    IHEAP[_16] = 1;
    IHEAP[_40] = 0;
    var _17 = _this+4+4;
    IHEAP[_17] = 0;
    var _18 = _this+4+8;
    IHEAP[_18] = 0;
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  __ZN28btHashedOverlappingPairCacheD1Ev.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCacheD1Ev, "__ZN28btHashedOverlappingPairCacheD1Ev");
  
  
  function __ZN28btHashedOverlappingPairCache18addOverlappingPairEP17btBroadphaseProxyS1_(_this, _proxy0, _proxy1) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = IHEAP[_gAddedPairs];
    var _1 = _0 + 1;
    IHEAP[_gAddedPairs] = _1;
    var _2 = _this+24;
    var _3 = IHEAP[_2];
    var _4 = _3 == 0;
    ;
    _bb1_i$_bb_i$3250: do { 
      if (_4) {
        ;
        var _11 = _proxy0+4;
        var _12 = IHEAP[_11];
        var _13 = _proxy1+6;
        var _14 = IHEAP[_13];
        var _15 = _14 & _12;
        var _toBoolnot_i = _15 == 0;
        if (_toBoolnot_i) { __label__ = 61; /* _bb4 */ break _bb1_i$_bb_i$3250; }
        var _16 = _proxy1+4;
        var _17 = IHEAP[_16];
        var _18 = _proxy0+6;
        var _19 = IHEAP[_18];
        var _20 = _19 & _17;
        var _not__i = _20 != 0;
        var _retval_i = _not__i;
        __lastLabel__ = 300; __label__ = 719; /* __ZNK28btHashedOverlappingPairCache24needsBroadphaseCollisionEP17btBroadphaseProxyS1__exit */ break _bb1_i$_bb_i$3250;
      }
      else {
        ;
        var _5 = _3;
        var _6 = IHEAP[_5];
        var _7 = _6+8;
        var _8 = IHEAP[_7];
        var _9 = _8;
        var _10 = FUNCTION_TABLE[_9](_3, _proxy0, _proxy1);
        __lastLabel__ = 131; __label__ = 719; /* __ZNK28btHashedOverlappingPairCache24needsBroadphaseCollisionEP17btBroadphaseProxyS1__exit */ break _bb1_i$_bb_i$3250;
      }
    } while(0);
    _bb4$__ZNK28btHashedOverlappingPairCache24needsBroadphaseCollisionEP17btBroadphaseProxyS1__exit$3254: do { 
      if (__label__ == 719) {
        var _21 = __lastLabel__ == 131 ? _10 : (_retval_i);
        var _toBoolnot = _21 == 0;
        if (_toBoolnot) { __label__ = 61; /* _bb4 */ break _bb4$__ZNK28btHashedOverlappingPairCache24needsBroadphaseCollisionEP17btBroadphaseProxyS1__exit$3254; }
        var _22 = __ZN28btHashedOverlappingPairCache15internalAddPairEP17btBroadphaseProxyS1_(_this, _proxy0, _proxy1);
        ;
        return _22;
      }
    } while(0);
    ;
    return 0;
  }
  __ZN28btHashedOverlappingPairCache18addOverlappingPairEP17btBroadphaseProxyS1_.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCache18addOverlappingPairEP17btBroadphaseProxyS1_, "__ZN28btHashedOverlappingPairCache18addOverlappingPairEP17btBroadphaseProxyS1_");
  
  
  function __ZN28btHashedOverlappingPairCache20sortOverlappingPairsEP12btDispatcher(_this, _dispatcher) {
    var __stackBase__  = STACKTOP; STACKTOP += 21;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _tmpPairs = __stackBase__+1;
    var _1 = _tmpPairs+16;
    IHEAP[_1] = 1;
    var _2 = _tmpPairs+12;
    IHEAP[_2] = 0;
    var _3 = _tmpPairs+4;
    IHEAP[_3] = 0;
    var _4 = _tmpPairs+8;
    IHEAP[_4] = 0;
    var _5 = _this+4+4;
    var _6 = _this+4+12;
    __lastLabel__ = -1; ;
    _bb1$3259: while(1) { // _bb1
      var _9 = __lastLabel__ == -1 ? 0 : (_8);
      var _10 = IHEAP[_5];
      var _11 = _10 > _9;
      if (!(_11)) { __label__ = 269; /* _bb5_preheader */ break _bb1$3259; }
      var _7 = IHEAP[_6];
      var _scevgep46 = _7+16*_9;
      (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI16btBroadphasePairE9push_backERKS0_(_tmpPairs, _scevgep46) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb1$3259; }
      var _8 = _9 + 1;
      __lastLabel__ = 345; __label__ = 75; /* _bb1 */ continue _bb1$3259;
    }
    _lpad$_bb5_preheader$3263: do { 
      if (__label__ == 269) {
        var _12 = _this;
        __lastLabel__ = 269; ;
        _bb5$3265: while(1) { // _bb5
          var _22 = __lastLabel__ == 514 ? _21 : (0);
          var _23 = IHEAP[_3];
          var _24 = _23 > _22;
          if (!(_24)) { __label__ = 720; /* _bb9_preheader */ break _bb5$3265; }
          var _13 = IHEAP[_12];
          var _14 = _13+12;
          var _15 = IHEAP[_14];
          var _16 = IHEAP[_2];
          var _scevgep45 = _16+16*_22+4;
          var _17 = IHEAP[_scevgep45];
          var _scevgep4344 = _16+16*_22;
          var _18 = IHEAP[_scevgep4344];
          var _19 = _15;
          var _20 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_19](_this, _18, _17, _dispatcher) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _lpad$_bb5_preheader$3263; };
          var _21 = _22 + 1;
          __lastLabel__ = 514; __label__ = 82; /* _bb5 */ continue _bb5$3265;
        }
        var _25 = _this+52+4;
        var _26 = IHEAP[_25];
        var _27 = _26 > 0;
        ;
        if (_27) {
          __lastLabel__ = 720; ;
          var _28 = _this+52+12;
          __lastLabel__ = 130; ;
          _bb8$3272: while(1) { // _bb8
            var _i_237 = __lastLabel__ == 130 ? 0 : (_30);
            var _29 = IHEAP[_28];
            var _scevgep42 = _29+4*_i_237;
            IHEAP[_scevgep42] = -1;
            var _30 = _i_237 + 1;
            var _31 = IHEAP[_25];
            var _32 = _31 > _30;
            if (_32) { __lastLabel__ = 148; __label__ = 148; /* _bb8 */ continue _bb8$3272; } else { __lastLabel__ = 148; __label__ = 721; /* _bb9_bb11_crit_edge */ break _bb8$3272; }
          }
          var __pre = IHEAP[_3];
          __lastLabel__ = 721; ;
        }
        else {
          __lastLabel__ = 720; ;
        }
        var _33 = __lastLabel__ == 721 ? __pre : (_23);
        var _34 = _33 > 1;
        ;
        if (_34) {
          __lastLabel__ = 292; ;
          var _35 = _33 + -1;
          __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(_tmpPairs, _0, 0, _35);
          __lastLabel__ = 131; ;
        }
        else {
          __lastLabel__ = 292; ;
        }
        _bb15$3278: while(1) { // _bb15
          var _45 = __lastLabel__ == 577 ? _44 : (__lastLabel__ == 292 ? 0 : (0));
          var _46 = IHEAP[_3];
          var _47 = _46 > _45;
          if (!(_47)) { __label__ = 117; /* _bb20 */ break _bb15$3278; }
          var _36 = IHEAP[_12];
          var _37 = _36+8;
          var _38 = IHEAP[_37];
          var _39 = IHEAP[_2];
          var _scevgep41 = _39+16*_45+4;
          var _40 = IHEAP[_scevgep41];
          var _scevgep40 = _39+16*_45;
          var _41 = IHEAP[_scevgep40];
          var _42 = _38;
          var _43 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_42](_this, _41, _40) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _lpad$_bb5_preheader$3263; };
          var _44 = _45 + 1;
          __lastLabel__ = 577; __label__ = 153; /* _bb15 */ continue _bb15$3278;
        }
        var _48 = IHEAP[_2];
        var _49 = _48 == 0;
        ;
        if (_49) {
          ;
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _50 = IHEAP[_1];
          var _toBool_i_i_i29 = _50 == 0;
          ;
          if (!_toBool_i_i_i29) {
            ;
            var _51 = _48;
            __Z21btAlignedFreeInternalPv(_51);
            ;
          }
          IHEAP[_2] = 0;
          STACKTOP = __stackBase__;
          return;
        }
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select22 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    var _52 = IHEAP[_2];
    var _53 = _52 == 0;
    ;
    if (!_53) {
      ;
      var _54 = IHEAP[_1];
      var _toBool_i_i_i = _54 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$3292: do { 
        if (!_toBool_i_i_i) {
          ;
          var _55 = _52;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_55) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$3292; } else { ; }
          var _eh_ptr24 = _llvm_eh_exception();
          var _eh_select26 = _llvm_eh_selector(_eh_ptr24, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_2] = 0;
      ;
    }
    IHEAP[_1] = 1;
    IHEAP[_2] = 0;
    IHEAP[_3] = 0;
    IHEAP[_4] = 0;
    __Unwind_Resume_or_Rethrow(_eh_ptr);
    // unreachable
  }
  __ZN28btHashedOverlappingPairCache20sortOverlappingPairsEP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCache20sortOverlappingPairsEP12btDispatcher, "__ZN28btHashedOverlappingPairCache20sortOverlappingPairsEP12btDispatcher");
  
  
  function __ZN28btHashedOverlappingPairCacheD2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btHashedOverlappingPairCache+8;
    var _1 = _this+52+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$3298: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+52+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$3300: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$3300; } else { ; }
            var _eh_ptr19 = _llvm_eh_exception();
            var _eh_select21 = _llvm_eh_selector(_eh_ptr19, ___gxx_personality_v0, 0);
            var _31 = _this+32+12;
            var _32 = IHEAP[_31];
            var _33 = _32 == 0;
            ;
            if (!_33) {
              ;
              var _34 = _this+32+16;
              var _35 = IHEAP[_34];
              var _toBool_i_i_i44 = _35 == 0;
              ;
              _bb2_i_i_i47$_bb1_i_i_i46$3305: do { 
                if (!_toBool_i_i_i44) {
                  ;
                  var _36 = _32;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_36) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3798; /* _bb2_i_i_i47 */ break _bb2_i_i_i47$_bb1_i_i_i46$3305; } else { ; }
                  var _eh_ptr23 = _llvm_eh_exception();
                  var _eh_select25 = _llvm_eh_selector(_eh_ptr23, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_31] = 0;
              ;
            }
            var _37 = _this+32+16;
            IHEAP[_37] = 1;
            IHEAP[_31] = 0;
            var _38 = _this+32+4;
            IHEAP[_38] = 0;
            var _39 = _this+32+8;
            IHEAP[_39] = 0;
            __lastLabel__ = 712; __label__ = 45; /* _ppad */ break _bb3$_bb_i_i_i$3298;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$3298;
      }
    } while(0);
    _bb3$_ppad$3311: do { 
      if (__label__ == 116) {
        var _7 = _this+52+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+52+4;
        IHEAP[_8] = 0;
        var _9 = _this+52+8;
        IHEAP[_9] = 0;
        var _10 = _this+32+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+32+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i34 = _14 == 0;
          ;
          _bb2_i_i_i37$_bb1_i_i_i36$3315: do { 
            if (!_toBool_i_i_i34) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3797; /* _bb2_i_i_i37 */ break _bb2_i_i_i37$_bb1_i_i_i36$3315; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select17 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad$3311;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _19 = _this+32+16;
        IHEAP[_19] = 1;
        IHEAP[_10] = 0;
        var _20 = _this+32+4;
        IHEAP[_20] = 0;
        var _21 = _this+32+8;
        IHEAP[_21] = 0;
        var _22 = _this+4+12;
        var _23 = IHEAP[_22];
        var _24 = _23 == 0;
        ;
        if (!_24) {
          ;
          var _25 = _this+4+16;
          var _26 = IHEAP[_25];
          var _toBool_i_i_i40 = _26 == 0;
          ;
          if (!_toBool_i_i_i40) {
            ;
            var _27 = _23;
            __Z21btAlignedFreeInternalPv(_27);
            ;
          }
          IHEAP[_22] = 0;
          ;
        }
        var _28 = _this+4+16;
        IHEAP[_28] = 1;
        IHEAP[_22] = 0;
        var _29 = _this+4+4;
        IHEAP[_29] = 0;
        var _30 = _this+4+8;
        IHEAP[_30] = 0;
        ;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr19);
    var _40 = _this+4+12;
    var _41 = IHEAP[_40];
    var _42 = _41 == 0;
    ;
    if (!_42) {
      ;
      var _43 = _this+4+16;
      var _44 = IHEAP[_43];
      var _toBool_i_i_i50 = _44 == 0;
      ;
      _bb2_i_i_i53$_bb1_i_i_i52$3329: do { 
        if (!_toBool_i_i_i50) {
          ;
          var _45 = _41;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_45) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3799; /* _bb2_i_i_i53 */ break _bb2_i_i_i53$_bb1_i_i_i52$3329; } else { ; }
          var _eh_ptr27 = _llvm_eh_exception();
          var _eh_select29 = _llvm_eh_selector(_eh_ptr27, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_40] = 0;
      ;
    }
    var _16 = _this+4+16;
    IHEAP[_16] = 1;
    IHEAP[_40] = 0;
    var _17 = _this+4+4;
    IHEAP[_17] = 0;
    var _18 = _this+4+8;
    IHEAP[_18] = 0;
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  __ZN28btHashedOverlappingPairCacheD2Ev.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCacheD2Ev, "__ZN28btHashedOverlappingPairCacheD2Ev");
  
  
  function __ZN28btSortedOverlappingPairCacheC2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btSortedOverlappingPairCache+8;
    var _1 = _this+4+16;
    IHEAP[_1] = 1;
    var _2 = _this+4+12;
    IHEAP[_2] = 0;
    var _3 = _this+4+4;
    IHEAP[_3] = 0;
    var _4 = _this+4+8;
    IHEAP[_4] = 0;
    var _5 = _this+24;
    IHEAP[_5] = 0;
    var _6 = _this+25;
    IHEAP[_6] = 1;
    var _7 = _this+28;
    IHEAP[_7] = 0;
    var _8 = _this+32;
    IHEAP[_8] = 0;
    var _9 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(32, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 731; /* __ZN20btAlignedObjectArrayI16btBroadphasePairE8allocateEi_exit_i */  } else { __label__ = 3802; /* _lpad10 */  };
    __ZN20btAlignedObjectArrayI16btBroadphasePairE8allocateEi_exit_i$_lpad10$3335: do { 
      if (__label__ == 731) {
        var _phitmp_i = _9;
        var _10 = IHEAP[_3];
        var _11 = _10 > 0;
        if (_11) { __lastLabel__ = 731; __label__ = 218; /* _bb_i4_i */  } else { __lastLabel__ = 731; __label__ = 219; /* __ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i */  }
        _bb_i4_i$__ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i$3337: while(1) { // _bb_i4_i,__ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i
          if (__label__ == 218) {
            var _indvar_i_i = __lastLabel__ == 218 ? _indvar_next_i_i : (0);
            var _tmp = _indvar_i_i << 4;
            var _tmp2435 = _tmp | 12;
            var _scevgep25 = _9+_tmp2435;
            var _scevgep13_i_i = _scevgep25;
            var _tmp2736 = _tmp | 8;
            var _scevgep28 = _9+_tmp2736;
            var _scevgep11_i_i = _scevgep28;
            var _tmp3037 = _tmp | 4;
            var _scevgep31 = _9+_tmp3037;
            var _scevgep9_i_i = _scevgep31;
            var _scevgep33 = _9+_tmp;
            var _scevgep67_i_i = _scevgep33;
            var _12 = IHEAP[_2];
            var _scevgep5_i_i = _12+16*_indvar_i_i;
            var _13 = IHEAP[_scevgep5_i_i];
            IHEAP[_scevgep67_i_i] = _13;
            var _scevgep8_i_i = _12+16*_indvar_i_i+4;
            var _14 = IHEAP[_scevgep8_i_i];
            IHEAP[_scevgep9_i_i] = _14;
            var _scevgep10_i_i = _12+16*_indvar_i_i+8;
            var _15 = IHEAP[_scevgep10_i_i];
            IHEAP[_scevgep11_i_i] = _15;
            var _scevgep12_i_i = _12+16*_indvar_i_i+12;
            var _16 = IHEAP[_scevgep12_i_i];
            IHEAP[_scevgep13_i_i] = _16;
            var _indvar_next_i_i = _indvar_i_i + 1;
            var _exitcond = _indvar_next_i_i == _10;
            if (_exitcond) { __lastLabel__ = 218; __label__ = 219; /* __ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i */ continue _bb_i4_i$__ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i$3337; } else { __lastLabel__ = 218; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$__ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i$3337; }
          }
          else if (__label__ == 219) {
            var _17 = IHEAP[_2];
            var _18 = _17 == 0;
            if (_18) { __label__ = 732; /* __ZN20btAlignedObjectArrayI16btBroadphasePairE10deallocateEv_exit_i */ break _bb_i4_i$__ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i$3337; } else { __label__ = 263; /* _bb_i_i */ break _bb_i4_i$__ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i$3337; }
          }
        }
        if (__label__ == 263) {
          var _19 = IHEAP[_1];
          var _toBool_i_i = _19 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _20 = _17;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_20) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3802; /* _lpad10 */ break __ZN20btAlignedObjectArrayI16btBroadphasePairE8allocateEi_exit_i$_lpad10$3335; }
          }
          IHEAP[_2] = 0;
          ;
        }
        IHEAP[_1] = 1;
        IHEAP[_2] = _phitmp_i;
        IHEAP[_4] = 2;
        ;
        return;
      }
    } while(0);
    var _eh_ptr11 = _llvm_eh_exception();
    var _eh_select13 = _llvm_eh_selector(_eh_ptr11, ___gxx_personality_v0, 0);
    var _21 = IHEAP[_2];
    var _22 = _21 == 0;
    ;
    if (!_22) {
      ;
      var _23 = IHEAP[_1];
      var _toBool_i_i_i = _23 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$3350: do { 
        if (!_toBool_i_i_i) {
          ;
          var _24 = _21;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_24) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$3350; } else { ; }
          var _eh_ptr15 = _llvm_eh_exception();
          var _eh_select17 = _llvm_eh_selector(_eh_ptr15, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_2] = 0;
      ;
    }
    IHEAP[_1] = 1;
    IHEAP[_2] = 0;
    IHEAP[_3] = 0;
    IHEAP[_4] = 0;
    IHEAP[_0] = __ZTV22btOverlappingPairCache+8;
    __Unwind_Resume_or_Rethrow(_eh_ptr11);
    // unreachable
  }
  __ZN28btSortedOverlappingPairCacheC2Ev.__index__ = Runtime.getFunctionIndex(__ZN28btSortedOverlappingPairCacheC2Ev, "__ZN28btSortedOverlappingPairCacheC2Ev");
  
  
  function __ZN20btAlignedObjectArrayI16btBroadphasePairE21expandNonInitializingEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _this+8;
    var _3 = IHEAP[_2];
    var _4 = _3 == _1;
    ;
    _bb$_bb1$3357: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 == 0;
        var _6 = _1 << 1;
        var _iftmp_218_0_i = _5 ? 1 : _6;
        var _7 = _3 < _iftmp_218_0_i;
        if (_7) { __lastLabel__ = 60; ; } else { __lastLabel__ = 60; __label__ = 75; /* _bb1 */ break _bb$_bb1$3357; }
        var _8 = _iftmp_218_0_i == 0;
        ;
        if (_8) {
          __lastLabel__ = 131; ;
        }
        else {
          __lastLabel__ = 131; ;
          var _9 = _iftmp_218_0_i << 4;
          var _10 = __Z22btAlignedAllocInternalji(_9, 16);
          var _phitmp_i = _10;
          var __pre = IHEAP[_0];
          __lastLabel__ = 215; ;
        }
        var _11 = __lastLabel__ == 215 ? __pre : (_1);
        var _12 = __lastLabel__ == 215 ? _phitmp_i : (0);
        var _13 = _11 > 0;
        ;
        _bb_nph_i_i$__ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i$3363: do { 
          if (_13) {
            ;
            var _14 = _this+12;
            __lastLabel__ = 217; ;
            _bb_i4_i$3365: while(1) { // _bb_i4_i
              var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
              var _scevgep13_i_i = _12+16*_indvar_i_i+12;
              var _scevgep11_i_i = _12+16*_indvar_i_i+8;
              var _scevgep9_i_i = _12+16*_indvar_i_i+4;
              var _scevgep67_i_i = _12+16*_indvar_i_i;
              var _15 = IHEAP[_14];
              var _scevgep5_i_i = _15+16*_indvar_i_i;
              var _16 = IHEAP[_scevgep5_i_i];
              IHEAP[_scevgep67_i_i] = _16;
              var _scevgep8_i_i = _15+16*_indvar_i_i+4;
              var _17 = IHEAP[_scevgep8_i_i];
              IHEAP[_scevgep9_i_i] = _17;
              var _scevgep10_i_i = _15+16*_indvar_i_i+8;
              var _18 = IHEAP[_scevgep10_i_i];
              IHEAP[_scevgep11_i_i] = _18;
              var _scevgep12_i_i = _15+16*_indvar_i_i+12;
              var _19 = IHEAP[_scevgep12_i_i];
              IHEAP[_scevgep13_i_i] = _19;
              var _indvar_next_i_i = _indvar_i_i + 1;
              var _exitcond = _indvar_next_i_i == _11;
              if (_exitcond) { __lastLabel__ = 218; __label__ = 219; /* __ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i$3363; } else { __lastLabel__ = 218; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$3365; }
            }
          }
        } while(0);
        var _20 = _this+12;
        var _21 = IHEAP[_20];
        var _22 = _21 == 0;
        ;
        if (!_22) {
          ;
          var _23 = _this+16;
          var _24 = IHEAP[_23];
          var _toBool_i_i = _24 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _25 = _21;
            __Z21btAlignedFreeInternalPv(_25);
            ;
          }
          IHEAP[_20] = 0;
          ;
        }
        var _26 = _this+16;
        IHEAP[_26] = 1;
        IHEAP[_20] = _12;
        IHEAP[_2] = _iftmp_218_0_i;
        var __pre9 = IHEAP[_0];
        __lastLabel__ = 732; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _27 = __lastLabel__ == 732 ? __pre9 : (__lastLabel__ == -1 ? _1 : (_1));
    var _28 = _27 + 1;
    IHEAP[_0] = _28;
    var _29 = _this+12;
    var _30 = IHEAP[_29];
    var _31 = _30+16*_1;
    ;
    return _31;
  }
  __ZN20btAlignedObjectArrayI16btBroadphasePairE21expandNonInitializingEv.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI16btBroadphasePairE21expandNonInitializingEv, "__ZN20btAlignedObjectArrayI16btBroadphasePairE21expandNonInitializingEv");
  
  
  function __ZN20btAlignedObjectArrayI16btBroadphasePairE9push_backERKS0_(_this, __Val) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _this+8;
    var _3 = IHEAP[_2];
    var _4 = _3 == _1;
    ;
    _bb$_bb1$3376: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 == 0;
        var _6 = _1 << 1;
        var _iftmp_218_0_i = _5 ? 1 : _6;
        var _7 = _3 < _iftmp_218_0_i;
        if (_7) { __lastLabel__ = 60; ; } else { __lastLabel__ = 60; __label__ = 75; /* _bb1 */ break _bb$_bb1$3376; }
        var _8 = _iftmp_218_0_i == 0;
        ;
        if (_8) {
          __lastLabel__ = 131; ;
        }
        else {
          __lastLabel__ = 131; ;
          var _9 = _iftmp_218_0_i << 4;
          var _10 = __Z22btAlignedAllocInternalji(_9, 16);
          var _phitmp_i = _10;
          var __pre = IHEAP[_0];
          __lastLabel__ = 215; ;
        }
        var _11 = __lastLabel__ == 215 ? __pre : (_1);
        var _12 = __lastLabel__ == 215 ? _phitmp_i : (0);
        var _13 = _11 > 0;
        ;
        _bb_nph_i_i$__ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i$3382: do { 
          if (_13) {
            ;
            var _14 = _this+12;
            __lastLabel__ = 217; ;
            _bb_i4_i$3384: while(1) { // _bb_i4_i
              var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
              var _scevgep13_i_i = _12+16*_indvar_i_i+12;
              var _scevgep11_i_i = _12+16*_indvar_i_i+8;
              var _scevgep9_i_i = _12+16*_indvar_i_i+4;
              var _scevgep67_i_i = _12+16*_indvar_i_i;
              var _15 = IHEAP[_14];
              var _scevgep5_i_i = _15+16*_indvar_i_i;
              var _16 = IHEAP[_scevgep5_i_i];
              IHEAP[_scevgep67_i_i] = _16;
              var _scevgep8_i_i = _15+16*_indvar_i_i+4;
              var _17 = IHEAP[_scevgep8_i_i];
              IHEAP[_scevgep9_i_i] = _17;
              var _scevgep10_i_i = _15+16*_indvar_i_i+8;
              var _18 = IHEAP[_scevgep10_i_i];
              IHEAP[_scevgep11_i_i] = _18;
              var _scevgep12_i_i = _15+16*_indvar_i_i+12;
              var _19 = IHEAP[_scevgep12_i_i];
              IHEAP[_scevgep13_i_i] = _19;
              var _indvar_next_i_i = _indvar_i_i + 1;
              var _exitcond = _indvar_next_i_i == _11;
              if (_exitcond) { __lastLabel__ = 218; __label__ = 219; /* __ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i$3382; } else { __lastLabel__ = 218; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$3384; }
            }
          }
        } while(0);
        var _20 = _this+12;
        var _21 = IHEAP[_20];
        var _22 = _21 == 0;
        ;
        if (!_22) {
          ;
          var _23 = _this+16;
          var _24 = IHEAP[_23];
          var _toBool_i_i = _24 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _25 = _21;
            __Z21btAlignedFreeInternalPv(_25);
            ;
          }
          IHEAP[_20] = 0;
          ;
        }
        var _26 = _this+16;
        IHEAP[_26] = 1;
        IHEAP[_20] = _12;
        IHEAP[_2] = _iftmp_218_0_i;
        var __pre8 = IHEAP[_0];
        __lastLabel__ = 732; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _27 = __lastLabel__ == 732 ? __pre8 : (__lastLabel__ == -1 ? _1 : (_1));
    var _28 = _this+12;
    var _29 = IHEAP[_28];
    var _30 = __Val;
    var _31 = IHEAP[_30];
    var _32 = _29+16*_27;
    IHEAP[_32] = _31;
    var _33 = __Val+4;
    var _34 = IHEAP[_33];
    var _35 = _29+16*_27+4;
    IHEAP[_35] = _34;
    var _36 = __Val+8;
    var _37 = IHEAP[_36];
    var _38 = _29+16*_27+8;
    IHEAP[_38] = _37;
    var _39 = __Val+12;
    var _40 = IHEAP[_39];
    var _41 = _29+16*_27+12;
    IHEAP[_41] = _40;
    var _42 = IHEAP[_0];
    var _43 = _42 + 1;
    IHEAP[_0] = _43;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI16btBroadphasePairE9push_backERKS0_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI16btBroadphasePairE9push_backERKS0_, "__ZN20btAlignedObjectArrayI16btBroadphasePairE9push_backERKS0_");
  
  
  function __ZN20btAlignedObjectArrayIiE6resizeEiRKi(_this, _newsize, _fillData) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > _newsize;
    ;
    _bb12$_bb3$3395: do { 
      if (!_2) {
        ;
        var _3 = _1 < _newsize;
        if (!(_3)) { __label__ = 3; /* _bb12 */ break _bb12$_bb3$3395; }
        var _4 = _this+8;
        var _5 = IHEAP[_4];
        var _6 = _5 < _newsize;
        ;
        if (_6) {
          ;
          var _7 = _newsize == 0;
          ;
          if (_7) {
            __lastLabel__ = 131; ;
          }
          else {
            __lastLabel__ = 131; ;
            var _8 = _newsize << 2;
            var _9 = __Z22btAlignedAllocInternalji(_8, 16);
            var _phitmp_i = _9;
            var __pre = IHEAP[_0];
            __lastLabel__ = 215; ;
          }
          var _10 = __lastLabel__ == 215 ? __pre : (_1);
          var _11 = __lastLabel__ == 215 ? _phitmp_i : (0);
          var _12 = _10 > 0;
          ;
          _bb_nph_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i$3403: do { 
            if (_12) {
              ;
              var _13 = _this+12;
              __lastLabel__ = 217; ;
              _bb_i4_i$3405: while(1) { // _bb_i4_i
                var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
                var _scevgep_i_i = _11+4*_indvar_i_i;
                var _14 = _scevgep_i_i == 0;
                ;
                if (!_14) {
                  ;
                  var _15 = IHEAP[_13];
                  var _scevgep8_i_i = _15+4*_indvar_i_i;
                  var _16 = IHEAP[_scevgep8_i_i];
                  IHEAP[_scevgep_i_i] = _16;
                  ;
                }
                var _indvar_next_i_i = _indvar_i_i + 1;
                var _exitcond19 = _indvar_next_i_i == _10;
                if (_exitcond19) { __lastLabel__ = 324; __label__ = 745; /* __ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i$3403; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$3405; }
              }
            }
          } while(0);
          var _17 = _this+12;
          var _18 = IHEAP[_17];
          var _19 = _18 == 0;
          ;
          if (!_19) {
            ;
            var _20 = _this+16;
            var _21 = IHEAP[_20];
            var _toBool_i_i = _21 == 0;
            ;
            if (!_toBool_i_i) {
              ;
              var _22 = _18;
              __Z21btAlignedFreeInternalPv(_22);
              ;
            }
            IHEAP[_17] = 0;
            ;
          }
          var _23 = _this+16;
          IHEAP[_23] = 1;
          IHEAP[_17] = _11;
          IHEAP[_4] = _newsize;
          if (!(_3)) { __label__ = 3; /* _bb12 */ break _bb12$_bb3$3395; }
        }
        var _24 = _this+12;
        var _tmp = _newsize - _1;
        __lastLabel__ = 130; ;
        _bb7$3418: while(1) { // _bb7
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp17 = _1 + _indvar;
          var _25 = IHEAP[_24];
          var _scevgep18 = _25+4*_tmp17;
          var _26 = _scevgep18 == 0;
          ;
          if (!_26) {
            ;
            var _27 = IHEAP[_fillData];
            IHEAP[_scevgep18] = _27;
            ;
          }
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _tmp;
          if (_exitcond) { __lastLabel__ = 150; __label__ = 3; /* _bb12 */ break _bb12$_bb3$3395; } else { __lastLabel__ = 150; __label__ = 2; /* _bb7 */ continue _bb7$3418; }
        }
      }
    } while(0);
    IHEAP[_0] = _newsize;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIiE6resizeEiRKi.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIiE6resizeEiRKi, "__ZN20btAlignedObjectArrayIiE6resizeEiRKi");
  
  
  function __ZN28btHashedOverlappingPairCache15internalAddPairEP17btBroadphaseProxyS1_(_this, _proxy0, _proxy1) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _proxy0+12;
    var _1 = IHEAP[_0];
    var _2 = _proxy1+12;
    var _3 = IHEAP[_2];
    var _4 = _1 > _3;
    var _proxy1_addr_0 = _4 ? _proxy0 : _proxy1;
    var _proxy0_addr_0 = _4 ? _proxy1 : _proxy0;
    var _5 = _proxy0_addr_0+12;
    var _6 = IHEAP[_5];
    var _7 = _proxy1_addr_0+12;
    var _8 = IHEAP[_7];
    var _9 = _8 << 16;
    var _10 = _9 | _6;
    var _11 = _10 << 15;
    var _not_i10 = _11 ^ -1;
    var _12 = _10 + _not_i10;
    var _13 = _12 >> 10;
    var _14 = _13 ^ _12;
    var _15 = _14 * 9;
    var _16 = _15 >> 6;
    var _17 = _16 ^ _15;
    var _18 = _17 << 11;
    var _not2_i11 = _18 ^ -1;
    var _19 = _17 + _not2_i11;
    var _20 = _19 >> 16;
    var _21 = _20 ^ _19;
    var _22 = _this+4+8;
    var _23 = IHEAP[_22];
    var _24 = _23 + -1;
    var _25 = _21 & _24;
    var _26 = _this+32+12;
    var _27 = IHEAP[_26];
    var _28 = _27+4*_25;
    var _29 = _this+4+12;
    var _30 = _this+52+12;
    __lastLabel__ = -1; ;
    _bb1_i13$3441: while(1) { // _bb1_i13
      var _index_0_in_i = __lastLabel__ == -1 ? _28 : (_32);
      var _index_0_i = IHEAP[_index_0_in_i];
      var _cond_i = _index_0_i == -1;
      if (_cond_i) { __label__ = 116; /* _bb3 */ break _bb1_i13$3441; }
      var _33 = IHEAP[_29];
      var _34 = _33+16*_index_0_i;
      var _35 = IHEAP[_34];
      var _36 = _35+12;
      var _37 = IHEAP[_36];
      var _38 = _37 == _6;
      ;
      if (_38) {
        ;
        var _39 = _33+16*_index_0_i+4;
        var _40 = IHEAP[_39];
        var _41 = _40+12;
        var _42 = IHEAP[_41];
        var _phitmp_i = _42 == _8;
        if (_phitmp_i) { __label__ = 687; /* __ZN28btHashedOverlappingPairCache16internalFindPairEP17btBroadphaseProxyS1_i_exit */ break _bb1_i13$3441; }
      }
      var _31 = IHEAP[_30];
      var _32 = _31+4*_index_0_i;
      __lastLabel__ = 754; __label__ = 753; /* _bb1_i13 */ continue _bb1_i13$3441;
    }
    _bb3$__ZN28btHashedOverlappingPairCache16internalFindPairEP17btBroadphaseProxyS1_i_exit$3447: do { 
      if (__label__ == 687) {
        var _43 = _33+16*_index_0_i;
        var _44 = _43 == 0;
        if (_44) { __label__ = 116; /* _bb3 */ break _bb3$__ZN28btHashedOverlappingPairCache16internalFindPairEP17btBroadphaseProxyS1_i_exit$3447; }
        ;
        return _43;
      }
    } while(0);
    var _45 = _this+4+4;
    var _46 = IHEAP[_45];
    var _47 = _this+4;
    var _48 = __ZN20btAlignedObjectArrayI16btBroadphasePairE21expandNonInitializingEv(_47);
    var _49 = _this+72;
    var _50 = IHEAP[_49];
    var _51 = _50 == 0;
    ;
    if (!_51) {
      ;
      var _52 = _50;
      var _53 = IHEAP[_52];
      var _54 = _53+8;
      var _55 = IHEAP[_54];
      var _56 = _55;
      var _57 = FUNCTION_TABLE[_56](_50, _proxy0_addr_0, _proxy1_addr_0);
      ;
    }
    var _58 = IHEAP[_22];
    var _59 = _23 < _58;
    ;
    if (_59) {
      __lastLabel__ = 82; ;
      __ZN28btHashedOverlappingPairCache10growTablesEv(_this);
      var _60 = IHEAP[_22];
      var _61 = _60 + -1;
      var _62 = _61 & _21;
      __lastLabel__ = 83; ;
    }
    else {
      __lastLabel__ = 82; ;
    }
    var _hash_0 = __lastLabel__ == 83 ? _62 : (_25);
    var _63 = IHEAP[_5];
    var _64 = IHEAP[_7];
    var _65 = _63 < _64;
    var _66 = _48;
    ;
    if (_65) {
      ;
      IHEAP[_66] = _proxy0_addr_0;
      var _67 = _48+4;
      IHEAP[_67] = _proxy1_addr_0;
      ;
    }
    else {
      ;
      IHEAP[_66] = _proxy1_addr_0;
      var _68 = _48+4;
      IHEAP[_68] = _proxy0_addr_0;
      ;
    }
    var _69 = _48+8;
    var _70 = _48+12;
    IHEAP[_69] = 0;
    IHEAP[_70] = 0;
    var _71 = IHEAP[_30];
    var _72 = _71+4*_46;
    var _73 = IHEAP[_26];
    var _74 = _73+4*_hash_0;
    var _75 = IHEAP[_74];
    IHEAP[_72] = _75;
    var _76 = IHEAP[_26];
    var _77 = _76+4*_hash_0;
    IHEAP[_77] = _46;
    ;
    return _48;
  }
  __ZN28btHashedOverlappingPairCache15internalAddPairEP17btBroadphaseProxyS1_.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCache15internalAddPairEP17btBroadphaseProxyS1_, "__ZN28btHashedOverlappingPairCache15internalAddPairEP17btBroadphaseProxyS1_");
  
  
  function __ZN28btHashedOverlappingPairCacheC2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btHashedOverlappingPairCache+8;
    var _1 = _this+4+16;
    IHEAP[_1] = 1;
    var _2 = _this+4+12;
    IHEAP[_2] = 0;
    var _3 = _this+4+4;
    IHEAP[_3] = 0;
    var _4 = _this+4+8;
    IHEAP[_4] = 0;
    var _5 = _this+24;
    IHEAP[_5] = 0;
    var _6 = _this+28;
    IHEAP[_6] = 0;
    var _7 = _this+32+16;
    IHEAP[_7] = 1;
    var _8 = _this+32+12;
    IHEAP[_8] = 0;
    var _9 = _this+32+4;
    IHEAP[_9] = 0;
    var _10 = _this+32+8;
    IHEAP[_10] = 0;
    var _11 = _this+52+16;
    IHEAP[_11] = 1;
    var _12 = _this+52+12;
    IHEAP[_12] = 0;
    var _13 = _this+52+4;
    IHEAP[_13] = 0;
    var _14 = _this+52+8;
    IHEAP[_14] = 0;
    var _15 = _this+72;
    IHEAP[_15] = 0;
    var _16 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(32, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 731; /* __ZN20btAlignedObjectArrayI16btBroadphasePairE8allocateEi_exit_i */  } else { __label__ = 3805; /* _lpad31 */  };
    __ZN20btAlignedObjectArrayI16btBroadphasePairE8allocateEi_exit_i$_lpad31$3462: do { 
      if (__label__ == 731) {
        var _phitmp_i = _16;
        var _17 = IHEAP[_3];
        var _18 = _17 > 0;
        if (_18) { __lastLabel__ = 731; __label__ = 218; /* _bb_i4_i */  } else { __lastLabel__ = 731; __label__ = 219; /* __ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i */  }
        _bb_i4_i$__ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i$3464: while(1) { // _bb_i4_i,__ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i
          if (__label__ == 218) {
            var _indvar_i_i = __lastLabel__ == 218 ? _indvar_next_i_i : (0);
            var _tmp = _indvar_i_i << 4;
            var _tmp6879 = _tmp | 12;
            var _scevgep69 = _16+_tmp6879;
            var _scevgep13_i_i = _scevgep69;
            var _tmp7180 = _tmp | 8;
            var _scevgep72 = _16+_tmp7180;
            var _scevgep11_i_i = _scevgep72;
            var _tmp7481 = _tmp | 4;
            var _scevgep75 = _16+_tmp7481;
            var _scevgep9_i_i = _scevgep75;
            var _scevgep77 = _16+_tmp;
            var _scevgep67_i_i = _scevgep77;
            var _19 = IHEAP[_2];
            var _scevgep5_i_i = _19+16*_indvar_i_i;
            var _20 = IHEAP[_scevgep5_i_i];
            IHEAP[_scevgep67_i_i] = _20;
            var _scevgep8_i_i = _19+16*_indvar_i_i+4;
            var _21 = IHEAP[_scevgep8_i_i];
            IHEAP[_scevgep9_i_i] = _21;
            var _scevgep10_i_i = _19+16*_indvar_i_i+8;
            var _22 = IHEAP[_scevgep10_i_i];
            IHEAP[_scevgep11_i_i] = _22;
            var _scevgep12_i_i = _19+16*_indvar_i_i+12;
            var _23 = IHEAP[_scevgep12_i_i];
            IHEAP[_scevgep13_i_i] = _23;
            var _indvar_next_i_i = _indvar_i_i + 1;
            var _exitcond = _indvar_next_i_i == _17;
            if (_exitcond) { __lastLabel__ = 218; __label__ = 219; /* __ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i */ continue _bb_i4_i$__ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i$3464; } else { __lastLabel__ = 218; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$__ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i$3464; }
          }
          else if (__label__ == 219) {
            var _24 = IHEAP[_2];
            var _25 = _24 == 0;
            if (_25) { __label__ = 759; /* _invcont3 */ break _bb_i4_i$__ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i$3464; } else { __label__ = 263; /* _bb_i_i */ break _bb_i4_i$__ZNK20btAlignedObjectArrayI16btBroadphasePairE4copyEiiPS0__exit_i$3464; }
          }
        }
        if (__label__ == 263) {
          var _26 = IHEAP[_1];
          var _toBool_i_i = _26 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _27 = _24;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_27) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3805; /* _lpad31 */ break __ZN20btAlignedObjectArrayI16btBroadphasePairE8allocateEi_exit_i$_lpad31$3462; }
          }
          IHEAP[_2] = 0;
          ;
        }
        IHEAP[_1] = 1;
        IHEAP[_2] = _phitmp_i;
        IHEAP[_4] = 2;
        (function() { try { __THREW__ = false; return __ZN28btHashedOverlappingPairCache10growTablesEv(_this) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3805; /* _lpad31 */ break __ZN20btAlignedObjectArrayI16btBroadphasePairE8allocateEi_exit_i$_lpad31$3462; }
        ;
        return;
      }
    } while(0);
    var _eh_ptr32 = _llvm_eh_exception();
    var _eh_select34 = _llvm_eh_selector(_eh_ptr32, ___gxx_personality_v0, 0);
    var _28 = IHEAP[_12];
    var _29 = _28 == 0;
    ;
    if (!_29) {
      ;
      var _30 = IHEAP[_11];
      var _toBool_i_i_i59 = _30 == 0;
      ;
      _bb2_i_i_i62$_bb1_i_i_i61$3478: do { 
        if (!_toBool_i_i_i59) {
          ;
          var _31 = _28;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_31) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3806; /* _bb2_i_i_i62 */ break _bb2_i_i_i62$_bb1_i_i_i61$3478; } else { ; }
          var _eh_ptr36 = _llvm_eh_exception();
          var _eh_select38 = _llvm_eh_selector(_eh_ptr36, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_12] = 0;
      ;
    }
    IHEAP[_11] = 1;
    IHEAP[_12] = 0;
    IHEAP[_13] = 0;
    IHEAP[_14] = 0;
    var _36 = IHEAP[_8];
    var _37 = _36 == 0;
    ;
    if (!_37) {
      ;
      var _38 = IHEAP[_7];
      var _toBool_i_i_i = _38 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$3485: do { 
        if (!_toBool_i_i_i) {
          ;
          var _39 = _36;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_39) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$3485; } else { ; }
          var _eh_ptr40 = _llvm_eh_exception();
          var _eh_select42 = _llvm_eh_selector(_eh_ptr40, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_8] = 0;
      ;
    }
    IHEAP[_7] = 1;
    IHEAP[_8] = 0;
    IHEAP[_9] = 0;
    IHEAP[_10] = 0;
    var _32 = IHEAP[_2];
    var _33 = _32 == 0;
    ;
    if (!_33) {
      ;
      var _34 = IHEAP[_1];
      var _toBool_i_i_i54 = _34 == 0;
      ;
      _bb2_i_i_i57$_bb1_i_i_i56$3492: do { 
        if (!_toBool_i_i_i54) {
          ;
          var _35 = _32;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_35) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3808; /* _bb2_i_i_i57 */ break _bb2_i_i_i57$_bb1_i_i_i56$3492; } else { ; }
          var _eh_ptr44 = _llvm_eh_exception();
          var _eh_select46 = _llvm_eh_selector(_eh_ptr44, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_2] = 0;
      ;
    }
    IHEAP[_1] = 1;
    IHEAP[_2] = 0;
    IHEAP[_3] = 0;
    IHEAP[_4] = 0;
    IHEAP[_0] = __ZTV22btOverlappingPairCache+8;
    __Unwind_Resume_or_Rethrow(_eh_ptr32);
    // unreachable
  }
  __ZN28btHashedOverlappingPairCacheC2Ev.__index__ = Runtime.getFunctionIndex(__ZN28btHashedOverlappingPairCacheC2Ev, "__ZN28btHashedOverlappingPairCacheC2Ev");
  
  
  function __ZNK14btQuantizedBvh9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _dataBuffer+16;
    var _scevgep_i = _this+20;
    var _scevgep4_i = _0;
    var _1 = FHEAP[_scevgep_i];
    FHEAP[_scevgep4_i] = _1;
    var _scevgep_1_i = _this+20+4;
    var _scevgep4_1_i = _dataBuffer+20;
    var _2 = _scevgep4_1_i;
    var _3 = FHEAP[_scevgep_1_i];
    FHEAP[_2] = _3;
    var _scevgep_2_i = _this+20+8;
    var _scevgep4_2_i = _dataBuffer+24;
    var _4 = _scevgep4_2_i;
    var _5 = FHEAP[_scevgep_2_i];
    FHEAP[_4] = _5;
    var _scevgep_3_i = _this+20+12;
    var _scevgep4_3_i = _dataBuffer+28;
    var _6 = _scevgep4_3_i;
    var _7 = FHEAP[_scevgep_3_i];
    FHEAP[_6] = _7;
    var _scevgep_i37 = _this+4;
    var _scevgep4_i38 = _dataBuffer;
    var _8 = FHEAP[_scevgep_i37];
    FHEAP[_scevgep4_i38] = _8;
    var _scevgep_1_i39 = _this+4+4;
    var _scevgep4_1_i40 = _dataBuffer+4;
    var _9 = _scevgep4_1_i40;
    var _10 = FHEAP[_scevgep_1_i39];
    FHEAP[_9] = _10;
    var _scevgep_2_i41 = _this+4+8;
    var _scevgep4_2_i42 = _dataBuffer+8;
    var _11 = _scevgep4_2_i42;
    var _12 = FHEAP[_scevgep_2_i41];
    FHEAP[_11] = _12;
    var _scevgep_3_i43 = _this+4+12;
    var _scevgep4_3_i44 = _dataBuffer+12;
    var _13 = _scevgep4_3_i44;
    var _14 = FHEAP[_scevgep_3_i43];
    FHEAP[_13] = _14;
    var _15 = _dataBuffer+32;
    var _scevgep_i45 = _this+36;
    var _scevgep4_i46 = _15;
    var _16 = FHEAP[_scevgep_i45];
    FHEAP[_scevgep4_i46] = _16;
    var _scevgep_1_i47 = _this+36+4;
    var _scevgep4_1_i48 = _dataBuffer+36;
    var _17 = _scevgep4_1_i48;
    var _18 = FHEAP[_scevgep_1_i47];
    FHEAP[_17] = _18;
    var _scevgep_2_i49 = _this+36+8;
    var _scevgep4_2_i50 = _dataBuffer+40;
    var _19 = _scevgep4_2_i50;
    var _20 = FHEAP[_scevgep_2_i49];
    FHEAP[_19] = _20;
    var _scevgep_3_i51 = _this+36+12;
    var _scevgep4_3_i52 = _dataBuffer+44;
    var _21 = _scevgep4_3_i52;
    var _22 = FHEAP[_scevgep_3_i51];
    FHEAP[_21] = _22;
    var _23 = _this+56;
    var _24 = IHEAP[_23];
    var _25 = _dataBuffer+48;
    var _26 = _25;
    IHEAP[_26] = _24;
    var _27 = _this+60;
    var _28 = IHEAP[_27];
    var _29 = _28;
    var _30 = _dataBuffer+52;
    var _31 = _30;
    IHEAP[_31] = _29;
    var _32 = _this+84+4;
    var _33 = IHEAP[_32];
    var _34 = _dataBuffer+56;
    var _35 = _34;
    IHEAP[_35] = _33;
    var _36 = IHEAP[_32];
    var _37 = _36 == 0;
    ;
    _bb2_thread$_bb2$3683: do { 
      if (_37) {
        ;
        var _38 = _dataBuffer+64;
        var _39 = _38;
        IHEAP[_39] = 0;
        ;
      }
      else {
        ;
        var _40 = _serializer;
        var _41 = IHEAP[_40];
        var _42 = _41+28;
        var _43 = IHEAP[_42];
        var _44 = _this+84+12;
        var _45 = IHEAP[_44];
        var _46 = _45;
        var _47 = _43;
        var _48 = FUNCTION_TABLE[_47](_serializer, _46);
        var _phitmp = _48;
        var _49 = _dataBuffer+64;
        var _50 = _49;
        IHEAP[_50] = _phitmp;
        var _51 = _phitmp == 0;
        if (_51) { __label__ = 2; /* _bb7 */ break _bb2_thread$_bb2$3683; }
        var _52 = IHEAP[_32];
        var _53 = _serializer;
        var _54 = IHEAP[_53];
        var _55 = _54+16;
        var _56 = IHEAP[_55];
        var _57 = _56;
        var _58 = FUNCTION_TABLE[_57](_serializer, 48, _52);
        var _59 = _52 > 0;
        ;
        _bb_nph$_bb6$3687: do { 
          if (_59) {
            ;
            var _60 = _58+8;
            var _61 = IHEAP[_60];
            var _62 = _this+84+12;
            __lastLabel__ = 130; ;
            _bb4$3689: while(1) { // _bb4
              var _i_070 = __lastLabel__ == 130 ? 0 : (_79);
              var _tmp = _i_070 * 48;
              var _tmp84 = _tmp + 32;
              var _scevgep85 = _61+_tmp84;
              var _scevgep8586 = _scevgep85;
              var _tmp87 = _tmp + 36;
              var _scevgep88 = _61+_tmp87;
              var _scevgep8889 = _scevgep88;
              var _tmp90 = _tmp + 40;
              var _scevgep91 = _61+_tmp90;
              var _scevgep9192 = _scevgep91;
              var _tmp93 = _tmp + 16;
              var _scevgep94 = _61+_tmp93;
              var _scevgep4_i62 = _scevgep94;
              var _tmp96 = _tmp + 20;
              var _scevgep97 = _61+_tmp96;
              var _scevgep4_1_i64 = _scevgep97;
              var _tmp99 = _tmp + 24;
              var _scevgep100 = _61+_tmp99;
              var _scevgep4_2_i66 = _scevgep100;
              var _tmp102 = _tmp + 28;
              var _scevgep103 = _61+_tmp102;
              var _scevgep4_3_i68 = _scevgep103;
              var _scevgep105 = _61+_tmp;
              var _scevgep4_i54 = _scevgep105;
              var _tmp107186 = _tmp | 4;
              var _scevgep108 = _61+_tmp107186;
              var _scevgep4_1_i56 = _scevgep108;
              var _tmp110187 = _tmp | 8;
              var _scevgep111 = _61+_tmp110187;
              var _scevgep4_2_i58 = _scevgep111;
              var _tmp113188 = _tmp | 12;
              var _scevgep114 = _61+_tmp113188;
              var _scevgep4_3_i60 = _scevgep114;
              var _63 = IHEAP[_62];
              var _scevgep_i61 = _63+64*_i_070+16;
              var _64 = FHEAP[_scevgep_i61];
              FHEAP[_scevgep4_i62] = _64;
              var _scevgep_1_i63 = _63+64*_i_070+16+4;
              var _65 = FHEAP[_scevgep_1_i63];
              FHEAP[_scevgep4_1_i64] = _65;
              var _scevgep_2_i65 = _63+64*_i_070+16+8;
              var _66 = FHEAP[_scevgep_2_i65];
              FHEAP[_scevgep4_2_i66] = _66;
              var _scevgep_3_i67 = _63+64*_i_070+16+12;
              var _67 = FHEAP[_scevgep_3_i67];
              FHEAP[_scevgep4_3_i68] = _67;
              var _68 = IHEAP[_62];
              var _scevgep_i53 = _68+64*_i_070;
              var _69 = FHEAP[_scevgep_i53];
              FHEAP[_scevgep4_i54] = _69;
              var _scevgep_1_i55 = _68+64*_i_070+4;
              var _70 = FHEAP[_scevgep_1_i55];
              FHEAP[_scevgep4_1_i56] = _70;
              var _scevgep_2_i57 = _68+64*_i_070+8;
              var _71 = FHEAP[_scevgep_2_i57];
              FHEAP[_scevgep4_2_i58] = _71;
              var _scevgep_3_i59 = _68+64*_i_070+12;
              var _72 = FHEAP[_scevgep_3_i59];
              FHEAP[_scevgep4_3_i60] = _72;
              var _73 = IHEAP[_62];
              var _scevgep81 = _73+64*_i_070+32;
              var _74 = IHEAP[_scevgep81];
              IHEAP[_scevgep8586] = _74;
              var _75 = IHEAP[_62];
              var _scevgep82 = _75+64*_i_070+36;
              var _76 = IHEAP[_scevgep82];
              IHEAP[_scevgep8889] = _76;
              var _77 = IHEAP[_62];
              var _scevgep83 = _77+64*_i_070+40;
              var _78 = IHEAP[_scevgep83];
              IHEAP[_scevgep9192] = _78;
              var _79 = _i_070 + 1;
              var _exitcond = _79 == _52;
              if (_exitcond) { __lastLabel__ = 61; __label__ = 83; /* _bb6 */ break _bb_nph$_bb6$3687; } else { __lastLabel__ = 61; __label__ = 61; /* _bb4 */ continue _bb4$3689; }
            }
          }
        } while(0);
        var _80 = IHEAP[_53];
        var _81 = _80+20;
        var _82 = IHEAP[_81];
        var _83 = _this+84+12;
        var _84 = IHEAP[_83];
        var _85 = _84;
        var _86 = _82;
        FUNCTION_TABLE[_86](_serializer, _58, __str4, 1497453121, _85);
        ;
      }
    } while(0);
    var _87 = _this+124+4;
    var _88 = IHEAP[_87];
    var _89 = _dataBuffer+60;
    var _90 = _89;
    IHEAP[_90] = _88;
    var _91 = IHEAP[_87];
    var _92 = _91 == 0;
    ;
    _bb10_thread$_bb10$3693: do { 
      if (_92) {
        ;
        var _93 = _dataBuffer+68;
        var _94 = _93;
        IHEAP[_94] = 0;
        ;
      }
      else {
        ;
        var _95 = _serializer;
        var _96 = IHEAP[_95];
        var _97 = _96+28;
        var _98 = IHEAP[_97];
        var _99 = _this+124+12;
        var _100 = IHEAP[_99];
        var _101 = _100;
        var _102 = _98;
        var _103 = FUNCTION_TABLE[_102](_serializer, _101);
        var _phitmp35 = _103;
        var _104 = _dataBuffer+68;
        var _105 = _104;
        IHEAP[_105] = _phitmp35;
        var _106 = _phitmp35 == 0;
        if (_106) { __label__ = 117; /* _bb20 */ break _bb10_thread$_bb10$3693; }
        var _107 = IHEAP[_87];
        var _108 = _serializer;
        var _109 = IHEAP[_108];
        var _110 = _109+16;
        var _111 = IHEAP[_110];
        var _112 = _111;
        var _113 = FUNCTION_TABLE[_112](_serializer, 16, _107);
        var _114 = _107 > 0;
        ;
        _bb_nph73$_bb19$3697: do { 
          if (_114) {
            ;
            var _115 = _113+8;
            var _116 = IHEAP[_115];
            var _117 = _this+124+12;
            __lastLabel__ = 815; ;
            _bb17$3699: while(1) { // _bb17
              var _i16_072 = __lastLabel__ == 815 ? 0 : (_132);
              var _tmp125 = _i16_072 << 4;
              var _tmp126180 = _tmp125 | 12;
              var _scevgep127 = _116+_tmp126180;
              var _scevgep127128 = _scevgep127;
              var _tmp129181 = _tmp125 | 6;
              var _scevgep130 = _116+_tmp129181;
              var _scevgep130131 = _scevgep130;
              var _tmp132182 = _tmp125 | 8;
              var _scevgep133 = _116+_tmp132182;
              var _scevgep133134 = _scevgep133;
              var _tmp135183 = _tmp125 | 10;
              var _scevgep136 = _116+_tmp135183;
              var _scevgep136137 = _scevgep136;
              var _scevgep138 = _116+_tmp125;
              var _scevgep138139 = _scevgep138;
              var _tmp140184 = _tmp125 | 2;
              var _scevgep141 = _116+_tmp140184;
              var _scevgep141142 = _scevgep141;
              var _tmp143185 = _tmp125 | 4;
              var _scevgep144 = _116+_tmp143185;
              var _scevgep144145 = _scevgep144;
              var _118 = IHEAP[_117];
              var _scevgep117 = _118+20*_i16_072+16;
              var _119 = IHEAP[_scevgep117];
              IHEAP[_scevgep127128] = _119;
              var _120 = IHEAP[_117];
              var _scevgep118 = _120+20*_i16_072+8;
              var _121 = IHEAP[_scevgep118];
              IHEAP[_scevgep130131] = _121;
              var _122 = IHEAP[_117];
              var _scevgep119 = _122+20*_i16_072+8+2;
              var _123 = IHEAP[_scevgep119];
              IHEAP[_scevgep133134] = _123;
              var _124 = IHEAP[_117];
              var _scevgep120 = _124+20*_i16_072+8+4;
              var _125 = IHEAP[_scevgep120];
              IHEAP[_scevgep136137] = _125;
              var _126 = IHEAP[_117];
              var _scevgep121122 = _126+20*_i16_072;
              var _127 = IHEAP[_scevgep121122];
              IHEAP[_scevgep138139] = _127;
              var _128 = IHEAP[_117];
              var _scevgep123 = _128+20*_i16_072+2;
              var _129 = IHEAP[_scevgep123];
              IHEAP[_scevgep141142] = _129;
              var _130 = IHEAP[_117];
              var _scevgep124 = _130+20*_i16_072+4;
              var _131 = IHEAP[_scevgep124];
              IHEAP[_scevgep144145] = _131;
              var _132 = _i16_072 + 1;
              var _exitcond116 = _132 == _107;
              if (_exitcond116) { __lastLabel__ = 4; __label__ = 64; /* _bb19 */ break _bb_nph73$_bb19$3697; } else { __lastLabel__ = 4; __label__ = 4; /* _bb17 */ continue _bb17$3699; }
            }
          }
        } while(0);
        var _133 = IHEAP[_108];
        var _134 = _133+20;
        var _135 = IHEAP[_134];
        var _136 = _this+124+12;
        var _137 = IHEAP[_136];
        var _138 = _137;
        var _139 = _135;
        FUNCTION_TABLE[_139](_serializer, _113, __str15, 1497453121, _138);
        ;
      }
    } while(0);
    var _140 = _this+144;
    var _141 = IHEAP[_140];
    var _142 = _dataBuffer+76;
    var _143 = _142;
    IHEAP[_143] = _141;
    var _144 = _this+148+4;
    var _145 = IHEAP[_144];
    var _146 = _dataBuffer+80;
    var _147 = _146;
    IHEAP[_147] = _145;
    var _148 = IHEAP[_144];
    var _149 = _148 == 0;
    ;
    if (_149) {
      ;
      var _150 = _dataBuffer+72;
      var _151 = _150;
      IHEAP[_151] = 0;
      ;
      return __str37;
    }
    else {
      ;
      var _152 = _serializer;
      var _153 = IHEAP[_152];
      var _154 = _153+28;
      var _155 = IHEAP[_154];
      var _156 = _this+148+12;
      var _157 = IHEAP[_156];
      var _158 = _157;
      var _159 = _155;
      var _160 = FUNCTION_TABLE[_159](_serializer, _158);
      var _phitmp36 = _160;
      var _161 = _dataBuffer+72;
      var _162 = _161;
      IHEAP[_162] = _phitmp36;
      var _163 = _phitmp36 == 0;
      ;
      if (_163) {
        ;
        ;
        return __str37;
      }
      else {
        ;
        var _164 = IHEAP[_144];
        var _165 = _serializer;
        var _166 = IHEAP[_165];
        var _167 = _166+16;
        var _168 = IHEAP[_167];
        var _169 = _168;
        var _170 = FUNCTION_TABLE[_169](_serializer, 20, _164);
        var _171 = _164 > 0;
        ;
        _bb_nph76$_bb32$3709: do { 
          if (_171) {
            ;
            var _172 = _170+8;
            var _173 = IHEAP[_172];
            var _174 = _this+148+12;
            __lastLabel__ = 816; ;
            _bb30$3711: while(1) { // _bb30
              var _i29_075 = __lastLabel__ == 816 ? 0 : (_191);
              var _tmp156 = _i29_075 * 20;
              var _scevgep157 = _173+_tmp156;
              var _scevgep157158 = _scevgep157;
              var _tmp159 = _tmp156 + 4;
              var _scevgep160 = _173+_tmp159;
              var _scevgep160161 = _scevgep160;
              var _tmp162 = _tmp156 + 14;
              var _scevgep163 = _173+_tmp162;
              var _scevgep163164 = _scevgep163;
              var _tmp165 = _tmp156 + 16;
              var _scevgep166 = _173+_tmp165;
              var _scevgep166167 = _scevgep166;
              var _tmp168 = _tmp156 + 18;
              var _scevgep169 = _173+_tmp168;
              var _scevgep169170 = _scevgep169;
              var _tmp171 = _tmp156 + 8;
              var _scevgep172 = _173+_tmp171;
              var _scevgep172173 = _scevgep172;
              var _tmp174 = _tmp156 + 10;
              var _scevgep175 = _173+_tmp174;
              var _scevgep175176 = _scevgep175;
              var _tmp177 = _tmp156 + 12;
              var _scevgep178 = _173+_tmp177;
              var _scevgep178179 = _scevgep178;
              var _175 = IHEAP[_174];
              var _scevgep147 = _175+36*_i29_075+8;
              var _176 = IHEAP[_scevgep147];
              IHEAP[_scevgep163164] = _176;
              var _177 = IHEAP[_174];
              var _scevgep148 = _177+36*_i29_075+8+2;
              var _178 = IHEAP[_scevgep148];
              IHEAP[_scevgep166167] = _178;
              var _179 = IHEAP[_174];
              var _scevgep149 = _179+36*_i29_075+8+4;
              var _180 = IHEAP[_scevgep149];
              IHEAP[_scevgep169170] = _180;
              var _181 = IHEAP[_174];
              var _scevgep150151 = _181+36*_i29_075;
              var _182 = IHEAP[_scevgep150151];
              IHEAP[_scevgep172173] = _182;
              var _183 = IHEAP[_174];
              var _scevgep152 = _183+36*_i29_075+2;
              var _184 = IHEAP[_scevgep152];
              IHEAP[_scevgep175176] = _184;
              var _185 = IHEAP[_174];
              var _scevgep153 = _185+36*_i29_075+4;
              var _186 = IHEAP[_scevgep153];
              IHEAP[_scevgep178179] = _186;
              var _187 = IHEAP[_174];
              var _scevgep154 = _187+36*_i29_075+16;
              var _188 = IHEAP[_scevgep154];
              IHEAP[_scevgep157158] = _188;
              var _189 = IHEAP[_174];
              var _scevgep155 = _189+36*_i29_075+20;
              var _190 = IHEAP[_scevgep155];
              IHEAP[_scevgep160161] = _190;
              var _191 = _i29_075 + 1;
              var _exitcond146 = _191 == _164;
              if (_exitcond146) { __lastLabel__ = 90; __label__ = 91; /* _bb32 */ break _bb_nph76$_bb32$3709; } else { __lastLabel__ = 90; __label__ = 90; /* _bb30 */ continue _bb30$3711; }
            }
          }
        } while(0);
        var _192 = IHEAP[_165];
        var _193 = _192+20;
        var _194 = IHEAP[_193];
        var _195 = _this+148+12;
        var _196 = IHEAP[_195];
        var _197 = _196;
        var _198 = _194;
        FUNCTION_TABLE[_198](_serializer, _170, __str26, 1497453121, _197);
        ;
        return __str37;
      }
    }
  }
  __ZNK14btQuantizedBvh9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK14btQuantizedBvh9serializeEPvP12btSerializer, "__ZNK14btQuantizedBvh9serializeEPvP12btSerializer");
  
  
  function __ZN14btQuantizedBvh17deSerializeDoubleER24btQuantizedBvhDoubleData(_this, _quantizedBvhDoubleData) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _scevgep_i = _quantizedBvhDoubleData+32;
    var _scevgep4_i = _this+20;
    var _0 = FHEAP[_scevgep_i];
    var _1 = _0;
    FHEAP[_scevgep4_i] = _1;
    var _scevgep_1_i = _quantizedBvhDoubleData+32+8;
    var _scevgep4_1_i = _this+20+4;
    var _2 = FHEAP[_scevgep_1_i];
    var _3 = _2;
    FHEAP[_scevgep4_1_i] = _3;
    var _scevgep_2_i = _quantizedBvhDoubleData+32+16;
    var _scevgep4_2_i = _this+20+8;
    var _4 = FHEAP[_scevgep_2_i];
    var _5 = _4;
    FHEAP[_scevgep4_2_i] = _5;
    var _scevgep_3_i = _quantizedBvhDoubleData+32+24;
    var _scevgep4_3_i = _this+20+12;
    var _6 = FHEAP[_scevgep_3_i];
    var _7 = _6;
    FHEAP[_scevgep4_3_i] = _7;
    var _scevgep_i19 = _quantizedBvhDoubleData;
    var _scevgep4_i20 = _this+4;
    var _8 = FHEAP[_scevgep_i19];
    var _9 = _8;
    FHEAP[_scevgep4_i20] = _9;
    var _scevgep_1_i21 = _quantizedBvhDoubleData+8;
    var _scevgep4_1_i22 = _this+4+4;
    var _10 = FHEAP[_scevgep_1_i21];
    var _11 = _10;
    FHEAP[_scevgep4_1_i22] = _11;
    var _scevgep_2_i23 = _quantizedBvhDoubleData+16;
    var _scevgep4_2_i24 = _this+4+8;
    var _12 = FHEAP[_scevgep_2_i23];
    var _13 = _12;
    FHEAP[_scevgep4_2_i24] = _13;
    var _scevgep_3_i25 = _quantizedBvhDoubleData+24;
    var _scevgep4_3_i26 = _this+4+12;
    var _14 = FHEAP[_scevgep_3_i25];
    var _15 = _14;
    FHEAP[_scevgep4_3_i26] = _15;
    var _scevgep_i27 = _quantizedBvhDoubleData+64;
    var _scevgep4_i28 = _this+36;
    var _16 = FHEAP[_scevgep_i27];
    var _17 = _16;
    FHEAP[_scevgep4_i28] = _17;
    var _scevgep_1_i29 = _quantizedBvhDoubleData+64+8;
    var _scevgep4_1_i30 = _this+36+4;
    var _18 = FHEAP[_scevgep_1_i29];
    var _19 = _18;
    FHEAP[_scevgep4_1_i30] = _19;
    var _scevgep_2_i31 = _quantizedBvhDoubleData+64+16;
    var _scevgep4_2_i32 = _this+36+8;
    var _20 = FHEAP[_scevgep_2_i31];
    var _21 = _20;
    FHEAP[_scevgep4_2_i32] = _21;
    var _scevgep_3_i33 = _quantizedBvhDoubleData+64+24;
    var _scevgep4_3_i34 = _this+36+12;
    var _22 = FHEAP[_scevgep_3_i33];
    var _23 = _22;
    FHEAP[_scevgep4_3_i34] = _23;
    var _24 = _quantizedBvhDoubleData+96;
    var _25 = IHEAP[_24];
    var _26 = _this+56;
    IHEAP[_26] = _25;
    var _27 = _quantizedBvhDoubleData+100;
    var _28 = IHEAP[_27];
    var _29 = _28 != 0;
    var _30 = _29;
    var _31 = _this+60;
    IHEAP[_31] = _30;
    var _32 = _quantizedBvhDoubleData+104;
    var _33 = IHEAP[_32];
    var _34 = _this+84+4;
    var _35 = IHEAP[_34];
    var _36 = _35 > _33;
    var __not = _36 ^ true;
    var _37 = _35 < _33;
    var _or_cond = __not & _37;
    ;
    _bb4_i36$__ZN20btAlignedObjectArrayI18btOptimizedBvhNodeE6resizeEiRKS0__exit$3715: do { 
      if (_or_cond) {
        ;
        var _38 = _this+84+8;
        var _39 = IHEAP[_38];
        var _40 = _39 < _33;
        if (!(_40)) { __label__ = 818; /* __ZN20btAlignedObjectArrayI18btOptimizedBvhNodeE6resizeEiRKS0__exit */ break _bb4_i36$__ZN20btAlignedObjectArrayI18btOptimizedBvhNodeE6resizeEiRKS0__exit$3715; }
        var _41 = _33 == 0;
        ;
        if (_41) {
          __lastLabel__ = 817; ;
        }
        else {
          __lastLabel__ = 817; ;
          var _42 = _33 << 6;
          var _43 = __Z22btAlignedAllocInternalji(_42, 16);
          var _phitmp_i_i38 = _43;
          var __pre_i39 = IHEAP[_34];
          __lastLabel__ = 819; ;
        }
        var _44 = __lastLabel__ == 819 ? __pre_i39 : (_35);
        var _45 = __lastLabel__ == 819 ? _phitmp_i_i38 : (0);
        var _46 = _44 > 0;
        ;
        _bb_nph_i_i_i41$__ZNK20btAlignedObjectArrayI18btOptimizedBvhNodeE4copyEiiPS0__exit_i_i$3721: do { 
          if (_46) {
            ;
            var _47 = _this+84+12;
            __lastLabel__ = 821; ;
            _bb_i4_i_i49$3723: while(1) { // _bb_i4_i_i49
              var _indvar_i_i_i42 = __lastLabel__ == 821 ? 0 : (_indvar_next_i_i_i47);
              var _scevgep159 = _45+64*_indvar_i_i_i42;
              var _scevgep5_i_i_i44 = _scevgep159;
              var _48 = IHEAP[_47];
              var _scevgep = _48+64*_indvar_i_i_i42;
              var _scevgep67_i_i_i46 = _scevgep;
              _llvm_memcpy_p0i8_p0i8_i32(_scevgep5_i_i_i44, _scevgep67_i_i_i46, 64, 4, false);
              var _indvar_next_i_i_i47 = _indvar_i_i_i42 + 1;
              var _exitcond = _indvar_next_i_i_i47 == _44;
              if (_exitcond) { __lastLabel__ = 822; __label__ = 823; /* __ZNK20btAlignedObjectArrayI18btOptimizedBvhNodeE4copyEiiPS0__exit_i_i */ break _bb_nph_i_i_i41$__ZNK20btAlignedObjectArrayI18btOptimizedBvhNodeE4copyEiiPS0__exit_i_i$3721; } else { __lastLabel__ = 822; __label__ = 822; /* _bb_i4_i_i49 */ continue _bb_i4_i_i49$3723; }
            }
          }
        } while(0);
        var _49 = _this+84+12;
        var _50 = IHEAP[_49];
        var _51 = _50 == 0;
        ;
        if (!_51) {
          ;
          var _52 = _this+84+16;
          var _53 = IHEAP[_52];
          var _toBool_i_i_i50 = _53 == 0;
          ;
          if (!_toBool_i_i_i50) {
            ;
            var _54 = _50;
            __Z21btAlignedFreeInternalPv(_54);
            ;
          }
          IHEAP[_49] = 0;
          ;
        }
        var _55 = _this+84+16;
        IHEAP[_55] = 1;
        IHEAP[_49] = _45;
        IHEAP[_38] = _33;
        ;
      }
    } while(0);
    IHEAP[_34] = _33;
    var _56 = _33 == 0;
    var __not238 = _56 ^ true;
    var _57 = _33 > 0;
    var _or_cond239 = __not238 & _57;
    ;
    _bb_nph$_bb3$3733: do { 
      if (_or_cond239) {
        ;
        var _58 = _quantizedBvhDoubleData+112;
        var _59 = IHEAP[_58];
        var _60 = _this+84+12;
        __lastLabel__ = 130; ;
        _bb1$3735: while(1) { // _bb1
          var _i_0150 = __lastLabel__ == 130 ? 0 : (_85);
          var _scevgep162 = _59+80*_i_0150+64;
          var _scevgep163 = _59+80*_i_0150+68;
          var _scevgep164 = _59+80*_i_0150+72;
          var _scevgep_i64 = _59+80*_i_0150+32;
          var _scevgep_1_i66 = _59+80*_i_0150+32+8;
          var _scevgep_2_i68 = _59+80*_i_0150+32+16;
          var _scevgep_3_i70 = _59+80*_i_0150+32+24;
          var _scevgep_i72 = _59+80*_i_0150;
          var _scevgep_1_i74 = _59+80*_i_0150+8;
          var _scevgep_2_i76 = _59+80*_i_0150+16;
          var _scevgep_3_i78 = _59+80*_i_0150+24;
          var _61 = IHEAP[_60];
          var _62 = FHEAP[_scevgep_i64];
          var _63 = _62;
          var _scevgep4_i65 = _61+64*_i_0150+16;
          FHEAP[_scevgep4_i65] = _63;
          var _64 = FHEAP[_scevgep_1_i66];
          var _65 = _64;
          var _scevgep4_1_i67 = _61+64*_i_0150+16+4;
          FHEAP[_scevgep4_1_i67] = _65;
          var _66 = FHEAP[_scevgep_2_i68];
          var _67 = _66;
          var _scevgep4_2_i69 = _61+64*_i_0150+16+8;
          FHEAP[_scevgep4_2_i69] = _67;
          var _68 = FHEAP[_scevgep_3_i70];
          var _69 = _68;
          var _scevgep4_3_i71 = _61+64*_i_0150+16+12;
          FHEAP[_scevgep4_3_i71] = _69;
          var _70 = IHEAP[_60];
          var _71 = FHEAP[_scevgep_i72];
          var _72 = _71;
          var _scevgep4_i73 = _70+64*_i_0150;
          FHEAP[_scevgep4_i73] = _72;
          var _73 = FHEAP[_scevgep_1_i74];
          var _74 = _73;
          var _scevgep4_1_i75 = _70+64*_i_0150+4;
          FHEAP[_scevgep4_1_i75] = _74;
          var _75 = FHEAP[_scevgep_2_i76];
          var _76 = _75;
          var _scevgep4_2_i77 = _70+64*_i_0150+8;
          FHEAP[_scevgep4_2_i77] = _76;
          var _77 = FHEAP[_scevgep_3_i78];
          var _78 = _77;
          var _scevgep4_3_i79 = _70+64*_i_0150+12;
          FHEAP[_scevgep4_3_i79] = _78;
          var _79 = IHEAP[_60];
          var _80 = IHEAP[_scevgep162];
          var _scevgep183 = _79+64*_i_0150+32;
          IHEAP[_scevgep183] = _80;
          var _81 = IHEAP[_60];
          var _82 = IHEAP[_scevgep163];
          var _scevgep184 = _81+64*_i_0150+36;
          IHEAP[_scevgep184] = _82;
          var _83 = IHEAP[_60];
          var _84 = IHEAP[_scevgep164];
          var _scevgep185 = _83+64*_i_0150+40;
          IHEAP[_scevgep185] = _84;
          var _85 = _i_0150 + 1;
          var _exitcond161 = _85 == _33;
          if (_exitcond161) { __lastLabel__ = 75; __label__ = 116; /* _bb3 */ break _bb_nph$_bb3$3733; } else { __lastLabel__ = 75; __label__ = 75; /* _bb1 */ continue _bb1$3735; }
        }
      }
    } while(0);
    var _86 = _quantizedBvhDoubleData+108;
    var _87 = IHEAP[_86];
    var _88 = _this+124+4;
    var _89 = IHEAP[_88];
    var _90 = _89 < _87;
    ;
    _bb_nph_i81$__ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE6resizeEiRKS0__exit$3738: do { 
      if (_90) {
        ;
        var _91 = _this+124;
        __ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE7reserveEi(_91, _87);
        var _92 = _this+124+12;
        var _tmp_i80 = _87 - _89;
        __lastLabel__ = 827; ;
        _bb7_i89$3740: while(1) { // _bb7_i89
          var _indvar_i82 = __lastLabel__ == 827 ? 0 : (_indvar_next_i87);
          var _tmp = _89 + _indvar_i82;
          var _93 = IHEAP[_92];
          var _scevgep15_i84 = _93+20*_tmp;
          var _indvar_next_i87 = _indvar_i82 + 1;
          var _exitcond228 = _indvar_next_i87 == _tmp_i80;
          var _scevgep15_i84237 = _scevgep15_i84;
          _llvm_memset_p0i8_i64(_scevgep15_i84237, 0, 16, 4, false);
          if (_exitcond228) { __lastLabel__ = 828; __label__ = 829; /* __ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE6resizeEiRKS0__exit */ break _bb_nph_i81$__ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE6resizeEiRKS0__exit$3738; } else { __lastLabel__ = 828; __label__ = 828; /* _bb7_i89 */ continue _bb7_i89$3740; }
        }
      }
    } while(0);
    IHEAP[_88] = _87;
    var _94 = _87 == 0;
    var __not240 = _94 ^ true;
    var _95 = _87 > 0;
    var _or_cond241 = __not240 & _95;
    ;
    _bb_nph154$_bb10$3743: do { 
      if (_or_cond241) {
        ;
        var _96 = _quantizedBvhDoubleData+116;
        var _97 = IHEAP[_96];
        var _98 = _this+124+12;
        __lastLabel__ = 830; ;
        _bb8$3745: while(1) { // _bb8
          var _i7_0153 = __lastLabel__ == 830 ? 0 : (_113);
          var _scevgep195 = _97+20*_i7_0153+16;
          var _scevgep196 = _97+20*_i7_0153+8;
          var _scevgep197 = _97+20*_i7_0153+8+2;
          var _scevgep198 = _97+20*_i7_0153+8+4;
          var _scevgep199200 = _97+20*_i7_0153;
          var _scevgep201 = _97+20*_i7_0153+2;
          var _scevgep202 = _97+20*_i7_0153+4;
          var _99 = IHEAP[_98];
          var _100 = IHEAP[_scevgep195];
          var _scevgep187 = _99+20*_i7_0153+16;
          IHEAP[_scevgep187] = _100;
          var _101 = IHEAP[_98];
          var _102 = IHEAP[_scevgep196];
          var _scevgep188 = _101+20*_i7_0153+8;
          IHEAP[_scevgep188] = _102;
          var _103 = IHEAP[_98];
          var _104 = IHEAP[_scevgep197];
          var _scevgep189 = _103+20*_i7_0153+8+2;
          IHEAP[_scevgep189] = _104;
          var _105 = IHEAP[_98];
          var _106 = IHEAP[_scevgep198];
          var _scevgep190 = _105+20*_i7_0153+8+4;
          IHEAP[_scevgep190] = _106;
          var _107 = IHEAP[_98];
          var _108 = IHEAP[_scevgep199200];
          var _scevgep191192 = _107+20*_i7_0153;
          IHEAP[_scevgep191192] = _108;
          var _109 = IHEAP[_98];
          var _110 = IHEAP[_scevgep201];
          var _scevgep193 = _109+20*_i7_0153+2;
          IHEAP[_scevgep193] = _110;
          var _111 = IHEAP[_98];
          var _112 = IHEAP[_scevgep202];
          var _scevgep194 = _111+20*_i7_0153+4;
          IHEAP[_scevgep194] = _112;
          var _113 = _i7_0153 + 1;
          var _exitcond186 = _113 == _87;
          if (_exitcond186) { __lastLabel__ = 148; __label__ = 150; /* _bb10 */ break _bb_nph154$_bb10$3743; } else { __lastLabel__ = 148; __label__ = 148; /* _bb8 */ continue _bb8$3745; }
        }
      }
    } while(0);
    var _114 = _quantizedBvhDoubleData+120;
    var _115 = IHEAP[_114];
    var _116 = _this+144;
    IHEAP[_116] = _115;
    var _117 = _quantizedBvhDoubleData+124;
    var _118 = IHEAP[_117];
    var _119 = _this+148+4;
    var _120 = IHEAP[_119];
    var _121 = _120 > _118;
    var __not242 = _121 ^ true;
    var _122 = _120 < _118;
    var _or_cond243 = __not242 & _122;
    ;
    _bb4_i$__ZN20btAlignedObjectArrayI16btBvhSubtreeInfoE6resizeEiRKS0__exit$3748: do { 
      if (_or_cond243) {
        ;
        var _123 = _this+148+8;
        var _124 = IHEAP[_123];
        var _125 = _124 < _118;
        if (!(_125)) { __label__ = 831; /* __ZN20btAlignedObjectArrayI16btBvhSubtreeInfoE6resizeEiRKS0__exit */ break _bb4_i$__ZN20btAlignedObjectArrayI16btBvhSubtreeInfoE6resizeEiRKS0__exit$3748; }
        var _126 = _118 == 0;
        ;
        if (_126) {
          __lastLabel__ = 263; ;
        }
        else {
          __lastLabel__ = 263; ;
          var _127 = _118 << 5;
          var _128 = __Z22btAlignedAllocInternalji(_127, 16);
          var _phitmp_i_i = _128;
          var __pre_i = IHEAP[_119];
          __lastLabel__ = 274; ;
        }
        var _129 = __lastLabel__ == 274 ? __pre_i : (_120);
        var _130 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
        var _131 = _129 > 0;
        ;
        _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayI16btBvhSubtreeInfoE4copyEiiPS0__exit_i_i$3754: do { 
          if (_131) {
            ;
            var _132 = _this+148+12;
            __lastLabel__ = 276; ;
            _bb_i4_i_i$3756: while(1) { // _bb_i4_i_i
              var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
              var _scevgep207 = _130+36*_indvar_i_i_i;
              var _scevgep5_i_i_i = _scevgep207;
              var _133 = IHEAP[_132];
              var _scevgep205 = _133+36*_indvar_i_i_i;
              var _scevgep67_i_i_i = _scevgep205;
              _llvm_memcpy_p0i8_p0i8_i32(_scevgep5_i_i_i, _scevgep67_i_i_i, 32, 4, false);
              var _indvar_next_i_i_i = _indvar_i_i_i + 1;
              var _exitcond204 = _indvar_next_i_i_i == _129;
              if (_exitcond204) { __lastLabel__ = 277; __label__ = 833; /* __ZNK20btAlignedObjectArrayI16btBvhSubtreeInfoE4copyEiiPS0__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayI16btBvhSubtreeInfoE4copyEiiPS0__exit_i_i$3754; } else { __lastLabel__ = 277; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$3756; }
            }
          }
        } while(0);
        var _134 = _this+148+12;
        var _135 = IHEAP[_134];
        var _136 = _135 == 0;
        ;
        if (!_136) {
          ;
          var _137 = _this+148+16;
          var _138 = IHEAP[_137];
          var _toBool_i_i_i = _138 == 0;
          ;
          if (!_toBool_i_i_i) {
            ;
            var _139 = _135;
            __Z21btAlignedFreeInternalPv(_139);
            ;
          }
          IHEAP[_134] = 0;
          ;
        }
        var _140 = _this+148+16;
        IHEAP[_140] = 1;
        IHEAP[_134] = _130;
        IHEAP[_123] = _118;
        ;
      }
    } while(0);
    IHEAP[_119] = _118;
    var _141 = _118 == 0;
    var __not244 = _141 ^ true;
    var _142 = _118 > 0;
    var _or_cond245 = __not244 & _142;
    ;
    _bb_nph157$_return$3766: do { 
      if (_or_cond245) {
        ;
        var _143 = _quantizedBvhDoubleData+128;
        var _144 = IHEAP[_143];
        var _145 = _this+148+12;
        __lastLabel__ = 837; ;
        _bb15$3768: while(1) { // _bb15
          var _i14_0156 = __lastLabel__ == 837 ? 0 : (_162);
          var _scevgep219220 = _144+24*_i14_0156;
          var _scevgep221 = _144+24*_i14_0156+4;
          var _scevgep222 = _144+24*_i14_0156+16;
          var _scevgep223 = _144+24*_i14_0156+16+2;
          var _scevgep224 = _144+24*_i14_0156+16+4;
          var _scevgep225 = _144+24*_i14_0156+8;
          var _scevgep226 = _144+24*_i14_0156+8+2;
          var _scevgep227 = _144+24*_i14_0156+8+4;
          var _146 = IHEAP[_145];
          var _147 = IHEAP[_scevgep222];
          var _scevgep210 = _146+36*_i14_0156+8;
          IHEAP[_scevgep210] = _147;
          var _148 = IHEAP[_145];
          var _149 = IHEAP[_scevgep223];
          var _scevgep211 = _148+36*_i14_0156+8+2;
          IHEAP[_scevgep211] = _149;
          var _150 = IHEAP[_145];
          var _151 = IHEAP[_scevgep224];
          var _scevgep212 = _150+36*_i14_0156+8+4;
          IHEAP[_scevgep212] = _151;
          var _152 = IHEAP[_145];
          var _153 = IHEAP[_scevgep225];
          var _scevgep213214 = _152+36*_i14_0156;
          IHEAP[_scevgep213214] = _153;
          var _154 = IHEAP[_145];
          var _155 = IHEAP[_scevgep226];
          var _scevgep215 = _154+36*_i14_0156+2;
          IHEAP[_scevgep215] = _155;
          var _156 = IHEAP[_145];
          var _157 = IHEAP[_scevgep227];
          var _scevgep216 = _156+36*_i14_0156+4;
          IHEAP[_scevgep216] = _157;
          var _158 = IHEAP[_145];
          var _159 = IHEAP[_scevgep219220];
          var _scevgep217 = _158+36*_i14_0156+16;
          IHEAP[_scevgep217] = _159;
          var _160 = IHEAP[_145];
          var _161 = IHEAP[_scevgep221];
          var _scevgep218 = _160+36*_i14_0156+20;
          IHEAP[_scevgep218] = _161;
          var _162 = _i14_0156 + 1;
          var _exitcond209 = _162 == _118;
          if (_exitcond209) { __lastLabel__ = 153; __label__ = 44; /* _return */ break _bb_nph157$_return$3766; } else { __lastLabel__ = 153; __label__ = 153; /* _bb15 */ continue _bb15$3768; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN14btQuantizedBvh17deSerializeDoubleER24btQuantizedBvhDoubleData.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvh17deSerializeDoubleER24btQuantizedBvhDoubleData, "__ZN14btQuantizedBvh17deSerializeDoubleER24btQuantizedBvhDoubleData");
  
  
  function __ZN14btQuantizedBvh16deSerializeFloatER23btQuantizedBvhFloatData(_this, _quantizedBvhFloatData) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _scevgep_i = _quantizedBvhFloatData+16;
    var _scevgep4_i = _this+20;
    var _0 = FHEAP[_scevgep_i];
    FHEAP[_scevgep4_i] = _0;
    var _scevgep_1_i = _quantizedBvhFloatData+16+4;
    var _scevgep4_1_i = _this+20+4;
    var _1 = FHEAP[_scevgep_1_i];
    FHEAP[_scevgep4_1_i] = _1;
    var _scevgep_2_i = _quantizedBvhFloatData+16+8;
    var _scevgep4_2_i = _this+20+8;
    var _2 = FHEAP[_scevgep_2_i];
    FHEAP[_scevgep4_2_i] = _2;
    var _scevgep_3_i = _quantizedBvhFloatData+16+12;
    var _scevgep4_3_i = _this+20+12;
    var _3 = FHEAP[_scevgep_3_i];
    FHEAP[_scevgep4_3_i] = _3;
    var _scevgep_i19 = _quantizedBvhFloatData;
    var _scevgep4_i20 = _this+4;
    var _4 = FHEAP[_scevgep_i19];
    FHEAP[_scevgep4_i20] = _4;
    var _scevgep_1_i21 = _quantizedBvhFloatData+4;
    var _scevgep4_1_i22 = _this+4+4;
    var _5 = FHEAP[_scevgep_1_i21];
    FHEAP[_scevgep4_1_i22] = _5;
    var _scevgep_2_i23 = _quantizedBvhFloatData+8;
    var _scevgep4_2_i24 = _this+4+8;
    var _6 = FHEAP[_scevgep_2_i23];
    FHEAP[_scevgep4_2_i24] = _6;
    var _scevgep_3_i25 = _quantizedBvhFloatData+12;
    var _scevgep4_3_i26 = _this+4+12;
    var _7 = FHEAP[_scevgep_3_i25];
    FHEAP[_scevgep4_3_i26] = _7;
    var _scevgep_i27 = _quantizedBvhFloatData+32;
    var _scevgep4_i28 = _this+36;
    var _8 = FHEAP[_scevgep_i27];
    FHEAP[_scevgep4_i28] = _8;
    var _scevgep_1_i29 = _quantizedBvhFloatData+32+4;
    var _scevgep4_1_i30 = _this+36+4;
    var _9 = FHEAP[_scevgep_1_i29];
    FHEAP[_scevgep4_1_i30] = _9;
    var _scevgep_2_i31 = _quantizedBvhFloatData+32+8;
    var _scevgep4_2_i32 = _this+36+8;
    var _10 = FHEAP[_scevgep_2_i31];
    FHEAP[_scevgep4_2_i32] = _10;
    var _scevgep_3_i33 = _quantizedBvhFloatData+32+12;
    var _scevgep4_3_i34 = _this+36+12;
    var _11 = FHEAP[_scevgep_3_i33];
    FHEAP[_scevgep4_3_i34] = _11;
    var _12 = _quantizedBvhFloatData+48;
    var _13 = IHEAP[_12];
    var _14 = _this+56;
    IHEAP[_14] = _13;
    var _15 = _quantizedBvhFloatData+52;
    var _16 = IHEAP[_15];
    var _17 = _16 != 0;
    var _18 = _17;
    var _19 = _this+60;
    IHEAP[_19] = _18;
    var _20 = _quantizedBvhFloatData+56;
    var _21 = IHEAP[_20];
    var _22 = _this+84+4;
    var _23 = IHEAP[_22];
    var _24 = _23 > _21;
    var __not = _24 ^ true;
    var _25 = _23 < _21;
    var _or_cond = __not & _25;
    ;
    _bb4_i36$__ZN20btAlignedObjectArrayI18btOptimizedBvhNodeE6resizeEiRKS0__exit$3772: do { 
      if (_or_cond) {
        ;
        var _26 = _this+84+8;
        var _27 = IHEAP[_26];
        var _28 = _27 < _21;
        if (!(_28)) { __label__ = 818; /* __ZN20btAlignedObjectArrayI18btOptimizedBvhNodeE6resizeEiRKS0__exit */ break _bb4_i36$__ZN20btAlignedObjectArrayI18btOptimizedBvhNodeE6resizeEiRKS0__exit$3772; }
        var _29 = _21 == 0;
        ;
        if (_29) {
          __lastLabel__ = 817; ;
        }
        else {
          __lastLabel__ = 817; ;
          var _30 = _21 << 6;
          var _31 = __Z22btAlignedAllocInternalji(_30, 16);
          var _phitmp_i_i38 = _31;
          var __pre_i39 = IHEAP[_22];
          __lastLabel__ = 819; ;
        }
        var _32 = __lastLabel__ == 819 ? __pre_i39 : (_23);
        var _33 = __lastLabel__ == 819 ? _phitmp_i_i38 : (0);
        var _34 = _32 > 0;
        ;
        _bb_nph_i_i_i41$__ZNK20btAlignedObjectArrayI18btOptimizedBvhNodeE4copyEiiPS0__exit_i_i$3778: do { 
          if (_34) {
            ;
            var _35 = _this+84+12;
            __lastLabel__ = 821; ;
            _bb_i4_i_i49$3780: while(1) { // _bb_i4_i_i49
              var _indvar_i_i_i42 = __lastLabel__ == 821 ? 0 : (_indvar_next_i_i_i47);
              var _scevgep159 = _33+64*_indvar_i_i_i42;
              var _scevgep5_i_i_i44 = _scevgep159;
              var _36 = IHEAP[_35];
              var _scevgep = _36+64*_indvar_i_i_i42;
              var _scevgep67_i_i_i46 = _scevgep;
              _llvm_memcpy_p0i8_p0i8_i32(_scevgep5_i_i_i44, _scevgep67_i_i_i46, 64, 4, false);
              var _indvar_next_i_i_i47 = _indvar_i_i_i42 + 1;
              var _exitcond = _indvar_next_i_i_i47 == _32;
              if (_exitcond) { __lastLabel__ = 822; __label__ = 823; /* __ZNK20btAlignedObjectArrayI18btOptimizedBvhNodeE4copyEiiPS0__exit_i_i */ break _bb_nph_i_i_i41$__ZNK20btAlignedObjectArrayI18btOptimizedBvhNodeE4copyEiiPS0__exit_i_i$3778; } else { __lastLabel__ = 822; __label__ = 822; /* _bb_i4_i_i49 */ continue _bb_i4_i_i49$3780; }
            }
          }
        } while(0);
        var _37 = _this+84+12;
        var _38 = IHEAP[_37];
        var _39 = _38 == 0;
        ;
        if (!_39) {
          ;
          var _40 = _this+84+16;
          var _41 = IHEAP[_40];
          var _toBool_i_i_i50 = _41 == 0;
          ;
          if (!_toBool_i_i_i50) {
            ;
            var _42 = _38;
            __Z21btAlignedFreeInternalPv(_42);
            ;
          }
          IHEAP[_37] = 0;
          ;
        }
        var _43 = _this+84+16;
        IHEAP[_43] = 1;
        IHEAP[_37] = _33;
        IHEAP[_26] = _21;
        ;
      }
    } while(0);
    IHEAP[_22] = _21;
    var _44 = _21 == 0;
    var __not238 = _44 ^ true;
    var _45 = _21 > 0;
    var _or_cond239 = __not238 & _45;
    ;
    _bb_nph$_bb3$3790: do { 
      if (_or_cond239) {
        ;
        var _46 = _quantizedBvhFloatData+64;
        var _47 = IHEAP[_46];
        var _48 = _this+84+12;
        __lastLabel__ = 130; ;
        _bb1$3792: while(1) { // _bb1
          var _i_0150 = __lastLabel__ == 130 ? 0 : (_65);
          var _scevgep162 = _47+48*_i_0150+32;
          var _scevgep163 = _47+48*_i_0150+36;
          var _scevgep164 = _47+48*_i_0150+40;
          var _scevgep_i64 = _47+48*_i_0150+16;
          var _scevgep_1_i66 = _47+48*_i_0150+16+4;
          var _scevgep_2_i68 = _47+48*_i_0150+16+8;
          var _scevgep_3_i70 = _47+48*_i_0150+16+12;
          var _scevgep_i72 = _47+48*_i_0150;
          var _scevgep_1_i74 = _47+48*_i_0150+4;
          var _scevgep_2_i76 = _47+48*_i_0150+8;
          var _scevgep_3_i78 = _47+48*_i_0150+12;
          var _49 = IHEAP[_48];
          var _50 = FHEAP[_scevgep_i64];
          var _scevgep4_i65 = _49+64*_i_0150+16;
          FHEAP[_scevgep4_i65] = _50;
          var _51 = FHEAP[_scevgep_1_i66];
          var _scevgep4_1_i67 = _49+64*_i_0150+16+4;
          FHEAP[_scevgep4_1_i67] = _51;
          var _52 = FHEAP[_scevgep_2_i68];
          var _scevgep4_2_i69 = _49+64*_i_0150+16+8;
          FHEAP[_scevgep4_2_i69] = _52;
          var _53 = FHEAP[_scevgep_3_i70];
          var _scevgep4_3_i71 = _49+64*_i_0150+16+12;
          FHEAP[_scevgep4_3_i71] = _53;
          var _54 = IHEAP[_48];
          var _55 = FHEAP[_scevgep_i72];
          var _scevgep4_i73 = _54+64*_i_0150;
          FHEAP[_scevgep4_i73] = _55;
          var _56 = FHEAP[_scevgep_1_i74];
          var _scevgep4_1_i75 = _54+64*_i_0150+4;
          FHEAP[_scevgep4_1_i75] = _56;
          var _57 = FHEAP[_scevgep_2_i76];
          var _scevgep4_2_i77 = _54+64*_i_0150+8;
          FHEAP[_scevgep4_2_i77] = _57;
          var _58 = FHEAP[_scevgep_3_i78];
          var _scevgep4_3_i79 = _54+64*_i_0150+12;
          FHEAP[_scevgep4_3_i79] = _58;
          var _59 = IHEAP[_48];
          var _60 = IHEAP[_scevgep162];
          var _scevgep183 = _59+64*_i_0150+32;
          IHEAP[_scevgep183] = _60;
          var _61 = IHEAP[_48];
          var _62 = IHEAP[_scevgep163];
          var _scevgep184 = _61+64*_i_0150+36;
          IHEAP[_scevgep184] = _62;
          var _63 = IHEAP[_48];
          var _64 = IHEAP[_scevgep164];
          var _scevgep185 = _63+64*_i_0150+40;
          IHEAP[_scevgep185] = _64;
          var _65 = _i_0150 + 1;
          var _exitcond161 = _65 == _21;
          if (_exitcond161) { __lastLabel__ = 75; __label__ = 116; /* _bb3 */ break _bb_nph$_bb3$3790; } else { __lastLabel__ = 75; __label__ = 75; /* _bb1 */ continue _bb1$3792; }
        }
      }
    } while(0);
    var _66 = _quantizedBvhFloatData+60;
    var _67 = IHEAP[_66];
    var _68 = _this+124+4;
    var _69 = IHEAP[_68];
    var _70 = _69 < _67;
    ;
    _bb_nph_i81$__ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE6resizeEiRKS0__exit$3795: do { 
      if (_70) {
        ;
        var _71 = _this+124;
        __ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE7reserveEi(_71, _67);
        var _72 = _this+124+12;
        var _tmp_i80 = _67 - _69;
        __lastLabel__ = 827; ;
        _bb7_i89$3797: while(1) { // _bb7_i89
          var _indvar_i82 = __lastLabel__ == 827 ? 0 : (_indvar_next_i87);
          var _tmp = _69 + _indvar_i82;
          var _73 = IHEAP[_72];
          var _scevgep15_i84 = _73+20*_tmp;
          var _indvar_next_i87 = _indvar_i82 + 1;
          var _exitcond228 = _indvar_next_i87 == _tmp_i80;
          var _scevgep15_i84237 = _scevgep15_i84;
          _llvm_memset_p0i8_i64(_scevgep15_i84237, 0, 16, 4, false);
          if (_exitcond228) { __lastLabel__ = 828; __label__ = 829; /* __ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE6resizeEiRKS0__exit */ break _bb_nph_i81$__ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE6resizeEiRKS0__exit$3795; } else { __lastLabel__ = 828; __label__ = 828; /* _bb7_i89 */ continue _bb7_i89$3797; }
        }
      }
    } while(0);
    IHEAP[_68] = _67;
    var _74 = _67 == 0;
    var __not240 = _74 ^ true;
    var _75 = _67 > 0;
    var _or_cond241 = __not240 & _75;
    ;
    _bb_nph154$_bb10$3800: do { 
      if (_or_cond241) {
        ;
        var _76 = _quantizedBvhFloatData+68;
        var _77 = IHEAP[_76];
        var _78 = _this+124+12;
        __lastLabel__ = 830; ;
        _bb8$3802: while(1) { // _bb8
          var _i7_0153 = __lastLabel__ == 830 ? 0 : (_93);
          var _scevgep195 = _77+20*_i7_0153+16;
          var _scevgep196 = _77+20*_i7_0153+8;
          var _scevgep197 = _77+20*_i7_0153+8+2;
          var _scevgep198 = _77+20*_i7_0153+8+4;
          var _scevgep199200 = _77+20*_i7_0153;
          var _scevgep201 = _77+20*_i7_0153+2;
          var _scevgep202 = _77+20*_i7_0153+4;
          var _79 = IHEAP[_78];
          var _80 = IHEAP[_scevgep195];
          var _scevgep187 = _79+20*_i7_0153+16;
          IHEAP[_scevgep187] = _80;
          var _81 = IHEAP[_78];
          var _82 = IHEAP[_scevgep196];
          var _scevgep188 = _81+20*_i7_0153+8;
          IHEAP[_scevgep188] = _82;
          var _83 = IHEAP[_78];
          var _84 = IHEAP[_scevgep197];
          var _scevgep189 = _83+20*_i7_0153+8+2;
          IHEAP[_scevgep189] = _84;
          var _85 = IHEAP[_78];
          var _86 = IHEAP[_scevgep198];
          var _scevgep190 = _85+20*_i7_0153+8+4;
          IHEAP[_scevgep190] = _86;
          var _87 = IHEAP[_78];
          var _88 = IHEAP[_scevgep199200];
          var _scevgep191192 = _87+20*_i7_0153;
          IHEAP[_scevgep191192] = _88;
          var _89 = IHEAP[_78];
          var _90 = IHEAP[_scevgep201];
          var _scevgep193 = _89+20*_i7_0153+2;
          IHEAP[_scevgep193] = _90;
          var _91 = IHEAP[_78];
          var _92 = IHEAP[_scevgep202];
          var _scevgep194 = _91+20*_i7_0153+4;
          IHEAP[_scevgep194] = _92;
          var _93 = _i7_0153 + 1;
          var _exitcond186 = _93 == _67;
          if (_exitcond186) { __lastLabel__ = 148; __label__ = 150; /* _bb10 */ break _bb_nph154$_bb10$3800; } else { __lastLabel__ = 148; __label__ = 148; /* _bb8 */ continue _bb8$3802; }
        }
      }
    } while(0);
    var _94 = _quantizedBvhFloatData+76;
    var _95 = IHEAP[_94];
    var _96 = _this+144;
    IHEAP[_96] = _95;
    var _97 = _quantizedBvhFloatData+80;
    var _98 = IHEAP[_97];
    var _99 = _this+148+4;
    var _100 = IHEAP[_99];
    var _101 = _100 > _98;
    var __not242 = _101 ^ true;
    var _102 = _100 < _98;
    var _or_cond243 = __not242 & _102;
    ;
    _bb4_i$__ZN20btAlignedObjectArrayI16btBvhSubtreeInfoE6resizeEiRKS0__exit$3805: do { 
      if (_or_cond243) {
        ;
        var _103 = _this+148+8;
        var _104 = IHEAP[_103];
        var _105 = _104 < _98;
        if (!(_105)) { __label__ = 831; /* __ZN20btAlignedObjectArrayI16btBvhSubtreeInfoE6resizeEiRKS0__exit */ break _bb4_i$__ZN20btAlignedObjectArrayI16btBvhSubtreeInfoE6resizeEiRKS0__exit$3805; }
        var _106 = _98 == 0;
        ;
        if (_106) {
          __lastLabel__ = 263; ;
        }
        else {
          __lastLabel__ = 263; ;
          var _107 = _98 << 5;
          var _108 = __Z22btAlignedAllocInternalji(_107, 16);
          var _phitmp_i_i = _108;
          var __pre_i = IHEAP[_99];
          __lastLabel__ = 274; ;
        }
        var _109 = __lastLabel__ == 274 ? __pre_i : (_100);
        var _110 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
        var _111 = _109 > 0;
        ;
        _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayI16btBvhSubtreeInfoE4copyEiiPS0__exit_i_i$3811: do { 
          if (_111) {
            ;
            var _112 = _this+148+12;
            __lastLabel__ = 276; ;
            _bb_i4_i_i$3813: while(1) { // _bb_i4_i_i
              var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
              var _scevgep207 = _110+36*_indvar_i_i_i;
              var _scevgep5_i_i_i = _scevgep207;
              var _113 = IHEAP[_112];
              var _scevgep205 = _113+36*_indvar_i_i_i;
              var _scevgep67_i_i_i = _scevgep205;
              _llvm_memcpy_p0i8_p0i8_i32(_scevgep5_i_i_i, _scevgep67_i_i_i, 32, 4, false);
              var _indvar_next_i_i_i = _indvar_i_i_i + 1;
              var _exitcond204 = _indvar_next_i_i_i == _109;
              if (_exitcond204) { __lastLabel__ = 277; __label__ = 833; /* __ZNK20btAlignedObjectArrayI16btBvhSubtreeInfoE4copyEiiPS0__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayI16btBvhSubtreeInfoE4copyEiiPS0__exit_i_i$3811; } else { __lastLabel__ = 277; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$3813; }
            }
          }
        } while(0);
        var _114 = _this+148+12;
        var _115 = IHEAP[_114];
        var _116 = _115 == 0;
        ;
        if (!_116) {
          ;
          var _117 = _this+148+16;
          var _118 = IHEAP[_117];
          var _toBool_i_i_i = _118 == 0;
          ;
          if (!_toBool_i_i_i) {
            ;
            var _119 = _115;
            __Z21btAlignedFreeInternalPv(_119);
            ;
          }
          IHEAP[_114] = 0;
          ;
        }
        var _120 = _this+148+16;
        IHEAP[_120] = 1;
        IHEAP[_114] = _110;
        IHEAP[_103] = _98;
        ;
      }
    } while(0);
    IHEAP[_99] = _98;
    var _121 = _98 == 0;
    var __not244 = _121 ^ true;
    var _122 = _98 > 0;
    var _or_cond245 = __not244 & _122;
    ;
    _bb_nph157$_return$3823: do { 
      if (_or_cond245) {
        ;
        var _123 = _quantizedBvhFloatData+72;
        var _124 = IHEAP[_123];
        var _125 = _this+148+12;
        __lastLabel__ = 837; ;
        _bb15$3825: while(1) { // _bb15
          var _i14_0156 = __lastLabel__ == 837 ? 0 : (_142);
          var _scevgep219220 = _124+24*_i14_0156;
          var _scevgep221 = _124+24*_i14_0156+4;
          var _scevgep222 = _124+24*_i14_0156+16;
          var _scevgep223 = _124+24*_i14_0156+16+2;
          var _scevgep224 = _124+24*_i14_0156+16+4;
          var _scevgep225 = _124+24*_i14_0156+8;
          var _scevgep226 = _124+24*_i14_0156+8+2;
          var _scevgep227 = _124+24*_i14_0156+8+4;
          var _126 = IHEAP[_125];
          var _127 = IHEAP[_scevgep222];
          var _scevgep210 = _126+36*_i14_0156+8;
          IHEAP[_scevgep210] = _127;
          var _128 = IHEAP[_125];
          var _129 = IHEAP[_scevgep223];
          var _scevgep211 = _128+36*_i14_0156+8+2;
          IHEAP[_scevgep211] = _129;
          var _130 = IHEAP[_125];
          var _131 = IHEAP[_scevgep224];
          var _scevgep212 = _130+36*_i14_0156+8+4;
          IHEAP[_scevgep212] = _131;
          var _132 = IHEAP[_125];
          var _133 = IHEAP[_scevgep225];
          var _scevgep213214 = _132+36*_i14_0156;
          IHEAP[_scevgep213214] = _133;
          var _134 = IHEAP[_125];
          var _135 = IHEAP[_scevgep226];
          var _scevgep215 = _134+36*_i14_0156+2;
          IHEAP[_scevgep215] = _135;
          var _136 = IHEAP[_125];
          var _137 = IHEAP[_scevgep227];
          var _scevgep216 = _136+36*_i14_0156+4;
          IHEAP[_scevgep216] = _137;
          var _138 = IHEAP[_125];
          var _139 = IHEAP[_scevgep219220];
          var _scevgep217 = _138+36*_i14_0156+16;
          IHEAP[_scevgep217] = _139;
          var _140 = IHEAP[_125];
          var _141 = IHEAP[_scevgep221];
          var _scevgep218 = _140+36*_i14_0156+20;
          IHEAP[_scevgep218] = _141;
          var _142 = _i14_0156 + 1;
          var _exitcond209 = _142 == _98;
          if (_exitcond209) { __lastLabel__ = 153; __label__ = 44; /* _return */ break _bb_nph157$_return$3823; } else { __lastLabel__ = 153; __label__ = 153; /* _bb15 */ continue _bb15$3825; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN14btQuantizedBvh16deSerializeFloatER23btQuantizedBvhFloatData.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvh16deSerializeFloatER23btQuantizedBvhFloatData, "__ZN14btQuantizedBvh16deSerializeFloatER23btQuantizedBvhFloatData");
  
  
  function __ZN14btQuantizedBvh20updateSubtreeHeadersEii(_this, _leftChildNodexIndex, _rightChildNodexIndex) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+124+12;
    var _1 = IHEAP[_0];
    var _2 = _1+20*_leftChildNodexIndex+16;
    var _3 = IHEAP[_2];
    var _4 = 0 - _3;
    var _toBool = _3 < 0;
    var __ = _toBool ? _4 : 1;
    var _iftmp_222_0 = _toBool ? __ : __;
    var _5 = __ << 4;
    var _6 = _1+20*_rightChildNodexIndex+16;
    var _7 = IHEAP[_6];
    var _8 = 0 - _7;
    var _toBool3 = _7 < 0;
    var __104 = _toBool3 ? _8 : 1;
    var _iftmp_223_0 = _toBool3 ? __104 : __104;
    var _9 = __104 << 4;
    var _10 = _5 < 2049;
    ;
    if (_10) {
      ;
      var _11 = _this+148+4;
      var _12 = IHEAP[_11];
      var _13 = _this+148+8;
      var _14 = IHEAP[_13];
      var _15 = _14 == _12;
      ;
      _bb_i16$__ZN20btAlignedObjectArrayI16btBvhSubtreeInfoE6expandERKS0__exit38$3831: do { 
        if (_15) {
          __lastLabel__ = 2; ;
          var _16 = _12 == 0;
          var _17 = _12 << 1;
          var _iftmp_322_0_i_i15 = _16 ? 1 : _17;
          var _18 = _14 < _iftmp_322_0_i_i15;
          if (_18) { __lastLabel__ = 846; ; } else { __lastLabel__ = 846; __label__ = 848; /* __ZN20btAlignedObjectArrayI16btBvhSubtreeInfoE6expandERKS0__exit38 */ break _bb_i16$__ZN20btAlignedObjectArrayI16btBvhSubtreeInfoE6expandERKS0__exit38$3831; }
          var _19 = _iftmp_322_0_i_i15 == 0;
          ;
          if (_19) {
            __lastLabel__ = 847; ;
          }
          else {
            __lastLabel__ = 847; ;
            var _20 = _iftmp_322_0_i_i15 << 5;
            var _21 = __Z22btAlignedAllocInternalji(_20, 16);
            var _phitmp_i_i18 = _21;
            var __pre_i19 = IHEAP[_11];
            __lastLabel__ = 849; ;
          }
          var _22 = __lastLabel__ == 849 ? __pre_i19 : (_12);
          var _23 = __lastLabel__ == 849 ? _phitmp_i_i18 : (0);
          var _24 = _22 > 0;
          ;
          _bb_nph_i_i_i22$__ZNK20btAlignedObjectArrayI16btBvhSubtreeInfoE4copyEiiPS0__exit_i_i31$3837: do { 
            if (_24) {
              ;
              var _25 = _this+148+12;
              __lastLabel__ = 851; ;
              _bb_i4_i_i30$3839: while(1) { // _bb_i4_i_i30
                var _indvar_i_i_i23 = __lastLabel__ == 851 ? 0 : (_indvar_next_i_i_i28);
                var _scevgep102 = _23+36*_indvar_i_i_i23;
                var _scevgep5_i_i_i25 = _scevgep102;
                var _26 = IHEAP[_25];
                var _scevgep100 = _26+36*_indvar_i_i_i23;
                var _scevgep67_i_i_i27 = _scevgep100;
                _llvm_memcpy_p0i8_p0i8_i32(_scevgep5_i_i_i25, _scevgep67_i_i_i27, 32, 4, false);
                var _indvar_next_i_i_i28 = _indvar_i_i_i23 + 1;
                var _exitcond99 = _indvar_next_i_i_i28 == _22;
                if (_exitcond99) { __lastLabel__ = 852; __label__ = 853; /* __ZNK20btAlignedObjectArrayI16btBvhSubtreeInfoE4copyEiiPS0__exit_i_i31 */ break _bb_nph_i_i_i22$__ZNK20btAlignedObjectArrayI16btBvhSubtreeInfoE4copyEiiPS0__exit_i_i31$3837; } else { __lastLabel__ = 852; __label__ = 852; /* _bb_i4_i_i30 */ continue _bb_i4_i_i30$3839; }
              }
            }
          } while(0);
          var _27 = _this+148+12;
          var _28 = IHEAP[_27];
          var _29 = _28 == 0;
          ;
          if (!_29) {
            ;
            var _30 = _this+148+16;
            var _31 = IHEAP[_30];
            var _toBool_i_i_i32 = _31 == 0;
            ;
            if (!_toBool_i_i_i32) {
              ;
              var _32 = _28;
              __Z21btAlignedFreeInternalPv(_32);
              ;
            }
            IHEAP[_27] = 0;
            ;
          }
          var _33 = _this+148+16;
          IHEAP[_33] = 1;
          IHEAP[_27] = _23;
          IHEAP[_13] = _iftmp_322_0_i_i15;
          var __pre6_i36 = IHEAP[_11];
          __lastLabel__ = 856; ;
        }
        else {
          __lastLabel__ = 2; ;
        }
      } while(0);
      var _34 = __lastLabel__ == 856 ? __pre6_i36 : (__lastLabel__ == 2 ? _12 : (_12));
      var _35 = _34 + 1;
      IHEAP[_11] = _35;
      var _36 = _this+148+12;
      var _37 = IHEAP[_36];
      var _38 = _1+20*_leftChildNodexIndex;
      var _39 = IHEAP[_38];
      var _40 = _37+36*_12;
      IHEAP[_40] = _39;
      var _41 = _1+20*_leftChildNodexIndex+2;
      var _42 = IHEAP[_41];
      var _43 = _37+36*_12+2;
      IHEAP[_43] = _42;
      var _44 = _1+20*_leftChildNodexIndex+4;
      var _45 = IHEAP[_44];
      var _46 = _37+36*_12+4;
      IHEAP[_46] = _45;
      var _47 = _1+20*_leftChildNodexIndex+8;
      var _48 = IHEAP[_47];
      var _49 = _37+36*_12+8;
      IHEAP[_49] = _48;
      var _50 = _1+20*_leftChildNodexIndex+8+2;
      var _51 = IHEAP[_50];
      var _52 = _37+36*_12+8+2;
      IHEAP[_52] = _51;
      var _53 = _1+20*_leftChildNodexIndex+8+4;
      var _54 = IHEAP[_53];
      var _55 = _37+36*_12+8+4;
      IHEAP[_55] = _54;
      var _56 = _37+36*_12+16;
      IHEAP[_56] = _leftChildNodexIndex;
      var _57 = _37+36*_12+20;
      IHEAP[_57] = __;
      ;
    }
    var _58 = _9 < 2049;
    ;
    if (_58) {
      ;
      var _59 = _this+148+4;
      var _60 = IHEAP[_59];
      var _61 = _this+148+8;
      var _62 = IHEAP[_61];
      var _63 = _62 == _60;
      ;
      _bb_i$__ZN20btAlignedObjectArrayI16btBvhSubtreeInfoE6expandERKS0__exit$3852: do { 
        if (_63) {
          __lastLabel__ = 62; ;
          var _64 = _60 == 0;
          var _65 = _60 << 1;
          var _iftmp_322_0_i_i = _64 ? 1 : _65;
          var _66 = _62 < _iftmp_322_0_i_i;
          if (_66) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 859; /* __ZN20btAlignedObjectArrayI16btBvhSubtreeInfoE6expandERKS0__exit */ break _bb_i$__ZN20btAlignedObjectArrayI16btBvhSubtreeInfoE6expandERKS0__exit$3852; }
          var _67 = _iftmp_322_0_i_i == 0;
          ;
          if (_67) {
            __lastLabel__ = 263; ;
          }
          else {
            __lastLabel__ = 263; ;
            var _68 = _iftmp_322_0_i_i << 5;
            var _69 = __Z22btAlignedAllocInternalji(_68, 16);
            var _phitmp_i_i = _69;
            var __pre_i = IHEAP[_59];
            __lastLabel__ = 274; ;
          }
          var _70 = __lastLabel__ == 274 ? __pre_i : (_60);
          var _71 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
          var _72 = _70 > 0;
          ;
          _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayI16btBvhSubtreeInfoE4copyEiiPS0__exit_i_i$3858: do { 
            if (_72) {
              ;
              var _73 = _this+148+12;
              __lastLabel__ = 276; ;
              _bb_i4_i_i$3860: while(1) { // _bb_i4_i_i
                var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
                var _scevgep97 = _71+36*_indvar_i_i_i;
                var _scevgep5_i_i_i = _scevgep97;
                var _74 = IHEAP[_73];
                var _scevgep = _74+36*_indvar_i_i_i;
                var _scevgep67_i_i_i = _scevgep;
                _llvm_memcpy_p0i8_p0i8_i32(_scevgep5_i_i_i, _scevgep67_i_i_i, 32, 4, false);
                var _indvar_next_i_i_i = _indvar_i_i_i + 1;
                var _exitcond = _indvar_next_i_i_i == _70;
                if (_exitcond) { __lastLabel__ = 277; __label__ = 833; /* __ZNK20btAlignedObjectArrayI16btBvhSubtreeInfoE4copyEiiPS0__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayI16btBvhSubtreeInfoE4copyEiiPS0__exit_i_i$3858; } else { __lastLabel__ = 277; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$3860; }
              }
            }
          } while(0);
          var _75 = _this+148+12;
          var _76 = IHEAP[_75];
          var _77 = _76 == 0;
          ;
          if (!_77) {
            ;
            var _78 = _this+148+16;
            var _79 = IHEAP[_78];
            var _toBool_i_i_i = _79 == 0;
            ;
            if (!_toBool_i_i_i) {
              ;
              var _80 = _76;
              __Z21btAlignedFreeInternalPv(_80);
              ;
            }
            IHEAP[_75] = 0;
            ;
          }
          var _81 = _this+148+16;
          IHEAP[_81] = 1;
          IHEAP[_75] = _71;
          IHEAP[_61] = _iftmp_322_0_i_i;
          var __pre6_i = IHEAP[_59];
          __lastLabel__ = 863; ;
        }
        else {
          __lastLabel__ = 62; ;
        }
      } while(0);
      var _82 = __lastLabel__ == 863 ? __pre6_i : (__lastLabel__ == 62 ? _60 : (_60));
      var _83 = _82 + 1;
      IHEAP[_59] = _83;
      var _84 = _this+148+12;
      var _85 = IHEAP[_84];
      var _86 = _1+20*_rightChildNodexIndex;
      var _87 = IHEAP[_86];
      var _88 = _85+36*_60;
      IHEAP[_88] = _87;
      var _89 = _1+20*_rightChildNodexIndex+2;
      var _90 = IHEAP[_89];
      var _91 = _85+36*_60+2;
      IHEAP[_91] = _90;
      var _92 = _1+20*_rightChildNodexIndex+4;
      var _93 = IHEAP[_92];
      var _94 = _85+36*_60+4;
      IHEAP[_94] = _93;
      var _95 = _1+20*_rightChildNodexIndex+8;
      var _96 = IHEAP[_95];
      var _97 = _85+36*_60+8;
      IHEAP[_97] = _96;
      var _98 = _1+20*_rightChildNodexIndex+8+2;
      var _99 = IHEAP[_98];
      var _100 = _85+36*_60+8+2;
      IHEAP[_100] = _99;
      var _101 = _1+20*_rightChildNodexIndex+8+4;
      var _102 = IHEAP[_101];
      var _103 = _85+36*_60+8+4;
      IHEAP[_103] = _102;
      var _104 = _85+36*_60+16;
      IHEAP[_104] = _rightChildNodexIndex;
      var _105 = _85+36*_60+20;
      IHEAP[_105] = __104;
      ;
    }
    var _106 = _this+148+4;
    var _107 = IHEAP[_106];
    var _108 = _this+168;
    IHEAP[_108] = _107;
    ;
    return;
  }
  __ZN14btQuantizedBvh20updateSubtreeHeadersEii.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvh20updateSubtreeHeadersEii, "__ZN14btQuantizedBvh20updateSubtreeHeadersEii");
  
  
  function __ZN14btQuantizedBvh9buildTreeEii(_this, _startIndex, _endIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = _endIndex - _startIndex;
    var _3 = _this+56;
    var _4 = IHEAP[_3];
    var _5 = _2 == 1;
    ;
    if (_5) {
      ;
      var _6 = _this+60;
      var _7 = IHEAP[_6];
      var _toBool_i = _7 == 0;
      ;
      if (_toBool_i) {
        ;
        var _33 = _this+84+12;
        var _34 = IHEAP[_33];
        var _35 = _34+64*_4;
        var _36 = _this+64+12;
        var _37 = IHEAP[_36];
        var _38 = _37+64*_startIndex;
        var _39 = _35;
        var _40 = _38;
        _llvm_memcpy_p0i8_p0i8_i32(_39, _40, 64, 4, false);
        ;
      }
      else {
        ;
        var _8 = _this+124+12;
        var _9 = IHEAP[_8];
        var _10 = _this+104+12;
        var _11 = IHEAP[_10];
        var _12 = _9+20*_4;
        var _13 = _11+20*_startIndex;
        var _14 = IHEAP[_13];
        IHEAP[_12] = _14;
        var _15 = _9+20*_4+2;
        var _16 = _11+20*_startIndex+2;
        var _17 = IHEAP[_16];
        IHEAP[_15] = _17;
        var _18 = _9+20*_4+4;
        var _19 = _11+20*_startIndex+4;
        var _20 = IHEAP[_19];
        IHEAP[_18] = _20;
        var _21 = _9+20*_4+8;
        var _22 = _11+20*_startIndex+8;
        var _23 = IHEAP[_22];
        IHEAP[_21] = _23;
        var _24 = _9+20*_4+8+2;
        var _25 = _11+20*_startIndex+8+2;
        var _26 = IHEAP[_25];
        IHEAP[_24] = _26;
        var _27 = _9+20*_4+8+4;
        var _28 = _11+20*_startIndex+8+4;
        var _29 = IHEAP[_28];
        IHEAP[_27] = _29;
        var _30 = _9+20*_4+16;
        var _31 = _11+20*_startIndex+16;
        var _32 = IHEAP[_31];
        IHEAP[_30] = _32;
        ;
      }
      var _41 = IHEAP[_3];
      var _42 = _41 + 1;
      IHEAP[_3] = _42;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      var _43 = __ZN14btQuantizedBvh17calcSplittingAxisEii(_this, _startIndex, _endIndex);
      var _44 = __ZN14btQuantizedBvh25sortAndCalcSplittingIndexEiii(_this, _startIndex, _endIndex, _43);
      var _45 = IHEAP[_3];
      var _46 = _this+60;
      var _47 = IHEAP[_46];
      var _toBool_i9 = _47 == 0;
      ;
      if (_toBool_i9) {
        ;
        var _83 = _this+84+12;
        var _84 = IHEAP[_83];
        var _85 = _84+64*_45;
        var _86 = _this+20;
        var _87 = FHEAP[_86];
        FHEAP[_85] = _87;
        var _88 = _84+64*_45+4;
        var _89 = _this+20+4;
        var _90 = FHEAP[_89];
        FHEAP[_88] = _90;
        var _91 = _84+64*_45+8;
        var _92 = _this+20+8;
        var _93 = FHEAP[_92];
        FHEAP[_91] = _93;
        var _94 = _84+64*_45+12;
        var _95 = _this+20+12;
        var _96 = FHEAP[_95];
        FHEAP[_94] = _96;
        ;
      }
      else {
        ;
        var _48 = _this+124+12;
        var _49 = IHEAP[_48];
        var _50 = _49+20*_45;
        var _51 = _this+20+8;
        var _52 = FHEAP[_51];
        var _53 = _this+4+8;
        var _54 = FHEAP[_53];
        var _55 = _52 - _54;
        var _56 = _this+20+4;
        var _57 = FHEAP[_56];
        var _58 = _this+4+4;
        var _59 = FHEAP[_58];
        var _60 = _57 - _59;
        var _61 = _this+20;
        var _62 = FHEAP[_61];
        var _63 = _this+4;
        var _64 = FHEAP[_63];
        var _65 = _62 - _64;
        var _66 = _this+36+8;
        var _67 = FHEAP[_66];
        var _68 = _55 * _67;
        var _69 = _this+36+4;
        var _70 = FHEAP[_69];
        var _71 = _60 * _70;
        var _72 = _this+36;
        var _73 = FHEAP[_72];
        var _74 = _65 * _73;
        var _75 = Math.floor(_74);
        var _76 = _75 & -2;
        IHEAP[_50] = _76;
        var _77 = Math.floor(_71);
        var _78 = _77 & -2;
        var _79 = _49+20*_45+2;
        IHEAP[_79] = _78;
        var _80 = Math.floor(_68);
        var _81 = _80 & -2;
        var _82 = _49+20*_45+4;
        IHEAP[_82] = _81;
        ;
      }
      var _97 = IHEAP[_3];
      var _98 = IHEAP[_46];
      var _toBool_i12 = _98 == 0;
      ;
      if (_toBool_i12) {
        ;
        var _131 = _this+84+12;
        var _132 = IHEAP[_131];
        var _133 = _132+64*_97+16;
        var _134 = _this+4;
        var _135 = FHEAP[_134];
        FHEAP[_133] = _135;
        var _136 = _132+64*_97+16+4;
        var _137 = _this+4+4;
        var _138 = FHEAP[_137];
        FHEAP[_136] = _138;
        var _139 = _132+64*_97+16+8;
        var _140 = _this+4+8;
        var _141 = FHEAP[_140];
        FHEAP[_139] = _141;
        var _142 = _132+64*_97+16+12;
        var _143 = _this+4+12;
        var _144 = FHEAP[_143];
        FHEAP[_142] = _144;
        ;
      }
      else {
        ;
        var _99 = _this+124+12;
        var _100 = IHEAP[_99];
        var _101 = _100+20*_97+8;
        var _102 = _this+4+8;
        var _103 = FHEAP[_102];
        var _104 = _103 - _103;
        var _105 = _this+4+4;
        var _106 = FHEAP[_105];
        var _107 = _106 - _106;
        var _108 = _this+4;
        var _109 = FHEAP[_108];
        var _110 = _109 - _109;
        var _111 = _this+36+8;
        var _112 = FHEAP[_111];
        var _113 = _104 * _112;
        var _114 = _this+36+4;
        var _115 = FHEAP[_114];
        var _116 = _107 * _115;
        var _117 = _this+36;
        var _118 = FHEAP[_117];
        var _119 = _110 * _118;
        var _120 = _119 + 1;
        var _121 = Math.floor(_120);
        var _122 = _121 | 1;
        IHEAP[_101] = _122;
        var _123 = _116 + 1;
        var _124 = Math.floor(_123);
        var _125 = _124 | 1;
        var _126 = _100+20*_97+8+2;
        IHEAP[_126] = _125;
        var _127 = _113 + 1;
        var _128 = Math.floor(_127);
        var _129 = _128 | 1;
        var _130 = _100+20*_97+8+4;
        IHEAP[_130] = _129;
        ;
      }
      var _145 = _startIndex < _endIndex;
      ;
      _bb_nph$_bb4$3887: do { 
        if (_145) {
          ;
          var _146 = _this+64+12;
          var _147 = _1;
          var _148 = _1+4;
          var _149 = _1+8;
          var _150 = _1+12;
          var _151 = _0;
          var _152 = _0+4;
          var _153 = _0+8;
          var _154 = _0+12;
          var _155 = _this+104+12;
          var _156 = _this+36+8;
          var _157 = _this+36+4;
          var _158 = _this+36;
          var _159 = _this+4;
          var _160 = _this+4+4;
          var _161 = _this+4+8;
          __lastLabel__ = 130; ;
          _bb2$3889: while(1) { // _bb2
            var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
            var _tmp25 = _indvar + _startIndex;
            var _162 = IHEAP[_46];
            var _toBool_i15 = _162 == 0;
            ;
            if (_toBool_i15) {
              ;
              var _201 = IHEAP[_146];
              var _scevgep28 = _201+64*_tmp25+16;
              var _202 = FHEAP[_scevgep28];
              FHEAP[_147] = _202;
              var _scevgep29 = _201+64*_tmp25+16+4;
              var _203 = FHEAP[_scevgep29];
              FHEAP[_148] = _203;
              var _scevgep30 = _201+64*_tmp25+16+8;
              var _204 = FHEAP[_scevgep30];
              FHEAP[_149] = _204;
              var _scevgep31 = _201+64*_tmp25+16+12;
              var _205 = FHEAP[_scevgep31];
              FHEAP[_150] = _205;
              var _206 = IHEAP[_146];
              var _scevgep3637 = _206+64*_tmp25;
              var _207 = FHEAP[_scevgep3637];
              FHEAP[_151] = _207;
              var _scevgep38 = _206+64*_tmp25+4;
              var _208 = FHEAP[_scevgep38];
              FHEAP[_152] = _208;
              var _scevgep39 = _206+64*_tmp25+8;
              var _209 = FHEAP[_scevgep39];
              FHEAP[_153] = _209;
              var _scevgep40 = _206+64*_tmp25+12;
              var _210 = FHEAP[_scevgep40];
              FHEAP[_154] = _210;
              ;
            }
            else {
              ;
              var _163 = IHEAP[_155];
              var _scevgep26 = _163+20*_tmp25+8+4;
              var _164 = IHEAP[_scevgep26];
              var _165 = unSign(_164, 16);
              var _166 = FHEAP[_156];
              var _167 = _165 / _166;
              var _scevgep27 = _163+20*_tmp25+8+2;
              var _168 = IHEAP[_scevgep27];
              var _169 = unSign(_168, 16);
              var _170 = FHEAP[_157];
              var _171 = _169 / _170;
              var _scevgep = _163+20*_tmp25+8;
              var _172 = IHEAP[_scevgep];
              var _173 = unSign(_172, 16);
              var _174 = FHEAP[_158];
              var _175 = _173 / _174;
              FHEAP[_150] = 0;
              var _176 = FHEAP[_159];
              var _177 = _175 + _176;
              FHEAP[_147] = _177;
              var _178 = FHEAP[_160];
              var _179 = _171 + _178;
              FHEAP[_148] = _179;
              var _180 = FHEAP[_161];
              var _181 = _167 + _180;
              FHEAP[_149] = _181;
              var _182 = IHEAP[_155];
              var _scevgep34 = _182+20*_tmp25+4;
              var _183 = IHEAP[_scevgep34];
              var _184 = unSign(_183, 16);
              var _185 = FHEAP[_156];
              var _186 = _184 / _185;
              var _scevgep35 = _182+20*_tmp25+2;
              var _187 = IHEAP[_scevgep35];
              var _188 = unSign(_187, 16);
              var _189 = FHEAP[_157];
              var _190 = _188 / _189;
              var _scevgep3233 = _182+20*_tmp25;
              var _191 = IHEAP[_scevgep3233];
              var _192 = unSign(_191, 16);
              var _193 = FHEAP[_158];
              var _194 = _192 / _193;
              FHEAP[_154] = 0;
              var _195 = FHEAP[_159];
              var _196 = _194 + _195;
              FHEAP[_151] = _196;
              var _197 = FHEAP[_160];
              var _198 = _190 + _197;
              FHEAP[_152] = _198;
              var _199 = FHEAP[_161];
              var _200 = _186 + _199;
              FHEAP[_153] = _200;
              ;
            }
            var _211 = IHEAP[_3];
            __ZN14btQuantizedBvh21mergeInternalNodeAabbEiRK9btVector3S2_(_this, _211, _0, _1);
            var _indvar_next = _indvar + 1;
            var _exitcond = _indvar_next == _2;
            if (_exitcond) { __lastLabel__ = 870; __label__ = 61; /* _bb4 */ break _bb_nph$_bb4$3887; } else { __lastLabel__ = 870; __label__ = 0; /* _bb2 */ continue _bb2$3889; }
          }
        }
      } while(0);
      var _212 = IHEAP[_3];
      var _213 = _212 + 1;
      IHEAP[_3] = _213;
      __ZN14btQuantizedBvh9buildTreeEii(_this, _startIndex, _44);
      var _214 = IHEAP[_3];
      __ZN14btQuantizedBvh9buildTreeEii(_this, _44, _endIndex);
      var _215 = IHEAP[_3];
      var _216 = _215 - _4;
      var _217 = IHEAP[_46];
      var _toBool = _217 == 0;
      ;
      _bb1_i23$_bb5$3896: do { 
        if (!_toBool) {
          ;
          var _218 = _216 << 4;
          var _219 = _218 > 2048;
          ;
          if (_219) {
            ;
            __ZN14btQuantizedBvh20updateSubtreeHeadersEii(_this, _213, _214);
            var __pre = IHEAP[_46];
            var _toBool_i21 = __pre == 0;
            if (_toBool_i21) { __label__ = 871; /* _bb1_i23 */ break _bb1_i23$_bb5$3896; }
          }
          var _220 = _this+124+12;
          var _221 = IHEAP[_220];
          var _222 = 0 - _216;
          var _223 = _221+20*_45+16;
          IHEAP[_223] = _222;
          STACKTOP = __stackBase__;
          return;
        }
      } while(0);
      var _224 = _this+84+12;
      var _225 = IHEAP[_224];
      var _226 = _225+64*_45+32;
      IHEAP[_226] = _216;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN14btQuantizedBvh9buildTreeEii.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvh9buildTreeEii, "__ZN14btQuantizedBvh9buildTreeEii");
  
  
  function __ZN14btQuantizedBvh13buildInternalEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+60;
    IHEAP[_0] = 1;
    var _1 = _this+104+4;
    var _2 = IHEAP[_1];
    var _3 = _2 << 1;
    var _4 = _this+124+4;
    var _5 = IHEAP[_4];
    var _6 = _5 < _3;
    ;
    _bb_nph_i$__ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE6resizeEiRKS0__exit$3903: do { 
      if (_6) {
        ;
        var _7 = _this+124;
        __ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE7reserveEi(_7, _3);
        var _8 = _this+124+12;
        var _tmp61 = _3 - _5;
        __lastLabel__ = 418; ;
        _bb7_i$3905: while(1) { // _bb7_i
          var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
          var _tmp63 = _5 + _indvar_i;
          var _9 = IHEAP[_8];
          var _scevgep15_i = _9+20*_tmp63;
          var _indvar_next_i = _indvar_i + 1;
          var _exitcond62 = _indvar_next_i == _tmp61;
          var _scevgep15_i72 = _scevgep15_i;
          _llvm_memset_p0i8_i64(_scevgep15_i72, 0, 16, 4, false);
          if (_exitcond62) { __lastLabel__ = 137; __label__ = 829; /* __ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE6resizeEiRKS0__exit */ break _bb_nph_i$__ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE6resizeEiRKS0__exit$3903; } else { __lastLabel__ = 137; __label__ = 137; /* _bb7_i */ continue _bb7_i$3905; }
        }
      }
    } while(0);
    IHEAP[_4] = _3;
    var _10 = _this+56;
    IHEAP[_10] = 0;
    __ZN14btQuantizedBvh9buildTreeEii(_this, 0, _2);
    var _11 = IHEAP[_0];
    var _toBool2not = _11 == 0;
    ;
    _bb16$_bb6$3908: do { 
      if (!_toBool2not) {
        ;
        var _12 = _this+148+4;
        var _13 = IHEAP[_12];
        var _14 = _13 == 0;
        if (!(_14)) { __label__ = 154; /* _bb16 */ break _bb16$_bb6$3908; }
        var _15 = _this+148+8;
        var _16 = IHEAP[_15];
        var _17 = _16 == _13;
        var _18 = _16 < 1;
        var _or_cond = _17 & _18;
        ;
        if (_or_cond) {
          __lastLabel__ = 292; ;
          var _19 = __Z22btAlignedAllocInternalji(32, 16);
          var _phitmp_i_i = _19;
          var __pre_i = IHEAP[_12];
          var _20 = __pre_i > 0;
          ;
          _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayI16btBvhSubtreeInfoE4copyEiiPS0__exit_i_i$3913: do { 
            if (_20) {
              ;
              var _21 = _this+148+12;
              __lastLabel__ = 276; ;
              _bb_i4_i_i$3915: while(1) { // _bb_i4_i_i
                var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
                var _scevgep59 = _phitmp_i_i+36*_indvar_i_i_i;
                var _scevgep5_i_i_i = _scevgep59;
                var _22 = IHEAP[_21];
                var _scevgep = _22+36*_indvar_i_i_i;
                var _scevgep67_i_i_i = _scevgep;
                _llvm_memcpy_p0i8_p0i8_i32(_scevgep5_i_i_i, _scevgep67_i_i_i, 32, 4, false);
                var _indvar_next_i_i_i = _indvar_i_i_i + 1;
                var _exitcond = _indvar_next_i_i_i == __pre_i;
                if (_exitcond) { __lastLabel__ = 277; __label__ = 833; /* __ZNK20btAlignedObjectArrayI16btBvhSubtreeInfoE4copyEiiPS0__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayI16btBvhSubtreeInfoE4copyEiiPS0__exit_i_i$3913; } else { __lastLabel__ = 277; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$3915; }
              }
            }
          } while(0);
          var _23 = _this+148+12;
          var _24 = IHEAP[_23];
          var _25 = _24 == 0;
          ;
          if (!_25) {
            ;
            var _26 = _this+148+16;
            var _27 = IHEAP[_26];
            var _toBool_i_i_i = _27 == 0;
            ;
            if (!_toBool_i_i_i) {
              ;
              var _28 = _24;
              __Z21btAlignedFreeInternalPv(_28);
              ;
            }
            IHEAP[_23] = 0;
            ;
          }
          var _29 = _this+148+16;
          IHEAP[_29] = 1;
          IHEAP[_23] = _phitmp_i_i;
          IHEAP[_15] = 1;
          var __pre6_i = IHEAP[_12];
          __lastLabel__ = 863; ;
        }
        else {
          __lastLabel__ = 292; ;
        }
        var _30 = __lastLabel__ == 863 ? __pre6_i : (0);
        var _31 = _30 + 1;
        IHEAP[_12] = _31;
        var _32 = _this+148+12;
        var _33 = IHEAP[_32];
        var _34 = _this+124+12;
        var _35 = IHEAP[_34];
        var _36 = _35;
        var _37 = IHEAP[_36];
        var _38 = _33+36*_13;
        IHEAP[_38] = _37;
        var _39 = _35+2;
        var _40 = IHEAP[_39];
        var _41 = _33+36*_13+2;
        IHEAP[_41] = _40;
        var _42 = _35+4;
        var _43 = IHEAP[_42];
        var _44 = _33+36*_13+4;
        IHEAP[_44] = _43;
        var _45 = _35+8;
        var _46 = IHEAP[_45];
        var _47 = _33+36*_13+8;
        IHEAP[_47] = _46;
        var _48 = _35+8+2;
        var _49 = IHEAP[_48];
        var _50 = _33+36*_13+8+2;
        IHEAP[_50] = _49;
        var _51 = _35+8+4;
        var _52 = IHEAP[_51];
        var _53 = _33+36*_13+8+4;
        IHEAP[_53] = _52;
        var _54 = _33+36*_13+16;
        IHEAP[_54] = 0;
        var _55 = IHEAP[_34];
        var _56 = _55+16;
        var _57 = IHEAP[_56];
        var _58 = 0 - _57;
        var _toBool12 = _57 < 0;
        var __ = _toBool12 ? _58 : 1;
        var _iftmp_221_0 = _toBool12 ? __ : __;
        var _59 = _33+36*_13+20;
        IHEAP[_59] = __;
        ;
      }
    } while(0);
    var _60 = _this+148+4;
    var _61 = IHEAP[_60];
    var _62 = _this+168;
    IHEAP[_62] = _61;
    var _63 = _this+104+12;
    var _64 = IHEAP[_63];
    var _65 = _64 == 0;
    ;
    if (!_65) {
      ;
      var _66 = _this+104+16;
      var _67 = IHEAP[_66];
      var _toBool_i_i17 = _67 == 0;
      ;
      if (!_toBool_i_i17) {
        ;
        var _68 = _64;
        __Z21btAlignedFreeInternalPv(_68);
        ;
      }
      IHEAP[_63] = 0;
      ;
    }
    var _69 = _this+104+16;
    IHEAP[_69] = 1;
    IHEAP[_63] = 0;
    IHEAP[_1] = 0;
    var _70 = _this+104+8;
    IHEAP[_70] = 0;
    var _71 = _this+64+12;
    var _72 = IHEAP[_71];
    var _73 = _72 == 0;
    ;
    if (!_73) {
      ;
      var _74 = _this+64+16;
      var _75 = IHEAP[_74];
      var _toBool_i_i = _75 == 0;
      ;
      if (!_toBool_i_i) {
        ;
        var _76 = _72;
        __Z21btAlignedFreeInternalPv(_76);
        ;
      }
      IHEAP[_71] = 0;
      ;
    }
    var _77 = _this+64+16;
    IHEAP[_77] = 1;
    IHEAP[_71] = 0;
    var _78 = _this+64+4;
    IHEAP[_78] = 0;
    var _79 = _this+64+8;
    IHEAP[_79] = 0;
    ;
    return;
  }
  __ZN14btQuantizedBvh13buildInternalEv.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvh13buildInternalEv, "__ZN14btQuantizedBvh13buildInternalEv");
  
  
  function __ZN14btQuantizedBvhD0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV14btQuantizedBvh+8;
    var _1 = _this+148+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$3941: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+148+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$3943: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$3943; } else { ; }
            var _eh_ptr45 = _llvm_eh_exception();
            var _eh_select47 = _llvm_eh_selector(_eh_ptr45, ___gxx_personality_v0, 0);
            var _50 = _this+124+12;
            var _51 = IHEAP[_50];
            var _52 = _51 == 0;
            ;
            if (!_52) {
              ;
              var _53 = _this+124+16;
              var _54 = IHEAP[_53];
              var _toBool_i_i_i93 = _54 == 0;
              ;
              _bb2_i_i_i96$_bb1_i_i_i95$3948: do { 
                if (!_toBool_i_i_i93) {
                  ;
                  var _55 = _51;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_55) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3812; /* _bb2_i_i_i96 */ break _bb2_i_i_i96$_bb1_i_i_i95$3948; } else { ; }
                  var _eh_ptr49 = _llvm_eh_exception();
                  var _eh_select51 = _llvm_eh_selector(_eh_ptr49, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_50] = 0;
              ;
            }
            var _56 = _this+124+16;
            IHEAP[_56] = 1;
            IHEAP[_50] = 0;
            var _57 = _this+124+4;
            IHEAP[_57] = 0;
            var _58 = _this+124+8;
            IHEAP[_58] = 0;
            __lastLabel__ = 889; __label__ = 887; /* _ppad65 */ break _bb3$_bb_i_i_i$3941;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$3941;
      }
    } while(0);
    _bb3$_ppad65$3954: do { 
      if (__label__ == 116) {
        var _7 = _this+148+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+148+4;
        IHEAP[_8] = 0;
        var _9 = _this+148+8;
        IHEAP[_9] = 0;
        var _10 = _this+124+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+124+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i72 = _14 == 0;
          ;
          _bb2_i_i_i75$_bb1_i_i_i74$3958: do { 
            if (!_toBool_i_i_i72) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3809; /* _bb2_i_i_i75 */ break _bb2_i_i_i75$_bb1_i_i_i74$3958; } else { ; }
              var _eh_ptr41 = _llvm_eh_exception();
              var _eh_select43 = _llvm_eh_selector(_eh_ptr41, ___gxx_personality_v0, 0);
              __lastLabel__ = 520; __label__ = 887; /* _ppad65 */ break _bb3$_ppad65$3954;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _16 = _this+124+16;
        IHEAP[_16] = 1;
        IHEAP[_10] = 0;
        var _17 = _this+124+4;
        IHEAP[_17] = 0;
        var _18 = _this+124+8;
        IHEAP[_18] = 0;
        var _19 = _this+104+12;
        var _20 = IHEAP[_19];
        var _21 = _20 == 0;
        ;
        if (!_21) {
          ;
          var _22 = _this+104+16;
          var _23 = IHEAP[_22];
          var _toBool_i_i_i77 = _23 == 0;
          ;
          _bb2_i_i_i80$_bb1_i_i_i79$3965: do { 
            if (!_toBool_i_i_i77) {
              ;
              var _24 = _20;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_24) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3810; /* _bb2_i_i_i80 */ break _bb2_i_i_i80$_bb1_i_i_i79$3965; } else { ; }
              var _eh_ptr37 = _llvm_eh_exception();
              var _eh_select39 = _llvm_eh_selector(_eh_ptr37, ___gxx_personality_v0, 0);
              __lastLabel__ = 680; __label__ = 886; /* _ppad64 */ break _bb3$_ppad65$3954;
            }
          } while(0);
          IHEAP[_19] = 0;
          ;
        }
        var _25 = _this+104+16;
        IHEAP[_25] = 1;
        IHEAP[_19] = 0;
        var _26 = _this+104+4;
        IHEAP[_26] = 0;
        var _27 = _this+104+8;
        IHEAP[_27] = 0;
        var _28 = _this+84+12;
        var _29 = IHEAP[_28];
        var _30 = _29 == 0;
        ;
        if (!_30) {
          ;
          var _31 = _this+84+16;
          var _32 = IHEAP[_31];
          var _toBool_i_i_i83 = _32 == 0;
          ;
          _bb2_i_i_i86$_bb1_i_i_i85$3972: do { 
            if (!_toBool_i_i_i83) {
              ;
              var _33 = _29;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_33) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3811; /* _bb2_i_i_i86 */ break _bb2_i_i_i86$_bb1_i_i_i85$3972; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select35 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad65$3954;
            }
          } while(0);
          IHEAP[_28] = 0;
          ;
        }
        var _37 = _this+84+16;
        IHEAP[_37] = 1;
        IHEAP[_28] = 0;
        var _38 = _this+84+4;
        IHEAP[_38] = 0;
        var _39 = _this+84+8;
        IHEAP[_39] = 0;
        var _40 = _this+64+12;
        var _41 = IHEAP[_40];
        var _42 = _41 == 0;
        ;
        if (!_42) {
          ;
          var _43 = _this+64+16;
          var _44 = IHEAP[_43];
          var _toBool_i_i_i88 = _44 == 0;
          ;
          if (!_toBool_i_i_i88) {
            ;
            var _45 = _41;
            __Z21btAlignedFreeInternalPv(_45);
            ;
          }
          IHEAP[_40] = 0;
          ;
        }
        var _46 = _this+64+16;
        IHEAP[_46] = 1;
        IHEAP[_40] = 0;
        var _47 = _this+64+4;
        IHEAP[_47] = 0;
        var _48 = _this+64+8;
        IHEAP[_48] = 0;
        var _49 = _this;
        __Z21btAlignedFreeInternalPv(_49);
        ;
        return;
      }
    } while(0);
    _ppad$_ppad64$_ppad65$3983: do { 
      if (__label__ == 887) {
        var _eh_exception_0 = __lastLabel__ == 520 ? _eh_ptr41 : (_eh_ptr45);
        var _74 = _this+104+12;
        var _75 = IHEAP[_74];
        var _76 = _75 == 0;
        ;
        if (!_76) {
          ;
          var _77 = _this+104+16;
          var _78 = IHEAP[_77];
          var _toBool_i_i_i111 = _78 == 0;
          ;
          _bb2_i_i_i114$_bb1_i_i_i113$3987: do { 
            if (!_toBool_i_i_i111) {
              ;
              var _79 = _75;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_79) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3815; /* _bb2_i_i_i114 */ break _bb2_i_i_i114$_bb1_i_i_i113$3987; } else { ; }
              var _eh_ptr53 = _llvm_eh_exception();
              var _eh_select55 = _llvm_eh_selector(_eh_ptr53, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_74] = 0;
          ;
        }
        var _80 = _this+104+16;
        IHEAP[_80] = 1;
        IHEAP[_74] = 0;
        var _81 = _this+104+4;
        IHEAP[_81] = 0;
        var _82 = _this+104+8;
        IHEAP[_82] = 0;
        __lastLabel__ = 895; __label__ = 886; /* _ppad64 */ break _ppad$_ppad64$_ppad65$3983;
      }
    } while(0);
    if (__label__ == 886) {
      var _eh_exception_1 = __lastLabel__ == 680 ? _eh_ptr37 : (_eh_exception_0);
      var _65 = _this+84+12;
      var _66 = IHEAP[_65];
      var _67 = _66 == 0;
      ;
      if (!_67) {
        ;
        var _68 = _this+84+16;
        var _69 = IHEAP[_68];
        var _toBool_i_i_i105 = _69 == 0;
        ;
        _bb2_i_i_i108$_bb1_i_i_i107$3996: do { 
          if (!_toBool_i_i_i105) {
            ;
            var _70 = _66;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_70) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3814; /* _bb2_i_i_i108 */ break _bb2_i_i_i108$_bb1_i_i_i107$3996; } else { ; }
            var _eh_ptr57 = _llvm_eh_exception();
            var _eh_select59 = _llvm_eh_selector(_eh_ptr57, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_65] = 0;
        ;
      }
      var _71 = _this+84+16;
      IHEAP[_71] = 1;
      IHEAP[_65] = 0;
      var _72 = _this+84+4;
      IHEAP[_72] = 0;
      var _73 = _this+84+8;
      IHEAP[_73] = 0;
      __lastLabel__ = 892; ;
    }
    var _eh_exception_2 = __lastLabel__ == 254 ? _eh_ptr : (_eh_exception_1);
    var _59 = _this+64+12;
    var _60 = IHEAP[_59];
    var _61 = _60 == 0;
    ;
    if (!_61) {
      ;
      var _62 = _this+64+16;
      var _63 = IHEAP[_62];
      var _toBool_i_i_i99 = _63 == 0;
      ;
      _bb2_i_i_i102$_bb1_i_i_i101$4004: do { 
        if (!_toBool_i_i_i99) {
          ;
          var _64 = _60;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_64) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3813; /* _bb2_i_i_i102 */ break _bb2_i_i_i102$_bb1_i_i_i101$4004; } else { ; }
          var _eh_ptr61 = _llvm_eh_exception();
          var _eh_select63 = _llvm_eh_selector(_eh_ptr61, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_59] = 0;
      ;
    }
    var _34 = _this+64+16;
    IHEAP[_34] = 1;
    IHEAP[_59] = 0;
    var _35 = _this+64+4;
    IHEAP[_35] = 0;
    var _36 = _this+64+8;
    IHEAP[_36] = 0;
    __Unwind_Resume_or_Rethrow(_eh_exception_2);
    // unreachable
  }
  __ZN14btQuantizedBvhD0Ev.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvhD0Ev, "__ZN14btQuantizedBvhD0Ev");
  
  
  function __ZNK14btQuantizedBvh9serializeEPvjb(_this, _o_alignedDataBuffer, _unnamed_arg, _i_swapEndian) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+148+4;
    var _1 = IHEAP[_0];
    var _2 = _this+168;
    IHEAP[_2] = _1;
    var _3 = _o_alignedDataBuffer;
    IHEAP[_3] = __ZTV14btQuantizedBvh+8;
    var _4 = _o_alignedDataBuffer+52;
    var _5 = _4;
    IHEAP[_5] = 277;
    var _6 = _o_alignedDataBuffer+60;
    IHEAP[_6] = 0;
    var _7 = _o_alignedDataBuffer+80;
    IHEAP[_7] = 1;
    var _8 = _o_alignedDataBuffer+76;
    var _9 = _8;
    IHEAP[_9] = 0;
    var _10 = _o_alignedDataBuffer+68;
    var _11 = _10;
    IHEAP[_11] = 0;
    var _12 = _o_alignedDataBuffer+72;
    var _13 = _12;
    IHEAP[_13] = 0;
    var _14 = _o_alignedDataBuffer+100;
    IHEAP[_14] = 1;
    var _15 = _o_alignedDataBuffer+96;
    var _16 = _15;
    IHEAP[_16] = 0;
    var _17 = _o_alignedDataBuffer+88;
    var _18 = _17;
    IHEAP[_18] = 0;
    var _19 = _o_alignedDataBuffer+92;
    var _20 = _19;
    IHEAP[_20] = 0;
    var _21 = _o_alignedDataBuffer+120;
    IHEAP[_21] = 1;
    var _22 = _o_alignedDataBuffer+116;
    var _23 = _22;
    IHEAP[_23] = 0;
    var _24 = _o_alignedDataBuffer+108;
    var _25 = _24;
    IHEAP[_25] = 0;
    var _26 = _o_alignedDataBuffer+112;
    var _27 = _26;
    IHEAP[_27] = 0;
    var _28 = _o_alignedDataBuffer+140;
    IHEAP[_28] = 1;
    var _29 = _o_alignedDataBuffer+136;
    var _30 = _29;
    IHEAP[_30] = 0;
    var _31 = _o_alignedDataBuffer+128;
    var _32 = _31;
    IHEAP[_32] = 0;
    var _33 = _o_alignedDataBuffer+132;
    var _34 = _33;
    IHEAP[_34] = 0;
    var _35 = _o_alignedDataBuffer+144;
    var _36 = _35;
    IHEAP[_36] = 0;
    var _37 = _o_alignedDataBuffer+164;
    IHEAP[_37] = 1;
    var _38 = _o_alignedDataBuffer+160;
    var _39 = _38;
    IHEAP[_39] = 0;
    var _40 = _o_alignedDataBuffer+152;
    var _41 = _40;
    IHEAP[_41] = 0;
    var _42 = _o_alignedDataBuffer+156;
    var _43 = _42;
    IHEAP[_43] = 0;
    var _44 = _o_alignedDataBuffer+168;
    var _45 = _44;
    IHEAP[_45] = 0;
    var _46 = _o_alignedDataBuffer+4;
    var _47 = _46;
    FHEAP[_47] = -3.4028234663852886e+38;
    var _48 = _o_alignedDataBuffer+8;
    var _49 = _48;
    FHEAP[_49] = -3.4028234663852886e+38;
    var _50 = _o_alignedDataBuffer+12;
    var _51 = _50;
    FHEAP[_51] = -3.4028234663852886e+38;
    var _52 = _o_alignedDataBuffer+16;
    var _53 = _52;
    FHEAP[_53] = 0;
    var _54 = _o_alignedDataBuffer+20;
    var _55 = _54;
    FHEAP[_55] = 3.4028234663852886e+38;
    var _56 = _o_alignedDataBuffer+24;
    var _57 = _56;
    FHEAP[_57] = 3.4028234663852886e+38;
    var _58 = _o_alignedDataBuffer+28;
    var _59 = _58;
    FHEAP[_59] = 3.4028234663852886e+38;
    var _60 = _o_alignedDataBuffer+32;
    var _61 = _60;
    FHEAP[_61] = 0;
    var _toBool = _i_swapEndian == 0;
    var _62 = _this+56;
    var _63 = IHEAP[_62];
    ;
    if (_toBool) {
      ;
      var _124 = _o_alignedDataBuffer+56;
      var _125 = _124;
      IHEAP[_125] = _63;
      var _126 = _this+4;
      var _127 = FHEAP[_126];
      FHEAP[_47] = _127;
      var _128 = _this+4+4;
      var _129 = FHEAP[_128];
      FHEAP[_49] = _129;
      var _130 = _this+4+8;
      var _131 = FHEAP[_130];
      FHEAP[_51] = _131;
      var _132 = _this+4+12;
      var _133 = FHEAP[_132];
      FHEAP[_53] = _133;
      var _134 = _this+20;
      var _135 = FHEAP[_134];
      FHEAP[_55] = _135;
      var _136 = _this+20+4;
      var _137 = FHEAP[_136];
      FHEAP[_57] = _137;
      var _138 = _this+20+8;
      var _139 = FHEAP[_138];
      FHEAP[_59] = _139;
      var _140 = _this+20+12;
      var _141 = FHEAP[_140];
      FHEAP[_61] = _141;
      var _142 = _o_alignedDataBuffer+36;
      var _143 = _142;
      var _144 = _this+36;
      var _145 = FHEAP[_144];
      FHEAP[_143] = _145;
      var _146 = _o_alignedDataBuffer+40;
      var _147 = _146;
      var _148 = _this+36+4;
      var _149 = FHEAP[_148];
      FHEAP[_147] = _149;
      var _150 = _o_alignedDataBuffer+44;
      var _151 = _150;
      var _152 = _this+36+8;
      var _153 = FHEAP[_152];
      FHEAP[_151] = _153;
      var _154 = _o_alignedDataBuffer+48;
      var _155 = _154;
      var _156 = _this+36+12;
      var _157 = FHEAP[_156];
      FHEAP[_155] = _157;
      var _158 = _this+144;
      var _159 = IHEAP[_158];
      IHEAP[_36] = _159;
      var _160 = IHEAP[_2];
      __lastLabel__ = 116; ;
    }
    else {
      ;
      var _64 = _llvm_bswap_i32(_63);
      var _65 = _o_alignedDataBuffer+56;
      var _66 = _65;
      IHEAP[_66] = _64;
      var _67 = _this+4;
      var _uglygep_i = _o_alignedDataBuffer+7;
      var _uglygep7_i = _o_alignedDataBuffer+6;
      var _uglygep10_i = _o_alignedDataBuffer+5;
      var _scevgep1314_i = _67;
      var _uglygep17_i = _scevgep1314_i+1;
      var _uglygep20_i = _scevgep1314_i+2;
      var _uglygep23_i = _scevgep1314_i+3;
      var _68 = IHEAP[_uglygep23_i];
      IHEAP[_46] = _68;
      var _69 = IHEAP[_uglygep20_i];
      IHEAP[_uglygep10_i] = _69;
      var _70 = IHEAP[_uglygep17_i];
      IHEAP[_uglygep7_i] = _70;
      var _71 = IHEAP[_scevgep1314_i];
      IHEAP[_uglygep_i] = _71;
      var _uglygep_1_i = _o_alignedDataBuffer+11;
      var _uglygep7_1_i = _o_alignedDataBuffer+10;
      var _uglygep10_1_i = _o_alignedDataBuffer+9;
      var _scevgep13_1_i = _this+4+4;
      var _scevgep1314_1_i = _scevgep13_1_i;
      var _uglygep17_1_i = _scevgep1314_1_i+1;
      var _uglygep20_1_i = _scevgep1314_1_i+2;
      var _uglygep23_1_i = _scevgep1314_1_i+3;
      var _72 = IHEAP[_uglygep23_1_i];
      IHEAP[_48] = _72;
      var _73 = IHEAP[_uglygep20_1_i];
      IHEAP[_uglygep10_1_i] = _73;
      var _74 = IHEAP[_uglygep17_1_i];
      IHEAP[_uglygep7_1_i] = _74;
      var _75 = IHEAP[_scevgep1314_1_i];
      IHEAP[_uglygep_1_i] = _75;
      var _uglygep_2_i = _o_alignedDataBuffer+15;
      var _uglygep7_2_i = _o_alignedDataBuffer+14;
      var _uglygep10_2_i = _o_alignedDataBuffer+13;
      var _scevgep13_2_i = _this+4+8;
      var _scevgep1314_2_i = _scevgep13_2_i;
      var _uglygep17_2_i = _scevgep1314_2_i+1;
      var _uglygep20_2_i = _scevgep1314_2_i+2;
      var _uglygep23_2_i = _scevgep1314_2_i+3;
      var _76 = IHEAP[_uglygep23_2_i];
      IHEAP[_50] = _76;
      var _77 = IHEAP[_uglygep20_2_i];
      IHEAP[_uglygep10_2_i] = _77;
      var _78 = IHEAP[_uglygep17_2_i];
      IHEAP[_uglygep7_2_i] = _78;
      var _79 = IHEAP[_scevgep1314_2_i];
      IHEAP[_uglygep_2_i] = _79;
      var _uglygep_3_i = _o_alignedDataBuffer+19;
      var _uglygep7_3_i = _o_alignedDataBuffer+18;
      var _uglygep10_3_i = _o_alignedDataBuffer+17;
      var _scevgep13_3_i = _this+4+12;
      var _scevgep1314_3_i = _scevgep13_3_i;
      var _uglygep17_3_i = _scevgep1314_3_i+1;
      var _uglygep20_3_i = _scevgep1314_3_i+2;
      var _uglygep23_3_i = _scevgep1314_3_i+3;
      var _80 = IHEAP[_uglygep23_3_i];
      IHEAP[_52] = _80;
      var _81 = IHEAP[_uglygep20_3_i];
      IHEAP[_uglygep10_3_i] = _81;
      var _82 = IHEAP[_uglygep17_3_i];
      IHEAP[_uglygep7_3_i] = _82;
      var _83 = IHEAP[_scevgep1314_3_i];
      IHEAP[_uglygep_3_i] = _83;
      var _84 = _this+20;
      var _uglygep_i44 = _o_alignedDataBuffer+23;
      var _uglygep7_i45 = _o_alignedDataBuffer+22;
      var _uglygep10_i46 = _o_alignedDataBuffer+21;
      var _scevgep1314_i47 = _84;
      var _uglygep17_i48 = _scevgep1314_i47+1;
      var _uglygep20_i49 = _scevgep1314_i47+2;
      var _uglygep23_i50 = _scevgep1314_i47+3;
      var _85 = IHEAP[_uglygep23_i50];
      IHEAP[_54] = _85;
      var _86 = IHEAP[_uglygep20_i49];
      IHEAP[_uglygep10_i46] = _86;
      var _87 = IHEAP[_uglygep17_i48];
      IHEAP[_uglygep7_i45] = _87;
      var _88 = IHEAP[_scevgep1314_i47];
      IHEAP[_uglygep_i44] = _88;
      var _uglygep_1_i53 = _o_alignedDataBuffer+27;
      var _uglygep7_1_i54 = _o_alignedDataBuffer+26;
      var _uglygep10_1_i55 = _o_alignedDataBuffer+25;
      var _scevgep13_1_i56 = _this+20+4;
      var _scevgep1314_1_i57 = _scevgep13_1_i56;
      var _uglygep17_1_i58 = _scevgep1314_1_i57+1;
      var _uglygep20_1_i59 = _scevgep1314_1_i57+2;
      var _uglygep23_1_i60 = _scevgep1314_1_i57+3;
      var _89 = IHEAP[_uglygep23_1_i60];
      IHEAP[_56] = _89;
      var _90 = IHEAP[_uglygep20_1_i59];
      IHEAP[_uglygep10_1_i55] = _90;
      var _91 = IHEAP[_uglygep17_1_i58];
      IHEAP[_uglygep7_1_i54] = _91;
      var _92 = IHEAP[_scevgep1314_1_i57];
      IHEAP[_uglygep_1_i53] = _92;
      var _uglygep_2_i63 = _o_alignedDataBuffer+31;
      var _uglygep7_2_i64 = _o_alignedDataBuffer+30;
      var _uglygep10_2_i65 = _o_alignedDataBuffer+29;
      var _scevgep13_2_i66 = _this+20+8;
      var _scevgep1314_2_i67 = _scevgep13_2_i66;
      var _uglygep17_2_i68 = _scevgep1314_2_i67+1;
      var _uglygep20_2_i69 = _scevgep1314_2_i67+2;
      var _uglygep23_2_i70 = _scevgep1314_2_i67+3;
      var _93 = IHEAP[_uglygep23_2_i70];
      IHEAP[_58] = _93;
      var _94 = IHEAP[_uglygep20_2_i69];
      IHEAP[_uglygep10_2_i65] = _94;
      var _95 = IHEAP[_uglygep17_2_i68];
      IHEAP[_uglygep7_2_i64] = _95;
      var _96 = IHEAP[_scevgep1314_2_i67];
      IHEAP[_uglygep_2_i63] = _96;
      var _uglygep_3_i73 = _o_alignedDataBuffer+35;
      var _uglygep7_3_i74 = _o_alignedDataBuffer+34;
      var _uglygep10_3_i75 = _o_alignedDataBuffer+33;
      var _scevgep13_3_i76 = _this+20+12;
      var _scevgep1314_3_i77 = _scevgep13_3_i76;
      var _uglygep17_3_i78 = _scevgep1314_3_i77+1;
      var _uglygep20_3_i79 = _scevgep1314_3_i77+2;
      var _uglygep23_3_i80 = _scevgep1314_3_i77+3;
      var _97 = IHEAP[_uglygep23_3_i80];
      IHEAP[_60] = _97;
      var _98 = IHEAP[_uglygep20_3_i79];
      IHEAP[_uglygep10_3_i75] = _98;
      var _99 = IHEAP[_uglygep17_3_i78];
      IHEAP[_uglygep7_3_i74] = _99;
      var _100 = IHEAP[_scevgep1314_3_i77];
      IHEAP[_uglygep_3_i73] = _100;
      var _101 = _o_alignedDataBuffer+36;
      var _102 = _this+36;
      var _uglygep_i82 = _o_alignedDataBuffer+39;
      var _uglygep7_i83 = _o_alignedDataBuffer+38;
      var _uglygep10_i84 = _o_alignedDataBuffer+37;
      var _scevgep1314_i85 = _102;
      var _uglygep17_i86 = _scevgep1314_i85+1;
      var _uglygep20_i87 = _scevgep1314_i85+2;
      var _uglygep23_i88 = _scevgep1314_i85+3;
      var _103 = IHEAP[_uglygep23_i88];
      IHEAP[_101] = _103;
      var _104 = IHEAP[_uglygep20_i87];
      IHEAP[_uglygep10_i84] = _104;
      var _105 = IHEAP[_uglygep17_i86];
      IHEAP[_uglygep7_i83] = _105;
      var _106 = IHEAP[_scevgep1314_i85];
      IHEAP[_uglygep_i82] = _106;
      var _scevgep_1_i89 = _o_alignedDataBuffer+40;
      var _uglygep_1_i91 = _o_alignedDataBuffer+43;
      var _uglygep7_1_i92 = _o_alignedDataBuffer+42;
      var _uglygep10_1_i93 = _o_alignedDataBuffer+41;
      var _scevgep13_1_i94 = _this+36+4;
      var _scevgep1314_1_i95 = _scevgep13_1_i94;
      var _uglygep17_1_i96 = _scevgep1314_1_i95+1;
      var _uglygep20_1_i97 = _scevgep1314_1_i95+2;
      var _uglygep23_1_i98 = _scevgep1314_1_i95+3;
      var _107 = IHEAP[_uglygep23_1_i98];
      IHEAP[_scevgep_1_i89] = _107;
      var _108 = IHEAP[_uglygep20_1_i97];
      IHEAP[_uglygep10_1_i93] = _108;
      var _109 = IHEAP[_uglygep17_1_i96];
      IHEAP[_uglygep7_1_i92] = _109;
      var _110 = IHEAP[_scevgep1314_1_i95];
      IHEAP[_uglygep_1_i91] = _110;
      var _scevgep_2_i99 = _o_alignedDataBuffer+44;
      var _uglygep_2_i101 = _o_alignedDataBuffer+47;
      var _uglygep7_2_i102 = _o_alignedDataBuffer+46;
      var _uglygep10_2_i103 = _o_alignedDataBuffer+45;
      var _scevgep13_2_i104 = _this+36+8;
      var _scevgep1314_2_i105 = _scevgep13_2_i104;
      var _uglygep17_2_i106 = _scevgep1314_2_i105+1;
      var _uglygep20_2_i107 = _scevgep1314_2_i105+2;
      var _uglygep23_2_i108 = _scevgep1314_2_i105+3;
      var _111 = IHEAP[_uglygep23_2_i108];
      IHEAP[_scevgep_2_i99] = _111;
      var _112 = IHEAP[_uglygep20_2_i107];
      IHEAP[_uglygep10_2_i103] = _112;
      var _113 = IHEAP[_uglygep17_2_i106];
      IHEAP[_uglygep7_2_i102] = _113;
      var _114 = IHEAP[_scevgep1314_2_i105];
      IHEAP[_uglygep_2_i101] = _114;
      var _scevgep_3_i109 = _o_alignedDataBuffer+48;
      var _uglygep_3_i111 = _o_alignedDataBuffer+51;
      var _uglygep7_3_i112 = _o_alignedDataBuffer+50;
      var _uglygep10_3_i113 = _o_alignedDataBuffer+49;
      var _scevgep13_3_i114 = _this+36+12;
      var _scevgep1314_3_i115 = _scevgep13_3_i114;
      var _uglygep17_3_i116 = _scevgep1314_3_i115+1;
      var _uglygep20_3_i117 = _scevgep1314_3_i115+2;
      var _uglygep23_3_i118 = _scevgep1314_3_i115+3;
      var _115 = IHEAP[_uglygep23_3_i118];
      IHEAP[_scevgep_3_i109] = _115;
      var _116 = IHEAP[_uglygep20_3_i117];
      IHEAP[_uglygep10_3_i113] = _116;
      var _117 = IHEAP[_uglygep17_3_i116];
      IHEAP[_uglygep7_3_i112] = _117;
      var _118 = IHEAP[_scevgep1314_3_i115];
      IHEAP[_uglygep_3_i111] = _118;
      var _119 = _this+144;
      var _120 = IHEAP[_119];
      var _121 = _llvm_bswap_i32(_120);
      IHEAP[_36] = _121;
      var _122 = IHEAP[_2];
      var _123 = _llvm_bswap_i32(_122);
      __lastLabel__ = 0; ;
    }
    var _storemerge = __lastLabel__ == 0 ? _123 : (_160);
    IHEAP[_45] = _storemerge;
    var _161 = _this+60;
    var _162 = IHEAP[_161];
    IHEAP[_6] = _162;
    var _163 = _o_alignedDataBuffer+172;
    var _164 = IHEAP[_62];
    var _165 = IHEAP[_161];
    var _toBool5 = _165 == 0;
    ;
    if (_toBool5) {
      ;
      IHEAP[_14] = 0;
      var _226 = _163;
      IHEAP[_16] = _226;
      IHEAP[_18] = _164;
      IHEAP[_20] = _164;
      var _227 = _164 > 0;
      ;
      _bb25_preheader$_bb21_preheader$4016: do { 
        if (_toBool) {
          ;
          if (!(_227)) { __label__ = 626; /* _bb26 */ break _bb25_preheader$_bb21_preheader$4016; }
          var _278 = _this+84+12;
          __lastLabel__ = 904; ;
          _bb24$4019: while(1) { // _bb24
            var _279 = __lastLabel__ == 904 ? _226 : (__pre464);
            var _nodeIndex23_0230 = __lastLabel__ == 904 ? 0 : (_300);
            var _280 = IHEAP[_278];
            var _scevgep442443 = _280+64*_nodeIndex23_0230;
            var _281 = FHEAP[_scevgep442443];
            var _scevgep440441 = _279+64*_nodeIndex23_0230;
            FHEAP[_scevgep440441] = _281;
            var _scevgep445 = _280+64*_nodeIndex23_0230+4;
            var _282 = FHEAP[_scevgep445];
            var _scevgep444 = _279+64*_nodeIndex23_0230+4;
            FHEAP[_scevgep444] = _282;
            var _scevgep447 = _280+64*_nodeIndex23_0230+8;
            var _283 = FHEAP[_scevgep447];
            var _scevgep446 = _279+64*_nodeIndex23_0230+8;
            FHEAP[_scevgep446] = _283;
            var _scevgep449 = _280+64*_nodeIndex23_0230+12;
            var _284 = FHEAP[_scevgep449];
            var _scevgep448 = _279+64*_nodeIndex23_0230+12;
            FHEAP[_scevgep448] = _284;
            var _285 = IHEAP[_16];
            var _286 = IHEAP[_278];
            var _scevgep451 = _286+64*_nodeIndex23_0230+16;
            var _287 = FHEAP[_scevgep451];
            var _scevgep450 = _285+64*_nodeIndex23_0230+16;
            FHEAP[_scevgep450] = _287;
            var _scevgep453 = _286+64*_nodeIndex23_0230+16+4;
            var _288 = FHEAP[_scevgep453];
            var _scevgep452 = _285+64*_nodeIndex23_0230+16+4;
            FHEAP[_scevgep452] = _288;
            var _scevgep455 = _286+64*_nodeIndex23_0230+16+8;
            var _289 = FHEAP[_scevgep455];
            var _scevgep454 = _285+64*_nodeIndex23_0230+16+8;
            FHEAP[_scevgep454] = _289;
            var _scevgep457 = _286+64*_nodeIndex23_0230+16+12;
            var _290 = FHEAP[_scevgep457];
            var _scevgep456 = _285+64*_nodeIndex23_0230+16+12;
            FHEAP[_scevgep456] = _290;
            var _291 = IHEAP[_16];
            var _292 = IHEAP[_278];
            var _scevgep458 = _292+64*_nodeIndex23_0230+32;
            var _293 = IHEAP[_scevgep458];
            var _scevgep459 = _291+64*_nodeIndex23_0230+32;
            IHEAP[_scevgep459] = _293;
            var _294 = IHEAP[_16];
            var _295 = IHEAP[_278];
            var _scevgep460 = _295+64*_nodeIndex23_0230+36;
            var _296 = IHEAP[_scevgep460];
            var _scevgep461 = _294+64*_nodeIndex23_0230+36;
            IHEAP[_scevgep461] = _296;
            var _297 = IHEAP[_16];
            var _298 = IHEAP[_278];
            var _scevgep462 = _298+64*_nodeIndex23_0230+40;
            var _299 = IHEAP[_scevgep462];
            var _scevgep463 = _297+64*_nodeIndex23_0230+40;
            IHEAP[_scevgep463] = _299;
            var _300 = _nodeIndex23_0230 + 1;
            var _exitcond439 = _300 == _164;
            if (_exitcond439) { __label__ = 626; /* _bb26 */ break _bb25_preheader$_bb21_preheader$4016; }
            var __pre464 = IHEAP[_16];
            __lastLabel__ = 907; __label__ = 65; /* _bb24 */ continue _bb24$4019;
          }
        }
        else {
          ;
          if (!(_227)) { __label__ = 626; /* _bb26 */ break _bb25_preheader$_bb21_preheader$4016; }
          var _228 = _this+84+12;
          __lastLabel__ = 905; ;
          _bb20$4024: while(1) { // _bb20
            var _229 = __lastLabel__ == 905 ? _226 : (__pre);
            var _nodeIndex19_0222 = __lastLabel__ == 905 ? 0 : (_277);
            var _230 = IHEAP[_228];
            var _scevgep275 = _230+64*_nodeIndex19_0222;
            var _scevgep275276 = _scevgep275;
            var _uglygep23_i177 = _scevgep275276+3;
            var _231 = IHEAP[_uglygep23_i177];
            var _scevgep265 = _229+64*_nodeIndex19_0222;
            var _scevgep4_i170 = _scevgep265;
            IHEAP[_scevgep4_i170] = _231;
            var _uglygep20_i176 = _scevgep275276+2;
            var _232 = IHEAP[_uglygep20_i176];
            var _scevgep267 = _229+64*_nodeIndex19_0222;
            var _scevgep267268 = _scevgep267;
            var _uglygep10_i173 = _scevgep267268+1;
            IHEAP[_uglygep10_i173] = _232;
            var _uglygep17_i175 = _scevgep275276+1;
            var _233 = IHEAP[_uglygep17_i175];
            var _uglygep7_i172 = _scevgep267268+2;
            IHEAP[_uglygep7_i172] = _233;
            var _scevgep273 = _230+64*_nodeIndex19_0222;
            var _scevgep1314_i174 = _scevgep273;
            var _234 = IHEAP[_scevgep1314_i174];
            var _uglygep_i171 = _scevgep267268+3;
            IHEAP[_uglygep_i171] = _234;
            var _scevgep291 = _230+64*_nodeIndex19_0222+4;
            var _scevgep291292 = _scevgep291;
            var _uglygep23_1_i187 = _scevgep291292+3;
            var _235 = IHEAP[_uglygep23_1_i187];
            var _scevgep281 = _229+64*_nodeIndex19_0222+4;
            var _scevgep4_1_i179 = _scevgep281;
            IHEAP[_scevgep4_1_i179] = _235;
            var _uglygep20_1_i186 = _scevgep291292+2;
            var _236 = IHEAP[_uglygep20_1_i186];
            var _uglygep10_1_i182 = _scevgep4_1_i179+1;
            IHEAP[_uglygep10_1_i182] = _236;
            var _uglygep17_1_i185 = _scevgep291292+1;
            var _237 = IHEAP[_uglygep17_1_i185];
            var _uglygep7_1_i181 = _scevgep4_1_i179+2;
            IHEAP[_uglygep7_1_i181] = _237;
            var _238 = IHEAP[_scevgep291292];
            var _uglygep_1_i180 = _scevgep4_1_i179+3;
            IHEAP[_uglygep_1_i180] = _238;
            var _scevgep307 = _230+64*_nodeIndex19_0222+8;
            var _scevgep307308 = _scevgep307;
            var _uglygep23_2_i197 = _scevgep307308+3;
            var _239 = IHEAP[_uglygep23_2_i197];
            var _scevgep297 = _229+64*_nodeIndex19_0222+8;
            var _scevgep4_2_i189 = _scevgep297;
            IHEAP[_scevgep4_2_i189] = _239;
            var _uglygep20_2_i196 = _scevgep307308+2;
            var _240 = IHEAP[_uglygep20_2_i196];
            var _uglygep10_2_i192 = _scevgep4_2_i189+1;
            IHEAP[_uglygep10_2_i192] = _240;
            var _uglygep17_2_i195 = _scevgep307308+1;
            var _241 = IHEAP[_uglygep17_2_i195];
            var _uglygep7_2_i191 = _scevgep4_2_i189+2;
            IHEAP[_uglygep7_2_i191] = _241;
            var _242 = IHEAP[_scevgep307308];
            var _uglygep_2_i190 = _scevgep4_2_i189+3;
            IHEAP[_uglygep_2_i190] = _242;
            var _scevgep323 = _230+64*_nodeIndex19_0222+12;
            var _scevgep323324 = _scevgep323;
            var _uglygep23_3_i207 = _scevgep323324+3;
            var _243 = IHEAP[_uglygep23_3_i207];
            var _scevgep313 = _229+64*_nodeIndex19_0222+12;
            var _scevgep4_3_i199 = _scevgep313;
            IHEAP[_scevgep4_3_i199] = _243;
            var _uglygep20_3_i206 = _scevgep323324+2;
            var _244 = IHEAP[_uglygep20_3_i206];
            var _uglygep10_3_i202 = _scevgep4_3_i199+1;
            IHEAP[_uglygep10_3_i202] = _244;
            var _uglygep17_3_i205 = _scevgep323324+1;
            var _245 = IHEAP[_uglygep17_3_i205];
            var _uglygep7_3_i201 = _scevgep4_3_i199+2;
            IHEAP[_uglygep7_3_i201] = _245;
            var _246 = IHEAP[_scevgep323324];
            var _uglygep_3_i200 = _scevgep4_3_i199+3;
            IHEAP[_uglygep_3_i200] = _246;
            var _247 = IHEAP[_16];
            var _248 = IHEAP[_228];
            var _scevgep339 = _248+64*_nodeIndex19_0222+16;
            var _scevgep339340 = _scevgep339;
            var _uglygep23_i139 = _scevgep339340+3;
            var _249 = IHEAP[_uglygep23_i139];
            var _scevgep329 = _247+64*_nodeIndex19_0222+16;
            var _scevgep4_i132 = _scevgep329;
            IHEAP[_scevgep4_i132] = _249;
            var _uglygep20_i138 = _scevgep339340+2;
            var _250 = IHEAP[_uglygep20_i138];
            var _uglygep10_i135 = _scevgep4_i132+1;
            IHEAP[_uglygep10_i135] = _250;
            var _uglygep17_i137 = _scevgep339340+1;
            var _251 = IHEAP[_uglygep17_i137];
            var _uglygep7_i134 = _scevgep4_i132+2;
            IHEAP[_uglygep7_i134] = _251;
            var _252 = IHEAP[_scevgep339340];
            var _uglygep_i133 = _scevgep4_i132+3;
            IHEAP[_uglygep_i133] = _252;
            var _scevgep355 = _248+64*_nodeIndex19_0222+16+4;
            var _scevgep355356 = _scevgep355;
            var _uglygep23_1_i149 = _scevgep355356+3;
            var _253 = IHEAP[_uglygep23_1_i149];
            var _scevgep345 = _247+64*_nodeIndex19_0222+16+4;
            var _scevgep4_1_i141 = _scevgep345;
            IHEAP[_scevgep4_1_i141] = _253;
            var _uglygep20_1_i148 = _scevgep355356+2;
            var _254 = IHEAP[_uglygep20_1_i148];
            var _uglygep10_1_i144 = _scevgep4_1_i141+1;
            IHEAP[_uglygep10_1_i144] = _254;
            var _uglygep17_1_i147 = _scevgep355356+1;
            var _255 = IHEAP[_uglygep17_1_i147];
            var _uglygep7_1_i143 = _scevgep4_1_i141+2;
            IHEAP[_uglygep7_1_i143] = _255;
            var _256 = IHEAP[_scevgep355356];
            var _uglygep_1_i142 = _scevgep4_1_i141+3;
            IHEAP[_uglygep_1_i142] = _256;
            var _scevgep371 = _248+64*_nodeIndex19_0222+16+8;
            var _scevgep371372 = _scevgep371;
            var _uglygep23_2_i159 = _scevgep371372+3;
            var _257 = IHEAP[_uglygep23_2_i159];
            var _scevgep361 = _247+64*_nodeIndex19_0222+16+8;
            var _scevgep4_2_i151 = _scevgep361;
            IHEAP[_scevgep4_2_i151] = _257;
            var _uglygep20_2_i158 = _scevgep371372+2;
            var _258 = IHEAP[_uglygep20_2_i158];
            var _uglygep10_2_i154 = _scevgep4_2_i151+1;
            IHEAP[_uglygep10_2_i154] = _258;
            var _uglygep17_2_i157 = _scevgep371372+1;
            var _259 = IHEAP[_uglygep17_2_i157];
            var _uglygep7_2_i153 = _scevgep4_2_i151+2;
            IHEAP[_uglygep7_2_i153] = _259;
            var _260 = IHEAP[_scevgep371372];
            var _uglygep_2_i152 = _scevgep4_2_i151+3;
            IHEAP[_uglygep_2_i152] = _260;
            var _scevgep387 = _248+64*_nodeIndex19_0222+16+12;
            var _scevgep387388 = _scevgep387;
            var _uglygep23_3_i169 = _scevgep387388+3;
            var _261 = IHEAP[_uglygep23_3_i169];
            var _scevgep377 = _247+64*_nodeIndex19_0222+16+12;
            var _scevgep4_3_i161 = _scevgep377;
            IHEAP[_scevgep4_3_i161] = _261;
            var _uglygep20_3_i168 = _scevgep387388+2;
            var _262 = IHEAP[_uglygep20_3_i168];
            var _uglygep10_3_i164 = _scevgep4_3_i161+1;
            IHEAP[_uglygep10_3_i164] = _262;
            var _uglygep17_3_i167 = _scevgep387388+1;
            var _263 = IHEAP[_uglygep17_3_i167];
            var _uglygep7_3_i163 = _scevgep4_3_i161+2;
            IHEAP[_uglygep7_3_i163] = _263;
            var _264 = IHEAP[_scevgep387388];
            var _uglygep_3_i162 = _scevgep4_3_i161+3;
            IHEAP[_uglygep_3_i162] = _264;
            var _265 = IHEAP[_16];
            var _266 = IHEAP[_228];
            var _scevgep393 = _266+64*_nodeIndex19_0222+32;
            var _267 = IHEAP[_scevgep393];
            var _268 = _llvm_bswap_i32(_267);
            var _scevgep394 = _265+64*_nodeIndex19_0222+32;
            IHEAP[_scevgep394] = _268;
            var _269 = IHEAP[_16];
            var _270 = IHEAP[_228];
            var _scevgep395 = _270+64*_nodeIndex19_0222+36;
            var _271 = IHEAP[_scevgep395];
            var _272 = _llvm_bswap_i32(_271);
            var _scevgep396 = _269+64*_nodeIndex19_0222+36;
            IHEAP[_scevgep396] = _272;
            var _273 = IHEAP[_16];
            var _274 = IHEAP[_228];
            var _scevgep397 = _274+64*_nodeIndex19_0222+40;
            var _275 = IHEAP[_scevgep397];
            var _276 = _llvm_bswap_i32(_275);
            var _scevgep398 = _273+64*_nodeIndex19_0222+40;
            IHEAP[_scevgep398] = _276;
            var _277 = _nodeIndex19_0222 + 1;
            var _exitcond264 = _277 == _164;
            if (_exitcond264) { __label__ = 626; /* _bb26 */ break _bb25_preheader$_bb21_preheader$4016; }
            var __pre = IHEAP[_16];
            __lastLabel__ = 906; __label__ = 117; /* _bb20 */ continue _bb20$4024;
          }
        }
      } while(0);
      var _301 = _164 << 6;
      var _302 = IHEAP[_16];
      var _303 = _302 == 0;
      ;
      if (!_303) {
        ;
        var _304 = IHEAP[_14];
        var _toBool_i_i_i128 = _304 == 0;
        ;
        if (!_toBool_i_i_i128) {
          ;
          var _305 = _302;
          __Z21btAlignedFreeInternalPv(_305);
          ;
        }
        IHEAP[_16] = 0;
        ;
      }
      IHEAP[_14] = 0;
      IHEAP[_16] = 0;
      IHEAP[_18] = 0;
      IHEAP[_20] = 0;
      __lastLabel__ = 910; ;
    }
    else {
      ;
      IHEAP[_28] = 0;
      var _166 = _163;
      IHEAP[_30] = _166;
      IHEAP[_32] = _164;
      IHEAP[_34] = _164;
      var _167 = _164 > 0;
      ;
      _bb14_preheader$_bb10_preheader$4035: do { 
        if (_toBool) {
          ;
          if (!(_167)) { __label__ = 153; /* _bb15 */ break _bb14_preheader$_bb10_preheader$4035; }
          var _198 = _this+124+12;
          __lastLabel__ = 897; ;
          _bb13$4038: while(1) { // _bb13
            var _199 = __lastLabel__ == 897 ? _166 : (__pre468);
            var _nodeIndex12_0220 = __lastLabel__ == 897 ? 0 : (_220);
            var _200 = IHEAP[_198];
            var _scevgep248249 = _200+20*_nodeIndex12_0220;
            var _201 = IHEAP[_scevgep248249];
            var _scevgep250251 = _199+20*_nodeIndex12_0220;
            IHEAP[_scevgep250251] = _201;
            var _202 = IHEAP[_30];
            var _203 = IHEAP[_198];
            var _scevgep252 = _203+20*_nodeIndex12_0220+2;
            var _204 = IHEAP[_scevgep252];
            var _scevgep253 = _202+20*_nodeIndex12_0220+2;
            IHEAP[_scevgep253] = _204;
            var _205 = IHEAP[_30];
            var _206 = IHEAP[_198];
            var _scevgep254 = _206+20*_nodeIndex12_0220+4;
            var _207 = IHEAP[_scevgep254];
            var _scevgep255 = _205+20*_nodeIndex12_0220+4;
            IHEAP[_scevgep255] = _207;
            var _208 = IHEAP[_30];
            var _209 = IHEAP[_198];
            var _scevgep256 = _209+20*_nodeIndex12_0220+8;
            var _210 = IHEAP[_scevgep256];
            var _scevgep257 = _208+20*_nodeIndex12_0220+8;
            IHEAP[_scevgep257] = _210;
            var _211 = IHEAP[_30];
            var _212 = IHEAP[_198];
            var _scevgep258 = _212+20*_nodeIndex12_0220+8+2;
            var _213 = IHEAP[_scevgep258];
            var _scevgep259 = _211+20*_nodeIndex12_0220+8+2;
            IHEAP[_scevgep259] = _213;
            var _214 = IHEAP[_30];
            var _215 = IHEAP[_198];
            var _scevgep260 = _215+20*_nodeIndex12_0220+8+4;
            var _216 = IHEAP[_scevgep260];
            var _scevgep261 = _214+20*_nodeIndex12_0220+8+4;
            IHEAP[_scevgep261] = _216;
            var _217 = IHEAP[_30];
            var _218 = IHEAP[_198];
            var _scevgep262 = _218+20*_nodeIndex12_0220+16;
            var _219 = IHEAP[_scevgep262];
            var _scevgep263 = _217+20*_nodeIndex12_0220+16;
            IHEAP[_scevgep263] = _219;
            var _220 = _nodeIndex12_0220 + 1;
            var _exitcond247 = _220 == _164;
            if (_exitcond247) { __label__ = 153; /* _bb15 */ break _bb14_preheader$_bb10_preheader$4035; }
            var __pre468 = IHEAP[_30];
            __lastLabel__ = 899; __label__ = 108; /* _bb13 */ continue _bb13$4038;
          }
        }
        else {
          ;
          if (!(_167)) { __label__ = 153; /* _bb15 */ break _bb14_preheader$_bb10_preheader$4035; }
          var _168 = _this+124+12;
          __lastLabel__ = 130; ;
          _bb9$4043: while(1) { // _bb9
            var _169 = __lastLabel__ == 130 ? _166 : (__pre467);
            var _nodeIndex_0218 = __lastLabel__ == 130 ? 0 : (_197);
            var _170 = IHEAP[_168];
            var _scevgep232 = _170+20*_nodeIndex_0218;
            var _171 = IHEAP[_scevgep232];
            var _172 = _llvm_bswap_i16(_171);
            var _scevgep233234 = _169+20*_nodeIndex_0218;
            IHEAP[_scevgep233234] = _172;
            var _173 = IHEAP[_30];
            var _174 = IHEAP[_168];
            var _scevgep235 = _174+20*_nodeIndex_0218+2;
            var _175 = IHEAP[_scevgep235];
            var _176 = _llvm_bswap_i16(_175);
            var _scevgep236 = _173+20*_nodeIndex_0218+2;
            IHEAP[_scevgep236] = _176;
            var _177 = IHEAP[_30];
            var _178 = IHEAP[_168];
            var _scevgep237 = _178+20*_nodeIndex_0218+4;
            var _179 = IHEAP[_scevgep237];
            var _180 = _llvm_bswap_i16(_179);
            var _scevgep238 = _177+20*_nodeIndex_0218+4;
            IHEAP[_scevgep238] = _180;
            var _181 = IHEAP[_30];
            var _182 = IHEAP[_168];
            var _scevgep239 = _182+20*_nodeIndex_0218+8;
            var _183 = IHEAP[_scevgep239];
            var _184 = _llvm_bswap_i16(_183);
            var _scevgep240 = _181+20*_nodeIndex_0218+8;
            IHEAP[_scevgep240] = _184;
            var _185 = IHEAP[_30];
            var _186 = IHEAP[_168];
            var _scevgep241 = _186+20*_nodeIndex_0218+8+2;
            var _187 = IHEAP[_scevgep241];
            var _188 = _llvm_bswap_i16(_187);
            var _scevgep242 = _185+20*_nodeIndex_0218+8+2;
            IHEAP[_scevgep242] = _188;
            var _189 = IHEAP[_30];
            var _190 = IHEAP[_168];
            var _scevgep243 = _190+20*_nodeIndex_0218+8+4;
            var _191 = IHEAP[_scevgep243];
            var _192 = _llvm_bswap_i16(_191);
            var _scevgep244 = _189+20*_nodeIndex_0218+8+4;
            IHEAP[_scevgep244] = _192;
            var _193 = IHEAP[_30];
            var _194 = IHEAP[_168];
            var _scevgep245 = _194+20*_nodeIndex_0218+16;
            var _195 = IHEAP[_scevgep245];
            var _196 = _llvm_bswap_i32(_195);
            var _scevgep246 = _193+20*_nodeIndex_0218+16;
            IHEAP[_scevgep246] = _196;
            var _197 = _nodeIndex_0218 + 1;
            var _exitcond = _197 == _164;
            if (_exitcond) { __label__ = 153; /* _bb15 */ break _bb14_preheader$_bb10_preheader$4035; }
            var __pre467 = IHEAP[_30];
            __lastLabel__ = 898; __label__ = 62; /* _bb9 */ continue _bb9$4043;
          }
        }
      } while(0);
      var _221 = _164 << 4;
      var _222 = IHEAP[_30];
      var _223 = _222 == 0;
      ;
      if (!_223) {
        ;
        var _224 = IHEAP[_28];
        var _toBool_i_i_i213 = _224 == 0;
        ;
        if (!_toBool_i_i_i213) {
          ;
          var _225 = _222;
          __Z21btAlignedFreeInternalPv(_225);
          ;
        }
        IHEAP[_30] = 0;
        ;
      }
      IHEAP[_28] = 0;
      IHEAP[_30] = 0;
      IHEAP[_32] = 0;
      IHEAP[_34] = 0;
      __lastLabel__ = 902; ;
    }
    var __sum42_pn_in = __lastLabel__ == 902 ? _221 : (_301);
    var __sum42_pn = __sum42_pn_in + 172;
    var _nodeData_0 = _o_alignedDataBuffer+__sum42_pn;
    var _306 = IHEAP[_2];
    var _307 = IHEAP[_39];
    var _308 = _307 == 0;
    ;
    if (!_308) {
      ;
      var _309 = IHEAP[_37];
      var _toBool_i_i_i123 = _309 == 0;
      ;
      if (!_toBool_i_i_i123) {
        ;
        var _310 = _307;
        __Z21btAlignedFreeInternalPv(_310);
        ;
      }
      IHEAP[_39] = 0;
      ;
    }
    IHEAP[_37] = 0;
    var _311 = _nodeData_0;
    IHEAP[_39] = _311;
    IHEAP[_41] = _306;
    IHEAP[_43] = _306;
    var _312 = IHEAP[_2];
    var _313 = _312 > 0;
    ;
    _bb35_preheader$_bb31_preheader$4060: do { 
      if (_toBool) {
        ;
        if (!(_313)) { __label__ = 251; /* _bb36 */ break _bb35_preheader$_bb31_preheader$4060; }
        var _350 = _this+148+12;
        __lastLabel__ = 913; ;
        _bb34$4063: while(1) { // _bb34
          var _351 = __lastLabel__ == 913 ? _311 : (__pre466);
          var _i33_0227 = __lastLabel__ == 913 ? 0 : (_378);
          var _352 = IHEAP[_350];
          var _scevgep417418 = _352+36*_i33_0227;
          var _353 = IHEAP[_scevgep417418];
          var _scevgep419420 = _351+36*_i33_0227;
          IHEAP[_scevgep419420] = _353;
          var _354 = IHEAP[_39];
          var _355 = IHEAP[_350];
          var _scevgep421 = _355+36*_i33_0227+2;
          var _356 = IHEAP[_scevgep421];
          var _scevgep422 = _354+36*_i33_0227+2;
          IHEAP[_scevgep422] = _356;
          var _357 = IHEAP[_39];
          var _358 = IHEAP[_350];
          var _scevgep423 = _358+36*_i33_0227+4;
          var _359 = IHEAP[_scevgep423];
          var _scevgep424 = _357+36*_i33_0227+4;
          IHEAP[_scevgep424] = _359;
          var _360 = IHEAP[_39];
          var _361 = IHEAP[_350];
          var _scevgep425 = _361+36*_i33_0227+8;
          var _362 = IHEAP[_scevgep425];
          var _scevgep426 = _360+36*_i33_0227+8;
          IHEAP[_scevgep426] = _362;
          var _363 = IHEAP[_39];
          var _364 = IHEAP[_350];
          var _scevgep427 = _364+36*_i33_0227+8+2;
          var _365 = IHEAP[_scevgep427];
          var _scevgep428 = _363+36*_i33_0227+8+2;
          IHEAP[_scevgep428] = _365;
          var _366 = IHEAP[_39];
          var _367 = IHEAP[_350];
          var _scevgep429 = _367+36*_i33_0227+8+4;
          var _368 = IHEAP[_scevgep429];
          var _scevgep430 = _366+36*_i33_0227+8+4;
          IHEAP[_scevgep430] = _368;
          var _369 = IHEAP[_39];
          var _370 = IHEAP[_350];
          var _scevgep431 = _370+36*_i33_0227+16;
          var _371 = IHEAP[_scevgep431];
          var _scevgep432 = _369+36*_i33_0227+16;
          IHEAP[_scevgep432] = _371;
          var _372 = IHEAP[_39];
          var _373 = IHEAP[_350];
          var _scevgep433 = _373+36*_i33_0227+20;
          var _374 = IHEAP[_scevgep433];
          var _scevgep434 = _372+36*_i33_0227+20;
          IHEAP[_scevgep434] = _374;
          var _375 = IHEAP[_39];
          var _scevgep435 = _375+36*_i33_0227+24;
          IHEAP[_scevgep435] = 0;
          var _376 = IHEAP[_39];
          var _scevgep436 = _376+36*_i33_0227+24+4;
          IHEAP[_scevgep436] = 0;
          var _377 = IHEAP[_39];
          var _scevgep437 = _377+36*_i33_0227+24+8;
          IHEAP[_scevgep437] = 0;
          var _378 = _i33_0227 + 1;
          var _379 = IHEAP[_2];
          var _380 = _379 > _378;
          if (!(_380)) { __label__ = 251; /* _bb36 */ break _bb35_preheader$_bb31_preheader$4060; }
          var __pre466 = IHEAP[_39];
          __lastLabel__ = 916; __label__ = 250; /* _bb34 */ continue _bb34$4063;
        }
      }
      else {
        ;
        if (!(_313)) { __label__ = 251; /* _bb36 */ break _bb35_preheader$_bb31_preheader$4060; }
        var _314 = _this+148+12;
        __lastLabel__ = 914; ;
        _bb30$4068: while(1) { // _bb30
          var _315 = __lastLabel__ == 914 ? _311 : (__pre465);
          var _i_0224 = __lastLabel__ == 914 ? 0 : (_347);
          var _316 = IHEAP[_314];
          var _scevgep399400 = _316+36*_i_0224;
          var _317 = IHEAP[_scevgep399400];
          var _318 = _llvm_bswap_i16(_317);
          var _scevgep401402 = _315+36*_i_0224;
          IHEAP[_scevgep401402] = _318;
          var _319 = IHEAP[_39];
          var _320 = IHEAP[_314];
          var _scevgep403 = _320+36*_i_0224+2;
          var _321 = IHEAP[_scevgep403];
          var _322 = _llvm_bswap_i16(_321);
          var _scevgep404 = _319+36*_i_0224+2;
          IHEAP[_scevgep404] = _322;
          var _323 = IHEAP[_39];
          var _324 = IHEAP[_314];
          var _scevgep405 = _324+36*_i_0224+4;
          var _325 = IHEAP[_scevgep405];
          var _326 = _llvm_bswap_i16(_325);
          var _scevgep406 = _323+36*_i_0224+4;
          IHEAP[_scevgep406] = _326;
          var _327 = IHEAP[_39];
          var _328 = IHEAP[_314];
          var _scevgep407 = _328+36*_i_0224+8;
          var _329 = IHEAP[_scevgep407];
          var _330 = _llvm_bswap_i16(_329);
          var _scevgep408 = _327+36*_i_0224+8;
          IHEAP[_scevgep408] = _330;
          var _331 = IHEAP[_39];
          var _332 = IHEAP[_314];
          var _scevgep409 = _332+36*_i_0224+8+2;
          var _333 = IHEAP[_scevgep409];
          var _334 = _llvm_bswap_i16(_333);
          var _scevgep410 = _331+36*_i_0224+8+2;
          IHEAP[_scevgep410] = _334;
          var _335 = IHEAP[_39];
          var _336 = IHEAP[_314];
          var _scevgep411 = _336+36*_i_0224+8+4;
          var _337 = IHEAP[_scevgep411];
          var _338 = _llvm_bswap_i16(_337);
          var _scevgep412 = _335+36*_i_0224+8+4;
          IHEAP[_scevgep412] = _338;
          var _339 = IHEAP[_39];
          var _340 = IHEAP[_314];
          var _scevgep413 = _340+36*_i_0224+16;
          var _341 = IHEAP[_scevgep413];
          var _342 = _llvm_bswap_i32(_341);
          var _scevgep414 = _339+36*_i_0224+16;
          IHEAP[_scevgep414] = _342;
          var _343 = IHEAP[_39];
          var _344 = IHEAP[_314];
          var _scevgep415 = _344+36*_i_0224+20;
          var _345 = IHEAP[_scevgep415];
          var _346 = _llvm_bswap_i32(_345);
          var _scevgep416 = _343+36*_i_0224+20;
          IHEAP[_scevgep416] = _346;
          var _347 = _i_0224 + 1;
          var _348 = IHEAP[_2];
          var _349 = _348 > _347;
          if (!(_349)) { __label__ = 251; /* _bb36 */ break _bb35_preheader$_bb31_preheader$4060; }
          var __pre465 = IHEAP[_39];
          __lastLabel__ = 915; __label__ = 90; /* _bb30 */ continue _bb30$4068;
        }
      }
    } while(0);
    var _381 = IHEAP[_39];
    var _382 = _381 == 0;
    ;
    if (!_382) {
      ;
      var _383 = IHEAP[_37];
      var _toBool_i_i_i = _383 == 0;
      ;
      if (!_toBool_i_i_i) {
        ;
        var _384 = _381;
        __Z21btAlignedFreeInternalPv(_384);
        ;
      }
      IHEAP[_39] = 0;
      ;
    }
    IHEAP[_37] = 0;
    IHEAP[_39] = 0;
    IHEAP[_41] = 0;
    IHEAP[_43] = 0;
    var _385 = _o_alignedDataBuffer;
    IHEAP[_385] = 0;
    ;
    return 1;
  }
  __ZNK14btQuantizedBvh9serializeEPvjb.__index__ = Runtime.getFunctionIndex(__ZNK14btQuantizedBvh9serializeEPvjb, "__ZNK14btQuantizedBvh9serializeEPvjb");
  
  
  function __ZN14btQuantizedBvh18deSerializeInPlaceEPvjb(_i_alignedDataBuffer, _i_dataBufferSize, _i_swapEndian) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _i_alignedDataBuffer == 0;
    ;
    _bb28$_bb1$4080: do { 
      if (_0) {
        __lastLabel__ = -1; ;
      }
      else {
        __lastLabel__ = -1; ;
        var _1 = _i_alignedDataBuffer;
        var _toBool = _i_swapEndian == 0;
        ;
        if (_toBool) {
          ;
          var __phi_trans_insert = _i_alignedDataBuffer+168;
          var __phi_trans_insert802 = __phi_trans_insert;
          var __pre = IHEAP[__phi_trans_insert802];
          var __phi_trans_insert803 = _i_alignedDataBuffer+56;
          var __phi_trans_insert804 = __phi_trans_insert803;
          var __pre805 = IHEAP[__phi_trans_insert804];
          __lastLabel__ = 919; ;
        }
        else {
          ;
          var _2 = _i_alignedDataBuffer+56;
          var _3 = _2;
          var _4 = IHEAP[_3];
          var _5 = _llvm_bswap_i32(_4);
          IHEAP[_3] = _5;
          var _6 = _i_alignedDataBuffer+4;
          var _uglygep17_i = _i_alignedDataBuffer+5;
          var _uglygep20_i = _i_alignedDataBuffer+6;
          var _uglygep23_i = _i_alignedDataBuffer+7;
          var _7 = IHEAP[_uglygep23_i];
          var _tmp290 = _7;
          var _8 = IHEAP[_uglygep20_i];
          var _tmp294 = _8;
          var _tmp295 = _tmp294 << 8;
          var _9 = IHEAP[_uglygep17_i];
          var _tmp299 = _9;
          var _tmp300 = _tmp299 << 16;
          var _10 = IHEAP[_6];
          var _tmp304 = _10;
          var _tmp305 = _tmp304 << 24;
          var _ins297 = _tmp295 | _tmp290;
          var _ins302 = _ins297 | _tmp300;
          var _ins307 = _ins302 | _tmp305;
          var _scevgep13_1_i = _i_alignedDataBuffer+8;
          var _uglygep17_1_i = _i_alignedDataBuffer+9;
          var _uglygep20_1_i = _i_alignedDataBuffer+10;
          var _uglygep23_1_i = _i_alignedDataBuffer+11;
          var _11 = IHEAP[_uglygep23_1_i];
          var _tmp270 = _11;
          var _tmp271 = _tmp270 << 32;
          var _12 = IHEAP[_uglygep20_1_i];
          var _tmp275 = _12;
          var _tmp276 = _tmp275 << 40;
          var _13 = IHEAP[_uglygep17_1_i];
          var _tmp280 = _13;
          var _tmp281 = _tmp280 << 48;
          var _14 = IHEAP[_scevgep13_1_i];
          var _tmp285 = _14;
          var _tmp286 = _tmp285 << 56;
          var _scevgep13_2_i = _i_alignedDataBuffer+12;
          var _uglygep17_2_i = _i_alignedDataBuffer+13;
          var _uglygep20_2_i = _i_alignedDataBuffer+14;
          var _uglygep23_2_i = _i_alignedDataBuffer+15;
          var _15 = IHEAP[_uglygep23_2_i];
          var _tmp246 = _15;
          var _tmp247 = _tmp246 << 64;
          var _16 = IHEAP[_uglygep20_2_i];
          var _tmp251 = _16;
          var _tmp252 = _tmp251 << 72;
          var _17 = IHEAP[_uglygep17_2_i];
          var _tmp256 = _17;
          var _tmp257 = _tmp256 << 80;
          var _18 = IHEAP[_scevgep13_2_i];
          var _tmp261 = _18;
          var _tmp262 = _tmp261 << 88;
          var _scevgep13_3_i = _i_alignedDataBuffer+16;
          var _uglygep17_3_i = _i_alignedDataBuffer+17;
          var _uglygep20_3_i = _i_alignedDataBuffer+18;
          var _uglygep23_3_i = _i_alignedDataBuffer+19;
          var _19 = IHEAP[_uglygep23_3_i];
          var _tmp224 = _19;
          var _tmp225 = _tmp224 << 96;
          var _20 = IHEAP[_uglygep20_3_i];
          var _tmp227 = _20;
          var _tmp228 = _tmp227 << 104;
          var _21 = IHEAP[_uglygep17_3_i];
          var _tmp232 = _21;
          var _tmp233 = _tmp232 << 112;
          var _22 = IHEAP[_scevgep13_3_i];
          var _tmp237 = _22;
          var _tmp238 = _tmp237 << 120;
          var _mask277 = _ins307 | _tmp271;
          var _mask282_masked_masked_masked_masked_masked_masked_masked_masked_masked = _mask277 | _tmp276;
          var _mask287_masked_masked_masked_masked_masked_masked_masked_masked = _mask282_masked_masked_masked_masked_masked_masked_masked_masked_masked | _tmp281;
          var _mask248_masked_masked_masked_masked_masked_masked_masked = _mask287_masked_masked_masked_masked_masked_masked_masked_masked | _tmp286;
          var _mask253_masked_masked_masked_masked_masked_masked = _mask248_masked_masked_masked_masked_masked_masked_masked | _tmp247;
          var _mask258_masked_masked_masked_masked_masked = _mask253_masked_masked_masked_masked_masked_masked | _tmp252;
          var _mask263_masked_masked_masked_masked = _mask258_masked_masked_masked_masked_masked | _tmp257;
          var _mask_masked_masked_masked = _mask263_masked_masked_masked_masked | _tmp262;
          var _mask229_masked_masked = _mask_masked_masked_masked | _tmp225;
          var _mask234_masked = _mask229_masked_masked | _tmp228;
          var _mask239 = _mask234_masked | _tmp233;
          var _ins240 = _mask239 | _tmp238;
          var _tmp218 = _ins307;
          var _tmp219 = _tmp218;
          var _tmp266 = _mask248_masked_masked_masked_masked_masked_masked_masked >> 32;
          var _tmp267 = _tmp266;
          var _tmp268 = _tmp267;
          var _tmp242 = _mask_masked_masked_masked >> 64;
          var _tmp243 = _tmp242;
          var _tmp244 = _tmp243;
          var _tmp221 = _ins240 >> 96;
          var _tmp222 = _tmp221;
          var _tmp223 = _tmp222;
          var _23 = _6;
          FHEAP[_23] = _tmp219;
          var _24 = _scevgep13_1_i;
          FHEAP[_24] = _tmp268;
          var _25 = _scevgep13_2_i;
          FHEAP[_25] = _tmp244;
          var _26 = _scevgep13_3_i;
          FHEAP[_26] = _tmp223;
          var _27 = _i_alignedDataBuffer+20;
          var _uglygep17_i40 = _i_alignedDataBuffer+21;
          var _uglygep20_i41 = _i_alignedDataBuffer+22;
          var _uglygep23_i42 = _i_alignedDataBuffer+23;
          var _28 = IHEAP[_uglygep23_i42];
          var _tmp384 = _28;
          var _29 = IHEAP[_uglygep20_i41];
          var _tmp388 = _29;
          var _tmp389 = _tmp388 << 8;
          var _30 = IHEAP[_uglygep17_i40];
          var _tmp393 = _30;
          var _tmp394 = _tmp393 << 16;
          var _31 = IHEAP[_27];
          var _tmp398 = _31;
          var _tmp399 = _tmp398 << 24;
          var _ins391 = _tmp389 | _tmp384;
          var _ins396 = _ins391 | _tmp394;
          var _ins401 = _ins396 | _tmp399;
          var _scevgep13_1_i48 = _i_alignedDataBuffer+24;
          var _uglygep17_1_i50 = _i_alignedDataBuffer+25;
          var _uglygep20_1_i51 = _i_alignedDataBuffer+26;
          var _uglygep23_1_i52 = _i_alignedDataBuffer+27;
          var _32 = IHEAP[_uglygep23_1_i52];
          var _tmp364 = _32;
          var _tmp365 = _tmp364 << 32;
          var _33 = IHEAP[_uglygep20_1_i51];
          var _tmp369 = _33;
          var _tmp370 = _tmp369 << 40;
          var _34 = IHEAP[_uglygep17_1_i50];
          var _tmp374 = _34;
          var _tmp375 = _tmp374 << 48;
          var _35 = IHEAP[_scevgep13_1_i48];
          var _tmp379 = _35;
          var _tmp380 = _tmp379 << 56;
          var _scevgep13_2_i58 = _i_alignedDataBuffer+28;
          var _uglygep17_2_i60 = _i_alignedDataBuffer+29;
          var _uglygep20_2_i61 = _i_alignedDataBuffer+30;
          var _uglygep23_2_i62 = _i_alignedDataBuffer+31;
          var _36 = IHEAP[_uglygep23_2_i62];
          var _tmp340 = _36;
          var _tmp341 = _tmp340 << 64;
          var _37 = IHEAP[_uglygep20_2_i61];
          var _tmp345 = _37;
          var _tmp346 = _tmp345 << 72;
          var _38 = IHEAP[_uglygep17_2_i60];
          var _tmp350 = _38;
          var _tmp351 = _tmp350 << 80;
          var _39 = IHEAP[_scevgep13_2_i58];
          var _tmp355 = _39;
          var _tmp356 = _tmp355 << 88;
          var _scevgep13_3_i68 = _i_alignedDataBuffer+32;
          var _uglygep17_3_i70 = _i_alignedDataBuffer+33;
          var _uglygep20_3_i71 = _i_alignedDataBuffer+34;
          var _uglygep23_3_i72 = _i_alignedDataBuffer+35;
          var _40 = IHEAP[_uglygep23_3_i72];
          var _tmp316 = _40;
          var _tmp317 = _tmp316 << 96;
          var _41 = IHEAP[_uglygep20_3_i71];
          var _tmp321 = _41;
          var _tmp322 = _tmp321 << 104;
          var _42 = IHEAP[_uglygep17_3_i70];
          var _tmp326 = _42;
          var _tmp327 = _tmp326 << 112;
          var _43 = IHEAP[_scevgep13_3_i68];
          var _tmp331 = _43;
          var _tmp332 = _tmp331 << 120;
          var _mask371 = _ins401 | _tmp365;
          var _mask376_masked_masked_masked_masked_masked_masked_masked_masked_masked = _mask371 | _tmp370;
          var _mask381_masked_masked_masked_masked_masked_masked_masked_masked = _mask376_masked_masked_masked_masked_masked_masked_masked_masked_masked | _tmp375;
          var _mask342_masked_masked_masked_masked_masked_masked_masked = _mask381_masked_masked_masked_masked_masked_masked_masked_masked | _tmp380;
          var _mask347_masked_masked_masked_masked_masked_masked = _mask342_masked_masked_masked_masked_masked_masked_masked | _tmp341;
          var _mask352_masked_masked_masked_masked_masked = _mask347_masked_masked_masked_masked_masked_masked | _tmp346;
          var _mask357_masked_masked_masked_masked = _mask352_masked_masked_masked_masked_masked | _tmp351;
          var _mask318_masked_masked_masked = _mask357_masked_masked_masked_masked | _tmp356;
          var _mask323_masked_masked = _mask318_masked_masked_masked | _tmp317;
          var _mask328_masked = _mask323_masked_masked | _tmp322;
          var _mask333 = _mask328_masked | _tmp327;
          var _ins334 = _mask333 | _tmp332;
          var _tmp309 = _ins401;
          var _tmp310 = _tmp309;
          var _tmp360 = _mask342_masked_masked_masked_masked_masked_masked_masked >> 32;
          var _tmp361 = _tmp360;
          var _tmp362 = _tmp361;
          var _tmp336 = _mask318_masked_masked_masked >> 64;
          var _tmp337 = _tmp336;
          var _tmp338 = _tmp337;
          var _tmp312 = _ins334 >> 96;
          var _tmp313 = _tmp312;
          var _tmp314 = _tmp313;
          var _44 = _27;
          FHEAP[_44] = _tmp310;
          var _45 = _scevgep13_1_i48;
          FHEAP[_45] = _tmp362;
          var _46 = _scevgep13_2_i58;
          FHEAP[_46] = _tmp338;
          var _47 = _scevgep13_3_i68;
          FHEAP[_47] = _tmp314;
          var _48 = _i_alignedDataBuffer+36;
          var _uglygep17_i84 = _i_alignedDataBuffer+37;
          var _uglygep20_i85 = _i_alignedDataBuffer+38;
          var _uglygep23_i86 = _i_alignedDataBuffer+39;
          var _49 = IHEAP[_uglygep23_i86];
          var _tmp478 = _49;
          var _50 = IHEAP[_uglygep20_i85];
          var _tmp482 = _50;
          var _tmp483 = _tmp482 << 8;
          var _51 = IHEAP[_uglygep17_i84];
          var _tmp487 = _51;
          var _tmp488 = _tmp487 << 16;
          var _52 = IHEAP[_48];
          var _tmp492 = _52;
          var _tmp493 = _tmp492 << 24;
          var _ins485 = _tmp483 | _tmp478;
          var _ins490 = _ins485 | _tmp488;
          var _ins495 = _ins490 | _tmp493;
          var _scevgep13_1_i92 = _i_alignedDataBuffer+40;
          var _uglygep17_1_i94 = _i_alignedDataBuffer+41;
          var _uglygep20_1_i95 = _i_alignedDataBuffer+42;
          var _uglygep23_1_i96 = _i_alignedDataBuffer+43;
          var _53 = IHEAP[_uglygep23_1_i96];
          var _tmp458 = _53;
          var _tmp459 = _tmp458 << 32;
          var _54 = IHEAP[_uglygep20_1_i95];
          var _tmp463 = _54;
          var _tmp464 = _tmp463 << 40;
          var _55 = IHEAP[_uglygep17_1_i94];
          var _tmp468 = _55;
          var _tmp469 = _tmp468 << 48;
          var _56 = IHEAP[_scevgep13_1_i92];
          var _tmp473 = _56;
          var _tmp474 = _tmp473 << 56;
          var _scevgep13_2_i102 = _i_alignedDataBuffer+44;
          var _uglygep17_2_i104 = _i_alignedDataBuffer+45;
          var _uglygep20_2_i105 = _i_alignedDataBuffer+46;
          var _uglygep23_2_i106 = _i_alignedDataBuffer+47;
          var _57 = IHEAP[_uglygep23_2_i106];
          var _tmp434 = _57;
          var _tmp435 = _tmp434 << 64;
          var _58 = IHEAP[_uglygep20_2_i105];
          var _tmp439 = _58;
          var _tmp440 = _tmp439 << 72;
          var _59 = IHEAP[_uglygep17_2_i104];
          var _tmp444 = _59;
          var _tmp445 = _tmp444 << 80;
          var _60 = IHEAP[_scevgep13_2_i102];
          var _tmp449 = _60;
          var _tmp450 = _tmp449 << 88;
          var _scevgep13_3_i112 = _i_alignedDataBuffer+48;
          var _uglygep17_3_i114 = _i_alignedDataBuffer+49;
          var _uglygep20_3_i115 = _i_alignedDataBuffer+50;
          var _uglygep23_3_i116 = _i_alignedDataBuffer+51;
          var _61 = IHEAP[_uglygep23_3_i116];
          var _tmp410 = _61;
          var _tmp411 = _tmp410 << 96;
          var _62 = IHEAP[_uglygep20_3_i115];
          var _tmp415 = _62;
          var _tmp416 = _tmp415 << 104;
          var _63 = IHEAP[_uglygep17_3_i114];
          var _tmp420 = _63;
          var _tmp421 = _tmp420 << 112;
          var _64 = IHEAP[_scevgep13_3_i112];
          var _tmp425 = _64;
          var _tmp426 = _tmp425 << 120;
          var _mask465 = _ins495 | _tmp459;
          var _mask470_masked_masked_masked_masked_masked_masked_masked_masked_masked = _mask465 | _tmp464;
          var _mask475_masked_masked_masked_masked_masked_masked_masked_masked = _mask470_masked_masked_masked_masked_masked_masked_masked_masked_masked | _tmp469;
          var _mask436_masked_masked_masked_masked_masked_masked_masked = _mask475_masked_masked_masked_masked_masked_masked_masked_masked | _tmp474;
          var _mask441_masked_masked_masked_masked_masked_masked = _mask436_masked_masked_masked_masked_masked_masked_masked | _tmp435;
          var _mask446_masked_masked_masked_masked_masked = _mask441_masked_masked_masked_masked_masked_masked | _tmp440;
          var _mask451_masked_masked_masked_masked = _mask446_masked_masked_masked_masked_masked | _tmp445;
          var _mask412_masked_masked_masked = _mask451_masked_masked_masked_masked | _tmp450;
          var _mask417_masked_masked = _mask412_masked_masked_masked | _tmp411;
          var _mask422_masked = _mask417_masked_masked | _tmp416;
          var _mask427 = _mask422_masked | _tmp421;
          var _ins428 = _mask427 | _tmp426;
          var _tmp403 = _ins495;
          var _tmp404 = _tmp403;
          var _tmp454 = _mask436_masked_masked_masked_masked_masked_masked_masked >> 32;
          var _tmp455 = _tmp454;
          var _tmp456 = _tmp455;
          var _tmp430 = _mask412_masked_masked_masked >> 64;
          var _tmp431 = _tmp430;
          var _tmp432 = _tmp431;
          var _tmp406 = _ins428 >> 96;
          var _tmp407 = _tmp406;
          var _tmp408 = _tmp407;
          var _65 = _48;
          FHEAP[_65] = _tmp404;
          var _66 = _scevgep13_1_i92;
          FHEAP[_66] = _tmp456;
          var _67 = _scevgep13_2_i102;
          FHEAP[_67] = _tmp432;
          var _68 = _scevgep13_3_i112;
          FHEAP[_68] = _tmp408;
          var _69 = _i_alignedDataBuffer+144;
          var _70 = _69;
          var _71 = IHEAP[_70];
          var _72 = _llvm_bswap_i32(_71);
          IHEAP[_70] = _72;
          var _73 = _i_alignedDataBuffer+168;
          var _74 = _73;
          var _75 = IHEAP[_74];
          var _76 = _llvm_bswap_i32(_75);
          IHEAP[_74] = _76;
          __lastLabel__ = 0; ;
        }
        var _77 = __lastLabel__ == 919 ? __pre805 : (_5);
        var _78 = __lastLabel__ == 919 ? __pre : (_76);
        var _79 = _i_alignedDataBuffer+168;
        var _80 = _79;
        var _81 = _78 << 5;
        var _82 = _i_alignedDataBuffer+60;
        var _83 = IHEAP[_82];
        var _toBool_i = _83 == 0;
        var __pn_v_i = _toBool_i ? 6 : 4;
        var __pn_i = _77 << __pn_v_i;
        var _84 = _81 + 172;
        var __0_i = _84 + __pn_i;
        var _85 = unSign(__0_i, 32) > unSign(_i_dataBufferSize, 32);
        if (_85) { __lastLabel__ = 116; __label__ = 66; /* _bb28 */ break _bb28$_bb1$4080; } else { __lastLabel__ = 116; ; }
        var _86 = _i_alignedDataBuffer+172;
        var _87 = _i_alignedDataBuffer;
        IHEAP[_87] = __ZTV14btQuantizedBvh+8;
        var _88 = _i_alignedDataBuffer+52;
        var _89 = _88;
        IHEAP[_89] = 277;
        var _90 = _i_alignedDataBuffer+80;
        IHEAP[_90] = 1;
        var _91 = _i_alignedDataBuffer+76;
        var _92 = _91;
        IHEAP[_92] = 0;
        var _93 = _i_alignedDataBuffer+68;
        var _94 = _93;
        IHEAP[_94] = 0;
        var _95 = _i_alignedDataBuffer+72;
        var _96 = _95;
        IHEAP[_96] = 0;
        var _97 = _i_alignedDataBuffer+100;
        IHEAP[_97] = 1;
        var _98 = _i_alignedDataBuffer+96;
        var _99 = _98;
        IHEAP[_99] = 0;
        var _100 = _i_alignedDataBuffer+88;
        var _101 = _100;
        IHEAP[_101] = 0;
        var _102 = _i_alignedDataBuffer+92;
        var _103 = _102;
        IHEAP[_103] = 0;
        var _104 = _i_alignedDataBuffer+120;
        IHEAP[_104] = 1;
        var _105 = _i_alignedDataBuffer+116;
        var _106 = _105;
        IHEAP[_106] = 0;
        var _107 = _i_alignedDataBuffer+108;
        var _108 = _107;
        IHEAP[_108] = 0;
        var _109 = _i_alignedDataBuffer+112;
        var _110 = _109;
        IHEAP[_110] = 0;
        var _111 = _i_alignedDataBuffer+140;
        IHEAP[_111] = 1;
        var _112 = _i_alignedDataBuffer+136;
        var _113 = _112;
        IHEAP[_113] = 0;
        var _114 = _i_alignedDataBuffer+128;
        var _115 = _114;
        IHEAP[_115] = 0;
        var _116 = _i_alignedDataBuffer+132;
        var _117 = _116;
        IHEAP[_117] = 0;
        var _118 = _i_alignedDataBuffer+164;
        IHEAP[_118] = 1;
        var _119 = _i_alignedDataBuffer+160;
        var _120 = _119;
        IHEAP[_120] = 0;
        var _121 = _i_alignedDataBuffer+152;
        var _122 = _121;
        IHEAP[_122] = 0;
        var _123 = _i_alignedDataBuffer+156;
        var _124 = _123;
        IHEAP[_124] = 0;
        ;
        __ZN20btAlignedObjectArrayI18btOptimizedBvhNodeE20initializeFromBufferEPvii_exit$__ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE20initializeFromBufferEPvii_exit$4087: do { 
          if (_toBool_i) {
            ;
            IHEAP[_97] = 0;
            var _150 = _86;
            IHEAP[_99] = _150;
            IHEAP[_101] = _77;
            IHEAP[_103] = _77;
            var _toBool_not809 = _toBool ^ true;
            var _151 = _77 > 0;
            var _or_cond810 = _toBool_not809 & _151;
            if (_or_cond810) { __lastLabel__ = 910; __label__ = 64; /* _bb19 */  } else { __lastLabel__ = 910; __label__ = 110; /* _bb21 */  }
            _bb19$_bb21$4089: while(1) { // _bb19,_bb21
              if (__label__ == 64) {
                var _152 = __lastLabel__ == 923 ? __pre806 : (_150);
                var _nodeIndex18_0685 = __lastLabel__ == 923 ? _195 : (0);
                var _scevgep707 = _152+64*_nodeIndex18_0685;
                var _scevgep707708 = _scevgep707;
                var _uglygep23_i178 = _scevgep707708+3;
                var _153 = IHEAP[_uglygep23_i178];
                var _tmp666 = _153;
                var _uglygep20_i177 = _scevgep707708+2;
                var _154 = IHEAP[_uglygep20_i177];
                var _tmp670 = _154;
                var _tmp671 = _tmp670 << 8;
                var _uglygep17_i176 = _scevgep707708+1;
                var _155 = IHEAP[_uglygep17_i176];
                var _tmp675 = _155;
                var _tmp676 = _tmp675 << 16;
                var _scevgep705 = _152+64*_nodeIndex18_0685;
                var _scevgep1314_i175 = _scevgep705;
                var _156 = IHEAP[_scevgep1314_i175];
                var _tmp680 = _156;
                var _tmp681 = _tmp680 << 24;
                var _scevgep715 = _152+64*_nodeIndex18_0685+4;
                var _scevgep715716 = _scevgep715;
                var _uglygep23_1_i188 = _scevgep715716+3;
                var _157 = IHEAP[_uglygep23_1_i188];
                var _tmp646 = _157;
                var _tmp647 = _tmp646 << 32;
                var _uglygep20_1_i187 = _scevgep715716+2;
                var _158 = IHEAP[_uglygep20_1_i187];
                var _tmp651 = _158;
                var _tmp652 = _tmp651 << 40;
                var _uglygep17_1_i186 = _scevgep715716+1;
                var _159 = IHEAP[_uglygep17_1_i186];
                var _tmp656 = _159;
                var _tmp657 = _tmp656 << 48;
                var _160 = IHEAP[_scevgep715716];
                var _tmp661 = _160;
                var _tmp662 = _tmp661 << 56;
                var _scevgep723 = _152+64*_nodeIndex18_0685+8;
                var _scevgep723724 = _scevgep723;
                var _uglygep23_2_i198 = _scevgep723724+3;
                var _161 = IHEAP[_uglygep23_2_i198];
                var _tmp622 = _161;
                var _tmp623 = _tmp622 << 64;
                var _uglygep20_2_i197 = _scevgep723724+2;
                var _162 = IHEAP[_uglygep20_2_i197];
                var _tmp627 = _162;
                var _tmp628 = _tmp627 << 72;
                var _uglygep17_2_i196 = _scevgep723724+1;
                var _163 = IHEAP[_uglygep17_2_i196];
                var _tmp632 = _163;
                var _tmp633 = _tmp632 << 80;
                var _164 = IHEAP[_scevgep723724];
                var _tmp637 = _164;
                var _tmp638 = _tmp637 << 88;
                var _scevgep731 = _152+64*_nodeIndex18_0685+12;
                var _scevgep731732 = _scevgep731;
                var _uglygep23_3_i208 = _scevgep731732+3;
                var _165 = IHEAP[_uglygep23_3_i208];
                var _tmp598 = _165;
                var _tmp599 = _tmp598 << 96;
                var _uglygep20_3_i207 = _scevgep731732+2;
                var _166 = IHEAP[_uglygep20_3_i207];
                var _tmp603 = _166;
                var _tmp604 = _tmp603 << 104;
                var _uglygep17_3_i206 = _scevgep731732+1;
                var _167 = IHEAP[_uglygep17_3_i206];
                var _tmp608 = _167;
                var _tmp609 = _tmp608 << 112;
                var _mask677 = _tmp671 | _tmp666;
                var _mask682 = _mask677 | _tmp676;
                var _mask648_masked_masked_masked_masked_masked_masked_masked_masked_masked_masked = _mask682 | _tmp681;
                var _168 = IHEAP[_scevgep731732];
                var _tmp613 = _168;
                var _tmp614 = _tmp613 << 120;
                var _mask653_masked_masked_masked_masked_masked_masked_masked_masked_masked_masked = _mask648_masked_masked_masked_masked_masked_masked_masked_masked_masked_masked | _tmp647;
                var _mask658_masked_masked_masked_masked_masked_masked_masked_masked_masked = _mask653_masked_masked_masked_masked_masked_masked_masked_masked_masked_masked | _tmp652;
                var _mask663_masked_masked_masked_masked_masked_masked_masked_masked = _mask658_masked_masked_masked_masked_masked_masked_masked_masked_masked | _tmp657;
                var _mask624_masked_masked_masked_masked_masked_masked_masked = _mask663_masked_masked_masked_masked_masked_masked_masked_masked | _tmp662;
                var _mask629_masked_masked_masked_masked_masked_masked = _mask624_masked_masked_masked_masked_masked_masked_masked | _tmp623;
                var _mask634_masked_masked_masked_masked_masked = _mask629_masked_masked_masked_masked_masked_masked | _tmp628;
                var _mask639_masked_masked_masked_masked = _mask634_masked_masked_masked_masked_masked | _tmp633;
                var _mask600_masked_masked_masked = _mask639_masked_masked_masked_masked | _tmp638;
                var _mask605_masked_masked = _mask600_masked_masked_masked | _tmp599;
                var _mask610_masked = _mask605_masked_masked | _tmp604;
                var _mask615 = _mask610_masked | _tmp609;
                var _ins616 = _mask615 | _tmp614;
                var _tmp591 = _mask648_masked_masked_masked_masked_masked_masked_masked_masked_masked_masked;
                var _tmp592 = _tmp591;
                var _tmp642 = _mask624_masked_masked_masked_masked_masked_masked_masked >> 32;
                var _tmp643 = _tmp642;
                var _tmp644 = _tmp643;
                var _tmp618 = _mask600_masked_masked_masked >> 64;
                var _tmp619 = _tmp618;
                var _tmp620 = _tmp619;
                var _tmp594 = _ins616 >> 96;
                var _tmp595 = _tmp594;
                var _tmp596 = _tmp595;
                FHEAP[_scevgep707] = _tmp592;
                FHEAP[_scevgep715] = _tmp644;
                FHEAP[_scevgep723] = _tmp620;
                FHEAP[_scevgep731] = _tmp596;
                var _169 = IHEAP[_99];
                var _scevgep744 = _169+64*_nodeIndex18_0685+16;
                var _scevgep744745 = _scevgep744;
                var _uglygep23_i134 = _scevgep744745+3;
                var _170 = IHEAP[_uglygep23_i134];
                var _tmp572 = _170;
                var _uglygep20_i133 = _scevgep744745+2;
                var _171 = IHEAP[_uglygep20_i133];
                var _tmp576 = _171;
                var _tmp577 = _tmp576 << 8;
                var _uglygep17_i132 = _scevgep744745+1;
                var _172 = IHEAP[_uglygep17_i132];
                var _tmp581 = _172;
                var _tmp582 = _tmp581 << 16;
                var _173 = IHEAP[_scevgep744745];
                var _tmp586 = _173;
                var _tmp587 = _tmp586 << 24;
                var _scevgep752 = _169+64*_nodeIndex18_0685+16+4;
                var _scevgep752753 = _scevgep752;
                var _uglygep23_1_i144 = _scevgep752753+3;
                var _174 = IHEAP[_uglygep23_1_i144];
                var _tmp552 = _174;
                var _tmp553 = _tmp552 << 32;
                var _uglygep20_1_i143 = _scevgep752753+2;
                var _175 = IHEAP[_uglygep20_1_i143];
                var _tmp557 = _175;
                var _tmp558 = _tmp557 << 40;
                var _uglygep17_1_i142 = _scevgep752753+1;
                var _176 = IHEAP[_uglygep17_1_i142];
                var _tmp562 = _176;
                var _tmp563 = _tmp562 << 48;
                var _177 = IHEAP[_scevgep752753];
                var _tmp567 = _177;
                var _tmp568 = _tmp567 << 56;
                var _scevgep760 = _169+64*_nodeIndex18_0685+16+8;
                var _scevgep760761 = _scevgep760;
                var _uglygep23_2_i154 = _scevgep760761+3;
                var _178 = IHEAP[_uglygep23_2_i154];
                var _tmp528 = _178;
                var _tmp529 = _tmp528 << 64;
                var _uglygep20_2_i153 = _scevgep760761+2;
                var _179 = IHEAP[_uglygep20_2_i153];
                var _tmp533 = _179;
                var _tmp534 = _tmp533 << 72;
                var _uglygep17_2_i152 = _scevgep760761+1;
                var _180 = IHEAP[_uglygep17_2_i152];
                var _tmp538 = _180;
                var _tmp539 = _tmp538 << 80;
                var _181 = IHEAP[_scevgep760761];
                var _tmp543 = _181;
                var _tmp544 = _tmp543 << 88;
                var _scevgep768 = _169+64*_nodeIndex18_0685+16+12;
                var _scevgep768769 = _scevgep768;
                var _uglygep23_3_i164 = _scevgep768769+3;
                var _182 = IHEAP[_uglygep23_3_i164];
                var _tmp504 = _182;
                var _tmp505 = _tmp504 << 96;
                var _uglygep20_3_i163 = _scevgep768769+2;
                var _183 = IHEAP[_uglygep20_3_i163];
                var _tmp509 = _183;
                var _tmp510 = _tmp509 << 104;
                var _uglygep17_3_i162 = _scevgep768769+1;
                var _184 = IHEAP[_uglygep17_3_i162];
                var _tmp514 = _184;
                var _tmp515 = _tmp514 << 112;
                var _mask583 = _tmp577 | _tmp572;
                var _mask588 = _mask583 | _tmp582;
                var _mask554_masked_masked_masked_masked_masked_masked_masked_masked_masked_masked = _mask588 | _tmp587;
                var _185 = IHEAP[_scevgep768769];
                var _tmp519 = _185;
                var _tmp520 = _tmp519 << 120;
                var _mask559_masked_masked_masked_masked_masked_masked_masked_masked_masked_masked = _mask554_masked_masked_masked_masked_masked_masked_masked_masked_masked_masked | _tmp553;
                var _mask564_masked_masked_masked_masked_masked_masked_masked_masked_masked = _mask559_masked_masked_masked_masked_masked_masked_masked_masked_masked_masked | _tmp558;
                var _mask569_masked_masked_masked_masked_masked_masked_masked_masked = _mask564_masked_masked_masked_masked_masked_masked_masked_masked_masked | _tmp563;
                var _mask530_masked_masked_masked_masked_masked_masked_masked = _mask569_masked_masked_masked_masked_masked_masked_masked_masked | _tmp568;
                var _mask535_masked_masked_masked_masked_masked_masked = _mask530_masked_masked_masked_masked_masked_masked_masked | _tmp529;
                var _mask540_masked_masked_masked_masked_masked = _mask535_masked_masked_masked_masked_masked_masked | _tmp534;
                var _mask545_masked_masked_masked_masked = _mask540_masked_masked_masked_masked_masked | _tmp539;
                var _mask506_masked_masked_masked = _mask545_masked_masked_masked_masked | _tmp544;
                var _mask511_masked_masked = _mask506_masked_masked_masked | _tmp505;
                var _mask516_masked = _mask511_masked_masked | _tmp510;
                var _mask521 = _mask516_masked | _tmp515;
                var _ins522 = _mask521 | _tmp520;
                var _tmp497 = _mask554_masked_masked_masked_masked_masked_masked_masked_masked_masked_masked;
                var _tmp498 = _tmp497;
                var _tmp548 = _mask530_masked_masked_masked_masked_masked_masked_masked >> 32;
                var _tmp549 = _tmp548;
                var _tmp550 = _tmp549;
                var _tmp524 = _mask506_masked_masked_masked >> 64;
                var _tmp525 = _tmp524;
                var _tmp526 = _tmp525;
                var _tmp500 = _ins522 >> 96;
                var _tmp501 = _tmp500;
                var _tmp502 = _tmp501;
                FHEAP[_scevgep744] = _tmp498;
                FHEAP[_scevgep752] = _tmp550;
                FHEAP[_scevgep760] = _tmp526;
                FHEAP[_scevgep768] = _tmp502;
                var _186 = IHEAP[_99];
                var _scevgep778 = _186+64*_nodeIndex18_0685+32;
                var _187 = IHEAP[_scevgep778];
                var _188 = _llvm_bswap_i32(_187);
                IHEAP[_scevgep778] = _188;
                var _189 = IHEAP[_99];
                var _scevgep780 = _189+64*_nodeIndex18_0685+36;
                var _190 = IHEAP[_scevgep780];
                var _191 = _llvm_bswap_i32(_190);
                IHEAP[_scevgep780] = _191;
                var _192 = IHEAP[_99];
                var _scevgep782 = _192+64*_nodeIndex18_0685+40;
                var _193 = IHEAP[_scevgep782];
                var _194 = _llvm_bswap_i32(_193);
                IHEAP[_scevgep782] = _194;
                var _195 = _nodeIndex18_0685 + 1;
                var _exitcond704 = _195 == _77;
                if (_exitcond704) { __label__ = 110; /* _bb21 */ continue _bb19$_bb21$4089; }
                var __pre806 = IHEAP[_99];
                __lastLabel__ = 923; __label__ = 64; /* _bb19 */ continue _bb19$_bb21$4089;
              }
              else if (__label__ == 110) {
                var _196 = _77 << 6;
                __lastLabel__ = 110; __label__ = 5; /* _bb22 */ break __ZN20btAlignedObjectArrayI18btOptimizedBvhNodeE20initializeFromBufferEPvii_exit$__ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE20initializeFromBufferEPvii_exit$4087;
              }
            }
          }
          else {
            ;
            IHEAP[_111] = 0;
            var _125 = _86;
            IHEAP[_113] = _125;
            IHEAP[_115] = _77;
            IHEAP[_117] = _77;
            var _toBool_not = _toBool ^ true;
            var _126 = _77 > 0;
            var _or_cond = _toBool_not & _126;
            if (_or_cond) { __lastLabel__ = 921; __label__ = 3; /* _bb12 */  } else { __lastLabel__ = 921; __label__ = 63; /* _bb14 */  }
            _bb12$_bb14$4095: while(1) { // _bb12,_bb14
              if (__label__ == 3) {
                var _127 = __lastLabel__ == 922 ? __pre808 : (_125);
                var _nodeIndex_0684 = __lastLabel__ == 922 ? _148 : (0);
                var _scevgep689 = _127+20*_nodeIndex_0684;
                var _128 = IHEAP[_scevgep689];
                var _129 = _llvm_bswap_i16(_128);
                IHEAP[_scevgep689] = _129;
                var _130 = IHEAP[_113];
                var _scevgep692 = _130+20*_nodeIndex_0684+2;
                var _131 = IHEAP[_scevgep692];
                var _132 = _llvm_bswap_i16(_131);
                IHEAP[_scevgep692] = _132;
                var _133 = IHEAP[_113];
                var _scevgep694 = _133+20*_nodeIndex_0684+4;
                var _134 = IHEAP[_scevgep694];
                var _135 = _llvm_bswap_i16(_134);
                IHEAP[_scevgep694] = _135;
                var _136 = IHEAP[_113];
                var _scevgep696 = _136+20*_nodeIndex_0684+8;
                var _137 = IHEAP[_scevgep696];
                var _138 = _llvm_bswap_i16(_137);
                IHEAP[_scevgep696] = _138;
                var _139 = IHEAP[_113];
                var _scevgep698 = _139+20*_nodeIndex_0684+8+2;
                var _140 = IHEAP[_scevgep698];
                var _141 = _llvm_bswap_i16(_140);
                IHEAP[_scevgep698] = _141;
                var _142 = IHEAP[_113];
                var _scevgep700 = _142+20*_nodeIndex_0684+8+4;
                var _143 = IHEAP[_scevgep700];
                var _144 = _llvm_bswap_i16(_143);
                IHEAP[_scevgep700] = _144;
                var _145 = IHEAP[_113];
                var _scevgep702 = _145+20*_nodeIndex_0684+16;
                var _146 = IHEAP[_scevgep702];
                var _147 = _llvm_bswap_i32(_146);
                IHEAP[_scevgep702] = _147;
                var _148 = _nodeIndex_0684 + 1;
                var _exitcond = _148 == _77;
                if (_exitcond) { __label__ = 63; /* _bb14 */ continue _bb12$_bb14$4095; }
                var __pre808 = IHEAP[_113];
                __lastLabel__ = 922; __label__ = 3; /* _bb12 */ continue _bb12$_bb14$4095;
              }
              else if (__label__ == 63) {
                var _149 = _77 << 4;
                __lastLabel__ = 63; __label__ = 5; /* _bb22 */ break __ZN20btAlignedObjectArrayI18btOptimizedBvhNodeE20initializeFromBufferEPvii_exit$__ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE20initializeFromBufferEPvii_exit$4087;
              }
            }
          }
        } while(0);
        var __sum33_pn_in = __lastLabel__ == 63 ? _149 : (_196);
        var __sum33_pn = __sum33_pn_in + 172;
        var _nodeData_0 = _i_alignedDataBuffer+__sum33_pn;
        var _197 = IHEAP[_80];
        var _198 = IHEAP[_120];
        var _199 = _198 == 0;
        ;
        if (!_199) {
          ;
          var _200 = IHEAP[_118];
          var _toBool_i_i_i122 = _200 == 0;
          ;
          if (!_toBool_i_i_i122) {
            ;
            var _201 = _198;
            __Z21btAlignedFreeInternalPv(_201);
            ;
          }
          IHEAP[_120] = 0;
          ;
        }
        IHEAP[_118] = 0;
        var _202 = _nodeData_0;
        IHEAP[_120] = _202;
        IHEAP[_122] = _197;
        IHEAP[_124] = _197;
        if (_toBool) { __lastLabel__ = 926; __label__ = 66; /* _bb28 */ break _bb28$_bb1$4080; } else { __lastLabel__ = 926; ; }
        var _203 = IHEAP[_80];
        var _204 = _203 > 0;
        if (_204) { __lastLabel__ = 927; ; } else { __lastLabel__ = 927; __label__ = 66; /* _bb28 */ break _bb28$_bb1$4080; }
        _bb25$4108: while(1) { // _bb25
          var _205 = __lastLabel__ == 928 ? __pre807 : (_202);
          var _i_0687 = __lastLabel__ == 928 ? _229 : (0);
          var _scevgep784785 = _205+36*_i_0687;
          var _206 = IHEAP[_scevgep784785];
          var _207 = _llvm_bswap_i16(_206);
          IHEAP[_scevgep784785] = _207;
          var _208 = IHEAP[_120];
          var _scevgep788 = _208+36*_i_0687+2;
          var _209 = IHEAP[_scevgep788];
          var _210 = _llvm_bswap_i16(_209);
          IHEAP[_scevgep788] = _210;
          var _211 = IHEAP[_120];
          var _scevgep790 = _211+36*_i_0687+4;
          var _212 = IHEAP[_scevgep790];
          var _213 = _llvm_bswap_i16(_212);
          IHEAP[_scevgep790] = _213;
          var _214 = IHEAP[_120];
          var _scevgep792 = _214+36*_i_0687+8;
          var _215 = IHEAP[_scevgep792];
          var _216 = _llvm_bswap_i16(_215);
          IHEAP[_scevgep792] = _216;
          var _217 = IHEAP[_120];
          var _scevgep794 = _217+36*_i_0687+8+2;
          var _218 = IHEAP[_scevgep794];
          var _219 = _llvm_bswap_i16(_218);
          IHEAP[_scevgep794] = _219;
          var _220 = IHEAP[_120];
          var _scevgep796 = _220+36*_i_0687+8+4;
          var _221 = IHEAP[_scevgep796];
          var _222 = _llvm_bswap_i16(_221);
          IHEAP[_scevgep796] = _222;
          var _223 = IHEAP[_120];
          var _scevgep798 = _223+36*_i_0687+16;
          var _224 = IHEAP[_scevgep798];
          var _225 = _llvm_bswap_i32(_224);
          IHEAP[_scevgep798] = _225;
          var _226 = IHEAP[_120];
          var _scevgep800 = _226+36*_i_0687+20;
          var _227 = IHEAP[_scevgep800];
          var _228 = _llvm_bswap_i32(_227);
          IHEAP[_scevgep800] = _228;
          var _229 = _i_0687 + 1;
          var _230 = IHEAP[_80];
          var _231 = _230 > _229;
          if (_231) { __lastLabel__ = 540; ; } else { __lastLabel__ = 540; __label__ = 66; /* _bb28 */ break _bb28$_bb1$4080; }
          var __pre807 = IHEAP[_120];
          __lastLabel__ = 928; __label__ = 540; /* _bb25 */ continue _bb25$4108;
        }
      }
    } while(0);
    var __0 = __lastLabel__ == -1 ? 0 : (__lastLabel__ == 116 ? 0 : (__lastLabel__ == 926 ? _1 : (__lastLabel__ == 540 ? _1 : (_1))));
    ;
    return __0;
  }
  __ZN14btQuantizedBvh18deSerializeInPlaceEPvjb.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvh18deSerializeInPlaceEPvjb, "__ZN14btQuantizedBvh18deSerializeInPlaceEPvjb");
  
  
  function __ZN14btQuantizedBvhD2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV14btQuantizedBvh+8;
    var _1 = _this+148+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$4113: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+148+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$4115: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$4115; } else { ; }
            var _eh_ptr45 = _llvm_eh_exception();
            var _eh_select47 = _llvm_eh_selector(_eh_ptr45, ___gxx_personality_v0, 0);
            var _49 = _this+124+12;
            var _50 = IHEAP[_49];
            var _51 = _50 == 0;
            ;
            if (!_51) {
              ;
              var _52 = _this+124+16;
              var _53 = IHEAP[_52];
              var _toBool_i_i_i93 = _53 == 0;
              ;
              _bb2_i_i_i96$_bb1_i_i_i95$4120: do { 
                if (!_toBool_i_i_i93) {
                  ;
                  var _54 = _50;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_54) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3812; /* _bb2_i_i_i96 */ break _bb2_i_i_i96$_bb1_i_i_i95$4120; } else { ; }
                  var _eh_ptr49 = _llvm_eh_exception();
                  var _eh_select51 = _llvm_eh_selector(_eh_ptr49, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_49] = 0;
              ;
            }
            var _55 = _this+124+16;
            IHEAP[_55] = 1;
            IHEAP[_49] = 0;
            var _56 = _this+124+4;
            IHEAP[_56] = 0;
            var _57 = _this+124+8;
            IHEAP[_57] = 0;
            __lastLabel__ = 889; __label__ = 887; /* _ppad65 */ break _bb3$_bb_i_i_i$4113;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$4113;
      }
    } while(0);
    _bb3$_ppad65$4126: do { 
      if (__label__ == 116) {
        var _7 = _this+148+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+148+4;
        IHEAP[_8] = 0;
        var _9 = _this+148+8;
        IHEAP[_9] = 0;
        var _10 = _this+124+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+124+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i72 = _14 == 0;
          ;
          _bb2_i_i_i75$_bb1_i_i_i74$4130: do { 
            if (!_toBool_i_i_i72) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3809; /* _bb2_i_i_i75 */ break _bb2_i_i_i75$_bb1_i_i_i74$4130; } else { ; }
              var _eh_ptr41 = _llvm_eh_exception();
              var _eh_select43 = _llvm_eh_selector(_eh_ptr41, ___gxx_personality_v0, 0);
              __lastLabel__ = 520; __label__ = 887; /* _ppad65 */ break _bb3$_ppad65$4126;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _16 = _this+124+16;
        IHEAP[_16] = 1;
        IHEAP[_10] = 0;
        var _17 = _this+124+4;
        IHEAP[_17] = 0;
        var _18 = _this+124+8;
        IHEAP[_18] = 0;
        var _19 = _this+104+12;
        var _20 = IHEAP[_19];
        var _21 = _20 == 0;
        ;
        if (!_21) {
          ;
          var _22 = _this+104+16;
          var _23 = IHEAP[_22];
          var _toBool_i_i_i77 = _23 == 0;
          ;
          _bb2_i_i_i80$_bb1_i_i_i79$4137: do { 
            if (!_toBool_i_i_i77) {
              ;
              var _24 = _20;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_24) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3810; /* _bb2_i_i_i80 */ break _bb2_i_i_i80$_bb1_i_i_i79$4137; } else { ; }
              var _eh_ptr37 = _llvm_eh_exception();
              var _eh_select39 = _llvm_eh_selector(_eh_ptr37, ___gxx_personality_v0, 0);
              __lastLabel__ = 680; __label__ = 886; /* _ppad64 */ break _bb3$_ppad65$4126;
            }
          } while(0);
          IHEAP[_19] = 0;
          ;
        }
        var _25 = _this+104+16;
        IHEAP[_25] = 1;
        IHEAP[_19] = 0;
        var _26 = _this+104+4;
        IHEAP[_26] = 0;
        var _27 = _this+104+8;
        IHEAP[_27] = 0;
        var _28 = _this+84+12;
        var _29 = IHEAP[_28];
        var _30 = _29 == 0;
        ;
        if (!_30) {
          ;
          var _31 = _this+84+16;
          var _32 = IHEAP[_31];
          var _toBool_i_i_i83 = _32 == 0;
          ;
          _bb2_i_i_i86$_bb1_i_i_i85$4144: do { 
            if (!_toBool_i_i_i83) {
              ;
              var _33 = _29;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_33) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3811; /* _bb2_i_i_i86 */ break _bb2_i_i_i86$_bb1_i_i_i85$4144; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select35 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad65$4126;
            }
          } while(0);
          IHEAP[_28] = 0;
          ;
        }
        var _37 = _this+84+16;
        IHEAP[_37] = 1;
        IHEAP[_28] = 0;
        var _38 = _this+84+4;
        IHEAP[_38] = 0;
        var _39 = _this+84+8;
        IHEAP[_39] = 0;
        var _40 = _this+64+12;
        var _41 = IHEAP[_40];
        var _42 = _41 == 0;
        ;
        if (!_42) {
          ;
          var _43 = _this+64+16;
          var _44 = IHEAP[_43];
          var _toBool_i_i_i88 = _44 == 0;
          ;
          if (!_toBool_i_i_i88) {
            ;
            var _45 = _41;
            __Z21btAlignedFreeInternalPv(_45);
            ;
          }
          IHEAP[_40] = 0;
          ;
        }
        var _46 = _this+64+16;
        IHEAP[_46] = 1;
        IHEAP[_40] = 0;
        var _47 = _this+64+4;
        IHEAP[_47] = 0;
        var _48 = _this+64+8;
        IHEAP[_48] = 0;
        ;
        return;
      }
    } while(0);
    _ppad$_ppad64$_ppad65$4155: do { 
      if (__label__ == 887) {
        var _eh_exception_0 = __lastLabel__ == 520 ? _eh_ptr41 : (_eh_ptr45);
        var _73 = _this+104+12;
        var _74 = IHEAP[_73];
        var _75 = _74 == 0;
        ;
        if (!_75) {
          ;
          var _76 = _this+104+16;
          var _77 = IHEAP[_76];
          var _toBool_i_i_i111 = _77 == 0;
          ;
          _bb2_i_i_i114$_bb1_i_i_i113$4159: do { 
            if (!_toBool_i_i_i111) {
              ;
              var _78 = _74;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_78) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3815; /* _bb2_i_i_i114 */ break _bb2_i_i_i114$_bb1_i_i_i113$4159; } else { ; }
              var _eh_ptr53 = _llvm_eh_exception();
              var _eh_select55 = _llvm_eh_selector(_eh_ptr53, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_73] = 0;
          ;
        }
        var _79 = _this+104+16;
        IHEAP[_79] = 1;
        IHEAP[_73] = 0;
        var _80 = _this+104+4;
        IHEAP[_80] = 0;
        var _81 = _this+104+8;
        IHEAP[_81] = 0;
        __lastLabel__ = 895; __label__ = 886; /* _ppad64 */ break _ppad$_ppad64$_ppad65$4155;
      }
    } while(0);
    if (__label__ == 886) {
      var _eh_exception_1 = __lastLabel__ == 680 ? _eh_ptr37 : (_eh_exception_0);
      var _64 = _this+84+12;
      var _65 = IHEAP[_64];
      var _66 = _65 == 0;
      ;
      if (!_66) {
        ;
        var _67 = _this+84+16;
        var _68 = IHEAP[_67];
        var _toBool_i_i_i105 = _68 == 0;
        ;
        _bb2_i_i_i108$_bb1_i_i_i107$4168: do { 
          if (!_toBool_i_i_i105) {
            ;
            var _69 = _65;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_69) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3814; /* _bb2_i_i_i108 */ break _bb2_i_i_i108$_bb1_i_i_i107$4168; } else { ; }
            var _eh_ptr57 = _llvm_eh_exception();
            var _eh_select59 = _llvm_eh_selector(_eh_ptr57, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_64] = 0;
        ;
      }
      var _70 = _this+84+16;
      IHEAP[_70] = 1;
      IHEAP[_64] = 0;
      var _71 = _this+84+4;
      IHEAP[_71] = 0;
      var _72 = _this+84+8;
      IHEAP[_72] = 0;
      __lastLabel__ = 892; ;
    }
    var _eh_exception_2 = __lastLabel__ == 254 ? _eh_ptr : (_eh_exception_1);
    var _58 = _this+64+12;
    var _59 = IHEAP[_58];
    var _60 = _59 == 0;
    ;
    if (!_60) {
      ;
      var _61 = _this+64+16;
      var _62 = IHEAP[_61];
      var _toBool_i_i_i99 = _62 == 0;
      ;
      _bb2_i_i_i102$_bb1_i_i_i101$4176: do { 
        if (!_toBool_i_i_i99) {
          ;
          var _63 = _59;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_63) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3813; /* _bb2_i_i_i102 */ break _bb2_i_i_i102$_bb1_i_i_i101$4176; } else { ; }
          var _eh_ptr61 = _llvm_eh_exception();
          var _eh_select63 = _llvm_eh_selector(_eh_ptr61, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_58] = 0;
      ;
    }
    var _34 = _this+64+16;
    IHEAP[_34] = 1;
    IHEAP[_58] = 0;
    var _35 = _this+64+4;
    IHEAP[_35] = 0;
    var _36 = _this+64+8;
    IHEAP[_36] = 0;
    __Unwind_Resume_or_Rethrow(_eh_exception_2);
    // unreachable
  }
  __ZN14btQuantizedBvhD2Ev.__index__ = Runtime.getFunctionIndex(__ZN14btQuantizedBvhD2Ev, "__ZN14btQuantizedBvhD2Ev");
  
  
  function __ZNK14btQuantizedBvh36walkStacklessQuantizedTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii(_this, _nodeCallback, _raySource, _rayTarget, _aabbMin, _aabbMax, _startNodeIndex, _endNodeIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _bounds = __stackBase__;
    var _0 = _this+124+12;
    var _1 = IHEAP[_0];
    var _2 = _1+20*_startNodeIndex;
    var _3 = _rayTarget+8;
    var _4 = FHEAP[_3];
    var _5 = _raySource+8;
    var _6 = FHEAP[_5];
    var _7 = _4 - _6;
    var _8 = _rayTarget+4;
    var _9 = FHEAP[_8];
    var _10 = _raySource+4;
    var _11 = FHEAP[_10];
    var _12 = _9 - _11;
    var _13 = _rayTarget;
    var _14 = FHEAP[_13];
    var _15 = _raySource;
    var _16 = FHEAP[_15];
    var _17 = _14 - _16;
    var _18 = _17 * _17;
    var _19 = _12 * _12;
    var _20 = _18 + _19;
    var _21 = _7 * _7;
    var _22 = _20 + _21;
    var _23 = _sqrtf(_22);
    var _24 = 1 / _23;
    var _25 = _17 * _24;
    var _26 = _12 * _24;
    var _27 = _7 * _24;
    var _28 = _25 * _17;
    var _29 = _26 * _12;
    var _30 = _28 + _29;
    var _31 = _27 * _7;
    var _32 = _30 + _31;
    var _33 = _25 != 0;
    ;
    if (_33) {
      __lastLabel__ = -1; ;
      var _34 = 1 / _25;
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _iftmp_234_0 = __lastLabel__ == 60 ? _34 : (999999984306749400);
    var _35 = _26 != 0;
    ;
    if (_35) {
      __lastLabel__ = 0; ;
      var _36 = 1 / _26;
      __lastLabel__ = 116; ;
    }
    else {
      __lastLabel__ = 0; ;
    }
    var _iftmp_235_0 = __lastLabel__ == 116 ? _36 : (999999984306749400);
    var _37 = _27 != 0;
    ;
    if (_37) {
      __lastLabel__ = 82; ;
      var _38 = 1 / _27;
      __lastLabel__ = 83; ;
    }
    else {
      __lastLabel__ = 82; ;
    }
    var _iftmp_236_0 = __lastLabel__ == 83 ? _38 : (999999984306749400);
    var _39 = _14 < _16;
    var _rayAabbMin_0_0_0 = _39 ? _14 : _16;
    var _40 = _9 < _11;
    var _rayAabbMin_0_1_0 = _40 ? _9 : _11;
    var _41 = _4 < _6;
    var _rayAabbMin_0_2_0 = _41 ? _4 : _6;
    var _42 = _16 < _14;
    var _rayAabbMax_0_0_0 = _42 ? _14 : _16;
    var _43 = _11 < _9;
    var _rayAabbMax_0_1_0 = _43 ? _9 : _11;
    var _44 = _6 < _4;
    var _rayAabbMax_0_2_0 = _44 ? _4 : _6;
    var _45 = _aabbMin;
    var _46 = FHEAP[_45];
    var _47 = _rayAabbMin_0_0_0 + _46;
    var _48 = _aabbMin+4;
    var _49 = FHEAP[_48];
    var _50 = _rayAabbMin_0_1_0 + _49;
    var _51 = _aabbMin+8;
    var _52 = FHEAP[_51];
    var _53 = _rayAabbMin_0_2_0 + _52;
    var _54 = _aabbMax;
    var _55 = FHEAP[_54];
    var _56 = _rayAabbMax_0_0_0 + _55;
    var _57 = _aabbMax+4;
    var _58 = FHEAP[_57];
    var _59 = _rayAabbMax_0_1_0 + _58;
    var _60 = _aabbMax+8;
    var _61 = FHEAP[_60];
    var _62 = _rayAabbMax_0_2_0 + _61;
    var _63 = _this+4;
    var _64 = FHEAP[_63];
    var _65 = _47 < _64;
    var _clampedPoint_0_0_0_i29 = _65 ? _64 : _47;
    var _66 = _this+4+4;
    var _67 = FHEAP[_66];
    var _68 = _50 < _67;
    var _clampedPoint_0_1_0_i30 = _68 ? _67 : _50;
    var _69 = _this+4+8;
    var _70 = FHEAP[_69];
    var _71 = _53 < _70;
    var _clampedPoint_0_2_0_i31 = _71 ? _70 : _53;
    var _72 = _this+20;
    var _73 = FHEAP[_72];
    var _74 = _73 < _clampedPoint_0_0_0_i29;
    var _clampedPoint_0_0_1_i32 = _74 ? _73 : _clampedPoint_0_0_0_i29;
    var _75 = _this+20+4;
    var _76 = FHEAP[_75];
    var _77 = _76 < _clampedPoint_0_1_0_i30;
    var _clampedPoint_0_1_1_i33 = _77 ? _76 : _clampedPoint_0_1_0_i30;
    var _78 = _this+20+8;
    var _79 = FHEAP[_78];
    var _80 = _79 < _clampedPoint_0_2_0_i31;
    var _clampedPoint_0_2_1_i34 = _80 ? _79 : _clampedPoint_0_2_0_i31;
    var _81 = _clampedPoint_0_2_1_i34 - _70;
    var _82 = _clampedPoint_0_1_1_i33 - _67;
    var _83 = _clampedPoint_0_0_1_i32 - _64;
    var _84 = _this+36+8;
    var _85 = FHEAP[_84];
    var _86 = _81 * _85;
    var _87 = _this+36+4;
    var _88 = FHEAP[_87];
    var _89 = _82 * _88;
    var _90 = _this+36;
    var _91 = FHEAP[_90];
    var _92 = _83 * _91;
    var _93 = Math.floor(_92);
    var _94 = _93 & -2;
    var _95 = Math.floor(_89);
    var _96 = _95 & -2;
    var _97 = Math.floor(_86);
    var _98 = _97 & -2;
    var _99 = _56 < _64;
    var _clampedPoint_0_0_0_i = _99 ? _64 : _56;
    var _100 = _59 < _67;
    var _clampedPoint_0_1_0_i = _100 ? _67 : _59;
    var _101 = _62 < _70;
    var _clampedPoint_0_2_0_i = _101 ? _70 : _62;
    var _102 = _73 < _clampedPoint_0_0_0_i;
    var _clampedPoint_0_0_1_i = _102 ? _73 : _clampedPoint_0_0_0_i;
    var _103 = _76 < _clampedPoint_0_1_0_i;
    var _clampedPoint_0_1_1_i = _103 ? _76 : _clampedPoint_0_1_0_i;
    var _104 = _79 < _clampedPoint_0_2_0_i;
    var _clampedPoint_0_2_1_i = _104 ? _79 : _clampedPoint_0_2_0_i;
    var _105 = _clampedPoint_0_2_1_i - _70;
    var _106 = _clampedPoint_0_1_1_i - _67;
    var _107 = _clampedPoint_0_0_1_i - _64;
    var _108 = _105 * _85;
    var _109 = _106 * _88;
    var _110 = _107 * _91;
    var _111 = _110 + 1;
    var _112 = Math.floor(_111);
    var _113 = _112 | 1;
    var _114 = _109 + 1;
    var _115 = Math.floor(_114);
    var _116 = _115 | 1;
    var _117 = _108 + 1;
    var _118 = Math.floor(_117);
    var _119 = _118 | 1;
    var _120 = _startNodeIndex < _endNodeIndex;
    ;
    _bb_nph78$_bb24$4192: do { 
      if (_120) {
        __lastLabel__ = 148; ;
        var _121 = _iftmp_236_0 < 0;
        var _122 = _iftmp_235_0 < 0;
        var _123 = _iftmp_234_0 < 0;
        var _124 = _121;
        var _125 = _122;
        var _126 = _123;
        var _127 = _bounds;
        var _128 = _bounds+4;
        var _129 = _bounds+8;
        var _130 = _bounds+12;
        var _131 = _bounds+16;
        var _132 = _bounds+16+4;
        var _133 = _bounds+16+8;
        var _134 = _bounds+16+12;
        var _135 = _bounds+_126*16;
        var _136 = _126 ^ 1;
        var _137 = _bounds+_136*16;
        var _138 = _bounds+_125*16+4;
        var _139 = _125 ^ 1;
        var _140 = _bounds+_139*16+4;
        var _141 = _bounds+_124*16+8;
        var _142 = _124 ^ 1;
        var _143 = _bounds+_142*16+8;
        var _144 = _nodeCallback;
        __lastLabel__ = 942; ;
        _bb9$4194: while(1) { // _bb9
          var _rootNode_076 = __lastLabel__ == 942 ? _2 : (_rootNode_0_be);
          var _walkIterations_075 = __lastLabel__ == 942 ? 0 : (_tmp);
          var _curIndex_074 = __lastLabel__ == 942 ? _startNodeIndex : (_curIndex_0_be);
          var _tmp = _walkIterations_075 + 1;
          var _145 = _rootNode_076+8;
          var _146 = _rootNode_076;
          var _147 = IHEAP[_145];
          var _148 = unSign(_94, 16) <= unSign(_147, 16);
          var _149 = IHEAP[_146];
          var _150 = unSign(_113, 16) >= unSign(_149, 16);
          var _151 = _148 & _150;
          var _152 = _rootNode_076+8+4;
          var _153 = IHEAP[_152];
          var _154 = unSign(_98, 16) <= unSign(_153, 16);
          var _155 = _151 & _154;
          var _156 = _rootNode_076+4;
          var _157 = IHEAP[_156];
          var _158 = unSign(_119, 16) >= unSign(_157, 16);
          var _159 = _155 & _158;
          var _160 = _rootNode_076+8+2;
          var _161 = IHEAP[_160];
          var _162 = unSign(_96, 16) <= unSign(_161, 16);
          var _163 = _159 & _162;
          var _164 = _rootNode_076+2;
          var _165 = IHEAP[_164];
          var _166 = unSign(_116, 16) >= unSign(_165, 16);
          var _167 = _163 & _166;
          var _168 = _rootNode_076+16;
          var _169 = IHEAP[_168];
          var __lobit_i = _169 >> 31;
          var _tmp_i = __lobit_i;
          ;
          _bb13$_bb18$4196: do { 
            if (_167) {
              __lastLabel__ = 62; ;
              var _170 = unSign(_157, 16);
              var _171 = FHEAP[_84];
              var _172 = _170 / _171;
              var _173 = unSign(_165, 16);
              var _174 = FHEAP[_87];
              var _175 = _173 / _174;
              var _176 = unSign(_149, 16);
              var _177 = FHEAP[_90];
              var _178 = _176 / _177;
              var _179 = FHEAP[_63];
              var _180 = _178 + _179;
              var _181 = FHEAP[_66];
              var _182 = _175 + _181;
              var _183 = FHEAP[_69];
              var _184 = _172 + _183;
              FHEAP[_127] = _180;
              FHEAP[_128] = _182;
              FHEAP[_129] = _184;
              FHEAP[_130] = 0;
              var _185 = IHEAP[_152];
              var _186 = unSign(_185, 16);
              var _187 = _186 / _171;
              var _188 = IHEAP[_160];
              var _189 = unSign(_188, 16);
              var _190 = _189 / _174;
              var _191 = IHEAP[_145];
              var _192 = unSign(_191, 16);
              var _193 = _192 / _177;
              var _194 = _193 + _179;
              var _195 = _190 + _181;
              var _196 = _187 + _183;
              FHEAP[_134] = 0;
              var _197 = FHEAP[_54];
              var _198 = _180 - _197;
              FHEAP[_127] = _198;
              var _199 = FHEAP[_57];
              var _200 = _182 - _199;
              FHEAP[_128] = _200;
              var _201 = FHEAP[_60];
              var _202 = _184 - _201;
              FHEAP[_129] = _202;
              var _203 = FHEAP[_45];
              var _204 = _194 - _203;
              FHEAP[_131] = _204;
              var _205 = FHEAP[_48];
              var _206 = _195 - _205;
              FHEAP[_132] = _206;
              var _207 = FHEAP[_51];
              var _208 = _196 - _207;
              FHEAP[_133] = _208;
              var _209 = FHEAP[_135];
              var _210 = FHEAP[_15];
              var _211 = _209 - _210;
              var _212 = _211 * _iftmp_234_0;
              var _213 = FHEAP[_137];
              var _214 = _213 - _210;
              var _215 = _214 * _iftmp_234_0;
              var _216 = FHEAP[_138];
              var _217 = FHEAP[_10];
              var _218 = _216 - _217;
              var _219 = _218 * _iftmp_235_0;
              var _220 = FHEAP[_140];
              var _221 = _220 - _217;
              var _222 = _221 * _iftmp_235_0;
              var _223 = _212 > _222;
              var _224 = _219 > _215;
              var _or_cond_i = _223 | _224;
              if (_or_cond_i) { __lastLabel__ = 108; __label__ = 86; /* _bb18 */ break _bb13$_bb18$4196; } else { __lastLabel__ = 108; ; }
              var _225 = _212 < _219;
              var _226 = _225 ? _219 : _212;
              var _227 = _222 < _215;
              var _tmax_0_i = _227 ? _222 : _215;
              var _228 = FHEAP[_141];
              var _229 = FHEAP[_5];
              var _230 = _228 - _229;
              var _231 = _230 * _iftmp_236_0;
              var _232 = FHEAP[_143];
              var _233 = _232 - _229;
              var _234 = _233 * _iftmp_236_0;
              var _235 = _226 > _234;
              var _236 = _231 > _tmax_0_i;
              var _or_cond21_i = _235 | _236;
              if (_or_cond21_i) { __lastLabel__ = 132; __label__ = 86; /* _bb18 */ break _bb13$_bb18$4196; } else { __lastLabel__ = 132; ; }
              var _237 = _226 < _231;
              var _238 = _237 ? _231 : _226;
              var _239 = _234 < _tmax_0_i;
              var _tmax_1_i = _239 ? _234 : _tmax_0_i;
              var _240 = _238 >= _32;
              var _241 = _tmax_1_i <= 0;
              var _or_cond22_i = _240 | _241;
              var _242 = _or_cond22_i;
              var _iftmp_131_0_i = _242 ^ 1;
              var _toBool = _tmp_i == 1;
              var _or_cond = _toBool | _or_cond22_i;
              if (_or_cond) { __lastLabel__ = 181; __label__ = 86; /* _bb18 */ break _bb13$_bb18$4196; } else { __lastLabel__ = 181; ; }
              var _243 = IHEAP[_144];
              var _244 = _243+8;
              var _245 = IHEAP[_244];
              var _246 = IHEAP[_168];
              var _247 = _246 & 2097151;
              var _248 = _246 >> 21;
              var _249 = _245;
              FUNCTION_TABLE[_249](_nodeCallback, _248, _247);
              __lastLabel__ = 4; ;
            }
            else {
              __lastLabel__ = 62; ;
            }
          } while(0);
          var _rayBoxOverlap_072 = __lastLabel__ == 181 ? _iftmp_131_0_i : (__lastLabel__ == 4 ? _iftmp_131_0_i : (__lastLabel__ == 62 ? 0 : (__lastLabel__ == 132 ? 0 : (0))));
          var _250 = _rayBoxOverlap_072 == 0;
          var _toBool20 = _tmp_i == 1;
          var _or_cond28 = _250 & _toBool20;
          ;
          if (_or_cond28) {
            ;
            var _254 = IHEAP[_168];
            var _255 = 0 - _254;
            var _256 = _rootNode_076+20*_255;
            var _257 = _curIndex_074 - _254;
            __lastLabel__ = 5; ;
          }
          else {
            ;
            var _251 = _rootNode_076+20;
            var _252 = _curIndex_074 + 1;
            __lastLabel__ = 110; ;
          }
          var _curIndex_0_be = __lastLabel__ == 110 ? _252 : (_257);
          var _rootNode_0_be = __lastLabel__ == 110 ? _251 : (_256);
          var _253 = _curIndex_0_be < _endNodeIndex;
          if (_253) { __lastLabel__ = 945; __label__ = 62; /* _bb9 */ continue _bb9$4194; } else { __lastLabel__ = 945; __label__ = 65; /* _bb24 */ break _bb_nph78$_bb24$4192; }
        }
      }
      else {
        __lastLabel__ = 148; ;
      }
    } while(0);
    var _walkIterations_0_lcssa = __lastLabel__ == 148 ? 0 : (_tmp);
    var _258 = IHEAP[_maxIterations];
    var _259 = _258 < _walkIterations_0_lcssa;
    ;
    if (_259) {
      ;
      IHEAP[_maxIterations] = _walkIterations_0_lcssa;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZNK14btQuantizedBvh36walkStacklessQuantizedTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii.__index__ = Runtime.getFunctionIndex(__ZNK14btQuantizedBvh36walkStacklessQuantizedTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii, "__ZNK14btQuantizedBvh36walkStacklessQuantizedTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii");
  
  
  function __ZNK14btQuantizedBvh27walkStacklessTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii(_this, _nodeCallback, _raySource, _rayTarget, _aabbMin, _aabbMax, _startNodeIndex, _endNodeIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _bounds = __stackBase__;
    var _0 = _this+84+12;
    var _1 = IHEAP[_0];
    var _2 = _raySource;
    var _3 = FHEAP[_2];
    var _4 = _raySource+4;
    var _5 = FHEAP[_4];
    var _6 = _raySource+8;
    var _7 = FHEAP[_6];
    var _8 = _rayTarget;
    var _9 = FHEAP[_8];
    var _10 = _9 < _3;
    var _rayAabbMin_0_0_0 = _10 ? _9 : _3;
    var _11 = _rayTarget+4;
    var _12 = FHEAP[_11];
    var _13 = _12 < _5;
    var _rayAabbMin_0_1_0 = _13 ? _12 : _5;
    var _14 = _rayTarget+8;
    var _15 = FHEAP[_14];
    var _16 = _15 < _7;
    var _rayAabbMin_0_2_0 = _16 ? _15 : _7;
    var _17 = _3 < _9;
    var _rayAabbMax_0_0_0 = _17 ? _9 : _3;
    var _18 = _5 < _12;
    var _rayAabbMax_0_1_0 = _18 ? _12 : _5;
    var _19 = _7 < _15;
    var _rayAabbMax_0_2_0 = _19 ? _15 : _7;
    var _20 = _aabbMin;
    var _21 = FHEAP[_20];
    var _22 = _rayAabbMin_0_0_0 + _21;
    var _23 = _aabbMin+4;
    var _24 = FHEAP[_23];
    var _25 = _rayAabbMin_0_1_0 + _24;
    var _26 = _aabbMin+8;
    var _27 = FHEAP[_26];
    var _28 = _rayAabbMin_0_2_0 + _27;
    var _29 = _aabbMax;
    var _30 = FHEAP[_29];
    var _31 = _rayAabbMax_0_0_0 + _30;
    var _32 = _aabbMax+4;
    var _33 = FHEAP[_32];
    var _34 = _rayAabbMax_0_1_0 + _33;
    var _35 = _aabbMax+8;
    var _36 = FHEAP[_35];
    var _37 = _rayAabbMax_0_2_0 + _36;
    var _38 = _15 - _7;
    var _39 = _12 - _5;
    var _40 = _9 - _3;
    var _41 = _40 * _40;
    var _42 = _39 * _39;
    var _43 = _41 + _42;
    var _44 = _38 * _38;
    var _45 = _43 + _44;
    var _46 = _sqrtf(_45);
    var _47 = 1 / _46;
    var _48 = _40 * _47;
    var _49 = _39 * _47;
    var _50 = _38 * _47;
    var _51 = _48 * _40;
    var _52 = _49 * _39;
    var _53 = _51 + _52;
    var _54 = _50 * _38;
    var _55 = _53 + _54;
    var _56 = _48 != 0;
    ;
    if (_56) {
      __lastLabel__ = -1; ;
      var _57 = 1 / _48;
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _iftmp_228_0 = __lastLabel__ == 60 ? _57 : (999999984306749400);
    var _58 = _49 != 0;
    ;
    if (_58) {
      __lastLabel__ = 0; ;
      var _59 = 1 / _49;
      __lastLabel__ = 116; ;
    }
    else {
      __lastLabel__ = 0; ;
    }
    var _iftmp_229_0 = __lastLabel__ == 116 ? _59 : (999999984306749400);
    var _60 = _50 != 0;
    ;
    if (_60) {
      __lastLabel__ = 82; ;
      var _61 = 1 / _50;
      __lastLabel__ = 83; ;
    }
    else {
      __lastLabel__ = 82; ;
    }
    var _iftmp_230_0 = __lastLabel__ == 83 ? _61 : (999999984306749400);
    var _62 = _iftmp_228_0 < 0;
    var _63 = _62;
    var _64 = _iftmp_229_0 < 0;
    var _65 = _64;
    var _66 = _iftmp_230_0 < 0;
    var _67 = _66;
    var _68 = _this+56;
    var _69 = IHEAP[_68];
    var _70 = _69 > 0;
    ;
    _bb_nph$_bb24$4220: do { 
      if (_70) {
        __lastLabel__ = 3145; ;
        var _71 = _bounds;
        var _72 = _bounds+4;
        var _73 = _bounds+8;
        var _74 = _bounds+12;
        var _75 = _bounds+16;
        var _76 = _bounds+16+4;
        var _77 = _bounds+16+8;
        var _78 = _bounds+16+12;
        var _79 = _bounds+_63*16;
        var _80 = _63 ^ 1;
        var _81 = _bounds+_80*16;
        var _82 = _bounds+_65*16+4;
        var _83 = _65 ^ 1;
        var _84 = _bounds+_83*16+4;
        var _85 = _bounds+_67*16+8;
        var _86 = _67 ^ 1;
        var _87 = _bounds+_86*16+8;
        var _88 = _nodeCallback;
        __lastLabel__ = 130; ;
        _bb12$4222: while(1) { // _bb12
          var _walkIterations_072 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _curIndex_071 = __lastLabel__ == 130 ? 0 : (_curIndex_0_be);
          var _rootNode_069 = __lastLabel__ == 130 ? _1 : (_rootNode_0_be);
          var _tmp = _walkIterations_072 + 1;
          var _89 = _rootNode_069;
          var _90 = FHEAP[_89];
          FHEAP[_71] = _90;
          var _91 = _rootNode_069+4;
          var _92 = FHEAP[_91];
          FHEAP[_72] = _92;
          var _93 = _rootNode_069+8;
          var _94 = FHEAP[_93];
          FHEAP[_73] = _94;
          var _95 = _rootNode_069+12;
          var _96 = FHEAP[_95];
          FHEAP[_74] = _96;
          var _97 = _rootNode_069+16;
          var _98 = FHEAP[_97];
          FHEAP[_75] = _98;
          var _99 = _rootNode_069+16+4;
          var _100 = FHEAP[_99];
          FHEAP[_76] = _100;
          var _101 = _rootNode_069+16+8;
          var _102 = FHEAP[_101];
          FHEAP[_77] = _102;
          var _103 = _rootNode_069+16+12;
          var _104 = FHEAP[_103];
          FHEAP[_78] = _104;
          var _105 = FHEAP[_29];
          var _106 = _90 - _105;
          FHEAP[_71] = _106;
          var _107 = FHEAP[_32];
          var _108 = _92 - _107;
          FHEAP[_72] = _108;
          var _109 = FHEAP[_35];
          var _110 = _94 - _109;
          FHEAP[_73] = _110;
          var _111 = FHEAP[_20];
          var _112 = _98 - _111;
          FHEAP[_75] = _112;
          var _113 = FHEAP[_23];
          var _114 = _100 - _113;
          FHEAP[_76] = _114;
          var _115 = FHEAP[_26];
          var _116 = _102 - _115;
          FHEAP[_77] = _116;
          var _117 = FHEAP[_97];
          var _118 = _22 > _117;
          ;
          _bb2_i29$_bb_i$4224: do { 
            if (_118) {
              __label__ = 523; /* _bb2_i29 */ 
            }
            else {
              ;
              var _119 = FHEAP[_89];
              var _120 = _31 < _119;
              if (_120) { __lastLabel__ = 131; __label__ = 523; /* _bb2_i29 */ break _bb2_i29$_bb_i$4224; } else { __lastLabel__ = 131; __label__ = 949; /* _bb3_i30 */ break _bb2_i29$_bb_i$4224; }
            }
          } while(0);
          if (__label__ == 523) {
            __lastLabel__ = 523; ;
          }
          var _iftmp_116_0_i = __lastLabel__ == 523 ? 0 : (1);
          var _121 = FHEAP[_101];
          var _122 = _28 > _121;
          ;
          _bb6_i$_bb4_i31$4229: do { 
            if (_122) {
              __label__ = 136; /* _bb6_i */ 
            }
            else {
              ;
              var _123 = FHEAP[_93];
              var _124 = _37 < _123;
              if (_124) { __lastLabel__ = 951; __label__ = 136; /* _bb6_i */ break _bb6_i$_bb4_i31$4229; } else { __lastLabel__ = 951; __label__ = 137; /* _bb7_i */ break _bb6_i$_bb4_i31$4229; }
            }
          } while(0);
          if (__label__ == 136) {
            __lastLabel__ = 136; ;
          }
          var _iftmp_117_0_i = __lastLabel__ == 136 ? 0 : (_iftmp_116_0_i);
          var _125 = FHEAP[_99];
          var _126 = _25 > _125;
          ;
          _bb15_thread$__Z20TestAabbAgainstAabb2RK9btVector3S1_S1_S1__exit$4234: do { 
            if (_126) {
              __label__ = 953; /* _bb15_thread */ 
            }
            else {
              ;
              var _127 = FHEAP[_91];
              var _128 = _34 < _127;
              var _phitmp64 = _iftmp_117_0_i == 0;
              var _phitmp = _128 | _phitmp64;
              if (_phitmp) { __label__ = 953; /* _bb15_thread */ break _bb15_thread$__Z20TestAabbAgainstAabb2RK9btVector3S1_S1_S1__exit$4234; }
              var _129 = FHEAP[_79];
              var _130 = FHEAP[_2];
              var _131 = _129 - _130;
              var _132 = _131 * _iftmp_228_0;
              var _133 = FHEAP[_81];
              var _134 = _133 - _130;
              var _135 = _134 * _iftmp_228_0;
              var _136 = FHEAP[_82];
              var _137 = FHEAP[_4];
              var _138 = _136 - _137;
              var _139 = _138 * _iftmp_229_0;
              var _140 = FHEAP[_84];
              var _141 = _140 - _137;
              var _142 = _141 * _iftmp_229_0;
              var _143 = _132 > _142;
              var _144 = _139 > _135;
              var _or_cond_i = _143 | _144;
              if (_or_cond_i) { __label__ = 953; /* _bb15_thread */ break _bb15_thread$__Z20TestAabbAgainstAabb2RK9btVector3S1_S1_S1__exit$4234; }
              var _145 = _132 < _139;
              var _146 = _145 ? _139 : _132;
              var _147 = _142 < _135;
              var _tmax_0_i = _147 ? _142 : _135;
              var _148 = FHEAP[_85];
              var _149 = FHEAP[_6];
              var _150 = _148 - _149;
              var _151 = _150 * _iftmp_230_0;
              var _152 = FHEAP[_87];
              var _153 = _152 - _149;
              var _154 = _153 * _iftmp_230_0;
              var _155 = _146 > _154;
              var _156 = _151 > _tmax_0_i;
              var _or_cond21_i = _155 | _156;
              if (_or_cond21_i) { __label__ = 953; /* _bb15_thread */ break _bb15_thread$__Z20TestAabbAgainstAabb2RK9btVector3S1_S1_S1__exit$4234; }
              var _157 = _146 < _151;
              var _158 = _157 ? _151 : _146;
              var _159 = _154 < _tmax_0_i;
              var _tmax_1_i = _159 ? _154 : _tmax_0_i;
              var _160 = _158 >= _55;
              var _161 = _tmax_1_i <= 0;
              var _or_cond22_i = _160 | _161;
              var _162 = _or_cond22_i;
              var _iftmp_131_0_i = _162 ^ 1;
              var _163 = _rootNode_069+32;
              var _164 = IHEAP[_163];
              var _165 = _164 == -1;
              var __not = _165 ^ true;
              var _or_cond = _or_cond22_i | __not;
              if (_or_cond) { __lastLabel__ = 181; __label__ = 86; /* _bb18 */ break _bb15_thread$__Z20TestAabbAgainstAabb2RK9btVector3S1_S1_S1__exit$4234; } else { __lastLabel__ = 181; ; }
              var _169 = IHEAP[_88];
              var _170 = _169+8;
              var _171 = IHEAP[_170];
              var _172 = _rootNode_069+40;
              var _173 = IHEAP[_172];
              var _174 = _rootNode_069+36;
              var _175 = IHEAP[_174];
              var _176 = _171;
              FUNCTION_TABLE[_176](_nodeCallback, _175, _173);
              __lastLabel__ = 4; __label__ = 86; /* _bb18 */ break _bb15_thread$__Z20TestAabbAgainstAabb2RK9btVector3S1_S1_S1__exit$4234;
            }
          } while(0);
          if (__label__ == 953) {
            var _166 = _rootNode_069+32;
            var _167 = IHEAP[_166];
            var _168 = _167 == -1;
            __lastLabel__ = 953; ;
          }
          var _177 = __lastLabel__ == 953 ? _168 : (__lastLabel__ == 181 ? _165 : (_165));
          var _iftmp_232_068 = __lastLabel__ == 953 ? 0 : (__lastLabel__ == 181 ? _iftmp_131_0_i : (_iftmp_131_0_i));
          var __not28 = _iftmp_232_068 != 0;
          var _brmerge = __not28 | _177;
          ;
          if (_brmerge) {
            ;
            var _178 = _rootNode_069+64;
            var _179 = _curIndex_071 + 1;
            __lastLabel__ = 110; ;
          }
          else {
            ;
            var _182 = _rootNode_069+32;
            var _183 = IHEAP[_182];
            var _184 = _rootNode_069+64*_183;
            var _185 = _183 + _curIndex_071;
            __lastLabel__ = 5; ;
          }
          var _rootNode_0_be = __lastLabel__ == 110 ? _178 : (_184);
          var _curIndex_0_be = __lastLabel__ == 110 ? _179 : (_185);
          var _180 = IHEAP[_68];
          var _181 = _180 > _curIndex_0_be;
          if (_181) { __lastLabel__ = 945; __label__ = 3; /* _bb12 */ continue _bb12$4222; } else { __lastLabel__ = 945; __label__ = 65; /* _bb24 */ break _bb_nph$_bb24$4220; }
        }
      }
      else {
        __lastLabel__ = 3145; ;
      }
    } while(0);
    var _walkIterations_0_lcssa = __lastLabel__ == 3145 ? 0 : (_tmp);
    var _186 = IHEAP[_maxIterations];
    var _187 = _186 < _walkIterations_0_lcssa;
    ;
    if (_187) {
      ;
      IHEAP[_maxIterations] = _walkIterations_0_lcssa;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZNK14btQuantizedBvh27walkStacklessTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii.__index__ = Runtime.getFunctionIndex(__ZNK14btQuantizedBvh27walkStacklessTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii, "__ZNK14btQuantizedBvh27walkStacklessTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii");
  
  
  function __ZN18btSimpleBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_(_this, _rayFrom, _rayTo, _rayCallback, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 < 0;
    ;
    _return$_bb_nph$4278: do { 
      if (!_2) {
        ;
        var _3 = _this+16;
        var _4 = _rayCallback;
        var _5 = _rayCallback;
        __lastLabel__ = 130; ;
        _bb$4280: while(1) { // _bb
          var _i_05 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _i_05 + 1;
          var _6 = IHEAP[_3];
          var _scevgep6 = _6+52*_i_05;
          var _7 = IHEAP[_scevgep6];
          var _8 = _7 == 0;
          ;
          if (!_8) {
            ;
            var _9 = IHEAP[_4];
            var _10 = _9+8;
            var _11 = IHEAP[_10];
            var _12 = _11;
            var _scevgep78 = _6+52*_i_05;
            var _13 = FUNCTION_TABLE[_12](_5, _scevgep78);
            ;
          }
          var _14 = IHEAP[_0];
          var _15 = _14 < _tmp;
          if (_15) { __lastLabel__ = 0; __label__ = 44; /* _return */ break _return$_bb_nph$4278; } else { __lastLabel__ = 0; __label__ = 60; /* _bb */ continue _bb$4280; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN18btSimpleBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_.__index__ = Runtime.getFunctionIndex(__ZN18btSimpleBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_, "__ZN18btSimpleBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_");
  
  
  function __ZN18btSimpleBroadphase8aabbTestERK9btVector3S2_R24btBroadphaseAabbCallback(_this, _aabbMin, _aabbMax, _callback) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 < 0;
    ;
    _return$_bb_nph$4287: do { 
      if (!_2) {
        ;
        var _3 = _this+16;
        var _4 = _aabbMin;
        var _5 = _aabbMin+8;
        var _6 = _aabbMin+4;
        var _7 = _aabbMax+4;
        var _8 = _callback;
        var _9 = _aabbMax+8;
        var _10 = _aabbMax;
        __lastLabel__ = 130; ;
        _bb$4289: while(1) { // _bb
          var _i_07 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _i_07 + 1;
          var _11 = IHEAP[_3];
          var _scevgep8 = _11+52*_i_07;
          var _12 = IHEAP[_scevgep8];
          var _13 = _12 == 0;
          ;
          _bb3$_bb1$4291: do { 
            if (!_13) {
              ;
              var _14 = FHEAP[_4];
              var _scevgep11 = _11+52*_i_07+32;
              var _15 = FHEAP[_scevgep11];
              var _16 = _14 > _15;
              ;
              _bb2_i$_bb_i$4293: do { 
                if (_16) {
                  __label__ = 132; /* _bb2_i */ 
                }
                else {
                  ;
                  var _17 = FHEAP[_10];
                  var _scevgep12 = _11+52*_i_07+16;
                  var _18 = FHEAP[_scevgep12];
                  var _19 = _17 < _18;
                  if (_19) { __lastLabel__ = 131; __label__ = 132; /* _bb2_i */ break _bb2_i$_bb_i$4293; } else { __lastLabel__ = 131; __label__ = 133; /* _bb3_i */ break _bb2_i$_bb_i$4293; }
                }
              } while(0);
              if (__label__ == 132) {
                __lastLabel__ = 132; ;
              }
              var _iftmp_123_0_i = __lastLabel__ == 132 ? 0 : (1);
              var _20 = FHEAP[_5];
              var _scevgep13 = _11+52*_i_07+32+8;
              var _21 = FHEAP[_scevgep13];
              var _22 = _20 > _21;
              ;
              _bb6_i$_bb4_i$4298: do { 
                if (_22) {
                  __label__ = 136; /* _bb6_i */ 
                }
                else {
                  ;
                  var _23 = FHEAP[_9];
                  var _scevgep14 = _11+52*_i_07+16+8;
                  var _24 = FHEAP[_scevgep14];
                  var _25 = _23 < _24;
                  if (_25) { __lastLabel__ = 135; __label__ = 136; /* _bb6_i */ break _bb6_i$_bb4_i$4298; } else { __lastLabel__ = 135; __label__ = 137; /* _bb7_i */ break _bb6_i$_bb4_i$4298; }
                }
              } while(0);
              if (__label__ == 136) {
                __lastLabel__ = 136; ;
              }
              var _iftmp_124_0_i = __lastLabel__ == 136 ? 0 : (_iftmp_123_0_i);
              var _26 = FHEAP[_6];
              var _scevgep15 = _11+52*_i_07+32+4;
              var _27 = FHEAP[_scevgep15];
              var _28 = _26 > _27;
              if (_28) { __label__ = 116; /* _bb3 */ break _bb3$_bb1$4291; }
              var _29 = FHEAP[_7];
              var _scevgep16 = _11+52*_i_07+16+4;
              var _30 = FHEAP[_scevgep16];
              var _31 = _29 < _30;
              var _phitmp6 = _iftmp_124_0_i == 0;
              var _phitmp = _31 | _phitmp6;
              if (_phitmp) { __label__ = 116; /* _bb3 */ break _bb3$_bb1$4291; }
              var _32 = IHEAP[_8];
              var _33 = _32+8;
              var _34 = IHEAP[_33];
              var _35 = _34;
              var _scevgep910 = _11+52*_i_07;
              var _36 = FUNCTION_TABLE[_35](_callback, _scevgep910);
              ;
            }
          } while(0);
          var _37 = IHEAP[_0];
          var _38 = _37 < _tmp;
          if (_38) { __lastLabel__ = 116; __label__ = 44; /* _return */ break _return$_bb_nph$4287; } else { __lastLabel__ = 116; __label__ = 60; /* _bb */ continue _bb$4289; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN18btSimpleBroadphase8aabbTestERK9btVector3S2_R24btBroadphaseAabbCallback.__index__ = Runtime.getFunctionIndex(__ZN18btSimpleBroadphase8aabbTestERK9btVector3S2_R24btBroadphaseAabbCallback, "__ZN18btSimpleBroadphase8aabbTestERK9btVector3S2_R24btBroadphaseAabbCallback");
  
  
  function __ZN18btSimpleBroadphase25calculateOverlappingPairsEP12btDispatcher(_this, _dispatcher) {
    var __stackBase__  = STACKTOP; STACKTOP += 34;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = __stackBase__+2;
    var _3 = __stackBase__+18;
    var _4 = _this+4;
    var _5 = IHEAP[_4];
    var _6 = _5 > -1;
    ;
    _bb18_preheader$_bb30$4325: do { 
      if (_6) {
        ;
        var _7 = _this+12;
        var _8 = IHEAP[_7];
        var _9 = _8 < 0;
        ;
        _bb19$_bb_nph82$4327: do { 
          if (_9) {
            __lastLabel__ = 1995; ;
          }
          else {
            __lastLabel__ = 1995; ;
            var _10 = _this+16;
            var _11 = _this+28;
            __lastLabel__ = 963; ;
            _bb1$4329: while(1) { // _bb1
              var _12 = __lastLabel__ == 963 ? _8 : (_81);
              var _new_largest_index_181 = __lastLabel__ == 963 ? -1 : (_new_largest_index_0);
              var _13 = __lastLabel__ == 963 ? 0 : (_j_076);
              var _j_076 = _13 + 1;
              var _tmp135 = _13 + 2;
              var _14 = IHEAP[_10];
              var _scevgep137138 = _14+52*_13;
              var _15 = IHEAP[_scevgep137138];
              var _16 = _15 == 0;
              ;
              _bb17$_bb16_preheader$4331: do { 
                if (_16) {
                  __lastLabel__ = 75; ;
                }
                else {
                  __lastLabel__ = 75; ;
                  var _17 = _12 < _j_076;
                  if (_17) { __lastLabel__ = 964; __label__ = 4; /* _bb17 */ break _bb17$_bb16_preheader$4331; } else { __lastLabel__ = 964; ; }
                  var _scevgep139140 = _14+52*_13;
                  var _scevgep141 = _14+52*_13+16;
                  var _scevgep142 = _14+52*_13+32;
                  var _scevgep143 = _14+52*_13+16+4;
                  var _scevgep144 = _14+52*_13+32+4;
                  var _scevgep145 = _14+52*_13+16+8;
                  var _scevgep146 = _14+52*_13+32+8;
                  __lastLabel__ = 942; ;
                  _bb3$4334: while(1) { // _bb3
                    var _indvar = __lastLabel__ == 942 ? 0 : (_indvar_next);
                    var _tmp118 = _j_076 + _indvar;
                    var _j_0 = _tmp135 + _indvar;
                    var _18 = IHEAP[_10];
                    var _scevgep101102 = _18+52*_tmp118;
                    var _19 = IHEAP[_scevgep101102];
                    var _20 = _19 == 0;
                    ;
                    _bb16_backedge$_bb4$4336: do { 
                      if (!_20) {
                        ;
                        var _21 = FHEAP[_scevgep141];
                        var _scevgep111 = _18+52*_tmp118+32;
                        var _22 = FHEAP[_scevgep111];
                        var _23 = _21 > _22;
                        ;
                        __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit_thread$_bb_i54$4338: do { 
                          if (_23) {
                            __label__ = 965; /* __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit_thread */ 
                          }
                          else {
                            ;
                            var _scevgep112 = _18+52*_tmp118+16;
                            var _24 = FHEAP[_scevgep112];
                            var _25 = FHEAP[_scevgep142];
                            var _26 = _24 > _25;
                            if (_26) { __label__ = 965; /* __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit_thread */ break __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit_thread$_bb_i54$4338; }
                            var _27 = FHEAP[_scevgep143];
                            var _scevgep113 = _18+52*_tmp118+32+4;
                            var _28 = FHEAP[_scevgep113];
                            var _29 = _27 > _28;
                            if (_29) { __label__ = 965; /* __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit_thread */ break __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit_thread$_bb_i54$4338; }
                            var _scevgep114 = _18+52*_tmp118+16+4;
                            var _30 = FHEAP[_scevgep114];
                            var _31 = FHEAP[_scevgep144];
                            var _32 = _30 > _31;
                            if (_32) { __label__ = 965; /* __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit_thread */ break __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit_thread$_bb_i54$4338; }
                            var _33 = FHEAP[_scevgep145];
                            var _scevgep115 = _18+52*_tmp118+32+8;
                            var _34 = FHEAP[_scevgep115];
                            var _35 = _33 > _34;
                            if (_35) { __label__ = 965; /* __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit_thread */ break __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit_thread$_bb_i54$4338; }
                            var _scevgep116 = _18+52*_tmp118+16+8;
                            var _39 = FHEAP[_scevgep116];
                            var _40 = FHEAP[_scevgep146];
                            var _phitmp = _39 > _40;
                            var _41 = IHEAP[_11];
                            var _42 = _41;
                            var _43 = IHEAP[_42];
                            if (_phitmp) { __lastLabel__ = 962; __label__ = 148; /* _bb8 */ break __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1__exit_thread$_bb_i54$4338; } else { __lastLabel__ = 962; ; }
                            var _44 = _43+52;
                            var _45 = IHEAP[_44];
                            var _46 = _45;
                            var _scevgep107108 = _18+52*_tmp118;
                            var _47 = FUNCTION_TABLE[_46](_41, _scevgep139140, _scevgep107108);
                            var _48 = _47 == 0;
                            if (!(_48)) { __label__ = 967; /* _bb16_backedge */ break _bb16_backedge$_bb4$4336; }
                            var _49 = IHEAP[_11];
                            var _50 = _49;
                            var _51 = IHEAP[_50];
                            var _52 = _51+8;
                            var _53 = IHEAP[_52];
                            var _54 = _49;
                            var _55 = _53;
                            var _56 = FUNCTION_TABLE[_55](_54, _scevgep139140, _scevgep107108);
                            __label__ = 967; /* _bb16_backedge */ break _bb16_backedge$_bb4$4336;
                          }
                        } while(0);
                        if (__label__ == 965) {
                          var _36 = IHEAP[_11];
                          var _37 = _36;
                          var _38 = IHEAP[_37];
                          __lastLabel__ = 965; ;
                        }
                        var _57 = __lastLabel__ == 965 ? _36 : (_41);
                        var _58 = __lastLabel__ == 965 ? _38 : (_43);
                        var _59 = _58+56;
                        var _60 = IHEAP[_59];
                        var _61 = _60;
                        var _62 = FUNCTION_TABLE[_61](_57);
                        var _toBool9not = _62 == 0;
                        if (!(_toBool9not)) { __label__ = 967; /* _bb16_backedge */ break _bb16_backedge$_bb4$4336; }
                        var _63 = IHEAP[_11];
                        var _64 = _63;
                        var _65 = IHEAP[_64];
                        var _66 = _65+52;
                        var _67 = IHEAP[_66];
                        var _68 = _67;
                        var _scevgep103104 = _18+52*_tmp118;
                        var _69 = FUNCTION_TABLE[_68](_63, _scevgep139140, _scevgep103104);
                        var _70 = _69 == 0;
                        if (_70) { __label__ = 967; /* _bb16_backedge */ break _bb16_backedge$_bb4$4336; }
                        var _73 = IHEAP[_11];
                        var _74 = _73;
                        var _75 = IHEAP[_74];
                        var _76 = _75+12;
                        var _77 = IHEAP[_76];
                        var _78 = _73;
                        var _79 = _77;
                        var _80 = FUNCTION_TABLE[_79](_78, _scevgep139140, _scevgep103104, _dispatcher);
                        ;
                      }
                    } while(0);
                    var _71 = IHEAP[_7];
                    var _72 = _71 < _j_0;
                    var _indvar_next = _indvar + 1;
                    if (_72) { __lastLabel__ = 967; __label__ = 4; /* _bb17 */ break _bb17$_bb16_preheader$4331; } else { __lastLabel__ = 967; __label__ = 116; /* _bb3 */ continue _bb3$4334; }
                  }
                }
              } while(0);
              var _81 = __lastLabel__ == 75 ? _12 : (__lastLabel__ == 964 ? _12 : (_71));
              var _new_largest_index_0 = __lastLabel__ == 75 ? _new_largest_index_181 : (__lastLabel__ == 967 ? _13 : (_13));
              var _82 = _81 < _j_076;
              if (_82) { __lastLabel__ = 4; __label__ = 64; /* _bb19 */ break _bb19$_bb_nph82$4327; } else { __lastLabel__ = 4; __label__ = 75; /* _bb1 */ continue _bb1$4329; }
            }
          }
        } while(0);
        var _new_largest_index_1_lcssa = __lastLabel__ == 1995 ? -1 : (_new_largest_index_0);
        IHEAP[_7] = _new_largest_index_1_lcssa;
        var _83 = _this+32;
        var _84 = IHEAP[_83];
        var _toBool20not = _84 == 0;
        if (_toBool20not) { __label__ = 90; /* _bb30 */ break _bb18_preheader$_bb30$4325; }
        var _85 = _this+28;
        var _86 = IHEAP[_85];
        var _87 = _86;
        var _88 = IHEAP[_87];
        var _89 = _88+56;
        var _90 = IHEAP[_89];
        var _91 = _90;
        var _92 = FUNCTION_TABLE[_91](_86);
        var _toBool25not = _92 == 0;
        if (_toBool25not) { __label__ = 90; /* _bb30 */ break _bb18_preheader$_bb30$4325; }
        var _93 = IHEAP[_85];
        var _94 = _93;
        var _95 = IHEAP[_94];
        var _96 = _95+28;
        var _97 = IHEAP[_96];
        var _98 = _97;
        var _99 = FUNCTION_TABLE[_98](_93);
        var _100 = _99+4;
        var _101 = IHEAP[_100];
        var _102 = _101 > 1;
        ;
        if (_102) {
          __lastLabel__ = 422; ;
          var _103 = _101 + -1;
          __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(_99, _0, 0, _103);
          var __pre = IHEAP[_100];
          __lastLabel__ = 969; ;
        }
        else {
          __lastLabel__ = 422; ;
        }
        var _104 = __lastLabel__ == 422 ? _101 : (__pre);
        var _105 = _3;
        IHEAP[_105] = 0;
        var _106 = _3+4;
        IHEAP[_106] = 0;
        var _107 = _3+8;
        IHEAP[_107] = 0;
        var _108 = _3+12;
        IHEAP[_108] = 0;
        var _109 = _this+36;
        var _110 = IHEAP[_109];
        var _111 = _104 - _110;
        __ZN20btAlignedObjectArrayI16btBroadphasePairE6resizeEiRKS0_(_99, _111, _3);
        IHEAP[_109] = 0;
        var _112 = IHEAP[_100];
        var _113 = _112 > 0;
        ;
        _bb_nph$__ZN20btAlignedObjectArrayI16btBroadphasePairE9quickSortI29btBroadphasePairSortPredicateEEvT__exit$4359: do { 
          if (_113) {
            __lastLabel__ = 4374; ;
            var _114 = _99+12;
            __lastLabel__ = 130; ;
            _bb34$4361: while(1) { // _bb34
              var _i_175 = __lastLabel__ == 130 ? 0 : (_tmp);
              var _previousPair_1_074 = __lastLabel__ == 130 ? 0 : (_159);
              var _previousPair_0_073 = __lastLabel__ == 130 ? 0 : (_116);
              var _tmp = _i_175 + 1;
              var _115 = IHEAP[_114];
              var _scevgep8384 = _115+16*_i_175;
              var _116 = IHEAP[_scevgep8384];
              var _117 = _116 == _previousPair_0_073;
              var _scevgep93 = _115+16*_i_175+4;
              var _118 = IHEAP[_scevgep93];
              var _phitmp71 = _118 == _previousPair_1_074;
              var _or_cond = _117 & _phitmp71;
              ;
              _bb46$_bb39$4363: do { 
                if (_or_cond) {
                  __lastLabel__ = 250; __label__ = 635; /* _bb46 */ 
                }
                else {
                  __lastLabel__ = 250; ;
                  var _119 = _116+16;
                  var _120 = FHEAP[_119];
                  var _121 = _118+32;
                  var _122 = FHEAP[_121];
                  var _123 = _120 > _122;
                  if (_123) { __lastLabel__ = 971; __label__ = 635; /* _bb46 */ break _bb46$_bb39$4363; } else { __lastLabel__ = 971; ; }
                  var _124 = _118+16;
                  var _125 = FHEAP[_124];
                  var _126 = _116+32;
                  var _127 = FHEAP[_126];
                  var _128 = _125 > _127;
                  if (_128) { __lastLabel__ = 263; __label__ = 635; /* _bb46 */ break _bb46$_bb39$4363; } else { __lastLabel__ = 263; ; }
                  var _129 = _116+16+4;
                  var _130 = FHEAP[_129];
                  var _131 = _118+32+4;
                  var _132 = FHEAP[_131];
                  var _133 = _130 > _132;
                  if (_133) { __lastLabel__ = 265; __label__ = 635; /* _bb46 */ break _bb46$_bb39$4363; } else { __lastLabel__ = 265; ; }
                  var _134 = _118+16+4;
                  var _135 = FHEAP[_134];
                  var _136 = _116+32+4;
                  var _137 = FHEAP[_136];
                  var _138 = _135 > _137;
                  if (_138) { __lastLabel__ = 628; __label__ = 635; /* _bb46 */ break _bb46$_bb39$4363; } else { __lastLabel__ = 628; ; }
                  var _139 = _116+16+8;
                  var _140 = FHEAP[_139];
                  var _141 = _118+32+8;
                  var _142 = FHEAP[_141];
                  var _143 = _140 > _142;
                  if (_143) { __lastLabel__ = 324; __label__ = 635; /* _bb46 */ break _bb46$_bb39$4363; } else { __lastLabel__ = 324; ; }
                  var _144 = _118+16+8;
                  var _145 = FHEAP[_144];
                  var _146 = _116+32+8;
                  var _147 = FHEAP[_146];
                  var _phitmp72 = _145 > _147;
                  if (_phitmp72) { __lastLabel__ = 972; __label__ = 635; /* _bb46 */ break _bb46$_bb39$4363; } else { __lastLabel__ = 972; __label__ = 973; /* _bb47 */ break _bb46$_bb39$4363; }
                }
              } while(0);
              if (__label__ == 635) {
                var _148 = __lastLabel__ == 972 ? _118 : (__lastLabel__ == 324 ? _118 : (__lastLabel__ == 628 ? _118 : (__lastLabel__ == 265 ? _118 : (__lastLabel__ == 263 ? _118 : (__lastLabel__ == 971 ? _118 : (_118))))));
                var _149 = IHEAP[_85];
                var _150 = _149;
                var _151 = IHEAP[_150];
                var _152 = _151+32;
                var _153 = IHEAP[_152];
                var _154 = _153;
                var _scevgep = _115+16*_i_175;
                FUNCTION_TABLE[_154](_149, _scevgep, _dispatcher);
                IHEAP[_scevgep8384] = 0;
                var _scevgep89 = _115+16*_i_175+4;
                IHEAP[_scevgep89] = 0;
                var _155 = IHEAP[_109];
                var _156 = _155 + 1;
                IHEAP[_109] = _156;
                var _157 = IHEAP[_gOverlappingPairs];
                var _158 = _157 + -1;
                IHEAP[_gOverlappingPairs] = _158;
                __lastLabel__ = 635; ;
              }
              var _159 = __lastLabel__ == 972 ? _118 : (_148);
              var _160 = IHEAP[_100];
              var _161 = _160 > _tmp;
              if (_161) { __lastLabel__ = 973; __label__ = 250; /* _bb34 */ continue _bb34$4361; } else { __lastLabel__ = 973; __label__ = 975; /* _bb50 */ break _bb34$4361; }
            }
            var _162 = _160 > 1;
            if (_162) { __lastLabel__ = 975; ; } else { __lastLabel__ = 975; __label__ = 976; /* __ZN20btAlignedObjectArrayI16btBroadphasePairE9quickSortI29btBroadphasePairSortPredicateEEvT__exit */ break _bb_nph$__ZN20btAlignedObjectArrayI16btBroadphasePairE9quickSortI29btBroadphasePairSortPredicateEEvT__exit$4359; }
            var _163 = _160 + -1;
            __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii(_99, _1, 0, _163);
            var __pre147 = IHEAP[_100];
            __lastLabel__ = 131; ;
          }
          else {
            __lastLabel__ = 4374; ;
          }
        } while(0);
        var _164 = __lastLabel__ == 131 ? __pre147 : (__lastLabel__ == 975 ? _160 : (_112));
        var _165 = _2;
        IHEAP[_165] = 0;
        var _166 = _2+4;
        IHEAP[_166] = 0;
        var _167 = _2+8;
        IHEAP[_167] = 0;
        var _168 = _2+12;
        IHEAP[_168] = 0;
        var _169 = IHEAP[_109];
        var _170 = _164 - _169;
        __ZN20btAlignedObjectArrayI16btBroadphasePairE6resizeEiRKS0_(_99, _170, _2);
        IHEAP[_109] = 0;
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN18btSimpleBroadphase25calculateOverlappingPairsEP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN18btSimpleBroadphase25calculateOverlappingPairsEP12btDispatcher, "__ZN18btSimpleBroadphase25calculateOverlappingPairsEP12btDispatcher");
  
  
  function __ZN18btSimpleBroadphaseC2EiP22btOverlappingPairCache(_this, _maxProxies, _overlappingPairCache) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btSimpleBroadphase+8;
    var _1 = _this+28;
    IHEAP[_1] = _overlappingPairCache;
    var _2 = _this+32;
    IHEAP[_2] = 0;
    var _3 = _this+36;
    IHEAP[_3] = 0;
    var _4 = _overlappingPairCache == 0;
    ;
    _bb$_bb7$4390: do { 
      if (_4) {
        ;
        var _5 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(76, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb$_bb7$4390; };
        var _6 = _5 == 0;
        ;
        _bb6$_bb1$4393: do { 
          if (!_6) {
            ;
            var _7 = _5;
            (function() { try { __THREW__ = false; return __ZN28btHashedOverlappingPairCacheC1Ev(_7) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 83; /* _bb6 */ break _bb6$_bb1$4393; } else { ; }
            var _eh_ptr21 = _llvm_eh_exception();
            var _eh_select23 = _llvm_eh_selector(_eh_ptr21, ___gxx_personality_v0, 0);
            __lastLabel__ = 981; __label__ = 45; /* _ppad */ break _bb$_bb7$4390;
          }
        } while(0);
        var _8 = _5;
        IHEAP[_1] = _8;
        IHEAP[_2] = 1;
        __label__ = 2; /* _bb7 */ break _bb$_bb7$4390;
      }
      else {
        __label__ = 2; /* _bb7 */ 
      }
    } while(0);
    _bb7$_ppad$_lpad$4397: do { 
      if (__label__ == 2) {
        var _9 = _maxProxies * 52;
        var _10 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_9, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb7$_ppad$_lpad$4397; };
        var _11 = _this+20;
        IHEAP[_11] = _10;
        var _12 = _maxProxies == 0;
        if (_12) { __lastLabel__ = 979; __label__ = 292; /* _bb11 */  } else { __lastLabel__ = 979; __label__ = 62; /* _bb9 */  }
        _bb11$_bb9$4400: while(1) { // _bb11,_bb9
          if (__label__ == 292) {
            var _13 = _10;
            var _14 = _this+16;
            IHEAP[_14] = _13;
            var _15 = _this+8;
            IHEAP[_15] = _maxProxies;
            var _16 = _this+4;
            IHEAP[_16] = 0;
            var _17 = _this+24;
            IHEAP[_17] = 0;
            var _18 = _this+12;
            IHEAP[_18] = -1;
            var _19 = _maxProxies > 0;
            if (_19) { __lastLabel__ = 292; __label__ = 3; /* _bb12 */ break _bb11$_bb9$4400; } else { __lastLabel__ = 292; __label__ = 63; /* _bb14 */ break _bb11$_bb9$4400; }
          }
          else if (__label__ == 62) {
            var _indvar38 = __lastLabel__ == 62 ? _indvar_next39 : (0);
            var _tmp41 = _indvar38 * 52;
            var _scevgep42 = _10+_tmp41;
            var _scevgep4243 = _scevgep42;
            var _tmp44 = _tmp41 + 8;
            var _scevgep45 = _10+_tmp44;
            var _scevgep4546 = _scevgep45;
            IHEAP[_scevgep4243] = 0;
            IHEAP[_scevgep4546] = 0;
            var _indvar_next39 = _indvar38 + 1;
            var _exitcond40 = _indvar_next39 == _maxProxies;
            if (_exitcond40) { __lastLabel__ = 62; __label__ = 292; /* _bb11 */ continue _bb11$_bb9$4400; } else { __lastLabel__ = 62; __label__ = 62; /* _bb9 */ continue _bb11$_bb9$4400; }
          }
        }
        _bb12$_bb14$4404: while(1) { // _bb12,_bb14
          if (__label__ == 3) {
            var _20 = __lastLabel__ == 292 ? _13 : (__pre);
            var _indvar = __lastLabel__ == 292 ? 0 : (_indvar_next);
            var _tmp35 = _indvar + 1;
            var _tmp37 = _indvar + 2;
            var _scevgep33 = _20+52*_indvar+48;
            IHEAP[_scevgep33] = _tmp35;
            var _21 = IHEAP[_14];
            var _scevgep = _21+52*_indvar+12;
            IHEAP[_scevgep] = _tmp37;
            var _indvar_next = _indvar + 1;
            var _exitcond = _indvar_next == _maxProxies;
            var __pre = IHEAP[_14];
            if (_exitcond) { __lastLabel__ = 3; __label__ = 63; /* _bb14 */ continue _bb12$_bb14$4404; } else { __lastLabel__ = 3; __label__ = 3; /* _bb12 */ continue _bb12$_bb14$4404; }
          }
          else if (__label__ == 63) {
            var _22 = __lastLabel__ == 292 ? _13 : (__pre);
            var _23 = _maxProxies + -1;
            var _24 = _22+52*_23+48;
            IHEAP[_24] = 0;
            ;
            return;
          }
        }
      }
    } while(0);
    if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select19 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __lastLabel__ = 254; ;
    }
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr21);
    IHEAP[_0] = __ZTV21btBroadphaseInterface+8;
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  __ZN18btSimpleBroadphaseC2EiP22btOverlappingPairCache.__index__ = Runtime.getFunctionIndex(__ZN18btSimpleBroadphaseC2EiP22btOverlappingPairCache, "__ZN18btSimpleBroadphaseC2EiP22btOverlappingPairCache");
  
  
  function __ZN26btBoxBoxCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_(_this, _mf, _ci, _obj0, _obj1) {
    ;
    var __label__;
    var _0 = _this;
    __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_0, _ci, _obj0, _obj1);
    var _1 = _this;
    IHEAP[_1] = __ZTV26btBoxBoxCollisionAlgorithm+8;
    var _2 = _this+8;
    IHEAP[_2] = 0;
    var _3 = _this+12;
    IHEAP[_3] = _mf;
    var _4 = _mf == 0;
    ;
    _bb$_bb5$4420: do { 
      if (_4) {
        ;
        var _5 = _this+4;
        var _6 = IHEAP[_5];
        var _7 = _6;
        var _8 = IHEAP[_7];
        var _9 = _8+24;
        var _10 = IHEAP[_9];
        var _11 = _10;
        var _12 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_11](_6, _obj0, _obj1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
        _invcont$_lpad$4422: do { 
          if (__label__ == 345) {
            var _toBoolnot = _12 == 0;
            if (_toBoolnot) { __label__ = 82; /* _bb5 */ break _bb$_bb5$4420; }
            var _13 = IHEAP[_5];
            var _14 = _13;
            var _15 = IHEAP[_14];
            var _16 = _15+12;
            var _17 = IHEAP[_16];
            var _18 = _17;
            var _19 = _obj0;
            var _20 = _obj1;
            var _21 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_18](_13, _19, _20) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$4422; };
            IHEAP[_3] = _21;
            IHEAP[_2] = 1;
            ;
            return;
          }
        } while(0);
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select15 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1603; /* _invcont11 */  } else { __label__ = 3816; /* _lpad16 */  }
        if (__label__ == 1603) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3816) {
          var _eh_ptr17 = _llvm_eh_exception();
          var _eh_select19 = _llvm_eh_selector(_eh_ptr17, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN26btBoxBoxCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_.__index__ = Runtime.getFunctionIndex(__ZN26btBoxBoxCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_, "__ZN26btBoxBoxCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_");
  
  
  function __ZN20btAlignedObjectArrayIP20btPersistentManifoldE9push_backERKS1_(_this, __Val) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _this+8;
    var _3 = IHEAP[_2];
    var _4 = _3 == _1;
    ;
    _bb$_bb1$4433: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 == 0;
        var _6 = _1 << 1;
        var _iftmp_196_0_i = _5 ? 1 : _6;
        var _7 = _3 < _iftmp_196_0_i;
        if (_7) { __lastLabel__ = 60; ; } else { __lastLabel__ = 60; __label__ = 75; /* _bb1 */ break _bb$_bb1$4433; }
        var _8 = _iftmp_196_0_i == 0;
        ;
        if (_8) {
          __lastLabel__ = 131; ;
        }
        else {
          __lastLabel__ = 131; ;
          var _9 = _iftmp_196_0_i << 2;
          var _10 = __Z22btAlignedAllocInternalji(_9, 16);
          var _phitmp_i = _10;
          var __pre = IHEAP[_0];
          __lastLabel__ = 215; ;
        }
        var _11 = __lastLabel__ == 215 ? __pre : (_1);
        var _12 = __lastLabel__ == 215 ? _phitmp_i : (0);
        var _13 = _11 > 0;
        ;
        _bb_nph_i_i$__ZNK20btAlignedObjectArrayIP20btPersistentManifoldE4copyEiiPS1__exit_i$4439: do { 
          if (_13) {
            ;
            var _14 = _this+12;
            __lastLabel__ = 217; ;
            _bb_i4_i$4441: while(1) { // _bb_i4_i
              var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
              var _scevgep_i_i = _12+4*_indvar_i_i;
              var _15 = _scevgep_i_i == 0;
              ;
              if (!_15) {
                ;
                var _16 = IHEAP[_14];
                var _scevgep8_i_i = _16+4*_indvar_i_i;
                var _17 = IHEAP[_scevgep8_i_i];
                IHEAP[_scevgep_i_i] = _17;
                ;
              }
              var _indvar_next_i_i = _indvar_i_i + 1;
              var _exitcond = _indvar_next_i_i == _11;
              if (_exitcond) { __lastLabel__ = 324; __label__ = 984; /* __ZNK20btAlignedObjectArrayIP20btPersistentManifoldE4copyEiiPS1__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayIP20btPersistentManifoldE4copyEiiPS1__exit_i$4439; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$4441; }
            }
          }
        } while(0);
        var _18 = _this+12;
        var _19 = IHEAP[_18];
        var _20 = _19 == 0;
        ;
        if (!_20) {
          ;
          var _21 = _this+16;
          var _22 = IHEAP[_21];
          var _toBool_i_i = _22 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _23 = _19;
            __Z21btAlignedFreeInternalPv(_23);
            ;
          }
          IHEAP[_18] = 0;
          ;
        }
        var _24 = _this+16;
        IHEAP[_24] = 1;
        IHEAP[_18] = _12;
        IHEAP[_2] = _iftmp_196_0_i;
        var __pre5 = IHEAP[_0];
        __lastLabel__ = 987; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _25 = __lastLabel__ == 987 ? __pre5 : (__lastLabel__ == -1 ? _1 : (_1));
    var _26 = _this+12;
    var _27 = IHEAP[_26];
    var _28 = _27+4*_25;
    var _29 = _28 == 0;
    ;
    if (_29) {
      __lastLabel__ = 75; ;
    }
    else {
      __lastLabel__ = 75; ;
      var _30 = IHEAP[__Val];
      IHEAP[_28] = _30;
      var __pre6 = IHEAP[_0];
      __lastLabel__ = 0; ;
    }
    var _31 = __lastLabel__ == 75 ? _25 : (__pre6);
    var _32 = _31 + 1;
    IHEAP[_0] = _32;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIP20btPersistentManifoldE9push_backERKS1_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIP20btPersistentManifoldE9push_backERKS1_, "__ZN20btAlignedObjectArrayIP20btPersistentManifoldE9push_backERKS1_");
  
  
  function __ZN26btBoxBoxCollisionAlgorithmD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV26btBoxBoxCollisionAlgorithm+8;
    var _1 = _this+8;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$4472: do { 
      if (!_toBool) {
        ;
        var _3 = _this+12;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$4472; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$4472; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _15 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    var _14 = _this;
    __ZdlPv(_14);
    ;
    return;
  }
  __ZN26btBoxBoxCollisionAlgorithmD0Ev.__index__ = Runtime.getFunctionIndex(__ZN26btBoxBoxCollisionAlgorithmD0Ev, "__ZN26btBoxBoxCollisionAlgorithmD0Ev");
  
  
  function __ZN26btBoxBoxCollisionAlgorithmD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV26btBoxBoxCollisionAlgorithm+8;
    var _1 = _this+8;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$4481: do { 
      if (!_toBool) {
        ;
        var _3 = _this+12;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$4481; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$4481; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _14 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    ;
    return;
  }
  __ZN26btBoxBoxCollisionAlgorithmD1Ev.__index__ = Runtime.getFunctionIndex(__ZN26btBoxBoxCollisionAlgorithmD1Ev, "__ZN26btBoxBoxCollisionAlgorithmD1Ev");
  
  
  function __ZN26btBoxBoxCollisionAlgorithmD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV26btBoxBoxCollisionAlgorithm+8;
    var _1 = _this+8;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$4490: do { 
      if (!_toBool) {
        ;
        var _3 = _this+12;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$4490; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$4490; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _14 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    ;
    return;
  }
  __ZN26btBoxBoxCollisionAlgorithmD2Ev.__index__ = Runtime.getFunctionIndex(__ZN26btBoxBoxCollisionAlgorithmD2Ev, "__ZN26btBoxBoxCollisionAlgorithmD2Ev");
  
  
  function __ZN26btBoxBoxCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_(_this, _mf, _ci, _obj0, _obj1) {
    ;
    var __label__;
    var _0 = _this;
    __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_0, _ci, _obj0, _obj1);
    var _1 = _this;
    IHEAP[_1] = __ZTV26btBoxBoxCollisionAlgorithm+8;
    var _2 = _this+8;
    IHEAP[_2] = 0;
    var _3 = _this+12;
    IHEAP[_3] = _mf;
    var _4 = _mf == 0;
    ;
    _bb$_bb5$4499: do { 
      if (_4) {
        ;
        var _5 = _this+4;
        var _6 = IHEAP[_5];
        var _7 = _6;
        var _8 = IHEAP[_7];
        var _9 = _8+24;
        var _10 = IHEAP[_9];
        var _11 = _10;
        var _12 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_11](_6, _obj0, _obj1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
        _invcont$_lpad$4501: do { 
          if (__label__ == 345) {
            var _toBoolnot = _12 == 0;
            if (_toBoolnot) { __label__ = 82; /* _bb5 */ break _bb$_bb5$4499; }
            var _13 = IHEAP[_5];
            var _14 = _13;
            var _15 = IHEAP[_14];
            var _16 = _15+12;
            var _17 = IHEAP[_16];
            var _18 = _17;
            var _19 = _obj0;
            var _20 = _obj1;
            var _21 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_18](_13, _19, _20) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$4501; };
            IHEAP[_3] = _21;
            IHEAP[_2] = 1;
            ;
            return;
          }
        } while(0);
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select15 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1603; /* _invcont11 */  } else { __label__ = 3816; /* _lpad16 */  }
        if (__label__ == 1603) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3816) {
          var _eh_ptr17 = _llvm_eh_exception();
          var _eh_select19 = _llvm_eh_selector(_eh_ptr17, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN26btBoxBoxCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_.__index__ = Runtime.getFunctionIndex(__ZN26btBoxBoxCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_, "__ZN26btBoxBoxCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_");
  
  
  function __ZN30btBox2dBox2dCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_(_this, _mf, _ci, _obj0, _obj1) {
    ;
    var __label__;
    var _0 = _this;
    __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_0, _ci, _obj0, _obj1);
    var _1 = _this;
    IHEAP[_1] = __ZTV30btBox2dBox2dCollisionAlgorithm+8;
    var _2 = _this+8;
    IHEAP[_2] = 0;
    var _3 = _this+12;
    IHEAP[_3] = _mf;
    var _4 = _mf == 0;
    ;
    _bb$_bb5$4511: do { 
      if (_4) {
        ;
        var _5 = _this+4;
        var _6 = IHEAP[_5];
        var _7 = _6;
        var _8 = IHEAP[_7];
        var _9 = _8+24;
        var _10 = IHEAP[_9];
        var _11 = _10;
        var _12 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_11](_6, _obj0, _obj1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
        _invcont$_lpad$4513: do { 
          if (__label__ == 345) {
            var _toBoolnot = _12 == 0;
            if (_toBoolnot) { __label__ = 82; /* _bb5 */ break _bb$_bb5$4511; }
            var _13 = IHEAP[_5];
            var _14 = _13;
            var _15 = IHEAP[_14];
            var _16 = _15+12;
            var _17 = IHEAP[_16];
            var _18 = _17;
            var _19 = _obj0;
            var _20 = _obj1;
            var _21 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_18](_13, _19, _20) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$4513; };
            IHEAP[_3] = _21;
            IHEAP[_2] = 1;
            ;
            return;
          }
        } while(0);
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select15 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1603; /* _invcont11 */  } else { __label__ = 3816; /* _lpad16 */  }
        if (__label__ == 1603) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3816) {
          var _eh_ptr17 = _llvm_eh_exception();
          var _eh_select19 = _llvm_eh_selector(_eh_ptr17, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN30btBox2dBox2dCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_.__index__ = Runtime.getFunctionIndex(__ZN30btBox2dBox2dCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_, "__ZN30btBox2dBox2dCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_");
  
  
  function __ZL17FindMaxSeparationPiPK12btBox2dShapeRK11btTransformS2_S5_(_edgeIndex, _poly1, _xf1, _poly2, _xf2) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _xf1+32;
    var _1 = FHEAP[_0];
    var _2 = _poly1+52;
    var _3 = FHEAP[_2];
    var _4 = _1 * _3;
    var _5 = _xf1+32+4;
    var _6 = FHEAP[_5];
    var _7 = _poly1+52+4;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _4 + _9;
    var _11 = _xf1+32+8;
    var _12 = FHEAP[_11];
    var _13 = _poly1+52+8;
    var _14 = FHEAP[_13];
    var _15 = _12 * _14;
    var _16 = _10 + _15;
    var _17 = _xf1+48+8;
    var _18 = FHEAP[_17];
    var _19 = _16 + _18;
    var _20 = _xf1+16;
    var _21 = FHEAP[_20];
    var _22 = _21 * _3;
    var _23 = _xf1+16+4;
    var _24 = FHEAP[_23];
    var _25 = _24 * _8;
    var _26 = _22 + _25;
    var _27 = _xf1+16+8;
    var _28 = FHEAP[_27];
    var _29 = _28 * _14;
    var _30 = _26 + _29;
    var _31 = _xf1+48+4;
    var _32 = FHEAP[_31];
    var _33 = _30 + _32;
    var _34 = _xf1;
    var _35 = FHEAP[_34];
    var _36 = _35 * _3;
    var _37 = _xf1+4;
    var _38 = FHEAP[_37];
    var _39 = _38 * _8;
    var _40 = _36 + _39;
    var _41 = _xf1+8;
    var _42 = FHEAP[_41];
    var _43 = _42 * _14;
    var _44 = _40 + _43;
    var _45 = _xf1+48;
    var _46 = FHEAP[_45];
    var _47 = _44 + _46;
    var _48 = _xf2+32;
    var _49 = FHEAP[_48];
    var _50 = _poly2+52;
    var _51 = FHEAP[_50];
    var _52 = _49 * _51;
    var _53 = _xf2+32+4;
    var _54 = FHEAP[_53];
    var _55 = _poly2+52+4;
    var _56 = FHEAP[_55];
    var _57 = _54 * _56;
    var _58 = _52 + _57;
    var _59 = _xf2+32+8;
    var _60 = FHEAP[_59];
    var _61 = _poly2+52+8;
    var _62 = FHEAP[_61];
    var _63 = _60 * _62;
    var _64 = _58 + _63;
    var _65 = _xf2+48+8;
    var _66 = FHEAP[_65];
    var _67 = _64 + _66;
    var _68 = _xf2+16;
    var _69 = FHEAP[_68];
    var _70 = _69 * _51;
    var _71 = _xf2+16+4;
    var _72 = FHEAP[_71];
    var _73 = _72 * _56;
    var _74 = _70 + _73;
    var _75 = _xf2+16+8;
    var _76 = FHEAP[_75];
    var _77 = _76 * _62;
    var _78 = _74 + _77;
    var _79 = _xf2+48+4;
    var _80 = FHEAP[_79];
    var _81 = _78 + _80;
    var _82 = _xf2;
    var _83 = FHEAP[_82];
    var _84 = _83 * _51;
    var _85 = _xf2+4;
    var _86 = FHEAP[_85];
    var _87 = _86 * _56;
    var _88 = _84 + _87;
    var _89 = _xf2+8;
    var _90 = FHEAP[_89];
    var _91 = _90 * _62;
    var _92 = _88 + _91;
    var _93 = _xf2+48;
    var _94 = FHEAP[_93];
    var _95 = _92 + _94;
    var _96 = _67 - _19;
    var _97 = _81 - _33;
    var _98 = _95 - _47;
    var _99 = _42 * _98;
    var _100 = _28 * _97;
    var _101 = _99 + _100;
    var _102 = _12 * _96;
    var _103 = _101 + _102;
    var _104 = _38 * _98;
    var _105 = _24 * _97;
    var _106 = _104 + _105;
    var _107 = _6 * _96;
    var _108 = _106 + _107;
    var _109 = _35 * _98;
    var _110 = _21 * _97;
    var _111 = _109 + _110;
    var _112 = _1 * _96;
    var _113 = _111 + _112;
    var _scevgep66 = _poly1+132;
    var _scevgep67 = _poly1+132+4;
    var _scevgep68 = _poly1+132+8;
    var _114 = FHEAP[_scevgep66];
    var _115 = _114 * _113;
    var _116 = FHEAP[_scevgep67];
    var _117 = _116 * _108;
    var _118 = _115 + _117;
    var _119 = FHEAP[_scevgep68];
    var _120 = _119 * _103;
    var _121 = _118 + _120;
    var _122 = _121 > -999999984306749400;
    var _maxDot_0 = _122 ? _121 : -999999984306749400;
    var _scevgep66_1 = _poly1+132+16;
    var _scevgep67_1 = _poly1+132+16+4;
    var _scevgep68_1 = _poly1+132+16+8;
    var _123 = FHEAP[_scevgep66_1];
    var _124 = _123 * _113;
    var _125 = FHEAP[_scevgep67_1];
    var _126 = _125 * _108;
    var _127 = _124 + _126;
    var _128 = FHEAP[_scevgep68_1];
    var _129 = _128 * _103;
    var _130 = _127 + _129;
    var _131 = _130 > _maxDot_0;
    var _maxDot_0_1 = _131 ? _130 : _maxDot_0;
    var _scevgep66_2 = _poly1+132+32;
    var _scevgep67_2 = _poly1+132+32+4;
    var _scevgep68_2 = _poly1+132+32+8;
    var _132 = FHEAP[_scevgep66_2];
    var _133 = _132 * _113;
    var _134 = FHEAP[_scevgep67_2];
    var _135 = _134 * _108;
    var _136 = _133 + _135;
    var _137 = FHEAP[_scevgep68_2];
    var _138 = _137 * _103;
    var _139 = _136 + _138;
    var _140 = _139 > _maxDot_0_1;
    var _scevgep67_3 = _poly1+132+48+4;
    var _scevgep66_3 = _poly1+132+48;
    var _141 = FHEAP[_scevgep67_3];
    var _142 = FHEAP[_scevgep66_3];
    var _scevgep68_3 = _poly1+132+48+8;
    var _143 = FHEAP[_scevgep68_3];
    var _144 = _141 * _108;
    var _145 = _142 * _113;
    var _146 = _143 * _103;
    var _147 = _145 + _144;
    var _148 = _147 + _146;
    var _maxDot_0_2 = _140 ? _139 : _maxDot_0_1;
    var _edge_0_1 = _131;
    var _149 = _148 > _maxDot_0_2;
    var _edge_0_2 = _140 ? 2 : _edge_0_1;
    var _edge_0_3 = _149 ? 3 : _edge_0_2;
    var _150 = __ZL14EdgeSeparationPK12btBox2dShapeRK11btTransformiS1_S4_(_poly1, _xf1, _edge_0_3, _poly2, _xf2);
    var _151 = _150 > 0;
    ;
    _bb36$_bb6$4539: do { 
      if (_151) {
        __lastLabel__ = 61; ;
      }
      else {
        __lastLabel__ = 61; ;
        var _152 = _edge_0_3 > 0;
        var _edge_1_op = _edge_0_3 + -1;
        var _iftmp_197_0 = _152 ? _edge_1_op : 3;
        var _153 = __ZL14EdgeSeparationPK12btBox2dShapeRK11btTransformiS1_S4_(_poly1, _xf1, _iftmp_197_0, _poly2, _xf2);
        var _154 = _153 > 0;
        if (_154) { __lastLabel__ = 83; __label__ = 251; /* _bb36 */ break _bb36$_bb6$4539; } else { __lastLabel__ = 83; ; }
        var _155 = _edge_0_3 + 1;
        var _156 = _155 < 4;
        var _iftmp_198_0 = _156 ? _155 : 0;
        var _157 = __ZL14EdgeSeparationPK12btBox2dShapeRK11btTransformiS1_S4_(_poly1, _xf1, _iftmp_198_0, _poly2, _xf2);
        var _158 = _157 > 0;
        if (_158) { __lastLabel__ = 292; __label__ = 251; /* _bb36 */ break _bb36$_bb6$4539; } else { __lastLabel__ = 292; ; }
        var _159 = _153 <= _150;
        var _160 = _153 <= _157;
        var _or_cond = _159 | _160;
        ;
        _bb19$_bb31_us$4543: do { 
          if (_or_cond) {
            __lastLabel__ = 154; ;
            var _161 = _157 > _150;
            ;
            if (_161) {
              __lastLabel__ = 64; ;
              _bb31$4546: while(1) { // _bb31
                var _bestSeparation_0 = __lastLabel__ == 422 ? _168 : (_157);
                var _bestEdge_0 = __lastLabel__ == 422 ? _iftmp_200_0 : (_iftmp_198_0);
                var _166 = _bestEdge_0 + 1;
                var _167 = _166 < 4;
                var _iftmp_200_0 = _167 ? _166 : 0;
                var _168 = __ZL14EdgeSeparationPK12btBox2dShapeRK11btTransformiS1_S4_(_poly1, _xf1, _iftmp_200_0, _poly2, _xf2);
                var _169 = _168 > 0;
                if (_169) { __lastLabel__ = 89; __label__ = 251; /* _bb36 */ break _bb36$_bb6$4539; } else { __lastLabel__ = 89; ; }
                var _170 = _168 > _bestSeparation_0;
                if (_170) { __lastLabel__ = 422; __label__ = 89; /* _bb31 */ continue _bb31$4546; } else { __lastLabel__ = 422; __label__ = 518; /* _bb35 */ break _bb19$_bb31_us$4543; }
              }
            }
            else {
              __lastLabel__ = 64; ;
              IHEAP[_edgeIndex] = _edge_0_3;
              ;
              return _150;
            }
          }
          else {
            __lastLabel__ = 154; ;
            _bb31_us$4550: while(1) { // _bb31_us
              var _bestSeparation_0_us = __lastLabel__ == 994 ? _164 : (_153);
              var _bestEdge_0_us = __lastLabel__ == 994 ? _iftmp_199_0_us : (_iftmp_197_0);
              var _163 = _bestEdge_0_us > 0;
              var _bestEdge_0_op_us = _bestEdge_0_us + -1;
              var _iftmp_199_0_us = _163 ? _bestEdge_0_op_us : 3;
              var _164 = __ZL14EdgeSeparationPK12btBox2dShapeRK11btTransformiS1_S4_(_poly1, _xf1, _iftmp_199_0_us, _poly2, _xf2);
              var _165 = _164 > 0;
              if (_165) { __lastLabel__ = 995; __label__ = 251; /* _bb36 */ break _bb36$_bb6$4539; } else { __lastLabel__ = 995; ; }
              var _162 = _164 > _bestSeparation_0_us;
              if (_162) { __lastLabel__ = 994; __label__ = 995; /* _bb31_us */ continue _bb31_us$4550; } else { __lastLabel__ = 994; __label__ = 518; /* _bb35 */ break _bb19$_bb31_us$4543; }
            }
          }
        } while(0);
        var _bestSeparation_0_lcssa = __lastLabel__ == 994 ? _bestSeparation_0_us : (_bestSeparation_0);
        var _bestEdge_0_lcssa = __lastLabel__ == 994 ? _bestEdge_0_us : (_bestEdge_0);
        IHEAP[_edgeIndex] = _bestEdge_0_lcssa;
        ;
        return _bestSeparation_0_lcssa;
      }
    } while(0);
    var __0 = __lastLabel__ == 61 ? _150 : (__lastLabel__ == 83 ? _153 : (__lastLabel__ == 292 ? _157 : (__lastLabel__ == 995 ? _164 : (_168))));
    ;
    return __0;
  }
  __ZL17FindMaxSeparationPiPK12btBox2dShapeRK11btTransformS2_S5_.__index__ = Runtime.getFunctionIndex(__ZL17FindMaxSeparationPiPK12btBox2dShapeRK11btTransformS2_S5_, "__ZL17FindMaxSeparationPiPK12btBox2dShapeRK11btTransformS2_S5_");
  
  
  function __Z17b2CollidePolygonsP16btManifoldResultPK12btBox2dShapeRK11btTransformS3_S6_(_manifold, _polyA, _xfA, _polyB, _xfB) {
    var __stackBase__  = STACKTOP; STACKTOP += 138;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _edgeA = __stackBase__+16;
    var _edgeB = __stackBase__+17;
    var _incidentEdge = __stackBase__+18;
    var _clipPoints1 = __stackBase__+58;
    var _clipPoints2 = __stackBase__+98;
    IHEAP[_edgeA] = 0;
    var _1 = __ZL17FindMaxSeparationPiPK12btBox2dShapeRK11btTransformS2_S5_(_edgeA, _polyA, _xfA, _polyB, _xfB);
    var _2 = _1 > 0;
    ;
    _return$_bb$4561: do { 
      if (!_2) {
        ;
        IHEAP[_edgeB] = 0;
        var _3 = __ZL17FindMaxSeparationPiPK12btBox2dShapeRK11btTransformS2_S5_(_edgeB, _polyB, _xfB, _polyA, _xfA);
        var _4 = _3 > 0;
        if (_4) { __label__ = 44; /* _return */ break _return$_bb$4561; }
        var _5 = _1 * 0.9800000190734863;
        var _6 = _5 + 0.0010000000474974513;
        var _7 = _6 < _3;
        ;
        if (_7) {
          __lastLabel__ = 75; ;
        }
        else {
          __lastLabel__ = 75; ;
          __lastLabel__ = 116; ;
        }
        var _xfA_pn = __lastLabel__ == 116 ? _xfB : (_xfA);
        var _xfB_pn = __lastLabel__ == 116 ? _xfA : (_xfB);
        var _poly1_0 = __lastLabel__ == 116 ? _polyA : (_polyB);
        var _poly2_0 = __lastLabel__ == 116 ? _polyB : (_polyA);
        var _edge1_0_in = __lastLabel__ == 116 ? _edgeA : (_edgeB);
        var _flip_0 = __lastLabel__ == 116 ? 0 : (1);
        var _xf1_0_0_0_0_0_0_in = _xfB_pn;
        var _xf1_0_0_0_0_1_0_in = _xfB_pn+4;
        var _xf1_0_0_0_0_2_0_in = _xfB_pn+8;
        var _xf1_0_0_1_0_0_0_in = _xfB_pn+16;
        var _xf1_0_0_1_0_1_0_in = _xfB_pn+16+4;
        var _xf1_0_0_1_0_2_0_in = _xfB_pn+16+8;
        var _xf1_0_0_2_0_0_0_in = _xfB_pn+32;
        var _xf1_0_0_2_0_1_0_in = _xfB_pn+32+4;
        var _xf1_0_0_2_0_2_0_in = _xfB_pn+32+8;
        var _xf1_1_0_0_0_in = _xfB_pn+48;
        var _xf1_1_0_1_0_in = _xfB_pn+48+4;
        var _xf1_1_0_2_0_in = _xfB_pn+48+8;
        var _xf2_0_0_0_0_0_0_in = _xfA_pn;
        var _xf2_0_0_0_0_1_0_in = _xfA_pn+4;
        var _xf2_0_0_0_0_2_0_in = _xfA_pn+8;
        var _xf2_0_0_1_0_0_0_in = _xfA_pn+16;
        var _xf2_0_0_1_0_1_0_in = _xfA_pn+16+4;
        var _xf2_0_0_1_0_2_0_in = _xfA_pn+16+8;
        var _xf2_0_0_2_0_0_0_in = _xfA_pn+32;
        var _xf2_0_0_2_0_1_0_in = _xfA_pn+32+4;
        var _xf2_0_0_2_0_2_0_in = _xfA_pn+32+8;
        var _xf2_1_0_0_0_in = _xfA_pn+48;
        var _xf2_1_0_1_0_in = _xfA_pn+48+4;
        var _xf2_1_0_2_0_in = _xfA_pn+48+8;
        var _xf1_0_0_0_0_0_0 = FHEAP[_xf1_0_0_0_0_0_0_in];
        var _xf1_0_0_0_0_1_0 = FHEAP[_xf1_0_0_0_0_1_0_in];
        var _xf1_0_0_0_0_2_0 = FHEAP[_xf1_0_0_0_0_2_0_in];
        var _xf1_0_0_1_0_0_0 = FHEAP[_xf1_0_0_1_0_0_0_in];
        var _xf1_0_0_1_0_1_0 = FHEAP[_xf1_0_0_1_0_1_0_in];
        var _xf1_0_0_1_0_2_0 = FHEAP[_xf1_0_0_1_0_2_0_in];
        var _xf1_0_0_2_0_0_0 = FHEAP[_xf1_0_0_2_0_0_0_in];
        var _xf1_0_0_2_0_1_0 = FHEAP[_xf1_0_0_2_0_1_0_in];
        var _xf1_0_0_2_0_2_0 = FHEAP[_xf1_0_0_2_0_2_0_in];
        var _xf1_1_0_0_0 = FHEAP[_xf1_1_0_0_0_in];
        var _xf1_1_0_1_0 = FHEAP[_xf1_1_0_1_0_in];
        var _xf1_1_0_2_0 = FHEAP[_xf1_1_0_2_0_in];
        var _xf2_0_0_0_0_0_0 = FHEAP[_xf2_0_0_0_0_0_0_in];
        var _xf2_0_0_0_0_1_0 = FHEAP[_xf2_0_0_0_0_1_0_in];
        var _xf2_0_0_0_0_2_0 = FHEAP[_xf2_0_0_0_0_2_0_in];
        var _xf2_0_0_1_0_0_0 = FHEAP[_xf2_0_0_1_0_0_0_in];
        var _xf2_0_0_1_0_1_0 = FHEAP[_xf2_0_0_1_0_1_0_in];
        var _xf2_0_0_1_0_2_0 = FHEAP[_xf2_0_0_1_0_2_0_in];
        var _xf2_0_0_2_0_0_0 = FHEAP[_xf2_0_0_2_0_0_0_in];
        var _xf2_0_0_2_0_1_0 = FHEAP[_xf2_0_0_2_0_1_0_in];
        var _xf2_0_0_2_0_2_0 = FHEAP[_xf2_0_0_2_0_2_0_in];
        var _xf2_1_0_0_0 = FHEAP[_xf2_1_0_0_0_in];
        var _xf2_1_0_1_0 = FHEAP[_xf2_1_0_1_0_in];
        var _xf2_1_0_2_0 = FHEAP[_xf2_1_0_2_0_in];
        var _edge1_0 = IHEAP[_edge1_0_in];
        var _8 = _poly1_0+132+_edge1_0*16;
        var _9 = FHEAP[_8];
        var _10 = _xf1_0_0_2_0_0_0 * _9;
        var _11 = _poly1_0+132+_edge1_0*16+4;
        var _12 = FHEAP[_11];
        var _13 = _xf1_0_0_2_0_1_0 * _12;
        var _14 = _10 + _13;
        var _15 = _poly1_0+132+_edge1_0*16+8;
        var _16 = FHEAP[_15];
        var _17 = _xf1_0_0_2_0_2_0 * _16;
        var _18 = _14 + _17;
        var _19 = _xf1_0_0_1_0_0_0 * _9;
        var _20 = _xf1_0_0_1_0_1_0 * _12;
        var _21 = _19 + _20;
        var _22 = _xf1_0_0_1_0_2_0 * _16;
        var _23 = _21 + _22;
        var _24 = _xf1_0_0_0_0_0_0 * _9;
        var _25 = _xf1_0_0_0_0_1_0 * _12;
        var _26 = _24 + _25;
        var _27 = _xf1_0_0_0_0_2_0 * _16;
        var _28 = _26 + _27;
        var _29 = _xf2_0_0_0_0_2_0 * _28;
        var _30 = _xf2_0_0_1_0_2_0 * _23;
        var _31 = _29 + _30;
        var _32 = _xf2_0_0_2_0_2_0 * _18;
        var _33 = _31 + _32;
        var _34 = _xf2_0_0_0_0_1_0 * _28;
        var _35 = _xf2_0_0_1_0_1_0 * _23;
        var _36 = _34 + _35;
        var _37 = _xf2_0_0_2_0_1_0 * _18;
        var _38 = _36 + _37;
        var _39 = _xf2_0_0_0_0_0_0 * _28;
        var _40 = _xf2_0_0_1_0_0_0 * _23;
        var _41 = _39 + _40;
        var _42 = _xf2_0_0_2_0_0_0 * _18;
        var _43 = _41 + _42;
        var _scevgep25_i = _poly2_0+132;
        var _scevgep26_i = _poly2_0+132+4;
        var _scevgep27_i = _poly2_0+132+8;
        var _44 = FHEAP[_scevgep25_i];
        var _45 = _43 * _44;
        var _46 = FHEAP[_scevgep26_i];
        var _47 = _38 * _46;
        var _48 = _45 + _47;
        var _49 = FHEAP[_scevgep27_i];
        var _50 = _33 * _49;
        var _51 = _48 + _50;
        var _52 = _51 < 999999984306749400;
        var _minDot_0_i = _52 ? _51 : 999999984306749400;
        var _scevgep25_1_i = _poly2_0+132+16;
        var _scevgep26_1_i = _poly2_0+132+16+4;
        var _scevgep27_1_i = _poly2_0+132+16+8;
        var _53 = FHEAP[_scevgep25_1_i];
        var _54 = _43 * _53;
        var _55 = FHEAP[_scevgep26_1_i];
        var _56 = _38 * _55;
        var _57 = _54 + _56;
        var _58 = FHEAP[_scevgep27_1_i];
        var _59 = _33 * _58;
        var _60 = _57 + _59;
        var _61 = _60 < _minDot_0_i;
        var _minDot_0_1_i = _61 ? _60 : _minDot_0_i;
        var _scevgep25_2_i = _poly2_0+132+32;
        var _scevgep26_2_i = _poly2_0+132+32+4;
        var _scevgep27_2_i = _poly2_0+132+32+8;
        var _62 = FHEAP[_scevgep25_2_i];
        var _63 = _43 * _62;
        var _64 = FHEAP[_scevgep26_2_i];
        var _65 = _38 * _64;
        var _66 = _63 + _65;
        var _67 = FHEAP[_scevgep27_2_i];
        var _68 = _33 * _67;
        var _69 = _66 + _68;
        var _70 = _69 < _minDot_0_1_i;
        var _scevgep26_3_i = _poly2_0+132+48+4;
        var _scevgep25_3_i = _poly2_0+132+48;
        var _71 = FHEAP[_scevgep26_3_i];
        var _72 = FHEAP[_scevgep25_3_i];
        var _scevgep27_3_i = _poly2_0+132+48+8;
        var _73 = FHEAP[_scevgep27_3_i];
        var _74 = _38 * _71;
        var _75 = _43 * _72;
        var _76 = _33 * _73;
        var _77 = _75 + _74;
        var _78 = _77 + _76;
        var _minDot_0_2_i = _70 ? _69 : _minDot_0_1_i;
        var _index_0_1_i = _61;
        var _79 = _78 < _minDot_0_2_i;
        var _index_0_2_i = _70 ? 2 : _index_0_1_i;
        var _index_0_3_i = _79 ? 3 : _index_0_2_i;
        var _80 = _index_0_3_i + 1;
        var _81 = unSign(_80, 32) < unSign(4, 32);
        var _iftmp_201_0_i = _81 ? _80 : 0;
        var _82 = _poly2_0+68+_index_0_3_i*16;
        var _83 = FHEAP[_82];
        var _84 = _xf2_0_0_2_0_0_0 * _83;
        var _85 = _poly2_0+68+_index_0_3_i*16+4;
        var _86 = FHEAP[_85];
        var _87 = _xf2_0_0_2_0_1_0 * _86;
        var _88 = _84 + _87;
        var _89 = _poly2_0+68+_index_0_3_i*16+8;
        var _90 = FHEAP[_89];
        var _91 = _xf2_0_0_2_0_2_0 * _90;
        var _92 = _88 + _91;
        var _93 = _92 + _xf2_1_0_2_0;
        var _94 = _xf2_0_0_1_0_0_0 * _83;
        var _95 = _xf2_0_0_1_0_1_0 * _86;
        var _96 = _94 + _95;
        var _97 = _xf2_0_0_1_0_2_0 * _90;
        var _98 = _96 + _97;
        var _99 = _98 + _xf2_1_0_1_0;
        var _100 = _xf2_0_0_0_0_0_0 * _83;
        var _101 = _xf2_0_0_0_0_1_0 * _86;
        var _102 = _100 + _101;
        var _103 = _xf2_0_0_0_0_2_0 * _90;
        var _104 = _102 + _103;
        var _105 = _104 + _xf2_1_0_0_0;
        var _106 = _incidentEdge;
        FHEAP[_106] = _105;
        var _107 = _incidentEdge+4;
        FHEAP[_107] = _99;
        var _108 = _incidentEdge+8;
        FHEAP[_108] = _93;
        var _109 = _incidentEdge+12;
        FHEAP[_109] = 0;
        var _110 = _poly2_0+68+_iftmp_201_0_i*16;
        var _111 = FHEAP[_110];
        var _112 = _xf2_0_0_2_0_0_0 * _111;
        var _113 = _poly2_0+68+_iftmp_201_0_i*16+4;
        var _114 = FHEAP[_113];
        var _115 = _xf2_0_0_2_0_1_0 * _114;
        var _116 = _112 + _115;
        var _117 = _poly2_0+68+_iftmp_201_0_i*16+8;
        var _118 = FHEAP[_117];
        var _119 = _xf2_0_0_2_0_2_0 * _118;
        var _120 = _116 + _119;
        var _121 = _120 + _xf2_1_0_2_0;
        var _122 = _xf2_0_0_1_0_0_0 * _111;
        var _123 = _xf2_0_0_1_0_1_0 * _114;
        var _124 = _122 + _123;
        var _125 = _xf2_0_0_1_0_2_0 * _118;
        var _126 = _124 + _125;
        var _127 = _126 + _xf2_1_0_1_0;
        var _128 = _xf2_0_0_0_0_0_0 * _111;
        var _129 = _xf2_0_0_0_0_1_0 * _114;
        var _130 = _128 + _129;
        var _131 = _xf2_0_0_0_0_2_0 * _118;
        var _132 = _130 + _131;
        var _133 = _132 + _xf2_1_0_0_0;
        var _134 = _incidentEdge+20;
        FHEAP[_134] = _133;
        var _135 = _incidentEdge+20+4;
        FHEAP[_135] = _127;
        var _136 = _incidentEdge+20+8;
        FHEAP[_136] = _121;
        var _137 = _incidentEdge+20+12;
        FHEAP[_137] = 0;
        var _138 = _poly1_0+68;
        var _139 = _poly1_0+68+_edge1_0*16;
        var _140 = FHEAP[_139];
        var _141 = _poly1_0+68+_edge1_0*16+4;
        var _142 = FHEAP[_141];
        var _143 = _poly1_0+68+_edge1_0*16+8;
        var _144 = FHEAP[_143];
        var _145 = _edge1_0 + 1;
        var _146 = _145 < 4;
        ;
        if (_146) {
          __lastLabel__ = 2; ;
          var _147 = _poly1_0+68+_145*16;
          __lastLabel__ = 148; ;
        }
        else {
          __lastLabel__ = 2; ;
        }
        var _iftmp_203_0 = __lastLabel__ == 148 ? _147 : (_138);
        var _148 = _iftmp_203_0;
        var _149 = FHEAP[_148];
        var _150 = _iftmp_203_0+4;
        var _151 = FHEAP[_150];
        var _152 = _iftmp_203_0+8;
        var _153 = FHEAP[_152];
        var _154 = _153 - _144;
        var _155 = _151 - _142;
        var _156 = _149 - _140;
        var _157 = _xf1_0_0_2_0_0_0 * _156;
        var _158 = _xf1_0_0_2_0_1_0 * _155;
        var _159 = _157 + _158;
        var _160 = _xf1_0_0_2_0_2_0 * _154;
        var _161 = _159 + _160;
        var _162 = _xf1_0_0_1_0_0_0 * _156;
        var _163 = _xf1_0_0_1_0_1_0 * _155;
        var _164 = _162 + _163;
        var _165 = _xf1_0_0_1_0_2_0 * _154;
        var _166 = _164 + _165;
        var _167 = _xf1_0_0_0_0_0_0 * _156;
        var _168 = _xf1_0_0_0_0_1_0 * _155;
        var _169 = _167 + _168;
        var _170 = _xf1_0_0_0_0_2_0 * _154;
        var _171 = _169 + _170;
        var _172 = _171 * _171;
        var _173 = _166 * _166;
        var _174 = _172 + _173;
        var _175 = _161 * _161;
        var _176 = _174 + _175;
        var _177 = _sqrtf(_176);
        var _178 = 1 / _177;
        var _179 = _171 * _178;
        var _180 = _166 * _178;
        var _181 = _161 * _178;
        var _182 = 0 - _179;
        var _183 = _xf1_0_0_2_0_0_0 * _140;
        var _184 = _xf1_0_0_2_0_1_0 * _142;
        var _185 = _183 + _184;
        var _186 = _xf1_0_0_2_0_2_0 * _144;
        var _187 = _185 + _186;
        var _188 = _187 + _xf1_1_0_2_0;
        var _189 = _xf1_0_0_1_0_0_0 * _140;
        var _190 = _xf1_0_0_1_0_1_0 * _142;
        var _191 = _189 + _190;
        var _192 = _xf1_0_0_1_0_2_0 * _144;
        var _193 = _191 + _192;
        var _194 = _193 + _xf1_1_0_1_0;
        var _195 = _xf1_0_0_0_0_0_0 * _140;
        var _196 = _xf1_0_0_0_0_1_0 * _142;
        var _197 = _195 + _196;
        var _198 = _xf1_0_0_0_0_2_0 * _144;
        var _199 = _197 + _198;
        var _200 = _199 + _xf1_1_0_0_0;
        var _201 = _xf1_0_0_2_0_0_0 * _149;
        var _202 = _xf1_0_0_2_0_1_0 * _151;
        var _203 = _201 + _202;
        var _204 = _xf1_0_0_2_0_2_0 * _153;
        var _205 = _203 + _204;
        var _206 = _205 + _xf1_1_0_2_0;
        var _207 = _xf1_0_0_1_0_0_0 * _149;
        var _208 = _xf1_0_0_1_0_1_0 * _151;
        var _209 = _207 + _208;
        var _210 = _xf1_0_0_1_0_2_0 * _153;
        var _211 = _209 + _210;
        var _212 = _211 + _xf1_1_0_1_0;
        var _213 = _xf1_0_0_0_0_0_0 * _149;
        var _214 = _xf1_0_0_0_0_1_0 * _151;
        var _215 = _213 + _214;
        var _216 = _xf1_0_0_0_0_2_0 * _153;
        var _217 = _215 + _216;
        var _218 = _217 + _xf1_1_0_0_0;
        var _219 = _180 * _200;
        var _220 = _194 * _182;
        var _221 = _219 + _220;
        var _222 = _188 * 0;
        var _223 = _221 + _222;
        var _224 = _179 * _200;
        var _225 = _180 * _194;
        var _226 = _224 + _225;
        var _227 = _181 * _188;
        var _228 = _226 + _227;
        var _229 = 0 - _228;
        var _230 = _179 * _218;
        var _231 = _180 * _212;
        var _232 = _230 + _231;
        var _233 = _181 * _206;
        var _234 = _232 + _233;
        var _235 = _clipPoints1;
        FHEAP[_235] = 0;
        var _236 = _clipPoints1+4;
        FHEAP[_236] = 0;
        var _237 = _clipPoints1+8;
        FHEAP[_237] = 0;
        var _238 = _clipPoints1+12;
        FHEAP[_238] = 0;
        var _239 = _clipPoints1+20;
        FHEAP[_239] = 0;
        var _240 = _clipPoints1+20+4;
        FHEAP[_240] = 0;
        var _241 = _clipPoints1+20+8;
        FHEAP[_241] = 0;
        var _242 = _clipPoints1+20+12;
        FHEAP[_242] = 0;
        var _243 = _clipPoints2;
        FHEAP[_243] = 0;
        var _244 = _clipPoints2+4;
        FHEAP[_244] = 0;
        var _245 = _clipPoints2+8;
        FHEAP[_245] = 0;
        var _246 = _clipPoints2+12;
        FHEAP[_246] = 0;
        var _247 = _clipPoints2+20;
        FHEAP[_247] = 0;
        var _248 = _clipPoints2+20+4;
        FHEAP[_248] = 0;
        var _249 = _clipPoints2+20+8;
        FHEAP[_249] = 0;
        var _250 = _clipPoints2+20+12;
        FHEAP[_250] = 0;
        var _251 = 0 - _181;
        var _252 = 0 - _180;
        var _253 = _clipPoints1;
        var _254 = _incidentEdge;
        var _255 = __ZL17ClipSegmentToLineP10ClipVertexS0_RK9btVector3f(_253, _254, _182, _252, _251, _229);
        var _256 = _255 < 2;
        if (_256) { __label__ = 44; /* _return */ break _return$_bb$4561; }
        var _257 = _clipPoints2;
        var _258 = __ZL17ClipSegmentToLineP10ClipVertexS0_RK9btVector3f(_257, _253, _179, _180, _181, _234);
        var _259 = _258 < 2;
        if (_259) { __label__ = 44; /* _return */ break _return$_bb$4561; }
        var _260 = _flip_0 == 0;
        var _manifoldNormal_0_0_0_ph = _260 ? _180 : _252;
        var _manifoldNormal_0_1_0_ph = _260 ? _182 : _179;
        var _manifoldNormal_0_2_0_ph = _260 ? 0 : 0;
        var _261 = IHEAP[_b2_maxManifoldPoints];
        var _262 = _261 > 0;
        if (!(_262)) { __label__ = 44; /* _return */ break _return$_bb$4561; }
        var _263 = _manifold;
        var _264 = 0 - _manifoldNormal_0_2_0_ph;
        var _265 = 0 - _manifoldNormal_0_1_0_ph;
        var _266 = 0 - _manifoldNormal_0_0_0_ph;
        var _267 = _0;
        var _268 = _0+4;
        var _269 = _0+8;
        var _270 = _0+12;
        __lastLabel__ = 130; ;
        _bb24$4573: while(1) { // _bb24
          var _i_0117 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _scevgep125 = _clipPoints2+_i_0117*20;
          var _scevgep126 = _clipPoints2+_i_0117*20+4;
          var _scevgep127 = _clipPoints2+_i_0117*20+8;
          var _tmp = _i_0117 + 1;
          var _271 = FHEAP[_scevgep125];
          var _272 = _180 * _271;
          var _273 = FHEAP[_scevgep126];
          var _274 = _273 * _182;
          var _275 = _272 + _274;
          var _276 = FHEAP[_scevgep127];
          var _277 = _276 * 0;
          var _278 = _275 + _277;
          var _279 = _278 - _223;
          var _280 = _279 > 0;
          ;
          if (!_280) {
            ;
            var _scevgep124 = _clipPoints2+_i_0117*20;
            var _281 = IHEAP[_263];
            var _282 = _281+16;
            var _283 = IHEAP[_282];
            FHEAP[_267] = _266;
            FHEAP[_268] = _265;
            FHEAP[_269] = _264;
            FHEAP[_270] = 0;
            var _284 = _283;
            FUNCTION_TABLE[_284](_manifold, _0, _scevgep124, _279);
            ;
          }
          var _285 = IHEAP[_b2_maxManifoldPoints];
          var _286 = _tmp < _285;
          if (_286) { __lastLabel__ = 515; __label__ = 65; /* _bb24 */ continue _bb24$4573; } else { __lastLabel__ = 515; __label__ = 44; /* _return */ break _return$_bb$4561; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __Z17b2CollidePolygonsP16btManifoldResultPK12btBox2dShapeRK11btTransformS3_S6_.__index__ = Runtime.getFunctionIndex(__Z17b2CollidePolygonsP16btManifoldResultPK12btBox2dShapeRK11btTransformS3_S6_, "__Z17b2CollidePolygonsP16btManifoldResultPK12btBox2dShapeRK11btTransformS3_S6_");
  
  
  function __ZN30btBox2dBox2dCollisionAlgorithmD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV30btBox2dBox2dCollisionAlgorithm+8;
    var _1 = _this+8;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$4589: do { 
      if (!_toBool) {
        ;
        var _3 = _this+12;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$4589; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$4589; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _15 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    var _14 = _this;
    __ZdlPv(_14);
    ;
    return;
  }
  __ZN30btBox2dBox2dCollisionAlgorithmD0Ev.__index__ = Runtime.getFunctionIndex(__ZN30btBox2dBox2dCollisionAlgorithmD0Ev, "__ZN30btBox2dBox2dCollisionAlgorithmD0Ev");
  
  
  function __ZN30btBox2dBox2dCollisionAlgorithmD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV30btBox2dBox2dCollisionAlgorithm+8;
    var _1 = _this+8;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$4598: do { 
      if (!_toBool) {
        ;
        var _3 = _this+12;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$4598; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$4598; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _14 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    ;
    return;
  }
  __ZN30btBox2dBox2dCollisionAlgorithmD1Ev.__index__ = Runtime.getFunctionIndex(__ZN30btBox2dBox2dCollisionAlgorithmD1Ev, "__ZN30btBox2dBox2dCollisionAlgorithmD1Ev");
  
  
  function __ZN30btBox2dBox2dCollisionAlgorithmD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV30btBox2dBox2dCollisionAlgorithm+8;
    var _1 = _this+8;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$4607: do { 
      if (!_toBool) {
        ;
        var _3 = _this+12;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$4607; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$4607; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _14 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    ;
    return;
  }
  __ZN30btBox2dBox2dCollisionAlgorithmD2Ev.__index__ = Runtime.getFunctionIndex(__ZN30btBox2dBox2dCollisionAlgorithmD2Ev, "__ZN30btBox2dBox2dCollisionAlgorithmD2Ev");
  
  
  function __ZN30btBox2dBox2dCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_(_this, _mf, _ci, _obj0, _obj1) {
    ;
    var __label__;
    var _0 = _this;
    __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_0, _ci, _obj0, _obj1);
    var _1 = _this;
    IHEAP[_1] = __ZTV30btBox2dBox2dCollisionAlgorithm+8;
    var _2 = _this+8;
    IHEAP[_2] = 0;
    var _3 = _this+12;
    IHEAP[_3] = _mf;
    var _4 = _mf == 0;
    ;
    _bb$_bb5$4616: do { 
      if (_4) {
        ;
        var _5 = _this+4;
        var _6 = IHEAP[_5];
        var _7 = _6;
        var _8 = IHEAP[_7];
        var _9 = _8+24;
        var _10 = IHEAP[_9];
        var _11 = _10;
        var _12 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_11](_6, _obj0, _obj1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
        _invcont$_lpad$4618: do { 
          if (__label__ == 345) {
            var _toBoolnot = _12 == 0;
            if (_toBoolnot) { __label__ = 82; /* _bb5 */ break _bb$_bb5$4616; }
            var _13 = IHEAP[_5];
            var _14 = _13;
            var _15 = IHEAP[_14];
            var _16 = _15+12;
            var _17 = IHEAP[_16];
            var _18 = _17;
            var _19 = _obj0;
            var _20 = _obj1;
            var _21 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_18](_13, _19, _20) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$4618; };
            IHEAP[_3] = _21;
            IHEAP[_2] = 1;
            ;
            return;
          }
        } while(0);
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select15 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1603; /* _invcont11 */  } else { __label__ = 3816; /* _lpad16 */  }
        if (__label__ == 1603) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3816) {
          var _eh_ptr17 = _llvm_eh_exception();
          var _eh_select19 = _llvm_eh_selector(_eh_ptr17, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN30btBox2dBox2dCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_.__index__ = Runtime.getFunctionIndex(__ZN30btBox2dBox2dCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_, "__ZN30btBox2dBox2dCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_");
  
  
  function __ZN16btBoxBoxDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(_this, _input, _output, _unnamed_arg, _unnamed_arg2) {
    var __stackBase__  = STACKTOP; STACKTOP += 146;
    var __label__;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _R1 = __stackBase__+32;
    var _R2 = __stackBase__+80;
    var _normal = __stackBase__+128;
    var _depth = __stackBase__+144;
    var _return_code = __stackBase__+145;
    var _scevgep = _R1;
    var _scevgep14 = _R2;
    var _scevgep16 = _R1+4;
    var _scevgep17 = _R2+4;
    var _scevgep19 = _R1+8;
    var _scevgep20 = _R2+8;
    var _scevgep2122 = _input;
    var _scevgep2324 = _input+64;
    var _scevgep25 = _input+4;
    var _scevgep26 = _input+64+4;
    var _scevgep27 = _input+8;
    var _scevgep28 = _input+64+8;
    var _2 = FHEAP[_scevgep2122];
    FHEAP[_scevgep] = _2;
    var _3 = FHEAP[_scevgep2324];
    FHEAP[_scevgep14] = _3;
    var _4 = FHEAP[_scevgep25];
    FHEAP[_scevgep16] = _4;
    var _5 = FHEAP[_scevgep26];
    FHEAP[_scevgep17] = _5;
    var _6 = FHEAP[_scevgep27];
    FHEAP[_scevgep19] = _6;
    var _7 = FHEAP[_scevgep28];
    FHEAP[_scevgep20] = _7;
    var _scevgep_1 = _R1+16;
    var _scevgep14_1 = _R2+16;
    var _scevgep16_1 = _R1+20;
    var _scevgep17_1 = _R2+20;
    var _scevgep19_1 = _R1+24;
    var _scevgep20_1 = _R2+24;
    var _scevgep2122_1 = _input+16;
    var _scevgep2324_1 = _input+64+16;
    var _scevgep25_1 = _input+16+4;
    var _scevgep26_1 = _input+64+16+4;
    var _scevgep27_1 = _input+16+8;
    var _scevgep28_1 = _input+64+16+8;
    var _8 = FHEAP[_scevgep2122_1];
    FHEAP[_scevgep_1] = _8;
    var _9 = FHEAP[_scevgep2324_1];
    FHEAP[_scevgep14_1] = _9;
    var _10 = FHEAP[_scevgep25_1];
    FHEAP[_scevgep16_1] = _10;
    var _11 = FHEAP[_scevgep26_1];
    FHEAP[_scevgep17_1] = _11;
    var _12 = FHEAP[_scevgep27_1];
    FHEAP[_scevgep19_1] = _12;
    var _13 = FHEAP[_scevgep28_1];
    FHEAP[_scevgep20_1] = _13;
    var _scevgep_2 = _R1+32;
    var _scevgep14_2 = _R2+32;
    var _scevgep16_2 = _R1+36;
    var _scevgep17_2 = _R2+36;
    var _scevgep19_2 = _R1+40;
    var _scevgep20_2 = _R2+40;
    var _scevgep2122_2 = _input+32;
    var _scevgep2324_2 = _input+64+32;
    var _scevgep25_2 = _input+32+4;
    var _scevgep26_2 = _input+64+32+4;
    var _scevgep27_2 = _input+32+8;
    var _scevgep28_2 = _input+64+32+8;
    var _14 = FHEAP[_scevgep2122_2];
    FHEAP[_scevgep_2] = _14;
    var _15 = FHEAP[_scevgep2324_2];
    FHEAP[_scevgep14_2] = _15;
    var _16 = FHEAP[_scevgep25_2];
    FHEAP[_scevgep16_2] = _16;
    var _17 = FHEAP[_scevgep26_2];
    FHEAP[_scevgep17_2] = _17;
    var _18 = FHEAP[_scevgep27_2];
    FHEAP[_scevgep19_2] = _18;
    var _19 = FHEAP[_scevgep28_2];
    FHEAP[_scevgep20_2] = _19;
    var _20 = _this+8;
    var _21 = IHEAP[_20];
    var _22 = _21+28;
    var _23 = FHEAP[_22];
    var _24 = _21+28+4;
    var _25 = FHEAP[_24];
    var _26 = _21+28+8;
    var _27 = FHEAP[_26];
    var _28 = _21;
    var _29 = IHEAP[_28];
    var _30 = _29+44;
    var _31 = IHEAP[_30];
    var _32 = _21;
    var _33 = _31;
    var _34 = FUNCTION_TABLE[_33](_32);
    var _35 = IHEAP[_28];
    var _36 = _35+44;
    var _37 = IHEAP[_36];
    var _38 = _37;
    var _39 = FUNCTION_TABLE[_38](_32);
    var _40 = IHEAP[_28];
    var _41 = _40+44;
    var _42 = IHEAP[_41];
    var _43 = _42;
    var _44 = FUNCTION_TABLE[_43](_32);
    var _45 = _23 + _44;
    var _46 = _25 + _39;
    var _47 = _27 + _34;
    var _48 = _47 * 2;
    var _49 = _46 * 2;
    var _50 = _45 * 2;
    var _51 = _1;
    FHEAP[_51] = _50;
    var _52 = _1+4;
    FHEAP[_52] = _49;
    var _53 = _1+8;
    FHEAP[_53] = _48;
    var _54 = _1+12;
    FHEAP[_54] = 0;
    var _55 = _input+64+48;
    var _56 = _this+4;
    var _57 = IHEAP[_56];
    var _58 = _57+28;
    var _59 = FHEAP[_58];
    var _60 = _57+28+4;
    var _61 = FHEAP[_60];
    var _62 = _57+28+8;
    var _63 = FHEAP[_62];
    var _64 = _57;
    var _65 = IHEAP[_64];
    var _66 = _65+44;
    var _67 = IHEAP[_66];
    var _68 = _57;
    var _69 = _67;
    var _70 = FUNCTION_TABLE[_69](_68);
    var _71 = IHEAP[_64];
    var _72 = _71+44;
    var _73 = IHEAP[_72];
    var _74 = _73;
    var _75 = FUNCTION_TABLE[_74](_68);
    var _76 = IHEAP[_64];
    var _77 = _76+44;
    var _78 = IHEAP[_77];
    var _79 = _78;
    var _80 = FUNCTION_TABLE[_79](_68);
    var _81 = _59 + _80;
    var _82 = _61 + _75;
    var _83 = _63 + _70;
    var _84 = _83 * 2;
    var _85 = _82 * 2;
    var _86 = _81 * 2;
    var _87 = _0;
    FHEAP[_87] = _86;
    var _88 = _0+4;
    FHEAP[_88] = _85;
    var _89 = _0+8;
    FHEAP[_89] = _84;
    var _90 = _0+12;
    FHEAP[_90] = 0;
    var _91 = _input+48;
    var _92 = _R1;
    var _93 = _R2;
    var _94 = __Z8dBoxBox2RK9btVector3PKfS1_S1_S3_S1_RS_PfPiiP12dContactGeomiRN36btDiscreteCollisionDetectorInterface6ResultE(_91, _92, _0, _55, _93, _1, _normal, _depth, _return_code, 4, 0, 0, _output);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN16btBoxBoxDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb.__index__ = Runtime.getFunctionIndex(__ZN16btBoxBoxDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb, "__ZN16btBoxBoxDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb");
  
  
  function __Z11cullPoints2iPfiiPi(_n, _p, _m, _i0, _iret) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var __lastLabel__ = null;
    var _A = __stackBase__;
    var _avail = __stackBase__+32;
    if (_n == 1) {
      __label__ = 60; /* _bb */ 
    }
    else if (_n == 2) {
      __label__ = 0; /* _bb2 */ 
    }
    else {
    __label__ = 269; /* _bb5_preheader */ 
    }
    
    _bb5_preheader$_bb$_bb2$4639: do { 
      if (__label__ == 269) {
        var _0 = _n + -1;
        var _1 = _0 > 0;
        if (_1) { __lastLabel__ = 269; __label__ = 61; /* _bb4 */  } else { __lastLabel__ = 269; __label__ = 83; /* _bb6 */  }
        _bb4$_bb6$4641: while(1) { // _bb4,_bb6
          if (__label__ == 61) {
            var _cy_143 = __lastLabel__ == 61 ? _29 : (0);
            var _cx_142 = __lastLabel__ == 61 ? _26 : (0);
            var _i_041 = __lastLabel__ == 61 ? _30 : (0);
            var _a_040 = __lastLabel__ == 61 ? _23 : (0);
            var _tmp62 = _i_041 << 1;
            var _tmp63 = _tmp62 + 3;
            var _scevgep64 = _p+4*_tmp63;
            var _tmp65 = _tmp62 + 2;
            var _scevgep66 = _p+4*_tmp65;
            var _scevgep67 = _p+4*_tmp62;
            var _tmp6871 = _tmp62 | 1;
            var _scevgep69 = _p+4*_tmp6871;
            var _16 = FHEAP[_scevgep67];
            var _17 = FHEAP[_scevgep64];
            var _18 = _16 * _17;
            var _19 = FHEAP[_scevgep66];
            var _20 = FHEAP[_scevgep69];
            var _21 = _19 * _20;
            var _22 = _18 - _21;
            var _23 = _a_040 + _22;
            var _24 = _16 + _19;
            var _25 = _24 * _22;
            var _26 = _25 + _cx_142;
            var _27 = _20 + _17;
            var _28 = _27 * _22;
            var _29 = _28 + _cy_143;
            var _30 = _i_041 + 1;
            var _exitcond61 = _30 == _0;
            if (_exitcond61) { __lastLabel__ = 61; __label__ = 83; /* _bb6 */ continue _bb4$_bb6$4641; } else { __lastLabel__ = 61; __label__ = 61; /* _bb4 */ continue _bb4$_bb6$4641; }
          }
          else if (__label__ == 83) {
            var _cy_1_lcssa = __lastLabel__ == 269 ? 0 : (_29);
            var _cx_1_lcssa = __lastLabel__ == 269 ? 0 : (_26);
            var _a_0_lcssa = __lastLabel__ == 269 ? 0 : (_23);
            var _31 = _n << 1;
            var _32 = _31 + -2;
            var _33 = _p+4*_32;
            var _34 = FHEAP[_33];
            var _35 = _p+4;
            var _36 = FHEAP[_35];
            var _37 = _34 * _36;
            var _38 = FHEAP[_p];
            var _39 = _31 + -1;
            var _40 = _p+4*_39;
            var _41 = FHEAP[_40];
            var _42 = _38 * _41;
            var _43 = _37 - _42;
            var _44 = _a_0_lcssa + _43;
            var _45 = _fabsf(_44);
            var _46 = _45 > 1.1920928955078125e-7;
            if (_46) { __lastLabel__ = 83; __label__ = 2; /* _bb7 */ break _bb4$_bb6$4641; } else { __lastLabel__ = 83; __label__ = 150; /* _bb10 */ break _bb4$_bb6$4641; }
          }
        }
        if (__label__ == 2) {
          var _47 = _44 * 3;
          var _48 = 1 / _47;
          __lastLabel__ = 2; ;
        }
        var _a_1 = __lastLabel__ == 2 ? _48 : (999999984306749400);
        var _49 = _34 + _38;
        var _50 = _49 * _43;
        var _51 = _50 + _cx_1_lcssa;
        var _52 = _51 * _a_1;
        var _53 = _41 + _36;
        var _54 = _53 * _43;
        var _55 = _54 + _cy_1_lcssa;
        var _56 = _55 * _a_1;
        var _57 = _n > 0;
        if (_57) { __lastLabel__ = 150; __label__ = 999; /* _bb_nph39 */ break _bb5_preheader$_bb$_bb2$4639; } else { __lastLabel__ = 150; __label__ = 154; /* _bb16 */ break _bb5_preheader$_bb$_bb2$4639; }
      }
      else if (__label__ == 60) {
        var _2 = FHEAP[_p];
        var _3 = _p+4;
        var _4 = FHEAP[_3];
        __lastLabel__ = 60; __label__ = 999; /* _bb_nph39 */ break _bb5_preheader$_bb$_bb2$4639;
      }
      else if (__label__ == 0) {
        var _5 = FHEAP[_p];
        var _6 = _p+8;
        var _7 = FHEAP[_6];
        var _8 = _5 + _7;
        var _9 = _8 * 0.5;
        var _10 = _p+4;
        var _11 = FHEAP[_10];
        var _12 = _p+12;
        var _13 = FHEAP[_12];
        var _14 = _11 + _13;
        var _15 = _14 * 0.5;
        __lastLabel__ = 0; __label__ = 999; /* _bb_nph39 */ break _bb5_preheader$_bb$_bb2$4639;
      }
    } while(0);
    _bb_nph39$_bb16$4650: do { 
      if (__label__ == 999) {
        var _cy_073 = __lastLabel__ == 150 ? _56 : (__lastLabel__ == 0 ? _15 : (_4));
        var _cx_072 = __lastLabel__ == 150 ? _52 : (__lastLabel__ == 0 ? _9 : (_2));
        __lastLabel__ = 999; ;
        _bb11$4652: while(1) { // _bb11
          var _i_138 = __lastLabel__ == 999 ? 0 : (_63);
          var _scevgep54 = _A+_i_138*4;
          var _tmp55 = _i_138 << 1;
          var _scevgep56 = _p+4*_tmp55;
          var _tmp5770 = _tmp55 | 1;
          var _scevgep58 = _p+4*_tmp5770;
          var _58 = FHEAP[_scevgep56];
          var _59 = _58 - _cx_072;
          var _60 = FHEAP[_scevgep58];
          var _61 = _60 - _cy_073;
          var _62 = _atan2f(_61, _59);
          FHEAP[_scevgep54] = _62;
          var _63 = _i_138 + 1;
          var _exitcond53 = _63 == _n;
          if (_exitcond53) { __lastLabel__ = 292; __label__ = 63; /* _bb14 */ break _bb11$4652; } else { __lastLabel__ = 292; __label__ = 292; /* _bb11 */ continue _bb11$4652; }
        }
        _bb14$4654: while(1) { // _bb14
          var _i_236 = __lastLabel__ == 63 ? _64 : (0);
          var _scevgep52 = _avail+_i_236*4;
          IHEAP[_scevgep52] = 1;
          var _64 = _i_236 + 1;
          var _exitcond51 = _64 == _n;
          if (_exitcond51) { __lastLabel__ = 63; __label__ = 154; /* _bb16 */ break _bb_nph39$_bb16$4650; } else { __lastLabel__ = 63; __label__ = 63; /* _bb14 */ continue _bb14$4654; }
        }
      }
    } while(0);
    var _65 = __lastLabel__ == 63 ? true : (false);
    var _66 = _avail+_i0*4;
    IHEAP[_66] = 0;
    IHEAP[_iret] = _i0;
    var _67 = _m > 1;
    ;
    _bb_nph35$_return$4657: do { 
      if (_67) {
        ;
        var _68 = _m;
        var _69 = 6.2831854820251465 / _68;
        var _70 = _A+_i0*4;
        var _tmp = _m + -1;
        __lastLabel__ = 1001; ;
        _bb17$4659: while(1) { // _bb17
          var _indvar = __lastLabel__ == 1001 ? 0 : (_j_033);
          var _j_033 = _indvar + 1;
          var _iret_addr_034 = _iret+4*_j_033;
          var _71 = _j_033;
          var _72 = _71 * _69;
          var _73 = FHEAP[_70];
          var _74 = _72 + _73;
          var _75 = _74 > 3.1415927410125732;
          ;
          if (_75) {
            __lastLabel__ = 4; ;
            var _76 = _74 + -6.2831854820251465;
            __lastLabel__ = 86; ;
          }
          else {
            __lastLabel__ = 4; ;
          }
          var _a_2 = __lastLabel__ == 86 ? _76 : (_74);
          IHEAP[_iret_addr_034] = _i0;
          if (_65) { __lastLabel__ = 64; __label__ = 117; /* _bb20 */  } else { __lastLabel__ = 64; __label__ = 515; /* _bb27 */  }
          _bb20$_bb27$4664: while(1) { // _bb20,_bb27
            if (__label__ == 117) {
              var _77 = __lastLabel__ == 540 ? _87 : (_i0);
              var _maxdiff_131 = __lastLabel__ == 540 ? _maxdiff_0 : (1000000000);
              var _78 = __lastLabel__ == 540 ? _88 : (0);
              var _scevgep = _avail+_78*4;
              var _79 = IHEAP[_scevgep];
              var _80 = _79 == 0;
              ;
              _bb25$_bb21$4667: do { 
                if (_80) {
                  __lastLabel__ = 117; ;
                }
                else {
                  __lastLabel__ = 117; ;
                  var _scevgep47 = _A+_78*4;
                  var _81 = FHEAP[_scevgep47];
                  var _82 = _81 - _a_2;
                  var _83 = _fabsf(_82);
                  var _84 = _83 > 3.1415927410125732;
                  ;
                  if (_84) {
                    __lastLabel__ = 110; ;
                    var _85 = 6.2831854820251465 - _83;
                    __lastLabel__ = 5; ;
                  }
                  else {
                    __lastLabel__ = 110; ;
                  }
                  var _diff_0 = __lastLabel__ == 5 ? _85 : (_83);
                  var _86 = _diff_0 < _maxdiff_131;
                  if (_86) { __lastLabel__ = 419; ; } else { __lastLabel__ = 419; __label__ = 540; /* _bb25 */ break _bb25$_bb21$4667; }
                  IHEAP[_iret_addr_034] = _78;
                  __lastLabel__ = 65; ;
                }
              } while(0);
              var _87 = __lastLabel__ == 65 ? _78 : (__lastLabel__ == 419 ? _77 : (_77));
              var _maxdiff_0 = __lastLabel__ == 65 ? _diff_0 : (__lastLabel__ == 419 ? _maxdiff_131 : (_maxdiff_131));
              var _88 = _78 + 1;
              var _exitcond = _88 == _n;
              if (_exitcond) { __lastLabel__ = 540; __label__ = 515; /* _bb27 */ continue _bb20$_bb27$4664; } else { __lastLabel__ = 540; __label__ = 117; /* _bb20 */ continue _bb20$_bb27$4664; }
            }
            else if (__label__ == 515) {
              var _89 = __lastLabel__ == 64 ? _i0 : (_87);
              var _90 = _avail+_89*4;
              IHEAP[_90] = 0;
              var _exitcond48 = _j_033 == _tmp;
              if (_exitcond48) { __lastLabel__ = 515; __label__ = 44; /* _return */ break _bb_nph35$_return$4657; } else { __lastLabel__ = 515; __label__ = 4; /* _bb17 */ continue _bb17$4659; }
            }
          }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __Z11cullPoints2iPfiiPi.__index__ = Runtime.getFunctionIndex(__Z11cullPoints2iPfiiPi, "__Z11cullPoints2iPfiiPi");
  
  
  function __Z8dBoxBox2RK9btVector3PKfS1_S1_S3_S1_RS_PfPiiP12dContactGeomiRN36btDiscreteCollisionDetectorInterface6ResultE(_p1, _R1, _side1, _p2, _R2, _side2, _normal, _depth, _return_code, _maxc, _unnamed_arg, _unnamed_arg2, _output) {
    var __stackBase__  = STACKTOP; STACKTOP += 592;
    var __label__;
    var __lastLabel__ = null;
    var _buffer_i = __stackBase__;
    var _0 = __stackBase__+64;
    var _1 = __stackBase__+80;
    var _2 = __stackBase__+96;
    var _3 = __stackBase__+112;
    var _4 = __stackBase__+128;
    var _5 = __stackBase__+144;
    var _A = __stackBase__+160;
    var _B = __stackBase__+172;
    var _nr = __stackBase__+184;
    var _center = __stackBase__+200;
    var _quad = __stackBase__+216;
    var _rect = __stackBase__+248;
    var _ret = __stackBase__+256;
    var _point = __stackBase__+320;
    var _dep = __stackBase__+416;
    var _pa80 = __stackBase__+448;
    var _pb83 = __stackBase__+464;
    var _ua = __stackBase__+480;
    var _ub = __stackBase__+496;
    var _pointInWorld185 = __stackBase__+512;
    var _pointInWorld193 = __stackBase__+528;
    var _iret = __stackBase__+544;
    var _posInWorld = __stackBase__+576;
    var _6 = _p2+8;
    var _7 = FHEAP[_6];
    var _8 = _p1+8;
    var _9 = FHEAP[_8];
    var _10 = _7 - _9;
    var _11 = _p2+4;
    var _12 = FHEAP[_11];
    var _13 = _p1+4;
    var _14 = FHEAP[_13];
    var _15 = _12 - _14;
    var _16 = _p2;
    var _17 = FHEAP[_16];
    var _18 = _p1;
    var _19 = FHEAP[_18];
    var _20 = _17 - _19;
    var _R1_val = FHEAP[_R1];
    var _R1_idx = _R1+16;
    var _R1_idx_val = FHEAP[_R1_idx];
    var _R1_idx280 = _R1+32;
    var _R1_idx280_val = FHEAP[_R1_idx280];
    var _21 = _R1_val * _20;
    var _22 = _R1_idx_val * _15;
    var _23 = _21 + _22;
    var _24 = _R1_idx280_val * _10;
    var _25 = _23 + _24;
    var _26 = _R1+4;
    var __val274 = FHEAP[_26];
    var __idx275 = _R1+20;
    var __idx275_val = FHEAP[__idx275];
    var __idx276 = _R1+36;
    var __idx276_val = FHEAP[__idx276];
    var _27 = __val274 * _20;
    var _28 = __idx275_val * _15;
    var _29 = _27 + _28;
    var _30 = __idx276_val * _10;
    var _31 = _29 + _30;
    var _32 = _R1+8;
    var __val268 = FHEAP[_32];
    var __idx269 = _R1+24;
    var __idx269_val = FHEAP[__idx269];
    var __idx270 = _R1+40;
    var __idx270_val = FHEAP[__idx270];
    var _33 = __val268 * _20;
    var _34 = __idx269_val * _15;
    var _35 = _33 + _34;
    var _36 = __idx270_val * _10;
    var _37 = _35 + _36;
    var _38 = _side1;
    var _39 = FHEAP[_38];
    var _40 = _39 * 0.5;
    var _41 = _A;
    FHEAP[_41] = _40;
    var _42 = _side1+4;
    var _43 = FHEAP[_42];
    var _44 = _43 * 0.5;
    var _45 = _A+4;
    FHEAP[_45] = _44;
    var _46 = _side1+8;
    var _47 = FHEAP[_46];
    var _48 = _47 * 0.5;
    var _49 = _A+8;
    FHEAP[_49] = _48;
    var _50 = _side2;
    var _51 = FHEAP[_50];
    var _52 = _51 * 0.5;
    var _53 = _B;
    FHEAP[_53] = _52;
    var _54 = _side2+4;
    var _55 = FHEAP[_54];
    var _56 = _55 * 0.5;
    var _57 = _B+4;
    FHEAP[_57] = _56;
    var _58 = _side2+8;
    var _59 = FHEAP[_58];
    var _60 = _59 * 0.5;
    var _61 = _B+8;
    FHEAP[_61] = _60;
    var _R2_val359 = FHEAP[_R2];
    var _R2_idx360 = _R2+16;
    var _R2_idx360_val = FHEAP[_R2_idx360];
    var _R2_idx361 = _R2+32;
    var _R2_idx361_val = FHEAP[_R2_idx361];
    var _62 = _R1_val * _R2_val359;
    var _63 = _R1_idx_val * _R2_idx360_val;
    var _64 = _62 + _63;
    var _65 = _R1_idx280_val * _R2_idx361_val;
    var _66 = _64 + _65;
    var _67 = _R2+4;
    var __val353 = FHEAP[_67];
    var __idx354 = _R2+20;
    var __idx354_val = FHEAP[__idx354];
    var __idx355 = _R2+36;
    var __idx355_val = FHEAP[__idx355];
    var _68 = _R1_val * __val353;
    var _69 = _R1_idx_val * __idx354_val;
    var _70 = _68 + _69;
    var _71 = _R1_idx280_val * __idx355_val;
    var _72 = _70 + _71;
    var _73 = _R2+8;
    var __val347 = FHEAP[_73];
    var __idx348 = _R2+24;
    var __idx348_val = FHEAP[__idx348];
    var __idx349 = _R2+40;
    var __idx349_val = FHEAP[__idx349];
    var _74 = _R1_val * __val347;
    var _75 = _R1_idx_val * __idx348_val;
    var _76 = _74 + _75;
    var _77 = _R1_idx280_val * __idx349_val;
    var _78 = _76 + _77;
    var _79 = __val274 * _R2_val359;
    var _80 = __idx275_val * _R2_idx360_val;
    var _81 = _79 + _80;
    var _82 = __idx276_val * _R2_idx361_val;
    var _83 = _81 + _82;
    var _84 = __val274 * __val353;
    var _85 = __idx275_val * __idx354_val;
    var _86 = _84 + _85;
    var _87 = __idx276_val * __idx355_val;
    var _88 = _86 + _87;
    var _89 = __val274 * __val347;
    var _90 = __idx275_val * __idx348_val;
    var _91 = _89 + _90;
    var _92 = __idx276_val * __idx349_val;
    var _93 = _91 + _92;
    var _94 = __val268 * _R2_val359;
    var _95 = __idx269_val * _R2_idx360_val;
    var _96 = _94 + _95;
    var _97 = __idx270_val * _R2_idx361_val;
    var _98 = _96 + _97;
    var _99 = __val268 * __val353;
    var _100 = __idx269_val * __idx354_val;
    var _101 = _99 + _100;
    var _102 = __idx270_val * __idx355_val;
    var _103 = _101 + _102;
    var _104 = __val268 * __val347;
    var _105 = __idx269_val * __idx348_val;
    var _106 = _104 + _105;
    var _107 = __idx270_val * __idx349_val;
    var _108 = _106 + _107;
    var _109 = _fabsf(_66);
    var _110 = _fabsf(_72);
    var _111 = _fabsf(_78);
    var _112 = _fabsf(_83);
    var _113 = _fabsf(_88);
    var _114 = _fabsf(_93);
    var _115 = _fabsf(_98);
    var _116 = _fabsf(_103);
    var _117 = _fabsf(_108);
    var _118 = _fabsf(_25);
    var _119 = _52 * _109;
    var _120 = _40 + _119;
    var _121 = _56 * _110;
    var _122 = _120 + _121;
    var _123 = _60 * _111;
    var _124 = _122 + _123;
    var _125 = _118 - _124;
    var _126 = _125 > 0;
    ;
    _bb218$_bb3$4677: do { 
      if (!_126) {
        ;
        var _127 = _125 > -3.4028234663852886e+38;
        ;
        if (_127) {
          __lastLabel__ = 116; ;
          var _128 = _25 < 0;
          var _129 = _128;
          __lastLabel__ = 61; ;
        }
        else {
          __lastLabel__ = 116; ;
        }
        var _s_0 = __lastLabel__ == 61 ? _125 : (-3.4028234663852886e+38);
        var _invert_normal_0 = __lastLabel__ == 61 ? _129 : (0);
        var _code_0 = __lastLabel__ == 61 ? 1 : (0);
        var _normalR_0 = __lastLabel__ == 61 ? _R1 : (0);
        var _130 = _fabsf(_31);
        var _131 = _52 * _112;
        var _132 = _44 + _131;
        var _133 = _56 * _113;
        var _134 = _132 + _133;
        var _135 = _60 * _114;
        var _136 = _134 + _135;
        var _137 = _130 - _136;
        var _138 = _137 > 0;
        if (_138) { __label__ = 1006; /* _bb218 */ break _bb218$_bb3$4677; }
        var _139 = _137 > _s_0;
        ;
        if (_139) {
          __lastLabel__ = 2; ;
          var _140 = _31 < 0;
          var _141 = _140;
          __lastLabel__ = 148; ;
        }
        else {
          __lastLabel__ = 2; ;
        }
        var _s_1 = __lastLabel__ == 148 ? _137 : (_s_0);
        var _invert_normal_1 = __lastLabel__ == 148 ? _141 : (_invert_normal_0);
        var _code_1 = __lastLabel__ == 148 ? 2 : (_code_0);
        var _normalR_1 = __lastLabel__ == 148 ? _26 : (_normalR_0);
        var _142 = _fabsf(_37);
        var _143 = _52 * _115;
        var _144 = _48 + _143;
        var _145 = _56 * _116;
        var _146 = _144 + _145;
        var _147 = _60 * _117;
        var _148 = _146 + _147;
        var _149 = _142 - _148;
        var _150 = _149 > 0;
        if (_150) { __label__ = 1006; /* _bb218 */ break _bb218$_bb3$4677; }
        var _151 = _149 > _s_1;
        ;
        if (_151) {
          __lastLabel__ = 292; ;
          var _152 = _37 < 0;
          var _153 = _152;
          __lastLabel__ = 3; ;
        }
        else {
          __lastLabel__ = 292; ;
        }
        var _s_2 = __lastLabel__ == 3 ? _149 : (_s_1);
        var _invert_normal_2 = __lastLabel__ == 3 ? _153 : (_invert_normal_1);
        var _code_2 = __lastLabel__ == 3 ? 3 : (_code_1);
        var _normalR_2 = __lastLabel__ == 3 ? _32 : (_normalR_1);
        var _154 = _R2_val359 * _20;
        var _155 = _R2_idx360_val * _15;
        var _156 = _154 + _155;
        var _157 = _R2_idx361_val * _10;
        var _158 = _156 + _157;
        var _159 = _fabsf(_158);
        var _160 = _40 * _109;
        var _161 = _44 * _112;
        var _162 = _160 + _161;
        var _163 = _48 * _115;
        var _164 = _162 + _163;
        var _165 = _164 + _52;
        var _166 = _159 - _165;
        var _167 = _166 > 0;
        if (_167) { __label__ = 1006; /* _bb218 */ break _bb218$_bb3$4677; }
        var _168 = _166 > _s_2;
        ;
        if (_168) {
          __lastLabel__ = 153; ;
          var _169 = _158 < 0;
          var _170 = _169;
          __lastLabel__ = 154; ;
        }
        else {
          __lastLabel__ = 153; ;
        }
        var _s_3 = __lastLabel__ == 154 ? _166 : (_s_2);
        var _invert_normal_3 = __lastLabel__ == 154 ? _170 : (_invert_normal_2);
        var _code_3 = __lastLabel__ == 154 ? 4 : (_code_2);
        var _normalR_3 = __lastLabel__ == 154 ? _R2 : (_normalR_2);
        var _171 = __val353 * _20;
        var _172 = __idx354_val * _15;
        var _173 = _171 + _172;
        var _174 = __idx355_val * _10;
        var _175 = _173 + _174;
        var _176 = _fabsf(_175);
        var _177 = _40 * _110;
        var _178 = _44 * _113;
        var _179 = _177 + _178;
        var _180 = _48 * _116;
        var _181 = _179 + _180;
        var _182 = _181 + _56;
        var _183 = _176 - _182;
        var _184 = _183 > 0;
        if (_184) { __label__ = 1006; /* _bb218 */ break _bb218$_bb3$4677; }
        var _185 = _183 > _s_3;
        ;
        if (_185) {
          __lastLabel__ = 64; ;
          var _186 = _175 < 0;
          var _187 = _186;
          __lastLabel__ = 117; ;
        }
        else {
          __lastLabel__ = 64; ;
        }
        var _s_4 = __lastLabel__ == 117 ? _183 : (_s_3);
        var _invert_normal_4 = __lastLabel__ == 117 ? _187 : (_invert_normal_3);
        var _code_4 = __lastLabel__ == 117 ? 5 : (_code_3);
        var _normalR_4 = __lastLabel__ == 117 ? _67 : (_normalR_3);
        var _188 = __val347 * _20;
        var _189 = __idx348_val * _15;
        var _190 = _188 + _189;
        var _191 = __idx349_val * _10;
        var _192 = _190 + _191;
        var _193 = _fabsf(_192);
        var _194 = _40 * _111;
        var _195 = _44 * _114;
        var _196 = _194 + _195;
        var _197 = _48 * _117;
        var _198 = _196 + _197;
        var _199 = _198 + _60;
        var _200 = _193 - _199;
        var _201 = _200 > 0;
        if (_201) { __label__ = 1006; /* _bb218 */ break _bb218$_bb3$4677; }
        var _202 = _200 > _s_4;
        ;
        if (_202) {
          __lastLabel__ = 419; ;
          var _203 = _192 < 0;
          var _204 = _203;
          __lastLabel__ = 65; ;
        }
        else {
          __lastLabel__ = 419; ;
        }
        var _s_5 = __lastLabel__ == 65 ? _200 : (_s_4);
        var _invert_normal_5 = __lastLabel__ == 65 ? _204 : (_invert_normal_4);
        var _code_5 = __lastLabel__ == 65 ? 6 : (_code_4);
        var _normalR_5 = __lastLabel__ == 65 ? _73 : (_normalR_4);
        var _205 = _109 + 0.000009999999747378752;
        var _206 = _110 + 0.000009999999747378752;
        var _207 = _111 + 0.000009999999747378752;
        var _208 = _112 + 0.000009999999747378752;
        var _209 = _113 + 0.000009999999747378752;
        var _210 = _114 + 0.000009999999747378752;
        var _211 = _115 + 0.000009999999747378752;
        var _212 = _116 + 0.000009999999747378752;
        var _213 = _117 + 0.000009999999747378752;
        var _214 = _37 * _83;
        var _215 = _31 * _98;
        var _216 = _214 - _215;
        var _217 = _fabsf(_216);
        var _218 = _44 * _211;
        var _219 = _48 * _208;
        var _220 = _218 + _219;
        var _221 = _56 * _207;
        var _222 = _220 + _221;
        var _223 = _60 * _206;
        var _224 = _222 + _223;
        var _225 = _217 - _224;
        var _226 = _225 > 1.1920928955078125e-7;
        if (_226) { __label__ = 1006; /* _bb218 */ break _bb218$_bb3$4677; }
        var _227 = _98 * _98;
        var _228 = _227 + 0;
        var _229 = _83 * _83;
        var _230 = _228 + _229;
        var _231 = _sqrtf(_230);
        var _232 = _231 > 1.1920928955078125e-7;
        ;
        _bb28$_bb30$4703: do { 
          if (_232) {
            __lastLabel__ = 515; ;
            var _233 = _225 / _231;
            var _234 = _233 * 1.0499999523162842;
            var _235 = _234 > _s_5;
            if (_235) { __lastLabel__ = 66; ; } else { __lastLabel__ = 66; __label__ = 90; /* _bb30 */ break _bb28$_bb30$4703; }
            var _236 = 0 / _231;
            var _237 = 0 - _98;
            var _238 = _237 / _231;
            var _239 = _83 / _231;
            var _240 = _216 < 0;
            var _241 = _240;
            __lastLabel__ = 6; ;
          }
          else {
            __lastLabel__ = 515; ;
          }
        } while(0);
        var _normalC_0_0_8 = __lastLabel__ == 6 ? _236 : (__lastLabel__ == 66 ? 0 : (0));
        var _normalC_0_1_8 = __lastLabel__ == 6 ? _238 : (__lastLabel__ == 66 ? 0 : (0));
        var _normalC_0_2_8 = __lastLabel__ == 6 ? _239 : (__lastLabel__ == 66 ? 0 : (0));
        var _s_6 = __lastLabel__ == 6 ? _233 : (__lastLabel__ == 66 ? _s_5 : (_s_5));
        var _invert_normal_6 = __lastLabel__ == 6 ? _241 : (__lastLabel__ == 66 ? _invert_normal_5 : (_invert_normal_5));
        var _code_6 = __lastLabel__ == 6 ? 7 : (__lastLabel__ == 66 ? _code_5 : (_code_5));
        var _normalR_6 = __lastLabel__ == 6 ? 0 : (__lastLabel__ == 66 ? _normalR_5 : (_normalR_5));
        var _242 = _37 * _88;
        var _243 = _31 * _103;
        var _244 = _242 - _243;
        var _245 = _fabsf(_244);
        var _246 = _44 * _212;
        var _247 = _48 * _209;
        var _248 = _246 + _247;
        var _249 = _52 * _207;
        var _250 = _248 + _249;
        var _251 = _60 * _205;
        var _252 = _250 + _251;
        var _253 = _245 - _252;
        var _254 = _253 > 1.1920928955078125e-7;
        if (_254) { __label__ = 1006; /* _bb218 */ break _bb218$_bb3$4677; }
        var _255 = _103 * _103;
        var _256 = _255 + 0;
        var _257 = _88 * _88;
        var _258 = _256 + _257;
        var _259 = _sqrtf(_258);
        var _260 = _259 > 1.1920928955078125e-7;
        ;
        _bb33$_bb35$4708: do { 
          if (_260) {
            __lastLabel__ = 91; ;
            var _261 = _253 / _259;
            var _262 = _261 * 1.0499999523162842;
            var _263 = _262 > _s_6;
            if (_263) { __lastLabel__ = 422; ; } else { __lastLabel__ = 422; __label__ = 518; /* _bb35 */ break _bb33$_bb35$4708; }
            var _264 = 0 / _259;
            var _265 = 0 - _103;
            var _266 = _265 / _259;
            var _267 = _88 / _259;
            var _268 = _244 < 0;
            var _269 = _268;
            __lastLabel__ = 250; ;
          }
          else {
            __lastLabel__ = 91; ;
          }
        } while(0);
        var _normalC_0_0_7 = __lastLabel__ == 250 ? _264 : (__lastLabel__ == 422 ? _normalC_0_0_8 : (_normalC_0_0_8));
        var _normalC_0_1_7 = __lastLabel__ == 250 ? _266 : (__lastLabel__ == 422 ? _normalC_0_1_8 : (_normalC_0_1_8));
        var _normalC_0_2_7 = __lastLabel__ == 250 ? _267 : (__lastLabel__ == 422 ? _normalC_0_2_8 : (_normalC_0_2_8));
        var _s_7 = __lastLabel__ == 250 ? _261 : (__lastLabel__ == 422 ? _s_6 : (_s_6));
        var _invert_normal_7 = __lastLabel__ == 250 ? _269 : (__lastLabel__ == 422 ? _invert_normal_6 : (_invert_normal_6));
        var _code_7 = __lastLabel__ == 250 ? 8 : (__lastLabel__ == 422 ? _code_6 : (_code_6));
        var _normalR_7 = __lastLabel__ == 250 ? 0 : (__lastLabel__ == 422 ? _normalR_6 : (_normalR_6));
        var _270 = _37 * _93;
        var _271 = _31 * _108;
        var _272 = _270 - _271;
        var _273 = _fabsf(_272);
        var _274 = _44 * _213;
        var _275 = _48 * _210;
        var _276 = _274 + _275;
        var _277 = _52 * _206;
        var _278 = _276 + _277;
        var _279 = _56 * _205;
        var _280 = _278 + _279;
        var _281 = _273 - _280;
        var _282 = _281 > 1.1920928955078125e-7;
        if (_282) { __label__ = 1006; /* _bb218 */ break _bb218$_bb3$4677; }
        var _283 = _108 * _108;
        var _284 = _283 + 0;
        var _285 = _93 * _93;
        var _286 = _284 + _285;
        var _287 = _sqrtf(_286);
        var _288 = _287 > 1.1920928955078125e-7;
        ;
        _bb38$_bb40$4713: do { 
          if (_288) {
            __lastLabel__ = 1014; ;
            var _289 = _281 / _287;
            var _290 = _289 * 1.0499999523162842;
            var _291 = _290 > _s_7;
            if (_291) { __lastLabel__ = 68; ; } else { __lastLabel__ = 68; __label__ = 1015; /* _bb40 */ break _bb38$_bb40$4713; }
            var _292 = 0 / _287;
            var _293 = 0 - _108;
            var _294 = _293 / _287;
            var _295 = _93 / _287;
            var _296 = _272 < 0;
            var _297 = _296;
            __lastLabel__ = 971; ;
          }
          else {
            __lastLabel__ = 1014; ;
          }
        } while(0);
        var _normalC_0_0_6 = __lastLabel__ == 971 ? _292 : (__lastLabel__ == 68 ? _normalC_0_0_7 : (_normalC_0_0_7));
        var _normalC_0_1_6 = __lastLabel__ == 971 ? _294 : (__lastLabel__ == 68 ? _normalC_0_1_7 : (_normalC_0_1_7));
        var _normalC_0_2_6 = __lastLabel__ == 971 ? _295 : (__lastLabel__ == 68 ? _normalC_0_2_7 : (_normalC_0_2_7));
        var _s_8 = __lastLabel__ == 971 ? _289 : (__lastLabel__ == 68 ? _s_7 : (_s_7));
        var _invert_normal_8 = __lastLabel__ == 971 ? _297 : (__lastLabel__ == 68 ? _invert_normal_7 : (_invert_normal_7));
        var _code_8 = __lastLabel__ == 971 ? 9 : (__lastLabel__ == 68 ? _code_7 : (_code_7));
        var _normalR_8 = __lastLabel__ == 971 ? 0 : (__lastLabel__ == 68 ? _normalR_7 : (_normalR_7));
        var _298 = _25 * _98;
        var _299 = _37 * _66;
        var _300 = _298 - _299;
        var _301 = _fabsf(_300);
        var _302 = _40 * _211;
        var _303 = _48 * _205;
        var _304 = _302 + _303;
        var _305 = _56 * _210;
        var _306 = _304 + _305;
        var _307 = _60 * _209;
        var _308 = _306 + _307;
        var _309 = _301 - _308;
        var _310 = _309 > 1.1920928955078125e-7;
        if (_310) { __label__ = 1006; /* _bb218 */ break _bb218$_bb3$4677; }
        var _311 = _66 * _66;
        var _312 = _228 + _311;
        var _313 = _sqrtf(_312);
        var _314 = _313 > 1.1920928955078125e-7;
        ;
        _bb43$_bb45$4718: do { 
          if (_314) {
            __lastLabel__ = 69; ;
            var _315 = _309 / _313;
            var _316 = _315 * 1.0499999523162842;
            var _317 = _316 > _s_8;
            if (_317) { __lastLabel__ = 8; ; } else { __lastLabel__ = 8; __label__ = 95; /* _bb45 */ break _bb43$_bb45$4718; }
            var _318 = _98 / _313;
            var _319 = 0 / _313;
            var _320 = 0 - _66;
            var _321 = _320 / _313;
            var _322 = _300 < 0;
            var _323 = _322;
            __lastLabel__ = 94; ;
          }
          else {
            __lastLabel__ = 69; ;
          }
        } while(0);
        var _normalC_0_0_5 = __lastLabel__ == 94 ? _318 : (__lastLabel__ == 8 ? _normalC_0_0_6 : (_normalC_0_0_6));
        var _normalC_0_1_5 = __lastLabel__ == 94 ? _319 : (__lastLabel__ == 8 ? _normalC_0_1_6 : (_normalC_0_1_6));
        var _normalC_0_2_5 = __lastLabel__ == 94 ? _321 : (__lastLabel__ == 8 ? _normalC_0_2_6 : (_normalC_0_2_6));
        var _s_9 = __lastLabel__ == 94 ? _315 : (__lastLabel__ == 8 ? _s_8 : (_s_8));
        var _invert_normal_9 = __lastLabel__ == 94 ? _323 : (__lastLabel__ == 8 ? _invert_normal_8 : (_invert_normal_8));
        var _code_9 = __lastLabel__ == 94 ? 10 : (__lastLabel__ == 8 ? _code_8 : (_code_8));
        var _normalR_9 = __lastLabel__ == 94 ? 0 : (__lastLabel__ == 8 ? _normalR_8 : (_normalR_8));
        var _324 = _25 * _103;
        var _325 = _37 * _72;
        var _326 = _324 - _325;
        var _327 = _fabsf(_326);
        var _328 = _40 * _212;
        var _329 = _48 * _206;
        var _330 = _328 + _329;
        var _331 = _52 * _210;
        var _332 = _330 + _331;
        var _333 = _60 * _208;
        var _334 = _332 + _333;
        var _335 = _327 - _334;
        var _336 = _335 > 1.1920928955078125e-7;
        if (_336) { __label__ = 1006; /* _bb218 */ break _bb218$_bb3$4677; }
        var _337 = _72 * _72;
        var _338 = _256 + _337;
        var _339 = _sqrtf(_338);
        var _340 = _339 > 1.1920928955078125e-7;
        ;
        _bb48$_bb50$4723: do { 
          if (_340) {
            __lastLabel__ = 973; ;
            var _341 = _335 / _339;
            var _342 = _341 * 1.0499999523162842;
            var _343 = _342 > _s_9;
            if (_343) { __lastLabel__ = 1018; ; } else { __lastLabel__ = 1018; __label__ = 975; /* _bb50 */ break _bb48$_bb50$4723; }
            var _344 = _103 / _339;
            var _345 = 0 / _339;
            var _346 = 0 - _72;
            var _347 = _346 / _339;
            var _348 = _326 < 0;
            var _349 = _348;
            __lastLabel__ = 1019; ;
          }
          else {
            __lastLabel__ = 973; ;
          }
        } while(0);
        var _normalC_0_0_4 = __lastLabel__ == 1019 ? _344 : (__lastLabel__ == 1018 ? _normalC_0_0_5 : (_normalC_0_0_5));
        var _normalC_0_1_4 = __lastLabel__ == 1019 ? _345 : (__lastLabel__ == 1018 ? _normalC_0_1_5 : (_normalC_0_1_5));
        var _normalC_0_2_4 = __lastLabel__ == 1019 ? _347 : (__lastLabel__ == 1018 ? _normalC_0_2_5 : (_normalC_0_2_5));
        var _s_10 = __lastLabel__ == 1019 ? _341 : (__lastLabel__ == 1018 ? _s_9 : (_s_9));
        var _invert_normal_10 = __lastLabel__ == 1019 ? _349 : (__lastLabel__ == 1018 ? _invert_normal_9 : (_invert_normal_9));
        var _code_10 = __lastLabel__ == 1019 ? 11 : (__lastLabel__ == 1018 ? _code_9 : (_code_9));
        var _normalR_10 = __lastLabel__ == 1019 ? 0 : (__lastLabel__ == 1018 ? _normalR_9 : (_normalR_9));
        var _350 = _25 * _108;
        var _351 = _37 * _78;
        var _352 = _350 - _351;
        var _353 = _fabsf(_352);
        var _354 = _40 * _213;
        var _355 = _48 * _207;
        var _356 = _354 + _355;
        var _357 = _52 * _209;
        var _358 = _356 + _357;
        var _359 = _56 * _208;
        var _360 = _358 + _359;
        var _361 = _353 - _360;
        var _362 = _361 > 1.1920928955078125e-7;
        if (_362) { __label__ = 1006; /* _bb218 */ break _bb218$_bb3$4677; }
        var _363 = _78 * _78;
        var _364 = _284 + _363;
        var _365 = _sqrtf(_364);
        var _366 = _365 > 1.1920928955078125e-7;
        ;
        _bb53$_bb55$4728: do { 
          if (_366) {
            __lastLabel__ = 478; ;
            var _367 = _361 / _365;
            var _368 = _367 * 1.0499999523162842;
            var _369 = _368 > _s_10;
            if (_369) { __lastLabel__ = 70; ; } else { __lastLabel__ = 70; __label__ = 1022; /* _bb55 */ break _bb53$_bb55$4728; }
            var _370 = _108 / _365;
            var _371 = 0 / _365;
            var _372 = 0 - _78;
            var _373 = _372 / _365;
            var _374 = _352 < 0;
            var _375 = _374;
            __lastLabel__ = 1021; ;
          }
          else {
            __lastLabel__ = 478; ;
          }
        } while(0);
        var _normalC_0_0_3 = __lastLabel__ == 1021 ? _370 : (__lastLabel__ == 70 ? _normalC_0_0_4 : (_normalC_0_0_4));
        var _normalC_0_1_3 = __lastLabel__ == 1021 ? _371 : (__lastLabel__ == 70 ? _normalC_0_1_4 : (_normalC_0_1_4));
        var _normalC_0_2_3 = __lastLabel__ == 1021 ? _373 : (__lastLabel__ == 70 ? _normalC_0_2_4 : (_normalC_0_2_4));
        var _s_11 = __lastLabel__ == 1021 ? _367 : (__lastLabel__ == 70 ? _s_10 : (_s_10));
        var _invert_normal_11 = __lastLabel__ == 1021 ? _375 : (__lastLabel__ == 70 ? _invert_normal_10 : (_invert_normal_10));
        var _code_11 = __lastLabel__ == 1021 ? 12 : (__lastLabel__ == 70 ? _code_10 : (_code_10));
        var _normalR_11 = __lastLabel__ == 1021 ? 0 : (__lastLabel__ == 70 ? _normalR_10 : (_normalR_10));
        var _376 = _31 * _66;
        var _377 = _25 * _83;
        var _378 = _376 - _377;
        var _379 = _fabsf(_378);
        var _380 = _40 * _208;
        var _381 = _44 * _205;
        var _382 = _380 + _381;
        var _383 = _56 * _213;
        var _384 = _382 + _383;
        var _385 = _60 * _212;
        var _386 = _384 + _385;
        var _387 = _379 - _386;
        var _388 = _387 > 1.1920928955078125e-7;
        if (_388) { __label__ = 1006; /* _bb218 */ break _bb218$_bb3$4677; }
        var _389 = _229 + _311;
        var _390 = _389 + 0;
        var _391 = _sqrtf(_390);
        var _392 = _391 > 1.1920928955078125e-7;
        ;
        _bb58$_bb60$4733: do { 
          if (_392) {
            __lastLabel__ = 71; ;
            var _393 = _387 / _391;
            var _394 = _393 * 1.0499999523162842;
            var _395 = _394 > _s_11;
            if (_395) { __lastLabel__ = 10; ; } else { __lastLabel__ = 10; __label__ = 1025; /* _bb60 */ break _bb58$_bb60$4733; }
            var _396 = 0 - _83;
            var _397 = _396 / _391;
            var _398 = _66 / _391;
            var _399 = 0 / _391;
            var _400 = _378 < 0;
            var _401 = _400;
            __lastLabel__ = 1024; ;
          }
          else {
            __lastLabel__ = 71; ;
          }
        } while(0);
        var _normalC_0_0_2 = __lastLabel__ == 1024 ? _397 : (__lastLabel__ == 10 ? _normalC_0_0_3 : (_normalC_0_0_3));
        var _normalC_0_1_2 = __lastLabel__ == 1024 ? _398 : (__lastLabel__ == 10 ? _normalC_0_1_3 : (_normalC_0_1_3));
        var _normalC_0_2_2 = __lastLabel__ == 1024 ? _399 : (__lastLabel__ == 10 ? _normalC_0_2_3 : (_normalC_0_2_3));
        var _s_12 = __lastLabel__ == 1024 ? _393 : (__lastLabel__ == 10 ? _s_11 : (_s_11));
        var _invert_normal_12 = __lastLabel__ == 1024 ? _401 : (__lastLabel__ == 10 ? _invert_normal_11 : (_invert_normal_11));
        var _code_12 = __lastLabel__ == 1024 ? 13 : (__lastLabel__ == 10 ? _code_11 : (_code_11));
        var _normalR_12 = __lastLabel__ == 1024 ? 0 : (__lastLabel__ == 10 ? _normalR_11 : (_normalR_11));
        var _402 = _31 * _72;
        var _403 = _25 * _88;
        var _404 = _402 - _403;
        var _405 = _fabsf(_404);
        var _406 = _40 * _209;
        var _407 = _44 * _206;
        var _408 = _406 + _407;
        var _409 = _52 * _213;
        var _410 = _408 + _409;
        var _411 = _60 * _211;
        var _412 = _410 + _411;
        var _413 = _405 - _412;
        var _414 = _413 > 1.1920928955078125e-7;
        if (_414) { __label__ = 1006; /* _bb218 */ break _bb218$_bb3$4677; }
        var _415 = _257 + _337;
        var _416 = _415 + 0;
        var _417 = _sqrtf(_416);
        var _418 = _417 > 1.1920928955078125e-7;
        ;
        _bb63$_bb65$4738: do { 
          if (_418) {
            __lastLabel__ = 1027; ;
            var _419 = _413 / _417;
            var _420 = _419 * 1.0499999523162842;
            var _421 = _420 > _s_12;
            if (_421) { __lastLabel__ = 1028; ; } else { __lastLabel__ = 1028; __label__ = 1030; /* _bb65 */ break _bb63$_bb65$4738; }
            var _422 = 0 - _88;
            var _423 = _422 / _417;
            var _424 = _72 / _417;
            var _425 = 0 / _417;
            var _426 = _404 < 0;
            var _427 = _426;
            __lastLabel__ = 1029; ;
          }
          else {
            __lastLabel__ = 1027; ;
          }
        } while(0);
        var _normalC_0_0_1 = __lastLabel__ == 1029 ? _423 : (__lastLabel__ == 1028 ? _normalC_0_0_2 : (_normalC_0_0_2));
        var _normalC_0_1_1 = __lastLabel__ == 1029 ? _424 : (__lastLabel__ == 1028 ? _normalC_0_1_2 : (_normalC_0_1_2));
        var _normalC_0_2_1 = __lastLabel__ == 1029 ? _425 : (__lastLabel__ == 1028 ? _normalC_0_2_2 : (_normalC_0_2_2));
        var _s_13 = __lastLabel__ == 1029 ? _419 : (__lastLabel__ == 1028 ? _s_12 : (_s_12));
        var _invert_normal_13 = __lastLabel__ == 1029 ? _427 : (__lastLabel__ == 1028 ? _invert_normal_12 : (_invert_normal_12));
        var _code_13 = __lastLabel__ == 1029 ? 14 : (__lastLabel__ == 1028 ? _code_12 : (_code_12));
        var _normalR_13 = __lastLabel__ == 1029 ? 0 : (__lastLabel__ == 1028 ? _normalR_12 : (_normalR_12));
        var _428 = _31 * _78;
        var _429 = _25 * _93;
        var _430 = _428 - _429;
        var _431 = _fabsf(_430);
        var _432 = _40 * _210;
        var _433 = _44 * _207;
        var _434 = _432 + _433;
        var _435 = _52 * _212;
        var _436 = _434 + _435;
        var _437 = _56 * _211;
        var _438 = _436 + _437;
        var _439 = _431 - _438;
        var _440 = _439 > 1.1920928955078125e-7;
        if (_440) { __label__ = 1006; /* _bb218 */ break _bb218$_bb3$4677; }
        var _441 = _285 + _363;
        var _442 = _441 + 0;
        var _443 = _sqrtf(_442);
        var _444 = _443 > 1.1920928955078125e-7;
        ;
        _bb68$_bb70$4743: do { 
          if (_444) {
            ;
            var _445 = _439 / _443;
            var _446 = _445 * 1.0499999523162842;
            var _447 = _446 > _s_13;
            if (!(_447)) { __label__ = 1034; /* _bb70 */ break _bb68$_bb70$4743; }
            var _448 = 0 - _93;
            var _449 = _448 / _443;
            var _450 = _78 / _443;
            var _451 = 0 / _443;
            var _452 = _430 < 0;
            var _453 = _452;
            var _454 = _normal;
            __lastLabel__ = 1033; __label__ = 22; /* _bb74 */ break _bb68$_bb70$4743;
          }
          else {
            __label__ = 1034; /* _bb70 */ 
          }
        } while(0);
        _bb74$_bb70$4746: do { 
          if (__label__ == 1034) {
            var _455 = _code_13 == 0;
            if (_455) { __label__ = 1006; /* _bb218 */ break _bb218$_bb3$4677; }
            var _456 = _normalR_13 == 0;
            var _457 = _normal;
            if (_456) { __lastLabel__ = 73; __label__ = 22; /* _bb74 */ break _bb74$_bb70$4746; } else { __lastLabel__ = 73; ; }
            var _458 = FHEAP[_normalR_13];
            FHEAP[_457] = _458;
            var _459 = _normalR_13+16;
            var _460 = FHEAP[_459];
            var _461 = _normal+4;
            FHEAP[_461] = _460;
            var _462 = _normalR_13+32;
            var _463 = FHEAP[_462];
            var _464 = _normal+8;
            FHEAP[_464] = _463;
            __lastLabel__ = 12; __label__ = 1035; /* _bb75 */ break _bb74$_bb70$4746;
          }
        } while(0);
        if (__label__ == 22) {
          var _465 = __lastLabel__ == 1033 ? _454 : (_457);
          var _normalC_0_0_0542557 = __lastLabel__ == 1033 ? _449 : (_normalC_0_0_1);
          var _normalC_0_1_0543556 = __lastLabel__ == 1033 ? _450 : (_normalC_0_1_1);
          var _normalC_0_2_0544555 = __lastLabel__ == 1033 ? _451 : (_normalC_0_2_1);
          var _s_14545554 = __lastLabel__ == 1033 ? _445 : (_s_13);
          var _invert_normal_14546552 = __lastLabel__ == 1033 ? _453 : (_invert_normal_13);
          var _code_14547550 = __lastLabel__ == 1033 ? 15 : (_code_13);
          var _466 = _R1_val * _normalC_0_0_0542557;
          var _467 = __val274 * _normalC_0_1_0543556;
          var _468 = _466 + _467;
          var _469 = __val268 * _normalC_0_2_0544555;
          var _470 = _468 + _469;
          FHEAP[_465] = _470;
          var __val374 = FHEAP[_R1_idx];
          var __idx375_val = FHEAP[__idx275];
          var __idx376_val = FHEAP[__idx269];
          var _471 = __val374 * _normalC_0_0_0542557;
          var _472 = __idx375_val * _normalC_0_1_0543556;
          var _473 = _471 + _472;
          var _474 = __idx376_val * _normalC_0_2_0544555;
          var _475 = _473 + _474;
          var _476 = _normal+4;
          FHEAP[_476] = _475;
          var __val368 = FHEAP[_R1_idx280];
          var __idx369_val = FHEAP[__idx276];
          var __idx370_val = FHEAP[__idx270];
          var _477 = __val368 * _normalC_0_0_0542557;
          var _478 = __idx369_val * _normalC_0_1_0543556;
          var _479 = _477 + _478;
          var _480 = __idx370_val * _normalC_0_2_0544555;
          var _481 = _479 + _480;
          var _482 = _normal+8;
          FHEAP[_482] = _481;
          __lastLabel__ = 22; ;
        }
        var _483 = __lastLabel__ == 22 ? _481 : (_463);
        var _484 = __lastLabel__ == 22 ? _475 : (_460);
        var _485 = __lastLabel__ == 22 ? _470 : (_458);
        var _s_14545553 = __lastLabel__ == 22 ? _s_14545554 : (_s_13);
        var _invert_normal_14546551 = __lastLabel__ == 22 ? _invert_normal_14546552 : (_invert_normal_13);
        var _code_14547549 = __lastLabel__ == 22 ? _code_14547550 : (_code_13);
        var _486 = _invert_normal_14546551 == 0;
        ;
        if (!_486) {
          ;
          var _487 = _normal;
          var _488 = 0 - _485;
          FHEAP[_487] = _488;
          var _489 = _normal+4;
          var _490 = 0 - _484;
          FHEAP[_489] = _490;
          var _491 = _normal+8;
          var _492 = 0 - _483;
          FHEAP[_491] = _492;
          ;
        }
        var _493 = 0 - _s_14545553;
        FHEAP[_depth] = _493;
        var _494 = _code_14547549 > 6;
        ;
        if (_494) {
          ;
          var _495 = FHEAP[_18];
          var _496 = FHEAP[_13];
          var _497 = FHEAP[_8];
          var _498 = _normal;
          var __val404 = FHEAP[_498];
          var __idx405 = _normal+4;
          var __idx405_val = FHEAP[__idx405];
          var __idx406 = _normal+8;
          var __idx406_val = FHEAP[__idx406];
          var __idx408_val = FHEAP[_R1_idx];
          var __val407 = FHEAP[_R1];
          var _499 = __idx405_val * __idx408_val;
          var _500 = __val404 * __val407;
          var __idx409_val = FHEAP[_R1_idx280];
          var _501 = __idx406_val * __idx409_val;
          var _502 = _500 + _499;
          var _503 = _502 + _501;
          var _504 = _503 > 0;
          var _iftmp_146_0 = _504 ? 1 : -1;
          var _505 = _40 * _iftmp_146_0;
          var _506 = _505 * __val407;
          var _507 = _495 + _506;
          var _508 = _505 * __idx408_val;
          var _509 = _496 + _508;
          var _510 = _505 * __idx409_val;
          var _511 = _497 + _510;
          var __idx408_val_1 = FHEAP[__idx275];
          var __val407_1 = FHEAP[_26];
          var _512 = __idx405_val * __idx408_val_1;
          var _513 = __val404 * __val407_1;
          var __idx409_val_1 = FHEAP[__idx276];
          var _514 = __idx406_val * __idx409_val_1;
          var _515 = _513 + _512;
          var _516 = _515 + _514;
          var _517 = _516 > 0;
          var _iftmp_146_0_1 = _517 ? 1 : -1;
          var _518 = _44 * _iftmp_146_0_1;
          var _519 = _518 * __val407_1;
          var _520 = _507 + _519;
          var _521 = _518 * __idx408_val_1;
          var _522 = _509 + _521;
          var _523 = _518 * __idx409_val_1;
          var _524 = _511 + _523;
          var __idx408_val_2 = FHEAP[__idx269];
          var __val407_2 = FHEAP[_32];
          var _525 = __idx405_val * __idx408_val_2;
          var _526 = __val404 * __val407_2;
          var __idx409_val_2 = FHEAP[__idx270];
          var _527 = __idx406_val * __idx409_val_2;
          var _528 = _526 + _525;
          var _529 = _528 + _527;
          var _530 = _529 > 0;
          var _iftmp_146_0_2 = _530 ? 1 : -1;
          var _531 = _48 * _iftmp_146_0_2;
          var _scevgep760_2771 = _pa80;
          var _532 = _531 * __val407_2;
          var _533 = _520 + _532;
          FHEAP[_scevgep760_2771] = _533;
          var _scevgep760_1_2 = _pa80+4;
          var _534 = _531 * __idx408_val_2;
          var _535 = _522 + _534;
          FHEAP[_scevgep760_1_2] = _535;
          var _scevgep760_2_2 = _pa80+8;
          var _536 = _531 * __idx409_val_2;
          var _537 = _524 + _536;
          FHEAP[_scevgep760_2_2] = _537;
          var _538 = FHEAP[_16];
          var _539 = FHEAP[_11];
          var _540 = FHEAP[_6];
          var _541 = _normal;
          var __val398 = FHEAP[_541];
          var __idx399 = _normal+4;
          var __idx399_val = FHEAP[__idx399];
          var __idx400 = _normal+8;
          var __idx400_val = FHEAP[__idx400];
          var __idx402_val = FHEAP[_R2_idx360];
          var __val401 = FHEAP[_R2];
          var _542 = __idx399_val * __idx402_val;
          var _543 = __val398 * __val401;
          var __idx403_val = FHEAP[_R2_idx361];
          var _544 = __idx400_val * __idx403_val;
          var _545 = _543 + _542;
          var _546 = _545 + _544;
          var _547 = _546 > 0;
          var _iftmp_148_0 = _547 ? -1 : 1;
          var _548 = _52 * _iftmp_148_0;
          var _549 = _548 * __val401;
          var _550 = _538 + _549;
          var _551 = _548 * __idx402_val;
          var _552 = _539 + _551;
          var _553 = _548 * __idx403_val;
          var _554 = _540 + _553;
          var __idx402_val_1 = FHEAP[__idx354];
          var __val401_1 = FHEAP[_67];
          var _555 = __idx399_val * __idx402_val_1;
          var _556 = __val398 * __val401_1;
          var __idx403_val_1 = FHEAP[__idx355];
          var _557 = __idx400_val * __idx403_val_1;
          var _558 = _556 + _555;
          var _559 = _558 + _557;
          var _560 = _559 > 0;
          var _iftmp_148_0_1 = _560 ? -1 : 1;
          var _561 = _56 * _iftmp_148_0_1;
          var _562 = _561 * __val401_1;
          var _563 = _550 + _562;
          var _564 = _561 * __idx402_val_1;
          var _565 = _552 + _564;
          var _566 = _561 * __idx403_val_1;
          var _567 = _554 + _566;
          var __idx402_val_2 = FHEAP[__idx348];
          var __val401_2 = FHEAP[_73];
          var _568 = __idx399_val * __idx402_val_2;
          var _569 = __val398 * __val401_2;
          var __idx403_val_2 = FHEAP[__idx349];
          var _570 = __idx400_val * __idx403_val_2;
          var _571 = _569 + _568;
          var _572 = _571 + _570;
          var _573 = _572 > 0;
          var _iftmp_148_0_2 = _573 ? -1 : 1;
          var _574 = _60 * _iftmp_148_0_2;
          var _scevgep741_2752 = _pb83;
          var _575 = _574 * __val401_2;
          var _576 = _563 + _575;
          FHEAP[_scevgep741_2752] = _576;
          var _scevgep741_1_2 = _pb83+4;
          var _577 = _574 * __idx402_val_2;
          var _578 = _565 + _577;
          FHEAP[_scevgep741_1_2] = _578;
          var _scevgep741_2_2 = _pb83+8;
          var _579 = _574 * __idx403_val_2;
          var _580 = _567 + _579;
          FHEAP[_scevgep741_2_2] = _580;
          var _581 = _code_14547549 + -7;
          var _582 = Math.floor(_581 / 3);
          var _scevgep735 = _R1+4*_582;
          var _scevgep736 = _ua;
          var _583 = FHEAP[_scevgep735];
          FHEAP[_scevgep736] = _583;
          var _tmp734_1 = _582 + 4;
          var _scevgep735_1 = _R1+4*_tmp734_1;
          var _scevgep736_1 = _ua+4;
          var _584 = FHEAP[_scevgep735_1];
          FHEAP[_scevgep736_1] = _584;
          var _tmp734_2 = _582 + 8;
          var _scevgep735_2 = _R1+4*_tmp734_2;
          var _scevgep736_2 = _ua+8;
          var _585 = FHEAP[_scevgep735_2];
          FHEAP[_scevgep736_2] = _585;
          var _586 = _code_14547549 + -7;
          var _587 = Math.floor(_586 % 3);
          var _scevgep730 = _R2+4*_587;
          var _scevgep731 = _ub;
          var _588 = FHEAP[_scevgep730];
          FHEAP[_scevgep731] = _588;
          var _tmp729_1 = _587 + 4;
          var _scevgep730_1 = _R2+4*_tmp729_1;
          var _scevgep731_1 = _ub+4;
          var _589 = FHEAP[_scevgep730_1];
          FHEAP[_scevgep731_1] = _589;
          var _tmp729_2 = _587 + 8;
          var _scevgep730_2 = _R2+4*_tmp729_2;
          var _scevgep731_2 = _ub+8;
          var _590 = FHEAP[_scevgep730_2];
          FHEAP[_scevgep731_2] = _590;
          var _591 = _pb83;
          var _592 = _576 - _533;
          var _593 = _pb83+4;
          var _594 = _578 - _535;
          var _595 = _pb83+8;
          var _596 = _580 - _537;
          var _597 = _583 * _588;
          var _598 = _584 * _589;
          var _599 = _597 + _598;
          var _600 = _585 * _590;
          var _601 = _599 + _600;
          var _602 = _583 * _592;
          var _603 = _584 * _594;
          var _604 = _602 + _603;
          var _605 = _585 * _596;
          var _606 = _604 + _605;
          var _607 = _588 * _592;
          var _608 = _589 * _594;
          var _609 = _607 + _608;
          var _610 = _590 * _596;
          var _611 = _609 + _610;
          var _612 = _601 * _601;
          var _613 = 1 - _612;
          var _614 = _613 > 0.00009999999747378752;
          ;
          if (_614) {
            __lastLabel__ = 4376; ;
            var _615 = 1 / _613;
            var _616 = _601 * _606;
            var _617 = _616 - _611;
            var _618 = _617 * _615;
            __lastLabel__ = 159; ;
          }
          else {
            __lastLabel__ = 4376; ;
          }
          var _beta_0 = __lastLabel__ == 159 ? _618 : (0);
          var _619 = _588 * _beta_0;
          var _620 = _576 + _619;
          FHEAP[_591] = _620;
          var _621 = _589 * _beta_0;
          var _622 = _578 + _621;
          FHEAP[_593] = _622;
          var _623 = _590 * _beta_0;
          var _624 = _580 + _623;
          FHEAP[_595] = _624;
          var _625 = _output;
          var _626 = IHEAP[_625];
          var _627 = _626+16;
          var _628 = IHEAP[_627];
          var _629 = _normal+8;
          var _630 = FHEAP[_629];
          var _631 = 0 - _630;
          var _632 = _normal+4;
          var _633 = FHEAP[_632];
          var _634 = 0 - _633;
          var _635 = _normal;
          var _636 = FHEAP[_635];
          var _637 = 0 - _636;
          var _638 = _5;
          FHEAP[_638] = _637;
          var _639 = _5+4;
          FHEAP[_639] = _634;
          var _640 = _5+8;
          FHEAP[_640] = _631;
          var _641 = _5+12;
          FHEAP[_641] = 0;
          var _642 = _628;
          FUNCTION_TABLE[_642](_output, _5, _pb83, _s_14545553);
          IHEAP[_return_code] = _code_14547549;
          STACKTOP = __stackBase__;
          return 1;
        }
        else {
          ;
          var _643 = _code_14547549 < 4;
          var _644 = _normal;
          var _645 = FHEAP[_644];
          ;
          if (_643) {
            ;
            var _646 = _normal+4;
            var _647 = FHEAP[_646];
            var _648 = _normal+8;
            var _649 = FHEAP[_648];
            __lastLabel__ = 1039; ;
          }
          else {
            ;
            var _650 = 0 - _645;
            var _651 = _normal+4;
            var _652 = FHEAP[_651];
            var _653 = 0 - _652;
            var _654 = _normal+8;
            var _655 = FHEAP[_654];
            var _656 = 0 - _655;
            __lastLabel__ = 1041; ;
          }
          var _Sb_0569 = __lastLabel__ == 1039 ? _53 : (_41);
          var _Sa_0567 = __lastLabel__ == 1039 ? _41 : (_53);
          var _p2_pn565 = __lastLabel__ == 1039 ? _p2 : (_p1);
          var _p1_pn563 = __lastLabel__ == 1039 ? _p1 : (_p2);
          var _Rb_0560 = __lastLabel__ == 1039 ? _R2 : (_R1);
          var _Ra_0558 = __lastLabel__ == 1039 ? _R1 : (_R2);
          var _normal2_0_0_0 = __lastLabel__ == 1039 ? _645 : (_650);
          var _normal2_0_1_0 = __lastLabel__ == 1039 ? _647 : (_653);
          var _normal2_0_2_0 = __lastLabel__ == 1039 ? _649 : (_656);
          var _657 = _nr;
          var _Rb_0_val = FHEAP[_Rb_0560];
          var _Rb_0_idx = _Rb_0560+16;
          var _Rb_0_idx_val = FHEAP[_Rb_0_idx];
          var _Rb_0_idx230 = _Rb_0560+32;
          var _Rb_0_idx230_val = FHEAP[_Rb_0_idx230];
          var _658 = _Rb_0_val * _normal2_0_0_0;
          var _659 = _Rb_0_idx_val * _normal2_0_1_0;
          var _660 = _658 + _659;
          var _661 = _Rb_0_idx230_val * _normal2_0_2_0;
          var _662 = _660 + _661;
          FHEAP[_657] = _662;
          var _663 = _Rb_0560+4;
          var __val224 = FHEAP[_663];
          var __idx225 = _Rb_0560+20;
          var __idx225_val = FHEAP[__idx225];
          var __idx226 = _Rb_0560+36;
          var __idx226_val = FHEAP[__idx226];
          var _664 = __val224 * _normal2_0_0_0;
          var _665 = __idx225_val * _normal2_0_1_0;
          var _666 = _664 + _665;
          var _667 = __idx226_val * _normal2_0_2_0;
          var _668 = _666 + _667;
          var _669 = _nr+4;
          FHEAP[_669] = _668;
          var _670 = _Rb_0560+8;
          var __val = FHEAP[_670];
          var __idx = _Rb_0560+24;
          var __idx_val = FHEAP[__idx];
          var __idx220 = _Rb_0560+40;
          var __idx220_val = FHEAP[__idx220];
          var _671 = __val * _normal2_0_0_0;
          var _672 = __idx_val * _normal2_0_1_0;
          var _673 = _671 + _672;
          var _674 = __idx220_val * _normal2_0_2_0;
          var _675 = _673 + _674;
          var _676 = _nr+8;
          FHEAP[_676] = _675;
          var _677 = _fabsf(_662);
          var _678 = _fabsf(_668);
          var _679 = _fabsf(_675);
          var _680 = _678 > _677;
          ;
          _bb132$_bb136$4766: do { 
            if (_680) {
              ;
              var _681 = _678 > _679;
              if (_681) { __lastLabel__ = 1042; __label__ = 1043; /* _bb140 */ break _bb132$_bb136$4766; } else { __lastLabel__ = 1042; ; }
              __lastLabel__ = 67; ;
            }
            else {
              ;
              var _682 = _677 > _679;
              if (_682) { __lastLabel__ = 1045; __label__ = 1043; /* _bb140 */ break _bb132$_bb136$4766; } else { __lastLabel__ = 1045; ; }
              __lastLabel__ = 74; ;
            }
          } while(0);
          var _lanr_0 = __lastLabel__ == 67 ? 2 : (__lastLabel__ == 74 ? 2 : (__lastLabel__ == 1045 ? 0 : (1)));
          var _a1_0 = __lastLabel__ == 67 ? 0 : (__lastLabel__ == 74 ? 0 : (__lastLabel__ == 1045 ? 1 : (0)));
          var _a2_0 = __lastLabel__ == 67 ? 1 : (__lastLabel__ == 74 ? 1 : (__lastLabel__ == 1045 ? 2 : (2)));
          var _683 = _nr+_lanr_0*4;
          var _684 = FHEAP[_683];
          var _685 = _684 < 0;
          var _686 = _Sb_0569+4*_lanr_0;
          var _687 = FHEAP[_686];
          var _scevgep718 = _p2_pn565;
          var _scevgep719 = _p1_pn563;
          var _scevgep720 = _center;
          var _688 = FHEAP[_scevgep718];
          var _689 = FHEAP[_scevgep719];
          var _690 = _688 - _689;
          var _691 = _Rb_0560+4*_lanr_0;
          var _692 = FHEAP[_691];
          var _693 = _687 * _692;
          ;
          if (_685) {
            ;
            var _711 = _690 + _693;
            FHEAP[_scevgep720] = _711;
            var _scevgep718_1 = _p2_pn565+4;
            var _scevgep719_1 = _p1_pn563+4;
            var _scevgep720_1 = _center+4;
            var _712 = FHEAP[_scevgep718_1];
            var _713 = FHEAP[_scevgep719_1];
            var _714 = _712 - _713;
            var _715 = _lanr_0 | 4;
            var _716 = _Rb_0560+4*_715;
            var _717 = FHEAP[_716];
            var _718 = _687 * _717;
            var _719 = _714 + _718;
            FHEAP[_scevgep720_1] = _719;
            var _scevgep718_2 = _p2_pn565+8;
            var _scevgep719_2 = _p1_pn563+8;
            var _scevgep720_2 = _center+8;
            var _720 = FHEAP[_scevgep718_2];
            var _721 = FHEAP[_scevgep719_2];
            var _722 = _720 - _721;
            var _723 = _lanr_0 | 8;
            var _724 = _Rb_0560+4*_723;
            var _725 = FHEAP[_724];
            var _726 = _687 * _725;
            var _727 = _722 + _726;
            FHEAP[_scevgep720_2] = _727;
            __lastLabel__ = 1048; ;
          }
          else {
            ;
            var _694 = _690 - _693;
            FHEAP[_scevgep720] = _694;
            var _scevgep_1 = _p2_pn565+4;
            var _scevgep628_1 = _p1_pn563+4;
            var _scevgep629_1 = _center+4;
            var _695 = FHEAP[_scevgep_1];
            var _696 = FHEAP[_scevgep628_1];
            var _697 = _695 - _696;
            var _698 = _lanr_0 | 4;
            var _699 = _Rb_0560+4*_698;
            var _700 = FHEAP[_699];
            var _701 = _687 * _700;
            var _702 = _697 - _701;
            FHEAP[_scevgep629_1] = _702;
            var _scevgep_2 = _p2_pn565+8;
            var _scevgep628_2 = _p1_pn563+8;
            var _scevgep629_2 = _center+8;
            var _703 = FHEAP[_scevgep_2];
            var _704 = FHEAP[_scevgep628_2];
            var _705 = _703 - _704;
            var _706 = _lanr_0 | 8;
            var _707 = _Rb_0560+4*_706;
            var _708 = FHEAP[_707];
            var _709 = _687 * _708;
            var _710 = _705 - _709;
            FHEAP[_scevgep629_2] = _710;
            __lastLabel__ = 1046; ;
          }
          var __idx388_val = __lastLabel__ == 1048 ? _727 : (_710);
          var __idx387_val = __lastLabel__ == 1048 ? _719 : (_702);
          var __val386 = __lastLabel__ == 1048 ? _711 : (_694);
          var _codeN_0_v = _643 ? -1 : -4;
          var _codeN_0 = _codeN_0_v + _code_14547549;
          if (_codeN_0 == 0) {
            __lastLabel__ = 1490; __label__ = 1052; /* _bb156 */ 
          }
          else if (_codeN_0 == 1) {
            __lastLabel__ = 1490; __label__ = 1049; /* _bb154 */ 
          }
          else {
          __lastLabel__ = 1490; __label__ = 1051; /* _bb155 */ 
          }
          
          if (__label__ == 1051) {
            __lastLabel__ = 1051; ;
          }
          else if (__label__ == 1049) {
            __lastLabel__ = 1049; ;
          }
          var _code1_0 = __lastLabel__ == 1049 ? 0 : (__lastLabel__ == 1051 ? 0 : (1));
          var _code2_0 = __lastLabel__ == 1049 ? 2 : (__lastLabel__ == 1051 ? 1 : (2));
          var _728 = _Ra_0558+4*_code1_0;
          var _729 = _center;
          var __idx393 = _center+4;
          var __idx394 = _center+8;
          var __val395 = FHEAP[_728];
          var __sum517 = _code1_0 | 4;
          var __idx396 = _Ra_0558+4*__sum517;
          var __idx396_val = FHEAP[__idx396];
          var __sum518 = _code1_0 | 8;
          var __idx397 = _Ra_0558+4*__sum518;
          var __idx397_val = FHEAP[__idx397];
          var _730 = __val386 * __val395;
          var _731 = __idx387_val * __idx396_val;
          var _732 = _730 + _731;
          var _733 = __idx388_val * __idx397_val;
          var _734 = _732 + _733;
          var _735 = _Ra_0558+4*_code2_0;
          var __val389 = FHEAP[_735];
          var __sum519 = _code2_0 | 4;
          var __idx390 = _Ra_0558+4*__sum519;
          var __idx390_val = FHEAP[__idx390];
          var __sum520 = _code2_0 | 8;
          var __idx391 = _Ra_0558+4*__sum520;
          var __idx391_val = FHEAP[__idx391];
          var _736 = __val386 * __val389;
          var _737 = __idx387_val * __idx390_val;
          var _738 = _736 + _737;
          var _739 = __idx388_val * __idx391_val;
          var _740 = _738 + _739;
          var _741 = _Rb_0560+4*_a1_0;
          var __val305 = FHEAP[_741];
          var __sum523 = _a1_0 | 4;
          var __idx306 = _Rb_0560+4*__sum523;
          var __idx306_val = FHEAP[__idx306];
          var __sum524 = _a1_0 | 8;
          var __idx307 = _Rb_0560+4*__sum524;
          var __idx307_val = FHEAP[__idx307];
          var _742 = __val395 * __val305;
          var _743 = __idx396_val * __idx306_val;
          var _744 = _742 + _743;
          var _745 = __idx397_val * __idx307_val;
          var _746 = _744 + _745;
          var _747 = _Rb_0560+4*_a2_0;
          var __val299 = FHEAP[_747];
          var __sum527 = _a2_0 | 4;
          var __idx300 = _Rb_0560+4*__sum527;
          var __idx300_val = FHEAP[__idx300];
          var __sum528 = _a2_0 | 8;
          var __idx301 = _Rb_0560+4*__sum528;
          var __idx301_val = FHEAP[__idx301];
          var _748 = __val395 * __val299;
          var _749 = __idx396_val * __idx300_val;
          var _750 = _748 + _749;
          var _751 = __idx397_val * __idx301_val;
          var _752 = _750 + _751;
          var _753 = __val389 * __val305;
          var _754 = __idx390_val * __idx306_val;
          var _755 = _753 + _754;
          var _756 = __idx391_val * __idx307_val;
          var _757 = _755 + _756;
          var _758 = __val389 * __val299;
          var _759 = __idx390_val * __idx300_val;
          var _760 = _758 + _759;
          var _761 = __idx391_val * __idx301_val;
          var _762 = _760 + _761;
          var _763 = _Sb_0569+4*_a1_0;
          var _764 = FHEAP[_763];
          var _765 = _764 * _746;
          var _766 = _764 * _757;
          var _767 = _Sb_0569+4*_a2_0;
          var _768 = FHEAP[_767];
          var _769 = _768 * _752;
          var _770 = _768 * _762;
          var _771 = _734 - _765;
          var _772 = _771 - _769;
          var _773 = _quad;
          FHEAP[_773] = _772;
          var _774 = _740 - _766;
          var _775 = _774 - _770;
          var _776 = _quad+4;
          FHEAP[_776] = _775;
          var _777 = _771 + _769;
          var _778 = _quad+8;
          FHEAP[_778] = _777;
          var _779 = _774 + _770;
          var _780 = _quad+12;
          FHEAP[_780] = _779;
          var _781 = _734 + _765;
          var _782 = _781 + _769;
          var _783 = _quad+16;
          FHEAP[_783] = _782;
          var _784 = _740 + _766;
          var _785 = _784 + _770;
          var _786 = _quad+20;
          FHEAP[_786] = _785;
          var _787 = _781 - _769;
          var _788 = _quad+24;
          FHEAP[_788] = _787;
          var _789 = _784 - _770;
          var _790 = _quad+28;
          FHEAP[_790] = _789;
          var _791 = _Sa_0567+4*_code1_0;
          var _792 = FHEAP[_791];
          var _793 = _rect;
          FHEAP[_793] = _792;
          var _794 = _Sa_0567+4*_code2_0;
          var _795 = FHEAP[_794];
          var _796 = _rect+4;
          FHEAP[_796] = _795;
          var _797 = _ret;
          var _798 = _buffer_i;
          __lastLabel__ = 1052; ;
          _bb21_i$4780: while(1) { // _bb21_i
            var _r_1_i = __lastLabel__ == 1052 ? _797 : (_r_0_i);
            var _q_2_i = __lastLabel__ == 1052 ? _773 : (_q_1_i);
            var _nr_2_i = __lastLabel__ == 1052 ? 0 : (_nr_0_i);
            var _nq_1_i = __lastLabel__ == 1052 ? 4 : (_nq_0_i);
            var _839 = __lastLabel__ == 1052 ? 0 : (_838);
            var _tmp706 = 1 - _839;
            var _scevgep63_i = _rect+_839*4;
            var _840 = _839 < 2;
            if (_840) { __lastLabel__ = 1053; ; } else { __lastLabel__ = 1053; __label__ = 1055; /* _done_i */ break _bb21_i$4780; }
            _bb19_i$4782: while(1) { // _bb19_i
              var _indvar49_i = __lastLabel__ == 183 ? _indvar_next50_i : (0);
              var _r_0_i = __lastLabel__ == 183 ? _iftmp_138_0_i : (_r_1_i);
              var _q_1_i = __lastLabel__ == 183 ? _r_0_i : (_q_2_i);
              var _nr_0_i = __lastLabel__ == 183 ? _nr_4_i : (_nr_2_i);
              var _nq_0_i = __lastLabel__ == 183 ? _nr_4_i : (_nq_1_i);
              var _tmp700 = _indvar49_i << 1;
              var _sign_0_i = _tmp700 + -1;
              var _836 = _sign_0_i < 2;
              if (!(_836)) { __label__ = 1063; /* _bb20_i */ break _bb19_i$4782; }
              var _837 = _sign_0_i;
              __lastLabel__ = 1062; ;
              _bb14_i$4785: while(1) { // _bb14_i
                var _indvar_i = __lastLabel__ == 1062 ? 0 : (_indvar_next_i);
                var _nr_4_i = __lastLabel__ == 1062 ? 0 : (_nr_5_i);
                var _pr_1_i = __lastLabel__ == 1062 ? _r_0_i : (_pr_2_i);
                var _tmp704 = _indvar_i << 1;
                var _tmp707 = _tmp706 + _tmp704;
                var _scevgep38_i = _q_1_i+4*_tmp707;
                var _tmp709 = _839 + _tmp704;
                var _scevgep_i = _q_1_i+4*_tmp709;
                var _i_0_i = _nq_0_i - _indvar_i;
                var _tmp685776 = _tmp704 | 1;
                var _scevgep42_i = _q_1_i+4*_tmp685776;
                var _tmp687 = _tmp704 + 2;
                var _scevgep40_i = _q_1_i+4*_tmp687;
                var _pq_0_i = _q_1_i+4*_tmp704;
                var _834 = _i_0_i > 0;
                if (!(_834)) { __label__ = 183; /* _bb15_i */ break _bb14_i$4785; }
                var _799 = FHEAP[_scevgep_i];
                var _800 = _837 * _799;
                var _801 = FHEAP[_scevgep63_i];
                var _802 = _800 < _801;
                ;
                if (_802) {
                  __lastLabel__ = 132; ;
                  var _803 = FHEAP[_pq_0_i];
                  FHEAP[_pr_1_i] = _803;
                  var _804 = FHEAP[_scevgep42_i];
                  var _805 = _pr_1_i+4;
                  FHEAP[_805] = _804;
                  var _806 = _nr_4_i + 1;
                  var _807 = _806 & 8;
                  var _808 = _807 == 0;
                  if (_808) { __lastLabel__ = 133; ; } else { __lastLabel__ = 133; __label__ = 1055; /* _done_i */ break _bb21_i$4780; }
                  var _809 = _pr_1_i+8;
                  var __pre = FHEAP[_scevgep_i];
                  var __pre792 = FHEAP[_scevgep63_i];
                  __lastLabel__ = 1054; ;
                }
                else {
                  __lastLabel__ = 132; ;
                }
                var _810 = __lastLabel__ == 1054 ? __pre792 : (_801);
                var _811 = __lastLabel__ == 1054 ? __pre : (_799);
                var _nr_3_i = __lastLabel__ == 1054 ? _806 : (_nr_4_i);
                var _pr_0_i = __lastLabel__ == 1054 ? _809 : (_pr_1_i);
                var _812 = _i_0_i > 1;
                var _iftmp_137_0_i = _812 ? _scevgep40_i : _q_1_i;
                var _813 = _837 * _811;
                var _814 = _813 < _810;
                var _scevgep67_i = _iftmp_137_0_i+4*_839;
                var _815 = FHEAP[_scevgep67_i];
                var _816 = _837 * _815;
                var _817 = _816 < _810;
                var _818 = _814 ^ _817;
                ;
                if (_818) {
                  __lastLabel__ = 300; ;
                  var _819 = FHEAP[_scevgep38_i];
                  var _scevgep65_i = _iftmp_137_0_i+4*_tmp706;
                  var _820 = FHEAP[_scevgep65_i];
                  var _821 = _820 - _819;
                  var _822 = _815 - _811;
                  var _823 = _821 / _822;
                  var _824 = _837 * _810;
                  var _825 = _824 - _811;
                  var _826 = _823 * _825;
                  var _827 = _819 + _826;
                  var _scevgep66_i = _pr_0_i+4*_tmp706;
                  FHEAP[_scevgep66_i] = _827;
                  var _828 = FHEAP[_scevgep63_i];
                  var _829 = _837 * _828;
                  var _scevgep62_i = _pr_0_i+4*_839;
                  FHEAP[_scevgep62_i] = _829;
                  var _830 = _pr_0_i+8;
                  var _831 = _nr_3_i + 1;
                  var _832 = _831 & 8;
                  var _833 = _832 == 0;
                  if (_833) { __lastLabel__ = 1057; ; } else { __lastLabel__ = 1057; __label__ = 1055; /* _done_i */ break _bb21_i$4780; }
                }
                else {
                  __lastLabel__ = 300; ;
                }
                var _nr_5_i = __lastLabel__ == 1057 ? _831 : (_nr_3_i);
                var _pr_2_i = __lastLabel__ == 1057 ? _830 : (_pr_0_i);
                var _indvar_next_i = _indvar_i + 1;
                __lastLabel__ = 1059; __label__ = 1060; /* _bb14_i */ continue _bb14_i$4785;
              }
              var _835 = _r_0_i == _797;
              var _iftmp_138_0_i = _835 ? _798 : _797;
              var _indvar_next50_i = _indvar49_i + 1;
              __lastLabel__ = 183; __label__ = 1061; /* _bb19_i */ continue _bb19_i$4782;
            }
            var _838 = _839 + 1;
            __lastLabel__ = 1063; __label__ = 1053; /* _bb21_i */ continue _bb21_i$4780;
          }
          var _q_0_i = __lastLabel__ == 133 ? _r_0_i : (__lastLabel__ == 1057 ? _r_0_i : (_q_2_i));
          var _nr_1_i = __lastLabel__ == 1057 ? _831 : (__lastLabel__ == 133 ? _806 : (_nr_2_i));
          var _841 = _q_0_i == _797;
          ;
          if (!_841) {
            ;
            var _842 = _nr_1_i << 3;
            var _843 = _ret;
            var _844 = _q_0_i;
            _llvm_memcpy_p0i8_p0i8_i32(_843, _844, _842, 4, false);
            ;
          }
          var _845 = _nr_1_i < 1;
          if (_845) { __label__ = 1006; /* _bb218 */ break _bb218$_bb3$4677; }
          var _846 = _746 * _762;
          var _847 = _752 * _757;
          var _848 = _846 - _847;
          var _849 = 1 / _848;
          var _850 = _746 * _849;
          var _851 = _752 * _849;
          var _852 = _762 * _849;
          var _853 = _757 * _849;
          var _854 = 0 - _853;
          var _855 = _Sa_0567+4*_codeN_0;
          var _856 = FHEAP[_855];
          __lastLabel__ = 1065; ;
          _bb170$4802: while(1) { // _bb170
            var _cnum_1594 = __lastLabel__ == 1065 ? 0 : (_cnum_0);
            var _j_2593 = __lastLabel__ == 1065 ? 0 : (_904);
            var _tmp677 = _j_2593 << 1;
            var _scevgep678 = _ret+_tmp677*4;
            var _tmp679775 = _tmp677 | 1;
            var _scevgep680 = _ret+_tmp679775*4;
            var _857 = FHEAP[_scevgep678];
            var _858 = _857 - _734;
            var _859 = _858 * _852;
            var _860 = FHEAP[_scevgep680];
            var _861 = _860 - _740;
            var _862 = _861 * _851;
            var _863 = _859 - _862;
            var _864 = _858 * _854;
            var _865 = _861 * _850;
            var _866 = _864 + _865;
            var _867 = _cnum_1594 * 3;
            var _scevgep675 = _point+_867*4;
            var _868 = FHEAP[_729];
            var _869 = FHEAP[_741];
            var _870 = _869 * _863;
            var _871 = _868 + _870;
            var _872 = FHEAP[_747];
            var _873 = _872 * _866;
            var _874 = _871 + _873;
            FHEAP[_scevgep675] = _874;
            var _tmp674_1 = _867 + 1;
            var _scevgep675_1 = _point+_tmp674_1*4;
            var _875 = FHEAP[__idx393];
            var _876 = FHEAP[__idx306];
            var _877 = _876 * _863;
            var _878 = _875 + _877;
            var _879 = FHEAP[__idx300];
            var _880 = _879 * _866;
            var _881 = _878 + _880;
            FHEAP[_scevgep675_1] = _881;
            var _tmp674_2 = _867 + 2;
            var _scevgep675_2 = _point+_tmp674_2*4;
            var _882 = FHEAP[__idx394];
            var _883 = FHEAP[__idx307];
            var _884 = _883 * _863;
            var _885 = _882 + _884;
            var _886 = FHEAP[__idx301];
            var _887 = _886 * _866;
            var _888 = _885 + _887;
            FHEAP[_scevgep675_2] = _888;
            var _889 = _cnum_1594 * 3;
            var _890 = _point+_889*4;
            var __val365 = FHEAP[_890];
            var __sum = _889 + 1;
            var __idx366 = _point+__sum*4;
            var __idx366_val = FHEAP[__idx366];
            var __sum537 = _889 + 2;
            var __idx367 = _point+__sum537*4;
            var __idx367_val = FHEAP[__idx367];
            var _891 = _normal2_0_0_0 * __val365;
            var _892 = _normal2_0_1_0 * __idx366_val;
            var _893 = _891 + _892;
            var _894 = _normal2_0_2_0 * __idx367_val;
            var _895 = _893 + _894;
            var _896 = _856 - _895;
            var _897 = _dep+_cnum_1594*4;
            FHEAP[_897] = _896;
            var _898 = _896 < 0;
            ;
            if (_898) {
              __lastLabel__ = 1066; ;
            }
            else {
              __lastLabel__ = 1066; ;
              var _899 = _cnum_1594 << 1;
              var _900 = _ret+_899*4;
              FHEAP[_900] = _857;
              var _901 = _899 | 1;
              var _902 = _ret+_901*4;
              FHEAP[_902] = _860;
              var _903 = _cnum_1594 + 1;
              __lastLabel__ = 1067; ;
            }
            var _cnum_0 = __lastLabel__ == 1067 ? _903 : (_cnum_1594);
            var _904 = _j_2593 + 1;
            var _exitcond676 = _904 == _nr_1_i;
            if (_exitcond676) { __lastLabel__ = 1069; __label__ = 1070; /* _bb174 */ break _bb170$4802; } else { __lastLabel__ = 1069; __label__ = 1066; /* _bb170 */ continue _bb170$4802; }
          }
          var _905 = _cnum_0 < 1;
          if (_905) { __label__ = 1006; /* _bb218 */ break _bb218$_bb3$4677; }
          var _906 = _cnum_0 < _maxc;
          var _maxc_addr_0 = _906 ? _cnum_0 : _maxc;
          var _907 = _maxc_addr_0 < 1;
          var _maxc_addr_1 = _907 ? 1 : _maxc_addr_0;
          var _908 = _cnum_0 > _maxc_addr_1;
          ;
          _bb198$_bb181$4809: do { 
            if (_908) {
              ;
              var _971 = _cnum_0 > 1;
              ;
              _bb_nph590$_bb206$4811: do { 
                if (_971) {
                  __lastLabel__ = 4081; ;
                  var _972 = _dep;
                  var _973 = FHEAP[_972];
                  var _tmp667 = _cnum_0 + -1;
                  __lastLabel__ = 1077; ;
                  _bb202$4813: while(1) { // _bb202
                    var _indvar = __lastLabel__ == 1077 ? 0 : (_i_13587);
                    var _maxdepth_1589 = __lastLabel__ == 1077 ? _973 : (_maxdepth_0);
                    var _i1_1588 = __lastLabel__ == 1077 ? 0 : (_i1_0);
                    var _i_13587 = _indvar + 1;
                    var _scevgep670 = _dep+_i_13587*4;
                    var _974 = FHEAP[_scevgep670];
                    var _975 = _974 > _maxdepth_1589;
                    var _i1_0 = _975 ? _i_13587 : _i1_1588;
                    var _maxdepth_0 = _975 ? _974 : _maxdepth_1589;
                    var _exitcond668 = _i_13587 == _tmp667;
                    if (_exitcond668) { __lastLabel__ = 1078; __label__ = 1079; /* _bb206 */ break _bb_nph590$_bb206$4811; } else { __lastLabel__ = 1078; __label__ = 1078; /* _bb202 */ continue _bb202$4813; }
                  }
                }
                else {
                  __lastLabel__ = 4081; ;
                }
              } while(0);
              var _i1_1_lcssa = __lastLabel__ == 4081 ? 0 : (_i1_0);
              var _976 = _iret;
              __Z11cullPoints2iPfiiPi(_cnum_0, _797, _maxc_addr_1, _i1_1_lcssa, _976);
              var _977 = _maxc_addr_1 > 0;
              if (_977) { __lastLabel__ = 1079; ; } else { __lastLabel__ = 1079; __label__ = 1073; /* _bb217 */ break _bb198$_bb181$4809; }
              var _1018 = _output;
              var _1019 = _normal+8;
              var _1020 = _normal+4;
              var _1021 = _normal;
              var _1022 = _2;
              var _1023 = _2+4;
              var _1024 = _2+8;
              var _1025 = _2+12;
              var _1026 = _posInWorld+8;
              var _1027 = _posInWorld+4;
              var _1028 = _posInWorld;
              var _1029 = _1;
              var _1030 = _1+4;
              var _1031 = _1+8;
              var _1032 = _1+12;
              var _1033 = _0;
              var _1034 = _0+4;
              var _1035 = _0+8;
              var _1036 = _0+12;
              var _tmp659 = _cnum_0 ^ -1;
              var _tmp660 = _maxc ^ -1;
              var _tmp661 = _tmp659 > _tmp660;
              var _smax = _tmp661 ? _tmp659 : _tmp660;
              var _tmp662 = _smax ^ -1;
              var _tmp663 = _tmp662 > 1;
              var _smax664 = _tmp663 ? _tmp662 : 1;
              __lastLabel__ = 1080; ;
              _bb211$4817: while(1) { // _bb211
                var _j_5585 = __lastLabel__ == 1080 ? 0 : (_1017);
                var _scevgep666 = _iret+_j_5585*4;
                var _978 = IHEAP[_scevgep666];
                var _979 = _978 * 3;
                var _scevgep656 = _p1_pn563;
                var _scevgep658 = _point+_979*4;
                var _980 = FHEAP[_scevgep658];
                var _981 = FHEAP[_scevgep656];
                var _982 = _980 + _981;
                FHEAP[_1028] = _982;
                var _scevgep656_1 = _p1_pn563+4;
                var _tmp_1 = _979 + 1;
                var _scevgep658_1 = _point+_tmp_1*4;
                var _983 = FHEAP[_scevgep658_1];
                var _984 = FHEAP[_scevgep656_1];
                var _985 = _983 + _984;
                FHEAP[_1027] = _985;
                var _scevgep656_2 = _p1_pn563+8;
                var _tmp_2 = _979 + 2;
                var _scevgep658_2 = _point+_tmp_2*4;
                var _986 = FHEAP[_scevgep658_2];
                var _987 = FHEAP[_scevgep656_2];
                var _988 = _986 + _987;
                FHEAP[_1026] = _988;
                var _989 = IHEAP[_1018];
                var _990 = _989+16;
                var _991 = IHEAP[_990];
                var _992 = _dep+_978*4;
                var _993 = FHEAP[_992];
                var _994 = 0 - _993;
                var _995 = FHEAP[_1019];
                ;
                if (_643) {
                  ;
                  var _996 = 0 - _995;
                  var _997 = FHEAP[_1020];
                  var _998 = 0 - _997;
                  var _999 = FHEAP[_1021];
                  var _1000 = 0 - _999;
                  FHEAP[_1022] = _1000;
                  FHEAP[_1023] = _998;
                  FHEAP[_1024] = _996;
                  FHEAP[_1025] = 0;
                  var _1001 = _991;
                  FUNCTION_TABLE[_1001](_output, _2, _posInWorld, _994);
                  ;
                }
                else {
                  ;
                  var _1002 = _995 * _993;
                  var _1003 = FHEAP[_1020];
                  var _1004 = _1003 * _993;
                  var _1005 = FHEAP[_1021];
                  var _1006 = _1005 * _993;
                  var _1007 = FHEAP[_1026];
                  var _1008 = _1007 - _1002;
                  var _1009 = FHEAP[_1027];
                  var _1010 = _1009 - _1004;
                  var _1011 = FHEAP[_1028];
                  var _1012 = _1011 - _1006;
                  FHEAP[_1029] = _1012;
                  FHEAP[_1030] = _1010;
                  FHEAP[_1031] = _1008;
                  FHEAP[_1032] = 0;
                  var _1013 = 0 - _995;
                  var _1014 = 0 - _1003;
                  var _1015 = 0 - _1005;
                  FHEAP[_1033] = _1015;
                  FHEAP[_1034] = _1014;
                  FHEAP[_1035] = _1013;
                  FHEAP[_1036] = 0;
                  var _1016 = _991;
                  FUNCTION_TABLE[_1016](_output, _0, _1, _994);
                  ;
                }
                var _1017 = _j_5585 + 1;
                var _exitcond665 = _1017 == _smax664;
                if (_exitcond665) { __lastLabel__ = 1082; __label__ = 1073; /* _bb217 */ break _bb198$_bb181$4809; } else { __lastLabel__ = 1082; __label__ = 1083; /* _bb211 */ continue _bb211$4817; }
              }
            }
            else {
              ;
              var _909 = _output;
              var _910 = _normal+8;
              var _911 = _normal+4;
              var _912 = _normal;
              ;
              if (_643) {
                ;
                var _935 = _4;
                var _936 = _4+4;
                var _937 = _4+8;
                var _938 = _4+12;
                __lastLabel__ = 1074; ;
                _bb188$4826: while(1) { // _bb188
                  var _j_3580 = __lastLabel__ == 1074 ? 0 : (_934);
                  var _tmp648 = _j_3580 * 3;
                  var _scevgep654 = _dep+_j_3580*4;
                  var _tmp651 = _tmp648 + 1;
                  var _tmp649 = _tmp648 + 2;
                  var _scevgep646 = _point+_tmp648*4;
                  var _scevgep646_1 = _point+_tmp651*4;
                  var _scevgep646_2 = _point+_tmp649*4;
                  var _scevgep643 = _p1_pn563;
                  var _scevgep644 = _pointInWorld185;
                  var _913 = FHEAP[_scevgep646];
                  var _914 = FHEAP[_scevgep643];
                  var _915 = _913 + _914;
                  FHEAP[_scevgep644] = _915;
                  var _scevgep643_1 = _p1_pn563+4;
                  var _scevgep644_1 = _pointInWorld185+4;
                  var _916 = FHEAP[_scevgep646_1];
                  var _917 = FHEAP[_scevgep643_1];
                  var _918 = _916 + _917;
                  FHEAP[_scevgep644_1] = _918;
                  var _scevgep643_2 = _p1_pn563+8;
                  var _scevgep644_2 = _pointInWorld185+8;
                  var _919 = FHEAP[_scevgep646_2];
                  var _920 = FHEAP[_scevgep643_2];
                  var _921 = _919 + _920;
                  FHEAP[_scevgep644_2] = _921;
                  var _922 = IHEAP[_909];
                  var _923 = _922+16;
                  var _924 = IHEAP[_923];
                  var _925 = FHEAP[_scevgep654];
                  var _926 = 0 - _925;
                  var _927 = FHEAP[_910];
                  var _928 = 0 - _927;
                  var _929 = FHEAP[_911];
                  var _930 = 0 - _929;
                  var _931 = FHEAP[_912];
                  var _932 = 0 - _931;
                  FHEAP[_935] = _932;
                  FHEAP[_936] = _930;
                  FHEAP[_937] = _928;
                  FHEAP[_938] = 0;
                  var _933 = _924;
                  FUNCTION_TABLE[_933](_output, _4, _pointInWorld185, _926);
                  var _934 = _j_3580 + 1;
                  var _exitcond647 = _934 == _cnum_0;
                  if (_exitcond647) { __lastLabel__ = 1072; __label__ = 1073; /* _bb217 */ break _bb198$_bb181$4809; } else { __lastLabel__ = 1072; __label__ = 1072; /* _bb188 */ continue _bb188$4826; }
                }
              }
              else {
                ;
                var _967 = _3;
                var _968 = _3+4;
                var _969 = _3+8;
                var _970 = _3+12;
                __lastLabel__ = 1076; ;
                _bb196$4829: while(1) { // _bb196
                  var _j_4575 = __lastLabel__ == 1076 ? 0 : (_966);
                  var _tmp635 = _j_4575 * 3;
                  var _tmp638 = _tmp635 + 1;
                  var _tmp636 = _tmp635 + 2;
                  var _scevgep641 = _dep+_j_4575*4;
                  var _scevgep634 = _point+_tmp635*4;
                  var _scevgep634_1 = _point+_tmp638*4;
                  var _scevgep634_2 = _point+_tmp636*4;
                  var _939 = FHEAP[_scevgep641];
                  var _scevgep630 = _p1_pn563;
                  var _scevgep632 = _pointInWorld193;
                  var _940 = FHEAP[_scevgep634];
                  var _941 = FHEAP[_scevgep630];
                  var _942 = _940 + _941;
                  var _943 = FHEAP[_912];
                  var _944 = _943 * _939;
                  var _945 = _942 - _944;
                  FHEAP[_scevgep632] = _945;
                  var _scevgep630_1 = _p1_pn563+4;
                  var _scevgep632_1 = _pointInWorld193+4;
                  var _946 = FHEAP[_scevgep634_1];
                  var _947 = FHEAP[_scevgep630_1];
                  var _948 = _946 + _947;
                  var _949 = FHEAP[_911];
                  var _950 = _949 * _939;
                  var _951 = _948 - _950;
                  FHEAP[_scevgep632_1] = _951;
                  var _scevgep630_2 = _p1_pn563+8;
                  var _scevgep632_2 = _pointInWorld193+8;
                  var _952 = FHEAP[_scevgep634_2];
                  var _953 = FHEAP[_scevgep630_2];
                  var _954 = _952 + _953;
                  var _955 = FHEAP[_910];
                  var _956 = _955 * _939;
                  var _957 = _954 - _956;
                  FHEAP[_scevgep632_2] = _957;
                  var _958 = IHEAP[_909];
                  var _959 = _958+16;
                  var _960 = IHEAP[_959];
                  var _961 = 0 - _939;
                  var _962 = 0 - _955;
                  var _963 = 0 - _949;
                  var _964 = 0 - _943;
                  FHEAP[_967] = _964;
                  FHEAP[_968] = _963;
                  FHEAP[_969] = _962;
                  FHEAP[_970] = 0;
                  var _965 = _960;
                  FUNCTION_TABLE[_965](_output, _3, _pointInWorld193, _961);
                  var _966 = _j_4575 + 1;
                  var _exitcond = _966 == _cnum_0;
                  if (_exitcond) { __lastLabel__ = 1075; __label__ = 1073; /* _bb217 */ break _bb198$_bb181$4809; } else { __lastLabel__ = 1075; __label__ = 1075; /* _bb196 */ continue _bb196$4829; }
                }
              }
            }
          } while(0);
          var _cnum_2 = __lastLabel__ == 1075 ? _cnum_0 : (__lastLabel__ == 1072 ? _cnum_0 : (__lastLabel__ == 1082 ? _maxc_addr_1 : (_maxc_addr_1)));
          IHEAP[_return_code] = _code_14547549;
          STACKTOP = __stackBase__;
          return _cnum_2;
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return 0;
  }
  __Z8dBoxBox2RK9btVector3PKfS1_S1_S3_S1_RS_PfPiiP12dContactGeomiRN36btDiscreteCollisionDetectorInterface6ResultE.__index__ = Runtime.getFunctionIndex(__Z8dBoxBox2RK9btVector3PKfS1_S1_S3_S1_RS_PfPiiP12dContactGeomiRN36btDiscreteCollisionDetectorInterface6ResultE, "__Z8dBoxBox2RK9btVector3PKfS1_S1_S3_S1_RS_PfPiiP12dContactGeomiRN36btDiscreteCollisionDetectorInterface6ResultE");
  
  
  function __ZN21btCollisionDispatcher13findAlgorithmEP17btCollisionObjectS1_P20btPersistentManifold(_this, _body0, _body1, _sharedManifold) {
    var __stackBase__  = STACKTOP; STACKTOP += 8;
    var __label__;
    var _ci = __stackBase__;
    var _0 = _ci;
    var _1 = _ci+4;
    var _2 = _this;
    IHEAP[_0] = _2;
    IHEAP[_1] = _sharedManifold;
    var _3 = _body0+192;
    var _4 = IHEAP[_3];
    var _5 = _4+4;
    var _6 = IHEAP[_5];
    var _7 = _body1+192;
    var _8 = IHEAP[_7];
    var _9 = _8+4;
    var _10 = IHEAP[_9];
    var _11 = _this+200+_6*144+_10*4;
    var _12 = IHEAP[_11];
    var _13 = _12;
    var _14 = IHEAP[_13];
    var _15 = _14+8;
    var _16 = IHEAP[_15];
    var _17 = _16;
    var _18 = FUNCTION_TABLE[_17](_12, _ci, _body0, _body1);
    STACKTOP = __stackBase__;
    return _18;
  }
  __ZN21btCollisionDispatcher13findAlgorithmEP17btCollisionObjectS1_P20btPersistentManifold.__index__ = Runtime.getFunctionIndex(__ZN21btCollisionDispatcher13findAlgorithmEP17btCollisionObjectS1_P20btPersistentManifold, "__ZN21btCollisionDispatcher13findAlgorithmEP17btCollisionObjectS1_P20btPersistentManifold");
  
  
  function __ZN21btCollisionDispatcher14needsCollisionEP17btCollisionObjectS1_(_this, _body0, _body1) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _body0+216;
    var _1 = IHEAP[_0];
    if (_1 == 2) {
      __label__ = 60; /* _bb */ 
    }
    else if (_1 == 5) {
      __label__ = 60; /* _bb */ 
    }
    else {
    __label__ = 153; /* _bb15 */ 
    }
    
    _bb15$_bb$4846: do { 
      if (__label__ == 60) {
        var _2 = _body1+216;
        var _3 = IHEAP[_2];
        if (_3 == 2) {
          ;
        }
        else if (_3 == 5) {
          ;
        }
        else {
        __label__ = 153; /* _bb15 */ break _bb15$_bb$4846;
        }
        
        ;
        return 0;
      }
    } while(0);
    var _4 = _body0+252;
    var _5 = IHEAP[_4];
    var _6 = _5 == 0;
    ;
    if (_6) {
      __lastLabel__ = 153; ;
    }
    else {
      __lastLabel__ = 153; ;
      var _7 = _body0;
      var _8 = IHEAP[_7];
      var _9 = IHEAP[_8];
      var _10 = _9;
      var _11 = FUNCTION_TABLE[_10](_body0, _body1);
      var _phitmp34 = _11 == 0;
      __lastLabel__ = 225; ;
    }
    var _12 = __lastLabel__ == 225 ? _phitmp34 : (false);
    var _13 = _12;
    var _retval = _13 ^ 1;
    ;
    return _retval;
  }
  __ZN21btCollisionDispatcher14needsCollisionEP17btCollisionObjectS1_.__index__ = Runtime.getFunctionIndex(__ZN21btCollisionDispatcher14needsCollisionEP17btCollisionObjectS1_, "__ZN21btCollisionDispatcher14needsCollisionEP17btCollisionObjectS1_");
  
  
  function __ZN21btCollisionDispatcher26allocateCollisionAlgorithmEi(_this, _size) {
    ;
    var __label__;
    var _0 = _this+192;
    var _1 = IHEAP[_0];
    var _2 = _1+8;
    var _3 = IHEAP[_2];
    var _4 = _3 == 0;
    ;
    if (_4) {
      ;
      var _10 = __Z22btAlignedAllocInternalji(_size, 16);
      ;
      return _10;
    }
    else {
      ;
      var _5 = _1+12;
      var _6 = IHEAP[_5];
      var _7 = _6;
      var _8 = IHEAP[_7];
      IHEAP[_5] = _8;
      var _9 = _3 + -1;
      IHEAP[_2] = _9;
      ;
      return _6;
    }
  }
  __ZN21btCollisionDispatcher26allocateCollisionAlgorithmEi.__index__ = Runtime.getFunctionIndex(__ZN21btCollisionDispatcher26allocateCollisionAlgorithmEi, "__ZN21btCollisionDispatcher26allocateCollisionAlgorithmEi");
  
  
  function __ZN21btCollisionDispatcher14getNewManifoldEPvS0_(_this, _b0, _b1) {
    var __stackBase__  = STACKTOP; STACKTOP += 2;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = IHEAP[_gNumManifold];
    var _3 = _2 + 1;
    IHEAP[_gNumManifold] = _3;
    var _4 = _this+4;
    var _5 = IHEAP[_4];
    var _6 = _5 & 2;
    var _7 = _6 == 0;
    ;
    if (_7) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _8 = _b1+192;
      var _9 = _8;
      var _10 = IHEAP[_9];
      var _11 = _10;
      var _12 = IHEAP[_11];
      var _13 = _12+20;
      var _14 = IHEAP[_13];
      var _15 = FHEAP[_gContactBreakingThreshold];
      var _16 = _14;
      var _17 = FUNCTION_TABLE[_16](_10, _15);
      FHEAP[_1] = _17;
      var _18 = _b0+192;
      var _19 = _18;
      var _20 = IHEAP[_19];
      var _21 = _20;
      var _22 = IHEAP[_21];
      var _23 = _22+20;
      var _24 = IHEAP[_23];
      var _25 = FHEAP[_gContactBreakingThreshold];
      var _26 = _24;
      var _27 = FUNCTION_TABLE[_26](_20, _25);
      FHEAP[_0] = _27;
      var _28 = _27 < _17;
      var _iftmp_197_0_i = _28 ? _0 : _1;
      __lastLabel__ = 60; ;
    }
    var _iftmp_179_0_in = __lastLabel__ == 60 ? _iftmp_197_0_i : (_gContactBreakingThreshold);
    var _iftmp_179_0 = FHEAP[_iftmp_179_0_in];
    var _29 = _b1+184;
    var _30 = _29;
    var _31 = FHEAP[_30];
    var _32 = _b0+184;
    var _33 = _32;
    var _34 = FHEAP[_33];
    var _35 = _34 < _31;
    var _36 = _35 ? _34 : _31;
    var _37 = _this+196;
    var _38 = IHEAP[_37];
    var _39 = _38+8;
    var _40 = IHEAP[_39];
    var _41 = _40 == 0;
    ;
    if (_41) {
      ;
      var _47 = __Z22btAlignedAllocInternalji(1140, 16);
      __lastLabel__ = 61; ;
    }
    else {
      ;
      var _42 = _38+12;
      var _43 = IHEAP[_42];
      var _44 = _43;
      var _45 = IHEAP[_44];
      IHEAP[_42] = _45;
      var _46 = _40 + -1;
      IHEAP[_39] = _46;
      __lastLabel__ = 116; ;
    }
    var _mem_0 = __lastLabel__ == 116 ? _43 : (_47);
    var _48 = _mem_0;
    var _49 = _mem_0;
    IHEAP[_49] = 1;
    var _scevgep_i = _mem_0+112;
    var _50 = _scevgep_i;
    var _scevgep6_i = _mem_0+116;
    var _51 = _scevgep6_i;
    var _52 = _mem_0+120;
    var _scevgep8_i = _mem_0+124;
    var _53 = _scevgep8_i;
    var _scevgep9_i = _mem_0+128;
    var _54 = _scevgep9_i;
    var _scevgep10_i = _mem_0+132;
    var _55 = _scevgep10_i;
    var _scevgep11_i = _mem_0+136;
    var _56 = _scevgep11_i;
    var _scevgep12_i = _mem_0+140;
    var _57 = _scevgep12_i;
    var _scevgep13_i = _mem_0+144;
    var _58 = _scevgep13_i;
    var _scevgep14_i = _mem_0+148;
    var _59 = _scevgep14_i;
    IHEAP[_50] = 0;
    FHEAP[_51] = 0;
    IHEAP[_52] = 0;
    FHEAP[_53] = 0;
    FHEAP[_54] = 0;
    FHEAP[_55] = 0;
    FHEAP[_56] = 0;
    FHEAP[_57] = 0;
    FHEAP[_58] = 0;
    IHEAP[_59] = 0;
    var _scevgep_1_i = _mem_0+388;
    var _60 = _scevgep_1_i;
    var _scevgep6_1_i = _mem_0+392;
    var _61 = _scevgep6_1_i;
    var _62 = _mem_0+396;
    var _scevgep8_1_i = _mem_0+400;
    var _63 = _scevgep8_1_i;
    var _scevgep9_1_i = _mem_0+404;
    var _64 = _scevgep9_1_i;
    var _scevgep10_1_i = _mem_0+408;
    var _65 = _scevgep10_1_i;
    var _scevgep11_1_i = _mem_0+412;
    var _66 = _scevgep11_1_i;
    var _scevgep12_1_i = _mem_0+416;
    var _67 = _scevgep12_1_i;
    var _scevgep13_1_i = _mem_0+420;
    var _68 = _scevgep13_1_i;
    var _scevgep14_1_i = _mem_0+424;
    var _69 = _scevgep14_1_i;
    IHEAP[_60] = 0;
    FHEAP[_61] = 0;
    IHEAP[_62] = 0;
    FHEAP[_63] = 0;
    FHEAP[_64] = 0;
    FHEAP[_65] = 0;
    FHEAP[_66] = 0;
    FHEAP[_67] = 0;
    FHEAP[_68] = 0;
    IHEAP[_69] = 0;
    var _scevgep_2_i = _mem_0+664;
    var _70 = _scevgep_2_i;
    var _scevgep6_2_i = _mem_0+668;
    var _71 = _scevgep6_2_i;
    var _72 = _mem_0+672;
    var _scevgep8_2_i = _mem_0+676;
    var _73 = _scevgep8_2_i;
    var _scevgep9_2_i = _mem_0+680;
    var _74 = _scevgep9_2_i;
    var _scevgep10_2_i = _mem_0+684;
    var _75 = _scevgep10_2_i;
    var _scevgep11_2_i = _mem_0+688;
    var _76 = _scevgep11_2_i;
    var _scevgep12_2_i = _mem_0+692;
    var _77 = _scevgep12_2_i;
    var _scevgep13_2_i = _mem_0+696;
    var _78 = _scevgep13_2_i;
    var _scevgep14_2_i = _mem_0+700;
    var _79 = _scevgep14_2_i;
    IHEAP[_70] = 0;
    FHEAP[_71] = 0;
    IHEAP[_72] = 0;
    FHEAP[_73] = 0;
    FHEAP[_74] = 0;
    FHEAP[_75] = 0;
    FHEAP[_76] = 0;
    FHEAP[_77] = 0;
    FHEAP[_78] = 0;
    IHEAP[_79] = 0;
    var _scevgep_3_i = _mem_0+940;
    var _80 = _scevgep_3_i;
    var _scevgep6_3_i = _mem_0+944;
    var _81 = _scevgep6_3_i;
    var _82 = _mem_0+948;
    var _scevgep8_3_i = _mem_0+952;
    var _83 = _scevgep8_3_i;
    var _scevgep9_3_i = _mem_0+956;
    var _84 = _scevgep9_3_i;
    var _scevgep10_3_i = _mem_0+960;
    var _85 = _scevgep10_3_i;
    var _scevgep11_3_i = _mem_0+964;
    var _86 = _scevgep11_3_i;
    var _scevgep12_3_i = _mem_0+968;
    var _87 = _scevgep12_3_i;
    var _scevgep13_3_i = _mem_0+972;
    var _88 = _scevgep13_3_i;
    var _scevgep14_3_i = _mem_0+976;
    var _89 = _scevgep14_3_i;
    IHEAP[_80] = 0;
    FHEAP[_81] = 0;
    IHEAP[_82] = 0;
    FHEAP[_83] = 0;
    FHEAP[_84] = 0;
    FHEAP[_85] = 0;
    FHEAP[_86] = 0;
    FHEAP[_87] = 0;
    FHEAP[_88] = 0;
    IHEAP[_89] = 0;
    var _90 = _mem_0+1108;
    var _91 = _90;
    IHEAP[_91] = _b0;
    var _92 = _mem_0+1112;
    var _93 = _92;
    IHEAP[_93] = _b1;
    var _94 = _mem_0+1116;
    var _95 = _94;
    IHEAP[_95] = 0;
    var _96 = _mem_0+1120;
    var _97 = _96;
    FHEAP[_97] = _iftmp_179_0;
    var _98 = _mem_0+1124;
    var _99 = _98;
    FHEAP[_99] = _36;
    var _100 = _this+8+4;
    var _101 = IHEAP[_100];
    var _102 = _mem_0+1136;
    var _103 = _102;
    IHEAP[_103] = _101;
    var _104 = IHEAP[_100];
    var _105 = _this+8+8;
    var _106 = IHEAP[_105];
    var _107 = _106 == _104;
    ;
    _bb_i$_bb1_i$4884: do { 
      if (_107) {
        __lastLabel__ = 82; ;
        var _108 = _104 == 0;
        var _109 = _104 << 1;
        var _iftmp_201_0_i_i = _108 ? 1 : _109;
        var _110 = _106 < _iftmp_201_0_i_i;
        if (_110) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$4884; }
        var _111 = _iftmp_201_0_i_i == 0;
        ;
        if (_111) {
          __lastLabel__ = 263; ;
        }
        else {
          __lastLabel__ = 263; ;
          var _112 = _iftmp_201_0_i_i << 2;
          var _113 = __Z22btAlignedAllocInternalji(_112, 16);
          var _phitmp_i_i = _113;
          var __pre_i = IHEAP[_100];
          __lastLabel__ = 274; ;
        }
        var _114 = __lastLabel__ == 274 ? __pre_i : (_104);
        var _115 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
        var _116 = _114 > 0;
        ;
        _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIP20btPersistentManifoldE4copyEiiPS1__exit_i_i$4890: do { 
          if (_116) {
            ;
            var _117 = _this+8+12;
            __lastLabel__ = 276; ;
            _bb_i4_i_i$4892: while(1) { // _bb_i4_i_i
              var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
              var _scevgep_i_i_i = _115+4*_indvar_i_i_i;
              var _118 = _scevgep_i_i_i == 0;
              ;
              if (!_118) {
                ;
                var _119 = IHEAP[_117];
                var _scevgep8_i_i_i = _119+4*_indvar_i_i_i;
                var _120 = IHEAP[_scevgep8_i_i_i];
                IHEAP[_scevgep_i_i_i] = _120;
                ;
              }
              var _indvar_next_i_i_i = _indvar_i_i_i + 1;
              var _exitcond = _indvar_next_i_i_i == _114;
              if (_exitcond) { __lastLabel__ = 279; __label__ = 1091; /* __ZNK20btAlignedObjectArrayIP20btPersistentManifoldE4copyEiiPS1__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIP20btPersistentManifoldE4copyEiiPS1__exit_i_i$4890; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$4892; }
            }
          }
        } while(0);
        var _121 = _this+8+12;
        var _122 = IHEAP[_121];
        var _123 = _122 == 0;
        ;
        if (!_123) {
          ;
          var _124 = _this+8+16;
          var _125 = IHEAP[_124];
          var _toBool_i_i_i = _125 == 0;
          ;
          if (!_toBool_i_i_i) {
            ;
            var _126 = _122;
            __Z21btAlignedFreeInternalPv(_126);
            ;
          }
          IHEAP[_121] = 0;
          ;
        }
        var _127 = _this+8+16;
        IHEAP[_127] = 1;
        IHEAP[_121] = _115;
        IHEAP[_105] = _iftmp_201_0_i_i;
        var __pre5_i = IHEAP[_100];
        __lastLabel__ = 1094; ;
      }
      else {
        __lastLabel__ = 82; ;
      }
    } while(0);
    var _128 = __lastLabel__ == 1094 ? __pre5_i : (__lastLabel__ == 82 ? _104 : (_104));
    var _129 = _this+8+12;
    var _130 = IHEAP[_129];
    var _131 = _130+4*_128;
    var _132 = _131 == 0;
    ;
    if (_132) {
      __lastLabel__ = 159; ;
    }
    else {
      __lastLabel__ = 159; ;
      IHEAP[_131] = _48;
      var __pre6_i = IHEAP[_100];
      __lastLabel__ = 132; ;
    }
    var _133 = __lastLabel__ == 159 ? _128 : (__pre6_i);
    var _134 = _133 + 1;
    IHEAP[_100] = _134;
    STACKTOP = __stackBase__;
    return _48;
  }
  __ZN21btCollisionDispatcher14getNewManifoldEPvS0_.__index__ = Runtime.getFunctionIndex(__ZN21btCollisionDispatcher14getNewManifoldEPvS0_, "__ZN21btCollisionDispatcher14getNewManifoldEPvS0_");
  
  
  function __ZN21btCollisionDispatcher19defaultNearCallbackER16btBroadphasePairRS_RK16btDispatcherInfo(_collisionPair, _dispatcher, _dispatchInfo) {
    var __stackBase__  = STACKTOP; STACKTOP += 160;
    var __label__;
    var _contactPointResult = __stackBase__;
    var _0 = _collisionPair;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = _collisionPair+4;
    var _6 = IHEAP[_5];
    var _7 = _6;
    var _8 = IHEAP[_7];
    var _9 = _8;
    var _10 = _dispatcher;
    var _11 = IHEAP[_10];
    var _12 = _11+24;
    var _13 = IHEAP[_12];
    var _14 = _13;
    var _15 = FUNCTION_TABLE[_14](_dispatcher, _4, _9);
    var _toBool = _15 == 0;
    ;
    _return$_bb$4909: do { 
      if (!_toBool) {
        ;
        var _16 = _collisionPair+8;
        var _17 = IHEAP[_16];
        var _18 = _17 == 0;
        ;
        if (_18) {
          ;
          var _19 = IHEAP[_10];
          var _20 = _19+8;
          var _21 = IHEAP[_20];
          var _22 = _21;
          var _23 = FUNCTION_TABLE[_22](_dispatcher, _4, _9, 0);
          IHEAP[_16] = _23;
          var _24 = _23 == 0;
          if (_24) { __label__ = 44; /* _return */ break _return$_bb$4909; }
        }
        __ZN16btManifoldResultC1EP17btCollisionObjectS1_(_contactPointResult, _4, _9);
        var _25 = _dispatchInfo+8;
        var _26 = IHEAP[_25];
        var _27 = _26 == 1;
        var _28 = IHEAP[_16];
        var _29 = _28;
        var _30 = IHEAP[_29];
        ;
        if (_27) {
          ;
          var _31 = _30+8;
          var _32 = IHEAP[_31];
          var _33 = _32;
          FUNCTION_TABLE[_33](_28, _4, _9, _dispatchInfo, _contactPointResult);
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _34 = _30+12;
          var _35 = IHEAP[_34];
          var _36 = _35;
          var _37 = FUNCTION_TABLE[_36](_28, _4, _9, _dispatchInfo, _contactPointResult);
          var _38 = _dispatchInfo+12;
          var _39 = FHEAP[_38];
          var _40 = _39 > _37;
          if (!(_40)) { __label__ = 44; /* _return */ break _return$_bb$4909; }
          FHEAP[_38] = _37;
          STACKTOP = __stackBase__;
          return;
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN21btCollisionDispatcher19defaultNearCallbackER16btBroadphasePairRS_RK16btDispatcherInfo.__index__ = Runtime.getFunctionIndex(__ZN21btCollisionDispatcher19defaultNearCallbackER16btBroadphasePairRS_RK16btDispatcherInfo, "__ZN21btCollisionDispatcher19defaultNearCallbackER16btBroadphasePairRS_RK16btDispatcherInfo");
  
  
  function __ZN21btCollisionDispatcherD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btCollisionDispatcher+8;
    var _1 = _this+28;
    IHEAP[_1] = __ZTV16btManifoldResult+8;
    var _2 = _this+8+12;
    var _3 = IHEAP[_2];
    var _4 = _3 == 0;
    ;
    if (!_4) {
      ;
      var _5 = _this+8+16;
      var _6 = IHEAP[_5];
      var _toBool_i_i_i = _6 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$4927: do { 
        if (!_toBool_i_i_i) {
          ;
          var _7 = _3;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_7) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$4927; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _13 = _this;
          (function() { try { __THREW__ = false; return __ZN12btDispatcherD2Ev(_13) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
          if (__label__ == 1554) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 3761) {
            var _eh_ptr10 = _llvm_eh_exception();
            var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_2] = 0;
      ;
    }
    var _8 = _this+8+16;
    IHEAP[_8] = 1;
    IHEAP[_2] = 0;
    var _9 = _this+8+4;
    IHEAP[_9] = 0;
    var _10 = _this+8+8;
    IHEAP[_10] = 0;
    var _11 = _this;
    __ZN12btDispatcherD2Ev(_11);
    var _12 = _this;
    __ZdlPv(_12);
    ;
    return;
  }
  __ZN21btCollisionDispatcherD0Ev.__index__ = Runtime.getFunctionIndex(__ZN21btCollisionDispatcherD0Ev, "__ZN21btCollisionDispatcherD0Ev");
  
  
  function __ZN21btCollisionDispatcherD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btCollisionDispatcher+8;
    var _1 = _this+28;
    IHEAP[_1] = __ZTV16btManifoldResult+8;
    var _2 = _this+8+12;
    var _3 = IHEAP[_2];
    var _4 = _3 == 0;
    ;
    if (!_4) {
      ;
      var _5 = _this+8+16;
      var _6 = IHEAP[_5];
      var _toBool_i_i_i = _6 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$4938: do { 
        if (!_toBool_i_i_i) {
          ;
          var _7 = _3;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_7) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$4938; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _12 = _this;
          (function() { try { __THREW__ = false; return __ZN12btDispatcherD2Ev(_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
          if (__label__ == 1554) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 3761) {
            var _eh_ptr10 = _llvm_eh_exception();
            var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_2] = 0;
      ;
    }
    var _8 = _this+8+16;
    IHEAP[_8] = 1;
    IHEAP[_2] = 0;
    var _9 = _this+8+4;
    IHEAP[_9] = 0;
    var _10 = _this+8+8;
    IHEAP[_10] = 0;
    var _11 = _this;
    __ZN12btDispatcherD2Ev(_11);
    ;
    return;
  }
  __ZN21btCollisionDispatcherD1Ev.__index__ = Runtime.getFunctionIndex(__ZN21btCollisionDispatcherD1Ev, "__ZN21btCollisionDispatcherD1Ev");
  
  
  function __ZN21btCollisionDispatcherD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btCollisionDispatcher+8;
    var _1 = _this+28;
    IHEAP[_1] = __ZTV16btManifoldResult+8;
    var _2 = _this+8+12;
    var _3 = IHEAP[_2];
    var _4 = _3 == 0;
    ;
    if (!_4) {
      ;
      var _5 = _this+8+16;
      var _6 = IHEAP[_5];
      var _toBool_i_i_i = _6 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$4949: do { 
        if (!_toBool_i_i_i) {
          ;
          var _7 = _3;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_7) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$4949; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _12 = _this;
          (function() { try { __THREW__ = false; return __ZN12btDispatcherD2Ev(_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
          if (__label__ == 1554) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 3761) {
            var _eh_ptr10 = _llvm_eh_exception();
            var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_2] = 0;
      ;
    }
    var _8 = _this+8+16;
    IHEAP[_8] = 1;
    IHEAP[_2] = 0;
    var _9 = _this+8+4;
    IHEAP[_9] = 0;
    var _10 = _this+8+8;
    IHEAP[_10] = 0;
    var _11 = _this;
    __ZN12btDispatcherD2Ev(_11);
    ;
    return;
  }
  __ZN21btCollisionDispatcherD2Ev.__index__ = Runtime.getFunctionIndex(__ZN21btCollisionDispatcherD2Ev, "__ZN21btCollisionDispatcherD2Ev");
  
  
  function __ZN21btCollisionDispatcherC2EP24btCollisionConfiguration(_this, _collisionConfiguration) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btCollisionDispatcher+8;
    var _1 = _this+4;
    IHEAP[_1] = 2;
    var _2 = _this+8+16;
    IHEAP[_2] = 1;
    var _3 = _this+8+12;
    IHEAP[_3] = 0;
    var _4 = _this+8+4;
    IHEAP[_4] = 0;
    var _5 = _this+8+8;
    IHEAP[_5] = 0;
    var _6 = _this+28;
    IHEAP[_6] = __ZTV16btManifoldResult+8;
    var _7 = _this+5384;
    IHEAP[_7] = _collisionConfiguration;
    var _8 = _this+188;
    IHEAP[_8] = __ZN21btCollisionDispatcher19defaultNearCallbackER16btBroadphasePairRS_RK16btDispatcherInfo.__index__;
    var _9 = _collisionConfiguration;
    var _10 = IHEAP[_9];
    var _11 = _10+12;
    var _12 = IHEAP[_11];
    var _13 = _12;
    var _14 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_13](_collisionConfiguration) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 1346; /* _lpad22 */  };
    _invcont1$_lpad22$4958: do { 
      if (__label__ == 1554) {
        var _15 = _this+192;
        IHEAP[_15] = _14;
        var _16 = IHEAP[_9];
        var _17 = _16+8;
        var _18 = IHEAP[_17];
        var _19 = _18;
        var _20 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_19](_collisionConfiguration) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 1346; /* _lpad22 */ break _invcont1$_lpad22$4958; };
        var _21 = _this+196;
        IHEAP[_21] = _20;
        __lastLabel__ = 1102; ;
        _bb7$4961: while(1) { // _bb7
          var _33 = __lastLabel__ == 1102 ? 0 : (_32);
          var _34 = _33 < 36;
          if (_34) { __lastLabel__ = 2; ; } else { __lastLabel__ = 2; __label__ = 44; /* _return */ break _bb7$4961; }
          _bb5$4963: while(1) { // _bb5
            var _30 = __lastLabel__ == 514 ? _29 : (0);
            var _scevgep = _this+200+_33*144+_30*4;
            var _31 = _30 < 36;
            if (!(_31)) { __label__ = 83; /* _bb6 */ break _bb5$4963; }
            var _22 = IHEAP[_7];
            var _23 = _22;
            var _24 = IHEAP[_23];
            var _25 = _24+20;
            var _26 = IHEAP[_25];
            var _27 = _26;
            var _28 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_27](_22, _33, _30) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 1346; /* _lpad22 */ break _invcont1$_lpad22$4958; };
            IHEAP[_scevgep] = _28;
            var _29 = _30 + 1;
            __lastLabel__ = 514; __label__ = 82; /* _bb5 */ continue _bb5$4963;
          }
          var _32 = _33 + 1;
          __lastLabel__ = 83; __label__ = 2; /* _bb7 */ continue _bb7$4961;
        }
        ;
        return;
      }
    } while(0);
    var _eh_ptr23 = _llvm_eh_exception();
    var _eh_select25 = _llvm_eh_selector(_eh_ptr23, ___gxx_personality_v0, 0);
    IHEAP[_6] = __ZTV16btManifoldResult+8;
    var _35 = IHEAP[_3];
    var _36 = _35 == 0;
    ;
    if (!_36) {
      ;
      var _37 = IHEAP[_2];
      var _toBool_i_i_i = _37 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$4972: do { 
        if (!_toBool_i_i_i) {
          ;
          var _38 = _35;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_38) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$4972; } else { ; }
          var _eh_ptr27 = _llvm_eh_exception();
          var _eh_select29 = _llvm_eh_selector(_eh_ptr27, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_3] = 0;
      ;
    }
    IHEAP[_2] = 1;
    IHEAP[_3] = 0;
    IHEAP[_4] = 0;
    IHEAP[_5] = 0;
    var _39 = _this;
    (function() { try { __THREW__ = false; return __ZN12btDispatcherD2Ev(_39) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 604; /* _invcont17 */  } else { __label__ = 3818; /* _lpad30 */  }
    if (__label__ == 604) {
      __Unwind_Resume_or_Rethrow(_eh_ptr23);
      // unreachable
    }
    else if (__label__ == 3818) {
      var _eh_ptr31 = _llvm_eh_exception();
      var _eh_select33 = _llvm_eh_selector(_eh_ptr31, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN21btCollisionDispatcherC2EP24btCollisionConfiguration.__index__ = Runtime.getFunctionIndex(__ZN21btCollisionDispatcherC2EP24btCollisionConfiguration, "__ZN21btCollisionDispatcherC2EP24btCollisionConfiguration");
  
  
  function __ZNK17btCollisionObject9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var _0 = _dataBuffer+16;
    var _scevgep_i_i_i = _this+4;
    var _scevgep4_i_i_i = _0;
    var _scevgep_1_i_i_i = _this+4+4;
    var _scevgep4_1_i_i_i = _dataBuffer+20;
    var _1 = _scevgep4_1_i_i_i;
    var _scevgep_2_i_i_i = _this+4+8;
    var _scevgep4_2_i_i_i = _dataBuffer+24;
    var _2 = _scevgep4_2_i_i_i;
    var _scevgep_3_i_i_i = _this+4+12;
    var _scevgep4_3_i_i_i = _dataBuffer+28;
    var _3 = _scevgep4_3_i_i_i;
    var _4 = FHEAP[_scevgep_i_i_i];
    FHEAP[_scevgep4_i_i_i] = _4;
    var _5 = FHEAP[_scevgep_1_i_i_i];
    FHEAP[_1] = _5;
    var _6 = FHEAP[_scevgep_2_i_i_i];
    FHEAP[_2] = _6;
    var _7 = FHEAP[_scevgep_3_i_i_i];
    FHEAP[_3] = _7;
    var _scevgep_i_1_i_i = _this+4+16;
    var _scevgep4_i_1_i_i = _dataBuffer+32;
    var _8 = _scevgep4_i_1_i_i;
    var _scevgep_1_i_1_i_i = _this+4+16+4;
    var _scevgep4_1_i_1_i_i = _dataBuffer+36;
    var _9 = _scevgep4_1_i_1_i_i;
    var _scevgep_2_i_1_i_i = _this+4+16+8;
    var _scevgep4_2_i_1_i_i = _dataBuffer+40;
    var _10 = _scevgep4_2_i_1_i_i;
    var _scevgep_3_i_1_i_i = _this+4+16+12;
    var _scevgep4_3_i_1_i_i = _dataBuffer+44;
    var _11 = _scevgep4_3_i_1_i_i;
    var _12 = FHEAP[_scevgep_i_1_i_i];
    FHEAP[_8] = _12;
    var _13 = FHEAP[_scevgep_1_i_1_i_i];
    FHEAP[_9] = _13;
    var _14 = FHEAP[_scevgep_2_i_1_i_i];
    FHEAP[_10] = _14;
    var _15 = FHEAP[_scevgep_3_i_1_i_i];
    FHEAP[_11] = _15;
    var _scevgep_i_2_i_i = _this+4+32;
    var _scevgep4_i_2_i_i = _dataBuffer+48;
    var _16 = _scevgep4_i_2_i_i;
    var _scevgep_1_i_2_i_i = _this+4+32+4;
    var _scevgep4_1_i_2_i_i = _dataBuffer+52;
    var _17 = _scevgep4_1_i_2_i_i;
    var _scevgep_2_i_2_i_i = _this+4+32+8;
    var _scevgep4_2_i_2_i_i = _dataBuffer+56;
    var _18 = _scevgep4_2_i_2_i_i;
    var _scevgep_3_i_2_i_i = _this+4+32+12;
    var _scevgep4_3_i_2_i_i = _dataBuffer+60;
    var _19 = _scevgep4_3_i_2_i_i;
    var _20 = FHEAP[_scevgep_i_2_i_i];
    FHEAP[_16] = _20;
    var _21 = FHEAP[_scevgep_1_i_2_i_i];
    FHEAP[_17] = _21;
    var _22 = FHEAP[_scevgep_2_i_2_i_i];
    FHEAP[_18] = _22;
    var _23 = FHEAP[_scevgep_3_i_2_i_i];
    FHEAP[_19] = _23;
    var _scevgep_i_i = _this+4+48;
    var _scevgep4_i_i = _dataBuffer+64;
    var _24 = _scevgep4_i_i;
    var _25 = FHEAP[_scevgep_i_i];
    FHEAP[_24] = _25;
    var _scevgep_1_i_i = _this+4+48+4;
    var _scevgep4_1_i_i = _dataBuffer+68;
    var _26 = _scevgep4_1_i_i;
    var _27 = FHEAP[_scevgep_1_i_i];
    FHEAP[_26] = _27;
    var _scevgep_2_i_i = _this+4+48+8;
    var _scevgep4_2_i_i = _dataBuffer+72;
    var _28 = _scevgep4_2_i_i;
    var _29 = FHEAP[_scevgep_2_i_i];
    FHEAP[_28] = _29;
    var _scevgep_3_i_i = _this+4+48+12;
    var _scevgep4_3_i_i = _dataBuffer+76;
    var _30 = _scevgep4_3_i_i;
    var _31 = FHEAP[_scevgep_3_i_i];
    FHEAP[_30] = _31;
    var _32 = _dataBuffer+80;
    var _scevgep_i_i_i3 = _this+68;
    var _scevgep4_i_i_i4 = _32;
    var _scevgep_1_i_i_i5 = _this+68+4;
    var _scevgep4_1_i_i_i6 = _dataBuffer+84;
    var _33 = _scevgep4_1_i_i_i6;
    var _scevgep_2_i_i_i7 = _this+68+8;
    var _scevgep4_2_i_i_i8 = _dataBuffer+88;
    var _34 = _scevgep4_2_i_i_i8;
    var _scevgep_3_i_i_i9 = _this+68+12;
    var _scevgep4_3_i_i_i10 = _dataBuffer+92;
    var _35 = _scevgep4_3_i_i_i10;
    var _36 = FHEAP[_scevgep_i_i_i3];
    FHEAP[_scevgep4_i_i_i4] = _36;
    var _37 = FHEAP[_scevgep_1_i_i_i5];
    FHEAP[_33] = _37;
    var _38 = FHEAP[_scevgep_2_i_i_i7];
    FHEAP[_34] = _38;
    var _39 = FHEAP[_scevgep_3_i_i_i9];
    FHEAP[_35] = _39;
    var _scevgep_i_1_i_i11 = _this+68+16;
    var _scevgep4_i_1_i_i12 = _dataBuffer+96;
    var _40 = _scevgep4_i_1_i_i12;
    var _scevgep_1_i_1_i_i13 = _this+68+16+4;
    var _scevgep4_1_i_1_i_i14 = _dataBuffer+100;
    var _41 = _scevgep4_1_i_1_i_i14;
    var _scevgep_2_i_1_i_i15 = _this+68+16+8;
    var _scevgep4_2_i_1_i_i16 = _dataBuffer+104;
    var _42 = _scevgep4_2_i_1_i_i16;
    var _scevgep_3_i_1_i_i17 = _this+68+16+12;
    var _scevgep4_3_i_1_i_i18 = _dataBuffer+108;
    var _43 = _scevgep4_3_i_1_i_i18;
    var _44 = FHEAP[_scevgep_i_1_i_i11];
    FHEAP[_40] = _44;
    var _45 = FHEAP[_scevgep_1_i_1_i_i13];
    FHEAP[_41] = _45;
    var _46 = FHEAP[_scevgep_2_i_1_i_i15];
    FHEAP[_42] = _46;
    var _47 = FHEAP[_scevgep_3_i_1_i_i17];
    FHEAP[_43] = _47;
    var _scevgep_i_2_i_i19 = _this+68+32;
    var _scevgep4_i_2_i_i20 = _dataBuffer+112;
    var _48 = _scevgep4_i_2_i_i20;
    var _scevgep_1_i_2_i_i21 = _this+68+32+4;
    var _scevgep4_1_i_2_i_i22 = _dataBuffer+116;
    var _49 = _scevgep4_1_i_2_i_i22;
    var _scevgep_2_i_2_i_i23 = _this+68+32+8;
    var _scevgep4_2_i_2_i_i24 = _dataBuffer+120;
    var _50 = _scevgep4_2_i_2_i_i24;
    var _scevgep_3_i_2_i_i25 = _this+68+32+12;
    var _scevgep4_3_i_2_i_i26 = _dataBuffer+124;
    var _51 = _scevgep4_3_i_2_i_i26;
    var _52 = FHEAP[_scevgep_i_2_i_i19];
    FHEAP[_48] = _52;
    var _53 = FHEAP[_scevgep_1_i_2_i_i21];
    FHEAP[_49] = _53;
    var _54 = FHEAP[_scevgep_2_i_2_i_i23];
    FHEAP[_50] = _54;
    var _55 = FHEAP[_scevgep_3_i_2_i_i25];
    FHEAP[_51] = _55;
    var _scevgep_i_i27 = _this+68+48;
    var _scevgep4_i_i28 = _dataBuffer+128;
    var _56 = _scevgep4_i_i28;
    var _57 = FHEAP[_scevgep_i_i27];
    FHEAP[_56] = _57;
    var _scevgep_1_i_i29 = _this+68+48+4;
    var _scevgep4_1_i_i30 = _dataBuffer+132;
    var _58 = _scevgep4_1_i_i30;
    var _59 = FHEAP[_scevgep_1_i_i29];
    FHEAP[_58] = _59;
    var _scevgep_2_i_i31 = _this+68+48+8;
    var _scevgep4_2_i_i32 = _dataBuffer+136;
    var _60 = _scevgep4_2_i_i32;
    var _61 = FHEAP[_scevgep_2_i_i31];
    FHEAP[_60] = _61;
    var _scevgep_3_i_i33 = _this+68+48+12;
    var _scevgep4_3_i_i34 = _dataBuffer+140;
    var _62 = _scevgep4_3_i_i34;
    var _63 = FHEAP[_scevgep_3_i_i33];
    FHEAP[_62] = _63;
    var _64 = _dataBuffer+144;
    var _scevgep_i = _this+132;
    var _scevgep4_i = _64;
    var _65 = FHEAP[_scevgep_i];
    FHEAP[_scevgep4_i] = _65;
    var _scevgep_1_i = _this+132+4;
    var _scevgep4_1_i = _dataBuffer+148;
    var _66 = _scevgep4_1_i;
    var _67 = FHEAP[_scevgep_1_i];
    FHEAP[_66] = _67;
    var _scevgep_2_i = _this+132+8;
    var _scevgep4_2_i = _dataBuffer+152;
    var _68 = _scevgep4_2_i;
    var _69 = FHEAP[_scevgep_2_i];
    FHEAP[_68] = _69;
    var _scevgep_3_i = _this+132+12;
    var _scevgep4_3_i = _dataBuffer+156;
    var _70 = _scevgep4_3_i;
    var _71 = FHEAP[_scevgep_3_i];
    FHEAP[_70] = _71;
    var _72 = _dataBuffer+160;
    var _scevgep_i35 = _this+148;
    var _scevgep4_i36 = _72;
    var _73 = FHEAP[_scevgep_i35];
    FHEAP[_scevgep4_i36] = _73;
    var _scevgep_1_i37 = _this+148+4;
    var _scevgep4_1_i38 = _dataBuffer+164;
    var _74 = _scevgep4_1_i38;
    var _75 = FHEAP[_scevgep_1_i37];
    FHEAP[_74] = _75;
    var _scevgep_2_i39 = _this+148+8;
    var _scevgep4_2_i40 = _dataBuffer+168;
    var _76 = _scevgep4_2_i40;
    var _77 = FHEAP[_scevgep_2_i39];
    FHEAP[_76] = _77;
    var _scevgep_3_i41 = _this+148+12;
    var _scevgep4_3_i42 = _dataBuffer+172;
    var _78 = _scevgep4_3_i42;
    var _79 = FHEAP[_scevgep_3_i41];
    FHEAP[_78] = _79;
    var _80 = _dataBuffer+176;
    var _scevgep_i43 = _this+164;
    var _scevgep4_i44 = _80;
    var _81 = FHEAP[_scevgep_i43];
    FHEAP[_scevgep4_i44] = _81;
    var _scevgep_1_i45 = _this+164+4;
    var _scevgep4_1_i46 = _dataBuffer+180;
    var _82 = _scevgep4_1_i46;
    var _83 = FHEAP[_scevgep_1_i45];
    FHEAP[_82] = _83;
    var _scevgep_2_i47 = _this+164+8;
    var _scevgep4_2_i48 = _dataBuffer+184;
    var _84 = _scevgep4_2_i48;
    var _85 = FHEAP[_scevgep_2_i47];
    FHEAP[_84] = _85;
    var _scevgep_3_i49 = _this+164+12;
    var _scevgep4_3_i50 = _dataBuffer+188;
    var _86 = _scevgep4_3_i50;
    var _87 = FHEAP[_scevgep_3_i49];
    FHEAP[_86] = _87;
    var _88 = _this+180;
    var _89 = IHEAP[_88];
    var _90 = _dataBuffer+220;
    var _91 = _90;
    IHEAP[_91] = _89;
    var _92 = _this+184;
    var _93 = FHEAP[_92];
    var _94 = _dataBuffer+192;
    var _95 = _94;
    FHEAP[_95] = _93;
    var _96 = _dataBuffer;
    IHEAP[_96] = 0;
    var _97 = _serializer;
    var _98 = IHEAP[_97];
    var _99 = _98+28;
    var _100 = IHEAP[_99];
    var _101 = _this+192;
    var _102 = IHEAP[_101];
    var _103 = _100;
    var _104 = _102;
    var _105 = FUNCTION_TABLE[_103](_serializer, _104);
    var _106 = _dataBuffer+4;
    var _107 = _106;
    IHEAP[_107] = _105;
    var _108 = _dataBuffer+8;
    var _109 = _108;
    IHEAP[_109] = 0;
    var _110 = _this+204;
    var _111 = IHEAP[_110];
    var _112 = _dataBuffer+224;
    var _113 = _112;
    IHEAP[_113] = _111;
    var _114 = _this+208;
    var _115 = IHEAP[_114];
    var _116 = _dataBuffer+228;
    var _117 = _116;
    IHEAP[_117] = _115;
    var _118 = _this+212;
    var _119 = IHEAP[_118];
    var _120 = _dataBuffer+232;
    var _121 = _120;
    IHEAP[_121] = _119;
    var _122 = _this+216;
    var _123 = IHEAP[_122];
    var _124 = _dataBuffer+236;
    var _125 = _124;
    IHEAP[_125] = _123;
    var _126 = IHEAP[_122];
    IHEAP[_125] = _126;
    var _127 = _this+220;
    var _128 = FHEAP[_127];
    var _129 = _dataBuffer+196;
    var _130 = _129;
    FHEAP[_130] = _128;
    var _131 = _this+224;
    var _132 = FHEAP[_131];
    var _133 = _dataBuffer+200;
    var _134 = _133;
    FHEAP[_134] = _132;
    var _135 = _this+228;
    var _136 = FHEAP[_135];
    var _137 = _dataBuffer+204;
    var _138 = _137;
    FHEAP[_138] = _136;
    var _139 = _this+232;
    var _140 = IHEAP[_139];
    var _141 = _dataBuffer+240;
    var _142 = _141;
    IHEAP[_142] = _140;
    var _143 = IHEAP[_97];
    var _144 = _143+40;
    var _145 = IHEAP[_144];
    var _146 = _145;
    var _147 = _this;
    var _148 = FUNCTION_TABLE[_146](_serializer, _147);
    var _149 = IHEAP[_97];
    var _150 = _149+28;
    var _151 = IHEAP[_150];
    var _152 = _151;
    var _153 = FUNCTION_TABLE[_152](_serializer, _148);
    var _154 = _dataBuffer+12;
    var _155 = _154;
    IHEAP[_155] = _153;
    var _156 = _153 == 0;
    ;
    if (!_156) {
      ;
      var _157 = IHEAP[_97];
      var _158 = _157+48;
      var _159 = IHEAP[_158];
      var _160 = _159;
      FUNCTION_TABLE[_160](_serializer, _148);
      ;
    }
    var _161 = _this+240;
    var _162 = FHEAP[_161];
    var _163 = _dataBuffer+208;
    var _164 = _163;
    FHEAP[_164] = _162;
    var _165 = _this+244;
    var _166 = FHEAP[_165];
    var _167 = _dataBuffer+212;
    var _168 = _167;
    FHEAP[_168] = _166;
    var _169 = _this+248;
    var _170 = FHEAP[_169];
    var _171 = _dataBuffer+216;
    var _172 = _171;
    FHEAP[_172] = _170;
    var _173 = FHEAP[_169];
    FHEAP[_172] = _173;
    var _174 = _this+252;
    var _175 = IHEAP[_174];
    var _176 = _dataBuffer+244;
    var _177 = _176;
    IHEAP[_177] = _175;
    ;
    return __str11;
  }
  __ZNK17btCollisionObject9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK17btCollisionObject9serializeEPvP12btSerializer, "__ZNK17btCollisionObject9serializeEPvP12btSerializer");
  
  
  function __ZNK17btCollisionObject21serializeSingleObjectEP12btSerializer(_this, _serializer) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+16;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = FUNCTION_TABLE[_4](_this);
    var _6 = _serializer;
    var _7 = IHEAP[_6];
    var _8 = _7+16;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = FUNCTION_TABLE[_10](_serializer, _5, 1);
    var _12 = IHEAP[_0];
    var _13 = _12+20;
    var _14 = IHEAP[_13];
    var _15 = _11+8;
    var _16 = IHEAP[_15];
    var _17 = _14;
    var _18 = FUNCTION_TABLE[_17](_this, _16, _serializer);
    var _19 = IHEAP[_6];
    var _20 = _19+20;
    var _21 = IHEAP[_20];
    var _22 = _this;
    var _23 = _21;
    FUNCTION_TABLE[_23](_serializer, _11, _18, 1245859651, _22);
    ;
    return;
  }
  __ZNK17btCollisionObject21serializeSingleObjectEP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK17btCollisionObject21serializeSingleObjectEP12btSerializer, "__ZNK17btCollisionObject21serializeSingleObjectEP12btSerializer");
  
  
  function __ZN16btCollisionWorldC2EP12btDispatcherP21btBroadphaseInterfaceP24btCollisionConfiguration(_this, _dispatcher, _pairCache, _collisionConfiguration) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btCollisionWorld+8;
    var _1 = _this+4+16;
    IHEAP[_1] = 1;
    var _2 = _this+4+12;
    IHEAP[_2] = 0;
    var _3 = _this+4+4;
    IHEAP[_3] = 0;
    var _4 = _this+4+8;
    IHEAP[_4] = 0;
    var _5 = _this+24;
    IHEAP[_5] = _dispatcher;
    var _6 = _this+28;
    FHEAP[_6] = 0;
    var _7 = _this+28+4;
    IHEAP[_7] = 0;
    var _8 = _this+28+8;
    IHEAP[_8] = 1;
    var _9 = _this+28+12;
    FHEAP[_9] = 1;
    var _10 = _this+28+16;
    IHEAP[_10] = 0;
    var _11 = _this+28+20;
    IHEAP[_11] = 0;
    var _12 = _this+28+24;
    IHEAP[_12] = 0;
    var _13 = _this+28+25;
    IHEAP[_13] = 1;
    var _14 = _this+28+26;
    IHEAP[_14] = 1;
    var _15 = _this+28+28;
    FHEAP[_15] = 0.03999999910593033;
    var _16 = _this+28+32;
    IHEAP[_16] = 0;
    var _17 = _this+28+36;
    FHEAP[_17] = 0;
    var _18 = _this+28+40;
    IHEAP[_18] = 0;
    var _19 = _this+28+44;
    IHEAP[_19] = 0;
    var _20 = _this+80;
    IHEAP[_20] = _pairCache;
    var _21 = _this+84;
    IHEAP[_21] = 0;
    var _22 = _this+88;
    IHEAP[_22] = 1;
    var _23 = _collisionConfiguration;
    var _24 = IHEAP[_23];
    var _25 = _24+16;
    var _26 = IHEAP[_25];
    var _27 = _26;
    var _28 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_27](_collisionConfiguration) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
    if (__label__ == 345) {
      var _29 = _this+76;
      IHEAP[_29] = _28;
      IHEAP[_19] = _28;
      ;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select4 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      var _30 = IHEAP[_2];
      var _31 = _30 == 0;
      ;
      if (!_31) {
        ;
        var _32 = IHEAP[_1];
        var _toBool_i_i_i = _32 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$5013: do { 
          if (!_toBool_i_i_i) {
            ;
            var _33 = _30;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_33) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$5013; } else { ; }
            var _eh_ptr6 = _llvm_eh_exception();
            var _eh_select8 = _llvm_eh_selector(_eh_ptr6, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_2] = 0;
        ;
      }
      IHEAP[_1] = 1;
      IHEAP[_2] = 0;
      IHEAP[_3] = 0;
      IHEAP[_4] = 0;
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  __ZN16btCollisionWorldC2EP12btDispatcherP21btBroadphaseInterfaceP24btCollisionConfiguration.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorldC2EP12btDispatcherP21btBroadphaseInterfaceP24btCollisionConfiguration, "__ZN16btCollisionWorldC2EP12btDispatcherP21btBroadphaseInterfaceP24btCollisionConfiguration");
  
  
  function __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitERK9btVector3fii(_this, _hitNormalLocal, _hitFraction, _partId, _triangleIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 36;
    var __label__;
    var _shapeInfo = __stackBase__;
    var _rayResult = __stackBase__+8;
    var _0 = _shapeInfo;
    IHEAP[_0] = _partId;
    var _1 = _shapeInfo+4;
    IHEAP[_1] = _triangleIndex;
    var _2 = _this+56+32;
    var _3 = FHEAP[_2];
    var _4 = _hitNormalLocal;
    var _5 = FHEAP[_4];
    var _6 = _3 * _5;
    var _7 = _this+56+32+4;
    var _8 = FHEAP[_7];
    var _9 = _hitNormalLocal+4;
    var _10 = FHEAP[_9];
    var _11 = _8 * _10;
    var _12 = _6 + _11;
    var _13 = _this+56+32+8;
    var _14 = FHEAP[_13];
    var _15 = _hitNormalLocal+8;
    var _16 = FHEAP[_15];
    var _17 = _14 * _16;
    var _18 = _12 + _17;
    var _19 = _this+56+16;
    var _20 = FHEAP[_19];
    var _21 = _20 * _5;
    var _22 = _this+56+16+4;
    var _23 = FHEAP[_22];
    var _24 = _23 * _10;
    var _25 = _21 + _24;
    var _26 = _this+56+16+8;
    var _27 = FHEAP[_26];
    var _28 = _27 * _16;
    var _29 = _25 + _28;
    var _30 = _this+56;
    var _31 = FHEAP[_30];
    var _32 = _31 * _5;
    var _33 = _this+56+4;
    var _34 = FHEAP[_33];
    var _35 = _34 * _10;
    var _36 = _32 + _35;
    var _37 = _this+56+8;
    var _38 = FHEAP[_37];
    var _39 = _38 * _16;
    var _40 = _36 + _39;
    var _41 = _this+48;
    var _42 = IHEAP[_41];
    var _43 = _rayResult;
    IHEAP[_43] = _42;
    var _44 = _rayResult+4;
    IHEAP[_44] = _shapeInfo;
    var _45 = _rayResult+8;
    FHEAP[_45] = _40;
    var _46 = _rayResult+8+4;
    FHEAP[_46] = _29;
    var _47 = _rayResult+8+8;
    FHEAP[_47] = _18;
    var _48 = _rayResult+8+12;
    FHEAP[_48] = 0;
    var _49 = _rayResult+24;
    FHEAP[_49] = _hitFraction;
    var _50 = _this+44;
    var _51 = IHEAP[_50];
    var _52 = _51;
    var _53 = IHEAP[_52];
    var _54 = _53+12;
    var _55 = IHEAP[_54];
    var _56 = _55;
    var _57 = FUNCTION_TABLE[_56](_51, _rayResult, 1);
    STACKTOP = __stackBase__;
    return _57;
  }
  __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitERK9btVector3fii.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitERK9btVector3fii, "__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitERK9btVector3fii");
  
  
  function __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitE_0RK9btVector3fii(_this, _hitNormalLocal, _hitFraction, _partId, _triangleIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 36;
    var __label__;
    var _shapeInfo = __stackBase__;
    var _rayResult = __stackBase__+8;
    var _0 = _shapeInfo;
    IHEAP[_0] = _partId;
    var _1 = _shapeInfo+4;
    IHEAP[_1] = _triangleIndex;
    var _2 = _this+56+32;
    var _3 = FHEAP[_2];
    var _4 = _hitNormalLocal;
    var _5 = FHEAP[_4];
    var _6 = _3 * _5;
    var _7 = _this+56+32+4;
    var _8 = FHEAP[_7];
    var _9 = _hitNormalLocal+4;
    var _10 = FHEAP[_9];
    var _11 = _8 * _10;
    var _12 = _6 + _11;
    var _13 = _this+56+32+8;
    var _14 = FHEAP[_13];
    var _15 = _hitNormalLocal+8;
    var _16 = FHEAP[_15];
    var _17 = _14 * _16;
    var _18 = _12 + _17;
    var _19 = _this+56+16;
    var _20 = FHEAP[_19];
    var _21 = _20 * _5;
    var _22 = _this+56+16+4;
    var _23 = FHEAP[_22];
    var _24 = _23 * _10;
    var _25 = _21 + _24;
    var _26 = _this+56+16+8;
    var _27 = FHEAP[_26];
    var _28 = _27 * _16;
    var _29 = _25 + _28;
    var _30 = _this+56;
    var _31 = FHEAP[_30];
    var _32 = _31 * _5;
    var _33 = _this+56+4;
    var _34 = FHEAP[_33];
    var _35 = _34 * _10;
    var _36 = _32 + _35;
    var _37 = _this+56+8;
    var _38 = FHEAP[_37];
    var _39 = _38 * _16;
    var _40 = _36 + _39;
    var _41 = _this+48;
    var _42 = IHEAP[_41];
    var _43 = _rayResult;
    IHEAP[_43] = _42;
    var _44 = _rayResult+4;
    IHEAP[_44] = _shapeInfo;
    var _45 = _rayResult+8;
    FHEAP[_45] = _40;
    var _46 = _rayResult+8+4;
    FHEAP[_46] = _29;
    var _47 = _rayResult+8+8;
    FHEAP[_47] = _18;
    var _48 = _rayResult+8+12;
    FHEAP[_48] = 0;
    var _49 = _rayResult+24;
    FHEAP[_49] = _hitFraction;
    var _50 = _this+44;
    var _51 = IHEAP[_50];
    var _52 = _51;
    var _53 = IHEAP[_52];
    var _54 = _53+12;
    var _55 = IHEAP[_54];
    var _56 = _55;
    var _57 = FUNCTION_TABLE[_56](_51, _rayResult, 1);
    STACKTOP = __stackBase__;
    return _57;
  }
  __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitE_0RK9btVector3fii.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitE_0RK9btVector3fii, "__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitE_0RK9btVector3fii");
  
  
  function __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder215addSingleResultERNS_14LocalRayResultEb(_this, _r, _b) {
    var __stackBase__  = STACKTOP; STACKTOP += 8;
    var __label__;
    var _shapeInfo = __stackBase__;
    var _0 = _shapeInfo;
    IHEAP[_0] = -1;
    var _1 = _this+24;
    var _2 = IHEAP[_1];
    var _3 = _shapeInfo+4;
    IHEAP[_3] = _2;
    var _4 = _r+4;
    var _5 = IHEAP[_4];
    var _6 = _5 == 0;
    ;
    if (_6) {
      ;
      IHEAP[_4] = _shapeInfo;
      ;
    }
    var _7 = _this+20;
    var _8 = IHEAP[_7];
    var _9 = _8;
    var _10 = IHEAP[_9];
    var _11 = _10+12;
    var _12 = IHEAP[_11];
    var _13 = _12;
    var _14 = FUNCTION_TABLE[_13](_8, _r, _b);
    var _15 = IHEAP[_7];
    var _16 = _15+4;
    var _17 = FHEAP[_16];
    var _18 = _this+4;
    FHEAP[_18] = _17;
    STACKTOP = __stackBase__;
    return _14;
  }
  __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder215addSingleResultERNS_14LocalRayResultEb.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder215addSingleResultERNS_14LocalRayResultEb, "__ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder215addSingleResultERNS_14LocalRayResultEb");
  
  
  function __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitERK9btVector3SG_fii(_this, _hitNormalLocal, _hitPointLocal, _hitFraction, _partId, _triangleIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 52;
    var __label__;
    var _shapeInfo = __stackBase__;
    var _convexResult = __stackBase__+8;
    var _0 = _shapeInfo;
    IHEAP[_0] = _partId;
    var _1 = _shapeInfo+4;
    IHEAP[_1] = _triangleIndex;
    var _2 = _this+208;
    var _3 = IHEAP[_2];
    var _4 = _3+4;
    var _5 = FHEAP[_4];
    var _6 = _5 < _hitFraction;
    ;
    if (_6) {
      ;
      STACKTOP = __stackBase__;
      return _hitFraction;
    }
    else {
      ;
      var _7 = _this+212;
      var _8 = IHEAP[_7];
      var _9 = _convexResult;
      IHEAP[_9] = _8;
      var _10 = _convexResult+4;
      IHEAP[_10] = _shapeInfo;
      var _11 = _convexResult+8;
      var _12 = _hitNormalLocal;
      var _13 = FHEAP[_12];
      FHEAP[_11] = _13;
      var _14 = _convexResult+8+4;
      var _15 = _hitNormalLocal+4;
      var _16 = FHEAP[_15];
      FHEAP[_14] = _16;
      var _17 = _convexResult+8+8;
      var _18 = _hitNormalLocal+8;
      var _19 = FHEAP[_18];
      FHEAP[_17] = _19;
      var _20 = _convexResult+8+12;
      var _21 = _hitNormalLocal+12;
      var _22 = FHEAP[_21];
      FHEAP[_20] = _22;
      var _23 = _convexResult+24;
      var _24 = _hitPointLocal;
      var _25 = FHEAP[_24];
      FHEAP[_23] = _25;
      var _26 = _convexResult+24+4;
      var _27 = _hitPointLocal+4;
      var _28 = FHEAP[_27];
      FHEAP[_26] = _28;
      var _29 = _convexResult+24+8;
      var _30 = _hitPointLocal+8;
      var _31 = FHEAP[_30];
      FHEAP[_29] = _31;
      var _32 = _convexResult+24+12;
      var _33 = _hitPointLocal+12;
      var _34 = FHEAP[_33];
      FHEAP[_32] = _34;
      var _35 = _convexResult+40;
      FHEAP[_35] = _hitFraction;
      var _36 = _3;
      var _37 = IHEAP[_36];
      var _38 = _37+12;
      var _39 = IHEAP[_38];
      var _40 = _39;
      var _41 = FUNCTION_TABLE[_40](_3, _convexResult, 1);
      STACKTOP = __stackBase__;
      return _41;
    }
  }
  __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitERK9btVector3SG_fii.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitERK9btVector3SG_fii, "__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitERK9btVector3SG_fii");
  
  
  function __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitE_0RK9btVector3SG_fii(_this, _hitNormalLocal, _hitPointLocal, _hitFraction, _partId, _triangleIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 52;
    var __label__;
    var _shapeInfo = __stackBase__;
    var _convexResult = __stackBase__+8;
    var _0 = _shapeInfo;
    IHEAP[_0] = _partId;
    var _1 = _shapeInfo+4;
    IHEAP[_1] = _triangleIndex;
    var _2 = _this+208;
    var _3 = IHEAP[_2];
    var _4 = _3+4;
    var _5 = FHEAP[_4];
    var _6 = _5 < _hitFraction;
    ;
    if (_6) {
      ;
      STACKTOP = __stackBase__;
      return _hitFraction;
    }
    else {
      ;
      var _7 = _this+212;
      var _8 = IHEAP[_7];
      var _9 = _convexResult;
      IHEAP[_9] = _8;
      var _10 = _convexResult+4;
      IHEAP[_10] = _shapeInfo;
      var _11 = _convexResult+8;
      var _12 = _hitNormalLocal;
      var _13 = FHEAP[_12];
      FHEAP[_11] = _13;
      var _14 = _convexResult+8+4;
      var _15 = _hitNormalLocal+4;
      var _16 = FHEAP[_15];
      FHEAP[_14] = _16;
      var _17 = _convexResult+8+8;
      var _18 = _hitNormalLocal+8;
      var _19 = FHEAP[_18];
      FHEAP[_17] = _19;
      var _20 = _convexResult+8+12;
      var _21 = _hitNormalLocal+12;
      var _22 = FHEAP[_21];
      FHEAP[_20] = _22;
      var _23 = _convexResult+24;
      var _24 = _hitPointLocal;
      var _25 = FHEAP[_24];
      FHEAP[_23] = _25;
      var _26 = _convexResult+24+4;
      var _27 = _hitPointLocal+4;
      var _28 = FHEAP[_27];
      FHEAP[_26] = _28;
      var _29 = _convexResult+24+8;
      var _30 = _hitPointLocal+8;
      var _31 = FHEAP[_30];
      FHEAP[_29] = _31;
      var _32 = _convexResult+24+12;
      var _33 = _hitPointLocal+12;
      var _34 = FHEAP[_33];
      FHEAP[_32] = _34;
      var _35 = _convexResult+40;
      FHEAP[_35] = _hitFraction;
      var _36 = _3;
      var _37 = IHEAP[_36];
      var _38 = _37+12;
      var _39 = IHEAP[_38];
      var _40 = _39;
      var _41 = FUNCTION_TABLE[_40](_3, _convexResult, 0);
      STACKTOP = __stackBase__;
      return _41;
    }
  }
  __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitE_0RK9btVector3SG_fii.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitE_0RK9btVector3SG_fii, "__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitE_0RK9btVector3SG_fii");
  
  
  function __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdder15addSingleResultERNS_17LocalConvexResultEb(_this, _r, _b) {
    var __stackBase__  = STACKTOP; STACKTOP += 8;
    var __label__;
    var _shapeInfo = __stackBase__;
    var _0 = _shapeInfo;
    IHEAP[_0] = -1;
    var _1 = _this+16;
    var _2 = IHEAP[_1];
    var _3 = _shapeInfo+4;
    IHEAP[_3] = _2;
    var _4 = _r+4;
    var _5 = IHEAP[_4];
    var _6 = _5 == 0;
    ;
    if (_6) {
      ;
      IHEAP[_4] = _shapeInfo;
      ;
    }
    var _7 = _this+12;
    var _8 = IHEAP[_7];
    var _9 = _8;
    var _10 = IHEAP[_9];
    var _11 = _10+12;
    var _12 = IHEAP[_11];
    var _13 = _12;
    var _14 = FUNCTION_TABLE[_13](_8, _r, _b);
    var _15 = IHEAP[_7];
    var _16 = _15+4;
    var _17 = FHEAP[_16];
    var _18 = _this+4;
    FHEAP[_18] = _17;
    STACKTOP = __stackBase__;
    return _14;
  }
  __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdder15addSingleResultERNS_17LocalConvexResultEb.__index__ = Runtime.getFunctionIndex(__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdder15addSingleResultERNS_17LocalConvexResultEb, "__ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdder15addSingleResultERNS_17LocalConvexResultEb");
  
  
  function __ZN23btBridgedManifoldResult15addContactPointERK9btVector3S2_f(_this, _normalOnBInWorld, _pointInWorld, _depth) {
    var __stackBase__  = STACKTOP; STACKTOP += 276;
    var __label__;
    var __lastLabel__ = null;
    var _newPt = __stackBase__;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1+1108;
    var _3 = IHEAP[_2];
    var _4 = _this+136;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = _3 != _6;
    var _8 = _normalOnBInWorld+8;
    var _9 = FHEAP[_8];
    var _10 = _9 * _depth;
    var _11 = _normalOnBInWorld+4;
    var _12 = FHEAP[_11];
    var _13 = _12 * _depth;
    var _14 = _normalOnBInWorld;
    var _15 = FHEAP[_14];
    var _16 = _15 * _depth;
    var _17 = _pointInWorld+8;
    var _18 = FHEAP[_17];
    var _19 = _18 + _10;
    var _20 = _pointInWorld+4;
    var _21 = FHEAP[_20];
    var _22 = _21 + _13;
    var _23 = _pointInWorld;
    var _24 = FHEAP[_23];
    var _25 = _24 + _16;
    ;
    if (_7) {
      ;
      var _26 = _this+72+48+8;
      var _27 = FHEAP[_26];
      var _28 = _19 - _27;
      var _29 = _this+72+48+4;
      var _30 = FHEAP[_29];
      var _31 = _22 - _30;
      var _32 = _this+72+48;
      var _33 = FHEAP[_32];
      var _34 = _25 - _33;
      var _35 = _this+72+32+8;
      var _36 = _this+72+16+8;
      var _37 = _this+72+8;
      var _38 = _this+72+32+4;
      var _39 = _this+72+16+4;
      var _40 = _this+72+4;
      var _41 = _this+72+32;
      var _42 = _this+72+16;
      var _43 = _this+72;
      var _44 = FHEAP[_43];
      var _45 = FHEAP[_42];
      var _46 = FHEAP[_41];
      var _47 = FHEAP[_40];
      var _48 = FHEAP[_39];
      var _49 = FHEAP[_38];
      var _50 = FHEAP[_37];
      var _51 = FHEAP[_36];
      var _52 = FHEAP[_35];
      var _53 = _50 * _34;
      var _54 = _51 * _31;
      var _55 = _53 + _54;
      var _56 = _52 * _28;
      var _57 = _55 + _56;
      var _58 = _47 * _34;
      var _59 = _48 * _31;
      var _60 = _58 + _59;
      var _61 = _49 * _28;
      var _62 = _60 + _61;
      var _63 = _44 * _34;
      var _64 = _45 * _31;
      var _65 = _63 + _64;
      var _66 = _46 * _28;
      var _67 = _65 + _66;
      var _68 = _this+8+48+8;
      var _69 = FHEAP[_68];
      var _70 = _18 - _69;
      var _71 = _this+8+48+4;
      var _72 = FHEAP[_71];
      var _73 = _21 - _72;
      var _74 = _this+8+48;
      var _75 = FHEAP[_74];
      var _76 = _24 - _75;
      var _77 = _this+8+32+8;
      var _78 = _this+8+16+8;
      var _79 = _this+8+8;
      var _80 = _this+8+32+4;
      var _81 = _this+8+16+4;
      var _82 = _this+8+4;
      var _83 = _this+8+32;
      var _84 = _this+8+16;
      var _85 = _this+8;
      var _86 = FHEAP[_85];
      var _87 = FHEAP[_84];
      var _88 = FHEAP[_83];
      var _89 = FHEAP[_82];
      var _90 = FHEAP[_81];
      var _91 = FHEAP[_80];
      var _92 = FHEAP[_79];
      var _93 = FHEAP[_78];
      var _94 = FHEAP[_77];
      var _95 = _92 * _76;
      var _96 = _93 * _73;
      var _97 = _95 + _96;
      var _98 = _94 * _70;
      var _99 = _97 + _98;
      var _100 = _89 * _76;
      var _101 = _90 * _73;
      var _102 = _100 + _101;
      var _103 = _91 * _70;
      var _104 = _102 + _103;
      var _105 = _86 * _76;
      var _106 = _87 * _73;
      var _107 = _105 + _106;
      var _108 = _88 * _70;
      var _109 = _107 + _108;
      __lastLabel__ = 60; ;
    }
    else {
      ;
      var _110 = _this+8+48+8;
      var _111 = FHEAP[_110];
      var _112 = _19 - _111;
      var _113 = _this+8+48+4;
      var _114 = FHEAP[_113];
      var _115 = _22 - _114;
      var _116 = _this+8+48;
      var _117 = FHEAP[_116];
      var _118 = _25 - _117;
      var _119 = _this+8+32+8;
      var _120 = _this+8+16+8;
      var _121 = _this+8+8;
      var _122 = _this+8+32+4;
      var _123 = _this+8+16+4;
      var _124 = _this+8+4;
      var _125 = _this+8+32;
      var _126 = _this+8+16;
      var _127 = _this+8;
      var _128 = FHEAP[_127];
      var _129 = FHEAP[_126];
      var _130 = FHEAP[_125];
      var _131 = FHEAP[_124];
      var _132 = FHEAP[_123];
      var _133 = FHEAP[_122];
      var _134 = FHEAP[_121];
      var _135 = FHEAP[_120];
      var _136 = FHEAP[_119];
      var _137 = _134 * _118;
      var _138 = _135 * _115;
      var _139 = _137 + _138;
      var _140 = _136 * _112;
      var _141 = _139 + _140;
      var _142 = _131 * _118;
      var _143 = _132 * _115;
      var _144 = _142 + _143;
      var _145 = _133 * _112;
      var _146 = _144 + _145;
      var _147 = _128 * _118;
      var _148 = _129 * _115;
      var _149 = _147 + _148;
      var _150 = _130 * _112;
      var _151 = _149 + _150;
      var _152 = _this+72+48+8;
      var _153 = FHEAP[_152];
      var _154 = _18 - _153;
      var _155 = _this+72+48+4;
      var _156 = FHEAP[_155];
      var _157 = _21 - _156;
      var _158 = _this+72+48;
      var _159 = FHEAP[_158];
      var _160 = _24 - _159;
      var _161 = _this+72+32+8;
      var _162 = _this+72+16+8;
      var _163 = _this+72+8;
      var _164 = _this+72+32+4;
      var _165 = _this+72+16+4;
      var _166 = _this+72+4;
      var _167 = _this+72+32;
      var _168 = _this+72+16;
      var _169 = _this+72;
      var _170 = FHEAP[_169];
      var _171 = FHEAP[_168];
      var _172 = FHEAP[_167];
      var _173 = FHEAP[_166];
      var _174 = FHEAP[_165];
      var _175 = FHEAP[_164];
      var _176 = FHEAP[_163];
      var _177 = FHEAP[_162];
      var _178 = FHEAP[_161];
      var _179 = _176 * _160;
      var _180 = _177 * _157;
      var _181 = _179 + _180;
      var _182 = _178 * _154;
      var _183 = _181 + _182;
      var _184 = _173 * _160;
      var _185 = _174 * _157;
      var _186 = _184 + _185;
      var _187 = _175 * _154;
      var _188 = _186 + _187;
      var _189 = _170 * _160;
      var _190 = _171 * _157;
      var _191 = _189 + _190;
      var _192 = _172 * _154;
      var _193 = _191 + _192;
      __lastLabel__ = 0; ;
    }
    var _localA_0_0_0 = __lastLabel__ == 60 ? _67 : (_151);
    var _localA_0_1_0 = __lastLabel__ == 60 ? _62 : (_146);
    var _localA_0_2_0 = __lastLabel__ == 60 ? _57 : (_141);
    var _localB_0_0_0 = __lastLabel__ == 60 ? _109 : (_193);
    var _localB_0_1_0 = __lastLabel__ == 60 ? _104 : (_188);
    var _localB_0_2_0 = __lastLabel__ == 60 ? _99 : (_183);
    var _194 = _newPt;
    FHEAP[_194] = _localA_0_0_0;
    var _195 = _newPt+4;
    FHEAP[_195] = _localA_0_1_0;
    var _196 = _newPt+8;
    FHEAP[_196] = _localA_0_2_0;
    var _197 = _newPt+12;
    FHEAP[_197] = 0;
    var _198 = _newPt+16;
    FHEAP[_198] = _localB_0_0_0;
    var _199 = _newPt+16+4;
    FHEAP[_199] = _localB_0_1_0;
    var _200 = _newPt+16+8;
    FHEAP[_200] = _localB_0_2_0;
    var _201 = _newPt+16+12;
    FHEAP[_201] = 0;
    var _202 = _newPt+64;
    FHEAP[_202] = _15;
    var _203 = _newPt+64+4;
    FHEAP[_203] = _12;
    var _204 = _newPt+64+8;
    FHEAP[_204] = _9;
    var _205 = _newPt+64+12;
    var _206 = _normalOnBInWorld+12;
    var _207 = FHEAP[_206];
    FHEAP[_205] = _207;
    var _208 = _newPt+80;
    FHEAP[_208] = _depth;
    var _209 = _newPt+84;
    FHEAP[_209] = 0;
    var _210 = _newPt+88;
    FHEAP[_210] = 0;
    var _211 = _newPt+108;
    IHEAP[_211] = 0;
    var _212 = _newPt+112;
    FHEAP[_212] = 0;
    var _213 = _newPt+116;
    IHEAP[_213] = 0;
    var _214 = _newPt+120;
    FHEAP[_214] = 0;
    var _215 = _newPt+124;
    FHEAP[_215] = 0;
    var _216 = _newPt+128;
    FHEAP[_216] = 0;
    var _217 = _newPt+132;
    FHEAP[_217] = 0;
    var _218 = _newPt+136;
    FHEAP[_218] = 0;
    var _219 = _newPt+140;
    FHEAP[_219] = 0;
    var _220 = _newPt+144;
    IHEAP[_220] = 0;
    var _221 = _newPt+180+28;
    FHEAP[_221] = 0;
    var _222 = _newPt+180+32+28;
    FHEAP[_222] = 0;
    var _223 = _newPt+180+64+28;
    FHEAP[_223] = 0;
    var _224 = _newPt+48;
    FHEAP[_224] = _25;
    var _225 = _newPt+48+4;
    FHEAP[_225] = _22;
    var _226 = _newPt+48+8;
    FHEAP[_226] = _19;
    var _227 = _newPt+48+12;
    FHEAP[_227] = 0;
    var _228 = _newPt+32;
    FHEAP[_228] = _24;
    var _229 = _newPt+32+4;
    FHEAP[_229] = _21;
    var _230 = _newPt+32+8;
    FHEAP[_230] = _18;
    var _231 = _newPt+32+12;
    var _232 = _pointInWorld+12;
    var _233 = FHEAP[_232];
    FHEAP[_231] = _233;
    ;
    if (_7) {
      ;
      var _234 = _this+148;
      var _235 = IHEAP[_234];
      var _236 = _newPt+92;
      IHEAP[_236] = _235;
      var _237 = _this+144;
      var _238 = IHEAP[_237];
      var _239 = _newPt+96;
      IHEAP[_239] = _238;
      var _240 = _this+156;
      var _241 = IHEAP[_240];
      var _242 = _newPt+100;
      IHEAP[_242] = _241;
      var _243 = _this+152;
      var _244 = IHEAP[_243];
      var _245 = _newPt+104;
      IHEAP[_245] = _244;
      var _246 = _this+140;
      var _iftmp_373_039_pre = IHEAP[_246];
      __lastLabel__ = 1110; ;
    }
    else {
      ;
      var _247 = _this+144;
      var _248 = IHEAP[_247];
      var _249 = _newPt+92;
      IHEAP[_249] = _248;
      var _250 = _this+148;
      var _251 = IHEAP[_250];
      var _252 = _newPt+96;
      IHEAP[_252] = _251;
      var _253 = _this+152;
      var _254 = IHEAP[_253];
      var _255 = _newPt+100;
      IHEAP[_255] = _254;
      var _256 = _this+156;
      var _257 = IHEAP[_256];
      var _258 = _newPt+104;
      IHEAP[_258] = _257;
      var _259 = _this+140;
      __lastLabel__ = 62; ;
    }
    var _260 = __lastLabel__ == 1110 ? _235 : (_248);
    var _261 = __lastLabel__ == 1110 ? _241 : (_254);
    var _262 = __lastLabel__ == 1110 ? _238 : (_251);
    var _263 = __lastLabel__ == 1110 ? _244 : (_257);
    var _iftmp_373_039 = __lastLabel__ == 1110 ? _iftmp_373_039_pre : (_5);
    var _iftmp_374_0_in = __lastLabel__ == 1110 ? _4 : (_259);
    var _iftmp_374_0 = IHEAP[_iftmp_374_0_in];
    var _264 = _this+160;
    var _265 = IHEAP[_264];
    var _266 = _265;
    var _267 = IHEAP[_266];
    var _268 = _267+12;
    var _269 = IHEAP[_268];
    var _270 = _269;
    var _271 = FUNCTION_TABLE[_270](_265, _newPt, _iftmp_373_039, _260, _261, _iftmp_374_0, _262, _263);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN23btBridgedManifoldResult15addContactPointERK9btVector3S2_f.__index__ = Runtime.getFunctionIndex(__ZN23btBridgedManifoldResult15addContactPointERK9btVector3S2_f, "__ZN23btBridgedManifoldResult15addContactPointERK9btVector3S2_f");
  
  
  function __ZN23btSingleContactCallback7processEPK17btBroadphaseProxy(_this, _proxy) {
    var __stackBase__  = STACKTOP; STACKTOP += 164;
    var __label__;
    var _contactPointResult = __stackBase__;
    var _0 = _proxy;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = _this+4;
    var _4 = IHEAP[_3];
    var _5 = _4 == _2;
    ;
    _bb7$_bb1$5078: do { 
      if (!_5) {
        ;
        var _6 = _this+12;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+8;
        var _11 = IHEAP[_10];
        var _12 = _1+188;
        var _13 = _12;
        var _14 = IHEAP[_13];
        var _15 = _11;
        var _16 = FUNCTION_TABLE[_15](_7, _14);
        var _toBool = _16 == 0;
        if (_toBool) { __label__ = 2; /* _bb7 */ break _bb7$_bb1$5078; }
        var _17 = _this+8;
        var _18 = IHEAP[_17];
        var _19 = _18+24;
        var _20 = IHEAP[_19];
        var _21 = _20;
        var _22 = IHEAP[_21];
        var _23 = _22+8;
        var _24 = IHEAP[_23];
        var _25 = IHEAP[_3];
        var _26 = _24;
        var _27 = FUNCTION_TABLE[_26](_20, _25, _2, 0);
        var _28 = _27 == 0;
        if (_28) { __label__ = 2; /* _bb7 */ break _bb7$_bb1$5078; }
        var _29 = IHEAP[_6];
        var _30 = IHEAP[_3];
        var _31 = _contactPointResult;
        __ZN16btManifoldResultC2EP17btCollisionObjectS1_(_31, _30, _2);
        var _32 = _contactPointResult;
        IHEAP[_32] = __ZTV23btBridgedManifoldResult+8;
        var _33 = _contactPointResult+160;
        IHEAP[_33] = _29;
        var _34 = _27;
        var _35 = IHEAP[_34];
        var _36 = _35+8;
        var _37 = IHEAP[_36];
        var _38 = IHEAP[_17];
        var _39 = _38+28;
        var _40 = IHEAP[_3];
        var _41 = _37;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_41](_27, _40, _2, _39, _31) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        _invcont$_lpad$5082: do { 
          if (__label__ == 345) {
            var _42 = IHEAP[_34];
            var _43 = IHEAP[_42];
            var _44 = _43;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_44](_27) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$5082; }
            var _45 = IHEAP[_17];
            var _46 = _45+24;
            var _47 = IHEAP[_46];
            var _48 = _47;
            var _49 = IHEAP[_48];
            var _50 = _49+52;
            var _51 = IHEAP[_50];
            var _52 = _51;
            var _53 = _27;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_52](_47, _53) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2; /* _bb7 */ break _bb7$_bb1$5078; } else { ; }
          }
        } while(0);
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select13 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        IHEAP[_32] = __ZTV23btBridgedManifoldResult+8;
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    STACKTOP = __stackBase__;
    return 1;
  }
  __ZN23btSingleContactCallback7processEPK17btBroadphaseProxy.__index__ = Runtime.getFunctionIndex(__ZN23btSingleContactCallback7processEPK17btBroadphaseProxy, "__ZN23btSingleContactCallback7processEPK17btBroadphaseProxy");
  
  
  function __ZN17DebugDrawcallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17DebugDrawcallback+8;
    var _1 = _this+4;
    IHEAP[_1] = __ZTV17DebugDrawcallback+32;
    var _2 = _this;
    var _3 = _2 + 4;
    var _4 = _3;
    var _5 = _4;
    (function() { try { __THREW__ = false; return __ZN31btInternalTriangleIndexCallbackD2Ev(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 116; /* _bb3 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 116) {
      var _6 = _this;
      __ZN18btTriangleCallbackD2Ev(_6);
      ;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      var _7 = _this;
      (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_7) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
      if (__label__ == 1554) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3761) {
        var _eh_ptr10 = _llvm_eh_exception();
        var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZN17DebugDrawcallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN17DebugDrawcallbackD1Ev, "__ZN17DebugDrawcallbackD1Ev");
  
  
  function __ZN17DebugDrawcallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17DebugDrawcallback+8;
    var _1 = _this+4;
    IHEAP[_1] = __ZTV17DebugDrawcallback+32;
    var _2 = _this;
    var _3 = _2 + 4;
    var _4 = _3;
    var _5 = _4;
    (function() { try { __THREW__ = false; return __ZN31btInternalTriangleIndexCallbackD2Ev(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 116; /* _bb3 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 116) {
      var _6 = _this;
      __ZN18btTriangleCallbackD2Ev(_6);
      var _7 = _this;
      __ZdlPv(_7);
      ;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      var _8 = _this;
      (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_8) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
      if (__label__ == 1554) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3761) {
        var _eh_ptr10 = _llvm_eh_exception();
        var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZN17DebugDrawcallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN17DebugDrawcallbackD0Ev, "__ZN17DebugDrawcallbackD0Ev");
  
  
  function __ZN17DebugDrawcallback15processTriangleEP9btVector3ii(_this, _triangle, _partId, _triangleIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 96;
    var __label__;
    var _0 = __stackBase__;
    var _wv0 = __stackBase__+16;
    var _wv1 = __stackBase__+32;
    var _wv2 = __stackBase__+48;
    var _center = __stackBase__+64;
    var _normalColor = __stackBase__+80;
    var _1 = _this+28+32;
    var _2 = FHEAP[_1];
    var _3 = _triangle;
    var _4 = FHEAP[_3];
    var _5 = _2 * _4;
    var _6 = _this+28+32+4;
    var _7 = FHEAP[_6];
    var _8 = _triangle+4;
    var _9 = FHEAP[_8];
    var _10 = _7 * _9;
    var _11 = _5 + _10;
    var _12 = _this+28+32+8;
    var _13 = FHEAP[_12];
    var _14 = _triangle+8;
    var _15 = FHEAP[_14];
    var _16 = _13 * _15;
    var _17 = _11 + _16;
    var _18 = _this+28+48+8;
    var _19 = FHEAP[_18];
    var _20 = _17 + _19;
    var _21 = _this+28+16;
    var _22 = FHEAP[_21];
    var _23 = _22 * _4;
    var _24 = _this+28+16+4;
    var _25 = FHEAP[_24];
    var _26 = _25 * _9;
    var _27 = _23 + _26;
    var _28 = _this+28+16+8;
    var _29 = FHEAP[_28];
    var _30 = _29 * _15;
    var _31 = _27 + _30;
    var _32 = _this+28+48+4;
    var _33 = FHEAP[_32];
    var _34 = _31 + _33;
    var _35 = _this+28;
    var _36 = FHEAP[_35];
    var _37 = _36 * _4;
    var _38 = _this+28+4;
    var _39 = FHEAP[_38];
    var _40 = _39 * _9;
    var _41 = _37 + _40;
    var _42 = _this+28+8;
    var _43 = FHEAP[_42];
    var _44 = _43 * _15;
    var _45 = _41 + _44;
    var _46 = _this+28+48;
    var _47 = FHEAP[_46];
    var _48 = _45 + _47;
    var _49 = _wv0;
    FHEAP[_49] = _48;
    var _50 = _wv0+4;
    FHEAP[_50] = _34;
    var _51 = _wv0+8;
    FHEAP[_51] = _20;
    var _52 = _wv0+12;
    FHEAP[_52] = 0;
    var _53 = _triangle+16;
    var _54 = FHEAP[_53];
    var _55 = _2 * _54;
    var _56 = _triangle+16+4;
    var _57 = FHEAP[_56];
    var _58 = _7 * _57;
    var _59 = _55 + _58;
    var _60 = _triangle+16+8;
    var _61 = FHEAP[_60];
    var _62 = _13 * _61;
    var _63 = _59 + _62;
    var _64 = _63 + _19;
    var _65 = _22 * _54;
    var _66 = _25 * _57;
    var _67 = _65 + _66;
    var _68 = _29 * _61;
    var _69 = _67 + _68;
    var _70 = _69 + _33;
    var _71 = _36 * _54;
    var _72 = _39 * _57;
    var _73 = _71 + _72;
    var _74 = _43 * _61;
    var _75 = _73 + _74;
    var _76 = _75 + _47;
    var _77 = _wv1;
    FHEAP[_77] = _76;
    var _78 = _wv1+4;
    FHEAP[_78] = _70;
    var _79 = _wv1+8;
    FHEAP[_79] = _64;
    var _80 = _wv1+12;
    FHEAP[_80] = 0;
    var _81 = _triangle+32;
    var _82 = FHEAP[_81];
    var _83 = _2 * _82;
    var _84 = _triangle+32+4;
    var _85 = FHEAP[_84];
    var _86 = _7 * _85;
    var _87 = _83 + _86;
    var _88 = _triangle+32+8;
    var _89 = FHEAP[_88];
    var _90 = _13 * _89;
    var _91 = _87 + _90;
    var _92 = _91 + _19;
    var _93 = _22 * _82;
    var _94 = _25 * _85;
    var _95 = _93 + _94;
    var _96 = _29 * _89;
    var _97 = _95 + _96;
    var _98 = _97 + _33;
    var _99 = _36 * _82;
    var _100 = _39 * _85;
    var _101 = _99 + _100;
    var _102 = _43 * _89;
    var _103 = _101 + _102;
    var _104 = _103 + _47;
    var _105 = _wv2;
    FHEAP[_105] = _104;
    var _106 = _wv2+4;
    FHEAP[_106] = _98;
    var _107 = _wv2+8;
    FHEAP[_107] = _92;
    var _108 = _wv2+12;
    FHEAP[_108] = 0;
    var _109 = _20 + _64;
    var _110 = _34 + _70;
    var _111 = _48 + _76;
    var _112 = _109 + _92;
    var _113 = _110 + _98;
    var _114 = _111 + _104;
    var _115 = _112 * 0.3333333432674408;
    var _116 = _113 * 0.3333333432674408;
    var _117 = _114 * 0.3333333432674408;
    var _118 = _center;
    FHEAP[_118] = _117;
    var _119 = _center+4;
    FHEAP[_119] = _116;
    var _120 = _center+8;
    FHEAP[_120] = _115;
    var _121 = _center+12;
    FHEAP[_121] = 0;
    var _122 = _92 - _20;
    var _123 = _98 - _34;
    var _124 = _104 - _48;
    var _125 = _64 - _20;
    var _126 = _70 - _34;
    var _127 = _76 - _48;
    var _128 = _127 * _123;
    var _129 = _126 * _124;
    var _130 = _128 - _129;
    var _131 = _125 * _124;
    var _132 = _127 * _122;
    var _133 = _131 - _132;
    var _134 = _126 * _122;
    var _135 = _125 * _123;
    var _136 = _134 - _135;
    var _137 = _136 * _136;
    var _138 = _133 * _133;
    var _139 = _137 + _138;
    var _140 = _130 * _130;
    var _141 = _139 + _140;
    var _142 = _sqrtf(_141);
    var _143 = 1 / _142;
    var _144 = _136 * _143;
    var _145 = _133 * _143;
    var _146 = _130 * _143;
    var _147 = _normalColor;
    FHEAP[_147] = 1;
    var _148 = _normalColor+4;
    FHEAP[_148] = 1;
    var _149 = _normalColor+8;
    FHEAP[_149] = 0;
    var _150 = _normalColor+12;
    FHEAP[_150] = 0;
    var _151 = _this+8;
    var _152 = IHEAP[_151];
    var _153 = _152;
    var _154 = IHEAP[_153];
    var _155 = _154+8;
    var _156 = IHEAP[_155];
    var _157 = _115 + _146;
    var _158 = _116 + _145;
    var _159 = _117 + _144;
    var _160 = _0;
    FHEAP[_160] = _159;
    var _161 = _0+4;
    FHEAP[_161] = _158;
    var _162 = _0+8;
    FHEAP[_162] = _157;
    var _163 = _0+12;
    FHEAP[_163] = 0;
    var _164 = _156;
    FUNCTION_TABLE[_164](_152, _center, _0, _normalColor);
    var _165 = IHEAP[_151];
    var _166 = _165;
    var _167 = IHEAP[_166];
    var _168 = _167+8;
    var _169 = IHEAP[_168];
    var _170 = _this+12;
    var _171 = _169;
    FUNCTION_TABLE[_171](_165, _wv0, _wv1, _170);
    var _172 = IHEAP[_151];
    var _173 = _172;
    var _174 = IHEAP[_173];
    var _175 = _174+8;
    var _176 = IHEAP[_175];
    var _177 = _176;
    FUNCTION_TABLE[_177](_172, _wv1, _wv2, _170);
    var _178 = IHEAP[_151];
    var _179 = _178;
    var _180 = IHEAP[_179];
    var _181 = _180+8;
    var _182 = IHEAP[_181];
    var _183 = _182;
    FUNCTION_TABLE[_183](_178, _wv2, _wv0, _170);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN17DebugDrawcallback15processTriangleEP9btVector3ii.__index__ = Runtime.getFunctionIndex(__ZN17DebugDrawcallback15processTriangleEP9btVector3ii, "__ZN17DebugDrawcallback15processTriangleEP9btVector3ii");
  
  
  function __ZThn4_N17DebugDrawcallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = _0 + -4;
    var _2 = _1;
    var _3 = _2;
    IHEAP[_3] = __ZTV17DebugDrawcallback+8;
    var _4 = _2+4;
    IHEAP[_4] = __ZTV17DebugDrawcallback+32;
    var _5 = _this;
    (function() { try { __THREW__ = false; return __ZN31btInternalTriangleIndexCallbackD2Ev(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3821; /* __ZN17DebugDrawcallbackD1Ev_exit */  } else { __label__ = 3822; /* _lpad_i */  }
    if (__label__ == 3821) {
      var _7 = _2;
      __ZN18btTriangleCallbackD2Ev(_7);
      ;
      return;
    }
    else if (__label__ == 3822) {
      var _eh_ptr_i = _llvm_eh_exception();
      var _eh_select8_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
      var _6 = _2;
      (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3823; /* _invcont1_i */  } else { __label__ = 3824; /* _lpad9_i */  }
      if (__label__ == 3823) {
        __Unwind_Resume_or_Rethrow(_eh_ptr_i);
        // unreachable
      }
      else if (__label__ == 3824) {
        var _eh_ptr10_i = _llvm_eh_exception();
        var _eh_select12_i = _llvm_eh_selector(_eh_ptr10_i, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZThn4_N17DebugDrawcallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZThn4_N17DebugDrawcallbackD1Ev, "__ZThn4_N17DebugDrawcallbackD1Ev");
  
  
  function __ZThn4_N17DebugDrawcallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = _0 + -4;
    var _2 = _1;
    var _3 = _2;
    IHEAP[_3] = __ZTV17DebugDrawcallback+8;
    var _4 = _2+4;
    IHEAP[_4] = __ZTV17DebugDrawcallback+32;
    var _5 = _this;
    (function() { try { __THREW__ = false; return __ZN31btInternalTriangleIndexCallbackD2Ev(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3825; /* __ZN17DebugDrawcallbackD0Ev_exit */  } else { __label__ = 3822; /* _lpad_i */  }
    if (__label__ == 3825) {
      var _7 = _2;
      __ZN18btTriangleCallbackD2Ev(_7);
      var _8 = _1;
      __ZdlPv(_8);
      ;
      return;
    }
    else if (__label__ == 3822) {
      var _eh_ptr_i = _llvm_eh_exception();
      var _eh_select8_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
      var _6 = _2;
      (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3823; /* _invcont1_i */  } else { __label__ = 3824; /* _lpad9_i */  }
      if (__label__ == 3823) {
        __Unwind_Resume_or_Rethrow(_eh_ptr_i);
        // unreachable
      }
      else if (__label__ == 3824) {
        var _eh_ptr10_i = _llvm_eh_exception();
        var _eh_select12_i = _llvm_eh_selector(_eh_ptr10_i, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZThn4_N17DebugDrawcallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZThn4_N17DebugDrawcallbackD0Ev, "__ZThn4_N17DebugDrawcallbackD0Ev");
  
  
  function __ZN16btCollisionWorld14debugDrawWorldEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 80;
    var __label__;
    var __lastLabel__ = null;
    var _color = __stackBase__;
    var _color31 = __stackBase__+16;
    var _minAabb = __stackBase__+32;
    var _maxAabb = __stackBase__+48;
    var _colorvec = __stackBase__+64;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+16;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = FUNCTION_TABLE[_4](_this);
    var _6 = _5 == 0;
    ;
    _bb10$_bb$5119: do { 
      if (!_6) {
        ;
        var _7 = IHEAP[_0];
        var _8 = _7+16;
        var _9 = IHEAP[_8];
        var _10 = _9;
        var _11 = FUNCTION_TABLE[_10](_this);
        var _12 = _11;
        var _13 = IHEAP[_12];
        var _14 = _13+48;
        var _15 = IHEAP[_14];
        var _16 = _15;
        var _17 = FUNCTION_TABLE[_16](_11);
        var _18 = _17 & 8;
        var _19 = _18 == 0;
        if (_19) { __label__ = 150; /* _bb10 */ break _bb10$_bb$5119; }
        var _20 = _this+24;
        var _21 = IHEAP[_20];
        var _22 = _21;
        var _23 = IHEAP[_22];
        var _24 = _23+36;
        var _25 = IHEAP[_24];
        var _26 = _25;
        var _27 = FUNCTION_TABLE[_26](_21);
        var _28 = _color;
        FHEAP[_28] = 0;
        var _29 = _color+4;
        FHEAP[_29] = 0;
        var _30 = _color+8;
        FHEAP[_30] = 0;
        var _31 = _color+12;
        FHEAP[_31] = 0;
        var _32 = _27 > 0;
        if (_32) { __lastLabel__ = 61; ; } else { __lastLabel__ = 61; __label__ = 150; /* _bb10 */ break _bb10$_bb$5119; }
        _bb5$5122: while(1) { // _bb5
          var _33 = __lastLabel__ == 148 ? _57 : (0);
          var _34 = IHEAP[_20];
          var _35 = _34;
          var _36 = IHEAP[_35];
          var _37 = _36+40;
          var _38 = IHEAP[_37];
          var _39 = _38;
          var _40 = FUNCTION_TABLE[_39](_34, _33);
          var _41 = _40+1116;
          var _42 = IHEAP[_41];
          var _43 = _42 > 0;
          if (_43) { __lastLabel__ = 82; __label__ = 83; /* _bb6 */  } else { __lastLabel__ = 82; __label__ = 148; /* _bb8 */  }
          _bb6$_bb8$5124: while(1) { // _bb6,_bb8
            if (__label__ == 83) {
              var _j_082 = __lastLabel__ == 83 ? _56 : (0);
              var _scevgep = _40+4+_j_082*276+144;
              var _scevgep87 = _40+4+_j_082*276+80;
              var _scevgep88 = _40+4+_j_082*276+64;
              var _scevgep8889 = _scevgep88;
              var _scevgep90 = _40+4+_j_082*276+32;
              var _scevgep9091 = _scevgep90;
              var _44 = IHEAP[_0];
              var _45 = _44+16;
              var _46 = IHEAP[_45];
              var _47 = _46;
              var _48 = FUNCTION_TABLE[_47](_this);
              var _49 = _48;
              var _50 = IHEAP[_49];
              var _51 = _50+32;
              var _52 = IHEAP[_51];
              var _53 = IHEAP[_scevgep];
              var _54 = FHEAP[_scevgep87];
              var _55 = _52;
              FUNCTION_TABLE[_55](_48, _scevgep9091, _scevgep8889, _54, _53, _color);
              var _56 = _j_082 + 1;
              var _exitcond = _56 == _42;
              if (_exitcond) { __lastLabel__ = 83; __label__ = 148; /* _bb8 */ continue _bb6$_bb8$5124; } else { __lastLabel__ = 83; __label__ = 83; /* _bb6 */ continue _bb6$_bb8$5124; }
            }
            else if (__label__ == 148) {
              var _57 = _33 + 1;
              var _exitcond92 = _57 == _27;
              if (_exitcond92) { __lastLabel__ = 148; __label__ = 150; /* _bb10 */ break _bb10$_bb$5119; } else { __lastLabel__ = 148; __label__ = 82; /* _bb5 */ continue _bb5$5122; }
            }
          }
        }
      }
    } while(0);
    var _58 = IHEAP[_0];
    var _59 = _58+16;
    var _60 = IHEAP[_59];
    var _61 = _60;
    var _62 = FUNCTION_TABLE[_61](_this);
    var _63 = _62 == 0;
    ;
    _bb13$_bb11$5129: do { 
      if (!_63) {
        ;
        var _64 = IHEAP[_0];
        var _65 = _64+16;
        var _66 = IHEAP[_65];
        var _67 = _66;
        var _68 = FUNCTION_TABLE[_67](_this);
        var _69 = _68;
        var _70 = IHEAP[_69];
        var _71 = _70+48;
        var _72 = IHEAP[_71];
        var _73 = _72;
        var _74 = FUNCTION_TABLE[_73](_68);
        var _75 = _74 & 3;
        var _76 = _75 == 0;
        if (_76) { __label__ = 108; /* _bb13 */ break _bb13$_bb11$5129; }
        var _77 = _this+4+4;
        var _78 = IHEAP[_77];
        var _79 = _78 > 0;
        if (!(_79)) { __label__ = 108; /* _bb13 */ break _bb13$_bb11$5129; }
        var _80 = _this+4+12;
        var _81 = _this+84;
        var _82 = _colorvec;
        var _83 = _colorvec+4;
        var _84 = _colorvec+8;
        var _85 = _colorvec+12;
        var _86 = _color31;
        var _87 = _color31+4;
        var _88 = _color31+8;
        var _89 = _color31+12;
        __lastLabel__ = 1113; ;
        _bb18$5133: while(1) { // _bb18
          var _i17_085 = __lastLabel__ == 1113 ? 0 : (_tmp);
          var _tmp = _i17_085 + 1;
          var _90 = IHEAP[_80];
          var _scevgep93 = _90+4*_i17_085;
          var _91 = IHEAP[_scevgep93];
          var _92 = _91+204;
          var _93 = IHEAP[_92];
          var __lobit = _93 & 32;
          var _toBool19 = __lobit == 0;
          ;
          _bb20$_bb46$5135: do { 
            if (_toBool19) {
              ;
              var _94 = IHEAP[_0];
              var _95 = _94+16;
              var _96 = IHEAP[_95];
              var _97 = _96;
              var _98 = FUNCTION_TABLE[_97](_this);
              var _99 = _98 == 0;
              ;
              _bb39$_bb21$5137: do { 
                if (!_99) {
                  ;
                  var _100 = IHEAP[_0];
                  var _101 = _100+16;
                  var _102 = IHEAP[_101];
                  var _103 = _102;
                  var _104 = FUNCTION_TABLE[_103](_this);
                  var _105 = _104;
                  var _106 = IHEAP[_105];
                  var _107 = _106+48;
                  var _108 = IHEAP[_107];
                  var _109 = _108;
                  var _110 = FUNCTION_TABLE[_109](_104);
                  var _111 = _110 & 1;
                  var _toBool25 = _111 == 0;
                  if (_toBool25) { __label__ = 971; /* _bb39 */ break _bb39$_bb21$5137; }
                  FHEAP[_86] = 1;
                  FHEAP[_87] = 1;
                  FHEAP[_88] = 1;
                  FHEAP[_89] = 0;
                  var _112 = _91+216;
                  var _113 = IHEAP[_112];
                  if (_113 == 1) {
                    __label__ = 91; /* _bb32 */ 
                  }
                  else if (_113 == 2) {
                    __label__ = 422; /* _bb33 */ 
                  }
                  else if (_113 == 3) {
                    __label__ = 250; /* _bb34 */ 
                  }
                  else if (_113 == 4) {
                    __label__ = 518; /* _bb35 */ 
                  }
                  else if (_113 == 5) {
                    __label__ = 251; /* _bb36 */ 
                  }
                  else {
                  __label__ = 1014; /* _bb37 */ 
                  }
                  
                  if (__label__ == 1014) {
                    FHEAP[_86] = 1;
                    FHEAP[_87] = 0;
                    FHEAP[_88] = 0;
                    FHEAP[_89] = 0;
                    ;
                  }
                  else if (__label__ == 91) {
                    FHEAP[_86] = 1;
                    FHEAP[_87] = 1;
                    FHEAP[_88] = 1;
                    FHEAP[_89] = 0;
                    ;
                  }
                  else if (__label__ == 422) {
                    FHEAP[_86] = 0;
                    FHEAP[_87] = 1;
                    FHEAP[_88] = 0;
                    FHEAP[_89] = 0;
                    ;
                  }
                  else if (__label__ == 250) {
                    FHEAP[_86] = 0;
                    FHEAP[_87] = 1;
                    FHEAP[_88] = 1;
                    FHEAP[_89] = 0;
                    ;
                  }
                  else if (__label__ == 518) {
                    FHEAP[_86] = 1;
                    FHEAP[_87] = 0;
                    FHEAP[_88] = 0;
                    FHEAP[_89] = 0;
                    ;
                  }
                  else if (__label__ == 251) {
                    FHEAP[_86] = 1;
                    FHEAP[_87] = 1;
                    FHEAP[_88] = 0;
                    FHEAP[_89] = 0;
                    ;
                  }
                  var _114 = IHEAP[_0];
                  var _115 = _114+24;
                  var _116 = IHEAP[_115];
                  var _117 = _91+192;
                  var _118 = IHEAP[_117];
                  var _119 = _91+4;
                  var _120 = _116;
                  FUNCTION_TABLE[_120](_this, _119, _118, _color31);
                  ;
                }
              } while(0);
              var _121 = IHEAP[_81];
              var _122 = _121 == 0;
              if (_122) { __label__ = 635; /* _bb46 */ break _bb20$_bb46$5135; }
              var _123 = _121;
              var _124 = IHEAP[_123];
              var _125 = _124+48;
              var _126 = IHEAP[_125];
              var _127 = _126;
              var _128 = FUNCTION_TABLE[_127](_121);
              var _129 = _128 & 2;
              var _130 = _129 == 0;
              if (_130) { __label__ = 635; /* _bb46 */ break _bb20$_bb46$5135; }
              FHEAP[_82] = 1;
              FHEAP[_83] = 0;
              FHEAP[_84] = 0;
              FHEAP[_85] = 0;
              var _131 = _91+192;
              var _132 = IHEAP[_131];
              var _133 = _132;
              var _134 = IHEAP[_133];
              var _135 = _134+8;
              var _136 = IHEAP[_135];
              var _137 = _91+4;
              var _138 = _136;
              FUNCTION_TABLE[_138](_132, _137, _minAabb, _maxAabb);
              var _139 = IHEAP[_81];
              var _140 = _139;
              var _141 = IHEAP[_140];
              var _142 = _141+52;
              var _143 = IHEAP[_142];
              var _144 = _143;
              FUNCTION_TABLE[_144](_139, _minAabb, _maxAabb, _colorvec);
              ;
            }
          } while(0);
          var _145 = IHEAP[_77];
          var _146 = _145 > _tmp;
          if (_146) { __lastLabel__ = 635; __label__ = 86; /* _bb18 */ continue _bb18$5133; } else { __lastLabel__ = 635; __label__ = 108; /* _bb13 */ break _bb13$_bb11$5129; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN16btCollisionWorld14debugDrawWorldEv.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld14debugDrawWorldEv, "__ZN16btCollisionWorld14debugDrawWorldEv");
  
  
  function __ZN16btCollisionWorld21removeCollisionObjectEP17btCollisionObject(_this, _collisionObject) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _collisionObject+188;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (!_2) {
      ;
      var _3 = _this+80;
      var _4 = IHEAP[_3];
      var _5 = _4;
      var _6 = IHEAP[_5];
      var _7 = _6+36;
      var _8 = IHEAP[_7];
      var _9 = _8;
      var _10 = FUNCTION_TABLE[_9](_4);
      var _11 = _10;
      var _12 = IHEAP[_11];
      var _13 = _12+40;
      var _14 = IHEAP[_13];
      var _15 = _this+24;
      var _16 = IHEAP[_15];
      var _17 = _14;
      FUNCTION_TABLE[_17](_10, _1, _16);
      var _18 = IHEAP[_3];
      var _19 = _18;
      var _20 = IHEAP[_19];
      var _21 = _20+12;
      var _22 = IHEAP[_21];
      var _23 = IHEAP[_15];
      var _24 = _22;
      FUNCTION_TABLE[_24](_18, _1, _23);
      IHEAP[_0] = 0;
      ;
    }
    var _25 = _this+4+4;
    var _26 = IHEAP[_25];
    var _27 = _this+4+12;
    __lastLabel__ = 75; ;
    _bb3_i_i$5157: while(1) { // _bb3_i_i
      var _32 = __lastLabel__ == 75 ? 0 : (_31);
      var _33 = _26 > _32;
      if (_33) { __lastLabel__ = 324; ; } else { __lastLabel__ = 324; __label__ = 1118; /* __ZNK20btAlignedObjectArrayIP17btCollisionObjectE16findLinearSearchERKS1__exit_i */ break _bb3_i_i$5157; }
      var _28 = IHEAP[_27];
      var _scevgep_i_i = _28+4*_32;
      var _29 = IHEAP[_scevgep_i_i];
      var _30 = _29 == _collisionObject;
      if (_30) { __lastLabel__ = 263; __label__ = 1118; /* __ZNK20btAlignedObjectArrayIP17btCollisionObjectE16findLinearSearchERKS1__exit_i */ break _bb3_i_i$5157; } else { __lastLabel__ = 263; ; }
      var _31 = _32 + 1;
      __lastLabel__ = 628; __label__ = 324; /* _bb3_i_i */ continue _bb3_i_i$5157;
    }
    var _index_0_i_i = __lastLabel__ == 324 ? _26 : (_32);
    var _34 = _26 > _index_0_i_i;
    ;
    if (_34) {
      ;
      var _35 = _26 + -1;
      var _36 = IHEAP[_27];
      var _37 = _36+4*_index_0_i_i;
      var _38 = IHEAP[_37];
      var _39 = _36+4*_35;
      var _40 = IHEAP[_39];
      IHEAP[_37] = _40;
      var _41 = IHEAP[_27];
      var _42 = _41+4*_35;
      IHEAP[_42] = _38;
      var _43 = IHEAP[_25];
      var _44 = _43 + -1;
      IHEAP[_25] = _44;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN16btCollisionWorld21removeCollisionObjectEP17btCollisionObject.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld21removeCollisionObjectEP17btCollisionObject, "__ZN16btCollisionWorld21removeCollisionObjectEP17btCollisionObject");
  
  
  function __ZN16btCollisionWorld11contactTestEP17btCollisionObjectRNS_21ContactResultCallbackE(_this, _colObj, _resultCallback) {
    var __stackBase__  = STACKTOP; STACKTOP += 48;
    var __label__;
    var _aabbMin = __stackBase__;
    var _aabbMax = __stackBase__+16;
    var _contactCB = __stackBase__+32;
    var _0 = _colObj+192;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+8;
    var _5 = IHEAP[_4];
    var _6 = _colObj+4;
    var _7 = _5;
    FUNCTION_TABLE[_7](_1, _6, _aabbMin, _aabbMax);
    var _8 = _contactCB;
    IHEAP[_8] = __ZTV23btSingleContactCallback+8;
    var _9 = _contactCB+4;
    IHEAP[_9] = _colObj;
    var _10 = _contactCB+8;
    IHEAP[_10] = _this;
    var _11 = _contactCB+12;
    IHEAP[_11] = _resultCallback;
    var _12 = _this+80;
    var _13 = IHEAP[_12];
    var _14 = _13;
    var _15 = IHEAP[_14];
    var _16 = _15+28;
    var _17 = IHEAP[_16];
    var _18 = _17;
    var _19 = _contactCB;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_18](_13, _aabbMin, _aabbMax, _19) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 75; /* _bb1 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 75) {
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select3 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_8] = __ZTV23btSingleContactCallback+8;
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  __ZN16btCollisionWorld11contactTestEP17btCollisionObjectRNS_21ContactResultCallbackE.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld11contactTestEP17btCollisionObjectRNS_21ContactResultCallbackE, "__ZN16btCollisionWorld11contactTestEP17btCollisionObjectRNS_21ContactResultCallbackE");
  
  
  function __ZN21btSingleSweepCallback7processEPK17btBroadphaseProxy(_this, _proxy) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+184;
    var _1 = IHEAP[_0];
    var _2 = _1+4;
    var _3 = FHEAP[_2];
    var _4 = _3 == 0;
    ;
    _bb4$_bb1$5174: do { 
      if (_4) {
        __lastLabel__ = -1; ;
      }
      else {
        __lastLabel__ = -1; ;
        var _5 = _proxy;
        var _6 = IHEAP[_5];
        var _7 = _1;
        var _8 = IHEAP[_7];
        var _9 = _8+8;
        var _10 = IHEAP[_9];
        var _11 = _6+188;
        var _12 = _11;
        var _13 = IHEAP[_12];
        var _14 = _10;
        var _15 = FUNCTION_TABLE[_14](_1, _13);
        var _toBool = _15 == 0;
        if (_toBool) { __lastLabel__ = 75; __label__ = 61; /* _bb4 */ break _bb4$_bb1$5174; } else { __lastLabel__ = 75; ; }
        var _16 = _6;
        var _17 = _this+188;
        var _18 = FHEAP[_17];
        var _19 = IHEAP[_0];
        var _20 = _6+4;
        var _21 = _20;
        var _22 = _6+192;
        var _23 = _22;
        var _24 = IHEAP[_23];
        var _25 = _this+100;
        var _26 = _this+36;
        var _27 = _this+192;
        var _28 = IHEAP[_27];
        __ZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEf(_28, _26, _25, _16, _24, _21, _19, _18);
        ;
        return 1;
      }
    } while(0);
    var __0 = __lastLabel__ == -1 ? 0 : (1);
    ;
    return __0;
  }
  __ZN21btSingleSweepCallback7processEPK17btBroadphaseProxy.__index__ = Runtime.getFunctionIndex(__ZN21btSingleSweepCallback7processEPK17btBroadphaseProxy, "__ZN21btSingleSweepCallback7processEPK17btBroadphaseProxy");
  
  
  function __ZN19btSingleRayCallback7processEPK17btBroadphaseProxy(_this, _proxy) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+216;
    var _1 = IHEAP[_0];
    var _2 = _1+4;
    var _3 = FHEAP[_2];
    var _4 = _3 == 0;
    ;
    _bb4$_bb1$5181: do { 
      if (_4) {
        __lastLabel__ = -1; ;
      }
      else {
        __lastLabel__ = -1; ;
        var _5 = _proxy;
        var _6 = IHEAP[_5];
        var _7 = _1;
        var _8 = IHEAP[_7];
        var _9 = _8+8;
        var _10 = IHEAP[_9];
        var _11 = _6+188;
        var _12 = _11;
        var _13 = IHEAP[_12];
        var _14 = _10;
        var _15 = FUNCTION_TABLE[_14](_1, _13);
        var _toBool = _15 == 0;
        if (_toBool) { __lastLabel__ = 75; __label__ = 61; /* _bb4 */ break _bb4$_bb1$5181; } else { __lastLabel__ = 75; ; }
        var _16 = _6;
        var _17 = IHEAP[_0];
        var _18 = _6+4;
        var _19 = _18;
        var _20 = _6+192;
        var _21 = _20;
        var _22 = IHEAP[_21];
        var _23 = _this+132;
        var _24 = _this+68;
        __ZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackE(_24, _23, _16, _22, _19, _17);
        ;
        return 1;
      }
    } while(0);
    var __0 = __lastLabel__ == -1 ? 0 : (1);
    ;
    return __0;
  }
  __ZN19btSingleRayCallback7processEPK17btBroadphaseProxy.__index__ = Runtime.getFunctionIndex(__ZN19btSingleRayCallback7processEPK17btBroadphaseProxy, "__ZN19btSingleRayCallback7processEPK17btBroadphaseProxy");
  
  
  function __ZN9btHashMapI9btHashPtrP16btCollisionShapeED1Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+60+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _bb3$_bb_i_i_i$5188: do { 
      if (_2) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _3 = _this+60+16;
        var _4 = IHEAP[_3];
        var _toBool_i_i_i = _4 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$5190: do { 
          if (!_toBool_i_i_i) {
            ;
            var _5 = _1;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$5190; } else { ; }
            var _eh_ptr30 = _llvm_eh_exception();
            var _eh_select32 = _llvm_eh_selector(_eh_ptr30, ___gxx_personality_v0, 0);
            var _39 = _this+40+12;
            var _40 = IHEAP[_39];
            var _41 = _40 == 0;
            ;
            if (!_41) {
              ;
              var _42 = _this+40+16;
              var _43 = IHEAP[_42];
              var _toBool_i_i_i66 = _43 == 0;
              ;
              _bb2_i_i_i69$_bb1_i_i_i68$5195: do { 
                if (!_toBool_i_i_i66) {
                  ;
                  var _44 = _40;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_44) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3828; /* _bb2_i_i_i69 */ break _bb2_i_i_i69$_bb1_i_i_i68$5195; } else { ; }
                  var _eh_ptr34 = _llvm_eh_exception();
                  var _eh_select36 = _llvm_eh_selector(_eh_ptr34, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_39] = 0;
              ;
            }
            var _45 = _this+40+16;
            IHEAP[_45] = 1;
            IHEAP[_39] = 0;
            var _46 = _this+40+4;
            IHEAP[_46] = 0;
            var _47 = _this+40+8;
            IHEAP[_47] = 0;
            __lastLabel__ = 1125; __label__ = 112; /* _ppad45 */ break _bb3$_bb_i_i_i$5188;
          }
        } while(0);
        IHEAP[_0] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$5188;
      }
    } while(0);
    _bb3$_ppad45$5201: do { 
      if (__label__ == 116) {
        var _6 = _this+60+16;
        IHEAP[_6] = 1;
        IHEAP[_0] = 0;
        var _7 = _this+60+4;
        IHEAP[_7] = 0;
        var _8 = _this+60+8;
        IHEAP[_8] = 0;
        var _9 = _this+40+12;
        var _10 = IHEAP[_9];
        var _11 = _10 == 0;
        ;
        if (!_11) {
          ;
          var _12 = _this+40+16;
          var _13 = IHEAP[_12];
          var _toBool_i_i_i51 = _13 == 0;
          ;
          _bb2_i_i_i54$_bb1_i_i_i53$5205: do { 
            if (!_toBool_i_i_i51) {
              ;
              var _14 = _10;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3826; /* _bb2_i_i_i54 */ break _bb2_i_i_i54$_bb1_i_i_i53$5205; } else { ; }
              var _eh_ptr26 = _llvm_eh_exception();
              var _eh_select28 = _llvm_eh_selector(_eh_ptr26, ___gxx_personality_v0, 0);
              __lastLabel__ = 1123; __label__ = 112; /* _ppad45 */ break _bb3$_ppad45$5201;
            }
          } while(0);
          IHEAP[_9] = 0;
          ;
        }
        var _15 = _this+40+16;
        IHEAP[_15] = 1;
        IHEAP[_9] = 0;
        var _16 = _this+40+4;
        IHEAP[_16] = 0;
        var _17 = _this+40+8;
        IHEAP[_17] = 0;
        var _18 = _this+20+12;
        var _19 = IHEAP[_18];
        var _20 = _19 == 0;
        ;
        if (!_20) {
          ;
          var _21 = _this+20+16;
          var _22 = IHEAP[_21];
          var _toBool_i_i_i56 = _22 == 0;
          ;
          _bb2_i_i_i59$_bb1_i_i_i58$5212: do { 
            if (!_toBool_i_i_i56) {
              ;
              var _23 = _19;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_23) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3827; /* _bb2_i_i_i59 */ break _bb2_i_i_i59$_bb1_i_i_i58$5212; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select24 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad45$5201;
            }
          } while(0);
          IHEAP[_18] = 0;
          ;
        }
        var _27 = _this+20+16;
        IHEAP[_27] = 1;
        IHEAP[_18] = 0;
        var _28 = _this+20+4;
        IHEAP[_28] = 0;
        var _29 = _this+20+8;
        IHEAP[_29] = 0;
        var _30 = _this+12;
        var _31 = IHEAP[_30];
        var _32 = _31 == 0;
        ;
        if (!_32) {
          ;
          var _33 = _this+16;
          var _34 = IHEAP[_33];
          var _toBool_i_i_i61 = _34 == 0;
          ;
          if (!_toBool_i_i_i61) {
            ;
            var _35 = _31;
            __Z21btAlignedFreeInternalPv(_35);
            ;
          }
          IHEAP[_30] = 0;
          ;
        }
        var _36 = _this+16;
        IHEAP[_36] = 1;
        IHEAP[_30] = 0;
        var _37 = _this+4;
        IHEAP[_37] = 0;
        var _38 = _this+8;
        IHEAP[_38] = 0;
        ;
        return;
      }
    } while(0);
    if (__label__ == 112) {
      var _eh_exception_0 = __lastLabel__ == 1123 ? _eh_ptr26 : (_eh_ptr30);
      var _54 = _this+20+12;
      var _55 = IHEAP[_54];
      var _56 = _55 == 0;
      ;
      if (!_56) {
        ;
        var _57 = _this+20+16;
        var _58 = IHEAP[_57];
        var _toBool_i_i_i78 = _58 == 0;
        ;
        _bb2_i_i_i81$_bb1_i_i_i80$5227: do { 
          if (!_toBool_i_i_i78) {
            ;
            var _59 = _55;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_59) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3830; /* _bb2_i_i_i81 */ break _bb2_i_i_i81$_bb1_i_i_i80$5227; } else { ; }
            var _eh_ptr38 = _llvm_eh_exception();
            var _eh_select40 = _llvm_eh_selector(_eh_ptr38, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_54] = 0;
        ;
      }
      var _60 = _this+20+16;
      IHEAP[_60] = 1;
      IHEAP[_54] = 0;
      var _61 = _this+20+4;
      IHEAP[_61] = 0;
      var _62 = _this+20+8;
      IHEAP[_62] = 0;
      __lastLabel__ = 1128; ;
    }
    var _eh_exception_1 = __lastLabel__ == 254 ? _eh_ptr : (_eh_exception_0);
    var _48 = _this+12;
    var _49 = IHEAP[_48];
    var _50 = _49 == 0;
    ;
    if (!_50) {
      ;
      var _51 = _this+16;
      var _52 = IHEAP[_51];
      var _toBool_i_i_i72 = _52 == 0;
      ;
      _bb2_i_i_i75$_bb1_i_i_i74$5235: do { 
        if (!_toBool_i_i_i72) {
          ;
          var _53 = _49;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_53) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3809; /* _bb2_i_i_i75 */ break _bb2_i_i_i75$_bb1_i_i_i74$5235; } else { ; }
          var _eh_ptr42 = _llvm_eh_exception();
          var _eh_select44 = _llvm_eh_selector(_eh_ptr42, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_48] = 0;
      ;
    }
    var _24 = _this+16;
    IHEAP[_24] = 1;
    IHEAP[_48] = 0;
    var _25 = _this+4;
    IHEAP[_25] = 0;
    var _26 = _this+8;
    IHEAP[_26] = 0;
    __Unwind_Resume_or_Rethrow(_eh_exception_1);
    // unreachable
  }
  __ZN9btHashMapI9btHashPtrP16btCollisionShapeED1Ev.__index__ = Runtime.getFunctionIndex(__ZN9btHashMapI9btHashPtrP16btCollisionShapeED1Ev, "__ZN9btHashMapI9btHashPtrP16btCollisionShapeED1Ev");
  
  
  function __ZN16btCollisionWorldD0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btCollisionWorld+8;
    var _1 = _this+4+4;
    var _2 = _this+4+12;
    var _3 = _this+80;
    var _4 = _this+24;
    __lastLabel__ = -1; ;
    _bb5$5241: while(1) { // _bb5
      var _30 = __lastLabel__ == -1 ? 0 : (_29);
      var _31 = IHEAP[_1];
      var _32 = _31 > _30;
      var _33 = IHEAP[_2];
      if (!(_32)) { __label__ = 62; /* _bb9 */ break _bb5$5241; }
      var _scevgep = _33+4*_30;
      var _5 = IHEAP[_scevgep];
      var _6 = _5+188;
      var _7 = IHEAP[_6];
      var _8 = _7 == 0;
      ;
      if (!_8) {
        ;
        var _9 = IHEAP[_3];
        var _10 = _9;
        var _11 = IHEAP[_10];
        var _12 = _11+36;
        var _13 = IHEAP[_12];
        var _14 = _13;
        var _15 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_14](_9) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb5$5241; };
        var _16 = _15;
        var _17 = IHEAP[_16];
        var _18 = _17+40;
        var _19 = IHEAP[_18];
        var _20 = IHEAP[_4];
        var _21 = _19;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_21](_15, _7, _20) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb5$5241; }
        var _22 = IHEAP[_3];
        var _23 = _22;
        var _24 = IHEAP[_23];
        var _25 = _24+12;
        var _26 = IHEAP[_25];
        var _27 = IHEAP[_4];
        var _28 = _26;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_28](_22, _7, _27) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb5$5241; }
        IHEAP[_6] = 0;
        ;
      }
      var _29 = _30 + 1;
      __lastLabel__ = 61; __label__ = 82; /* _bb5 */ continue _bb5$5241;
    }
    if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select15 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      var _43 = IHEAP[_2];
      var _44 = _43 == 0;
      ;
      if (!_44) {
        ;
        var _45 = _this+4+16;
        var _46 = IHEAP[_45];
        var _toBool_i_i_i = _46 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$5254: do { 
          if (!_toBool_i_i_i) {
            ;
            var _47 = _43;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_47) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$5254; } else { ; }
            var _eh_ptr17 = _llvm_eh_exception();
            var _eh_select19 = _llvm_eh_selector(_eh_ptr17, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_2] = 0;
        ;
      }
      var _34 = _this+4+16;
      IHEAP[_34] = 1;
      IHEAP[_2] = 0;
      IHEAP[_1] = 0;
      var _35 = _this+4+8;
      IHEAP[_35] = 0;
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 62) {
      var _36 = _33 == 0;
      ;
      if (!_36) {
        ;
        var _37 = _this+4+16;
        var _38 = IHEAP[_37];
        var _toBool_i_i_i22 = _38 == 0;
        ;
        if (!_toBool_i_i_i22) {
          ;
          var _39 = _33;
          __Z21btAlignedFreeInternalPv(_39);
          ;
        }
        IHEAP[_2] = 0;
        ;
      }
      var _40 = _this+4+16;
      IHEAP[_40] = 1;
      IHEAP[_2] = 0;
      IHEAP[_1] = 0;
      var _41 = _this+4+8;
      IHEAP[_41] = 0;
      var _42 = _this;
      __ZdlPv(_42);
      ;
      return;
    }
  }
  __ZN16btCollisionWorldD0Ev.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorldD0Ev, "__ZN16btCollisionWorldD0Ev");
  
  
  function __ZN16btCollisionWorld11updateAabbsEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    __ZN15CProfileManager13Start_ProfileEPKc(__str1217);
    var _0 = _this+4+4;
    var _1 = _this+4+12;
    var _2 = _this+88;
    __lastLabel__ = -1; ;
    _bb9$5268: while(1) { // _bb9
      var _9 = __lastLabel__ == -1 ? 0 : (_8);
      var _10 = IHEAP[_0];
      var _11 = _10 > _9;
      if (!(_11)) { __label__ = 63; /* _bb14 */ break _bb9$5268; }
      var _3 = IHEAP[_1];
      var _scevgep = _3+4*_9;
      var _4 = IHEAP[_scevgep];
      var _5 = IHEAP[_2];
      var _toBool = _5 == 0;
      ;
      _bb1$_bb7$5271: do { 
        if (_toBool) {
          ;
          var _6 = _4+216;
          var _7 = IHEAP[_6];
          if (_7 == 2) {
            __label__ = 148; /* _bb8 */ break _bb1$_bb7$5271;
          }
          else if (_7 == 5) {
            __label__ = 148; /* _bb8 */ break _bb1$_bb7$5271;
          }
          else {
          __label__ = 2; /* _bb7 */ break _bb1$_bb7$5271;
          }
          
        }
        else {
          __label__ = 2; /* _bb7 */ 
        }
      } while(0);
      if (__label__ == 2) {
        (function() { try { __THREW__ = false; return __ZN16btCollisionWorld16updateSingleAabbEP17btCollisionObject(_this, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb9$5268; }
      }
      var _8 = _9 + 1;
      __lastLabel__ = 148; __label__ = 62; /* _bb9 */ continue _bb9$5268;
    }
    if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select16 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2531; /* _invcont12 */  } else { __label__ = 3832; /* _lpad17 */  }
      if (__label__ == 2531) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3832) {
        var _eh_ptr18 = _llvm_eh_exception();
        var _eh_select20 = _llvm_eh_selector(_eh_ptr18, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
    else if (__label__ == 63) {
      __ZN15CProfileManager12Stop_ProfileEv();
      ;
      return;
    }
  }
  __ZN16btCollisionWorld11updateAabbsEv.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld11updateAabbsEv, "__ZN16btCollisionWorld11updateAabbsEv");
  
  
  function __ZN16btCollisionWorld15debugDrawObjectERK11btTransformPK16btCollisionShapeRK9btVector3(_this, _worldTransform, _shape, _color) {
    var __stackBase__  = STACKTOP; STACKTOP += 1320;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _3 = __stackBase__+48;
    var _4 = __stackBase__+64;
    var _5 = __stackBase__+80;
    var _6 = __stackBase__+96;
    var _7 = __stackBase__+112;
    var _8 = __stackBase__+128;
    var _9 = __stackBase__+144;
    var _10 = __stackBase__+160;
    var _11 = __stackBase__+176;
    var _12 = __stackBase__+192;
    var _13 = __stackBase__+208;
    var _14 = __stackBase__+224;
    var _15 = __stackBase__+240;
    var _16 = __stackBase__+256;
    var _17 = __stackBase__+272;
    var _18 = __stackBase__+288;
    var _19 = __stackBase__+304;
    var _20 = __stackBase__+320;
    var _21 = __stackBase__+336;
    var _22 = __stackBase__+352;
    var _23 = __stackBase__+368;
    var _24 = __stackBase__+384;
    var _25 = __stackBase__+400;
    var _26 = __stackBase__+416;
    var _27 = __stackBase__+432;
    var _28 = __stackBase__+448;
    var _29 = __stackBase__+464;
    var _30 = __stackBase__+480;
    var _31 = __stackBase__+496;
    var _32 = __stackBase__+512;
    var _33 = __stackBase__+528;
    var _34 = __stackBase__+544;
    var _35 = __stackBase__+608;
    var _36 = __stackBase__+624;
    var _halfExtents = __stackBase__+688;
    var _capStart = __stackBase__+704;
    var _capEnd = __stackBase__+720;
    var _childTransform12 = __stackBase__+736;
    var _childTransform14 = __stackBase__+800;
    var _offsetHeight = __stackBase__+864;
    var _offsetRadius = __stackBase__+880;
    var _offset2Radius = __stackBase__+896;
    var _yaxis = __stackBase__+912;
    var _xaxis = __stackBase__+928;
    var _offsetHeight41 = __stackBase__+944;
    var _offsetRadius43 = __stackBase__+960;
    var _yaxis45 = __stackBase__+976;
    var _xaxis47 = __stackBase__+992;
    var _aabbMax = __stackBase__+1008;
    var _aabbMin = __stackBase__+1024;
    var _drawCallback = __stackBase__+1040;
    var _aabbMax78 = __stackBase__+1132;
    var _aabbMin80 = __stackBase__+1148;
    var _drawCallback82 = __stackBase__+1164;
    var _a = __stackBase__+1256;
    var _b = __stackBase__+1272;
    var _wa = __stackBase__+1288;
    var _wb = __stackBase__+1304;
    var _37 = _this;
    var _38 = IHEAP[_37];
    var _39 = _38+16;
    var _40 = IHEAP[_39];
    var _41 = _40;
    var _42 = FUNCTION_TABLE[_41](_this);
    var _43 = _42;
    var _44 = IHEAP[_43];
    var _45 = _44+56;
    var _46 = IHEAP[_45];
    var _47 = _46;
    FUNCTION_TABLE[_47](_42, _worldTransform, 1);
    var _48 = _shape+4;
    var _49 = IHEAP[_48];
    if (_49 == 31) {
      __label__ = 60; /* _bb */ 
    }
    else if (_49 == 0) {
      __label__ = 61; /* _bb4 */ 
    }
    else if (_49 == 8) {
      __label__ = 82; /* _bb5 */ 
    }
    else if (_49 == 9) {
      __label__ = 83; /* _bb6 */ 
    }
    else if (_49 == 10) {
      __label__ = 150; /* _bb10 */ 
    }
    else if (_49 == 11) {
      __label__ = 154; /* _bb16 */ 
    }
    else if (_49 == 13) {
      __label__ = 90; /* _bb30 */ 
    }
    else if (_49 == 28) {
      __label__ = 1018; /* _bb48 */ 
    }
    else {
    __label__ = 1025; /* _bb60 */ 
    }
    
    _bb60$_bb$_bb4$_bb5$_bb6$_bb10$_bb16$_bb30$_bb48$5283: do { 
      if (__label__ == 1025) {
        var _1816 = _49 + -21;
        var _1817 = unSign(_1816, 32) < unSign(9, 32);
        ;
        _bb62$_bb73$5285: do { 
          if (_1817) {
            __lastLabel__ = 1025; ;
            var _1818 = _shape;
            var _1819 = _aabbMax;
            FHEAP[_1819] = 999999984306749400;
            var _1820 = _aabbMax+4;
            FHEAP[_1820] = 999999984306749400;
            var _1821 = _aabbMax+8;
            FHEAP[_1821] = 999999984306749400;
            var _1822 = _aabbMax+12;
            FHEAP[_1822] = 0;
            var _1823 = _aabbMin;
            FHEAP[_1823] = -999999984306749400;
            var _1824 = _aabbMin+4;
            FHEAP[_1824] = -999999984306749400;
            var _1825 = _aabbMin+8;
            FHEAP[_1825] = -999999984306749400;
            var _1826 = _aabbMin+12;
            FHEAP[_1826] = 0;
            var _1827 = IHEAP[_37];
            var _1828 = _1827+16;
            var _1829 = IHEAP[_1828];
            var _1830 = _1829;
            var _1831 = FUNCTION_TABLE[_1830](_this);
            var _1832 = _drawCallback;
            var _1833 = _drawCallback+4;
            IHEAP[_1832] = __ZTV17DebugDrawcallback+8;
            IHEAP[_1833] = __ZTV17DebugDrawcallback+32;
            var _1834 = _drawCallback+8;
            IHEAP[_1834] = _1831;
            var _1835 = _drawCallback+12;
            var _1836 = _color;
            var _1837 = FHEAP[_1836];
            FHEAP[_1835] = _1837;
            var _1838 = _drawCallback+12+4;
            var _1839 = _color+4;
            var _1840 = FHEAP[_1839];
            FHEAP[_1838] = _1840;
            var _1841 = _drawCallback+12+8;
            var _1842 = _color+8;
            var _1843 = FHEAP[_1842];
            FHEAP[_1841] = _1843;
            var _1844 = _drawCallback+12+12;
            var _1845 = _color+12;
            var _1846 = FHEAP[_1845];
            FHEAP[_1844] = _1846;
            var _1847 = _drawCallback+28;
            var _1848 = _worldTransform;
            var _1849 = FHEAP[_1848];
            FHEAP[_1847] = _1849;
            var _1850 = _drawCallback+28+4;
            var _1851 = _worldTransform+4;
            var _1852 = FHEAP[_1851];
            FHEAP[_1850] = _1852;
            var _1853 = _drawCallback+28+8;
            var _1854 = _worldTransform+8;
            var _1855 = FHEAP[_1854];
            FHEAP[_1853] = _1855;
            var _1856 = _drawCallback+28+12;
            var _1857 = _worldTransform+12;
            var _1858 = FHEAP[_1857];
            FHEAP[_1856] = _1858;
            var _1859 = _drawCallback+28+16;
            var _1860 = _worldTransform+16;
            var _1861 = FHEAP[_1860];
            FHEAP[_1859] = _1861;
            var _1862 = _drawCallback+28+16+4;
            var _1863 = _worldTransform+16+4;
            var _1864 = FHEAP[_1863];
            FHEAP[_1862] = _1864;
            var _1865 = _drawCallback+28+16+8;
            var _1866 = _worldTransform+16+8;
            var _1867 = FHEAP[_1866];
            FHEAP[_1865] = _1867;
            var _1868 = _drawCallback+28+16+12;
            var _1869 = _worldTransform+16+12;
            var _1870 = FHEAP[_1869];
            FHEAP[_1868] = _1870;
            var _1871 = _drawCallback+28+32;
            var _1872 = _worldTransform+32;
            var _1873 = FHEAP[_1872];
            FHEAP[_1871] = _1873;
            var _1874 = _drawCallback+28+32+4;
            var _1875 = _worldTransform+32+4;
            var _1876 = FHEAP[_1875];
            FHEAP[_1874] = _1876;
            var _1877 = _drawCallback+28+32+8;
            var _1878 = _worldTransform+32+8;
            var _1879 = FHEAP[_1878];
            FHEAP[_1877] = _1879;
            var _1880 = _drawCallback+28+32+12;
            var _1881 = _worldTransform+32+12;
            var _1882 = FHEAP[_1881];
            FHEAP[_1880] = _1882;
            var _1883 = _drawCallback+28+48;
            var _1884 = _worldTransform+48;
            var _1885 = FHEAP[_1884];
            FHEAP[_1883] = _1885;
            var _1886 = _drawCallback+28+48+4;
            var _1887 = _worldTransform+48+4;
            var _1888 = FHEAP[_1887];
            FHEAP[_1886] = _1888;
            var _1889 = _drawCallback+28+48+8;
            var _1890 = _worldTransform+48+8;
            var _1891 = FHEAP[_1890];
            FHEAP[_1889] = _1891;
            var _1892 = _drawCallback+28+48+12;
            var _1893 = _worldTransform+48+12;
            var _1894 = FHEAP[_1893];
            FHEAP[_1892] = _1894;
            var _1895 = _shape;
            var _1896 = IHEAP[_1895];
            var _1897 = _1896+60;
            var _1898 = IHEAP[_1897];
            var _1899 = _1898;
            var _1900 = _drawCallback;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_1899](_1818, _1900, _aabbMin, _aabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 73; /* _bb72 */  } else { __label__ = 254; /* _lpad */  }
            if (__label__ == 73) {
              IHEAP[_1832] = __ZTV17DebugDrawcallback+8;
              IHEAP[_1833] = __ZTV17DebugDrawcallback+32;
              var _1901 = _drawCallback;
              var _1902 = _1901 | 4;
              var _1903 = _1902;
              var _1904 = _1903;
              (function() { try { __THREW__ = false; return __ZN31btInternalTriangleIndexCallbackD2Ev(_1904) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1136; /* __ZN17DebugDrawcallbackD1Ev_exit151 */  } else { __label__ = 3833; /* _lpad_i147 */  }
              if (__label__ == 1136) {
                __ZN18btTriangleCallbackD2Ev(_1900);
                var __pre = IHEAP[_48];
                __lastLabel__ = 1136; __label__ = 12; /* _bb73 */ break _bb62$_bb73$5285;
              }
              else if (__label__ == 3833) {
                var _eh_ptr_i145 = _llvm_eh_exception();
                var _eh_select8_i146 = _llvm_eh_selector(_eh_ptr_i145, ___gxx_personality_v0, 0);
                (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_1900) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3834; /* _invcont1_i143 */  } else { __label__ = 3835; /* _lpad9_i150 */  }
                if (__label__ == 3834) {
                  __Unwind_Resume_or_Rethrow(_eh_ptr_i145);
                  // unreachable
                }
                else if (__label__ == 3835) {
                  var _eh_ptr10_i148 = _llvm_eh_exception();
                  var _eh_select12_i149 = _llvm_eh_selector(_eh_ptr10_i148, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              }
            }
            else if (__label__ == 254) {
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select105 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              IHEAP[_1832] = __ZTV17DebugDrawcallback+8;
              IHEAP[_1833] = __ZTV17DebugDrawcallback+32;
              var _2110 = _drawCallback;
              var _2111 = _2110 | 4;
              var _2112 = _2111;
              var _2113 = _2112;
              (function() { try { __THREW__ = false; return __ZN31btInternalTriangleIndexCallbackD2Ev(_2113) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3840; /* _bb3_i124 */  } else { __label__ = 3841; /* _lpad_i127 */  }
              _bb3_i124$_lpad_i127$5296: do { 
                if (__label__ == 3840) {
                  (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_1900) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3840; __label__ = 111; /* _Unwind */ break _bb62$_bb73$5285; } else { __lastLabel__ = 3840; ; }
                }
                else if (__label__ == 3841) {
                  var _eh_ptr_i125 = _llvm_eh_exception();
                  var _eh_select8_i126 = _llvm_eh_selector(_eh_ptr_i125, ___gxx_personality_v0, 0);
                  (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_1900) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3845; /* _invcont1_i123 */  } else { __label__ = 3846; /* _lpad9_i130 */  }
                  if (__label__ == 3845) {
                    (function() { try { __THREW__ = false; return __Unwind_Resume_or_Rethrow(_eh_ptr_i125) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3843; /* _lpad106 */ break _bb3_i124$_lpad_i127$5296; }
                    // unreachable
                  }
                  else if (__label__ == 3846) {
                    var _eh_ptr10_i128 = _llvm_eh_exception();
                    var _eh_select12_i129 = _llvm_eh_selector(_eh_ptr10_i128, ___gxx_personality_v0, 1);
                    __ZSt9terminatev();
                    // unreachable
                  }
                }
              } while(0);
              var _eh_ptr107 = _llvm_eh_exception();
              var _eh_select109 = _llvm_eh_selector(_eh_ptr107, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          }
          else {
            __lastLabel__ = 1025; __label__ = 12; /* _bb73 */ 
          }
        } while(0);
        _bb73$_Unwind$5304: do { 
          if (__label__ == 12) {
            var _1905 = __lastLabel__ == 1025 ? _49 : (__pre);
            var _1906 = _1905 == 3;
            ;
            if (_1906) {
              __lastLabel__ = 12; ;
              var _1907 = _aabbMax78;
              FHEAP[_1907] = 999999984306749400;
              var _1908 = _aabbMax78+4;
              FHEAP[_1908] = 999999984306749400;
              var _1909 = _aabbMax78+8;
              FHEAP[_1909] = 999999984306749400;
              var _1910 = _aabbMax78+12;
              FHEAP[_1910] = 0;
              var _1911 = _aabbMin80;
              FHEAP[_1911] = -999999984306749400;
              var _1912 = _aabbMin80+4;
              FHEAP[_1912] = -999999984306749400;
              var _1913 = _aabbMin80+8;
              FHEAP[_1913] = -999999984306749400;
              var _1914 = _aabbMin80+12;
              FHEAP[_1914] = 0;
              var _1915 = IHEAP[_37];
              var _1916 = _1915+16;
              var _1917 = IHEAP[_1916];
              var _1918 = _1917;
              var _1919 = FUNCTION_TABLE[_1918](_this);
              var _1920 = _drawCallback82;
              var _1921 = _drawCallback82+4;
              IHEAP[_1920] = __ZTV17DebugDrawcallback+8;
              IHEAP[_1921] = __ZTV17DebugDrawcallback+32;
              var _1922 = _drawCallback82+8;
              IHEAP[_1922] = _1919;
              var _1923 = _drawCallback82+12;
              var _1924 = _color;
              var _1925 = FHEAP[_1924];
              FHEAP[_1923] = _1925;
              var _1926 = _drawCallback82+12+4;
              var _1927 = _color+4;
              var _1928 = FHEAP[_1927];
              FHEAP[_1926] = _1928;
              var _1929 = _drawCallback82+12+8;
              var _1930 = _color+8;
              var _1931 = FHEAP[_1930];
              FHEAP[_1929] = _1931;
              var _1932 = _drawCallback82+12+12;
              var _1933 = _color+12;
              var _1934 = FHEAP[_1933];
              FHEAP[_1932] = _1934;
              var _1935 = _drawCallback82+28;
              var _1936 = _worldTransform;
              var _1937 = FHEAP[_1936];
              FHEAP[_1935] = _1937;
              var _1938 = _drawCallback82+28+4;
              var _1939 = _worldTransform+4;
              var _1940 = FHEAP[_1939];
              FHEAP[_1938] = _1940;
              var _1941 = _drawCallback82+28+8;
              var _1942 = _worldTransform+8;
              var _1943 = FHEAP[_1942];
              FHEAP[_1941] = _1943;
              var _1944 = _drawCallback82+28+12;
              var _1945 = _worldTransform+12;
              var _1946 = FHEAP[_1945];
              FHEAP[_1944] = _1946;
              var _1947 = _drawCallback82+28+16;
              var _1948 = _worldTransform+16;
              var _1949 = FHEAP[_1948];
              FHEAP[_1947] = _1949;
              var _1950 = _drawCallback82+28+16+4;
              var _1951 = _worldTransform+16+4;
              var _1952 = FHEAP[_1951];
              FHEAP[_1950] = _1952;
              var _1953 = _drawCallback82+28+16+8;
              var _1954 = _worldTransform+16+8;
              var _1955 = FHEAP[_1954];
              FHEAP[_1953] = _1955;
              var _1956 = _drawCallback82+28+16+12;
              var _1957 = _worldTransform+16+12;
              var _1958 = FHEAP[_1957];
              FHEAP[_1956] = _1958;
              var _1959 = _drawCallback82+28+32;
              var _1960 = _worldTransform+32;
              var _1961 = FHEAP[_1960];
              FHEAP[_1959] = _1961;
              var _1962 = _drawCallback82+28+32+4;
              var _1963 = _worldTransform+32+4;
              var _1964 = FHEAP[_1963];
              FHEAP[_1962] = _1964;
              var _1965 = _drawCallback82+28+32+8;
              var _1966 = _worldTransform+32+8;
              var _1967 = FHEAP[_1966];
              FHEAP[_1965] = _1967;
              var _1968 = _drawCallback82+28+32+12;
              var _1969 = _worldTransform+32+12;
              var _1970 = FHEAP[_1969];
              FHEAP[_1968] = _1970;
              var _1971 = _drawCallback82+28+48;
              var _1972 = _worldTransform+48;
              var _1973 = FHEAP[_1972];
              FHEAP[_1971] = _1973;
              var _1974 = _drawCallback82+28+48+4;
              var _1975 = _worldTransform+48+4;
              var _1976 = FHEAP[_1975];
              FHEAP[_1974] = _1976;
              var _1977 = _drawCallback82+28+48+8;
              var _1978 = _worldTransform+48+8;
              var _1979 = FHEAP[_1978];
              FHEAP[_1977] = _1979;
              var _1980 = _drawCallback82+28+48+12;
              var _1981 = _worldTransform+48+12;
              var _1982 = FHEAP[_1981];
              FHEAP[_1980] = _1982;
              var _1983 = _shape+84+4;
              var _1984 = _1983;
              var _1985 = IHEAP[_1984];
              var _1986 = _1985;
              var _1987 = IHEAP[_1986];
              var _1988 = _1987+8;
              var _1989 = IHEAP[_1988];
              var _1990 = _1989;
              var _1991 = _drawCallback82+4;
              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_1990](_1985, _1991, _aabbMin80, _aabbMax78) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 21; /* _bb89 */  } else { __label__ = 3836; /* _lpad110 */  }
              if (__label__ == 21) {
                IHEAP[_1920] = __ZTV17DebugDrawcallback+8;
                IHEAP[_1921] = __ZTV17DebugDrawcallback+32;
                var _1992 = _drawCallback82;
                var _1993 = _1992 | 4;
                var _1994 = _1993;
                var _1995 = _1994;
                (function() { try { __THREW__ = false; return __ZN31btInternalTriangleIndexCallbackD2Ev(_1995) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1137; /* __ZN17DebugDrawcallbackD1Ev_exit142 */  } else { __label__ = 3837; /* _lpad_i138 */  }
                if (__label__ == 1137) {
                  var _1997 = _drawCallback82;
                  __ZN18btTriangleCallbackD2Ev(_1997);
                  var __pre497 = IHEAP[_48];
                  __lastLabel__ = 1137; ;
                }
                else if (__label__ == 3837) {
                  var _eh_ptr_i136 = _llvm_eh_exception();
                  var _eh_select8_i137 = _llvm_eh_selector(_eh_ptr_i136, ___gxx_personality_v0, 0);
                  var _1996 = _drawCallback82;
                  (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_1996) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3838; /* _invcont1_i134 */  } else { __label__ = 3839; /* _lpad9_i141 */  }
                  if (__label__ == 3838) {
                    __Unwind_Resume_or_Rethrow(_eh_ptr_i136);
                    // unreachable
                  }
                  else if (__label__ == 3839) {
                    var _eh_ptr10_i139 = _llvm_eh_exception();
                    var _eh_select12_i140 = _llvm_eh_selector(_eh_ptr10_i139, ___gxx_personality_v0, 1);
                    __ZSt9terminatev();
                    // unreachable
                  }
                }
              }
              else if (__label__ == 3836) {
                var _eh_ptr111 = _llvm_eh_exception();
                var _eh_select113 = _llvm_eh_selector(_eh_ptr111, ___gxx_personality_v0, 0);
                IHEAP[_1920] = __ZTV17DebugDrawcallback+8;
                IHEAP[_1921] = __ZTV17DebugDrawcallback+32;
                var _2114 = _drawCallback82;
                var _2115 = _2114 | 4;
                var _2116 = _2115;
                var _2117 = _2116;
                (function() { try { __THREW__ = false; return __ZN31btInternalTriangleIndexCallbackD2Ev(_2117) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 133; /* _bb3_i */  } else { __label__ = 3822; /* _lpad_i */  }
                _bb3_i$_lpad_i$5317: do { 
                  if (__label__ == 133) {
                    var _2118 = _drawCallback82;
                    (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_2118) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 133; __label__ = 111; /* _Unwind */ break _bb73$_Unwind$5304; } else { __lastLabel__ = 133; ; }
                  }
                  else if (__label__ == 3822) {
                    var _eh_ptr_i = _llvm_eh_exception();
                    var _eh_select8_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
                    var _2119 = _drawCallback82;
                    (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_2119) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3823; /* _invcont1_i */  } else { __label__ = 3824; /* _lpad9_i */  }
                    if (__label__ == 3823) {
                      (function() { try { __THREW__ = false; return __Unwind_Resume_or_Rethrow(_eh_ptr_i) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3847; /* _lpad114 */ break _bb3_i$_lpad_i$5317; }
                      // unreachable
                    }
                    else if (__label__ == 3824) {
                      var _eh_ptr10_i = _llvm_eh_exception();
                      var _eh_select12_i = _llvm_eh_selector(_eh_ptr10_i, ___gxx_personality_v0, 1);
                      __ZSt9terminatev();
                      // unreachable
                    }
                  }
                } while(0);
                var _eh_ptr115 = _llvm_eh_exception();
                var _eh_select117 = _llvm_eh_selector(_eh_ptr115, ___gxx_personality_v0, 1);
                __ZSt9terminatev();
                // unreachable
              }
            }
            else {
              __lastLabel__ = 12; ;
            }
            var _1998 = __lastLabel__ == 1137 ? __pre497 : (_1905);
            var _1999 = _1998 < 7;
            if (!(_1999)) { __label__ = 44; /* _return */ break _bb60$_bb$_bb4$_bb5$_bb6$_bb10$_bb16$_bb30$_bb48$5283; }
            var _2000 = _shape;
            var _2001 = _shape;
            var _2002 = IHEAP[_2001];
            var _2003 = _2002+88;
            var _2004 = IHEAP[_2003];
            var _2005 = _2004;
            var _2006 = FUNCTION_TABLE[_2005](_2000);
            var _2007 = _2006 > 0;
            if (!(_2007)) { __label__ = 44; /* _return */ break _bb60$_bb$_bb4$_bb5$_bb6$_bb10$_bb16$_bb30$_bb48$5283; }
            var _2008 = _worldTransform+32;
            var _2009 = _a;
            var _2010 = _worldTransform+32+4;
            var _2011 = _a+4;
            var _2012 = _worldTransform+32+8;
            var _2013 = _a+8;
            var _2014 = _worldTransform+48+8;
            var _2015 = _worldTransform+16;
            var _2016 = _worldTransform+16+4;
            var _2017 = _worldTransform+16+8;
            var _2018 = _worldTransform+48+4;
            var _2019 = _worldTransform;
            var _2020 = _worldTransform+4;
            var _2021 = _worldTransform+8;
            var _2022 = _worldTransform+48;
            var _2023 = _wa;
            var _2024 = _wa+4;
            var _2025 = _wa+8;
            var _2026 = _wa+12;
            var _2027 = _b;
            var _2028 = _b+4;
            var _2029 = _b+8;
            var _2030 = _wb;
            var _2031 = _wb+4;
            var _2032 = _wb+8;
            var _2033 = _wb+12;
            __lastLabel__ = 1140; ;
            _bb96$5328: while(1) { // _bb96
              var _2034 = __lastLabel__ == 1140 ? 0 : (_2103);
              var _2035 = IHEAP[_2001];
              var _2036 = _2035+92;
              var _2037 = IHEAP[_2036];
              var _2038 = _2037;
              FUNCTION_TABLE[_2038](_2000, _2034, _a, _b);
              var _2039 = FHEAP[_2008];
              var _2040 = FHEAP[_2009];
              var _2041 = _2039 * _2040;
              var _2042 = FHEAP[_2010];
              var _2043 = FHEAP[_2011];
              var _2044 = _2042 * _2043;
              var _2045 = _2041 + _2044;
              var _2046 = FHEAP[_2012];
              var _2047 = FHEAP[_2013];
              var _2048 = _2046 * _2047;
              var _2049 = _2045 + _2048;
              var _2050 = FHEAP[_2014];
              var _2051 = _2049 + _2050;
              var _2052 = FHEAP[_2015];
              var _2053 = _2052 * _2040;
              var _2054 = FHEAP[_2016];
              var _2055 = _2054 * _2043;
              var _2056 = _2053 + _2055;
              var _2057 = FHEAP[_2017];
              var _2058 = _2057 * _2047;
              var _2059 = _2056 + _2058;
              var _2060 = FHEAP[_2018];
              var _2061 = _2059 + _2060;
              var _2062 = FHEAP[_2019];
              var _2063 = _2062 * _2040;
              var _2064 = FHEAP[_2020];
              var _2065 = _2064 * _2043;
              var _2066 = _2063 + _2065;
              var _2067 = FHEAP[_2021];
              var _2068 = _2067 * _2047;
              var _2069 = _2066 + _2068;
              var _2070 = FHEAP[_2022];
              var _2071 = _2069 + _2070;
              FHEAP[_2023] = _2071;
              FHEAP[_2024] = _2061;
              FHEAP[_2025] = _2051;
              FHEAP[_2026] = 0;
              var _2072 = FHEAP[_2027];
              var _2073 = _2039 * _2072;
              var _2074 = FHEAP[_2028];
              var _2075 = _2042 * _2074;
              var _2076 = _2073 + _2075;
              var _2077 = FHEAP[_2029];
              var _2078 = _2046 * _2077;
              var _2079 = _2076 + _2078;
              var _2080 = _2079 + _2050;
              var _2081 = _2052 * _2072;
              var _2082 = _2054 * _2074;
              var _2083 = _2081 + _2082;
              var _2084 = _2057 * _2077;
              var _2085 = _2083 + _2084;
              var _2086 = _2085 + _2060;
              var _2087 = _2062 * _2072;
              var _2088 = _2064 * _2074;
              var _2089 = _2087 + _2088;
              var _2090 = _2067 * _2077;
              var _2091 = _2089 + _2090;
              var _2092 = _2091 + _2070;
              FHEAP[_2030] = _2092;
              FHEAP[_2031] = _2086;
              FHEAP[_2032] = _2080;
              FHEAP[_2033] = 0;
              var _2093 = IHEAP[_37];
              var _2094 = _2093+16;
              var _2095 = IHEAP[_2094];
              var _2096 = _2095;
              var _2097 = FUNCTION_TABLE[_2096](_this);
              var _2098 = _2097;
              var _2099 = IHEAP[_2098];
              var _2100 = _2099+8;
              var _2101 = IHEAP[_2100];
              var _2102 = _2101;
              FUNCTION_TABLE[_2102](_2097, _wa, _wb, _color);
              var _2103 = _2034 + 1;
              var _2104 = IHEAP[_2001];
              var _2105 = _2104+88;
              var _2106 = IHEAP[_2105];
              var _2107 = _2106;
              var _2108 = FUNCTION_TABLE[_2107](_2000);
              var _2109 = _2108 > _2103;
              if (_2109) { __lastLabel__ = 1141; __label__ = 1141; /* _bb96 */ continue _bb96$5328; } else { __lastLabel__ = 1141; __label__ = 44; /* _return */ break _bb60$_bb$_bb4$_bb5$_bb6$_bb10$_bb16$_bb30$_bb48$5283; }
            }
          }
        } while(0);
        var _eh_exception_0 = __lastLabel__ == 3840 ? _eh_ptr : (_eh_ptr111);
        __Unwind_Resume_or_Rethrow(_eh_exception_0);
        // unreachable
      }
      else if (__label__ == 60) {
        var _50 = _shape+12+4;
        var _51 = IHEAP[_50];
        var _i_0461 = _51 + -1;
        var _52 = _i_0461 > -1;
        if (!(_52)) { __label__ = 44; /* _return */ break _bb60$_bb$_bb4$_bb5$_bb6$_bb10$_bb16$_bb30$_bb48$5283; }
        var _53 = _shape+24;
        var _54 = _53;
        var _55 = _worldTransform+32;
        var _56 = _worldTransform+32+4;
        var _57 = _worldTransform+32+8;
        var _58 = _worldTransform+48+8;
        var _59 = _worldTransform+16;
        var _60 = _worldTransform+16+4;
        var _61 = _worldTransform+16+8;
        var _62 = _worldTransform+48+4;
        var _63 = _worldTransform;
        var _64 = _worldTransform+4;
        var _65 = _worldTransform+8;
        var _66 = _worldTransform+48;
        var _67 = _36;
        var _68 = _36+4;
        var _69 = _36+8;
        var _70 = _36+12;
        var _71 = _36+16;
        var _72 = _36+16+4;
        var _73 = _36+16+8;
        var _74 = _36+16+12;
        var _75 = _36+32;
        var _76 = _36+32+4;
        var _77 = _36+32+8;
        var _78 = _36+32+12;
        var _79 = _36+48;
        var _80 = _36+48+4;
        var _81 = _36+48+8;
        var _82 = _36+48+12;
        __lastLabel__ = 1134; ;
        _bb1$5333: while(1) { // _bb1
          var _indvar472 = __lastLabel__ == 1134 ? 0 : (_indvar_next473);
          var _tmp476 = _51 - _indvar472;
          var _tmp480 = _i_0461 - _indvar472;
          var _83 = IHEAP[_54];
          var _scevgep481482 = _83+80*_tmp480;
          var _84 = FHEAP[_scevgep481482];
          var _scevgep483 = _83+80*_tmp476+-64+-12;
          var _85 = FHEAP[_scevgep483];
          var _scevgep484 = _83+80*_tmp476+-64+-8;
          var _86 = FHEAP[_scevgep484];
          var _scevgep485486 = _83+80*_tmp476+-64;
          var _87 = FHEAP[_scevgep485486];
          var _scevgep487 = _83+80*_tmp476+-48+-12;
          var _88 = FHEAP[_scevgep487];
          var _scevgep488 = _83+80*_tmp476+-48+-8;
          var _89 = FHEAP[_scevgep488];
          var _scevgep489490 = _83+80*_tmp476+-48;
          var _90 = FHEAP[_scevgep489490];
          var _scevgep491 = _83+80*_tmp476+-32+-12;
          var _91 = FHEAP[_scevgep491];
          var _scevgep492 = _83+80*_tmp476+-32+-8;
          var _92 = FHEAP[_scevgep492];
          var _scevgep493494 = _83+80*_tmp476+-32;
          var _93 = FHEAP[_scevgep493494];
          var _scevgep495 = _83+80*_tmp476+-16+-12;
          var _94 = FHEAP[_scevgep495];
          var _scevgep496 = _83+80*_tmp476+-16+-8;
          var _95 = FHEAP[_scevgep496];
          var _scevgep477 = _83+80*_tmp476+-16;
          var _scevgep477478 = _scevgep477;
          var _96 = IHEAP[_scevgep477478];
          var _97 = IHEAP[_37];
          var _98 = _97+24;
          var _99 = IHEAP[_98];
          var _100 = FHEAP[_55];
          var _101 = _100 * _93;
          var _102 = FHEAP[_56];
          var _103 = _102 * _94;
          var _104 = _101 + _103;
          var _105 = FHEAP[_57];
          var _106 = _105 * _95;
          var _107 = _104 + _106;
          var _108 = FHEAP[_58];
          var _109 = _107 + _108;
          var _110 = FHEAP[_59];
          var _111 = _110 * _93;
          var _112 = FHEAP[_60];
          var _113 = _112 * _94;
          var _114 = _111 + _113;
          var _115 = FHEAP[_61];
          var _116 = _115 * _95;
          var _117 = _114 + _116;
          var _118 = FHEAP[_62];
          var _119 = _117 + _118;
          var _120 = FHEAP[_63];
          var _121 = _120 * _93;
          var _122 = FHEAP[_64];
          var _123 = _122 * _94;
          var _124 = _121 + _123;
          var _125 = FHEAP[_65];
          var _126 = _125 * _95;
          var _127 = _124 + _126;
          var _128 = FHEAP[_66];
          var _129 = _127 + _128;
          var _130 = _86 * _100;
          var _131 = _89 * _102;
          var _132 = _130 + _131;
          var _133 = _92 * _105;
          var _134 = _132 + _133;
          var _135 = _85 * _100;
          var _136 = _88 * _102;
          var _137 = _135 + _136;
          var _138 = _91 * _105;
          var _139 = _137 + _138;
          var _140 = _84 * _100;
          var _141 = _87 * _102;
          var _142 = _140 + _141;
          var _143 = _90 * _105;
          var _144 = _142 + _143;
          var _145 = _86 * _110;
          var _146 = _89 * _112;
          var _147 = _145 + _146;
          var _148 = _92 * _115;
          var _149 = _147 + _148;
          var _150 = _85 * _110;
          var _151 = _88 * _112;
          var _152 = _150 + _151;
          var _153 = _91 * _115;
          var _154 = _152 + _153;
          var _155 = _84 * _110;
          var _156 = _87 * _112;
          var _157 = _155 + _156;
          var _158 = _90 * _115;
          var _159 = _157 + _158;
          var _160 = _86 * _120;
          var _161 = _89 * _122;
          var _162 = _160 + _161;
          var _163 = _92 * _125;
          var _164 = _162 + _163;
          var _165 = _85 * _120;
          var _166 = _88 * _122;
          var _167 = _165 + _166;
          var _168 = _91 * _125;
          var _169 = _167 + _168;
          var _170 = _84 * _120;
          var _171 = _87 * _122;
          var _172 = _170 + _171;
          var _173 = _90 * _125;
          var _174 = _172 + _173;
          FHEAP[_67] = _174;
          FHEAP[_68] = _169;
          FHEAP[_69] = _164;
          FHEAP[_70] = 0;
          FHEAP[_71] = _159;
          FHEAP[_72] = _154;
          FHEAP[_73] = _149;
          FHEAP[_74] = 0;
          FHEAP[_75] = _144;
          FHEAP[_76] = _139;
          FHEAP[_77] = _134;
          FHEAP[_78] = 0;
          FHEAP[_79] = _129;
          FHEAP[_80] = _119;
          FHEAP[_81] = _109;
          FHEAP[_82] = 0;
          var _175 = _99;
          FUNCTION_TABLE[_175](_this, _36, _96, _color);
          var _indvar_next473 = _indvar472 + 1;
          var _exitcond474 = _indvar_next473 == _51;
          if (_exitcond474) { __lastLabel__ = 75; __label__ = 44; /* _return */ break _bb60$_bb$_bb4$_bb5$_bb6$_bb10$_bb16$_bb30$_bb48$5283; } else { __lastLabel__ = 75; __label__ = 75; /* _bb1 */ continue _bb1$5333; }
        }
      }
      else if (__label__ == 61) {
        var _176 = _halfExtents;
        var _177 = _shape+24+4;
        var _178 = _177;
        var _179 = FHEAP[_178];
        var _180 = _halfExtents+4;
        var _181 = _shape+24+8;
        var _182 = _181;
        var _183 = FHEAP[_182];
        var _184 = _halfExtents+8;
        var _185 = _shape+36;
        var _186 = _185;
        var _187 = FHEAP[_186];
        var _188 = _halfExtents+12;
        var _189 = _shape+36+4;
        var _190 = _189;
        var _191 = FHEAP[_190];
        FHEAP[_188] = _191;
        var _192 = _shape;
        var _193 = IHEAP[_192];
        var _194 = _193+44;
        var _195 = IHEAP[_194];
        var _196 = _shape;
        var _197 = _195;
        var _198 = FUNCTION_TABLE[_197](_196);
        var _199 = IHEAP[_192];
        var _200 = _199+44;
        var _201 = IHEAP[_200];
        var _202 = _201;
        var _203 = FUNCTION_TABLE[_202](_196);
        var _204 = IHEAP[_192];
        var _205 = _204+44;
        var _206 = IHEAP[_205];
        var _207 = _206;
        var _208 = FUNCTION_TABLE[_207](_196);
        var _209 = _179 + _208;
        FHEAP[_176] = _209;
        var _210 = _183 + _203;
        FHEAP[_180] = _210;
        var _211 = _187 + _198;
        FHEAP[_184] = _211;
        var _212 = IHEAP[_37];
        var _213 = _212+16;
        var _214 = IHEAP[_213];
        var _215 = _214;
        var _216 = FUNCTION_TABLE[_215](_this);
        var _217 = _216;
        var _218 = IHEAP[_217];
        var _219 = _218+72;
        var _220 = IHEAP[_219];
        var _221 = FHEAP[_184];
        var _222 = 0 - _221;
        var _223 = FHEAP[_180];
        var _224 = 0 - _223;
        var _225 = FHEAP[_176];
        var _226 = 0 - _225;
        var _227 = _35;
        FHEAP[_227] = _226;
        var _228 = _35+4;
        FHEAP[_228] = _224;
        var _229 = _35+8;
        FHEAP[_229] = _222;
        var _230 = _35+12;
        FHEAP[_230] = 0;
        var _231 = _220;
        FUNCTION_TABLE[_231](_216, _35, _halfExtents, _worldTransform, _color);
        STACKTOP = __stackBase__;
        return;
      }
      else if (__label__ == 82) {
        var _232 = _shape;
        var _233 = _shape;
        var _234 = IHEAP[_233];
        var _235 = _234+44;
        var _236 = IHEAP[_235];
        var _237 = _236;
        var _238 = FUNCTION_TABLE[_237](_232);
        var _239 = IHEAP[_37];
        var _240 = _239+16;
        var _241 = IHEAP[_240];
        var _242 = _241;
        var _243 = FUNCTION_TABLE[_242](_this);
        var _244 = _243;
        var _245 = IHEAP[_244];
        var _246 = _245+16;
        var _247 = IHEAP[_246];
        var _248 = _247;
        FUNCTION_TABLE[_248](_243, _238, _worldTransform, _color);
        STACKTOP = __stackBase__;
        return;
      }
      else if (__label__ == 83) {
        var _249 = _shape+84+8;
        var _250 = _249;
        var _251 = IHEAP[_250];
        var _i7_0455 = _251 + -1;
        var _252 = _i7_0455 > -1;
        if (!(_252)) { __label__ = 44; /* _return */ break _bb60$_bb$_bb4$_bb5$_bb6$_bb10$_bb16$_bb30$_bb48$5283; }
        var _253 = _shape+96+4;
        var _254 = _253;
        var _255 = _worldTransform+32;
        var _256 = _worldTransform+32+4;
        var _257 = _worldTransform+32+8;
        var _258 = _worldTransform+48+8;
        var _259 = _worldTransform+16;
        var _260 = _worldTransform+16+4;
        var _261 = _worldTransform+16+8;
        var _262 = _worldTransform+48+4;
        var _263 = _worldTransform;
        var _264 = _worldTransform+4;
        var _265 = _worldTransform+8;
        var _266 = _worldTransform+48;
        var _267 = _34;
        var _268 = _34+4;
        var _269 = _34+8;
        var _270 = _34+12;
        var _271 = _34+16;
        var _272 = _34+16+4;
        var _273 = _34+16+8;
        var _274 = _34+16+12;
        var _275 = _34+32;
        var _276 = _34+32+4;
        var _277 = _34+32+8;
        var _278 = _34+32+12;
        var _279 = _34+48;
        var _280 = _34+48+4;
        var _281 = _34+48+8;
        var _282 = _34+48+12;
        var _283 = _shape+120;
        var _284 = _283;
        __lastLabel__ = 130; ;
        _bb8$5339: while(1) { // _bb8
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp465 = _i7_0455 - _indvar;
          var _tmp468 = _251 - _indvar;
          var _285 = IHEAP[_254];
          var _scevgep466467 = _285+16*_tmp465;
          var _286 = FHEAP[_scevgep466467];
          var _scevgep469 = _285+16*_tmp468+-12;
          var _287 = FHEAP[_scevgep469];
          var _scevgep470 = _285+16*_tmp468+-8;
          var _288 = FHEAP[_scevgep470];
          var _289 = IHEAP[_37];
          var _290 = _289+16;
          var _291 = IHEAP[_290];
          var _292 = _291;
          var _293 = FUNCTION_TABLE[_292](_this);
          var _294 = _293;
          var _295 = IHEAP[_294];
          var _296 = _295+16;
          var _297 = IHEAP[_296];
          var _298 = FHEAP[_255];
          var _299 = _298 * _286;
          var _300 = FHEAP[_256];
          var _301 = _300 * _287;
          var _302 = _299 + _301;
          var _303 = FHEAP[_257];
          var _304 = _303 * _288;
          var _305 = _302 + _304;
          var _306 = FHEAP[_258];
          var _307 = _305 + _306;
          var _308 = FHEAP[_259];
          var _309 = _308 * _286;
          var _310 = FHEAP[_260];
          var _311 = _310 * _287;
          var _312 = _309 + _311;
          var _313 = FHEAP[_261];
          var _314 = _313 * _288;
          var _315 = _312 + _314;
          var _316 = FHEAP[_262];
          var _317 = _315 + _316;
          var _318 = FHEAP[_263];
          var _319 = _318 * _286;
          var _320 = FHEAP[_264];
          var _321 = _320 * _287;
          var _322 = _319 + _321;
          var _323 = FHEAP[_265];
          var _324 = _323 * _288;
          var _325 = _322 + _324;
          var _326 = FHEAP[_266];
          var _327 = _325 + _326;
          var _328 = _298 * 0;
          var _329 = _300 * 0;
          var _330 = _328 + _329;
          var _331 = _330 + _303;
          var _332 = _328 + _300;
          var _333 = _303 * 0;
          var _334 = _332 + _333;
          var _335 = _298 + _329;
          var _336 = _335 + _333;
          var _337 = _308 * 0;
          var _338 = _310 * 0;
          var _339 = _337 + _338;
          var _340 = _339 + _313;
          var _341 = _337 + _310;
          var _342 = _313 * 0;
          var _343 = _341 + _342;
          var _344 = _308 + _338;
          var _345 = _344 + _342;
          var _346 = _318 * 0;
          var _347 = _320 * 0;
          var _348 = _346 + _347;
          var _349 = _348 + _323;
          var _350 = _346 + _320;
          var _351 = _323 * 0;
          var _352 = _350 + _351;
          var _353 = _318 + _347;
          var _354 = _353 + _351;
          FHEAP[_267] = _354;
          FHEAP[_268] = _352;
          FHEAP[_269] = _349;
          FHEAP[_270] = 0;
          FHEAP[_271] = _345;
          FHEAP[_272] = _343;
          FHEAP[_273] = _340;
          FHEAP[_274] = 0;
          FHEAP[_275] = _336;
          FHEAP[_276] = _334;
          FHEAP[_277] = _331;
          FHEAP[_278] = 0;
          FHEAP[_279] = _327;
          FHEAP[_280] = _317;
          FHEAP[_281] = _307;
          FHEAP[_282] = 0;
          var _355 = IHEAP[_284];
          var _scevgep = _355+4*_tmp465;
          var _356 = FHEAP[_scevgep];
          var _357 = _297;
          FUNCTION_TABLE[_357](_293, _356, _34, _color);
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _251;
          if (_exitcond) { __lastLabel__ = 148; __label__ = 44; /* _return */ break _bb60$_bb$_bb4$_bb5$_bb6$_bb10$_bb16$_bb30$_bb48$5283; } else { __lastLabel__ = 148; __label__ = 148; /* _bb8 */ continue _bb8$5339; }
        }
      }
      else if (__label__ == 150) {
        var _358 = _shape;
        var _359 = _shape+48+4;
        var _360 = IHEAP[_359];
        var _361 = _360 + 2;
        var _362 = Math.floor(_361 % 3);
        var _363 = _358+28+_362*4;
        var _364 = FHEAP[_363];
        var _365 = _358+28+_360*4;
        var _366 = FHEAP[_365];
        var _367 = _capStart;
        FHEAP[_367] = 0;
        var _368 = _capStart+4;
        FHEAP[_368] = 0;
        var _369 = _capStart+8;
        FHEAP[_369] = 0;
        var _370 = _capStart+12;
        FHEAP[_370] = 0;
        var _371 = 0 - _366;
        var _372 = _capStart+_360*4;
        FHEAP[_372] = _371;
        var _373 = _capEnd;
        FHEAP[_373] = 0;
        var _374 = _capEnd+4;
        FHEAP[_374] = 0;
        var _375 = _capEnd+8;
        FHEAP[_375] = 0;
        var _376 = _capEnd+12;
        FHEAP[_376] = 0;
        var _377 = _capEnd+_360*4;
        FHEAP[_377] = _366;
        var _378 = _childTransform12;
        var _379 = _worldTransform;
        var _380 = FHEAP[_379];
        FHEAP[_378] = _380;
        var _381 = _childTransform12+4;
        var _382 = _worldTransform+4;
        var _383 = FHEAP[_382];
        FHEAP[_381] = _383;
        var _384 = _childTransform12+8;
        var _385 = _worldTransform+8;
        var _386 = FHEAP[_385];
        FHEAP[_384] = _386;
        var _387 = _childTransform12+12;
        var _388 = _worldTransform+12;
        var _389 = FHEAP[_388];
        FHEAP[_387] = _389;
        var _390 = _childTransform12+16;
        var _391 = _worldTransform+16;
        var _392 = FHEAP[_391];
        FHEAP[_390] = _392;
        var _393 = _childTransform12+16+4;
        var _394 = _worldTransform+16+4;
        var _395 = FHEAP[_394];
        FHEAP[_393] = _395;
        var _396 = _childTransform12+16+8;
        var _397 = _worldTransform+16+8;
        var _398 = FHEAP[_397];
        FHEAP[_396] = _398;
        var _399 = _childTransform12+16+12;
        var _400 = _worldTransform+16+12;
        var _401 = FHEAP[_400];
        FHEAP[_399] = _401;
        var _402 = _childTransform12+32;
        var _403 = _worldTransform+32;
        var _404 = FHEAP[_403];
        FHEAP[_402] = _404;
        var _405 = _childTransform12+32+4;
        var _406 = _worldTransform+32+4;
        var _407 = FHEAP[_406];
        FHEAP[_405] = _407;
        var _408 = _childTransform12+32+8;
        var _409 = _worldTransform+32+8;
        var _410 = FHEAP[_409];
        FHEAP[_408] = _410;
        var _411 = _childTransform12+32+12;
        var _412 = _worldTransform+32+12;
        var _413 = FHEAP[_412];
        FHEAP[_411] = _413;
        var _414 = _childTransform12+48;
        var _415 = _worldTransform+48;
        var _416 = FHEAP[_415];
        var _417 = _childTransform12+48+4;
        var _418 = _worldTransform+48+4;
        var _419 = FHEAP[_418];
        var _420 = _childTransform12+48+8;
        var _421 = _worldTransform+48+8;
        var _422 = FHEAP[_421];
        var _423 = _childTransform12+48+12;
        var _424 = FHEAP[_367];
        var _425 = _404 * _424;
        var _426 = FHEAP[_368];
        var _427 = _407 * _426;
        var _428 = _425 + _427;
        var _429 = FHEAP[_369];
        var _430 = _410 * _429;
        var _431 = _428 + _430;
        var _432 = _431 + _422;
        var _433 = _392 * _424;
        var _434 = _395 * _426;
        var _435 = _433 + _434;
        var _436 = _398 * _429;
        var _437 = _435 + _436;
        var _438 = _437 + _419;
        var _439 = _380 * _424;
        var _440 = _383 * _426;
        var _441 = _439 + _440;
        var _442 = _386 * _429;
        var _443 = _441 + _442;
        var _444 = _443 + _416;
        FHEAP[_414] = _444;
        FHEAP[_417] = _438;
        FHEAP[_420] = _432;
        FHEAP[_423] = 0;
        var _445 = IHEAP[_37];
        var _446 = _445+16;
        var _447 = IHEAP[_446];
        var _448 = _447;
        var _449 = FUNCTION_TABLE[_448](_this);
        var _450 = _449;
        var _451 = IHEAP[_450];
        var _452 = _451+16;
        var _453 = IHEAP[_452];
        var _454 = _453;
        FUNCTION_TABLE[_454](_449, _364, _childTransform12, _color);
        var _455 = _childTransform14;
        var _456 = FHEAP[_379];
        FHEAP[_455] = _456;
        var _457 = _childTransform14+4;
        var _458 = FHEAP[_382];
        FHEAP[_457] = _458;
        var _459 = _childTransform14+8;
        var _460 = FHEAP[_385];
        FHEAP[_459] = _460;
        var _461 = _childTransform14+12;
        var _462 = FHEAP[_388];
        FHEAP[_461] = _462;
        var _463 = _childTransform14+16;
        var _464 = FHEAP[_391];
        FHEAP[_463] = _464;
        var _465 = _childTransform14+16+4;
        var _466 = FHEAP[_394];
        FHEAP[_465] = _466;
        var _467 = _childTransform14+16+8;
        var _468 = FHEAP[_397];
        FHEAP[_467] = _468;
        var _469 = _childTransform14+16+12;
        var _470 = FHEAP[_400];
        FHEAP[_469] = _470;
        var _471 = _childTransform14+32;
        var _472 = FHEAP[_403];
        FHEAP[_471] = _472;
        var _473 = _childTransform14+32+4;
        var _474 = FHEAP[_406];
        FHEAP[_473] = _474;
        var _475 = _childTransform14+32+8;
        var _476 = FHEAP[_409];
        FHEAP[_475] = _476;
        var _477 = _childTransform14+32+12;
        var _478 = FHEAP[_412];
        FHEAP[_477] = _478;
        var _479 = _childTransform14+48;
        var _480 = FHEAP[_415];
        var _481 = _childTransform14+48+4;
        var _482 = FHEAP[_418];
        var _483 = _childTransform14+48+8;
        var _484 = FHEAP[_421];
        var _485 = _childTransform14+48+12;
        var _486 = FHEAP[_373];
        var _487 = _472 * _486;
        var _488 = FHEAP[_374];
        var _489 = _474 * _488;
        var _490 = _487 + _489;
        var _491 = FHEAP[_375];
        var _492 = _476 * _491;
        var _493 = _490 + _492;
        var _494 = _493 + _484;
        var _495 = _464 * _486;
        var _496 = _466 * _488;
        var _497 = _495 + _496;
        var _498 = _468 * _491;
        var _499 = _497 + _498;
        var _500 = _499 + _482;
        var _501 = _456 * _486;
        var _502 = _458 * _488;
        var _503 = _501 + _502;
        var _504 = _460 * _491;
        var _505 = _503 + _504;
        var _506 = _505 + _480;
        FHEAP[_479] = _506;
        FHEAP[_481] = _500;
        FHEAP[_483] = _494;
        FHEAP[_485] = 0;
        var _507 = IHEAP[_37];
        var _508 = _507+16;
        var _509 = IHEAP[_508];
        var _510 = _509;
        var _511 = FUNCTION_TABLE[_510](_this);
        var _512 = _511;
        var _513 = IHEAP[_512];
        var _514 = _513+16;
        var _515 = IHEAP[_514];
        var _516 = _515;
        FUNCTION_TABLE[_516](_511, _364, _childTransform14, _color);
        var _517 = FHEAP[_415];
        var _518 = FHEAP[_418];
        var _519 = FHEAP[_421];
        var _520 = _360 + 1;
        var _521 = Math.floor(_520 % 3);
        var _522 = _capStart+_521*4;
        FHEAP[_522] = _364;
        var _523 = _capEnd+_521*4;
        FHEAP[_523] = _364;
        var _524 = IHEAP[_37];
        var _525 = _524+16;
        var _526 = IHEAP[_525];
        var _527 = _526;
        var _528 = FUNCTION_TABLE[_527](_this);
        var _529 = _528;
        var _530 = IHEAP[_529];
        var _531 = _530+8;
        var _532 = IHEAP[_531];
        var _533 = FHEAP[_403];
        var _534 = FHEAP[_373];
        var _535 = _533 * _534;
        var _536 = FHEAP[_406];
        var _537 = FHEAP[_374];
        var _538 = _536 * _537;
        var _539 = _535 + _538;
        var _540 = FHEAP[_409];
        var _541 = FHEAP[_375];
        var _542 = _540 * _541;
        var _543 = _539 + _542;
        var _544 = FHEAP[_391];
        var _545 = _544 * _534;
        var _546 = FHEAP[_394];
        var _547 = _546 * _537;
        var _548 = _545 + _547;
        var _549 = FHEAP[_397];
        var _550 = _549 * _541;
        var _551 = _548 + _550;
        var _552 = FHEAP[_379];
        var _553 = _552 * _534;
        var _554 = FHEAP[_382];
        var _555 = _554 * _537;
        var _556 = _553 + _555;
        var _557 = FHEAP[_385];
        var _558 = _557 * _541;
        var _559 = _556 + _558;
        var _560 = _519 + _543;
        var _561 = _518 + _551;
        var _562 = _517 + _559;
        var _563 = _33;
        FHEAP[_563] = _562;
        var _564 = _33+4;
        FHEAP[_564] = _561;
        var _565 = _33+8;
        FHEAP[_565] = _560;
        var _566 = _33+12;
        FHEAP[_566] = 0;
        var _567 = FHEAP[_367];
        var _568 = _533 * _567;
        var _569 = FHEAP[_368];
        var _570 = _536 * _569;
        var _571 = _568 + _570;
        var _572 = FHEAP[_369];
        var _573 = _540 * _572;
        var _574 = _571 + _573;
        var _575 = _544 * _567;
        var _576 = _546 * _569;
        var _577 = _575 + _576;
        var _578 = _549 * _572;
        var _579 = _577 + _578;
        var _580 = _552 * _567;
        var _581 = _554 * _569;
        var _582 = _580 + _581;
        var _583 = _557 * _572;
        var _584 = _582 + _583;
        var _585 = _519 + _574;
        var _586 = _518 + _579;
        var _587 = _517 + _584;
        var _588 = _32;
        FHEAP[_588] = _587;
        var _589 = _32+4;
        FHEAP[_589] = _586;
        var _590 = _32+8;
        FHEAP[_590] = _585;
        var _591 = _32+12;
        FHEAP[_591] = 0;
        var _592 = _532;
        FUNCTION_TABLE[_592](_528, _32, _33, _color);
        var _593 = 0 - _364;
        FHEAP[_522] = _593;
        FHEAP[_523] = _593;
        var _594 = IHEAP[_37];
        var _595 = _594+16;
        var _596 = IHEAP[_595];
        var _597 = _596;
        var _598 = FUNCTION_TABLE[_597](_this);
        var _599 = _598;
        var _600 = IHEAP[_599];
        var _601 = _600+8;
        var _602 = IHEAP[_601];
        var _603 = FHEAP[_403];
        var _604 = FHEAP[_373];
        var _605 = _603 * _604;
        var _606 = FHEAP[_406];
        var _607 = FHEAP[_374];
        var _608 = _606 * _607;
        var _609 = _605 + _608;
        var _610 = FHEAP[_409];
        var _611 = FHEAP[_375];
        var _612 = _610 * _611;
        var _613 = _609 + _612;
        var _614 = FHEAP[_391];
        var _615 = _614 * _604;
        var _616 = FHEAP[_394];
        var _617 = _616 * _607;
        var _618 = _615 + _617;
        var _619 = FHEAP[_397];
        var _620 = _619 * _611;
        var _621 = _618 + _620;
        var _622 = FHEAP[_379];
        var _623 = _622 * _604;
        var _624 = FHEAP[_382];
        var _625 = _624 * _607;
        var _626 = _623 + _625;
        var _627 = FHEAP[_385];
        var _628 = _627 * _611;
        var _629 = _626 + _628;
        var _630 = _519 + _613;
        var _631 = _518 + _621;
        var _632 = _517 + _629;
        var _633 = _31;
        FHEAP[_633] = _632;
        var _634 = _31+4;
        FHEAP[_634] = _631;
        var _635 = _31+8;
        FHEAP[_635] = _630;
        var _636 = _31+12;
        FHEAP[_636] = 0;
        var _637 = FHEAP[_367];
        var _638 = _603 * _637;
        var _639 = FHEAP[_368];
        var _640 = _606 * _639;
        var _641 = _638 + _640;
        var _642 = FHEAP[_369];
        var _643 = _610 * _642;
        var _644 = _641 + _643;
        var _645 = _614 * _637;
        var _646 = _616 * _639;
        var _647 = _645 + _646;
        var _648 = _619 * _642;
        var _649 = _647 + _648;
        var _650 = _622 * _637;
        var _651 = _624 * _639;
        var _652 = _650 + _651;
        var _653 = _627 * _642;
        var _654 = _652 + _653;
        var _655 = _519 + _644;
        var _656 = _518 + _649;
        var _657 = _517 + _654;
        var _658 = _30;
        FHEAP[_658] = _657;
        var _659 = _30+4;
        FHEAP[_659] = _656;
        var _660 = _30+8;
        FHEAP[_660] = _655;
        var _661 = _30+12;
        FHEAP[_661] = 0;
        var _662 = _602;
        FUNCTION_TABLE[_662](_598, _30, _31, _color);
        FHEAP[_522] = 0;
        FHEAP[_523] = 0;
        var _663 = _capStart+_362*4;
        FHEAP[_663] = _364;
        var _664 = _capEnd+_362*4;
        FHEAP[_664] = _364;
        var _665 = IHEAP[_37];
        var _666 = _665+16;
        var _667 = IHEAP[_666];
        var _668 = _667;
        var _669 = FUNCTION_TABLE[_668](_this);
        var _670 = _669;
        var _671 = IHEAP[_670];
        var _672 = _671+8;
        var _673 = IHEAP[_672];
        var _674 = FHEAP[_403];
        var _675 = FHEAP[_373];
        var _676 = _674 * _675;
        var _677 = FHEAP[_406];
        var _678 = FHEAP[_374];
        var _679 = _677 * _678;
        var _680 = _676 + _679;
        var _681 = FHEAP[_409];
        var _682 = FHEAP[_375];
        var _683 = _681 * _682;
        var _684 = _680 + _683;
        var _685 = FHEAP[_391];
        var _686 = _685 * _675;
        var _687 = FHEAP[_394];
        var _688 = _687 * _678;
        var _689 = _686 + _688;
        var _690 = FHEAP[_397];
        var _691 = _690 * _682;
        var _692 = _689 + _691;
        var _693 = FHEAP[_379];
        var _694 = _693 * _675;
        var _695 = FHEAP[_382];
        var _696 = _695 * _678;
        var _697 = _694 + _696;
        var _698 = FHEAP[_385];
        var _699 = _698 * _682;
        var _700 = _697 + _699;
        var _701 = _519 + _684;
        var _702 = _518 + _692;
        var _703 = _517 + _700;
        var _704 = _29;
        FHEAP[_704] = _703;
        var _705 = _29+4;
        FHEAP[_705] = _702;
        var _706 = _29+8;
        FHEAP[_706] = _701;
        var _707 = _29+12;
        FHEAP[_707] = 0;
        var _708 = FHEAP[_367];
        var _709 = _674 * _708;
        var _710 = FHEAP[_368];
        var _711 = _677 * _710;
        var _712 = _709 + _711;
        var _713 = FHEAP[_369];
        var _714 = _681 * _713;
        var _715 = _712 + _714;
        var _716 = _685 * _708;
        var _717 = _687 * _710;
        var _718 = _716 + _717;
        var _719 = _690 * _713;
        var _720 = _718 + _719;
        var _721 = _693 * _708;
        var _722 = _695 * _710;
        var _723 = _721 + _722;
        var _724 = _698 * _713;
        var _725 = _723 + _724;
        var _726 = _519 + _715;
        var _727 = _518 + _720;
        var _728 = _517 + _725;
        var _729 = _28;
        FHEAP[_729] = _728;
        var _730 = _28+4;
        FHEAP[_730] = _727;
        var _731 = _28+8;
        FHEAP[_731] = _726;
        var _732 = _28+12;
        FHEAP[_732] = 0;
        var _733 = _673;
        FUNCTION_TABLE[_733](_669, _28, _29, _color);
        FHEAP[_663] = _593;
        FHEAP[_664] = _593;
        var _734 = IHEAP[_37];
        var _735 = _734+16;
        var _736 = IHEAP[_735];
        var _737 = _736;
        var _738 = FUNCTION_TABLE[_737](_this);
        var _739 = _738;
        var _740 = IHEAP[_739];
        var _741 = _740+8;
        var _742 = IHEAP[_741];
        var _743 = FHEAP[_403];
        var _744 = FHEAP[_373];
        var _745 = _743 * _744;
        var _746 = FHEAP[_406];
        var _747 = FHEAP[_374];
        var _748 = _746 * _747;
        var _749 = _745 + _748;
        var _750 = FHEAP[_409];
        var _751 = FHEAP[_375];
        var _752 = _750 * _751;
        var _753 = _749 + _752;
        var _754 = FHEAP[_391];
        var _755 = _754 * _744;
        var _756 = FHEAP[_394];
        var _757 = _756 * _747;
        var _758 = _755 + _757;
        var _759 = FHEAP[_397];
        var _760 = _759 * _751;
        var _761 = _758 + _760;
        var _762 = FHEAP[_379];
        var _763 = _762 * _744;
        var _764 = FHEAP[_382];
        var _765 = _764 * _747;
        var _766 = _763 + _765;
        var _767 = FHEAP[_385];
        var _768 = _767 * _751;
        var _769 = _766 + _768;
        var _770 = _519 + _753;
        var _771 = _518 + _761;
        var _772 = _517 + _769;
        var _773 = _27;
        FHEAP[_773] = _772;
        var _774 = _27+4;
        FHEAP[_774] = _771;
        var _775 = _27+8;
        FHEAP[_775] = _770;
        var _776 = _27+12;
        FHEAP[_776] = 0;
        var _777 = FHEAP[_367];
        var _778 = _743 * _777;
        var _779 = FHEAP[_368];
        var _780 = _746 * _779;
        var _781 = _778 + _780;
        var _782 = FHEAP[_369];
        var _783 = _750 * _782;
        var _784 = _781 + _783;
        var _785 = _754 * _777;
        var _786 = _756 * _779;
        var _787 = _785 + _786;
        var _788 = _759 * _782;
        var _789 = _787 + _788;
        var _790 = _762 * _777;
        var _791 = _764 * _779;
        var _792 = _790 + _791;
        var _793 = _767 * _782;
        var _794 = _792 + _793;
        var _795 = _519 + _784;
        var _796 = _518 + _789;
        var _797 = _517 + _794;
        var _798 = _26;
        FHEAP[_798] = _797;
        var _799 = _26+4;
        FHEAP[_799] = _796;
        var _800 = _26+8;
        FHEAP[_800] = _795;
        var _801 = _26+12;
        FHEAP[_801] = 0;
        var _802 = _742;
        FUNCTION_TABLE[_802](_738, _26, _27, _color);
        STACKTOP = __stackBase__;
        return;
      }
      else if (__label__ == 154) {
        var _803 = _shape+48+8;
        var _804 = _803;
        var _805 = FHEAP[_804];
        var _806 = _shape+60;
        var _807 = _806;
        var _808 = FHEAP[_807];
        var _809 = _worldTransform+48;
        var _810 = FHEAP[_809];
        var _811 = _worldTransform+48+4;
        var _812 = FHEAP[_811];
        var _813 = _worldTransform+48+8;
        var _814 = FHEAP[_813];
        var _815 = _shape+60+8;
        var _816 = _815;
        var _817 = IHEAP[_816];
        var _818 = _offsetHeight;
        FHEAP[_818] = 0;
        var _819 = _offsetHeight+4;
        FHEAP[_819] = 0;
        var _820 = _offsetHeight+8;
        FHEAP[_820] = 0;
        var _821 = _offsetHeight+12;
        FHEAP[_821] = 0;
        var _822 = _808 * 0.5;
        var _823 = _offsetHeight+_817*4;
        FHEAP[_823] = _822;
        var _824 = _offsetRadius;
        FHEAP[_824] = 0;
        var _825 = _offsetRadius+4;
        FHEAP[_825] = 0;
        var _826 = _offsetRadius+8;
        FHEAP[_826] = 0;
        var _827 = _offsetRadius+12;
        FHEAP[_827] = 0;
        var _828 = _817 + 1;
        var _829 = Math.floor(_828 % 3);
        var _830 = _offsetRadius+_829*4;
        FHEAP[_830] = _805;
        var _831 = _offset2Radius;
        FHEAP[_831] = 0;
        var _832 = _offset2Radius+4;
        FHEAP[_832] = 0;
        var _833 = _offset2Radius+8;
        FHEAP[_833] = 0;
        var _834 = _offset2Radius+12;
        FHEAP[_834] = 0;
        var _835 = _817 + 2;
        var _836 = Math.floor(_835 % 3);
        var _837 = _offset2Radius+_836*4;
        FHEAP[_837] = _805;
        var _838 = IHEAP[_37];
        var _839 = _838+16;
        var _840 = IHEAP[_839];
        var _841 = _840;
        var _842 = FUNCTION_TABLE[_841](_this);
        var _843 = _842;
        var _844 = IHEAP[_843];
        var _845 = _844+8;
        var _846 = IHEAP[_845];
        var _847 = FHEAP[_820];
        var _848 = FHEAP[_819];
        var _849 = FHEAP[_818];
        var _850 = FHEAP[_826];
        var _851 = _850 - _847;
        var _852 = FHEAP[_825];
        var _853 = _852 - _848;
        var _854 = FHEAP[_824];
        var _855 = _854 - _849;
        var _856 = _worldTransform+32;
        var _857 = FHEAP[_856];
        var _858 = _857 * _855;
        var _859 = _worldTransform+32+4;
        var _860 = FHEAP[_859];
        var _861 = _860 * _853;
        var _862 = _858 + _861;
        var _863 = _worldTransform+32+8;
        var _864 = FHEAP[_863];
        var _865 = _864 * _851;
        var _866 = _862 + _865;
        var _867 = _worldTransform+16;
        var _868 = FHEAP[_867];
        var _869 = _868 * _855;
        var _870 = _worldTransform+16+4;
        var _871 = FHEAP[_870];
        var _872 = _871 * _853;
        var _873 = _869 + _872;
        var _874 = _worldTransform+16+8;
        var _875 = FHEAP[_874];
        var _876 = _875 * _851;
        var _877 = _873 + _876;
        var _878 = _worldTransform;
        var _879 = FHEAP[_878];
        var _880 = _879 * _855;
        var _881 = _worldTransform+4;
        var _882 = FHEAP[_881];
        var _883 = _882 * _853;
        var _884 = _880 + _883;
        var _885 = _worldTransform+8;
        var _886 = FHEAP[_885];
        var _887 = _886 * _851;
        var _888 = _884 + _887;
        var _889 = _814 + _866;
        var _890 = _812 + _877;
        var _891 = _810 + _888;
        var _892 = _25;
        FHEAP[_892] = _891;
        var _893 = _25+4;
        FHEAP[_893] = _890;
        var _894 = _25+8;
        FHEAP[_894] = _889;
        var _895 = _25+12;
        FHEAP[_895] = 0;
        var _896 = _857 * _849;
        var _897 = _860 * _848;
        var _898 = _896 + _897;
        var _899 = _864 * _847;
        var _900 = _898 + _899;
        var _901 = _868 * _849;
        var _902 = _871 * _848;
        var _903 = _901 + _902;
        var _904 = _875 * _847;
        var _905 = _903 + _904;
        var _906 = _879 * _849;
        var _907 = _882 * _848;
        var _908 = _906 + _907;
        var _909 = _886 * _847;
        var _910 = _908 + _909;
        var _911 = _814 + _900;
        var _912 = _812 + _905;
        var _913 = _810 + _910;
        var _914 = _24;
        FHEAP[_914] = _913;
        var _915 = _24+4;
        FHEAP[_915] = _912;
        var _916 = _24+8;
        FHEAP[_916] = _911;
        var _917 = _24+12;
        FHEAP[_917] = 0;
        var _918 = _846;
        FUNCTION_TABLE[_918](_842, _24, _25, _color);
        var _919 = IHEAP[_37];
        var _920 = _919+16;
        var _921 = IHEAP[_920];
        var _922 = _921;
        var _923 = FUNCTION_TABLE[_922](_this);
        var _924 = _923;
        var _925 = IHEAP[_924];
        var _926 = _925+8;
        var _927 = IHEAP[_926];
        var _928 = FHEAP[_820];
        var _929 = 0 - _928;
        var _930 = FHEAP[_819];
        var _931 = 0 - _930;
        var _932 = FHEAP[_818];
        var _933 = 0 - _932;
        var _934 = _929 - _850;
        var _935 = _931 - _852;
        var _936 = _933 - _854;
        var _937 = FHEAP[_856];
        var _938 = _937 * _936;
        var _939 = FHEAP[_859];
        var _940 = _939 * _935;
        var _941 = _938 + _940;
        var _942 = FHEAP[_863];
        var _943 = _942 * _934;
        var _944 = _941 + _943;
        var _945 = FHEAP[_867];
        var _946 = _945 * _936;
        var _947 = FHEAP[_870];
        var _948 = _947 * _935;
        var _949 = _946 + _948;
        var _950 = FHEAP[_874];
        var _951 = _950 * _934;
        var _952 = _949 + _951;
        var _953 = FHEAP[_878];
        var _954 = _953 * _936;
        var _955 = FHEAP[_881];
        var _956 = _955 * _935;
        var _957 = _954 + _956;
        var _958 = FHEAP[_885];
        var _959 = _958 * _934;
        var _960 = _957 + _959;
        var _961 = _814 + _944;
        var _962 = _812 + _952;
        var _963 = _810 + _960;
        var _964 = _23;
        FHEAP[_964] = _963;
        var _965 = _23+4;
        FHEAP[_965] = _962;
        var _966 = _23+8;
        FHEAP[_966] = _961;
        var _967 = _23+12;
        FHEAP[_967] = 0;
        var _968 = _937 * _932;
        var _969 = _939 * _930;
        var _970 = _968 + _969;
        var _971 = _942 * _928;
        var _972 = _970 + _971;
        var _973 = _945 * _932;
        var _974 = _947 * _930;
        var _975 = _973 + _974;
        var _976 = _950 * _928;
        var _977 = _975 + _976;
        var _978 = _953 * _932;
        var _979 = _955 * _930;
        var _980 = _978 + _979;
        var _981 = _958 * _928;
        var _982 = _980 + _981;
        var _983 = _814 + _972;
        var _984 = _812 + _977;
        var _985 = _810 + _982;
        var _986 = _22;
        FHEAP[_986] = _985;
        var _987 = _22+4;
        FHEAP[_987] = _984;
        var _988 = _22+8;
        FHEAP[_988] = _983;
        var _989 = _22+12;
        FHEAP[_989] = 0;
        var _990 = _927;
        FUNCTION_TABLE[_990](_923, _22, _23, _color);
        var _991 = IHEAP[_37];
        var _992 = _991+16;
        var _993 = IHEAP[_992];
        var _994 = _993;
        var _995 = FUNCTION_TABLE[_994](_this);
        var _996 = _995;
        var _997 = IHEAP[_996];
        var _998 = _997+8;
        var _999 = IHEAP[_998];
        var _1000 = FHEAP[_833];
        var _1001 = _1000 - _928;
        var _1002 = FHEAP[_832];
        var _1003 = _1002 - _930;
        var _1004 = FHEAP[_831];
        var _1005 = _1004 - _932;
        var _1006 = FHEAP[_856];
        var _1007 = _1006 * _1005;
        var _1008 = FHEAP[_859];
        var _1009 = _1008 * _1003;
        var _1010 = _1007 + _1009;
        var _1011 = FHEAP[_863];
        var _1012 = _1011 * _1001;
        var _1013 = _1010 + _1012;
        var _1014 = FHEAP[_867];
        var _1015 = _1014 * _1005;
        var _1016 = FHEAP[_870];
        var _1017 = _1016 * _1003;
        var _1018 = _1015 + _1017;
        var _1019 = FHEAP[_874];
        var _1020 = _1019 * _1001;
        var _1021 = _1018 + _1020;
        var _1022 = FHEAP[_878];
        var _1023 = _1022 * _1005;
        var _1024 = FHEAP[_881];
        var _1025 = _1024 * _1003;
        var _1026 = _1023 + _1025;
        var _1027 = FHEAP[_885];
        var _1028 = _1027 * _1001;
        var _1029 = _1026 + _1028;
        var _1030 = _814 + _1013;
        var _1031 = _812 + _1021;
        var _1032 = _810 + _1029;
        var _1033 = _21;
        FHEAP[_1033] = _1032;
        var _1034 = _21+4;
        FHEAP[_1034] = _1031;
        var _1035 = _21+8;
        FHEAP[_1035] = _1030;
        var _1036 = _21+12;
        FHEAP[_1036] = 0;
        var _1037 = _1006 * _932;
        var _1038 = _1008 * _930;
        var _1039 = _1037 + _1038;
        var _1040 = _1011 * _928;
        var _1041 = _1039 + _1040;
        var _1042 = _1014 * _932;
        var _1043 = _1016 * _930;
        var _1044 = _1042 + _1043;
        var _1045 = _1019 * _928;
        var _1046 = _1044 + _1045;
        var _1047 = _1022 * _932;
        var _1048 = _1024 * _930;
        var _1049 = _1047 + _1048;
        var _1050 = _1027 * _928;
        var _1051 = _1049 + _1050;
        var _1052 = _814 + _1041;
        var _1053 = _812 + _1046;
        var _1054 = _810 + _1051;
        var _1055 = _20;
        FHEAP[_1055] = _1054;
        var _1056 = _20+4;
        FHEAP[_1056] = _1053;
        var _1057 = _20+8;
        FHEAP[_1057] = _1052;
        var _1058 = _20+12;
        FHEAP[_1058] = 0;
        var _1059 = _999;
        FUNCTION_TABLE[_1059](_995, _20, _21, _color);
        var _1060 = IHEAP[_37];
        var _1061 = _1060+16;
        var _1062 = IHEAP[_1061];
        var _1063 = _1062;
        var _1064 = FUNCTION_TABLE[_1063](_this);
        var _1065 = _1064;
        var _1066 = IHEAP[_1065];
        var _1067 = _1066+8;
        var _1068 = IHEAP[_1067];
        var _1069 = _929 - _1000;
        var _1070 = _931 - _1002;
        var _1071 = _933 - _1004;
        var _1072 = FHEAP[_856];
        var _1073 = _1072 * _1071;
        var _1074 = FHEAP[_859];
        var _1075 = _1074 * _1070;
        var _1076 = _1073 + _1075;
        var _1077 = FHEAP[_863];
        var _1078 = _1077 * _1069;
        var _1079 = _1076 + _1078;
        var _1080 = FHEAP[_867];
        var _1081 = _1080 * _1071;
        var _1082 = FHEAP[_870];
        var _1083 = _1082 * _1070;
        var _1084 = _1081 + _1083;
        var _1085 = FHEAP[_874];
        var _1086 = _1085 * _1069;
        var _1087 = _1084 + _1086;
        var _1088 = FHEAP[_878];
        var _1089 = _1088 * _1071;
        var _1090 = FHEAP[_881];
        var _1091 = _1090 * _1070;
        var _1092 = _1089 + _1091;
        var _1093 = FHEAP[_885];
        var _1094 = _1093 * _1069;
        var _1095 = _1092 + _1094;
        var _1096 = _814 + _1079;
        var _1097 = _812 + _1087;
        var _1098 = _810 + _1095;
        var _1099 = _19;
        FHEAP[_1099] = _1098;
        var _1100 = _19+4;
        FHEAP[_1100] = _1097;
        var _1101 = _19+8;
        FHEAP[_1101] = _1096;
        var _1102 = _19+12;
        FHEAP[_1102] = 0;
        var _1103 = _1072 * _932;
        var _1104 = _1074 * _930;
        var _1105 = _1103 + _1104;
        var _1106 = _1077 * _928;
        var _1107 = _1105 + _1106;
        var _1108 = _1080 * _932;
        var _1109 = _1082 * _930;
        var _1110 = _1108 + _1109;
        var _1111 = _1085 * _928;
        var _1112 = _1110 + _1111;
        var _1113 = _1088 * _932;
        var _1114 = _1090 * _930;
        var _1115 = _1113 + _1114;
        var _1116 = _1093 * _928;
        var _1117 = _1115 + _1116;
        var _1118 = _814 + _1107;
        var _1119 = _812 + _1112;
        var _1120 = _810 + _1117;
        var _1121 = _18;
        FHEAP[_1121] = _1120;
        var _1122 = _18+4;
        FHEAP[_1122] = _1119;
        var _1123 = _18+8;
        FHEAP[_1123] = _1118;
        var _1124 = _18+12;
        FHEAP[_1124] = 0;
        var _1125 = _1068;
        FUNCTION_TABLE[_1125](_1064, _18, _19, _color);
        var _1126 = _yaxis;
        FHEAP[_1126] = 0;
        var _1127 = _yaxis+4;
        FHEAP[_1127] = 0;
        var _1128 = _yaxis+8;
        FHEAP[_1128] = 0;
        var _1129 = _yaxis+12;
        FHEAP[_1129] = 0;
        var _1130 = _yaxis+_817*4;
        FHEAP[_1130] = 1;
        var _1131 = _xaxis;
        FHEAP[_1131] = 0;
        var _1132 = _xaxis+4;
        FHEAP[_1132] = 0;
        var _1133 = _xaxis+8;
        FHEAP[_1133] = 0;
        var _1134 = _xaxis+12;
        FHEAP[_1134] = 0;
        var _1135 = _xaxis+_829*4;
        FHEAP[_1135] = 1;
        var _1136 = IHEAP[_37];
        var _1137 = _1136+16;
        var _1138 = IHEAP[_1137];
        var _1139 = _1138;
        var _1140 = FUNCTION_TABLE[_1139](_this);
        var _1141 = _1140;
        var _1142 = IHEAP[_1141];
        var _1143 = _1142+60;
        var _1144 = IHEAP[_1143];
        var _1145 = FHEAP[_856];
        var _1146 = FHEAP[_1131];
        var _1147 = _1145 * _1146;
        var _1148 = FHEAP[_859];
        var _1149 = FHEAP[_1132];
        var _1150 = _1148 * _1149;
        var _1151 = _1147 + _1150;
        var _1152 = FHEAP[_863];
        var _1153 = FHEAP[_1133];
        var _1154 = _1152 * _1153;
        var _1155 = _1151 + _1154;
        var _1156 = FHEAP[_867];
        var _1157 = _1156 * _1146;
        var _1158 = FHEAP[_870];
        var _1159 = _1158 * _1149;
        var _1160 = _1157 + _1159;
        var _1161 = FHEAP[_874];
        var _1162 = _1161 * _1153;
        var _1163 = _1160 + _1162;
        var _1164 = FHEAP[_878];
        var _1165 = _1164 * _1146;
        var _1166 = FHEAP[_881];
        var _1167 = _1166 * _1149;
        var _1168 = _1165 + _1167;
        var _1169 = FHEAP[_885];
        var _1170 = _1169 * _1153;
        var _1171 = _1168 + _1170;
        var _1172 = _17;
        FHEAP[_1172] = _1171;
        var _1173 = _17+4;
        FHEAP[_1173] = _1163;
        var _1174 = _17+8;
        FHEAP[_1174] = _1155;
        var _1175 = _17+12;
        FHEAP[_1175] = 0;
        var _1176 = FHEAP[_1126];
        var _1177 = _1145 * _1176;
        var _1178 = FHEAP[_1127];
        var _1179 = _1148 * _1178;
        var _1180 = _1177 + _1179;
        var _1181 = FHEAP[_1128];
        var _1182 = _1152 * _1181;
        var _1183 = _1180 + _1182;
        var _1184 = _1156 * _1176;
        var _1185 = _1158 * _1178;
        var _1186 = _1184 + _1185;
        var _1187 = _1161 * _1181;
        var _1188 = _1186 + _1187;
        var _1189 = _1164 * _1176;
        var _1190 = _1166 * _1178;
        var _1191 = _1189 + _1190;
        var _1192 = _1169 * _1181;
        var _1193 = _1191 + _1192;
        var _1194 = _16;
        FHEAP[_1194] = _1193;
        var _1195 = _16+4;
        FHEAP[_1195] = _1188;
        var _1196 = _16+8;
        FHEAP[_1196] = _1183;
        var _1197 = _16+12;
        FHEAP[_1197] = 0;
        var _1198 = _1145 * _932;
        var _1199 = _1148 * _930;
        var _1200 = _1198 + _1199;
        var _1201 = _1152 * _928;
        var _1202 = _1200 + _1201;
        var _1203 = _1156 * _932;
        var _1204 = _1158 * _930;
        var _1205 = _1203 + _1204;
        var _1206 = _1161 * _928;
        var _1207 = _1205 + _1206;
        var _1208 = _1164 * _932;
        var _1209 = _1166 * _930;
        var _1210 = _1208 + _1209;
        var _1211 = _1169 * _928;
        var _1212 = _1210 + _1211;
        var _1213 = _814 - _1202;
        var _1214 = _812 - _1207;
        var _1215 = _810 - _1212;
        var _1216 = _15;
        FHEAP[_1216] = _1215;
        var _1217 = _15+4;
        FHEAP[_1217] = _1214;
        var _1218 = _15+8;
        FHEAP[_1218] = _1213;
        var _1219 = _15+12;
        FHEAP[_1219] = 0;
        var _1220 = _1144;
        FUNCTION_TABLE[_1220](_1140, _15, _16, _17, _805, _805, 0, 6.2831854820251465, _color, 0, 10);
        STACKTOP = __stackBase__;
        return;
      }
      else if (__label__ == 90) {
        var _1221 = _shape;
        var _1222 = _shape+48+4;
        var _1223 = IHEAP[_1222];
        var _1224 = _shape;
        var _1225 = IHEAP[_1224];
        var _1226 = _1225+84;
        var _1227 = IHEAP[_1226];
        var _1228 = _1227;
        var _1229 = FUNCTION_TABLE[_1228](_1221);
        var _1230 = _14;
        var _1231 = _shape+24+4;
        var _1232 = _1231;
        var _1233 = FHEAP[_1232];
        var _1234 = _14+4;
        var _1235 = _shape+24+8;
        var _1236 = _1235;
        var _1237 = FHEAP[_1236];
        var _1238 = _14+8;
        var _1239 = _shape+36;
        var _1240 = _1239;
        var _1241 = FHEAP[_1240];
        var _1242 = _14+12;
        var _1243 = _shape+36+4;
        var _1244 = _1243;
        var _1245 = FHEAP[_1244];
        FHEAP[_1242] = _1245;
        var _1246 = IHEAP[_1224];
        var _1247 = _1246+44;
        var _1248 = IHEAP[_1247];
        var _1249 = _shape;
        var _1250 = _1248;
        var _1251 = FUNCTION_TABLE[_1250](_1249);
        var _1252 = IHEAP[_1224];
        var _1253 = _1252+44;
        var _1254 = IHEAP[_1253];
        var _1255 = _1254;
        var _1256 = FUNCTION_TABLE[_1255](_1249);
        var _1257 = IHEAP[_1224];
        var _1258 = _1257+44;
        var _1259 = IHEAP[_1258];
        var _1260 = _1259;
        var _1261 = FUNCTION_TABLE[_1260](_1249);
        var _1262 = _1233 + _1261;
        FHEAP[_1230] = _1262;
        var _1263 = _1237 + _1256;
        FHEAP[_1234] = _1263;
        var _1264 = _1241 + _1251;
        FHEAP[_1238] = _1264;
        var _1265 = _14+_1223*4;
        var _1266 = FHEAP[_1265];
        var _1267 = _worldTransform+48;
        var _1268 = FHEAP[_1267];
        var _1269 = _worldTransform+48+4;
        var _1270 = FHEAP[_1269];
        var _1271 = _worldTransform+48+8;
        var _1272 = FHEAP[_1271];
        var _1273 = _offsetHeight41;
        FHEAP[_1273] = 0;
        var _1274 = _offsetHeight41+4;
        FHEAP[_1274] = 0;
        var _1275 = _offsetHeight41+8;
        FHEAP[_1275] = 0;
        var _1276 = _offsetHeight41+12;
        FHEAP[_1276] = 0;
        var _1277 = _offsetHeight41+_1223*4;
        FHEAP[_1277] = _1266;
        var _1278 = _offsetRadius43;
        FHEAP[_1278] = 0;
        var _1279 = _offsetRadius43+4;
        FHEAP[_1279] = 0;
        var _1280 = _offsetRadius43+8;
        FHEAP[_1280] = 0;
        var _1281 = _offsetRadius43+12;
        FHEAP[_1281] = 0;
        var _1282 = _1223 + 1;
        var _1283 = Math.floor(_1282 % 3);
        var _1284 = _offsetRadius43+_1283*4;
        FHEAP[_1284] = _1229;
        var _1285 = IHEAP[_37];
        var _1286 = _1285+16;
        var _1287 = IHEAP[_1286];
        var _1288 = _1287;
        var _1289 = FUNCTION_TABLE[_1288](_this);
        var _1290 = _1289;
        var _1291 = IHEAP[_1290];
        var _1292 = _1291+8;
        var _1293 = IHEAP[_1292];
        var _1294 = FHEAP[_1275];
        var _1295 = FHEAP[_1274];
        var _1296 = FHEAP[_1273];
        var _1297 = FHEAP[_1280];
        var _1298 = _1297 - _1294;
        var _1299 = FHEAP[_1279];
        var _1300 = _1299 - _1295;
        var _1301 = FHEAP[_1278];
        var _1302 = _1301 - _1296;
        var _1303 = _worldTransform+32;
        var _1304 = FHEAP[_1303];
        var _1305 = _1304 * _1302;
        var _1306 = _worldTransform+32+4;
        var _1307 = FHEAP[_1306];
        var _1308 = _1307 * _1300;
        var _1309 = _1305 + _1308;
        var _1310 = _worldTransform+32+8;
        var _1311 = FHEAP[_1310];
        var _1312 = _1311 * _1298;
        var _1313 = _1309 + _1312;
        var _1314 = _worldTransform+16;
        var _1315 = FHEAP[_1314];
        var _1316 = _1315 * _1302;
        var _1317 = _worldTransform+16+4;
        var _1318 = FHEAP[_1317];
        var _1319 = _1318 * _1300;
        var _1320 = _1316 + _1319;
        var _1321 = _worldTransform+16+8;
        var _1322 = FHEAP[_1321];
        var _1323 = _1322 * _1298;
        var _1324 = _1320 + _1323;
        var _1325 = _worldTransform;
        var _1326 = FHEAP[_1325];
        var _1327 = _1326 * _1302;
        var _1328 = _worldTransform+4;
        var _1329 = FHEAP[_1328];
        var _1330 = _1329 * _1300;
        var _1331 = _1327 + _1330;
        var _1332 = _worldTransform+8;
        var _1333 = FHEAP[_1332];
        var _1334 = _1333 * _1298;
        var _1335 = _1331 + _1334;
        var _1336 = _1272 + _1313;
        var _1337 = _1270 + _1324;
        var _1338 = _1268 + _1335;
        var _1339 = _13;
        FHEAP[_1339] = _1338;
        var _1340 = _13+4;
        FHEAP[_1340] = _1337;
        var _1341 = _13+8;
        FHEAP[_1341] = _1336;
        var _1342 = _13+12;
        FHEAP[_1342] = 0;
        var _1343 = _1294 + _1297;
        var _1344 = _1295 + _1299;
        var _1345 = _1296 + _1301;
        var _1346 = _1304 * _1345;
        var _1347 = _1307 * _1344;
        var _1348 = _1346 + _1347;
        var _1349 = _1311 * _1343;
        var _1350 = _1348 + _1349;
        var _1351 = _1315 * _1345;
        var _1352 = _1318 * _1344;
        var _1353 = _1351 + _1352;
        var _1354 = _1322 * _1343;
        var _1355 = _1353 + _1354;
        var _1356 = _1326 * _1345;
        var _1357 = _1329 * _1344;
        var _1358 = _1356 + _1357;
        var _1359 = _1333 * _1343;
        var _1360 = _1358 + _1359;
        var _1361 = _1272 + _1350;
        var _1362 = _1270 + _1355;
        var _1363 = _1268 + _1360;
        var _1364 = _12;
        FHEAP[_1364] = _1363;
        var _1365 = _12+4;
        FHEAP[_1365] = _1362;
        var _1366 = _12+8;
        FHEAP[_1366] = _1361;
        var _1367 = _12+12;
        FHEAP[_1367] = 0;
        var _1368 = _1293;
        FUNCTION_TABLE[_1368](_1289, _12, _13, _color);
        var _1369 = IHEAP[_37];
        var _1370 = _1369+16;
        var _1371 = IHEAP[_1370];
        var _1372 = _1371;
        var _1373 = FUNCTION_TABLE[_1372](_this);
        var _1374 = _1373;
        var _1375 = IHEAP[_1374];
        var _1376 = _1375+8;
        var _1377 = IHEAP[_1376];
        var _1378 = 0 - _1294;
        var _1379 = 0 - _1295;
        var _1380 = 0 - _1296;
        var _1381 = _1378 - _1297;
        var _1382 = _1379 - _1299;
        var _1383 = _1380 - _1301;
        var _1384 = FHEAP[_1303];
        var _1385 = _1384 * _1383;
        var _1386 = FHEAP[_1306];
        var _1387 = _1386 * _1382;
        var _1388 = _1385 + _1387;
        var _1389 = FHEAP[_1310];
        var _1390 = _1389 * _1381;
        var _1391 = _1388 + _1390;
        var _1392 = FHEAP[_1314];
        var _1393 = _1392 * _1383;
        var _1394 = FHEAP[_1317];
        var _1395 = _1394 * _1382;
        var _1396 = _1393 + _1395;
        var _1397 = FHEAP[_1321];
        var _1398 = _1397 * _1381;
        var _1399 = _1396 + _1398;
        var _1400 = FHEAP[_1325];
        var _1401 = _1400 * _1383;
        var _1402 = FHEAP[_1328];
        var _1403 = _1402 * _1382;
        var _1404 = _1401 + _1403;
        var _1405 = FHEAP[_1332];
        var _1406 = _1405 * _1381;
        var _1407 = _1404 + _1406;
        var _1408 = _1272 + _1391;
        var _1409 = _1270 + _1399;
        var _1410 = _1268 + _1407;
        var _1411 = _11;
        FHEAP[_1411] = _1410;
        var _1412 = _11+4;
        FHEAP[_1412] = _1409;
        var _1413 = _11+8;
        FHEAP[_1413] = _1408;
        var _1414 = _11+12;
        FHEAP[_1414] = 0;
        var _1415 = _1294 - _1297;
        var _1416 = _1295 - _1299;
        var _1417 = _1296 - _1301;
        var _1418 = _1384 * _1417;
        var _1419 = _1386 * _1416;
        var _1420 = _1418 + _1419;
        var _1421 = _1389 * _1415;
        var _1422 = _1420 + _1421;
        var _1423 = _1392 * _1417;
        var _1424 = _1394 * _1416;
        var _1425 = _1423 + _1424;
        var _1426 = _1397 * _1415;
        var _1427 = _1425 + _1426;
        var _1428 = _1400 * _1417;
        var _1429 = _1402 * _1416;
        var _1430 = _1428 + _1429;
        var _1431 = _1405 * _1415;
        var _1432 = _1430 + _1431;
        var _1433 = _1272 + _1422;
        var _1434 = _1270 + _1427;
        var _1435 = _1268 + _1432;
        var _1436 = _10;
        FHEAP[_1436] = _1435;
        var _1437 = _10+4;
        FHEAP[_1437] = _1434;
        var _1438 = _10+8;
        FHEAP[_1438] = _1433;
        var _1439 = _10+12;
        FHEAP[_1439] = 0;
        var _1440 = _1377;
        FUNCTION_TABLE[_1440](_1373, _10, _11, _color);
        var _1441 = _yaxis45;
        FHEAP[_1441] = 0;
        var _1442 = _yaxis45+4;
        FHEAP[_1442] = 0;
        var _1443 = _yaxis45+8;
        FHEAP[_1443] = 0;
        var _1444 = _yaxis45+12;
        FHEAP[_1444] = 0;
        var _1445 = _yaxis45+_1223*4;
        FHEAP[_1445] = 1;
        var _1446 = _xaxis47;
        FHEAP[_1446] = 0;
        var _1447 = _xaxis47+4;
        FHEAP[_1447] = 0;
        var _1448 = _xaxis47+8;
        FHEAP[_1448] = 0;
        var _1449 = _xaxis47+12;
        FHEAP[_1449] = 0;
        var _1450 = _xaxis47+_1283*4;
        FHEAP[_1450] = 1;
        var _1451 = IHEAP[_37];
        var _1452 = _1451+16;
        var _1453 = IHEAP[_1452];
        var _1454 = _1453;
        var _1455 = FUNCTION_TABLE[_1454](_this);
        var _1456 = _1455;
        var _1457 = IHEAP[_1456];
        var _1458 = _1457+60;
        var _1459 = IHEAP[_1458];
        var _1460 = FHEAP[_1303];
        var _1461 = FHEAP[_1446];
        var _1462 = _1460 * _1461;
        var _1463 = FHEAP[_1306];
        var _1464 = FHEAP[_1447];
        var _1465 = _1463 * _1464;
        var _1466 = _1462 + _1465;
        var _1467 = FHEAP[_1310];
        var _1468 = FHEAP[_1448];
        var _1469 = _1467 * _1468;
        var _1470 = _1466 + _1469;
        var _1471 = FHEAP[_1314];
        var _1472 = _1471 * _1461;
        var _1473 = FHEAP[_1317];
        var _1474 = _1473 * _1464;
        var _1475 = _1472 + _1474;
        var _1476 = FHEAP[_1321];
        var _1477 = _1476 * _1468;
        var _1478 = _1475 + _1477;
        var _1479 = FHEAP[_1325];
        var _1480 = _1479 * _1461;
        var _1481 = FHEAP[_1328];
        var _1482 = _1481 * _1464;
        var _1483 = _1480 + _1482;
        var _1484 = FHEAP[_1332];
        var _1485 = _1484 * _1468;
        var _1486 = _1483 + _1485;
        var _1487 = _9;
        FHEAP[_1487] = _1486;
        var _1488 = _9+4;
        FHEAP[_1488] = _1478;
        var _1489 = _9+8;
        FHEAP[_1489] = _1470;
        var _1490 = _9+12;
        FHEAP[_1490] = 0;
        var _1491 = FHEAP[_1441];
        var _1492 = _1460 * _1491;
        var _1493 = FHEAP[_1442];
        var _1494 = _1463 * _1493;
        var _1495 = _1492 + _1494;
        var _1496 = FHEAP[_1443];
        var _1497 = _1467 * _1496;
        var _1498 = _1495 + _1497;
        var _1499 = _1471 * _1491;
        var _1500 = _1473 * _1493;
        var _1501 = _1499 + _1500;
        var _1502 = _1476 * _1496;
        var _1503 = _1501 + _1502;
        var _1504 = _1479 * _1491;
        var _1505 = _1481 * _1493;
        var _1506 = _1504 + _1505;
        var _1507 = _1484 * _1496;
        var _1508 = _1506 + _1507;
        var _1509 = _8;
        FHEAP[_1509] = _1508;
        var _1510 = _8+4;
        FHEAP[_1510] = _1503;
        var _1511 = _8+8;
        FHEAP[_1511] = _1498;
        var _1512 = _8+12;
        FHEAP[_1512] = 0;
        var _1513 = _1460 * _1296;
        var _1514 = _1463 * _1295;
        var _1515 = _1513 + _1514;
        var _1516 = _1467 * _1294;
        var _1517 = _1515 + _1516;
        var _1518 = _1471 * _1296;
        var _1519 = _1473 * _1295;
        var _1520 = _1518 + _1519;
        var _1521 = _1476 * _1294;
        var _1522 = _1520 + _1521;
        var _1523 = _1479 * _1296;
        var _1524 = _1481 * _1295;
        var _1525 = _1523 + _1524;
        var _1526 = _1484 * _1294;
        var _1527 = _1525 + _1526;
        var _1528 = _1272 - _1517;
        var _1529 = _1270 - _1522;
        var _1530 = _1268 - _1527;
        var _1531 = _7;
        FHEAP[_1531] = _1530;
        var _1532 = _7+4;
        FHEAP[_1532] = _1529;
        var _1533 = _7+8;
        FHEAP[_1533] = _1528;
        var _1534 = _7+12;
        FHEAP[_1534] = 0;
        var _1535 = _1459;
        FUNCTION_TABLE[_1535](_1455, _7, _8, _9, _1229, _1229, 0, 6.2831854820251465, _color, 0, 10);
        var _1536 = IHEAP[_37];
        var _1537 = _1536+16;
        var _1538 = IHEAP[_1537];
        var _1539 = _1538;
        var _1540 = FUNCTION_TABLE[_1539](_this);
        var _1541 = _1540;
        var _1542 = IHEAP[_1541];
        var _1543 = _1542+60;
        var _1544 = IHEAP[_1543];
        var _1545 = FHEAP[_1303];
        var _1546 = _1545 * _1461;
        var _1547 = FHEAP[_1306];
        var _1548 = _1547 * _1464;
        var _1549 = _1546 + _1548;
        var _1550 = FHEAP[_1310];
        var _1551 = _1550 * _1468;
        var _1552 = _1549 + _1551;
        var _1553 = FHEAP[_1314];
        var _1554 = _1553 * _1461;
        var _1555 = FHEAP[_1317];
        var _1556 = _1555 * _1464;
        var _1557 = _1554 + _1556;
        var _1558 = FHEAP[_1321];
        var _1559 = _1558 * _1468;
        var _1560 = _1557 + _1559;
        var _1561 = FHEAP[_1325];
        var _1562 = _1561 * _1461;
        var _1563 = FHEAP[_1328];
        var _1564 = _1563 * _1464;
        var _1565 = _1562 + _1564;
        var _1566 = FHEAP[_1332];
        var _1567 = _1566 * _1468;
        var _1568 = _1565 + _1567;
        var _1569 = _6;
        FHEAP[_1569] = _1568;
        var _1570 = _6+4;
        FHEAP[_1570] = _1560;
        var _1571 = _6+8;
        FHEAP[_1571] = _1552;
        var _1572 = _6+12;
        FHEAP[_1572] = 0;
        var _1573 = _1545 * _1491;
        var _1574 = _1547 * _1493;
        var _1575 = _1573 + _1574;
        var _1576 = _1550 * _1496;
        var _1577 = _1575 + _1576;
        var _1578 = _1553 * _1491;
        var _1579 = _1555 * _1493;
        var _1580 = _1578 + _1579;
        var _1581 = _1558 * _1496;
        var _1582 = _1580 + _1581;
        var _1583 = _1561 * _1491;
        var _1584 = _1563 * _1493;
        var _1585 = _1583 + _1584;
        var _1586 = _1566 * _1496;
        var _1587 = _1585 + _1586;
        var _1588 = _5;
        FHEAP[_1588] = _1587;
        var _1589 = _5+4;
        FHEAP[_1589] = _1582;
        var _1590 = _5+8;
        FHEAP[_1590] = _1577;
        var _1591 = _5+12;
        FHEAP[_1591] = 0;
        var _1592 = _1545 * _1296;
        var _1593 = _1547 * _1295;
        var _1594 = _1592 + _1593;
        var _1595 = _1550 * _1294;
        var _1596 = _1594 + _1595;
        var _1597 = _1553 * _1296;
        var _1598 = _1555 * _1295;
        var _1599 = _1597 + _1598;
        var _1600 = _1558 * _1294;
        var _1601 = _1599 + _1600;
        var _1602 = _1561 * _1296;
        var _1603 = _1563 * _1295;
        var _1604 = _1602 + _1603;
        var _1605 = _1566 * _1294;
        var _1606 = _1604 + _1605;
        var _1607 = _1272 + _1596;
        var _1608 = _1270 + _1601;
        var _1609 = _1268 + _1606;
        var _1610 = _4;
        FHEAP[_1610] = _1609;
        var _1611 = _4+4;
        FHEAP[_1611] = _1608;
        var _1612 = _4+8;
        FHEAP[_1612] = _1607;
        var _1613 = _4+12;
        FHEAP[_1613] = 0;
        var _1614 = _1544;
        FUNCTION_TABLE[_1614](_1540, _4, _5, _6, _1229, _1229, 0, 6.2831854820251465, _color, 0, 10);
        STACKTOP = __stackBase__;
        return;
      }
      else if (__label__ == 1018) {
        var _1615 = _shape+60+4;
        var _1616 = _1615;
        var _1617 = FHEAP[_1616];
        var _1618 = _shape+48;
        var _1619 = _shape+48+8;
        var _1620 = _1619;
        var _1621 = FHEAP[_1620];
        var _1622 = _1621 * _1617;
        var _1623 = _shape+48+4;
        var _1624 = _1623;
        var _1625 = FHEAP[_1624];
        var _1626 = _1625 * _1617;
        var _1627 = _1618;
        var _1628 = FHEAP[_1627];
        var _1629 = _1628 * _1617;
        var _1630 = _fabsf(_1621);
        var _1631 = _1630 > 0.7071067690849304;
        ;
        if (_1631) {
          ;
          var _1632 = _1625 * _1625;
          var _1633 = _1621 * _1621;
          var _1634 = _1632 + _1633;
          var _1635 = _sqrtf(_1634);
          var _1636 = 1 / _1635;
          var _1637 = 0 - _1621;
          var _1638 = _1636 * _1637;
          var _1639 = _1625 * _1636;
          var _1640 = _1634 * _1636;
          var _1641 = 0 - _1628;
          var _1642 = _1639 * _1641;
          var _1643 = _1628 * _1638;
          var _phitmp = _1639 * 100;
          __lastLabel__ = 131; ;
        }
        else {
          ;
          var _1644 = _1628 * _1628;
          var _1645 = _1625 * _1625;
          var _1646 = _1644 + _1645;
          var _1647 = _sqrtf(_1646);
          var _1648 = 1 / _1647;
          var _1649 = 0 - _1625;
          var _1650 = _1648 * _1649;
          var _1651 = _1628 * _1648;
          var _1652 = 0 - _1621;
          var _1653 = _1651 * _1652;
          var _1654 = _1621 * _1650;
          var _1655 = _1646 * _1648;
          var _phitmp498 = _1650 * 100;
          __lastLabel__ = 159; ;
        }
        var _vec0_0_0_0 = __lastLabel__ == 131 ? 0 : (_phitmp498);
        var _vec0_0_1_0 = __lastLabel__ == 131 ? _1638 : (_1651);
        var _vec0_0_2_0 = __lastLabel__ == 131 ? _phitmp : (0);
        var _vec1_0_0_0 = __lastLabel__ == 131 ? _1640 : (_1653);
        var _vec1_0_1_0 = __lastLabel__ == 131 ? _1642 : (_1654);
        var _vec1_0_2_0 = __lastLabel__ == 131 ? _1643 : (_1655);
        var _1656 = _vec0_0_1_0 * 100;
        var _1657 = _1622 + _vec0_0_2_0;
        var _1658 = _1626 + _1656;
        var _1659 = _1629 + _vec0_0_0_0;
        var _1660 = _1622 - _vec0_0_2_0;
        var _1661 = _1626 - _1656;
        var _1662 = _1629 - _vec0_0_0_0;
        var _1663 = _vec1_0_2_0 * 100;
        var _1664 = _vec1_0_1_0 * 100;
        var _1665 = _vec1_0_0_0 * 100;
        var _1666 = _1622 + _1663;
        var _1667 = _1626 + _1664;
        var _1668 = _1629 + _1665;
        var _1669 = _1622 - _1663;
        var _1670 = _1626 - _1664;
        var _1671 = _1629 - _1665;
        var _1672 = IHEAP[_37];
        var _1673 = _1672+16;
        var _1674 = IHEAP[_1673];
        var _1675 = _1674;
        var _1676 = FUNCTION_TABLE[_1675](_this);
        var _1677 = _1676;
        var _1678 = IHEAP[_1677];
        var _1679 = _1678+8;
        var _1680 = IHEAP[_1679];
        var _1681 = _worldTransform+32;
        var _1682 = FHEAP[_1681];
        var _1683 = _1682 * _1662;
        var _1684 = _worldTransform+32+4;
        var _1685 = FHEAP[_1684];
        var _1686 = _1685 * _1661;
        var _1687 = _1683 + _1686;
        var _1688 = _worldTransform+32+8;
        var _1689 = FHEAP[_1688];
        var _1690 = _1689 * _1660;
        var _1691 = _1687 + _1690;
        var _1692 = _worldTransform+48+8;
        var _1693 = FHEAP[_1692];
        var _1694 = _1691 + _1693;
        var _1695 = _worldTransform+16;
        var _1696 = FHEAP[_1695];
        var _1697 = _1696 * _1662;
        var _1698 = _worldTransform+16+4;
        var _1699 = FHEAP[_1698];
        var _1700 = _1699 * _1661;
        var _1701 = _1697 + _1700;
        var _1702 = _worldTransform+16+8;
        var _1703 = FHEAP[_1702];
        var _1704 = _1703 * _1660;
        var _1705 = _1701 + _1704;
        var _1706 = _worldTransform+48+4;
        var _1707 = FHEAP[_1706];
        var _1708 = _1705 + _1707;
        var _1709 = _worldTransform;
        var _1710 = FHEAP[_1709];
        var _1711 = _1710 * _1662;
        var _1712 = _worldTransform+4;
        var _1713 = FHEAP[_1712];
        var _1714 = _1713 * _1661;
        var _1715 = _1711 + _1714;
        var _1716 = _worldTransform+8;
        var _1717 = FHEAP[_1716];
        var _1718 = _1717 * _1660;
        var _1719 = _1715 + _1718;
        var _1720 = _worldTransform+48;
        var _1721 = FHEAP[_1720];
        var _1722 = _1719 + _1721;
        var _1723 = _3;
        FHEAP[_1723] = _1722;
        var _1724 = _3+4;
        FHEAP[_1724] = _1708;
        var _1725 = _3+8;
        FHEAP[_1725] = _1694;
        var _1726 = _3+12;
        FHEAP[_1726] = 0;
        var _1727 = _1682 * _1659;
        var _1728 = _1685 * _1658;
        var _1729 = _1727 + _1728;
        var _1730 = _1689 * _1657;
        var _1731 = _1729 + _1730;
        var _1732 = _1731 + _1693;
        var _1733 = _1696 * _1659;
        var _1734 = _1699 * _1658;
        var _1735 = _1733 + _1734;
        var _1736 = _1703 * _1657;
        var _1737 = _1735 + _1736;
        var _1738 = _1737 + _1707;
        var _1739 = _1710 * _1659;
        var _1740 = _1713 * _1658;
        var _1741 = _1739 + _1740;
        var _1742 = _1717 * _1657;
        var _1743 = _1741 + _1742;
        var _1744 = _1743 + _1721;
        var _1745 = _2;
        FHEAP[_1745] = _1744;
        var _1746 = _2+4;
        FHEAP[_1746] = _1738;
        var _1747 = _2+8;
        FHEAP[_1747] = _1732;
        var _1748 = _2+12;
        FHEAP[_1748] = 0;
        var _1749 = _1680;
        FUNCTION_TABLE[_1749](_1676, _2, _3, _color);
        var _1750 = IHEAP[_37];
        var _1751 = _1750+16;
        var _1752 = IHEAP[_1751];
        var _1753 = _1752;
        var _1754 = FUNCTION_TABLE[_1753](_this);
        var _1755 = _1754;
        var _1756 = IHEAP[_1755];
        var _1757 = _1756+8;
        var _1758 = IHEAP[_1757];
        var _1759 = FHEAP[_1681];
        var _1760 = _1759 * _1671;
        var _1761 = FHEAP[_1684];
        var _1762 = _1761 * _1670;
        var _1763 = _1760 + _1762;
        var _1764 = FHEAP[_1688];
        var _1765 = _1764 * _1669;
        var _1766 = _1763 + _1765;
        var _1767 = FHEAP[_1692];
        var _1768 = _1766 + _1767;
        var _1769 = FHEAP[_1695];
        var _1770 = _1769 * _1671;
        var _1771 = FHEAP[_1698];
        var _1772 = _1771 * _1670;
        var _1773 = _1770 + _1772;
        var _1774 = FHEAP[_1702];
        var _1775 = _1774 * _1669;
        var _1776 = _1773 + _1775;
        var _1777 = FHEAP[_1706];
        var _1778 = _1776 + _1777;
        var _1779 = FHEAP[_1709];
        var _1780 = _1779 * _1671;
        var _1781 = FHEAP[_1712];
        var _1782 = _1781 * _1670;
        var _1783 = _1780 + _1782;
        var _1784 = FHEAP[_1716];
        var _1785 = _1784 * _1669;
        var _1786 = _1783 + _1785;
        var _1787 = FHEAP[_1720];
        var _1788 = _1786 + _1787;
        var _1789 = _1;
        FHEAP[_1789] = _1788;
        var _1790 = _1+4;
        FHEAP[_1790] = _1778;
        var _1791 = _1+8;
        FHEAP[_1791] = _1768;
        var _1792 = _1+12;
        FHEAP[_1792] = 0;
        var _1793 = _1759 * _1668;
        var _1794 = _1761 * _1667;
        var _1795 = _1793 + _1794;
        var _1796 = _1764 * _1666;
        var _1797 = _1795 + _1796;
        var _1798 = _1797 + _1767;
        var _1799 = _1769 * _1668;
        var _1800 = _1771 * _1667;
        var _1801 = _1799 + _1800;
        var _1802 = _1774 * _1666;
        var _1803 = _1801 + _1802;
        var _1804 = _1803 + _1777;
        var _1805 = _1779 * _1668;
        var _1806 = _1781 * _1667;
        var _1807 = _1805 + _1806;
        var _1808 = _1784 * _1666;
        var _1809 = _1807 + _1808;
        var _1810 = _1809 + _1787;
        var _1811 = _0;
        FHEAP[_1811] = _1810;
        var _1812 = _0+4;
        FHEAP[_1812] = _1804;
        var _1813 = _0+8;
        FHEAP[_1813] = _1798;
        var _1814 = _0+12;
        FHEAP[_1814] = 0;
        var _1815 = _1758;
        FUNCTION_TABLE[_1815](_1754, _0, _1, _color);
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN16btCollisionWorld15debugDrawObjectERK11btTransformPK16btCollisionShapeRK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld15debugDrawObjectERK11btTransformPK16btCollisionShapeRK9btVector3, "__ZN16btCollisionWorld15debugDrawObjectERK11btTransformPK16btCollisionShapeRK9btVector3");
  
  
  function __ZNK16btCollisionWorld7rayTestERK9btVector3S2_RNS_17RayResultCallbackE(_this, _rayFromWorld, _rayToWorld, _resultCallback) {
    var __stackBase__  = STACKTOP; STACKTOP += 252;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _rayCB = __stackBase__+32;
    var _2 = _rayCB;
    IHEAP[_2] = __ZTV19btSingleRayCallback+8;
    var _3 = _rayCB+36;
    var _4 = _rayFromWorld;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _rayCB+36+4;
    var _7 = _rayFromWorld+4;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _rayCB+36+8;
    var _10 = _rayFromWorld+8;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _rayCB+36+12;
    var _13 = _rayFromWorld+12;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _rayCB+52;
    var _16 = _rayToWorld;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _rayCB+52+4;
    var _19 = _rayToWorld+4;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _rayCB+52+8;
    var _22 = _rayToWorld+8;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    var _24 = _rayCB+52+12;
    var _25 = _rayToWorld+12;
    var _26 = FHEAP[_25];
    FHEAP[_24] = _26;
    var _27 = _rayCB+212;
    IHEAP[_27] = _this;
    var _28 = _rayCB+216;
    IHEAP[_28] = _resultCallback;
    var _29 = _rayCB+68;
    FHEAP[_29] = 1;
    var _30 = _rayCB+68+4;
    FHEAP[_30] = 0;
    var _31 = _rayCB+68+8;
    FHEAP[_31] = 0;
    var _32 = _rayCB+68+12;
    FHEAP[_32] = 0;
    var _33 = _rayCB+68+16;
    FHEAP[_33] = 0;
    var _34 = _rayCB+68+16+4;
    FHEAP[_34] = 1;
    var _35 = _rayCB+68+16+8;
    FHEAP[_35] = 0;
    var _36 = _rayCB+68+16+12;
    FHEAP[_36] = 0;
    var _37 = _rayCB+68+32;
    FHEAP[_37] = 0;
    var _38 = _rayCB+68+32+4;
    FHEAP[_38] = 0;
    var _39 = _rayCB+68+32+8;
    FHEAP[_39] = 1;
    var _40 = _rayCB+68+32+12;
    FHEAP[_40] = 0;
    var _41 = _rayCB+68+48;
    var _42 = _rayCB+68+48+4;
    var _43 = _rayCB+68+48+8;
    var _44 = _rayCB+68+48+12;
    FHEAP[_41] = _5;
    FHEAP[_42] = _8;
    FHEAP[_43] = _11;
    FHEAP[_44] = _14;
    var _45 = _rayCB+132;
    FHEAP[_45] = 1;
    var _46 = _rayCB+132+4;
    FHEAP[_46] = 0;
    var _47 = _rayCB+132+8;
    FHEAP[_47] = 0;
    var _48 = _rayCB+132+12;
    FHEAP[_48] = 0;
    var _49 = _rayCB+132+16;
    FHEAP[_49] = 0;
    var _50 = _rayCB+132+16+4;
    FHEAP[_50] = 1;
    var _51 = _rayCB+132+16+8;
    FHEAP[_51] = 0;
    var _52 = _rayCB+132+16+12;
    FHEAP[_52] = 0;
    var _53 = _rayCB+132+32;
    FHEAP[_53] = 0;
    var _54 = _rayCB+132+32+4;
    FHEAP[_54] = 0;
    var _55 = _rayCB+132+32+8;
    FHEAP[_55] = 1;
    var _56 = _rayCB+132+32+12;
    FHEAP[_56] = 0;
    var _57 = _rayCB+132+48;
    var _58 = _rayCB+132+48+4;
    var _59 = _rayCB+132+48+8;
    var _60 = _rayCB+132+48+12;
    FHEAP[_57] = _17;
    FHEAP[_58] = _20;
    FHEAP[_59] = _23;
    FHEAP[_60] = _26;
    var _61 = _23 - _11;
    var _62 = _20 - _8;
    var _63 = _17 - _5;
    var _64 = _63 * _63;
    var _65 = _62 * _62;
    var _66 = _64 + _65;
    var _67 = _61 * _61;
    var _68 = _66 + _67;
    var _69 = _sqrtf(_68);
    var _70 = 1 / _69;
    var _71 = _63 * _70;
    var _72 = _62 * _70;
    var _73 = _61 * _70;
    var _74 = _rayCB+4;
    var _75 = _71 != 0;
    ;
    if (_75) {
      __lastLabel__ = -1; ;
      var _76 = 1 / _71;
      __lastLabel__ = 131; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _77 = __lastLabel__ == 131 ? _76 : (999999984306749400);
    FHEAP[_74] = _77;
    var _78 = _72 != 0;
    ;
    if (_78) {
      __lastLabel__ = 132; ;
      var _79 = 1 / _72;
      __lastLabel__ = 133; ;
    }
    else {
      __lastLabel__ = 132; ;
    }
    var _80 = __lastLabel__ == 133 ? _79 : (999999984306749400);
    var _81 = _rayCB+4+4;
    FHEAP[_81] = _80;
    var _82 = _73 != 0;
    ;
    if (_82) {
      __lastLabel__ = 300; ;
      var _83 = 1 / _73;
      __lastLabel__ = 136; ;
    }
    else {
      __lastLabel__ = 300; ;
    }
    var _iftmp_363_0_i = __lastLabel__ == 136 ? _83 : (999999984306749400);
    var _84 = _rayCB+4+8;
    FHEAP[_84] = _iftmp_363_0_i;
    var _85 = _77 < 0;
    var _86 = _85;
    var _87 = _rayCB+20;
    IHEAP[_87] = _86;
    var _88 = _80 < 0;
    var _89 = _88;
    var _90 = _rayCB+20+4;
    IHEAP[_90] = _89;
    var _91 = _iftmp_363_0_i < 0;
    var _92 = _91;
    var _93 = _rayCB+20+8;
    IHEAP[_93] = _92;
    var _94 = _71 * _63;
    var _95 = _72 * _62;
    var _96 = _94 + _95;
    var _97 = _73 * _61;
    var _98 = _96 + _97;
    var _99 = _rayCB+32;
    FHEAP[_99] = _98;
    var _100 = _this+80;
    var _101 = IHEAP[_100];
    var _102 = _101;
    var _103 = IHEAP[_102];
    var _104 = _103+24;
    var _105 = IHEAP[_104];
    var _106 = _1;
    FHEAP[_106] = 0;
    var _107 = _1+4;
    FHEAP[_107] = 0;
    var _108 = _1+8;
    FHEAP[_108] = 0;
    var _109 = _1+12;
    FHEAP[_109] = 0;
    var _110 = _0;
    FHEAP[_110] = 0;
    var _111 = _0+4;
    FHEAP[_111] = 0;
    var _112 = _0+8;
    FHEAP[_112] = 0;
    var _113 = _0+12;
    FHEAP[_113] = 0;
    var _114 = _105;
    var _115 = _rayCB;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_114](_101, _rayFromWorld, _rayToWorld, _115, _0, _1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 75; /* _bb1 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 75) {
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select3 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_2] = __ZTV19btSingleRayCallback+8;
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  __ZNK16btCollisionWorld7rayTestERK9btVector3S2_RNS_17RayResultCallbackE.__index__ = Runtime.getFunctionIndex(__ZNK16btCollisionWorld7rayTestERK9btVector3S2_RNS_17RayResultCallbackE, "__ZNK16btCollisionWorld7rayTestERK9btVector3S2_RNS_17RayResultCallbackE");
  
  
  function __ZN16btCollisionWorld18addCollisionObjectEP17btCollisionObjectss(_this, _collisionObject, _collisionFilterGroup, _collisionFilterMask) {
    var __stackBase__  = STACKTOP; STACKTOP += 96;
    var __label__;
    var __lastLabel__ = null;
    var _trans = __stackBase__;
    var _minAabb = __stackBase__+64;
    var _maxAabb = __stackBase__+80;
    var _0 = _this+4+4;
    var _1 = IHEAP[_0];
    var _2 = _this+4+8;
    var _3 = IHEAP[_2];
    var _4 = _3 == _1;
    ;
    _bb_i$_bb1_i$5364: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 == 0;
        var _6 = _1 << 1;
        var _iftmp_430_0_i_i = _5 ? 1 : _6;
        var _7 = _3 < _iftmp_430_0_i_i;
        if (_7) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$5364; }
        var _8 = _iftmp_430_0_i_i == 0;
        ;
        if (_8) {
          __lastLabel__ = 263; ;
        }
        else {
          __lastLabel__ = 263; ;
          var _9 = _iftmp_430_0_i_i << 2;
          var _10 = __Z22btAlignedAllocInternalji(_9, 16);
          var _phitmp_i_i = _10;
          var __pre_i = IHEAP[_0];
          __lastLabel__ = 274; ;
        }
        var _11 = __lastLabel__ == 274 ? __pre_i : (_1);
        var _12 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
        var _13 = _11 > 0;
        ;
        _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i$5370: do { 
          if (_13) {
            ;
            var _14 = _this+4+12;
            __lastLabel__ = 276; ;
            _bb_i4_i_i$5372: while(1) { // _bb_i4_i_i
              var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
              var _scevgep_i_i_i = _12+4*_indvar_i_i_i;
              var _15 = _scevgep_i_i_i == 0;
              ;
              if (!_15) {
                ;
                var _16 = IHEAP[_14];
                var _scevgep8_i_i_i = _16+4*_indvar_i_i_i;
                var _17 = IHEAP[_scevgep8_i_i_i];
                IHEAP[_scevgep_i_i_i] = _17;
                ;
              }
              var _indvar_next_i_i_i = _indvar_i_i_i + 1;
              var _exitcond = _indvar_next_i_i_i == _11;
              if (_exitcond) { __lastLabel__ = 279; __label__ = 1147; /* __ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i$5370; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$5372; }
            }
          }
        } while(0);
        var _18 = _this+4+12;
        var _19 = IHEAP[_18];
        var _20 = _19 == 0;
        ;
        if (!_20) {
          ;
          var _21 = _this+4+16;
          var _22 = IHEAP[_21];
          var _toBool_i_i_i = _22 == 0;
          ;
          if (!_toBool_i_i_i) {
            ;
            var _23 = _19;
            __Z21btAlignedFreeInternalPv(_23);
            ;
          }
          IHEAP[_18] = 0;
          ;
        }
        var _24 = _this+4+16;
        IHEAP[_24] = 1;
        IHEAP[_18] = _12;
        IHEAP[_2] = _iftmp_430_0_i_i;
        var __pre5_i = IHEAP[_0];
        __lastLabel__ = 1150; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _25 = __lastLabel__ == 1150 ? __pre5_i : (__lastLabel__ == -1 ? _1 : (_1));
    var _26 = _this+4+12;
    var _27 = IHEAP[_26];
    var _28 = _27+4*_25;
    var _29 = _28 == 0;
    ;
    if (_29) {
      __lastLabel__ = 159; ;
    }
    else {
      __lastLabel__ = 159; ;
      IHEAP[_28] = _collisionObject;
      var __pre6_i = IHEAP[_0];
      __lastLabel__ = 132; ;
    }
    var _30 = __lastLabel__ == 159 ? _25 : (__pre6_i);
    var _31 = _30 + 1;
    IHEAP[_0] = _31;
    var _32 = _trans;
    var _33 = _collisionObject+4;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _trans+4;
    var _36 = _collisionObject+4+4;
    var _37 = FHEAP[_36];
    FHEAP[_35] = _37;
    var _38 = _trans+8;
    var _39 = _collisionObject+4+8;
    var _40 = FHEAP[_39];
    FHEAP[_38] = _40;
    var _41 = _trans+12;
    var _42 = _collisionObject+4+12;
    var _43 = FHEAP[_42];
    FHEAP[_41] = _43;
    var _44 = _trans+16;
    var _45 = _collisionObject+4+16;
    var _46 = FHEAP[_45];
    FHEAP[_44] = _46;
    var _47 = _trans+16+4;
    var _48 = _collisionObject+4+16+4;
    var _49 = FHEAP[_48];
    FHEAP[_47] = _49;
    var _50 = _trans+16+8;
    var _51 = _collisionObject+4+16+8;
    var _52 = FHEAP[_51];
    FHEAP[_50] = _52;
    var _53 = _trans+16+12;
    var _54 = _collisionObject+4+16+12;
    var _55 = FHEAP[_54];
    FHEAP[_53] = _55;
    var _56 = _trans+32;
    var _57 = _collisionObject+4+32;
    var _58 = FHEAP[_57];
    FHEAP[_56] = _58;
    var _59 = _trans+32+4;
    var _60 = _collisionObject+4+32+4;
    var _61 = FHEAP[_60];
    FHEAP[_59] = _61;
    var _62 = _trans+32+8;
    var _63 = _collisionObject+4+32+8;
    var _64 = FHEAP[_63];
    FHEAP[_62] = _64;
    var _65 = _trans+32+12;
    var _66 = _collisionObject+4+32+12;
    var _67 = FHEAP[_66];
    FHEAP[_65] = _67;
    var _68 = _trans+48;
    var _69 = _collisionObject+4+48;
    var _70 = FHEAP[_69];
    FHEAP[_68] = _70;
    var _71 = _trans+48+4;
    var _72 = _collisionObject+4+48+4;
    var _73 = FHEAP[_72];
    FHEAP[_71] = _73;
    var _74 = _trans+48+8;
    var _75 = _collisionObject+4+48+8;
    var _76 = FHEAP[_75];
    FHEAP[_74] = _76;
    var _77 = _trans+48+12;
    var _78 = _collisionObject+4+48+12;
    var _79 = FHEAP[_78];
    FHEAP[_77] = _79;
    var _80 = _collisionObject+192;
    var _81 = IHEAP[_80];
    var _82 = _81;
    var _83 = IHEAP[_82];
    var _84 = _83+8;
    var _85 = IHEAP[_84];
    var _86 = _85;
    FUNCTION_TABLE[_86](_81, _trans, _minAabb, _maxAabb);
    var _87 = IHEAP[_80];
    var _88 = _87+4;
    var _89 = IHEAP[_88];
    var _90 = _this+80;
    var _91 = IHEAP[_90];
    var _92 = _91;
    var _93 = IHEAP[_92];
    var _94 = _93+8;
    var _95 = IHEAP[_94];
    var _96 = _this+24;
    var _97 = IHEAP[_96];
    var _98 = _95;
    var _99 = _collisionObject;
    var _100 = FUNCTION_TABLE[_98](_91, _minAabb, _maxAabb, _89, _99, _collisionFilterGroup, _collisionFilterMask, _97, 0);
    var _101 = _collisionObject+188;
    IHEAP[_101] = _100;
    STACKTOP = __stackBase__;
    return;
  }
  __ZN16btCollisionWorld18addCollisionObjectEP17btCollisionObjectss.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld18addCollisionObjectEP17btCollisionObjectss, "__ZN16btCollisionWorld18addCollisionObjectEP17btCollisionObjectss");
  
  
  function __ZN16btCollisionWorld33performDiscreteCollisionDetectionEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    __ZN15CProfileManager13Start_ProfileEPKc(__str48);
    var _0 = _this+28;
    var _1 = _this;
    var _2 = IHEAP[_1];
    var _3 = _2+8;
    var _4 = IHEAP[_3];
    var _5 = _4;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_5](_this) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    _invcont$_lpad$5389: do { 
      if (__label__ == 345) {
        (function() { try { __THREW__ = false; return __ZN15CProfileManager13Start_ProfileEPKc(__str5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$5389; }
        var _6 = _this+80;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+32;
        var _11 = IHEAP[_10];
        var _12 = _this+24;
        var _13 = IHEAP[_12];
        var _14 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_14](_7, _13) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 83; /* _bb6 */  } else { __label__ = 3753; /* _lpad28 */  }
        if (__label__ == 83) {
          (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$5389; }
          var _15 = IHEAP[_12];
          (function() { try { __THREW__ = false; return __ZN15CProfileManager13Start_ProfileEPKc(__str6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$5389; }
          var _16 = _15 == 0;
          ;
          _bb18$_bb10$5396: do { 
            if (!_16) {
              ;
              var _17 = _15;
              var _18 = IHEAP[_17];
              var _19 = _18+32;
              var _20 = IHEAP[_19];
              var _21 = IHEAP[_12];
              var _22 = IHEAP[_6];
              var _23 = _22;
              var _24 = IHEAP[_23];
              var _25 = _24+36;
              var _26 = IHEAP[_25];
              var _27 = _26;
              var _28 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_27](_22) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1603; /* _invcont11 */  } else { __label__ = 680; /* _lpad36 */  };
              if (__label__ == 1603) {
                var _29 = _20;
                (function() { try { __THREW__ = false; return FUNCTION_TABLE[_29](_15, _28, _0, _21) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 86; /* _bb18 */ break _bb18$_bb10$5396; } else { ; }
              }
              var _eh_ptr37 = _llvm_eh_exception();
              var _eh_select39 = _llvm_eh_selector(_eh_ptr37, ___gxx_personality_v0, 0);
              (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 680; __label__ = 45; /* _ppad */ break _invcont$_lpad$5389; } else { __lastLabel__ = 680; ; }
              var _eh_ptr41 = _llvm_eh_exception();
              var _eh_select43 = _llvm_eh_selector(_eh_ptr41, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$5389; }
          __ZN15CProfileManager12Stop_ProfileEv();
          ;
          return;
        }
        else if (__label__ == 3753) {
          var _eh_ptr29 = _llvm_eh_exception();
          var _eh_select31 = _llvm_eh_selector(_eh_ptr29, ___gxx_personality_v0, 0);
          (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3753; __label__ = 45; /* _ppad */ break _invcont$_lpad$5389; } else { __lastLabel__ = 3753; ; }
          var _eh_ptr33 = _llvm_eh_exception();
          var _eh_select35 = _llvm_eh_selector(_eh_ptr33, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select27 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __lastLabel__ = 254; ;
    }
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (__lastLabel__ == 3753 ? _eh_ptr29 : (_eh_ptr37));
    (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3721; /* _invcont23 */  } else { __label__ = 3265; /* _lpad44 */  }
    if (__label__ == 3721) {
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
    else if (__label__ == 3265) {
      var _eh_ptr45 = _llvm_eh_exception();
      var _eh_select47 = _llvm_eh_selector(_eh_ptr45, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN16btCollisionWorld33performDiscreteCollisionDetectionEv.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld33performDiscreteCollisionDetectionEv, "__ZN16btCollisionWorld33performDiscreteCollisionDetectionEv");
  
  
  function __ZN16btCollisionWorldD2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btCollisionWorld+8;
    var _1 = _this+4+4;
    var _2 = _this+4+12;
    var _3 = _this+80;
    var _4 = _this+24;
    __lastLabel__ = -1; ;
    _bb5$5414: while(1) { // _bb5
      var _30 = __lastLabel__ == -1 ? 0 : (_29);
      var _31 = IHEAP[_1];
      var _32 = _31 > _30;
      var _33 = IHEAP[_2];
      if (!(_32)) { __label__ = 62; /* _bb9 */ break _bb5$5414; }
      var _scevgep = _33+4*_30;
      var _5 = IHEAP[_scevgep];
      var _6 = _5+188;
      var _7 = IHEAP[_6];
      var _8 = _7 == 0;
      ;
      if (!_8) {
        ;
        var _9 = IHEAP[_3];
        var _10 = _9;
        var _11 = IHEAP[_10];
        var _12 = _11+36;
        var _13 = IHEAP[_12];
        var _14 = _13;
        var _15 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_14](_9) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb5$5414; };
        var _16 = _15;
        var _17 = IHEAP[_16];
        var _18 = _17+40;
        var _19 = IHEAP[_18];
        var _20 = IHEAP[_4];
        var _21 = _19;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_21](_15, _7, _20) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb5$5414; }
        var _22 = IHEAP[_3];
        var _23 = _22;
        var _24 = IHEAP[_23];
        var _25 = _24+12;
        var _26 = IHEAP[_25];
        var _27 = IHEAP[_4];
        var _28 = _26;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_28](_22, _7, _27) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb5$5414; }
        IHEAP[_6] = 0;
        ;
      }
      var _29 = _30 + 1;
      __lastLabel__ = 61; __label__ = 82; /* _bb5 */ continue _bb5$5414;
    }
    if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select15 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      var _42 = IHEAP[_2];
      var _43 = _42 == 0;
      ;
      if (!_43) {
        ;
        var _44 = _this+4+16;
        var _45 = IHEAP[_44];
        var _toBool_i_i_i = _45 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$5427: do { 
          if (!_toBool_i_i_i) {
            ;
            var _46 = _42;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_46) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$5427; } else { ; }
            var _eh_ptr17 = _llvm_eh_exception();
            var _eh_select19 = _llvm_eh_selector(_eh_ptr17, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_2] = 0;
        ;
      }
      var _34 = _this+4+16;
      IHEAP[_34] = 1;
      IHEAP[_2] = 0;
      IHEAP[_1] = 0;
      var _35 = _this+4+8;
      IHEAP[_35] = 0;
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 62) {
      var _36 = _33 == 0;
      ;
      if (!_36) {
        ;
        var _37 = _this+4+16;
        var _38 = IHEAP[_37];
        var _toBool_i_i_i22 = _38 == 0;
        ;
        if (!_toBool_i_i_i22) {
          ;
          var _39 = _33;
          __Z21btAlignedFreeInternalPv(_39);
          ;
        }
        IHEAP[_2] = 0;
        ;
      }
      var _40 = _this+4+16;
      IHEAP[_40] = 1;
      IHEAP[_2] = 0;
      IHEAP[_1] = 0;
      var _41 = _this+4+8;
      IHEAP[_41] = 0;
      ;
      return;
    }
  }
  __ZN16btCollisionWorldD2Ev.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorldD2Ev, "__ZN16btCollisionWorldD2Ev");
  
  
  function __ZN16btCollisionWorldC1EP12btDispatcherP21btBroadphaseInterfaceP24btCollisionConfiguration(_this, _dispatcher, _pairCache, _collisionConfiguration) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btCollisionWorld+8;
    var _1 = _this+4+16;
    IHEAP[_1] = 1;
    var _2 = _this+4+12;
    IHEAP[_2] = 0;
    var _3 = _this+4+4;
    IHEAP[_3] = 0;
    var _4 = _this+4+8;
    IHEAP[_4] = 0;
    var _5 = _this+24;
    IHEAP[_5] = _dispatcher;
    var _6 = _this+28;
    FHEAP[_6] = 0;
    var _7 = _this+28+4;
    IHEAP[_7] = 0;
    var _8 = _this+28+8;
    IHEAP[_8] = 1;
    var _9 = _this+28+12;
    FHEAP[_9] = 1;
    var _10 = _this+28+16;
    IHEAP[_10] = 0;
    var _11 = _this+28+20;
    IHEAP[_11] = 0;
    var _12 = _this+28+24;
    IHEAP[_12] = 0;
    var _13 = _this+28+25;
    IHEAP[_13] = 1;
    var _14 = _this+28+26;
    IHEAP[_14] = 1;
    var _15 = _this+28+28;
    FHEAP[_15] = 0.03999999910593033;
    var _16 = _this+28+32;
    IHEAP[_16] = 0;
    var _17 = _this+28+36;
    FHEAP[_17] = 0;
    var _18 = _this+28+40;
    IHEAP[_18] = 0;
    var _19 = _this+28+44;
    IHEAP[_19] = 0;
    var _20 = _this+80;
    IHEAP[_20] = _pairCache;
    var _21 = _this+84;
    IHEAP[_21] = 0;
    var _22 = _this+88;
    IHEAP[_22] = 1;
    var _23 = _collisionConfiguration;
    var _24 = IHEAP[_23];
    var _25 = _24+16;
    var _26 = IHEAP[_25];
    var _27 = _26;
    var _28 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_27](_collisionConfiguration) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
    if (__label__ == 345) {
      var _29 = _this+76;
      IHEAP[_29] = _28;
      IHEAP[_19] = _28;
      ;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select4 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      var _30 = IHEAP[_2];
      var _31 = _30 == 0;
      ;
      if (!_31) {
        ;
        var _32 = IHEAP[_1];
        var _toBool_i_i_i = _32 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$5445: do { 
          if (!_toBool_i_i_i) {
            ;
            var _33 = _30;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_33) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$5445; } else { ; }
            var _eh_ptr6 = _llvm_eh_exception();
            var _eh_select8 = _llvm_eh_selector(_eh_ptr6, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_2] = 0;
        ;
      }
      IHEAP[_1] = 1;
      IHEAP[_2] = 0;
      IHEAP[_3] = 0;
      IHEAP[_4] = 0;
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  __ZN16btCollisionWorldC1EP12btDispatcherP21btBroadphaseInterfaceP24btCollisionConfiguration.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorldC1EP12btDispatcherP21btBroadphaseInterfaceP24btCollisionConfiguration, "__ZN16btCollisionWorldC1EP12btDispatcherP21btBroadphaseInterfaceP24btCollisionConfiguration");
  
  
  function __ZN20btAlignedObjectArrayI9btHashPtrE9push_backERKS0_(_this, __Val) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _this+8;
    var _3 = IHEAP[_2];
    var _4 = _3 == _1;
    ;
    _bb$_bb1$5451: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 == 0;
        var _6 = _1 << 1;
        var _iftmp_506_0_i = _5 ? 1 : _6;
        var _7 = _3 < _iftmp_506_0_i;
        if (_7) { __lastLabel__ = 60; ; } else { __lastLabel__ = 60; __label__ = 75; /* _bb1 */ break _bb$_bb1$5451; }
        var _8 = _iftmp_506_0_i == 0;
        ;
        if (_8) {
          __lastLabel__ = 131; ;
        }
        else {
          __lastLabel__ = 131; ;
          var _9 = _iftmp_506_0_i << 3;
          var _10 = __Z22btAlignedAllocInternalji(_9, 16);
          var _phitmp_i = _10;
          var __pre = IHEAP[_0];
          __lastLabel__ = 215; ;
        }
        var _11 = __lastLabel__ == 215 ? __pre : (_1);
        var _12 = __lastLabel__ == 215 ? _phitmp_i : (0);
        var _13 = _11 > 0;
        ;
        _bb_nph_i_i$__ZNK20btAlignedObjectArrayI9btHashPtrE4copyEiiPS0__exit_i$5457: do { 
          if (_13) {
            ;
            var _14 = _this+12;
            __lastLabel__ = 217; ;
            _bb_i4_i$5459: while(1) { // _bb_i4_i
              var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
              var _scevgep_i_i = _12+8*_indvar_i_i;
              var _15 = _scevgep_i_i == 0;
              ;
              if (!_15) {
                ;
                var _scevgep12_i_i = _12+8*_indvar_i_i+4;
                var _scevgep11_i_i = _12+8*_indvar_i_i;
                var _16 = IHEAP[_14];
                var _scevgep89_i_i = _16+8*_indvar_i_i;
                var _17 = IHEAP[_scevgep89_i_i];
                var _scevgep10_i_i = _16+8*_indvar_i_i+4;
                var _18 = IHEAP[_scevgep10_i_i];
                IHEAP[_scevgep11_i_i] = _17;
                IHEAP[_scevgep12_i_i] = _18;
                ;
              }
              var _indvar_next_i_i = _indvar_i_i + 1;
              var _exitcond = _indvar_next_i_i == _11;
              if (_exitcond) { __lastLabel__ = 324; __label__ = 1161; /* __ZNK20btAlignedObjectArrayI9btHashPtrE4copyEiiPS0__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayI9btHashPtrE4copyEiiPS0__exit_i$5457; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$5459; }
            }
          }
        } while(0);
        var _19 = _this+12;
        var _20 = IHEAP[_19];
        var _21 = _20 == 0;
        ;
        if (!_21) {
          ;
          var _22 = _this+16;
          var _23 = IHEAP[_22];
          var _toBool_i_i = _23 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _24 = _20;
            __Z21btAlignedFreeInternalPv(_24);
            ;
          }
          IHEAP[_19] = 0;
          ;
        }
        var _25 = _this+16;
        IHEAP[_25] = 1;
        IHEAP[_19] = _12;
        IHEAP[_2] = _iftmp_506_0_i;
        var __pre9 = IHEAP[_0];
        __lastLabel__ = 1164; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _26 = __lastLabel__ == 1164 ? __pre9 : (__lastLabel__ == -1 ? _1 : (_1));
    var _27 = _this+12;
    var _28 = IHEAP[_27];
    var _29 = _28+8*_26;
    var _30 = _29 == 0;
    ;
    if (_30) {
      __lastLabel__ = 75; ;
    }
    else {
      __lastLabel__ = 75; ;
      var _31 = __Val;
      var _32 = IHEAP[_31];
      var _33 = __Val+4;
      var _34 = IHEAP[_33];
      var _35 = _28+8*_26;
      IHEAP[_35] = _32;
      var _36 = _28+8*_26+4;
      IHEAP[_36] = _34;
      var __pre10 = IHEAP[_0];
      __lastLabel__ = 0; ;
    }
    var _37 = __lastLabel__ == 75 ? _26 : (__pre10);
    var _38 = _37 + 1;
    IHEAP[_0] = _38;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI9btHashPtrE9push_backERKS0_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI9btHashPtrE9push_backERKS0_, "__ZN20btAlignedObjectArrayI9btHashPtrE9push_backERKS0_");
  
  
  function __ZN16btCollisionWorld25serializeCollisionObjectsEP12btSerializer(_this, _serializer) {
    var __stackBase__  = STACKTOP; STACKTOP += 89;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _serializedShapes = __stackBase__+8;
    var _shape = __stackBase__+88;
    var _1 = _this+4+4;
    var _2 = IHEAP[_1];
    var _3 = _2 > 0;
    ;
    _bb_nph$_bb5$5504: do { 
      if (_3) {
        ;
        var _4 = _this+4+12;
        __lastLabel__ = 130; ;
        _bb$5506: while(1) { // _bb
          var _i_031 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _i_031 + 1;
          var _5 = IHEAP[_4];
          var _scevgep33 = _5+4*_i_031;
          var _6 = IHEAP[_scevgep33];
          var _7 = _6+232;
          var _8 = IHEAP[_7];
          var _9 = _8 == 1;
          ;
          if (_9) {
            ;
            var _10 = _6;
            var _11 = IHEAP[_10];
            var _12 = _11+24;
            var _13 = IHEAP[_12];
            var _14 = _13;
            FUNCTION_TABLE[_14](_6, _serializer);
            ;
          }
          var _15 = IHEAP[_1];
          var _16 = _15 > _tmp;
          if (_16) { __lastLabel__ = 0; __label__ = 60; /* _bb */ continue _bb$5506; } else { __lastLabel__ = 0; __label__ = 82; /* _bb5 */ break _bb_nph$_bb5$5504; }
        }
      }
    } while(0);
    var _17 = _serializedShapes+16;
    IHEAP[_17] = 1;
    var _18 = _serializedShapes+12;
    IHEAP[_18] = 0;
    var _19 = _serializedShapes+4;
    IHEAP[_19] = 0;
    var _20 = _serializedShapes+8;
    IHEAP[_20] = 0;
    var _21 = _serializedShapes+20+16;
    IHEAP[_21] = 1;
    var _22 = _serializedShapes+20+12;
    IHEAP[_22] = 0;
    var _23 = _serializedShapes+20+4;
    IHEAP[_23] = 0;
    var _24 = _serializedShapes+20+8;
    IHEAP[_24] = 0;
    var _25 = _serializedShapes+40+16;
    IHEAP[_25] = 1;
    var _26 = _serializedShapes+40+12;
    IHEAP[_26] = 0;
    var _27 = _serializedShapes+40+4;
    IHEAP[_27] = 0;
    var _28 = _serializedShapes+40+8;
    IHEAP[_28] = 0;
    var _29 = _serializedShapes+60+16;
    IHEAP[_29] = 1;
    var _30 = _serializedShapes+60+12;
    IHEAP[_30] = 0;
    var _31 = _serializedShapes+60+4;
    IHEAP[_31] = 0;
    var _32 = _serializedShapes+60+8;
    IHEAP[_32] = 0;
    var _33 = _this+4+12;
    var _34 = _0;
    __lastLabel__ = 82; ;
    _bb13$5512: while(1) { // _bb13
      var _76 = __lastLabel__ == 82 ? 0 : (_75);
      var _77 = IHEAP[_1];
      var _78 = _77 > _76;
      if (!(_78)) { __label__ = 86; /* _bb18 */ break _bb13$5512; }
      var _35 = IHEAP[_33];
      var _scevgep = _35+4*_76;
      var _36 = IHEAP[_scevgep];
      var _37 = _36+192;
      var _38 = IHEAP[_37];
      IHEAP[_shape] = _38;
      var _ptr_c_i27 = _38;
      var _39 = _ptr_c_i27 << 15;
      var _not_i_i_i = _39 ^ -1;
      var _40 = _ptr_c_i27 + _not_i_i_i;
      var _41 = _40 >> 10;
      var _42 = _41 ^ _40;
      var _43 = _42 * 9;
      var _44 = _43 >> 6;
      var _45 = _44 ^ _43;
      var _46 = _45 << 11;
      var _not2_i_i_i = _46 ^ -1;
      var _47 = _45 + _not2_i_i_i;
      var _48 = _47 >> 16;
      var _49 = _48 ^ _47;
      var _50 = IHEAP[_28];
      var _51 = _50 + -1;
      var _52 = _49 & _51;
      var _53 = IHEAP[_19];
      var _54 = unSign(_53, 32) > unSign(_52, 32);
      var _55 = _38;
      ;
      _bb1_i_i$_bb9$5515: do { 
        if (_54) {
          ;
          var _56 = IHEAP[_18];
          var _57 = _56+4*_52;
          __lastLabel__ = 265; ;
          _bb3_i_i$5517: while(1) { // _bb3_i_i
            var _index_0_in_i_i = __lastLabel__ == 265 ? _57 : (_59);
            var _index_0_i_i = IHEAP[_index_0_in_i_i];
            var _60 = _index_0_i_i == -1;
            if (_60) { __label__ = 62; /* _bb9 */ break _bb1_i_i$_bb9$5515; }
            var _61 = IHEAP[_30];
            var _62 = _61+8*_index_0_i_i;
            var _63 = _62;
            var _64 = IHEAP[_63];
            var _65 = _55 == _64;
            if (_65) { __label__ = 345; /* _invcont */ break _bb3_i_i$5517; }
            var _58 = IHEAP[_22];
            var _59 = _58+4*_index_0_i_i;
            __lastLabel__ = 628; __label__ = 324; /* _bb3_i_i */ continue _bb3_i_i$5517;
          }
          var _66 = IHEAP[_26];
          var _67 = _66+4*_index_0_i_i;
          var _68 = _67 == 0;
          if (_68) { __label__ = 62; /* _bb9 */ break _bb1_i_i$_bb9$5515; } else { __label__ = 3; /* _bb12 */ break _bb1_i_i$_bb9$5515; }
        }
        else {
          __label__ = 62; /* _bb9 */ 
        }
      } while(0);
      if (__label__ == 62) {
        IHEAP[_34] = _ptr_c_i27;
        (function() { try { __THREW__ = false; return __ZN9btHashMapI9btHashPtrP16btCollisionShapeE6insertERKS0_RKS2_(_serializedShapes, _0, _shape) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb13$5512; }
        var _69 = IHEAP[_shape];
        var _70 = _69;
        var _71 = IHEAP[_70];
        var _72 = _71+56;
        var _73 = IHEAP[_72];
        var _74 = _73;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_74](_69, _serializer) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb13$5512; }
      }
      var _75 = _76 + 1;
      __lastLabel__ = 3; __label__ = 108; /* _bb13 */ continue _bb13$5512;
    }
    if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select20 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      (function() { try { __THREW__ = false; return __ZN9btHashMapI9btHashPtrP16btCollisionShapeED1Ev(_serializedShapes) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2533; /* _invcont16 */  } else { __label__ = 3759; /* _lpad21 */  }
      if (__label__ == 2533) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3759) {
        var _eh_ptr22 = _llvm_eh_exception();
        var _eh_select24 = _llvm_eh_selector(_eh_ptr22, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
    else if (__label__ == 86) {
      __ZN9btHashMapI9btHashPtrP16btCollisionShapeED1Ev(_serializedShapes);
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN16btCollisionWorld25serializeCollisionObjectsEP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld25serializeCollisionObjectsEP12btSerializer, "__ZN16btCollisionWorld25serializeCollisionObjectsEP12btSerializer");
  
  
  function __ZN21btSingleSweepCallbackC2EPK13btConvexShapeRK11btTransformS5_PK16btCollisionWorldRNS6_20ConvexResultCallbackEf(_this, _castShape, _convexFromTrans, _convexToTrans, _world, _resultCallback, _allowedPenetration) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btSingleSweepCallback+8;
    var _1 = _this+36;
    var _2 = _convexFromTrans;
    var _3 = FHEAP[_2];
    FHEAP[_1] = _3;
    var _4 = _this+36+4;
    var _5 = _convexFromTrans+4;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _this+36+8;
    var _8 = _convexFromTrans+8;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _this+36+12;
    var _11 = _convexFromTrans+12;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _this+36+16;
    var _14 = _convexFromTrans+16;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    var _16 = _this+36+16+4;
    var _17 = _convexFromTrans+16+4;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _this+36+16+8;
    var _20 = _convexFromTrans+16+8;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _this+36+16+12;
    var _23 = _convexFromTrans+16+12;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    var _25 = _this+36+32;
    var _26 = _convexFromTrans+32;
    var _27 = FHEAP[_26];
    FHEAP[_25] = _27;
    var _28 = _this+36+32+4;
    var _29 = _convexFromTrans+32+4;
    var _30 = FHEAP[_29];
    FHEAP[_28] = _30;
    var _31 = _this+36+32+8;
    var _32 = _convexFromTrans+32+8;
    var _33 = FHEAP[_32];
    FHEAP[_31] = _33;
    var _34 = _this+36+32+12;
    var _35 = _convexFromTrans+32+12;
    var _36 = FHEAP[_35];
    FHEAP[_34] = _36;
    var _37 = _this+36+48;
    var _38 = _convexFromTrans+48;
    var _39 = FHEAP[_38];
    FHEAP[_37] = _39;
    var _40 = _this+36+48+4;
    var _41 = _convexFromTrans+48+4;
    var _42 = FHEAP[_41];
    FHEAP[_40] = _42;
    var _43 = _this+36+48+8;
    var _44 = _convexFromTrans+48+8;
    var _45 = FHEAP[_44];
    FHEAP[_43] = _45;
    var _46 = _this+36+48+12;
    var _47 = _convexFromTrans+48+12;
    var _48 = FHEAP[_47];
    FHEAP[_46] = _48;
    var _49 = _this+100;
    var _50 = _convexToTrans;
    var _51 = FHEAP[_50];
    FHEAP[_49] = _51;
    var _52 = _this+100+4;
    var _53 = _convexToTrans+4;
    var _54 = FHEAP[_53];
    FHEAP[_52] = _54;
    var _55 = _this+100+8;
    var _56 = _convexToTrans+8;
    var _57 = FHEAP[_56];
    FHEAP[_55] = _57;
    var _58 = _this+100+12;
    var _59 = _convexToTrans+12;
    var _60 = FHEAP[_59];
    FHEAP[_58] = _60;
    var _61 = _this+100+16;
    var _62 = _convexToTrans+16;
    var _63 = FHEAP[_62];
    FHEAP[_61] = _63;
    var _64 = _this+100+16+4;
    var _65 = _convexToTrans+16+4;
    var _66 = FHEAP[_65];
    FHEAP[_64] = _66;
    var _67 = _this+100+16+8;
    var _68 = _convexToTrans+16+8;
    var _69 = FHEAP[_68];
    FHEAP[_67] = _69;
    var _70 = _this+100+16+12;
    var _71 = _convexToTrans+16+12;
    var _72 = FHEAP[_71];
    FHEAP[_70] = _72;
    var _73 = _this+100+32;
    var _74 = _convexToTrans+32;
    var _75 = FHEAP[_74];
    FHEAP[_73] = _75;
    var _76 = _this+100+32+4;
    var _77 = _convexToTrans+32+4;
    var _78 = FHEAP[_77];
    FHEAP[_76] = _78;
    var _79 = _this+100+32+8;
    var _80 = _convexToTrans+32+8;
    var _81 = FHEAP[_80];
    FHEAP[_79] = _81;
    var _82 = _this+100+32+12;
    var _83 = _convexToTrans+32+12;
    var _84 = FHEAP[_83];
    FHEAP[_82] = _84;
    var _85 = _this+100+48;
    var _86 = _convexToTrans+48;
    var _87 = FHEAP[_86];
    FHEAP[_85] = _87;
    var _88 = _this+100+48+4;
    var _89 = _convexToTrans+48+4;
    var _90 = FHEAP[_89];
    FHEAP[_88] = _90;
    var _91 = _this+100+48+8;
    var _92 = _convexToTrans+48+8;
    var _93 = FHEAP[_92];
    FHEAP[_91] = _93;
    var _94 = _this+100+48+12;
    var _95 = _convexToTrans+48+12;
    var _96 = FHEAP[_95];
    FHEAP[_94] = _96;
    var _97 = _this+180;
    IHEAP[_97] = _world;
    var _98 = _this+184;
    IHEAP[_98] = _resultCallback;
    var _99 = _this+188;
    FHEAP[_99] = _allowedPenetration;
    var _100 = _this+192;
    IHEAP[_100] = _castShape;
    var _101 = _93 - _45;
    var _102 = _90 - _42;
    var _103 = _87 - _39;
    var _104 = _103 * _103;
    var _105 = _102 * _102;
    var _106 = _104 + _105;
    var _107 = _101 * _101;
    var _108 = _106 + _107;
    var _109 = _sqrtf(_108);
    var _110 = 1 / _109;
    var _111 = _101 * _110;
    var _112 = _102 * _110;
    var _113 = _103 * _110;
    var _114 = _this+4;
    var _115 = _113 != 0;
    ;
    if (_115) {
      __lastLabel__ = -1; ;
      var _116 = 1 / _113;
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _117 = __lastLabel__ == 60 ? _116 : (999999984306749400);
    FHEAP[_114] = _117;
    var _118 = _112 != 0;
    ;
    if (_118) {
      __lastLabel__ = 0; ;
      var _119 = 1 / _112;
      __lastLabel__ = 116; ;
    }
    else {
      __lastLabel__ = 0; ;
    }
    var _120 = __lastLabel__ == 116 ? _119 : (999999984306749400);
    var _121 = _this+4+4;
    FHEAP[_121] = _120;
    var _122 = _111 != 0;
    ;
    if (_122) {
      __lastLabel__ = 82; ;
      var _123 = 1 / _111;
      __lastLabel__ = 83; ;
    }
    else {
      __lastLabel__ = 82; ;
    }
    var _iftmp_368_0 = __lastLabel__ == 83 ? _123 : (999999984306749400);
    var _124 = _this+4+8;
    FHEAP[_124] = _iftmp_368_0;
    var _125 = _117 < 0;
    var _126 = _125;
    var _127 = _this+20;
    IHEAP[_127] = _126;
    var _128 = _120 < 0;
    var _129 = _128;
    var _130 = _this+20+4;
    IHEAP[_130] = _129;
    var _131 = _iftmp_368_0 < 0;
    var _132 = _131;
    var _133 = _this+20+8;
    IHEAP[_133] = _132;
    var _134 = _113 * _103;
    var _135 = _112 * _102;
    var _136 = _134 + _135;
    var _137 = _111 * _101;
    var _138 = _136 + _137;
    var _139 = _this+32;
    FHEAP[_139] = _138;
    ;
    return;
  }
  __ZN21btSingleSweepCallbackC2EPK13btConvexShapeRK11btTransformS5_PK16btCollisionWorldRNS6_20ConvexResultCallbackEf.__index__ = Runtime.getFunctionIndex(__ZN21btSingleSweepCallbackC2EPK13btConvexShapeRK11btTransformS5_PK16btCollisionWorldRNS6_20ConvexResultCallbackEf, "__ZN21btSingleSweepCallbackC2EPK13btConvexShapeRK11btTransformS5_PK16btCollisionWorldRNS6_20ConvexResultCallbackEf");
  
  
  function __ZNK11btMatrix3x311getRotationER12btQuaternion(_this, _q) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var __lastLabel__ = null;
    var _temp = __stackBase__;
    var _0 = _this;
    var _1 = FHEAP[_0];
    var _2 = _this+16+4;
    var _3 = FHEAP[_2];
    var _4 = _1 + _3;
    var _5 = _this+32+8;
    var _6 = FHEAP[_5];
    var _7 = _4 + _6;
    var _8 = _7 > 0;
    ;
    if (_8) {
      ;
      var _9 = _7 + 1;
      var _10 = _sqrtf(_9);
      var _11 = _10 * 0.5;
      var _12 = _temp+12;
      FHEAP[_12] = _11;
      var _13 = 0.5 / _10;
      var _14 = _this+32+4;
      var _15 = FHEAP[_14];
      var _16 = _this+16+8;
      var _17 = FHEAP[_16];
      var _18 = _15 - _17;
      var _19 = _18 * _13;
      var _20 = _temp;
      FHEAP[_20] = _19;
      var _21 = _this+8;
      var _22 = FHEAP[_21];
      var _23 = _this+32;
      var _24 = FHEAP[_23];
      var _25 = _22 - _24;
      var _26 = _25 * _13;
      var _27 = _temp+4;
      FHEAP[_27] = _26;
      var _28 = _this+16;
      var _29 = FHEAP[_28];
      var _30 = _this+4;
      var _31 = FHEAP[_30];
      var _32 = _29 - _31;
      var _33 = _32 * _13;
      var _34 = _temp+8;
      FHEAP[_34] = _33;
      __lastLabel__ = 60; ;
    }
    else {
      ;
      var _35 = _1 < _3;
      ;
      if (_35) {
        ;
        var _36 = _3 < _6;
        var _iftmp_50_0 = _36 ? 2 : 1;
        __lastLabel__ = 116; ;
      }
      else {
        ;
        var _37 = _1 < _6;
        var _iftmp_51_0 = _37 ? 2 : 0;
        __lastLabel__ = 2; ;
      }
      var _iftmp_49_0 = __lastLabel__ == 116 ? _iftmp_50_0 : (_iftmp_51_0);
      var _38 = _iftmp_49_0 + 1;
      var _39 = Math.floor(_38 % 3);
      var _40 = _iftmp_49_0 + 2;
      var _41 = Math.floor(_40 % 3);
      var _42 = _this+_iftmp_49_0*16+_iftmp_49_0*4;
      var _43 = FHEAP[_42];
      var _44 = _this+_39*16+_39*4;
      var _45 = FHEAP[_44];
      var _46 = _43 - _45;
      var _47 = _this+_41*16+_41*4;
      var _48 = FHEAP[_47];
      var _49 = _46 - _48;
      var _50 = _49 + 1;
      var _51 = _sqrtf(_50);
      var _52 = _51 * 0.5;
      var _53 = _temp+_iftmp_49_0*4;
      FHEAP[_53] = _52;
      var _54 = 0.5 / _51;
      var _55 = _this+_41*16+_39*4;
      var _56 = FHEAP[_55];
      var _57 = _this+_39*16+_41*4;
      var _58 = FHEAP[_57];
      var _59 = _56 - _58;
      var _60 = _59 * _54;
      var _61 = _temp+12;
      FHEAP[_61] = _60;
      var _62 = _this+_39*16+_iftmp_49_0*4;
      var _63 = FHEAP[_62];
      var _64 = _this+_iftmp_49_0*16+_39*4;
      var _65 = FHEAP[_64];
      var _66 = _63 + _65;
      var _67 = _66 * _54;
      var _68 = _temp+_39*4;
      FHEAP[_68] = _67;
      var _69 = _this+_41*16+_iftmp_49_0*4;
      var _70 = FHEAP[_69];
      var _71 = _this+_iftmp_49_0*16+_41*4;
      var _72 = FHEAP[_71];
      var _73 = _70 + _72;
      var _74 = _73 * _54;
      var _75 = _temp+_41*4;
      FHEAP[_75] = _74;
      var __phi_trans_insert = _temp;
      var __pre = FHEAP[__phi_trans_insert];
      var __phi_trans_insert13 = _temp+4;
      var __pre14 = FHEAP[__phi_trans_insert13];
      var __phi_trans_insert15 = _temp+8;
      var __pre16 = FHEAP[__phi_trans_insert15];
      var __pre18 = FHEAP[_61];
      __lastLabel__ = 292; ;
    }
    var _76 = __lastLabel__ == 292 ? __pre18 : (_11);
    var _77 = __lastLabel__ == 292 ? __pre16 : (_33);
    var _78 = __lastLabel__ == 292 ? __pre14 : (_26);
    var _79 = __lastLabel__ == 292 ? __pre : (_19);
    var _80 = _q;
    FHEAP[_80] = _79;
    var _81 = _q+4;
    FHEAP[_81] = _78;
    var _82 = _q+8;
    FHEAP[_82] = _77;
    var _83 = _q+12;
    FHEAP[_83] = _76;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK11btMatrix3x311getRotationER12btQuaternion.__index__ = Runtime.getFunctionIndex(__ZNK11btMatrix3x311getRotationER12btQuaternion, "__ZNK11btMatrix3x311getRotationER12btQuaternion");
  
  
  function __ZN16btCollisionWorld15contactPairTestEP17btCollisionObjectS1_RNS_21ContactResultCallbackE(_this, _colObjA, _colObjB, _resultCallback) {
    var __stackBase__  = STACKTOP; STACKTOP += 164;
    var __label__;
    var _contactPointResult = __stackBase__;
    var _0 = _this+24;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+8;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1, _colObjA, _colObjB, 0);
    var _8 = _7 == 0;
    ;
    _bb4$_bb$5564: do { 
      if (!_8) {
        ;
        var _9 = _contactPointResult;
        __ZN16btManifoldResultC2EP17btCollisionObjectS1_(_9, _colObjA, _colObjB);
        var _10 = _contactPointResult;
        IHEAP[_10] = __ZTV23btBridgedManifoldResult+8;
        var _11 = _contactPointResult+160;
        IHEAP[_11] = _resultCallback;
        var _12 = _7;
        var _13 = IHEAP[_12];
        var _14 = _13+8;
        var _15 = IHEAP[_14];
        var _16 = _this+28;
        var _17 = _15;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_17](_7, _colObjA, _colObjB, _16, _9) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        _invcont$_lpad$5566: do { 
          if (__label__ == 345) {
            var _18 = IHEAP[_12];
            var _19 = IHEAP[_18];
            var _20 = _19;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_20](_7) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$5566; }
            var _21 = IHEAP[_0];
            var _22 = _21;
            var _23 = IHEAP[_22];
            var _24 = _23+52;
            var _25 = IHEAP[_24];
            var _26 = _25;
            var _27 = _7;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_26](_21, _27) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 61; /* _bb4 */ break _bb4$_bb$5564; } else { ; }
          }
        } while(0);
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select7 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        IHEAP[_10] = __ZTV23btBridgedManifoldResult+8;
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN16btCollisionWorld15contactPairTestEP17btCollisionObjectS1_RNS_21ContactResultCallbackE.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld15contactPairTestEP17btCollisionObjectS1_RNS_21ContactResultCallbackE, "__ZN16btCollisionWorld15contactPairTestEP17btCollisionObjectS1_RNS_21ContactResultCallbackE");
  
  
  function __ZN15btTransformUtil22calculateDiffAxisAngleERK11btTransformS2_R9btVector3Rf(_transform0, _transform1, _axis, _angle) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var _dmat = __stackBase__;
    var _dorn = __stackBase__+48;
    var _0 = _transform0+16;
    var _1 = FHEAP[_0];
    var _2 = _transform0+32+4;
    var _3 = FHEAP[_2];
    var _4 = _1 * _3;
    var _5 = _transform0+16+4;
    var _6 = FHEAP[_5];
    var _7 = _transform0+32;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _4 - _9;
    var _11 = _transform0+16+8;
    var _12 = FHEAP[_11];
    var _13 = _12 * _8;
    var _14 = _transform0+32+8;
    var _15 = FHEAP[_14];
    var _16 = _1 * _15;
    var _17 = _13 - _16;
    var _18 = _6 * _15;
    var _19 = _12 * _3;
    var _20 = _18 - _19;
    var _21 = _transform0;
    var _22 = FHEAP[_21];
    var _23 = _22 * _20;
    var _24 = _transform0+4;
    var _25 = FHEAP[_24];
    var _26 = _25 * _17;
    var _27 = _23 + _26;
    var _28 = _transform0+8;
    var _29 = FHEAP[_28];
    var _30 = _29 * _10;
    var _31 = _27 + _30;
    var _32 = 1 / _31;
    var _33 = _22 * _6;
    var _34 = _25 * _1;
    var _35 = _33 - _34;
    var _36 = _35 * _32;
    var _37 = _25 * _8;
    var _38 = _22 * _3;
    var _39 = _37 - _38;
    var _40 = _39 * _32;
    var _41 = _10 * _32;
    var _42 = _29 * _1;
    var _43 = _22 * _12;
    var _44 = _42 - _43;
    var _45 = _44 * _32;
    var _46 = _22 * _15;
    var _47 = _29 * _8;
    var _48 = _46 - _47;
    var _49 = _48 * _32;
    var _50 = _17 * _32;
    var _51 = _25 * _12;
    var _52 = _29 * _6;
    var _53 = _51 - _52;
    var _54 = _53 * _32;
    var _55 = _29 * _3;
    var _56 = _25 * _15;
    var _57 = _55 - _56;
    var _58 = _57 * _32;
    var _59 = _20 * _32;
    var _60 = _transform1+32;
    var _61 = FHEAP[_60];
    var _62 = _54 * _61;
    var _63 = _transform1+32+4;
    var _64 = FHEAP[_63];
    var _65 = _45 * _64;
    var _66 = _62 + _65;
    var _67 = _transform1+32+8;
    var _68 = FHEAP[_67];
    var _69 = _36 * _68;
    var _70 = _66 + _69;
    var _71 = _58 * _61;
    var _72 = _49 * _64;
    var _73 = _71 + _72;
    var _74 = _40 * _68;
    var _75 = _73 + _74;
    var _76 = _59 * _61;
    var _77 = _50 * _64;
    var _78 = _76 + _77;
    var _79 = _41 * _68;
    var _80 = _78 + _79;
    var _81 = _transform1+16;
    var _82 = FHEAP[_81];
    var _83 = _54 * _82;
    var _84 = _transform1+16+4;
    var _85 = FHEAP[_84];
    var _86 = _45 * _85;
    var _87 = _83 + _86;
    var _88 = _transform1+16+8;
    var _89 = FHEAP[_88];
    var _90 = _36 * _89;
    var _91 = _87 + _90;
    var _92 = _58 * _82;
    var _93 = _49 * _85;
    var _94 = _92 + _93;
    var _95 = _40 * _89;
    var _96 = _94 + _95;
    var _97 = _59 * _82;
    var _98 = _50 * _85;
    var _99 = _97 + _98;
    var _100 = _41 * _89;
    var _101 = _99 + _100;
    var _102 = _transform1;
    var _103 = FHEAP[_102];
    var _104 = _54 * _103;
    var _105 = _transform1+4;
    var _106 = FHEAP[_105];
    var _107 = _45 * _106;
    var _108 = _104 + _107;
    var _109 = _transform1+8;
    var _110 = FHEAP[_109];
    var _111 = _36 * _110;
    var _112 = _108 + _111;
    var _113 = _58 * _103;
    var _114 = _49 * _106;
    var _115 = _113 + _114;
    var _116 = _40 * _110;
    var _117 = _115 + _116;
    var _118 = _59 * _103;
    var _119 = _50 * _106;
    var _120 = _118 + _119;
    var _121 = _41 * _110;
    var _122 = _120 + _121;
    var _123 = _dmat;
    FHEAP[_123] = _122;
    var _124 = _dmat+4;
    FHEAP[_124] = _117;
    var _125 = _dmat+8;
    FHEAP[_125] = _112;
    var _126 = _dmat+12;
    FHEAP[_126] = 0;
    var _127 = _dmat+16;
    FHEAP[_127] = _101;
    var _128 = _dmat+16+4;
    FHEAP[_128] = _96;
    var _129 = _dmat+16+8;
    FHEAP[_129] = _91;
    var _130 = _dmat+16+12;
    FHEAP[_130] = 0;
    var _131 = _dmat+32;
    FHEAP[_131] = _80;
    var _132 = _dmat+32+4;
    FHEAP[_132] = _75;
    var _133 = _dmat+32+8;
    FHEAP[_133] = _70;
    var _134 = _dmat+32+12;
    FHEAP[_134] = 0;
    __ZNK11btMatrix3x311getRotationER12btQuaternion(_dmat, _dorn);
    var _135 = _dorn;
    var _136 = FHEAP[_135];
    var _137 = _136 * _136;
    var _138 = _dorn+4;
    var _139 = FHEAP[_138];
    var _140 = _139 * _139;
    var _141 = _137 + _140;
    var _142 = _dorn+8;
    var _143 = FHEAP[_142];
    var _144 = _143 * _143;
    var _145 = _141 + _144;
    var _146 = _dorn+12;
    var _147 = FHEAP[_146];
    var _148 = _147 * _147;
    var _149 = _145 + _148;
    var _150 = _sqrtf(_149);
    var _151 = 1 / _150;
    var _152 = _136 * _151;
    FHEAP[_135] = _152;
    var _153 = _139 * _151;
    FHEAP[_138] = _153;
    var _154 = _143 * _151;
    FHEAP[_142] = _154;
    var _155 = _147 * _151;
    FHEAP[_146] = _155;
    var _156 = _155 < -1;
    var _x_addr_0_i_i = _156 ? -1 : _155;
    var _157 = _x_addr_0_i_i > 1;
    var _x_addr_1_i_i = _157 ? 1 : _x_addr_0_i_i;
    var _158 = _acosf(_x_addr_1_i_i);
    var _159 = _158 * 2;
    FHEAP[_angle] = _159;
    var _160 = _axis;
    FHEAP[_160] = _152;
    var _161 = _axis+4;
    FHEAP[_161] = _153;
    var _162 = _axis+8;
    FHEAP[_162] = _154;
    var _163 = _axis+12;
    FHEAP[_163] = 0;
    var _164 = _152 * _152;
    var _165 = _153 * _153;
    var _166 = _164 + _165;
    var _167 = _154 * _154;
    var _168 = _166 + _167;
    var _169 = _168 < 1.4210854715202004e-14;
    ;
    if (_169) {
      ;
      FHEAP[_160] = 1;
      FHEAP[_161] = 0;
      FHEAP[_162] = 0;
      FHEAP[_163] = 0;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      var _170 = _sqrtf(_168);
      var _171 = 1 / _170;
      var _172 = _152 * _171;
      FHEAP[_160] = _172;
      var _173 = _153 * _171;
      FHEAP[_161] = _173;
      var _174 = _154 * _171;
      FHEAP[_162] = _174;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN15btTransformUtil22calculateDiffAxisAngleERK11btTransformS2_R9btVector3Rf.__index__ = Runtime.getFunctionIndex(__ZN15btTransformUtil22calculateDiffAxisAngleERK11btTransformS2_R9btVector3Rf, "__ZN15btTransformUtil22calculateDiffAxisAngleERK11btTransformS2_R9btVector3Rf");
  
  
  function __ZNK16btCollisionWorld15convexSweepTestEPK13btConvexShapeRK11btTransformS5_RNS_20ConvexResultCallbackEf(_this, _castShape, _convexFromWorld, _convexToWorld, _resultCallback, _allowedCcdPenetration) {
    var __stackBase__  = STACKTOP; STACKTOP += 485;
    var __label__;
    var __lastLabel__ = null;
    var _axis_i = __stackBase__;
    var _angle_i = __stackBase__+16;
    var _0 = __stackBase__+17;
    var _convexFromTrans = __stackBase__+33;
    var _convexToTrans = __stackBase__+97;
    var _castShapeAabbMin = __stackBase__+161;
    var _castShapeAabbMax = __stackBase__+177;
    var _convexCB = __stackBase__+193;
    var _angVel = __stackBase__+389;
    var _zeroLinVel = __stackBase__+405;
    var _R = __stackBase__+421;
    __ZN15CProfileManager13Start_ProfileEPKc(__str315);
    var _1 = _convexFromTrans;
    var _2 = _convexFromWorld;
    var _3 = FHEAP[_2];
    FHEAP[_1] = _3;
    var _4 = _convexFromTrans+4;
    var _5 = _convexFromWorld+4;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _convexFromTrans+8;
    var _8 = _convexFromWorld+8;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _convexFromTrans+12;
    var _11 = _convexFromWorld+12;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _convexFromTrans+16;
    var _14 = _convexFromWorld+16;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    var _16 = _convexFromTrans+16+4;
    var _17 = _convexFromWorld+16+4;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _convexFromTrans+16+8;
    var _20 = _convexFromWorld+16+8;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _convexFromTrans+16+12;
    var _23 = _convexFromWorld+16+12;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    var _25 = _convexFromTrans+32;
    var _26 = _convexFromWorld+32;
    var _27 = FHEAP[_26];
    FHEAP[_25] = _27;
    var _28 = _convexFromTrans+32+4;
    var _29 = _convexFromWorld+32+4;
    var _30 = FHEAP[_29];
    FHEAP[_28] = _30;
    var _31 = _convexFromTrans+32+8;
    var _32 = _convexFromWorld+32+8;
    var _33 = FHEAP[_32];
    FHEAP[_31] = _33;
    var _34 = _convexFromTrans+32+12;
    var _35 = _convexFromWorld+32+12;
    var _36 = FHEAP[_35];
    FHEAP[_34] = _36;
    var _37 = _convexFromTrans+48;
    var _38 = _convexFromWorld+48;
    var _39 = FHEAP[_38];
    FHEAP[_37] = _39;
    var _40 = _convexFromTrans+48+4;
    var _41 = _convexFromWorld+48+4;
    var _42 = FHEAP[_41];
    FHEAP[_40] = _42;
    var _43 = _convexFromTrans+48+8;
    var _44 = _convexFromWorld+48+8;
    var _45 = FHEAP[_44];
    FHEAP[_43] = _45;
    var _46 = _convexFromTrans+48+12;
    var _47 = _convexFromWorld+48+12;
    var _48 = FHEAP[_47];
    FHEAP[_46] = _48;
    var _49 = _convexToTrans;
    var _50 = _convexToWorld;
    var _51 = FHEAP[_50];
    FHEAP[_49] = _51;
    var _52 = _convexToTrans+4;
    var _53 = _convexToWorld+4;
    var _54 = FHEAP[_53];
    FHEAP[_52] = _54;
    var _55 = _convexToTrans+8;
    var _56 = _convexToWorld+8;
    var _57 = FHEAP[_56];
    FHEAP[_55] = _57;
    var _58 = _convexToTrans+12;
    var _59 = _convexToWorld+12;
    var _60 = FHEAP[_59];
    FHEAP[_58] = _60;
    var _61 = _convexToTrans+16;
    var _62 = _convexToWorld+16;
    var _63 = FHEAP[_62];
    FHEAP[_61] = _63;
    var _64 = _convexToTrans+16+4;
    var _65 = _convexToWorld+16+4;
    var _66 = FHEAP[_65];
    FHEAP[_64] = _66;
    var _67 = _convexToTrans+16+8;
    var _68 = _convexToWorld+16+8;
    var _69 = FHEAP[_68];
    FHEAP[_67] = _69;
    var _70 = _convexToTrans+16+12;
    var _71 = _convexToWorld+16+12;
    var _72 = FHEAP[_71];
    FHEAP[_70] = _72;
    var _73 = _convexToTrans+32;
    var _74 = _convexToWorld+32;
    var _75 = FHEAP[_74];
    FHEAP[_73] = _75;
    var _76 = _convexToTrans+32+4;
    var _77 = _convexToWorld+32+4;
    var _78 = FHEAP[_77];
    FHEAP[_76] = _78;
    var _79 = _convexToTrans+32+8;
    var _80 = _convexToWorld+32+8;
    var _81 = FHEAP[_80];
    FHEAP[_79] = _81;
    var _82 = _convexToTrans+32+12;
    var _83 = _convexToWorld+32+12;
    var _84 = FHEAP[_83];
    FHEAP[_82] = _84;
    var _85 = _convexToTrans+48;
    var _86 = _convexToWorld+48;
    var _87 = FHEAP[_86];
    FHEAP[_85] = _87;
    var _88 = _convexToTrans+48+4;
    var _89 = _convexToWorld+48+4;
    var _90 = FHEAP[_89];
    FHEAP[_88] = _90;
    var _91 = _convexToTrans+48+8;
    var _92 = _convexToWorld+48+8;
    var _93 = FHEAP[_92];
    FHEAP[_91] = _93;
    var _94 = _convexToTrans+48+12;
    var _95 = _convexToWorld+48+12;
    var _96 = FHEAP[_95];
    FHEAP[_94] = _96;
    __ZN15btTransformUtil22calculateDiffAxisAngleERK11btTransformS2_R9btVector3Rf(_convexFromTrans, _convexToTrans, _axis_i, _angle_i);
    var _97 = _axis_i+8;
    var _98 = FHEAP[_97];
    var _99 = FHEAP[_angle_i];
    var _100 = _98 * _99;
    var _101 = _axis_i+4;
    var _102 = FHEAP[_101];
    var _103 = _102 * _99;
    var _104 = _axis_i;
    var _105 = FHEAP[_104];
    var _106 = _105 * _99;
    var _107 = _angVel;
    FHEAP[_107] = _106;
    var _108 = _angVel+4;
    FHEAP[_108] = _103;
    var _109 = _angVel+8;
    FHEAP[_109] = _100;
    var _110 = _angVel+12;
    FHEAP[_110] = 0;
    var _111 = _zeroLinVel;
    FHEAP[_111] = 0;
    var _112 = _zeroLinVel+4;
    FHEAP[_112] = 0;
    var _113 = _zeroLinVel+8;
    FHEAP[_113] = 0;
    var _114 = _zeroLinVel+12;
    FHEAP[_114] = 0;
    var _115 = _R;
    FHEAP[_115] = 1;
    var _116 = _R+4;
    FHEAP[_116] = 0;
    var _117 = _R+8;
    FHEAP[_117] = 0;
    var _118 = _R+12;
    FHEAP[_118] = 0;
    var _119 = _R+16;
    FHEAP[_119] = 0;
    var _120 = _R+16+4;
    FHEAP[_120] = 1;
    var _121 = _R+16+8;
    FHEAP[_121] = 0;
    var _122 = _R+16+12;
    FHEAP[_122] = 0;
    var _123 = _R+32;
    FHEAP[_123] = 0;
    var _124 = _R+32+4;
    FHEAP[_124] = 0;
    var _125 = _R+32+8;
    FHEAP[_125] = 1;
    var _126 = _R+32+12;
    FHEAP[_126] = 0;
    var _127 = _R+48;
    FHEAP[_127] = 0;
    var _128 = _R+48+4;
    FHEAP[_128] = 0;
    var _129 = _R+48+8;
    FHEAP[_129] = 0;
    var _130 = _R+48+12;
    FHEAP[_130] = 0;
    var _131 = _convexFromTrans;
    __ZNK11btMatrix3x311getRotationER12btQuaternion(_131, _0);
    var _132 = _0;
    var _133 = FHEAP[_132];
    var _134 = _133 * _133;
    var _135 = _0+4;
    var _136 = FHEAP[_135];
    var _137 = _136 * _136;
    var _138 = _134 + _137;
    var _139 = _0+8;
    var _140 = FHEAP[_139];
    var _141 = _140 * _140;
    var _142 = _138 + _141;
    var _143 = _0+12;
    var _144 = FHEAP[_143];
    var _145 = _144 * _144;
    var _146 = _142 + _145;
    var _147 = 2 / _146;
    var _148 = _133 * _147;
    var _149 = _136 * _147;
    var _150 = _140 * _147;
    var _151 = _144 * _148;
    var _152 = _144 * _149;
    var _153 = _144 * _150;
    var _154 = _133 * _148;
    var _155 = _133 * _149;
    var _156 = _133 * _150;
    var _157 = _136 * _149;
    var _158 = _136 * _150;
    var _159 = _140 * _150;
    var _160 = _154 + _157;
    var _161 = 1 - _160;
    var _162 = _158 + _151;
    var _163 = _156 - _152;
    var _164 = _158 - _151;
    var _165 = _154 + _159;
    var _166 = 1 - _165;
    var _167 = _155 + _153;
    var _168 = _156 + _152;
    var _169 = _155 - _153;
    var _170 = _157 + _159;
    var _171 = 1 - _170;
    FHEAP[_115] = _171;
    FHEAP[_116] = _169;
    FHEAP[_117] = _168;
    FHEAP[_118] = 0;
    FHEAP[_119] = _167;
    FHEAP[_120] = _166;
    FHEAP[_121] = _164;
    FHEAP[_122] = 0;
    FHEAP[_123] = _163;
    FHEAP[_124] = _162;
    FHEAP[_125] = _161;
    FHEAP[_126] = 0;
    var _172 = _castShape;
    (function() { try { __THREW__ = false; return __ZNK16btCollisionShape21calculateTemporalAabbERK11btTransformRK9btVector3S5_fRS3_S6_(_172, _R, _zeroLinVel, _angVel, 1, _castShapeAabbMin, _castShapeAabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 1554) {
      __ZN21btSingleSweepCallbackC2EPK13btConvexShapeRK11btTransformS5_PK16btCollisionWorldRNS6_20ConvexResultCallbackEf(_convexCB, _castShape, _convexFromWorld, _convexToWorld, _this, _resultCallback, _allowedCcdPenetration);
      var _173 = _this+80;
      var _174 = IHEAP[_173];
      var _175 = _174;
      var _176 = IHEAP[_175];
      var _177 = _176+24;
      var _178 = IHEAP[_177];
      var _179 = _convexToTrans+48;
      var _180 = _convexFromTrans+48;
      var _181 = _178;
      var _182 = _convexCB;
      (function() { try { __THREW__ = false; return FUNCTION_TABLE[_181](_174, _180, _179, _182, _castShapeAabbMin, _castShapeAabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 116; /* _bb3 */  } else { __label__ = 1175; /* _lpad11 */  }
      if (__label__ == 116) {
        var _183 = _convexCB;
        IHEAP[_183] = __ZTV21btSingleSweepCallback+8;
        __ZN15CProfileManager12Stop_ProfileEv();
        STACKTOP = __stackBase__;
        return;
      }
      else if (__label__ == 1175) {
        var _eh_ptr12 = _llvm_eh_exception();
        var _eh_select14 = _llvm_eh_selector(_eh_ptr12, ___gxx_personality_v0, 0);
        var _184 = _convexCB;
        IHEAP[_184] = __ZTV21btSingleSweepCallback+8;
        __lastLabel__ = 1175; ;
      }
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select10 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __lastLabel__ = 254; ;
    }
    var _eh_exception_0 = __lastLabel__ == 1175 ? _eh_ptr12 : (_eh_ptr);
    (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1555; /* _invcont7 */  } else { __label__ = 3852; /* _lpad15 */  }
    if (__label__ == 1555) {
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
    else if (__label__ == 3852) {
      var _eh_ptr16 = _llvm_eh_exception();
      var _eh_select18 = _llvm_eh_selector(_eh_ptr16, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZNK16btCollisionWorld15convexSweepTestEPK13btConvexShapeRK11btTransformS5_RNS_20ConvexResultCallbackEf.__index__ = Runtime.getFunctionIndex(__ZNK16btCollisionWorld15convexSweepTestEPK13btConvexShapeRK11btTransformS5_RNS_20ConvexResultCallbackEf, "__ZNK16btCollisionWorld15convexSweepTestEPK13btConvexShapeRK11btTransformS5_RNS_20ConvexResultCallbackEf");
  
  
  function __ZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEf(_castShape, _convexFromTrans, _convexToTrans, _collisionObject, _collisionShape, _colObjWorldTransform, _resultCallback, _allowedPenetration) {
    var __stackBase__  = STACKTOP; STACKTOP += 1384;
    var __label__;
    var __lastLabel__ = null;
    var _castResult = __stackBase__;
    var _simplexSolver = __stackBase__+176;
    var _gjkEpaPenetrationSolver = __stackBase__+536;
    var _convexCaster1 = __stackBase__+540;
    var _localConvexResult = __stackBase__+560;
    var _convexFromLocal = __stackBase__+604;
    var _convexToLocal = __stackBase__+620;
    var _rotationXform = __stackBase__+636;
    var _tccb = __stackBase__+700;
    var _boxMinLocal = __stackBase__+920;
    var _boxMaxLocal = __stackBase__+936;
    var _rotationXform34 = __stackBase__+952;
    var _tccb35 = __stackBase__+1016;
    var _boxMinLocal36 = __stackBase__+1236;
    var _boxMaxLocal37 = __stackBase__+1252;
    var _rayAabbMinLocal = __stackBase__+1268;
    var _rayAabbMaxLocal = __stackBase__+1284;
    var _childWorldTrans = __stackBase__+1300;
    var _my_cb = __stackBase__+1364;
    var _0 = _collisionShape+4;
    var _1 = IHEAP[_0];
    var _2 = _1 < 20;
    ;
    _bb$_bb17$5587: do { 
      if (_2) {
        ;
        var _3 = _castResult;
        IHEAP[_3] = __ZTVN12btConvexCast10CastResultE+8;
        var _4 = _castResult+164;
        var _5 = _castResult+168;
        IHEAP[_5] = 0;
        var _6 = _castResult+172;
        FHEAP[_6] = _allowedPenetration;
        var _7 = _resultCallback+4;
        var _8 = FHEAP[_7];
        FHEAP[_4] = _8;
        var _9 = _collisionShape;
        var _10 = _simplexSolver+308;
        FHEAP[_10] = 0.00009999999747378752;
        var _11 = _simplexSolver+316+16;
        IHEAP[_11] = 0;
        var _12 = _gjkEpaPenetrationSolver;
        IHEAP[_12] = __ZTV30btGjkEpaPenetrationDepthSolver+8;
        var _13 = _gjkEpaPenetrationSolver;
        (function() { try { __THREW__ = false; return __ZN27btContinuousConvexCollisionC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_convexCaster1, _castShape, _9, _simplexSolver, _13) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        _invcont$_lpad$5589: do { 
          if (__label__ == 345) {
            var _14 = _convexCaster1;
            var _15 = _convexCaster1;
            var _16 = IHEAP[_15];
            var _17 = _16+8;
            var _18 = IHEAP[_17];
            var _19 = _18;
            var _20 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_19](_14, _convexFromTrans, _convexToTrans, _colObjWorldTransform, _colObjWorldTransform, _castResult) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3198; /* _lpad71 */  };
            _invcont1$_lpad71$5591: do { 
              if (__label__ == 1554) {
                var _toBool2 = _20 == 0;
                ;
                _bb11$_bb3$5593: do { 
                  if (!_toBool2) {
                    ;
                    var _21 = _castResult+132;
                    var _22 = FHEAP[_21];
                    var _23 = _22 * _22;
                    var _24 = _castResult+132+4;
                    var _25 = FHEAP[_24];
                    var _26 = _25 * _25;
                    var _27 = _23 + _26;
                    var _28 = _castResult+132+8;
                    var _29 = FHEAP[_28];
                    var _30 = _29 * _29;
                    var _31 = _27 + _30;
                    var _32 = _31 > 0.00009999999747378752;
                    if (!(_32)) { __label__ = 292; /* _bb11 */ break _bb11$_bb3$5593; }
                    var _33 = FHEAP[_4];
                    var _34 = FHEAP[_7];
                    var _35 = _33 < _34;
                    if (!(_35)) { __label__ = 292; /* _bb11 */ break _bb11$_bb3$5593; }
                    var _36 = _sqrtf(_31);
                    var _37 = 1 / _36;
                    var _38 = _22 * _37;
                    FHEAP[_21] = _38;
                    var _39 = _25 * _37;
                    FHEAP[_24] = _39;
                    var _40 = _29 * _37;
                    FHEAP[_28] = _40;
                    var _41 = _localConvexResult;
                    IHEAP[_41] = _collisionObject;
                    var _42 = _localConvexResult+4;
                    IHEAP[_42] = 0;
                    var _43 = _localConvexResult+8;
                    FHEAP[_43] = _38;
                    var _44 = _localConvexResult+8+4;
                    FHEAP[_44] = _39;
                    var _45 = _localConvexResult+8+8;
                    FHEAP[_45] = _40;
                    var _46 = _localConvexResult+8+12;
                    var _47 = _castResult+132+12;
                    var _48 = FHEAP[_47];
                    FHEAP[_46] = _48;
                    var _49 = _localConvexResult+24;
                    var _50 = _castResult+148;
                    var _51 = FHEAP[_50];
                    FHEAP[_49] = _51;
                    var _52 = _localConvexResult+24+4;
                    var _53 = _castResult+148+4;
                    var _54 = FHEAP[_53];
                    FHEAP[_52] = _54;
                    var _55 = _localConvexResult+24+8;
                    var _56 = _castResult+148+8;
                    var _57 = FHEAP[_56];
                    FHEAP[_55] = _57;
                    var _58 = _localConvexResult+24+12;
                    var _59 = _castResult+148+12;
                    var _60 = FHEAP[_59];
                    FHEAP[_58] = _60;
                    var _61 = _localConvexResult+40;
                    FHEAP[_61] = _33;
                    var _62 = _resultCallback;
                    var _63 = IHEAP[_62];
                    var _64 = _63+12;
                    var _65 = IHEAP[_64];
                    var _66 = _65;
                    var _67 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_66](_resultCallback, _localConvexResult, 1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3198; /* _lpad71 */ break _invcont1$_lpad71$5591; };
                  }
                } while(0);
                IHEAP[_15] = __ZTV27btContinuousConvexCollision+8;
                (function() { try { __THREW__ = false; return __ZN12btConvexCastD2Ev(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 154; /* _bb16 */ break _bb$_bb17$5587; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$5589; }
              }
            } while(0);
            var _eh_ptr72 = _llvm_eh_exception();
            var _eh_select74 = _llvm_eh_selector(_eh_ptr72, ___gxx_personality_v0, 0);
            IHEAP[_15] = __ZTV27btContinuousConvexCollision+8;
            (function() { try { __THREW__ = false; return __ZN12btConvexCastD2Ev(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3198; __label__ = 45; /* _ppad */ break _invcont$_lpad$5589; } else { __lastLabel__ = 3198; ; }
            var _eh_ptr76 = _llvm_eh_exception();
            var _eh_select78 = _llvm_eh_selector(_eh_ptr76, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        if (__label__ == 254) {
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select70 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          __lastLabel__ = 254; ;
        }
        var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr72);
        IHEAP[_12] = __ZTV30btGjkEpaPenetrationDepthSolver+8;
        __lastLabel__ = 45; __label__ = 111; /* _Unwind */ break _bb$_bb17$5587;
      }
      else {
        ;
        var _68 = _1 + -21;
        var _69 = unSign(_68, 32) < unSign(9, 32);
        ;
        if (_69) {
          ;
          var _70 = _1 == 21;
          ;
          if (_70) {
            ;
            var _71 = _colObjWorldTransform+32+8;
            var _72 = _colObjWorldTransform+16+8;
            var _73 = _colObjWorldTransform+8;
            var _74 = _colObjWorldTransform+32+4;
            var _75 = _colObjWorldTransform+16+4;
            var _76 = _colObjWorldTransform+4;
            var _77 = _colObjWorldTransform+32;
            var _78 = _colObjWorldTransform+16;
            var _79 = _colObjWorldTransform;
            var _80 = FHEAP[_79];
            var _81 = FHEAP[_78];
            var _82 = FHEAP[_77];
            var _83 = FHEAP[_76];
            var _84 = FHEAP[_75];
            var _85 = FHEAP[_74];
            var _86 = FHEAP[_73];
            var _87 = FHEAP[_72];
            var _88 = FHEAP[_71];
            var _89 = _colObjWorldTransform+48+8;
            var _90 = FHEAP[_89];
            var _91 = 0 - _90;
            var _92 = _colObjWorldTransform+48+4;
            var _93 = FHEAP[_92];
            var _94 = 0 - _93;
            var _95 = _colObjWorldTransform+48;
            var _96 = FHEAP[_95];
            var _97 = 0 - _96;
            var _98 = _86 * _97;
            var _99 = _87 * _94;
            var _100 = _98 + _99;
            var _101 = _88 * _91;
            var _102 = _100 + _101;
            var _103 = _83 * _97;
            var _104 = _84 * _94;
            var _105 = _103 + _104;
            var _106 = _85 * _91;
            var _107 = _105 + _106;
            var _108 = _80 * _97;
            var _109 = _81 * _94;
            var _110 = _108 + _109;
            var _111 = _82 * _91;
            var _112 = _110 + _111;
            var _113 = _convexFromTrans+48;
            var _114 = FHEAP[_113];
            var _115 = _86 * _114;
            var _116 = _convexFromTrans+48+4;
            var _117 = FHEAP[_116];
            var _118 = _87 * _117;
            var _119 = _115 + _118;
            var _120 = _convexFromTrans+48+8;
            var _121 = FHEAP[_120];
            var _122 = _88 * _121;
            var _123 = _119 + _122;
            var _124 = _123 + _102;
            var _125 = _83 * _114;
            var _126 = _84 * _117;
            var _127 = _125 + _126;
            var _128 = _85 * _121;
            var _129 = _127 + _128;
            var _130 = _129 + _107;
            var _131 = _80 * _114;
            var _132 = _81 * _117;
            var _133 = _131 + _132;
            var _134 = _82 * _121;
            var _135 = _133 + _134;
            var _136 = _135 + _112;
            var _137 = _convexFromLocal;
            FHEAP[_137] = _136;
            var _138 = _convexFromLocal+4;
            FHEAP[_138] = _130;
            var _139 = _convexFromLocal+8;
            FHEAP[_139] = _124;
            var _140 = _convexFromLocal+12;
            FHEAP[_140] = 0;
            var _141 = _convexToTrans+48;
            var _142 = FHEAP[_141];
            var _143 = _86 * _142;
            var _144 = _convexToTrans+48+4;
            var _145 = FHEAP[_144];
            var _146 = _87 * _145;
            var _147 = _143 + _146;
            var _148 = _convexToTrans+48+8;
            var _149 = FHEAP[_148];
            var _150 = _88 * _149;
            var _151 = _147 + _150;
            var _152 = _151 + _102;
            var _153 = _83 * _142;
            var _154 = _84 * _145;
            var _155 = _153 + _154;
            var _156 = _85 * _149;
            var _157 = _155 + _156;
            var _158 = _157 + _107;
            var _159 = _80 * _142;
            var _160 = _81 * _145;
            var _161 = _159 + _160;
            var _162 = _82 * _149;
            var _163 = _161 + _162;
            var _164 = _163 + _112;
            var _165 = _convexToLocal;
            FHEAP[_165] = _164;
            var _166 = _convexToLocal+4;
            FHEAP[_166] = _158;
            var _167 = _convexToLocal+8;
            FHEAP[_167] = _152;
            var _168 = _convexToLocal+12;
            FHEAP[_168] = 0;
            var _169 = _convexToTrans+8;
            var _170 = FHEAP[_169];
            var _171 = _170 * _86;
            var _172 = _convexToTrans+16+8;
            var _173 = FHEAP[_172];
            var _174 = _173 * _87;
            var _175 = _171 + _174;
            var _176 = _convexToTrans+32+8;
            var _177 = FHEAP[_176];
            var _178 = _177 * _88;
            var _179 = _175 + _178;
            var _180 = _convexToTrans+4;
            var _181 = FHEAP[_180];
            var _182 = _181 * _86;
            var _183 = _convexToTrans+16+4;
            var _184 = FHEAP[_183];
            var _185 = _184 * _87;
            var _186 = _182 + _185;
            var _187 = _convexToTrans+32+4;
            var _188 = FHEAP[_187];
            var _189 = _188 * _88;
            var _190 = _186 + _189;
            var _191 = _convexToTrans;
            var _192 = FHEAP[_191];
            var _193 = _192 * _86;
            var _194 = _convexToTrans+16;
            var _195 = FHEAP[_194];
            var _196 = _195 * _87;
            var _197 = _193 + _196;
            var _198 = _convexToTrans+32;
            var _199 = FHEAP[_198];
            var _200 = _199 * _88;
            var _201 = _197 + _200;
            var _202 = _170 * _83;
            var _203 = _173 * _84;
            var _204 = _202 + _203;
            var _205 = _177 * _85;
            var _206 = _204 + _205;
            var _207 = _181 * _83;
            var _208 = _184 * _84;
            var _209 = _207 + _208;
            var _210 = _188 * _85;
            var _211 = _209 + _210;
            var _212 = _192 * _83;
            var _213 = _195 * _84;
            var _214 = _212 + _213;
            var _215 = _199 * _85;
            var _216 = _214 + _215;
            var _217 = _170 * _80;
            var _218 = _173 * _81;
            var _219 = _217 + _218;
            var _220 = _177 * _82;
            var _221 = _219 + _220;
            var _222 = _181 * _80;
            var _223 = _184 * _81;
            var _224 = _222 + _223;
            var _225 = _188 * _82;
            var _226 = _224 + _225;
            var _227 = _192 * _80;
            var _228 = _195 * _81;
            var _229 = _227 + _228;
            var _230 = _199 * _82;
            var _231 = _229 + _230;
            var _232 = _rotationXform;
            FHEAP[_232] = _231;
            var _233 = _rotationXform+4;
            FHEAP[_233] = _226;
            var _234 = _rotationXform+8;
            FHEAP[_234] = _221;
            var _235 = _rotationXform+12;
            FHEAP[_235] = 0;
            var _236 = _rotationXform+16;
            FHEAP[_236] = _216;
            var _237 = _rotationXform+16+4;
            FHEAP[_237] = _211;
            var _238 = _rotationXform+16+8;
            FHEAP[_238] = _206;
            var _239 = _rotationXform+16+12;
            FHEAP[_239] = 0;
            var _240 = _rotationXform+32;
            FHEAP[_240] = _201;
            var _241 = _rotationXform+32+4;
            FHEAP[_241] = _190;
            var _242 = _rotationXform+32+8;
            FHEAP[_242] = _179;
            var _243 = _rotationXform+32+12;
            FHEAP[_243] = 0;
            var _244 = _rotationXform+48;
            FHEAP[_244] = 0;
            var _245 = _rotationXform+48+4;
            FHEAP[_245] = 0;
            var _246 = _rotationXform+48+8;
            FHEAP[_246] = 0;
            var _247 = _rotationXform+48+12;
            FHEAP[_247] = 0;
            var _248 = _collisionShape;
            var _249 = _collisionShape;
            var _250 = IHEAP[_249];
            var _251 = _250+44;
            var _252 = IHEAP[_251];
            var _253 = _collisionShape;
            var _254 = _252;
            var _255 = FUNCTION_TABLE[_254](_253);
            var _256 = _tccb;
            __ZN28btTriangleConvexcastCallbackC2EPK13btConvexShapeRK11btTransformS5_S5_f(_256, _castShape, _convexFromTrans, _convexToTrans, _colObjWorldTransform, _255);
            var _257 = _tccb;
            IHEAP[_257] = __ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback+8;
            var _258 = _tccb+208;
            IHEAP[_258] = _resultCallback;
            var _259 = _tccb+212;
            IHEAP[_259] = _collisionObject;
            var _260 = _tccb+216;
            IHEAP[_260] = _248;
            var _261 = _resultCallback+4;
            var _262 = FHEAP[_261];
            var _263 = _tccb+200;
            FHEAP[_263] = _262;
            var _264 = _castShape;
            var _265 = IHEAP[_264];
            var _266 = _265+8;
            var _267 = IHEAP[_266];
            var _268 = _267;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_268](_castShape, _rotationXform, _boxMinLocal, _boxMaxLocal) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3853; /* _invcont22 */  } else { __label__ = 3854; /* _lpad79 */  }
            _invcont22$_lpad79$5608: do { 
              if (__label__ == 3853) {
                var _269 = _collisionShape;
                var _270 = _tccb;
                (function() { try { __THREW__ = false; return __ZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_(_269, _270, _convexFromLocal, _convexToLocal, _boxMinLocal, _boxMaxLocal) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3854; /* _lpad79 */ break _invcont22$_lpad79$5608; }
                IHEAP[_257] = __ZTV28btTriangleConvexcastCallback+8;
                __ZN18btTriangleCallbackD2Ev(_270);
                STACKTOP = __stackBase__;
                return;
              }
            } while(0);
            var _eh_ptr80 = _llvm_eh_exception();
            var _eh_select82 = _llvm_eh_selector(_eh_ptr80, ___gxx_personality_v0, 0);
            IHEAP[_257] = __ZTV28btTriangleConvexcastCallback+8;
            var _639 = _tccb;
            (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_639) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3854; __label__ = 111; /* _Unwind */ break _bb$_bb17$5587; } else { __lastLabel__ = 3854; ; }
            var _eh_ptr84 = _llvm_eh_exception();
            var _eh_select86 = _llvm_eh_selector(_eh_ptr84, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
          else {
            ;
            var _271 = _collisionShape;
            var _272 = _colObjWorldTransform+32+8;
            var _273 = _colObjWorldTransform+16+8;
            var _274 = _colObjWorldTransform+8;
            var _275 = _colObjWorldTransform+32+4;
            var _276 = _colObjWorldTransform+16+4;
            var _277 = _colObjWorldTransform+4;
            var _278 = _colObjWorldTransform+32;
            var _279 = _colObjWorldTransform+16;
            var _280 = _colObjWorldTransform;
            var _281 = FHEAP[_280];
            var _282 = FHEAP[_279];
            var _283 = FHEAP[_278];
            var _284 = FHEAP[_277];
            var _285 = FHEAP[_276];
            var _286 = FHEAP[_275];
            var _287 = FHEAP[_274];
            var _288 = FHEAP[_273];
            var _289 = FHEAP[_272];
            var _290 = _colObjWorldTransform+48+8;
            var _291 = FHEAP[_290];
            var _292 = 0 - _291;
            var _293 = _colObjWorldTransform+48+4;
            var _294 = FHEAP[_293];
            var _295 = 0 - _294;
            var _296 = _colObjWorldTransform+48;
            var _297 = FHEAP[_296];
            var _298 = 0 - _297;
            var _299 = _287 * _298;
            var _300 = _288 * _295;
            var _301 = _299 + _300;
            var _302 = _289 * _292;
            var _303 = _301 + _302;
            var _304 = _284 * _298;
            var _305 = _285 * _295;
            var _306 = _304 + _305;
            var _307 = _286 * _292;
            var _308 = _306 + _307;
            var _309 = _281 * _298;
            var _310 = _282 * _295;
            var _311 = _309 + _310;
            var _312 = _283 * _292;
            var _313 = _311 + _312;
            var _314 = _convexFromTrans+48;
            var _315 = FHEAP[_314];
            var _316 = _287 * _315;
            var _317 = _convexFromTrans+48+4;
            var _318 = FHEAP[_317];
            var _319 = _288 * _318;
            var _320 = _316 + _319;
            var _321 = _convexFromTrans+48+8;
            var _322 = FHEAP[_321];
            var _323 = _289 * _322;
            var _324 = _320 + _323;
            var _325 = _324 + _303;
            var _326 = _284 * _315;
            var _327 = _285 * _318;
            var _328 = _326 + _327;
            var _329 = _286 * _322;
            var _330 = _328 + _329;
            var _331 = _330 + _308;
            var _332 = _281 * _315;
            var _333 = _282 * _318;
            var _334 = _332 + _333;
            var _335 = _283 * _322;
            var _336 = _334 + _335;
            var _337 = _336 + _313;
            var _338 = _convexToTrans+48;
            var _339 = FHEAP[_338];
            var _340 = _287 * _339;
            var _341 = _convexToTrans+48+4;
            var _342 = FHEAP[_341];
            var _343 = _288 * _342;
            var _344 = _340 + _343;
            var _345 = _convexToTrans+48+8;
            var _346 = FHEAP[_345];
            var _347 = _289 * _346;
            var _348 = _344 + _347;
            var _349 = _348 + _303;
            var _350 = _284 * _339;
            var _351 = _285 * _342;
            var _352 = _350 + _351;
            var _353 = _286 * _346;
            var _354 = _352 + _353;
            var _355 = _354 + _308;
            var _356 = _281 * _339;
            var _357 = _282 * _342;
            var _358 = _356 + _357;
            var _359 = _283 * _346;
            var _360 = _358 + _359;
            var _361 = _360 + _313;
            var _362 = _convexToTrans+8;
            var _363 = FHEAP[_362];
            var _364 = _363 * _287;
            var _365 = _convexToTrans+16+8;
            var _366 = FHEAP[_365];
            var _367 = _366 * _288;
            var _368 = _364 + _367;
            var _369 = _convexToTrans+32+8;
            var _370 = FHEAP[_369];
            var _371 = _370 * _289;
            var _372 = _368 + _371;
            var _373 = _convexToTrans+4;
            var _374 = FHEAP[_373];
            var _375 = _374 * _287;
            var _376 = _convexToTrans+16+4;
            var _377 = FHEAP[_376];
            var _378 = _377 * _288;
            var _379 = _375 + _378;
            var _380 = _convexToTrans+32+4;
            var _381 = FHEAP[_380];
            var _382 = _381 * _289;
            var _383 = _379 + _382;
            var _384 = _convexToTrans;
            var _385 = FHEAP[_384];
            var _386 = _385 * _287;
            var _387 = _convexToTrans+16;
            var _388 = FHEAP[_387];
            var _389 = _388 * _288;
            var _390 = _386 + _389;
            var _391 = _convexToTrans+32;
            var _392 = FHEAP[_391];
            var _393 = _392 * _289;
            var _394 = _390 + _393;
            var _395 = _363 * _284;
            var _396 = _366 * _285;
            var _397 = _395 + _396;
            var _398 = _370 * _286;
            var _399 = _397 + _398;
            var _400 = _374 * _284;
            var _401 = _377 * _285;
            var _402 = _400 + _401;
            var _403 = _381 * _286;
            var _404 = _402 + _403;
            var _405 = _385 * _284;
            var _406 = _388 * _285;
            var _407 = _405 + _406;
            var _408 = _392 * _286;
            var _409 = _407 + _408;
            var _410 = _363 * _281;
            var _411 = _366 * _282;
            var _412 = _410 + _411;
            var _413 = _370 * _283;
            var _414 = _412 + _413;
            var _415 = _374 * _281;
            var _416 = _377 * _282;
            var _417 = _415 + _416;
            var _418 = _381 * _283;
            var _419 = _417 + _418;
            var _420 = _385 * _281;
            var _421 = _388 * _282;
            var _422 = _420 + _421;
            var _423 = _392 * _283;
            var _424 = _422 + _423;
            var _425 = _rotationXform34;
            FHEAP[_425] = _424;
            var _426 = _rotationXform34+4;
            FHEAP[_426] = _419;
            var _427 = _rotationXform34+8;
            FHEAP[_427] = _414;
            var _428 = _rotationXform34+12;
            FHEAP[_428] = 0;
            var _429 = _rotationXform34+16;
            FHEAP[_429] = _409;
            var _430 = _rotationXform34+16+4;
            FHEAP[_430] = _404;
            var _431 = _rotationXform34+16+8;
            FHEAP[_431] = _399;
            var _432 = _rotationXform34+16+12;
            FHEAP[_432] = 0;
            var _433 = _rotationXform34+32;
            FHEAP[_433] = _394;
            var _434 = _rotationXform34+32+4;
            FHEAP[_434] = _383;
            var _435 = _rotationXform34+32+8;
            FHEAP[_435] = _372;
            var _436 = _rotationXform34+32+12;
            FHEAP[_436] = 0;
            var _437 = _rotationXform34+48;
            FHEAP[_437] = 0;
            var _438 = _rotationXform34+48+4;
            FHEAP[_438] = 0;
            var _439 = _rotationXform34+48+8;
            FHEAP[_439] = 0;
            var _440 = _rotationXform34+48+12;
            FHEAP[_440] = 0;
            var _441 = _collisionShape;
            var _442 = IHEAP[_441];
            var _443 = _442+44;
            var _444 = IHEAP[_443];
            var _445 = _444;
            var _446 = FUNCTION_TABLE[_445](_271);
            var _447 = _tccb35;
            __ZN28btTriangleConvexcastCallbackC2EPK13btConvexShapeRK11btTransformS5_S5_f(_447, _castShape, _convexFromTrans, _convexToTrans, _colObjWorldTransform, _446);
            var _448 = _tccb35;
            IHEAP[_448] = __ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0+8;
            var _449 = _tccb35+208;
            IHEAP[_449] = _resultCallback;
            var _450 = _tccb35+212;
            IHEAP[_450] = _collisionObject;
            var _451 = _tccb35+216;
            IHEAP[_451] = _271;
            var _452 = _resultCallback+4;
            var _453 = FHEAP[_452];
            var _454 = _tccb35+200;
            FHEAP[_454] = _453;
            var _455 = _castShape;
            var _456 = IHEAP[_455];
            var _457 = _456+8;
            var _458 = IHEAP[_457];
            var _459 = _458;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_459](_castShape, _rotationXform34, _boxMinLocal36, _boxMaxLocal37) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3855; /* _invcont38 */  } else { __label__ = 3856; /* _lpad87 */  }
            _invcont38$_lpad87$5614: do { 
              if (__label__ == 3855) {
                var _460 = _rayAabbMinLocal;
                FHEAP[_460] = _337;
                var _461 = _rayAabbMinLocal+4;
                FHEAP[_461] = _331;
                var _462 = _rayAabbMinLocal+8;
                FHEAP[_462] = _325;
                var _463 = _rayAabbMinLocal+12;
                FHEAP[_463] = 0;
                var _464 = _361 < _337;
                ;
                if (_464) {
                  __lastLabel__ = 3855; ;
                  FHEAP[_460] = _361;
                  __lastLabel__ = 1176; ;
                }
                else {
                  __lastLabel__ = 3855; ;
                }
                var _465 = __lastLabel__ == 1176 ? _361 : (_337);
                var _466 = _355 < _331;
                ;
                if (_466) {
                  __lastLabel__ = 4108; ;
                  FHEAP[_461] = _355;
                  __lastLabel__ = 1178; ;
                }
                else {
                  __lastLabel__ = 4108; ;
                }
                var _467 = __lastLabel__ == 1178 ? _355 : (_331);
                var _468 = _349 < _325;
                ;
                if (_468) {
                  __lastLabel__ = 4110; ;
                  FHEAP[_462] = _349;
                  __lastLabel__ = 1180; ;
                }
                else {
                  __lastLabel__ = 4110; ;
                }
                var _469 = __lastLabel__ == 1180 ? _349 : (_325);
                var _470 = _rayAabbMaxLocal;
                FHEAP[_470] = _337;
                var _471 = _rayAabbMaxLocal+4;
                FHEAP[_471] = _331;
                var _472 = _rayAabbMaxLocal+8;
                FHEAP[_472] = _325;
                var _473 = _rayAabbMaxLocal+12;
                FHEAP[_473] = 0;
                var _474 = _337 < _361;
                ;
                if (_474) {
                  __lastLabel__ = 1231; ;
                  FHEAP[_470] = _361;
                  __lastLabel__ = 263; ;
                }
                else {
                  __lastLabel__ = 1231; ;
                }
                var _475 = __lastLabel__ == 263 ? _361 : (_337);
                var _476 = _331 < _355;
                ;
                if (_476) {
                  __lastLabel__ = 4115; ;
                  FHEAP[_471] = _355;
                  __lastLabel__ = 1183; ;
                }
                else {
                  __lastLabel__ = 4115; ;
                }
                var _477 = __lastLabel__ == 1183 ? _355 : (_331);
                var _478 = _325 < _349;
                ;
                if (_478) {
                  __lastLabel__ = 4116; ;
                  FHEAP[_472] = _349;
                  __lastLabel__ = 218; ;
                }
                else {
                  __lastLabel__ = 4116; ;
                }
                var _479 = __lastLabel__ == 218 ? _349 : (_325);
                var _480 = _boxMinLocal36;
                var _481 = FHEAP[_480];
                var _482 = _465 + _481;
                FHEAP[_460] = _482;
                var _483 = _boxMinLocal36+4;
                var _484 = FHEAP[_483];
                var _485 = _467 + _484;
                FHEAP[_461] = _485;
                var _486 = _boxMinLocal36+8;
                var _487 = FHEAP[_486];
                var _488 = _469 + _487;
                FHEAP[_462] = _488;
                var _489 = _boxMaxLocal37;
                var _490 = FHEAP[_489];
                var _491 = _475 + _490;
                FHEAP[_470] = _491;
                var _492 = _boxMaxLocal37+4;
                var _493 = FHEAP[_492];
                var _494 = _477 + _493;
                FHEAP[_471] = _494;
                var _495 = _boxMaxLocal37+8;
                var _496 = FHEAP[_495];
                var _497 = _479 + _496;
                FHEAP[_472] = _497;
                var _498 = IHEAP[_441];
                var _499 = _498+60;
                var _500 = IHEAP[_499];
                var _501 = _500;
                var _502 = _tccb35;
                (function() { try { __THREW__ = false; return FUNCTION_TABLE[_501](_271, _502, _rayAabbMinLocal, _rayAabbMaxLocal) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3856; /* _lpad87 */ break _invcont38$_lpad87$5614; }
                IHEAP[_448] = __ZTV28btTriangleConvexcastCallback+8;
                __ZN18btTriangleCallbackD2Ev(_502);
                STACKTOP = __stackBase__;
                return;
              }
            } while(0);
            var _eh_ptr88 = _llvm_eh_exception();
            var _eh_select90 = _llvm_eh_selector(_eh_ptr88, ___gxx_personality_v0, 0);
            IHEAP[_448] = __ZTV28btTriangleConvexcastCallback+8;
            var _640 = _tccb35;
            (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_640) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3856; __label__ = 111; /* _Unwind */ break _bb$_bb17$5587; } else { __lastLabel__ = 3856; ; }
            var _eh_ptr92 = _llvm_eh_exception();
            var _eh_select94 = _llvm_eh_selector(_eh_ptr92, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
        else {
          ;
          var _503 = _1 == 31;
          if (!(_503)) { __label__ = 154; /* _bb16 */ break _bb$_bb17$5587; }
          __ZN15CProfileManager13Start_ProfileEPKc(__str7);
          var _504 = _collisionShape+12+4;
          var _505 = _collisionShape+24;
          var _506 = _505;
          var _507 = _colObjWorldTransform+32;
          var _508 = _colObjWorldTransform+32+4;
          var _509 = _colObjWorldTransform+32+8;
          var _510 = _colObjWorldTransform+48+8;
          var _511 = _colObjWorldTransform+16;
          var _512 = _colObjWorldTransform+16+4;
          var _513 = _colObjWorldTransform+16+8;
          var _514 = _colObjWorldTransform+48+4;
          var _515 = _colObjWorldTransform;
          var _516 = _colObjWorldTransform+4;
          var _517 = _colObjWorldTransform+8;
          var _518 = _colObjWorldTransform+48;
          var _519 = _childWorldTrans;
          var _520 = _childWorldTrans+4;
          var _521 = _childWorldTrans+8;
          var _522 = _childWorldTrans+12;
          var _523 = _childWorldTrans+16;
          var _524 = _childWorldTrans+16+4;
          var _525 = _childWorldTrans+16+8;
          var _526 = _childWorldTrans+16+12;
          var _527 = _childWorldTrans+32;
          var _528 = _childWorldTrans+32+4;
          var _529 = _childWorldTrans+32+8;
          var _530 = _childWorldTrans+32+12;
          var _531 = _childWorldTrans+48;
          var _532 = _childWorldTrans+48+4;
          var _533 = _childWorldTrans+48+8;
          var _534 = _childWorldTrans+48+12;
          var _535 = _collisionObject+192;
          var _536 = _my_cb;
          var _537 = _my_cb+4;
          var _538 = _my_cb+8;
          var _539 = _my_cb+10;
          var _540 = _my_cb+12;
          var _541 = _my_cb+16;
          var _542 = _resultCallback+4;
          var _543 = _my_cb;
          __lastLabel__ = 975; ;
          _invcont60$5639: while(1) { // _invcont60
            var _636 = __lastLabel__ == 975 ? 0 : (_635);
            var _637 = IHEAP[_504];
            var _638 = _637 > _636;
            if (!(_638)) { __label__ = 1032; /* _bb67 */ break _invcont60$5639; }
            var _544 = IHEAP[_506];
            var _scevgep178179 = _544+80*_636;
            var _545 = FHEAP[_scevgep178179];
            var _scevgep177 = _544+80*_636+4;
            var _546 = FHEAP[_scevgep177];
            var _scevgep176 = _544+80*_636+8;
            var _547 = FHEAP[_scevgep176];
            var _scevgep174175 = _544+80*_636+16;
            var _548 = FHEAP[_scevgep174175];
            var _scevgep173 = _544+80*_636+16+4;
            var _549 = FHEAP[_scevgep173];
            var _scevgep172 = _544+80*_636+16+8;
            var _550 = FHEAP[_scevgep172];
            var _scevgep170171 = _544+80*_636+32;
            var _551 = FHEAP[_scevgep170171];
            var _scevgep169 = _544+80*_636+32+4;
            var _552 = FHEAP[_scevgep169];
            var _scevgep168 = _544+80*_636+32+8;
            var _553 = FHEAP[_scevgep168];
            var _scevgep167 = _544+80*_636+48;
            var _554 = FHEAP[_scevgep167];
            var _scevgep166 = _544+80*_636+48+4;
            var _555 = FHEAP[_scevgep166];
            var _scevgep = _544+80*_636+48+8;
            var _556 = FHEAP[_scevgep];
            var _scevgep180 = _544+80*_636+64;
            var _557 = IHEAP[_scevgep180];
            var _558 = FHEAP[_507];
            var _559 = _558 * _554;
            var _560 = FHEAP[_508];
            var _561 = _560 * _555;
            var _562 = _559 + _561;
            var _563 = FHEAP[_509];
            var _564 = _563 * _556;
            var _565 = _562 + _564;
            var _566 = FHEAP[_510];
            var _567 = _565 + _566;
            var _568 = FHEAP[_511];
            var _569 = _568 * _554;
            var _570 = FHEAP[_512];
            var _571 = _570 * _555;
            var _572 = _569 + _571;
            var _573 = FHEAP[_513];
            var _574 = _573 * _556;
            var _575 = _572 + _574;
            var _576 = FHEAP[_514];
            var _577 = _575 + _576;
            var _578 = FHEAP[_515];
            var _579 = _578 * _554;
            var _580 = FHEAP[_516];
            var _581 = _580 * _555;
            var _582 = _579 + _581;
            var _583 = FHEAP[_517];
            var _584 = _583 * _556;
            var _585 = _582 + _584;
            var _586 = FHEAP[_518];
            var _587 = _585 + _586;
            var _588 = _547 * _558;
            var _589 = _550 * _560;
            var _590 = _588 + _589;
            var _591 = _553 * _563;
            var _592 = _590 + _591;
            var _593 = _546 * _558;
            var _594 = _549 * _560;
            var _595 = _593 + _594;
            var _596 = _552 * _563;
            var _597 = _595 + _596;
            var _598 = _545 * _558;
            var _599 = _548 * _560;
            var _600 = _598 + _599;
            var _601 = _551 * _563;
            var _602 = _600 + _601;
            var _603 = _547 * _568;
            var _604 = _550 * _570;
            var _605 = _603 + _604;
            var _606 = _553 * _573;
            var _607 = _605 + _606;
            var _608 = _546 * _568;
            var _609 = _549 * _570;
            var _610 = _608 + _609;
            var _611 = _552 * _573;
            var _612 = _610 + _611;
            var _613 = _545 * _568;
            var _614 = _548 * _570;
            var _615 = _613 + _614;
            var _616 = _551 * _573;
            var _617 = _615 + _616;
            var _618 = _547 * _578;
            var _619 = _550 * _580;
            var _620 = _618 + _619;
            var _621 = _553 * _583;
            var _622 = _620 + _621;
            var _623 = _546 * _578;
            var _624 = _549 * _580;
            var _625 = _623 + _624;
            var _626 = _552 * _583;
            var _627 = _625 + _626;
            var _628 = _545 * _578;
            var _629 = _548 * _580;
            var _630 = _628 + _629;
            var _631 = _551 * _583;
            var _632 = _630 + _631;
            FHEAP[_519] = _632;
            FHEAP[_520] = _627;
            FHEAP[_521] = _622;
            FHEAP[_522] = 0;
            FHEAP[_523] = _617;
            FHEAP[_524] = _612;
            FHEAP[_525] = _607;
            FHEAP[_526] = 0;
            FHEAP[_527] = _602;
            FHEAP[_528] = _597;
            FHEAP[_529] = _592;
            FHEAP[_530] = 0;
            FHEAP[_531] = _587;
            FHEAP[_532] = _577;
            FHEAP[_533] = _567;
            FHEAP[_534] = 0;
            var _633 = IHEAP[_535];
            IHEAP[_535] = _557;
            IHEAP[_538] = 1;
            IHEAP[_539] = -1;
            IHEAP[_536] = __ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder+8;
            IHEAP[_540] = _resultCallback;
            IHEAP[_541] = _636;
            var _634 = FHEAP[_542];
            FHEAP[_537] = _634;
            (function() { try { __THREW__ = false; return __ZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEf(_castShape, _convexFromTrans, _convexToTrans, _collisionObject, _557, _childWorldTrans, _543, _allowedPenetration) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3857; /* _ppad113 */ break _invcont60$5639; }
            IHEAP[_535] = _633;
            IHEAP[_536] = __ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder+8;
            var _635 = _636 + 1;
            __lastLabel__ = 1187; __label__ = 1186; /* _invcont60 */ continue _invcont60$5639;
          }
          if (__label__ == 1032) {
            __ZN15CProfileManager12Stop_ProfileEv();
            STACKTOP = __stackBase__;
            return;
          }
          else if (__label__ == 3857) {
            var _eh_ptr100 = _llvm_eh_exception();
            var _eh_select102 = _llvm_eh_selector(_eh_ptr100, ___gxx_personality_v0, 0);
            IHEAP[_536] = __ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder+8;
            (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3857; __label__ = 111; /* _Unwind */ break _bb$_bb17$5587; } else { __lastLabel__ = 3857; ; }
            var _eh_ptr104 = _llvm_eh_exception();
            var _eh_select106 = _llvm_eh_selector(_eh_ptr104, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      }
    } while(0);
    if (__label__ == 154) {
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 111) {
      var _eh_exception_1 = __lastLabel__ == 45 ? _eh_exception_0 : (__lastLabel__ == 3854 ? _eh_ptr80 : (__lastLabel__ == 3856 ? _eh_ptr88 : (_eh_ptr100)));
      __Unwind_Resume_or_Rethrow(_eh_exception_1);
      // unreachable
    }
  }
  __ZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEf.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEf, "__ZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEf");
  
  
  function __ZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackE(_rayFromTrans, _rayToTrans, _collisionObject, _collisionShape, _colObjWorldTransform, _resultCallback) {
    var __stackBase__  = STACKTOP; STACKTOP += 1060;
    var __label__;
    var __lastLabel__ = null;
    var _pointShape = __stackBase__;
    var _castResult = __stackBase__+52;
    var _simplexSolver = __stackBase__+228;
    var _convexCaster = __stackBase__+588;
    var _localRayResult = __stackBase__+604;
    var _rayFromLocal = __stackBase__+632;
    var _rayToLocal = __stackBase__+648;
    var _rcb = __stackBase__+664;
    var _rayFromLocal43 = __stackBase__+784;
    var _rayToLocal45 = __stackBase__+800;
    var _rcb47 = __stackBase__+816;
    var _rayAabbMinLocal = __stackBase__+936;
    var _rayAabbMaxLocal = __stackBase__+952;
    var _childWorldTrans = __stackBase__+968;
    var _my_cb = __stackBase__+1032;
    var _0 = _pointShape;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _pointShape;
    IHEAP[_1] = __ZTV13btSphereShape+8;
    var _2 = _pointShape+4;
    IHEAP[_2] = 8;
    var _3 = _pointShape+28;
    FHEAP[_3] = 0;
    var _4 = _pointShape+44;
    FHEAP[_4] = 0;
    var _5 = _collisionShape+4;
    var _6 = IHEAP[_5];
    var _7 = _6 < 20;
    ;
    _invcont1$_invcont18$5651: do { 
      if (_7) {
        ;
        var _8 = _pointShape;
        var _9 = _castResult;
        IHEAP[_9] = __ZTVN12btConvexCast10CastResultE+8;
        var _10 = _castResult+164;
        var _11 = _castResult+168;
        IHEAP[_11] = 0;
        var _12 = _castResult+172;
        FHEAP[_12] = 0;
        var _13 = _resultCallback+4;
        var _14 = FHEAP[_13];
        FHEAP[_10] = _14;
        var _15 = _simplexSolver+308;
        FHEAP[_15] = 0.00009999999747378752;
        var _16 = _simplexSolver+316+16;
        var _17 = IHEAP[_16];
        var _18 = _17 & -16;
        IHEAP[_16] = _18;
        var _19 = _collisionShape;
        (function() { try { __THREW__ = false; return __ZN22btSubsimplexConvexCastC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolver(_convexCaster, _8, _19, _simplexSolver) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont1$_invcont18$5651; }
        var _20 = (function() { try { __THREW__ = false; return __ZN22btSubsimplexConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE(_convexCaster, _rayFromTrans, _rayToTrans, _colObjWorldTransform, _colObjWorldTransform, _castResult) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3863; /* _lpad92 */  };
        _invcont3$_lpad92$5654: do { 
          if (__label__ == 759) {
            var _toBool4 = _20 == 0;
            ;
            _bb15$_bb5$5656: do { 
              if (!_toBool4) {
                ;
                var _21 = _castResult+132;
                var _22 = FHEAP[_21];
                var _23 = _22 * _22;
                var _24 = _castResult+132+4;
                var _25 = FHEAP[_24];
                var _26 = _25 * _25;
                var _27 = _23 + _26;
                var _28 = _castResult+132+8;
                var _29 = FHEAP[_28];
                var _30 = _29 * _29;
                var _31 = _27 + _30;
                var _32 = _31 > 0.00009999999747378752;
                if (!(_32)) { __label__ = 153; /* _bb15 */ break _bb15$_bb5$5656; }
                var _33 = FHEAP[_10];
                var _34 = FHEAP[_13];
                var _35 = _33 < _34;
                if (!(_35)) { __label__ = 153; /* _bb15 */ break _bb15$_bb5$5656; }
                var _36 = _rayFromTrans+32;
                var _37 = FHEAP[_36];
                var _38 = _37 * _22;
                var _39 = _rayFromTrans+32+4;
                var _40 = FHEAP[_39];
                var _41 = _40 * _25;
                var _42 = _38 + _41;
                var _43 = _rayFromTrans+32+8;
                var _44 = FHEAP[_43];
                var _45 = _44 * _29;
                var _46 = _42 + _45;
                var _47 = _rayFromTrans+16;
                var _48 = FHEAP[_47];
                var _49 = _48 * _22;
                var _50 = _rayFromTrans+16+4;
                var _51 = FHEAP[_50];
                var _52 = _51 * _25;
                var _53 = _49 + _52;
                var _54 = _rayFromTrans+16+8;
                var _55 = FHEAP[_54];
                var _56 = _55 * _29;
                var _57 = _53 + _56;
                var _58 = _rayFromTrans;
                var _59 = FHEAP[_58];
                var _60 = _59 * _22;
                var _61 = _rayFromTrans+4;
                var _62 = FHEAP[_61];
                var _63 = _62 * _25;
                var _64 = _60 + _63;
                var _65 = _rayFromTrans+8;
                var _66 = FHEAP[_65];
                var _67 = _66 * _29;
                var _68 = _64 + _67;
                FHEAP[_21] = _68;
                FHEAP[_24] = _57;
                FHEAP[_28] = _46;
                var _69 = _castResult+132+12;
                FHEAP[_69] = 0;
                var _70 = _68 * _68;
                var _71 = _57 * _57;
                var _72 = _70 + _71;
                var _73 = _46 * _46;
                var _74 = _72 + _73;
                var _75 = _sqrtf(_74);
                var _76 = 1 / _75;
                var _77 = _68 * _76;
                FHEAP[_21] = _77;
                var _78 = _57 * _76;
                FHEAP[_24] = _78;
                var _79 = _46 * _76;
                FHEAP[_28] = _79;
                var _80 = _localRayResult;
                IHEAP[_80] = _collisionObject;
                var _81 = _localRayResult+4;
                IHEAP[_81] = 0;
                var _82 = _localRayResult+8;
                FHEAP[_82] = _77;
                var _83 = _localRayResult+8+4;
                FHEAP[_83] = _78;
                var _84 = _localRayResult+8+8;
                FHEAP[_84] = _79;
                var _85 = _localRayResult+8+12;
                FHEAP[_85] = 0;
                var _86 = _localRayResult+24;
                FHEAP[_86] = _33;
                var _87 = _resultCallback;
                var _88 = IHEAP[_87];
                var _89 = _88+12;
                var _90 = IHEAP[_89];
                var _91 = _90;
                var _92 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_91](_resultCallback, _localRayResult, 1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3863; /* _lpad92 */ break _invcont3$_lpad92$5654; };
              }
            } while(0);
            var _93 = _convexCaster;
            IHEAP[_93] = __ZTV22btSubsimplexConvexCast+8;
            var _94 = _convexCaster;
            (function() { try { __THREW__ = false; return __ZN12btConvexCastD2Ev(_94) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 21; /* _bb89 */ break _invcont1$_invcont18$5651; } else { __label__ = 254; /* _lpad */ break _invcont1$_invcont18$5651; }
          }
        } while(0);
        var _eh_ptr93 = _llvm_eh_exception();
        var _eh_select95 = _llvm_eh_selector(_eh_ptr93, ___gxx_personality_v0, 0);
        var _559 = _convexCaster;
        IHEAP[_559] = __ZTV22btSubsimplexConvexCast+8;
        var _560 = _convexCaster;
        (function() { try { __THREW__ = false; return __ZN12btConvexCastD2Ev(_560) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3863; __label__ = 45; /* _ppad */ break _invcont1$_invcont18$5651; } else { __lastLabel__ = 3863; ; }
        var _eh_ptr97 = _llvm_eh_exception();
        var _eh_select99 = _llvm_eh_selector(_eh_ptr97, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
      else {
        ;
        var _95 = _6 + -21;
        var _96 = unSign(_95, 32) < unSign(9, 32);
        ;
        if (_96) {
          ;
          var _97 = _6 == 21;
          ;
          if (_97) {
            ;
            var _98 = _colObjWorldTransform+32+8;
            var _99 = _colObjWorldTransform+16+8;
            var _100 = _colObjWorldTransform+8;
            var _101 = _colObjWorldTransform+32+4;
            var _102 = _colObjWorldTransform+16+4;
            var _103 = _colObjWorldTransform+4;
            var _104 = _colObjWorldTransform+32;
            var _105 = _colObjWorldTransform+16;
            var _106 = _colObjWorldTransform;
            var _107 = FHEAP[_106];
            var _108 = FHEAP[_105];
            var _109 = FHEAP[_104];
            var _110 = FHEAP[_103];
            var _111 = FHEAP[_102];
            var _112 = FHEAP[_101];
            var _113 = FHEAP[_100];
            var _114 = FHEAP[_99];
            var _115 = FHEAP[_98];
            var _116 = _colObjWorldTransform+48+8;
            var _117 = FHEAP[_116];
            var _118 = 0 - _117;
            var _119 = _colObjWorldTransform+48+4;
            var _120 = FHEAP[_119];
            var _121 = 0 - _120;
            var _122 = _colObjWorldTransform+48;
            var _123 = FHEAP[_122];
            var _124 = 0 - _123;
            var _125 = _113 * _124;
            var _126 = _114 * _121;
            var _127 = _125 + _126;
            var _128 = _115 * _118;
            var _129 = _127 + _128;
            var _130 = _110 * _124;
            var _131 = _111 * _121;
            var _132 = _130 + _131;
            var _133 = _112 * _118;
            var _134 = _132 + _133;
            var _135 = _107 * _124;
            var _136 = _108 * _121;
            var _137 = _135 + _136;
            var _138 = _109 * _118;
            var _139 = _137 + _138;
            var _140 = _rayFromTrans+48;
            var _141 = FHEAP[_140];
            var _142 = _113 * _141;
            var _143 = _rayFromTrans+48+4;
            var _144 = FHEAP[_143];
            var _145 = _114 * _144;
            var _146 = _142 + _145;
            var _147 = _rayFromTrans+48+8;
            var _148 = FHEAP[_147];
            var _149 = _115 * _148;
            var _150 = _146 + _149;
            var _151 = _150 + _129;
            var _152 = _110 * _141;
            var _153 = _111 * _144;
            var _154 = _152 + _153;
            var _155 = _112 * _148;
            var _156 = _154 + _155;
            var _157 = _156 + _134;
            var _158 = _107 * _141;
            var _159 = _108 * _144;
            var _160 = _158 + _159;
            var _161 = _109 * _148;
            var _162 = _160 + _161;
            var _163 = _162 + _139;
            var _164 = _rayFromLocal;
            FHEAP[_164] = _163;
            var _165 = _rayFromLocal+4;
            FHEAP[_165] = _157;
            var _166 = _rayFromLocal+8;
            FHEAP[_166] = _151;
            var _167 = _rayFromLocal+12;
            FHEAP[_167] = 0;
            var _168 = _rayToTrans+48;
            var _169 = FHEAP[_168];
            var _170 = _113 * _169;
            var _171 = _rayToTrans+48+4;
            var _172 = FHEAP[_171];
            var _173 = _114 * _172;
            var _174 = _170 + _173;
            var _175 = _rayToTrans+48+8;
            var _176 = FHEAP[_175];
            var _177 = _115 * _176;
            var _178 = _174 + _177;
            var _179 = _178 + _129;
            var _180 = _110 * _169;
            var _181 = _111 * _172;
            var _182 = _180 + _181;
            var _183 = _112 * _176;
            var _184 = _182 + _183;
            var _185 = _184 + _134;
            var _186 = _107 * _169;
            var _187 = _108 * _172;
            var _188 = _186 + _187;
            var _189 = _109 * _176;
            var _190 = _188 + _189;
            var _191 = _190 + _139;
            var _192 = _rayToLocal;
            FHEAP[_192] = _191;
            var _193 = _rayToLocal+4;
            FHEAP[_193] = _185;
            var _194 = _rayToLocal+8;
            FHEAP[_194] = _179;
            var _195 = _rayToLocal+12;
            FHEAP[_195] = 0;
            var _196 = _resultCallback+16;
            var _197 = IHEAP[_196];
            var _198 = _rcb;
            (function() { try { __THREW__ = false; return __ZN25btTriangleRaycastCallbackC2ERK9btVector3S2_j(_198, _rayFromLocal, _rayToLocal, _197) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont1$_invcont18$5651; }
            var _199 = _collisionShape;
            var _200 = _collisionShape;
            var _201 = _rcb;
            IHEAP[_201] = __ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback+8;
            var _202 = _rcb+44;
            IHEAP[_202] = _resultCallback;
            var _203 = _rcb+48;
            IHEAP[_203] = _collisionObject;
            var _204 = _rcb+52;
            IHEAP[_204] = _200;
            var _205 = _rcb+56;
            var _206 = FHEAP[_106];
            FHEAP[_205] = _206;
            var _207 = _rcb+56+4;
            var _208 = FHEAP[_103];
            FHEAP[_207] = _208;
            var _209 = _rcb+56+8;
            var _210 = FHEAP[_100];
            FHEAP[_209] = _210;
            var _211 = _rcb+56+12;
            var _212 = _colObjWorldTransform+12;
            var _213 = FHEAP[_212];
            FHEAP[_211] = _213;
            var _214 = _rcb+56+16;
            var _215 = FHEAP[_105];
            FHEAP[_214] = _215;
            var _216 = _rcb+56+16+4;
            var _217 = FHEAP[_102];
            FHEAP[_216] = _217;
            var _218 = _rcb+56+16+8;
            var _219 = FHEAP[_99];
            FHEAP[_218] = _219;
            var _220 = _rcb+56+16+12;
            var _221 = _colObjWorldTransform+16+12;
            var _222 = FHEAP[_221];
            FHEAP[_220] = _222;
            var _223 = _rcb+56+32;
            var _224 = FHEAP[_104];
            FHEAP[_223] = _224;
            var _225 = _rcb+56+32+4;
            var _226 = FHEAP[_101];
            FHEAP[_225] = _226;
            var _227 = _rcb+56+32+8;
            var _228 = FHEAP[_98];
            FHEAP[_227] = _228;
            var _229 = _rcb+56+32+12;
            var _230 = _colObjWorldTransform+32+12;
            var _231 = FHEAP[_230];
            FHEAP[_229] = _231;
            var _232 = _rcb+56+48;
            var _233 = FHEAP[_122];
            FHEAP[_232] = _233;
            var _234 = _rcb+56+48+4;
            var _235 = FHEAP[_119];
            FHEAP[_234] = _235;
            var _236 = _rcb+56+48+8;
            var _237 = FHEAP[_116];
            FHEAP[_236] = _237;
            var _238 = _rcb+56+48+12;
            var _239 = _colObjWorldTransform+48+12;
            var _240 = FHEAP[_239];
            FHEAP[_238] = _240;
            var _241 = _resultCallback+4;
            var _242 = FHEAP[_241];
            var _243 = _rcb+40;
            FHEAP[_243] = _242;
            var _244 = _rcb;
            (function() { try { __THREW__ = false; return __ZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_(_199, _244, _rayFromLocal, _rayToLocal) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 251; /* _bb36 */  } else { __label__ = 3861; /* _lpad100 */  }
            if (__label__ == 251) {
              IHEAP[_201] = __ZTV25btTriangleRaycastCallback+8;
              (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_244) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 21; /* _bb89 */ break _invcont1$_invcont18$5651; } else { __label__ = 254; /* _lpad */ break _invcont1$_invcont18$5651; }
            }
            else if (__label__ == 3861) {
              var _eh_ptr101 = _llvm_eh_exception();
              var _eh_select103 = _llvm_eh_selector(_eh_ptr101, ___gxx_personality_v0, 0);
              IHEAP[_201] = __ZTV25btTriangleRaycastCallback+8;
              (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_244) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3861; __label__ = 45; /* _ppad */ break _invcont1$_invcont18$5651; } else { __lastLabel__ = 3861; ; }
              var _eh_ptr105 = _llvm_eh_exception();
              var _eh_select107 = _llvm_eh_selector(_eh_ptr105, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          }
          else {
            ;
            var _245 = _collisionShape;
            var _246 = _colObjWorldTransform+32+8;
            var _247 = _colObjWorldTransform+16+8;
            var _248 = _colObjWorldTransform+8;
            var _249 = _colObjWorldTransform+32+4;
            var _250 = _colObjWorldTransform+16+4;
            var _251 = _colObjWorldTransform+4;
            var _252 = _colObjWorldTransform+32;
            var _253 = _colObjWorldTransform+16;
            var _254 = _colObjWorldTransform;
            var _255 = FHEAP[_254];
            var _256 = FHEAP[_253];
            var _257 = FHEAP[_252];
            var _258 = FHEAP[_251];
            var _259 = FHEAP[_250];
            var _260 = FHEAP[_249];
            var _261 = FHEAP[_248];
            var _262 = FHEAP[_247];
            var _263 = FHEAP[_246];
            var _264 = _colObjWorldTransform+48+8;
            var _265 = FHEAP[_264];
            var _266 = 0 - _265;
            var _267 = _colObjWorldTransform+48+4;
            var _268 = FHEAP[_267];
            var _269 = 0 - _268;
            var _270 = _colObjWorldTransform+48;
            var _271 = FHEAP[_270];
            var _272 = 0 - _271;
            var _273 = _261 * _272;
            var _274 = _262 * _269;
            var _275 = _273 + _274;
            var _276 = _263 * _266;
            var _277 = _275 + _276;
            var _278 = _258 * _272;
            var _279 = _259 * _269;
            var _280 = _278 + _279;
            var _281 = _260 * _266;
            var _282 = _280 + _281;
            var _283 = _255 * _272;
            var _284 = _256 * _269;
            var _285 = _283 + _284;
            var _286 = _257 * _266;
            var _287 = _285 + _286;
            var _288 = _rayFromTrans+48;
            var _289 = FHEAP[_288];
            var _290 = _261 * _289;
            var _291 = _rayFromTrans+48+4;
            var _292 = FHEAP[_291];
            var _293 = _262 * _292;
            var _294 = _290 + _293;
            var _295 = _rayFromTrans+48+8;
            var _296 = FHEAP[_295];
            var _297 = _263 * _296;
            var _298 = _294 + _297;
            var _299 = _298 + _277;
            var _300 = _258 * _289;
            var _301 = _259 * _292;
            var _302 = _300 + _301;
            var _303 = _260 * _296;
            var _304 = _302 + _303;
            var _305 = _304 + _282;
            var _306 = _255 * _289;
            var _307 = _256 * _292;
            var _308 = _306 + _307;
            var _309 = _257 * _296;
            var _310 = _308 + _309;
            var _311 = _310 + _287;
            var _312 = _rayFromLocal43;
            FHEAP[_312] = _311;
            var _313 = _rayFromLocal43+4;
            FHEAP[_313] = _305;
            var _314 = _rayFromLocal43+8;
            FHEAP[_314] = _299;
            var _315 = _rayFromLocal43+12;
            FHEAP[_315] = 0;
            var _316 = _rayToTrans+48;
            var _317 = FHEAP[_316];
            var _318 = _261 * _317;
            var _319 = _rayToTrans+48+4;
            var _320 = FHEAP[_319];
            var _321 = _262 * _320;
            var _322 = _318 + _321;
            var _323 = _rayToTrans+48+8;
            var _324 = FHEAP[_323];
            var _325 = _263 * _324;
            var _326 = _322 + _325;
            var _327 = _326 + _277;
            var _328 = _258 * _317;
            var _329 = _259 * _320;
            var _330 = _328 + _329;
            var _331 = _260 * _324;
            var _332 = _330 + _331;
            var _333 = _332 + _282;
            var _334 = _255 * _317;
            var _335 = _256 * _320;
            var _336 = _334 + _335;
            var _337 = _257 * _324;
            var _338 = _336 + _337;
            var _339 = _338 + _287;
            var _340 = _rayToLocal45;
            FHEAP[_340] = _339;
            var _341 = _rayToLocal45+4;
            FHEAP[_341] = _333;
            var _342 = _rayToLocal45+8;
            FHEAP[_342] = _327;
            var _343 = _rayToLocal45+12;
            FHEAP[_343] = 0;
            var _344 = _resultCallback+16;
            var _345 = IHEAP[_344];
            var _346 = _rcb47;
            (function() { try { __THREW__ = false; return __ZN25btTriangleRaycastCallbackC2ERK9btVector3S2_j(_346, _rayFromLocal43, _rayToLocal45, _345) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont1$_invcont18$5651; }
            var _347 = _rcb47;
            IHEAP[_347] = __ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0+8;
            var _348 = _rcb47+44;
            IHEAP[_348] = _resultCallback;
            var _349 = _rcb47+48;
            IHEAP[_349] = _collisionObject;
            var _350 = _rcb47+52;
            IHEAP[_350] = _245;
            var _351 = _rcb47+56;
            var _352 = FHEAP[_254];
            FHEAP[_351] = _352;
            var _353 = _rcb47+56+4;
            var _354 = FHEAP[_251];
            FHEAP[_353] = _354;
            var _355 = _rcb47+56+8;
            var _356 = FHEAP[_248];
            FHEAP[_355] = _356;
            var _357 = _rcb47+56+12;
            var _358 = _colObjWorldTransform+12;
            var _359 = FHEAP[_358];
            FHEAP[_357] = _359;
            var _360 = _rcb47+56+16;
            var _361 = FHEAP[_253];
            FHEAP[_360] = _361;
            var _362 = _rcb47+56+16+4;
            var _363 = FHEAP[_250];
            FHEAP[_362] = _363;
            var _364 = _rcb47+56+16+8;
            var _365 = FHEAP[_247];
            FHEAP[_364] = _365;
            var _366 = _rcb47+56+16+12;
            var _367 = _colObjWorldTransform+16+12;
            var _368 = FHEAP[_367];
            FHEAP[_366] = _368;
            var _369 = _rcb47+56+32;
            var _370 = FHEAP[_252];
            FHEAP[_369] = _370;
            var _371 = _rcb47+56+32+4;
            var _372 = FHEAP[_249];
            FHEAP[_371] = _372;
            var _373 = _rcb47+56+32+8;
            var _374 = FHEAP[_246];
            FHEAP[_373] = _374;
            var _375 = _rcb47+56+32+12;
            var _376 = _colObjWorldTransform+32+12;
            var _377 = FHEAP[_376];
            FHEAP[_375] = _377;
            var _378 = _rcb47+56+48;
            var _379 = FHEAP[_270];
            FHEAP[_378] = _379;
            var _380 = _rcb47+56+48+4;
            var _381 = FHEAP[_267];
            FHEAP[_380] = _381;
            var _382 = _rcb47+56+48+8;
            var _383 = FHEAP[_264];
            FHEAP[_382] = _383;
            var _384 = _rcb47+56+48+12;
            var _385 = _colObjWorldTransform+48+12;
            var _386 = FHEAP[_385];
            FHEAP[_384] = _386;
            var _387 = _resultCallback+4;
            var _388 = FHEAP[_387];
            var _389 = _rcb47+40;
            FHEAP[_389] = _388;
            var _390 = _rayAabbMinLocal;
            var _391 = FHEAP[_312];
            FHEAP[_390] = _391;
            var _392 = _rayAabbMinLocal+4;
            var _393 = FHEAP[_313];
            FHEAP[_392] = _393;
            var _394 = _rayAabbMinLocal+8;
            var _395 = FHEAP[_314];
            FHEAP[_394] = _395;
            var _396 = _rayAabbMinLocal+12;
            var _397 = FHEAP[_315];
            FHEAP[_396] = _397;
            var _398 = FHEAP[_340];
            var _399 = _398 < _391;
            ;
            if (_399) {
              ;
              FHEAP[_390] = _398;
              ;
            }
            var _400 = FHEAP[_341];
            var _401 = _400 < _393;
            ;
            if (_401) {
              ;
              FHEAP[_392] = _400;
              ;
            }
            var _402 = FHEAP[_342];
            var _403 = _402 < _395;
            ;
            if (_403) {
              ;
              FHEAP[_394] = _402;
              ;
            }
            var _404 = FHEAP[_343];
            var _405 = _404 < _397;
            ;
            if (_405) {
              ;
              FHEAP[_396] = _404;
              ;
            }
            var _406 = _rayAabbMaxLocal;
            FHEAP[_406] = _391;
            var _407 = _rayAabbMaxLocal+4;
            FHEAP[_407] = _393;
            var _408 = _rayAabbMaxLocal+8;
            FHEAP[_408] = _395;
            var _409 = _rayAabbMaxLocal+12;
            FHEAP[_409] = _397;
            var _410 = _391 < _398;
            ;
            if (_410) {
              ;
              FHEAP[_406] = _398;
              ;
            }
            var _411 = _393 < _400;
            ;
            if (_411) {
              ;
              FHEAP[_407] = _400;
              ;
            }
            var _412 = _395 < _402;
            ;
            if (_412) {
              ;
              FHEAP[_408] = _402;
              ;
            }
            var _413 = _397 < _404;
            ;
            if (_413) {
              ;
              FHEAP[_409] = _404;
              ;
            }
            var _414 = _collisionShape;
            var _415 = IHEAP[_414];
            var _416 = _415+60;
            var _417 = IHEAP[_416];
            var _418 = _417;
            var _419 = _rcb47;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_418](_245, _419, _rayAabbMinLocal, _rayAabbMaxLocal) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1025; /* _bb60 */  } else { __label__ = 3862; /* _lpad108 */  }
            if (__label__ == 1025) {
              IHEAP[_347] = __ZTV25btTriangleRaycastCallback+8;
              (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_419) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 21; /* _bb89 */ break _invcont1$_invcont18$5651; } else { __label__ = 254; /* _lpad */ break _invcont1$_invcont18$5651; }
            }
            else if (__label__ == 3862) {
              var _eh_ptr109 = _llvm_eh_exception();
              var _eh_select111 = _llvm_eh_selector(_eh_ptr109, ___gxx_personality_v0, 0);
              IHEAP[_347] = __ZTV25btTriangleRaycastCallback+8;
              (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_419) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3862; __label__ = 45; /* _ppad */ break _invcont1$_invcont18$5651; } else { __lastLabel__ = 3862; ; }
              var _eh_ptr113 = _llvm_eh_exception();
              var _eh_select115 = _llvm_eh_selector(_eh_ptr113, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          }
        }
        else {
          ;
          var _420 = _6 == 31;
          if (!(_420)) { __label__ = 21; /* _bb89 */ break _invcont1$_invcont18$5651; }
          var _421 = _collisionShape+12+4;
          var _422 = _collisionShape+24;
          var _423 = _422;
          var _424 = _colObjWorldTransform+32;
          var _425 = _colObjWorldTransform+32+4;
          var _426 = _colObjWorldTransform+32+8;
          var _427 = _colObjWorldTransform+48+8;
          var _428 = _colObjWorldTransform+16;
          var _429 = _colObjWorldTransform+16+4;
          var _430 = _colObjWorldTransform+16+8;
          var _431 = _colObjWorldTransform+48+4;
          var _432 = _colObjWorldTransform;
          var _433 = _colObjWorldTransform+4;
          var _434 = _colObjWorldTransform+8;
          var _435 = _colObjWorldTransform+48;
          var _436 = _childWorldTrans;
          var _437 = _childWorldTrans+4;
          var _438 = _childWorldTrans+8;
          var _439 = _childWorldTrans+12;
          var _440 = _childWorldTrans+16;
          var _441 = _childWorldTrans+16+4;
          var _442 = _childWorldTrans+16+8;
          var _443 = _childWorldTrans+16+12;
          var _444 = _childWorldTrans+32;
          var _445 = _childWorldTrans+32+4;
          var _446 = _childWorldTrans+32+8;
          var _447 = _childWorldTrans+32+12;
          var _448 = _childWorldTrans+48;
          var _449 = _childWorldTrans+48+4;
          var _450 = _childWorldTrans+48+8;
          var _451 = _childWorldTrans+48+12;
          var _452 = _collisionObject+192;
          var _453 = _my_cb;
          var _454 = _my_cb+4;
          var _455 = _my_cb+8;
          var _456 = _my_cb+12;
          var _457 = _my_cb+14;
          var _458 = _my_cb+16;
          var _459 = _my_cb+20;
          var _460 = _my_cb+24;
          var _461 = _resultCallback+4;
          var _462 = _my_cb;
          __lastLabel__ = 1198; ;
          _invcont82$5705: while(1) { // _invcont82
            var _555 = __lastLabel__ == 1200 ? _554 : (0);
            var _556 = IHEAP[_421];
            var _557 = _556 > _555;
            if (!(_557)) { __label__ = 21; /* _bb89 */ break _invcont1$_invcont18$5651; }
            var _463 = IHEAP[_423];
            var _scevgep172173 = _463+80*_555;
            var _464 = FHEAP[_scevgep172173];
            var _scevgep171 = _463+80*_555+4;
            var _465 = FHEAP[_scevgep171];
            var _scevgep170 = _463+80*_555+8;
            var _466 = FHEAP[_scevgep170];
            var _scevgep168169 = _463+80*_555+16;
            var _467 = FHEAP[_scevgep168169];
            var _scevgep167 = _463+80*_555+16+4;
            var _468 = FHEAP[_scevgep167];
            var _scevgep166 = _463+80*_555+16+8;
            var _469 = FHEAP[_scevgep166];
            var _scevgep164165 = _463+80*_555+32;
            var _470 = FHEAP[_scevgep164165];
            var _scevgep163 = _463+80*_555+32+4;
            var _471 = FHEAP[_scevgep163];
            var _scevgep162 = _463+80*_555+32+8;
            var _472 = FHEAP[_scevgep162];
            var _scevgep161 = _463+80*_555+48;
            var _473 = FHEAP[_scevgep161];
            var _scevgep160 = _463+80*_555+48+4;
            var _474 = FHEAP[_scevgep160];
            var _scevgep = _463+80*_555+48+8;
            var _475 = FHEAP[_scevgep];
            var _scevgep174 = _463+80*_555+64;
            var _476 = IHEAP[_scevgep174];
            var _477 = FHEAP[_424];
            var _478 = _477 * _473;
            var _479 = FHEAP[_425];
            var _480 = _479 * _474;
            var _481 = _478 + _480;
            var _482 = FHEAP[_426];
            var _483 = _482 * _475;
            var _484 = _481 + _483;
            var _485 = FHEAP[_427];
            var _486 = _484 + _485;
            var _487 = FHEAP[_428];
            var _488 = _487 * _473;
            var _489 = FHEAP[_429];
            var _490 = _489 * _474;
            var _491 = _488 + _490;
            var _492 = FHEAP[_430];
            var _493 = _492 * _475;
            var _494 = _491 + _493;
            var _495 = FHEAP[_431];
            var _496 = _494 + _495;
            var _497 = FHEAP[_432];
            var _498 = _497 * _473;
            var _499 = FHEAP[_433];
            var _500 = _499 * _474;
            var _501 = _498 + _500;
            var _502 = FHEAP[_434];
            var _503 = _502 * _475;
            var _504 = _501 + _503;
            var _505 = FHEAP[_435];
            var _506 = _504 + _505;
            var _507 = _466 * _477;
            var _508 = _469 * _479;
            var _509 = _507 + _508;
            var _510 = _472 * _482;
            var _511 = _509 + _510;
            var _512 = _465 * _477;
            var _513 = _468 * _479;
            var _514 = _512 + _513;
            var _515 = _471 * _482;
            var _516 = _514 + _515;
            var _517 = _464 * _477;
            var _518 = _467 * _479;
            var _519 = _517 + _518;
            var _520 = _470 * _482;
            var _521 = _519 + _520;
            var _522 = _466 * _487;
            var _523 = _469 * _489;
            var _524 = _522 + _523;
            var _525 = _472 * _492;
            var _526 = _524 + _525;
            var _527 = _465 * _487;
            var _528 = _468 * _489;
            var _529 = _527 + _528;
            var _530 = _471 * _492;
            var _531 = _529 + _530;
            var _532 = _464 * _487;
            var _533 = _467 * _489;
            var _534 = _532 + _533;
            var _535 = _470 * _492;
            var _536 = _534 + _535;
            var _537 = _466 * _497;
            var _538 = _469 * _499;
            var _539 = _537 + _538;
            var _540 = _472 * _502;
            var _541 = _539 + _540;
            var _542 = _465 * _497;
            var _543 = _468 * _499;
            var _544 = _542 + _543;
            var _545 = _471 * _502;
            var _546 = _544 + _545;
            var _547 = _464 * _497;
            var _548 = _467 * _499;
            var _549 = _547 + _548;
            var _550 = _470 * _502;
            var _551 = _549 + _550;
            FHEAP[_436] = _551;
            FHEAP[_437] = _546;
            FHEAP[_438] = _541;
            FHEAP[_439] = 0;
            FHEAP[_440] = _536;
            FHEAP[_441] = _531;
            FHEAP[_442] = _526;
            FHEAP[_443] = 0;
            FHEAP[_444] = _521;
            FHEAP[_445] = _516;
            FHEAP[_446] = _511;
            FHEAP[_447] = 0;
            FHEAP[_448] = _506;
            FHEAP[_449] = _496;
            FHEAP[_450] = _486;
            FHEAP[_451] = 0;
            var _552 = IHEAP[_452];
            IHEAP[_452] = _476;
            IHEAP[_455] = 0;
            IHEAP[_456] = 1;
            IHEAP[_457] = -1;
            IHEAP[_458] = 0;
            IHEAP[_453] = __ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2+8;
            IHEAP[_459] = _resultCallback;
            IHEAP[_460] = _555;
            var _553 = FHEAP[_461];
            FHEAP[_454] = _553;
            (function() { try { __THREW__ = false; return __ZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackE(_rayFromTrans, _rayToTrans, _collisionObject, _476, _childWorldTrans, _462) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 1203; /* _lpad116 */ break _invcont82$5705; }
            IHEAP[_452] = _552;
            IHEAP[_453] = __ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2+8;
            var _554 = _555 + 1;
            __lastLabel__ = 1200; __label__ = 1199; /* _invcont82 */ continue _invcont82$5705;
          }
          var _eh_ptr117 = _llvm_eh_exception();
          var _eh_select119 = _llvm_eh_selector(_eh_ptr117, ___gxx_personality_v0, 0);
          IHEAP[_453] = __ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2+8;
          __lastLabel__ = 1203; __label__ = 45; /* _ppad */ break _invcont1$_invcont18$5651;
        }
      }
    } while(0);
    if (__label__ == 21) {
      IHEAP[_1] = __ZTV21btConvexInternalShape+8;
      var _558 = _pointShape;
      __ZN13btConvexShapeD2Ev(_558);
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select91 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __lastLabel__ = 254; ;
    }
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (__lastLabel__ == 1203 ? _eh_ptr117 : (__lastLabel__ == 3863 ? _eh_ptr93 : (__lastLabel__ == 3861 ? _eh_ptr101 : (_eh_ptr109))));
    IHEAP[_1] = __ZTV21btConvexInternalShape+8;
    var _561 = _pointShape;
    (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_561) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3867; /* _invcont87 */  } else { __label__ = 3868; /* _lpad120 */  }
    if (__label__ == 3867) {
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
    else if (__label__ == 3868) {
      var _eh_ptr121 = _llvm_eh_exception();
      var _eh_select123 = _llvm_eh_selector(_eh_ptr121, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackE.__index__ = Runtime.getFunctionIndex(__ZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackE, "__ZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackE");
  
  
  function __ZN28btCompoundCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b(_this, _ci, _body0, _body1, _isSwapped) {
    var __stackBase__  = STACKTOP; STACKTOP += 1;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = _this;
    __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_1, _ci, _body0, _body1);
    var _2 = _this;
    IHEAP[_2] = __ZTV28btCompoundCollisionAlgorithm+8;
    var _3 = _this+8+16;
    IHEAP[_3] = 1;
    var _4 = _this+8+12;
    IHEAP[_4] = 0;
    var _5 = _this+8+4;
    IHEAP[_5] = 0;
    var _6 = _this+8+8;
    IHEAP[_6] = 0;
    var _7 = _this+28;
    IHEAP[_7] = _isSwapped;
    var _8 = _ci+4;
    var _9 = IHEAP[_8];
    var _10 = _this+32;
    IHEAP[_10] = _9;
    var _11 = _this+36;
    IHEAP[_11] = 0;
    var _toBool = _isSwapped == 0;
    var _iftmp_282_0 = _toBool ? _body0 : _body1;
    var _12 = _iftmp_282_0+192;
    var _13 = IHEAP[_12];
    var _14 = _13+60+8;
    var _15 = _14;
    var _16 = IHEAP[_15];
    var _17 = _this+40;
    IHEAP[_17] = _16;
    var _iftmp_285_0_i = _toBool ? _body1 : _body0;
    var _18 = IHEAP[_12];
    var _19 = _18+12+4;
    var _20 = IHEAP[_19];
    IHEAP[_0] = 0;
    var _21 = _this+8;
    (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIP20btCollisionAlgorithmE6resizeEiRKS1_(_21, _20, _0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3869; /* __noexc31 */  } else { __label__ = 3852; /* _lpad15 */  }
    __noexc31$_lpad15$5727: do { 
      if (__label__ == 3869) {
        var _22 = _20 > 0;
        ;
        _bb_nph_i$_return$5729: do { 
          if (_22) {
            ;
            var _23 = _18+60+4;
            var _24 = _23;
            var _25 = _18+24;
            var _26 = _25;
            var _27 = _this+4;
            __lastLabel__ = 418; ;
            _bb7_i$5731: while(1) { // _bb7_i
              var _i_014_i = __lastLabel__ == 418 ? 0 : (_tmp);
              var _tmp = _i_014_i + 1;
              var _28 = IHEAP[_24];
              var _29 = _28 == 0;
              ;
              if (_29) {
                ;
                var _31 = IHEAP[_12];
                var _32 = IHEAP[_26];
                var _scevgep15_i = _32+80*_i_014_i+64;
                var _33 = IHEAP[_scevgep15_i];
                IHEAP[_12] = _33;
                var _34 = IHEAP[_4];
                var _35 = IHEAP[_27];
                var _36 = _35;
                var _37 = IHEAP[_36];
                var _38 = _37+8;
                var _39 = IHEAP[_38];
                var _40 = IHEAP[_10];
                var _41 = _39;
                var _42 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_41](_35, _iftmp_282_0, _iftmp_285_0_i, _40) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3852; /* _lpad15 */ break __noexc31$_lpad15$5727; };
                var _scevgep_i = _34+4*_i_014_i;
                IHEAP[_scevgep_i] = _42;
                IHEAP[_12] = _31;
                ;
              }
              else {
                ;
                var _30 = IHEAP[_4];
                var _scevgep16_i = _30+4*_i_014_i;
                IHEAP[_scevgep16_i] = 0;
                ;
              }
              var _exitcond_i = _tmp == _20;
              if (_exitcond_i) { __lastLabel__ = 1057; __label__ = 44; /* _return */ break _bb_nph_i$_return$5729; } else { __lastLabel__ = 1057; __label__ = 137; /* _bb7_i */ continue _bb7_i$5731; }
            }
          }
        } while(0);
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    var _eh_ptr16 = _llvm_eh_exception();
    var _eh_select18 = _llvm_eh_selector(_eh_ptr16, ___gxx_personality_v0, 0);
    var _43 = IHEAP[_4];
    var _44 = _43 == 0;
    ;
    if (!_44) {
      ;
      var _45 = IHEAP[_3];
      var _toBool_i_i_i = _45 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$5742: do { 
        if (!_toBool_i_i_i) {
          ;
          var _46 = _43;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_46) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$5742; } else { ; }
          var _eh_ptr20 = _llvm_eh_exception();
          var _eh_select22 = _llvm_eh_selector(_eh_ptr20, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_4] = 0;
      ;
    }
    IHEAP[_3] = 1;
    IHEAP[_4] = 0;
    IHEAP[_5] = 0;
    IHEAP[_6] = 0;
    (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2405; /* _invcont10 */  } else { __label__ = 1682; /* _lpad23 */  }
    if (__label__ == 2405) {
      __Unwind_Resume_or_Rethrow(_eh_ptr16);
      // unreachable
    }
    else if (__label__ == 1682) {
      var _eh_ptr24 = _llvm_eh_exception();
      var _eh_select26 = _llvm_eh_selector(_eh_ptr24, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN28btCompoundCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b.__index__ = Runtime.getFunctionIndex(__ZN28btCompoundCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b, "__ZN28btCompoundCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b");
  
  
  function __ZN22btCompoundLeafCallback7ProcessEPK10btDbvtNode(_this, _leaf) {
    var __stackBase__  = STACKTOP; STACKTOP += 48;
    var __label__;
    var _0 = __stackBase__;
    var _worldAabbMin = __stackBase__+16;
    var _worldAabbMax = __stackBase__+32;
    var _1 = _leaf+36;
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _this+4;
    var _5 = IHEAP[_4];
    var _6 = _5+192;
    var _7 = IHEAP[_6];
    var _8 = _7+24;
    var _9 = _8;
    var _10 = IHEAP[_9];
    var _11 = _10+80*_3+64;
    var _12 = IHEAP[_11];
    var _13 = _this+16;
    var _14 = IHEAP[_13];
    var _15 = _14+20;
    var _16 = IHEAP[_15];
    var _17 = _16 == 0;
    ;
    _bb5$_bb$5753: do { 
      if (!_17) {
        ;
        var _18 = _16;
        var _19 = IHEAP[_18];
        var _20 = _19+48;
        var _21 = IHEAP[_20];
        var _22 = _21;
        var _23 = FUNCTION_TABLE[_22](_16);
        var _24 = _23 & 2;
        var _25 = _24 == 0;
        if (_25) { __label__ = 82; /* _bb5 */ break _bb5$_bb$5753; }
        var _26 = IHEAP[_4];
        var _27 = _26+4;
        var _28 = FHEAP[_27];
        var _29 = _26+4+4;
        var _30 = FHEAP[_29];
        var _31 = _26+4+8;
        var _32 = FHEAP[_31];
        var _33 = _26+4+16;
        var _34 = FHEAP[_33];
        var _35 = _26+4+16+4;
        var _36 = FHEAP[_35];
        var _37 = _26+4+16+8;
        var _38 = FHEAP[_37];
        var _39 = _26+4+32;
        var _40 = FHEAP[_39];
        var _41 = _26+4+32+4;
        var _42 = FHEAP[_41];
        var _43 = _26+4+32+8;
        var _44 = FHEAP[_43];
        var _45 = _26+4+48;
        var _46 = FHEAP[_45];
        var _47 = _26+4+48+4;
        var _48 = FHEAP[_47];
        var _49 = _26+4+48+8;
        var _50 = FHEAP[_49];
        var _51 = _leaf+16+8;
        var _52 = FHEAP[_51];
        var _53 = _leaf+8;
        var _54 = FHEAP[_53];
        var _55 = _52 - _54;
        var _56 = _leaf+16+4;
        var _57 = FHEAP[_56];
        var _58 = _leaf+4;
        var _59 = FHEAP[_58];
        var _60 = _57 - _59;
        var _61 = _leaf+16;
        var _62 = FHEAP[_61];
        var _63 = _leaf;
        var _64 = FHEAP[_63];
        var _65 = _62 - _64;
        var _66 = _55 * 0.5;
        var _67 = _60 * 0.5;
        var _68 = _65 * 0.5;
        var _69 = _68 + 0;
        var _70 = _67 + 0;
        var _71 = _66 + 0;
        var _72 = _52 + _54;
        var _73 = _57 + _59;
        var _74 = _62 + _64;
        var _75 = _72 * 0.5;
        var _76 = _73 * 0.5;
        var _77 = _74 * 0.5;
        var _78 = _fabsf(_44);
        var _79 = _fabsf(_42);
        var _80 = _fabsf(_40);
        var _81 = _fabsf(_38);
        var _82 = _fabsf(_36);
        var _83 = _fabsf(_34);
        var _84 = _fabsf(_32);
        var _85 = _fabsf(_30);
        var _86 = _fabsf(_28);
        var _87 = _40 * _77;
        var _88 = _42 * _76;
        var _89 = _87 + _88;
        var _90 = _44 * _75;
        var _91 = _89 + _90;
        var _92 = _91 + _50;
        var _93 = _34 * _77;
        var _94 = _36 * _76;
        var _95 = _93 + _94;
        var _96 = _38 * _75;
        var _97 = _95 + _96;
        var _98 = _97 + _48;
        var _99 = _28 * _77;
        var _100 = _30 * _76;
        var _101 = _99 + _100;
        var _102 = _32 * _75;
        var _103 = _101 + _102;
        var _104 = _103 + _46;
        var _105 = _80 * _69;
        var _106 = _79 * _70;
        var _107 = _105 + _106;
        var _108 = _78 * _71;
        var _109 = _107 + _108;
        var _110 = _83 * _69;
        var _111 = _82 * _70;
        var _112 = _110 + _111;
        var _113 = _81 * _71;
        var _114 = _112 + _113;
        var _115 = _86 * _69;
        var _116 = _85 * _70;
        var _117 = _115 + _116;
        var _118 = _84 * _71;
        var _119 = _117 + _118;
        var _120 = _92 - _109;
        var _121 = _98 - _114;
        var _122 = _104 - _119;
        var _123 = _worldAabbMin;
        FHEAP[_123] = _122;
        var _124 = _worldAabbMin+4;
        FHEAP[_124] = _121;
        var _125 = _worldAabbMin+8;
        FHEAP[_125] = _120;
        var _126 = _worldAabbMin+12;
        FHEAP[_126] = 0;
        var _127 = _92 + _109;
        var _128 = _98 + _114;
        var _129 = _104 + _119;
        var _130 = _worldAabbMax;
        FHEAP[_130] = _129;
        var _131 = _worldAabbMax+4;
        FHEAP[_131] = _128;
        var _132 = _worldAabbMax+8;
        FHEAP[_132] = _127;
        var _133 = _worldAabbMax+12;
        FHEAP[_133] = 0;
        var _134 = IHEAP[_13];
        var _135 = _134+20;
        var _136 = IHEAP[_135];
        var _137 = _136;
        var _138 = IHEAP[_137];
        var _139 = _138+52;
        var _140 = IHEAP[_139];
        var _141 = _0;
        FHEAP[_141] = 1;
        var _142 = _0+4;
        FHEAP[_142] = 0;
        var _143 = _0+8;
        FHEAP[_143] = 0;
        var _144 = _0+12;
        FHEAP[_144] = 0;
        var _145 = IHEAP[_135];
        var _146 = _140;
        FUNCTION_TABLE[_146](_145, _worldAabbMin, _worldAabbMax, _0);
        ;
      }
    } while(0);
    __ZN22btCompoundLeafCallback17ProcessChildShapeEP16btCollisionShapei(_this, _12, _3);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN22btCompoundLeafCallback7ProcessEPK10btDbvtNode.__index__ = Runtime.getFunctionIndex(__ZN22btCompoundLeafCallback7ProcessEPK10btDbvtNode, "__ZN22btCompoundLeafCallback7ProcessEPK10btDbvtNode");
  
  
  function __ZN28btCompoundCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _body0, _body1, _dispatchInfo, _resultOut) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+28;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    var _iftmp_305_0 = _toBool ? _body0 : _body1;
    var _iftmp_306_0 = _toBool ? _body1 : _body0;
    var _2 = _iftmp_305_0+192;
    var _3 = IHEAP[_2];
    var _4 = _this+8+4;
    var _5 = IHEAP[_4];
    var _6 = _5 > 0;
    ;
    _bb_nph$_bb11$5776: do { 
      if (_6) {
        __lastLabel__ = -1; ;
        var _7 = _3+24;
        var _8 = _7;
        var _9 = _iftmp_305_0+4;
        var _10 = _iftmp_305_0+4+4;
        var _11 = _iftmp_305_0+4+8;
        var _12 = _iftmp_305_0+4+12;
        var _13 = _iftmp_305_0+4+16;
        var _14 = _iftmp_305_0+4+16+4;
        var _15 = _iftmp_305_0+4+16+8;
        var _16 = _iftmp_305_0+4+16+12;
        var _17 = _iftmp_305_0+4+32;
        var _18 = _iftmp_305_0+4+32+4;
        var _19 = _iftmp_305_0+4+32+8;
        var _20 = _iftmp_305_0+4+32+12;
        var _21 = _iftmp_305_0+4+48;
        var _22 = _iftmp_305_0+4+48+4;
        var _23 = _iftmp_305_0+4+48+8;
        var _24 = _iftmp_305_0+4+48+12;
        var _25 = _this+8+12;
        __lastLabel__ = 130; ;
        _bb7$5778: while(1) { // _bb7
          var _i_024 = __lastLabel__ == 130 ? 0 : (_128);
          var _hitFraction_123 = __lastLabel__ == 130 ? 1 : (_hitFraction_0);
          var _26 = IHEAP[_8];
          var _scevgep25 = _26+80*_i_024+64;
          var _27 = IHEAP[_scevgep25];
          var _28 = FHEAP[_9];
          var _29 = FHEAP[_10];
          var _30 = FHEAP[_11];
          var _31 = FHEAP[_12];
          var _32 = FHEAP[_13];
          var _33 = FHEAP[_14];
          var _34 = FHEAP[_15];
          var _35 = FHEAP[_16];
          var _36 = FHEAP[_17];
          var _37 = FHEAP[_18];
          var _38 = FHEAP[_19];
          var _39 = FHEAP[_20];
          var _40 = FHEAP[_21];
          var _41 = FHEAP[_22];
          var _42 = FHEAP[_23];
          var _43 = FHEAP[_24];
          var _scevgep26 = _26+80*_i_024+48;
          var _44 = FHEAP[_scevgep26];
          var _45 = _36 * _44;
          var _scevgep27 = _26+80*_i_024+48+4;
          var _46 = FHEAP[_scevgep27];
          var _47 = _37 * _46;
          var _48 = _45 + _47;
          var _scevgep28 = _26+80*_i_024+48+8;
          var _49 = FHEAP[_scevgep28];
          var _50 = _38 * _49;
          var _51 = _48 + _50;
          var _52 = _51 + _42;
          var _53 = _32 * _44;
          var _54 = _33 * _46;
          var _55 = _53 + _54;
          var _56 = _34 * _49;
          var _57 = _55 + _56;
          var _58 = _57 + _41;
          var _59 = _28 * _44;
          var _60 = _29 * _46;
          var _61 = _59 + _60;
          var _62 = _30 * _49;
          var _63 = _61 + _62;
          var _64 = _63 + _40;
          var _scevgep29 = _26+80*_i_024+8;
          var _65 = FHEAP[_scevgep29];
          var _66 = _65 * _36;
          var _scevgep30 = _26+80*_i_024+16+8;
          var _67 = FHEAP[_scevgep30];
          var _68 = _67 * _37;
          var _69 = _66 + _68;
          var _scevgep31 = _26+80*_i_024+32+8;
          var _70 = FHEAP[_scevgep31];
          var _71 = _70 * _38;
          var _72 = _69 + _71;
          var _scevgep32 = _26+80*_i_024+4;
          var _73 = FHEAP[_scevgep32];
          var _74 = _73 * _36;
          var _scevgep33 = _26+80*_i_024+16+4;
          var _75 = FHEAP[_scevgep33];
          var _76 = _75 * _37;
          var _77 = _74 + _76;
          var _scevgep34 = _26+80*_i_024+32+4;
          var _78 = FHEAP[_scevgep34];
          var _79 = _78 * _38;
          var _80 = _77 + _79;
          var _scevgep3536 = _26+80*_i_024;
          var _81 = FHEAP[_scevgep3536];
          var _82 = _81 * _36;
          var _scevgep3738 = _26+80*_i_024+16;
          var _83 = FHEAP[_scevgep3738];
          var _84 = _83 * _37;
          var _85 = _82 + _84;
          var _scevgep3940 = _26+80*_i_024+32;
          var _86 = FHEAP[_scevgep3940];
          var _87 = _86 * _38;
          var _88 = _85 + _87;
          var _89 = _65 * _32;
          var _90 = _67 * _33;
          var _91 = _89 + _90;
          var _92 = _70 * _34;
          var _93 = _91 + _92;
          var _94 = _73 * _32;
          var _95 = _75 * _33;
          var _96 = _94 + _95;
          var _97 = _78 * _34;
          var _98 = _96 + _97;
          var _99 = _81 * _32;
          var _100 = _83 * _33;
          var _101 = _99 + _100;
          var _102 = _86 * _34;
          var _103 = _101 + _102;
          var _104 = _65 * _28;
          var _105 = _67 * _29;
          var _106 = _104 + _105;
          var _107 = _70 * _30;
          var _108 = _106 + _107;
          var _109 = _73 * _28;
          var _110 = _75 * _29;
          var _111 = _109 + _110;
          var _112 = _78 * _30;
          var _113 = _111 + _112;
          var _114 = _81 * _28;
          var _115 = _83 * _29;
          var _116 = _114 + _115;
          var _117 = _86 * _30;
          var _118 = _116 + _117;
          FHEAP[_9] = _118;
          FHEAP[_10] = _113;
          FHEAP[_11] = _108;
          FHEAP[_12] = 0;
          FHEAP[_13] = _103;
          FHEAP[_14] = _98;
          FHEAP[_15] = _93;
          FHEAP[_16] = 0;
          FHEAP[_17] = _88;
          FHEAP[_18] = _80;
          FHEAP[_19] = _72;
          FHEAP[_20] = 0;
          FHEAP[_21] = _64;
          FHEAP[_22] = _58;
          FHEAP[_23] = _52;
          FHEAP[_24] = 0;
          IHEAP[_2] = _27;
          var _119 = IHEAP[_25];
          var _scevgep = _119+4*_i_024;
          var _120 = IHEAP[_scevgep];
          var _121 = _120;
          var _122 = IHEAP[_121];
          var _123 = _122+12;
          var _124 = IHEAP[_123];
          var _125 = _124;
          var _126 = FUNCTION_TABLE[_125](_120, _iftmp_305_0, _iftmp_306_0, _dispatchInfo, _resultOut);
          var _127 = _126 < _hitFraction_123;
          var _hitFraction_0 = _127 ? _126 : _hitFraction_123;
          IHEAP[_2] = _3;
          FHEAP[_9] = _28;
          FHEAP[_10] = _29;
          FHEAP[_11] = _30;
          FHEAP[_12] = _31;
          FHEAP[_13] = _32;
          FHEAP[_14] = _33;
          FHEAP[_15] = _34;
          FHEAP[_16] = _35;
          FHEAP[_17] = _36;
          FHEAP[_18] = _37;
          FHEAP[_19] = _38;
          FHEAP[_20] = _39;
          FHEAP[_21] = _40;
          FHEAP[_22] = _41;
          FHEAP[_23] = _42;
          FHEAP[_24] = _43;
          var _128 = _i_024 + 1;
          var _exitcond = _128 == _5;
          if (_exitcond) { __lastLabel__ = 2; __label__ = 292; /* _bb11 */ break _bb_nph$_bb11$5776; } else { __lastLabel__ = 2; __label__ = 2; /* _bb7 */ continue _bb7$5778; }
        }
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _hitFraction_1_lcssa = __lastLabel__ == -1 ? 1 : (_hitFraction_0);
    ;
    return _hitFraction_1_lcssa;
  }
  __ZN28btCompoundCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN28btCompoundCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN28btCompoundCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN22btCompoundLeafCallback17ProcessChildShapeEP16btCollisionShapei(_this, _childShape, _index) {
    var __stackBase__  = STACKTOP; STACKTOP += 160;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _newChildWorldTrans = __stackBase__+32;
    var _aabbMin0 = __stackBase__+96;
    var _aabbMax0 = __stackBase__+112;
    var _aabbMin1 = __stackBase__+128;
    var _aabbMax1 = __stackBase__+144;
    var _2 = _this+4;
    var _3 = IHEAP[_2];
    var _4 = _3+192;
    var _5 = IHEAP[_4];
    var _6 = _3+4;
    var _7 = FHEAP[_6];
    var _8 = _3+4+4;
    var _9 = FHEAP[_8];
    var _10 = _3+4+8;
    var _11 = FHEAP[_10];
    var _12 = _3+4+12;
    var _13 = FHEAP[_12];
    var _14 = _3+4+16;
    var _15 = FHEAP[_14];
    var _16 = _3+4+16+4;
    var _17 = FHEAP[_16];
    var _18 = _3+4+16+8;
    var _19 = FHEAP[_18];
    var _20 = _3+4+16+12;
    var _21 = FHEAP[_20];
    var _22 = _3+4+32;
    var _23 = FHEAP[_22];
    var _24 = _3+4+32+4;
    var _25 = FHEAP[_24];
    var _26 = _3+4+32+8;
    var _27 = FHEAP[_26];
    var _28 = _3+4+32+12;
    var _29 = FHEAP[_28];
    var _30 = _3+4+48;
    var _31 = FHEAP[_30];
    var _32 = _3+4+48+4;
    var _33 = FHEAP[_32];
    var _34 = _3+4+48+8;
    var _35 = FHEAP[_34];
    var _36 = _3+4+48+12;
    var _37 = FHEAP[_36];
    var _38 = _3+68;
    var _39 = FHEAP[_38];
    var _40 = _3+68+4;
    var _41 = FHEAP[_40];
    var _42 = _3+68+8;
    var _43 = FHEAP[_42];
    var _44 = _3+68+12;
    var _45 = FHEAP[_44];
    var _46 = _3+68+16;
    var _47 = FHEAP[_46];
    var _48 = _3+68+16+4;
    var _49 = FHEAP[_48];
    var _50 = _3+68+16+8;
    var _51 = FHEAP[_50];
    var _52 = _3+68+16+12;
    var _53 = FHEAP[_52];
    var _54 = _3+68+32;
    var _55 = FHEAP[_54];
    var _56 = _3+68+32+4;
    var _57 = FHEAP[_56];
    var _58 = _3+68+32+8;
    var _59 = FHEAP[_58];
    var _60 = _3+68+32+12;
    var _61 = FHEAP[_60];
    var _62 = _3+68+48;
    var _63 = FHEAP[_62];
    var _64 = _3+68+48+4;
    var _65 = FHEAP[_64];
    var _66 = _3+68+48+8;
    var _67 = FHEAP[_66];
    var _68 = _3+68+48+12;
    var _69 = FHEAP[_68];
    var _70 = _5+24;
    var _71 = _70;
    var _72 = IHEAP[_71];
    var _73 = _72+80*_index+48;
    var _74 = FHEAP[_73];
    var _75 = _23 * _74;
    var _76 = _72+80*_index+48+4;
    var _77 = FHEAP[_76];
    var _78 = _25 * _77;
    var _79 = _75 + _78;
    var _80 = _72+80*_index+48+8;
    var _81 = FHEAP[_80];
    var _82 = _27 * _81;
    var _83 = _79 + _82;
    var _84 = _83 + _35;
    var _85 = _15 * _74;
    var _86 = _17 * _77;
    var _87 = _85 + _86;
    var _88 = _19 * _81;
    var _89 = _87 + _88;
    var _90 = _89 + _33;
    var _91 = _7 * _74;
    var _92 = _9 * _77;
    var _93 = _91 + _92;
    var _94 = _11 * _81;
    var _95 = _93 + _94;
    var _96 = _95 + _31;
    var _97 = _72+80*_index+8;
    var _98 = FHEAP[_97];
    var _99 = _98 * _23;
    var _100 = _72+80*_index+16+8;
    var _101 = FHEAP[_100];
    var _102 = _101 * _25;
    var _103 = _99 + _102;
    var _104 = _72+80*_index+32+8;
    var _105 = FHEAP[_104];
    var _106 = _105 * _27;
    var _107 = _103 + _106;
    var _108 = _72+80*_index+4;
    var _109 = FHEAP[_108];
    var _110 = _109 * _23;
    var _111 = _72+80*_index+16+4;
    var _112 = FHEAP[_111];
    var _113 = _112 * _25;
    var _114 = _110 + _113;
    var _115 = _72+80*_index+32+4;
    var _116 = FHEAP[_115];
    var _117 = _116 * _27;
    var _118 = _114 + _117;
    var _119 = _72+80*_index;
    var _120 = FHEAP[_119];
    var _121 = _120 * _23;
    var _122 = _72+80*_index+16;
    var _123 = FHEAP[_122];
    var _124 = _123 * _25;
    var _125 = _121 + _124;
    var _126 = _72+80*_index+32;
    var _127 = FHEAP[_126];
    var _128 = _127 * _27;
    var _129 = _125 + _128;
    var _130 = _98 * _15;
    var _131 = _101 * _17;
    var _132 = _130 + _131;
    var _133 = _105 * _19;
    var _134 = _132 + _133;
    var _135 = _109 * _15;
    var _136 = _112 * _17;
    var _137 = _135 + _136;
    var _138 = _116 * _19;
    var _139 = _137 + _138;
    var _140 = _120 * _15;
    var _141 = _123 * _17;
    var _142 = _140 + _141;
    var _143 = _127 * _19;
    var _144 = _142 + _143;
    var _145 = _98 * _7;
    var _146 = _101 * _9;
    var _147 = _145 + _146;
    var _148 = _105 * _11;
    var _149 = _147 + _148;
    var _150 = _109 * _7;
    var _151 = _112 * _9;
    var _152 = _150 + _151;
    var _153 = _116 * _11;
    var _154 = _152 + _153;
    var _155 = _120 * _7;
    var _156 = _123 * _9;
    var _157 = _155 + _156;
    var _158 = _127 * _11;
    var _159 = _157 + _158;
    var _160 = _newChildWorldTrans;
    FHEAP[_160] = _159;
    var _161 = _newChildWorldTrans+4;
    FHEAP[_161] = _154;
    var _162 = _newChildWorldTrans+8;
    FHEAP[_162] = _149;
    var _163 = _newChildWorldTrans+12;
    FHEAP[_163] = 0;
    var _164 = _newChildWorldTrans+16;
    FHEAP[_164] = _144;
    var _165 = _newChildWorldTrans+16+4;
    FHEAP[_165] = _139;
    var _166 = _newChildWorldTrans+16+8;
    FHEAP[_166] = _134;
    var _167 = _newChildWorldTrans+16+12;
    FHEAP[_167] = 0;
    var _168 = _newChildWorldTrans+32;
    FHEAP[_168] = _129;
    var _169 = _newChildWorldTrans+32+4;
    FHEAP[_169] = _118;
    var _170 = _newChildWorldTrans+32+8;
    FHEAP[_170] = _107;
    var _171 = _newChildWorldTrans+32+12;
    FHEAP[_171] = 0;
    var _172 = _newChildWorldTrans+48;
    FHEAP[_172] = _96;
    var _173 = _newChildWorldTrans+48+4;
    FHEAP[_173] = _90;
    var _174 = _newChildWorldTrans+48+8;
    FHEAP[_174] = _84;
    var _175 = _newChildWorldTrans+48+12;
    FHEAP[_175] = 0;
    var _176 = _childShape;
    var _177 = IHEAP[_176];
    var _178 = _177+8;
    var _179 = IHEAP[_178];
    var _180 = _179;
    FUNCTION_TABLE[_180](_childShape, _newChildWorldTrans, _aabbMin0, _aabbMax0);
    var _181 = _this+8;
    var _182 = IHEAP[_181];
    var _183 = _182+192;
    var _184 = IHEAP[_183];
    var _185 = _184;
    var _186 = IHEAP[_185];
    var _187 = _186+8;
    var _188 = IHEAP[_187];
    var _189 = _182+4;
    var _190 = _188;
    FUNCTION_TABLE[_190](_184, _189, _aabbMin1, _aabbMax1);
    var _191 = _aabbMin0;
    var _192 = FHEAP[_191];
    var _193 = _aabbMax1;
    var _194 = FHEAP[_193];
    var _195 = _192 > _194;
    ;
    _bb2_i$_bb_i$5782: do { 
      if (_195) {
        __label__ = 132; /* _bb2_i */ 
      }
      else {
        ;
        var _196 = _aabbMax0;
        var _197 = FHEAP[_196];
        var _198 = _aabbMin1;
        var _199 = FHEAP[_198];
        var _200 = _197 < _199;
        if (_200) { __lastLabel__ = 131; __label__ = 132; /* _bb2_i */ break _bb2_i$_bb_i$5782; } else { __lastLabel__ = 131; __label__ = 133; /* _bb3_i */ break _bb2_i$_bb_i$5782; }
      }
    } while(0);
    if (__label__ == 132) {
      __lastLabel__ = 132; ;
    }
    var _iftmp_164_0_i = __lastLabel__ == 132 ? 0 : (1);
    var _201 = _aabbMin0+8;
    var _202 = FHEAP[_201];
    var _203 = _aabbMax1+8;
    var _204 = FHEAP[_203];
    var _205 = _202 > _204;
    ;
    _bb6_i$_bb4_i$5787: do { 
      if (_205) {
        __label__ = 136; /* _bb6_i */ 
      }
      else {
        ;
        var _206 = _aabbMax0+8;
        var _207 = FHEAP[_206];
        var _208 = _aabbMin1+8;
        var _209 = FHEAP[_208];
        var _210 = _207 < _209;
        if (_210) { __lastLabel__ = 135; __label__ = 136; /* _bb6_i */ break _bb6_i$_bb4_i$5787; } else { __lastLabel__ = 135; __label__ = 137; /* _bb7_i */ break _bb6_i$_bb4_i$5787; }
      }
    } while(0);
    if (__label__ == 136) {
      __lastLabel__ = 136; ;
    }
    var _iftmp_165_0_i = __lastLabel__ == 136 ? 0 : (_iftmp_164_0_i);
    var _211 = _aabbMin0+4;
    var _212 = FHEAP[_211];
    var _213 = _aabbMax1+4;
    var _214 = FHEAP[_213];
    var _215 = _212 > _214;
    ;
    _return$__Z20TestAabbAgainstAabb2RK9btVector3S1_S1_S1__exit$5792: do { 
      if (!_215) {
        ;
        var _216 = _aabbMax0+4;
        var _217 = FHEAP[_216];
        var _218 = _aabbMin1+4;
        var _219 = FHEAP[_218];
        var _220 = _217 < _219;
        var _phitmp25 = _iftmp_165_0_i == 0;
        var _phitmp = _220 | _phitmp25;
        if (_phitmp) { __label__ = 44; /* _return */ break _return$__Z20TestAabbAgainstAabb2RK9btVector3S1_S1_S1__exit$5792; }
        var _221 = IHEAP[_2];
        var _222 = _221+4;
        var _223 = FHEAP[_160];
        FHEAP[_222] = _223;
        var _224 = _221+4+4;
        var _225 = FHEAP[_161];
        FHEAP[_224] = _225;
        var _226 = _221+4+8;
        var _227 = FHEAP[_162];
        FHEAP[_226] = _227;
        var _228 = _221+4+12;
        var _229 = FHEAP[_163];
        FHEAP[_228] = _229;
        var _230 = _221+4+16;
        var _231 = FHEAP[_164];
        FHEAP[_230] = _231;
        var _232 = _221+4+16+4;
        var _233 = FHEAP[_165];
        FHEAP[_232] = _233;
        var _234 = _221+4+16+8;
        var _235 = FHEAP[_166];
        FHEAP[_234] = _235;
        var _236 = _221+4+16+12;
        var _237 = FHEAP[_167];
        FHEAP[_236] = _237;
        var _238 = _221+4+32;
        var _239 = FHEAP[_168];
        FHEAP[_238] = _239;
        var _240 = _221+4+32+4;
        var _241 = FHEAP[_169];
        FHEAP[_240] = _241;
        var _242 = _221+4+32+8;
        var _243 = FHEAP[_170];
        FHEAP[_242] = _243;
        var _244 = _221+4+32+12;
        var _245 = FHEAP[_171];
        FHEAP[_244] = _245;
        var _246 = _221+4+48;
        var _247 = FHEAP[_172];
        FHEAP[_246] = _247;
        var _248 = _221+4+48+4;
        var _249 = FHEAP[_173];
        FHEAP[_248] = _249;
        var _250 = _221+4+48+8;
        var _251 = FHEAP[_174];
        FHEAP[_250] = _251;
        var _252 = _221+4+48+12;
        var _253 = FHEAP[_175];
        FHEAP[_252] = _253;
        var _254 = IHEAP[_2];
        var _255 = _254+68;
        var _256 = FHEAP[_160];
        FHEAP[_255] = _256;
        var _257 = _254+68+4;
        var _258 = FHEAP[_161];
        FHEAP[_257] = _258;
        var _259 = _254+68+8;
        var _260 = FHEAP[_162];
        FHEAP[_259] = _260;
        var _261 = _254+68+12;
        var _262 = FHEAP[_163];
        FHEAP[_261] = _262;
        var _263 = _254+68+16;
        var _264 = FHEAP[_164];
        FHEAP[_263] = _264;
        var _265 = _254+68+16+4;
        var _266 = FHEAP[_165];
        FHEAP[_265] = _266;
        var _267 = _254+68+16+8;
        var _268 = FHEAP[_166];
        FHEAP[_267] = _268;
        var _269 = _254+68+16+12;
        var _270 = FHEAP[_167];
        FHEAP[_269] = _270;
        var _271 = _254+68+32;
        var _272 = FHEAP[_168];
        FHEAP[_271] = _272;
        var _273 = _254+68+32+4;
        var _274 = FHEAP[_169];
        FHEAP[_273] = _274;
        var _275 = _254+68+32+8;
        var _276 = FHEAP[_170];
        FHEAP[_275] = _276;
        var _277 = _254+68+32+12;
        var _278 = FHEAP[_171];
        FHEAP[_277] = _278;
        var _279 = _254+68+48;
        var _280 = FHEAP[_172];
        FHEAP[_279] = _280;
        var _281 = _254+68+48+4;
        var _282 = FHEAP[_173];
        FHEAP[_281] = _282;
        var _283 = _254+68+48+8;
        var _284 = FHEAP[_174];
        FHEAP[_283] = _284;
        var _285 = _254+68+48+12;
        var _286 = FHEAP[_175];
        FHEAP[_285] = _286;
        var _287 = IHEAP[_2];
        var _288 = _287+192;
        var _289 = IHEAP[_288];
        IHEAP[_288] = _childShape;
        var _290 = _this+24;
        var _291 = IHEAP[_290];
        var _292 = _291+4*_index;
        var _293 = IHEAP[_292];
        var _294 = _293 == 0;
        ;
        if (_294) {
          ;
          var _295 = _this+12;
          var _296 = IHEAP[_295];
          var _297 = _296;
          var _298 = IHEAP[_297];
          var _299 = _298+8;
          var _300 = IHEAP[_299];
          var _301 = _this+28;
          var _302 = IHEAP[_301];
          var _303 = IHEAP[_181];
          var _304 = IHEAP[_2];
          var _305 = _300;
          var _306 = FUNCTION_TABLE[_305](_296, _304, _303, _302);
          IHEAP[_292] = _306;
          ;
        }
        var _307 = _this+20;
        var _308 = IHEAP[_307];
        var _309 = _308+136;
        var _310 = IHEAP[_309];
        var _311 = IHEAP[_2];
        var _312 = _310 == _311;
        var _313 = _308;
        var _314 = IHEAP[_313];
        ;
        if (_312) {
          ;
          var _315 = _314+8;
          var _316 = IHEAP[_315];
          var _317 = _316;
          FUNCTION_TABLE[_317](_308, -1, _index);
          ;
        }
        else {
          ;
          var _318 = _314+12;
          var _319 = IHEAP[_318];
          var _320 = _319;
          FUNCTION_TABLE[_320](_308, -1, _index);
          ;
        }
        var _321 = IHEAP[_290];
        var _322 = _321+4*_index;
        var _323 = IHEAP[_322];
        var _324 = _323;
        var _325 = IHEAP[_324];
        var _326 = _325+8;
        var _327 = IHEAP[_326];
        var _328 = IHEAP[_307];
        var _329 = _this+16;
        var _330 = IHEAP[_329];
        var _331 = IHEAP[_181];
        var _332 = IHEAP[_2];
        var _333 = _327;
        FUNCTION_TABLE[_333](_323, _332, _331, _330, _328);
        var _334 = IHEAP[_329];
        var _335 = _334+20;
        var _336 = IHEAP[_335];
        var _337 = _336 == 0;
        ;
        _bb13$_bb7$5802: do { 
          if (!_337) {
            ;
            var _338 = _336;
            var _339 = IHEAP[_338];
            var _340 = _339+48;
            var _341 = IHEAP[_340];
            var _342 = _341;
            var _343 = FUNCTION_TABLE[_342](_336);
            var _344 = _343 & 2;
            var _345 = _344 == 0;
            if (_345) { __label__ = 108; /* _bb13 */ break _bb13$_bb7$5802; }
            var _346 = IHEAP[_329];
            var _347 = _346+20;
            var _348 = IHEAP[_347];
            var _349 = _348;
            var _350 = IHEAP[_349];
            var _351 = _350+52;
            var _352 = IHEAP[_351];
            var _353 = _1;
            FHEAP[_353] = 1;
            var _354 = _1+4;
            FHEAP[_354] = 1;
            var _355 = _1+8;
            FHEAP[_355] = 1;
            var _356 = _1+12;
            FHEAP[_356] = 0;
            var _357 = IHEAP[_347];
            var _358 = _352;
            FUNCTION_TABLE[_358](_357, _aabbMin0, _aabbMax0, _1);
            var _359 = IHEAP[_329];
            var _360 = _359+20;
            var _361 = IHEAP[_360];
            var _362 = _361;
            var _363 = IHEAP[_362];
            var _364 = _363+52;
            var _365 = IHEAP[_364];
            var _366 = _0;
            FHEAP[_366] = 1;
            var _367 = _0+4;
            FHEAP[_367] = 1;
            var _368 = _0+8;
            FHEAP[_368] = 1;
            var _369 = _0+12;
            FHEAP[_369] = 0;
            var _370 = IHEAP[_360];
            var _371 = _365;
            FUNCTION_TABLE[_371](_370, _aabbMin1, _aabbMax1, _0);
            ;
          }
        } while(0);
        var _372 = IHEAP[_2];
        var _373 = _372+192;
        IHEAP[_373] = _289;
        var _374 = IHEAP[_2];
        var _375 = _374+4;
        FHEAP[_375] = _7;
        var _376 = _374+4+4;
        FHEAP[_376] = _9;
        var _377 = _374+4+8;
        FHEAP[_377] = _11;
        var _378 = _374+4+12;
        FHEAP[_378] = _13;
        var _379 = _374+4+16;
        FHEAP[_379] = _15;
        var _380 = _374+4+16+4;
        FHEAP[_380] = _17;
        var _381 = _374+4+16+8;
        FHEAP[_381] = _19;
        var _382 = _374+4+16+12;
        FHEAP[_382] = _21;
        var _383 = _374+4+32;
        FHEAP[_383] = _23;
        var _384 = _374+4+32+4;
        FHEAP[_384] = _25;
        var _385 = _374+4+32+8;
        FHEAP[_385] = _27;
        var _386 = _374+4+32+12;
        FHEAP[_386] = _29;
        var _387 = _374+4+48;
        FHEAP[_387] = _31;
        var _388 = _374+4+48+4;
        FHEAP[_388] = _33;
        var _389 = _374+4+48+8;
        FHEAP[_389] = _35;
        var _390 = _374+4+48+12;
        FHEAP[_390] = _37;
        var _391 = IHEAP[_2];
        var _392 = _391+68;
        FHEAP[_392] = _39;
        var _393 = _391+68+4;
        FHEAP[_393] = _41;
        var _394 = _391+68+8;
        FHEAP[_394] = _43;
        var _395 = _391+68+12;
        FHEAP[_395] = _45;
        var _396 = _391+68+16;
        FHEAP[_396] = _47;
        var _397 = _391+68+16+4;
        FHEAP[_397] = _49;
        var _398 = _391+68+16+8;
        FHEAP[_398] = _51;
        var _399 = _391+68+16+12;
        FHEAP[_399] = _53;
        var _400 = _391+68+32;
        FHEAP[_400] = _55;
        var _401 = _391+68+32+4;
        FHEAP[_401] = _57;
        var _402 = _391+68+32+8;
        FHEAP[_402] = _59;
        var _403 = _391+68+32+12;
        FHEAP[_403] = _61;
        var _404 = _391+68+48;
        FHEAP[_404] = _63;
        var _405 = _391+68+48+4;
        FHEAP[_405] = _65;
        var _406 = _391+68+48+8;
        FHEAP[_406] = _67;
        var _407 = _391+68+48+12;
        FHEAP[_407] = _69;
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN22btCompoundLeafCallback17ProcessChildShapeEP16btCollisionShapei.__index__ = Runtime.getFunctionIndex(__ZN22btCompoundLeafCallback17ProcessChildShapeEP16btCollisionShapei, "__ZN22btCompoundLeafCallback17ProcessChildShapeEP16btCollisionShapei");
  
  
  function __ZN20btAlignedObjectArrayIP20btCollisionAlgorithmE6resizeEiRKS1_(_this, _newsize, _fillData) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > _newsize;
    ;
    _bb12$_bb3$5808: do { 
      if (!_2) {
        ;
        var _3 = _1 < _newsize;
        if (!(_3)) { __label__ = 3; /* _bb12 */ break _bb12$_bb3$5808; }
        var _4 = _this+8;
        var _5 = IHEAP[_4];
        var _6 = _5 < _newsize;
        ;
        if (_6) {
          ;
          var _7 = _newsize == 0;
          ;
          if (_7) {
            __lastLabel__ = 131; ;
          }
          else {
            __lastLabel__ = 131; ;
            var _8 = _newsize << 2;
            var _9 = __Z22btAlignedAllocInternalji(_8, 16);
            var _phitmp_i = _9;
            var __pre = IHEAP[_0];
            __lastLabel__ = 215; ;
          }
          var _10 = __lastLabel__ == 215 ? __pre : (_1);
          var _11 = __lastLabel__ == 215 ? _phitmp_i : (0);
          var _12 = _10 > 0;
          ;
          _bb_nph_i_i$__ZNK20btAlignedObjectArrayIP20btCollisionAlgorithmE4copyEiiPS1__exit_i$5816: do { 
            if (_12) {
              ;
              var _13 = _this+12;
              __lastLabel__ = 217; ;
              _bb_i4_i$5818: while(1) { // _bb_i4_i
                var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
                var _scevgep_i_i = _11+4*_indvar_i_i;
                var _14 = _scevgep_i_i == 0;
                ;
                if (!_14) {
                  ;
                  var _15 = IHEAP[_13];
                  var _scevgep8_i_i = _15+4*_indvar_i_i;
                  var _16 = IHEAP[_scevgep8_i_i];
                  IHEAP[_scevgep_i_i] = _16;
                  ;
                }
                var _indvar_next_i_i = _indvar_i_i + 1;
                var _exitcond19 = _indvar_next_i_i == _10;
                if (_exitcond19) { __lastLabel__ = 324; __label__ = 1216; /* __ZNK20btAlignedObjectArrayIP20btCollisionAlgorithmE4copyEiiPS1__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayIP20btCollisionAlgorithmE4copyEiiPS1__exit_i$5816; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$5818; }
              }
            }
          } while(0);
          var _17 = _this+12;
          var _18 = IHEAP[_17];
          var _19 = _18 == 0;
          ;
          if (!_19) {
            ;
            var _20 = _this+16;
            var _21 = IHEAP[_20];
            var _toBool_i_i = _21 == 0;
            ;
            if (!_toBool_i_i) {
              ;
              var _22 = _18;
              __Z21btAlignedFreeInternalPv(_22);
              ;
            }
            IHEAP[_17] = 0;
            ;
          }
          var _23 = _this+16;
          IHEAP[_23] = 1;
          IHEAP[_17] = _11;
          IHEAP[_4] = _newsize;
          if (!(_3)) { __label__ = 3; /* _bb12 */ break _bb12$_bb3$5808; }
        }
        var _24 = _this+12;
        var _tmp = _newsize - _1;
        __lastLabel__ = 130; ;
        _bb7$5831: while(1) { // _bb7
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp17 = _1 + _indvar;
          var _25 = IHEAP[_24];
          var _scevgep18 = _25+4*_tmp17;
          var _26 = _scevgep18 == 0;
          ;
          if (!_26) {
            ;
            var _27 = IHEAP[_fillData];
            IHEAP[_scevgep18] = _27;
            ;
          }
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _tmp;
          if (_exitcond) { __lastLabel__ = 150; __label__ = 3; /* _bb12 */ break _bb12$_bb3$5808; } else { __lastLabel__ = 150; __label__ = 2; /* _bb7 */ continue _bb7$5831; }
        }
      }
    } while(0);
    IHEAP[_0] = _newsize;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIP20btCollisionAlgorithmE6resizeEiRKS1_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIP20btCollisionAlgorithmE6resizeEiRKS1_, "__ZN20btAlignedObjectArrayIP20btCollisionAlgorithmE6resizeEiRKS1_");
  
  
  function __ZN28btCompoundCollisionAlgorithm26preallocateChildAlgorithmsEP17btCollisionObjectS1_(_this, _body0, _body1) {
    var __stackBase__  = STACKTOP; STACKTOP += 1;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = _this+28;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    var _iftmp_284_0 = _toBool ? _body0 : _body1;
    var _iftmp_285_0 = _toBool ? _body1 : _body0;
    var _3 = _iftmp_284_0+192;
    var _4 = IHEAP[_3];
    var _5 = _4+12+4;
    var _6 = IHEAP[_5];
    IHEAP[_0] = 0;
    var _7 = _this+8;
    __ZN20btAlignedObjectArrayIP20btCollisionAlgorithmE6resizeEiRKS1_(_7, _6, _0);
    var _8 = _6 > 0;
    ;
    _bb_nph$_return$5838: do { 
      if (_8) {
        ;
        var _9 = _4+60+4;
        var _10 = _9;
        var _11 = _4+24;
        var _12 = _11;
        var _13 = _this+8+12;
        var _14 = _this+4;
        var _15 = _this+32;
        __lastLabel__ = 130; ;
        _bb7$5840: while(1) { // _bb7
          var _i_014 = __lastLabel__ == 130 ? 0 : (_31);
          var _16 = IHEAP[_10];
          var _17 = _16 == 0;
          ;
          if (_17) {
            ;
            var _19 = IHEAP[_3];
            var _20 = IHEAP[_12];
            var _scevgep15 = _20+80*_i_014+64;
            var _21 = IHEAP[_scevgep15];
            IHEAP[_3] = _21;
            var _22 = IHEAP[_13];
            var _23 = IHEAP[_14];
            var _24 = _23;
            var _25 = IHEAP[_24];
            var _26 = _25+8;
            var _27 = IHEAP[_26];
            var _28 = IHEAP[_15];
            var _29 = _27;
            var _30 = FUNCTION_TABLE[_29](_23, _iftmp_284_0, _iftmp_285_0, _28);
            var _scevgep = _22+4*_i_014;
            IHEAP[_scevgep] = _30;
            IHEAP[_3] = _19;
            ;
          }
          else {
            ;
            var _18 = IHEAP[_13];
            var _scevgep16 = _18+4*_i_014;
            IHEAP[_scevgep16] = 0;
            ;
          }
          var _31 = _i_014 + 1;
          var _exitcond = _31 == _6;
          if (_exitcond) { __lastLabel__ = 292; __label__ = 44; /* _return */ break _bb_nph$_return$5838; } else { __lastLabel__ = 292; __label__ = 2; /* _bb7 */ continue _bb7$5840; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN28btCompoundCollisionAlgorithm26preallocateChildAlgorithmsEP17btCollisionObjectS1_.__index__ = Runtime.getFunctionIndex(__ZN28btCompoundCollisionAlgorithm26preallocateChildAlgorithmsEP17btCollisionObjectS1_, "__ZN28btCompoundCollisionAlgorithm26preallocateChildAlgorithmsEP17btCollisionObjectS1_");
  
  
  function __ZN28btCompoundCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _body0, _body1, _dispatchInfo, _resultOut) {
    var __stackBase__  = STACKTOP; STACKTOP += 309;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _callback = __stackBase__+1;
    var _manifoldArray = __stackBase__+33;
    var _localAabbMin = __stackBase__+53;
    var _localAabbMax = __stackBase__+69;
    var _otherInCompoundSpace = __stackBase__+85;
    var _bounds = __stackBase__+149;
    var _newChildWorldTrans = __stackBase__+181;
    var _aabbMin0 = __stackBase__+245;
    var _aabbMax0 = __stackBase__+261;
    var _aabbMin1 = __stackBase__+277;
    var _aabbMax1 = __stackBase__+293;
    var _1 = _this+28;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    var _iftmp_296_0 = _toBool ? _body0 : _body1;
    var _iftmp_297_0 = _toBool ? _body1 : _body0;
    var _3 = _iftmp_296_0+192;
    var _4 = IHEAP[_3];
    var _5 = _4+60+8;
    var _6 = _5;
    var _7 = IHEAP[_6];
    var _8 = _this+40;
    var _9 = IHEAP[_8];
    var _10 = _7 == _9;
    ;
    _bb9$_bb8$5848: do { 
      if (!_10) {
        ;
        var _11 = _this+8+4;
        var _12 = IHEAP[_11];
        var _13 = _12 > 0;
        ;
        if (_13) {
          __lastLabel__ = 148; ;
          var _14 = _this+8+12;
          var _15 = _this+4;
          __lastLabel__ = 418; ;
          _bb_i$5852: while(1) { // _bb_i
            var _i_05_i = __lastLabel__ == 418 ? 0 : (_32);
            var _16 = IHEAP[_14];
            var _scevgep_i = _16+4*_i_05_i;
            var _17 = IHEAP[_scevgep_i];
            var _18 = _17 == 0;
            ;
            if (!_18) {
              ;
              var _19 = _17;
              var _20 = IHEAP[_19];
              var _21 = IHEAP[_20];
              var _22 = _21;
              FUNCTION_TABLE[_22](_17);
              var _23 = IHEAP[_15];
              var _24 = _23;
              var _25 = IHEAP[_24];
              var _26 = _25+52;
              var _27 = IHEAP[_26];
              var _28 = IHEAP[_14];
              var _scevgep6_i = _28+4*_i_05_i;
              var _29 = IHEAP[_scevgep6_i];
              var _30 = _27;
              var _31 = _29;
              FUNCTION_TABLE[_30](_23, _31);
              ;
            }
            var _32 = _i_05_i + 1;
            var _exitcond183 = _32 == _12;
            if (_exitcond183) { __lastLabel__ = 132; __label__ = 1223; /* __ZN28btCompoundCollisionAlgorithm21removeChildAlgorithmsEv_exit_loopexit */ break _bb_i$5852; } else { __lastLabel__ = 132; __label__ = 131; /* _bb_i */ continue _bb_i$5852; }
          }
          var __pre = IHEAP[_1];
          __lastLabel__ = 1223; ;
        }
        else {
          __lastLabel__ = 148; ;
        }
        var _33 = __lastLabel__ == 1223 ? __pre : (_2);
        var _toBool_i = _33 == 0;
        var _iftmp_284_0_i = _toBool_i ? _body0 : _body1;
        var _iftmp_285_0_i = _toBool_i ? _body1 : _body0;
        var _34 = _iftmp_284_0_i+192;
        var _35 = IHEAP[_34];
        var _36 = _35+12+4;
        var _37 = IHEAP[_36];
        IHEAP[_0] = 0;
        var _38 = _this+8;
        __ZN20btAlignedObjectArrayIP20btCollisionAlgorithmE6resizeEiRKS1_(_38, _37, _0);
        var _39 = _37 > 0;
        if (!(_39)) { __label__ = 62; /* _bb9 */ break _bb9$_bb8$5848; }
        var _40 = _35+60+4;
        var _41 = _40;
        var _42 = _35+24;
        var _43 = _42;
        var _44 = _this+8+12;
        var _45 = _this+4;
        var _46 = _this+32;
        __lastLabel__ = 1225; ;
        _bb7_i$5860: while(1) { // _bb7_i
          var _i_014_i = __lastLabel__ == 1225 ? 0 : (_62);
          var _47 = IHEAP[_41];
          var _48 = _47 == 0;
          ;
          if (_48) {
            ;
            var _50 = IHEAP[_34];
            var _51 = IHEAP[_43];
            var _scevgep15_i = _51+80*_i_014_i+64;
            var _52 = IHEAP[_scevgep15_i];
            IHEAP[_34] = _52;
            var _53 = IHEAP[_44];
            var _54 = IHEAP[_45];
            var _55 = _54;
            var _56 = IHEAP[_55];
            var _57 = _56+8;
            var _58 = IHEAP[_57];
            var _59 = IHEAP[_46];
            var _60 = _58;
            var _61 = FUNCTION_TABLE[_60](_54, _iftmp_284_0_i, _iftmp_285_0_i, _59);
            var _scevgep_i104 = _53+4*_i_014_i;
            IHEAP[_scevgep_i104] = _61;
            IHEAP[_34] = _50;
            ;
          }
          else {
            ;
            var _49 = IHEAP[_44];
            var _scevgep16_i = _49+4*_i_014_i;
            IHEAP[_scevgep16_i] = 0;
            ;
          }
          var _62 = _i_014_i + 1;
          var _exitcond = _62 == _37;
          if (_exitcond) { __lastLabel__ = 1057; __label__ = 62; /* _bb9 */ break _bb9$_bb8$5848; } else { __lastLabel__ = 1057; __label__ = 137; /* _bb7_i */ continue _bb7_i$5860; }
        }
      }
    } while(0);
    var _63 = _4+60+4;
    var _64 = _63;
    var _65 = IHEAP[_64];
    var _66 = _this+32;
    var _67 = IHEAP[_66];
    var _68 = _this+8+12;
    var _69 = IHEAP[_68];
    var _70 = _this+4;
    var _71 = IHEAP[_70];
    var _72 = _callback;
    IHEAP[_72] = __ZTV22btCompoundLeafCallback+8;
    var _73 = _callback+4;
    IHEAP[_73] = _iftmp_296_0;
    var _74 = _callback+8;
    IHEAP[_74] = _iftmp_297_0;
    var _75 = _callback+12;
    IHEAP[_75] = _71;
    var _76 = _callback+16;
    IHEAP[_76] = _dispatchInfo;
    var _77 = _callback+20;
    IHEAP[_77] = _resultOut;
    var _78 = _callback+24;
    IHEAP[_78] = _69;
    var _79 = _callback+28;
    IHEAP[_79] = _67;
    var _80 = _manifoldArray+16;
    IHEAP[_80] = 1;
    var _81 = _manifoldArray+12;
    IHEAP[_81] = 0;
    var _82 = _manifoldArray+4;
    IHEAP[_82] = 0;
    var _83 = _manifoldArray+8;
    IHEAP[_83] = 0;
    var _84 = _this+8+4;
    var _85 = _resultOut+4;
    var _86 = _resultOut+136;
    var _87 = _resultOut+72;
    var _88 = _resultOut+8;
    __lastLabel__ = 62; ;
    _bb24$5867: while(1) { // _bb24
      var _117 = __lastLabel__ == 419 ? _116 : (0);
      var _118 = IHEAP[_84];
      var _119 = _118 > _117;
      if (!(_119)) { __label__ = 1230; /* _invcont30 */ break _bb24$5867; }
      var _89 = IHEAP[_68];
      var _scevgep208 = _89+4*_117;
      var _90 = IHEAP[_scevgep208];
      var _91 = _90 == 0;
      ;
      if (!_91) {
        ;
        var _92 = _90;
        var _93 = IHEAP[_92];
        var _94 = _93+16;
        var _95 = IHEAP[_94];
        var _96 = _95;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_96](_90, _manifoldArray) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3; ; } else { __lastLabel__ = 3; __label__ = 3870; /* _lpad76 */ break _bb24$5867; }
        _bb19$5872: while(1) { // _bb19
          var _109 = __lastLabel__ == 86 ? _108 : (0);
          var _110 = IHEAP[_82];
          var _111 = _110 > _109;
          var _112 = IHEAP[_81];
          if (!(_111)) { __label__ = 110; /* _bb21 */ break _bb19$5872; }
          var _scevgep206 = _112+4*_109;
          var _97 = IHEAP[_scevgep206];
          var _98 = _97+1116;
          var _99 = IHEAP[_98];
          var _100 = _99 == 0;
          ;
          if (!_100) {
            ;
            IHEAP[_85] = _97;
            var _101 = IHEAP[_98];
            var _102 = _101 == 0;
            ;
            if (!_102) {
              ;
              var _103 = _97+1108;
              var _104 = IHEAP[_103];
              var _105 = IHEAP[_86];
              var _106 = _105;
              var _107 = _104 == _106;
              ;
              if (_107) {
                ;
                (function() { try { __THREW__ = false; return __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_97, _88, _87) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3870; /* _lpad76 */ break _bb24$5867; }
              }
              else {
                ;
                (function() { try { __THREW__ = false; return __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_97, _87, _88) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3870; /* _lpad76 */ break _bb24$5867; }
              }
            }
            IHEAP[_85] = 0;
            ;
          }
          var _108 = _109 + 1;
          __lastLabel__ = 86; __label__ = 64; /* _bb19 */ continue _bb19$5872;
        }
        var _113 = _112 == 0;
        ;
        if (!_113) {
          ;
          var _114 = IHEAP[_80];
          var _toBool_i_i = _114 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _115 = _112;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_115) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3870; /* _lpad76 */ break _bb24$5867; }
          }
          IHEAP[_81] = 0;
          ;
        }
        IHEAP[_80] = 1;
        IHEAP[_81] = 0;
        IHEAP[_82] = 0;
        IHEAP[_83] = 0;
        ;
      }
      var _116 = _117 + 1;
      __lastLabel__ = 419; __label__ = 65; /* _bb24 */ continue _bb24$5867;
    }
    if (__label__ == 3870) {
      var _eh_ptr77 = _llvm_eh_exception();
      var _eh_select79 = _llvm_eh_selector(_eh_ptr77, ___gxx_personality_v0, 0);
      var _493 = IHEAP[_81];
      var _494 = _493 == 0;
      ;
      if (!_494) {
        ;
        var _495 = IHEAP[_80];
        var _toBool_i_i_i97 = _495 == 0;
        ;
        _bb2_i_i_i100$_bb1_i_i_i99$5896: do { 
          if (!_toBool_i_i_i97) {
            ;
            var _496 = _493;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_496) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3875; /* _bb2_i_i_i100 */ break _bb2_i_i_i100$_bb1_i_i_i99$5896; } else { ; }
            var _eh_ptr81 = _llvm_eh_exception();
            var _eh_select83 = _llvm_eh_selector(_eh_ptr81, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_81] = 0;
        ;
      }
      IHEAP[_80] = 1;
      IHEAP[_81] = 0;
      IHEAP[_82] = 0;
      IHEAP[_83] = 0;
      __lastLabel__ = 1242; ;
    }
    else if (__label__ == 1230) {
      IHEAP[_80] = 1;
      IHEAP[_81] = 0;
      IHEAP[_82] = 0;
      IHEAP[_83] = 0;
      var _120 = _65 == 0;
      ;
      _bb36$_invcont33$5902: do { 
        if (_120) {
          ;
          var _300 = IHEAP[_84];
          var _301 = _4+24;
          var _302 = _301;
          __lastLabel__ = 251; ;
          _bb41$5904: while(1) { // _bb41
            var _306 = __lastLabel__ == 251 ? 0 : (_305);
            var _307 = _306 < _300;
            if (!(_307)) { __label__ = 1232; /* _invcont46 */ break _bb36$_invcont33$5902; }
            var _303 = IHEAP[_302];
            var _scevgep203 = _303+80*_306+64;
            var _304 = IHEAP[_scevgep203];
            (function() { try { __THREW__ = false; return __ZN22btCompoundLeafCallback17ProcessChildShapeEP16btCollisionShapei(_callback, _304, _306) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb36$_invcont33$5902; }
            var _305 = _306 + 1;
            __lastLabel__ = 472; __label__ = 253; /* _bb41 */ continue _bb41$5904;
          }
        }
        else {
          ;
          var _121 = _iftmp_296_0+4+32+8;
          var _122 = _iftmp_296_0+4+16+8;
          var _123 = _iftmp_296_0+4+8;
          var _124 = _iftmp_296_0+4+32+4;
          var _125 = _iftmp_296_0+4+16+4;
          var _126 = _iftmp_296_0+4+4;
          var _127 = _iftmp_296_0+4+32;
          var _128 = _iftmp_296_0+4+16;
          var _129 = _iftmp_296_0+4;
          var _130 = FHEAP[_129];
          var _131 = FHEAP[_128];
          var _132 = FHEAP[_127];
          var _133 = FHEAP[_126];
          var _134 = FHEAP[_125];
          var _135 = FHEAP[_124];
          var _136 = FHEAP[_123];
          var _137 = FHEAP[_122];
          var _138 = FHEAP[_121];
          var _139 = _iftmp_296_0+4+48+8;
          var _140 = FHEAP[_139];
          var _141 = 0 - _140;
          var _142 = _iftmp_296_0+4+48+4;
          var _143 = FHEAP[_142];
          var _144 = 0 - _143;
          var _145 = _iftmp_296_0+4+48;
          var _146 = FHEAP[_145];
          var _147 = 0 - _146;
          var _148 = _iftmp_297_0+4+48;
          var _149 = FHEAP[_148];
          var _150 = _iftmp_297_0+4+48+4;
          var _151 = FHEAP[_150];
          var _152 = _iftmp_297_0+4+48+8;
          var _153 = FHEAP[_152];
          var _154 = _iftmp_297_0+4+8;
          var _155 = FHEAP[_154];
          var _156 = _iftmp_297_0+4+16+8;
          var _157 = FHEAP[_156];
          var _158 = _iftmp_297_0+4+32+8;
          var _159 = FHEAP[_158];
          var _160 = _iftmp_297_0+4+4;
          var _161 = FHEAP[_160];
          var _162 = _iftmp_297_0+4+16+4;
          var _163 = FHEAP[_162];
          var _164 = _iftmp_297_0+4+32+4;
          var _165 = FHEAP[_164];
          var _166 = _iftmp_297_0+4;
          var _167 = FHEAP[_166];
          var _168 = _iftmp_297_0+4+16;
          var _169 = FHEAP[_168];
          var _170 = _iftmp_297_0+4+32;
          var _171 = FHEAP[_170];
          var _172 = _131 * _151;
          var _173 = _130 * _149;
          var _174 = _134 * _151;
          var _175 = _133 * _149;
          var _176 = _137 * _151;
          var _177 = _136 * _149;
          var _178 = _136 * _147;
          var _179 = _137 * _144;
          var _180 = _133 * _147;
          var _181 = _134 * _144;
          var _182 = _130 * _147;
          var _183 = _131 * _144;
          var _184 = _169 * _131;
          var _185 = _167 * _130;
          var _186 = _163 * _131;
          var _187 = _161 * _130;
          var _188 = _157 * _131;
          var _189 = _155 * _130;
          var _190 = _169 * _134;
          var _191 = _167 * _133;
          var _192 = _163 * _134;
          var _193 = _161 * _133;
          var _194 = _157 * _134;
          var _195 = _155 * _133;
          var _196 = _169 * _137;
          var _197 = _167 * _136;
          var _198 = _163 * _137;
          var _199 = _161 * _136;
          var _200 = _157 * _137;
          var _201 = _155 * _136;
          var _202 = _132 * _153;
          var _203 = _173 + _172;
          var _204 = _135 * _153;
          var _205 = _175 + _174;
          var _206 = _138 * _153;
          var _207 = _177 + _176;
          var _208 = _178 + _179;
          var _209 = _138 * _141;
          var _210 = _180 + _181;
          var _211 = _135 * _141;
          var _212 = _182 + _183;
          var _213 = _132 * _141;
          var _214 = _171 * _132;
          var _215 = _185 + _184;
          var _216 = _165 * _132;
          var _217 = _187 + _186;
          var _218 = _159 * _132;
          var _219 = _189 + _188;
          var _220 = _171 * _135;
          var _221 = _191 + _190;
          var _222 = _165 * _135;
          var _223 = _193 + _192;
          var _224 = _159 * _135;
          var _225 = _195 + _194;
          var _226 = _171 * _138;
          var _227 = _197 + _196;
          var _228 = _165 * _138;
          var _229 = _199 + _198;
          var _230 = _159 * _138;
          var _231 = _201 + _200;
          var _232 = _203 + _202;
          var _233 = _205 + _204;
          var _234 = _207 + _206;
          var _235 = _208 + _209;
          var _236 = _210 + _211;
          var _237 = _212 + _213;
          var _238 = _215 + _214;
          var _239 = _217 + _216;
          var _240 = _219 + _218;
          var _241 = _221 + _220;
          var _242 = _223 + _222;
          var _243 = _225 + _224;
          var _244 = _227 + _226;
          var _245 = _229 + _228;
          var _246 = _231 + _230;
          var _247 = _232 + _237;
          var _248 = _233 + _236;
          var _249 = _234 + _235;
          var _250 = _otherInCompoundSpace;
          FHEAP[_250] = _238;
          var _251 = _otherInCompoundSpace+4;
          FHEAP[_251] = _239;
          var _252 = _otherInCompoundSpace+8;
          FHEAP[_252] = _240;
          var _253 = _otherInCompoundSpace+12;
          FHEAP[_253] = 0;
          var _254 = _otherInCompoundSpace+16;
          FHEAP[_254] = _241;
          var _255 = _otherInCompoundSpace+16+4;
          FHEAP[_255] = _242;
          var _256 = _otherInCompoundSpace+16+8;
          FHEAP[_256] = _243;
          var _257 = _otherInCompoundSpace+16+12;
          FHEAP[_257] = 0;
          var _258 = _otherInCompoundSpace+32;
          FHEAP[_258] = _244;
          var _259 = _otherInCompoundSpace+32+4;
          FHEAP[_259] = _245;
          var _260 = _otherInCompoundSpace+32+8;
          FHEAP[_260] = _246;
          var _261 = _otherInCompoundSpace+32+12;
          FHEAP[_261] = 0;
          var _262 = _otherInCompoundSpace+48;
          FHEAP[_262] = _247;
          var _263 = _otherInCompoundSpace+48+4;
          FHEAP[_263] = _248;
          var _264 = _otherInCompoundSpace+48+8;
          FHEAP[_264] = _249;
          var _265 = _otherInCompoundSpace+48+12;
          FHEAP[_265] = 0;
          var _266 = _iftmp_297_0+192;
          var _267 = IHEAP[_266];
          var _268 = _267;
          var _269 = IHEAP[_268];
          var _270 = _269+8;
          var _271 = IHEAP[_270];
          var _272 = _271;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_272](_267, _otherInCompoundSpace, _localAabbMin, _localAabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb36$_invcont33$5902; }
          var _273 = _bounds;
          var _274 = _localAabbMin;
          var _275 = FHEAP[_274];
          FHEAP[_273] = _275;
          var _276 = _bounds+4;
          var _277 = _localAabbMin+4;
          var _278 = FHEAP[_277];
          FHEAP[_276] = _278;
          var _279 = _bounds+8;
          var _280 = _localAabbMin+8;
          var _281 = FHEAP[_280];
          FHEAP[_279] = _281;
          var _282 = _bounds+12;
          var _283 = _localAabbMin+12;
          var _284 = FHEAP[_283];
          FHEAP[_282] = _284;
          var _285 = _bounds+16;
          var _286 = _localAabbMax;
          var _287 = FHEAP[_286];
          FHEAP[_285] = _287;
          var _288 = _bounds+16+4;
          var _289 = _localAabbMax+4;
          var _290 = FHEAP[_289];
          FHEAP[_288] = _290;
          var _291 = _bounds+16+8;
          var _292 = _localAabbMax+8;
          var _293 = FHEAP[_292];
          FHEAP[_291] = _293;
          var _294 = _bounds+16+12;
          var _295 = _localAabbMax+12;
          var _296 = FHEAP[_295];
          FHEAP[_294] = _296;
          var _297 = _65;
          var _298 = IHEAP[_297];
          var _299 = _callback;
          (function() { try { __THREW__ = false; return __ZN6btDbvt9collideTVEPK10btDbvtNodeRK12btDbvtAabbMmRNS_8ICollideE(_65, _298, _bounds, _299) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1232; /* _invcont46 */ break _bb36$_invcont33$5902; } else { __label__ = 254; /* _lpad */ break _bb36$_invcont33$5902; }
        }
      } while(0);
      if (__label__ == 254) {
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select75 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __lastLabel__ = 254; ;
      }
      else if (__label__ == 1232) {
        var _308 = IHEAP[_84];
        var _309 = _4+24;
        var _310 = _309;
        var _311 = _iftmp_296_0+4;
        var _312 = _iftmp_296_0+4+4;
        var _313 = _iftmp_296_0+4+8;
        var _314 = _iftmp_296_0+4+16;
        var _315 = _iftmp_296_0+4+16+4;
        var _316 = _iftmp_296_0+4+16+8;
        var _317 = _iftmp_296_0+4+32;
        var _318 = _iftmp_296_0+4+32+4;
        var _319 = _iftmp_296_0+4+32+8;
        var _320 = _iftmp_296_0+4+48;
        var _321 = _iftmp_296_0+4+48+4;
        var _322 = _iftmp_296_0+4+48+8;
        var _323 = _newChildWorldTrans;
        var _324 = _newChildWorldTrans+4;
        var _325 = _newChildWorldTrans+8;
        var _326 = _newChildWorldTrans+12;
        var _327 = _newChildWorldTrans+16;
        var _328 = _newChildWorldTrans+16+4;
        var _329 = _newChildWorldTrans+16+8;
        var _330 = _newChildWorldTrans+16+12;
        var _331 = _newChildWorldTrans+32;
        var _332 = _newChildWorldTrans+32+4;
        var _333 = _newChildWorldTrans+32+8;
        var _334 = _newChildWorldTrans+32+12;
        var _335 = _newChildWorldTrans+48;
        var _336 = _newChildWorldTrans+48+4;
        var _337 = _newChildWorldTrans+48+8;
        var _338 = _newChildWorldTrans+48+12;
        var _339 = _iftmp_297_0+192;
        var _340 = _iftmp_297_0+4;
        var _341 = _aabbMin0;
        var _342 = _aabbMax1;
        var _343 = _aabbMin0+8;
        var _344 = _aabbMax1+8;
        var _345 = _aabbMin0+4;
        var _346 = _aabbMax1+4;
        var _347 = _aabbMax0+4;
        var _348 = _aabbMin1+4;
        var _349 = _aabbMax0+8;
        var _350 = _aabbMin1+8;
        var _351 = _aabbMax0;
        var _352 = _aabbMin1;
        __lastLabel__ = 1232; ;
        _bb62$5913: while(1) { // _bb62
          var _491 = __lastLabel__ == 1232 ? 0 : (_490);
          var _492 = _491 < _308;
          if (!(_492)) { __label__ = 12; /* _bb73 */ break _bb62$5913; }
          var _353 = IHEAP[_68];
          var _scevgep198 = _353+4*_491;
          var _354 = IHEAP[_scevgep198];
          var _355 = _354 == 0;
          ;
          _bb61$_invcont52$5916: do { 
            if (!_355) {
              ;
              var _356 = IHEAP[_310];
              var _scevgep199 = _356+80*_491+64;
              var _357 = IHEAP[_scevgep199];
              var _358 = FHEAP[_311];
              var _359 = FHEAP[_312];
              var _360 = FHEAP[_313];
              var _361 = FHEAP[_314];
              var _362 = FHEAP[_315];
              var _363 = FHEAP[_316];
              var _364 = FHEAP[_317];
              var _365 = FHEAP[_318];
              var _366 = FHEAP[_319];
              var _scevgep197 = _356+80*_491+48;
              var _367 = FHEAP[_scevgep197];
              var _scevgep196 = _356+80*_491+48+4;
              var _368 = FHEAP[_scevgep196];
              var _scevgep195 = _356+80*_491+48+8;
              var _369 = FHEAP[_scevgep195];
              var _scevgep194 = _356+80*_491+8;
              var _370 = FHEAP[_scevgep194];
              var _scevgep193 = _356+80*_491+16+8;
              var _371 = FHEAP[_scevgep193];
              var _scevgep192 = _356+80*_491+32+8;
              var _372 = FHEAP[_scevgep192];
              var _scevgep191 = _356+80*_491+4;
              var _373 = FHEAP[_scevgep191];
              var _scevgep190 = _356+80*_491+16+4;
              var _374 = FHEAP[_scevgep190];
              var _scevgep189 = _356+80*_491+32+4;
              var _375 = FHEAP[_scevgep189];
              var _scevgep187188 = _356+80*_491;
              var _376 = FHEAP[_scevgep187188];
              var _scevgep185186 = _356+80*_491+16;
              var _377 = FHEAP[_scevgep185186];
              var _scevgep184 = _356+80*_491+32;
              var _378 = FHEAP[_scevgep184];
              var _379 = _359 * _368;
              var _380 = _358 * _367;
              var _381 = _362 * _368;
              var _382 = _361 * _367;
              var _383 = _365 * _368;
              var _384 = _364 * _367;
              var _385 = _377 * _359;
              var _386 = _376 * _358;
              var _387 = _374 * _359;
              var _388 = _373 * _358;
              var _389 = _371 * _359;
              var _390 = _370 * _358;
              var _391 = _377 * _362;
              var _392 = _376 * _361;
              var _393 = _374 * _362;
              var _394 = _373 * _361;
              var _395 = _371 * _362;
              var _396 = _370 * _361;
              var _397 = _377 * _365;
              var _398 = _376 * _364;
              var _399 = _374 * _365;
              var _400 = _373 * _364;
              var _401 = _371 * _365;
              var _402 = _370 * _364;
              var _403 = _360 * _369;
              var _404 = _380 + _379;
              var _405 = _363 * _369;
              var _406 = _382 + _381;
              var _407 = _366 * _369;
              var _408 = _384 + _383;
              var _409 = _378 * _360;
              var _410 = _386 + _385;
              var _411 = _375 * _360;
              var _412 = _388 + _387;
              var _413 = _372 * _360;
              var _414 = _390 + _389;
              var _415 = _378 * _363;
              var _416 = _392 + _391;
              var _417 = _375 * _363;
              var _418 = _394 + _393;
              var _419 = _372 * _363;
              var _420 = _396 + _395;
              var _421 = _378 * _366;
              var _422 = _398 + _397;
              var _423 = _375 * _366;
              var _424 = _400 + _399;
              var _425 = _372 * _366;
              var _426 = _402 + _401;
              var _427 = _404 + _403;
              var _428 = _406 + _405;
              var _429 = _408 + _407;
              var _430 = FHEAP[_320];
              var _431 = FHEAP[_321];
              var _432 = FHEAP[_322];
              var _433 = _410 + _409;
              var _434 = _412 + _411;
              var _435 = _414 + _413;
              var _436 = _416 + _415;
              var _437 = _418 + _417;
              var _438 = _420 + _419;
              var _439 = _422 + _421;
              var _440 = _424 + _423;
              var _441 = _426 + _425;
              var _442 = _427 + _430;
              var _443 = _428 + _431;
              var _444 = _429 + _432;
              FHEAP[_323] = _433;
              FHEAP[_324] = _434;
              FHEAP[_325] = _435;
              FHEAP[_326] = 0;
              FHEAP[_327] = _436;
              FHEAP[_328] = _437;
              FHEAP[_329] = _438;
              FHEAP[_330] = 0;
              FHEAP[_331] = _439;
              FHEAP[_332] = _440;
              FHEAP[_333] = _441;
              FHEAP[_334] = 0;
              FHEAP[_335] = _442;
              FHEAP[_336] = _443;
              FHEAP[_337] = _444;
              FHEAP[_338] = 0;
              var _445 = _357;
              var _446 = IHEAP[_445];
              var _447 = _446+8;
              var _448 = IHEAP[_447];
              var _449 = _448;
              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_449](_357, _newChildWorldTrans, _aabbMin0, _aabbMax0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 1243; /* __ZN20btAlignedObjectArrayIP20btPersistentManifoldED1Ev_exit */ break _bb62$5913; }
              var _450 = IHEAP[_339];
              var _451 = _450;
              var _452 = IHEAP[_451];
              var _453 = _452+8;
              var _454 = IHEAP[_453];
              var _455 = _454;
              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_455](_450, _340, _aabbMin1, _aabbMax1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 1243; /* __ZN20btAlignedObjectArrayIP20btPersistentManifoldED1Ev_exit */ break _bb62$5913; }
              var _456 = FHEAP[_341];
              var _457 = FHEAP[_342];
              var _458 = _456 > _457;
              ;
              _bb2_i113$_bb_i112$5920: do { 
                if (_458) {
                  __label__ = 1234; /* _bb2_i113 */ 
                }
                else {
                  ;
                  var _459 = FHEAP[_351];
                  var _460 = FHEAP[_352];
                  var _461 = _459 < _460;
                  if (_461) { __lastLabel__ = 1233; __label__ = 1234; /* _bb2_i113 */ break _bb2_i113$_bb_i112$5920; } else { __lastLabel__ = 1233; __label__ = 133; /* _bb3_i */ break _bb2_i113$_bb_i112$5920; }
                }
              } while(0);
              if (__label__ == 1234) {
                __lastLabel__ = 1234; ;
              }
              var _iftmp_164_0_i = __lastLabel__ == 1234 ? 0 : (1);
              var _462 = FHEAP[_343];
              var _463 = FHEAP[_344];
              var _464 = _462 > _463;
              ;
              _bb6_i$_bb4_i$5925: do { 
                if (_464) {
                  __label__ = 136; /* _bb6_i */ 
                }
                else {
                  ;
                  var _465 = FHEAP[_349];
                  var _466 = FHEAP[_350];
                  var _467 = _465 < _466;
                  if (_467) { __lastLabel__ = 135; __label__ = 136; /* _bb6_i */ break _bb6_i$_bb4_i$5925; } else { __lastLabel__ = 135; __label__ = 1236; /* _bb7_i114 */ break _bb6_i$_bb4_i$5925; }
                }
              } while(0);
              if (__label__ == 136) {
                __lastLabel__ = 136; ;
              }
              var _iftmp_165_0_i = __lastLabel__ == 136 ? 0 : (_iftmp_164_0_i);
              var _468 = FHEAP[_345];
              var _469 = FHEAP[_346];
              var _470 = _468 > _469;
              ;
              if (!_470) {
                ;
                var _471 = FHEAP[_347];
                var _472 = FHEAP[_348];
                var _473 = _471 < _472;
                var _phitmp178 = _iftmp_165_0_i == 0;
                var _phitmp = _473 | _phitmp178;
                if (!(_phitmp)) { __label__ = 482; /* _bb61 */ break _bb61$_invcont52$5916; }
              }
              var _474 = IHEAP[_68];
              var _scevgep200 = _474+4*_491;
              var _475 = IHEAP[_scevgep200];
              var _476 = _475;
              var _477 = IHEAP[_476];
              var _478 = IHEAP[_477];
              var _479 = _478;
              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_479](_475) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 1243; /* __ZN20btAlignedObjectArrayIP20btPersistentManifoldED1Ev_exit */ break _bb62$5913; }
              var _480 = IHEAP[_70];
              var _481 = _480;
              var _482 = IHEAP[_481];
              var _483 = _482+52;
              var _484 = IHEAP[_483];
              var _485 = IHEAP[_68];
              var _scevgep201 = _485+4*_491;
              var _486 = IHEAP[_scevgep201];
              var _487 = _484;
              var _488 = _486;
              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_487](_480, _488) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 1243; /* __ZN20btAlignedObjectArrayIP20btPersistentManifoldED1Ev_exit */ break _bb62$5913; }
              var _489 = IHEAP[_68];
              var _scevgep202 = _489+4*_491;
              IHEAP[_scevgep202] = 0;
              ;
            }
          } while(0);
          var _490 = _491 + 1;
          __lastLabel__ = 482; __label__ = 1027; /* _bb62 */ continue _bb62$5913;
        }
        if (__label__ == 12) {
          STACKTOP = __stackBase__;
          return;
        }
        else if (__label__ == 1243) {
          var _eh_ptr85 = _llvm_eh_exception();
          var _eh_select87 = _llvm_eh_selector(_eh_ptr85, ___gxx_personality_v0, 0);
          __lastLabel__ = 1243; ;
        }
      }
    }
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (__lastLabel__ == 1242 ? _eh_ptr77 : (_eh_ptr85));
    IHEAP[_72] = __ZTV22btCompoundLeafCallback+8;
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  __ZN28btCompoundCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN28btCompoundCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN28btCompoundCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN28btCompoundCollisionAlgorithmD0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btCompoundCollisionAlgorithm+8;
    var _1 = _this+8+4;
    var _2 = IHEAP[_1];
    var _3 = _2 > 0;
    ;
    _bb_nph_i$_bb3$5941: do { 
      if (_3) {
        ;
        var _4 = _this+8+12;
        var _5 = _this+4;
        __lastLabel__ = 418; ;
        _bb_i$5943: while(1) { // _bb_i
          var _i_05_i = __lastLabel__ == 418 ? 0 : (_tmp);
          var _tmp = _i_05_i + 1;
          var _6 = IHEAP[_4];
          var _scevgep_i = _6+4*_i_05_i;
          var _7 = IHEAP[_scevgep_i];
          var _8 = _7 == 0;
          ;
          if (!_8) {
            ;
            var _9 = _7;
            var _10 = IHEAP[_9];
            var _11 = IHEAP[_10];
            var _12 = _11;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3770; /* _lpad18 */ break _bb_i$5943; }
            var _13 = IHEAP[_5];
            var _14 = _13;
            var _15 = IHEAP[_14];
            var _16 = _15+52;
            var _17 = IHEAP[_16];
            var _18 = IHEAP[_4];
            var _scevgep6_i = _18+4*_i_05_i;
            var _19 = IHEAP[_scevgep6_i];
            var _20 = _17;
            var _21 = _19;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_20](_13, _21) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3770; /* _lpad18 */ break _bb_i$5943; }
          }
          var _exitcond_i = _tmp == _2;
          if (_exitcond_i) { __lastLabel__ = 132; __label__ = 116; /* _bb3 */ break _bb_nph_i$_bb3$5941; } else { __lastLabel__ = 132; __label__ = 131; /* _bb_i */ continue _bb_i$5943; }
        }
        var _eh_ptr19 = _llvm_eh_exception();
        var _eh_select21 = _llvm_eh_selector(_eh_ptr19, ___gxx_personality_v0, 0);
        var _32 = IHEAP[_4];
        var _33 = _32 == 0;
        ;
        if (!_33) {
          ;
          var _34 = _this+8+16;
          var _35 = IHEAP[_34];
          var _toBool_i_i_i36 = _35 == 0;
          ;
          _bb2_i_i_i39$_bb1_i_i_i38$5952: do { 
            if (!_toBool_i_i_i36) {
              ;
              var _36 = _32;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_36) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3878; /* _bb2_i_i_i39 */ break _bb2_i_i_i39$_bb1_i_i_i38$5952; } else { ; }
              var _eh_ptr23 = _llvm_eh_exception();
              var _eh_select25 = _llvm_eh_selector(_eh_ptr23, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_4] = 0;
          ;
        }
        var _37 = _this+8+16;
        IHEAP[_37] = 1;
        IHEAP[_4] = 0;
        IHEAP[_1] = 0;
        var _38 = _this+8+8;
        IHEAP[_38] = 0;
        __lastLabel__ = 1246; __label__ = 45; /* _ppad */ break _bb_nph_i$_bb3$5941;
      }
      else {
        __label__ = 116; /* _bb3 */ 
      }
    } while(0);
    _bb3$_ppad$5957: do { 
      if (__label__ == 116) {
        var _22 = _this+8+12;
        var _23 = IHEAP[_22];
        var _24 = _23 == 0;
        ;
        if (!_24) {
          ;
          var _25 = _this+8+16;
          var _26 = IHEAP[_25];
          var _toBool_i_i_i = _26 == 0;
          ;
          _bb2_i_i_i$_bb1_i_i_i$5961: do { 
            if (!_toBool_i_i_i) {
              ;
              var _27 = _23;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_27) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$5961; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select17 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad$5957;
            }
          } while(0);
          IHEAP[_22] = 0;
          ;
        }
        var _28 = _this+8+16;
        IHEAP[_28] = 1;
        IHEAP[_22] = 0;
        IHEAP[_1] = 0;
        var _29 = _this+8+8;
        IHEAP[_29] = 0;
        var _30 = _this;
        __ZN30btActivatingCollisionAlgorithmD2Ev(_30);
        var _31 = _this;
        __ZdlPv(_31);
        ;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr19);
    var _39 = _this;
    (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_39) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 979; /* _invcont8 */  } else { __label__ = 3800; /* _lpad26 */  }
    if (__label__ == 979) {
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
    else if (__label__ == 3800) {
      var _eh_ptr27 = _llvm_eh_exception();
      var _eh_select29 = _llvm_eh_selector(_eh_ptr27, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN28btCompoundCollisionAlgorithmD0Ev.__index__ = Runtime.getFunctionIndex(__ZN28btCompoundCollisionAlgorithmD0Ev, "__ZN28btCompoundCollisionAlgorithmD0Ev");
  
  
  function __ZN28btCompoundCollisionAlgorithmD1Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btCompoundCollisionAlgorithm+8;
    var _1 = _this+8+4;
    var _2 = IHEAP[_1];
    var _3 = _2 > 0;
    ;
    _bb_nph_i$_bb3$5971: do { 
      if (_3) {
        ;
        var _4 = _this+8+12;
        var _5 = _this+4;
        __lastLabel__ = 418; ;
        _bb_i$5973: while(1) { // _bb_i
          var _i_05_i = __lastLabel__ == 418 ? 0 : (_tmp);
          var _tmp = _i_05_i + 1;
          var _6 = IHEAP[_4];
          var _scevgep_i = _6+4*_i_05_i;
          var _7 = IHEAP[_scevgep_i];
          var _8 = _7 == 0;
          ;
          if (!_8) {
            ;
            var _9 = _7;
            var _10 = IHEAP[_9];
            var _11 = IHEAP[_10];
            var _12 = _11;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3770; /* _lpad18 */ break _bb_i$5973; }
            var _13 = IHEAP[_5];
            var _14 = _13;
            var _15 = IHEAP[_14];
            var _16 = _15+52;
            var _17 = IHEAP[_16];
            var _18 = IHEAP[_4];
            var _scevgep6_i = _18+4*_i_05_i;
            var _19 = IHEAP[_scevgep6_i];
            var _20 = _17;
            var _21 = _19;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_20](_13, _21) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3770; /* _lpad18 */ break _bb_i$5973; }
          }
          var _exitcond_i = _tmp == _2;
          if (_exitcond_i) { __lastLabel__ = 132; __label__ = 116; /* _bb3 */ break _bb_nph_i$_bb3$5971; } else { __lastLabel__ = 132; __label__ = 131; /* _bb_i */ continue _bb_i$5973; }
        }
        var _eh_ptr19 = _llvm_eh_exception();
        var _eh_select21 = _llvm_eh_selector(_eh_ptr19, ___gxx_personality_v0, 0);
        var _31 = IHEAP[_4];
        var _32 = _31 == 0;
        ;
        if (!_32) {
          ;
          var _33 = _this+8+16;
          var _34 = IHEAP[_33];
          var _toBool_i_i_i36 = _34 == 0;
          ;
          _bb2_i_i_i39$_bb1_i_i_i38$5982: do { 
            if (!_toBool_i_i_i36) {
              ;
              var _35 = _31;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_35) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3878; /* _bb2_i_i_i39 */ break _bb2_i_i_i39$_bb1_i_i_i38$5982; } else { ; }
              var _eh_ptr23 = _llvm_eh_exception();
              var _eh_select25 = _llvm_eh_selector(_eh_ptr23, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_4] = 0;
          ;
        }
        var _36 = _this+8+16;
        IHEAP[_36] = 1;
        IHEAP[_4] = 0;
        IHEAP[_1] = 0;
        var _37 = _this+8+8;
        IHEAP[_37] = 0;
        __lastLabel__ = 1246; __label__ = 45; /* _ppad */ break _bb_nph_i$_bb3$5971;
      }
      else {
        __label__ = 116; /* _bb3 */ 
      }
    } while(0);
    _bb3$_ppad$5987: do { 
      if (__label__ == 116) {
        var _22 = _this+8+12;
        var _23 = IHEAP[_22];
        var _24 = _23 == 0;
        ;
        if (!_24) {
          ;
          var _25 = _this+8+16;
          var _26 = IHEAP[_25];
          var _toBool_i_i_i = _26 == 0;
          ;
          _bb2_i_i_i$_bb1_i_i_i$5991: do { 
            if (!_toBool_i_i_i) {
              ;
              var _27 = _23;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_27) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$5991; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select17 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad$5987;
            }
          } while(0);
          IHEAP[_22] = 0;
          ;
        }
        var _28 = _this+8+16;
        IHEAP[_28] = 1;
        IHEAP[_22] = 0;
        IHEAP[_1] = 0;
        var _29 = _this+8+8;
        IHEAP[_29] = 0;
        var _30 = _this;
        __ZN30btActivatingCollisionAlgorithmD2Ev(_30);
        ;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr19);
    var _38 = _this;
    (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_38) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 979; /* _invcont8 */  } else { __label__ = 3800; /* _lpad26 */  }
    if (__label__ == 979) {
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
    else if (__label__ == 3800) {
      var _eh_ptr27 = _llvm_eh_exception();
      var _eh_select29 = _llvm_eh_selector(_eh_ptr27, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN28btCompoundCollisionAlgorithmD1Ev.__index__ = Runtime.getFunctionIndex(__ZN28btCompoundCollisionAlgorithmD1Ev, "__ZN28btCompoundCollisionAlgorithmD1Ev");
  
  
  function __ZN28btCompoundCollisionAlgorithmD2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV28btCompoundCollisionAlgorithm+8;
    var _1 = _this+8+4;
    var _2 = IHEAP[_1];
    var _3 = _2 > 0;
    ;
    _bb_nph_i$_bb3$6001: do { 
      if (_3) {
        ;
        var _4 = _this+8+12;
        var _5 = _this+4;
        __lastLabel__ = 418; ;
        _bb_i$6003: while(1) { // _bb_i
          var _i_05_i = __lastLabel__ == 418 ? 0 : (_tmp);
          var _tmp = _i_05_i + 1;
          var _6 = IHEAP[_4];
          var _scevgep_i = _6+4*_i_05_i;
          var _7 = IHEAP[_scevgep_i];
          var _8 = _7 == 0;
          ;
          if (!_8) {
            ;
            var _9 = _7;
            var _10 = IHEAP[_9];
            var _11 = IHEAP[_10];
            var _12 = _11;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3770; /* _lpad18 */ break _bb_i$6003; }
            var _13 = IHEAP[_5];
            var _14 = _13;
            var _15 = IHEAP[_14];
            var _16 = _15+52;
            var _17 = IHEAP[_16];
            var _18 = IHEAP[_4];
            var _scevgep6_i = _18+4*_i_05_i;
            var _19 = IHEAP[_scevgep6_i];
            var _20 = _17;
            var _21 = _19;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_20](_13, _21) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3770; /* _lpad18 */ break _bb_i$6003; }
          }
          var _exitcond_i = _tmp == _2;
          if (_exitcond_i) { __lastLabel__ = 132; __label__ = 116; /* _bb3 */ break _bb_nph_i$_bb3$6001; } else { __lastLabel__ = 132; __label__ = 131; /* _bb_i */ continue _bb_i$6003; }
        }
        var _eh_ptr19 = _llvm_eh_exception();
        var _eh_select21 = _llvm_eh_selector(_eh_ptr19, ___gxx_personality_v0, 0);
        var _31 = IHEAP[_4];
        var _32 = _31 == 0;
        ;
        if (!_32) {
          ;
          var _33 = _this+8+16;
          var _34 = IHEAP[_33];
          var _toBool_i_i_i36 = _34 == 0;
          ;
          _bb2_i_i_i39$_bb1_i_i_i38$6012: do { 
            if (!_toBool_i_i_i36) {
              ;
              var _35 = _31;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_35) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3878; /* _bb2_i_i_i39 */ break _bb2_i_i_i39$_bb1_i_i_i38$6012; } else { ; }
              var _eh_ptr23 = _llvm_eh_exception();
              var _eh_select25 = _llvm_eh_selector(_eh_ptr23, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_4] = 0;
          ;
        }
        var _36 = _this+8+16;
        IHEAP[_36] = 1;
        IHEAP[_4] = 0;
        IHEAP[_1] = 0;
        var _37 = _this+8+8;
        IHEAP[_37] = 0;
        __lastLabel__ = 1246; __label__ = 45; /* _ppad */ break _bb_nph_i$_bb3$6001;
      }
      else {
        __label__ = 116; /* _bb3 */ 
      }
    } while(0);
    _bb3$_ppad$6017: do { 
      if (__label__ == 116) {
        var _22 = _this+8+12;
        var _23 = IHEAP[_22];
        var _24 = _23 == 0;
        ;
        if (!_24) {
          ;
          var _25 = _this+8+16;
          var _26 = IHEAP[_25];
          var _toBool_i_i_i = _26 == 0;
          ;
          _bb2_i_i_i$_bb1_i_i_i$6021: do { 
            if (!_toBool_i_i_i) {
              ;
              var _27 = _23;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_27) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$6021; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select17 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad$6017;
            }
          } while(0);
          IHEAP[_22] = 0;
          ;
        }
        var _28 = _this+8+16;
        IHEAP[_28] = 1;
        IHEAP[_22] = 0;
        IHEAP[_1] = 0;
        var _29 = _this+8+8;
        IHEAP[_29] = 0;
        var _30 = _this;
        __ZN30btActivatingCollisionAlgorithmD2Ev(_30);
        ;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr19);
    var _38 = _this;
    (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_38) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 979; /* _invcont8 */  } else { __label__ = 3800; /* _lpad26 */  }
    if (__label__ == 979) {
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
    else if (__label__ == 3800) {
      var _eh_ptr27 = _llvm_eh_exception();
      var _eh_select29 = _llvm_eh_selector(_eh_ptr27, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN28btCompoundCollisionAlgorithmD2Ev.__index__ = Runtime.getFunctionIndex(__ZN28btCompoundCollisionAlgorithmD2Ev, "__ZN28btCompoundCollisionAlgorithmD2Ev");
  
  
  function __ZN33btConvexConcaveCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b(_this, _ci, _body0, _body1, _isSwapped) {
    ;
    var __label__;
    var _0 = _this;
    __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_0, _ci, _body0, _body1);
    var _1 = _this;
    IHEAP[_1] = __ZTV33btConvexConcaveCollisionAlgorithm+8;
    var _2 = _this+8;
    IHEAP[_2] = _isSwapped;
    var _3 = _ci;
    var _4 = IHEAP[_3];
    var _5 = _this+12;
    IHEAP[_5] = __ZTV24btConvexTriangleCallback+8;
    var _6 = _this+12+48;
    IHEAP[_6] = _4;
    var _7 = _this+12+52;
    IHEAP[_7] = 0;
    var _toBool_i_i = _isSwapped == 0;
    var _iftmp_204_0_i_i = _toBool_i_i ? _body0 : _body1;
    var _8 = _this+12+4;
    IHEAP[_8] = _iftmp_204_0_i_i;
    var _iftmp_205_0_i_i = _toBool_i_i ? _body1 : _body0;
    var _9 = _this+12+8;
    IHEAP[_9] = _iftmp_205_0_i_i;
    var _10 = _4;
    var _11 = IHEAP[_10];
    var _12 = _11+12;
    var _13 = IHEAP[_12];
    var _14 = _13;
    var _15 = _iftmp_204_0_i_i;
    var _16 = _iftmp_205_0_i_i;
    var _17 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_14](_4, _15, _16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4067; /* _invcont_i_i */  } else { __label__ = 3881; /* _lpad_i_i */  };
    _invcont_i_i$_lpad_i_i$6032: do { 
      if (__label__ == 4067) {
        var _18 = _this+12+64;
        IHEAP[_18] = _17;
        var _19 = IHEAP[_6];
        var _20 = _19;
        var _21 = IHEAP[_20];
        var _22 = _21+20;
        var _23 = IHEAP[_22];
        var _24 = _23;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_24](_19, _17) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3881; /* _lpad_i_i */ break _invcont_i_i$_lpad_i_i$6032; }
        ;
        return;
      }
    } while(0);
    var _eh_ptr_i_i = _llvm_eh_exception();
    var _eh_select13_i_i = _llvm_eh_selector(_eh_ptr_i_i, ___gxx_personality_v0, 0);
    var _25 = _this+12;
    (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_25) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3882; /* _invcont9_i_i */  } else { __label__ = 3883; /* _lpad14_i_i */  }
    if (__label__ == 3882) {
      (function() { try { __THREW__ = false; return __Unwind_Resume_or_Rethrow(_eh_ptr_i_i) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1865; /* __noexc */  } else { __label__ = 254; /* _lpad */  }
      if (__label__ == 1865) {
        // unreachable
      }
      else if (__label__ == 254) {
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select5 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3884; /* _lpad6 */  }
        if (__label__ == 1554) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3884) {
          var _eh_ptr7 = _llvm_eh_exception();
          var _eh_select9 = _llvm_eh_selector(_eh_ptr7, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    }
    else if (__label__ == 3883) {
      var _eh_ptr15_i_i = _llvm_eh_exception();
      var _eh_select17_i_i = _llvm_eh_selector(_eh_ptr15_i_i, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN33btConvexConcaveCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b.__index__ = Runtime.getFunctionIndex(__ZN33btConvexConcaveCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b, "__ZN33btConvexConcaveCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b");
  
  
  function __ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallback15processTriangleEP9btVector3ii(_this, _triangle, _partId, _triangleIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 768;
    var __label__;
    var __lastLabel__ = null;
    var _ident = __stackBase__;
    var _castResult = __stackBase__+64;
    var _pointShape = __stackBase__+240;
    var _triShape = __stackBase__+292;
    var _simplexSolver = __stackBase__+392;
    var _convexCaster = __stackBase__+752;
    var _0 = _ident;
    FHEAP[_0] = 1;
    var _1 = _ident+4;
    FHEAP[_1] = 0;
    var _2 = _ident+8;
    FHEAP[_2] = 0;
    var _3 = _ident+12;
    FHEAP[_3] = 0;
    var _4 = _ident+16;
    FHEAP[_4] = 0;
    var _5 = _ident+16+4;
    FHEAP[_5] = 1;
    var _6 = _ident+16+8;
    FHEAP[_6] = 0;
    var _7 = _ident+16+12;
    FHEAP[_7] = 0;
    var _8 = _ident+32;
    FHEAP[_8] = 0;
    var _9 = _ident+32+4;
    FHEAP[_9] = 0;
    var _10 = _ident+32+8;
    FHEAP[_10] = 1;
    var _11 = _ident+32+12;
    FHEAP[_11] = 0;
    var _12 = _ident+48;
    FHEAP[_12] = 0;
    var _13 = _ident+48+4;
    FHEAP[_13] = 0;
    var _14 = _ident+48+8;
    FHEAP[_14] = 0;
    var _15 = _ident+48+12;
    FHEAP[_15] = 0;
    var _16 = _castResult;
    IHEAP[_16] = __ZTVN12btConvexCast10CastResultE+8;
    var _17 = _castResult+164;
    var _18 = _castResult+168;
    IHEAP[_18] = 0;
    var _19 = _castResult+172;
    FHEAP[_19] = 0;
    var _20 = _this+200;
    var _21 = FHEAP[_20];
    FHEAP[_17] = _21;
    var _22 = _this+196;
    var _23 = FHEAP[_22];
    var _24 = _pointShape;
    __ZN21btConvexInternalShapeC2Ev(_24);
    var _25 = _pointShape;
    IHEAP[_25] = __ZTV13btSphereShape+8;
    var _26 = _pointShape+4;
    IHEAP[_26] = 8;
    var _27 = _pointShape+28;
    FHEAP[_27] = _23;
    var _28 = _pointShape+44;
    FHEAP[_28] = _23;
    var _29 = _triShape;
    (function() { try { __THREW__ = false; return __ZN23btPolyhedralConvexShapeC2Ev(_29) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 254; /* _lpad */  }
    _invcont1$_lpad$6079: do { 
      if (__label__ == 1554) {
        var _30 = _triShape;
        IHEAP[_30] = __ZTV15btTriangleShape+8;
        var _31 = _triShape+4;
        IHEAP[_31] = 1;
        var _32 = _triShape+52;
        var _33 = _triangle;
        var _34 = FHEAP[_33];
        FHEAP[_32] = _34;
        var _35 = _triShape+52+4;
        var _36 = _triangle+4;
        var _37 = FHEAP[_36];
        FHEAP[_35] = _37;
        var _38 = _triShape+52+8;
        var _39 = _triangle+8;
        var _40 = FHEAP[_39];
        FHEAP[_38] = _40;
        var _41 = _triShape+52+12;
        var _42 = _triangle+12;
        var _43 = FHEAP[_42];
        FHEAP[_41] = _43;
        var _44 = _triShape+52+16;
        var _45 = _triangle+16;
        var _46 = FHEAP[_45];
        FHEAP[_44] = _46;
        var _47 = _triShape+52+16+4;
        var _48 = _triangle+16+4;
        var _49 = FHEAP[_48];
        FHEAP[_47] = _49;
        var _50 = _triShape+52+16+8;
        var _51 = _triangle+16+8;
        var _52 = FHEAP[_51];
        FHEAP[_50] = _52;
        var _53 = _triShape+52+16+12;
        var _54 = _triangle+16+12;
        var _55 = FHEAP[_54];
        FHEAP[_53] = _55;
        var _56 = _triShape+52+32;
        var _57 = _triangle+32;
        var _58 = FHEAP[_57];
        FHEAP[_56] = _58;
        var _59 = _triShape+52+32+4;
        var _60 = _triangle+32+4;
        var _61 = FHEAP[_60];
        FHEAP[_59] = _61;
        var _62 = _triShape+52+32+8;
        var _63 = _triangle+32+8;
        var _64 = FHEAP[_63];
        FHEAP[_62] = _64;
        var _65 = _triShape+52+32+12;
        var _66 = _triangle+32+12;
        var _67 = FHEAP[_66];
        FHEAP[_65] = _67;
        var _68 = _simplexSolver+308;
        FHEAP[_68] = 0.00009999999747378752;
        var _69 = _simplexSolver+316+16;
        var _70 = IHEAP[_69];
        var _71 = _70 & -16;
        IHEAP[_69] = _71;
        var _72 = _pointShape;
        var _73 = _triShape;
        (function() { try { __THREW__ = false; return __ZN22btSubsimplexConvexCastC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolver(_convexCaster, _72, _73, _simplexSolver) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 1123; /* _lpad25 */  }
        _invcont2$_lpad25$6081: do { 
          if (__label__ == 1102) {
            var _74 = _this+68;
            var _75 = _this+4;
            var _76 = (function() { try { __THREW__ = false; return __ZN22btSubsimplexConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE(_convexCaster, _75, _74, _ident, _ident, _castResult) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3794; /* _lpad29 */  };
            if (__label__ == 759) {
              var _toBool = _76 == 0;
              ;
              _bb8$_bb$6085: do { 
                if (!_toBool) {
                  ;
                  var _77 = FHEAP[_20];
                  var _78 = FHEAP[_17];
                  var _79 = _77 > _78;
                  if (!(_79)) { __label__ = 148; /* _bb8 */ break _bb8$_bb$6085; }
                  FHEAP[_20] = _78;
                  ;
                }
              } while(0);
              var _80 = _convexCaster;
              IHEAP[_80] = __ZTV22btSubsimplexConvexCast+8;
              var _81 = _convexCaster;
              (function() { try { __THREW__ = false; return __ZN12btConvexCastD2Ev(_81) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 1123; /* _lpad25 */ break _invcont2$_lpad25$6081; }
              IHEAP[_30] = __ZTV21btConvexInternalShape+8;
              (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_73) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont1$_lpad$6079; }
              IHEAP[_25] = __ZTV21btConvexInternalShape+8;
              __ZN13btConvexShapeD2Ev(_72);
              STACKTOP = __stackBase__;
              return;
            }
            else if (__label__ == 3794) {
              var _eh_ptr30 = _llvm_eh_exception();
              var _eh_select32 = _llvm_eh_selector(_eh_ptr30, ___gxx_personality_v0, 0);
              var _82 = _convexCaster;
              IHEAP[_82] = __ZTV22btSubsimplexConvexCast+8;
              var _83 = _convexCaster;
              (function() { try { __THREW__ = false; return __ZN12btConvexCastD2Ev(_83) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3794; __label__ = 112; /* _ppad45 */ break _invcont2$_lpad25$6081; } else { __lastLabel__ = 3794; ; }
              var _eh_ptr34 = _llvm_eh_exception();
              var _eh_select36 = _llvm_eh_selector(_eh_ptr34, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          }
        } while(0);
        if (__label__ == 1123) {
          var _eh_ptr26 = _llvm_eh_exception();
          var _eh_select28 = _llvm_eh_selector(_eh_ptr26, ___gxx_personality_v0, 0);
          __lastLabel__ = 1123; ;
        }
        var _eh_exception_0 = __lastLabel__ == 1123 ? _eh_ptr26 : (_eh_ptr30);
        IHEAP[_30] = __ZTV21btConvexInternalShape+8;
        (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_73) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 112; __label__ = 45; /* _ppad */ break _invcont1$_lpad$6079; } else { __lastLabel__ = 112; ; }
        var _eh_ptr38 = _llvm_eh_exception();
        var _eh_select40 = _llvm_eh_selector(_eh_ptr38, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    } while(0);
    if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select24 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __lastLabel__ = 254; ;
    }
    var _eh_exception_1 = __lastLabel__ == 254 ? _eh_ptr : (_eh_exception_0);
    IHEAP[_25] = __ZTV21btConvexInternalShape+8;
    var _84 = _pointShape;
    (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_84) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1601; /* _invcont20 */  } else { __label__ = 3339; /* _lpad41 */  }
    if (__label__ == 1601) {
      __Unwind_Resume_or_Rethrow(_eh_exception_1);
      // unreachable
    }
    else if (__label__ == 3339) {
      var _eh_ptr42 = _llvm_eh_exception();
      var _eh_select44 = _llvm_eh_selector(_eh_ptr42, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallback15processTriangleEP9btVector3ii.__index__ = Runtime.getFunctionIndex(__ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallback15processTriangleEP9btVector3ii, "__ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallback15processTriangleEP9btVector3ii");
  
  
  function __ZNK21btConvexInternalShape9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = __ZNK16btCollisionShape9serializeEPvP12btSerializer(_0, _dataBuffer, _serializer);
    var _2 = _dataBuffer+28;
    var _scevgep_i = _this+28;
    var _scevgep4_i = _2;
    var _3 = FHEAP[_scevgep_i];
    FHEAP[_scevgep4_i] = _3;
    var _scevgep_1_i = _this+28+4;
    var _scevgep4_1_i = _dataBuffer+32;
    var _4 = _scevgep4_1_i;
    var _5 = FHEAP[_scevgep_1_i];
    FHEAP[_4] = _5;
    var _scevgep_2_i = _this+28+8;
    var _scevgep4_2_i = _dataBuffer+36;
    var _6 = _scevgep4_2_i;
    var _7 = FHEAP[_scevgep_2_i];
    FHEAP[_6] = _7;
    var _scevgep_3_i = _this+28+12;
    var _scevgep4_3_i = _dataBuffer+40;
    var _8 = _scevgep4_3_i;
    var _9 = FHEAP[_scevgep_3_i];
    FHEAP[_8] = _9;
    var _10 = _dataBuffer+12;
    var _scevgep_i2 = _this+12;
    var _scevgep4_i3 = _10;
    var _11 = FHEAP[_scevgep_i2];
    FHEAP[_scevgep4_i3] = _11;
    var _scevgep_1_i4 = _this+12+4;
    var _scevgep4_1_i5 = _dataBuffer+16;
    var _12 = _scevgep4_1_i5;
    var _13 = FHEAP[_scevgep_1_i4];
    FHEAP[_12] = _13;
    var _scevgep_2_i6 = _this+12+8;
    var _scevgep4_2_i7 = _dataBuffer+20;
    var _14 = _scevgep4_2_i7;
    var _15 = FHEAP[_scevgep_2_i6];
    FHEAP[_14] = _15;
    var _scevgep_3_i8 = _this+12+12;
    var _scevgep4_3_i9 = _dataBuffer+24;
    var _16 = _scevgep4_3_i9;
    var _17 = FHEAP[_scevgep_3_i8];
    FHEAP[_16] = _17;
    var _18 = _this+44;
    var _19 = FHEAP[_18];
    var _20 = _dataBuffer+44;
    var _21 = _20;
    FHEAP[_21] = _19;
    ;
    return __str119;
  }
  __ZNK21btConvexInternalShape9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK21btConvexInternalShape9serializeEPvP12btSerializer, "__ZNK21btConvexInternalShape9serializeEPvP12btSerializer");
  
  
  function __ZNK15btTriangleShape32getPreferredPenetrationDirectionEiR9btVector3(_this, _index, _penetrationVector) {
    ;
    var __label__;
    var _0 = _this+52+32+8;
    var _1 = FHEAP[_0];
    var _2 = _this+52+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _this+52+32+4;
    var _6 = FHEAP[_5];
    var _7 = _this+52+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _this+52+32;
    var _11 = FHEAP[_10];
    var _12 = _this+52;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _this+52+16+8;
    var _16 = FHEAP[_15];
    var _17 = _16 - _3;
    var _18 = _this+52+16+4;
    var _19 = FHEAP[_18];
    var _20 = _19 - _8;
    var _21 = _this+52+16;
    var _22 = FHEAP[_21];
    var _23 = _22 - _13;
    var _24 = _23 * _9;
    var _25 = _20 * _14;
    var _26 = _24 - _25;
    var _27 = _17 * _14;
    var _28 = _23 * _4;
    var _29 = _27 - _28;
    var _30 = _20 * _4;
    var _31 = _17 * _9;
    var _32 = _30 - _31;
    var _33 = _penetrationVector;
    FHEAP[_33] = _32;
    var _34 = _penetrationVector+4;
    FHEAP[_34] = _29;
    var _35 = _penetrationVector+8;
    FHEAP[_35] = _26;
    var _36 = _penetrationVector+12;
    FHEAP[_36] = 0;
    var _37 = _32 * _32;
    var _38 = _29 * _29;
    var _39 = _37 + _38;
    var _40 = _26 * _26;
    var _41 = _39 + _40;
    var _42 = _sqrtf(_41);
    var _43 = 1 / _42;
    var _44 = _32 * _43;
    FHEAP[_33] = _44;
    var _45 = _29 * _43;
    FHEAP[_34] = _45;
    var _46 = _26 * _43;
    FHEAP[_35] = _46;
    var _47 = _index == 0;
    ;
    if (_47) {
      ;
      ;
      return;
    }
    else {
      ;
      var _48 = _44 * -1;
      FHEAP[_33] = _48;
      var _49 = _45 * -1;
      FHEAP[_34] = _49;
      var _50 = _46 * -1;
      FHEAP[_35] = _50;
      ;
      return;
    }
  }
  __ZNK15btTriangleShape32getPreferredPenetrationDirectionEiR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK15btTriangleShape32getPreferredPenetrationDirectionEiR9btVector3, "__ZNK15btTriangleShape32getPreferredPenetrationDirectionEiR9btVector3");
  
  
  function __ZNK15btTriangleShape8isInsideERK9btVector3f(_this, _pt, _tolerance) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _pa = __stackBase__;
    var _pb = __stackBase__+16;
    var _0 = _this+52+32+8;
    var _1 = FHEAP[_0];
    var _2 = _this+52+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _this+52+32+4;
    var _6 = FHEAP[_5];
    var _7 = _this+52+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _this+52+32;
    var _11 = FHEAP[_10];
    var _12 = _this+52;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _this+52+16+8;
    var _16 = FHEAP[_15];
    var _17 = _16 - _3;
    var _18 = _this+52+16+4;
    var _19 = FHEAP[_18];
    var _20 = _19 - _8;
    var _21 = _this+52+16;
    var _22 = FHEAP[_21];
    var _23 = _22 - _13;
    var _24 = _23 * _9;
    var _25 = _20 * _14;
    var _26 = _24 - _25;
    var _27 = _17 * _14;
    var _28 = _23 * _4;
    var _29 = _27 - _28;
    var _30 = _20 * _4;
    var _31 = _17 * _9;
    var _32 = _30 - _31;
    var _33 = _32 * _32;
    var _34 = _29 * _29;
    var _35 = _33 + _34;
    var _36 = _26 * _26;
    var _37 = _35 + _36;
    var _38 = _sqrtf(_37);
    var _39 = 1 / _38;
    var _40 = _32 * _39;
    var _41 = _29 * _39;
    var _42 = _26 * _39;
    var _43 = _pt;
    var _44 = FHEAP[_43];
    var _45 = _44 * _40;
    var _46 = _pt+4;
    var _47 = FHEAP[_46];
    var _48 = _47 * _41;
    var _49 = _45 + _48;
    var _50 = _pt+8;
    var _51 = FHEAP[_50];
    var _52 = _51 * _42;
    var _53 = _49 + _52;
    var _54 = _13 * _40;
    var _55 = _8 * _41;
    var _56 = _54 + _55;
    var _57 = _3 * _42;
    var _58 = _56 + _57;
    var _59 = _53 - _58;
    var _60 = 0 - _tolerance;
    var _61 = _59 < _60;
    var _62 = _59 > _tolerance;
    var _or_cond = _61 | _62;
    ;
    _bb9$_bb6_preheader$6111: do { 
      if (_or_cond) {
        __lastLabel__ = -1; ;
      }
      else {
        __lastLabel__ = -1; ;
        var _63 = _this;
        var _64 = _pb+8;
        var _65 = _pa+8;
        var _66 = _pb+4;
        var _67 = _pa+4;
        var _68 = _pb;
        var _69 = _pa;
        __lastLabel__ = 1257; ;
        _bb6$6113: while(1) { // _bb6
          var _118 = __lastLabel__ == 82 ? _117 : (0);
          var _119 = _118 < 3;
          if (_119) { __lastLabel__ = 83; ; } else { __lastLabel__ = 83; __label__ = 62; /* _bb9 */ break _bb9$_bb6_preheader$6111; }
          var _70 = IHEAP[_63];
          var _71 = _70+92;
          var _72 = IHEAP[_71];
          var _73 = _72;
          FUNCTION_TABLE[_73](_this, _118, _pa, _pb);
          var _74 = FHEAP[_64];
          var _75 = FHEAP[_65];
          var _76 = _74 - _75;
          var _77 = FHEAP[_66];
          var _78 = FHEAP[_67];
          var _79 = _77 - _78;
          var _80 = FHEAP[_68];
          var _81 = FHEAP[_69];
          var _82 = _80 - _81;
          var _83 = _82 * _41;
          var _84 = _79 * _40;
          var _85 = _83 - _84;
          var _86 = _76 * _40;
          var _87 = _82 * _42;
          var _88 = _86 - _87;
          var _89 = _79 * _42;
          var _90 = _76 * _41;
          var _91 = _89 - _90;
          var _92 = _91 * _91;
          var _93 = _88 * _88;
          var _94 = _92 + _93;
          var _95 = _85 * _85;
          var _96 = _94 + _95;
          var _97 = _sqrtf(_96);
          var _98 = 1 / _97;
          var _99 = _91 * _98;
          var _100 = _88 * _98;
          var _101 = _85 * _98;
          var _102 = FHEAP[_43];
          var _103 = _102 * _99;
          var _104 = FHEAP[_46];
          var _105 = _104 * _100;
          var _106 = _103 + _105;
          var _107 = FHEAP[_50];
          var _108 = _107 * _101;
          var _109 = _106 + _108;
          var _110 = _81 * _99;
          var _111 = _78 * _100;
          var _112 = _110 + _111;
          var _113 = _75 * _101;
          var _114 = _112 + _113;
          var _115 = _109 - _114;
          var _116 = _115 < _60;
          if (_116) { __lastLabel__ = 0; __label__ = 62; /* _bb9 */ break _bb9$_bb6_preheader$6111; } else { __lastLabel__ = 0; ; }
          var _117 = _118 + 1;
          __lastLabel__ = 82; __label__ = 83; /* _bb6 */ continue _bb6$6113;
        }
      }
    } while(0);
    var __0 = __lastLabel__ == -1 ? 0 : (__lastLabel__ == 83 ? 1 : (0));
    STACKTOP = __stackBase__;
    return __0;
  }
  __ZNK15btTriangleShape8isInsideERK9btVector3f.__index__ = Runtime.getFunctionIndex(__ZNK15btTriangleShape8isInsideERK9btVector3f, "__ZNK15btTriangleShape8isInsideERK9btVector3f");
  
  
  function __ZNK15btTriangleShape16getPlaneEquationEiR9btVector3S1_(_this, _i, _planeNormal, _planeSupport) {
    ;
    var __label__;
    var _0 = _this+52+32+8;
    var _1 = FHEAP[_0];
    var _2 = _this+52+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _this+52+32+4;
    var _6 = FHEAP[_5];
    var _7 = _this+52+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _this+52+32;
    var _11 = FHEAP[_10];
    var _12 = _this+52;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _this+52+16+8;
    var _16 = FHEAP[_15];
    var _17 = _16 - _3;
    var _18 = _this+52+16+4;
    var _19 = FHEAP[_18];
    var _20 = _19 - _8;
    var _21 = _this+52+16;
    var _22 = FHEAP[_21];
    var _23 = _22 - _13;
    var _24 = _23 * _9;
    var _25 = _20 * _14;
    var _26 = _24 - _25;
    var _27 = _17 * _14;
    var _28 = _23 * _4;
    var _29 = _27 - _28;
    var _30 = _20 * _4;
    var _31 = _17 * _9;
    var _32 = _30 - _31;
    var _33 = _planeNormal;
    FHEAP[_33] = _32;
    var _34 = _planeNormal+4;
    FHEAP[_34] = _29;
    var _35 = _planeNormal+8;
    FHEAP[_35] = _26;
    var _36 = _planeNormal+12;
    FHEAP[_36] = 0;
    var _37 = _32 * _32;
    var _38 = _29 * _29;
    var _39 = _37 + _38;
    var _40 = _26 * _26;
    var _41 = _39 + _40;
    var _42 = _sqrtf(_41);
    var _43 = 1 / _42;
    var _44 = _32 * _43;
    FHEAP[_33] = _44;
    var _45 = _29 * _43;
    FHEAP[_34] = _45;
    var _46 = _26 * _43;
    FHEAP[_35] = _46;
    var _47 = _planeSupport;
    var _48 = FHEAP[_12];
    FHEAP[_47] = _48;
    var _49 = _planeSupport+4;
    var _50 = FHEAP[_7];
    FHEAP[_49] = _50;
    var _51 = _planeSupport+8;
    var _52 = FHEAP[_2];
    FHEAP[_51] = _52;
    var _53 = _planeSupport+12;
    var _54 = _this+52+12;
    var _55 = FHEAP[_54];
    FHEAP[_53] = _55;
    ;
    return;
  }
  __ZNK15btTriangleShape16getPlaneEquationEiR9btVector3S1_.__index__ = Runtime.getFunctionIndex(__ZNK15btTriangleShape16getPlaneEquationEiR9btVector3S1_, "__ZNK15btTriangleShape16getPlaneEquationEiR9btVector3S1_");
  
  
  function __ZN24btConvexTriangleCallback15processTriangleEP9btVector3ii(_this, _triangle, _partId, _triangleIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 212;
    var __label__;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _3 = __stackBase__+48;
    var _4 = __stackBase__+64;
    var _5 = __stackBase__+80;
    var _color = __stackBase__+96;
    var _tm = __stackBase__+112;
    var _6 = _this+48;
    var _7 = IHEAP[_6];
    var _8 = _this+8;
    var _9 = IHEAP[_8];
    var _10 = _this+52;
    var _11 = IHEAP[_10];
    var _12 = _11 == 0;
    ;
    _bb10$_bb$6120: do { 
      if (!_12) {
        ;
        var _13 = _11+20;
        var _14 = IHEAP[_13];
        var _15 = _14 == 0;
        if (_15) { __label__ = 150; /* _bb10 */ break _bb10$_bb$6120; }
        var _16 = _14;
        var _17 = IHEAP[_16];
        var _18 = _17+48;
        var _19 = IHEAP[_18];
        var _20 = _19;
        var _21 = FUNCTION_TABLE[_20](_14);
        var _22 = _21 & 1;
        var _toBool4 = _22 == 0;
        if (_toBool4) { __label__ = 150; /* _bb10 */ break _bb10$_bb$6120; }
        var _23 = _color;
        FHEAP[_23] = 1;
        var _24 = _color+4;
        FHEAP[_24] = 1;
        var _25 = _color+8;
        FHEAP[_25] = 0;
        var _26 = _color+12;
        FHEAP[_26] = 0;
        var _27 = IHEAP[_10];
        var _28 = _27+20;
        var _29 = IHEAP[_28];
        var _30 = _29;
        var _31 = IHEAP[_30];
        var _32 = _31+8;
        var _33 = IHEAP[_32];
        var _34 = _9+4+32;
        var _35 = FHEAP[_34];
        var _36 = _triangle+16;
        var _37 = FHEAP[_36];
        var _38 = _35 * _37;
        var _39 = _9+4+32+4;
        var _40 = FHEAP[_39];
        var _41 = _triangle+16+4;
        var _42 = FHEAP[_41];
        var _43 = _40 * _42;
        var _44 = _38 + _43;
        var _45 = _9+4+32+8;
        var _46 = FHEAP[_45];
        var _47 = _triangle+16+8;
        var _48 = FHEAP[_47];
        var _49 = _46 * _48;
        var _50 = _44 + _49;
        var _51 = _9+4+48+8;
        var _52 = FHEAP[_51];
        var _53 = _50 + _52;
        var _54 = _9+4+16;
        var _55 = FHEAP[_54];
        var _56 = _55 * _37;
        var _57 = _9+4+16+4;
        var _58 = FHEAP[_57];
        var _59 = _58 * _42;
        var _60 = _56 + _59;
        var _61 = _9+4+16+8;
        var _62 = FHEAP[_61];
        var _63 = _62 * _48;
        var _64 = _60 + _63;
        var _65 = _9+4+48+4;
        var _66 = FHEAP[_65];
        var _67 = _64 + _66;
        var _68 = _9+4;
        var _69 = FHEAP[_68];
        var _70 = _69 * _37;
        var _71 = _9+4+4;
        var _72 = FHEAP[_71];
        var _73 = _72 * _42;
        var _74 = _70 + _73;
        var _75 = _9+4+8;
        var _76 = FHEAP[_75];
        var _77 = _76 * _48;
        var _78 = _74 + _77;
        var _79 = _9+4+48;
        var _80 = FHEAP[_79];
        var _81 = _78 + _80;
        var _82 = _5;
        FHEAP[_82] = _81;
        var _83 = _5+4;
        FHEAP[_83] = _67;
        var _84 = _5+8;
        FHEAP[_84] = _53;
        var _85 = _5+12;
        FHEAP[_85] = 0;
        var _86 = FHEAP[_34];
        var _87 = _triangle;
        var _88 = FHEAP[_87];
        var _89 = _86 * _88;
        var _90 = FHEAP[_39];
        var _91 = _triangle+4;
        var _92 = FHEAP[_91];
        var _93 = _90 * _92;
        var _94 = _89 + _93;
        var _95 = FHEAP[_45];
        var _96 = _triangle+8;
        var _97 = FHEAP[_96];
        var _98 = _95 * _97;
        var _99 = _94 + _98;
        var _100 = FHEAP[_51];
        var _101 = _99 + _100;
        var _102 = FHEAP[_54];
        var _103 = _102 * _88;
        var _104 = FHEAP[_57];
        var _105 = _104 * _92;
        var _106 = _103 + _105;
        var _107 = FHEAP[_61];
        var _108 = _107 * _97;
        var _109 = _106 + _108;
        var _110 = FHEAP[_65];
        var _111 = _109 + _110;
        var _112 = FHEAP[_68];
        var _113 = _112 * _88;
        var _114 = FHEAP[_71];
        var _115 = _114 * _92;
        var _116 = _113 + _115;
        var _117 = FHEAP[_75];
        var _118 = _117 * _97;
        var _119 = _116 + _118;
        var _120 = FHEAP[_79];
        var _121 = _119 + _120;
        var _122 = _4;
        FHEAP[_122] = _121;
        var _123 = _4+4;
        FHEAP[_123] = _111;
        var _124 = _4+8;
        FHEAP[_124] = _101;
        var _125 = _4+12;
        FHEAP[_125] = 0;
        var _126 = IHEAP[_28];
        var _127 = _33;
        FUNCTION_TABLE[_127](_126, _4, _5, _color);
        var _128 = IHEAP[_10];
        var _129 = _128+20;
        var _130 = IHEAP[_129];
        var _131 = _130;
        var _132 = IHEAP[_131];
        var _133 = _132+8;
        var _134 = IHEAP[_133];
        var _135 = FHEAP[_34];
        var _136 = _triangle+32;
        var _137 = FHEAP[_136];
        var _138 = _135 * _137;
        var _139 = FHEAP[_39];
        var _140 = _triangle+32+4;
        var _141 = FHEAP[_140];
        var _142 = _139 * _141;
        var _143 = _138 + _142;
        var _144 = FHEAP[_45];
        var _145 = _triangle+32+8;
        var _146 = FHEAP[_145];
        var _147 = _144 * _146;
        var _148 = _143 + _147;
        var _149 = FHEAP[_51];
        var _150 = _148 + _149;
        var _151 = FHEAP[_54];
        var _152 = _151 * _137;
        var _153 = FHEAP[_57];
        var _154 = _153 * _141;
        var _155 = _152 + _154;
        var _156 = FHEAP[_61];
        var _157 = _156 * _146;
        var _158 = _155 + _157;
        var _159 = FHEAP[_65];
        var _160 = _158 + _159;
        var _161 = FHEAP[_68];
        var _162 = _161 * _137;
        var _163 = FHEAP[_71];
        var _164 = _163 * _141;
        var _165 = _162 + _164;
        var _166 = FHEAP[_75];
        var _167 = _166 * _146;
        var _168 = _165 + _167;
        var _169 = FHEAP[_79];
        var _170 = _168 + _169;
        var _171 = _3;
        FHEAP[_171] = _170;
        var _172 = _3+4;
        FHEAP[_172] = _160;
        var _173 = _3+8;
        FHEAP[_173] = _150;
        var _174 = _3+12;
        FHEAP[_174] = 0;
        var _175 = FHEAP[_34];
        var _176 = FHEAP[_36];
        var _177 = _175 * _176;
        var _178 = FHEAP[_39];
        var _179 = FHEAP[_41];
        var _180 = _178 * _179;
        var _181 = _177 + _180;
        var _182 = FHEAP[_45];
        var _183 = FHEAP[_47];
        var _184 = _182 * _183;
        var _185 = _181 + _184;
        var _186 = FHEAP[_51];
        var _187 = _185 + _186;
        var _188 = FHEAP[_54];
        var _189 = _188 * _176;
        var _190 = FHEAP[_57];
        var _191 = _190 * _179;
        var _192 = _189 + _191;
        var _193 = FHEAP[_61];
        var _194 = _193 * _183;
        var _195 = _192 + _194;
        var _196 = FHEAP[_65];
        var _197 = _195 + _196;
        var _198 = FHEAP[_68];
        var _199 = _198 * _176;
        var _200 = FHEAP[_71];
        var _201 = _200 * _179;
        var _202 = _199 + _201;
        var _203 = FHEAP[_75];
        var _204 = _203 * _183;
        var _205 = _202 + _204;
        var _206 = FHEAP[_79];
        var _207 = _205 + _206;
        var _208 = _2;
        FHEAP[_208] = _207;
        var _209 = _2+4;
        FHEAP[_209] = _197;
        var _210 = _2+8;
        FHEAP[_210] = _187;
        var _211 = _2+12;
        FHEAP[_211] = 0;
        var _212 = IHEAP[_129];
        var _213 = _134;
        FUNCTION_TABLE[_213](_212, _2, _3, _color);
        var _214 = IHEAP[_10];
        var _215 = _214+20;
        var _216 = IHEAP[_215];
        var _217 = _216;
        var _218 = IHEAP[_217];
        var _219 = _218+8;
        var _220 = IHEAP[_219];
        var _221 = FHEAP[_34];
        var _222 = FHEAP[_87];
        var _223 = _221 * _222;
        var _224 = FHEAP[_39];
        var _225 = FHEAP[_91];
        var _226 = _224 * _225;
        var _227 = _223 + _226;
        var _228 = FHEAP[_45];
        var _229 = FHEAP[_96];
        var _230 = _228 * _229;
        var _231 = _227 + _230;
        var _232 = FHEAP[_51];
        var _233 = _231 + _232;
        var _234 = FHEAP[_54];
        var _235 = _234 * _222;
        var _236 = FHEAP[_57];
        var _237 = _236 * _225;
        var _238 = _235 + _237;
        var _239 = FHEAP[_61];
        var _240 = _239 * _229;
        var _241 = _238 + _240;
        var _242 = FHEAP[_65];
        var _243 = _241 + _242;
        var _244 = FHEAP[_68];
        var _245 = _244 * _222;
        var _246 = FHEAP[_71];
        var _247 = _246 * _225;
        var _248 = _245 + _247;
        var _249 = FHEAP[_75];
        var _250 = _249 * _229;
        var _251 = _248 + _250;
        var _252 = FHEAP[_79];
        var _253 = _251 + _252;
        var _254 = _1;
        FHEAP[_254] = _253;
        var _255 = _1+4;
        FHEAP[_255] = _243;
        var _256 = _1+8;
        FHEAP[_256] = _233;
        var _257 = _1+12;
        FHEAP[_257] = 0;
        var _258 = FHEAP[_34];
        var _259 = FHEAP[_136];
        var _260 = _258 * _259;
        var _261 = FHEAP[_39];
        var _262 = FHEAP[_140];
        var _263 = _261 * _262;
        var _264 = _260 + _263;
        var _265 = FHEAP[_45];
        var _266 = FHEAP[_145];
        var _267 = _265 * _266;
        var _268 = _264 + _267;
        var _269 = FHEAP[_51];
        var _270 = _268 + _269;
        var _271 = FHEAP[_54];
        var _272 = _271 * _259;
        var _273 = FHEAP[_57];
        var _274 = _273 * _262;
        var _275 = _272 + _274;
        var _276 = FHEAP[_61];
        var _277 = _276 * _266;
        var _278 = _275 + _277;
        var _279 = FHEAP[_65];
        var _280 = _278 + _279;
        var _281 = FHEAP[_68];
        var _282 = _281 * _259;
        var _283 = FHEAP[_71];
        var _284 = _283 * _262;
        var _285 = _282 + _284;
        var _286 = FHEAP[_75];
        var _287 = _286 * _266;
        var _288 = _285 + _287;
        var _289 = FHEAP[_79];
        var _290 = _288 + _289;
        var _291 = _0;
        FHEAP[_291] = _290;
        var _292 = _0+4;
        FHEAP[_292] = _280;
        var _293 = _0+8;
        FHEAP[_293] = _270;
        var _294 = _0+12;
        FHEAP[_294] = 0;
        var _295 = IHEAP[_215];
        var _296 = _220;
        FUNCTION_TABLE[_296](_295, _0, _1, _color);
        ;
      }
    } while(0);
    var _297 = _this+4;
    var _298 = IHEAP[_297];
    var _299 = _298+192;
    var _300 = IHEAP[_299];
    var _301 = _300+4;
    var _302 = IHEAP[_301];
    var _303 = _302 < 20;
    ;
    if (_303) {
      ;
      var _304 = _tm;
      __ZN23btPolyhedralConvexShapeC2Ev(_304);
      var _305 = _tm;
      IHEAP[_305] = __ZTV15btTriangleShape+8;
      var _306 = _tm+4;
      IHEAP[_306] = 1;
      var _307 = _tm+52;
      var _308 = _triangle;
      var _309 = FHEAP[_308];
      FHEAP[_307] = _309;
      var _310 = _tm+52+4;
      var _311 = _triangle+4;
      var _312 = FHEAP[_311];
      FHEAP[_310] = _312;
      var _313 = _tm+52+8;
      var _314 = _triangle+8;
      var _315 = FHEAP[_314];
      FHEAP[_313] = _315;
      var _316 = _tm+52+12;
      var _317 = _triangle+12;
      var _318 = FHEAP[_317];
      FHEAP[_316] = _318;
      var _319 = _tm+52+16;
      var _320 = _triangle+16;
      var _321 = FHEAP[_320];
      FHEAP[_319] = _321;
      var _322 = _tm+52+16+4;
      var _323 = _triangle+16+4;
      var _324 = FHEAP[_323];
      FHEAP[_322] = _324;
      var _325 = _tm+52+16+8;
      var _326 = _triangle+16+8;
      var _327 = FHEAP[_326];
      FHEAP[_325] = _327;
      var _328 = _tm+52+16+12;
      var _329 = _triangle+16+12;
      var _330 = FHEAP[_329];
      FHEAP[_328] = _330;
      var _331 = _tm+52+32;
      var _332 = _triangle+32;
      var _333 = FHEAP[_332];
      FHEAP[_331] = _333;
      var _334 = _tm+52+32+4;
      var _335 = _triangle+32+4;
      var _336 = FHEAP[_335];
      FHEAP[_334] = _336;
      var _337 = _tm+52+32+8;
      var _338 = _triangle+32+8;
      var _339 = FHEAP[_338];
      FHEAP[_337] = _339;
      var _340 = _tm+52+32+12;
      var _341 = _triangle+32+12;
      var _342 = FHEAP[_341];
      FHEAP[_340] = _342;
      var _343 = _this+56;
      var _344 = FHEAP[_343];
      var _345 = _tm+44;
      FHEAP[_345] = _344;
      var _346 = _9+192;
      var _347 = IHEAP[_346];
      var _348 = _tm;
      IHEAP[_346] = _348;
      var _349 = _7;
      var _350 = IHEAP[_349];
      var _351 = _350+8;
      var _352 = IHEAP[_351];
      var _353 = _this+64;
      var _354 = IHEAP[_353];
      var _355 = IHEAP[_8];
      var _356 = IHEAP[_297];
      var _357 = _352;
      var _358 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_357](_7, _356, _355, _354) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
      _invcont$_lpad$6127: do { 
        if (__label__ == 345) {
          var _359 = _this+44;
          var _360 = IHEAP[_359];
          var _361 = _360+136;
          var _362 = IHEAP[_361];
          var _363 = IHEAP[_8];
          var _364 = _362 == _363;
          var _365 = _360;
          var _366 = IHEAP[_365];
          ;
          if (_364) {
            ;
            var _367 = _366+8;
            var _368 = IHEAP[_367];
            var _369 = _368;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_369](_360, _partId, _triangleIndex) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6127; }
          }
          else {
            ;
            var _370 = _366+12;
            var _371 = IHEAP[_370];
            var _372 = _371;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_372](_360, _partId, _triangleIndex) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6127; }
          }
          var _373 = _358;
          var _374 = IHEAP[_373];
          var _375 = _374+8;
          var _376 = IHEAP[_375];
          var _377 = IHEAP[_359];
          var _378 = IHEAP[_10];
          var _379 = IHEAP[_8];
          var _380 = IHEAP[_297];
          var _381 = _376;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_381](_358, _380, _379, _378, _377) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6127; }
          var _382 = IHEAP[_373];
          var _383 = IHEAP[_382];
          var _384 = _383;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_384](_358) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6127; }
          var _385 = IHEAP[_349];
          var _386 = _385+52;
          var _387 = IHEAP[_386];
          var _388 = _387;
          var _389 = _358;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_388](_7, _389) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6127; }
          IHEAP[_346] = _347;
          IHEAP[_305] = __ZTV21btConvexInternalShape+8;
          var _390 = _tm;
          __ZN13btConvexShapeD2Ev(_390);
          STACKTOP = __stackBase__;
          return;
        }
      } while(0);
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select27 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_305] = __ZTV21btConvexInternalShape+8;
      var _391 = _tm;
      (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_391) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3721; /* _invcont23 */  } else { __label__ = 3753; /* _lpad28 */  }
      if (__label__ == 3721) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3753) {
        var _eh_ptr29 = _llvm_eh_exception();
        var _eh_select31 = _llvm_eh_selector(_eh_ptr29, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
    else {
      ;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN24btConvexTriangleCallback15processTriangleEP9btVector3ii.__index__ = Runtime.getFunctionIndex(__ZN24btConvexTriangleCallback15processTriangleEP9btVector3ii, "__ZN24btConvexTriangleCallback15processTriangleEP9btVector3ii");
  
  
  function __ZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _body0, _body1, _dispatchInfo, _resultOut) {
    var __stackBase__  = STACKTOP; STACKTOP += 236;
    var __label__;
    var __lastLabel__ = null;
    var _rayAabbMin = __stackBase__;
    var _rayAabbMax = __stackBase__+16;
    var _raycastCallback = __stackBase__+32;
    var _0 = _this+8;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    var _iftmp_222_0 = _toBool ? _body0 : _body1;
    var _iftmp_223_0 = _toBool ? _body1 : _body0;
    var _2 = _iftmp_222_0+68+48+8;
    var _3 = FHEAP[_2];
    var _4 = _iftmp_222_0+4+48+8;
    var _5 = FHEAP[_4];
    var _6 = _3 - _5;
    var _7 = _iftmp_222_0+68+48+4;
    var _8 = FHEAP[_7];
    var _9 = _iftmp_222_0+4+48+4;
    var _10 = FHEAP[_9];
    var _11 = _8 - _10;
    var _12 = _iftmp_222_0+68+48;
    var _13 = FHEAP[_12];
    var _14 = _iftmp_222_0+4+48;
    var _15 = FHEAP[_14];
    var _16 = _13 - _15;
    var _17 = _16 * _16;
    var _18 = _11 * _11;
    var _19 = _17 + _18;
    var _20 = _6 * _6;
    var _21 = _19 + _20;
    var _22 = _iftmp_222_0+248;
    var _23 = FHEAP[_22];
    var _24 = _23 * _23;
    var _25 = _24 > _21;
    ;
    _bb21$_bb9$6142: do { 
      if (!_25) {
        ;
        var _26 = _iftmp_223_0+4+32+8;
        var _27 = _iftmp_223_0+4+16+8;
        var _28 = _iftmp_223_0+4+8;
        var _29 = _iftmp_223_0+4+32+4;
        var _30 = _iftmp_223_0+4+16+4;
        var _31 = _iftmp_223_0+4+4;
        var _32 = _iftmp_223_0+4+32;
        var _33 = _iftmp_223_0+4+16;
        var _34 = _iftmp_223_0+4;
        var _35 = FHEAP[_34];
        var _36 = FHEAP[_33];
        var _37 = FHEAP[_32];
        var _38 = FHEAP[_31];
        var _39 = FHEAP[_30];
        var _40 = FHEAP[_29];
        var _41 = FHEAP[_28];
        var _42 = FHEAP[_27];
        var _43 = FHEAP[_26];
        var _44 = _iftmp_223_0+4+48+8;
        var _45 = FHEAP[_44];
        var _46 = 0 - _45;
        var _47 = _iftmp_223_0+4+48+4;
        var _48 = FHEAP[_47];
        var _49 = 0 - _48;
        var _50 = _iftmp_223_0+4+48;
        var _51 = FHEAP[_50];
        var _52 = 0 - _51;
        var _53 = _41 * _52;
        var _54 = _42 * _49;
        var _55 = _53 + _54;
        var _56 = _43 * _46;
        var _57 = _55 + _56;
        var _58 = _38 * _52;
        var _59 = _39 * _49;
        var _60 = _58 + _59;
        var _61 = _40 * _46;
        var _62 = _60 + _61;
        var _63 = _35 * _52;
        var _64 = _36 * _49;
        var _65 = _63 + _64;
        var _66 = _37 * _46;
        var _67 = _65 + _66;
        var _68 = _41 * _15;
        var _69 = _42 * _10;
        var _70 = _68 + _69;
        var _71 = _43 * _5;
        var _72 = _70 + _71;
        var _73 = _72 + _57;
        var _74 = _38 * _15;
        var _75 = _39 * _10;
        var _76 = _74 + _75;
        var _77 = _40 * _5;
        var _78 = _76 + _77;
        var _79 = _78 + _62;
        var _80 = _35 * _15;
        var _81 = _36 * _10;
        var _82 = _80 + _81;
        var _83 = _37 * _5;
        var _84 = _82 + _83;
        var _85 = _84 + _67;
        var _86 = _iftmp_222_0+4+8;
        var _87 = FHEAP[_86];
        var _88 = _87 * _41;
        var _89 = _iftmp_222_0+4+16+8;
        var _90 = FHEAP[_89];
        var _91 = _90 * _42;
        var _92 = _88 + _91;
        var _93 = _iftmp_222_0+4+32+8;
        var _94 = FHEAP[_93];
        var _95 = _94 * _43;
        var _96 = _92 + _95;
        var _97 = _iftmp_222_0+4+4;
        var _98 = FHEAP[_97];
        var _99 = _98 * _41;
        var _100 = _iftmp_222_0+4+16+4;
        var _101 = FHEAP[_100];
        var _102 = _101 * _42;
        var _103 = _99 + _102;
        var _104 = _iftmp_222_0+4+32+4;
        var _105 = FHEAP[_104];
        var _106 = _105 * _43;
        var _107 = _103 + _106;
        var _108 = _iftmp_222_0+4;
        var _109 = FHEAP[_108];
        var _110 = _109 * _41;
        var _111 = _iftmp_222_0+4+16;
        var _112 = FHEAP[_111];
        var _113 = _112 * _42;
        var _114 = _110 + _113;
        var _115 = _iftmp_222_0+4+32;
        var _116 = FHEAP[_115];
        var _117 = _116 * _43;
        var _118 = _114 + _117;
        var _119 = _87 * _38;
        var _120 = _90 * _39;
        var _121 = _119 + _120;
        var _122 = _94 * _40;
        var _123 = _121 + _122;
        var _124 = _98 * _38;
        var _125 = _101 * _39;
        var _126 = _124 + _125;
        var _127 = _105 * _40;
        var _128 = _126 + _127;
        var _129 = _109 * _38;
        var _130 = _112 * _39;
        var _131 = _129 + _130;
        var _132 = _116 * _40;
        var _133 = _131 + _132;
        var _134 = _87 * _35;
        var _135 = _90 * _36;
        var _136 = _134 + _135;
        var _137 = _94 * _37;
        var _138 = _136 + _137;
        var _139 = _98 * _35;
        var _140 = _101 * _36;
        var _141 = _139 + _140;
        var _142 = _105 * _37;
        var _143 = _141 + _142;
        var _144 = _109 * _35;
        var _145 = _112 * _36;
        var _146 = _144 + _145;
        var _147 = _116 * _37;
        var _148 = _146 + _147;
        var _149 = _41 * _13;
        var _150 = _42 * _8;
        var _151 = _149 + _150;
        var _152 = _43 * _3;
        var _153 = _151 + _152;
        var _154 = _153 + _57;
        var _155 = _38 * _13;
        var _156 = _39 * _8;
        var _157 = _155 + _156;
        var _158 = _40 * _3;
        var _159 = _157 + _158;
        var _160 = _159 + _62;
        var _161 = _35 * _13;
        var _162 = _36 * _8;
        var _163 = _161 + _162;
        var _164 = _37 * _3;
        var _165 = _163 + _164;
        var _166 = _165 + _67;
        var _167 = _iftmp_222_0+68+8;
        var _168 = FHEAP[_167];
        var _169 = _168 * _41;
        var _170 = _iftmp_222_0+68+16+8;
        var _171 = FHEAP[_170];
        var _172 = _171 * _42;
        var _173 = _169 + _172;
        var _174 = _iftmp_222_0+68+32+8;
        var _175 = FHEAP[_174];
        var _176 = _175 * _43;
        var _177 = _173 + _176;
        var _178 = _iftmp_222_0+68+4;
        var _179 = FHEAP[_178];
        var _180 = _179 * _41;
        var _181 = _iftmp_222_0+68+16+4;
        var _182 = FHEAP[_181];
        var _183 = _182 * _42;
        var _184 = _180 + _183;
        var _185 = _iftmp_222_0+68+32+4;
        var _186 = FHEAP[_185];
        var _187 = _186 * _43;
        var _188 = _184 + _187;
        var _189 = _iftmp_222_0+68;
        var _190 = FHEAP[_189];
        var _191 = _190 * _41;
        var _192 = _iftmp_222_0+68+16;
        var _193 = FHEAP[_192];
        var _194 = _193 * _42;
        var _195 = _191 + _194;
        var _196 = _iftmp_222_0+68+32;
        var _197 = FHEAP[_196];
        var _198 = _197 * _43;
        var _199 = _195 + _198;
        var _200 = _168 * _38;
        var _201 = _171 * _39;
        var _202 = _200 + _201;
        var _203 = _175 * _40;
        var _204 = _202 + _203;
        var _205 = _179 * _38;
        var _206 = _182 * _39;
        var _207 = _205 + _206;
        var _208 = _186 * _40;
        var _209 = _207 + _208;
        var _210 = _190 * _38;
        var _211 = _193 * _39;
        var _212 = _210 + _211;
        var _213 = _197 * _40;
        var _214 = _212 + _213;
        var _215 = _168 * _35;
        var _216 = _171 * _36;
        var _217 = _215 + _216;
        var _218 = _175 * _37;
        var _219 = _217 + _218;
        var _220 = _179 * _35;
        var _221 = _182 * _36;
        var _222 = _220 + _221;
        var _223 = _186 * _37;
        var _224 = _222 + _223;
        var _225 = _190 * _35;
        var _226 = _193 * _36;
        var _227 = _225 + _226;
        var _228 = _197 * _37;
        var _229 = _227 + _228;
        var _230 = _iftmp_223_0+192;
        var _231 = IHEAP[_230];
        var _232 = _231+4;
        var _233 = IHEAP[_232];
        var _234 = _233 + -21;
        var _235 = unSign(_234, 32) < unSign(9, 32);
        if (!(_235)) { __label__ = 110; /* _bb21 */ break _bb21$_bb9$6142; }
        var _236 = _rayAabbMin;
        FHEAP[_236] = _85;
        var _237 = _rayAabbMin+4;
        FHEAP[_237] = _79;
        var _238 = _rayAabbMin+8;
        FHEAP[_238] = _73;
        var _239 = _rayAabbMin+12;
        FHEAP[_239] = 0;
        var _240 = _166 < _85;
        ;
        if (_240) {
          __lastLabel__ = 292; ;
          FHEAP[_236] = _166;
          __lastLabel__ = 1259; ;
        }
        else {
          __lastLabel__ = 292; ;
        }
        var _241 = __lastLabel__ == 1259 ? _166 : (_85);
        var _242 = _160 < _79;
        ;
        if (_242) {
          __lastLabel__ = 4108; ;
          FHEAP[_237] = _160;
          __lastLabel__ = 1261; ;
        }
        else {
          __lastLabel__ = 4108; ;
        }
        var _243 = __lastLabel__ == 1261 ? _160 : (_79);
        var _244 = _154 < _73;
        ;
        if (_244) {
          __lastLabel__ = 4110; ;
          FHEAP[_238] = _154;
          __lastLabel__ = 1263; ;
        }
        else {
          __lastLabel__ = 4110; ;
        }
        var _245 = __lastLabel__ == 1263 ? _154 : (_73);
        var _246 = _rayAabbMax;
        FHEAP[_246] = _85;
        var _247 = _rayAabbMax+4;
        FHEAP[_247] = _79;
        var _248 = _rayAabbMax+8;
        FHEAP[_248] = _73;
        var _249 = _rayAabbMax+12;
        FHEAP[_249] = 0;
        var _250 = _85 < _166;
        ;
        if (_250) {
          __lastLabel__ = 4114; ;
          FHEAP[_246] = _166;
          __lastLabel__ = 263; ;
        }
        else {
          __lastLabel__ = 4114; ;
        }
        var _251 = __lastLabel__ == 263 ? _166 : (_85);
        var _252 = _79 < _160;
        ;
        if (_252) {
          __lastLabel__ = 4115; ;
          FHEAP[_247] = _160;
          __lastLabel__ = 1183; ;
        }
        else {
          __lastLabel__ = 4115; ;
        }
        var _253 = __lastLabel__ == 1183 ? _160 : (_79);
        var _254 = _73 < _154;
        ;
        if (_254) {
          __lastLabel__ = 4116; ;
          FHEAP[_248] = _154;
          __lastLabel__ = 218; ;
        }
        else {
          __lastLabel__ = 4116; ;
        }
        var _255 = __lastLabel__ == 218 ? _154 : (_73);
        var _256 = _iftmp_222_0+244;
        var _257 = FHEAP[_256];
        var _258 = _241 - _257;
        FHEAP[_236] = _258;
        var _259 = _243 - _257;
        FHEAP[_237] = _259;
        var _260 = _245 - _257;
        FHEAP[_238] = _260;
        var _261 = _251 + _257;
        FHEAP[_246] = _261;
        var _262 = _253 + _257;
        FHEAP[_247] = _262;
        var _263 = _255 + _257;
        FHEAP[_248] = _263;
        var _264 = _raycastCallback;
        IHEAP[_264] = __ZTVZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback+8;
        var _265 = _raycastCallback+4;
        FHEAP[_265] = _148;
        var _266 = _raycastCallback+4+4;
        FHEAP[_266] = _143;
        var _267 = _raycastCallback+4+8;
        FHEAP[_267] = _138;
        var _268 = _raycastCallback+4+12;
        FHEAP[_268] = 0;
        var _269 = _raycastCallback+4+16;
        FHEAP[_269] = _133;
        var _270 = _raycastCallback+4+16+4;
        FHEAP[_270] = _128;
        var _271 = _raycastCallback+4+16+8;
        FHEAP[_271] = _123;
        var _272 = _raycastCallback+4+16+12;
        FHEAP[_272] = 0;
        var _273 = _raycastCallback+4+32;
        FHEAP[_273] = _118;
        var _274 = _raycastCallback+4+32+4;
        FHEAP[_274] = _107;
        var _275 = _raycastCallback+4+32+8;
        FHEAP[_275] = _96;
        var _276 = _raycastCallback+4+32+12;
        FHEAP[_276] = 0;
        var _277 = _raycastCallback+4+48;
        FHEAP[_277] = _85;
        var _278 = _raycastCallback+4+48+4;
        FHEAP[_278] = _79;
        var _279 = _raycastCallback+4+48+8;
        FHEAP[_279] = _73;
        var _280 = _raycastCallback+4+48+12;
        FHEAP[_280] = 0;
        var _281 = _raycastCallback+68;
        FHEAP[_281] = _229;
        var _282 = _raycastCallback+68+4;
        FHEAP[_282] = _224;
        var _283 = _raycastCallback+68+8;
        FHEAP[_283] = _219;
        var _284 = _raycastCallback+68+12;
        FHEAP[_284] = 0;
        var _285 = _raycastCallback+68+16;
        FHEAP[_285] = _214;
        var _286 = _raycastCallback+68+16+4;
        FHEAP[_286] = _209;
        var _287 = _raycastCallback+68+16+8;
        FHEAP[_287] = _204;
        var _288 = _raycastCallback+68+16+12;
        FHEAP[_288] = 0;
        var _289 = _raycastCallback+68+32;
        FHEAP[_289] = _199;
        var _290 = _raycastCallback+68+32+4;
        FHEAP[_290] = _188;
        var _291 = _raycastCallback+68+32+8;
        FHEAP[_291] = _177;
        var _292 = _raycastCallback+68+32+12;
        FHEAP[_292] = 0;
        var _293 = _raycastCallback+68+48;
        FHEAP[_293] = _166;
        var _294 = _raycastCallback+68+48+4;
        FHEAP[_294] = _160;
        var _295 = _raycastCallback+68+48+8;
        FHEAP[_295] = _154;
        var _296 = _raycastCallback+68+48+12;
        FHEAP[_296] = 0;
        var _297 = _raycastCallback+196;
        FHEAP[_297] = _257;
        var _298 = _raycastCallback+200;
        var _299 = _iftmp_222_0+240;
        var _300 = FHEAP[_299];
        FHEAP[_298] = _300;
        var _301 = _231 == 0;
        ;
        _bb20$_bb12$6163: do { 
          if (_301) {
            __lastLabel__ = 775; ;
          }
          else {
            __lastLabel__ = 775; ;
            var _302 = _231;
            var _303 = _231;
            var _304 = IHEAP[_303];
            var _305 = _304+60;
            var _306 = IHEAP[_305];
            var _307 = _306;
            var _308 = _raycastCallback;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_307](_302, _308, _rayAabbMin, _rayAabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 108; /* _bb13 */  } else { __label__ = 254; /* _lpad */  }
            if (__label__ == 108) {
              var __pre = FHEAP[_298];
              var __pre68 = FHEAP[_299];
              var _309 = __pre < __pre68;
              if (_309) { __lastLabel__ = 108; ; } else { __lastLabel__ = 108; __label__ = 117; /* _bb20 */ break _bb20$_bb12$6163; }
              FHEAP[_299] = __pre;
              __lastLabel__ = 153; ;
            }
            else if (__label__ == 254) {
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select25 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              IHEAP[_264] = __ZTVZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback+8;
              (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_308) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3719; /* _invcont18 */  } else { __label__ = 3800; /* _lpad26 */  }
              if (__label__ == 3719) {
                __Unwind_Resume_or_Rethrow(_eh_ptr);
                // unreachable
              }
              else if (__label__ == 3800) {
                var _eh_ptr27 = _llvm_eh_exception();
                var _eh_select29 = _llvm_eh_selector(_eh_ptr27, ___gxx_personality_v0, 1);
                __ZSt9terminatev();
                // unreachable
              }
            }
          }
        } while(0);
        var _finally_tmp_238_0 = __lastLabel__ == 153 ? __pre : (__lastLabel__ == 108 ? 1 : (1));
        IHEAP[_264] = __ZTVZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback+8;
        var _310 = _raycastCallback;
        __ZN18btTriangleCallbackD2Ev(_310);
        STACKTOP = __stackBase__;
        return _finally_tmp_238_0;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return 1;
  }
  __ZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN24btConvexTriangleCallbackD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV24btConvexTriangleCallback+8;
    var _1 = _this+48;
    var _2 = IHEAP[_1];
    var _3 = _2;
    var _4 = IHEAP[_3];
    var _5 = _4+20;
    var _6 = IHEAP[_5];
    var _7 = _this+64;
    var _8 = IHEAP[_7];
    var _9 = _6;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_9](_2, _8) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    _invcont$_lpad$6176: do { 
      if (__label__ == 345) {
        var _10 = IHEAP[_1];
        var _11 = _10;
        var _12 = IHEAP[_11];
        var _13 = _12+16;
        var _14 = IHEAP[_13];
        var _15 = IHEAP[_7];
        var _16 = _14;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_16](_10, _15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6176; }
        var _17 = _this;
        __ZN18btTriangleCallbackD2Ev(_17);
        var _18 = _this;
        __ZdlPv(_18);
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select9 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    var _19 = _this;
    (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_19) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 3802; /* _lpad10 */  }
    if (__label__ == 1102) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 3802) {
      var _eh_ptr11 = _llvm_eh_exception();
      var _eh_select13 = _llvm_eh_selector(_eh_ptr11, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN24btConvexTriangleCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZN24btConvexTriangleCallbackD0Ev, "__ZN24btConvexTriangleCallbackD0Ev");
  
  
  function __ZN24btConvexTriangleCallbackD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV24btConvexTriangleCallback+8;
    var _1 = _this+48;
    var _2 = IHEAP[_1];
    var _3 = _2;
    var _4 = IHEAP[_3];
    var _5 = _4+20;
    var _6 = IHEAP[_5];
    var _7 = _this+64;
    var _8 = IHEAP[_7];
    var _9 = _6;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_9](_2, _8) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    _invcont$_lpad$6184: do { 
      if (__label__ == 345) {
        var _10 = IHEAP[_1];
        var _11 = _10;
        var _12 = IHEAP[_11];
        var _13 = _12+16;
        var _14 = IHEAP[_13];
        var _15 = IHEAP[_7];
        var _16 = _14;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_16](_10, _15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6184; }
        var _17 = _this;
        __ZN18btTriangleCallbackD2Ev(_17);
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select9 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    var _18 = _this;
    (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_18) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 3802; /* _lpad10 */  }
    if (__label__ == 1102) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 3802) {
      var _eh_ptr11 = _llvm_eh_exception();
      var _eh_select13 = _llvm_eh_selector(_eh_ptr11, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN24btConvexTriangleCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZN24btConvexTriangleCallbackD1Ev, "__ZN24btConvexTriangleCallbackD1Ev");
  
  
  function __ZN24btConvexTriangleCallbackD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV24btConvexTriangleCallback+8;
    var _1 = _this+48;
    var _2 = IHEAP[_1];
    var _3 = _2;
    var _4 = IHEAP[_3];
    var _5 = _4+20;
    var _6 = IHEAP[_5];
    var _7 = _this+64;
    var _8 = IHEAP[_7];
    var _9 = _6;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_9](_2, _8) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    _invcont$_lpad$6192: do { 
      if (__label__ == 345) {
        var _10 = IHEAP[_1];
        var _11 = _10;
        var _12 = IHEAP[_11];
        var _13 = _12+16;
        var _14 = IHEAP[_13];
        var _15 = IHEAP[_7];
        var _16 = _14;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_16](_10, _15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6192; }
        var _17 = _this;
        __ZN18btTriangleCallbackD2Ev(_17);
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select9 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    var _18 = _this;
    (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_18) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 3802; /* _lpad10 */  }
    if (__label__ == 1102) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 3802) {
      var _eh_ptr11 = _llvm_eh_exception();
      var _eh_select13 = _llvm_eh_selector(_eh_ptr11, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN24btConvexTriangleCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZN24btConvexTriangleCallbackD2Ev, "__ZN24btConvexTriangleCallbackD2Ev");
  
  
  function __ZN24btConvexTriangleCallbackC2EP12btDispatcherP17btCollisionObjectS3_b(_this, _dispatcher, _body0, _body1, _isSwapped) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV24btConvexTriangleCallback+8;
    var _1 = _this+48;
    IHEAP[_1] = _dispatcher;
    var _2 = _this+52;
    IHEAP[_2] = 0;
    var _toBool = _isSwapped == 0;
    var _iftmp_204_0 = _toBool ? _body0 : _body1;
    var _3 = _this+4;
    IHEAP[_3] = _iftmp_204_0;
    var _iftmp_205_0 = _toBool ? _body1 : _body0;
    var _4 = _this+8;
    IHEAP[_4] = _iftmp_205_0;
    var _5 = _dispatcher;
    var _6 = IHEAP[_5];
    var _7 = _6+12;
    var _8 = IHEAP[_7];
    var _9 = _8;
    var _10 = _iftmp_204_0;
    var _11 = _iftmp_205_0;
    var _12 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_9](_dispatcher, _10, _11) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
    _invcont$_lpad$6200: do { 
      if (__label__ == 345) {
        var _13 = _this+64;
        IHEAP[_13] = _12;
        var _14 = IHEAP[_1];
        var _15 = _14;
        var _16 = IHEAP[_15];
        var _17 = _16+20;
        var _18 = IHEAP[_17];
        var _19 = _18;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_19](_14, _12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6200; }
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select13 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    var _20 = _this;
    (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_20) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 583; /* _invcont9 */  } else { __label__ = 3803; /* _lpad14 */  }
    if (__label__ == 583) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 3803) {
      var _eh_ptr15 = _llvm_eh_exception();
      var _eh_select17 = _llvm_eh_selector(_eh_ptr15, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN24btConvexTriangleCallbackC2EP12btDispatcherP17btCollisionObjectS3_b.__index__ = Runtime.getFunctionIndex(__ZN24btConvexTriangleCallbackC2EP12btDispatcherP17btCollisionObjectS3_b, "__ZN24btConvexTriangleCallbackC2EP12btDispatcherP17btCollisionObjectS3_b");
  
  
  function __ZN24btConvexTriangleCallbackC1EP12btDispatcherP17btCollisionObjectS3_b(_this, _dispatcher, _body0, _body1, _isSwapped) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV24btConvexTriangleCallback+8;
    var _1 = _this+48;
    IHEAP[_1] = _dispatcher;
    var _2 = _this+52;
    IHEAP[_2] = 0;
    var _toBool_i = _isSwapped == 0;
    var _iftmp_204_0_i = _toBool_i ? _body0 : _body1;
    var _3 = _this+4;
    IHEAP[_3] = _iftmp_204_0_i;
    var _iftmp_205_0_i = _toBool_i ? _body1 : _body0;
    var _4 = _this+8;
    IHEAP[_4] = _iftmp_205_0_i;
    var _5 = _dispatcher;
    var _6 = IHEAP[_5];
    var _7 = _6+12;
    var _8 = IHEAP[_7];
    var _9 = _8;
    var _10 = _iftmp_204_0_i;
    var _11 = _iftmp_205_0_i;
    var _12 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_9](_dispatcher, _10, _11) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4068; /* _invcont_i */  } else { __label__ = 3822; /* _lpad_i */  };
    _invcont_i$_lpad_i$6208: do { 
      if (__label__ == 4068) {
        var _13 = _this+64;
        IHEAP[_13] = _12;
        var _14 = IHEAP[_1];
        var _15 = _14;
        var _16 = IHEAP[_15];
        var _17 = _16+20;
        var _18 = IHEAP[_17];
        var _19 = _18;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_19](_14, _12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3822; /* _lpad_i */ break _invcont_i$_lpad_i$6208; }
        ;
        return;
      }
    } while(0);
    var _eh_ptr_i = _llvm_eh_exception();
    var _eh_select13_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
    var _20 = _this;
    (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_20) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3887; /* _invcont9_i */  } else { __label__ = 3888; /* _lpad14_i */  }
    if (__label__ == 3887) {
      __Unwind_Resume_or_Rethrow(_eh_ptr_i);
      // unreachable
    }
    else if (__label__ == 3888) {
      var _eh_ptr15_i = _llvm_eh_exception();
      var _eh_select17_i = _llvm_eh_selector(_eh_ptr15_i, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN24btConvexTriangleCallbackC1EP12btDispatcherP17btCollisionObjectS3_b.__index__ = Runtime.getFunctionIndex(__ZN24btConvexTriangleCallbackC1EP12btDispatcherP17btCollisionObjectS3_b, "__ZN24btConvexTriangleCallbackC1EP12btDispatcherP17btCollisionObjectS3_b");
  
  
  function __ZN33btConvexConcaveCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _body0, _body1, _dispatchInfo, _resultOut) {
    ;
    var __label__;
    var _0 = _this+8;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    var _iftmp_213_0 = _toBool ? _body0 : _body1;
    var _iftmp_214_0 = _toBool ? _body1 : _body0;
    var _2 = _iftmp_214_0+192;
    var _3 = IHEAP[_2];
    var _4 = _3+4;
    var _5 = IHEAP[_4];
    var _6 = _5 + -21;
    var _7 = unSign(_6, 32) < unSign(9, 32);
    ;
    _bb8$__ZN16btManifoldResult20refreshContactPointsEv_exit$6216: do { 
      if (_7) {
        ;
        var _8 = _3;
        var _9 = _iftmp_213_0+192;
        var _10 = IHEAP[_9];
        var _11 = _10+4;
        var _12 = IHEAP[_11];
        var _13 = _12 < 20;
        if (!(_13)) { __label__ = 990; /* __ZN16btManifoldResult20refreshContactPointsEv_exit */ break _bb8$__ZN16btManifoldResult20refreshContactPointsEv_exit$6216; }
        var _14 = _3;
        var _15 = IHEAP[_14];
        var _16 = _15+44;
        var _17 = IHEAP[_16];
        var _18 = _17;
        var _19 = FUNCTION_TABLE[_18](_8);
        var _20 = _this+12+64;
        var _21 = IHEAP[_20];
        var _22 = _resultOut+4;
        IHEAP[_22] = _21;
        var _23 = _this+12;
        __ZN24btConvexTriangleCallback22setTimeStepAndCountersEfRK16btDispatcherInfoP16btManifoldResult(_23, _19, _dispatchInfo, _resultOut);
        var _24 = IHEAP[_20];
        var _25 = _iftmp_213_0;
        var _26 = _iftmp_214_0;
        var _27 = _24+1108;
        IHEAP[_27] = _25;
        var _28 = _24+1112;
        IHEAP[_28] = _26;
        var _29 = IHEAP[_14];
        var _30 = _29+60;
        var _31 = IHEAP[_30];
        var _32 = _this+12+28;
        var _33 = _this+12+12;
        var _34 = _this+12;
        var _35 = _31;
        FUNCTION_TABLE[_35](_8, _34, _33, _32);
        var _36 = IHEAP[_22];
        var _37 = _36+1116;
        var _38 = IHEAP[_37];
        var _39 = _38 == 0;
        if (_39) { __label__ = 990; /* __ZN16btManifoldResult20refreshContactPointsEv_exit */ break _bb8$__ZN16btManifoldResult20refreshContactPointsEv_exit$6216; }
        var _40 = _36+1108;
        var _41 = IHEAP[_40];
        var _42 = _resultOut+136;
        var _43 = IHEAP[_42];
        var _44 = _43;
        var _45 = _41 == _44;
        ;
        if (_45) {
          ;
          var _48 = _resultOut+72;
          var _49 = _resultOut+8;
          __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_36, _49, _48);
          ;
          return;
        }
        else {
          ;
          var _46 = _resultOut+8;
          var _47 = _resultOut+72;
          __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_36, _47, _46);
          ;
          return;
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN33btConvexConcaveCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN33btConvexConcaveCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN33btConvexConcaveCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN33btConvexConcaveCollisionAlgorithmD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV33btConvexConcaveCollisionAlgorithm+8;
    var _1 = _this+12;
    (function() { try { __THREW__ = false; return __ZN24btConvexTriangleCallbackD1Ev(_1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 116; /* _bb3 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 116) {
      var _2 = _this;
      __ZN30btActivatingCollisionAlgorithmD2Ev(_2);
      var _3 = _this;
      __ZdlPv(_3);
      ;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      var _4 = _this;
      (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
      if (__label__ == 1554) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3761) {
        var _eh_ptr10 = _llvm_eh_exception();
        var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZN33btConvexConcaveCollisionAlgorithmD0Ev.__index__ = Runtime.getFunctionIndex(__ZN33btConvexConcaveCollisionAlgorithmD0Ev, "__ZN33btConvexConcaveCollisionAlgorithmD0Ev");
  
  
  function __ZN33btConvexConcaveCollisionAlgorithmD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV33btConvexConcaveCollisionAlgorithm+8;
    var _1 = _this+12;
    (function() { try { __THREW__ = false; return __ZN24btConvexTriangleCallbackD1Ev(_1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 116; /* _bb3 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 116) {
      var _2 = _this;
      __ZN30btActivatingCollisionAlgorithmD2Ev(_2);
      ;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      var _3 = _this;
      (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_3) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
      if (__label__ == 1554) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3761) {
        var _eh_ptr10 = _llvm_eh_exception();
        var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZN33btConvexConcaveCollisionAlgorithmD1Ev.__index__ = Runtime.getFunctionIndex(__ZN33btConvexConcaveCollisionAlgorithmD1Ev, "__ZN33btConvexConcaveCollisionAlgorithmD1Ev");
  
  
  function __ZN33btConvexConcaveCollisionAlgorithmD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV33btConvexConcaveCollisionAlgorithm+8;
    var _1 = _this+12;
    (function() { try { __THREW__ = false; return __ZN24btConvexTriangleCallbackD1Ev(_1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 116; /* _bb3 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 116) {
      var _2 = _this;
      __ZN30btActivatingCollisionAlgorithmD2Ev(_2);
      ;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      var _3 = _this;
      (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_3) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
      if (__label__ == 1554) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3761) {
        var _eh_ptr10 = _llvm_eh_exception();
        var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZN33btConvexConcaveCollisionAlgorithmD2Ev.__index__ = Runtime.getFunctionIndex(__ZN33btConvexConcaveCollisionAlgorithmD2Ev, "__ZN33btConvexConcaveCollisionAlgorithmD2Ev");
  
  
  function __ZN33btConvexConcaveCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b(_this, _ci, _body0, _body1, _isSwapped) {
    ;
    var __label__;
    var _0 = _this;
    __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_0, _ci, _body0, _body1);
    var _1 = _this;
    IHEAP[_1] = __ZTV33btConvexConcaveCollisionAlgorithm+8;
    var _2 = _this+8;
    IHEAP[_2] = _isSwapped;
    var _3 = _ci;
    var _4 = IHEAP[_3];
    var _5 = _this+12;
    IHEAP[_5] = __ZTV24btConvexTriangleCallback+8;
    var _6 = _this+12+48;
    IHEAP[_6] = _4;
    var _7 = _this+12+52;
    IHEAP[_7] = 0;
    var _toBool_i_i = _isSwapped == 0;
    var _iftmp_204_0_i_i = _toBool_i_i ? _body0 : _body1;
    var _8 = _this+12+4;
    IHEAP[_8] = _iftmp_204_0_i_i;
    var _iftmp_205_0_i_i = _toBool_i_i ? _body1 : _body0;
    var _9 = _this+12+8;
    IHEAP[_9] = _iftmp_205_0_i_i;
    var _10 = _4;
    var _11 = IHEAP[_10];
    var _12 = _11+12;
    var _13 = IHEAP[_12];
    var _14 = _13;
    var _15 = _iftmp_204_0_i_i;
    var _16 = _iftmp_205_0_i_i;
    var _17 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_14](_4, _15, _16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4067; /* _invcont_i_i */  } else { __label__ = 3881; /* _lpad_i_i */  };
    _invcont_i_i$_lpad_i_i$6250: do { 
      if (__label__ == 4067) {
        var _18 = _this+12+64;
        IHEAP[_18] = _17;
        var _19 = IHEAP[_6];
        var _20 = _19;
        var _21 = IHEAP[_20];
        var _22 = _21+20;
        var _23 = IHEAP[_22];
        var _24 = _23;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_24](_19, _17) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3881; /* _lpad_i_i */ break _invcont_i_i$_lpad_i_i$6250; }
        ;
        return;
      }
    } while(0);
    var _eh_ptr_i_i = _llvm_eh_exception();
    var _eh_select13_i_i = _llvm_eh_selector(_eh_ptr_i_i, ___gxx_personality_v0, 0);
    var _25 = _this+12;
    (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_25) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3882; /* _invcont9_i_i */  } else { __label__ = 3883; /* _lpad14_i_i */  }
    if (__label__ == 3882) {
      (function() { try { __THREW__ = false; return __Unwind_Resume_or_Rethrow(_eh_ptr_i_i) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1865; /* __noexc */  } else { __label__ = 254; /* _lpad */  }
      if (__label__ == 1865) {
        // unreachable
      }
      else if (__label__ == 254) {
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select5 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3884; /* _lpad6 */  }
        if (__label__ == 1554) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3884) {
          var _eh_ptr7 = _llvm_eh_exception();
          var _eh_select9 = _llvm_eh_selector(_eh_ptr7, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    }
    else if (__label__ == 3883) {
      var _eh_ptr15_i_i = _llvm_eh_exception();
      var _eh_select17_i_i = _llvm_eh_selector(_eh_ptr15_i_i, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN33btConvexConcaveCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b.__index__ = Runtime.getFunctionIndex(__ZN33btConvexConcaveCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b, "__ZN33btConvexConcaveCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b");
  
  
  function __ZN23btConvexConvexAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_this, _ci, _body0, _body1) {
    ;
    var __label__;
    var _0 = _ci;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+48;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1, 36);
    var _8 = _7 == 0;
    ;
    if (!_8) {
      ;
      var _9 = _this+20;
      var _10 = IHEAP[_9];
      var _11 = _this+16;
      var _12 = IHEAP[_11];
      var _13 = _this+8;
      var _14 = IHEAP[_13];
      var _15 = _this+12;
      var _16 = IHEAP[_15];
      var _17 = _ci+4;
      var _18 = IHEAP[_17];
      var _19 = _7;
      (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_19, _ci, _body0, _body1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3889; /* __ZN23btConvexConvexAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii_exit */  } else { __label__ = 254; /* _lpad */  }
      if (__label__ == 3889) {
        var _20 = _7;
        IHEAP[_20] = __ZTV23btConvexConvexAlgorithm+8;
        var _21 = _7+8;
        var _22 = _21;
        IHEAP[_22] = _16;
        var _23 = _7+12;
        var _24 = _23;
        IHEAP[_24] = _14;
        var _25 = _7+16;
        IHEAP[_25] = 0;
        var _26 = _7+20;
        var _27 = _26;
        IHEAP[_27] = _18;
        var _28 = _7+24;
        IHEAP[_28] = 0;
        var _29 = _7+28;
        var _30 = _29;
        IHEAP[_30] = _12;
        var _31 = _7+32;
        var _32 = _31;
        IHEAP[_32] = _10;
        ;
      }
      else if (__label__ == 254) {
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select7 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    }
    var _iftmp_161_0 = _7;
    ;
    return _iftmp_161_0;
  }
  __ZN23btConvexConvexAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__ = Runtime.getFunctionIndex(__ZN23btConvexConvexAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, "__ZN23btConvexConvexAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_");
  
  
  function __ZN23btConvexConvexAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _col0, _col1, _dispatchInfo, _resultOut) {
    var __stackBase__  = STACKTOP; STACKTOP += 1208;
    var __label__;
    var __lastLabel__ = null;
    var _sphere1 = __stackBase__;
    var _result = __stackBase__+52;
    var _voronoiSimplex = __stackBase__+228;
    var _ccd1 = __stackBase__+588;
    var _sphere0 = __stackBase__+604;
    var _result31 = __stackBase__+656;
    var _voronoiSimplex32 = __stackBase__+832;
    var _ccd133 = __stackBase__+1192;
    var _0 = _col0+68+48+8;
    var _1 = FHEAP[_0];
    var _2 = _col0+4+48+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _col0+68+48+4;
    var _6 = FHEAP[_5];
    var _7 = _col0+4+48+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _col0+68+48;
    var _11 = FHEAP[_10];
    var _12 = _col0+4+48;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _14 * _14;
    var _16 = _9 * _9;
    var _17 = _15 + _16;
    var _18 = _4 * _4;
    var _19 = _17 + _18;
    var _20 = _col1+68+48+8;
    var _21 = FHEAP[_20];
    var _22 = _col1+4+48+8;
    var _23 = FHEAP[_22];
    var _24 = _21 - _23;
    var _25 = _col1+68+48+4;
    var _26 = FHEAP[_25];
    var _27 = _col1+4+48+4;
    var _28 = FHEAP[_27];
    var _29 = _26 - _28;
    var _30 = _col1+68+48;
    var _31 = FHEAP[_30];
    var _32 = _col1+4+48;
    var _33 = FHEAP[_32];
    var _34 = _31 - _33;
    var _35 = _col0+248;
    var _36 = FHEAP[_35];
    var _37 = _36 * _36;
    var _38 = _37 <= _19;
    ;
    _bb2$_bb$6292: do { 
      if (_38) {
        ;
        var __old = IHEAP[_disableCcd];
        var _toBool6_old = __old == 0;
        if (_toBool6_old) { __label__ = 345; /* _invcont */ break _bb2$_bb$6292; } else { __label__ = 1024; /* _bb59 */ break _bb2$_bb$6292; }
      }
      else {
        ;
        var _39 = _29 * _29;
        var _40 = _34 * _34;
        var _41 = _24 * _24;
        var _42 = _40 + _39;
        var _43 = _42 + _41;
        var _44 = _col1+248;
        var _45 = FHEAP[_44];
        var _46 = _45 * _45;
        var _47 = _46 <= _43;
        var _48 = IHEAP[_disableCcd];
        var _toBool6 = _48 == 0;
        var _or_cond = _47 & _toBool6;
        if (_or_cond) { __label__ = 345; /* _invcont */ break _bb2$_bb$6292; } else { __label__ = 1024; /* _bb59 */ break _bb2$_bb$6292; }
      }
    } while(0);
    if (__label__ == 345) {
      var _49 = _col0+192;
      var _50 = IHEAP[_49];
      var _51 = _col1+244;
      var _52 = FHEAP[_51];
      var _53 = _sphere1;
      __ZN21btConvexInternalShapeC2Ev(_53);
      var _54 = _sphere1;
      IHEAP[_54] = __ZTV13btSphereShape+8;
      var _55 = _sphere1+4;
      IHEAP[_55] = 8;
      var _56 = _sphere1+28;
      FHEAP[_56] = _52;
      var _57 = _sphere1+44;
      FHEAP[_57] = _52;
      var _58 = _result;
      IHEAP[_58] = __ZTVN12btConvexCast10CastResultE+8;
      var _59 = _result+164;
      FHEAP[_59] = 999999984306749400;
      var _60 = _result+168;
      IHEAP[_60] = 0;
      var _61 = _result+172;
      FHEAP[_61] = 0;
      var _62 = _voronoiSimplex+308;
      FHEAP[_62] = 0.00009999999747378752;
      var _63 = _voronoiSimplex+316+16;
      var _64 = IHEAP[_63];
      var _65 = _64 & -16;
      IHEAP[_63] = _65;
      var _66 = _50;
      var _67 = _sphere1;
      (function() { try { __THREW__ = false; return __ZN15btGjkConvexCastC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolver(_ccd1, _66, _67, _voronoiSimplex) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 583; /* _invcont9 */  } else { __label__ = 254; /* _lpad */  }
      _invcont9$_lpad$6297: do { 
        if (__label__ == 583) {
          var _68 = _col1+68;
          var _69 = _col1+4;
          var _70 = _col0+68;
          var _71 = _col0+4;
          var _72 = (function() { try { __THREW__ = false; return __ZN15btGjkConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE(_ccd1, _71, _70, _69, _68, _result) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2405; /* _invcont10 */  } else { __label__ = 3890; /* _lpad63 */  };
          if (__label__ == 2405) {
            var _toBool11 = _72 == 0;
            ;
            _bb23$_bb12$6301: do { 
              if (_toBool11) {
                __lastLabel__ = 2405; ;
              }
              else {
                __lastLabel__ = 2405; ;
                var _73 = _col0+240;
                var _74 = FHEAP[_73];
                var _75 = FHEAP[_59];
                var _76 = _74 > _75;
                ;
                if (_76) {
                  ;
                  FHEAP[_73] = _75;
                  ;
                }
                var _77 = _col1+240;
                var _78 = FHEAP[_77];
                var _79 = _78 > _75;
                ;
                if (_79) {
                  ;
                  FHEAP[_77] = _75;
                  ;
                }
                var _80 = _75 < 1;
                if (_80) { __lastLabel__ = 86; ; } else { __lastLabel__ = 86; __label__ = 419; /* _bb23 */ break _bb23$_bb12$6301; }
                __lastLabel__ = 64; ;
              }
            } while(0);
            var _resultFraction_0 = __lastLabel__ == 64 ? _75 : (__lastLabel__ == 86 ? 1 : (1));
            var _81 = _ccd1;
            IHEAP[_81] = __ZTV15btGjkConvexCast+8;
            var _82 = _ccd1;
            (function() { try { __THREW__ = false; return __ZN12btConvexCastD2Ev(_82) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont9$_lpad$6297; }
            IHEAP[_54] = __ZTV21btConvexInternalShape+8;
            __ZN13btConvexShapeD2Ev(_67);
            var _83 = _col1+192;
            var _84 = IHEAP[_83];
            var _85 = _col0+244;
            var _86 = FHEAP[_85];
            var _87 = _sphere0;
            __ZN21btConvexInternalShapeC2Ev(_87);
            var _88 = _sphere0;
            IHEAP[_88] = __ZTV13btSphereShape+8;
            var _89 = _sphere0+4;
            IHEAP[_89] = 8;
            var _90 = _sphere0+28;
            FHEAP[_90] = _86;
            var _91 = _sphere0+44;
            FHEAP[_91] = _86;
            var _92 = _result31;
            IHEAP[_92] = __ZTVN12btConvexCast10CastResultE+8;
            var _93 = _result31+164;
            FHEAP[_93] = 999999984306749400;
            var _94 = _result31+168;
            IHEAP[_94] = 0;
            var _95 = _result31+172;
            FHEAP[_95] = 0;
            var _96 = _voronoiSimplex32+308;
            FHEAP[_96] = 0.00009999999747378752;
            var _97 = _voronoiSimplex32+316+16;
            var _98 = IHEAP[_97];
            var _99 = _98 & -16;
            IHEAP[_97] = _99;
            var _100 = _84;
            var _101 = _sphere0;
            (function() { try { __THREW__ = false; return __ZN15btGjkConvexCastC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolver(_ccd133, _101, _100, _voronoiSimplex32) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1558; /* _invcont35 */  } else { __label__ = 1278; /* _lpad75 */  }
            _invcont35$_lpad75$6312: do { 
              if (__label__ == 1558) {
                var _102 = (function() { try { __THREW__ = false; return __ZN15btGjkConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE(_ccd133, _71, _70, _69, _68, _result31) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3724; /* _invcont36 */  } else { __label__ = 3854; /* _lpad79 */  };
                if (__label__ == 3724) {
                  var _toBool37 = _102 == 0;
                  ;
                  _bb51$_bb38$6316: do { 
                    if (_toBool37) {
                      __lastLabel__ = 3724; ;
                    }
                    else {
                      __lastLabel__ = 3724; ;
                      var _103 = _col0+240;
                      var _104 = FHEAP[_103];
                      var _105 = FHEAP[_93];
                      var _106 = _104 > _105;
                      ;
                      if (_106) {
                        ;
                        FHEAP[_103] = _105;
                        ;
                      }
                      var _107 = _col1+240;
                      var _108 = FHEAP[_107];
                      var _109 = _108 > _105;
                      ;
                      if (_109) {
                        ;
                        FHEAP[_107] = _105;
                        ;
                      }
                      var _110 = _105 < _resultFraction_0;
                      if (_110) { __lastLabel__ = 94; ; } else { __lastLabel__ = 94; __label__ = 1276; /* _bb51 */ break _bb51$_bb38$6316; }
                      __lastLabel__ = 95; ;
                    }
                  } while(0);
                  var _resultFraction_1 = __lastLabel__ == 95 ? _105 : (__lastLabel__ == 94 ? _resultFraction_0 : (_resultFraction_0));
                  var _111 = _ccd133;
                  IHEAP[_111] = __ZTV15btGjkConvexCast+8;
                  var _112 = _ccd133;
                  (function() { try { __THREW__ = false; return __ZN12btConvexCastD2Ev(_112) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 1278; /* _lpad75 */ break _invcont35$_lpad75$6312; }
                  IHEAP[_88] = __ZTV21btConvexInternalShape+8;
                  __ZN13btConvexShapeD2Ev(_101);
                  STACKTOP = __stackBase__;
                  return _resultFraction_1;
                }
                else if (__label__ == 3854) {
                  var _eh_ptr80 = _llvm_eh_exception();
                  var _eh_select82 = _llvm_eh_selector(_eh_ptr80, ___gxx_personality_v0, 0);
                  var _115 = _ccd133;
                  IHEAP[_115] = __ZTV15btGjkConvexCast+8;
                  var _116 = _ccd133;
                  (function() { try { __THREW__ = false; return __ZN12btConvexCastD2Ev(_116) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3854; __label__ = 3892; /* _ppad94 */ break _invcont35$_lpad75$6312; } else { __lastLabel__ = 3854; ; }
                  var _eh_ptr84 = _llvm_eh_exception();
                  var _eh_select86 = _llvm_eh_selector(_eh_ptr84, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              }
            } while(0);
            if (__label__ == 1278) {
              var _eh_ptr76 = _llvm_eh_exception();
              var _eh_select78 = _llvm_eh_selector(_eh_ptr76, ___gxx_personality_v0, 0);
              __lastLabel__ = 1278; ;
            }
            var _eh_exception_2 = __lastLabel__ == 1278 ? _eh_ptr76 : (_eh_ptr80);
            IHEAP[_88] = __ZTV21btConvexInternalShape+8;
            (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_101) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3892; __label__ = 111; /* _Unwind */ break _invcont9$_lpad$6297; } else { __lastLabel__ = 3892; ; }
            var _eh_ptr88 = _llvm_eh_exception();
            var _eh_select90 = _llvm_eh_selector(_eh_ptr88, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
          else if (__label__ == 3890) {
            var _eh_ptr64 = _llvm_eh_exception();
            var _eh_select66 = _llvm_eh_selector(_eh_ptr64, ___gxx_personality_v0, 0);
            var _113 = _ccd1;
            IHEAP[_113] = __ZTV15btGjkConvexCast+8;
            var _114 = _ccd1;
            (function() { try { __THREW__ = false; return __ZN12btConvexCastD2Ev(_114) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3890; __label__ = 45; /* _ppad */ break _invcont9$_lpad$6297; } else { __lastLabel__ = 3890; ; }
            var _eh_ptr68 = _llvm_eh_exception();
            var _eh_select70 = _llvm_eh_selector(_eh_ptr68, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      _Unwind$_lpad$_ppad$6335: do { 
        if (__label__ == 254) {
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select62 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _Unwind$_lpad$_ppad$6335;
        }
      } while(0);
      _Unwind$_ppad$6337: do { 
        if (__label__ == 45) {
          var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr64);
          IHEAP[_54] = __ZTV21btConvexInternalShape+8;
          (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_67) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 45; __label__ = 111; /* _Unwind */ break _Unwind$_ppad$6337; } else { __lastLabel__ = 45; ; }
          var _eh_ptr72 = _llvm_eh_exception();
          var _eh_select74 = _llvm_eh_selector(_eh_ptr72, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      var _eh_exception_1 = __lastLabel__ == 45 ? _eh_exception_0 : (_eh_exception_2);
      __Unwind_Resume_or_Rethrow(_eh_exception_1);
      // unreachable
    }
    else if (__label__ == 1024) {
      STACKTOP = __stackBase__;
      return 1;
    }
  }
  __ZN23btConvexConvexAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN23btConvexConvexAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN23btConvexConvexAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN23btConvexConvexAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _body0, _body1, _dispatchInfo, _resultOut) {
    var __stackBase__  = STACKTOP; STACKTOP += 608;
    var __label__;
    var __lastLabel__ = null;
    var _normalOnB = __stackBase__;
    var _pointOnBWorld = __stackBase__+16;
    var _input = __stackBase__+32;
    var _gjkPairDetector = __stackBase__+168;
    var _perturbedResultOut = __stackBase__+244;
    var _0 = _this+20;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (_2) {
      __lastLabel__ = -1; ;
      var _3 = _this+4;
      var _4 = IHEAP[_3];
      var _5 = _4;
      var _6 = IHEAP[_5];
      var _7 = _6+12;
      var _8 = IHEAP[_7];
      var _9 = _8;
      var _10 = _body0;
      var _11 = _body1;
      var _12 = FUNCTION_TABLE[_9](_4, _10, _11);
      IHEAP[_0] = _12;
      var _13 = _this+16;
      IHEAP[_13] = 1;
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _14 = __lastLabel__ == 60 ? _12 : (_1);
    var _15 = _resultOut+4;
    IHEAP[_15] = _14;
    var _16 = _body0+192;
    var _17 = IHEAP[_16];
    var _18 = _17;
    var _19 = _body1+192;
    var _20 = IHEAP[_19];
    var _21 = _20;
    var _22 = _17+4;
    var _23 = IHEAP[_22];
    var _24 = _23 == 10;
    ;
    _bb2$_bb4$6346: do { 
      if (_24) {
        ;
        var _25 = _20+4;
        var _26 = IHEAP[_25];
        var _27 = _26 == 10;
        if (!(_27)) { __label__ = 61; /* _bb4 */ break _bb2$_bb4$6346; }
        var _52 = _17;
        var _53 = _20;
        var _54 = _17;
        var _55 = IHEAP[_54];
        var _56 = _55+28;
        var _57 = IHEAP[_56];
        var _58 = _17;
        var _59 = _57;
        var _60 = FUNCTION_TABLE[_59](_58);
        var _61 = _20;
        var _62 = IHEAP[_61];
        var _63 = _62+28;
        var _64 = IHEAP[_63];
        var _65 = _20;
        var _66 = _64;
        var _67 = FUNCTION_TABLE[_66](_65);
        var _68 = IHEAP[_0];
        var _69 = __ZNK20btPersistentManifold27getContactBreakingThresholdEv(_68);
        var _70 = _20+48+4;
        var _71 = IHEAP[_70];
        var _72 = _17+48+4;
        var _73 = IHEAP[_72];
        var _74 = _71 + 2;
        var _75 = Math.floor(_74 % 3);
        var _76 = _53+28+_75*4;
        var _77 = FHEAP[_76];
        var _78 = _53+28+_71*4;
        var _79 = FHEAP[_78];
        var _80 = _73 + 2;
        var _81 = Math.floor(_80 % 3);
        var _82 = _52+28+_81*4;
        var _83 = FHEAP[_82];
        var _84 = _52+28+_73*4;
        var _85 = FHEAP[_84];
        var _86 = _body0+4+32+_73*4;
        var _87 = _body0+4+16+_73*4;
        var _88 = _body0+4+_73*4;
        var _89 = FHEAP[_88];
        var _90 = FHEAP[_87];
        var _91 = FHEAP[_86];
        var _92 = _body0+4+48;
        var _93 = FHEAP[_92];
        var _94 = _body0+4+48+4;
        var _95 = FHEAP[_94];
        var _96 = _body0+4+48+8;
        var _97 = FHEAP[_96];
        var _98 = _body1+4+32+_71*4;
        var _99 = _body1+4+16+_71*4;
        var _100 = _body1+4+_71*4;
        var _101 = FHEAP[_100];
        var _102 = FHEAP[_99];
        var _103 = FHEAP[_98];
        var _104 = _body1+4+48;
        var _105 = FHEAP[_104];
        var _106 = _body1+4+48+4;
        var _107 = FHEAP[_106];
        var _108 = _body1+4+48+8;
        var _109 = FHEAP[_108];
        var _110 = _109 - _97;
        var _111 = _107 - _95;
        var _112 = _105 - _93;
        var _113 = _89 * _101;
        var _114 = _90 * _102;
        var _115 = _113 + _114;
        var _116 = _91 * _103;
        var _117 = _115 + _116;
        var _118 = _89 * _112;
        var _119 = _90 * _111;
        var _120 = _118 + _119;
        var _121 = _91 * _110;
        var _122 = _120 + _121;
        var _123 = _101 * _112;
        var _124 = _102 * _111;
        var _125 = _123 + _124;
        var _126 = _103 * _110;
        var _127 = _125 + _126;
        var _128 = _117 * _117;
        var _129 = 1 - _128;
        var _130 = _129 == 0;
        ;
        _bb5_i_i$_bb1_i9_i$6349: do { 
          if (_130) {
            __lastLabel__ = 83; ;
          }
          else {
            __lastLabel__ = 83; ;
            var _131 = _127 * _117;
            var _132 = _122 - _131;
            var _133 = _132 / _129;
            var _134 = 0 - _85;
            var _135 = _133 < _134;
            if (_135) { __lastLabel__ = 1281; __label__ = 1282; /* _bb5_i_i */ break _bb5_i_i$_bb1_i9_i$6349; } else { __lastLabel__ = 1281; ; }
            var _136 = _133 > _85;
            if (_136) { __lastLabel__ = 324; ; } else { __lastLabel__ = 324; __label__ = 1282; /* _bb5_i_i */ break _bb5_i_i$_bb1_i9_i$6349; }
            __lastLabel__ = 630; ;
          }
        } while(0);
        var _tA_0_i = __lastLabel__ == 630 ? _85 : (__lastLabel__ == 324 ? _133 : (__lastLabel__ == 83 ? 0 : (_134)));
        var _137 = _tA_0_i * _117;
        var _138 = _137 - _127;
        var _139 = 0 - _79;
        var _140 = _138 < _139;
        ;
        _bb6_i_i$_bb10_i_i$6354: do { 
          if (_140) {
            ;
            var _141 = _117 * _139;
            var _142 = _141 + _122;
            var _143 = 0 - _85;
            var _144 = _142 < _143;
            if (_144) { __lastLabel__ = 631; __label__ = 1284; /* __ZL21segmentsClosestPointsR9btVector3S0_S0_RfS1_RKS_S3_fS3_f_exit_i */ break _bb6_i_i$_bb10_i_i$6354; } else { __lastLabel__ = 631; ; }
            var _145 = _142 > _85;
            if (_145) { __lastLabel__ = 1285; ; } else { __lastLabel__ = 1285; __label__ = 1284; /* __ZL21segmentsClosestPointsR9btVector3S0_S0_RfS1_RKS_S3_fS3_f_exit_i */ break _bb6_i_i$_bb10_i_i$6354; }
            __lastLabel__ = 1286; ;
          }
          else {
            ;
            var _146 = _138 > _79;
            if (_146) { __lastLabel__ = 446; ; } else { __lastLabel__ = 446; __label__ = 1284; /* __ZL21segmentsClosestPointsR9btVector3S0_S0_RfS1_RKS_S3_fS3_f_exit_i */ break _bb6_i_i$_bb10_i_i$6354; }
            var _147 = _117 * _79;
            var _148 = _147 + _122;
            var _149 = 0 - _85;
            var _150 = _148 < _149;
            if (_150) { __lastLabel__ = 1288; __label__ = 1284; /* __ZL21segmentsClosestPointsR9btVector3S0_S0_RfS1_RKS_S3_fS3_f_exit_i */ break _bb6_i_i$_bb10_i_i$6354; } else { __lastLabel__ = 1288; ; }
            var _151 = _148 > _85;
            if (_151) { __lastLabel__ = 1289; ; } else { __lastLabel__ = 1289; __label__ = 1284; /* __ZL21segmentsClosestPointsR9btVector3S0_S0_RfS1_RKS_S3_fS3_f_exit_i */ break _bb6_i_i$_bb10_i_i$6354; }
            __lastLabel__ = 1290; ;
          }
        } while(0);
        var _tB_0_i = __lastLabel__ == 1286 ? _139 : (__lastLabel__ == 1285 ? _139 : (__lastLabel__ == 1290 ? _79 : (__lastLabel__ == 1289 ? _79 : (__lastLabel__ == 631 ? _139 : (__lastLabel__ == 446 ? _138 : (_79))))));
        var _152 = __lastLabel__ == 1286 ? _85 : (__lastLabel__ == 1285 ? _142 : (__lastLabel__ == 1290 ? _85 : (__lastLabel__ == 1289 ? _148 : (__lastLabel__ == 631 ? _143 : (__lastLabel__ == 446 ? _tA_0_i : (_149))))));
        var _153 = _91 * _152;
        var _154 = _90 * _152;
        var _155 = _89 * _152;
        var _156 = _103 * _tB_0_i;
        var _157 = _102 * _tB_0_i;
        var _158 = _101 * _tB_0_i;
        var _159 = _110 - _153;
        var _160 = _111 - _154;
        var _161 = _112 - _155;
        var _162 = _159 + _156;
        var _163 = _160 + _157;
        var _164 = _161 + _158;
        var _165 = _164 * _164;
        var _166 = _163 * _163;
        var _167 = _165 + _166;
        var _168 = _162 * _162;
        var _169 = _167 + _168;
        var _170 = _sqrtf(_169);
        var _171 = _170 - _83;
        var _172 = _171 - _77;
        var _173 = _172 > _69;
        ;
        if (!_173) {
          ;
          var _174 = _169 > 1.4210854715202004e-14;
          ;
          if (_174) {
            ;
            var _199 = -1 / _170;
            var _200 = _162 * _199;
            var _201 = _163 * _199;
            var _202 = _164 * _199;
            var _203 = _normalOnB;
            FHEAP[_203] = _202;
            var _204 = _normalOnB+4;
            FHEAP[_204] = _201;
            var _205 = _normalOnB+8;
            FHEAP[_205] = _200;
            var _206 = _normalOnB+12;
            FHEAP[_206] = 0;
            __lastLabel__ = 1292; ;
          }
          else {
            ;
            var _175 = _fabsf(_91);
            var _176 = _175 > 0.7071067690849304;
            ;
            if (_176) {
              ;
              var _177 = _90 * _90;
              var _178 = _91 * _91;
              var _179 = _177 + _178;
              var _180 = _sqrtf(_179);
              var _181 = 1 / _180;
              var _182 = _normalOnB;
              FHEAP[_182] = 0;
              var _183 = 0 - _91;
              var _184 = _181 * _183;
              var _185 = _normalOnB+4;
              FHEAP[_185] = _184;
              var _186 = _90 * _181;
              var _187 = _normalOnB+8;
              FHEAP[_187] = _186;
              __lastLabel__ = 263; ;
            }
            else {
              ;
              var _188 = _89 * _89;
              var _189 = _90 * _90;
              var _190 = _188 + _189;
              var _191 = _sqrtf(_190);
              var _192 = 1 / _191;
              var _193 = _normalOnB;
              var _194 = 0 - _90;
              var _195 = _192 * _194;
              FHEAP[_193] = _195;
              var _196 = _89 * _192;
              var _197 = _normalOnB+4;
              FHEAP[_197] = _196;
              var _198 = _normalOnB+8;
              FHEAP[_198] = 0;
              __lastLabel__ = 265; ;
            }
          }
          var _207 = __lastLabel__ == 265 ? _195 : (__lastLabel__ == 263 ? 0 : (_202));
          var _208 = __lastLabel__ == 265 ? _196 : (__lastLabel__ == 263 ? _184 : (_201));
          var _209 = __lastLabel__ == 265 ? 0 : (__lastLabel__ == 263 ? _186 : (_200));
          var _210 = _209 * _77;
          var _211 = _208 * _77;
          var _212 = _207 * _77;
          var _213 = _109 + _156;
          var _214 = _107 + _157;
          var _215 = _105 + _158;
          var _216 = _213 + _210;
          var _217 = _214 + _211;
          var _218 = _215 + _212;
          var _219 = _pointOnBWorld;
          FHEAP[_219] = _218;
          var _220 = _pointOnBWorld+4;
          FHEAP[_220] = _217;
          var _221 = _pointOnBWorld+8;
          FHEAP[_221] = _216;
          var _222 = _pointOnBWorld+12;
          FHEAP[_222] = 0;
          ;
        }
        var _223 = _172 < _69;
        ;
        if (_223) {
          ;
          var _224 = _resultOut;
          var _225 = IHEAP[_224];
          var _226 = _225+16;
          var _227 = IHEAP[_226];
          var _228 = _227;
          FUNCTION_TABLE[_228](_resultOut, _normalOnB, _pointOnBWorld, _172);
          ;
        }
        var _229 = IHEAP[_15];
        var _230 = _229+1116;
        var _231 = IHEAP[_230];
        var _232 = _231 == 0;
        if (_232) { __label__ = 1295; /* __ZN16btManifoldResult20refreshContactPointsEv_exit54 */ break _bb2$_bb4$6346; }
        var _233 = _229+1108;
        var _234 = IHEAP[_233];
        var _235 = _resultOut+136;
        var _236 = IHEAP[_235];
        var _237 = _236;
        var _238 = _234 == _237;
        ;
        if (_238) {
          ;
          var _241 = _resultOut+72;
          var _242 = _resultOut+8;
          __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_229, _242, _241);
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _239 = _resultOut+8;
          var _240 = _resultOut+72;
          __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_229, _240, _239);
          STACKTOP = __stackBase__;
          return;
        }
      }
      else {
        __label__ = 61; /* _bb4 */ 
      }
    } while(0);
    __ZN16btManifoldResult20refreshContactPointsEv_exit54$_bb4$6380: do { 
      if (__label__ == 61) {
        var _28 = _input+128;
        FHEAP[_28] = 999999984306749400;
        var _29 = _input+132;
        IHEAP[_29] = 0;
        var _30 = _this+12;
        var _31 = IHEAP[_30];
        var _32 = _this+8;
        var _33 = IHEAP[_32];
        __ZN17btGjkPairDetectorC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_gjkPairDetector, _18, _21, _33, _31);
        var _34 = _gjkPairDetector+28;
        IHEAP[_34] = _18;
        var _35 = _gjkPairDetector+32;
        IHEAP[_35] = _21;
        var _36 = _dispatchInfo+40;
        var _37 = IHEAP[_36];
        var _toBool10 = _37 == 0;
        var _38 = _17;
        var _39 = IHEAP[_38];
        var _40 = _39+44;
        var _41 = IHEAP[_40];
        var _42 = _41;
        var _43 = FUNCTION_TABLE[_42](_18);
        var _44 = _20;
        var _45 = IHEAP[_44];
        var _46 = _45+44;
        var _47 = IHEAP[_46];
        var _48 = _47;
        var _49 = FUNCTION_TABLE[_48](_21);
        var _50 = _43 + _49;
        var _51 = IHEAP[_0];
        ;
        if (_toBool10) {
          ;
          var _245 = __ZNK20btPersistentManifold27getContactBreakingThresholdEv(_51);
          __lastLabel__ = 3; ;
        }
        else {
          ;
          var _243 = _51+1124;
          var _244 = FHEAP[_243];
          __lastLabel__ = 292; ;
        }
        var __pn163 = __lastLabel__ == 292 ? _244 : (_245);
        var _246 = _50 + __pn163;
        var _247 = _246 * _246;
        FHEAP[_28] = _247;
        var _248 = _dispatchInfo+44;
        var _249 = IHEAP[_248];
        IHEAP[_29] = _249;
        var _250 = _input;
        var _251 = _body0+4;
        var _252 = FHEAP[_251];
        FHEAP[_250] = _252;
        var _253 = _input+4;
        var _254 = _body0+4+4;
        var _255 = FHEAP[_254];
        FHEAP[_253] = _255;
        var _256 = _input+8;
        var _257 = _body0+4+8;
        var _258 = FHEAP[_257];
        FHEAP[_256] = _258;
        var _259 = _input+12;
        var _260 = _body0+4+12;
        var _261 = FHEAP[_260];
        FHEAP[_259] = _261;
        var _262 = _input+16;
        var _263 = _body0+4+16;
        var _264 = FHEAP[_263];
        FHEAP[_262] = _264;
        var _265 = _input+16+4;
        var _266 = _body0+4+16+4;
        var _267 = FHEAP[_266];
        FHEAP[_265] = _267;
        var _268 = _input+16+8;
        var _269 = _body0+4+16+8;
        var _270 = FHEAP[_269];
        FHEAP[_268] = _270;
        var _271 = _input+16+12;
        var _272 = _body0+4+16+12;
        var _273 = FHEAP[_272];
        FHEAP[_271] = _273;
        var _274 = _input+32;
        var _275 = _body0+4+32;
        var _276 = FHEAP[_275];
        FHEAP[_274] = _276;
        var _277 = _input+32+4;
        var _278 = _body0+4+32+4;
        var _279 = FHEAP[_278];
        FHEAP[_277] = _279;
        var _280 = _input+32+8;
        var _281 = _body0+4+32+8;
        var _282 = FHEAP[_281];
        FHEAP[_280] = _282;
        var _283 = _input+32+12;
        var _284 = _body0+4+32+12;
        var _285 = FHEAP[_284];
        FHEAP[_283] = _285;
        var _286 = _input+48;
        var _287 = _body0+4+48;
        var _288 = FHEAP[_287];
        FHEAP[_286] = _288;
        var _289 = _input+48+4;
        var _290 = _body0+4+48+4;
        var _291 = FHEAP[_290];
        FHEAP[_289] = _291;
        var _292 = _input+48+8;
        var _293 = _body0+4+48+8;
        var _294 = FHEAP[_293];
        FHEAP[_292] = _294;
        var _295 = _input+48+12;
        var _296 = _body0+4+48+12;
        var _297 = FHEAP[_296];
        FHEAP[_295] = _297;
        var _298 = _input+64;
        var _299 = _body1+4;
        var _300 = FHEAP[_299];
        FHEAP[_298] = _300;
        var _301 = _input+64+4;
        var _302 = _body1+4+4;
        var _303 = FHEAP[_302];
        FHEAP[_301] = _303;
        var _304 = _input+64+8;
        var _305 = _body1+4+8;
        var _306 = FHEAP[_305];
        FHEAP[_304] = _306;
        var _307 = _input+64+12;
        var _308 = _body1+4+12;
        var _309 = FHEAP[_308];
        FHEAP[_307] = _309;
        var _310 = _input+64+16;
        var _311 = _body1+4+16;
        var _312 = FHEAP[_311];
        FHEAP[_310] = _312;
        var _313 = _input+64+16+4;
        var _314 = _body1+4+16+4;
        var _315 = FHEAP[_314];
        FHEAP[_313] = _315;
        var _316 = _input+64+16+8;
        var _317 = _body1+4+16+8;
        var _318 = FHEAP[_317];
        FHEAP[_316] = _318;
        var _319 = _input+64+16+12;
        var _320 = _body1+4+16+12;
        var _321 = FHEAP[_320];
        FHEAP[_319] = _321;
        var _322 = _input+64+32;
        var _323 = _body1+4+32;
        var _324 = FHEAP[_323];
        FHEAP[_322] = _324;
        var _325 = _input+64+32+4;
        var _326 = _body1+4+32+4;
        var _327 = FHEAP[_326];
        FHEAP[_325] = _327;
        var _328 = _input+64+32+8;
        var _329 = _body1+4+32+8;
        var _330 = FHEAP[_329];
        FHEAP[_328] = _330;
        var _331 = _input+64+32+12;
        var _332 = _body1+4+32+12;
        var _333 = FHEAP[_332];
        FHEAP[_331] = _333;
        var _334 = _input+64+48;
        var _335 = _body1+4+48;
        var _336 = FHEAP[_335];
        FHEAP[_334] = _336;
        var _337 = _input+64+48+4;
        var _338 = _body1+4+48+4;
        var _339 = FHEAP[_338];
        FHEAP[_337] = _339;
        var _340 = _input+64+48+8;
        var _341 = _body1+4+48+8;
        var _342 = FHEAP[_341];
        FHEAP[_340] = _342;
        var _343 = _input+64+48+12;
        var _344 = _body1+4+48+12;
        var _345 = FHEAP[_344];
        FHEAP[_343] = _345;
        var _346 = _dispatchInfo+20;
        var _347 = IHEAP[_346];
        var _348 = _resultOut;
        __ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(_gjkPairDetector, _input, _348, _347, 0);
        var _349 = _this+28;
        var _350 = IHEAP[_349];
        var _351 = _350 == 0;
        ;
        _bb42$_bb14$6386: do { 
          if (!_351) {
            ;
            var _352 = IHEAP[_15];
            var _353 = _352+1116;
            var _354 = IHEAP[_353];
            var _355 = _this+32;
            var _356 = IHEAP[_355];
            var _357 = _354 < _356;
            if (!(_357)) { __label__ = 69; /* _bb42 */ break _bb42$_bb14$6386; }
            var _358 = _gjkPairDetector+4;
            var _359 = FHEAP[_358];
            var _360 = _359 * _359;
            var _361 = _gjkPairDetector+4+4;
            var _362 = FHEAP[_361];
            var _363 = _362 * _362;
            var _364 = _360 + _363;
            var _365 = _gjkPairDetector+4+8;
            var _366 = FHEAP[_365];
            var _367 = _366 * _366;
            var _368 = _364 + _367;
            var _369 = _sqrtf(_368);
            var _370 = 1 / _369;
            var _371 = _366 * _370;
            var _372 = _362 * _370;
            var _373 = _359 * _370;
            var _374 = _fabsf(_371);
            var _375 = _374 > 0.7071067690849304;
            ;
            if (_375) {
              ;
              var _376 = _372 * _372;
              var _377 = _371 * _371;
              var _378 = _376 + _377;
              var _379 = _sqrtf(_378);
              var _380 = 1 / _379;
              var _381 = 0 - _371;
              var _382 = _380 * _381;
              var _383 = _372 * _380;
              __lastLabel__ = 1298; ;
            }
            else {
              ;
              var _384 = _373 * _373;
              var _385 = _372 * _372;
              var _386 = _384 + _385;
              var _387 = _sqrtf(_386);
              var _388 = 1 / _387;
              var _389 = 0 - _372;
              var _390 = _388 * _389;
              var _391 = _373 * _388;
              __lastLabel__ = 159; ;
            }
            var _v0_0_0_0 = __lastLabel__ == 1298 ? 0 : (_390);
            var _v0_0_1_0 = __lastLabel__ == 1298 ? _382 : (_391);
            var _v0_0_2_0 = __lastLabel__ == 1298 ? _383 : (0);
            var _392 = IHEAP[_38];
            var _393 = _392+16;
            var _394 = IHEAP[_393];
            var _395 = _394;
            var _396 = FUNCTION_TABLE[_395](_17);
            var _397 = IHEAP[_44];
            var _398 = _397+16;
            var _399 = IHEAP[_398];
            var _400 = _399;
            var _401 = FUNCTION_TABLE[_400](_20);
            var _402 = _396 < _401;
            var _403 = FHEAP[_gContactBreakingThreshold];
            var __pn = _402 ? _396 : _401;
            var _perturbeA_0 = _402;
            var _storemerge = _403 / __pn;
            var _404 = _storemerge > 0.39269909262657166;
            ;
            if (_402) {
              ;
              var _405 = FHEAP[_250];
              var _406 = FHEAP[_253];
              var _407 = FHEAP[_256];
              var _408 = FHEAP[_259];
              var _409 = FHEAP[_262];
              var _410 = FHEAP[_265];
              var _411 = FHEAP[_268];
              var _412 = FHEAP[_271];
              var _413 = FHEAP[_274];
              var _414 = FHEAP[_277];
              var _415 = FHEAP[_280];
              var _416 = FHEAP[_283];
              var _417 = FHEAP[_286];
              var _418 = FHEAP[_289];
              var _419 = FHEAP[_292];
              var _420 = FHEAP[_295];
              __lastLabel__ = 626; ;
            }
            else {
              ;
              var _421 = FHEAP[_298];
              var _422 = FHEAP[_301];
              var _423 = FHEAP[_304];
              var _424 = FHEAP[_307];
              var _425 = FHEAP[_310];
              var _426 = FHEAP[_313];
              var _427 = FHEAP[_316];
              var _428 = FHEAP[_319];
              var _429 = FHEAP[_322];
              var _430 = FHEAP[_325];
              var _431 = FHEAP[_328];
              var _432 = FHEAP[_331];
              var _433 = FHEAP[_334];
              var _434 = FHEAP[_337];
              var _435 = FHEAP[_340];
              var _436 = FHEAP[_343];
              __lastLabel__ = 515; ;
            }
            var _unPerturbedTransform_0_0_0_0_0_0_ph = __lastLabel__ == 626 ? _405 : (_421);
            var _unPerturbedTransform_0_0_0_0_1_0_ph = __lastLabel__ == 626 ? _406 : (_422);
            var _unPerturbedTransform_0_0_0_0_2_0_ph = __lastLabel__ == 626 ? _407 : (_423);
            var _unPerturbedTransform_0_0_0_0_3_0_ph = __lastLabel__ == 626 ? _408 : (_424);
            var _unPerturbedTransform_0_0_1_0_0_0_ph = __lastLabel__ == 626 ? _409 : (_425);
            var _unPerturbedTransform_0_0_1_0_1_0_ph = __lastLabel__ == 626 ? _410 : (_426);
            var _unPerturbedTransform_0_0_1_0_2_0_ph = __lastLabel__ == 626 ? _411 : (_427);
            var _unPerturbedTransform_0_0_1_0_3_0_ph = __lastLabel__ == 626 ? _412 : (_428);
            var _unPerturbedTransform_0_0_2_0_0_0_ph = __lastLabel__ == 626 ? _413 : (_429);
            var _unPerturbedTransform_0_0_2_0_1_0_ph = __lastLabel__ == 626 ? _414 : (_430);
            var _unPerturbedTransform_0_0_2_0_2_0_ph = __lastLabel__ == 626 ? _415 : (_431);
            var _unPerturbedTransform_0_0_2_0_3_0_ph = __lastLabel__ == 626 ? _416 : (_432);
            var _unPerturbedTransform_1_0_0_0_ph = __lastLabel__ == 626 ? _417 : (_433);
            var _unPerturbedTransform_1_0_1_0_ph = __lastLabel__ == 626 ? _418 : (_434);
            var _unPerturbedTransform_1_0_2_0_ph = __lastLabel__ == 626 ? _419 : (_435);
            var _unPerturbedTransform_1_0_3_0_ph = __lastLabel__ == 626 ? _420 : (_436);
            var _437 = IHEAP[_349];
            var _438 = _437 > 0;
            if (!(_438)) { __label__ = 69; /* _bb42 */ break _bb42$_bb14$6386; }
            var _439 = _v0_0_0_0 * _v0_0_0_0;
            var _440 = _v0_0_1_0 * _v0_0_1_0;
            var _441 = _439 + _440;
            var _442 = _v0_0_2_0 * _v0_0_2_0;
            var _443 = _441 + _442;
            var _444 = _443 > 1.1920928955078125e-7;
            var _storemerge_op = _storemerge * 0.5;
            var _445 = _404 ? 0.19634954631328583 : _storemerge_op;
            var _446 = _373 * _373;
            var _447 = _372 * _372;
            var _448 = _446 + _447;
            var _449 = _371 * _371;
            var _450 = _448 + _449;
            var _451 = _perturbedResultOut;
            var _452 = _perturbedResultOut+160;
            var _453 = _perturbedResultOut+164;
            var _454 = _perturbedResultOut+164+4;
            var _455 = _perturbedResultOut+164+8;
            var _456 = _perturbedResultOut+164+12;
            var _457 = _perturbedResultOut+164+16;
            var _458 = _perturbedResultOut+164+16+4;
            var _459 = _perturbedResultOut+164+16+8;
            var _460 = _perturbedResultOut+164+16+12;
            var _461 = _perturbedResultOut+164+32;
            var _462 = _perturbedResultOut+164+32+4;
            var _463 = _perturbedResultOut+164+32+8;
            var _464 = _perturbedResultOut+164+32+12;
            var _465 = _perturbedResultOut+164+48;
            var _466 = _perturbedResultOut+164+48+4;
            var _467 = _perturbedResultOut+164+48+8;
            var _468 = _perturbedResultOut+164+48+12;
            var _469 = _perturbedResultOut+228;
            var _470 = _perturbedResultOut+228+4;
            var _471 = _perturbedResultOut+228+8;
            var _472 = _perturbedResultOut+228+12;
            var _473 = _perturbedResultOut+228+16;
            var _474 = _perturbedResultOut+228+16+4;
            var _475 = _perturbedResultOut+228+16+8;
            var _476 = _perturbedResultOut+228+16+12;
            var _477 = _perturbedResultOut+228+32;
            var _478 = _perturbedResultOut+228+32+4;
            var _479 = _perturbedResultOut+228+32+8;
            var _480 = _perturbedResultOut+228+32+12;
            var _481 = _perturbedResultOut+228+48;
            var _482 = _perturbedResultOut+228+48+4;
            var _483 = _perturbedResultOut+228+48+8;
            var _484 = _perturbedResultOut+228+48+12;
            var _485 = _perturbedResultOut+292;
            var _486 = _perturbedResultOut+292+4;
            var _487 = _perturbedResultOut+292+8;
            var _488 = _perturbedResultOut+292+12;
            var _489 = _perturbedResultOut+292+16;
            var _490 = _perturbedResultOut+292+16+4;
            var _491 = _perturbedResultOut+292+16+8;
            var _492 = _perturbedResultOut+292+16+12;
            var _493 = _perturbedResultOut+292+32;
            var _494 = _perturbedResultOut+292+32+4;
            var _495 = _perturbedResultOut+292+32+8;
            var _496 = _perturbedResultOut+292+32+12;
            var _497 = _perturbedResultOut+292+48;
            var _498 = _perturbedResultOut+292+48+4;
            var _499 = _perturbedResultOut+292+48+8;
            var _500 = _perturbedResultOut+292+48+12;
            var _501 = _perturbedResultOut+356;
            var _502 = _perturbedResultOut+360;
            var _503 = _perturbedResultOut;
            __lastLabel__ = 130; ;
            _bb29$6398: while(1) { // _bb29
              var _504 = __lastLabel__ == 130 ? _437 : (_880);
              var _505 = __lastLabel__ == 130 ? 0 : (_tmp);
              var _tmp = _505 + 1;
              ;
              if (_444) {
                ;
                var _506 = _sqrtf(_443);
                var _507 = _sinf(_445);
                var _508 = _507 / _506;
                var _509 = _cosf(_445);
                var _510 = _v0_0_2_0 * _508;
                var _511 = _v0_0_1_0 * _508;
                var _512 = _v0_0_0_0 * _508;
                var _513 = _505;
                var _514 = _504;
                var _515 = 6.2831854820251465 / _514;
                var _516 = _513 * _515;
                var _517 = _sqrtf(_450);
                var _518 = _516 * 0.5;
                var _519 = _sinf(_518);
                var _520 = _519 / _517;
                var _521 = _cosf(_518);
                var _522 = _371 * _520;
                var _523 = _372 * _520;
                var _524 = _373 * _520;
                ;
                if (_402) {
                  ;
                  var _525 = 0 - _522;
                  var _526 = 0 - _523;
                  var _527 = 0 - _524;
                  var _528 = _521 * _509;
                  var _529 = _512 * _527;
                  var _530 = _528 - _529;
                  var _531 = _511 * _526;
                  var _532 = _530 - _531;
                  var _533 = _510 * _525;
                  var _534 = _532 - _533;
                  var _535 = _521 * _510;
                  var _536 = _509 * _525;
                  var _537 = _535 + _536;
                  var _538 = _511 * _527;
                  var _539 = _537 + _538;
                  var _540 = _512 * _526;
                  var _541 = _539 - _540;
                  var _542 = _521 * _511;
                  var _543 = _509 * _526;
                  var _544 = _542 + _543;
                  var _545 = _512 * _525;
                  var _546 = _544 + _545;
                  var _547 = _510 * _527;
                  var _548 = _546 - _547;
                  var _549 = _521 * _512;
                  var _550 = _509 * _527;
                  var _551 = _549 + _550;
                  var _552 = _510 * _526;
                  var _553 = _551 + _552;
                  var _554 = _511 * _525;
                  var _555 = _553 - _554;
                  var _556 = _534 * _521;
                  var _557 = _555 * _524;
                  var _558 = _556 - _557;
                  var _559 = _548 * _523;
                  var _560 = _558 - _559;
                  var _561 = _541 * _522;
                  var _562 = _560 - _561;
                  var _563 = _534 * _522;
                  var _564 = _541 * _521;
                  var _565 = _563 + _564;
                  var _566 = _555 * _523;
                  var _567 = _565 + _566;
                  var _568 = _548 * _524;
                  var _569 = _567 - _568;
                  var _570 = _534 * _523;
                  var _571 = _548 * _521;
                  var _572 = _570 + _571;
                  var _573 = _541 * _524;
                  var _574 = _572 + _573;
                  var _575 = _555 * _522;
                  var _576 = _574 - _575;
                  var _577 = _534 * _524;
                  var _578 = _555 * _521;
                  var _579 = _577 + _578;
                  var _580 = _548 * _522;
                  var _581 = _579 + _580;
                  var _582 = _541 * _523;
                  var _583 = _581 - _582;
                  var _584 = _583 * _583;
                  var _585 = _576 * _576;
                  var _586 = _584 + _585;
                  var _587 = _569 * _569;
                  var _588 = _586 + _587;
                  var _589 = _562 * _562;
                  var _590 = _588 + _589;
                  var _591 = 2 / _590;
                  var _592 = _583 * _591;
                  var _593 = _576 * _591;
                  var _594 = _569 * _591;
                  var _595 = _562 * _592;
                  var _596 = _562 * _593;
                  var _597 = _562 * _594;
                  var _598 = _583 * _592;
                  var _599 = _583 * _593;
                  var _600 = _583 * _594;
                  var _601 = _576 * _593;
                  var _602 = _576 * _594;
                  var _603 = _569 * _594;
                  var _604 = _598 + _601;
                  var _605 = 1 - _604;
                  var _606 = _602 + _595;
                  var _607 = _600 - _596;
                  var _608 = _602 - _595;
                  var _609 = _598 + _603;
                  var _610 = 1 - _609;
                  var _611 = _599 + _597;
                  var _612 = _600 + _596;
                  var _613 = _599 - _597;
                  var _614 = _601 + _603;
                  var _615 = 1 - _614;
                  var _616 = FHEAP[_257];
                  var _617 = _616 * _607;
                  var _618 = FHEAP[_269];
                  var _619 = _618 * _606;
                  var _620 = _617 + _619;
                  var _621 = FHEAP[_281];
                  var _622 = _621 * _605;
                  var _623 = _620 + _622;
                  var _624 = FHEAP[_254];
                  var _625 = _624 * _607;
                  var _626 = FHEAP[_266];
                  var _627 = _626 * _606;
                  var _628 = _625 + _627;
                  var _629 = FHEAP[_278];
                  var _630 = _629 * _605;
                  var _631 = _628 + _630;
                  var _632 = FHEAP[_251];
                  var _633 = _632 * _607;
                  var _634 = FHEAP[_263];
                  var _635 = _634 * _606;
                  var _636 = _633 + _635;
                  var _637 = FHEAP[_275];
                  var _638 = _637 * _605;
                  var _639 = _636 + _638;
                  var _640 = _616 * _611;
                  var _641 = _618 * _610;
                  var _642 = _640 + _641;
                  var _643 = _621 * _608;
                  var _644 = _642 + _643;
                  var _645 = _624 * _611;
                  var _646 = _626 * _610;
                  var _647 = _645 + _646;
                  var _648 = _629 * _608;
                  var _649 = _647 + _648;
                  var _650 = _632 * _611;
                  var _651 = _634 * _610;
                  var _652 = _650 + _651;
                  var _653 = _637 * _608;
                  var _654 = _652 + _653;
                  var _655 = _616 * _615;
                  var _656 = _618 * _613;
                  var _657 = _655 + _656;
                  var _658 = _621 * _612;
                  var _659 = _657 + _658;
                  var _660 = _624 * _615;
                  var _661 = _626 * _613;
                  var _662 = _660 + _661;
                  var _663 = _629 * _612;
                  var _664 = _662 + _663;
                  var _665 = _632 * _615;
                  var _666 = _634 * _613;
                  var _667 = _665 + _666;
                  var _668 = _637 * _612;
                  var _669 = _667 + _668;
                  FHEAP[_250] = _669;
                  FHEAP[_253] = _664;
                  FHEAP[_256] = _659;
                  FHEAP[_259] = 0;
                  FHEAP[_262] = _654;
                  FHEAP[_265] = _649;
                  FHEAP[_268] = _644;
                  FHEAP[_271] = 0;
                  FHEAP[_274] = _639;
                  FHEAP[_277] = _631;
                  FHEAP[_280] = _623;
                  FHEAP[_283] = 0;
                  var _670 = FHEAP[_299];
                  FHEAP[_298] = _670;
                  var _671 = FHEAP[_302];
                  FHEAP[_301] = _671;
                  var _672 = FHEAP[_305];
                  FHEAP[_304] = _672;
                  var _673 = FHEAP[_308];
                  FHEAP[_307] = _673;
                  var _674 = FHEAP[_311];
                  FHEAP[_310] = _674;
                  var _675 = FHEAP[_314];
                  FHEAP[_313] = _675;
                  var _676 = FHEAP[_317];
                  FHEAP[_316] = _676;
                  var _677 = FHEAP[_320];
                  FHEAP[_319] = _677;
                  var _678 = FHEAP[_323];
                  FHEAP[_322] = _678;
                  var _679 = FHEAP[_326];
                  FHEAP[_325] = _679;
                  var _680 = FHEAP[_329];
                  FHEAP[_328] = _680;
                  var _681 = FHEAP[_332];
                  FHEAP[_331] = _681;
                  var _682 = FHEAP[_335];
                  FHEAP[_334] = _682;
                  var _683 = FHEAP[_338];
                  FHEAP[_337] = _683;
                  var _684 = FHEAP[_341];
                  FHEAP[_340] = _684;
                  var _685 = FHEAP[_344];
                  FHEAP[_343] = _685;
                  var __pre = FHEAP[_286];
                  var __pre155 = FHEAP[_289];
                  var __pre156 = FHEAP[_292];
                  var __pre157 = FHEAP[_295];
                  __lastLabel__ = 1014; ;
                }
                else {
                  ;
                  var _686 = FHEAP[_251];
                  FHEAP[_250] = _686;
                  var _687 = FHEAP[_254];
                  FHEAP[_253] = _687;
                  var _688 = FHEAP[_257];
                  FHEAP[_256] = _688;
                  var _689 = FHEAP[_260];
                  FHEAP[_259] = _689;
                  var _690 = FHEAP[_263];
                  FHEAP[_262] = _690;
                  var _691 = FHEAP[_266];
                  FHEAP[_265] = _691;
                  var _692 = FHEAP[_269];
                  FHEAP[_268] = _692;
                  var _693 = FHEAP[_272];
                  FHEAP[_271] = _693;
                  var _694 = FHEAP[_275];
                  FHEAP[_274] = _694;
                  var _695 = FHEAP[_278];
                  FHEAP[_277] = _695;
                  var _696 = FHEAP[_281];
                  FHEAP[_280] = _696;
                  var _697 = FHEAP[_284];
                  FHEAP[_283] = _697;
                  var _698 = FHEAP[_287];
                  FHEAP[_286] = _698;
                  var _699 = FHEAP[_290];
                  FHEAP[_289] = _699;
                  var _700 = FHEAP[_293];
                  FHEAP[_292] = _700;
                  var _701 = FHEAP[_296];
                  FHEAP[_295] = _701;
                  var _702 = 0 - _522;
                  var _703 = 0 - _523;
                  var _704 = 0 - _524;
                  var _705 = _521 * _509;
                  var _706 = _512 * _704;
                  var _707 = _705 - _706;
                  var _708 = _511 * _703;
                  var _709 = _707 - _708;
                  var _710 = _510 * _702;
                  var _711 = _709 - _710;
                  var _712 = _521 * _510;
                  var _713 = _509 * _702;
                  var _714 = _712 + _713;
                  var _715 = _511 * _704;
                  var _716 = _714 + _715;
                  var _717 = _512 * _703;
                  var _718 = _716 - _717;
                  var _719 = _521 * _511;
                  var _720 = _509 * _703;
                  var _721 = _719 + _720;
                  var _722 = _512 * _702;
                  var _723 = _721 + _722;
                  var _724 = _510 * _704;
                  var _725 = _723 - _724;
                  var _726 = _521 * _512;
                  var _727 = _509 * _704;
                  var _728 = _726 + _727;
                  var _729 = _510 * _703;
                  var _730 = _728 + _729;
                  var _731 = _511 * _702;
                  var _732 = _730 - _731;
                  var _733 = _711 * _521;
                  var _734 = _732 * _524;
                  var _735 = _733 - _734;
                  var _736 = _725 * _523;
                  var _737 = _735 - _736;
                  var _738 = _718 * _522;
                  var _739 = _737 - _738;
                  var _740 = _711 * _522;
                  var _741 = _718 * _521;
                  var _742 = _740 + _741;
                  var _743 = _732 * _523;
                  var _744 = _742 + _743;
                  var _745 = _725 * _524;
                  var _746 = _744 - _745;
                  var _747 = _711 * _523;
                  var _748 = _725 * _521;
                  var _749 = _747 + _748;
                  var _750 = _718 * _524;
                  var _751 = _749 + _750;
                  var _752 = _732 * _522;
                  var _753 = _751 - _752;
                  var _754 = _711 * _524;
                  var _755 = _732 * _521;
                  var _756 = _754 + _755;
                  var _757 = _725 * _522;
                  var _758 = _756 + _757;
                  var _759 = _718 * _523;
                  var _760 = _758 - _759;
                  var _761 = _760 * _760;
                  var _762 = _753 * _753;
                  var _763 = _761 + _762;
                  var _764 = _746 * _746;
                  var _765 = _763 + _764;
                  var _766 = _739 * _739;
                  var _767 = _765 + _766;
                  var _768 = 2 / _767;
                  var _769 = _760 * _768;
                  var _770 = _753 * _768;
                  var _771 = _746 * _768;
                  var _772 = _739 * _769;
                  var _773 = _739 * _770;
                  var _774 = _739 * _771;
                  var _775 = _760 * _769;
                  var _776 = _760 * _770;
                  var _777 = _760 * _771;
                  var _778 = _753 * _770;
                  var _779 = _753 * _771;
                  var _780 = _746 * _771;
                  var _781 = _775 + _778;
                  var _782 = 1 - _781;
                  var _783 = _779 + _772;
                  var _784 = _777 - _773;
                  var _785 = _779 - _772;
                  var _786 = _775 + _780;
                  var _787 = 1 - _786;
                  var _788 = _776 + _774;
                  var _789 = _777 + _773;
                  var _790 = _776 - _774;
                  var _791 = _778 + _780;
                  var _792 = 1 - _791;
                  var _793 = FHEAP[_305];
                  var _794 = _793 * _784;
                  var _795 = FHEAP[_317];
                  var _796 = _795 * _783;
                  var _797 = _794 + _796;
                  var _798 = FHEAP[_329];
                  var _799 = _798 * _782;
                  var _800 = _797 + _799;
                  var _801 = FHEAP[_302];
                  var _802 = _801 * _784;
                  var _803 = FHEAP[_314];
                  var _804 = _803 * _783;
                  var _805 = _802 + _804;
                  var _806 = FHEAP[_326];
                  var _807 = _806 * _782;
                  var _808 = _805 + _807;
                  var _809 = FHEAP[_299];
                  var _810 = _809 * _784;
                  var _811 = FHEAP[_311];
                  var _812 = _811 * _783;
                  var _813 = _810 + _812;
                  var _814 = FHEAP[_323];
                  var _815 = _814 * _782;
                  var _816 = _813 + _815;
                  var _817 = _793 * _788;
                  var _818 = _795 * _787;
                  var _819 = _817 + _818;
                  var _820 = _798 * _785;
                  var _821 = _819 + _820;
                  var _822 = _801 * _788;
                  var _823 = _803 * _787;
                  var _824 = _822 + _823;
                  var _825 = _806 * _785;
                  var _826 = _824 + _825;
                  var _827 = _809 * _788;
                  var _828 = _811 * _787;
                  var _829 = _827 + _828;
                  var _830 = _814 * _785;
                  var _831 = _829 + _830;
                  var _832 = _793 * _792;
                  var _833 = _795 * _790;
                  var _834 = _832 + _833;
                  var _835 = _798 * _789;
                  var _836 = _834 + _835;
                  var _837 = _801 * _792;
                  var _838 = _803 * _790;
                  var _839 = _837 + _838;
                  var _840 = _806 * _789;
                  var _841 = _839 + _840;
                  var _842 = _809 * _792;
                  var _843 = _811 * _790;
                  var _844 = _842 + _843;
                  var _845 = _814 * _789;
                  var _846 = _844 + _845;
                  FHEAP[_298] = _846;
                  FHEAP[_301] = _841;
                  FHEAP[_304] = _836;
                  FHEAP[_307] = 0;
                  FHEAP[_310] = _831;
                  FHEAP[_313] = _826;
                  FHEAP[_316] = _821;
                  FHEAP[_319] = 0;
                  FHEAP[_322] = _816;
                  FHEAP[_325] = _808;
                  FHEAP[_328] = _800;
                  FHEAP[_331] = 0;
                  var __pre158 = FHEAP[_334];
                  var __pre159 = FHEAP[_337];
                  var __pre160 = FHEAP[_340];
                  var __pre161 = FHEAP[_343];
                  __lastLabel__ = 68; ;
                }
                var _847 = __lastLabel__ == 68 ? __pre161 : (_685);
                var _848 = __lastLabel__ == 68 ? __pre160 : (_684);
                var _849 = __lastLabel__ == 68 ? __pre159 : (_683);
                var _850 = __lastLabel__ == 68 ? __pre158 : (_682);
                var _851 = __lastLabel__ == 68 ? 0 : (_681);
                var _852 = __lastLabel__ == 68 ? _800 : (_680);
                var _853 = __lastLabel__ == 68 ? _808 : (_679);
                var _854 = __lastLabel__ == 68 ? _816 : (_678);
                var _855 = __lastLabel__ == 68 ? 0 : (_677);
                var _856 = __lastLabel__ == 68 ? _821 : (_676);
                var _857 = __lastLabel__ == 68 ? _826 : (_675);
                var _858 = __lastLabel__ == 68 ? _831 : (_674);
                var _859 = __lastLabel__ == 68 ? 0 : (_673);
                var _860 = __lastLabel__ == 68 ? _836 : (_672);
                var _861 = __lastLabel__ == 68 ? _841 : (_671);
                var _862 = __lastLabel__ == 68 ? _846 : (_670);
                var _863 = __lastLabel__ == 68 ? _701 : (__pre157);
                var _864 = __lastLabel__ == 68 ? _700 : (__pre156);
                var _865 = __lastLabel__ == 68 ? _699 : (__pre155);
                var _866 = __lastLabel__ == 68 ? _698 : (__pre);
                var _867 = __lastLabel__ == 68 ? _697 : (0);
                var _868 = __lastLabel__ == 68 ? _696 : (_623);
                var _869 = __lastLabel__ == 68 ? _695 : (_631);
                var _870 = __lastLabel__ == 68 ? _694 : (_639);
                var _871 = __lastLabel__ == 68 ? _693 : (0);
                var _872 = __lastLabel__ == 68 ? _692 : (_644);
                var _873 = __lastLabel__ == 68 ? _691 : (_649);
                var _874 = __lastLabel__ == 68 ? _690 : (_654);
                var _875 = __lastLabel__ == 68 ? _689 : (0);
                var _876 = __lastLabel__ == 68 ? _688 : (_659);
                var _877 = __lastLabel__ == 68 ? _687 : (_664);
                var _878 = __lastLabel__ == 68 ? _686 : (_669);
                var _879 = IHEAP[_346];
                IHEAP[_451] = __ZTV24btPerturbedContactResult+8;
                IHEAP[_452] = _resultOut;
                FHEAP[_453] = _878;
                FHEAP[_454] = _877;
                FHEAP[_455] = _876;
                FHEAP[_456] = _875;
                FHEAP[_457] = _874;
                FHEAP[_458] = _873;
                FHEAP[_459] = _872;
                FHEAP[_460] = _871;
                FHEAP[_461] = _870;
                FHEAP[_462] = _869;
                FHEAP[_463] = _868;
                FHEAP[_464] = _867;
                FHEAP[_465] = _866;
                FHEAP[_466] = _865;
                FHEAP[_467] = _864;
                FHEAP[_468] = _863;
                FHEAP[_469] = _862;
                FHEAP[_470] = _861;
                FHEAP[_471] = _860;
                FHEAP[_472] = _859;
                FHEAP[_473] = _858;
                FHEAP[_474] = _857;
                FHEAP[_475] = _856;
                FHEAP[_476] = _855;
                FHEAP[_477] = _854;
                FHEAP[_478] = _853;
                FHEAP[_479] = _852;
                FHEAP[_480] = _851;
                FHEAP[_481] = _850;
                FHEAP[_482] = _849;
                FHEAP[_483] = _848;
                FHEAP[_484] = _847;
                FHEAP[_485] = _unPerturbedTransform_0_0_0_0_0_0_ph;
                FHEAP[_486] = _unPerturbedTransform_0_0_0_0_1_0_ph;
                FHEAP[_487] = _unPerturbedTransform_0_0_0_0_2_0_ph;
                FHEAP[_488] = _unPerturbedTransform_0_0_0_0_3_0_ph;
                FHEAP[_489] = _unPerturbedTransform_0_0_1_0_0_0_ph;
                FHEAP[_490] = _unPerturbedTransform_0_0_1_0_1_0_ph;
                FHEAP[_491] = _unPerturbedTransform_0_0_1_0_2_0_ph;
                FHEAP[_492] = _unPerturbedTransform_0_0_1_0_3_0_ph;
                FHEAP[_493] = _unPerturbedTransform_0_0_2_0_0_0_ph;
                FHEAP[_494] = _unPerturbedTransform_0_0_2_0_1_0_ph;
                FHEAP[_495] = _unPerturbedTransform_0_0_2_0_2_0_ph;
                FHEAP[_496] = _unPerturbedTransform_0_0_2_0_3_0_ph;
                FHEAP[_497] = _unPerturbedTransform_1_0_0_0_ph;
                FHEAP[_498] = _unPerturbedTransform_1_0_1_0_ph;
                FHEAP[_499] = _unPerturbedTransform_1_0_2_0_ph;
                FHEAP[_500] = _unPerturbedTransform_1_0_3_0_ph;
                IHEAP[_501] = _perturbeA_0;
                IHEAP[_502] = _879;
                __ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(_gjkPairDetector, _input, _503, _879, 0);
                ;
              }
              var _880 = IHEAP[_349];
              var _881 = _880 > _tmp;
              if (_881) { __lastLabel__ = 1015; __label__ = 6; /* _bb29 */ continue _bb29$6398; } else { __lastLabel__ = 1015; __label__ = 69; /* _bb42 */ break _bb42$_bb14$6386; }
            }
          }
        } while(0);
        var _882 = _this+16;
        var _883 = IHEAP[_882];
        var _toBool43 = _883 == 0;
        if (_toBool43) { __label__ = 1295; /* __ZN16btManifoldResult20refreshContactPointsEv_exit54 */ break __ZN16btManifoldResult20refreshContactPointsEv_exit54$_bb4$6380; }
        var _884 = IHEAP[_15];
        var _885 = _884+1116;
        var _886 = IHEAP[_885];
        var _887 = _886 == 0;
        if (_887) { __label__ = 1295; /* __ZN16btManifoldResult20refreshContactPointsEv_exit54 */ break __ZN16btManifoldResult20refreshContactPointsEv_exit54$_bb4$6380; }
        var _888 = _884+1108;
        var _889 = IHEAP[_888];
        var _890 = _resultOut+136;
        var _891 = IHEAP[_890];
        var _892 = _891;
        var _893 = _889 == _892;
        ;
        if (_893) {
          ;
          var _896 = _resultOut+72;
          var _897 = _resultOut+8;
          __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_884, _897, _896);
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _894 = _resultOut+8;
          var _895 = _resultOut+72;
          __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_884, _895, _894);
          STACKTOP = __stackBase__;
          return;
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN23btConvexConvexAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN23btConvexConvexAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN23btConvexConvexAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN23btConvexConvexAlgorithmD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btConvexConvexAlgorithm+8;
    var _1 = _this+16;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$6415: do { 
      if (!_toBool) {
        ;
        var _3 = _this+20;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$6415; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$6415; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _15 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    var _14 = _this;
    __ZdlPv(_14);
    ;
    return;
  }
  __ZN23btConvexConvexAlgorithmD0Ev.__index__ = Runtime.getFunctionIndex(__ZN23btConvexConvexAlgorithmD0Ev, "__ZN23btConvexConvexAlgorithmD0Ev");
  
  
  function __ZN23btConvexConvexAlgorithmD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btConvexConvexAlgorithm+8;
    var _1 = _this+16;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$6424: do { 
      if (!_toBool) {
        ;
        var _3 = _this+20;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$6424; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$6424; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _14 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    ;
    return;
  }
  __ZN23btConvexConvexAlgorithmD1Ev.__index__ = Runtime.getFunctionIndex(__ZN23btConvexConvexAlgorithmD1Ev, "__ZN23btConvexConvexAlgorithmD1Ev");
  
  
  function __ZN23btConvexConvexAlgorithmD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btConvexConvexAlgorithm+8;
    var _1 = _this+16;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$6433: do { 
      if (!_toBool) {
        ;
        var _3 = _this+20;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$6433; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$6433; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _14 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    ;
    return;
  }
  __ZN23btConvexConvexAlgorithmD2Ev.__index__ = Runtime.getFunctionIndex(__ZN23btConvexConvexAlgorithmD2Ev, "__ZN23btConvexConvexAlgorithmD2Ev");
  
  
  function __ZN31btConvexPlaneCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_bii(_this, _mf, _ci, _col0, _col1, _isSwapped, _numPerturbationIterations, _minimumPointsPerturbationThreshold) {
    ;
    var __label__;
    var _0 = _this;
    __ZN20btCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo(_0, _ci);
    var _1 = _this;
    IHEAP[_1] = __ZTV31btConvexPlaneCollisionAlgorithm+8;
    var _2 = _this+8;
    IHEAP[_2] = 0;
    var _3 = _this+12;
    IHEAP[_3] = _mf;
    var _4 = _this+16;
    IHEAP[_4] = _isSwapped;
    var _5 = _this+20;
    IHEAP[_5] = _numPerturbationIterations;
    var _6 = _this+24;
    IHEAP[_6] = _minimumPointsPerturbationThreshold;
    var _toBool = _isSwapped == 0;
    var _iftmp_162_0 = _toBool ? _col0 : _col1;
    var _iftmp_163_0 = _toBool ? _col1 : _col0;
    var _7 = _mf == 0;
    ;
    _bb7$_bb13$6444: do { 
      if (_7) {
        ;
        var _8 = _this+4;
        var _9 = IHEAP[_8];
        var _10 = _9;
        var _11 = IHEAP[_10];
        var _12 = _11+24;
        var _13 = IHEAP[_12];
        var _14 = _13;
        var _15 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_14](_9, _iftmp_162_0, _iftmp_163_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
        _invcont$_lpad$6446: do { 
          if (__label__ == 345) {
            var _toBool8not = _15 == 0;
            if (_toBool8not) { __label__ = 108; /* _bb13 */ break _bb7$_bb13$6444; }
            var _16 = IHEAP[_8];
            var _17 = _16;
            var _18 = IHEAP[_17];
            var _19 = _18+12;
            var _20 = IHEAP[_19];
            var _21 = _20;
            var _22 = _iftmp_162_0;
            var _23 = _iftmp_163_0;
            var _24 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_21](_16, _22, _23) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6446; };
            IHEAP[_3] = _24;
            IHEAP[_2] = 1;
            ;
            return;
          }
        } while(0);
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select21 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        IHEAP[_1] = __ZTV20btCollisionAlgorithm+8;
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    ;
    return;
  }
  __ZN31btConvexPlaneCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_bii.__index__ = Runtime.getFunctionIndex(__ZN31btConvexPlaneCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_bii, "__ZN31btConvexPlaneCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_bii");
  
  
  function __ZN31btConvexPlaneCollisionAlgorithm20collideSingleContactERK12btQuaternionP17btCollisionObjectS4_RK16btDispatcherInfoP16btManifoldResult(_this, _perturbeRot, _body0, _body1, _dispatchInfo, _resultOut) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var _0 = __stackBase__;
    var _vtx = __stackBase__+16;
    var _normalOnSurfaceB = __stackBase__+32;
    var _pOnB = __stackBase__+48;
    var _1 = _this+16;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    var _iftmp_167_0 = _toBool ? _body0 : _body1;
    var _iftmp_168_0 = _toBool ? _body1 : _body0;
    var _3 = _iftmp_167_0+192;
    var _4 = IHEAP[_3];
    var _5 = _4;
    var _6 = _iftmp_168_0+192;
    var _7 = IHEAP[_6];
    var _8 = _7+48;
    var _9 = _7+60+4;
    var _10 = _9;
    var _11 = _iftmp_167_0+4;
    var _12 = FHEAP[_11];
    var _13 = _iftmp_167_0+4+4;
    var _14 = FHEAP[_13];
    var _15 = _iftmp_167_0+4+8;
    var _16 = FHEAP[_15];
    var _17 = _iftmp_167_0+4+16;
    var _18 = FHEAP[_17];
    var _19 = _iftmp_167_0+4+16+4;
    var _20 = FHEAP[_19];
    var _21 = _iftmp_167_0+4+16+8;
    var _22 = FHEAP[_21];
    var _23 = _iftmp_167_0+4+32;
    var _24 = FHEAP[_23];
    var _25 = _iftmp_167_0+4+32+4;
    var _26 = FHEAP[_25];
    var _27 = _iftmp_167_0+4+32+8;
    var _28 = FHEAP[_27];
    var _29 = _iftmp_167_0+4+48;
    var _30 = FHEAP[_29];
    var _31 = _iftmp_167_0+4+48+4;
    var _32 = FHEAP[_31];
    var _33 = _iftmp_167_0+4+48+8;
    var _34 = FHEAP[_33];
    var _35 = _iftmp_168_0+4+32+8;
    var _36 = _iftmp_168_0+4+16+8;
    var _37 = _iftmp_168_0+4+8;
    var _38 = _iftmp_168_0+4+32+4;
    var _39 = _iftmp_168_0+4+16+4;
    var _40 = _iftmp_168_0+4+4;
    var _41 = _iftmp_168_0+4+32;
    var _42 = _iftmp_168_0+4+16;
    var _43 = _iftmp_168_0+4;
    var _44 = FHEAP[_43];
    var _45 = FHEAP[_42];
    var _46 = FHEAP[_41];
    var _47 = FHEAP[_40];
    var _48 = FHEAP[_39];
    var _49 = FHEAP[_38];
    var _50 = FHEAP[_37];
    var _51 = FHEAP[_36];
    var _52 = FHEAP[_35];
    var _53 = _iftmp_168_0+4+48+8;
    var _54 = FHEAP[_53];
    var _55 = 0 - _54;
    var _56 = _iftmp_168_0+4+48+4;
    var _57 = FHEAP[_56];
    var _58 = 0 - _57;
    var _59 = _iftmp_168_0+4+48;
    var _60 = FHEAP[_59];
    var _61 = 0 - _60;
    var _62 = _50 * _61;
    var _63 = _51 * _58;
    var _64 = _62 + _63;
    var _65 = _52 * _55;
    var _66 = _64 + _65;
    var _67 = _47 * _61;
    var _68 = _48 * _58;
    var _69 = _67 + _68;
    var _70 = _49 * _55;
    var _71 = _69 + _70;
    var _72 = _44 * _61;
    var _73 = _45 * _58;
    var _74 = _72 + _73;
    var _75 = _46 * _55;
    var _76 = _74 + _75;
    var _77 = _50 * _30;
    var _78 = _51 * _32;
    var _79 = _77 + _78;
    var _80 = _52 * _34;
    var _81 = _79 + _80;
    var _82 = _81 + _66;
    var _83 = _47 * _30;
    var _84 = _48 * _32;
    var _85 = _83 + _84;
    var _86 = _49 * _34;
    var _87 = _85 + _86;
    var _88 = _87 + _71;
    var _89 = _44 * _30;
    var _90 = _45 * _32;
    var _91 = _89 + _90;
    var _92 = _46 * _34;
    var _93 = _91 + _92;
    var _94 = _93 + _76;
    var _95 = _16 * _50;
    var _96 = _22 * _51;
    var _97 = _95 + _96;
    var _98 = _28 * _52;
    var _99 = _97 + _98;
    var _100 = _14 * _50;
    var _101 = _20 * _51;
    var _102 = _100 + _101;
    var _103 = _26 * _52;
    var _104 = _102 + _103;
    var _105 = _12 * _50;
    var _106 = _18 * _51;
    var _107 = _105 + _106;
    var _108 = _24 * _52;
    var _109 = _107 + _108;
    var _110 = _16 * _47;
    var _111 = _22 * _48;
    var _112 = _110 + _111;
    var _113 = _28 * _49;
    var _114 = _112 + _113;
    var _115 = _14 * _47;
    var _116 = _20 * _48;
    var _117 = _115 + _116;
    var _118 = _26 * _49;
    var _119 = _117 + _118;
    var _120 = _12 * _47;
    var _121 = _18 * _48;
    var _122 = _120 + _121;
    var _123 = _24 * _49;
    var _124 = _122 + _123;
    var _125 = _16 * _44;
    var _126 = _22 * _45;
    var _127 = _125 + _126;
    var _128 = _28 * _46;
    var _129 = _127 + _128;
    var _130 = _14 * _44;
    var _131 = _20 * _45;
    var _132 = _130 + _131;
    var _133 = _26 * _46;
    var _134 = _132 + _133;
    var _135 = _12 * _44;
    var _136 = _18 * _45;
    var _137 = _135 + _136;
    var _138 = _24 * _46;
    var _139 = _137 + _138;
    var _140 = _perturbeRot;
    var _141 = FHEAP[_140];
    var _142 = _141 * _141;
    var _143 = _perturbeRot+4;
    var _144 = FHEAP[_143];
    var _145 = _144 * _144;
    var _146 = _142 + _145;
    var _147 = _perturbeRot+8;
    var _148 = FHEAP[_147];
    var _149 = _148 * _148;
    var _150 = _146 + _149;
    var _151 = _perturbeRot+12;
    var _152 = FHEAP[_151];
    var _153 = _152 * _152;
    var _154 = _150 + _153;
    var _155 = 2 / _154;
    var _156 = _141 * _155;
    var _157 = _144 * _155;
    var _158 = _148 * _155;
    var _159 = _152 * _156;
    var _160 = _152 * _157;
    var _161 = _152 * _158;
    var _162 = _141 * _156;
    var _163 = _141 * _157;
    var _164 = _141 * _158;
    var _165 = _144 * _157;
    var _166 = _144 * _158;
    var _167 = _148 * _158;
    var _168 = _162 + _165;
    var _169 = 1 - _168;
    var _170 = _166 + _159;
    var _171 = _164 - _160;
    var _172 = _166 - _159;
    var _173 = _162 + _167;
    var _174 = 1 - _173;
    var _175 = _163 + _161;
    var _176 = _164 + _160;
    var _177 = _163 - _161;
    var _178 = _165 + _167;
    var _179 = 1 - _178;
    var _180 = _176 * _24;
    var _181 = _172 * _26;
    var _182 = _180 + _181;
    var _183 = _169 * _28;
    var _184 = _182 + _183;
    var _185 = _177 * _24;
    var _186 = _174 * _26;
    var _187 = _185 + _186;
    var _188 = _170 * _28;
    var _189 = _187 + _188;
    var _190 = _179 * _24;
    var _191 = _175 * _26;
    var _192 = _190 + _191;
    var _193 = _171 * _28;
    var _194 = _192 + _193;
    var _195 = _176 * _18;
    var _196 = _172 * _20;
    var _197 = _195 + _196;
    var _198 = _169 * _22;
    var _199 = _197 + _198;
    var _200 = _177 * _18;
    var _201 = _174 * _20;
    var _202 = _200 + _201;
    var _203 = _170 * _22;
    var _204 = _202 + _203;
    var _205 = _179 * _18;
    var _206 = _175 * _20;
    var _207 = _205 + _206;
    var _208 = _171 * _22;
    var _209 = _207 + _208;
    var _210 = _176 * _12;
    var _211 = _172 * _14;
    var _212 = _210 + _211;
    var _213 = _169 * _16;
    var _214 = _212 + _213;
    var _215 = _177 * _12;
    var _216 = _174 * _14;
    var _217 = _215 + _216;
    var _218 = _170 * _16;
    var _219 = _217 + _218;
    var _220 = _179 * _12;
    var _221 = _175 * _14;
    var _222 = _220 + _221;
    var _223 = _171 * _16;
    var _224 = _222 + _223;
    var _225 = _50 * _214;
    var _226 = _51 * _199;
    var _227 = _225 + _226;
    var _228 = _52 * _184;
    var _229 = _227 + _228;
    var _230 = _47 * _214;
    var _231 = _48 * _199;
    var _232 = _230 + _231;
    var _233 = _49 * _184;
    var _234 = _232 + _233;
    var _235 = _44 * _214;
    var _236 = _45 * _199;
    var _237 = _235 + _236;
    var _238 = _46 * _184;
    var _239 = _237 + _238;
    var _240 = _50 * _219;
    var _241 = _51 * _204;
    var _242 = _240 + _241;
    var _243 = _52 * _189;
    var _244 = _242 + _243;
    var _245 = _47 * _219;
    var _246 = _48 * _204;
    var _247 = _245 + _246;
    var _248 = _49 * _189;
    var _249 = _247 + _248;
    var _250 = _44 * _219;
    var _251 = _45 * _204;
    var _252 = _250 + _251;
    var _253 = _46 * _189;
    var _254 = _252 + _253;
    var _255 = _50 * _224;
    var _256 = _51 * _209;
    var _257 = _255 + _256;
    var _258 = _52 * _194;
    var _259 = _257 + _258;
    var _260 = _47 * _224;
    var _261 = _48 * _209;
    var _262 = _260 + _261;
    var _263 = _49 * _194;
    var _264 = _262 + _263;
    var _265 = _44 * _224;
    var _266 = _45 * _209;
    var _267 = _265 + _266;
    var _268 = _46 * _194;
    var _269 = _267 + _268;
    var _270 = _4;
    var _271 = IHEAP[_270];
    var _272 = _271+60;
    var _273 = IHEAP[_272];
    var _274 = _7+48+8;
    var _275 = _274;
    var _276 = FHEAP[_275];
    var _277 = 0 - _276;
    var _278 = _7+48+4;
    var _279 = _278;
    var _280 = FHEAP[_279];
    var _281 = 0 - _280;
    var _282 = _8;
    var _283 = FHEAP[_282];
    var _284 = 0 - _283;
    var _285 = _239 * _284;
    var _286 = _234 * _281;
    var _287 = _285 + _286;
    var _288 = _229 * _277;
    var _289 = _287 + _288;
    var _290 = _254 * _284;
    var _291 = _249 * _281;
    var _292 = _290 + _291;
    var _293 = _244 * _277;
    var _294 = _292 + _293;
    var _295 = _269 * _284;
    var _296 = _264 * _281;
    var _297 = _295 + _296;
    var _298 = _259 * _277;
    var _299 = _297 + _298;
    var _300 = _0;
    FHEAP[_300] = _299;
    var _301 = _0+4;
    FHEAP[_301] = _294;
    var _302 = _0+8;
    FHEAP[_302] = _289;
    var _303 = _0+12;
    FHEAP[_303] = 0;
    var _304 = _273;
    FUNCTION_TABLE[_304](_vtx, _5, _0);
    var _305 = _vtx;
    var _306 = FHEAP[_305];
    var _307 = _109 * _306;
    var _308 = _vtx+4;
    var _309 = FHEAP[_308];
    var _310 = _104 * _309;
    var _311 = _307 + _310;
    var _312 = _vtx+8;
    var _313 = FHEAP[_312];
    var _314 = _99 * _313;
    var _315 = _311 + _314;
    var _316 = _315 + _82;
    var _317 = _124 * _306;
    var _318 = _119 * _309;
    var _319 = _317 + _318;
    var _320 = _114 * _313;
    var _321 = _319 + _320;
    var _322 = _321 + _88;
    var _323 = _139 * _306;
    var _324 = _134 * _309;
    var _325 = _323 + _324;
    var _326 = _129 * _313;
    var _327 = _325 + _326;
    var _328 = _327 + _94;
    var _329 = FHEAP[_282];
    var _330 = _329 * _328;
    var _331 = FHEAP[_279];
    var _332 = _331 * _322;
    var _333 = _330 + _332;
    var _334 = FHEAP[_275];
    var _335 = _334 * _316;
    var _336 = _333 + _335;
    var _337 = FHEAP[_10];
    var _338 = _336 - _337;
    var _339 = _334 * _338;
    var _340 = _331 * _338;
    var _341 = _329 * _338;
    var _342 = _316 - _339;
    var _343 = _322 - _340;
    var _344 = _328 - _341;
    var _345 = FHEAP[_41];
    var _346 = FHEAP[_38];
    var _347 = FHEAP[_35];
    var _348 = FHEAP[_53];
    var _349 = FHEAP[_42];
    var _350 = FHEAP[_39];
    var _351 = FHEAP[_36];
    var _352 = FHEAP[_56];
    var _353 = FHEAP[_43];
    var _354 = FHEAP[_40];
    var _355 = FHEAP[_37];
    var _356 = FHEAP[_59];
    var _357 = _this+12;
    var _358 = IHEAP[_357];
    var _359 = __ZNK20btPersistentManifold27getContactBreakingThresholdEv(_358);
    var _360 = _359 > _338;
    var _361 = IHEAP[_357];
    var _362 = _resultOut+4;
    IHEAP[_362] = _361;
    ;
    if (_360) {
      ;
      var _363 = _354 * _343;
      var _364 = _353 * _344;
      var _365 = _350 * _343;
      var _366 = _349 * _344;
      var _367 = _346 * _343;
      var _368 = _345 * _344;
      var _369 = _355 * _342;
      var _370 = _364 + _363;
      var _371 = _351 * _342;
      var _372 = _366 + _365;
      var _373 = _347 * _342;
      var _374 = _368 + _367;
      var _375 = _370 + _369;
      var _376 = _372 + _371;
      var _377 = _374 + _373;
      var _378 = _375 + _356;
      var _379 = _376 + _352;
      var _380 = _377 + _348;
      var _381 = FHEAP[_41];
      var _382 = FHEAP[_282];
      var _383 = _381 * _382;
      var _384 = FHEAP[_38];
      var _385 = FHEAP[_279];
      var _386 = _384 * _385;
      var _387 = _383 + _386;
      var _388 = FHEAP[_35];
      var _389 = FHEAP[_275];
      var _390 = _388 * _389;
      var _391 = _387 + _390;
      var _392 = FHEAP[_42];
      var _393 = _392 * _382;
      var _394 = FHEAP[_39];
      var _395 = _394 * _385;
      var _396 = _393 + _395;
      var _397 = FHEAP[_36];
      var _398 = _397 * _389;
      var _399 = _396 + _398;
      var _400 = FHEAP[_43];
      var _401 = _400 * _382;
      var _402 = FHEAP[_40];
      var _403 = _402 * _385;
      var _404 = _401 + _403;
      var _405 = FHEAP[_37];
      var _406 = _405 * _389;
      var _407 = _404 + _406;
      var _408 = _normalOnSurfaceB;
      FHEAP[_408] = _407;
      var _409 = _normalOnSurfaceB+4;
      FHEAP[_409] = _399;
      var _410 = _normalOnSurfaceB+8;
      FHEAP[_410] = _391;
      var _411 = _normalOnSurfaceB+12;
      FHEAP[_411] = 0;
      var _412 = _pOnB;
      FHEAP[_412] = _378;
      var _413 = _pOnB+4;
      FHEAP[_413] = _379;
      var _414 = _pOnB+8;
      FHEAP[_414] = _380;
      var _415 = _pOnB+12;
      FHEAP[_415] = 0;
      var _416 = _resultOut;
      var _417 = IHEAP[_416];
      var _418 = _417+16;
      var _419 = IHEAP[_418];
      var _420 = _419;
      FUNCTION_TABLE[_420](_resultOut, _normalOnSurfaceB, _pOnB, _338);
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN31btConvexPlaneCollisionAlgorithm20collideSingleContactERK12btQuaternionP17btCollisionObjectS4_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN31btConvexPlaneCollisionAlgorithm20collideSingleContactERK12btQuaternionP17btCollisionObjectS4_RK16btDispatcherInfoP16btManifoldResult, "__ZN31btConvexPlaneCollisionAlgorithm20collideSingleContactERK12btQuaternionP17btCollisionObjectS4_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN31btConvexPlaneCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _body0, _body1, _dispatchInfo, _resultOut) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _rotq = __stackBase__+16;
    var _1 = _this+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    __ZN16btManifoldResult20refreshContactPointsEv_exit$_bb$6463: do { 
      if (!_3) {
        ;
        var _4 = _this+16;
        var _5 = IHEAP[_4];
        var _toBool = _5 == 0;
        var _iftmp_171_0 = _toBool ? _body0 : _body1;
        var _iftmp_172_0 = _toBool ? _body1 : _body0;
        var _6 = _iftmp_171_0+192;
        var _7 = IHEAP[_6];
        var _8 = _iftmp_172_0+192;
        var _9 = IHEAP[_8];
        var _10 = _9+48;
        var _11 = _rotq;
        FHEAP[_11] = 0;
        var _12 = _rotq+4;
        FHEAP[_12] = 0;
        var _13 = _rotq+8;
        FHEAP[_13] = 0;
        var _14 = _rotq+12;
        FHEAP[_14] = 1;
        __ZN31btConvexPlaneCollisionAlgorithm20collideSingleContactERK12btQuaternionP17btCollisionObjectS4_RK16btDispatcherInfoP16btManifoldResult(_this, _rotq, _body0, _body1, _dispatchInfo, _resultOut);
        var _15 = _resultOut+4;
        var _16 = IHEAP[_15];
        var _17 = _16+1116;
        var _18 = IHEAP[_17];
        var _19 = _this+24;
        var _20 = IHEAP[_19];
        var _21 = _18 < _20;
        ;
        _bb9$_bb15$6465: do { 
          if (_21) {
            ;
            var _22 = _9+48+8;
            var _23 = _22;
            var _24 = FHEAP[_23];
            var _25 = _fabsf(_24);
            var _26 = _25 > 0.7071067690849304;
            ;
            if (_26) {
              ;
              var _27 = _9+48+4;
              var _28 = _27;
              var _29 = FHEAP[_28];
              var _30 = _29 * _29;
              var _31 = _24 * _24;
              var _32 = _30 + _31;
              var _33 = _sqrtf(_32);
              var _34 = 1 / _33;
              var _35 = 0 - _24;
              var _36 = _34 * _35;
              var _37 = _29 * _34;
              __lastLabel__ = 1303; ;
            }
            else {
              ;
              var _38 = _10;
              var _39 = FHEAP[_38];
              var _40 = _39 * _39;
              var _41 = _9+48+4;
              var _42 = _41;
              var _43 = FHEAP[_42];
              var _44 = _43 * _43;
              var _45 = _40 + _44;
              var _46 = _sqrtf(_45);
              var _47 = 1 / _46;
              var _48 = 0 - _43;
              var _49 = _47 * _48;
              var _50 = _39 * _47;
              __lastLabel__ = 159; ;
            }
            var _v0_0_0_0 = __lastLabel__ == 1303 ? 0 : (_49);
            var _v0_0_1_0 = __lastLabel__ == 1303 ? _36 : (_50);
            var _v0_0_2_0 = __lastLabel__ == 1303 ? _37 : (0);
            var _51 = _7;
            var _52 = IHEAP[_51];
            var _53 = _52+16;
            var _54 = IHEAP[_53];
            var _55 = _54;
            var _56 = FUNCTION_TABLE[_55](_7);
            var _57 = FHEAP[_gContactBreakingThreshold];
            var _58 = _57 / _56;
            var _59 = _58 > 0.39269909262657166;
            var _60 = _v0_0_0_0 * _v0_0_0_0;
            var _61 = _v0_0_1_0 * _v0_0_1_0;
            var _62 = _60 + _61;
            var _63 = _v0_0_2_0 * _v0_0_2_0;
            var _64 = _62 + _63;
            var _65 = _sqrtf(_64);
            var __op = _58 * 0.5;
            var _66 = _59 ? 0.19634954631328583 : __op;
            var _67 = _sinf(_66);
            var _68 = _67 / _65;
            var _69 = _cosf(_66);
            var _70 = _v0_0_2_0 * _68;
            var _71 = _v0_0_1_0 * _68;
            var _72 = _v0_0_0_0 * _68;
            var _73 = _this+20;
            var _74 = IHEAP[_73];
            var _75 = _74 > 0;
            if (!(_75)) { __label__ = 153; /* _bb15 */ break _bb9$_bb15$6465; }
            var _76 = _10;
            var _77 = _9+48+4;
            var _78 = _77;
            var _79 = _0;
            var _80 = _0+4;
            var _81 = _0+8;
            var _82 = _0+12;
            __lastLabel__ = 130; ;
            _bb12$6472: while(1) { // _bb12
              var _83 = __lastLabel__ == 130 ? _74 : (_165);
              var _84 = __lastLabel__ == 130 ? 0 : (_164);
              var _85 = _84;
              var _86 = _83;
              var _87 = 6.2831854820251465 / _86;
              var _88 = _85 * _87;
              var _89 = FHEAP[_76];
              var _90 = _89 * _89;
              var _91 = FHEAP[_78];
              var _92 = _91 * _91;
              var _93 = _90 + _92;
              var _94 = FHEAP[_23];
              var _95 = _94 * _94;
              var _96 = _93 + _95;
              var _97 = _sqrtf(_96);
              var _98 = _88 * 0.5;
              var _99 = _sinf(_98);
              var _100 = _99 / _97;
              var _101 = _cosf(_98);
              var _102 = _94 * _100;
              var _103 = _91 * _100;
              var _104 = _89 * _100;
              var _105 = 0 - _102;
              var _106 = 0 - _103;
              var _107 = 0 - _104;
              var _108 = _101 * _69;
              var _109 = _72 * _107;
              var _110 = _108 - _109;
              var _111 = _71 * _106;
              var _112 = _110 - _111;
              var _113 = _70 * _105;
              var _114 = _112 - _113;
              var _115 = _101 * _70;
              var _116 = _69 * _105;
              var _117 = _115 + _116;
              var _118 = _71 * _107;
              var _119 = _117 + _118;
              var _120 = _72 * _106;
              var _121 = _119 - _120;
              var _122 = _101 * _71;
              var _123 = _69 * _106;
              var _124 = _122 + _123;
              var _125 = _72 * _105;
              var _126 = _124 + _125;
              var _127 = _70 * _107;
              var _128 = _126 - _127;
              var _129 = _101 * _72;
              var _130 = _69 * _107;
              var _131 = _129 + _130;
              var _132 = _70 * _106;
              var _133 = _131 + _132;
              var _134 = _71 * _105;
              var _135 = _133 - _134;
              var _136 = _114 * _101;
              var _137 = _135 * _104;
              var _138 = _136 - _137;
              var _139 = _128 * _103;
              var _140 = _138 - _139;
              var _141 = _121 * _102;
              var _142 = _140 - _141;
              var _143 = _114 * _102;
              var _144 = _121 * _101;
              var _145 = _143 + _144;
              var _146 = _135 * _103;
              var _147 = _145 + _146;
              var _148 = _128 * _104;
              var _149 = _147 - _148;
              var _150 = _114 * _103;
              var _151 = _128 * _101;
              var _152 = _150 + _151;
              var _153 = _121 * _104;
              var _154 = _152 + _153;
              var _155 = _135 * _102;
              var _156 = _154 - _155;
              var _157 = _114 * _104;
              var _158 = _135 * _101;
              var _159 = _157 + _158;
              var _160 = _128 * _102;
              var _161 = _159 + _160;
              var _162 = _121 * _103;
              var _163 = _161 - _162;
              FHEAP[_79] = _163;
              FHEAP[_80] = _156;
              FHEAP[_81] = _149;
              FHEAP[_82] = _142;
              __ZN31btConvexPlaneCollisionAlgorithm20collideSingleContactERK12btQuaternionP17btCollisionObjectS4_RK16btDispatcherInfoP16btManifoldResult(_this, _0, _body0, _body1, _dispatchInfo, _resultOut);
              var _164 = _84 + 1;
              var _165 = IHEAP[_73];
              var _166 = _165 > _164;
              if (_166) { __lastLabel__ = 3; __label__ = 3; /* _bb12 */ continue _bb12$6472; } else { __lastLabel__ = 3; __label__ = 153; /* _bb15 */ break _bb9$_bb15$6465; }
            }
          }
        } while(0);
        var _167 = _this+8;
        var _168 = IHEAP[_167];
        var _toBool16 = _168 == 0;
        if (_toBool16) { __label__ = 990; /* __ZN16btManifoldResult20refreshContactPointsEv_exit */ break __ZN16btManifoldResult20refreshContactPointsEv_exit$_bb$6463; }
        var _169 = IHEAP[_1];
        var _170 = _169+1116;
        var _171 = IHEAP[_170];
        var _172 = _171 == 0;
        if (_172) { __label__ = 990; /* __ZN16btManifoldResult20refreshContactPointsEv_exit */ break __ZN16btManifoldResult20refreshContactPointsEv_exit$_bb$6463; }
        var _173 = IHEAP[_15];
        var _174 = _173+1116;
        var _175 = IHEAP[_174];
        var _176 = _175 == 0;
        if (_176) { __label__ = 990; /* __ZN16btManifoldResult20refreshContactPointsEv_exit */ break __ZN16btManifoldResult20refreshContactPointsEv_exit$_bb$6463; }
        var _177 = _173+1108;
        var _178 = IHEAP[_177];
        var _179 = _resultOut+136;
        var _180 = IHEAP[_179];
        var _181 = _180;
        var _182 = _178 == _181;
        ;
        if (_182) {
          ;
          var _185 = _resultOut+72;
          var _186 = _resultOut+8;
          __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_173, _186, _185);
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _183 = _resultOut+8;
          var _184 = _resultOut+72;
          __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_173, _184, _183);
          STACKTOP = __stackBase__;
          return;
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN31btConvexPlaneCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN31btConvexPlaneCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN31btConvexPlaneCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN31btConvexPlaneCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_bii(_this, _mf, _ci, _col0, _col1, _isSwapped, _numPerturbationIterations, _minimumPointsPerturbationThreshold) {
    ;
    var __label__;
    var _0 = _this;
    __ZN20btCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo(_0, _ci);
    var _1 = _this;
    IHEAP[_1] = __ZTV31btConvexPlaneCollisionAlgorithm+8;
    var _2 = _this+8;
    IHEAP[_2] = 0;
    var _3 = _this+12;
    IHEAP[_3] = _mf;
    var _4 = _this+16;
    IHEAP[_4] = _isSwapped;
    var _5 = _this+20;
    IHEAP[_5] = _numPerturbationIterations;
    var _6 = _this+24;
    IHEAP[_6] = _minimumPointsPerturbationThreshold;
    var _toBool = _isSwapped == 0;
    var _iftmp_162_0 = _toBool ? _col0 : _col1;
    var _iftmp_163_0 = _toBool ? _col1 : _col0;
    var _7 = _mf == 0;
    ;
    _bb7$_bb13$6498: do { 
      if (_7) {
        ;
        var _8 = _this+4;
        var _9 = IHEAP[_8];
        var _10 = _9;
        var _11 = IHEAP[_10];
        var _12 = _11+24;
        var _13 = IHEAP[_12];
        var _14 = _13;
        var _15 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_14](_9, _iftmp_162_0, _iftmp_163_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
        _invcont$_lpad$6500: do { 
          if (__label__ == 345) {
            var _toBool8not = _15 == 0;
            if (_toBool8not) { __label__ = 108; /* _bb13 */ break _bb7$_bb13$6498; }
            var _16 = IHEAP[_8];
            var _17 = _16;
            var _18 = IHEAP[_17];
            var _19 = _18+12;
            var _20 = IHEAP[_19];
            var _21 = _20;
            var _22 = _iftmp_162_0;
            var _23 = _iftmp_163_0;
            var _24 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_21](_16, _22, _23) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6500; };
            IHEAP[_3] = _24;
            IHEAP[_2] = 1;
            ;
            return;
          }
        } while(0);
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select21 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        IHEAP[_1] = __ZTV20btCollisionAlgorithm+8;
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    ;
    return;
  }
  __ZN31btConvexPlaneCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_bii.__index__ = Runtime.getFunctionIndex(__ZN31btConvexPlaneCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_bii, "__ZN31btConvexPlaneCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_bii");
  
  
  function __ZN27btConvex2dConvex2dAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_this, _ci, _body0, _body1) {
    ;
    var __label__;
    var _0 = _ci;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+48;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1, 36);
    var _8 = _7 == 0;
    ;
    if (!_8) {
      ;
      var _9 = _this+20;
      var _10 = IHEAP[_9];
      var _11 = _this+16;
      var _12 = IHEAP[_11];
      var _13 = _this+8;
      var _14 = IHEAP[_13];
      var _15 = _this+12;
      var _16 = IHEAP[_15];
      var _17 = _ci+4;
      var _18 = IHEAP[_17];
      var _19 = _7;
      (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_19, _ci, _body0, _body1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3893; /* __ZN27btConvex2dConvex2dAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii_exit */  } else { __label__ = 254; /* _lpad */  }
      if (__label__ == 3893) {
        var _20 = _7;
        IHEAP[_20] = __ZTV27btConvex2dConvex2dAlgorithm+8;
        var _21 = _7+8;
        var _22 = _21;
        IHEAP[_22] = _16;
        var _23 = _7+12;
        var _24 = _23;
        IHEAP[_24] = _14;
        var _25 = _7+16;
        IHEAP[_25] = 0;
        var _26 = _7+20;
        var _27 = _26;
        IHEAP[_27] = _18;
        var _28 = _7+24;
        IHEAP[_28] = 0;
        var _29 = _7+28;
        var _30 = _29;
        IHEAP[_30] = _12;
        var _31 = _7+32;
        var _32 = _31;
        IHEAP[_32] = _10;
        ;
      }
      else if (__label__ == 254) {
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select7 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    }
    var _iftmp_161_0 = _7;
    ;
    return _iftmp_161_0;
  }
  __ZN27btConvex2dConvex2dAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__ = Runtime.getFunctionIndex(__ZN27btConvex2dConvex2dAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, "__ZN27btConvex2dConvex2dAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_");
  
  
  function __ZN27btConvex2dConvex2dAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _col0, _col1, _dispatchInfo, _resultOut) {
    var __stackBase__  = STACKTOP; STACKTOP += 1208;
    var __label__;
    var __lastLabel__ = null;
    var _sphere1 = __stackBase__;
    var _result = __stackBase__+52;
    var _voronoiSimplex = __stackBase__+228;
    var _ccd1 = __stackBase__+588;
    var _sphere0 = __stackBase__+604;
    var _result28 = __stackBase__+656;
    var _voronoiSimplex29 = __stackBase__+832;
    var _ccd130 = __stackBase__+1192;
    var _0 = _col0+68+48+8;
    var _1 = FHEAP[_0];
    var _2 = _col0+4+48+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _col0+68+48+4;
    var _6 = FHEAP[_5];
    var _7 = _col0+4+48+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _col0+68+48;
    var _11 = FHEAP[_10];
    var _12 = _col0+4+48;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _14 * _14;
    var _16 = _9 * _9;
    var _17 = _15 + _16;
    var _18 = _4 * _4;
    var _19 = _17 + _18;
    var _20 = _col1+68+48+8;
    var _21 = FHEAP[_20];
    var _22 = _col1+4+48+8;
    var _23 = FHEAP[_22];
    var _24 = _21 - _23;
    var _25 = _col1+68+48+4;
    var _26 = FHEAP[_25];
    var _27 = _col1+4+48+4;
    var _28 = FHEAP[_27];
    var _29 = _26 - _28;
    var _30 = _col1+68+48;
    var _31 = FHEAP[_30];
    var _32 = _col1+4+48;
    var _33 = FHEAP[_32];
    var _34 = _31 - _33;
    var _35 = _col0+248;
    var _36 = FHEAP[_35];
    var _37 = _36 * _36;
    var _38 = _37 <= _19;
    ;
    _invcont$_bb$6525: do { 
      if (!_38) {
        ;
        var _39 = _29 * _29;
        var _40 = _34 * _34;
        var _41 = _24 * _24;
        var _42 = _40 + _39;
        var _43 = _42 + _41;
        var _44 = _col1+248;
        var _45 = FHEAP[_44];
        var _46 = _45 * _45;
        var _47 = _46 <= _43;
        if (_47) { __label__ = 345; /* _invcont */ break _invcont$_bb$6525; }
        STACKTOP = __stackBase__;
        return 1;
      }
    } while(0);
    var _48 = _col0+192;
    var _49 = IHEAP[_48];
    var _50 = _col1+244;
    var _51 = FHEAP[_50];
    var _52 = _sphere1;
    __ZN21btConvexInternalShapeC2Ev(_52);
    var _53 = _sphere1;
    IHEAP[_53] = __ZTV13btSphereShape+8;
    var _54 = _sphere1+4;
    IHEAP[_54] = 8;
    var _55 = _sphere1+28;
    FHEAP[_55] = _51;
    var _56 = _sphere1+44;
    FHEAP[_56] = _51;
    var _57 = _result;
    IHEAP[_57] = __ZTVN12btConvexCast10CastResultE+8;
    var _58 = _result+164;
    FHEAP[_58] = 999999984306749400;
    var _59 = _result+168;
    IHEAP[_59] = 0;
    var _60 = _result+172;
    FHEAP[_60] = 0;
    var _61 = _voronoiSimplex+308;
    FHEAP[_61] = 0.00009999999747378752;
    var _62 = _voronoiSimplex+316+16;
    var _63 = IHEAP[_62];
    var _64 = _63 & -16;
    IHEAP[_62] = _64;
    var _65 = _49;
    var _66 = _sphere1;
    (function() { try { __THREW__ = false; return __ZN15btGjkConvexCastC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolver(_ccd1, _65, _66, _voronoiSimplex) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3894; /* _invcont6 */  } else { __label__ = 254; /* _lpad */  }
    _invcont6$_lpad$6529: do { 
      if (__label__ == 3894) {
        var _67 = _col1+68;
        var _68 = _col1+4;
        var _69 = _col0+68;
        var _70 = _col0+4;
        var _71 = (function() { try { __THREW__ = false; return __ZN15btGjkConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE(_ccd1, _70, _69, _68, _67, _result) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1555; /* _invcont7 */  } else { __label__ = 3082; /* _lpad60 */  };
        if (__label__ == 1555) {
          var _toBool8 = _71 == 0;
          ;
          _bb20$_bb9$6533: do { 
            if (_toBool8) {
              __lastLabel__ = 1555; ;
            }
            else {
              __lastLabel__ = 1555; ;
              var _72 = _col0+240;
              var _73 = FHEAP[_72];
              var _74 = FHEAP[_58];
              var _75 = _73 > _74;
              ;
              if (_75) {
                ;
                FHEAP[_72] = _74;
                ;
              }
              var _76 = _col1+240;
              var _77 = FHEAP[_76];
              var _78 = _77 > _74;
              ;
              if (_78) {
                ;
                FHEAP[_76] = _74;
                ;
              }
              var _79 = _74 < 1;
              if (_79) { __lastLabel__ = 153; ; } else { __lastLabel__ = 153; __label__ = 117; /* _bb20 */ break _bb20$_bb9$6533; }
              __lastLabel__ = 154; ;
            }
          } while(0);
          var _resultFraction_0 = __lastLabel__ == 154 ? _74 : (__lastLabel__ == 153 ? 1 : (1));
          var _80 = _ccd1;
          IHEAP[_80] = __ZTV15btGjkConvexCast+8;
          var _81 = _ccd1;
          (function() { try { __THREW__ = false; return __ZN12btConvexCastD2Ev(_81) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont6$_lpad$6529; }
          IHEAP[_53] = __ZTV21btConvexInternalShape+8;
          __ZN13btConvexShapeD2Ev(_66);
          var _82 = _col1+192;
          var _83 = IHEAP[_82];
          var _84 = _col0+244;
          var _85 = FHEAP[_84];
          var _86 = _sphere0;
          __ZN21btConvexInternalShapeC2Ev(_86);
          var _87 = _sphere0;
          IHEAP[_87] = __ZTV13btSphereShape+8;
          var _88 = _sphere0+4;
          IHEAP[_88] = 8;
          var _89 = _sphere0+28;
          FHEAP[_89] = _85;
          var _90 = _sphere0+44;
          FHEAP[_90] = _85;
          var _91 = _result28;
          IHEAP[_91] = __ZTVN12btConvexCast10CastResultE+8;
          var _92 = _result28+164;
          FHEAP[_92] = 999999984306749400;
          var _93 = _result28+168;
          IHEAP[_93] = 0;
          var _94 = _result28+172;
          FHEAP[_94] = 0;
          var _95 = _voronoiSimplex29+308;
          FHEAP[_95] = 0.00009999999747378752;
          var _96 = _voronoiSimplex29+316+16;
          var _97 = IHEAP[_96];
          var _98 = _97 & -16;
          IHEAP[_96] = _98;
          var _99 = _83;
          var _100 = _sphere0;
          (function() { try { __THREW__ = false; return __ZN15btGjkConvexCastC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolver(_ccd130, _100, _99, _voronoiSimplex29) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3895; /* _invcont32 */  } else { __label__ = 1314; /* _lpad72 */  }
          _invcont32$_lpad72$6544: do { 
            if (__label__ == 3895) {
              var _101 = (function() { try { __THREW__ = false; return __ZN15btGjkConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE(_ccd130, _70, _69, _68, _67, _result28) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3934; /* _invcont33 */  } else { __label__ = 3870; /* _lpad76 */  };
              if (__label__ == 3934) {
                var _toBool34 = _101 == 0;
                ;
                _bb48$_bb35$6548: do { 
                  if (_toBool34) {
                    __lastLabel__ = 3934; ;
                  }
                  else {
                    __lastLabel__ = 3934; ;
                    var _102 = _col0+240;
                    var _103 = FHEAP[_102];
                    var _104 = FHEAP[_92];
                    var _105 = _103 > _104;
                    ;
                    if (_105) {
                      ;
                      FHEAP[_102] = _104;
                      ;
                    }
                    var _106 = _col1+240;
                    var _107 = FHEAP[_106];
                    var _108 = _107 > _104;
                    ;
                    if (_108) {
                      ;
                      FHEAP[_106] = _104;
                      ;
                    }
                    var _109 = _104 < _resultFraction_0;
                    if (_109) { __lastLabel__ = 253; ; } else { __lastLabel__ = 253; __label__ = 1018; /* _bb48 */ break _bb48$_bb35$6548; }
                    __lastLabel__ = 69; ;
                  }
                } while(0);
                var _resultFraction_1 = __lastLabel__ == 69 ? _104 : (__lastLabel__ == 253 ? _resultFraction_0 : (_resultFraction_0));
                var _110 = _ccd130;
                IHEAP[_110] = __ZTV15btGjkConvexCast+8;
                var _111 = _ccd130;
                (function() { try { __THREW__ = false; return __ZN12btConvexCastD2Ev(_111) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 1314; /* _lpad72 */ break _invcont32$_lpad72$6544; }
                IHEAP[_87] = __ZTV21btConvexInternalShape+8;
                __ZN13btConvexShapeD2Ev(_100);
                STACKTOP = __stackBase__;
                return _resultFraction_1;
              }
              else if (__label__ == 3870) {
                var _eh_ptr77 = _llvm_eh_exception();
                var _eh_select79 = _llvm_eh_selector(_eh_ptr77, ___gxx_personality_v0, 0);
                var _114 = _ccd130;
                IHEAP[_114] = __ZTV15btGjkConvexCast+8;
                var _115 = _ccd130;
                (function() { try { __THREW__ = false; return __ZN12btConvexCastD2Ev(_115) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3870; __label__ = 3897; /* _ppad91 */ break _invcont32$_lpad72$6544; } else { __lastLabel__ = 3870; ; }
                var _eh_ptr81 = _llvm_eh_exception();
                var _eh_select83 = _llvm_eh_selector(_eh_ptr81, ___gxx_personality_v0, 1);
                __ZSt9terminatev();
                // unreachable
              }
            }
          } while(0);
          if (__label__ == 1314) {
            var _eh_ptr73 = _llvm_eh_exception();
            var _eh_select75 = _llvm_eh_selector(_eh_ptr73, ___gxx_personality_v0, 0);
            __lastLabel__ = 1314; ;
          }
          var _eh_exception_2 = __lastLabel__ == 1314 ? _eh_ptr73 : (_eh_ptr77);
          IHEAP[_87] = __ZTV21btConvexInternalShape+8;
          (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_100) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3897; __label__ = 111; /* _Unwind */ break _invcont6$_lpad$6529; } else { __lastLabel__ = 3897; ; }
          var _eh_ptr85 = _llvm_eh_exception();
          var _eh_select87 = _llvm_eh_selector(_eh_ptr85, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
        else if (__label__ == 3082) {
          var _eh_ptr61 = _llvm_eh_exception();
          var _eh_select63 = _llvm_eh_selector(_eh_ptr61, ___gxx_personality_v0, 0);
          var _112 = _ccd1;
          IHEAP[_112] = __ZTV15btGjkConvexCast+8;
          var _113 = _ccd1;
          (function() { try { __THREW__ = false; return __ZN12btConvexCastD2Ev(_113) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3082; __label__ = 45; /* _ppad */ break _invcont6$_lpad$6529; } else { __lastLabel__ = 3082; ; }
          var _eh_ptr65 = _llvm_eh_exception();
          var _eh_select67 = _llvm_eh_selector(_eh_ptr65, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    _Unwind$_lpad$_ppad$6567: do { 
      if (__label__ == 254) {
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select59 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _Unwind$_lpad$_ppad$6567;
      }
    } while(0);
    _Unwind$_ppad$6569: do { 
      if (__label__ == 45) {
        var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr61);
        IHEAP[_53] = __ZTV21btConvexInternalShape+8;
        (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_66) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 45; __label__ = 111; /* _Unwind */ break _Unwind$_ppad$6569; } else { __lastLabel__ = 45; ; }
        var _eh_ptr69 = _llvm_eh_exception();
        var _eh_select71 = _llvm_eh_selector(_eh_ptr69, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    } while(0);
    var _eh_exception_1 = __lastLabel__ == 45 ? _eh_exception_0 : (_eh_exception_2);
    __Unwind_Resume_or_Rethrow(_eh_exception_1);
    // unreachable
  }
  __ZN27btConvex2dConvex2dAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN27btConvex2dConvex2dAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN27btConvex2dConvex2dAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN27btConvex2dConvex2dAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _body0, _body1, _dispatchInfo, _resultOut) {
    var __stackBase__  = STACKTOP; STACKTOP += 212;
    var __label__;
    var __lastLabel__ = null;
    var _input = __stackBase__;
    var _gjkPairDetector = __stackBase__+136;
    var _0 = _this+20;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (_2) {
      __lastLabel__ = -1; ;
      var _3 = _this+4;
      var _4 = IHEAP[_3];
      var _5 = _4;
      var _6 = IHEAP[_5];
      var _7 = _6+12;
      var _8 = IHEAP[_7];
      var _9 = _8;
      var _10 = _body0;
      var _11 = _body1;
      var _12 = FUNCTION_TABLE[_9](_4, _10, _11);
      IHEAP[_0] = _12;
      var _13 = _this+16;
      IHEAP[_13] = 1;
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _14 = __lastLabel__ == 60 ? _12 : (_1);
    var _15 = _resultOut+4;
    IHEAP[_15] = _14;
    var _16 = _body0+192;
    var _17 = IHEAP[_16];
    var _18 = _17;
    var _19 = _body1+192;
    var _20 = IHEAP[_19];
    var _21 = _20;
    var _22 = _input+128;
    FHEAP[_22] = 999999984306749400;
    var _23 = _input+132;
    IHEAP[_23] = 0;
    var _24 = _this+12;
    var _25 = IHEAP[_24];
    var _26 = _this+8;
    var _27 = IHEAP[_26];
    __ZN17btGjkPairDetectorC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_gjkPairDetector, _18, _21, _27, _25);
    var _28 = _gjkPairDetector+28;
    IHEAP[_28] = _18;
    var _29 = _gjkPairDetector+32;
    IHEAP[_29] = _21;
    var _30 = _17;
    var _31 = IHEAP[_30];
    var _32 = _31+44;
    var _33 = IHEAP[_32];
    var _34 = _33;
    var _35 = FUNCTION_TABLE[_34](_18);
    var _36 = _20;
    var _37 = IHEAP[_36];
    var _38 = _37+44;
    var _39 = IHEAP[_38];
    var _40 = _39;
    var _41 = FUNCTION_TABLE[_40](_21);
    var _42 = _35 + _41;
    var _43 = IHEAP[_0];
    var _44 = __ZNK20btPersistentManifold27getContactBreakingThresholdEv(_43);
    var _45 = _42 + _44;
    var _46 = _45 * _45;
    FHEAP[_22] = _46;
    var _47 = _dispatchInfo+44;
    var _48 = IHEAP[_47];
    IHEAP[_23] = _48;
    var _49 = _input;
    var _50 = _body0+4;
    var _51 = FHEAP[_50];
    FHEAP[_49] = _51;
    var _52 = _input+4;
    var _53 = _body0+4+4;
    var _54 = FHEAP[_53];
    FHEAP[_52] = _54;
    var _55 = _input+8;
    var _56 = _body0+4+8;
    var _57 = FHEAP[_56];
    FHEAP[_55] = _57;
    var _58 = _input+12;
    var _59 = _body0+4+12;
    var _60 = FHEAP[_59];
    FHEAP[_58] = _60;
    var _61 = _input+16;
    var _62 = _body0+4+16;
    var _63 = FHEAP[_62];
    FHEAP[_61] = _63;
    var _64 = _input+16+4;
    var _65 = _body0+4+16+4;
    var _66 = FHEAP[_65];
    FHEAP[_64] = _66;
    var _67 = _input+16+8;
    var _68 = _body0+4+16+8;
    var _69 = FHEAP[_68];
    FHEAP[_67] = _69;
    var _70 = _input+16+12;
    var _71 = _body0+4+16+12;
    var _72 = FHEAP[_71];
    FHEAP[_70] = _72;
    var _73 = _input+32;
    var _74 = _body0+4+32;
    var _75 = FHEAP[_74];
    FHEAP[_73] = _75;
    var _76 = _input+32+4;
    var _77 = _body0+4+32+4;
    var _78 = FHEAP[_77];
    FHEAP[_76] = _78;
    var _79 = _input+32+8;
    var _80 = _body0+4+32+8;
    var _81 = FHEAP[_80];
    FHEAP[_79] = _81;
    var _82 = _input+32+12;
    var _83 = _body0+4+32+12;
    var _84 = FHEAP[_83];
    FHEAP[_82] = _84;
    var _85 = _input+48;
    var _86 = _body0+4+48;
    var _87 = FHEAP[_86];
    FHEAP[_85] = _87;
    var _88 = _input+48+4;
    var _89 = _body0+4+48+4;
    var _90 = FHEAP[_89];
    FHEAP[_88] = _90;
    var _91 = _input+48+8;
    var _92 = _body0+4+48+8;
    var _93 = FHEAP[_92];
    FHEAP[_91] = _93;
    var _94 = _input+48+12;
    var _95 = _body0+4+48+12;
    var _96 = FHEAP[_95];
    FHEAP[_94] = _96;
    var _97 = _input+64;
    var _98 = _body1+4;
    var _99 = FHEAP[_98];
    FHEAP[_97] = _99;
    var _100 = _input+64+4;
    var _101 = _body1+4+4;
    var _102 = FHEAP[_101];
    FHEAP[_100] = _102;
    var _103 = _input+64+8;
    var _104 = _body1+4+8;
    var _105 = FHEAP[_104];
    FHEAP[_103] = _105;
    var _106 = _input+64+12;
    var _107 = _body1+4+12;
    var _108 = FHEAP[_107];
    FHEAP[_106] = _108;
    var _109 = _input+64+16;
    var _110 = _body1+4+16;
    var _111 = FHEAP[_110];
    FHEAP[_109] = _111;
    var _112 = _input+64+16+4;
    var _113 = _body1+4+16+4;
    var _114 = FHEAP[_113];
    FHEAP[_112] = _114;
    var _115 = _input+64+16+8;
    var _116 = _body1+4+16+8;
    var _117 = FHEAP[_116];
    FHEAP[_115] = _117;
    var _118 = _input+64+16+12;
    var _119 = _body1+4+16+12;
    var _120 = FHEAP[_119];
    FHEAP[_118] = _120;
    var _121 = _input+64+32;
    var _122 = _body1+4+32;
    var _123 = FHEAP[_122];
    FHEAP[_121] = _123;
    var _124 = _input+64+32+4;
    var _125 = _body1+4+32+4;
    var _126 = FHEAP[_125];
    FHEAP[_124] = _126;
    var _127 = _input+64+32+8;
    var _128 = _body1+4+32+8;
    var _129 = FHEAP[_128];
    FHEAP[_127] = _129;
    var _130 = _input+64+32+12;
    var _131 = _body1+4+32+12;
    var _132 = FHEAP[_131];
    FHEAP[_130] = _132;
    var _133 = _input+64+48;
    var _134 = _body1+4+48;
    var _135 = FHEAP[_134];
    FHEAP[_133] = _135;
    var _136 = _input+64+48+4;
    var _137 = _body1+4+48+4;
    var _138 = FHEAP[_137];
    FHEAP[_136] = _138;
    var _139 = _input+64+48+8;
    var _140 = _body1+4+48+8;
    var _141 = FHEAP[_140];
    FHEAP[_139] = _141;
    var _142 = _input+64+48+12;
    var _143 = _body1+4+48+12;
    var _144 = FHEAP[_143];
    FHEAP[_142] = _144;
    var _145 = _dispatchInfo+20;
    var _146 = IHEAP[_145];
    var _147 = _resultOut;
    __ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(_gjkPairDetector, _input, _147, _146, 0);
    var _148 = _this+16;
    var _149 = IHEAP[_148];
    var _toBool = _149 == 0;
    ;
    __ZN16btManifoldResult20refreshContactPointsEv_exit$_bb2$6577: do { 
      if (!_toBool) {
        ;
        var _150 = IHEAP[_15];
        var _151 = _150+1116;
        var _152 = IHEAP[_151];
        var _153 = _152 == 0;
        if (_153) { __label__ = 990; /* __ZN16btManifoldResult20refreshContactPointsEv_exit */ break __ZN16btManifoldResult20refreshContactPointsEv_exit$_bb2$6577; }
        var _154 = _150+1108;
        var _155 = IHEAP[_154];
        var _156 = _resultOut+136;
        var _157 = IHEAP[_156];
        var _158 = _157;
        var _159 = _155 == _158;
        ;
        if (_159) {
          ;
          var _162 = _resultOut+72;
          var _163 = _resultOut+8;
          __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_150, _163, _162);
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _160 = _resultOut+8;
          var _161 = _resultOut+72;
          __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_150, _161, _160);
          STACKTOP = __stackBase__;
          return;
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN27btConvex2dConvex2dAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN27btConvex2dConvex2dAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN27btConvex2dConvex2dAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN27btConvex2dConvex2dAlgorithmD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV27btConvex2dConvex2dAlgorithm+8;
    var _1 = _this+16;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$6585: do { 
      if (!_toBool) {
        ;
        var _3 = _this+20;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$6585; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$6585; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _15 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    var _14 = _this;
    __ZdlPv(_14);
    ;
    return;
  }
  __ZN27btConvex2dConvex2dAlgorithmD0Ev.__index__ = Runtime.getFunctionIndex(__ZN27btConvex2dConvex2dAlgorithmD0Ev, "__ZN27btConvex2dConvex2dAlgorithmD0Ev");
  
  
  function __ZN27btConvex2dConvex2dAlgorithmD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV27btConvex2dConvex2dAlgorithm+8;
    var _1 = _this+16;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$6594: do { 
      if (!_toBool) {
        ;
        var _3 = _this+20;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$6594; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$6594; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _14 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    ;
    return;
  }
  __ZN27btConvex2dConvex2dAlgorithmD1Ev.__index__ = Runtime.getFunctionIndex(__ZN27btConvex2dConvex2dAlgorithmD1Ev, "__ZN27btConvex2dConvex2dAlgorithmD1Ev");
  
  
  function __ZN27btConvex2dConvex2dAlgorithmD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV27btConvex2dConvex2dAlgorithm+8;
    var _1 = _this+16;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$6603: do { 
      if (!_toBool) {
        ;
        var _3 = _this+20;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$6603; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$6603; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _14 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    ;
    return;
  }
  __ZN27btConvex2dConvex2dAlgorithmD2Ev.__index__ = Runtime.getFunctionIndex(__ZN27btConvex2dConvex2dAlgorithmD2Ev, "__ZN27btConvex2dConvex2dAlgorithmD2Ev");
  
  
  function __ZN31btDefaultCollisionConfigurationC2ERK34btDefaultCollisionConstructionInfo(_this, _constructionInfo) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _collisionAlgorithmMaxElementSize;
    var _0 = _this;
    IHEAP[_0] = __ZTV31btDefaultCollisionConfiguration+8;
    var _1 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(360, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
    _invcont$_lpad$6614: do { 
      if (__label__ == 345) {
        var _2 = _1;
        var _3 = _1 == 0;
        ;
        if (!_3) {
          ;
          var _4 = _1+308;
          var _5 = _4;
          FHEAP[_5] = 0.00009999999747378752;
          var _6 = _1+332;
          var _7 = IHEAP[_6];
          var _8 = _7 & -16;
          IHEAP[_6] = _8;
          ;
        }
        var _9 = _this+32;
        IHEAP[_9] = _2;
        var _10 = _constructionInfo+28;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (_12) {
          ;
          var _18 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(4, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6614; };
          var _19 = _18 == 0;
          ;
          if (!_19) {
            ;
            var _20 = _18;
            IHEAP[_20] = __ZTV33btMinkowskiPenetrationDepthSolver+8;
            ;
          }
          var _21 = _18;
          var _22 = _this+36;
          IHEAP[_22] = _21;
          ;
        }
        else {
          ;
          var _13 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(4, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6614; };
          var _14 = _13 == 0;
          ;
          if (!_14) {
            ;
            var _15 = _13;
            IHEAP[_15] = __ZTV30btGjkEpaPenetrationDepthSolver+8;
            ;
          }
          var _16 = _13;
          var _17 = _this+36;
          IHEAP[_17] = _16;
          ;
        }
        var _23 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(24, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6614; };
        var _24 = _23 == 0;
        ;
        _bb25$_bb18$6632: do { 
          if (!_24) {
            ;
            var _25 = _23;
            var _26 = _this+36;
            var _27 = IHEAP[_26];
            var _28 = IHEAP[_9];
            (function() { try { __THREW__ = false; return __ZN23btConvexConvexAlgorithm10CreateFuncC1EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_25, _28, _27) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 540; /* _bb25 */ break _bb25$_bb18$6632; } else { ; }
            var _eh_ptr119 = _llvm_eh_exception();
            var _eh_select121 = _llvm_eh_selector(_eh_ptr119, ___gxx_personality_v0, 0);
            __lastLabel__ = 1342; __label__ = 45; /* _ppad */ break _invcont$_lpad$6614;
          }
        } while(0);
        var _29 = _23;
        var _30 = _this+40;
        IHEAP[_30] = _29;
        var _31 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(8, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6614; };
        var _32 = _31 == 0;
        ;
        if (!_32) {
          ;
          var _33 = _31;
          var _34 = _31+4;
          IHEAP[_34] = 0;
          IHEAP[_33] = __ZTVN33btConvexConcaveCollisionAlgorithm10CreateFuncE+8;
          ;
        }
        var _35 = _31;
        var _36 = _this+44;
        IHEAP[_36] = _35;
        var _37 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(8, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6614; };
        var _38 = _37 == 0;
        ;
        if (!_38) {
          ;
          var _39 = _37;
          var _40 = _37+4;
          IHEAP[_40] = 0;
          IHEAP[_39] = __ZTVN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE+8;
          ;
        }
        var _41 = _37;
        var _42 = _this+48;
        IHEAP[_42] = _41;
        var _43 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(8, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6614; };
        var _44 = _43 == 0;
        ;
        if (!_44) {
          ;
          var _45 = _43;
          var _46 = _43+4;
          IHEAP[_46] = 0;
          IHEAP[_45] = __ZTVN28btCompoundCollisionAlgorithm10CreateFuncE+8;
          ;
        }
        var _47 = _43;
        var _48 = _this+52;
        IHEAP[_48] = _47;
        var _49 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(8, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6614; };
        var _50 = _49 == 0;
        ;
        if (!_50) {
          ;
          var _51 = _49;
          var _52 = _49+4;
          IHEAP[_52] = 0;
          IHEAP[_51] = __ZTVN28btCompoundCollisionAlgorithm17SwappedCreateFuncE+8;
          ;
        }
        var _53 = _49;
        var _54 = _this+56;
        IHEAP[_54] = _53;
        var _55 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(8, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6614; };
        var _56 = _55 == 0;
        ;
        if (!_56) {
          ;
          var _57 = _55;
          var _58 = _55+4;
          IHEAP[_58] = 0;
          IHEAP[_57] = __ZTVN16btEmptyAlgorithm10CreateFuncE+8;
          ;
        }
        var _59 = _55;
        var _60 = _this+60;
        IHEAP[_60] = _59;
        var _61 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(8, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6614; };
        var _62 = _61 == 0;
        ;
        if (!_62) {
          ;
          var _63 = _61;
          var _64 = _61+4;
          IHEAP[_64] = 0;
          IHEAP[_63] = __ZTVN32btSphereSphereCollisionAlgorithm10CreateFuncE+8;
          ;
        }
        var _65 = _61;
        var _66 = _this+64;
        IHEAP[_66] = _65;
        var _67 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(8, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6614; };
        var _68 = _67 == 0;
        ;
        if (!_68) {
          ;
          var _69 = _67;
          var _70 = _67+4;
          IHEAP[_70] = 0;
          IHEAP[_69] = __ZTVN34btSphereTriangleCollisionAlgorithm10CreateFuncE+8;
          ;
        }
        var _71 = _67;
        var _72 = _this+72;
        IHEAP[_72] = _71;
        var _73 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(8, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6614; };
        var _74 = _73 == 0;
        ;
        if (!_74) {
          ;
          var _75 = _73;
          var _76 = _73+4;
          IHEAP[_76] = 0;
          IHEAP[_75] = __ZTVN34btSphereTriangleCollisionAlgorithm10CreateFuncE+8;
          ;
        }
        var _77 = _73;
        var _78 = _this+76;
        IHEAP[_78] = _77;
        var _79 = _73+4;
        IHEAP[_79] = 1;
        var _80 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(8, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6614; };
        var _81 = _80 == 0;
        ;
        if (!_81) {
          ;
          var _82 = _80;
          var _83 = _80+4;
          IHEAP[_83] = 0;
          IHEAP[_82] = __ZTVN26btBoxBoxCollisionAlgorithm10CreateFuncE+8;
          ;
        }
        var _84 = _80;
        var _85 = _this+68;
        IHEAP[_85] = _84;
        var _86 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(16, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6614; };
        var _87 = _86 == 0;
        ;
        if (!_87) {
          ;
          var _88 = _86;
          var _89 = _86+4;
          IHEAP[_89] = 0;
          IHEAP[_88] = __ZTVN31btConvexPlaneCollisionAlgorithm10CreateFuncE+8;
          var _90 = _86+8;
          var _91 = _90;
          IHEAP[_91] = 1;
          var _92 = _86+12;
          var _93 = _92;
          IHEAP[_93] = 1;
          ;
        }
        var _94 = _86;
        var _95 = _this+84;
        IHEAP[_95] = _94;
        var _96 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(16, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6614; };
        var _97 = _96 == 0;
        ;
        if (!_97) {
          ;
          var _98 = _96;
          var _99 = _96+4;
          IHEAP[_99] = 0;
          IHEAP[_98] = __ZTVN31btConvexPlaneCollisionAlgorithm10CreateFuncE+8;
          var _100 = _96+8;
          var _101 = _100;
          IHEAP[_101] = 1;
          var _102 = _96+12;
          var _103 = _102;
          IHEAP[_103] = 1;
          ;
        }
        var _104 = _96;
        var _105 = _this+80;
        IHEAP[_105] = _104;
        var _106 = _96+4;
        IHEAP[_106] = 1;
        var _107 = _constructionInfo+20;
        var _108 = IHEAP[_107];
        var _109 = _108 < 36;
        var _110 = _109 ? 36 : _108;
        var _111 = _110 > 80;
        var _112 = _111 ? _110 : 80;
        var _113 = _112 > 44;
        var _114 = _113 ? _112 : 44;
        _collisionAlgorithmMaxElementSize = _114;
        var _115 = _constructionInfo;
        var _116 = IHEAP[_115];
        var _117 = _116 == 0;
        var _118 = _this+12;
        ;
        if (_117) {
          ;
          IHEAP[_118] = 1;
          var _121 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(20, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6614; };
          var _122 = _121;
          var _123 = _121 == 0;
          ;
          if (!_123) {
            ;
            var _124 = _constructionInfo+24;
            var _125 = IHEAP[_124];
            var _126 = _121;
            var _127 = _121+4;
            var _128 = _127;
            IHEAP[_128] = 0;
            var _129 = _121+8;
            var _130 = _129;
            var _131 = _121+12;
            var _132 = _131;
            IHEAP[_132] = 0;
            var _133 = _121+16;
            IHEAP[_133] = 0;
            IHEAP[_126] = 0;
            IHEAP[_130] = 0;
            var _134 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_125, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4070; /* __ZN12btStackAllocC1Ej_exit */  } else { __label__ = 1343; /* _lpad122 */  };
            if (__label__ == 4070) {
              IHEAP[_126] = _134;
              IHEAP[_128] = _125;
              ;
            }
            else if (__label__ == 1343) {
              var _eh_ptr123 = _llvm_eh_exception();
              var _eh_select125 = _llvm_eh_selector(_eh_ptr123, ___gxx_personality_v0, 0);
              __lastLabel__ = 1343; __label__ = 45; /* _ppad */ break _invcont$_lpad$6614;
            }
          }
          var _135 = _this+8;
          IHEAP[_135] = _122;
          ;
        }
        else {
          ;
          IHEAP[_118] = 0;
          var _119 = IHEAP[_115];
          var _120 = _this+8;
          IHEAP[_120] = _119;
          ;
        }
        var _136 = _constructionInfo+4;
        var _137 = IHEAP[_136];
        var _138 = _137 == 0;
        var _139 = _this+20;
        ;
        if (_138) {
          ;
          IHEAP[_139] = 1;
          var _142 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(20, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6614; };
          var _143 = _142;
          var _144 = _142 == 0;
          ;
          if (!_144) {
            ;
            var _145 = _constructionInfo+12;
            var _146 = IHEAP[_145];
            var _147 = _142;
            IHEAP[_147] = 1140;
            var _148 = _142+4;
            var _149 = _148;
            IHEAP[_149] = _146;
            var _150 = _146 * 1140;
            var _151 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_150, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4071; /* __noexc149 */  } else { __label__ = 1344; /* _lpad126 */  };
            if (__label__ == 4071) {
              var _152 = _142+16;
              var _153 = _152;
              IHEAP[_153] = _151;
              var _154 = _142+12;
              var _155 = _154;
              IHEAP[_155] = _151;
              var _156 = IHEAP[_149];
              var _157 = _142+8;
              var _158 = _157;
              IHEAP[_158] = _156;
              var _159 = _156 == 1;
              var _160 = _151;
              ;
              __ZN15btPoolAllocatorC1Eii_exit150$_bb_nph_i142$6698: do { 
                if (_159) {
                  __lastLabel__ = 4071; ;
                }
                else {
                  __lastLabel__ = 4071; ;
                  var _tmp_i140 = _156 + -1;
                  var __pre_i141 = IHEAP[_147];
                  __lastLabel__ = 1335; ;
                  _bb_i147$6700: while(1) { // _bb_i147
                    var _161 = __lastLabel__ == 1335 ? __pre_i141 : (_164);
                    var _indvar_i143 = __lastLabel__ == 1335 ? 0 : (_indvar_next_i145);
                    var _162 = __lastLabel__ == 1335 ? _160 : (_166);
                    var _p_03_i144 = __lastLabel__ == 1335 ? _151 : (_165);
                    var _163 = _p_03_i144+_161;
                    IHEAP[_162] = _163;
                    var _164 = IHEAP[_147];
                    var _165 = _p_03_i144+_164;
                    var _166 = _165;
                    var _indvar_next_i145 = _indvar_i143 + 1;
                    var _exitcond = _indvar_next_i145 == _tmp_i140;
                    if (_exitcond) { __lastLabel__ = 1336; __label__ = 1337; /* __ZN15btPoolAllocatorC1Eii_exit150 */ break __ZN15btPoolAllocatorC1Eii_exit150$_bb_nph_i142$6698; } else { __lastLabel__ = 1336; __label__ = 1336; /* _bb_i147 */ continue _bb_i147$6700; }
                  }
                }
              } while(0);
              var __lcssa_i148 = __lastLabel__ == 4071 ? _160 : (_166);
              IHEAP[__lcssa_i148] = 0;
              ;
            }
            else if (__label__ == 1344) {
              var _eh_ptr127 = _llvm_eh_exception();
              var _eh_select129 = _llvm_eh_selector(_eh_ptr127, ___gxx_personality_v0, 0);
              __lastLabel__ = 1344; __label__ = 45; /* _ppad */ break _invcont$_lpad$6614;
            }
          }
          var _167 = _this+16;
          IHEAP[_167] = _143;
          ;
        }
        else {
          ;
          IHEAP[_139] = 0;
          var _140 = IHEAP[_136];
          var _141 = _this+16;
          IHEAP[_141] = _140;
          ;
        }
        var _168 = _constructionInfo+8;
        var _169 = IHEAP[_168];
        var _170 = _169 == 0;
        var _171 = _this+28;
        ;
        if (_170) {
          ;
          IHEAP[_171] = 1;
          var _174 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(20, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$6614; };
          var _175 = _174;
          var _176 = _174 == 0;
          ;
          if (!_176) {
            ;
            var _177 = _constructionInfo+16;
            var _178 = IHEAP[_177];
            var _179 = _collisionAlgorithmMaxElementSize;
            var _180 = _174;
            IHEAP[_180] = _179;
            var _181 = _174+4;
            var _182 = _181;
            IHEAP[_182] = _178;
            var _183 = _179 * _178;
            var _184 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_183, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1865; /* __noexc */  } else { __label__ = 1345; /* _lpad130 */  };
            if (__label__ == 1865) {
              var _185 = _174+16;
              var _186 = _185;
              IHEAP[_186] = _184;
              var _187 = _174+12;
              var _188 = _187;
              IHEAP[_188] = _184;
              var _189 = IHEAP[_182];
              var _190 = _174+8;
              var _191 = _190;
              IHEAP[_191] = _189;
              var _192 = _189 == 1;
              var _193 = _184;
              ;
              __ZN15btPoolAllocatorC1Eii_exit$_bb_nph_i$6714: do { 
                if (_192) {
                  __lastLabel__ = 1865; ;
                }
                else {
                  __lastLabel__ = 1865; ;
                  var _tmp_i = _189 + -1;
                  var __pre_i = IHEAP[_180];
                  __lastLabel__ = 418; ;
                  _bb_i$6716: while(1) { // _bb_i
                    var _194 = __lastLabel__ == 418 ? __pre_i : (_197);
                    var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
                    var _195 = __lastLabel__ == 418 ? _193 : (_199);
                    var _p_03_i = __lastLabel__ == 418 ? _184 : (_198);
                    var _196 = _p_03_i+_194;
                    IHEAP[_195] = _196;
                    var _197 = IHEAP[_180];
                    var _198 = _p_03_i+_197;
                    var _199 = _198;
                    var _indvar_next_i = _indvar_i + 1;
                    var _exitcond156 = _indvar_next_i == _tmp_i;
                    if (_exitcond156) { __lastLabel__ = 131; __label__ = 1339; /* __ZN15btPoolAllocatorC1Eii_exit */ break __ZN15btPoolAllocatorC1Eii_exit$_bb_nph_i$6714; } else { __lastLabel__ = 131; __label__ = 131; /* _bb_i */ continue _bb_i$6716; }
                  }
                }
              } while(0);
              var __lcssa_i = __lastLabel__ == 1865 ? _193 : (_199);
              IHEAP[__lcssa_i] = 0;
              ;
            }
            else if (__label__ == 1345) {
              var _eh_ptr131 = _llvm_eh_exception();
              var _eh_select133 = _llvm_eh_selector(_eh_ptr131, ___gxx_personality_v0, 0);
              __lastLabel__ = 1345; __label__ = 45; /* _ppad */ break _invcont$_lpad$6614;
            }
          }
          var _200 = _this+24;
          IHEAP[_200] = _175;
          ;
          return;
        }
        else {
          ;
          IHEAP[_171] = 0;
          var _172 = IHEAP[_168];
          var _173 = _this+24;
          IHEAP[_173] = _172;
          ;
          return;
        }
      }
    } while(0);
    if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select113 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __lastLabel__ = 254; ;
    }
    var _eh_exception_0 = __lastLabel__ == 1345 ? _eh_ptr131 : (__lastLabel__ == 254 ? _eh_ptr : (__lastLabel__ == 1344 ? _eh_ptr127 : (__lastLabel__ == 1343 ? _eh_ptr123 : (_eh_ptr119))));
    IHEAP[_0] = __ZTV24btCollisionConfiguration+8;
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  __ZN31btDefaultCollisionConfigurationC2ERK34btDefaultCollisionConstructionInfo.__index__ = Runtime.getFunctionIndex(__ZN31btDefaultCollisionConfigurationC2ERK34btDefaultCollisionConstructionInfo, "__ZN31btDefaultCollisionConfigurationC2ERK34btDefaultCollisionConstructionInfo");
  
  
  function __ZN31btConvexPlaneCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_this, _ci, _body0, _body1) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _ci;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+48;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1, 28);
    var _8 = _this+4;
    var _9 = IHEAP[_8];
    var _toBoolnot = _9 == 0;
    var _10 = _7;
    var _11 = _7 == 0;
    ;
    _bb$_bb9$6732: do { 
      if (_toBoolnot) {
        ;
        if (_11) { __label__ = 86; /* _bb18 */ break _bb$_bb9$6732; }
        var _12 = _this+12;
        var _13 = IHEAP[_12];
        var _14 = _this+8;
        var _15 = IHEAP[_14];
        (function() { try { __THREW__ = false; return __ZN31btConvexPlaneCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_bii(_10, 0, _ci, _body0, _body1, 0, _15, _13) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 86; /* _bb18 */ break _bb$_bb9$6732; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select21 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __lastLabel__ = 254; __label__ = 111; /* _Unwind */ break _bb$_bb9$6732;
      }
      else {
        ;
        if (_11) { __label__ = 86; /* _bb18 */ break _bb$_bb9$6732; }
        var _16 = _this+12;
        var _17 = IHEAP[_16];
        var _18 = _this+8;
        var _19 = IHEAP[_18];
        (function() { try { __THREW__ = false; return __ZN31btConvexPlaneCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_bii(_10, 0, _ci, _body0, _body1, 1, _19, _17) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 86; /* _bb18 */ break _bb$_bb9$6732; } else { ; }
        var _eh_ptr23 = _llvm_eh_exception();
        var _eh_select25 = _llvm_eh_selector(_eh_ptr23, ___gxx_personality_v0, 0);
        __lastLabel__ = 1346; __label__ = 111; /* _Unwind */ break _bb$_bb9$6732;
      }
    } while(0);
    if (__label__ == 86) {
      var __0 = _7;
      ;
      return __0;
    }
    else if (__label__ == 111) {
      var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr23);
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
  }
  __ZN31btConvexPlaneCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__ = Runtime.getFunctionIndex(__ZN31btConvexPlaneCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, "__ZN31btConvexPlaneCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_");
  
  
  function __ZN33btConvexConcaveCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_this, _ci, _body0, _body1) {
    ;
    var __label__;
    var _0 = _ci;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+48;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1, 80);
    var _8 = _7 == 0;
    ;
    _bb4$_bb$6747: do { 
      if (!_8) {
        ;
        var _9 = _7;
        (function() { try { __THREW__ = false; return __ZN33btConvexConcaveCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b(_9, _ci, _body0, _body1, 0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 61; /* _bb4 */ break _bb4$_bb$6747; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select7 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    var _iftmp_163_0 = _7;
    ;
    return _iftmp_163_0;
  }
  __ZN33btConvexConcaveCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__ = Runtime.getFunctionIndex(__ZN33btConvexConcaveCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, "__ZN33btConvexConcaveCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_");
  
  
  function __ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_this, _ci, _body0, _body1) {
    ;
    var __label__;
    var _0 = _ci;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+48;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1, 80);
    var _8 = _7 == 0;
    ;
    _bb4$_bb$6754: do { 
      if (!_8) {
        ;
        var _9 = _7;
        (function() { try { __THREW__ = false; return __ZN33btConvexConcaveCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b(_9, _ci, _body0, _body1, 1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 61; /* _bb4 */ break _bb4$_bb$6754; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select7 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    var _iftmp_164_0 = _7;
    ;
    return _iftmp_164_0;
  }
  __ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__ = Runtime.getFunctionIndex(__ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, "__ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_");
  
  
  function __ZN28btCompoundCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_this, _ci, _body0, _body1) {
    ;
    var __label__;
    var _0 = _ci;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+48;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1, 44);
    var _8 = _7 == 0;
    ;
    _bb4$_bb$6761: do { 
      if (!_8) {
        ;
        var _9 = _7;
        (function() { try { __THREW__ = false; return __ZN28btCompoundCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b(_9, _ci, _body0, _body1, 0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 61; /* _bb4 */ break _bb4$_bb$6761; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select7 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    var _iftmp_167_0 = _7;
    ;
    return _iftmp_167_0;
  }
  __ZN28btCompoundCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__ = Runtime.getFunctionIndex(__ZN28btCompoundCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, "__ZN28btCompoundCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_");
  
  
  function __ZN28btCompoundCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_this, _ci, _body0, _body1) {
    ;
    var __label__;
    var _0 = _ci;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+48;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1, 44);
    var _8 = _7 == 0;
    ;
    _bb4$_bb$6768: do { 
      if (!_8) {
        ;
        var _9 = _7;
        (function() { try { __THREW__ = false; return __ZN28btCompoundCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b(_9, _ci, _body0, _body1, 1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 61; /* _bb4 */ break _bb4$_bb$6768; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select7 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    var _iftmp_168_0 = _7;
    ;
    return _iftmp_168_0;
  }
  __ZN28btCompoundCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__ = Runtime.getFunctionIndex(__ZN28btCompoundCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, "__ZN28btCompoundCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_");
  
  
  function __ZN16btEmptyAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_this, _ci, _body0, _body1) {
    ;
    var __label__;
    var _0 = _ci;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+48;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1, 8);
    var _8 = _7 == 0;
    ;
    _bb4$_bb$6775: do { 
      if (!_8) {
        ;
        var _9 = _7;
        (function() { try { __THREW__ = false; return __ZN16btEmptyAlgorithmC1ERK36btCollisionAlgorithmConstructionInfo(_9, _ci) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 61; /* _bb4 */ break _bb4$_bb$6775; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select7 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    var _iftmp_162_0 = _7;
    ;
    return _iftmp_162_0;
  }
  __ZN16btEmptyAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__ = Runtime.getFunctionIndex(__ZN16btEmptyAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, "__ZN16btEmptyAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_");
  
  
  function __ZN32btSphereSphereCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_this, _ci, _body0, _body1) {
    ;
    var __label__;
    var _0 = _ci;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+48;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1, 16);
    var _8 = _7 == 0;
    ;
    _bb4$_bb$6782: do { 
      if (!_8) {
        ;
        var _9 = _7;
        (function() { try { __THREW__ = false; return __ZN32btSphereSphereCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_(_9, 0, _ci, _body0, _body1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 61; /* _bb4 */ break _bb4$_bb$6782; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select7 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    var _iftmp_175_0 = _7;
    ;
    return _iftmp_175_0;
  }
  __ZN32btSphereSphereCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__ = Runtime.getFunctionIndex(__ZN32btSphereSphereCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, "__ZN32btSphereSphereCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_");
  
  
  function __ZN34btSphereTriangleCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_this, _ci, _body0, _body1) {
    ;
    var __label__;
    var _0 = _ci;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+48;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1, 20);
    var _8 = _7 == 0;
    ;
    _bb4$_bb$6789: do { 
      if (!_8) {
        ;
        var _9 = _7;
        var _10 = _this+4;
        var _11 = IHEAP[_10];
        var _12 = _ci+4;
        var _13 = IHEAP[_12];
        (function() { try { __THREW__ = false; return __ZN34btSphereTriangleCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b(_9, _13, _ci, _body0, _body1, _11) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 61; /* _bb4 */ break _bb4$_bb$6789; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select7 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    var _iftmp_177_0 = _7;
    ;
    return _iftmp_177_0;
  }
  __ZN34btSphereTriangleCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__ = Runtime.getFunctionIndex(__ZN34btSphereTriangleCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, "__ZN34btSphereTriangleCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_");
  
  
  function __ZN26btBoxBoxCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_this, _ci, _body0, _body1) {
    ;
    var __label__;
    var _0 = _ci;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+48;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1, 16);
    var _8 = _7 == 0;
    ;
    _bb4$_bb$6796: do { 
      if (!_8) {
        ;
        var _9 = _7;
        (function() { try { __THREW__ = false; return __ZN26btBoxBoxCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_(_9, 0, _ci, _body0, _body1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 61; /* _bb4 */ break _bb4$_bb$6796; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select7 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    var _iftmp_173_0 = _7;
    ;
    return _iftmp_173_0;
  }
  __ZN26btBoxBoxCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__ = Runtime.getFunctionIndex(__ZN26btBoxBoxCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, "__ZN26btBoxBoxCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_");
  
  
  function __ZN24btPairCachingGhostObject31removeOverlappingObjectInternalEP17btBroadphaseProxyP12btDispatcherS1_(_this, _otherProxy, _dispatcher, _thisProxy1) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _otherProxy;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = _thisProxy1 == 0;
    ;
    if (_3) {
      __lastLabel__ = -1; ;
      var _4 = _this+188;
      var _5 = IHEAP[_4];
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _iftmp_204_0 = __lastLabel__ == 60 ? _5 : (_thisProxy1);
    var _6 = _this+256+4;
    var _7 = IHEAP[_6];
    var _8 = _this+256+12;
    __lastLabel__ = 0; ;
    _bb3_i$6924: while(1) { // _bb3_i
      var _13 = __lastLabel__ == 0 ? 0 : (_12);
      var _14 = _7 > _13;
      if (_14) { __lastLabel__ = 133; ; } else { __lastLabel__ = 133; __label__ = 1379; /* __ZNK20btAlignedObjectArrayIP17btCollisionObjectE16findLinearSearchERKS1__exit */ break _bb3_i$6924; }
      var _9 = IHEAP[_8];
      var _scevgep_i = _9+4*_13;
      var _10 = IHEAP[_scevgep_i];
      var _11 = _10 == _2;
      if (_11) { __lastLabel__ = 131; __label__ = 1379; /* __ZNK20btAlignedObjectArrayIP17btCollisionObjectE16findLinearSearchERKS1__exit */ break _bb3_i$6924; } else { __lastLabel__ = 131; ; }
      var _12 = _13 + 1;
      __lastLabel__ = 132; __label__ = 133; /* _bb3_i */ continue _bb3_i$6924;
    }
    var _index_0_i = __lastLabel__ == 133 ? _7 : (_13);
    var _15 = _7 > _index_0_i;
    ;
    if (_15) {
      ;
      var _16 = IHEAP[_8];
      var _17 = _16+4*_index_0_i;
      var _18 = _7 + -1;
      var _19 = _16+4*_18;
      var _20 = IHEAP[_19];
      IHEAP[_17] = _20;
      var _21 = IHEAP[_6];
      var _22 = _21 + -1;
      IHEAP[_6] = _22;
      var _23 = _this+276;
      var _24 = IHEAP[_23];
      var _25 = _24;
      var _26 = IHEAP[_25];
      var _27 = _26+12;
      var _28 = IHEAP[_27];
      var _29 = _28;
      var _30 = FUNCTION_TABLE[_29](_24, _iftmp_204_0, _otherProxy, _dispatcher);
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN24btPairCachingGhostObject31removeOverlappingObjectInternalEP17btBroadphaseProxyP12btDispatcherS1_.__index__ = Runtime.getFunctionIndex(__ZN24btPairCachingGhostObject31removeOverlappingObjectInternalEP17btBroadphaseProxyP12btDispatcherS1_, "__ZN24btPairCachingGhostObject31removeOverlappingObjectInternalEP17btBroadphaseProxyP12btDispatcherS1_");
  
  
  function __ZNK13btGhostObject7rayTestERK9btVector3S2_RN16btCollisionWorld17RayResultCallbackE(_this, _rayFromWorld, _rayToWorld, _resultCallback) {
    var __stackBase__  = STACKTOP; STACKTOP += 128;
    var __label__;
    var __lastLabel__ = null;
    var _rayFromTrans = __stackBase__;
    var _rayToTrans = __stackBase__+64;
    var _0 = _rayFromTrans;
    FHEAP[_0] = 1;
    var _1 = _rayFromTrans+4;
    FHEAP[_1] = 0;
    var _2 = _rayFromTrans+8;
    FHEAP[_2] = 0;
    var _3 = _rayFromTrans+12;
    FHEAP[_3] = 0;
    var _4 = _rayFromTrans+16;
    FHEAP[_4] = 0;
    var _5 = _rayFromTrans+16+4;
    FHEAP[_5] = 1;
    var _6 = _rayFromTrans+16+8;
    FHEAP[_6] = 0;
    var _7 = _rayFromTrans+16+12;
    FHEAP[_7] = 0;
    var _8 = _rayFromTrans+32;
    FHEAP[_8] = 0;
    var _9 = _rayFromTrans+32+4;
    FHEAP[_9] = 0;
    var _10 = _rayFromTrans+32+8;
    FHEAP[_10] = 1;
    var _11 = _rayFromTrans+32+12;
    FHEAP[_11] = 0;
    var _12 = _rayFromTrans+48;
    var _13 = _rayFromTrans+48+4;
    var _14 = _rayFromTrans+48+8;
    var _15 = _rayFromTrans+48+12;
    var _16 = _rayFromWorld;
    var _17 = FHEAP[_16];
    FHEAP[_12] = _17;
    var _18 = _rayFromWorld+4;
    var _19 = FHEAP[_18];
    FHEAP[_13] = _19;
    var _20 = _rayFromWorld+8;
    var _21 = FHEAP[_20];
    FHEAP[_14] = _21;
    var _22 = _rayFromWorld+12;
    var _23 = FHEAP[_22];
    FHEAP[_15] = _23;
    var _24 = _rayToTrans;
    FHEAP[_24] = 1;
    var _25 = _rayToTrans+4;
    FHEAP[_25] = 0;
    var _26 = _rayToTrans+8;
    FHEAP[_26] = 0;
    var _27 = _rayToTrans+12;
    FHEAP[_27] = 0;
    var _28 = _rayToTrans+16;
    FHEAP[_28] = 0;
    var _29 = _rayToTrans+16+4;
    FHEAP[_29] = 1;
    var _30 = _rayToTrans+16+8;
    FHEAP[_30] = 0;
    var _31 = _rayToTrans+16+12;
    FHEAP[_31] = 0;
    var _32 = _rayToTrans+32;
    FHEAP[_32] = 0;
    var _33 = _rayToTrans+32+4;
    FHEAP[_33] = 0;
    var _34 = _rayToTrans+32+8;
    FHEAP[_34] = 1;
    var _35 = _rayToTrans+32+12;
    FHEAP[_35] = 0;
    var _36 = _rayToTrans+48;
    var _37 = _rayToTrans+48+4;
    var _38 = _rayToTrans+48+8;
    var _39 = _rayToTrans+48+12;
    var _40 = _rayToWorld;
    var _41 = FHEAP[_40];
    FHEAP[_36] = _41;
    var _42 = _rayToWorld+4;
    var _43 = FHEAP[_42];
    FHEAP[_37] = _43;
    var _44 = _rayToWorld+8;
    var _45 = FHEAP[_44];
    FHEAP[_38] = _45;
    var _46 = _rayToWorld+12;
    var _47 = FHEAP[_46];
    FHEAP[_39] = _47;
    var _48 = _this+256+4;
    var _49 = IHEAP[_48];
    var _50 = _49 > 0;
    ;
    _bb_nph$_return$6942: do { 
      if (_50) {
        ;
        var _51 = _this+256+12;
        var _52 = _resultCallback;
        __lastLabel__ = 130; ;
        _bb$6944: while(1) { // _bb
          var _i_06 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _i_06 + 1;
          var _53 = IHEAP[_51];
          var _scevgep = _53+4*_i_06;
          var _54 = IHEAP[_scevgep];
          var _55 = IHEAP[_52];
          var _56 = _55+8;
          var _57 = IHEAP[_56];
          var _58 = _54+188;
          var _59 = IHEAP[_58];
          var _60 = _57;
          var _61 = FUNCTION_TABLE[_60](_resultCallback, _59);
          var _toBool = _61 == 0;
          ;
          if (!_toBool) {
            ;
            var _62 = _54+4;
            var _63 = _54+192;
            var _64 = IHEAP[_63];
            __ZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackE(_rayFromTrans, _rayToTrans, _54, _64, _62, _resultCallback);
            ;
          }
          var _65 = IHEAP[_48];
          var _66 = _65 > _tmp;
          if (_66) { __lastLabel__ = 0; __label__ = 60; /* _bb */ continue _bb$6944; } else { __lastLabel__ = 0; __label__ = 44; /* _return */ break _bb_nph$_return$6942; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK13btGhostObject7rayTestERK9btVector3S2_RN16btCollisionWorld17RayResultCallbackE.__index__ = Runtime.getFunctionIndex(__ZNK13btGhostObject7rayTestERK9btVector3S2_RN16btCollisionWorld17RayResultCallbackE, "__ZNK13btGhostObject7rayTestERK9btVector3S2_RN16btCollisionWorld17RayResultCallbackE");
  
  
  function __ZNK13btGhostObject15convexSweepTestEPK13btConvexShapeRK11btTransformS5_RN16btCollisionWorld20ConvexResultCallbackEf(_this, _castShape, _convexFromWorld, _convexToWorld, _resultCallback, _allowedCcdPenetration) {
    var __stackBase__  = STACKTOP; STACKTOP += 338;
    var __label__;
    var __lastLabel__ = null;
    var _axis_i = __stackBase__;
    var _angle_i = __stackBase__+16;
    var _0 = __stackBase__+17;
    var _convexFromTrans = __stackBase__+33;
    var _convexToTrans = __stackBase__+97;
    var _castShapeAabbMin = __stackBase__+161;
    var _castShapeAabbMax = __stackBase__+177;
    var _linVel = __stackBase__+193;
    var _angVel = __stackBase__+209;
    var _R = __stackBase__+225;
    var _collisionObjectAabbMin = __stackBase__+289;
    var _collisionObjectAabbMax = __stackBase__+305;
    var _hitLambda = __stackBase__+321;
    var _hitNormal = __stackBase__+322;
    var _1 = _convexFromTrans;
    var _2 = _convexFromWorld;
    var _3 = FHEAP[_2];
    FHEAP[_1] = _3;
    var _4 = _convexFromTrans+4;
    var _5 = _convexFromWorld+4;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _convexFromTrans+8;
    var _8 = _convexFromWorld+8;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _convexFromTrans+12;
    var _11 = _convexFromWorld+12;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _convexFromTrans+16;
    var _14 = _convexFromWorld+16;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    var _16 = _convexFromTrans+16+4;
    var _17 = _convexFromWorld+16+4;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _convexFromTrans+16+8;
    var _20 = _convexFromWorld+16+8;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _convexFromTrans+16+12;
    var _23 = _convexFromWorld+16+12;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    var _25 = _convexFromTrans+32;
    var _26 = _convexFromWorld+32;
    var _27 = FHEAP[_26];
    FHEAP[_25] = _27;
    var _28 = _convexFromTrans+32+4;
    var _29 = _convexFromWorld+32+4;
    var _30 = FHEAP[_29];
    FHEAP[_28] = _30;
    var _31 = _convexFromTrans+32+8;
    var _32 = _convexFromWorld+32+8;
    var _33 = FHEAP[_32];
    FHEAP[_31] = _33;
    var _34 = _convexFromTrans+32+12;
    var _35 = _convexFromWorld+32+12;
    var _36 = FHEAP[_35];
    FHEAP[_34] = _36;
    var _37 = _convexFromTrans+48;
    var _38 = _convexFromWorld+48;
    var _39 = FHEAP[_38];
    FHEAP[_37] = _39;
    var _40 = _convexFromTrans+48+4;
    var _41 = _convexFromWorld+48+4;
    var _42 = FHEAP[_41];
    FHEAP[_40] = _42;
    var _43 = _convexFromTrans+48+8;
    var _44 = _convexFromWorld+48+8;
    var _45 = FHEAP[_44];
    FHEAP[_43] = _45;
    var _46 = _convexFromTrans+48+12;
    var _47 = _convexFromWorld+48+12;
    var _48 = FHEAP[_47];
    FHEAP[_46] = _48;
    var _49 = _convexToTrans;
    var _50 = _convexToWorld;
    var _51 = FHEAP[_50];
    FHEAP[_49] = _51;
    var _52 = _convexToTrans+4;
    var _53 = _convexToWorld+4;
    var _54 = FHEAP[_53];
    FHEAP[_52] = _54;
    var _55 = _convexToTrans+8;
    var _56 = _convexToWorld+8;
    var _57 = FHEAP[_56];
    FHEAP[_55] = _57;
    var _58 = _convexToTrans+12;
    var _59 = _convexToWorld+12;
    var _60 = FHEAP[_59];
    FHEAP[_58] = _60;
    var _61 = _convexToTrans+16;
    var _62 = _convexToWorld+16;
    var _63 = FHEAP[_62];
    FHEAP[_61] = _63;
    var _64 = _convexToTrans+16+4;
    var _65 = _convexToWorld+16+4;
    var _66 = FHEAP[_65];
    FHEAP[_64] = _66;
    var _67 = _convexToTrans+16+8;
    var _68 = _convexToWorld+16+8;
    var _69 = FHEAP[_68];
    FHEAP[_67] = _69;
    var _70 = _convexToTrans+16+12;
    var _71 = _convexToWorld+16+12;
    var _72 = FHEAP[_71];
    FHEAP[_70] = _72;
    var _73 = _convexToTrans+32;
    var _74 = _convexToWorld+32;
    var _75 = FHEAP[_74];
    FHEAP[_73] = _75;
    var _76 = _convexToTrans+32+4;
    var _77 = _convexToWorld+32+4;
    var _78 = FHEAP[_77];
    FHEAP[_76] = _78;
    var _79 = _convexToTrans+32+8;
    var _80 = _convexToWorld+32+8;
    var _81 = FHEAP[_80];
    FHEAP[_79] = _81;
    var _82 = _convexToTrans+32+12;
    var _83 = _convexToWorld+32+12;
    var _84 = FHEAP[_83];
    FHEAP[_82] = _84;
    var _85 = _convexToTrans+48;
    var _86 = _convexToWorld+48;
    var _87 = FHEAP[_86];
    FHEAP[_85] = _87;
    var _88 = _convexToTrans+48+4;
    var _89 = _convexToWorld+48+4;
    var _90 = FHEAP[_89];
    FHEAP[_88] = _90;
    var _91 = _convexToTrans+48+8;
    var _92 = _convexToWorld+48+8;
    var _93 = FHEAP[_92];
    FHEAP[_91] = _93;
    var _94 = _convexToTrans+48+12;
    var _95 = _convexToWorld+48+12;
    var _96 = FHEAP[_95];
    FHEAP[_94] = _96;
    var _97 = _93 - _45;
    var _98 = _90 - _42;
    var _99 = _87 - _39;
    var _100 = _linVel;
    FHEAP[_100] = _99;
    var _101 = _linVel+4;
    FHEAP[_101] = _98;
    var _102 = _linVel+8;
    FHEAP[_102] = _97;
    var _103 = _linVel+12;
    FHEAP[_103] = 0;
    __ZN15btTransformUtil22calculateDiffAxisAngleERK11btTransformS2_R9btVector3Rf(_convexFromTrans, _convexToTrans, _axis_i, _angle_i);
    var _104 = _axis_i+8;
    var _105 = FHEAP[_104];
    var _106 = FHEAP[_angle_i];
    var _107 = _105 * _106;
    var _108 = _axis_i+4;
    var _109 = FHEAP[_108];
    var _110 = _109 * _106;
    var _111 = _axis_i;
    var _112 = FHEAP[_111];
    var _113 = _112 * _106;
    var _114 = _angVel;
    FHEAP[_114] = _113;
    var _115 = _angVel+4;
    FHEAP[_115] = _110;
    var _116 = _angVel+8;
    FHEAP[_116] = _107;
    var _117 = _angVel+12;
    FHEAP[_117] = 0;
    var _118 = _R;
    FHEAP[_118] = 1;
    var _119 = _R+4;
    FHEAP[_119] = 0;
    var _120 = _R+8;
    FHEAP[_120] = 0;
    var _121 = _R+12;
    FHEAP[_121] = 0;
    var _122 = _R+16;
    FHEAP[_122] = 0;
    var _123 = _R+16+4;
    FHEAP[_123] = 1;
    var _124 = _R+16+8;
    FHEAP[_124] = 0;
    var _125 = _R+16+12;
    FHEAP[_125] = 0;
    var _126 = _R+32;
    FHEAP[_126] = 0;
    var _127 = _R+32+4;
    FHEAP[_127] = 0;
    var _128 = _R+32+8;
    FHEAP[_128] = 1;
    var _129 = _R+32+12;
    FHEAP[_129] = 0;
    var _130 = _R+48;
    FHEAP[_130] = 0;
    var _131 = _R+48+4;
    FHEAP[_131] = 0;
    var _132 = _R+48+8;
    FHEAP[_132] = 0;
    var _133 = _R+48+12;
    FHEAP[_133] = 0;
    var _134 = _convexFromTrans;
    __ZNK11btMatrix3x311getRotationER12btQuaternion(_134, _0);
    var _135 = _0;
    var _136 = FHEAP[_135];
    var _137 = _136 * _136;
    var _138 = _0+4;
    var _139 = FHEAP[_138];
    var _140 = _139 * _139;
    var _141 = _137 + _140;
    var _142 = _0+8;
    var _143 = FHEAP[_142];
    var _144 = _143 * _143;
    var _145 = _141 + _144;
    var _146 = _0+12;
    var _147 = FHEAP[_146];
    var _148 = _147 * _147;
    var _149 = _145 + _148;
    var _150 = 2 / _149;
    var _151 = _136 * _150;
    var _152 = _139 * _150;
    var _153 = _143 * _150;
    var _154 = _147 * _151;
    var _155 = _147 * _152;
    var _156 = _147 * _153;
    var _157 = _136 * _151;
    var _158 = _136 * _152;
    var _159 = _136 * _153;
    var _160 = _139 * _152;
    var _161 = _139 * _153;
    var _162 = _143 * _153;
    var _163 = _157 + _160;
    var _164 = 1 - _163;
    var _165 = _161 + _154;
    var _166 = _159 - _155;
    var _167 = _161 - _154;
    var _168 = _157 + _162;
    var _169 = 1 - _168;
    var _170 = _158 + _156;
    var _171 = _159 + _155;
    var _172 = _158 - _156;
    var _173 = _160 + _162;
    var _174 = 1 - _173;
    FHEAP[_118] = _174;
    FHEAP[_119] = _172;
    FHEAP[_120] = _171;
    FHEAP[_121] = 0;
    FHEAP[_122] = _170;
    FHEAP[_123] = _169;
    FHEAP[_124] = _167;
    FHEAP[_125] = 0;
    FHEAP[_126] = _166;
    FHEAP[_127] = _165;
    FHEAP[_128] = _164;
    FHEAP[_129] = 0;
    var _175 = _castShape;
    __ZNK16btCollisionShape21calculateTemporalAabbERK11btTransformRK9btVector3S5_fRS3_S6_(_175, _R, _linVel, _angVel, 1, _castShapeAabbMin, _castShapeAabbMax);
    var _176 = _this+256+4;
    var _177 = IHEAP[_176];
    var _178 = _177 > 0;
    ;
    _bb_nph$_return$6951: do { 
      if (_178) {
        ;
        var _179 = _this+256+12;
        var _180 = _resultCallback;
        var _181 = _collisionObjectAabbMin+8;
        var _182 = _castShapeAabbMin+8;
        var _183 = _collisionObjectAabbMin+4;
        var _184 = _castShapeAabbMin+4;
        var _185 = _collisionObjectAabbMin;
        var _186 = _castShapeAabbMin;
        var _187 = _collisionObjectAabbMin+12;
        var _188 = _collisionObjectAabbMax+8;
        var _189 = _castShapeAabbMax+8;
        var _190 = _collisionObjectAabbMax+4;
        var _191 = _castShapeAabbMax+4;
        var _192 = _collisionObjectAabbMax;
        var _193 = _castShapeAabbMax;
        var _194 = _collisionObjectAabbMax+12;
        var _195 = _convexToWorld+48;
        var _196 = _convexFromWorld+48;
        __lastLabel__ = 130; ;
        _bb$6953: while(1) { // _bb
          var _i_08 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _i_08 + 1;
          var _197 = IHEAP[_179];
          var _scevgep = _197+4*_i_08;
          var _198 = IHEAP[_scevgep];
          var _199 = IHEAP[_180];
          var _200 = _199+8;
          var _201 = IHEAP[_200];
          var _202 = _198+188;
          var _203 = IHEAP[_202];
          var _204 = _201;
          var _205 = FUNCTION_TABLE[_204](_resultCallback, _203);
          var _toBool = _205 == 0;
          ;
          _bb4$_bb1$6955: do { 
            if (!_toBool) {
              ;
              var _206 = _198+192;
              var _207 = IHEAP[_206];
              var _208 = _207;
              var _209 = IHEAP[_208];
              var _210 = _209+8;
              var _211 = IHEAP[_210];
              var _212 = _198+4;
              var _213 = _211;
              FUNCTION_TABLE[_213](_207, _212, _collisionObjectAabbMin, _collisionObjectAabbMax);
              var _214 = FHEAP[_181];
              var _215 = FHEAP[_182];
              var _216 = _214 + _215;
              var _217 = FHEAP[_183];
              var _218 = FHEAP[_184];
              var _219 = _217 + _218;
              var _220 = FHEAP[_185];
              var _221 = FHEAP[_186];
              var _222 = _220 + _221;
              FHEAP[_185] = _222;
              FHEAP[_183] = _219;
              FHEAP[_181] = _216;
              FHEAP[_187] = 0;
              var _223 = FHEAP[_188];
              var _224 = FHEAP[_189];
              var _225 = _223 + _224;
              var _226 = FHEAP[_190];
              var _227 = FHEAP[_191];
              var _228 = _226 + _227;
              var _229 = FHEAP[_192];
              var _230 = FHEAP[_193];
              var _231 = _229 + _230;
              FHEAP[_192] = _231;
              FHEAP[_190] = _228;
              FHEAP[_188] = _225;
              FHEAP[_194] = 0;
              FHEAP[_hitLambda] = 1;
              var _232 = __Z9btRayAabbRK9btVector3S1_S1_S1_RfRS_(_196, _195, _collisionObjectAabbMin, _collisionObjectAabbMax, _hitLambda, _hitNormal);
              var _toBool2 = _232 == 0;
              if (_toBool2) { __label__ = 61; /* _bb4 */ break _bb4$_bb1$6955; }
              var _233 = IHEAP[_206];
              __ZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEf(_castShape, _convexFromTrans, _convexToTrans, _198, _233, _212, _resultCallback, _allowedCcdPenetration);
              ;
            }
          } while(0);
          var _234 = IHEAP[_176];
          var _235 = _234 > _tmp;
          if (_235) { __lastLabel__ = 61; __label__ = 60; /* _bb */ continue _bb$6953; } else { __lastLabel__ = 61; __label__ = 44; /* _return */ break _bb_nph$_return$6951; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK13btGhostObject15convexSweepTestEPK13btConvexShapeRK11btTransformS5_RN16btCollisionWorld20ConvexResultCallbackEf.__index__ = Runtime.getFunctionIndex(__ZNK13btGhostObject15convexSweepTestEPK13btConvexShapeRK11btTransformS5_RN16btCollisionWorld20ConvexResultCallbackEf, "__ZNK13btGhostObject15convexSweepTestEPK13btConvexShapeRK11btTransformS5_RN16btCollisionWorld20ConvexResultCallbackEf");
  
  
  function __ZN24btPairCachingGhostObject28addOverlappingObjectInternalEP17btBroadphaseProxyS1_(_this, _otherProxy, _thisProxy) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _thisProxy == 0;
    ;
    if (_0) {
      __lastLabel__ = -1; ;
      var _1 = _this+188;
      var _2 = IHEAP[_1];
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _iftmp_202_0 = __lastLabel__ == 60 ? _2 : (_thisProxy);
    var _3 = _otherProxy;
    var _4 = IHEAP[_3];
    var _5 = _4;
    var _6 = _this+256+4;
    var _7 = IHEAP[_6];
    var _8 = _this+256+12;
    __lastLabel__ = 0; ;
    _bb3_i$6964: while(1) { // _bb3_i
      var _13 = __lastLabel__ == 0 ? 0 : (_12);
      var _14 = _7 > _13;
      if (_14) { __lastLabel__ = 133; ; } else { __lastLabel__ = 133; __label__ = 1379; /* __ZNK20btAlignedObjectArrayIP17btCollisionObjectE16findLinearSearchERKS1__exit */ break _bb3_i$6964; }
      var _9 = IHEAP[_8];
      var _scevgep_i = _9+4*_13;
      var _10 = IHEAP[_scevgep_i];
      var _11 = _10 == _5;
      if (_11) { __lastLabel__ = 131; __label__ = 1379; /* __ZNK20btAlignedObjectArrayIP17btCollisionObjectE16findLinearSearchERKS1__exit */ break _bb3_i$6964; } else { __lastLabel__ = 131; ; }
      var _12 = _13 + 1;
      __lastLabel__ = 132; __label__ = 133; /* _bb3_i */ continue _bb3_i$6964;
    }
    var _index_0_i = __lastLabel__ == 133 ? _7 : (_13);
    var _15 = _7 == _index_0_i;
    ;
    if (_15) {
      ;
      var _16 = _this+256+8;
      var _17 = IHEAP[_16];
      var _18 = _17 == _7;
      ;
      _bb_i5$_bb1_i$6971: do { 
        if (_18) {
          __lastLabel__ = 116; ;
          var _19 = _7 == 0;
          var _20 = _7 << 1;
          var _iftmp_222_0_i_i = _19 ? 1 : _20;
          var _21 = _17 < _iftmp_222_0_i_i;
          if (_21) { __lastLabel__ = 1383; ; } else { __lastLabel__ = 1383; __label__ = 159; /* _bb1_i */ break _bb_i5$_bb1_i$6971; }
          var _22 = _iftmp_222_0_i_i == 0;
          ;
          if (_22) {
            __lastLabel__ = 263; ;
          }
          else {
            __lastLabel__ = 263; ;
            var _23 = _iftmp_222_0_i_i << 2;
            var _24 = __Z22btAlignedAllocInternalji(_23, 16);
            var _phitmp_i_i = _24;
            var __pre_i = IHEAP[_6];
            __lastLabel__ = 274; ;
          }
          var _25 = __lastLabel__ == 274 ? __pre_i : (_7);
          var _26 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
          var _27 = _25 > 0;
          if (_27) { __lastLabel__ = 1385; __label__ = 277; /* _bb_i4_i_i */  } else { __lastLabel__ = 1385; __label__ = 1147; /* __ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i */  }
          _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i$6977: while(1) { // _bb_i4_i_i,__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i
            if (__label__ == 277) {
              var _indvar_i_i_i = __lastLabel__ == 279 ? _indvar_next_i_i_i : (0);
              var _scevgep_i_i_i = _26+4*_indvar_i_i_i;
              var _28 = _scevgep_i_i_i == 0;
              ;
              if (!_28) {
                ;
                var _29 = IHEAP[_8];
                var _scevgep8_i_i_i = _29+4*_indvar_i_i_i;
                var _30 = IHEAP[_scevgep8_i_i_i];
                IHEAP[_scevgep_i_i_i] = _30;
                ;
              }
              var _indvar_next_i_i_i = _indvar_i_i_i + 1;
              var _exitcond = _indvar_next_i_i_i == _25;
              if (_exitcond) { __lastLabel__ = 279; __label__ = 1147; /* __ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i$6977; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i$6977; }
            }
            else if (__label__ == 1147) {
              var _31 = IHEAP[_8];
              var _32 = _31 == 0;
              if (_32) { __label__ = 1150; /* __ZN20btAlignedObjectArrayIP17btCollisionObjectE10deallocateEv_exit_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i$6977; } else { __label__ = 1387; /* _bb_i_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i$6977; }
            }
          }
          if (__label__ == 1387) {
            var _33 = _this+256+16;
            var _34 = IHEAP[_33];
            var _toBool_i_i_i = _34 == 0;
            ;
            if (!_toBool_i_i_i) {
              ;
              var _35 = _31;
              __Z21btAlignedFreeInternalPv(_35);
              ;
            }
            IHEAP[_8] = 0;
            ;
          }
          var _36 = _this+256+16;
          IHEAP[_36] = 1;
          IHEAP[_8] = _26;
          IHEAP[_16] = _iftmp_222_0_i_i;
          var __pre5_i = IHEAP[_6];
          __lastLabel__ = 1150; ;
        }
        else {
          __lastLabel__ = 116; ;
        }
      } while(0);
      var _37 = __lastLabel__ == 1150 ? __pre5_i : (__lastLabel__ == 116 ? _7 : (_7));
      var _38 = IHEAP[_8];
      var _39 = _38+4*_37;
      var _40 = _39 == 0;
      ;
      if (_40) {
        __lastLabel__ = 159; ;
      }
      else {
        __lastLabel__ = 159; ;
        IHEAP[_39] = _5;
        var __pre6_i = IHEAP[_6];
        __lastLabel__ = 296; ;
      }
      var _41 = __lastLabel__ == 159 ? _37 : (__pre6_i);
      var _42 = _41 + 1;
      IHEAP[_6] = _42;
      var _43 = _this+276;
      var _44 = IHEAP[_43];
      var _45 = _44;
      var _46 = IHEAP[_45];
      var _47 = _46+8;
      var _48 = IHEAP[_47];
      var _49 = _48;
      var _50 = FUNCTION_TABLE[_49](_44, _iftmp_202_0, _otherProxy);
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN24btPairCachingGhostObject28addOverlappingObjectInternalEP17btBroadphaseProxyS1_.__index__ = Runtime.getFunctionIndex(__ZN24btPairCachingGhostObject28addOverlappingObjectInternalEP17btBroadphaseProxyS1_, "__ZN24btPairCachingGhostObject28addOverlappingObjectInternalEP17btBroadphaseProxyS1_");
  
  
  function __ZN13btGhostObject28addOverlappingObjectInternalEP17btBroadphaseProxyS1_(_this, _otherProxy, _thisProxy) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _otherProxy;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = _this+256+4;
    var _4 = IHEAP[_3];
    var _5 = _this+256+12;
    __lastLabel__ = -1; ;
    _bb3_i$6996: while(1) { // _bb3_i
      var _10 = __lastLabel__ == -1 ? 0 : (_9);
      var _11 = _4 > _10;
      if (_11) { __lastLabel__ = 133; ; } else { __lastLabel__ = 133; __label__ = 1379; /* __ZNK20btAlignedObjectArrayIP17btCollisionObjectE16findLinearSearchERKS1__exit */ break _bb3_i$6996; }
      var _6 = IHEAP[_5];
      var _scevgep_i = _6+4*_10;
      var _7 = IHEAP[_scevgep_i];
      var _8 = _7 == _2;
      if (_8) { __lastLabel__ = 131; __label__ = 1379; /* __ZNK20btAlignedObjectArrayIP17btCollisionObjectE16findLinearSearchERKS1__exit */ break _bb3_i$6996; } else { __lastLabel__ = 131; ; }
      var _9 = _10 + 1;
      __lastLabel__ = 132; __label__ = 133; /* _bb3_i */ continue _bb3_i$6996;
    }
    var _index_0_i = __lastLabel__ == 133 ? _4 : (_10);
    var _12 = _4 == _index_0_i;
    ;
    if (_12) {
      ;
      var _13 = _this+256+8;
      var _14 = IHEAP[_13];
      var _15 = _14 == _4;
      ;
      _bb_i2$_bb1_i$7003: do { 
        if (_15) {
          __lastLabel__ = 60; ;
          var _16 = _4 == 0;
          var _17 = _4 << 1;
          var _iftmp_222_0_i_i = _16 ? 1 : _17;
          var _18 = _14 < _iftmp_222_0_i_i;
          if (_18) { __lastLabel__ = 654; ; } else { __lastLabel__ = 654; __label__ = 159; /* _bb1_i */ break _bb_i2$_bb1_i$7003; }
          var _19 = _iftmp_222_0_i_i == 0;
          ;
          if (_19) {
            __lastLabel__ = 263; ;
          }
          else {
            __lastLabel__ = 263; ;
            var _20 = _iftmp_222_0_i_i << 2;
            var _21 = __Z22btAlignedAllocInternalji(_20, 16);
            var _phitmp_i_i = _21;
            var __pre_i = IHEAP[_3];
            __lastLabel__ = 274; ;
          }
          var _22 = __lastLabel__ == 274 ? __pre_i : (_4);
          var _23 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
          var _24 = _22 > 0;
          if (_24) { __lastLabel__ = 1385; __label__ = 277; /* _bb_i4_i_i */  } else { __lastLabel__ = 1385; __label__ = 1147; /* __ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i */  }
          _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i$7009: while(1) { // _bb_i4_i_i,__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i
            if (__label__ == 277) {
              var _indvar_i_i_i = __lastLabel__ == 279 ? _indvar_next_i_i_i : (0);
              var _scevgep_i_i_i = _23+4*_indvar_i_i_i;
              var _25 = _scevgep_i_i_i == 0;
              ;
              if (!_25) {
                ;
                var _26 = IHEAP[_5];
                var _scevgep8_i_i_i = _26+4*_indvar_i_i_i;
                var _27 = IHEAP[_scevgep8_i_i_i];
                IHEAP[_scevgep_i_i_i] = _27;
                ;
              }
              var _indvar_next_i_i_i = _indvar_i_i_i + 1;
              var _exitcond = _indvar_next_i_i_i == _22;
              if (_exitcond) { __lastLabel__ = 279; __label__ = 1147; /* __ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i$7009; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i$7009; }
            }
            else if (__label__ == 1147) {
              var _28 = IHEAP[_5];
              var _29 = _28 == 0;
              if (_29) { __label__ = 1150; /* __ZN20btAlignedObjectArrayIP17btCollisionObjectE10deallocateEv_exit_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i$7009; } else { __label__ = 1387; /* _bb_i_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i$7009; }
            }
          }
          if (__label__ == 1387) {
            var _30 = _this+256+16;
            var _31 = IHEAP[_30];
            var _toBool_i_i_i = _31 == 0;
            ;
            if (!_toBool_i_i_i) {
              ;
              var _32 = _28;
              __Z21btAlignedFreeInternalPv(_32);
              ;
            }
            IHEAP[_5] = 0;
            ;
          }
          var _33 = _this+256+16;
          IHEAP[_33] = 1;
          IHEAP[_5] = _23;
          IHEAP[_13] = _iftmp_222_0_i_i;
          var __pre5_i = IHEAP[_3];
          __lastLabel__ = 1150; ;
        }
        else {
          __lastLabel__ = 60; ;
        }
      } while(0);
      var _34 = __lastLabel__ == 1150 ? __pre5_i : (__lastLabel__ == 60 ? _4 : (_4));
      var _35 = IHEAP[_5];
      var _36 = _35+4*_34;
      var _37 = _36 == 0;
      ;
      if (_37) {
        __lastLabel__ = 159; ;
      }
      else {
        __lastLabel__ = 159; ;
        IHEAP[_36] = _2;
        var __pre6_i = IHEAP[_3];
        __lastLabel__ = 1397; ;
      }
      var _38 = __lastLabel__ == 159 ? _34 : (__pre6_i);
      var _39 = _38 + 1;
      IHEAP[_3] = _39;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN13btGhostObject28addOverlappingObjectInternalEP17btBroadphaseProxyS1_.__index__ = Runtime.getFunctionIndex(__ZN13btGhostObject28addOverlappingObjectInternalEP17btBroadphaseProxyS1_, "__ZN13btGhostObject28addOverlappingObjectInternalEP17btBroadphaseProxyS1_");
  
  
  function __ZN13btGhostObjectD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV13btGhostObject+8;
    var _1 = _this+256+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+256+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$7030: do { 
        if (!_toBool_i_i_i) {
          ;
          var _6 = _2;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$7030; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _12 = _this;
          (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
          if (__label__ == 1554) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 3761) {
            var _eh_ptr10 = _llvm_eh_exception();
            var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+256+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+256+4;
    IHEAP[_8] = 0;
    var _9 = _this+256+8;
    IHEAP[_9] = 0;
    var _10 = _this;
    __ZN17btCollisionObjectD2Ev(_10);
    var _11 = _this;
    __Z21btAlignedFreeInternalPv(_11);
    ;
    return;
  }
  __ZN13btGhostObjectD0Ev.__index__ = Runtime.getFunctionIndex(__ZN13btGhostObjectD0Ev, "__ZN13btGhostObjectD0Ev");
  
  
  function __ZN13btGhostObjectD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV13btGhostObject+8;
    var _1 = _this+256+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+256+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$7041: do { 
        if (!_toBool_i_i_i) {
          ;
          var _6 = _2;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$7041; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _11 = _this;
          (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(_11) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
          if (__label__ == 1554) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 3761) {
            var _eh_ptr10 = _llvm_eh_exception();
            var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+256+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+256+4;
    IHEAP[_8] = 0;
    var _9 = _this+256+8;
    IHEAP[_9] = 0;
    var _10 = _this;
    __ZN17btCollisionObjectD2Ev(_10);
    ;
    return;
  }
  __ZN13btGhostObjectD1Ev.__index__ = Runtime.getFunctionIndex(__ZN13btGhostObjectD1Ev, "__ZN13btGhostObjectD1Ev");
  
  
  function __ZN13btGhostObjectD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV13btGhostObject+8;
    var _1 = _this+256+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+256+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$7052: do { 
        if (!_toBool_i_i_i) {
          ;
          var _6 = _2;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$7052; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _11 = _this;
          (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(_11) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
          if (__label__ == 1554) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 3761) {
            var _eh_ptr10 = _llvm_eh_exception();
            var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+256+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+256+4;
    IHEAP[_8] = 0;
    var _9 = _this+256+8;
    IHEAP[_9] = 0;
    var _10 = _this;
    __ZN17btCollisionObjectD2Ev(_10);
    ;
    return;
  }
  __ZN13btGhostObjectD2Ev.__index__ = Runtime.getFunctionIndex(__ZN13btGhostObjectD2Ev, "__ZN13btGhostObjectD2Ev");
  
  
  function __ZN24btPairCachingGhostObjectD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV24btPairCachingGhostObject+8;
    var _1 = _this+276;
    var _2 = IHEAP[_1];
    var _3 = _2;
    var _4 = IHEAP[_3];
    var _5 = IHEAP[_4];
    var _6 = _5;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_6](_2) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    _invcont$_lpad$7061: do { 
      if (__label__ == 345) {
        var _7 = IHEAP[_1];
        var _8 = _7;
        (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_8) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$7061; }
        IHEAP[_0] = __ZTV13btGhostObject+8;
        var _9 = _this+256+12;
        var _10 = IHEAP[_9];
        var _11 = _10 == 0;
        ;
        if (!_11) {
          ;
          var _12 = _this+256+16;
          var _13 = IHEAP[_12];
          var _toBool_i_i_i_i = _13 == 0;
          ;
          _bb2_i_i_i_i$_bb1_i_i_i_i$7066: do { 
            if (!_toBool_i_i_i_i) {
              ;
              var _14 = _10;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3769; /* _bb2_i_i_i_i */ break _bb2_i_i_i_i$_bb1_i_i_i_i$7066; } else { ; }
              var _eh_ptr_i = _llvm_eh_exception();
              var _eh_select8_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
              var _15 = _this;
              (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3823; /* _invcont1_i */  } else { __label__ = 3824; /* _lpad9_i */  }
              if (__label__ == 3823) {
                __Unwind_Resume_or_Rethrow(_eh_ptr_i);
                // unreachable
              }
              else if (__label__ == 3824) {
                var _eh_ptr10_i = _llvm_eh_exception();
                var _eh_select12_i = _llvm_eh_selector(_eh_ptr10_i, ___gxx_personality_v0, 1);
                __ZSt9terminatev();
                // unreachable
              }
            }
          } while(0);
          IHEAP[_9] = 0;
          ;
        }
        var _16 = _this+256+16;
        IHEAP[_16] = 1;
        IHEAP[_9] = 0;
        var _17 = _this+256+4;
        IHEAP[_17] = 0;
        var _18 = _this+256+8;
        IHEAP[_18] = 0;
        var _19 = _this;
        __ZN17btCollisionObjectD2Ev(_19);
        var _20 = _this;
        __Z21btAlignedFreeInternalPv(_20);
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select9 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    IHEAP[_0] = __ZTV13btGhostObject+8;
    var _21 = _this+256+12;
    var _22 = IHEAP[_21];
    var _23 = _22 == 0;
    ;
    _bb3_i$_bb_i_i_i_i17$7075: do { 
      if (_23) {
        __label__ = 133; /* _bb3_i */ 
      }
      else {
        ;
        var _24 = _this+256+16;
        var _25 = IHEAP[_24];
        var _toBool_i_i_i_i16 = _25 == 0;
        ;
        _bb2_i_i_i_i19$_bb1_i_i_i_i18$7077: do { 
          if (!_toBool_i_i_i_i16) {
            ;
            var _26 = _22;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_26) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3900; /* _bb2_i_i_i_i19 */ break _bb2_i_i_i_i19$_bb1_i_i_i_i18$7077; } else { ; }
            var _eh_ptr_i21 = _llvm_eh_exception();
            var _eh_select8_i22 = _llvm_eh_selector(_eh_ptr_i21, ___gxx_personality_v0, 0);
            var _31 = _this;
            (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(_31) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3902; /* _invcont1_i20 */  } else { __label__ = 3903; /* _lpad9_i26 */  }
            if (__label__ == 3902) {
              (function() { try { __THREW__ = false; return __Unwind_Resume_or_Rethrow(_eh_ptr_i21) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3802; /* _lpad10 */ break _bb3_i$_bb_i_i_i_i17$7075; }
              // unreachable
            }
            else if (__label__ == 3903) {
              var _eh_ptr10_i24 = _llvm_eh_exception();
              var _eh_select12_i25 = _llvm_eh_selector(_eh_ptr10_i24, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          }
        } while(0);
        IHEAP[_21] = 0;
        __label__ = 133; /* _bb3_i */ break _bb3_i$_bb_i_i_i_i17$7075;
      }
    } while(0);
    _bb3_i$_lpad10$7085: do { 
      if (__label__ == 133) {
        var _27 = _this+256+16;
        IHEAP[_27] = 1;
        IHEAP[_21] = 0;
        var _28 = _this+256+4;
        IHEAP[_28] = 0;
        var _29 = _this+256+8;
        IHEAP[_29] = 0;
        var _30 = _this;
        (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(_30) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3802; /* _lpad10 */ break _bb3_i$_lpad10$7085; }
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    var _eh_ptr11 = _llvm_eh_exception();
    var _eh_select13 = _llvm_eh_selector(_eh_ptr11, ___gxx_personality_v0, 1);
    __ZSt9terminatev();
    // unreachable
  }
  __ZN24btPairCachingGhostObjectD0Ev.__index__ = Runtime.getFunctionIndex(__ZN24btPairCachingGhostObjectD0Ev, "__ZN24btPairCachingGhostObjectD0Ev");
  
  
  function __ZN24btPairCachingGhostObjectD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV24btPairCachingGhostObject+8;
    var _1 = _this+276;
    var _2 = IHEAP[_1];
    var _3 = _2;
    var _4 = IHEAP[_3];
    var _5 = IHEAP[_4];
    var _6 = _5;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_6](_2) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    _invcont$_lpad$7090: do { 
      if (__label__ == 345) {
        var _7 = IHEAP[_1];
        var _8 = _7;
        (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_8) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$7090; }
        IHEAP[_0] = __ZTV13btGhostObject+8;
        var _9 = _this+256+12;
        var _10 = IHEAP[_9];
        var _11 = _10 == 0;
        ;
        if (!_11) {
          ;
          var _12 = _this+256+16;
          var _13 = IHEAP[_12];
          var _toBool_i_i_i_i = _13 == 0;
          ;
          _bb2_i_i_i_i$_bb1_i_i_i_i$7095: do { 
            if (!_toBool_i_i_i_i) {
              ;
              var _14 = _10;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3769; /* _bb2_i_i_i_i */ break _bb2_i_i_i_i$_bb1_i_i_i_i$7095; } else { ; }
              var _eh_ptr_i = _llvm_eh_exception();
              var _eh_select8_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
              var _15 = _this;
              (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3823; /* _invcont1_i */  } else { __label__ = 3824; /* _lpad9_i */  }
              if (__label__ == 3823) {
                __Unwind_Resume_or_Rethrow(_eh_ptr_i);
                // unreachable
              }
              else if (__label__ == 3824) {
                var _eh_ptr10_i = _llvm_eh_exception();
                var _eh_select12_i = _llvm_eh_selector(_eh_ptr10_i, ___gxx_personality_v0, 1);
                __ZSt9terminatev();
                // unreachable
              }
            }
          } while(0);
          IHEAP[_9] = 0;
          ;
        }
        var _16 = _this+256+16;
        IHEAP[_16] = 1;
        IHEAP[_9] = 0;
        var _17 = _this+256+4;
        IHEAP[_17] = 0;
        var _18 = _this+256+8;
        IHEAP[_18] = 0;
        var _19 = _this;
        __ZN17btCollisionObjectD2Ev(_19);
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select9 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    IHEAP[_0] = __ZTV13btGhostObject+8;
    var _20 = _this+256+12;
    var _21 = IHEAP[_20];
    var _22 = _21 == 0;
    ;
    _bb3_i$_bb_i_i_i_i17$7104: do { 
      if (_22) {
        __label__ = 133; /* _bb3_i */ 
      }
      else {
        ;
        var _23 = _this+256+16;
        var _24 = IHEAP[_23];
        var _toBool_i_i_i_i16 = _24 == 0;
        ;
        _bb2_i_i_i_i19$_bb1_i_i_i_i18$7106: do { 
          if (!_toBool_i_i_i_i16) {
            ;
            var _25 = _21;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_25) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3900; /* _bb2_i_i_i_i19 */ break _bb2_i_i_i_i19$_bb1_i_i_i_i18$7106; } else { ; }
            var _eh_ptr_i21 = _llvm_eh_exception();
            var _eh_select8_i22 = _llvm_eh_selector(_eh_ptr_i21, ___gxx_personality_v0, 0);
            var _30 = _this;
            (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(_30) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3902; /* _invcont1_i20 */  } else { __label__ = 3903; /* _lpad9_i26 */  }
            if (__label__ == 3902) {
              (function() { try { __THREW__ = false; return __Unwind_Resume_or_Rethrow(_eh_ptr_i21) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3802; /* _lpad10 */ break _bb3_i$_bb_i_i_i_i17$7104; }
              // unreachable
            }
            else if (__label__ == 3903) {
              var _eh_ptr10_i24 = _llvm_eh_exception();
              var _eh_select12_i25 = _llvm_eh_selector(_eh_ptr10_i24, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          }
        } while(0);
        IHEAP[_20] = 0;
        __label__ = 133; /* _bb3_i */ break _bb3_i$_bb_i_i_i_i17$7104;
      }
    } while(0);
    _bb3_i$_lpad10$7114: do { 
      if (__label__ == 133) {
        var _26 = _this+256+16;
        IHEAP[_26] = 1;
        IHEAP[_20] = 0;
        var _27 = _this+256+4;
        IHEAP[_27] = 0;
        var _28 = _this+256+8;
        IHEAP[_28] = 0;
        var _29 = _this;
        (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(_29) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3802; /* _lpad10 */ break _bb3_i$_lpad10$7114; }
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    var _eh_ptr11 = _llvm_eh_exception();
    var _eh_select13 = _llvm_eh_selector(_eh_ptr11, ___gxx_personality_v0, 1);
    __ZSt9terminatev();
    // unreachable
  }
  __ZN24btPairCachingGhostObjectD1Ev.__index__ = Runtime.getFunctionIndex(__ZN24btPairCachingGhostObjectD1Ev, "__ZN24btPairCachingGhostObjectD1Ev");
  
  
  function __ZN24btPairCachingGhostObjectD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV24btPairCachingGhostObject+8;
    var _1 = _this+276;
    var _2 = IHEAP[_1];
    var _3 = _2;
    var _4 = IHEAP[_3];
    var _5 = IHEAP[_4];
    var _6 = _5;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_6](_2) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    _invcont$_lpad$7119: do { 
      if (__label__ == 345) {
        var _7 = IHEAP[_1];
        var _8 = _7;
        (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_8) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$7119; }
        IHEAP[_0] = __ZTV13btGhostObject+8;
        var _9 = _this+256+12;
        var _10 = IHEAP[_9];
        var _11 = _10 == 0;
        ;
        if (!_11) {
          ;
          var _12 = _this+256+16;
          var _13 = IHEAP[_12];
          var _toBool_i_i_i_i = _13 == 0;
          ;
          _bb2_i_i_i_i$_bb1_i_i_i_i$7124: do { 
            if (!_toBool_i_i_i_i) {
              ;
              var _14 = _10;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3769; /* _bb2_i_i_i_i */ break _bb2_i_i_i_i$_bb1_i_i_i_i$7124; } else { ; }
              var _eh_ptr_i = _llvm_eh_exception();
              var _eh_select8_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
              var _15 = _this;
              (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3823; /* _invcont1_i */  } else { __label__ = 3824; /* _lpad9_i */  }
              if (__label__ == 3823) {
                __Unwind_Resume_or_Rethrow(_eh_ptr_i);
                // unreachable
              }
              else if (__label__ == 3824) {
                var _eh_ptr10_i = _llvm_eh_exception();
                var _eh_select12_i = _llvm_eh_selector(_eh_ptr10_i, ___gxx_personality_v0, 1);
                __ZSt9terminatev();
                // unreachable
              }
            }
          } while(0);
          IHEAP[_9] = 0;
          ;
        }
        var _16 = _this+256+16;
        IHEAP[_16] = 1;
        IHEAP[_9] = 0;
        var _17 = _this+256+4;
        IHEAP[_17] = 0;
        var _18 = _this+256+8;
        IHEAP[_18] = 0;
        var _19 = _this;
        __ZN17btCollisionObjectD2Ev(_19);
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select9 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    IHEAP[_0] = __ZTV13btGhostObject+8;
    var _20 = _this+256+12;
    var _21 = IHEAP[_20];
    var _22 = _21 == 0;
    ;
    _bb3_i$_bb_i_i_i_i17$7133: do { 
      if (_22) {
        __label__ = 133; /* _bb3_i */ 
      }
      else {
        ;
        var _23 = _this+256+16;
        var _24 = IHEAP[_23];
        var _toBool_i_i_i_i16 = _24 == 0;
        ;
        _bb2_i_i_i_i19$_bb1_i_i_i_i18$7135: do { 
          if (!_toBool_i_i_i_i16) {
            ;
            var _25 = _21;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_25) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3900; /* _bb2_i_i_i_i19 */ break _bb2_i_i_i_i19$_bb1_i_i_i_i18$7135; } else { ; }
            var _eh_ptr_i21 = _llvm_eh_exception();
            var _eh_select8_i22 = _llvm_eh_selector(_eh_ptr_i21, ___gxx_personality_v0, 0);
            var _30 = _this;
            (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(_30) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3902; /* _invcont1_i20 */  } else { __label__ = 3903; /* _lpad9_i26 */  }
            if (__label__ == 3902) {
              (function() { try { __THREW__ = false; return __Unwind_Resume_or_Rethrow(_eh_ptr_i21) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3802; /* _lpad10 */ break _bb3_i$_bb_i_i_i_i17$7133; }
              // unreachable
            }
            else if (__label__ == 3903) {
              var _eh_ptr10_i24 = _llvm_eh_exception();
              var _eh_select12_i25 = _llvm_eh_selector(_eh_ptr10_i24, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          }
        } while(0);
        IHEAP[_20] = 0;
        __label__ = 133; /* _bb3_i */ break _bb3_i$_bb_i_i_i_i17$7133;
      }
    } while(0);
    _bb3_i$_lpad10$7143: do { 
      if (__label__ == 133) {
        var _26 = _this+256+16;
        IHEAP[_26] = 1;
        IHEAP[_20] = 0;
        var _27 = _this+256+4;
        IHEAP[_27] = 0;
        var _28 = _this+256+8;
        IHEAP[_28] = 0;
        var _29 = _this;
        (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(_29) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3802; /* _lpad10 */ break _bb3_i$_lpad10$7143; }
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    var _eh_ptr11 = _llvm_eh_exception();
    var _eh_select13 = _llvm_eh_selector(_eh_ptr11, ___gxx_personality_v0, 1);
    __ZSt9terminatev();
    // unreachable
  }
  __ZN24btPairCachingGhostObjectD2Ev.__index__ = Runtime.getFunctionIndex(__ZN24btPairCachingGhostObjectD2Ev, "__ZN24btPairCachingGhostObjectD2Ev");
  
  
  function __ZN24btPairCachingGhostObjectC2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    __ZN17btCollisionObjectC2Ev(_0);
    var _1 = _this;
    var _2 = _this+256+16;
    IHEAP[_2] = 1;
    var _3 = _this+256+12;
    IHEAP[_3] = 0;
    var _4 = _this+256+4;
    IHEAP[_4] = 0;
    var _5 = _this+256+8;
    IHEAP[_5] = 0;
    var _6 = _this+232;
    IHEAP[_6] = 4;
    IHEAP[_1] = __ZTV24btPairCachingGhostObject+8;
    var _7 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(76, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
    _invcont$_lpad$7149: do { 
      if (__label__ == 345) {
        var _8 = _7;
        var _9 = _7 == 0;
        ;
        _bb5$_bb$7151: do { 
          if (!_9) {
            ;
            (function() { try { __THREW__ = false; return __ZN28btHashedOverlappingPairCacheC1Ev(_8) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$7151; } else { ; }
            var _eh_ptr14 = _llvm_eh_exception();
            var _eh_select16 = _llvm_eh_selector(_eh_ptr14, ___gxx_personality_v0, 0);
            __lastLabel__ = 1406; __label__ = 45; /* _ppad */ break _invcont$_lpad$7149;
          }
        } while(0);
        var _10 = _this+276;
        IHEAP[_10] = _8;
        ;
        return;
      }
      else if (__label__ == 254) {
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select12 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __lastLabel__ = 254; ;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 1406 ? _eh_ptr14 : (_eh_ptr);
    IHEAP[_1] = __ZTV13btGhostObject+8;
    var _11 = IHEAP[_3];
    var _12 = _11 == 0;
    ;
    _bb3_i$_bb_i_i_i_i$7157: do { 
      if (_12) {
        __label__ = 133; /* _bb3_i */ 
      }
      else {
        ;
        var _13 = IHEAP[_2];
        var _toBool_i_i_i_i = _13 == 0;
        ;
        _bb2_i_i_i_i$_bb1_i_i_i_i$7159: do { 
          if (!_toBool_i_i_i_i) {
            ;
            var _14 = _11;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3769; /* _bb2_i_i_i_i */ break _bb2_i_i_i_i$_bb1_i_i_i_i$7159; } else { ; }
            var _eh_ptr_i = _llvm_eh_exception();
            var _eh_select8_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
            (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3823; /* _invcont1_i */  } else { __label__ = 3824; /* _lpad9_i */  }
            if (__label__ == 3823) {
              (function() { try { __THREW__ = false; return __Unwind_Resume_or_Rethrow(_eh_ptr_i) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3832; /* _lpad17 */ break _bb3_i$_bb_i_i_i_i$7157; }
              // unreachable
            }
            else if (__label__ == 3824) {
              var _eh_ptr10_i = _llvm_eh_exception();
              var _eh_select12_i = _llvm_eh_selector(_eh_ptr10_i, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          }
        } while(0);
        IHEAP[_3] = 0;
        __label__ = 133; /* _bb3_i */ break _bb3_i$_bb_i_i_i_i$7157;
      }
    } while(0);
    _bb3_i$_lpad17$7167: do { 
      if (__label__ == 133) {
        IHEAP[_2] = 1;
        IHEAP[_3] = 0;
        IHEAP[_4] = 0;
        IHEAP[_5] = 0;
        (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3832; /* _lpad17 */ break _bb3_i$_lpad17$7167; }
        __Unwind_Resume_or_Rethrow(_eh_exception_0);
        // unreachable
      }
    } while(0);
    var _eh_ptr18 = _llvm_eh_exception();
    var _eh_select20 = _llvm_eh_selector(_eh_ptr18, ___gxx_personality_v0, 1);
    __ZSt9terminatev();
    // unreachable
  }
  __ZN24btPairCachingGhostObjectC2Ev.__index__ = Runtime.getFunctionIndex(__ZN24btPairCachingGhostObjectC2Ev, "__ZN24btPairCachingGhostObjectC2Ev");
  
  
  function __Z26btGenerateInternalEdgeInfoP22btBvhTriangleMeshShapeP17btTriangleInfoMap(_trimeshShape, _triangleInfoMap) {
    var __stackBase__  = STACKTOP; STACKTOP += 108;
    var __label__;
    var __lastLabel__ = null;
    var _vertexbase = __stackBase__;
    var _numverts = __stackBase__+1;
    var _type = __stackBase__+2;
    var _stride = __stackBase__+3;
    var _indexbase = __stackBase__+4;
    var _indexstride = __stackBase__+5;
    var _numfaces = __stackBase__+6;
    var _indicestype = __stackBase__+7;
    var _triangleVerts = __stackBase__+8;
    var _aabbMin = __stackBase__+56;
    var _aabbMax = __stackBase__+72;
    var _connectivityProcessor = __stackBase__+88;
    var _0 = _trimeshShape+56;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _bb$_return$7173: do { 
      if (_2) {
        ;
        IHEAP[_0] = _triangleInfoMap;
        var _3 = _trimeshShape+48;
        var _4 = IHEAP[_3];
        var _5 = _4;
        var _6 = _4+4+8;
        var _7 = _4+4+4;
        var _8 = _4+4;
        var _9 = _aabbMin;
        var _10 = _aabbMin+4;
        var _11 = _aabbMin+8;
        var _12 = _aabbMin+12;
        var _13 = _aabbMax;
        var _14 = _aabbMax+4;
        var _15 = _aabbMax+8;
        var _16 = _aabbMax+12;
        var _17 = _triangleVerts;
        var _18 = _triangleVerts+4;
        var _19 = _triangleVerts+8;
        var _20 = _triangleVerts+12;
        var _21 = _triangleVerts+16;
        var _22 = _triangleVerts+16+4;
        var _23 = _triangleVerts+16+8;
        var _24 = _triangleVerts+16+12;
        var _25 = _triangleVerts+32;
        var _26 = _triangleVerts+32+4;
        var _27 = _triangleVerts+32+8;
        var _28 = _triangleVerts+32+12;
        var _29 = _connectivityProcessor;
        var _30 = _connectivityProcessor+4;
        var _31 = _connectivityProcessor+8;
        var _32 = _connectivityProcessor+12;
        var _33 = _triangleVerts;
        var _34 = _connectivityProcessor+16;
        var _35 = _trimeshShape;
        var _36 = _connectivityProcessor;
        __lastLabel__ = 60; ;
        _bb22$7175: while(1) { // _bb22
          var _149 = __lastLabel__ == 60 ? 0 : (_148);
          var _150 = IHEAP[_5];
          var _151 = _150+28;
          var _152 = IHEAP[_151];
          var _153 = _152;
          var _154 = FUNCTION_TABLE[_153](_4);
          var _155 = _154 > _149;
          if (!(_155)) { __label__ = 44; /* _return */ break _bb$_return$7173; }
          IHEAP[_vertexbase] = 0;
          IHEAP[_numverts] = 0;
          IHEAP[_type] = 2;
          IHEAP[_stride] = 0;
          IHEAP[_indexbase] = 0;
          IHEAP[_indexstride] = 0;
          IHEAP[_numfaces] = 0;
          IHEAP[_indicestype] = 2;
          var _37 = IHEAP[_5];
          var _38 = _37+16;
          var _39 = IHEAP[_38];
          var _40 = _39;
          FUNCTION_TABLE[_40](_4, _vertexbase, _numverts, _type, _stride, _indexbase, _indexstride, _numfaces, _indicestype, _149);
          __lastLabel__ = 61; ;
          _bb20$7178: while(1) { // _bb20
            var _145 = __lastLabel__ == 61 ? 0 : (_144);
            var _146 = IHEAP[_numfaces];
            var _147 = _145 < _146;
            if (!(_147)) { __label__ = 110; /* _bb21 */ break _bb20$7178; }
            var _41 = IHEAP[_indexbase];
            var _42 = IHEAP[_indexstride];
            var _tmp86 = _42 * _145;
            var _tmp87 = _tmp86 + 4;
            var _tmp91 = _tmp86 + 8;
            __lastLabel__ = 793; ;
            _bb6$7181: while(1) { // _bb6
              var _indvar = __lastLabel__ == 793 ? 0 : (_indvar_next);
              var _tmp96 = 2 - _indvar;
              var _scevgep9798 = _triangleVerts+_tmp96*16;
              var _scevgep99 = _triangleVerts+_tmp96*16+4;
              var _scevgep100 = _triangleVerts+_tmp96*16+8;
              var _scevgep101 = _triangleVerts+_tmp96*16+12;
              var _43 = IHEAP[_indicestype];
              var _44 = _43 == 3;
              ;
              if (_44) {
                ;
                var _tmp = _indvar * -2;
                var _tmp88 = _tmp87 + _tmp;
                var _scevgep = _41+_tmp88;
                var _scevgep89 = _scevgep;
                var _45 = IHEAP[_scevgep89];
                var _46 = _45;
                __lastLabel__ = 2; ;
              }
              else {
                ;
                var _tmp90 = _indvar * -4;
                var _tmp92 = _tmp91 + _tmp90;
                var _scevgep93 = _41+_tmp92;
                var _scevgep9394 = _scevgep93;
                var _47 = IHEAP[_scevgep9394];
                __lastLabel__ = 148; ;
              }
              var _iftmp_282_0 = __lastLabel__ == 2 ? _46 : (_47);
              var _48 = IHEAP[_type];
              var _49 = _48 == 0;
              var _50 = IHEAP[_vertexbase];
              var _51 = IHEAP[_stride];
              var _52 = _51 * _iftmp_282_0;
              var _53 = _50+_52;
              ;
              if (_49) {
                ;
                var _54 = _53;
                var __sum35 = _52 + 8;
                var _55 = _50+__sum35;
                var _56 = _55;
                var _57 = FHEAP[_56];
                var _58 = FHEAP[_6];
                var _59 = _57 * _58;
                var __sum36 = _52 + 4;
                var _60 = _50+__sum36;
                var _61 = _60;
                var _62 = FHEAP[_61];
                var _63 = FHEAP[_7];
                var _64 = _62 * _63;
                var _65 = FHEAP[_54];
                var _66 = FHEAP[_8];
                var _67 = _65 * _66;
                __lastLabel__ = 150; ;
              }
              else {
                ;
                var _68 = _53;
                var __sum = _52 + 16;
                var _69 = _50+__sum;
                var _70 = _69;
                var _71 = FHEAP[_70];
                var _72 = FHEAP[_6];
                var _73 = _72;
                var _74 = _71 * _73;
                var _75 = _74;
                var __sum34 = _52 + 8;
                var _76 = _50+__sum34;
                var _77 = _76;
                var _78 = FHEAP[_77];
                var _79 = FHEAP[_7];
                var _80 = _79;
                var _81 = _78 * _80;
                var _82 = _81;
                var _83 = FHEAP[_68];
                var _84 = FHEAP[_8];
                var _85 = _84;
                var _86 = _83 * _85;
                var _87 = _86;
                __lastLabel__ = 292; ;
              }
              var _storemerge103 = __lastLabel__ == 150 ? _67 : (_87);
              var _storemerge102 = __lastLabel__ == 150 ? _64 : (_82);
              var _storemerge = __lastLabel__ == 150 ? _59 : (_75);
              FHEAP[_scevgep9798] = _storemerge103;
              FHEAP[_scevgep99] = _storemerge102;
              FHEAP[_scevgep100] = _storemerge;
              FHEAP[_scevgep101] = 0;
              var _indvar_next = _indvar + 1;
              var _exitcond = _indvar_next == 3;
              if (_exitcond) { __lastLabel__ = 108; __label__ = 153; /* _bb15 */ break _bb6$7181; } else { __lastLabel__ = 108; __label__ = 83; /* _bb6 */ continue _bb6$7181; }
            }
            FHEAP[_9] = 999999984306749400;
            FHEAP[_10] = 999999984306749400;
            FHEAP[_11] = 999999984306749400;
            FHEAP[_12] = 0;
            FHEAP[_13] = -999999984306749400;
            FHEAP[_14] = -999999984306749400;
            FHEAP[_15] = -999999984306749400;
            FHEAP[_16] = 0;
            var _88 = FHEAP[_17];
            var _89 = _88 < 999999984306749400;
            ;
            if (_89) {
              __lastLabel__ = 153; ;
              FHEAP[_9] = _88;
              __lastLabel__ = 1409; ;
            }
            else {
              __lastLabel__ = 153; ;
            }
            var _90 = __lastLabel__ == 1409 ? _88 : (999999984306749400);
            var _91 = FHEAP[_18];
            var _92 = _91 < 999999984306749400;
            ;
            if (_92) {
              __lastLabel__ = 4421; ;
              FHEAP[_10] = _91;
              __lastLabel__ = 1411; ;
            }
            else {
              __lastLabel__ = 4421; ;
            }
            var _93 = __lastLabel__ == 1411 ? _91 : (999999984306749400);
            var _94 = FHEAP[_19];
            var _95 = _94 < 999999984306749400;
            ;
            if (_95) {
              __lastLabel__ = 4422; ;
              FHEAP[_11] = _94;
              __lastLabel__ = 1413; ;
            }
            else {
              __lastLabel__ = 4422; ;
            }
            var _96 = __lastLabel__ == 1413 ? _94 : (999999984306749400);
            var _97 = FHEAP[_20];
            var _98 = _97 < 0;
            ;
            if (_98) {
              __lastLabel__ = 4082; ;
              FHEAP[_12] = _97;
              __lastLabel__ = 1415; ;
            }
            else {
              __lastLabel__ = 4082; ;
            }
            var _99 = __lastLabel__ == 4082 ? 0 : (_97);
            var _100 = _88 > -999999984306749400;
            ;
            if (_100) {
              __lastLabel__ = 4423; ;
              FHEAP[_13] = _88;
              __lastLabel__ = 1417; ;
            }
            else {
              __lastLabel__ = 4423; ;
            }
            var _101 = __lastLabel__ == 1417 ? _88 : (-999999984306749400);
            var _102 = _91 > -999999984306749400;
            ;
            if (_102) {
              __lastLabel__ = 4424; ;
              FHEAP[_14] = _91;
              __lastLabel__ = 1419; ;
            }
            else {
              __lastLabel__ = 4424; ;
            }
            var _103 = __lastLabel__ == 1419 ? _91 : (-999999984306749400);
            var _104 = _94 > -999999984306749400;
            ;
            if (_104) {
              __lastLabel__ = 4425; ;
              FHEAP[_15] = _94;
              __lastLabel__ = 1421; ;
            }
            else {
              __lastLabel__ = 4425; ;
            }
            var _105 = __lastLabel__ == 1421 ? _94 : (-999999984306749400);
            var _106 = _97 > 0;
            ;
            if (_106) {
              __lastLabel__ = 4083; ;
              FHEAP[_16] = _97;
              __lastLabel__ = 1423; ;
            }
            else {
              __lastLabel__ = 4083; ;
            }
            var _107 = __lastLabel__ == 4083 ? 0 : (_97);
            var _108 = FHEAP[_21];
            var _109 = _108 < _90;
            ;
            if (_109) {
              __lastLabel__ = 4426; ;
              FHEAP[_9] = _108;
              __lastLabel__ = 1425; ;
            }
            else {
              __lastLabel__ = 4426; ;
            }
            var _110 = __lastLabel__ == 1425 ? _108 : (_90);
            var _111 = FHEAP[_22];
            var _112 = _111 < _93;
            ;
            if (_112) {
              __lastLabel__ = 4427; ;
              FHEAP[_10] = _111;
              __lastLabel__ = 1427; ;
            }
            else {
              __lastLabel__ = 4427; ;
            }
            var _113 = __lastLabel__ == 1427 ? _111 : (_93);
            var _114 = FHEAP[_23];
            var _115 = _114 < _96;
            ;
            if (_115) {
              __lastLabel__ = 4428; ;
              FHEAP[_11] = _114;
              __lastLabel__ = 1429; ;
            }
            else {
              __lastLabel__ = 4428; ;
            }
            var _116 = __lastLabel__ == 1429 ? _114 : (_96);
            var _117 = FHEAP[_24];
            var _118 = _117 < _99;
            ;
            if (_118) {
              __lastLabel__ = 4084; ;
              FHEAP[_12] = _117;
              __lastLabel__ = 1431; ;
            }
            else {
              __lastLabel__ = 4084; ;
            }
            var _119 = __lastLabel__ == 4084 ? _99 : (_117);
            var _120 = _101 < _108;
            ;
            if (_120) {
              __lastLabel__ = 4429; ;
              FHEAP[_13] = _108;
              __lastLabel__ = 1433; ;
            }
            else {
              __lastLabel__ = 4429; ;
            }
            var _121 = __lastLabel__ == 1433 ? _108 : (_101);
            var _122 = _103 < _111;
            ;
            if (_122) {
              __lastLabel__ = 4430; ;
              FHEAP[_14] = _111;
              __lastLabel__ = 1435; ;
            }
            else {
              __lastLabel__ = 4430; ;
            }
            var _123 = __lastLabel__ == 1435 ? _111 : (_103);
            var _124 = _105 < _114;
            ;
            if (_124) {
              __lastLabel__ = 4431; ;
              FHEAP[_15] = _114;
              __lastLabel__ = 1437; ;
            }
            else {
              __lastLabel__ = 4431; ;
            }
            var _125 = __lastLabel__ == 1437 ? _114 : (_105);
            var _126 = _107 < _117;
            ;
            if (_126) {
              __lastLabel__ = 4085; ;
              FHEAP[_16] = _117;
              __lastLabel__ = 1439; ;
            }
            else {
              __lastLabel__ = 4085; ;
            }
            var _127 = __lastLabel__ == 4085 ? _107 : (_117);
            var _128 = FHEAP[_25];
            var _129 = _128 < _110;
            ;
            if (_129) {
              ;
              FHEAP[_9] = _128;
              ;
            }
            var _130 = FHEAP[_26];
            var _131 = _130 < _113;
            ;
            if (_131) {
              ;
              FHEAP[_10] = _130;
              ;
            }
            var _132 = FHEAP[_27];
            var _133 = _132 < _116;
            ;
            if (_133) {
              ;
              FHEAP[_11] = _132;
              ;
            }
            var _134 = FHEAP[_28];
            var _135 = _134 < _119;
            ;
            if (_135) {
              ;
              FHEAP[_12] = _134;
              ;
            }
            var _136 = _121 < _128;
            ;
            if (_136) {
              ;
              FHEAP[_13] = _128;
              ;
            }
            var _137 = _123 < _130;
            ;
            if (_137) {
              ;
              FHEAP[_14] = _130;
              ;
            }
            var _138 = _125 < _132;
            ;
            if (_138) {
              ;
              FHEAP[_15] = _132;
              ;
            }
            var _139 = _127 < _134;
            ;
            if (_139) {
              ;
              FHEAP[_16] = _134;
              ;
            }
            IHEAP[_29] = __ZTV23btConnectivityProcessor+8;
            IHEAP[_30] = _149;
            IHEAP[_31] = _145;
            IHEAP[_32] = _33;
            IHEAP[_34] = _triangleInfoMap;
            var _140 = IHEAP[_35];
            var _141 = _140+60;
            var _142 = IHEAP[_141];
            var _143 = _142;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_143](_trimeshShape, _36, _aabbMin, _aabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb22$7175; }
            IHEAP[_29] = __ZTV23btConnectivityProcessor+8;
            __ZN18btTriangleCallbackD2Ev(_36);
            var _144 = _145 + 1;
            __lastLabel__ = 64; __label__ = 117; /* _bb20 */ continue _bb20$7178;
          }
          var _148 = _149 + 1;
          __lastLabel__ = 110; __label__ = 5; /* _bb22 */ continue _bb22$7175;
        }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select26 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        IHEAP[_29] = __ZTV23btConnectivityProcessor+8;
        (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_36) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 604; /* _invcont17 */  } else { __label__ = 3904; /* _lpad27 */  }
        if (__label__ == 604) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3904) {
          var _eh_ptr28 = _llvm_eh_exception();
          var _eh_select30 = _llvm_eh_selector(_eh_ptr28, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __Z26btGenerateInternalEdgeInfoP22btBvhTriangleMeshShapeP17btTriangleInfoMap.__index__ = Runtime.getFunctionIndex(__Z26btGenerateInternalEdgeInfoP22btBvhTriangleMeshShapeP17btTriangleInfoMap, "__Z26btGenerateInternalEdgeInfoP22btBvhTriangleMeshShapeP17btTriangleInfoMap");
  
  
  function __ZN23btConnectivityProcessor15processTriangleEP9btVector3ii(_this, _triangle, _partId, _triangleIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 244;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _sharedVertsA = __stackBase__+4;
    var _sharedVertsB = __stackBase__+16;
    var _tA = __stackBase__+28;
    var _tB = __stackBase__+128;
    var _tmp18 = __stackBase__+228;
    var _1 = _this+4;
    var _2 = IHEAP[_1];
    var _3 = _2 == _partId;
    ;
    _bb$_bb1$7274: do { 
      if (_3) {
        ;
        var _4 = _this+8;
        var _5 = IHEAP[_4];
        var _6 = _5 == _triangleIndex;
        if (_6) { __label__ = 44; /* _return */ break _bb$_bb1$7274; } else { __label__ = 75; /* _bb1 */ break _bb$_bb1$7274; }
      }
      else {
        __label__ = 75; /* _bb1 */ 
      }
    } while(0);
    _return$_bb1$7276: do { 
      if (__label__ == 75) {
        var _7 = _sharedVertsA;
        IHEAP[_7] = -1;
        var _8 = _sharedVertsA+4;
        IHEAP[_8] = -1;
        var _9 = _sharedVertsA+8;
        IHEAP[_9] = -1;
        var _10 = _sharedVertsB;
        IHEAP[_10] = -1;
        var _11 = _sharedVertsB+4;
        IHEAP[_11] = -1;
        var _12 = _sharedVertsB+8;
        IHEAP[_12] = -1;
        var _13 = _triangle+32+8;
        var _14 = FHEAP[_13];
        var _15 = _triangle+8;
        var _16 = FHEAP[_15];
        var _17 = _14 - _16;
        var _18 = _triangle+32+4;
        var _19 = FHEAP[_18];
        var _20 = _triangle+4;
        var _21 = FHEAP[_20];
        var _22 = _19 - _21;
        var _23 = _triangle+32;
        var _24 = FHEAP[_23];
        var _25 = _triangle;
        var _26 = FHEAP[_25];
        var _27 = _24 - _26;
        var _28 = _triangle+16+8;
        var _29 = FHEAP[_28];
        var _30 = _29 - _16;
        var _31 = _triangle+16+4;
        var _32 = FHEAP[_31];
        var _33 = _32 - _21;
        var _34 = _triangle+16;
        var _35 = FHEAP[_34];
        var _36 = _35 - _26;
        var _37 = _36 * _22;
        var _38 = _33 * _27;
        var _39 = _37 - _38;
        var _40 = _30 * _27;
        var _41 = _36 * _17;
        var _42 = _40 - _41;
        var _43 = _33 * _17;
        var _44 = _30 * _22;
        var _45 = _43 - _44;
        var _46 = _45 * _45;
        var _47 = _42 * _42;
        var _48 = _46 + _47;
        var _49 = _39 * _39;
        var _50 = _48 + _49;
        var _51 = _this+16;
        var _52 = IHEAP[_51];
        var _53 = _52+92;
        var _54 = FHEAP[_53];
        var _55 = _54 > _50;
        if (_55) { __label__ = 44; /* _return */ break _return$_bb1$7276; }
        var _56 = _this+12;
        var _57 = IHEAP[_56];
        var _58 = _57+32+8;
        var _59 = FHEAP[_58];
        var _60 = _57+8;
        var _61 = FHEAP[_60];
        var _62 = _59 - _61;
        var _63 = _57+32+4;
        var _64 = FHEAP[_63];
        var _65 = _57+4;
        var _66 = FHEAP[_65];
        var _67 = _64 - _66;
        var _68 = _57+32;
        var _69 = FHEAP[_68];
        var _70 = _57;
        var _71 = FHEAP[_70];
        var _72 = _69 - _71;
        var _73 = _57+16+8;
        var _74 = FHEAP[_73];
        var _75 = _74 - _61;
        var _76 = _57+16+4;
        var _77 = FHEAP[_76];
        var _78 = _77 - _66;
        var _79 = _57+16;
        var _80 = FHEAP[_79];
        var _81 = _80 - _71;
        var _82 = _81 * _67;
        var _83 = _78 * _72;
        var _84 = _82 - _83;
        var _85 = _75 * _72;
        var _86 = _81 * _62;
        var _87 = _85 - _86;
        var _88 = _78 * _62;
        var _89 = _75 * _67;
        var _90 = _88 - _89;
        var _91 = _90 * _90;
        var _92 = _87 * _87;
        var _93 = _91 + _92;
        var _94 = _84 * _84;
        var _95 = _93 + _94;
        var _96 = _54 > _95;
        if (_96) { __lastLabel__ = 0; __label__ = 44; /* _return */ break _return$_bb1$7276; } else { __lastLabel__ = 0; ; }
        _bb11$7279: while(1) { // _bb11
          var _numshared_2 = __lastLabel__ == 150 ? _numshared_1 : (0);
          var _123 = __lastLabel__ == 150 ? _122 : (0);
          var _124 = _123 < 3;
          if (_124) { __lastLabel__ = 292; ; } else { __lastLabel__ = 292; __label__ = 3; /* _bb12 */ break _bb11$7279; }
          _bb8$7281: while(1) { // _bb8
            var _numshared_1 = __lastLabel__ == 2 ? _numshared_0 : (_numshared_2);
            var _119 = __lastLabel__ == 2 ? _118 : (0);
            var _120 = _119 < 3;
            if (!(_120)) { __label__ = 62; /* _bb9 */ break _bb8$7281; }
            var _scevgep249 = _triangle+16*_119+8;
            var _scevgep248 = _triangle+16*_119+4;
            var _scevgep247 = _triangle+16*_119;
            var _scevgep255 = _57+16*_123+8;
            var _97 = FHEAP[_scevgep255];
            var _98 = FHEAP[_scevgep249];
            var _99 = _97 - _98;
            var _scevgep254 = _57+16*_123+4;
            var _100 = FHEAP[_scevgep254];
            var _101 = FHEAP[_scevgep248];
            var _102 = _100 - _101;
            var _scevgep252253 = _57+16*_123;
            var _103 = FHEAP[_scevgep252253];
            var _104 = FHEAP[_scevgep247];
            var _105 = _103 - _104;
            var _106 = _105 * _105;
            var _107 = _102 * _102;
            var _108 = _106 + _107;
            var _109 = _99 * _99;
            var _110 = _108 + _109;
            var _111 = _52+92;
            var _112 = FHEAP[_111];
            var _113 = _110 < _112;
            ;
            if (_113) {
              __lastLabel__ = 82; ;
              var _114 = _sharedVertsA+_numshared_1*4;
              IHEAP[_114] = _123;
              var _115 = _sharedVertsB+_numshared_1*4;
              IHEAP[_115] = _119;
              var _116 = _numshared_1 + 1;
              var _117 = _116 > 2;
              if (_117) { __lastLabel__ = 83; __label__ = 44; /* _return */ break _return$_bb1$7276; } else { __lastLabel__ = 83; ; }
            }
            else {
              __lastLabel__ = 82; ;
            }
            var _numshared_0 = __lastLabel__ == 83 ? _116 : (_numshared_1);
            var _118 = _119 + 1;
            __lastLabel__ = 2; __label__ = 148; /* _bb8 */ continue _bb8$7281;
          }
          var _121 = _numshared_1 > 2;
          if (_121) { __label__ = 44; /* _return */ break _return$_bb1$7276; }
          var _122 = _123 + 1;
          __lastLabel__ = 150; __label__ = 292; /* _bb11 */ continue _bb11$7279;
        }
        var _cond = _numshared_2 == 2;
        if (!(_cond)) { __label__ = 44; /* _return */ break _return$_bb1$7276; }
        var _125 = IHEAP[_7];
        var _126 = _125 == 0;
        ;
        _bb14$_bb16$7291: do { 
          if (_126) {
            ;
            var _127 = IHEAP[_8];
            var _128 = _127 == 2;
            if (!(_128)) { __label__ = 154; /* _bb16 */ break _bb14$_bb16$7291; }
            IHEAP[_7] = 2;
            IHEAP[_8] = 0;
            var _129 = IHEAP[_11];
            var _130 = IHEAP[_10];
            IHEAP[_11] = _130;
            IHEAP[_10] = _129;
            ;
          }
        } while(0);
        var _131 = _this+8;
        var _132 = IHEAP[_131];
        var _133 = _2 << 21;
        var _134 = _133 | _132;
        var _135 = _132 << 15;
        var _not_i_i_i = _135 ^ -1;
        var _136 = _134 + _not_i_i_i;
        var _137 = _136 >> 10;
        var _138 = _137 ^ _136;
        var _139 = _138 * 9;
        var _140 = _139 >> 6;
        var _141 = _140 ^ _139;
        var _142 = _141 << 11;
        var _not2_i_i_i = _142 ^ -1;
        var _143 = _141 + _not2_i_i_i;
        var _144 = _143 >> 16;
        var _145 = _144 ^ _143;
        var _146 = _52+4+40+8;
        var _147 = IHEAP[_146];
        var _148 = _147 + -1;
        var _149 = _145 & _148;
        var _150 = _52+4+4;
        var _151 = IHEAP[_150];
        var _152 = unSign(_151, 32) > unSign(_149, 32);
        ;
        _bb1_i_i$_bb17$7295: do { 
          if (_152) {
            ;
            var _153 = _52+4+12;
            var _154 = IHEAP[_153];
            var _155 = _154+4*_149;
            var _156 = _52+4+60+12;
            var _157 = _52+4+20+12;
            __lastLabel__ = 265; ;
            _bb3_i_i$7297: while(1) { // _bb3_i_i
              var _index_0_in_i_i = __lastLabel__ == 265 ? _155 : (_159);
              var _index_0_i_i = IHEAP[_index_0_in_i_i];
              var _160 = _index_0_i_i == -1;
              if (_160) { __label__ = 4; /* _bb17 */ break _bb1_i_i$_bb17$7295; }
              var _161 = IHEAP[_156];
              var _162 = _161+4*_index_0_i_i;
              var _163 = IHEAP[_162];
              var _164 = _134 == _163;
              if (_164) { __label__ = 1451; /* __ZN9btHashMapI9btHashInt14btTriangleInfoE4findERKS0__exit */ break _bb3_i_i$7297; }
              var _158 = IHEAP[_157];
              var _159 = _158+4*_index_0_i_i;
              __lastLabel__ = 628; __label__ = 324; /* _bb3_i_i */ continue _bb3_i_i$7297;
            }
            var _165 = _52+4+40+12;
            var _166 = IHEAP[_165];
            var _167 = _166+16*_index_0_i_i;
            var _168 = _167 == 0;
            if (_168) { __lastLabel__ = 1451; __label__ = 4; /* _bb17 */ break _bb1_i_i$_bb17$7295; } else { __lastLabel__ = 1451; __label__ = 64; /* _bb19 */ break _bb1_i_i$_bb17$7295; }
          }
          else {
            __label__ = 4; /* _bb17 */ 
          }
        } while(0);
        _bb17$_bb19$7302: do { 
          if (__label__ == 4) {
            var _169 = _tmp18+4;
            FHEAP[_169] = 6.2831854820251465;
            var _170 = _tmp18+8;
            FHEAP[_170] = 6.2831854820251465;
            var _171 = _tmp18+12;
            FHEAP[_171] = 6.2831854820251465;
            var _172 = _tmp18;
            IHEAP[_172] = 0;
            var _173 = _0;
            IHEAP[_173] = _134;
            var _174 = _52+4;
            __ZN9btHashMapI9btHashInt14btTriangleInfoE6insertERKS0_RKS1_(_174, _0, _tmp18);
            var _175 = IHEAP[_51];
            var _176 = _175+4+40+8;
            var _177 = IHEAP[_176];
            var _178 = _177 + -1;
            var _179 = _178 & _145;
            var _180 = _175+4+4;
            var _181 = IHEAP[_180];
            var _182 = unSign(_181, 32) > unSign(_179, 32);
            if (_182) { __lastLabel__ = 4; ; } else { __lastLabel__ = 4; __label__ = 64; /* _bb19 */ break _bb17$_bb19$7302; }
            var _183 = _175+4+12;
            var _184 = IHEAP[_183];
            var _185 = _184+4*_179;
            var _186 = _175+4+60+12;
            var _187 = _175+4+20+12;
            __lastLabel__ = 1452; ;
            _bb3_i_i114$7305: while(1) { // _bb3_i_i114
              var _index_0_in_i_i112 = __lastLabel__ == 1452 ? _185 : (_189);
              var _index_0_i_i113 = IHEAP[_index_0_in_i_i112];
              var _190 = _index_0_i_i113 == -1;
              if (_190) { __lastLabel__ = 1453; __label__ = 64; /* _bb19 */ break _bb17$_bb19$7302; } else { __lastLabel__ = 1453; ; }
              var _191 = IHEAP[_186];
              var _192 = _191+4*_index_0_i_i113;
              var _193 = IHEAP[_192];
              var _194 = _134 == _193;
              if (_194) { __label__ = 1456; /* _bb1_i116 */ break _bb3_i_i114$7305; }
              var _188 = IHEAP[_187];
              var _189 = _188+4*_index_0_i_i113;
              __lastLabel__ = 1454; __label__ = 1453; /* _bb3_i_i114 */ continue _bb3_i_i114$7305;
            }
            var _195 = _175+4+40+12;
            var _196 = IHEAP[_195];
            var _197 = _196+16*_index_0_i_i113;
            __lastLabel__ = 1456; ;
          }
        } while(0);
        var _info_0 = __lastLabel__ == 1456 ? _197 : (__lastLabel__ == 1451 ? _167 : (__lastLabel__ == 4 ? 0 : (0)));
        var _198 = IHEAP[_7];
        var _199 = IHEAP[_8];
        var _200 = _199 + _198;
        var _201 = IHEAP[_56];
        var _202 = _201+16*_199+8;
        var _203 = FHEAP[_202];
        var _204 = _201+16*_198+8;
        var _205 = FHEAP[_204];
        var _206 = _203 - _205;
        var _207 = _201+16*_199+4;
        var _208 = FHEAP[_207];
        var _209 = _201+16*_198+4;
        var _210 = FHEAP[_209];
        var _211 = _208 - _210;
        var _212 = _201+16*_199;
        var _213 = FHEAP[_212];
        var _214 = _201+16*_198;
        var _215 = FHEAP[_214];
        var _216 = _213 - _215;
        var _217 = _tA;
        __ZN23btPolyhedralConvexShapeC2Ev(_217);
        var _218 = _tA;
        IHEAP[_218] = __ZTV15btTriangleShape+8;
        var _219 = _tA+4;
        IHEAP[_219] = 1;
        var _220 = _tA+52;
        var _221 = _201;
        var _222 = FHEAP[_221];
        FHEAP[_220] = _222;
        var _223 = _tA+52+4;
        var _224 = _201+4;
        var _225 = FHEAP[_224];
        FHEAP[_223] = _225;
        var _226 = _tA+52+8;
        var _227 = _201+8;
        var _228 = FHEAP[_227];
        FHEAP[_226] = _228;
        var _229 = _tA+52+12;
        var _230 = _201+12;
        var _231 = FHEAP[_230];
        FHEAP[_229] = _231;
        var _232 = _tA+52+16;
        var _233 = _201+16;
        var _234 = FHEAP[_233];
        FHEAP[_232] = _234;
        var _235 = _tA+52+16+4;
        var _236 = _201+16+4;
        var _237 = FHEAP[_236];
        FHEAP[_235] = _237;
        var _238 = _tA+52+16+8;
        var _239 = _201+16+8;
        var _240 = FHEAP[_239];
        FHEAP[_238] = _240;
        var _241 = _tA+52+16+12;
        var _242 = _201+16+12;
        var _243 = FHEAP[_242];
        FHEAP[_241] = _243;
        var _244 = _tA+52+32;
        var _245 = _201+32;
        var _246 = FHEAP[_245];
        FHEAP[_244] = _246;
        var _247 = _tA+52+32+4;
        var _248 = _201+32+4;
        var _249 = FHEAP[_248];
        FHEAP[_247] = _249;
        var _250 = _tA+52+32+8;
        var _251 = _201+32+8;
        var _252 = FHEAP[_251];
        FHEAP[_250] = _252;
        var _253 = _tA+52+32+12;
        var _254 = _201+32+12;
        var _255 = FHEAP[_254];
        FHEAP[_253] = _255;
        var _256 = IHEAP[_10];
        var _257 = IHEAP[_11];
        var __neg237 = 3 - _256;
        var _258 = __neg237 - _257;
        var _259 = _tB;
        (function() { try { __THREW__ = false; return __ZN23btPolyhedralConvexShapeC2Ev(_259) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 45; /* _ppad */  }
        _invcont$_ppad$7311: do { 
          if (__label__ == 345) {
            var _260 = _tB;
            IHEAP[_260] = __ZTV15btTriangleShape+8;
            var _261 = _tB+4;
            IHEAP[_261] = 1;
            var _262 = _tB+52;
            var _263 = _triangle+16*_257;
            var _264 = FHEAP[_263];
            FHEAP[_262] = _264;
            var _265 = _tB+52+4;
            var _266 = _triangle+16*_257+4;
            var _267 = FHEAP[_266];
            FHEAP[_265] = _267;
            var _268 = _tB+52+8;
            var _269 = _triangle+16*_257+8;
            var _270 = FHEAP[_269];
            FHEAP[_268] = _270;
            var _271 = _tB+52+12;
            var _272 = _triangle+16*_257+12;
            var _273 = FHEAP[_272];
            FHEAP[_271] = _273;
            var _274 = _tB+52+16;
            var _275 = _triangle+16*_256;
            var _276 = FHEAP[_275];
            FHEAP[_274] = _276;
            var _277 = _tB+52+16+4;
            var _278 = _triangle+16*_256+4;
            var _279 = FHEAP[_278];
            FHEAP[_277] = _279;
            var _280 = _tB+52+16+8;
            var _281 = _triangle+16*_256+8;
            var _282 = FHEAP[_281];
            FHEAP[_280] = _282;
            var _283 = _tB+52+16+12;
            var _284 = _triangle+16*_256+12;
            var _285 = FHEAP[_284];
            FHEAP[_283] = _285;
            var _286 = _tB+52+32;
            var _287 = _triangle+16*_258;
            var _288 = FHEAP[_287];
            FHEAP[_286] = _288;
            var _289 = _tB+52+32+4;
            var _290 = _triangle+16*_258+4;
            var _291 = FHEAP[_290];
            FHEAP[_289] = _291;
            var _292 = _tB+52+32+8;
            var _293 = _triangle+16*_258+8;
            var _294 = FHEAP[_293];
            FHEAP[_292] = _294;
            var _295 = _tB+52+32+12;
            var _296 = _triangle+16*_258+12;
            var _297 = FHEAP[_296];
            FHEAP[_295] = _297;
            var _298 = 3 - _200;
            var _299 = FHEAP[_250];
            var _300 = FHEAP[_226];
            var _301 = _299 - _300;
            var _302 = FHEAP[_247];
            var _303 = FHEAP[_223];
            var _304 = _302 - _303;
            var _305 = FHEAP[_244];
            var _306 = FHEAP[_220];
            var _307 = _305 - _306;
            var _308 = FHEAP[_238];
            var _309 = _308 - _300;
            var _310 = FHEAP[_235];
            var _311 = _310 - _303;
            var _312 = FHEAP[_232];
            var _313 = _312 - _306;
            var _314 = _313 * _304;
            var _315 = _311 * _307;
            var _316 = _314 - _315;
            var _317 = _309 * _307;
            var _318 = _313 * _301;
            var _319 = _317 - _318;
            var _320 = _311 * _301;
            var _321 = _309 * _304;
            var _322 = _320 - _321;
            var _323 = _322 * _322;
            var _324 = _319 * _319;
            var _325 = _323 + _324;
            var _326 = _316 * _316;
            var _327 = _325 + _326;
            var _328 = _sqrtf(_327);
            var _329 = 1 / _328;
            var _330 = _322 * _329;
            var _331 = _319 * _329;
            var _332 = _316 * _329;
            var _333 = _294 - _270;
            var _334 = _291 - _267;
            var _335 = _288 - _264;
            var _336 = _282 - _270;
            var _337 = _279 - _267;
            var _338 = _276 - _264;
            var _339 = _338 * _334;
            var _340 = _337 * _335;
            var _341 = _339 - _340;
            var _342 = _336 * _335;
            var _343 = _338 * _333;
            var _344 = _342 - _343;
            var _345 = _337 * _333;
            var _346 = _336 * _334;
            var _347 = _345 - _346;
            var _348 = _347 * _347;
            var _349 = _344 * _344;
            var _350 = _348 + _349;
            var _351 = _341 * _341;
            var _352 = _350 + _351;
            var _353 = _sqrtf(_352);
            var _354 = 1 / _353;
            var _355 = _347 * _354;
            var _356 = _344 * _354;
            var _357 = _341 * _354;
            var _358 = _216 * _216;
            var _359 = _211 * _211;
            var _360 = _358 + _359;
            var _361 = _206 * _206;
            var _362 = _360 + _361;
            var _363 = _sqrtf(_362);
            var _364 = 1 / _363;
            var _365 = _216 * _364;
            var _366 = _211 * _364;
            var _367 = _206 * _364;
            var _368 = _365 * _331;
            var _369 = _366 * _330;
            var _370 = _368 - _369;
            var _371 = _367 * _330;
            var _372 = _365 * _332;
            var _373 = _371 - _372;
            var _374 = _366 * _332;
            var _375 = _367 * _331;
            var _376 = _374 - _375;
            var _377 = _376 * _376;
            var _378 = _373 * _373;
            var _379 = _377 + _378;
            var _380 = _370 * _370;
            var _381 = _379 + _380;
            var _382 = _sqrtf(_381);
            var _383 = 1 / _382;
            var _384 = _376 * _383;
            var _385 = _373 * _383;
            var _386 = _370 * _383;
            var _387 = IHEAP[_56];
            var _388 = _387+16*_298+8;
            var _389 = FHEAP[_388];
            var _390 = _387+16*_198+8;
            var _391 = FHEAP[_390];
            var _392 = _389 - _391;
            var _393 = _387+16*_298+4;
            var _394 = FHEAP[_393];
            var _395 = _387+16*_198+4;
            var _396 = FHEAP[_395];
            var _397 = _394 - _396;
            var _398 = _387+16*_298;
            var _399 = FHEAP[_398];
            var _400 = _387+16*_198;
            var _401 = FHEAP[_400];
            var _402 = _399 - _401;
            var _403 = _384 * _402;
            var _404 = _385 * _397;
            var _405 = _403 + _404;
            var _406 = _386 * _392;
            var _407 = _405 + _406;
            var _408 = _407 < 0;
            ;
            if (_408) {
              __lastLabel__ = 345; ;
              var _409 = _384 * -1;
              var _410 = _385 * -1;
              var _411 = _386 * -1;
              __lastLabel__ = 5; ;
            }
            else {
              __lastLabel__ = 345; ;
            }
            var _edgeCrossA_0_0_0 = __lastLabel__ == 5 ? _409 : (_384);
            var _edgeCrossA_0_1_0 = __lastLabel__ == 5 ? _410 : (_385);
            var _edgeCrossA_0_2_0 = __lastLabel__ == 5 ? _411 : (_386);
            var _412 = _365 * _356;
            var _413 = _366 * _355;
            var _414 = _412 - _413;
            var _415 = _367 * _355;
            var _416 = _365 * _357;
            var _417 = _415 - _416;
            var _418 = _366 * _357;
            var _419 = _367 * _356;
            var _420 = _418 - _419;
            var _421 = _420 * _420;
            var _422 = _417 * _417;
            var _423 = _421 + _422;
            var _424 = _414 * _414;
            var _425 = _423 + _424;
            var _426 = _sqrtf(_425);
            var _427 = 1 / _426;
            var _428 = _420 * _427;
            var _429 = _417 * _427;
            var _430 = _414 * _427;
            var _431 = _294 - _282;
            var _432 = _291 - _279;
            var _433 = _288 - _276;
            var _434 = _428 * _433;
            var _435 = _429 * _432;
            var _436 = _434 + _435;
            var _437 = _430 * _431;
            var _438 = _436 + _437;
            var _439 = _438 < 0;
            ;
            if (_439) {
              __lastLabel__ = 419; ;
              var _440 = _428 * -1;
              var _441 = _429 * -1;
              var _442 = _430 * -1;
              __lastLabel__ = 626; ;
            }
            else {
              __lastLabel__ = 419; ;
            }
            var _edgeCrossB_0_0_0 = __lastLabel__ == 626 ? _440 : (_428);
            var _edgeCrossB_0_1_0 = __lastLabel__ == 626 ? _441 : (_429);
            var _edgeCrossB_0_2_0 = __lastLabel__ == 626 ? _442 : (_430);
            var _443 = _edgeCrossA_0_0_0 * _edgeCrossB_0_1_0;
            var _444 = _edgeCrossA_0_1_0 * _edgeCrossB_0_0_0;
            var _445 = _443 - _444;
            var _446 = _edgeCrossA_0_2_0 * _edgeCrossB_0_0_0;
            var _447 = _edgeCrossA_0_0_0 * _edgeCrossB_0_2_0;
            var _448 = _446 - _447;
            var _449 = _edgeCrossA_0_1_0 * _edgeCrossB_0_2_0;
            var _450 = _edgeCrossA_0_2_0 * _edgeCrossB_0_1_0;
            var _451 = _449 - _450;
            var _452 = _451 * _451;
            var _453 = _448 * _448;
            var _454 = _452 + _453;
            var _455 = _445 * _445;
            var _456 = _454 + _455;
            var _457 = IHEAP[_51];
            var _458 = _457+88;
            var _459 = FHEAP[_458];
            var _460 = _459 > _456;
            ;
            _bb36$_bb29$7319: do { 
              if (_460) {
                __lastLabel__ = 515; ;
              }
              else {
                __lastLabel__ = 515; ;
                var _461 = _sqrtf(_456);
                var _462 = 1 / _461;
                var _463 = _451 * _462;
                var _464 = _448 * _462;
                var _465 = _445 * _462;
                var _466 = _463 * _edgeCrossA_0_1_0;
                var _467 = _464 * _edgeCrossA_0_0_0;
                var _468 = _466 - _467;
                var _469 = _465 * _edgeCrossA_0_0_0;
                var _470 = _463 * _edgeCrossA_0_2_0;
                var _471 = _469 - _470;
                var _472 = _464 * _edgeCrossA_0_2_0;
                var _473 = _465 * _edgeCrossA_0_1_0;
                var _474 = _472 - _473;
                var _475 = _474 * _474;
                var _476 = _471 * _471;
                var _477 = _475 + _476;
                var _478 = _468 * _468;
                var _479 = _477 + _478;
                var _480 = _sqrtf(_479);
                var _481 = 1 / _480;
                var _482 = _474 * _481;
                var _483 = _471 * _481;
                var _484 = _468 * _481;
                var _485 = _edgeCrossB_0_0_0 * _edgeCrossA_0_0_0;
                var _486 = _edgeCrossB_0_1_0 * _edgeCrossA_0_1_0;
                var _487 = _485 + _486;
                var _488 = _edgeCrossB_0_2_0 * _edgeCrossA_0_2_0;
                var _489 = _487 + _488;
                var _490 = _edgeCrossB_0_0_0 * _482;
                var _491 = _edgeCrossB_0_1_0 * _483;
                var _492 = _490 + _491;
                var _493 = _edgeCrossB_0_2_0 * _484;
                var _494 = _492 + _493;
                var _495 = _atan2f(_494, _489);
                var _496 = 3.1415927410125732 - _495;
                var _497 = _330 * _edgeCrossB_0_0_0;
                var _498 = _331 * _edgeCrossB_0_1_0;
                var _499 = _497 + _498;
                var _500 = _332 * _edgeCrossB_0_2_0;
                var _501 = _499 + _500;
                var _502 = _501 < 0;
                var _503 = _502;
                if (_502) { __lastLabel__ = 6; __label__ = 251; /* _bb36 */ break _bb36$_bb29$7319; } else { __lastLabel__ = 6; ; }
                var _504 = 0 - _496;
                __lastLabel__ = 91; ;
              }
            } while(0);
            var _correctedAngle_0 = __lastLabel__ == 515 ? 0 : (__lastLabel__ == 91 ? _504 : (_496));
            var _isConvex_0 = __lastLabel__ == 515 ? 0 : (__lastLabel__ == 91 ? _503 : (_503));
            if (_200 == 1) {
              __label__ = 473; /* _invcont43 */ 
            }
            else if (_200 == 2) {
              __label__ = 1187; /* _invcont55 */ 
            }
            else if (_200 == 3) {
              __label__ = 3707; /* _invcont68 */ 
            }
            else {
            __label__ = 1462; /* _bb79 */ 
            }
            
            _bb79$_invcont43$_invcont55$_invcont68$7323: do { 
              if (__label__ == 473) {
                var _505 = _387+8;
                var _506 = FHEAP[_505];
                var _507 = _387+16+8;
                var _508 = FHEAP[_507];
                var _509 = _506 - _508;
                var _510 = _387+4;
                var _511 = FHEAP[_510];
                var _512 = _387+16+4;
                var _513 = FHEAP[_512];
                var _514 = _511 - _513;
                var _515 = _387;
                var _516 = FHEAP[_515];
                var _517 = _387+16;
                var _518 = FHEAP[_517];
                var _519 = _516 - _518;
                var _520 = _519 * _519;
                var _521 = _514 * _514;
                var _522 = _520 + _521;
                var _523 = _509 * _509;
                var _524 = _522 + _523;
                var _525 = _sqrtf(_524);
                var _526 = _correctedAngle_0 * -0.5;
                var _527 = _sinf(_526);
                var _528 = _527 / _525;
                var _529 = _cosf(_526);
                var _530 = _509 * _528;
                var _531 = _514 * _528;
                var _532 = _519 * _528;
                var _533 = 0 - _532;
                var _534 = _330 * _533;
                var _535 = _531 * _331;
                var _536 = _534 - _535;
                var _537 = _530 * _332;
                var _538 = _536 - _537;
                var _539 = _529 * _332;
                var _540 = _532 * _331;
                var _541 = _539 + _540;
                var _542 = _531 * _330;
                var _543 = _541 - _542;
                var _544 = _529 * _331;
                var _545 = _530 * _330;
                var _546 = _544 + _545;
                var _547 = _532 * _332;
                var _548 = _546 - _547;
                var _549 = _529 * _330;
                var _550 = _531 * _332;
                var _551 = _549 + _550;
                var _552 = _530 * _331;
                var _553 = _551 - _552;
                var _554 = 0 - _530;
                var _555 = 0 - _531;
                var _556 = _538 * _554;
                var _557 = _543 * _529;
                var _558 = _556 + _557;
                var _559 = _553 * _555;
                var _560 = _558 + _559;
                var _561 = _548 * _533;
                var _562 = _560 - _561;
                var _563 = _538 * _555;
                var _564 = _548 * _529;
                var _565 = _563 + _564;
                var _566 = _543 * _533;
                var _567 = _565 + _566;
                var _568 = _553 * _554;
                var _569 = _567 - _568;
                var _570 = _538 * _533;
                var _571 = _553 * _529;
                var _572 = _570 + _571;
                var _573 = _548 * _554;
                var _574 = _572 + _573;
                var _575 = _543 * _555;
                var _576 = _574 - _575;
                var _577 = _576 * _355;
                var _578 = _569 * _356;
                var _579 = _577 + _578;
                var _580 = _562 * _357;
                var _581 = _579 + _580;
                var _582 = _581 < 0;
                ;
                if (_582) {
                  ;
                  var _583 = _info_0;
                  var _584 = IHEAP[_583];
                  var _585 = _584 | 8;
                  IHEAP[_583] = _585;
                  ;
                }
                var _586 = 0 - _correctedAngle_0;
                var _587 = _info_0+4;
                FHEAP[_587] = _586;
                var _toBool46 = _isConvex_0 == 0;
                if (_toBool46) { __label__ = 1462; /* _bb79 */ break _bb79$_invcont43$_invcont55$_invcont68$7323; }
                var _588 = _info_0;
                var _589 = IHEAP[_588];
                var _590 = _589 | 1;
                IHEAP[_588] = _590;
                ;
              }
              else if (__label__ == 1187) {
                var _591 = _387+32+8;
                var _592 = FHEAP[_591];
                var _593 = _387+8;
                var _594 = FHEAP[_593];
                var _595 = _592 - _594;
                var _596 = _387+32+4;
                var _597 = FHEAP[_596];
                var _598 = _387+4;
                var _599 = FHEAP[_598];
                var _600 = _597 - _599;
                var _601 = _387+32;
                var _602 = FHEAP[_601];
                var _603 = _387;
                var _604 = FHEAP[_603];
                var _605 = _602 - _604;
                var _606 = _605 * _605;
                var _607 = _600 * _600;
                var _608 = _606 + _607;
                var _609 = _595 * _595;
                var _610 = _608 + _609;
                var _611 = _sqrtf(_610);
                var _612 = _correctedAngle_0 * -0.5;
                var _613 = _sinf(_612);
                var _614 = _613 / _611;
                var _615 = _cosf(_612);
                var _616 = _595 * _614;
                var _617 = _600 * _614;
                var _618 = _605 * _614;
                var _619 = 0 - _618;
                var _620 = _330 * _619;
                var _621 = _617 * _331;
                var _622 = _620 - _621;
                var _623 = _616 * _332;
                var _624 = _622 - _623;
                var _625 = _615 * _332;
                var _626 = _618 * _331;
                var _627 = _625 + _626;
                var _628 = _617 * _330;
                var _629 = _627 - _628;
                var _630 = _615 * _331;
                var _631 = _616 * _330;
                var _632 = _630 + _631;
                var _633 = _618 * _332;
                var _634 = _632 - _633;
                var _635 = _615 * _330;
                var _636 = _617 * _332;
                var _637 = _635 + _636;
                var _638 = _616 * _331;
                var _639 = _637 - _638;
                var _640 = 0 - _616;
                var _641 = 0 - _617;
                var _642 = _624 * _640;
                var _643 = _629 * _615;
                var _644 = _642 + _643;
                var _645 = _639 * _641;
                var _646 = _644 + _645;
                var _647 = _634 * _619;
                var _648 = _646 - _647;
                var _649 = _624 * _641;
                var _650 = _634 * _615;
                var _651 = _649 + _650;
                var _652 = _629 * _619;
                var _653 = _651 + _652;
                var _654 = _639 * _640;
                var _655 = _653 - _654;
                var _656 = _624 * _619;
                var _657 = _639 * _615;
                var _658 = _656 + _657;
                var _659 = _634 * _640;
                var _660 = _658 + _659;
                var _661 = _629 * _641;
                var _662 = _660 - _661;
                var _663 = _662 * _355;
                var _664 = _655 * _356;
                var _665 = _663 + _664;
                var _666 = _648 * _357;
                var _667 = _665 + _666;
                var _668 = _667 < 0;
                ;
                if (_668) {
                  ;
                  var _669 = _info_0;
                  var _670 = IHEAP[_669];
                  var _671 = _670 | 32;
                  IHEAP[_669] = _671;
                  ;
                }
                var _672 = 0 - _correctedAngle_0;
                var _673 = _info_0+12;
                FHEAP[_673] = _672;
                var _toBool59 = _isConvex_0 == 0;
                if (_toBool59) { __label__ = 1462; /* _bb79 */ break _bb79$_invcont43$_invcont55$_invcont68$7323; }
                var _674 = _info_0;
                var _675 = IHEAP[_674];
                var _676 = _675 | 4;
                IHEAP[_674] = _676;
                ;
              }
              else if (__label__ == 3707) {
                var _677 = _387+16+8;
                var _678 = FHEAP[_677];
                var _679 = _387+32+8;
                var _680 = FHEAP[_679];
                var _681 = _678 - _680;
                var _682 = _387+16+4;
                var _683 = FHEAP[_682];
                var _684 = _387+32+4;
                var _685 = FHEAP[_684];
                var _686 = _683 - _685;
                var _687 = _387+16;
                var _688 = FHEAP[_687];
                var _689 = _387+32;
                var _690 = FHEAP[_689];
                var _691 = _688 - _690;
                var _692 = _691 * _691;
                var _693 = _686 * _686;
                var _694 = _692 + _693;
                var _695 = _681 * _681;
                var _696 = _694 + _695;
                var _697 = _sqrtf(_696);
                var _698 = _correctedAngle_0 * -0.5;
                var _699 = _sinf(_698);
                var _700 = _699 / _697;
                var _701 = _cosf(_698);
                var _702 = _681 * _700;
                var _703 = _686 * _700;
                var _704 = _691 * _700;
                var _705 = 0 - _704;
                var _706 = _330 * _705;
                var _707 = _703 * _331;
                var _708 = _706 - _707;
                var _709 = _702 * _332;
                var _710 = _708 - _709;
                var _711 = _701 * _332;
                var _712 = _704 * _331;
                var _713 = _711 + _712;
                var _714 = _703 * _330;
                var _715 = _713 - _714;
                var _716 = _701 * _331;
                var _717 = _702 * _330;
                var _718 = _716 + _717;
                var _719 = _704 * _332;
                var _720 = _718 - _719;
                var _721 = _701 * _330;
                var _722 = _703 * _332;
                var _723 = _721 + _722;
                var _724 = _702 * _331;
                var _725 = _723 - _724;
                var _726 = 0 - _702;
                var _727 = 0 - _703;
                var _728 = _710 * _726;
                var _729 = _715 * _701;
                var _730 = _728 + _729;
                var _731 = _725 * _727;
                var _732 = _730 + _731;
                var _733 = _720 * _705;
                var _734 = _732 - _733;
                var _735 = _710 * _727;
                var _736 = _720 * _701;
                var _737 = _735 + _736;
                var _738 = _715 * _705;
                var _739 = _737 + _738;
                var _740 = _725 * _726;
                var _741 = _739 - _740;
                var _742 = _710 * _705;
                var _743 = _725 * _701;
                var _744 = _742 + _743;
                var _745 = _720 * _726;
                var _746 = _744 + _745;
                var _747 = _715 * _727;
                var _748 = _746 - _747;
                var _749 = _748 * _355;
                var _750 = _741 * _356;
                var _751 = _749 + _750;
                var _752 = _734 * _357;
                var _753 = _751 + _752;
                var _754 = _753 < 0;
                ;
                if (_754) {
                  ;
                  var _755 = _info_0;
                  var _756 = IHEAP[_755];
                  var _757 = _756 | 16;
                  IHEAP[_755] = _757;
                  ;
                }
                var _758 = 0 - _correctedAngle_0;
                var _759 = _info_0+8;
                FHEAP[_759] = _758;
                var _toBool72 = _isConvex_0 == 0;
                if (_toBool72) { __label__ = 1462; /* _bb79 */ break _bb79$_invcont43$_invcont55$_invcont68$7323; }
                var _760 = _info_0;
                var _761 = IHEAP[_760];
                var _762 = _761 | 2;
                IHEAP[_760] = _762;
                ;
              }
            } while(0);
            IHEAP[_260] = __ZTV21btConvexInternalShape+8;
            var _763 = _tB;
            (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_763) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 45; /* _ppad */ break _invcont$_ppad$7311; }
            IHEAP[_218] = __ZTV21btConvexInternalShape+8;
            var _764 = _tA;
            __ZN13btConvexShapeD2Ev(_764);
            STACKTOP = __stackBase__;
            return;
          }
        } while(0);
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select89 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        IHEAP[_218] = __ZTV21btConvexInternalShape+8;
        var _765 = _tA;
        (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_765) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3905; /* _invcont84 */  } else { __label__ = 3906; /* _lpad98 */  }
        if (__label__ == 3905) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3906) {
          var _eh_ptr99 = _llvm_eh_exception();
          var _eh_select101 = _llvm_eh_selector(_eh_ptr99, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN23btConnectivityProcessor15processTriangleEP9btVector3ii.__index__ = Runtime.getFunctionIndex(__ZN23btConnectivityProcessor15processTriangleEP9btVector3ii, "__ZN23btConnectivityProcessor15processTriangleEP9btVector3ii");
  
  
  function __Z13btClampNormalRK9btVector3S1_S1_fRS_(_edge, _tri_normal_org, _localContactNormalOnB, _correctedEdgeAngle, _clampedLocalNormal) {
    ;
    var __label__;
    var _0 = _tri_normal_org;
    var _1 = FHEAP[_0];
    var _2 = _tri_normal_org+4;
    var _3 = FHEAP[_2];
    var _4 = _tri_normal_org+8;
    var _5 = FHEAP[_4];
    var _6 = _edge;
    var _7 = FHEAP[_6];
    var _8 = _7 * _3;
    var _9 = _edge+4;
    var _10 = FHEAP[_9];
    var _11 = _10 * _1;
    var _12 = _8 - _11;
    var _13 = _edge+8;
    var _14 = FHEAP[_13];
    var _15 = _14 * _1;
    var _16 = _7 * _5;
    var _17 = _15 - _16;
    var _18 = _10 * _5;
    var _19 = _14 * _3;
    var _20 = _18 - _19;
    var _21 = _20 * _20;
    var _22 = _17 * _17;
    var _23 = _21 + _22;
    var _24 = _12 * _12;
    var _25 = _23 + _24;
    var _26 = _sqrtf(_25);
    var _27 = 1 / _26;
    var _28 = _20 * _27;
    var _29 = _17 * _27;
    var _30 = _12 * _27;
    var _31 = _localContactNormalOnB;
    var _32 = FHEAP[_31];
    var _33 = _localContactNormalOnB+4;
    var _34 = FHEAP[_33];
    var _35 = _localContactNormalOnB+8;
    var _36 = FHEAP[_35];
    var _37 = _32 * _1;
    var _38 = _34 * _3;
    var _39 = _37 + _38;
    var _40 = _36 * _5;
    var _41 = _39 + _40;
    var _42 = _32 * _28;
    var _43 = _34 * _29;
    var _44 = _42 + _43;
    var _45 = _36 * _30;
    var _46 = _44 + _45;
    var _47 = _atan2f(_46, _41);
    var _48 = _correctedEdgeAngle < 0;
    var _49 = _47 < _correctedEdgeAngle;
    var _or_cond = _48 & _49;
    ;
    if (_or_cond) {
      ;
      var _50 = _correctedEdgeAngle - _47;
      var _51 = _7 * _7;
      var _52 = _10 * _10;
      var _53 = _51 + _52;
      var _54 = _14 * _14;
      var _55 = _53 + _54;
      var _56 = _sqrtf(_55);
      var _57 = _50 * 0.5;
      var _58 = _sinf(_57);
      var _59 = _58 / _56;
      var _60 = _cosf(_57);
      var _61 = _14 * _59;
      var _62 = _10 * _59;
      var _63 = _7 * _59;
      var _64 = _63 * _63;
      var _65 = _62 * _62;
      var _66 = _64 + _65;
      var _67 = _61 * _61;
      var _68 = _66 + _67;
      var _69 = _60 * _60;
      var _70 = _68 + _69;
      var _71 = 2 / _70;
      var _72 = _63 * _71;
      var _73 = _62 * _71;
      var _74 = _61 * _71;
      var _75 = _60 * _72;
      var _76 = _60 * _73;
      var _77 = _60 * _74;
      var _78 = _63 * _72;
      var _79 = _63 * _73;
      var _80 = _63 * _74;
      var _81 = _62 * _73;
      var _82 = _62 * _74;
      var _83 = _61 * _74;
      var _84 = _78 + _81;
      var _85 = 1 - _84;
      var _86 = _82 + _75;
      var _87 = _80 - _76;
      var _88 = _82 - _75;
      var _89 = _78 + _83;
      var _90 = 1 - _89;
      var _91 = _79 + _77;
      var _92 = _80 + _76;
      var _93 = _79 - _77;
      var _94 = _81 + _83;
      var _95 = 1 - _94;
      var _96 = _87 * _32;
      var _97 = _86 * _34;
      var _98 = _96 + _97;
      var _99 = _85 * _36;
      var _100 = _98 + _99;
      var _101 = _91 * _32;
      var _102 = _90 * _34;
      var _103 = _101 + _102;
      var _104 = _88 * _36;
      var _105 = _103 + _104;
      var _106 = _95 * _32;
      var _107 = _93 * _34;
      var _108 = _106 + _107;
      var _109 = _92 * _36;
      var _110 = _108 + _109;
      var _111 = _clampedLocalNormal;
      FHEAP[_111] = _110;
      var _112 = _clampedLocalNormal+4;
      FHEAP[_112] = _105;
      var _113 = _clampedLocalNormal+8;
      FHEAP[_113] = _100;
      var _114 = _clampedLocalNormal+12;
      FHEAP[_114] = 0;
      ;
      return 1;
    }
    else {
      ;
      var __not = _correctedEdgeAngle >= 0;
      var _115 = _47 > _correctedEdgeAngle;
      var _or_cond14 = __not & _115;
      ;
      if (_or_cond14) {
        ;
        var _116 = _correctedEdgeAngle - _47;
        var _117 = _7 * _7;
        var _118 = _10 * _10;
        var _119 = _117 + _118;
        var _120 = _14 * _14;
        var _121 = _119 + _120;
        var _122 = _sqrtf(_121);
        var _123 = _116 * 0.5;
        var _124 = _sinf(_123);
        var _125 = _124 / _122;
        var _126 = _cosf(_123);
        var _127 = _14 * _125;
        var _128 = _10 * _125;
        var _129 = _7 * _125;
        var _130 = _129 * _129;
        var _131 = _128 * _128;
        var _132 = _130 + _131;
        var _133 = _127 * _127;
        var _134 = _132 + _133;
        var _135 = _126 * _126;
        var _136 = _134 + _135;
        var _137 = 2 / _136;
        var _138 = _129 * _137;
        var _139 = _128 * _137;
        var _140 = _127 * _137;
        var _141 = _126 * _138;
        var _142 = _126 * _139;
        var _143 = _126 * _140;
        var _144 = _129 * _138;
        var _145 = _129 * _139;
        var _146 = _129 * _140;
        var _147 = _128 * _139;
        var _148 = _128 * _140;
        var _149 = _127 * _140;
        var _150 = _144 + _147;
        var _151 = 1 - _150;
        var _152 = _148 + _141;
        var _153 = _146 - _142;
        var _154 = _148 - _141;
        var _155 = _144 + _149;
        var _156 = 1 - _155;
        var _157 = _145 + _143;
        var _158 = _146 + _142;
        var _159 = _145 - _143;
        var _160 = _147 + _149;
        var _161 = 1 - _160;
        var _162 = _153 * _32;
        var _163 = _152 * _34;
        var _164 = _162 + _163;
        var _165 = _151 * _36;
        var _166 = _164 + _165;
        var _167 = _157 * _32;
        var _168 = _156 * _34;
        var _169 = _167 + _168;
        var _170 = _154 * _36;
        var _171 = _169 + _170;
        var _172 = _161 * _32;
        var _173 = _159 * _34;
        var _174 = _172 + _173;
        var _175 = _158 * _36;
        var _176 = _174 + _175;
        var _177 = _clampedLocalNormal;
        FHEAP[_177] = _176;
        var _178 = _clampedLocalNormal+4;
        FHEAP[_178] = _171;
        var _179 = _clampedLocalNormal+8;
        FHEAP[_179] = _166;
        var _180 = _clampedLocalNormal+12;
        FHEAP[_180] = 0;
        ;
        return 1;
      }
      else {
        ;
        ;
        return 0;
      }
    }
  }
  __Z13btClampNormalRK9btVector3S1_S1_fRS_.__index__ = Runtime.getFunctionIndex(__Z13btClampNormalRK9btVector3S1_S1_fRS_, "__Z13btClampNormalRK9btVector3S1_S1_fRS_");
  
  
  function __Z28btAdjustInternalEdgeContactsR15btManifoldPointPK17btCollisionObjectS3_iii(_cp, _colObj0, _colObj1, _partId0, _index0, _normalAdjustFlags) {
    var __stackBase__  = STACKTOP; STACKTOP += 240;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _v0 = __stackBase__+48;
    var _v1 = __stackBase__+64;
    var _v2 = __stackBase__+80;
    var _localContactNormalOnB = __stackBase__+96;
    var _edge = __stackBase__+112;
    var _clampedLocalNormal = __stackBase__+128;
    var _edge38 = __stackBase__+144;
    var _localContactNormalOnB73 = __stackBase__+160;
    var _clampedLocalNormal75 = __stackBase__+176;
    var _edge96 = __stackBase__+192;
    var _localContactNormalOnB131 = __stackBase__+208;
    var _clampedLocalNormal133 = __stackBase__+224;
    var _3 = _colObj0+192;
    var _4 = IHEAP[_3];
    var _5 = _4+4;
    var _6 = IHEAP[_5];
    var _7 = _6 == 1;
    ;
    _bb$_return$7362: do { 
      if (_7) {
        ;
        var _8 = _colObj0+200;
        var _9 = IHEAP[_8];
        var _10 = _9+48+8;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        if (_12) { __label__ = 44; /* _return */ break _bb$_return$7362; }
        var _13 = _partId0 << 21;
        var _14 = _13 | _index0;
        var _15 = _index0 << 15;
        var _not_i_i_i = _15 ^ -1;
        var _16 = _14 + _not_i_i_i;
        var _17 = _16 >> 10;
        var _18 = _17 ^ _16;
        var _19 = _18 * 9;
        var _20 = _19 >> 6;
        var _21 = _20 ^ _19;
        var _22 = _21 << 11;
        var _not2_i_i_i = _22 ^ -1;
        var _23 = _21 + _not2_i_i_i;
        var _24 = _23 >> 16;
        var _25 = _24 ^ _23;
        var _26 = _11+52;
        var _27 = _26;
        var _28 = IHEAP[_27];
        var _29 = _28 + -1;
        var _30 = _29 & _25;
        var _31 = _11+8;
        var _32 = _31;
        var _33 = IHEAP[_32];
        var _34 = unSign(_33, 32) > unSign(_30, 32);
        if (!(_34)) { __label__ = 44; /* _return */ break _bb$_return$7362; }
        var _35 = _11+16;
        var _36 = _35;
        var _37 = IHEAP[_36];
        var _38 = _37+4*_30;
        var _39 = _11+76;
        var _40 = _39;
        var _41 = _11+36;
        var _42 = _41;
        __lastLabel__ = 265; ;
        _bb3_i_i$7366: while(1) { // _bb3_i_i
          var _index_0_in_i_i = __lastLabel__ == 265 ? _38 : (_44);
          var _index_0_i_i = IHEAP[_index_0_in_i_i];
          var _45 = _index_0_i_i == -1;
          if (_45) { __label__ = 44; /* _return */ break _bb$_return$7362; }
          var _46 = IHEAP[_40];
          var _47 = _46+4*_index_0_i_i;
          var _48 = IHEAP[_47];
          var _49 = _14 == _48;
          if (_49) { __label__ = 1451; /* __ZN9btHashMapI9btHashInt14btTriangleInfoE4findERKS0__exit */ break _bb3_i_i$7366; }
          var _43 = IHEAP[_42];
          var _44 = _43+4*_index_0_i_i;
          __lastLabel__ = 628; __label__ = 324; /* _bb3_i_i */ continue _bb3_i_i$7366;
        }
        var _50 = _11+56;
        var _51 = _50;
        var _52 = IHEAP[_51];
        var _53 = _52+16*_index_0_i_i;
        var _54 = _53 == 0;
        if (_54) { __label__ = 44; /* _return */ break _bb$_return$7362; }
        var _55 = _normalAdjustFlags & 1;
        var _56 = _55 == 0;
        var _iftmp_296_0 = _56 ? 1 : -1;
        var _57 = _4;
        var _58 = _4;
        var _59 = IHEAP[_58];
        var _60 = _59+96;
        var _61 = IHEAP[_60];
        var _62 = _61;
        FUNCTION_TABLE[_62](_57, 0, _v0);
        var _63 = IHEAP[_58];
        var _64 = _63+96;
        var _65 = IHEAP[_64];
        var _66 = _65;
        FUNCTION_TABLE[_66](_57, 1, _v1);
        var _67 = IHEAP[_58];
        var _68 = _67+96;
        var _69 = IHEAP[_68];
        var _70 = _69;
        FUNCTION_TABLE[_70](_57, 2, _v2);
        var _71 = _4+84+8;
        var _72 = _71;
        var _73 = FHEAP[_72];
        var _74 = _4+60;
        var _75 = _74;
        var _76 = FHEAP[_75];
        var _77 = _73 - _76;
        var _78 = _4+84+4;
        var _79 = _78;
        var _80 = FHEAP[_79];
        var _81 = _4+48+8;
        var _82 = _81;
        var _83 = FHEAP[_82];
        var _84 = _80 - _83;
        var _85 = _4+84;
        var _86 = _85;
        var _87 = FHEAP[_86];
        var _88 = _4+48+4;
        var _89 = _88;
        var _90 = FHEAP[_89];
        var _91 = _87 - _90;
        var _92 = _4+72+4;
        var _93 = _92;
        var _94 = FHEAP[_93];
        var _95 = _94 - _76;
        var _96 = _4+72;
        var _97 = _96;
        var _98 = FHEAP[_97];
        var _99 = _98 - _83;
        var _100 = _4+60+8;
        var _101 = _100;
        var _102 = FHEAP[_101];
        var _103 = _102 - _90;
        var _104 = _103 * _84;
        var _105 = _99 * _91;
        var _106 = _104 - _105;
        var _107 = _95 * _91;
        var _108 = _103 * _77;
        var _109 = _107 - _108;
        var _110 = _99 * _77;
        var _111 = _95 * _84;
        var _112 = _110 - _111;
        var _113 = _112 * _112;
        var _114 = _109 * _109;
        var _115 = _113 + _114;
        var _116 = _106 * _106;
        var _117 = _115 + _116;
        var _118 = _sqrtf(_117);
        var _119 = 1 / _118;
        var _120 = _112 * _119;
        var _121 = _109 * _119;
        var _122 = _106 * _119;
        var _123 = _v1+8;
        var _124 = FHEAP[_123];
        var _125 = _v0+8;
        var _126 = FHEAP[_125];
        var _127 = _124 - _126;
        var _128 = _v1+4;
        var _129 = FHEAP[_128];
        var _130 = _v0+4;
        var _131 = FHEAP[_130];
        var _132 = _129 - _131;
        var _133 = _v1;
        var _134 = FHEAP[_133];
        var _135 = _v0;
        var _136 = FHEAP[_135];
        var _137 = _134 - _136;
        var _138 = _137 * _137;
        var _139 = _132 * _132;
        var _140 = _138 + _139;
        var _141 = _127 * _127;
        var _142 = _140 + _141;
        var _143 = _142 < 1.1920928955078125e-7;
        ;
        if (_143) {
          ;
          var __phi_trans_insert = _cp+16;
          var __pre = FHEAP[__phi_trans_insert];
          var __phi_trans_insert322 = _cp+16+4;
          var __pre323 = FHEAP[__phi_trans_insert322];
          var __phi_trans_insert324 = _cp+16+8;
          var __pre325 = FHEAP[__phi_trans_insert324];
          __lastLabel__ = 1467; ;
        }
        else {
          ;
          var _144 = _cp+16+8;
          var _145 = FHEAP[_144];
          var _146 = _145 - _126;
          var _147 = _cp+16+4;
          var _148 = FHEAP[_147];
          var _149 = _148 - _131;
          var _150 = _cp+16;
          var _151 = FHEAP[_150];
          var _152 = _151 - _136;
          var _153 = _152 * _137;
          var _154 = _149 * _132;
          var _155 = _153 + _154;
          var _156 = _146 * _127;
          var _157 = _155 + _156;
          var _158 = _157 / _142;
          var _159 = _158 < 0;
          ;
          _bb5_i177$_bb3_i174$7375: do { 
            if (_159) {
              __lastLabel__ = 4436; ;
            }
            else {
              __lastLabel__ = 4436; ;
              var _160 = _158 > 1;
              if (_160) { __lastLabel__ = 1469; ; } else { __lastLabel__ = 1469; __label__ = 1471; /* _bb5_i177 */ break _bb5_i177$_bb3_i174$7375; }
              __lastLabel__ = 1470; ;
            }
          } while(0);
          var _delta_0_i176 = __lastLabel__ == 1470 ? 1 : (__lastLabel__ == 1469 ? _158 : (0));
          var _161 = _127 * _delta_0_i176;
          var _162 = _132 * _delta_0_i176;
          var _163 = _137 * _delta_0_i176;
          var _164 = _126 + _161;
          var _165 = _131 + _162;
          var _166 = _136 + _163;
          var __pre344 = _cp+16;
          var __pre345 = _cp+16+4;
          var __pre347 = _cp+16+8;
          __lastLabel__ = 1471; ;
        }
        var __pre_phi348 = __lastLabel__ == 1467 ? __phi_trans_insert324 : (__pre347);
        var __pre_phi346 = __lastLabel__ == 1467 ? __phi_trans_insert322 : (__pre345);
        var __pre_phi = __lastLabel__ == 1467 ? __phi_trans_insert : (__pre344);
        var _167 = __lastLabel__ == 1467 ? __pre325 : (_145);
        var _168 = __lastLabel__ == 1467 ? __pre323 : (_148);
        var _169 = __lastLabel__ == 1467 ? __pre : (_151);
        var _nearest_0_0_2 = __lastLabel__ == 1467 ? _136 : (_166);
        var _nearest_0_1_2 = __lastLabel__ == 1467 ? _131 : (_165);
        var _nearest_0_2_2 = __lastLabel__ == 1467 ? _126 : (_164);
        var _170 = _colObj0+4+32+8;
        var _171 = _colObj0+4+16+8;
        var _172 = _colObj0+4+8;
        var _173 = _colObj0+4+32+4;
        var _174 = _colObj0+4+16+4;
        var _175 = _colObj0+4+4;
        var _176 = _colObj0+4+32;
        var _177 = _colObj0+4+16;
        var _178 = _colObj0+4;
        var _179 = FHEAP[_178];
        var _180 = FHEAP[_177];
        var _181 = FHEAP[_176];
        var _182 = FHEAP[_175];
        var _183 = FHEAP[_174];
        var _184 = FHEAP[_173];
        var _185 = FHEAP[_172];
        var _186 = FHEAP[_171];
        var _187 = FHEAP[_170];
        var _188 = _cp+64;
        var _189 = FHEAP[_188];
        var _190 = _185 * _189;
        var _191 = _cp+64+4;
        var _192 = FHEAP[_191];
        var _193 = _186 * _192;
        var _194 = _190 + _193;
        var _195 = _cp+64+8;
        var _196 = FHEAP[_195];
        var _197 = _187 * _196;
        var _198 = _194 + _197;
        var _199 = _182 * _189;
        var _200 = _183 * _192;
        var _201 = _199 + _200;
        var _202 = _184 * _196;
        var _203 = _201 + _202;
        var _204 = _179 * _189;
        var _205 = _180 * _192;
        var _206 = _204 + _205;
        var _207 = _181 * _196;
        var _208 = _206 + _207;
        var _209 = _localContactNormalOnB;
        var _210 = _localContactNormalOnB+4;
        var _211 = _localContactNormalOnB+8;
        var _212 = _localContactNormalOnB+12;
        FHEAP[_212] = 0;
        var _213 = _208 * _208;
        var _214 = _203 * _203;
        var _215 = _213 + _214;
        var _216 = _198 * _198;
        var _217 = _215 + _216;
        var _218 = _sqrtf(_217);
        var _219 = 1 / _218;
        var _220 = _208 * _219;
        FHEAP[_209] = _220;
        var _221 = _203 * _219;
        FHEAP[_210] = _221;
        var _222 = _198 * _219;
        FHEAP[_211] = _222;
        var _223 = _52+16*_index_0_i_i+4;
        var _224 = FHEAP[_223];
        var _225 = _224 < 6.2831854820251465;
        ;
        _bb6$_bb32$7380: do { 
          if (_225) {
            __lastLabel__ = 4086; ;
            var _226 = _167 - _nearest_0_2_2;
            var _227 = _168 - _nearest_0_1_2;
            var _228 = _169 - _nearest_0_0_2;
            var _229 = _228 * _228;
            var _230 = _227 * _227;
            var _231 = _229 + _230;
            var _232 = _226 * _226;
            var _233 = _231 + _232;
            var _234 = _sqrtf(_233);
            var _235 = _11+96;
            var _236 = _235;
            var _237 = FHEAP[_236];
            var _238 = _237 > _234;
            if (_238) { __lastLabel__ = 83; ; } else { __lastLabel__ = 83; __label__ = 91; /* _bb32 */ break _bb6$_bb32$7380; }
            var _239 = _126 - _124;
            var _240 = _131 - _129;
            var _241 = _136 - _134;
            var _242 = _edge;
            FHEAP[_242] = _241;
            var _243 = _edge+4;
            FHEAP[_243] = _240;
            var _244 = _edge+8;
            FHEAP[_244] = _239;
            var _245 = _edge+12;
            FHEAP[_245] = 0;
            var _246 = _224 == 0;
            if (_246) { __lastLabel__ = 2; __label__ = 91; /* _bb32 */ break _bb6$_bb32$7380; } else { __lastLabel__ = 2; ; }
            var _247 = _52+16*_index_0_i_i;
            var _248 = IHEAP[_247];
            var _249 = _248 & 1;
            var _toBool10 = _249 == 0;
            var _iftmp_297_0 = _toBool10 ? -1 : 1;
            var _250 = _122 * _iftmp_297_0;
            var _251 = _121 * _iftmp_297_0;
            var _252 = _120 * _iftmp_297_0;
            var _253 = _241 * _241;
            var _254 = _240 * _240;
            var _255 = _253 + _254;
            var _256 = _239 * _239;
            var _257 = _255 + _256;
            var _258 = _sqrtf(_257);
            var _259 = _224 * 0.5;
            var _260 = _sinf(_259);
            var _261 = _260 / _258;
            var _262 = _cosf(_259);
            var _263 = _239 * _261;
            var _264 = _240 * _261;
            var _265 = _241 * _261;
            var _266 = 0 - _265;
            var _267 = _120 * _266;
            var _268 = _264 * _121;
            var _269 = _267 - _268;
            var _270 = _263 * _122;
            var _271 = _269 - _270;
            var _272 = _262 * _122;
            var _273 = _265 * _121;
            var _274 = _272 + _273;
            var _275 = _264 * _120;
            var _276 = _274 - _275;
            var _277 = _262 * _121;
            var _278 = _263 * _120;
            var _279 = _277 + _278;
            var _280 = _265 * _122;
            var _281 = _279 - _280;
            var _282 = _262 * _120;
            var _283 = _264 * _122;
            var _284 = _282 + _283;
            var _285 = _263 * _121;
            var _286 = _284 - _285;
            var _287 = 0 - _263;
            var _288 = 0 - _264;
            var _289 = _271 * _287;
            var _290 = _276 * _262;
            var _291 = _289 + _290;
            var _292 = _286 * _288;
            var _293 = _291 + _292;
            var _294 = _281 * _266;
            var _295 = _293 - _294;
            var _296 = _271 * _288;
            var _297 = _281 * _262;
            var _298 = _296 + _297;
            var _299 = _276 * _266;
            var _300 = _298 + _299;
            var _301 = _286 * _287;
            var _302 = _300 - _301;
            var _303 = _271 * _266;
            var _304 = _286 * _262;
            var _305 = _303 + _304;
            var _306 = _281 * _287;
            var _307 = _305 + _306;
            var _308 = _276 * _288;
            var _309 = _307 - _308;
            var _310 = _248 & 8;
            var _311 = _310 == 0;
            ;
            if (_311) {
              __lastLabel__ = 62; ;
            }
            else {
              __lastLabel__ = 62; ;
              var _312 = _309 * -1;
              var _313 = _302 * -1;
              var _314 = _295 * -1;
              __lastLabel__ = 63; ;
            }
            var _computedNormalB_0_0_0 = __lastLabel__ == 62 ? _309 : (_312);
            var _computedNormalB_0_1_0 = __lastLabel__ == 62 ? _302 : (_313);
            var _computedNormalB_0_2_0 = __lastLabel__ == 62 ? _295 : (_314);
            var _315 = _220 * _252;
            var _316 = _221 * _251;
            var _317 = _315 + _316;
            var _318 = _222 * _250;
            var _319 = _317 + _318;
            var _320 = _11+84;
            var _321 = _320;
            var _322 = FHEAP[_321];
            var _323 = _322 <= _319;
            ;
            if (!_323) {
              ;
              var _324 = _computedNormalB_0_0_0 * _iftmp_297_0;
              var _325 = _computedNormalB_0_1_0 * _iftmp_297_0;
              var _326 = _221 * _325;
              var _327 = _220 * _324;
              var _328 = _computedNormalB_0_2_0 * _iftmp_297_0;
              var _329 = _222 * _328;
              var _330 = _327 + _326;
              var _331 = _330 + _329;
              var _332 = _322 <= _331;
              if (_332) { __lastLabel__ = 154; ; } else { __lastLabel__ = 154; __label__ = 91; /* _bb32 */ break _bb6$_bb32$7380; }
            }
            var _333 = _2;
            FHEAP[_333] = _252;
            var _334 = _2+4;
            FHEAP[_334] = _251;
            var _335 = _2+8;
            FHEAP[_335] = _250;
            var _336 = _2+12;
            FHEAP[_336] = 0;
            var _337 = __Z13btClampNormalRK9btVector3S1_S1_fRS_(_edge, _2, _localContactNormalOnB, _224, _clampedLocalNormal);
            var _toBool23 = _337 == 0;
            if (_toBool23) { __lastLabel__ = 86; __label__ = 91; /* _bb32 */ break _bb6$_bb32$7380; } else { __lastLabel__ = 86; ; }
            var _338 = _normalAdjustFlags & 4;
            var _339 = _338 == 0;
            ;
            if (_339) {
              ;
              var _340 = _122 * _iftmp_296_0;
              var _341 = _121 * _iftmp_296_0;
              var _342 = _120 * _iftmp_296_0;
              var _343 = _clampedLocalNormal;
              var _344 = FHEAP[_343];
              var _345 = _344 * _342;
              var _346 = _clampedLocalNormal+4;
              var _347 = FHEAP[_346];
              var _348 = _347 * _341;
              var _349 = _345 + _348;
              var _350 = _clampedLocalNormal+8;
              var _351 = FHEAP[_350];
              var _352 = _351 * _340;
              var _353 = _349 + _352;
              var _354 = _353 > 0;
              if (_354) { __lastLabel__ = 540; ; } else { __lastLabel__ = 540; __label__ = 91; /* _bb32 */ break _bb6$_bb32$7380; }
            }
            else {
              ;
              var __phi_trans_insert326 = _clampedLocalNormal;
              var __pre327 = FHEAP[__phi_trans_insert326];
              var __phi_trans_insert328 = _clampedLocalNormal+4;
              var __pre329 = FHEAP[__phi_trans_insert328];
              var __phi_trans_insert330 = _clampedLocalNormal+8;
              var __pre331 = FHEAP[__phi_trans_insert330];
              __lastLabel__ = 1475; ;
            }
            var _355 = __lastLabel__ == 1475 ? __pre331 : (_351);
            var _356 = __lastLabel__ == 1475 ? __pre329 : (_347);
            var _357 = __lastLabel__ == 1475 ? __pre327 : (_344);
            var _358 = FHEAP[_176];
            var _359 = _358 * _357;
            var _360 = FHEAP[_173];
            var _361 = _360 * _356;
            var _362 = _359 + _361;
            var _363 = FHEAP[_170];
            var _364 = _363 * _355;
            var _365 = _362 + _364;
            var _366 = FHEAP[_177];
            var _367 = _366 * _357;
            var _368 = FHEAP[_174];
            var _369 = _368 * _356;
            var _370 = _367 + _369;
            var _371 = FHEAP[_171];
            var _372 = _371 * _355;
            var _373 = _370 + _372;
            var _374 = FHEAP[_178];
            var _375 = _374 * _357;
            var _376 = FHEAP[_175];
            var _377 = _376 * _356;
            var _378 = _375 + _377;
            var _379 = FHEAP[_172];
            var _380 = _379 * _355;
            var _381 = _378 + _380;
            FHEAP[_188] = _381;
            FHEAP[_191] = _373;
            FHEAP[_195] = _365;
            var _382 = _cp+64+12;
            FHEAP[_382] = 0;
            var _383 = _cp+80;
            var _384 = FHEAP[_383];
            var _385 = _365 * _384;
            var _386 = _373 * _384;
            var _387 = _381 * _384;
            var _388 = _cp+48+8;
            var _389 = FHEAP[_388];
            var _390 = _389 - _385;
            var _391 = _cp+48+4;
            var _392 = FHEAP[_391];
            var _393 = _392 - _386;
            var _394 = _cp+48;
            var _395 = FHEAP[_394];
            var _396 = _395 - _387;
            var _397 = _cp+32;
            FHEAP[_397] = _396;
            var _398 = _cp+32+4;
            FHEAP[_398] = _393;
            var _399 = _cp+32+8;
            FHEAP[_399] = _390;
            var _400 = _cp+32+12;
            FHEAP[_400] = 0;
            var _401 = _colObj0+4+48+8;
            var _402 = FHEAP[_401];
            var _403 = _390 - _402;
            var _404 = _colObj0+4+48+4;
            var _405 = FHEAP[_404];
            var _406 = _393 - _405;
            var _407 = _colObj0+4+48;
            var _408 = FHEAP[_407];
            var _409 = _396 - _408;
            var _410 = FHEAP[_178];
            var _411 = FHEAP[_177];
            var _412 = FHEAP[_176];
            var _413 = FHEAP[_175];
            var _414 = FHEAP[_174];
            var _415 = FHEAP[_173];
            var _416 = FHEAP[_172];
            var _417 = FHEAP[_171];
            var _418 = FHEAP[_170];
            var _419 = _416 * _409;
            var _420 = _417 * _406;
            var _421 = _419 + _420;
            var _422 = _418 * _403;
            var _423 = _421 + _422;
            var _424 = _413 * _409;
            var _425 = _414 * _406;
            var _426 = _424 + _425;
            var _427 = _415 * _403;
            var _428 = _426 + _427;
            var _429 = _410 * _409;
            var _430 = _411 * _406;
            var _431 = _429 + _430;
            var _432 = _412 * _403;
            var _433 = _431 + _432;
            FHEAP[__pre_phi] = _433;
            FHEAP[__pre_phi346] = _428;
            FHEAP[__pre_phi348] = _423;
            var _434 = _cp+16+12;
            FHEAP[_434] = 0;
            __lastLabel__ = 90; ;
          }
          else {
            __lastLabel__ = 4086; ;
          }
        } while(0);
        var _isNearEdge_0 = __lastLabel__ == 90 ? 1 : (__lastLabel__ == 83 ? 0 : (__lastLabel__ == 4086 ? 0 : (__lastLabel__ == 2 ? 1 : (__lastLabel__ == 154 ? 1 : (__lastLabel__ == 86 ? 1 : (1))))));
        var _numConcaveEdgeHits_0 = __lastLabel__ == 90 ? 0 : (__lastLabel__ == 83 ? 0 : (__lastLabel__ == 4086 ? 0 : (__lastLabel__ == 2 ? 1 : (__lastLabel__ == 154 ? 1 : (__lastLabel__ == 86 ? 0 : (0))))));
        var _435 = _v2+8;
        var _436 = FHEAP[_435];
        var _437 = FHEAP[_123];
        var _438 = _436 - _437;
        var _439 = _v2+4;
        var _440 = FHEAP[_439];
        var _441 = FHEAP[_128];
        var _442 = _440 - _441;
        var _443 = _v2;
        var _444 = FHEAP[_443];
        var _445 = FHEAP[_133];
        var _446 = _444 - _445;
        var _447 = _446 * _446;
        var _448 = _442 * _442;
        var _449 = _447 + _448;
        var _450 = _438 * _438;
        var _451 = _449 + _450;
        var _452 = _451 < 1.1920928955078125e-7;
        ;
        if (_452) {
          __lastLabel__ = 91; ;
        }
        else {
          __lastLabel__ = 91; ;
          var _453 = _167 - _437;
          var _454 = _168 - _441;
          var _455 = _169 - _445;
          var _456 = _455 * _446;
          var _457 = _454 * _442;
          var _458 = _456 + _457;
          var _459 = _453 * _438;
          var _460 = _458 + _459;
          var _461 = _460 / _451;
          var _462 = _461 < 0;
          ;
          _bb5_i170$_bb3_i167$7398: do { 
            if (_462) {
              __lastLabel__ = 4437; ;
            }
            else {
              __lastLabel__ = 4437; ;
              var _463 = _461 > 1;
              if (_463) { __lastLabel__ = 1478; ; } else { __lastLabel__ = 1478; __label__ = 1480; /* _bb5_i170 */ break _bb5_i170$_bb3_i167$7398; }
              __lastLabel__ = 1479; ;
            }
          } while(0);
          var _delta_0_i169 = __lastLabel__ == 1479 ? 1 : (__lastLabel__ == 1478 ? _461 : (0));
          var _464 = _438 * _delta_0_i169;
          var _465 = _442 * _delta_0_i169;
          var _466 = _446 * _delta_0_i169;
          var _467 = _437 + _464;
          var _468 = _441 + _465;
          var _469 = _445 + _466;
          __lastLabel__ = 1480; ;
        }
        var _nearest_0_0_1 = __lastLabel__ == 1480 ? _469 : (_445);
        var _nearest_0_1_1 = __lastLabel__ == 1480 ? _468 : (_441);
        var _nearest_0_2_1 = __lastLabel__ == 1480 ? _467 : (_437);
        var _470 = _52+16*_index_0_i_i+8;
        var _471 = FHEAP[_470];
        var _472 = _471 < 6.2831854820251465;
        ;
        _bb33$_bb90$7403: do { 
          if (_472) {
            __lastLabel__ = 4087; ;
            var _473 = _167 - _nearest_0_2_1;
            var _474 = _168 - _nearest_0_1_1;
            var _475 = _169 - _nearest_0_0_1;
            var _476 = _475 * _475;
            var _477 = _474 * _474;
            var _478 = _476 + _477;
            var _479 = _473 * _473;
            var _480 = _478 + _479;
            var _481 = _sqrtf(_480);
            var _482 = _11+96;
            var _483 = _482;
            var _484 = FHEAP[_483];
            var _485 = _484 > _481;
            if (_485) { __lastLabel__ = 422; ; } else { __lastLabel__ = 422; __label__ = 13; /* _bb90 */ break _bb33$_bb90$7403; }
            var _486 = _437 - _436;
            var _487 = _441 - _440;
            var _488 = _445 - _444;
            var _489 = _edge38;
            FHEAP[_489] = _488;
            var _490 = _edge38+4;
            FHEAP[_490] = _487;
            var _491 = _edge38+8;
            FHEAP[_491] = _486;
            var _492 = _edge38+12;
            FHEAP[_492] = 0;
            var _493 = _471 == 0;
            ;
            if (_493) {
              ;
              var _494 = _numConcaveEdgeHits_0 + 1;
              __lastLabel__ = 971; ;
            }
            else {
              ;
              var _495 = _52+16*_index_0_i_i;
              var _496 = IHEAP[_495];
              var __lobit163 = _496 & 2;
              var _toBool59 = __lobit163 == 0;
              var _iftmp_301_0 = _toBool59 ? -1 : 1;
              var _497 = _122 * _iftmp_301_0;
              var _498 = _121 * _iftmp_301_0;
              var _499 = _120 * _iftmp_301_0;
              var _500 = _488 * _488;
              var _501 = _487 * _487;
              var _502 = _500 + _501;
              var _503 = _486 * _486;
              var _504 = _502 + _503;
              var _505 = _sqrtf(_504);
              var _506 = _471 * 0.5;
              var _507 = _sinf(_506);
              var _508 = _507 / _505;
              var _509 = _cosf(_506);
              var _510 = _486 * _508;
              var _511 = _487 * _508;
              var _512 = _488 * _508;
              var _513 = 0 - _512;
              var _514 = _120 * _513;
              var _515 = _511 * _121;
              var _516 = _514 - _515;
              var _517 = _510 * _122;
              var _518 = _516 - _517;
              var _519 = _509 * _122;
              var _520 = _512 * _121;
              var _521 = _519 + _520;
              var _522 = _511 * _120;
              var _523 = _521 - _522;
              var _524 = _509 * _121;
              var _525 = _510 * _120;
              var _526 = _524 + _525;
              var _527 = _512 * _122;
              var _528 = _526 - _527;
              var _529 = _509 * _120;
              var _530 = _511 * _122;
              var _531 = _529 + _530;
              var _532 = _510 * _121;
              var _533 = _531 - _532;
              var _534 = 0 - _510;
              var _535 = 0 - _511;
              var _536 = _518 * _534;
              var _537 = _523 * _509;
              var _538 = _536 + _537;
              var _539 = _533 * _535;
              var _540 = _538 + _539;
              var _541 = _528 * _513;
              var _542 = _540 - _541;
              var _543 = _518 * _535;
              var _544 = _528 * _509;
              var _545 = _543 + _544;
              var _546 = _523 * _513;
              var _547 = _545 + _546;
              var _548 = _533 * _534;
              var _549 = _547 - _548;
              var _550 = _518 * _513;
              var _551 = _533 * _509;
              var _552 = _550 + _551;
              var _553 = _528 * _534;
              var _554 = _552 + _553;
              var _555 = _523 * _535;
              var _556 = _554 - _555;
              var _557 = _496 & 16;
              var _558 = _557 == 0;
              ;
              if (_558) {
                __lastLabel__ = 1015; ;
              }
              else {
                __lastLabel__ = 1015; ;
                var _559 = _556 * -1;
                var _560 = _549 * -1;
                var _561 = _542 * -1;
                __lastLabel__ = 1028; ;
              }
              var _computedNormalB50_0_0_0 = __lastLabel__ == 1028 ? _559 : (_556);
              var _computedNormalB50_0_1_0 = __lastLabel__ == 1028 ? _560 : (_549);
              var _computedNormalB50_0_2_0 = __lastLabel__ == 1028 ? _561 : (_542);
              var _562 = FHEAP[_209];
              var _563 = _562 * _499;
              var _564 = FHEAP[_210];
              var _565 = _564 * _498;
              var _566 = _563 + _565;
              var _567 = FHEAP[_211];
              var _568 = _567 * _497;
              var _569 = _566 + _568;
              var _570 = _11+84;
              var _571 = _570;
              var _572 = FHEAP[_571];
              var _573 = _572 <= _569;
              ;
              _bb67$_bb65$7412: do { 
                if (!_573) {
                  ;
                  var _574 = _computedNormalB50_0_0_0 * _iftmp_301_0;
                  var _575 = _computedNormalB50_0_1_0 * _iftmp_301_0;
                  var _576 = _564 * _575;
                  var _577 = _562 * _574;
                  var _578 = _computedNormalB50_0_2_0 * _iftmp_301_0;
                  var _579 = _567 * _578;
                  var _580 = _577 + _576;
                  var _581 = _580 + _579;
                  var _582 = _572 <= _581;
                  if (_582) { __label__ = 1032; /* _bb67 */ break _bb67$_bb65$7412; }
                  var _619 = _numConcaveEdgeHits_0 + 1;
                  __lastLabel__ = 1034; __label__ = 13; /* _bb90 */ break _bb33$_bb90$7403;
                }
              } while(0);
              var _583 = FHEAP[_178];
              var _584 = FHEAP[_177];
              var _585 = FHEAP[_176];
              var _586 = FHEAP[_175];
              var _587 = FHEAP[_174];
              var _588 = FHEAP[_173];
              var _589 = FHEAP[_172];
              var _590 = FHEAP[_171];
              var _591 = FHEAP[_170];
              var _592 = FHEAP[_188];
              var _593 = _589 * _592;
              var _594 = FHEAP[_191];
              var _595 = _590 * _594;
              var _596 = _593 + _595;
              var _597 = FHEAP[_195];
              var _598 = _591 * _597;
              var _599 = _596 + _598;
              var _600 = _586 * _592;
              var _601 = _587 * _594;
              var _602 = _600 + _601;
              var _603 = _588 * _597;
              var _604 = _602 + _603;
              var _605 = _583 * _592;
              var _606 = _584 * _594;
              var _607 = _605 + _606;
              var _608 = _585 * _597;
              var _609 = _607 + _608;
              var _610 = _localContactNormalOnB73;
              FHEAP[_610] = _609;
              var _611 = _localContactNormalOnB73+4;
              FHEAP[_611] = _604;
              var _612 = _localContactNormalOnB73+8;
              FHEAP[_612] = _599;
              var _613 = _localContactNormalOnB73+12;
              FHEAP[_613] = 0;
              var _614 = _1;
              FHEAP[_614] = _499;
              var _615 = _1+4;
              FHEAP[_615] = _498;
              var _616 = _1+8;
              FHEAP[_616] = _497;
              var _617 = _1+12;
              FHEAP[_617] = 0;
              var _618 = __Z13btClampNormalRK9btVector3S1_S1_fRS_(_edge38, _1, _localContactNormalOnB73, _471, _clampedLocalNormal75);
              var _toBool78 = _618 == 0;
              if (_toBool78) { __lastLabel__ = 1032; __label__ = 13; /* _bb90 */ break _bb33$_bb90$7403; } else { __lastLabel__ = 1032; ; }
              var _620 = _normalAdjustFlags & 4;
              var _621 = _620 == 0;
              ;
              if (_621) {
                ;
                var _622 = _122 * _iftmp_296_0;
                var _623 = _121 * _iftmp_296_0;
                var _624 = _120 * _iftmp_296_0;
                var _625 = _clampedLocalNormal75;
                var _626 = FHEAP[_625];
                var _627 = _626 * _624;
                var _628 = _clampedLocalNormal75+4;
                var _629 = FHEAP[_628];
                var _630 = _629 * _623;
                var _631 = _627 + _630;
                var _632 = _clampedLocalNormal75+8;
                var _633 = FHEAP[_632];
                var _634 = _633 * _622;
                var _635 = _631 + _634;
                var _636 = _635 > 0;
                if (_636) { __lastLabel__ = 16; ; } else { __lastLabel__ = 16; __label__ = 13; /* _bb90 */ break _bb33$_bb90$7403; }
              }
              else {
                ;
                var __phi_trans_insert332 = _clampedLocalNormal75;
                var __pre333 = FHEAP[__phi_trans_insert332];
                var __phi_trans_insert334 = _clampedLocalNormal75+4;
                var __pre335 = FHEAP[__phi_trans_insert334];
                var __phi_trans_insert336 = _clampedLocalNormal75+8;
                var __pre337 = FHEAP[__phi_trans_insert336];
                __lastLabel__ = 1485; ;
              }
              var _637 = __lastLabel__ == 1485 ? __pre337 : (_633);
              var _638 = __lastLabel__ == 1485 ? __pre335 : (_629);
              var _639 = __lastLabel__ == 1485 ? __pre333 : (_626);
              var _640 = FHEAP[_176];
              var _641 = _640 * _639;
              var _642 = FHEAP[_173];
              var _643 = _642 * _638;
              var _644 = _641 + _643;
              var _645 = FHEAP[_170];
              var _646 = _645 * _637;
              var _647 = _644 + _646;
              var _648 = FHEAP[_177];
              var _649 = _648 * _639;
              var _650 = FHEAP[_174];
              var _651 = _650 * _638;
              var _652 = _649 + _651;
              var _653 = FHEAP[_171];
              var _654 = _653 * _637;
              var _655 = _652 + _654;
              var _656 = FHEAP[_178];
              var _657 = _656 * _639;
              var _658 = FHEAP[_175];
              var _659 = _658 * _638;
              var _660 = _657 + _659;
              var _661 = FHEAP[_172];
              var _662 = _661 * _637;
              var _663 = _660 + _662;
              FHEAP[_188] = _663;
              FHEAP[_191] = _655;
              FHEAP[_195] = _647;
              var _664 = _cp+64+12;
              FHEAP[_664] = 0;
              var _665 = _cp+80;
              var _666 = FHEAP[_665];
              var _667 = _647 * _666;
              var _668 = _655 * _666;
              var _669 = _663 * _666;
              var _670 = _cp+48+8;
              var _671 = FHEAP[_670];
              var _672 = _671 - _667;
              var _673 = _cp+48+4;
              var _674 = FHEAP[_673];
              var _675 = _674 - _668;
              var _676 = _cp+48;
              var _677 = FHEAP[_676];
              var _678 = _677 - _669;
              var _679 = _cp+32;
              FHEAP[_679] = _678;
              var _680 = _cp+32+4;
              FHEAP[_680] = _675;
              var _681 = _cp+32+8;
              FHEAP[_681] = _672;
              var _682 = _cp+32+12;
              FHEAP[_682] = 0;
              var _683 = _colObj0+4+48+8;
              var _684 = FHEAP[_683];
              var _685 = _672 - _684;
              var _686 = _colObj0+4+48+4;
              var _687 = FHEAP[_686];
              var _688 = _675 - _687;
              var _689 = _colObj0+4+48;
              var _690 = FHEAP[_689];
              var _691 = _678 - _690;
              var _692 = FHEAP[_178];
              var _693 = FHEAP[_177];
              var _694 = FHEAP[_176];
              var _695 = FHEAP[_175];
              var _696 = FHEAP[_174];
              var _697 = FHEAP[_173];
              var _698 = FHEAP[_172];
              var _699 = FHEAP[_171];
              var _700 = FHEAP[_170];
              var _701 = _698 * _691;
              var _702 = _699 * _688;
              var _703 = _701 + _702;
              var _704 = _700 * _685;
              var _705 = _703 + _704;
              var _706 = _695 * _691;
              var _707 = _696 * _688;
              var _708 = _706 + _707;
              var _709 = _697 * _685;
              var _710 = _708 + _709;
              var _711 = _692 * _691;
              var _712 = _693 * _688;
              var _713 = _711 + _712;
              var _714 = _694 * _685;
              var _715 = _713 + _714;
              FHEAP[__pre_phi] = _715;
              FHEAP[__pre_phi346] = _710;
              FHEAP[__pre_phi348] = _705;
              var _716 = _cp+16+12;
              FHEAP[_716] = 0;
              __lastLabel__ = 1349; ;
            }
          }
          else {
            __lastLabel__ = 4087; ;
          }
        } while(0);
        var _isNearEdge_1 = __lastLabel__ == 971 ? 1 : (__lastLabel__ == 1034 ? 1 : (__lastLabel__ == 1349 ? 1 : (__lastLabel__ == 4087 ? _isNearEdge_0 : (__lastLabel__ == 422 ? _isNearEdge_0 : (__lastLabel__ == 1032 ? 1 : (1))))));
        var _numConcaveEdgeHits_1 = __lastLabel__ == 971 ? _494 : (__lastLabel__ == 1034 ? _619 : (__lastLabel__ == 1349 ? _numConcaveEdgeHits_0 : (__lastLabel__ == 4087 ? _numConcaveEdgeHits_0 : (__lastLabel__ == 422 ? _numConcaveEdgeHits_0 : (__lastLabel__ == 1032 ? _numConcaveEdgeHits_0 : (_numConcaveEdgeHits_0))))));
        var _717 = FHEAP[_125];
        var _718 = FHEAP[_435];
        var _719 = _717 - _718;
        var _720 = FHEAP[_130];
        var _721 = FHEAP[_439];
        var _722 = _720 - _721;
        var _723 = FHEAP[_135];
        var _724 = FHEAP[_443];
        var _725 = _723 - _724;
        var _726 = _725 * _725;
        var _727 = _722 * _722;
        var _728 = _726 + _727;
        var _729 = _719 * _719;
        var _730 = _728 + _729;
        var _731 = _730 < 1.1920928955078125e-7;
        ;
        if (_731) {
          __lastLabel__ = 13; ;
        }
        else {
          __lastLabel__ = 13; ;
          var _732 = _167 - _718;
          var _733 = _168 - _721;
          var _734 = _169 - _724;
          var _735 = _734 * _725;
          var _736 = _733 * _722;
          var _737 = _735 + _736;
          var _738 = _732 * _719;
          var _739 = _737 + _738;
          var _740 = _739 / _730;
          var _741 = _740 < 0;
          ;
          _bb5_i$_bb3_i$7424: do { 
            if (_741) {
              __lastLabel__ = 159; ;
            }
            else {
              __lastLabel__ = 159; ;
              var _742 = _740 > 1;
              if (_742) { __lastLabel__ = 133; ; } else { __lastLabel__ = 133; __label__ = 300; /* _bb5_i */ break _bb5_i$_bb3_i$7424; }
              __lastLabel__ = 135; ;
            }
          } while(0);
          var _delta_0_i = __lastLabel__ == 135 ? 1 : (__lastLabel__ == 133 ? _740 : (0));
          var _743 = _719 * _delta_0_i;
          var _744 = _722 * _delta_0_i;
          var _745 = _725 * _delta_0_i;
          var _746 = _718 + _743;
          var _747 = _721 + _744;
          var _748 = _724 + _745;
          __lastLabel__ = 300; ;
        }
        var _nearest_0_0_0 = __lastLabel__ == 300 ? _748 : (_724);
        var _nearest_0_1_0 = __lastLabel__ == 300 ? _747 : (_721);
        var _nearest_0_2_0 = __lastLabel__ == 300 ? _746 : (_718);
        var _749 = _52+16*_index_0_i_i+12;
        var _750 = FHEAP[_749];
        var _751 = _750 < 6.2831854820251465;
        ;
        _bb91$_bb148$7429: do { 
          if (_751) {
            __lastLabel__ = 4088; ;
            var _752 = _167 - _nearest_0_2_0;
            var _753 = _168 - _nearest_0_1_0;
            var _754 = _169 - _nearest_0_0_0;
            var _755 = _754 * _754;
            var _756 = _753 * _753;
            var _757 = _755 + _756;
            var _758 = _752 * _752;
            var _759 = _757 + _758;
            var _760 = _sqrtf(_759);
            var _761 = _11+96;
            var _762 = _761;
            var _763 = FHEAP[_762];
            var _764 = _763 > _760;
            if (_764) { __lastLabel__ = 23; ; } else { __lastLabel__ = 23; __label__ = 1490; /* _bb148 */ break _bb91$_bb148$7429; }
            var _765 = _718 - _717;
            var _766 = _721 - _720;
            var _767 = _724 - _723;
            var _768 = _edge96;
            FHEAP[_768] = _767;
            var _769 = _edge96+4;
            FHEAP[_769] = _766;
            var _770 = _edge96+8;
            FHEAP[_770] = _765;
            var _771 = _edge96+12;
            FHEAP[_771] = 0;
            var _772 = _750 == 0;
            ;
            if (_772) {
              ;
              var _773 = _numConcaveEdgeHits_1 + 1;
              __lastLabel__ = 26; ;
            }
            else {
              ;
              var _774 = _52+16*_index_0_i_i;
              var _775 = IHEAP[_774];
              var __lobit = _775 & 4;
              var _toBool117 = __lobit == 0;
              var _iftmp_305_0 = _toBool117 ? -1 : 1;
              var _776 = _122 * _iftmp_305_0;
              var _777 = _121 * _iftmp_305_0;
              var _778 = _120 * _iftmp_305_0;
              var _779 = _767 * _767;
              var _780 = _766 * _766;
              var _781 = _779 + _780;
              var _782 = _765 * _765;
              var _783 = _781 + _782;
              var _784 = _sqrtf(_783);
              var _785 = _750 * 0.5;
              var _786 = _sinf(_785);
              var _787 = _786 / _784;
              var _788 = _cosf(_785);
              var _789 = _765 * _787;
              var _790 = _766 * _787;
              var _791 = _767 * _787;
              var _792 = 0 - _791;
              var _793 = _120 * _792;
              var _794 = _790 * _121;
              var _795 = _793 - _794;
              var _796 = _789 * _122;
              var _797 = _795 - _796;
              var _798 = _788 * _122;
              var _799 = _791 * _121;
              var _800 = _798 + _799;
              var _801 = _790 * _120;
              var _802 = _800 - _801;
              var _803 = _788 * _121;
              var _804 = _789 * _120;
              var _805 = _803 + _804;
              var _806 = _791 * _122;
              var _807 = _805 - _806;
              var _808 = _788 * _120;
              var _809 = _790 * _122;
              var _810 = _808 + _809;
              var _811 = _789 * _121;
              var _812 = _810 - _811;
              var _813 = 0 - _789;
              var _814 = 0 - _790;
              var _815 = _797 * _813;
              var _816 = _802 * _788;
              var _817 = _815 + _816;
              var _818 = _812 * _814;
              var _819 = _817 + _818;
              var _820 = _807 * _792;
              var _821 = _819 - _820;
              var _822 = _797 * _814;
              var _823 = _807 * _788;
              var _824 = _822 + _823;
              var _825 = _802 * _792;
              var _826 = _824 + _825;
              var _827 = _812 * _813;
              var _828 = _826 - _827;
              var _829 = _797 * _792;
              var _830 = _812 * _788;
              var _831 = _829 + _830;
              var _832 = _807 * _813;
              var _833 = _831 + _832;
              var _834 = _802 * _814;
              var _835 = _833 - _834;
              var _836 = _775 & 32;
              var _837 = _836 == 0;
              ;
              if (_837) {
                __lastLabel__ = 25; ;
              }
              else {
                __lastLabel__ = 25; ;
                var _838 = _835 * -1;
                var _839 = _828 * -1;
                var _840 = _821 * -1;
                __lastLabel__ = 1492; ;
              }
              var _computedNormalB108_0_0_0 = __lastLabel__ == 1492 ? _838 : (_835);
              var _computedNormalB108_0_1_0 = __lastLabel__ == 1492 ? _839 : (_828);
              var _computedNormalB108_0_2_0 = __lastLabel__ == 1492 ? _840 : (_821);
              var _841 = FHEAP[_209];
              var _842 = _841 * _778;
              var _843 = FHEAP[_210];
              var _844 = _843 * _777;
              var _845 = _842 + _844;
              var _846 = FHEAP[_211];
              var _847 = _846 * _776;
              var _848 = _845 + _847;
              var _849 = _11+84;
              var _850 = _849;
              var _851 = FHEAP[_850];
              var _852 = _851 <= _848;
              ;
              _bb125$_bb123$7438: do { 
                if (!_852) {
                  ;
                  var _853 = _computedNormalB108_0_0_0 * _iftmp_305_0;
                  var _854 = _computedNormalB108_0_1_0 * _iftmp_305_0;
                  var _855 = _843 * _854;
                  var _856 = _841 * _853;
                  var _857 = _computedNormalB108_0_2_0 * _iftmp_305_0;
                  var _858 = _846 * _857;
                  var _859 = _856 + _855;
                  var _860 = _859 + _858;
                  var _861 = _851 <= _860;
                  if (_861) { __label__ = 1494; /* _bb125 */ break _bb125$_bb123$7438; }
                  var _898 = _numConcaveEdgeHits_1 + 1;
                  __lastLabel__ = 1495; __label__ = 1490; /* _bb148 */ break _bb91$_bb148$7429;
                }
              } while(0);
              var _862 = FHEAP[_178];
              var _863 = FHEAP[_177];
              var _864 = FHEAP[_176];
              var _865 = FHEAP[_175];
              var _866 = FHEAP[_174];
              var _867 = FHEAP[_173];
              var _868 = FHEAP[_172];
              var _869 = FHEAP[_171];
              var _870 = FHEAP[_170];
              var _871 = FHEAP[_188];
              var _872 = _868 * _871;
              var _873 = FHEAP[_191];
              var _874 = _869 * _873;
              var _875 = _872 + _874;
              var _876 = FHEAP[_195];
              var _877 = _870 * _876;
              var _878 = _875 + _877;
              var _879 = _865 * _871;
              var _880 = _866 * _873;
              var _881 = _879 + _880;
              var _882 = _867 * _876;
              var _883 = _881 + _882;
              var _884 = _862 * _871;
              var _885 = _863 * _873;
              var _886 = _884 + _885;
              var _887 = _864 * _876;
              var _888 = _886 + _887;
              var _889 = _localContactNormalOnB131;
              FHEAP[_889] = _888;
              var _890 = _localContactNormalOnB131+4;
              FHEAP[_890] = _883;
              var _891 = _localContactNormalOnB131+8;
              FHEAP[_891] = _878;
              var _892 = _localContactNormalOnB131+12;
              FHEAP[_892] = 0;
              var _893 = _0;
              FHEAP[_893] = _778;
              var _894 = _0+4;
              FHEAP[_894] = _777;
              var _895 = _0+8;
              FHEAP[_895] = _776;
              var _896 = _0+12;
              FHEAP[_896] = 0;
              var _897 = __Z13btClampNormalRK9btVector3S1_S1_fRS_(_edge96, _0, _localContactNormalOnB131, _750, _clampedLocalNormal133);
              var _toBool136 = _897 == 0;
              if (_toBool136) { __lastLabel__ = 1494; __label__ = 1490; /* _bb148 */ break _bb91$_bb148$7429; } else { __lastLabel__ = 1494; ; }
              var _899 = _normalAdjustFlags & 4;
              var _900 = _899 == 0;
              ;
              if (_900) {
                ;
                var _901 = _122 * _iftmp_296_0;
                var _902 = _121 * _iftmp_296_0;
                var _903 = _120 * _iftmp_296_0;
                var _904 = _clampedLocalNormal133;
                var _905 = FHEAP[_904];
                var _906 = _905 * _903;
                var _907 = _clampedLocalNormal133+4;
                var _908 = FHEAP[_907];
                var _909 = _908 * _902;
                var _910 = _906 + _909;
                var _911 = _clampedLocalNormal133+8;
                var _912 = FHEAP[_911];
                var _913 = _912 * _901;
                var _914 = _910 + _913;
                var _915 = _914 > 0;
                if (_915) { __lastLabel__ = 1499; ; } else { __lastLabel__ = 1499; __label__ = 1490; /* _bb148 */ break _bb91$_bb148$7429; }
              }
              else {
                ;
                var __phi_trans_insert338 = _clampedLocalNormal133;
                var __pre339 = FHEAP[__phi_trans_insert338];
                var __phi_trans_insert340 = _clampedLocalNormal133+4;
                var __pre341 = FHEAP[__phi_trans_insert340];
                var __phi_trans_insert342 = _clampedLocalNormal133+8;
                var __pre343 = FHEAP[__phi_trans_insert342];
                __lastLabel__ = 1497; ;
              }
              var _916 = __lastLabel__ == 1497 ? __pre343 : (_912);
              var _917 = __lastLabel__ == 1497 ? __pre341 : (_908);
              var _918 = __lastLabel__ == 1497 ? __pre339 : (_905);
              var _919 = FHEAP[_176];
              var _920 = _919 * _918;
              var _921 = FHEAP[_173];
              var _922 = _921 * _917;
              var _923 = _920 + _922;
              var _924 = FHEAP[_170];
              var _925 = _924 * _916;
              var _926 = _923 + _925;
              var _927 = FHEAP[_177];
              var _928 = _927 * _918;
              var _929 = FHEAP[_174];
              var _930 = _929 * _917;
              var _931 = _928 + _930;
              var _932 = FHEAP[_171];
              var _933 = _932 * _916;
              var _934 = _931 + _933;
              var _935 = FHEAP[_178];
              var _936 = _935 * _918;
              var _937 = FHEAP[_175];
              var _938 = _937 * _917;
              var _939 = _936 + _938;
              var _940 = FHEAP[_172];
              var _941 = _940 * _916;
              var _942 = _939 + _941;
              FHEAP[_188] = _942;
              FHEAP[_191] = _934;
              FHEAP[_195] = _926;
              var _943 = _cp+64+12;
              FHEAP[_943] = 0;
              var _944 = _cp+80;
              var _945 = FHEAP[_944];
              var _946 = _926 * _945;
              var _947 = _934 * _945;
              var _948 = _942 * _945;
              var _949 = _cp+48+8;
              var _950 = FHEAP[_949];
              var _951 = _950 - _946;
              var _952 = _cp+48+4;
              var _953 = FHEAP[_952];
              var _954 = _953 - _947;
              var _955 = _cp+48;
              var _956 = FHEAP[_955];
              var _957 = _956 - _948;
              var _958 = _cp+32;
              FHEAP[_958] = _957;
              var _959 = _cp+32+4;
              FHEAP[_959] = _954;
              var _960 = _cp+32+8;
              FHEAP[_960] = _951;
              var _961 = _cp+32+12;
              FHEAP[_961] = 0;
              var _962 = _colObj0+4+48+8;
              var _963 = FHEAP[_962];
              var _964 = _951 - _963;
              var _965 = _colObj0+4+48+4;
              var _966 = FHEAP[_965];
              var _967 = _954 - _966;
              var _968 = _colObj0+4+48;
              var _969 = FHEAP[_968];
              var _970 = _957 - _969;
              var _971 = FHEAP[_178];
              var _972 = FHEAP[_177];
              var _973 = FHEAP[_176];
              var _974 = FHEAP[_175];
              var _975 = FHEAP[_174];
              var _976 = FHEAP[_173];
              var _977 = FHEAP[_172];
              var _978 = FHEAP[_171];
              var _979 = FHEAP[_170];
              var _980 = _977 * _970;
              var _981 = _978 * _967;
              var _982 = _980 + _981;
              var _983 = _979 * _964;
              var _984 = _982 + _983;
              var _985 = _974 * _970;
              var _986 = _975 * _967;
              var _987 = _985 + _986;
              var _988 = _976 * _964;
              var _989 = _987 + _988;
              var _990 = _971 * _970;
              var _991 = _972 * _967;
              var _992 = _990 + _991;
              var _993 = _973 * _964;
              var _994 = _992 + _993;
              FHEAP[__pre_phi] = _994;
              FHEAP[__pre_phi346] = _989;
              FHEAP[__pre_phi348] = _984;
              var _995 = _cp+16+12;
              FHEAP[_995] = 0;
              __lastLabel__ = 1500; ;
            }
          }
          else {
            __lastLabel__ = 4088; ;
          }
        } while(0);
        var _isNearEdge_2 = __lastLabel__ == 26 ? 1 : (__lastLabel__ == 1495 ? 1 : (__lastLabel__ == 1500 ? 1 : (__lastLabel__ == 1494 ? 1 : (__lastLabel__ == 23 ? _isNearEdge_1 : (__lastLabel__ == 4088 ? _isNearEdge_1 : (1))))));
        var _numConcaveEdgeHits_2 = __lastLabel__ == 26 ? _773 : (__lastLabel__ == 1495 ? _898 : (__lastLabel__ == 1500 ? _numConcaveEdgeHits_1 : (__lastLabel__ == 1494 ? _numConcaveEdgeHits_1 : (__lastLabel__ == 23 ? _numConcaveEdgeHits_1 : (__lastLabel__ == 4088 ? _numConcaveEdgeHits_1 : (_numConcaveEdgeHits_1))))));
        var _toBool149_not = _isNearEdge_2 != 0;
        var _996 = _numConcaveEdgeHits_2 > 0;
        var _or_cond = _toBool149_not & _996;
        if (!(_or_cond)) { __label__ = 44; /* _return */ break _bb$_return$7362; }
        var _997 = _normalAdjustFlags & 2;
        var _998 = _997 == 0;
        ;
        if (_998) {
          ;
          var _1036 = _122 * _iftmp_296_0;
          var _1037 = _121 * _iftmp_296_0;
          var _1038 = _120 * _iftmp_296_0;
          var _1039 = FHEAP[_176];
          var _1040 = _1039 * _1038;
          var _1041 = FHEAP[_173];
          var _1042 = _1041 * _1037;
          var _1043 = _1040 + _1042;
          var _1044 = FHEAP[_170];
          var _1045 = _1044 * _1036;
          var _1046 = _1043 + _1045;
          var _1047 = FHEAP[_177];
          var _1048 = _1047 * _1038;
          var _1049 = FHEAP[_174];
          var _1050 = _1049 * _1037;
          var _1051 = _1048 + _1050;
          var _1052 = FHEAP[_171];
          var _1053 = _1052 * _1036;
          var _1054 = _1051 + _1053;
          var _1055 = FHEAP[_178];
          var _1056 = _1055 * _1038;
          var _1057 = FHEAP[_175];
          var _1058 = _1057 * _1037;
          var _1059 = _1056 + _1058;
          var _1060 = FHEAP[_172];
          var _1061 = _1060 * _1036;
          var _1062 = _1059 + _1061;
          FHEAP[_188] = _1062;
          FHEAP[_191] = _1054;
          FHEAP[_195] = _1046;
          var _1063 = _cp+64+12;
          FHEAP[_1063] = 0;
          __lastLabel__ = 1504; ;
        }
        else {
          ;
          var _999 = FHEAP[_209];
          var _1000 = _120 * _999;
          var _1001 = FHEAP[_210];
          var _1002 = _121 * _1001;
          var _1003 = _1000 + _1002;
          var _1004 = FHEAP[_211];
          var _1005 = _122 * _1004;
          var _1006 = _1003 + _1005;
          var _1007 = _1006 < 0;
          ;
          if (_1007) {
            __lastLabel__ = 4438; ;
            var _1008 = _120 * -1;
            var _1009 = _121 * -1;
            var _1010 = _122 * -1;
            __lastLabel__ = 1049; ;
          }
          else {
            __lastLabel__ = 4438; ;
          }
          var _tri_normal_0_0_0 = __lastLabel__ == 1049 ? _1008 : (_120);
          var _tri_normal_0_1_0 = __lastLabel__ == 1049 ? _1009 : (_121);
          var _tri_normal_0_2_0 = __lastLabel__ == 1049 ? _1010 : (_122);
          var _1011 = FHEAP[_176];
          var _1012 = _1011 * _tri_normal_0_0_0;
          var _1013 = FHEAP[_173];
          var _1014 = _1013 * _tri_normal_0_1_0;
          var _1015 = _1012 + _1014;
          var _1016 = FHEAP[_170];
          var _1017 = _1016 * _tri_normal_0_2_0;
          var _1018 = _1015 + _1017;
          var _1019 = FHEAP[_177];
          var _1020 = _1019 * _tri_normal_0_0_0;
          var _1021 = FHEAP[_174];
          var _1022 = _1021 * _tri_normal_0_1_0;
          var _1023 = _1020 + _1022;
          var _1024 = FHEAP[_171];
          var _1025 = _1024 * _tri_normal_0_2_0;
          var _1026 = _1023 + _1025;
          var _1027 = FHEAP[_178];
          var _1028 = _1027 * _tri_normal_0_0_0;
          var _1029 = FHEAP[_175];
          var _1030 = _1029 * _tri_normal_0_1_0;
          var _1031 = _1028 + _1030;
          var _1032 = FHEAP[_172];
          var _1033 = _1032 * _tri_normal_0_2_0;
          var _1034 = _1031 + _1033;
          FHEAP[_188] = _1034;
          FHEAP[_191] = _1026;
          FHEAP[_195] = _1018;
          var _1035 = _cp+64+12;
          FHEAP[_1035] = 0;
          __lastLabel__ = 1051; ;
        }
        var _1064 = __lastLabel__ == 1504 ? _1062 : (_1034);
        var _1065 = __lastLabel__ == 1504 ? _1054 : (_1026);
        var _1066 = __lastLabel__ == 1504 ? _1046 : (_1018);
        var _1067 = _cp+80;
        var _1068 = FHEAP[_1067];
        var _1069 = _1066 * _1068;
        var _1070 = _1065 * _1068;
        var _1071 = _1064 * _1068;
        var _1072 = _cp+48+8;
        var _1073 = FHEAP[_1072];
        var _1074 = _1073 - _1069;
        var _1075 = _cp+48+4;
        var _1076 = FHEAP[_1075];
        var _1077 = _1076 - _1070;
        var _1078 = _cp+48;
        var _1079 = FHEAP[_1078];
        var _1080 = _1079 - _1071;
        var _1081 = _cp+32;
        FHEAP[_1081] = _1080;
        var _1082 = _cp+32+4;
        FHEAP[_1082] = _1077;
        var _1083 = _cp+32+8;
        FHEAP[_1083] = _1074;
        var _1084 = _cp+32+12;
        FHEAP[_1084] = 0;
        var _1085 = _colObj0+4+48+8;
        var _1086 = FHEAP[_1085];
        var _1087 = _1074 - _1086;
        var _1088 = _colObj0+4+48+4;
        var _1089 = FHEAP[_1088];
        var _1090 = _1077 - _1089;
        var _1091 = _colObj0+4+48;
        var _1092 = FHEAP[_1091];
        var _1093 = _1080 - _1092;
        var _1094 = FHEAP[_178];
        var _1095 = FHEAP[_177];
        var _1096 = FHEAP[_176];
        var _1097 = FHEAP[_175];
        var _1098 = FHEAP[_174];
        var _1099 = FHEAP[_173];
        var _1100 = FHEAP[_172];
        var _1101 = FHEAP[_171];
        var _1102 = FHEAP[_170];
        var _1103 = _1100 * _1093;
        var _1104 = _1101 * _1090;
        var _1105 = _1103 + _1104;
        var _1106 = _1102 * _1087;
        var _1107 = _1105 + _1106;
        var _1108 = _1097 * _1093;
        var _1109 = _1098 * _1090;
        var _1110 = _1108 + _1109;
        var _1111 = _1099 * _1087;
        var _1112 = _1110 + _1111;
        var _1113 = _1094 * _1093;
        var _1114 = _1095 * _1090;
        var _1115 = _1113 + _1114;
        var _1116 = _1096 * _1087;
        var _1117 = _1115 + _1116;
        FHEAP[__pre_phi] = _1117;
        FHEAP[__pre_phi346] = _1112;
        FHEAP[__pre_phi348] = _1107;
        var _1118 = _cp+16+12;
        FHEAP[_1118] = 0;
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __Z28btAdjustInternalEdgeContactsR15btManifoldPointPK17btCollisionObjectS3_iii.__index__ = Runtime.getFunctionIndex(__Z28btAdjustInternalEdgeContactsR15btManifoldPointPK17btCollisionObjectS3_iii, "__Z28btAdjustInternalEdgeContactsR15btManifoldPointPK17btCollisionObjectS3_iii");
  
  
  function __ZN20btAlignedObjectArrayI14btTriangleInfoE9push_backERKS0_(_this, __Val) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _this+8;
    var _3 = IHEAP[_2];
    var _4 = _3 == _1;
    ;
    _bb$_bb1$7458: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 == 0;
        var _6 = _1 << 1;
        var _iftmp_403_0_i = _5 ? 1 : _6;
        var _7 = _3 < _iftmp_403_0_i;
        if (_7) { __lastLabel__ = 60; ; } else { __lastLabel__ = 60; __label__ = 75; /* _bb1 */ break _bb$_bb1$7458; }
        var _8 = _iftmp_403_0_i == 0;
        ;
        if (_8) {
          __lastLabel__ = 131; ;
        }
        else {
          __lastLabel__ = 131; ;
          var _9 = _iftmp_403_0_i << 4;
          var _10 = __Z22btAlignedAllocInternalji(_9, 16);
          var _phitmp_i = _10;
          var __pre = IHEAP[_0];
          __lastLabel__ = 215; ;
        }
        var _11 = __lastLabel__ == 215 ? __pre : (_1);
        var _12 = __lastLabel__ == 215 ? _phitmp_i : (0);
        var _13 = _11 > 0;
        ;
        _bb_nph_i_i$__ZNK20btAlignedObjectArrayI14btTriangleInfoE4copyEiiPS0__exit_i$7464: do { 
          if (_13) {
            ;
            var _14 = _this+12;
            __lastLabel__ = 217; ;
            _bb_i4_i$7466: while(1) { // _bb_i4_i
              var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
              var _scevgep_i_i = _12+16*_indvar_i_i;
              var _15 = _scevgep_i_i == 0;
              ;
              if (!_15) {
                ;
                var _scevgep14_i_i = _12+16*_indvar_i_i+4;
                var _scevgep15_i_i = _12+16*_indvar_i_i+8;
                var _scevgep16_i_i = _12+16*_indvar_i_i+12;
                var _scevgep13_i_i = _12+16*_indvar_i_i;
                var _16 = IHEAP[_14];
                var _scevgep89_i_i = _16+16*_indvar_i_i;
                var _17 = IHEAP[_scevgep89_i_i];
                IHEAP[_scevgep13_i_i] = _17;
                var _scevgep10_i_i = _16+16*_indvar_i_i+4;
                var _18 = FHEAP[_scevgep10_i_i];
                FHEAP[_scevgep14_i_i] = _18;
                var _scevgep11_i_i = _16+16*_indvar_i_i+8;
                var _19 = FHEAP[_scevgep11_i_i];
                FHEAP[_scevgep15_i_i] = _19;
                var _scevgep12_i_i = _16+16*_indvar_i_i+12;
                var _20 = FHEAP[_scevgep12_i_i];
                FHEAP[_scevgep16_i_i] = _20;
                ;
              }
              var _indvar_next_i_i = _indvar_i_i + 1;
              var _exitcond = _indvar_next_i_i == _11;
              if (_exitcond) { __lastLabel__ = 324; __label__ = 1507; /* __ZNK20btAlignedObjectArrayI14btTriangleInfoE4copyEiiPS0__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayI14btTriangleInfoE4copyEiiPS0__exit_i$7464; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$7466; }
            }
          }
        } while(0);
        var _21 = _this+12;
        var _22 = IHEAP[_21];
        var _23 = _22 == 0;
        ;
        if (!_23) {
          ;
          var _24 = _this+16;
          var _25 = IHEAP[_24];
          var _toBool_i_i = _25 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _26 = _22;
            __Z21btAlignedFreeInternalPv(_26);
            ;
          }
          IHEAP[_21] = 0;
          ;
        }
        var _27 = _this+16;
        IHEAP[_27] = 1;
        IHEAP[_21] = _12;
        IHEAP[_2] = _iftmp_403_0_i;
        var __pre11 = IHEAP[_0];
        __lastLabel__ = 1510; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _28 = __lastLabel__ == 1510 ? __pre11 : (__lastLabel__ == -1 ? _1 : (_1));
    var _29 = _this+12;
    var _30 = IHEAP[_29];
    var _31 = _30+16*_28;
    var _32 = _31 == 0;
    ;
    if (_32) {
      __lastLabel__ = 75; ;
    }
    else {
      __lastLabel__ = 75; ;
      var _33 = _30+16*_28;
      var _34 = __Val;
      var _35 = IHEAP[_34];
      IHEAP[_33] = _35;
      var _36 = _30+16*_28+4;
      var _37 = __Val+4;
      var _38 = FHEAP[_37];
      FHEAP[_36] = _38;
      var _39 = _30+16*_28+8;
      var _40 = __Val+8;
      var _41 = FHEAP[_40];
      FHEAP[_39] = _41;
      var _42 = _30+16*_28+12;
      var _43 = __Val+12;
      var _44 = FHEAP[_43];
      FHEAP[_42] = _44;
      var __pre12 = IHEAP[_0];
      __lastLabel__ = 0; ;
    }
    var _45 = __lastLabel__ == 75 ? _28 : (__pre12);
    var _46 = _45 + 1;
    IHEAP[_0] = _46;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI14btTriangleInfoE9push_backERKS0_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI14btTriangleInfoE9push_backERKS0_, "__ZN20btAlignedObjectArrayI14btTriangleInfoE9push_backERKS0_");
  
  
  function __ZN20btAlignedObjectArrayI9btHashIntE9push_backERKS0_(_this, __Val) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _this+8;
    var _3 = IHEAP[_2];
    var _4 = _3 == _1;
    ;
    _bb$_bb1$7483: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 == 0;
        var _6 = _1 << 1;
        var _iftmp_388_0_i = _5 ? 1 : _6;
        var _7 = _3 < _iftmp_388_0_i;
        if (_7) { __lastLabel__ = 60; ; } else { __lastLabel__ = 60; __label__ = 75; /* _bb1 */ break _bb$_bb1$7483; }
        var _8 = _iftmp_388_0_i == 0;
        ;
        if (_8) {
          __lastLabel__ = 131; ;
        }
        else {
          __lastLabel__ = 131; ;
          var _9 = _iftmp_388_0_i << 2;
          var _10 = __Z22btAlignedAllocInternalji(_9, 16);
          var _phitmp_i = _10;
          var __pre = IHEAP[_0];
          __lastLabel__ = 215; ;
        }
        var _11 = __lastLabel__ == 215 ? __pre : (_1);
        var _12 = __lastLabel__ == 215 ? _phitmp_i : (0);
        var _13 = _11 > 0;
        ;
        _bb_nph_i_i$__ZNK20btAlignedObjectArrayI9btHashIntE4copyEiiPS0__exit_i$7489: do { 
          if (_13) {
            ;
            var _14 = _this+12;
            __lastLabel__ = 217; ;
            _bb_i4_i$7491: while(1) { // _bb_i4_i
              var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
              var _scevgep_i_i = _12+4*_indvar_i_i;
              var _15 = _scevgep_i_i == 0;
              ;
              if (!_15) {
                ;
                var _scevgep10_i_i = _12+4*_indvar_i_i;
                var _16 = IHEAP[_14];
                var _scevgep89_i_i = _16+4*_indvar_i_i;
                var _17 = IHEAP[_scevgep89_i_i];
                IHEAP[_scevgep10_i_i] = _17;
                ;
              }
              var _indvar_next_i_i = _indvar_i_i + 1;
              var _exitcond = _indvar_next_i_i == _11;
              if (_exitcond) { __lastLabel__ = 324; __label__ = 1515; /* __ZNK20btAlignedObjectArrayI9btHashIntE4copyEiiPS0__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayI9btHashIntE4copyEiiPS0__exit_i$7489; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$7491; }
            }
          }
        } while(0);
        var _18 = _this+12;
        var _19 = IHEAP[_18];
        var _20 = _19 == 0;
        ;
        if (!_20) {
          ;
          var _21 = _this+16;
          var _22 = IHEAP[_21];
          var _toBool_i_i = _22 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _23 = _19;
            __Z21btAlignedFreeInternalPv(_23);
            ;
          }
          IHEAP[_18] = 0;
          ;
        }
        var _24 = _this+16;
        IHEAP[_24] = 1;
        IHEAP[_18] = _12;
        IHEAP[_2] = _iftmp_388_0_i;
        var __pre8 = IHEAP[_0];
        __lastLabel__ = 1518; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _25 = __lastLabel__ == 1518 ? __pre8 : (__lastLabel__ == -1 ? _1 : (_1));
    var _26 = _this+12;
    var _27 = IHEAP[_26];
    var _28 = _27+4*_25;
    var _29 = _28 == 0;
    ;
    if (_29) {
      __lastLabel__ = 75; ;
    }
    else {
      __lastLabel__ = 75; ;
      var _30 = __Val;
      var _31 = IHEAP[_30];
      var _32 = _27+4*_25;
      IHEAP[_32] = _31;
      var __pre9 = IHEAP[_0];
      __lastLabel__ = 0; ;
    }
    var _33 = __lastLabel__ == 75 ? _25 : (__pre9);
    var _34 = _33 + 1;
    IHEAP[_0] = _34;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI9btHashIntE9push_backERKS0_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI9btHashIntE9push_backERKS0_, "__ZN20btAlignedObjectArrayI9btHashIntE9push_backERKS0_");
  
  
  function __ZN16btManifoldResult15addContactPointERK9btVector3S2_f(_this, _normalOnBInWorld, _pointInWorld, _depth) {
    var __stackBase__  = STACKTOP; STACKTOP += 276;
    var __label__;
    var __lastLabel__ = null;
    var _newPt = __stackBase__;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = __ZNK20btPersistentManifold27getContactBreakingThresholdEv(_1);
    var _3 = _2 < _depth;
    ;
    _bb18$_bb$7539: do { 
      if (!_3) {
        ;
        var _4 = IHEAP[_0];
        var _5 = _4+1108;
        var _6 = IHEAP[_5];
        var _7 = _this+136;
        var _8 = IHEAP[_7];
        var _9 = _8;
        var _10 = _6 != _9;
        var _11 = _normalOnBInWorld+8;
        var _12 = FHEAP[_11];
        var _13 = _12 * _depth;
        var _14 = _normalOnBInWorld+4;
        var _15 = FHEAP[_14];
        var _16 = _15 * _depth;
        var _17 = _normalOnBInWorld;
        var _18 = FHEAP[_17];
        var _19 = _18 * _depth;
        var _20 = _pointInWorld+8;
        var _21 = FHEAP[_20];
        var _22 = _21 + _13;
        var _23 = _pointInWorld+4;
        var _24 = FHEAP[_23];
        var _25 = _24 + _16;
        var _26 = _pointInWorld;
        var _27 = FHEAP[_26];
        var _28 = _27 + _19;
        ;
        if (_10) {
          ;
          var _29 = _this+72+48+8;
          var _30 = FHEAP[_29];
          var _31 = _22 - _30;
          var _32 = _this+72+48+4;
          var _33 = FHEAP[_32];
          var _34 = _25 - _33;
          var _35 = _this+72+48;
          var _36 = FHEAP[_35];
          var _37 = _28 - _36;
          var _38 = _this+72+32+8;
          var _39 = _this+72+16+8;
          var _40 = _this+72+8;
          var _41 = _this+72+32+4;
          var _42 = _this+72+16+4;
          var _43 = _this+72+4;
          var _44 = _this+72+32;
          var _45 = _this+72+16;
          var _46 = _this+72;
          var _47 = FHEAP[_46];
          var _48 = FHEAP[_45];
          var _49 = FHEAP[_44];
          var _50 = FHEAP[_43];
          var _51 = FHEAP[_42];
          var _52 = FHEAP[_41];
          var _53 = FHEAP[_40];
          var _54 = FHEAP[_39];
          var _55 = FHEAP[_38];
          var _56 = _53 * _37;
          var _57 = _54 * _34;
          var _58 = _56 + _57;
          var _59 = _55 * _31;
          var _60 = _58 + _59;
          var _61 = _50 * _37;
          var _62 = _51 * _34;
          var _63 = _61 + _62;
          var _64 = _52 * _31;
          var _65 = _63 + _64;
          var _66 = _47 * _37;
          var _67 = _48 * _34;
          var _68 = _66 + _67;
          var _69 = _49 * _31;
          var _70 = _68 + _69;
          var _71 = _this+8+48+8;
          var _72 = FHEAP[_71];
          var _73 = _21 - _72;
          var _74 = _this+8+48+4;
          var _75 = FHEAP[_74];
          var _76 = _24 - _75;
          var _77 = _this+8+48;
          var _78 = FHEAP[_77];
          var _79 = _27 - _78;
          var _80 = _this+8+32+8;
          var _81 = _this+8+16+8;
          var _82 = _this+8+8;
          var _83 = _this+8+32+4;
          var _84 = _this+8+16+4;
          var _85 = _this+8+4;
          var _86 = _this+8+32;
          var _87 = _this+8+16;
          var _88 = _this+8;
          var _89 = FHEAP[_88];
          var _90 = FHEAP[_87];
          var _91 = FHEAP[_86];
          var _92 = FHEAP[_85];
          var _93 = FHEAP[_84];
          var _94 = FHEAP[_83];
          var _95 = FHEAP[_82];
          var _96 = FHEAP[_81];
          var _97 = FHEAP[_80];
          var _98 = _95 * _79;
          var _99 = _96 * _76;
          var _100 = _98 + _99;
          var _101 = _97 * _73;
          var _102 = _100 + _101;
          var _103 = _92 * _79;
          var _104 = _93 * _76;
          var _105 = _103 + _104;
          var _106 = _94 * _73;
          var _107 = _105 + _106;
          var _108 = _89 * _79;
          var _109 = _90 * _76;
          var _110 = _108 + _109;
          var _111 = _91 * _73;
          var _112 = _110 + _111;
          __lastLabel__ = 0; ;
        }
        else {
          ;
          var _113 = _this+8+48+8;
          var _114 = FHEAP[_113];
          var _115 = _22 - _114;
          var _116 = _this+8+48+4;
          var _117 = FHEAP[_116];
          var _118 = _25 - _117;
          var _119 = _this+8+48;
          var _120 = FHEAP[_119];
          var _121 = _28 - _120;
          var _122 = _this+8+32+8;
          var _123 = _this+8+16+8;
          var _124 = _this+8+8;
          var _125 = _this+8+32+4;
          var _126 = _this+8+16+4;
          var _127 = _this+8+4;
          var _128 = _this+8+32;
          var _129 = _this+8+16;
          var _130 = _this+8;
          var _131 = FHEAP[_130];
          var _132 = FHEAP[_129];
          var _133 = FHEAP[_128];
          var _134 = FHEAP[_127];
          var _135 = FHEAP[_126];
          var _136 = FHEAP[_125];
          var _137 = FHEAP[_124];
          var _138 = FHEAP[_123];
          var _139 = FHEAP[_122];
          var _140 = _137 * _121;
          var _141 = _138 * _118;
          var _142 = _140 + _141;
          var _143 = _139 * _115;
          var _144 = _142 + _143;
          var _145 = _134 * _121;
          var _146 = _135 * _118;
          var _147 = _145 + _146;
          var _148 = _136 * _115;
          var _149 = _147 + _148;
          var _150 = _131 * _121;
          var _151 = _132 * _118;
          var _152 = _150 + _151;
          var _153 = _133 * _115;
          var _154 = _152 + _153;
          var _155 = _this+72+48+8;
          var _156 = FHEAP[_155];
          var _157 = _21 - _156;
          var _158 = _this+72+48+4;
          var _159 = FHEAP[_158];
          var _160 = _24 - _159;
          var _161 = _this+72+48;
          var _162 = FHEAP[_161];
          var _163 = _27 - _162;
          var _164 = _this+72+32+8;
          var _165 = _this+72+16+8;
          var _166 = _this+72+8;
          var _167 = _this+72+32+4;
          var _168 = _this+72+16+4;
          var _169 = _this+72+4;
          var _170 = _this+72+32;
          var _171 = _this+72+16;
          var _172 = _this+72;
          var _173 = FHEAP[_172];
          var _174 = FHEAP[_171];
          var _175 = FHEAP[_170];
          var _176 = FHEAP[_169];
          var _177 = FHEAP[_168];
          var _178 = FHEAP[_167];
          var _179 = FHEAP[_166];
          var _180 = FHEAP[_165];
          var _181 = FHEAP[_164];
          var _182 = _179 * _163;
          var _183 = _180 * _160;
          var _184 = _182 + _183;
          var _185 = _181 * _157;
          var _186 = _184 + _185;
          var _187 = _176 * _163;
          var _188 = _177 * _160;
          var _189 = _187 + _188;
          var _190 = _178 * _157;
          var _191 = _189 + _190;
          var _192 = _173 * _163;
          var _193 = _174 * _160;
          var _194 = _192 + _193;
          var _195 = _175 * _157;
          var _196 = _194 + _195;
          __lastLabel__ = 61; ;
        }
        var _localA_0_0_0 = __lastLabel__ == 0 ? _70 : (_154);
        var _localA_0_1_0 = __lastLabel__ == 0 ? _65 : (_149);
        var _localA_0_2_0 = __lastLabel__ == 0 ? _60 : (_144);
        var _localB_0_0_0 = __lastLabel__ == 0 ? _112 : (_196);
        var _localB_0_1_0 = __lastLabel__ == 0 ? _107 : (_191);
        var _localB_0_2_0 = __lastLabel__ == 0 ? _102 : (_186);
        var _197 = _newPt;
        FHEAP[_197] = _localA_0_0_0;
        var _198 = _newPt+4;
        FHEAP[_198] = _localA_0_1_0;
        var _199 = _newPt+8;
        FHEAP[_199] = _localA_0_2_0;
        var _200 = _newPt+12;
        FHEAP[_200] = 0;
        var _201 = _newPt+16;
        FHEAP[_201] = _localB_0_0_0;
        var _202 = _newPt+16+4;
        FHEAP[_202] = _localB_0_1_0;
        var _203 = _newPt+16+8;
        FHEAP[_203] = _localB_0_2_0;
        var _204 = _newPt+16+12;
        FHEAP[_204] = 0;
        var _205 = _newPt+64;
        FHEAP[_205] = _18;
        var _206 = _newPt+64+4;
        FHEAP[_206] = _15;
        var _207 = _newPt+64+8;
        FHEAP[_207] = _12;
        var _208 = _newPt+64+12;
        var _209 = _normalOnBInWorld+12;
        var _210 = FHEAP[_209];
        FHEAP[_208] = _210;
        var _211 = _newPt+80;
        FHEAP[_211] = _depth;
        var _212 = _newPt+84;
        FHEAP[_212] = 0;
        var _213 = _newPt+88;
        FHEAP[_213] = 0;
        var _214 = _newPt+108;
        IHEAP[_214] = 0;
        var _215 = _newPt+112;
        FHEAP[_215] = 0;
        var _216 = _newPt+116;
        IHEAP[_216] = 0;
        var _217 = _newPt+120;
        FHEAP[_217] = 0;
        var _218 = _newPt+124;
        FHEAP[_218] = 0;
        var _219 = _newPt+128;
        FHEAP[_219] = 0;
        var _220 = _newPt+132;
        FHEAP[_220] = 0;
        var _221 = _newPt+136;
        FHEAP[_221] = 0;
        var _222 = _newPt+140;
        FHEAP[_222] = 0;
        var _223 = _newPt+144;
        IHEAP[_223] = 0;
        var _224 = _newPt+180+28;
        FHEAP[_224] = 0;
        var _225 = _newPt+180+32+28;
        FHEAP[_225] = 0;
        var _226 = _newPt+180+64+28;
        FHEAP[_226] = 0;
        var _227 = _newPt+48;
        FHEAP[_227] = _28;
        var _228 = _newPt+48+4;
        FHEAP[_228] = _25;
        var _229 = _newPt+48+8;
        FHEAP[_229] = _22;
        var _230 = _newPt+48+12;
        FHEAP[_230] = 0;
        var _231 = _newPt+32;
        FHEAP[_231] = _27;
        var _232 = _newPt+32+4;
        FHEAP[_232] = _24;
        var _233 = _newPt+32+8;
        FHEAP[_233] = _21;
        var _234 = _newPt+32+12;
        var _235 = _pointInWorld+12;
        var _236 = FHEAP[_235];
        FHEAP[_234] = _236;
        var _237 = __ZNK20btPersistentManifold13getCacheEntryERK15btManifoldPoint(_4, _newPt);
        var _238 = _this+140;
        var _239 = IHEAP[_238];
        var _240 = IHEAP[_7];
        var _241 = _240+224;
        var _242 = FHEAP[_241];
        var _243 = _239+224;
        var _244 = FHEAP[_243];
        var _245 = _242 * _244;
        var _246 = _245 < -10;
        var _friction_0_i = _246 ? -10 : _245;
        var _247 = _friction_0_i > 10;
        var _friction_1_i = _247 ? 10 : _friction_0_i;
        FHEAP[_212] = _friction_1_i;
        var _248 = _240+228;
        var _249 = FHEAP[_248];
        var _250 = _239+228;
        var _251 = FHEAP[_250];
        var _252 = _249 * _251;
        FHEAP[_213] = _252;
        ;
        if (_10) {
          ;
          var _253 = _this+148;
          var _254 = IHEAP[_253];
          var _255 = _newPt+92;
          IHEAP[_255] = _254;
          var _256 = _this+144;
          var _257 = IHEAP[_256];
          var _258 = _newPt+96;
          IHEAP[_258] = _257;
          var _259 = _this+156;
          var _260 = IHEAP[_259];
          var _261 = _newPt+100;
          IHEAP[_261] = _260;
          var _262 = _this+152;
          var _263 = IHEAP[_262];
          var _264 = _newPt+104;
          IHEAP[_264] = _263;
          ;
        }
        else {
          ;
          var _265 = _this+144;
          var _266 = IHEAP[_265];
          var _267 = _newPt+92;
          IHEAP[_267] = _266;
          var _268 = _this+148;
          var _269 = IHEAP[_268];
          var _270 = _newPt+96;
          IHEAP[_270] = _269;
          var _271 = _this+152;
          var _272 = IHEAP[_271];
          var _273 = _newPt+100;
          IHEAP[_273] = _272;
          var _274 = _this+156;
          var _275 = IHEAP[_274];
          var _276 = _newPt+104;
          IHEAP[_276] = _275;
          ;
        }
        var _277 = _237 > -1;
        var _278 = IHEAP[_0];
        ;
        if (_277) {
          ;
          var _279 = _278+4+_237*276+144;
          var _280 = IHEAP[_279];
          var _281 = _278+4+_237*276+180+28;
          var _282 = FHEAP[_281];
          var _283 = _278+4+_237*276+180+32+28;
          var _284 = FHEAP[_283];
          var _285 = _278+4+_237*276+180+64+28;
          var _286 = FHEAP[_285];
          var _287 = _278+4+_237*276+108;
          var _288 = IHEAP[_287];
          var _289 = _278+4+_237*276;
          var _290 = _289;
          var _291 = _newPt;
          _llvm_memcpy_p0i8_p0i8_i32(_290, _291, 276, 4, false);
          IHEAP[_287] = _288;
          var _292 = _278+4+_237*276+112;
          FHEAP[_292] = _282;
          var _293 = _278+4+_237*276+120;
          FHEAP[_293] = _284;
          var _294 = _278+4+_237*276+124;
          FHEAP[_294] = _286;
          FHEAP[_281] = _282;
          FHEAP[_283] = _284;
          FHEAP[_285] = _286;
          IHEAP[_279] = _280;
          __lastLabel__ = 3; ;
        }
        else {
          ;
          var _295 = __ZN20btPersistentManifold16addManifoldPointERK15btManifoldPoint(_278, _newPt);
          __lastLabel__ = 108; ;
        }
        var _insertIndex_0 = __lastLabel__ == 3 ? _237 : (_295);
        var _296 = IHEAP[_gContactAddedCallback];
        var _297 = _296 == 0;
        if (_297) { __label__ = 86; /* _bb18 */ break _bb18$_bb$7539; }
        var _298 = IHEAP[_7];
        var _299 = _298+204;
        var _300 = IHEAP[_299];
        var _301 = _300 & 8;
        var _302 = _301 == 0;
        ;
        if (_302) {
          ;
          var _303 = IHEAP[_238];
          var _304 = _303+204;
          var _305 = IHEAP[_304];
          var _306 = _305 & 8;
          var _307 = _306 == 0;
          if (_307) { __label__ = 86; /* _bb18 */ break _bb18$_bb$7539; }
        }
        ;
        if (_10) {
          __lastLabel__ = 110; ;
          var _iftmp_157_054_pre = IHEAP[_238];
          __lastLabel__ = 6; ;
        }
        else {
          __lastLabel__ = 110; ;
        }
        var _iftmp_157_054 = __lastLabel__ == 6 ? _iftmp_157_054_pre : (_298);
        var _iftmp_158_0_in = __lastLabel__ == 6 ? _7 : (_238);
        var _iftmp_158_0 = IHEAP[_iftmp_158_0_in];
        var _308 = _newPt+104;
        var _309 = IHEAP[_308];
        var _310 = _newPt+96;
        var _311 = IHEAP[_310];
        var _312 = _newPt+100;
        var _313 = IHEAP[_312];
        var _314 = _newPt+92;
        var _315 = IHEAP[_314];
        var _316 = IHEAP[_0];
        var _317 = _316+4+_insertIndex_0*276;
        var _318 = FUNCTION_TABLE[_296](_317, _iftmp_157_054, _315, _313, _iftmp_158_0, _311, _309);
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN16btManifoldResult15addContactPointERK9btVector3S2_f.__index__ = Runtime.getFunctionIndex(__ZN16btManifoldResult15addContactPointERK9btVector3S2_f, "__ZN16btManifoldResult15addContactPointERK9btVector3S2_f");
  
  
  function __ZN25btSimulationIslandManager10findUnionsEP12btDispatcherP16btCollisionWorld(_this, _unnamed_arg, _colWorld) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _colWorld+80;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+36;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1);
    var _8 = _7;
    var _9 = IHEAP[_8];
    var _10 = _9+36;
    var _11 = IHEAP[_10];
    var _12 = _11;
    var _13 = FUNCTION_TABLE[_12](_7);
    var _14 = IHEAP[_8];
    var _15 = _14+20;
    var _16 = IHEAP[_15];
    var _17 = _16;
    var _18 = FUNCTION_TABLE[_17](_7);
    var _19 = _13 > 0;
    ;
    _bb_nph$_return$7564: do { 
      if (_19) {
        ;
        var _20 = _this+4+12;
        __lastLabel__ = 130; ;
        _bb$7566: while(1) { // _bb
          var _i_023 = __lastLabel__ == 130 ? 0 : (_81);
          var _scevgep27 = _18+16*_i_023;
          var _scevgep28 = _18+16*_i_023+4;
          var _21 = IHEAP[_scevgep27];
          var _22 = _21;
          var _23 = IHEAP[_22];
          var _24 = IHEAP[_scevgep28];
          var _25 = _24;
          var _26 = IHEAP[_25];
          var _27 = _23 == 0;
          ;
          _bb16$_bb1$7568: do { 
            if (!_27) {
              ;
              var _28 = _23+204;
              var _29 = _28;
              var _30 = IHEAP[_29];
              var _31 = _30 & 7;
              var _toBoolnot = _31 != 0;
              var _32 = _26 == 0;
              var _or_cond = _32 | _toBoolnot;
              if (_or_cond) { __label__ = 154; /* _bb16 */ break _bb16$_bb1$7568; }
              var _33 = _26+204;
              var _34 = _33;
              var _35 = IHEAP[_34];
              var _36 = _35 & 7;
              var _37 = _36 == 0;
              if (!(_37)) { __label__ = 154; /* _bb16 */ break _bb16$_bb1$7568; }
              var _38 = _26+208;
              var _39 = _38;
              var _40 = IHEAP[_39];
              var _41 = _23+208;
              var _42 = _41;
              var _43 = IHEAP[_42];
              var _44 = IHEAP[_20];
              var _45 = _44+8*_43;
              var _46 = IHEAP[_45];
              var _47 = _46 == _43;
              if (_47) { __lastLabel__ = 153; __label__ = 1527; /* __ZN11btUnionFind4findEi_exit_i */  } else { __lastLabel__ = 153; __label__ = 263; /* _bb_i_i */  }
              __ZN11btUnionFind4findEi_exit_i$_bb_i_i$7572: while(1) { // __ZN11btUnionFind4findEi_exit_i,_bb_i_i
                if (__label__ == 1527) {
                  var _58 = __lastLabel__ == 153 ? _44 : (_54);
                  var _x_addr_0_lcssa_i_i = __lastLabel__ == 153 ? _43 : (_53);
                  var _59 = _58+8*_40;
                  var _60 = IHEAP[_59];
                  var _61 = _60 == _40;
                  if (_61) { __lastLabel__ = 1527; __label__ = 1528; /* __ZN11btUnionFind4findEi_exit5_i */ break __ZN11btUnionFind4findEi_exit_i$_bb_i_i$7572; } else { __lastLabel__ = 1527; __label__ = 1529; /* _bb_i3_i */ break __ZN11btUnionFind4findEi_exit_i$_bb_i_i$7572; }
                }
                else if (__label__ == 263) {
                  var _48 = __lastLabel__ == 263 ? _56 : (_46);
                  var _49 = __lastLabel__ == 263 ? _54 : (_44);
                  var _x_addr_04_i_i = __lastLabel__ == 263 ? _53 : (_43);
                  var _50 = _49+8*_x_addr_04_i_i;
                  var _51 = _49+8*_48;
                  var _52 = IHEAP[_51];
                  IHEAP[_50] = _52;
                  var _53 = IHEAP[_51];
                  var _54 = IHEAP[_20];
                  var _55 = _54+8*_53;
                  var _56 = IHEAP[_55];
                  var _57 = _56 == _53;
                  if (_57) { __lastLabel__ = 263; __label__ = 1527; /* __ZN11btUnionFind4findEi_exit_i */ continue __ZN11btUnionFind4findEi_exit_i$_bb_i_i$7572; } else { __lastLabel__ = 263; __label__ = 263; /* _bb_i_i */ continue __ZN11btUnionFind4findEi_exit_i$_bb_i_i$7572; }
                }
              }
              __ZN11btUnionFind4findEi_exit5_i$_bb_i3_i$7576: while(1) { // __ZN11btUnionFind4findEi_exit5_i,_bb_i3_i
                if (__label__ == 1528) {
                  var _72 = __lastLabel__ == 1527 ? _58 : (_68);
                  var _x_addr_0_lcssa_i4_i = __lastLabel__ == 1527 ? _40 : (_67);
                  var _73 = _x_addr_0_lcssa_i_i == _x_addr_0_lcssa_i4_i;
                  if (_73) { __label__ = 154; /* _bb16 */ break _bb16$_bb1$7568; } else { __label__ = 131; /* _bb_i */ break __ZN11btUnionFind4findEi_exit5_i$_bb_i3_i$7576; }
                }
                else if (__label__ == 1529) {
                  var _62 = __lastLabel__ == 1529 ? _70 : (_60);
                  var _63 = __lastLabel__ == 1529 ? _68 : (_58);
                  var _x_addr_04_i2_i = __lastLabel__ == 1529 ? _67 : (_40);
                  var _64 = _63+8*_x_addr_04_i2_i;
                  var _65 = _63+8*_62;
                  var _66 = IHEAP[_65];
                  IHEAP[_64] = _66;
                  var _67 = IHEAP[_65];
                  var _68 = IHEAP[_20];
                  var _69 = _68+8*_67;
                  var _70 = IHEAP[_69];
                  var _71 = _70 == _67;
                  if (_71) { __lastLabel__ = 1529; __label__ = 1528; /* __ZN11btUnionFind4findEi_exit5_i */ continue __ZN11btUnionFind4findEi_exit5_i$_bb_i3_i$7576; } else { __lastLabel__ = 1529; __label__ = 1529; /* _bb_i3_i */ continue __ZN11btUnionFind4findEi_exit5_i$_bb_i3_i$7576; }
                }
              }
              var _74 = _72+8*_x_addr_0_lcssa_i_i;
              IHEAP[_74] = _x_addr_0_lcssa_i4_i;
              var _75 = IHEAP[_20];
              var _76 = _75+8*_x_addr_0_lcssa_i4_i+4;
              var _77 = IHEAP[_76];
              var _78 = _75+8*_x_addr_0_lcssa_i_i+4;
              var _79 = IHEAP[_78];
              var _80 = _79 + _77;
              IHEAP[_76] = _80;
              ;
            }
          } while(0);
          var _81 = _i_023 + 1;
          var _exitcond = _81 == _13;
          if (_exitcond) { __lastLabel__ = 154; __label__ = 44; /* _return */ break _bb_nph$_return$7564; } else { __lastLabel__ = 154; __label__ = 60; /* _bb */ continue _bb$7566; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN25btSimulationIslandManager10findUnionsEP12btDispatcherP16btCollisionWorld.__index__ = Runtime.getFunctionIndex(__ZN25btSimulationIslandManager10findUnionsEP12btDispatcherP16btCollisionWorld, "__ZN25btSimulationIslandManager10findUnionsEP12btDispatcherP16btCollisionWorld");
  
  
  function __ZN25btSimulationIslandManager12buildIslandsEP12btDispatcherP16btCollisionWorld(_this, _dispatcher, _collisionWorld) {
    ;
    var __label__;
    var __lastLabel__ = null;
    __ZN15CProfileManager13Start_ProfileEPKc(__str30);
    var _0 = _this+24+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    var __not = _2 ^ true;
    var _3 = _1 < 0;
    var _or_cond = __not & _3;
    ;
    _bb4_i$_invcont$7637: do { 
      if (_or_cond) {
        ;
        var _4 = _this+24+8;
        var _5 = IHEAP[_4];
        var _6 = _5 < 0;
        ;
        if (_6) {
          ;
          var _7 = _this+24+12;
          var _8 = IHEAP[_7];
          var _9 = _8 == 0;
          ;
          if (!_9) {
            ;
            var _10 = _this+24+16;
            var _11 = IHEAP[_10];
            var _toBool_i_i_i = _11 == 0;
            ;
            if (!_toBool_i_i_i) {
              ;
              var _12 = _8;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb4_i$_invcont$7637; }
            }
            IHEAP[_7] = 0;
            ;
          }
          var _13 = _this+24+16;
          IHEAP[_13] = 1;
          IHEAP[_7] = 0;
          IHEAP[_4] = 0;
          ;
        }
        var _14 = _this+24+12;
        var _tmp_i = 0 - _1;
        __lastLabel__ = 418; ;
        _bb7_i$7648: while(1) { // _bb7_i
          var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
          var _tmp = _1 + _indvar_i;
          var _15 = IHEAP[_14];
          var _scevgep = _15+4*_tmp;
          var _16 = _scevgep == 0;
          ;
          if (!_16) {
            ;
            IHEAP[_scevgep] = 0;
            ;
          }
          var _indvar_next_i = _indvar_i + 1;
          var _exitcond = _indvar_next_i == _tmp_i;
          if (_exitcond) { __lastLabel__ = 581; __label__ = 345; /* _invcont */ break _bb4_i$_invcont$7637; } else { __lastLabel__ = 581; __label__ = 137; /* _bb7_i */ continue _bb7_i$7648; }
        }
      }
      else {
        __label__ = 345; /* _invcont */ 
      }
    } while(0);
    _invcont$_lpad$7653: do { 
      if (__label__ == 345) {
        IHEAP[_0] = 0;
        var _17 = _this+4;
        (function() { try { __THREW__ = false; return __ZN11btUnionFind11sortIslandsEv(_17) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$7653; }
        var _18 = _this+4+4;
        var _19 = IHEAP[_18];
        var _20 = _this+4+12;
        var _21 = _collisionWorld+4+12;
        __lastLabel__ = 1554; ;
        _bb63$7656: while(1) { // _bb63
          var _startIslandIndex_0 = __lastLabel__ == 1554 ? 0 : (__lastLabel__ == 94 ? _endIslandIndex_0 : (_endIslandIndex_0));
          var _62 = _startIslandIndex_0 < _19;
          if (!(_62)) { __label__ = 1029; /* _bb64 */ break _bb63$7656; }
          var _22 = IHEAP[_20];
          var _23 = _22+8*_startIslandIndex_0;
          var _24 = IHEAP[_23];
          var _tmp156 = _startIslandIndex_0 + 1;
          __lastLabel__ = 759; ;
          _bb5$7659: while(1) { // _bb5
            var _indvar154 = __lastLabel__ == 1555 ? _indvar_next155 : (0);
            var _endIslandIndex_0 = _tmp156 + _indvar154;
            var _25 = _endIslandIndex_0 < _19;
            if (!(_25)) { __label__ = 1556; /* _bb27_loopexit */ break _bb5$7659; }
            var _scevgep158159 = _22+8*_endIslandIndex_0;
            var _26 = IHEAP[_scevgep158159];
            var _27 = _26 == _24;
            var _indvar_next155 = _indvar154 + 1;
            if (_27) { __lastLabel__ = 1555; __label__ = 82; /* _bb5 */ continue _bb5$7659; } else { __lastLabel__ = 1555; __label__ = 1556; /* _bb27_loopexit */ break _bb5$7659; }
          }
          var _39 = _startIslandIndex_0 < _endIslandIndex_0;
          ;
          _bb_nph$_bb44$7663: do { 
            if (_39) {
              __lastLabel__ = 1556; ;
              var _28 = IHEAP[_21];
              var _tmp162 = _endIslandIndex_0 - _startIslandIndex_0;
              __lastLabel__ = 130; ;
              _invcont14$7665: while(1) { // _invcont14
                var _indvar160 = __lastLabel__ == 130 ? 0 : (_indvar_next161);
                var _allSleeping_2143 = __lastLabel__ == 130 ? 1 : (_allSleeping_1);
                var _tmp164 = _startIslandIndex_0 + _indvar160;
                var _scevgep165 = _22+8*_tmp164+4;
                var _29 = IHEAP[_scevgep165];
                var _30 = _28+4*_29;
                var _31 = IHEAP[_30];
                var _32 = _31+208;
                var _33 = IHEAP[_32];
                var _34 = _33 == _24;
                ;
                _bb20$_bb26$7667: do { 
                  if (_34) {
                    __lastLabel__ = 577; ;
                    var _35 = _31+216;
                    var _36 = IHEAP[_35];
                    var _37 = _36 == 1;
                    var _allSleeping_0 = _37 ? 0 : _allSleeping_2143;
                    var _38 = _36 == 4;
                    if (_38) { __lastLabel__ = 117; ; } else { __lastLabel__ = 117; __label__ = 626; /* _bb26 */ break _bb20$_bb26$7667; }
                    __lastLabel__ = 540; ;
                  }
                  else {
                    __lastLabel__ = 577; ;
                  }
                } while(0);
                var _allSleeping_1 = __lastLabel__ == 540 ? 0 : (__lastLabel__ == 117 ? _allSleeping_0 : (_allSleeping_2143));
                var _indvar_next161 = _indvar160 + 1;
                var _exitcond163 = _indvar_next161 == _tmp162;
                if (_exitcond163) { __lastLabel__ = 626; __label__ = 66; /* _bb28 */ break _invcont14$7665; } else { __lastLabel__ = 626; __label__ = 577; /* _invcont14 */ continue _invcont14$7665; }
              }
              var _toBool29 = _allSleeping_1 == 0;
              if (_toBool29) { __lastLabel__ = 66; ; } else { __lastLabel__ = 66; __label__ = 94; /* _bb44 */ break _bb_nph$_bb44$7663; }
              _bb61$7672: while(1) { // _bb61
                var _indvar166 = __lastLabel__ == 1025 ? _indvar_next167 : (0);
                var _idx46_0 = _startIslandIndex_0 + _indvar166;
                var _61 = _idx46_0 < _endIslandIndex_0;
                if (_61) { __lastLabel__ = 482; ; } else { __lastLabel__ = 482; __label__ = 1028; /* _bb63 */ continue _bb63$7656; }
                var _49 = IHEAP[_20];
                var _scevgep169 = _49+8*_idx46_0+4;
                var _50 = IHEAP[_scevgep169];
                var _51 = IHEAP[_21];
                var _52 = _51+4*_50;
                var _53 = IHEAP[_52];
                var _54 = _53+208;
                var _55 = IHEAP[_54];
                var _56 = _55 == _24;
                ;
                _bb56$_bb60$7675: do { 
                  if (_56) {
                    ;
                    var _57 = _53+216;
                    var _58 = IHEAP[_57];
                    var _59 = _58 == 2;
                    if (!(_59)) { __label__ = 1025; /* _bb60 */ break _bb56$_bb60$7675; }
                    (function() { try { __THREW__ = false; return __ZN17btCollisionObject18setActivationStateEi(_53, 3) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$7653; }
                    var _60 = _53+220;
                    FHEAP[_60] = 0;
                    ;
                  }
                } while(0);
                var _indvar_next167 = _indvar166 + 1;
                __lastLabel__ = 1025; __label__ = 482; /* _bb61 */ continue _bb61$7672;
              }
            }
            else {
              __lastLabel__ = 1556; ;
            }
          } while(0);
          _bb44$7680: while(1) { // _bb44
            var _indvar = __lastLabel__ == 8 ? _indvar_next : (__lastLabel__ == 66 ? 0 : (0));
            var _idx31_0 = _startIslandIndex_0 + _indvar;
            var _48 = _idx31_0 < _endIslandIndex_0;
            if (_48) { __lastLabel__ = 94; ; } else { __lastLabel__ = 94; __label__ = 1028; /* _bb63 */ continue _bb63$7656; }
            var _40 = IHEAP[_20];
            var _scevgep151 = _40+8*_idx31_0+4;
            var _41 = IHEAP[_scevgep151];
            var _42 = IHEAP[_21];
            var _43 = _42+4*_41;
            var _44 = IHEAP[_43];
            var _45 = _44+208;
            var _46 = IHEAP[_45];
            var _47 = _46 == _24;
            ;
            if (_47) {
              ;
              (function() { try { __THREW__ = false; return __ZN17btCollisionObject18setActivationStateEi(_44, 2) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$7653; }
            }
            var _indvar_next = _indvar + 1;
            __lastLabel__ = 8; __label__ = 94; /* _bb44 */ continue _bb44$7680;
          }
        }
        var _63 = _dispatcher;
        var _64 = IHEAP[_63];
        var _65 = _64+36;
        var _66 = IHEAP[_65];
        var _67 = _66;
        var _68 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_67](_dispatcher) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$7653; };
        var _69 = _this+64;
        var _70 = _this+24+8;
        var _71 = _this+24+12;
        var _72 = _this+24+16;
        __lastLabel__ = 1561; ;
        _bb108$7688: while(1) { // _bb108
          var _140 = __lastLabel__ == 1564 ? _139 : (0);
          var _141 = _140 < _68;
          if (!(_141)) { __label__ = 37; /* _bb112 */ break _bb108$7688; }
          var _73 = IHEAP[_63];
          var _74 = _73+40;
          var _75 = IHEAP[_74];
          var _76 = _75;
          var _77 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_76](_dispatcher, _140) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$7653; };
          var _78 = _77+1108;
          var _79 = IHEAP[_78];
          var _80 = _79;
          var _81 = _77+1112;
          var _82 = IHEAP[_81];
          var _83 = _82;
          var _84 = _79 == 0;
          ;
          _bb70$_bb69$7692: do { 
            if (_84) {
              __label__ = 1034; /* _bb70 */ 
            }
            else {
              ;
              var _85 = _79+216;
              var _86 = _85;
              var _87 = IHEAP[_86];
              var _88 = _87 == 2;
              if (_88) { __label__ = 1034; /* _bb70 */ break _bb70$_bb69$7692; } else { __label__ = 1563; /* _bb76 */ break _bb70$_bb69$7692; }
            }
          } while(0);
          _bb70$_bb76$7694: do { 
            if (__label__ == 1034) {
              var _89 = _82 == 0;
              if (_89) { __label__ = 1564; /* _bb107 */ break _bb70$_bb76$7694; }
              var _90 = _82+216;
              var _91 = _90;
              var _92 = IHEAP[_91];
              var _93 = _92 == 2;
              if (_93) { __label__ = 1564; /* _bb107 */ break _bb70$_bb76$7694; } else { __label__ = 1563; /* _bb76 */ break _bb70$_bb76$7694; }
            }
          } while(0);
          _bb107$_bb76$7697: do { 
            if (__label__ == 1563) {
              var _94 = _79+204;
              var _95 = _94;
              var _96 = IHEAP[_95];
              var __lobit_i140 = _96 & 2;
              var _toBool77not = __lobit_i140 == 0;
              ;
              _bb88$_bb81$7699: do { 
                if (!_toBool77not) {
                  ;
                  var _97 = _79+216;
                  var _98 = _97;
                  var _99 = IHEAP[_98];
                  var _100 = _99 == 2;
                  if (_100) { __label__ = 14; /* _bb88 */ break _bb88$_bb81$7699; }
                  (function() { try { __THREW__ = false; return __ZN17btCollisionObject8activateEb(_83, 0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$7653; }
                }
              } while(0);
              var _101 = _82+204;
              var _102 = _101;
              var _103 = IHEAP[_102];
              var __lobit_i = _103 & 2;
              var _toBool89not = __lobit_i == 0;
              ;
              _bb100$_bb93$7703: do { 
                if (!_toBool89not) {
                  ;
                  var _104 = _82+216;
                  var _105 = _104;
                  var _106 = IHEAP[_105];
                  var _107 = _106 == 2;
                  if (_107) { __label__ = 1567; /* _bb100 */ break _bb100$_bb93$7703; }
                  (function() { try { __THREW__ = false; return __ZN17btCollisionObject8activateEb(_80, 0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$7653; }
                }
              } while(0);
              var _108 = IHEAP[_69];
              var _toBool101 = _108 == 0;
              if (_toBool101) { __label__ = 1564; /* _bb107 */ break _bb107$_bb76$7697; }
              var _109 = IHEAP[_63];
              var _110 = _109+28;
              var _111 = IHEAP[_110];
              var _112 = _111;
              var _113 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_112](_dispatcher, _80, _83) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$7653; };
              var _toBool104 = _113 == 0;
              if (_toBool104) { __label__ = 1564; /* _bb107 */ break _bb107$_bb76$7697; }
              var _114 = IHEAP[_0];
              var _115 = IHEAP[_70];
              var _116 = _115 == _114;
              ;
              _bb_i$_bb1_i$7710: do { 
                if (_116) {
                  __lastLabel__ = 1568; ;
                  var _117 = _114 == 0;
                  var _118 = _114 << 1;
                  var _iftmp_231_0_i_i = _117 ? 1 : _118;
                  var _119 = _115 < _iftmp_231_0_i_i;
                  if (_119) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$7710; }
                  var _120 = _iftmp_231_0_i_i == 0;
                  ;
                  if (_120) {
                    __lastLabel__ = 1569; ;
                  }
                  else {
                    __lastLabel__ = 1569; ;
                    var _121 = _iftmp_231_0_i_i << 2;
                    var _122 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_121, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$7653; };
                    var _phitmp_i_i = _122;
                    var __pre_i = IHEAP[_0];
                    __lastLabel__ = 1570; ;
                  }
                  var _123 = __lastLabel__ == 1570 ? __pre_i : (_114);
                  var _124 = __lastLabel__ == 1570 ? _phitmp_i_i : (0);
                  var _125 = _123 > 0;
                  if (_125) { __lastLabel__ = 1572; __label__ = 1573; /* _bb_i4_i_i126 */  } else { __lastLabel__ = 1572; __label__ = 1574; /* __ZNK20btAlignedObjectArrayIP20btPersistentManifoldE4copyEiiPS1__exit_i_i132 */  }
                  _bb_i4_i_i126$__ZNK20btAlignedObjectArrayIP20btPersistentManifoldE4copyEiiPS1__exit_i_i132$7717: while(1) { // _bb_i4_i_i126,__ZNK20btAlignedObjectArrayIP20btPersistentManifoldE4copyEiiPS1__exit_i_i132
                    if (__label__ == 1573) {
                      var _indvar_i_i_i124 = __lastLabel__ == 1576 ? _indvar_next_i_i_i129 : (0);
                      var _scevgep_i_i_i125 = _124+4*_indvar_i_i_i124;
                      var _126 = _scevgep_i_i_i125 == 0;
                      ;
                      if (!_126) {
                        ;
                        var _127 = IHEAP[_71];
                        var _scevgep8_i_i_i127 = _127+4*_indvar_i_i_i124;
                        var _128 = IHEAP[_scevgep8_i_i_i127];
                        IHEAP[_scevgep_i_i_i125] = _128;
                        ;
                      }
                      var _indvar_next_i_i_i129 = _indvar_i_i_i124 + 1;
                      var _exitcond147 = _indvar_next_i_i_i129 == _123;
                      if (_exitcond147) { __lastLabel__ = 1576; __label__ = 1574; /* __ZNK20btAlignedObjectArrayIP20btPersistentManifoldE4copyEiiPS1__exit_i_i132 */ continue _bb_i4_i_i126$__ZNK20btAlignedObjectArrayIP20btPersistentManifoldE4copyEiiPS1__exit_i_i132$7717; } else { __lastLabel__ = 1576; __label__ = 1573; /* _bb_i4_i_i126 */ continue _bb_i4_i_i126$__ZNK20btAlignedObjectArrayIP20btPersistentManifoldE4copyEiiPS1__exit_i_i132$7717; }
                    }
                    else if (__label__ == 1574) {
                      var _129 = IHEAP[_71];
                      var _130 = _129 == 0;
                      if (_130) { __label__ = 1094; /* __ZN20btAlignedObjectArrayIP20btPersistentManifoldE10deallocateEv_exit_i_i */ break _bb_i4_i_i126$__ZNK20btAlignedObjectArrayIP20btPersistentManifoldE4copyEiiPS1__exit_i_i132$7717; } else { __label__ = 1577; /* _bb_i_i_i134 */ break _bb_i4_i_i126$__ZNK20btAlignedObjectArrayIP20btPersistentManifoldE4copyEiiPS1__exit_i_i132$7717; }
                    }
                  }
                  if (__label__ == 1577) {
                    var _131 = IHEAP[_72];
                    var _toBool_i_i_i133 = _131 == 0;
                    ;
                    if (!_toBool_i_i_i133) {
                      ;
                      var _132 = _129;
                      (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_132) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$7653; }
                    }
                    IHEAP[_71] = 0;
                    ;
                  }
                  IHEAP[_72] = 1;
                  IHEAP[_71] = _124;
                  IHEAP[_70] = _iftmp_231_0_i_i;
                  var __pre5_i = IHEAP[_0];
                  __lastLabel__ = 1094; ;
                }
                else {
                  __lastLabel__ = 1568; ;
                }
              } while(0);
              var _133 = __lastLabel__ == 1094 ? __pre5_i : (__lastLabel__ == 1568 ? _114 : (_114));
              var _134 = IHEAP[_71];
              var _135 = _134+4*_133;
              var _136 = _135 == 0;
              ;
              if (_136) {
                __lastLabel__ = 159; ;
              }
              else {
                __lastLabel__ = 159; ;
                IHEAP[_135] = _77;
                var __pre6_i = IHEAP[_0];
                __lastLabel__ = 132; ;
              }
              var _137 = __lastLabel__ == 159 ? _133 : (__pre6_i);
              var _138 = _137 + 1;
              IHEAP[_0] = _138;
              ;
            }
          } while(0);
          var _139 = _140 + 1;
          __lastLabel__ = 1564; __label__ = 1562; /* _bb108 */ continue _bb108$7688;
        }
        __ZN15CProfileManager12Stop_ProfileEv();
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select114 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3912; /* _invcont110 */  } else { __label__ = 3913; /* _lpad115 */  }
    if (__label__ == 3912) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 3913) {
      var _eh_ptr116 = _llvm_eh_exception();
      var _eh_select118 = _llvm_eh_selector(_eh_ptr116, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN25btSimulationIslandManager12buildIslandsEP12btDispatcherP16btCollisionWorld.__index__ = Runtime.getFunctionIndex(__ZN25btSimulationIslandManager12buildIslandsEP12btDispatcherP16btCollisionWorld, "__ZN25btSimulationIslandManager12buildIslandsEP12btDispatcherP16btCollisionWorld");
  
  
  function __ZN25btSimulationIslandManager22buildAndProcessIslandsEP12btDispatcherP16btCollisionWorldPNS_14IslandCallbackE(_this, _dispatcher, _collisionWorld, _callback) {
    var __stackBase__  = STACKTOP; STACKTOP += 1;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    __ZN25btSimulationIslandManager12buildIslandsEP12btDispatcherP16btCollisionWorld(_this, _dispatcher, _collisionWorld);
    var _1 = _this+4+4;
    var _2 = IHEAP[_1];
    __ZN15CProfileManager13Start_ProfileEPKc(__str131);
    var _3 = _this+64;
    var _4 = IHEAP[_3];
    var _toBoolnot = _4 == 0;
    ;
    _bb$_bb6$7741: do { 
      if (_toBoolnot) {
        ;
        var _5 = _dispatcher;
        var _6 = IHEAP[_5];
        var _7 = _6+44;
        var _8 = IHEAP[_7];
        var _9 = _8;
        var _10 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_9](_dispatcher) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb$_bb6$7741; };
        var _11 = IHEAP[_5];
        var _12 = _11+36;
        var _13 = IHEAP[_12];
        var _14 = _13;
        var _15 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_14](_dispatcher) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb$_bb6$7741; };
        var _16 = _callback;
        var _17 = IHEAP[_16];
        var _18 = _17+8;
        var _19 = IHEAP[_18];
        var _20 = _collisionWorld+4+4;
        var _21 = IHEAP[_20];
        var _22 = _collisionWorld+4+12;
        var _23 = IHEAP[_22];
        var _24 = _19;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_24](_callback, _23, _21, _10, _15, -1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1276; /* _bb51 */ break _bb$_bb6$7741; } else { __label__ = 254; /* _lpad */ break _bb$_bb6$7741; }
      }
      else {
        ;
        var _25 = _this+24+4;
        var _26 = IHEAP[_25];
        var _27 = _26 > 1;
        ;
        if (_27) {
          ;
          var _28 = _this+24;
          var _29 = _26 + -1;
          __ZN20btAlignedObjectArrayIP20btPersistentManifoldE17quickSortInternalI33btPersistentManifoldSortPredicateEEvT_ii(_28, _0, 0, _29);
          ;
        }
        var _30 = _this+4+12;
        var _31 = _collisionWorld+4+12;
        var _32 = _this+44+4;
        var _33 = _this+44+8;
        var _34 = _this+44+12;
        var _35 = _this+44+16;
        var _36 = _this+24+12;
        var _37 = _callback;
        __lastLabel__ = 1112; ;
        _bb47$7749: while(1) { // _bb47
          var _startIslandIndex_0 = __lastLabel__ == 1613 ? _endIslandIndex_0 : (0);
          var _startManifoldIndex_1 = __lastLabel__ == 1613 ? _startManifoldIndex_0 : (0);
          var _endManifoldIndex_1 = __lastLabel__ == 1613 ? _endManifoldIndex_0 : (1);
          var _129 = _startIslandIndex_0 < _2;
          if (!(_129)) { __label__ = 1276; /* _bb51 */ break _bb$_bb6$7741; }
          var _38 = IHEAP[_30];
          var _39 = _38+8*_startIslandIndex_0;
          var _40 = IHEAP[_39];
          __lastLabel__ = 583; ;
          _bb18$7752: while(1) { // _bb18
            var _indvar99 = __lastLabel__ == 1600 ? _indvar_next100 : (0);
            var _islandSleeping_1 = __lastLabel__ == 1600 ? _73 : (0);
            var _endIslandIndex_0 = _startIslandIndex_0 + _indvar99;
            var _74 = _endIslandIndex_0 < _2;
            if (!(_74)) { __label__ = 1602; /* _bb25_critedge */ break _bb18$7752; }
            var _75 = IHEAP[_30];
            var _scevgep103104 = _75+8*_endIslandIndex_0;
            var _76 = IHEAP[_scevgep103104];
            var _77 = _76 == _40;
            if (!(_77)) { __label__ = 1602; /* _bb25_critedge */ break _bb18$7752; }
            var _scevgep102 = _75+8*_endIslandIndex_0+4;
            var _41 = IHEAP[_scevgep102];
            var _42 = IHEAP[_31];
            var _43 = _42+4*_41;
            var _44 = IHEAP[_43];
            var _45 = IHEAP[_32];
            var _46 = IHEAP[_33];
            var _47 = _46 == _45;
            ;
            _bb_i64$_bb1_i81$7756: do { 
              if (_47) {
                __lastLabel__ = 1603; ;
                var _48 = _45 == 0;
                var _49 = _45 << 1;
                var _iftmp_225_0_i_i = _48 ? 1 : _49;
                var _50 = _46 < _iftmp_225_0_i_i;
                if (_50) { __lastLabel__ = 1583; ; } else { __lastLabel__ = 1583; __label__ = 1585; /* _bb1_i81 */ break _bb_i64$_bb1_i81$7756; }
                var _51 = _iftmp_225_0_i_i == 0;
                ;
                if (_51) {
                  __lastLabel__ = 1584; ;
                }
                else {
                  __lastLabel__ = 1584; ;
                  var _52 = _iftmp_225_0_i_i << 2;
                  var _53 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_52, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb$_bb6$7741; };
                  var _phitmp_i_i = _53;
                  var __pre_i = IHEAP[_32];
                  __lastLabel__ = 1586; ;
                }
                var _54 = __lastLabel__ == 1586 ? __pre_i : (_45);
                var _55 = __lastLabel__ == 1586 ? _phitmp_i_i : (0);
                var _56 = _54 > 0;
                if (_56) { __lastLabel__ = 1588; __label__ = 1589; /* _bb_i4_i_i70 */  } else { __lastLabel__ = 1588; __label__ = 1590; /* __ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i76 */  }
                _bb_i4_i_i70$__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i76$7763: while(1) { // _bb_i4_i_i70,__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i76
                  if (__label__ == 1589) {
                    var _indvar_i_i_i68 = __lastLabel__ == 1592 ? _indvar_next_i_i_i73 : (0);
                    var _scevgep_i_i_i69 = _55+4*_indvar_i_i_i68;
                    var _57 = _scevgep_i_i_i69 == 0;
                    ;
                    if (!_57) {
                      ;
                      var _58 = IHEAP[_34];
                      var _scevgep8_i_i_i71 = _58+4*_indvar_i_i_i68;
                      var _59 = IHEAP[_scevgep8_i_i_i71];
                      IHEAP[_scevgep_i_i_i69] = _59;
                      ;
                    }
                    var _indvar_next_i_i_i73 = _indvar_i_i_i68 + 1;
                    var _exitcond = _indvar_next_i_i_i73 == _54;
                    if (_exitcond) { __lastLabel__ = 1592; __label__ = 1590; /* __ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i76 */ continue _bb_i4_i_i70$__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i76$7763; } else { __lastLabel__ = 1592; __label__ = 1589; /* _bb_i4_i_i70 */ continue _bb_i4_i_i70$__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i76$7763; }
                  }
                  else if (__label__ == 1590) {
                    var _60 = IHEAP[_34];
                    var _61 = _60 == 0;
                    if (_61) { __label__ = 1150; /* __ZN20btAlignedObjectArrayIP17btCollisionObjectE10deallocateEv_exit_i_i */ break _bb_i4_i_i70$__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i76$7763; } else { __label__ = 1593; /* _bb_i_i_i78 */ break _bb_i4_i_i70$__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i_i76$7763; }
                  }
                }
                if (__label__ == 1593) {
                  var _62 = IHEAP[_35];
                  var _toBool_i_i_i77 = _62 == 0;
                  ;
                  if (!_toBool_i_i_i77) {
                    ;
                    var _63 = _60;
                    (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_63) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb$_bb6$7741; }
                  }
                  IHEAP[_34] = 0;
                  ;
                }
                IHEAP[_35] = 1;
                IHEAP[_34] = _55;
                IHEAP[_33] = _iftmp_225_0_i_i;
                var __pre5_i = IHEAP[_32];
                __lastLabel__ = 1150; ;
              }
              else {
                __lastLabel__ = 1603; ;
              }
            } while(0);
            var _64 = __lastLabel__ == 1150 ? __pre5_i : (__lastLabel__ == 1603 ? _45 : (_45));
            var _65 = IHEAP[_34];
            var _66 = _65+4*_64;
            var _67 = _66 == 0;
            ;
            if (_67) {
              __lastLabel__ = 1585; ;
            }
            else {
              __lastLabel__ = 1585; ;
              IHEAP[_66] = _44;
              var __pre6_i = IHEAP[_32];
              __lastLabel__ = 1596; ;
            }
            var _68 = __lastLabel__ == 1585 ? _64 : (__pre6_i);
            var _69 = _68 + 1;
            IHEAP[_32] = _69;
            var _70 = _44+216;
            var _71 = IHEAP[_70];
            var _72 = _71 == 2;
            ;
            if (_72) {
              __lastLabel__ = 2531; ;
            }
            else {
              __lastLabel__ = 2531; ;
              var _phitmp = _71 == 5;
              var _phitmp90 = _phitmp ? 1 : _islandSleeping_1;
              __lastLabel__ = 1598; ;
            }
            var _73 = __lastLabel__ == 1598 ? _phitmp90 : (1);
            var _indvar_next100 = _indvar99 + 1;
            __lastLabel__ = 1600; __label__ = 86; /* _bb18 */ continue _bb18$7752;
          }
          var _78 = _startManifoldIndex_1 < _26;
          ;
          _bb26$_bb36$7784: do { 
            if (_78) {
              __lastLabel__ = 1602; ;
              var _79 = IHEAP[_36];
              var _80 = _79+4*_startManifoldIndex_1;
              var _81 = IHEAP[_80];
              var _82 = _81+1108;
              var _83 = IHEAP[_82];
              var _84 = _83+208;
              var _85 = _84;
              var _86 = IHEAP[_85];
              var _87 = _86 > -1;
              ;
              if (_87) {
                __lastLabel__ = 626; ;
              }
              else {
                __lastLabel__ = 626; ;
                var _88 = _81+1112;
                var _89 = IHEAP[_88];
                var _90 = _89+208;
                var _91 = _90;
                var _92 = IHEAP[_91];
                __lastLabel__ = 545; ;
              }
              var _93 = __lastLabel__ == 545 ? _92 : (_86);
              var _94 = _93 == _40;
              if (_94) { __lastLabel__ = 1605; ; } else { __lastLabel__ = 1605; __label__ = 251; /* _bb36 */ break _bb26$_bb36$7784; }
              var _tmp = _startManifoldIndex_1 + 1;
              __lastLabel__ = 515; ;
              _bb29$7790: while(1) { // _bb29
                var _indvar = __lastLabel__ == 1608 ? _indvar_next : (0);
                var _endManifoldIndex_2 = _tmp + _indvar;
                var _95 = _endManifoldIndex_2 < _26;
                if (!(_95)) { __label__ = 1606; /* _bb35_critedge */ break _bb29$7790; }
                var _scevgep = _79+4*_endManifoldIndex_2;
                var _96 = IHEAP[_scevgep];
                var _97 = _96+1108;
                var _98 = IHEAP[_97];
                var _99 = _98+208;
                var _100 = _99;
                var _101 = IHEAP[_100];
                var _102 = _101 > -1;
                ;
                if (_102) {
                  __lastLabel__ = 90; ;
                }
                else {
                  __lastLabel__ = 90; ;
                  var _103 = _96+1112;
                  var _104 = IHEAP[_103];
                  var _105 = _104+208;
                  var _106 = _105;
                  var _107 = IHEAP[_106];
                  __lastLabel__ = 159; ;
                }
                var _108 = __lastLabel__ == 159 ? _107 : (_101);
                var _109 = _108 == _40;
                var _indvar_next = _indvar + 1;
                if (_109) { __lastLabel__ = 1608; __label__ = 6; /* _bb29 */ continue _bb29$7790; } else { __lastLabel__ = 1608; __label__ = 1606; /* _bb35_critedge */ break _bb29$7790; }
              }
              var _110 = _endManifoldIndex_2 - _startManifoldIndex_1;
              __lastLabel__ = 1606; ;
            }
            else {
              __lastLabel__ = 1602; ;
            }
          } while(0);
          var _endManifoldIndex_0 = __lastLabel__ == 1606 ? _endManifoldIndex_2 : (__lastLabel__ == 1605 ? _endManifoldIndex_1 : (_endManifoldIndex_1));
          var _numIslandManifolds_0 = __lastLabel__ == 1606 ? _110 : (__lastLabel__ == 1605 ? 0 : (0));
          var _startManifold_0 = __lastLabel__ == 1606 ? _80 : (__lastLabel__ == 1605 ? 0 : (0));
          var _toBool37not = _islandSleeping_1 == 0;
          ;
          if (_toBool37not) {
            ;
            var _111 = IHEAP[_37];
            var _112 = _111+8;
            var _113 = IHEAP[_112];
            var _114 = IHEAP[_32];
            var _115 = IHEAP[_34];
            var _116 = _113;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_116](_callback, _115, _114, _startManifold_0, _numIslandManifolds_0, _40) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb$_bb6$7741; }
          }
          var _117 = _numIslandManifolds_0 == 0;
          var _startManifoldIndex_0 = _117 ? _startManifoldIndex_1 : _endManifoldIndex_0;
          var _118 = IHEAP[_32];
          var _119 = _118 > 0;
          var __not = _119 ^ true;
          var _120 = _118 < 0;
          var _or_cond = __not & _120;
          ;
          _bb4_i$__ZN20btAlignedObjectArrayIP17btCollisionObjectE6resizeEiRKS1__exit$7801: do { 
            if (_or_cond) {
              ;
              var _121 = IHEAP[_33];
              var _122 = _121 < 0;
              ;
              if (_122) {
                ;
                var _123 = IHEAP[_34];
                var _124 = _123 == 0;
                ;
                if (!_124) {
                  ;
                  var _125 = IHEAP[_35];
                  var _toBool_i_i_i = _125 == 0;
                  ;
                  if (!_toBool_i_i_i) {
                    ;
                    var _126 = _123;
                    (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_126) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb$_bb6$7741; }
                  }
                  IHEAP[_34] = 0;
                  ;
                }
                IHEAP[_35] = 1;
                IHEAP[_34] = 0;
                IHEAP[_33] = 0;
                ;
              }
              var _tmp105 = 0 - _118;
              __lastLabel__ = 418; ;
              _bb7_i$7812: while(1) { // _bb7_i
                var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
                var _tmp107 = _118 + _indvar_i;
                var _127 = IHEAP[_34];
                var _scevgep109 = _127+4*_tmp107;
                var _128 = _scevgep109 == 0;
                ;
                if (!_128) {
                  ;
                  IHEAP[_scevgep109] = 0;
                  ;
                }
                var _indvar_next_i = _indvar_i + 1;
                var _exitcond106 = _indvar_next_i == _tmp105;
                if (_exitcond106) { __lastLabel__ = 581; __label__ = 1613; /* __ZN20btAlignedObjectArrayIP17btCollisionObjectE6resizeEiRKS1__exit */ break _bb4_i$__ZN20btAlignedObjectArrayIP17btCollisionObjectE6resizeEiRKS1__exit$7801; } else { __lastLabel__ = 581; __label__ = 137; /* _bb7_i */ continue _bb7_i$7812; }
              }
            }
          } while(0);
          IHEAP[_32] = 0;
          __lastLabel__ = 1613; __label__ = 973; /* _bb47 */ continue _bb47$7749;
        }
      }
    } while(0);
    if (__label__ == 1276) {
      __ZN15CProfileManager12Stop_ProfileEv();
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select53 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3917; /* _invcont49 */  } else { __label__ = 256; /* _lpad54 */  }
      if (__label__ == 3917) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 256) {
        var _eh_ptr55 = _llvm_eh_exception();
        var _eh_select57 = _llvm_eh_selector(_eh_ptr55, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZN25btSimulationIslandManager22buildAndProcessIslandsEP12btDispatcherP16btCollisionWorldPNS_14IslandCallbackE.__index__ = Runtime.getFunctionIndex(__ZN25btSimulationIslandManager22buildAndProcessIslandsEP12btDispatcherP16btCollisionWorldPNS_14IslandCallbackE, "__ZN25btSimulationIslandManager22buildAndProcessIslandsEP12btDispatcherP16btCollisionWorldPNS_14IslandCallbackE");
  
  
  function __ZN25btSimulationIslandManagerD0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btSimulationIslandManager+8;
    var _1 = _this+44+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$7835: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+44+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$7837: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$7837; } else { ; }
            var _eh_ptr19 = _llvm_eh_exception();
            var _eh_select21 = _llvm_eh_selector(_eh_ptr19, ___gxx_personality_v0, 0);
            var _21 = _this+24+12;
            var _22 = IHEAP[_21];
            var _23 = _22 == 0;
            ;
            if (!_23) {
              ;
              var _24 = _this+24+16;
              var _25 = IHEAP[_24];
              var _toBool_i_i_i39 = _25 == 0;
              ;
              _bb2_i_i_i42$_bb1_i_i_i41$7842: do { 
                if (!_toBool_i_i_i39) {
                  ;
                  var _26 = _22;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_26) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3918; /* _bb2_i_i_i42 */ break _bb2_i_i_i42$_bb1_i_i_i41$7842; } else { ; }
                  var _eh_ptr23 = _llvm_eh_exception();
                  var _eh_select25 = _llvm_eh_selector(_eh_ptr23, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_21] = 0;
              ;
            }
            var _27 = _this+24+16;
            IHEAP[_27] = 1;
            IHEAP[_21] = 0;
            var _28 = _this+24+4;
            IHEAP[_28] = 0;
            var _29 = _this+24+8;
            IHEAP[_29] = 0;
            __lastLabel__ = 1617; __label__ = 45; /* _ppad */ break _bb3$_bb_i_i_i$7835;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$7835;
      }
    } while(0);
    _bb3$_ppad$7848: do { 
      if (__label__ == 116) {
        var _7 = _this+44+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+44+4;
        IHEAP[_8] = 0;
        var _9 = _this+44+8;
        IHEAP[_9] = 0;
        var _10 = _this+24+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+24+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i34 = _14 == 0;
          ;
          _bb2_i_i_i37$_bb1_i_i_i36$7852: do { 
            if (!_toBool_i_i_i34) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3797; /* _bb2_i_i_i37 */ break _bb2_i_i_i37$_bb1_i_i_i36$7852; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select17 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad$7848;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _16 = _this+24+16;
        IHEAP[_16] = 1;
        IHEAP[_10] = 0;
        var _17 = _this+24+4;
        IHEAP[_17] = 0;
        var _18 = _this+24+8;
        IHEAP[_18] = 0;
        var _19 = _this+4;
        __ZN11btUnionFindD1Ev(_19);
        var _20 = _this;
        __ZdlPv(_20);
        ;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr19);
    var _30 = _this+4;
    (function() { try { __THREW__ = false; return __ZN11btUnionFindD1Ev(_30) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 979; /* _invcont8 */  } else { __label__ = 3800; /* _lpad26 */  }
    if (__label__ == 979) {
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
    else if (__label__ == 3800) {
      var _eh_ptr27 = _llvm_eh_exception();
      var _eh_select29 = _llvm_eh_selector(_eh_ptr27, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN25btSimulationIslandManagerD0Ev.__index__ = Runtime.getFunctionIndex(__ZN25btSimulationIslandManagerD0Ev, "__ZN25btSimulationIslandManagerD0Ev");
  
  
  function __ZN25btSimulationIslandManagerD1Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btSimulationIslandManager+8;
    var _1 = _this+44+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$7862: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+44+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$7864: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$7864; } else { ; }
            var _eh_ptr19 = _llvm_eh_exception();
            var _eh_select21 = _llvm_eh_selector(_eh_ptr19, ___gxx_personality_v0, 0);
            var _20 = _this+24+12;
            var _21 = IHEAP[_20];
            var _22 = _21 == 0;
            ;
            if (!_22) {
              ;
              var _23 = _this+24+16;
              var _24 = IHEAP[_23];
              var _toBool_i_i_i39 = _24 == 0;
              ;
              _bb2_i_i_i42$_bb1_i_i_i41$7869: do { 
                if (!_toBool_i_i_i39) {
                  ;
                  var _25 = _21;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_25) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3918; /* _bb2_i_i_i42 */ break _bb2_i_i_i42$_bb1_i_i_i41$7869; } else { ; }
                  var _eh_ptr23 = _llvm_eh_exception();
                  var _eh_select25 = _llvm_eh_selector(_eh_ptr23, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_20] = 0;
              ;
            }
            var _26 = _this+24+16;
            IHEAP[_26] = 1;
            IHEAP[_20] = 0;
            var _27 = _this+24+4;
            IHEAP[_27] = 0;
            var _28 = _this+24+8;
            IHEAP[_28] = 0;
            __lastLabel__ = 1617; __label__ = 45; /* _ppad */ break _bb3$_bb_i_i_i$7862;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$7862;
      }
    } while(0);
    _bb3$_ppad$7875: do { 
      if (__label__ == 116) {
        var _7 = _this+44+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+44+4;
        IHEAP[_8] = 0;
        var _9 = _this+44+8;
        IHEAP[_9] = 0;
        var _10 = _this+24+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+24+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i34 = _14 == 0;
          ;
          _bb2_i_i_i37$_bb1_i_i_i36$7879: do { 
            if (!_toBool_i_i_i34) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3797; /* _bb2_i_i_i37 */ break _bb2_i_i_i37$_bb1_i_i_i36$7879; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select17 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad$7875;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _16 = _this+24+16;
        IHEAP[_16] = 1;
        IHEAP[_10] = 0;
        var _17 = _this+24+4;
        IHEAP[_17] = 0;
        var _18 = _this+24+8;
        IHEAP[_18] = 0;
        var _19 = _this+4;
        __ZN11btUnionFindD1Ev(_19);
        ;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr19);
    var _29 = _this+4;
    (function() { try { __THREW__ = false; return __ZN11btUnionFindD1Ev(_29) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 979; /* _invcont8 */  } else { __label__ = 3800; /* _lpad26 */  }
    if (__label__ == 979) {
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
    else if (__label__ == 3800) {
      var _eh_ptr27 = _llvm_eh_exception();
      var _eh_select29 = _llvm_eh_selector(_eh_ptr27, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN25btSimulationIslandManagerD1Ev.__index__ = Runtime.getFunctionIndex(__ZN25btSimulationIslandManagerD1Ev, "__ZN25btSimulationIslandManagerD1Ev");
  
  
  function __ZN25btSimulationIslandManagerD2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV25btSimulationIslandManager+8;
    var _1 = _this+44+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$7889: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+44+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$7891: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$7891; } else { ; }
            var _eh_ptr19 = _llvm_eh_exception();
            var _eh_select21 = _llvm_eh_selector(_eh_ptr19, ___gxx_personality_v0, 0);
            var _20 = _this+24+12;
            var _21 = IHEAP[_20];
            var _22 = _21 == 0;
            ;
            if (!_22) {
              ;
              var _23 = _this+24+16;
              var _24 = IHEAP[_23];
              var _toBool_i_i_i39 = _24 == 0;
              ;
              _bb2_i_i_i42$_bb1_i_i_i41$7896: do { 
                if (!_toBool_i_i_i39) {
                  ;
                  var _25 = _21;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_25) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3918; /* _bb2_i_i_i42 */ break _bb2_i_i_i42$_bb1_i_i_i41$7896; } else { ; }
                  var _eh_ptr23 = _llvm_eh_exception();
                  var _eh_select25 = _llvm_eh_selector(_eh_ptr23, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_20] = 0;
              ;
            }
            var _26 = _this+24+16;
            IHEAP[_26] = 1;
            IHEAP[_20] = 0;
            var _27 = _this+24+4;
            IHEAP[_27] = 0;
            var _28 = _this+24+8;
            IHEAP[_28] = 0;
            __lastLabel__ = 1617; __label__ = 45; /* _ppad */ break _bb3$_bb_i_i_i$7889;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$7889;
      }
    } while(0);
    _bb3$_ppad$7902: do { 
      if (__label__ == 116) {
        var _7 = _this+44+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+44+4;
        IHEAP[_8] = 0;
        var _9 = _this+44+8;
        IHEAP[_9] = 0;
        var _10 = _this+24+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+24+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i34 = _14 == 0;
          ;
          _bb2_i_i_i37$_bb1_i_i_i36$7906: do { 
            if (!_toBool_i_i_i34) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3797; /* _bb2_i_i_i37 */ break _bb2_i_i_i37$_bb1_i_i_i36$7906; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select17 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad$7902;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _16 = _this+24+16;
        IHEAP[_16] = 1;
        IHEAP[_10] = 0;
        var _17 = _this+24+4;
        IHEAP[_17] = 0;
        var _18 = _this+24+8;
        IHEAP[_18] = 0;
        var _19 = _this+4;
        __ZN11btUnionFindD1Ev(_19);
        ;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr19);
    var _29 = _this+4;
    (function() { try { __THREW__ = false; return __ZN11btUnionFindD1Ev(_29) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 979; /* _invcont8 */  } else { __label__ = 3800; /* _lpad26 */  }
    if (__label__ == 979) {
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
    else if (__label__ == 3800) {
      var _eh_ptr27 = _llvm_eh_exception();
      var _eh_select29 = _llvm_eh_selector(_eh_ptr27, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN25btSimulationIslandManagerD2Ev.__index__ = Runtime.getFunctionIndex(__ZN25btSimulationIslandManagerD2Ev, "__ZN25btSimulationIslandManagerD2Ev");
  
  
  function __ZN29btSphereBoxCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b(_this, _mf, _ci, _col0, _col1, _isSwapped) {
    ;
    var __label__;
    var _0 = _this;
    __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_0, _ci, _col0, _col1);
    var _1 = _this;
    IHEAP[_1] = __ZTV29btSphereBoxCollisionAlgorithm+8;
    var _2 = _this+8;
    IHEAP[_2] = 0;
    var _3 = _this+12;
    IHEAP[_3] = _mf;
    var _4 = _this+16;
    IHEAP[_4] = _isSwapped;
    var _toBool = _isSwapped == 0;
    var _iftmp_187_0 = _toBool ? _col0 : _col1;
    var _iftmp_188_0 = _toBool ? _col1 : _col0;
    var _5 = _mf == 0;
    ;
    _bb7$_bb13$7917: do { 
      if (_5) {
        ;
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+24;
        var _11 = IHEAP[_10];
        var _12 = _11;
        var _13 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _iftmp_187_0, _iftmp_188_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
        _invcont$_lpad$7919: do { 
          if (__label__ == 345) {
            var _toBool8not = _13 == 0;
            if (_toBool8not) { __label__ = 108; /* _bb13 */ break _bb7$_bb13$7917; }
            var _14 = IHEAP[_6];
            var _15 = _14;
            var _16 = IHEAP[_15];
            var _17 = _16+12;
            var _18 = IHEAP[_17];
            var _19 = _18;
            var _20 = _iftmp_187_0;
            var _21 = _iftmp_188_0;
            var _22 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_19](_14, _20, _21) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$7919; };
            IHEAP[_3] = _22;
            IHEAP[_2] = 1;
            ;
            return;
          }
        } while(0);
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select23 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3253; /* _invcont19 */  } else { __label__ = 3754; /* _lpad24 */  }
        if (__label__ == 3253) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3754) {
          var _eh_ptr25 = _llvm_eh_exception();
          var _eh_select27 = _llvm_eh_selector(_eh_ptr25, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN29btSphereBoxCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b.__index__ = Runtime.getFunctionIndex(__ZN29btSphereBoxCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b, "__ZN29btSphereBoxCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b");
  
  
  function __ZN29btSphereBoxCollisionAlgorithm17getSphereDistanceEP17btCollisionObjectR9btVector3S3_RKS2_f(_this, _boxObj, _pointOnBox, _v3PointOnSphere, _sphereCenter, _fRadius) {
    var __stackBase__  = STACKTOP; STACKTOP += 160;
    var __label__;
    var __lastLabel__ = null;
    var _bounds = __stackBase__;
    var _boundsVec = __stackBase__+32;
    var _n = __stackBase__+64;
    var _0 = _boxObj+192;
    var _1 = IHEAP[_0];
    var _2 = _1+24+4;
    var _3 = _2+8;
    var _4 = _3;
    var _5 = FHEAP[_4];
    var _6 = 0 - _5;
    var _7 = _2+4;
    var _8 = _7;
    var _9 = FHEAP[_8];
    var _10 = 0 - _9;
    var _11 = _2;
    var _12 = FHEAP[_11];
    var _13 = 0 - _12;
    var _14 = _bounds;
    var _15 = _bounds+4;
    var _16 = _bounds+8;
    var _17 = _bounds+12;
    FHEAP[_17] = 0;
    var _18 = _bounds+16;
    var _19 = FHEAP[_11];
    var _20 = _bounds+16+4;
    var _21 = FHEAP[_8];
    var _22 = _bounds+16+8;
    var _23 = FHEAP[_4];
    var _24 = _bounds+16+12;
    var _25 = _2+12;
    var _26 = _25;
    var _27 = FHEAP[_26];
    FHEAP[_24] = _27;
    var _28 = _1;
    var _29 = IHEAP[_28];
    var _30 = _29+44;
    var _31 = IHEAP[_30];
    var _32 = _1;
    var _33 = _31;
    var _34 = FUNCTION_TABLE[_33](_32);
    var _35 = _boundsVec;
    FHEAP[_35] = _13;
    var _36 = _boundsVec+4;
    FHEAP[_36] = _10;
    var _37 = _boundsVec+8;
    FHEAP[_37] = _6;
    var _38 = _boundsVec+12;
    FHEAP[_38] = 0;
    var _39 = _boundsVec+16;
    FHEAP[_39] = _19;
    var _40 = _boundsVec+16+4;
    FHEAP[_40] = _21;
    var _41 = _boundsVec+16+8;
    FHEAP[_41] = _23;
    var _42 = _boundsVec+16+12;
    FHEAP[_42] = _27;
    var _43 = _34 - _12;
    FHEAP[_14] = _43;
    var _44 = _34 - _9;
    FHEAP[_15] = _44;
    var _45 = _34 - _5;
    FHEAP[_16] = _45;
    var _46 = _19 - _34;
    FHEAP[_18] = _46;
    var _47 = _21 - _34;
    FHEAP[_20] = _47;
    var _48 = _23 - _34;
    FHEAP[_22] = _48;
    var _49 = _n;
    FHEAP[_49] = -1;
    var _50 = _n+4;
    FHEAP[_50] = 0;
    var _51 = _n+8;
    FHEAP[_51] = 0;
    var _52 = _n+12;
    FHEAP[_52] = 0;
    var _53 = _n+16;
    FHEAP[_53] = 0;
    var _54 = _n+16+4;
    FHEAP[_54] = -1;
    var _55 = _n+16+8;
    FHEAP[_55] = 0;
    var _56 = _n+16+12;
    FHEAP[_56] = 0;
    var _57 = _n+32;
    FHEAP[_57] = 0;
    var _58 = _n+32+4;
    FHEAP[_58] = 0;
    var _59 = _n+32+8;
    FHEAP[_59] = -1;
    var _60 = _n+32+12;
    FHEAP[_60] = 0;
    var _61 = _n+48;
    FHEAP[_61] = 1;
    var _62 = _n+48+4;
    FHEAP[_62] = 0;
    var _63 = _n+48+8;
    FHEAP[_63] = 0;
    var _64 = _n+48+12;
    FHEAP[_64] = 0;
    var _65 = _n+64;
    FHEAP[_65] = 0;
    var _66 = _n+64+4;
    FHEAP[_66] = 1;
    var _67 = _n+64+8;
    FHEAP[_67] = 0;
    var _68 = _n+64+12;
    FHEAP[_68] = 0;
    var _69 = _n+80;
    FHEAP[_69] = 0;
    var _70 = _n+80+4;
    FHEAP[_70] = 0;
    var _71 = _n+80+8;
    FHEAP[_71] = 1;
    var _72 = _n+80+12;
    FHEAP[_72] = 0;
    var _73 = _sphereCenter+8;
    var _74 = FHEAP[_73];
    var _75 = _boxObj+4+48+8;
    var _76 = FHEAP[_75];
    var _77 = _74 - _76;
    var _78 = _sphereCenter+4;
    var _79 = FHEAP[_78];
    var _80 = _boxObj+4+48+4;
    var _81 = FHEAP[_80];
    var _82 = _79 - _81;
    var _83 = _sphereCenter;
    var _84 = FHEAP[_83];
    var _85 = _boxObj+4+48;
    var _86 = FHEAP[_85];
    var _87 = _84 - _86;
    var _88 = _boxObj+4+32+8;
    var _89 = _boxObj+4+16+8;
    var _90 = _boxObj+4+8;
    var _91 = _boxObj+4+32+4;
    var _92 = _boxObj+4+16+4;
    var _93 = _boxObj+4+4;
    var _94 = _boxObj+4+32;
    var _95 = _boxObj+4+16;
    var _96 = _boxObj+4;
    var _97 = FHEAP[_96];
    var _98 = FHEAP[_95];
    var _99 = FHEAP[_94];
    var _100 = FHEAP[_93];
    var _101 = FHEAP[_92];
    var _102 = FHEAP[_91];
    var _103 = FHEAP[_90];
    var _104 = FHEAP[_89];
    var _105 = FHEAP[_88];
    var _106 = _103 * _87;
    var _107 = _104 * _82;
    var _108 = _106 + _107;
    var _109 = _105 * _77;
    var _110 = _108 + _109;
    var _111 = _100 * _87;
    var _112 = _101 * _82;
    var _113 = _111 + _112;
    var _114 = _102 * _77;
    var _115 = _113 + _114;
    var _116 = _97 * _87;
    var _117 = _98 * _82;
    var _118 = _116 + _117;
    var _119 = _99 * _77;
    var _120 = _118 + _119;
    __lastLabel__ = 130; ;
    _bb11$7946: while(1) { // _bb11
      var _121 = __lastLabel__ == 130 ? 0 : (__pre124);
      var _122 = __lastLabel__ == 130 ? 0 : (__pre123);
      var _123 = __lastLabel__ == 130 ? -1 : (__pre);
      var _124 = __lastLabel__ == 130 ? 0 : (_148);
      var _bFound_1106 = __lastLabel__ == 130 ? 0 : (_bFound_0);
      var _v3P_0_2_1105 = __lastLabel__ == 130 ? _110 : (_v3P_0_2_0);
      var _v3P_0_1_1104 = __lastLabel__ == 130 ? _115 : (_v3P_0_1_0);
      var _v3P_0_0_1103 = __lastLabel__ == 130 ? _120 : (_v3P_0_0_0);
      var _125 = _124 > 2;
      var _126 = _125;
      var _127 = _bounds+_126*16+8;
      var _128 = FHEAP[_127];
      var _129 = _v3P_0_2_1105 - _128;
      var _130 = _bounds+_126*16+4;
      var _131 = FHEAP[_130];
      var _132 = _v3P_0_1_1104 - _131;
      var _133 = _bounds+_126*16;
      var _134 = FHEAP[_133];
      var _135 = _v3P_0_0_1103 - _134;
      var _136 = _135 * _123;
      var _137 = _132 * _122;
      var _138 = _136 + _137;
      var _139 = _129 * _121;
      var _140 = _138 + _139;
      var _141 = _140 > 0;
      ;
      if (_141) {
        __lastLabel__ = 292; ;
        var _142 = _121 * _140;
        var _143 = _122 * _140;
        var _144 = _123 * _140;
        var _145 = _v3P_0_2_1105 - _142;
        var _146 = _v3P_0_1_1104 - _143;
        var _147 = _v3P_0_0_1103 - _144;
        __lastLabel__ = 108; ;
      }
      else {
        __lastLabel__ = 292; ;
      }
      var _v3P_0_0_0 = __lastLabel__ == 108 ? _147 : (_v3P_0_0_1103);
      var _v3P_0_1_0 = __lastLabel__ == 108 ? _146 : (_v3P_0_1_1104);
      var _v3P_0_2_0 = __lastLabel__ == 108 ? _145 : (_v3P_0_2_1105);
      var _bFound_0 = __lastLabel__ == 108 ? 1 : (_bFound_1106);
      var _148 = _124 + 1;
      var _exitcond = _148 == 6;
      if (_exitcond) { __label__ = 4; /* _bb17 */ break _bb11$7946; }
      var _scevgep117_phi_trans_insert = _n+_148*16;
      var __pre = FHEAP[_scevgep117_phi_trans_insert];
      var _scevgep118_phi_trans_insert = _n+_148*16+4;
      var __pre123 = FHEAP[_scevgep118_phi_trans_insert];
      var _scevgep119_phi_trans_insert = _n+_148*16+8;
      var __pre124 = FHEAP[_scevgep119_phi_trans_insert];
      __lastLabel__ = 1624; __label__ = 292; /* _bb11 */ continue _bb11$7946;
    }
    var _toBool18 = _bFound_0 == 0;
    ;
    _bb31$_bb19$7953: do { 
      if (_toBool18) {
        ;
        var _271 = _bounds;
        var _272 = _bounds+16;
        var _273 = __ZN29btSphereBoxCollisionAlgorithm20getSpherePenetrationEP17btCollisionObjectR9btVector3S3_RKS2_fS5_S5_(_this, _boxObj, _pointOnBox, _v3PointOnSphere, _sphereCenter, _fRadius, _271, _272);
        var _274 = FHEAP[_35];
        FHEAP[_14] = _274;
        var _275 = FHEAP[_36];
        FHEAP[_15] = _275;
        var _276 = FHEAP[_37];
        FHEAP[_16] = _276;
        FHEAP[_17] = 0;
        FHEAP[_18] = _19;
        FHEAP[_20] = _21;
        FHEAP[_22] = _23;
        FHEAP[_24] = _27;
        var _277 = _273 > 0;
        if (_277) { __lastLabel__ = 89; __label__ = 250; /* _bb34 */ break _bb31$_bb19$7953; } else { __lastLabel__ = 89; ; }
        var _278 = _273 - _34;
        STACKTOP = __stackBase__;
        return _278;
      }
      else {
        ;
        FHEAP[_14] = _13;
        FHEAP[_15] = _10;
        FHEAP[_16] = _6;
        FHEAP[_17] = 0;
        FHEAP[_18] = _19;
        FHEAP[_20] = _21;
        FHEAP[_22] = _23;
        FHEAP[_24] = _27;
        var _149 = _110 - _v3P_0_2_0;
        var _150 = _115 - _v3P_0_1_0;
        var _151 = _120 - _v3P_0_0_0;
        var _152 = _151 * _151;
        var _153 = _150 * _150;
        var _154 = _152 + _153;
        var _155 = _149 * _149;
        var _156 = _154 + _155;
        var _157 = _sqrtf(_156);
        var _158 = 1 / _157;
        var _159 = _151 * _158;
        var _160 = _150 * _158;
        var _161 = _149 * _158;
        var _162 = _161 * _34;
        var _163 = _160 * _34;
        var _164 = _159 * _34;
        var _165 = _v3P_0_2_0 + _162;
        var _166 = _v3P_0_1_0 + _163;
        var _167 = _v3P_0_0_0 + _164;
        var _168 = _pointOnBox;
        FHEAP[_168] = _167;
        var _169 = _pointOnBox+4;
        FHEAP[_169] = _166;
        var _170 = _pointOnBox+8;
        FHEAP[_170] = _165;
        var _171 = _pointOnBox+12;
        FHEAP[_171] = 0;
        var _172 = _161 * _fRadius;
        var _173 = _160 * _fRadius;
        var _174 = _159 * _fRadius;
        var _175 = _110 - _172;
        var _176 = _115 - _173;
        var _177 = _120 - _174;
        var _178 = _v3PointOnSphere;
        FHEAP[_178] = _177;
        var _179 = _v3PointOnSphere+4;
        FHEAP[_179] = _176;
        var _180 = _v3PointOnSphere+8;
        FHEAP[_180] = _175;
        var _181 = _v3PointOnSphere+12;
        FHEAP[_181] = 0;
        var _182 = FHEAP[_170];
        var _183 = _175 - _182;
        var _184 = FHEAP[_169];
        var _185 = _176 - _184;
        var _186 = FHEAP[_168];
        var _187 = _177 - _186;
        var _188 = _187 * _159;
        var _189 = _185 * _160;
        var _190 = _188 + _189;
        var _191 = _183 * _161;
        var _192 = _190 + _191;
        var _193 = _192 > 0;
        if (_193) { __lastLabel__ = 64; __label__ = 250; /* _bb34 */ break _bb31$_bb19$7953; } else { __lastLabel__ = 64; ; }
        var _194 = FHEAP[_94];
        var _195 = _194 * _186;
        var _196 = FHEAP[_91];
        var _197 = _196 * _184;
        var _198 = _195 + _197;
        var _199 = FHEAP[_88];
        var _200 = _199 * _182;
        var _201 = _198 + _200;
        var _202 = FHEAP[_75];
        var _203 = _201 + _202;
        var _204 = FHEAP[_95];
        var _205 = _204 * _186;
        var _206 = FHEAP[_92];
        var _207 = _206 * _184;
        var _208 = _205 + _207;
        var _209 = FHEAP[_89];
        var _210 = _209 * _182;
        var _211 = _208 + _210;
        var _212 = FHEAP[_80];
        var _213 = _211 + _212;
        var _214 = FHEAP[_96];
        var _215 = _214 * _186;
        var _216 = FHEAP[_93];
        var _217 = _216 * _184;
        var _218 = _215 + _217;
        var _219 = FHEAP[_90];
        var _220 = _219 * _182;
        var _221 = _218 + _220;
        var _222 = FHEAP[_85];
        var _223 = _221 + _222;
        FHEAP[_168] = _223;
        FHEAP[_169] = _213;
        FHEAP[_170] = _203;
        FHEAP[_171] = 0;
        var _224 = FHEAP[_94];
        var _225 = FHEAP[_178];
        var _226 = _224 * _225;
        var _227 = FHEAP[_91];
        var _228 = FHEAP[_179];
        var _229 = _227 * _228;
        var _230 = _226 + _229;
        var _231 = FHEAP[_88];
        var _232 = FHEAP[_180];
        var _233 = _231 * _232;
        var _234 = _230 + _233;
        var _235 = FHEAP[_75];
        var _236 = _234 + _235;
        var _237 = FHEAP[_95];
        var _238 = _237 * _225;
        var _239 = FHEAP[_92];
        var _240 = _239 * _228;
        var _241 = _238 + _240;
        var _242 = FHEAP[_89];
        var _243 = _242 * _232;
        var _244 = _241 + _243;
        var _245 = FHEAP[_80];
        var _246 = _244 + _245;
        var _247 = FHEAP[_96];
        var _248 = _247 * _225;
        var _249 = FHEAP[_93];
        var _250 = _249 * _228;
        var _251 = _248 + _250;
        var _252 = FHEAP[_90];
        var _253 = _252 * _232;
        var _254 = _251 + _253;
        var _255 = FHEAP[_85];
        var _256 = _254 + _255;
        FHEAP[_178] = _256;
        FHEAP[_179] = _246;
        FHEAP[_180] = _236;
        FHEAP[_181] = 0;
        var _257 = FHEAP[_170];
        var _258 = _257 - _236;
        var _259 = FHEAP[_169];
        var _260 = _259 - _246;
        var _261 = FHEAP[_168];
        var _262 = _261 - _256;
        var _263 = _262 * _262;
        var _264 = _260 * _260;
        var _265 = _263 + _264;
        var _266 = _258 * _258;
        var _267 = _265 + _266;
        var _268 = _267 > 1.1920928955078125e-7;
        if (_268) { __lastLabel__ = 540; ; } else { __lastLabel__ = 540; __label__ = 250; /* _bb34 */ break _bb31$_bb19$7953; }
        var _269 = _sqrtf(_267);
        var _270 = 0 - _269;
        STACKTOP = __stackBase__;
        return _270;
      }
    } while(0);
    var __038 = __lastLabel__ == 64 ? 1 : (__lastLabel__ == 540 ? 10000000 : (1));
    STACKTOP = __stackBase__;
    return __038;
  }
  __ZN29btSphereBoxCollisionAlgorithm17getSphereDistanceEP17btCollisionObjectR9btVector3S3_RKS2_f.__index__ = Runtime.getFunctionIndex(__ZN29btSphereBoxCollisionAlgorithm17getSphereDistanceEP17btCollisionObjectR9btVector3S3_RKS2_f, "__ZN29btSphereBoxCollisionAlgorithm17getSphereDistanceEP17btCollisionObjectR9btVector3S3_RKS2_f");
  
  
  function __ZN29btSphereBoxCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _body0, _body1, _dispatchInfo, _resultOut) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var _pOnBox = __stackBase__;
    var _pOnSphere = __stackBase__+16;
    var _sphereCenter = __stackBase__+32;
    var _normalOnSurfaceB9 = __stackBase__+48;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    __ZN16btManifoldResult20refreshContactPointsEv_exit$_bb$7961: do { 
      if (!_2) {
        ;
        var _3 = _this+16;
        var _4 = IHEAP[_3];
        var _toBool = _4 == 0;
        var _iftmp_193_0 = _toBool ? _body0 : _body1;
        var _iftmp_194_0 = _toBool ? _body1 : _body0;
        var _5 = _iftmp_193_0+192;
        var _6 = IHEAP[_5];
        var _7 = _sphereCenter;
        var _8 = _iftmp_193_0+4+48;
        var _9 = FHEAP[_8];
        FHEAP[_7] = _9;
        var _10 = _sphereCenter+4;
        var _11 = _iftmp_193_0+4+48+4;
        var _12 = FHEAP[_11];
        FHEAP[_10] = _12;
        var _13 = _sphereCenter+8;
        var _14 = _iftmp_193_0+4+48+8;
        var _15 = FHEAP[_14];
        FHEAP[_13] = _15;
        var _16 = _sphereCenter+12;
        var _17 = _iftmp_193_0+4+48+12;
        var _18 = FHEAP[_17];
        FHEAP[_16] = _18;
        var _19 = _6+24+4;
        var _20 = _19;
        var _21 = FHEAP[_20];
        var _22 = _6+12;
        var _23 = _22;
        var _24 = FHEAP[_23];
        var _25 = _21 * _24;
        var _26 = __ZN29btSphereBoxCollisionAlgorithm17getSphereDistanceEP17btCollisionObjectR9btVector3S3_RKS2_f(_this, _iftmp_194_0, _pOnBox, _pOnSphere, _sphereCenter, _25);
        var _27 = IHEAP[_0];
        var _28 = _resultOut+4;
        IHEAP[_28] = _27;
        var _29 = _26 < 1.1920928955078125e-7;
        ;
        if (_29) {
          ;
          var _30 = _pOnBox+8;
          var _31 = FHEAP[_30];
          var _32 = _pOnSphere+8;
          var _33 = FHEAP[_32];
          var _34 = _31 - _33;
          var _35 = _pOnBox+4;
          var _36 = FHEAP[_35];
          var _37 = _pOnSphere+4;
          var _38 = FHEAP[_37];
          var _39 = _36 - _38;
          var _40 = _pOnBox;
          var _41 = FHEAP[_40];
          var _42 = _pOnSphere;
          var _43 = FHEAP[_42];
          var _44 = _41 - _43;
          var _45 = _44 * _44;
          var _46 = _39 * _39;
          var _47 = _45 + _46;
          var _48 = _34 * _34;
          var _49 = _47 + _48;
          var _50 = _sqrtf(_49);
          var _51 = 1 / _50;
          var _52 = _44 * _51;
          var _53 = _39 * _51;
          var _54 = _34 * _51;
          var _55 = _normalOnSurfaceB9;
          FHEAP[_55] = _52;
          var _56 = _normalOnSurfaceB9+4;
          FHEAP[_56] = _53;
          var _57 = _normalOnSurfaceB9+8;
          FHEAP[_57] = _54;
          var _58 = _normalOnSurfaceB9+12;
          FHEAP[_58] = 0;
          var _59 = _resultOut;
          var _60 = IHEAP[_59];
          var _61 = _60+16;
          var _62 = IHEAP[_61];
          var _63 = _62;
          FUNCTION_TABLE[_63](_resultOut, _normalOnSurfaceB9, _pOnBox, _26);
          ;
        }
        var _64 = _this+8;
        var _65 = IHEAP[_64];
        var _toBool11 = _65 == 0;
        if (_toBool11) { __label__ = 990; /* __ZN16btManifoldResult20refreshContactPointsEv_exit */ break __ZN16btManifoldResult20refreshContactPointsEv_exit$_bb$7961; }
        var _66 = IHEAP[_0];
        var _67 = _66+1116;
        var _68 = IHEAP[_67];
        var _69 = _68 == 0;
        if (_69) { __label__ = 990; /* __ZN16btManifoldResult20refreshContactPointsEv_exit */ break __ZN16btManifoldResult20refreshContactPointsEv_exit$_bb$7961; }
        var _70 = IHEAP[_28];
        var _71 = _70+1116;
        var _72 = IHEAP[_71];
        var _73 = _72 == 0;
        if (_73) { __label__ = 990; /* __ZN16btManifoldResult20refreshContactPointsEv_exit */ break __ZN16btManifoldResult20refreshContactPointsEv_exit$_bb$7961; }
        var _74 = _70+1108;
        var _75 = IHEAP[_74];
        var _76 = _resultOut+136;
        var _77 = IHEAP[_76];
        var _78 = _77;
        var _79 = _75 == _78;
        ;
        if (_79) {
          ;
          var _82 = _resultOut+72;
          var _83 = _resultOut+8;
          __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_70, _83, _82);
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _80 = _resultOut+8;
          var _81 = _resultOut+72;
          __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_70, _81, _80);
          STACKTOP = __stackBase__;
          return;
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN29btSphereBoxCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN29btSphereBoxCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN29btSphereBoxCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN29btSphereBoxCollisionAlgorithmD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV29btSphereBoxCollisionAlgorithm+8;
    var _1 = _this+8;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$7974: do { 
      if (!_toBool) {
        ;
        var _3 = _this+12;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$7974; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$7974; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _15 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    var _14 = _this;
    __ZdlPv(_14);
    ;
    return;
  }
  __ZN29btSphereBoxCollisionAlgorithmD0Ev.__index__ = Runtime.getFunctionIndex(__ZN29btSphereBoxCollisionAlgorithmD0Ev, "__ZN29btSphereBoxCollisionAlgorithmD0Ev");
  
  
  function __ZN29btSphereBoxCollisionAlgorithmD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV29btSphereBoxCollisionAlgorithm+8;
    var _1 = _this+8;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$7983: do { 
      if (!_toBool) {
        ;
        var _3 = _this+12;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$7983; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$7983; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _14 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    ;
    return;
  }
  __ZN29btSphereBoxCollisionAlgorithmD1Ev.__index__ = Runtime.getFunctionIndex(__ZN29btSphereBoxCollisionAlgorithmD1Ev, "__ZN29btSphereBoxCollisionAlgorithmD1Ev");
  
  
  function __ZN29btSphereBoxCollisionAlgorithmD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV29btSphereBoxCollisionAlgorithm+8;
    var _1 = _this+8;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$7992: do { 
      if (!_toBool) {
        ;
        var _3 = _this+12;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$7992; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$7992; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _14 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    ;
    return;
  }
  __ZN29btSphereBoxCollisionAlgorithmD2Ev.__index__ = Runtime.getFunctionIndex(__ZN29btSphereBoxCollisionAlgorithmD2Ev, "__ZN29btSphereBoxCollisionAlgorithmD2Ev");
  
  
  function __ZN29btSphereBoxCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b(_this, _mf, _ci, _col0, _col1, _isSwapped) {
    ;
    var __label__;
    var _0 = _this;
    __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_0, _ci, _col0, _col1);
    var _1 = _this;
    IHEAP[_1] = __ZTV29btSphereBoxCollisionAlgorithm+8;
    var _2 = _this+8;
    IHEAP[_2] = 0;
    var _3 = _this+12;
    IHEAP[_3] = _mf;
    var _4 = _this+16;
    IHEAP[_4] = _isSwapped;
    var _toBool = _isSwapped == 0;
    var _iftmp_187_0 = _toBool ? _col0 : _col1;
    var _iftmp_188_0 = _toBool ? _col1 : _col0;
    var _5 = _mf == 0;
    ;
    _bb7$_bb13$8001: do { 
      if (_5) {
        ;
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+24;
        var _11 = IHEAP[_10];
        var _12 = _11;
        var _13 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _iftmp_187_0, _iftmp_188_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
        _invcont$_lpad$8003: do { 
          if (__label__ == 345) {
            var _toBool8not = _13 == 0;
            if (_toBool8not) { __label__ = 108; /* _bb13 */ break _bb7$_bb13$8001; }
            var _14 = IHEAP[_6];
            var _15 = _14;
            var _16 = IHEAP[_15];
            var _17 = _16+12;
            var _18 = IHEAP[_17];
            var _19 = _18;
            var _20 = _iftmp_187_0;
            var _21 = _iftmp_188_0;
            var _22 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_19](_14, _20, _21) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$8003; };
            IHEAP[_3] = _22;
            IHEAP[_2] = 1;
            ;
            return;
          }
        } while(0);
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select23 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3253; /* _invcont19 */  } else { __label__ = 3754; /* _lpad24 */  }
        if (__label__ == 3253) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3754) {
          var _eh_ptr25 = _llvm_eh_exception();
          var _eh_select27 = _llvm_eh_selector(_eh_ptr25, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN29btSphereBoxCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b.__index__ = Runtime.getFunctionIndex(__ZN29btSphereBoxCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b, "__ZN29btSphereBoxCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b");
  
  
  function __ZN32btSphereSphereCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_(_this, _mf, _ci, _col0, _col1) {
    ;
    var __label__;
    var _0 = _this;
    __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_0, _ci, _col0, _col1);
    var _1 = _this;
    IHEAP[_1] = __ZTV32btSphereSphereCollisionAlgorithm+8;
    var _2 = _this+8;
    IHEAP[_2] = 0;
    var _3 = _this+12;
    IHEAP[_3] = _mf;
    var _4 = _mf == 0;
    ;
    if (_4) {
      ;
      var _5 = _this+4;
      var _6 = IHEAP[_5];
      var _7 = _6;
      var _8 = IHEAP[_7];
      var _9 = _8+12;
      var _10 = IHEAP[_9];
      var _11 = _10;
      var _12 = _col0;
      var _13 = _col1;
      var _14 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_11](_6, _12, _13) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
      if (__label__ == 345) {
        IHEAP[_3] = _14;
        IHEAP[_2] = 1;
        ;
        return;
      }
      else if (__label__ == 254) {
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select6 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 3765; /* _lpad7 */  }
        if (__label__ == 1102) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3765) {
          var _eh_ptr8 = _llvm_eh_exception();
          var _eh_select10 = _llvm_eh_selector(_eh_ptr8, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN32btSphereSphereCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_.__index__ = Runtime.getFunctionIndex(__ZN32btSphereSphereCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_, "__ZN32btSphereSphereCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_");
  
  
  function __ZN32btSphereSphereCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _col0, _col1, _dispatchInfo, _resultOut) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _normalOnSurfaceB = __stackBase__;
    var _pos1 = __stackBase__+16;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    __ZN16btManifoldResult20refreshContactPointsEv_exit10$_bb$8029: do { 
      if (!_2) {
        ;
        var _3 = _resultOut+4;
        IHEAP[_3] = _1;
        var _4 = _col0+192;
        var _5 = IHEAP[_4];
        var _6 = _col1+192;
        var _7 = IHEAP[_6];
        var _8 = _col0+4+48+8;
        var _9 = FHEAP[_8];
        var _10 = _col1+4+48+8;
        var _11 = FHEAP[_10];
        var _12 = _9 - _11;
        var _13 = _col0+4+48+4;
        var _14 = FHEAP[_13];
        var _15 = _col1+4+48+4;
        var _16 = FHEAP[_15];
        var _17 = _14 - _16;
        var _18 = _col0+4+48;
        var _19 = FHEAP[_18];
        var _20 = _col1+4+48;
        var _21 = FHEAP[_20];
        var _22 = _19 - _21;
        var _23 = _22 * _22;
        var _24 = _17 * _17;
        var _25 = _23 + _24;
        var _26 = _12 * _12;
        var _27 = _25 + _26;
        var _28 = _sqrtf(_27);
        var _29 = _5+24+4;
        var _30 = _29;
        var _31 = FHEAP[_30];
        var _32 = _5+12;
        var _33 = _32;
        var _34 = FHEAP[_33];
        var _35 = _31 * _34;
        var _36 = _7+24+4;
        var _37 = _36;
        var _38 = FHEAP[_37];
        var _39 = _7+12;
        var _40 = _39;
        var _41 = FHEAP[_40];
        var _42 = _38 * _41;
        var _43 = _35 + _42;
        var _44 = _43 < _28;
        ;
        if (_44) {
          ;
          var _45 = _1+1116;
          var _46 = IHEAP[_45];
          var _47 = _46 == 0;
          if (_47) { __label__ = 1626; /* __ZN16btManifoldResult20refreshContactPointsEv_exit10 */ break __ZN16btManifoldResult20refreshContactPointsEv_exit10$_bb$8029; }
          var _48 = _1+1108;
          var _49 = IHEAP[_48];
          var _50 = _resultOut+136;
          var _51 = IHEAP[_50];
          var _52 = _51;
          var _53 = _49 == _52;
          ;
          if (_53) {
            ;
            var _56 = _resultOut+72;
            var _57 = _resultOut+8;
            __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_1, _57, _56);
            STACKTOP = __stackBase__;
            return;
          }
          else {
            ;
            var _54 = _resultOut+8;
            var _55 = _resultOut+72;
            __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_1, _55, _54);
            STACKTOP = __stackBase__;
            return;
          }
        }
        else {
          ;
          var _58 = _28 - _43;
          var _59 = _normalOnSurfaceB;
          FHEAP[_59] = 1;
          var _60 = _normalOnSurfaceB+4;
          FHEAP[_60] = 0;
          var _61 = _normalOnSurfaceB+8;
          FHEAP[_61] = 0;
          var _62 = _normalOnSurfaceB+12;
          FHEAP[_62] = 0;
          var _63 = _28 > 1.1920928955078125e-7;
          ;
          if (_63) {
            __lastLabel__ = 0; ;
            var _64 = 1 / _28;
            var _65 = _12 * _64;
            var _66 = _17 * _64;
            var _67 = _22 * _64;
            FHEAP[_59] = _67;
            FHEAP[_60] = _66;
            FHEAP[_61] = _65;
            FHEAP[_62] = 0;
            __lastLabel__ = 116; ;
          }
          else {
            __lastLabel__ = 0; ;
          }
          var _68 = __lastLabel__ == 116 ? _67 : (1);
          var _69 = __lastLabel__ == 116 ? _66 : (0);
          var _70 = __lastLabel__ == 116 ? _65 : (0);
          var _71 = _70 * _42;
          var _72 = _69 * _42;
          var _73 = _68 * _42;
          var _74 = _11 + _71;
          var _75 = _16 + _72;
          var _76 = _21 + _73;
          var _77 = _pos1;
          FHEAP[_77] = _76;
          var _78 = _pos1+4;
          FHEAP[_78] = _75;
          var _79 = _pos1+8;
          FHEAP[_79] = _74;
          var _80 = _pos1+12;
          FHEAP[_80] = 0;
          var _81 = _resultOut;
          var _82 = IHEAP[_81];
          var _83 = _82+16;
          var _84 = IHEAP[_83];
          var _85 = _84;
          FUNCTION_TABLE[_85](_resultOut, _normalOnSurfaceB, _pos1, _58);
          var _86 = IHEAP[_3];
          var _87 = _86+1116;
          var _88 = IHEAP[_87];
          var _89 = _88 == 0;
          if (_89) { __label__ = 1626; /* __ZN16btManifoldResult20refreshContactPointsEv_exit10 */ break __ZN16btManifoldResult20refreshContactPointsEv_exit10$_bb$8029; }
          var _90 = _86+1108;
          var _91 = IHEAP[_90];
          var _92 = _resultOut+136;
          var _93 = IHEAP[_92];
          var _94 = _93;
          var _95 = _91 == _94;
          ;
          if (_95) {
            ;
            var _98 = _resultOut+72;
            var _99 = _resultOut+8;
            __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_86, _99, _98);
            STACKTOP = __stackBase__;
            return;
          }
          else {
            ;
            var _96 = _resultOut+8;
            var _97 = _resultOut+72;
            __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_86, _97, _96);
            STACKTOP = __stackBase__;
            return;
          }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN32btSphereSphereCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN32btSphereSphereCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN32btSphereSphereCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN32btSphereSphereCollisionAlgorithmD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV32btSphereSphereCollisionAlgorithm+8;
    var _1 = _this+8;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$8047: do { 
      if (!_toBool) {
        ;
        var _3 = _this+12;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$8047; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$8047; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _15 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    var _14 = _this;
    __ZdlPv(_14);
    ;
    return;
  }
  __ZN32btSphereSphereCollisionAlgorithmD0Ev.__index__ = Runtime.getFunctionIndex(__ZN32btSphereSphereCollisionAlgorithmD0Ev, "__ZN32btSphereSphereCollisionAlgorithmD0Ev");
  
  
  function __ZN32btSphereSphereCollisionAlgorithmD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV32btSphereSphereCollisionAlgorithm+8;
    var _1 = _this+8;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$8056: do { 
      if (!_toBool) {
        ;
        var _3 = _this+12;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$8056; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$8056; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _14 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    ;
    return;
  }
  __ZN32btSphereSphereCollisionAlgorithmD1Ev.__index__ = Runtime.getFunctionIndex(__ZN32btSphereSphereCollisionAlgorithmD1Ev, "__ZN32btSphereSphereCollisionAlgorithmD1Ev");
  
  
  function __ZN32btSphereSphereCollisionAlgorithmD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV32btSphereSphereCollisionAlgorithm+8;
    var _1 = _this+8;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$8065: do { 
      if (!_toBool) {
        ;
        var _3 = _this+12;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$8065; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$8065; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _14 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    ;
    return;
  }
  __ZN32btSphereSphereCollisionAlgorithmD2Ev.__index__ = Runtime.getFunctionIndex(__ZN32btSphereSphereCollisionAlgorithmD2Ev, "__ZN32btSphereSphereCollisionAlgorithmD2Ev");
  
  
  function __ZN32btSphereSphereCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_(_this, _mf, _ci, _col0, _col1) {
    ;
    var __label__;
    var _0 = _this;
    __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_0, _ci, _col0, _col1);
    var _1 = _this;
    IHEAP[_1] = __ZTV32btSphereSphereCollisionAlgorithm+8;
    var _2 = _this+8;
    IHEAP[_2] = 0;
    var _3 = _this+12;
    IHEAP[_3] = _mf;
    var _4 = _mf == 0;
    ;
    if (_4) {
      ;
      var _5 = _this+4;
      var _6 = IHEAP[_5];
      var _7 = _6;
      var _8 = IHEAP[_7];
      var _9 = _8+12;
      var _10 = IHEAP[_9];
      var _11 = _10;
      var _12 = _col0;
      var _13 = _col1;
      var _14 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_11](_6, _12, _13) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
      if (__label__ == 345) {
        IHEAP[_3] = _14;
        IHEAP[_2] = 1;
        ;
        return;
      }
      else if (__label__ == 254) {
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select6 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 3765; /* _lpad7 */  }
        if (__label__ == 1102) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3765) {
          var _eh_ptr8 = _llvm_eh_exception();
          var _eh_select10 = _llvm_eh_selector(_eh_ptr8, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN32btSphereSphereCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_.__index__ = Runtime.getFunctionIndex(__ZN32btSphereSphereCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_, "__ZN32btSphereSphereCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_");
  
  
  function __ZN34btSphereTriangleCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b(_this, _mf, _ci, _col0, _col1, _swapped) {
    ;
    var __label__;
    var _0 = _this;
    __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_0, _ci, _col0, _col1);
    var _1 = _this;
    IHEAP[_1] = __ZTV34btSphereTriangleCollisionAlgorithm+8;
    var _2 = _this+8;
    IHEAP[_2] = 0;
    var _3 = _this+12;
    IHEAP[_3] = _mf;
    var _4 = _this+16;
    IHEAP[_4] = _swapped;
    var _5 = _mf == 0;
    ;
    if (_5) {
      ;
      var _6 = _this+4;
      var _7 = IHEAP[_6];
      var _8 = _7;
      var _9 = IHEAP[_8];
      var _10 = _9+12;
      var _11 = IHEAP[_10];
      var _12 = _11;
      var _13 = _col0;
      var _14 = _col1;
      var _15 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _13, _14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
      if (__label__ == 345) {
        IHEAP[_3] = _15;
        IHEAP[_2] = 1;
        ;
        return;
      }
      else if (__label__ == 254) {
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select6 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 3765; /* _lpad7 */  }
        if (__label__ == 1102) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3765) {
          var _eh_ptr8 = _llvm_eh_exception();
          var _eh_select10 = _llvm_eh_selector(_eh_ptr8, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN34btSphereTriangleCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b.__index__ = Runtime.getFunctionIndex(__ZN34btSphereTriangleCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b, "__ZN34btSphereTriangleCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b");
  
  
  function __ZN34btSphereTriangleCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult(_this, _col0, _col1, _dispatchInfo, _resultOut) {
    var __stackBase__  = STACKTOP; STACKTOP += 152;
    var __label__;
    var _detector = __stackBase__;
    var _input = __stackBase__+16;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    __ZN16btManifoldResult20refreshContactPointsEv_exit$_bb$8100: do { 
      if (!_2) {
        ;
        var _3 = _this+16;
        var _4 = IHEAP[_3];
        var _toBool = _4 == 0;
        var _iftmp_185_0 = _toBool ? _col0 : _col1;
        var _iftmp_186_0 = _toBool ? _col1 : _col0;
        var _5 = _iftmp_185_0+192;
        var _6 = IHEAP[_5];
        var _7 = _6;
        var _8 = _iftmp_186_0+192;
        var _9 = IHEAP[_8];
        var _10 = _9;
        var _11 = _resultOut+4;
        IHEAP[_11] = _1;
        var _12 = IHEAP[_0];
        var _13 = __ZNK20btPersistentManifold27getContactBreakingThresholdEv(_12);
        __ZN22SphereTriangleDetectorC1EP13btSphereShapeP15btTriangleShapef(_detector, _7, _10, _13);
        var _14 = _input+128;
        var _15 = _input+132;
        IHEAP[_15] = 0;
        FHEAP[_14] = 999999984306749400;
        var _16 = _input;
        var _17 = _iftmp_185_0+4;
        var _18 = FHEAP[_17];
        FHEAP[_16] = _18;
        var _19 = _input+4;
        var _20 = _iftmp_185_0+4+4;
        var _21 = FHEAP[_20];
        FHEAP[_19] = _21;
        var _22 = _input+8;
        var _23 = _iftmp_185_0+4+8;
        var _24 = FHEAP[_23];
        FHEAP[_22] = _24;
        var _25 = _input+12;
        var _26 = _iftmp_185_0+4+12;
        var _27 = FHEAP[_26];
        FHEAP[_25] = _27;
        var _28 = _input+16;
        var _29 = _iftmp_185_0+4+16;
        var _30 = FHEAP[_29];
        FHEAP[_28] = _30;
        var _31 = _input+16+4;
        var _32 = _iftmp_185_0+4+16+4;
        var _33 = FHEAP[_32];
        FHEAP[_31] = _33;
        var _34 = _input+16+8;
        var _35 = _iftmp_185_0+4+16+8;
        var _36 = FHEAP[_35];
        FHEAP[_34] = _36;
        var _37 = _input+16+12;
        var _38 = _iftmp_185_0+4+16+12;
        var _39 = FHEAP[_38];
        FHEAP[_37] = _39;
        var _40 = _input+32;
        var _41 = _iftmp_185_0+4+32;
        var _42 = FHEAP[_41];
        FHEAP[_40] = _42;
        var _43 = _input+32+4;
        var _44 = _iftmp_185_0+4+32+4;
        var _45 = FHEAP[_44];
        FHEAP[_43] = _45;
        var _46 = _input+32+8;
        var _47 = _iftmp_185_0+4+32+8;
        var _48 = FHEAP[_47];
        FHEAP[_46] = _48;
        var _49 = _input+32+12;
        var _50 = _iftmp_185_0+4+32+12;
        var _51 = FHEAP[_50];
        FHEAP[_49] = _51;
        var _52 = _input+48;
        var _53 = _iftmp_185_0+4+48;
        var _54 = FHEAP[_53];
        FHEAP[_52] = _54;
        var _55 = _input+48+4;
        var _56 = _iftmp_185_0+4+48+4;
        var _57 = FHEAP[_56];
        FHEAP[_55] = _57;
        var _58 = _input+48+8;
        var _59 = _iftmp_185_0+4+48+8;
        var _60 = FHEAP[_59];
        FHEAP[_58] = _60;
        var _61 = _input+48+12;
        var _62 = _iftmp_185_0+4+48+12;
        var _63 = FHEAP[_62];
        FHEAP[_61] = _63;
        var _64 = _input+64;
        var _65 = _iftmp_186_0+4;
        var _66 = FHEAP[_65];
        FHEAP[_64] = _66;
        var _67 = _input+64+4;
        var _68 = _iftmp_186_0+4+4;
        var _69 = FHEAP[_68];
        FHEAP[_67] = _69;
        var _70 = _input+64+8;
        var _71 = _iftmp_186_0+4+8;
        var _72 = FHEAP[_71];
        FHEAP[_70] = _72;
        var _73 = _input+64+12;
        var _74 = _iftmp_186_0+4+12;
        var _75 = FHEAP[_74];
        FHEAP[_73] = _75;
        var _76 = _input+64+16;
        var _77 = _iftmp_186_0+4+16;
        var _78 = FHEAP[_77];
        FHEAP[_76] = _78;
        var _79 = _input+64+16+4;
        var _80 = _iftmp_186_0+4+16+4;
        var _81 = FHEAP[_80];
        FHEAP[_79] = _81;
        var _82 = _input+64+16+8;
        var _83 = _iftmp_186_0+4+16+8;
        var _84 = FHEAP[_83];
        FHEAP[_82] = _84;
        var _85 = _input+64+16+12;
        var _86 = _iftmp_186_0+4+16+12;
        var _87 = FHEAP[_86];
        FHEAP[_85] = _87;
        var _88 = _input+64+32;
        var _89 = _iftmp_186_0+4+32;
        var _90 = FHEAP[_89];
        FHEAP[_88] = _90;
        var _91 = _input+64+32+4;
        var _92 = _iftmp_186_0+4+32+4;
        var _93 = FHEAP[_92];
        FHEAP[_91] = _93;
        var _94 = _input+64+32+8;
        var _95 = _iftmp_186_0+4+32+8;
        var _96 = FHEAP[_95];
        FHEAP[_94] = _96;
        var _97 = _input+64+32+12;
        var _98 = _iftmp_186_0+4+32+12;
        var _99 = FHEAP[_98];
        FHEAP[_97] = _99;
        var _100 = _input+64+48;
        var _101 = _iftmp_186_0+4+48;
        var _102 = FHEAP[_101];
        FHEAP[_100] = _102;
        var _103 = _input+64+48+4;
        var _104 = _iftmp_186_0+4+48+4;
        var _105 = FHEAP[_104];
        FHEAP[_103] = _105;
        var _106 = _input+64+48+8;
        var _107 = _iftmp_186_0+4+48+8;
        var _108 = FHEAP[_107];
        FHEAP[_106] = _108;
        var _109 = _input+64+48+12;
        var _110 = _iftmp_186_0+4+48+12;
        var _111 = FHEAP[_110];
        FHEAP[_109] = _111;
        var _112 = IHEAP[_3];
        var _113 = _dispatchInfo+20;
        var _114 = IHEAP[_113];
        var _115 = _resultOut;
        __ZN22SphereTriangleDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(_detector, _input, _115, _114, _112);
        var _116 = _this+8;
        var _117 = IHEAP[_116];
        var _toBool8 = _117 == 0;
        if (_toBool8) { __label__ = 990; /* __ZN16btManifoldResult20refreshContactPointsEv_exit */ break __ZN16btManifoldResult20refreshContactPointsEv_exit$_bb$8100; }
        var _118 = IHEAP[_11];
        var _119 = _118+1116;
        var _120 = IHEAP[_119];
        var _121 = _120 == 0;
        if (_121) { __label__ = 990; /* __ZN16btManifoldResult20refreshContactPointsEv_exit */ break __ZN16btManifoldResult20refreshContactPointsEv_exit$_bb$8100; }
        var _122 = _118+1108;
        var _123 = IHEAP[_122];
        var _124 = _resultOut+136;
        var _125 = IHEAP[_124];
        var _126 = _125;
        var _127 = _123 == _126;
        ;
        if (_127) {
          ;
          var _130 = _resultOut+72;
          var _131 = _resultOut+8;
          __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_118, _131, _130);
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _128 = _resultOut+8;
          var _129 = _resultOut+72;
          __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_118, _129, _128);
          STACKTOP = __stackBase__;
          return;
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN34btSphereTriangleCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__ = Runtime.getFunctionIndex(__ZN34btSphereTriangleCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, "__ZN34btSphereTriangleCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult");
  
  
  function __ZN34btSphereTriangleCollisionAlgorithmD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV34btSphereTriangleCollisionAlgorithm+8;
    var _1 = _this+8;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$8109: do { 
      if (!_toBool) {
        ;
        var _3 = _this+12;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$8109; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$8109; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _15 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    var _14 = _this;
    __ZdlPv(_14);
    ;
    return;
  }
  __ZN34btSphereTriangleCollisionAlgorithmD0Ev.__index__ = Runtime.getFunctionIndex(__ZN34btSphereTriangleCollisionAlgorithmD0Ev, "__ZN34btSphereTriangleCollisionAlgorithmD0Ev");
  
  
  function __ZN34btSphereTriangleCollisionAlgorithmD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV34btSphereTriangleCollisionAlgorithm+8;
    var _1 = _this+8;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$8118: do { 
      if (!_toBool) {
        ;
        var _3 = _this+12;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$8118; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$8118; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _14 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    ;
    return;
  }
  __ZN34btSphereTriangleCollisionAlgorithmD1Ev.__index__ = Runtime.getFunctionIndex(__ZN34btSphereTriangleCollisionAlgorithmD1Ev, "__ZN34btSphereTriangleCollisionAlgorithmD1Ev");
  
  
  function __ZN34btSphereTriangleCollisionAlgorithmD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV34btSphereTriangleCollisionAlgorithm+8;
    var _1 = _this+8;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$8127: do { 
      if (!_toBool) {
        ;
        var _3 = _this+12;
        var _4 = IHEAP[_3];
        var _5 = _4 == 0;
        if (_5) { __label__ = 82; /* _bb5 */ break _bb5$_bb$8127; }
        var _6 = _this+4;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+16;
        var _11 = IHEAP[_10];
        var _12 = _11;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$8127; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _14 = _this;
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _13 = _this;
    __ZN30btActivatingCollisionAlgorithmD2Ev(_13);
    ;
    return;
  }
  __ZN34btSphereTriangleCollisionAlgorithmD2Ev.__index__ = Runtime.getFunctionIndex(__ZN34btSphereTriangleCollisionAlgorithmD2Ev, "__ZN34btSphereTriangleCollisionAlgorithmD2Ev");
  
  
  function __ZN34btSphereTriangleCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b(_this, _mf, _ci, _col0, _col1, _swapped) {
    ;
    var __label__;
    var _0 = _this;
    __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_0, _ci, _col0, _col1);
    var _1 = _this;
    IHEAP[_1] = __ZTV34btSphereTriangleCollisionAlgorithm+8;
    var _2 = _this+8;
    IHEAP[_2] = 0;
    var _3 = _this+12;
    IHEAP[_3] = _mf;
    var _4 = _this+16;
    IHEAP[_4] = _swapped;
    var _5 = _mf == 0;
    ;
    if (_5) {
      ;
      var _6 = _this+4;
      var _7 = IHEAP[_6];
      var _8 = _7;
      var _9 = IHEAP[_8];
      var _10 = _9+12;
      var _11 = IHEAP[_10];
      var _12 = _11;
      var _13 = _col0;
      var _14 = _col1;
      var _15 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_7, _13, _14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
      if (__label__ == 345) {
        IHEAP[_3] = _15;
        IHEAP[_2] = 1;
        ;
        return;
      }
      else if (__label__ == 254) {
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select6 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 3765; /* _lpad7 */  }
        if (__label__ == 1102) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3765) {
          var _eh_ptr8 = _llvm_eh_exception();
          var _eh_select10 = _llvm_eh_selector(_eh_ptr8, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN34btSphereTriangleCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b.__index__ = Runtime.getFunctionIndex(__ZN34btSphereTriangleCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b, "__ZN34btSphereTriangleCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b");
  
  
  function __ZN11btUnionFindD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (!_2) {
      ;
      var _3 = _this+16;
      var _4 = IHEAP[_3];
      var _toBool_i_i_i = _4 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$8148: do { 
        if (!_toBool_i_i_i) {
          ;
          var _5 = _1;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$8148; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select6 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _11 = IHEAP[_0];
          var _12 = _11 == 0;
          ;
          if (!_12) {
            ;
            var _13 = IHEAP[_3];
            var _toBool_i_i_i17 = _13 == 0;
            ;
            _bb2_i_i_i20$_bb1_i_i_i19$8153: do { 
              if (!_toBool_i_i_i17) {
                ;
                var _14 = _11;
                (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3919; /* _bb2_i_i_i20 */ break _bb2_i_i_i20$_bb1_i_i_i19$8153; } else { ; }
                var _eh_ptr8 = _llvm_eh_exception();
                var _eh_select10 = _llvm_eh_selector(_eh_ptr8, ___gxx_personality_v0, 1);
                __ZSt9terminatev();
                // unreachable
              }
            } while(0);
            IHEAP[_0] = 0;
            ;
          }
          IHEAP[_3] = 1;
          IHEAP[_0] = 0;
          var _6 = _this+4;
          IHEAP[_6] = 0;
          var _7 = _this+8;
          IHEAP[_7] = 0;
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
      } while(0);
      IHEAP[_0] = 0;
      ;
    }
    var _8 = _this+16;
    var _9 = _this+4;
    var _10 = _this+8;
    IHEAP[_8] = 1;
    IHEAP[_0] = 0;
    IHEAP[_9] = 0;
    IHEAP[_10] = 0;
    ;
    return;
  }
  __ZN11btUnionFindD2Ev.__index__ = Runtime.getFunctionIndex(__ZN11btUnionFindD2Ev, "__ZN11btUnionFindD2Ev");
  
  
  function __ZN20btAlignedObjectArrayI9btElementE6resizeEiRKS0_(_this, _newsize, _fillData) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > _newsize;
    ;
    _bb12$_bb3$8205: do { 
      if (!_2) {
        ;
        var _3 = _1 < _newsize;
        if (!(_3)) { __label__ = 3; /* _bb12 */ break _bb12$_bb3$8205; }
        var _4 = _this+8;
        var _5 = IHEAP[_4];
        var _6 = _5 < _newsize;
        ;
        if (_6) {
          ;
          var _7 = _newsize == 0;
          ;
          if (_7) {
            __lastLabel__ = 131; ;
          }
          else {
            __lastLabel__ = 131; ;
            var _8 = _newsize << 3;
            var _9 = __Z22btAlignedAllocInternalji(_8, 16);
            var _phitmp_i = _9;
            var __pre = IHEAP[_0];
            __lastLabel__ = 215; ;
          }
          var _10 = __lastLabel__ == 215 ? __pre : (_1);
          var _11 = __lastLabel__ == 215 ? _phitmp_i : (0);
          var _12 = _10 > 0;
          ;
          _bb_nph_i_i$__ZNK20btAlignedObjectArrayI9btElementE4copyEiiPS0__exit_i$8213: do { 
            if (_12) {
              ;
              var _13 = _this+12;
              __lastLabel__ = 217; ;
              _bb_i4_i$8215: while(1) { // _bb_i4_i
                var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
                var _scevgep_i_i = _11+8*_indvar_i_i;
                var _14 = _scevgep_i_i == 0;
                ;
                if (!_14) {
                  ;
                  var _scevgep12_i_i = _11+8*_indvar_i_i+4;
                  var _scevgep11_i_i = _11+8*_indvar_i_i;
                  var _15 = IHEAP[_13];
                  var _scevgep89_i_i = _15+8*_indvar_i_i;
                  var _16 = IHEAP[_scevgep89_i_i];
                  var _scevgep10_i_i = _15+8*_indvar_i_i+4;
                  var _17 = IHEAP[_scevgep10_i_i];
                  IHEAP[_scevgep11_i_i] = _16;
                  IHEAP[_scevgep12_i_i] = _17;
                  ;
                }
                var _indvar_next_i_i = _indvar_i_i + 1;
                var _exitcond21 = _indvar_next_i_i == _10;
                if (_exitcond21) { __lastLabel__ = 324; __label__ = 1639; /* __ZNK20btAlignedObjectArrayI9btElementE4copyEiiPS0__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayI9btElementE4copyEiiPS0__exit_i$8213; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$8215; }
              }
            }
          } while(0);
          var _18 = _this+12;
          var _19 = IHEAP[_18];
          var _20 = _19 == 0;
          ;
          if (!_20) {
            ;
            var _21 = _this+16;
            var _22 = IHEAP[_21];
            var _toBool_i_i = _22 == 0;
            ;
            if (!_toBool_i_i) {
              ;
              var _23 = _19;
              __Z21btAlignedFreeInternalPv(_23);
              ;
            }
            IHEAP[_18] = 0;
            ;
          }
          var _24 = _this+16;
          IHEAP[_24] = 1;
          IHEAP[_18] = _11;
          IHEAP[_4] = _newsize;
          if (!(_3)) { __label__ = 3; /* _bb12 */ break _bb12$_bb3$8205; }
        }
        var _25 = _this+12;
        var _26 = _fillData;
        var _27 = _fillData+4;
        var _tmp = _newsize - _1;
        __lastLabel__ = 130; ;
        _bb7$8228: while(1) { // _bb7
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp17 = _1 + _indvar;
          var _28 = IHEAP[_25];
          var _scevgep = _28+8*_tmp17;
          var _29 = _scevgep == 0;
          ;
          if (!_29) {
            ;
            var _30 = IHEAP[_26];
            var _31 = IHEAP[_27];
            var _scevgep1819 = _28+8*_tmp17;
            IHEAP[_scevgep1819] = _30;
            var _scevgep20 = _28+8*_tmp17+4;
            IHEAP[_scevgep20] = _31;
            ;
          }
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _tmp;
          if (_exitcond) { __lastLabel__ = 150; __label__ = 3; /* _bb12 */ break _bb12$_bb3$8205; } else { __lastLabel__ = 150; __label__ = 2; /* _bb7 */ continue _bb7$8228; }
        }
      }
    } while(0);
    IHEAP[_0] = _newsize;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI9btElementE6resizeEiRKS0_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI9btElementE6resizeEiRKS0_, "__ZN20btAlignedObjectArrayI9btElementE6resizeEiRKS0_");
  
  
  function __ZN11btUnionFindD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (!_2) {
      ;
      var _3 = _this+16;
      var _4 = IHEAP[_3];
      var _toBool_i_i_i = _4 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$8244: do { 
        if (!_toBool_i_i_i) {
          ;
          var _5 = _1;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$8244; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select6 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _11 = IHEAP[_0];
          var _12 = _11 == 0;
          ;
          if (!_12) {
            ;
            var _13 = IHEAP[_3];
            var _toBool_i_i_i17 = _13 == 0;
            ;
            _bb2_i_i_i20$_bb1_i_i_i19$8249: do { 
              if (!_toBool_i_i_i17) {
                ;
                var _14 = _11;
                (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3919; /* _bb2_i_i_i20 */ break _bb2_i_i_i20$_bb1_i_i_i19$8249; } else { ; }
                var _eh_ptr8 = _llvm_eh_exception();
                var _eh_select10 = _llvm_eh_selector(_eh_ptr8, ___gxx_personality_v0, 1);
                __ZSt9terminatev();
                // unreachable
              }
            } while(0);
            IHEAP[_0] = 0;
            ;
          }
          IHEAP[_3] = 1;
          IHEAP[_0] = 0;
          var _6 = _this+4;
          IHEAP[_6] = 0;
          var _7 = _this+8;
          IHEAP[_7] = 0;
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
      } while(0);
      IHEAP[_0] = 0;
      ;
    }
    var _8 = _this+16;
    var _9 = _this+4;
    var _10 = _this+8;
    IHEAP[_8] = 1;
    IHEAP[_0] = 0;
    IHEAP[_9] = 0;
    IHEAP[_10] = 0;
    ;
    return;
  }
  __ZN11btUnionFindD1Ev.__index__ = Runtime.getFunctionIndex(__ZN11btUnionFindD1Ev, "__ZN11btUnionFindD1Ev");
  
  
  function __ZN22SphereTriangleDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(_this, _input, _output, _debugDraw, _swapResults) {
    var __stackBase__  = STACKTOP; STACKTOP += 162;
    var __label__;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _point = __stackBase__+32;
    var _normal = __stackBase__+48;
    var _timeOfImpact = __stackBase__+64;
    var _depth = __stackBase__+65;
    var _sphereInTr = __stackBase__+66;
    var _normalOnA = __stackBase__+130;
    var _pointOnA = __stackBase__+146;
    FHEAP[_timeOfImpact] = 1;
    FHEAP[_depth] = 0;
    var _2 = _input+48+8;
    var _3 = FHEAP[_2];
    var _4 = _input+64+48+8;
    var _5 = FHEAP[_4];
    var _6 = _3 - _5;
    var _7 = _input+48+4;
    var _8 = FHEAP[_7];
    var _9 = _input+64+48+4;
    var _10 = FHEAP[_9];
    var _11 = _8 - _10;
    var _12 = _input+48;
    var _13 = FHEAP[_12];
    var _14 = _input+64+48;
    var _15 = FHEAP[_14];
    var _16 = _13 - _15;
    var _17 = _input+64+8;
    var _18 = FHEAP[_17];
    var _19 = _18 * _16;
    var _20 = _input+64+16+8;
    var _21 = FHEAP[_20];
    var _22 = _21 * _11;
    var _23 = _19 + _22;
    var _24 = _input+64+32+8;
    var _25 = FHEAP[_24];
    var _26 = _25 * _6;
    var _27 = _23 + _26;
    var _28 = _input+64+4;
    var _29 = FHEAP[_28];
    var _30 = _29 * _16;
    var _31 = _input+64+16+4;
    var _32 = FHEAP[_31];
    var _33 = _32 * _11;
    var _34 = _30 + _33;
    var _35 = _input+64+32+4;
    var _36 = FHEAP[_35];
    var _37 = _36 * _6;
    var _38 = _34 + _37;
    var _39 = _input+64;
    var _40 = FHEAP[_39];
    var _41 = _40 * _16;
    var _42 = _input+64+16;
    var _43 = FHEAP[_42];
    var _44 = _43 * _11;
    var _45 = _41 + _44;
    var _46 = _input+64+32;
    var _47 = FHEAP[_46];
    var _48 = _47 * _6;
    var _49 = _45 + _48;
    var _50 = _input+8;
    var _51 = FHEAP[_50];
    var _52 = _18 * _51;
    var _53 = _input+16+8;
    var _54 = FHEAP[_53];
    var _55 = _21 * _54;
    var _56 = _52 + _55;
    var _57 = _input+32+8;
    var _58 = FHEAP[_57];
    var _59 = _25 * _58;
    var _60 = _56 + _59;
    var _61 = _input+4;
    var _62 = FHEAP[_61];
    var _63 = _18 * _62;
    var _64 = _input+16+4;
    var _65 = FHEAP[_64];
    var _66 = _21 * _65;
    var _67 = _63 + _66;
    var _68 = _input+32+4;
    var _69 = FHEAP[_68];
    var _70 = _25 * _69;
    var _71 = _67 + _70;
    var _72 = _input;
    var _73 = FHEAP[_72];
    var _74 = _18 * _73;
    var _75 = _input+16;
    var _76 = FHEAP[_75];
    var _77 = _21 * _76;
    var _78 = _74 + _77;
    var _79 = _input+32;
    var _80 = FHEAP[_79];
    var _81 = _25 * _80;
    var _82 = _78 + _81;
    var _83 = _29 * _51;
    var _84 = _32 * _54;
    var _85 = _83 + _84;
    var _86 = _36 * _58;
    var _87 = _85 + _86;
    var _88 = _29 * _62;
    var _89 = _32 * _65;
    var _90 = _88 + _89;
    var _91 = _36 * _69;
    var _92 = _90 + _91;
    var _93 = _29 * _73;
    var _94 = _32 * _76;
    var _95 = _93 + _94;
    var _96 = _36 * _80;
    var _97 = _95 + _96;
    var _98 = _40 * _51;
    var _99 = _43 * _54;
    var _100 = _98 + _99;
    var _101 = _47 * _58;
    var _102 = _100 + _101;
    var _103 = _40 * _62;
    var _104 = _43 * _65;
    var _105 = _103 + _104;
    var _106 = _47 * _69;
    var _107 = _105 + _106;
    var _108 = _40 * _73;
    var _109 = _43 * _76;
    var _110 = _108 + _109;
    var _111 = _47 * _80;
    var _112 = _110 + _111;
    var _113 = _sphereInTr;
    FHEAP[_113] = _112;
    var _114 = _sphereInTr+4;
    FHEAP[_114] = _107;
    var _115 = _sphereInTr+8;
    FHEAP[_115] = _102;
    var _116 = _sphereInTr+12;
    FHEAP[_116] = 0;
    var _117 = _sphereInTr+16;
    FHEAP[_117] = _97;
    var _118 = _sphereInTr+16+4;
    FHEAP[_118] = _92;
    var _119 = _sphereInTr+16+8;
    FHEAP[_119] = _87;
    var _120 = _sphereInTr+16+12;
    FHEAP[_120] = 0;
    var _121 = _sphereInTr+32;
    FHEAP[_121] = _82;
    var _122 = _sphereInTr+32+4;
    FHEAP[_122] = _71;
    var _123 = _sphereInTr+32+8;
    FHEAP[_123] = _60;
    var _124 = _sphereInTr+32+12;
    FHEAP[_124] = 0;
    var _125 = _sphereInTr+48;
    FHEAP[_125] = _49;
    var _126 = _sphereInTr+48+4;
    FHEAP[_126] = _38;
    var _127 = _sphereInTr+48+8;
    FHEAP[_127] = _27;
    var _128 = _sphereInTr+48+12;
    FHEAP[_128] = 0;
    var _129 = _this+12;
    var _130 = FHEAP[_129];
    var _131 = _sphereInTr+48;
    var _132 = __ZN22SphereTriangleDetector7collideERK9btVector3RS0_S3_RfS4_f(_this, _131, _point, _normal, _depth, _timeOfImpact, _130);
    var _toBool = _132 == 0;
    ;
    if (_toBool) {
      ;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      var _toBool1 = _swapResults == 0;
      ;
      if (_toBool1) {
        ;
        var _213 = _output;
        var _214 = IHEAP[_213];
        var _215 = _214+16;
        var _216 = IHEAP[_215];
        var _217 = FHEAP[_depth];
        var _218 = FHEAP[_46];
        var _219 = _point;
        var _220 = FHEAP[_219];
        var _221 = _218 * _220;
        var _222 = FHEAP[_35];
        var _223 = _point+4;
        var _224 = FHEAP[_223];
        var _225 = _222 * _224;
        var _226 = _221 + _225;
        var _227 = FHEAP[_24];
        var _228 = _point+8;
        var _229 = FHEAP[_228];
        var _230 = _227 * _229;
        var _231 = _226 + _230;
        var _232 = FHEAP[_4];
        var _233 = _231 + _232;
        var _234 = FHEAP[_42];
        var _235 = _234 * _220;
        var _236 = FHEAP[_31];
        var _237 = _236 * _224;
        var _238 = _235 + _237;
        var _239 = FHEAP[_20];
        var _240 = _239 * _229;
        var _241 = _238 + _240;
        var _242 = FHEAP[_9];
        var _243 = _241 + _242;
        var _244 = FHEAP[_39];
        var _245 = _244 * _220;
        var _246 = FHEAP[_28];
        var _247 = _246 * _224;
        var _248 = _245 + _247;
        var _249 = FHEAP[_17];
        var _250 = _249 * _229;
        var _251 = _248 + _250;
        var _252 = FHEAP[_14];
        var _253 = _251 + _252;
        var _254 = _1;
        FHEAP[_254] = _253;
        var _255 = _1+4;
        FHEAP[_255] = _243;
        var _256 = _1+8;
        FHEAP[_256] = _233;
        var _257 = _1+12;
        FHEAP[_257] = 0;
        var _258 = _normal;
        var _259 = FHEAP[_258];
        var _260 = _218 * _259;
        var _261 = _normal+4;
        var _262 = FHEAP[_261];
        var _263 = _222 * _262;
        var _264 = _260 + _263;
        var _265 = _normal+8;
        var _266 = FHEAP[_265];
        var _267 = _227 * _266;
        var _268 = _264 + _267;
        var _269 = _234 * _259;
        var _270 = _236 * _262;
        var _271 = _269 + _270;
        var _272 = _239 * _266;
        var _273 = _271 + _272;
        var _274 = _244 * _259;
        var _275 = _246 * _262;
        var _276 = _274 + _275;
        var _277 = _249 * _266;
        var _278 = _276 + _277;
        var _279 = _0;
        FHEAP[_279] = _278;
        var _280 = _0+4;
        FHEAP[_280] = _273;
        var _281 = _0+8;
        FHEAP[_281] = _268;
        var _282 = _0+12;
        FHEAP[_282] = 0;
        var _283 = _216;
        FUNCTION_TABLE[_283](_output, _0, _1, _217);
        STACKTOP = __stackBase__;
        return;
      }
      else {
        ;
        var _133 = FHEAP[_46];
        var _134 = _normal;
        var _135 = FHEAP[_134];
        var _136 = _133 * _135;
        var _137 = FHEAP[_35];
        var _138 = _normal+4;
        var _139 = FHEAP[_138];
        var _140 = _137 * _139;
        var _141 = _136 + _140;
        var _142 = FHEAP[_24];
        var _143 = _normal+8;
        var _144 = FHEAP[_143];
        var _145 = _142 * _144;
        var _146 = _141 + _145;
        var _147 = FHEAP[_42];
        var _148 = _147 * _135;
        var _149 = FHEAP[_31];
        var _150 = _149 * _139;
        var _151 = _148 + _150;
        var _152 = FHEAP[_20];
        var _153 = _152 * _144;
        var _154 = _151 + _153;
        var _155 = FHEAP[_39];
        var _156 = _155 * _135;
        var _157 = FHEAP[_28];
        var _158 = _157 * _139;
        var _159 = _156 + _158;
        var _160 = FHEAP[_17];
        var _161 = _160 * _144;
        var _162 = _159 + _161;
        var _163 = 0 - _146;
        var _164 = 0 - _154;
        var _165 = 0 - _162;
        var _166 = _normalOnA;
        FHEAP[_166] = _165;
        var _167 = _normalOnA+4;
        FHEAP[_167] = _164;
        var _168 = _normalOnA+8;
        FHEAP[_168] = _163;
        var _169 = _normalOnA+12;
        FHEAP[_169] = 0;
        var _170 = FHEAP[_depth];
        var _171 = _146 * _170;
        var _172 = _154 * _170;
        var _173 = _162 * _170;
        var _174 = _point;
        var _175 = FHEAP[_174];
        var _176 = _133 * _175;
        var _177 = _point+4;
        var _178 = FHEAP[_177];
        var _179 = _137 * _178;
        var _180 = _176 + _179;
        var _181 = _point+8;
        var _182 = FHEAP[_181];
        var _183 = _142 * _182;
        var _184 = _180 + _183;
        var _185 = FHEAP[_4];
        var _186 = _184 + _185;
        var _187 = _147 * _175;
        var _188 = _149 * _178;
        var _189 = _187 + _188;
        var _190 = _152 * _182;
        var _191 = _189 + _190;
        var _192 = FHEAP[_9];
        var _193 = _191 + _192;
        var _194 = _155 * _175;
        var _195 = _157 * _178;
        var _196 = _194 + _195;
        var _197 = _160 * _182;
        var _198 = _196 + _197;
        var _199 = FHEAP[_14];
        var _200 = _198 + _199;
        var _201 = _186 + _171;
        var _202 = _193 + _172;
        var _203 = _200 + _173;
        var _204 = _pointOnA;
        FHEAP[_204] = _203;
        var _205 = _pointOnA+4;
        FHEAP[_205] = _202;
        var _206 = _pointOnA+8;
        FHEAP[_206] = _201;
        var _207 = _pointOnA+12;
        FHEAP[_207] = 0;
        var _208 = _output;
        var _209 = IHEAP[_208];
        var _210 = _209+16;
        var _211 = IHEAP[_210];
        var _212 = _211;
        FUNCTION_TABLE[_212](_output, _normalOnA, _pointOnA, _170);
        STACKTOP = __stackBase__;
        return;
      }
    }
  }
  __ZN22SphereTriangleDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb.__index__ = Runtime.getFunctionIndex(__ZN22SphereTriangleDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb, "__ZN22SphereTriangleDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb");
  
  
  function __ZN22SphereTriangleDetector12facecontainsERK9btVector3PS1_RS0_(_this, _p, _vertices, _normal) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var _lp = __stackBase__;
    var _lnormal = __stackBase__+16;
    var _0 = _lp;
    var _1 = _p;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _lp+4;
    var _4 = _p+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _lp+8;
    var _7 = _p+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _lp+12;
    var _10 = _p+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _lnormal;
    var _13 = _normal;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _lnormal+4;
    var _16 = _normal+4;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _lnormal+8;
    var _19 = _normal+8;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _lnormal+12;
    var _22 = _normal+12;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    var _24 = __ZN22SphereTriangleDetector15pointInTriangleEPK9btVector3RS1_PS0_(_this, _vertices, _lnormal, _lp);
    STACKTOP = __stackBase__;
    return _24;
  }
  __ZN22SphereTriangleDetector12facecontainsERK9btVector3PS1_RS0_.__index__ = Runtime.getFunctionIndex(__ZN22SphereTriangleDetector12facecontainsERK9btVector3PS1_RS0_, "__ZN22SphereTriangleDetector12facecontainsERK9btVector3PS1_RS0_");
  
  
  function __ZN22SphereTriangleDetector7collideERK9btVector3RS0_S3_RfS4_f(_this, _sphereCenter, _point, _resultNormal, _depth, _timeOfImpact, _contactBreakingThreshold) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var __lastLabel__ = null;
    var _lp_i = __stackBase__;
    var _lnormal_i = __stackBase__+16;
    var _pa = __stackBase__+32;
    var _pb = __stackBase__+48;
    var _0 = _this+8;
    var _1 = IHEAP[_0];
    var _2 = _1+52;
    var _3 = _this+4;
    var _4 = IHEAP[_3];
    var _5 = _4+28;
    var _6 = FHEAP[_5];
    var _7 = _4+12;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _1+52+32+8;
    var _11 = FHEAP[_10];
    var _12 = _1+52+8;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _1+52+32+4;
    var _16 = FHEAP[_15];
    var _17 = _1+52+4;
    var _18 = FHEAP[_17];
    var _19 = _16 - _18;
    var _20 = _1+52+32;
    var _21 = FHEAP[_20];
    var _22 = _1+52;
    var _23 = FHEAP[_22];
    var _24 = _21 - _23;
    var _25 = _1+52+16+8;
    var _26 = FHEAP[_25];
    var _27 = _26 - _13;
    var _28 = _1+52+16+4;
    var _29 = FHEAP[_28];
    var _30 = _29 - _18;
    var _31 = _1+52+16;
    var _32 = FHEAP[_31];
    var _33 = _32 - _23;
    var _34 = _33 * _19;
    var _35 = _30 * _24;
    var _36 = _34 - _35;
    var _37 = _27 * _24;
    var _38 = _33 * _14;
    var _39 = _37 - _38;
    var _40 = _30 * _14;
    var _41 = _27 * _19;
    var _42 = _40 - _41;
    var _43 = _42 * _42;
    var _44 = _39 * _39;
    var _45 = _43 + _44;
    var _46 = _36 * _36;
    var _47 = _45 + _46;
    var _48 = _sqrtf(_47);
    var _49 = 1 / _48;
    var _50 = _42 * _49;
    var _51 = _39 * _49;
    var _52 = _36 * _49;
    var _53 = _sphereCenter+8;
    var _54 = FHEAP[_53];
    var _55 = _54 - _13;
    var _56 = _sphereCenter+4;
    var _57 = FHEAP[_56];
    var _58 = _57 - _18;
    var _59 = _sphereCenter;
    var _60 = FHEAP[_59];
    var _61 = _60 - _23;
    var _62 = _61 * _50;
    var _63 = _58 * _51;
    var _64 = _62 + _63;
    var _65 = _55 * _52;
    var _66 = _64 + _65;
    var _67 = _66 < 0;
    ;
    if (_67) {
      __lastLabel__ = -1; ;
      var _68 = 0 - _66;
      var _69 = _50 * -1;
      var _70 = _51 * -1;
      var _71 = _52 * -1;
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _normal_0_0_0 = __lastLabel__ == 60 ? _69 : (_50);
    var _normal_0_1_0 = __lastLabel__ == 60 ? _70 : (_51);
    var _normal_0_2_0 = __lastLabel__ == 60 ? _71 : (_52);
    var _distanceFromPlane_0 = __lastLabel__ == 60 ? _68 : (_66);
    var _72 = _normal_0_0_0 * 0;
    var _73 = _normal_0_1_0 * 0;
    var _74 = _72 + _73;
    var _75 = _normal_0_2_0 * 0;
    var _76 = _74 + _75;
    var _toBoolnot_not = _distanceFromPlane_0 < _9;
    var _77 = _76 < 0;
    var _or_cond = _toBoolnot_not | _77;
    ;
    _bb7$_bb37$8283: do { 
      if (_or_cond) {
        ;
        var _78 = _9 + _contactBreakingThreshold;
        var _79 = _78 > _distanceFromPlane_0;
        if (!(_79)) { __label__ = 1014; /* _bb37 */ break _bb7$_bb37$8283; }
        var _80 = _lp_i;
        FHEAP[_80] = _60;
        var _81 = _lp_i+4;
        FHEAP[_81] = _57;
        var _82 = _lp_i+8;
        FHEAP[_82] = _54;
        var _83 = _lp_i+12;
        var _84 = _sphereCenter+12;
        var _85 = FHEAP[_84];
        FHEAP[_83] = _85;
        var _86 = _lnormal_i;
        FHEAP[_86] = _normal_0_0_0;
        var _87 = _lnormal_i+4;
        FHEAP[_87] = _normal_0_1_0;
        var _88 = _lnormal_i+8;
        FHEAP[_88] = _normal_0_2_0;
        var _89 = _lnormal_i+12;
        FHEAP[_89] = 0;
        var _90 = __ZN22SphereTriangleDetector15pointInTriangleEPK9btVector3RS1_PS0_(_this, _2, _lnormal_i, _lp_i);
        var _toBool10 = _90 == 0;
        ;
        if (_toBool10) {
          ;
          var _97 = _78 * _78;
          var _98 = _1;
          var _99 = IHEAP[_98];
          var _100 = _99+88;
          var _101 = IHEAP[_100];
          var _102 = _101;
          var _103 = FUNCTION_TABLE[_102](_1);
          var _104 = _103 > 0;
          if (!(_104)) { __label__ = 1014; /* _bb37 */ break _bb7$_bb37$8283; }
          var _105 = _pa+8;
          var _106 = _pa+4;
          var _107 = _pa;
          var _108 = _pb+8;
          var _109 = _pb+4;
          var _110 = _pb;
          __lastLabel__ = 130; ;
          _bb16$8289: while(1) { // _bb16
            var _111 = __lastLabel__ == 130 ? 0 : (_tmp);
            var _hasContact_290 = __lastLabel__ == 130 ? 0 : (_hasContact_1);
            var _contactPoint_0_2_188 = __lastLabel__ == 130 ? undef : (_contactPoint_0_2_0);
            var _contactPoint_0_1_187 = __lastLabel__ == 130 ? undef : (_contactPoint_0_1_0);
            var _contactPoint_0_0_186 = __lastLabel__ == 130 ? undef : (_contactPoint_0_0_0);
            var _tmp = _111 + 1;
            var _112 = IHEAP[_0];
            var _113 = _112;
            var _114 = IHEAP[_113];
            var _115 = _114+92;
            var _116 = IHEAP[_115];
            var _117 = _116;
            FUNCTION_TABLE[_117](_112, _111, _pa, _pb);
            var _118 = FHEAP[_53];
            var _119 = FHEAP[_105];
            var _120 = _118 - _119;
            var _121 = FHEAP[_56];
            var _122 = FHEAP[_106];
            var _123 = _121 - _122;
            var _124 = FHEAP[_59];
            var _125 = FHEAP[_107];
            var _126 = _124 - _125;
            var _127 = FHEAP[_108];
            var _128 = _127 - _119;
            var _129 = FHEAP[_109];
            var _130 = _129 - _122;
            var _131 = FHEAP[_110];
            var _132 = _131 - _125;
            var _133 = _132 * _126;
            var _134 = _130 * _123;
            var _135 = _133 + _134;
            var _136 = _128 * _120;
            var _137 = _135 + _136;
            var _138 = _137 > 0;
            ;
            if (_138) {
              __lastLabel__ = 154; ;
              var _139 = _132 * _132;
              var _140 = _130 * _130;
              var _141 = _139 + _140;
              var _142 = _128 * _128;
              var _143 = _141 + _142;
              var _144 = _137 < _143;
              ;
              if (_144) {
                ;
                var _145 = _137 / _143;
                var _146 = _128 * _145;
                var _147 = _130 * _145;
                var _148 = _132 * _145;
                var _149 = _126 - _148;
                var _150 = _123 - _147;
                var _151 = _120 - _146;
                __lastLabel__ = 159; ;
              }
              else {
                ;
                var _152 = _126 - _132;
                var _153 = _123 - _130;
                var _154 = _120 - _128;
                __lastLabel__ = 132; ;
              }
            }
            else {
              __lastLabel__ = 154; ;
            }
            var _diff_0_0_0_i = __lastLabel__ == 159 ? _149 : (__lastLabel__ == 132 ? _152 : (_126));
            var _diff_0_1_0_i = __lastLabel__ == 159 ? _150 : (__lastLabel__ == 132 ? _153 : (_123));
            var _diff_0_2_0_i = __lastLabel__ == 159 ? _151 : (__lastLabel__ == 132 ? _154 : (_120));
            var _t_0_i = __lastLabel__ == 159 ? _145 : (__lastLabel__ == 132 ? 1 : (0));
            var _155 = _diff_0_0_0_i * _diff_0_0_0_i;
            var _156 = _diff_0_1_0_i * _diff_0_1_0_i;
            var _157 = _155 + _156;
            var _158 = _diff_0_2_0_i * _diff_0_2_0_i;
            var _159 = _157 + _158;
            var _160 = _159 < _97;
            ;
            if (_160) {
              __lastLabel__ = 4451; ;
              var _161 = _132 * _t_0_i;
              var _162 = _130 * _t_0_i;
              var _163 = _128 * _t_0_i;
              var _164 = _125 + _161;
              var _165 = _122 + _162;
              var _166 = _119 + _163;
              __lastLabel__ = 117; ;
            }
            else {
              __lastLabel__ = 4451; ;
            }
            var _contactPoint_0_0_0 = __lastLabel__ == 117 ? _164 : (_contactPoint_0_0_186);
            var _contactPoint_0_1_0 = __lastLabel__ == 117 ? _165 : (_contactPoint_0_1_187);
            var _contactPoint_0_2_0 = __lastLabel__ == 117 ? _166 : (_contactPoint_0_2_188);
            var _hasContact_1 = __lastLabel__ == 117 ? 1 : (_hasContact_290);
            var _167 = IHEAP[_0];
            var _168 = _167;
            var _169 = IHEAP[_168];
            var _170 = _169+88;
            var _171 = IHEAP[_170];
            var _172 = _171;
            var _173 = FUNCTION_TABLE[_172](_167);
            var _174 = _173 > _tmp;
            if (_174) { __lastLabel__ = 110; __label__ = 154; /* _bb16 */ continue _bb16$8289; } else { __lastLabel__ = 110; __label__ = 65; /* _bb24 */ break _bb16$8289; }
          }
          var _toBool25 = _hasContact_1 == 0;
          if (_toBool25) { __label__ = 1014; /* _bb37 */ break _bb7$_bb37$8283; }
          var __pre = FHEAP[_53];
          var __pre96 = FHEAP[_56];
          var __pre97 = FHEAP[_59];
          __lastLabel__ = 1652; ;
        }
        else {
          ;
          var _91 = _normal_0_2_0 * _distanceFromPlane_0;
          var _92 = _normal_0_1_0 * _distanceFromPlane_0;
          var _93 = _normal_0_0_0 * _distanceFromPlane_0;
          var _94 = _54 - _91;
          var _95 = _57 - _92;
          var _96 = _60 - _93;
          __lastLabel__ = 1648; ;
        }
        var _175 = __lastLabel__ == 1648 ? _60 : (__pre97);
        var _176 = __lastLabel__ == 1648 ? _57 : (__pre96);
        var _177 = __lastLabel__ == 1648 ? _54 : (__pre);
        var _contactPoint_0_2_284 = __lastLabel__ == 1648 ? _94 : (_contactPoint_0_2_0);
        var _contactPoint_0_1_283 = __lastLabel__ == 1648 ? _95 : (_contactPoint_0_1_0);
        var _contactPoint_0_0_282 = __lastLabel__ == 1648 ? _96 : (_contactPoint_0_0_0);
        var _178 = _177 - _contactPoint_0_2_284;
        var _179 = _176 - _contactPoint_0_1_283;
        var _180 = _175 - _contactPoint_0_0_282;
        var _181 = _180 * _180;
        var _182 = _179 * _179;
        var _183 = _181 + _182;
        var _184 = _178 * _178;
        var _185 = _183 + _184;
        var _186 = _9 * _9;
        var _187 = _186 > _185;
        ;
        if (_187) {
          ;
          var _188 = _sqrtf(_185);
          var _189 = _resultNormal;
          FHEAP[_189] = _180;
          var _190 = _resultNormal+4;
          FHEAP[_190] = _179;
          var _191 = _resultNormal+8;
          FHEAP[_191] = _178;
          var _192 = _resultNormal+12;
          FHEAP[_192] = 0;
          var _193 = _sqrtf(_185);
          var _194 = 1 / _193;
          var _195 = _180 * _194;
          FHEAP[_189] = _195;
          var _196 = _179 * _194;
          FHEAP[_190] = _196;
          var _197 = _178 * _194;
          FHEAP[_191] = _197;
          var _198 = _point;
          FHEAP[_198] = _contactPoint_0_0_282;
          var _199 = _point+4;
          FHEAP[_199] = _contactPoint_0_1_283;
          var _200 = _point+8;
          FHEAP[_200] = _contactPoint_0_2_284;
          var _201 = _point+12;
          FHEAP[_201] = 0;
          var _202 = _9 - _188;
          var _203 = 0 - _202;
          FHEAP[_depth] = _203;
          STACKTOP = __stackBase__;
          return 1;
        }
        else {
          ;
          var _204 = _180 * 0;
          var _205 = _179 * 0;
          var _206 = _204 + _205;
          var _207 = _178 * 0;
          var _208 = _206 + _207;
          var _209 = _208 < 0;
          if (!(_209)) { __label__ = 1014; /* _bb37 */ break _bb7$_bb37$8283; }
          var _210 = _point;
          FHEAP[_210] = _contactPoint_0_0_282;
          var _211 = _point+4;
          FHEAP[_211] = _contactPoint_0_1_283;
          var _212 = _point+8;
          FHEAP[_212] = _contactPoint_0_2_284;
          var _213 = _point+12;
          FHEAP[_213] = 0;
          FHEAP[_timeOfImpact] = 0;
          STACKTOP = __stackBase__;
          return 1;
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return 0;
  }
  __ZN22SphereTriangleDetector7collideERK9btVector3RS0_S3_RfS4_f.__index__ = Runtime.getFunctionIndex(__ZN22SphereTriangleDetector7collideERK9btVector3RS0_S3_RfS4_f, "__ZN22SphereTriangleDetector7collideERK9btVector3RS0_S3_RfS4_f");
  
  
  function __ZNK10btBoxShape7getAabbERK11btTransformR9btVector3S4_(_this, _t, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+44;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    var _6 = FUNCTION_TABLE[_5](_4);
    var _7 = _this+28+8;
    var _8 = FHEAP[_7];
    var _9 = _8 + _6;
    var _10 = _this+28+4;
    var _11 = FHEAP[_10];
    var _12 = _11 + _6;
    var _13 = _this+28;
    var _14 = FHEAP[_13];
    var _15 = _14 + _6;
    var _16 = _t+32+8;
    var _17 = FHEAP[_16];
    var _18 = _fabsf(_17);
    var _19 = _t+32+4;
    var _20 = FHEAP[_19];
    var _21 = _fabsf(_20);
    var _22 = _t+32;
    var _23 = FHEAP[_22];
    var _24 = _fabsf(_23);
    var _25 = _t+16+8;
    var _26 = FHEAP[_25];
    var _27 = _fabsf(_26);
    var _28 = _t+16+4;
    var _29 = FHEAP[_28];
    var _30 = _fabsf(_29);
    var _31 = _t+16;
    var _32 = FHEAP[_31];
    var _33 = _fabsf(_32);
    var _34 = _t+8;
    var _35 = FHEAP[_34];
    var _36 = _fabsf(_35);
    var _37 = _t+4;
    var _38 = FHEAP[_37];
    var _39 = _fabsf(_38);
    var _40 = _t;
    var _41 = FHEAP[_40];
    var _42 = _fabsf(_41);
    var _43 = _t+48;
    var _44 = FHEAP[_43];
    var _45 = _t+48+4;
    var _46 = FHEAP[_45];
    var _47 = _t+48+8;
    var _48 = FHEAP[_47];
    var _49 = _24 * _15;
    var _50 = _21 * _12;
    var _51 = _49 + _50;
    var _52 = _18 * _9;
    var _53 = _51 + _52;
    var _54 = _33 * _15;
    var _55 = _30 * _12;
    var _56 = _54 + _55;
    var _57 = _27 * _9;
    var _58 = _56 + _57;
    var _59 = _42 * _15;
    var _60 = _39 * _12;
    var _61 = _59 + _60;
    var _62 = _36 * _9;
    var _63 = _61 + _62;
    var _64 = _48 - _53;
    var _65 = _46 - _58;
    var _66 = _44 - _63;
    var _67 = _aabbMin;
    FHEAP[_67] = _66;
    var _68 = _aabbMin+4;
    FHEAP[_68] = _65;
    var _69 = _aabbMin+8;
    FHEAP[_69] = _64;
    var _70 = _aabbMin+12;
    FHEAP[_70] = 0;
    var _71 = _48 + _53;
    var _72 = _46 + _58;
    var _73 = _44 + _63;
    var _74 = _aabbMax;
    FHEAP[_74] = _73;
    var _75 = _aabbMax+4;
    FHEAP[_75] = _72;
    var _76 = _aabbMax+8;
    FHEAP[_76] = _71;
    var _77 = _aabbMax+12;
    FHEAP[_77] = 0;
    ;
    return;
  }
  __ZNK10btBoxShape7getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK10btBoxShape7getAabbERK11btTransformR9btVector3S4_, "__ZNK10btBoxShape7getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZNK10btBoxShape24localGetSupportingVertexERK9btVector3(_agg_result, _this, _vec) {
    ;
    var __label__;
    var _0 = _this+28;
    var _1 = FHEAP[_0];
    var _2 = _this+28+4;
    var _3 = FHEAP[_2];
    var _4 = _this+28+8;
    var _5 = FHEAP[_4];
    var _6 = _this;
    var _7 = IHEAP[_6];
    var _8 = _7+44;
    var _9 = IHEAP[_8];
    var _10 = _this;
    var _11 = _9;
    var _12 = FUNCTION_TABLE[_11](_10);
    var _13 = IHEAP[_6];
    var _14 = _13+44;
    var _15 = IHEAP[_14];
    var _16 = _15;
    var _17 = FUNCTION_TABLE[_16](_10);
    var _18 = IHEAP[_6];
    var _19 = _18+44;
    var _20 = IHEAP[_19];
    var _21 = _20;
    var _22 = FUNCTION_TABLE[_21](_10);
    var _23 = _1 + _22;
    var _24 = _3 + _17;
    var _25 = _5 + _12;
    var _26 = 0 - _25;
    var _27 = _vec+8;
    var _28 = FHEAP[_27];
    var _29 = _28 < 0;
    var _iftmp_3_0_i2 = _29 ? _26 : _25;
    var _30 = 0 - _24;
    var _31 = _vec+4;
    var _32 = FHEAP[_31];
    var _33 = _32 < 0;
    var _iftmp_3_0_i1 = _33 ? _30 : _24;
    var _34 = 0 - _23;
    var _35 = _vec;
    var _36 = FHEAP[_35];
    var _37 = _36 < 0;
    var _iftmp_3_0_i = _37 ? _34 : _23;
    var _38 = _agg_result;
    FHEAP[_38] = _iftmp_3_0_i;
    var _39 = _agg_result+4;
    FHEAP[_39] = _iftmp_3_0_i1;
    var _40 = _agg_result+8;
    FHEAP[_40] = _iftmp_3_0_i2;
    var _41 = _agg_result+12;
    FHEAP[_41] = 0;
    ;
    return;
  }
  __ZNK10btBoxShape24localGetSupportingVertexERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK10btBoxShape24localGetSupportingVertexERK9btVector3, "__ZNK10btBoxShape24localGetSupportingVertexERK9btVector3");
  
  
  function __ZN10btBoxShape9setMarginEf(_this, _collisionMargin) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+44;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    var _6 = FUNCTION_TABLE[_5](_4);
    var _7 = IHEAP[_0];
    var _8 = _7+44;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = FUNCTION_TABLE[_10](_4);
    var _12 = IHEAP[_0];
    var _13 = _12+44;
    var _14 = IHEAP[_13];
    var _15 = _14;
    var _16 = FUNCTION_TABLE[_15](_4);
    var _17 = _this+28+8;
    var _18 = FHEAP[_17];
    var _19 = _18 + _6;
    var _20 = _this+28+4;
    var _21 = FHEAP[_20];
    var _22 = _21 + _11;
    var _23 = _this+28;
    var _24 = FHEAP[_23];
    var _25 = _24 + _16;
    var _26 = _this+44;
    FHEAP[_26] = _collisionMargin;
    var _27 = IHEAP[_0];
    var _28 = _27+44;
    var _29 = IHEAP[_28];
    var _30 = _29;
    var _31 = FUNCTION_TABLE[_30](_4);
    var _32 = IHEAP[_0];
    var _33 = _32+44;
    var _34 = IHEAP[_33];
    var _35 = _34;
    var _36 = FUNCTION_TABLE[_35](_4);
    var _37 = IHEAP[_0];
    var _38 = _37+44;
    var _39 = IHEAP[_38];
    var _40 = _39;
    var _41 = FUNCTION_TABLE[_40](_4);
    var _42 = _19 - _31;
    var _43 = _22 - _36;
    var _44 = _25 - _41;
    FHEAP[_23] = _44;
    FHEAP[_20] = _43;
    FHEAP[_17] = _42;
    var _45 = _this+28+12;
    FHEAP[_45] = 0;
    ;
    return;
  }
  __ZN10btBoxShape9setMarginEf.__index__ = Runtime.getFunctionIndex(__ZN10btBoxShape9setMarginEf, "__ZN10btBoxShape9setMarginEf");
  
  
  function __ZNK10btBoxShape21calculateLocalInertiaEfR9btVector3(_this, _mass, _inertia) {
    ;
    var __label__;
    var _0 = _this+28;
    var _1 = FHEAP[_0];
    var _2 = _this+28+4;
    var _3 = FHEAP[_2];
    var _4 = _this+28+8;
    var _5 = FHEAP[_4];
    var _6 = _this;
    var _7 = IHEAP[_6];
    var _8 = _7+44;
    var _9 = IHEAP[_8];
    var _10 = _this;
    var _11 = _9;
    var _12 = FUNCTION_TABLE[_11](_10);
    var _13 = IHEAP[_6];
    var _14 = _13+44;
    var _15 = IHEAP[_14];
    var _16 = _15;
    var _17 = FUNCTION_TABLE[_16](_10);
    var _18 = IHEAP[_6];
    var _19 = _18+44;
    var _20 = IHEAP[_19];
    var _21 = _20;
    var _22 = FUNCTION_TABLE[_21](_10);
    var _23 = _1 + _22;
    var _24 = _3 + _17;
    var _25 = _5 + _12;
    var _26 = _23 * 2;
    var _27 = _24 * 2;
    var _28 = _25 * 2;
    var _29 = _mass / 12;
    var _30 = _26 * _26;
    var _31 = _27 * _27;
    var _32 = _30 + _31;
    var _33 = _29 * _32;
    var _34 = _28 * _28;
    var _35 = _30 + _34;
    var _36 = _29 * _35;
    var _37 = _31 + _34;
    var _38 = _29 * _37;
    var _39 = _inertia;
    FHEAP[_39] = _38;
    var _40 = _inertia+4;
    FHEAP[_40] = _36;
    var _41 = _inertia+8;
    FHEAP[_41] = _33;
    var _42 = _inertia+12;
    FHEAP[_42] = 0;
    ;
    return;
  }
  __ZNK10btBoxShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK10btBoxShape21calculateLocalInertiaEfR9btVector3, "__ZNK10btBoxShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZN10btBoxShape15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+44;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    var _6 = FUNCTION_TABLE[_5](_4);
    var _7 = IHEAP[_0];
    var _8 = _7+44;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = FUNCTION_TABLE[_10](_4);
    var _12 = IHEAP[_0];
    var _13 = _12+44;
    var _14 = IHEAP[_13];
    var _15 = _14;
    var _16 = FUNCTION_TABLE[_15](_4);
    var _17 = _this+28+8;
    var _18 = FHEAP[_17];
    var _19 = _18 + _6;
    var _20 = _this+28+4;
    var _21 = FHEAP[_20];
    var _22 = _21 + _11;
    var _23 = _this+28;
    var _24 = FHEAP[_23];
    var _25 = _24 + _16;
    var _26 = _this+12+8;
    var _27 = FHEAP[_26];
    var _28 = _19 / _27;
    var _29 = _this+12+4;
    var _30 = FHEAP[_29];
    var _31 = _22 / _30;
    var _32 = _this+12;
    var _33 = FHEAP[_32];
    var _34 = _25 / _33;
    __ZN21btConvexInternalShape15setLocalScalingERK9btVector3(_4, _scaling);
    var _35 = FHEAP[_26];
    var _36 = _28 * _35;
    var _37 = FHEAP[_29];
    var _38 = _31 * _37;
    var _39 = FHEAP[_32];
    var _40 = _34 * _39;
    var _41 = _36 - _6;
    var _42 = _38 - _11;
    var _43 = _40 - _16;
    FHEAP[_23] = _43;
    FHEAP[_20] = _42;
    FHEAP[_17] = _41;
    var _44 = _this+28+12;
    FHEAP[_44] = 0;
    ;
    return;
  }
  __ZN10btBoxShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN10btBoxShape15setLocalScalingERK9btVector3, "__ZN10btBoxShape15setLocalScalingERK9btVector3");
  
  
  function __ZNK12btBox2dShape7getAabbERK11btTransformR9btVector3S4_(_this, _t, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+44;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    var _6 = FUNCTION_TABLE[_5](_4);
    var _7 = _this+28+8;
    var _8 = FHEAP[_7];
    var _9 = _8 + _6;
    var _10 = _this+28+4;
    var _11 = FHEAP[_10];
    var _12 = _11 + _6;
    var _13 = _this+28;
    var _14 = FHEAP[_13];
    var _15 = _14 + _6;
    var _16 = _t+32+8;
    var _17 = FHEAP[_16];
    var _18 = _fabsf(_17);
    var _19 = _t+32+4;
    var _20 = FHEAP[_19];
    var _21 = _fabsf(_20);
    var _22 = _t+32;
    var _23 = FHEAP[_22];
    var _24 = _fabsf(_23);
    var _25 = _t+16+8;
    var _26 = FHEAP[_25];
    var _27 = _fabsf(_26);
    var _28 = _t+16+4;
    var _29 = FHEAP[_28];
    var _30 = _fabsf(_29);
    var _31 = _t+16;
    var _32 = FHEAP[_31];
    var _33 = _fabsf(_32);
    var _34 = _t+8;
    var _35 = FHEAP[_34];
    var _36 = _fabsf(_35);
    var _37 = _t+4;
    var _38 = FHEAP[_37];
    var _39 = _fabsf(_38);
    var _40 = _t;
    var _41 = FHEAP[_40];
    var _42 = _fabsf(_41);
    var _43 = _t+48;
    var _44 = FHEAP[_43];
    var _45 = _t+48+4;
    var _46 = FHEAP[_45];
    var _47 = _t+48+8;
    var _48 = FHEAP[_47];
    var _49 = _24 * _15;
    var _50 = _21 * _12;
    var _51 = _49 + _50;
    var _52 = _18 * _9;
    var _53 = _51 + _52;
    var _54 = _33 * _15;
    var _55 = _30 * _12;
    var _56 = _54 + _55;
    var _57 = _27 * _9;
    var _58 = _56 + _57;
    var _59 = _42 * _15;
    var _60 = _39 * _12;
    var _61 = _59 + _60;
    var _62 = _36 * _9;
    var _63 = _61 + _62;
    var _64 = _48 - _53;
    var _65 = _46 - _58;
    var _66 = _44 - _63;
    var _67 = _aabbMin;
    FHEAP[_67] = _66;
    var _68 = _aabbMin+4;
    FHEAP[_68] = _65;
    var _69 = _aabbMin+8;
    FHEAP[_69] = _64;
    var _70 = _aabbMin+12;
    FHEAP[_70] = 0;
    var _71 = _48 + _53;
    var _72 = _46 + _58;
    var _73 = _44 + _63;
    var _74 = _aabbMax;
    FHEAP[_74] = _73;
    var _75 = _aabbMax+4;
    FHEAP[_75] = _72;
    var _76 = _aabbMax+8;
    FHEAP[_76] = _71;
    var _77 = _aabbMax+12;
    FHEAP[_77] = 0;
    ;
    return;
  }
  __ZNK12btBox2dShape7getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK12btBox2dShape7getAabbERK11btTransformR9btVector3S4_, "__ZNK12btBox2dShape7getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZNK12btBox2dShape24localGetSupportingVertexERK9btVector3(_agg_result, _this, _vec) {
    ;
    var __label__;
    var _0 = _this+28;
    var _1 = FHEAP[_0];
    var _2 = _this+28+4;
    var _3 = FHEAP[_2];
    var _4 = _this+28+8;
    var _5 = FHEAP[_4];
    var _6 = _this;
    var _7 = IHEAP[_6];
    var _8 = _7+44;
    var _9 = IHEAP[_8];
    var _10 = _this;
    var _11 = _9;
    var _12 = FUNCTION_TABLE[_11](_10);
    var _13 = IHEAP[_6];
    var _14 = _13+44;
    var _15 = IHEAP[_14];
    var _16 = _15;
    var _17 = FUNCTION_TABLE[_16](_10);
    var _18 = IHEAP[_6];
    var _19 = _18+44;
    var _20 = IHEAP[_19];
    var _21 = _20;
    var _22 = FUNCTION_TABLE[_21](_10);
    var _23 = _1 + _22;
    var _24 = _3 + _17;
    var _25 = _5 + _12;
    var _26 = 0 - _25;
    var _27 = _vec+8;
    var _28 = FHEAP[_27];
    var _29 = _28 < 0;
    var _iftmp_3_0_i2 = _29 ? _26 : _25;
    var _30 = 0 - _24;
    var _31 = _vec+4;
    var _32 = FHEAP[_31];
    var _33 = _32 < 0;
    var _iftmp_3_0_i1 = _33 ? _30 : _24;
    var _34 = 0 - _23;
    var _35 = _vec;
    var _36 = FHEAP[_35];
    var _37 = _36 < 0;
    var _iftmp_3_0_i = _37 ? _34 : _23;
    var _38 = _agg_result;
    FHEAP[_38] = _iftmp_3_0_i;
    var _39 = _agg_result+4;
    FHEAP[_39] = _iftmp_3_0_i1;
    var _40 = _agg_result+8;
    FHEAP[_40] = _iftmp_3_0_i2;
    var _41 = _agg_result+12;
    FHEAP[_41] = 0;
    ;
    return;
  }
  __ZNK12btBox2dShape24localGetSupportingVertexERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK12btBox2dShape24localGetSupportingVertexERK9btVector3, "__ZNK12btBox2dShape24localGetSupportingVertexERK9btVector3");
  
  
  function __ZN12btBox2dShape9setMarginEf(_this, _collisionMargin) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+44;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    var _6 = FUNCTION_TABLE[_5](_4);
    var _7 = IHEAP[_0];
    var _8 = _7+44;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = FUNCTION_TABLE[_10](_4);
    var _12 = IHEAP[_0];
    var _13 = _12+44;
    var _14 = IHEAP[_13];
    var _15 = _14;
    var _16 = FUNCTION_TABLE[_15](_4);
    var _17 = _this+28+8;
    var _18 = FHEAP[_17];
    var _19 = _18 + _6;
    var _20 = _this+28+4;
    var _21 = FHEAP[_20];
    var _22 = _21 + _11;
    var _23 = _this+28;
    var _24 = FHEAP[_23];
    var _25 = _24 + _16;
    var _26 = _this+44;
    FHEAP[_26] = _collisionMargin;
    var _27 = IHEAP[_0];
    var _28 = _27+44;
    var _29 = IHEAP[_28];
    var _30 = _29;
    var _31 = FUNCTION_TABLE[_30](_4);
    var _32 = IHEAP[_0];
    var _33 = _32+44;
    var _34 = IHEAP[_33];
    var _35 = _34;
    var _36 = FUNCTION_TABLE[_35](_4);
    var _37 = IHEAP[_0];
    var _38 = _37+44;
    var _39 = IHEAP[_38];
    var _40 = _39;
    var _41 = FUNCTION_TABLE[_40](_4);
    var _42 = _19 - _31;
    var _43 = _22 - _36;
    var _44 = _25 - _41;
    FHEAP[_23] = _44;
    FHEAP[_20] = _43;
    FHEAP[_17] = _42;
    var _45 = _this+28+12;
    FHEAP[_45] = 0;
    ;
    return;
  }
  __ZN12btBox2dShape9setMarginEf.__index__ = Runtime.getFunctionIndex(__ZN12btBox2dShape9setMarginEf, "__ZN12btBox2dShape9setMarginEf");
  
  
  function __ZNK12btBox2dShape21calculateLocalInertiaEfR9btVector3(_this, _mass, _inertia) {
    ;
    var __label__;
    var _0 = _this+28;
    var _1 = FHEAP[_0];
    var _2 = _this+28+4;
    var _3 = FHEAP[_2];
    var _4 = _this+28+8;
    var _5 = FHEAP[_4];
    var _6 = _this;
    var _7 = IHEAP[_6];
    var _8 = _7+44;
    var _9 = IHEAP[_8];
    var _10 = _this;
    var _11 = _9;
    var _12 = FUNCTION_TABLE[_11](_10);
    var _13 = IHEAP[_6];
    var _14 = _13+44;
    var _15 = IHEAP[_14];
    var _16 = _15;
    var _17 = FUNCTION_TABLE[_16](_10);
    var _18 = IHEAP[_6];
    var _19 = _18+44;
    var _20 = IHEAP[_19];
    var _21 = _20;
    var _22 = FUNCTION_TABLE[_21](_10);
    var _23 = _1 + _22;
    var _24 = _3 + _17;
    var _25 = _5 + _12;
    var _26 = _23 * 2;
    var _27 = _24 * 2;
    var _28 = _25 * 2;
    var _29 = _mass / 12;
    var _30 = _26 * _26;
    var _31 = _27 * _27;
    var _32 = _30 + _31;
    var _33 = _29 * _32;
    var _34 = _28 * _28;
    var _35 = _30 + _34;
    var _36 = _29 * _35;
    var _37 = _31 + _34;
    var _38 = _29 * _37;
    var _39 = _inertia;
    FHEAP[_39] = _38;
    var _40 = _inertia+4;
    FHEAP[_40] = _36;
    var _41 = _inertia+8;
    FHEAP[_41] = _33;
    var _42 = _inertia+12;
    FHEAP[_42] = 0;
    ;
    return;
  }
  __ZNK12btBox2dShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK12btBox2dShape21calculateLocalInertiaEfR9btVector3, "__ZNK12btBox2dShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZN12btBox2dShape15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+44;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    var _6 = FUNCTION_TABLE[_5](_4);
    var _7 = IHEAP[_0];
    var _8 = _7+44;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = FUNCTION_TABLE[_10](_4);
    var _12 = IHEAP[_0];
    var _13 = _12+44;
    var _14 = IHEAP[_13];
    var _15 = _14;
    var _16 = FUNCTION_TABLE[_15](_4);
    var _17 = _this+28+8;
    var _18 = FHEAP[_17];
    var _19 = _18 + _6;
    var _20 = _this+28+4;
    var _21 = FHEAP[_20];
    var _22 = _21 + _11;
    var _23 = _this+28;
    var _24 = FHEAP[_23];
    var _25 = _24 + _16;
    var _26 = _this+12+8;
    var _27 = FHEAP[_26];
    var _28 = _19 / _27;
    var _29 = _this+12+4;
    var _30 = FHEAP[_29];
    var _31 = _22 / _30;
    var _32 = _this+12;
    var _33 = FHEAP[_32];
    var _34 = _25 / _33;
    __ZN21btConvexInternalShape15setLocalScalingERK9btVector3(_4, _scaling);
    var _35 = FHEAP[_26];
    var _36 = _28 * _35;
    var _37 = FHEAP[_29];
    var _38 = _31 * _37;
    var _39 = FHEAP[_32];
    var _40 = _34 * _39;
    var _41 = _36 - _6;
    var _42 = _38 - _11;
    var _43 = _40 - _16;
    FHEAP[_23] = _43;
    FHEAP[_20] = _42;
    FHEAP[_17] = _41;
    var _44 = _this+28+12;
    FHEAP[_44] = 0;
    ;
    return;
  }
  __ZN12btBox2dShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN12btBox2dShape15setLocalScalingERK9btVector3, "__ZN12btBox2dShape15setLocalScalingERK9btVector3");
  
  
  function __ZN22btBvhTriangleMeshShapeC2EP23btStridingMeshInterfacebb(_this, _meshInterface, _useQuantizedAabbCompression, _buildBvh) {
    ;
    var __label__;
    var _0 = _this;
    __ZN19btTriangleMeshShapeC2EP23btStridingMeshInterface(_0, _meshInterface);
    var _1 = _this;
    IHEAP[_1] = __ZTV22btBvhTriangleMeshShape+8;
    var _2 = _this+52;
    IHEAP[_2] = 0;
    var _3 = _this+56;
    IHEAP[_3] = 0;
    var _4 = _this+60;
    IHEAP[_4] = _useQuantizedAabbCompression;
    var _5 = _this+61;
    IHEAP[_5] = 0;
    var _6 = _this+4;
    IHEAP[_6] = 21;
    var _toBool = _buildBvh == 0;
    ;
    _return$_bb$8434: do { 
      if (!_toBool) {
        ;
        (function() { try { __THREW__ = false; return __ZN22btBvhTriangleMeshShape17buildOptimizedBvhEv(_this) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 44; /* _return */ break _return$_bb$8434; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select6 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        (function() { try { __THREW__ = false; return __ZN19btTriangleMeshShapeD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 3765; /* _lpad7 */  }
        if (__label__ == 1102) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3765) {
          var _eh_ptr8 = _llvm_eh_exception();
          var _eh_select10 = _llvm_eh_selector(_eh_ptr8, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN22btBvhTriangleMeshShapeC2EP23btStridingMeshInterfacebb.__index__ = Runtime.getFunctionIndex(__ZN22btBvhTriangleMeshShapeC2EP23btStridingMeshInterfacebb, "__ZN22btBvhTriangleMeshShapeC2EP23btStridingMeshInterfacebb");
  
  
  function __ZNK22btBvhTriangleMeshShape18serializeSingleBvhEP12btSerializer(_this, _serializer) {
    ;
    var __label__;
    var _0 = _this+52;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (_2) {
      ;
      ;
      return;
    }
    else {
      ;
      var _3 = _1;
      var _4 = IHEAP[_3];
      var _5 = _4+12;
      var _6 = IHEAP[_5];
      var _7 = _1;
      var _8 = _6;
      var _9 = FUNCTION_TABLE[_8](_7);
      var _10 = _serializer;
      var _11 = IHEAP[_10];
      var _12 = _11+16;
      var _13 = IHEAP[_12];
      var _14 = _13;
      var _15 = FUNCTION_TABLE[_14](_serializer, _9, 1);
      var _16 = IHEAP[_0];
      var _17 = _16;
      var _18 = IHEAP[_17];
      var _19 = _18+16;
      var _20 = IHEAP[_19];
      var _21 = _15+8;
      var _22 = IHEAP[_21];
      var _23 = _16;
      var _24 = _20;
      var _25 = FUNCTION_TABLE[_24](_23, _22, _serializer);
      var _26 = IHEAP[_10];
      var _27 = _26+20;
      var _28 = IHEAP[_27];
      var _29 = IHEAP[_0];
      var _30 = _28;
      var _31 = _29;
      FUNCTION_TABLE[_30](_serializer, _15, _25, 1213612625, _31);
      ;
      return;
    }
  }
  __ZNK22btBvhTriangleMeshShape18serializeSingleBvhEP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK22btBvhTriangleMeshShape18serializeSingleBvhEP12btSerializer, "__ZNK22btBvhTriangleMeshShape18serializeSingleBvhEP12btSerializer");
  
  
  function __ZNK22btBvhTriangleMeshShape30serializeSingleTriangleInfoMapEP12btSerializer(_this, _serializer) {
    ;
    var __label__;
    var _0 = _this+56;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (_2) {
      ;
      ;
      return;
    }
    else {
      ;
      var _3 = _1;
      var _4 = IHEAP[_3];
      var _5 = _4+8;
      var _6 = IHEAP[_5];
      var _7 = _6;
      var _8 = FUNCTION_TABLE[_7](_1);
      var _9 = _serializer;
      var _10 = IHEAP[_9];
      var _11 = _10+16;
      var _12 = IHEAP[_11];
      var _13 = _12;
      var _14 = FUNCTION_TABLE[_13](_serializer, _8, 1);
      var _15 = IHEAP[_0];
      var _16 = _15;
      var _17 = IHEAP[_16];
      var _18 = _17+12;
      var _19 = IHEAP[_18];
      var _20 = _14+8;
      var _21 = IHEAP[_20];
      var _22 = _19;
      var _23 = FUNCTION_TABLE[_22](_15, _21, _serializer);
      var _24 = IHEAP[_9];
      var _25 = _24+20;
      var _26 = IHEAP[_25];
      var _27 = IHEAP[_0];
      var _28 = _26;
      var _29 = _27;
      FUNCTION_TABLE[_28](_serializer, _14, _23, 1346456916, _29);
      ;
      return;
    }
  }
  __ZNK22btBvhTriangleMeshShape30serializeSingleTriangleInfoMapEP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK22btBvhTriangleMeshShape30serializeSingleTriangleInfoMapEP12btSerializer, "__ZNK22btBvhTriangleMeshShape30serializeSingleTriangleInfoMapEP12btSerializer");
  
  
  function __ZNK22btBvhTriangleMeshShape9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = __ZNK16btCollisionShape9serializeEPvP12btSerializer(_0, _dataBuffer, _serializer);
    var _2 = _this+48;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = IHEAP[_4];
    var _6 = _5+56;
    var _7 = IHEAP[_6];
    var _8 = _dataBuffer+12;
    var _9 = _7;
    var _10 = FUNCTION_TABLE[_9](_3, _8, _serializer);
    var _11 = _this+12;
    var _12 = FHEAP[_11];
    var _13 = _dataBuffer+52;
    var _14 = _13;
    FHEAP[_14] = _12;
    var _15 = _this+52;
    var _16 = IHEAP[_15];
    var _17 = _16 == 0;
    ;
    _bb8$_bb$8500: do { 
      if (_17) {
        __label__ = 148; /* _bb8 */ 
      }
      else {
        ;
        var _18 = _serializer;
        var _19 = IHEAP[_18];
        var _20 = _19+52;
        var _21 = IHEAP[_20];
        var _22 = _21;
        var _23 = FUNCTION_TABLE[_22](_serializer);
        var _24 = _23 & 1;
        var _toBool6 = _24 == 0;
        if (!(_toBool6)) { __label__ = 148; /* _bb8 */ break _bb8$_bb$8500; }
        var _29 = IHEAP[_18];
        var _30 = _29+24;
        var _31 = IHEAP[_30];
        var _32 = IHEAP[_15];
        var _33 = _31;
        var _34 = _32;
        var _35 = FUNCTION_TABLE[_33](_serializer, _34);
        var _36 = _35 == 0;
        ;
        if (_36) {
          ;
          var _42 = IHEAP[_18];
          var _43 = _42+28;
          var _44 = IHEAP[_43];
          var _45 = IHEAP[_15];
          var _46 = _44;
          var _47 = _45;
          var _48 = FUNCTION_TABLE[_46](_serializer, _47);
          var _49 = _48;
          var _50 = _dataBuffer+40;
          var _51 = _50;
          IHEAP[_51] = _49;
          var _52 = _dataBuffer+44;
          var _53 = _52;
          IHEAP[_53] = 0;
          var _54 = IHEAP[_15];
          var _55 = _54;
          var _56 = IHEAP[_55];
          var _57 = _56+12;
          var _58 = IHEAP[_57];
          var _59 = _54;
          var _60 = _58;
          var _61 = FUNCTION_TABLE[_60](_59);
          var _62 = IHEAP[_18];
          var _63 = _62+16;
          var _64 = IHEAP[_63];
          var _65 = _64;
          var _66 = FUNCTION_TABLE[_65](_serializer, _61, 1);
          var _67 = IHEAP[_15];
          var _68 = _67;
          var _69 = IHEAP[_68];
          var _70 = _69+16;
          var _71 = IHEAP[_70];
          var _72 = _66+8;
          var _73 = IHEAP[_72];
          var _74 = _67;
          var _75 = _71;
          var _76 = FUNCTION_TABLE[_75](_74, _73, _serializer);
          var _77 = IHEAP[_18];
          var _78 = _77+20;
          var _79 = IHEAP[_78];
          var _80 = IHEAP[_15];
          var _81 = _79;
          var _82 = _80;
          FUNCTION_TABLE[_81](_serializer, _66, _76, 1213612625, _82);
          __label__ = 154; /* _bb16 */ break _bb8$_bb$8500;
        }
        else {
          ;
          var _37 = _35;
          var _38 = _dataBuffer+40;
          var _39 = _38;
          IHEAP[_39] = _37;
          var _40 = _dataBuffer+44;
          var _41 = _40;
          IHEAP[_41] = 0;
          __label__ = 154; /* _bb16 */ break _bb8$_bb$8500;
        }
      }
    } while(0);
    if (__label__ == 148) {
      var _25 = _dataBuffer+40;
      var _26 = _25;
      IHEAP[_26] = 0;
      var _27 = _dataBuffer+44;
      var _28 = _27;
      IHEAP[_28] = 0;
      ;
    }
    var _83 = _this+56;
    var _84 = IHEAP[_83];
    var _85 = _84 == 0;
    ;
    _bb19$_bb17$8509: do { 
      if (!_85) {
        ;
        var _86 = _serializer;
        var _87 = IHEAP[_86];
        var _88 = _87+52;
        var _89 = IHEAP[_88];
        var _90 = _89;
        var _91 = FUNCTION_TABLE[_90](_serializer);
        var _92 = _91 & 2;
        var _93 = _92 == 0;
        if (!(_93)) { __label__ = 64; /* _bb19 */ break _bb19$_bb17$8509; }
        var _96 = IHEAP[_86];
        var _97 = _96+24;
        var _98 = IHEAP[_97];
        var _99 = IHEAP[_83];
        var _100 = _98;
        var _101 = _99;
        var _102 = FUNCTION_TABLE[_100](_serializer, _101);
        var _103 = _102 == 0;
        ;
        if (_103) {
          ;
          var _107 = IHEAP[_86];
          var _108 = _107+28;
          var _109 = IHEAP[_108];
          var _110 = IHEAP[_83];
          var _111 = _109;
          var _112 = _110;
          var _113 = FUNCTION_TABLE[_111](_serializer, _112);
          var _114 = _113;
          var _115 = _dataBuffer+48;
          var _116 = _115;
          IHEAP[_116] = _114;
          var _117 = IHEAP[_83];
          var _118 = _117;
          var _119 = IHEAP[_118];
          var _120 = _119+8;
          var _121 = IHEAP[_120];
          var _122 = _121;
          var _123 = FUNCTION_TABLE[_122](_117);
          var _124 = IHEAP[_86];
          var _125 = _124+16;
          var _126 = IHEAP[_125];
          var _127 = _126;
          var _128 = FUNCTION_TABLE[_127](_serializer, _123, 1);
          var _129 = IHEAP[_83];
          var _130 = _129;
          var _131 = IHEAP[_130];
          var _132 = _131+12;
          var _133 = IHEAP[_132];
          var _134 = _128+8;
          var _135 = IHEAP[_134];
          var _136 = _133;
          var _137 = FUNCTION_TABLE[_136](_129, _135, _serializer);
          var _138 = IHEAP[_86];
          var _139 = _138+20;
          var _140 = IHEAP[_139];
          var _141 = IHEAP[_83];
          var _142 = _140;
          var _143 = _141;
          FUNCTION_TABLE[_142](_serializer, _128, _137, 1346456916, _143);
          ;
          return __str448;
        }
        else {
          ;
          var _104 = _102;
          var _105 = _dataBuffer+48;
          var _106 = _105;
          IHEAP[_106] = _104;
          ;
          return __str448;
        }
      }
    } while(0);
    var _94 = _dataBuffer+48;
    var _95 = _94;
    IHEAP[_95] = 0;
    ;
    return __str448;
  }
  __ZNK22btBvhTriangleMeshShape9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK22btBvhTriangleMeshShape9serializeEPvP12btSerializer, "__ZNK22btBvhTriangleMeshShape9serializeEPvP12btSerializer");
  
  
  function __ZN22btBvhTriangleMeshShape15setOptimizedBvhEP14btOptimizedBvhRK9btVector3(_this, _bvh, _scaling) {
    ;
    var __label__;
    var _0 = _this+52;
    IHEAP[_0] = _bvh;
    var _1 = _this+61;
    IHEAP[_1] = 0;
    var _2 = _this;
    var _3 = IHEAP[_2];
    var _4 = _3+28;
    var _5 = IHEAP[_4];
    var _6 = _this;
    var _7 = _5;
    var _8 = FUNCTION_TABLE[_7](_6);
    var _9 = _8+8;
    var _10 = FHEAP[_9];
    var _11 = _scaling+8;
    var _12 = FHEAP[_11];
    var _13 = _10 - _12;
    var _14 = _8+4;
    var _15 = FHEAP[_14];
    var _16 = _scaling+4;
    var _17 = FHEAP[_16];
    var _18 = _15 - _17;
    var _19 = _8;
    var _20 = FHEAP[_19];
    var _21 = _scaling;
    var _22 = FHEAP[_21];
    var _23 = _20 - _22;
    var _24 = _23 * _23;
    var _25 = _18 * _18;
    var _26 = _24 + _25;
    var _27 = _13 * _13;
    var _28 = _26 + _27;
    var _29 = _28 > 1.1920928955078125e-7;
    ;
    if (_29) {
      ;
      __ZN19btTriangleMeshShape15setLocalScalingERK9btVector3(_6, _scaling);
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN22btBvhTriangleMeshShape15setOptimizedBvhEP14btOptimizedBvhRK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN22btBvhTriangleMeshShape15setOptimizedBvhEP14btOptimizedBvhRK9btVector3, "__ZN22btBvhTriangleMeshShape15setOptimizedBvhEP14btOptimizedBvhRK9btVector3");
  
  
  function __ZN22btBvhTriangleMeshShape17buildOptimizedBvhEv(_this) {
    ;
    var __label__;
    var _0 = _this+61;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    ;
    if (!_toBool) {
      ;
      var _2 = _this+52;
      var _3 = IHEAP[_2];
      var _4 = _3;
      var _5 = IHEAP[_4];
      var _6 = IHEAP[_5];
      var _7 = _6;
      FUNCTION_TABLE[_7](_3);
      var _8 = IHEAP[_2];
      var _9 = _8;
      __Z21btAlignedFreeInternalPv(_9);
      ;
    }
    var _10 = __Z22btAlignedAllocInternalji(172, 16);
    var _11 = _10;
    (function() { try { __THREW__ = false; return __ZN14btOptimizedBvhC1Ev(_11) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 116; /* _bb3 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 116) {
      var _12 = _this+52;
      IHEAP[_12] = _11;
      var _13 = _this+32;
      var _14 = _this+16;
      var _15 = _this+60;
      var _16 = IHEAP[_15];
      var _17 = _this+48;
      var _18 = IHEAP[_17];
      __ZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_(_11, _18, _16, _14, _13);
      IHEAP[_0] = 1;
      ;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select5 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  __ZN22btBvhTriangleMeshShape17buildOptimizedBvhEv.__index__ = Runtime.getFunctionIndex(__ZN22btBvhTriangleMeshShape17buildOptimizedBvhEv, "__ZN22btBvhTriangleMeshShape17buildOptimizedBvhEv");
  
  
  function __ZN22btBvhTriangleMeshShape15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+28;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    var _6 = FUNCTION_TABLE[_5](_4);
    var _7 = _6+8;
    var _8 = FHEAP[_7];
    var _9 = _scaling+8;
    var _10 = FHEAP[_9];
    var _11 = _8 - _10;
    var _12 = _6+4;
    var _13 = FHEAP[_12];
    var _14 = _scaling+4;
    var _15 = FHEAP[_14];
    var _16 = _13 - _15;
    var _17 = _6;
    var _18 = FHEAP[_17];
    var _19 = _scaling;
    var _20 = FHEAP[_19];
    var _21 = _18 - _20;
    var _22 = _21 * _21;
    var _23 = _16 * _16;
    var _24 = _22 + _23;
    var _25 = _11 * _11;
    var _26 = _24 + _25;
    var _27 = _26 > 1.1920928955078125e-7;
    ;
    if (_27) {
      ;
      __ZN19btTriangleMeshShape15setLocalScalingERK9btVector3(_4, _scaling);
      __ZN22btBvhTriangleMeshShape17buildOptimizedBvhEv(_this);
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN22btBvhTriangleMeshShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN22btBvhTriangleMeshShape15setLocalScalingERK9btVector3, "__ZN22btBvhTriangleMeshShape15setLocalScalingERK9btVector3");
  
  
  function __ZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_(_this, _callback, _aabbMin, _aabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 60;
    var __label__;
    var _myNodeCallback = __stackBase__;
    var _0 = _this+48;
    var _1 = IHEAP[_0];
    var _2 = _myNodeCallback;
    IHEAP[_2] = __ZTVZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback+8;
    var _3 = _myNodeCallback+4;
    IHEAP[_3] = _1;
    var _4 = _myNodeCallback+8;
    IHEAP[_4] = _callback;
    var _5 = _this+52;
    var _6 = IHEAP[_5];
    var _7 = _6;
    var _8 = _myNodeCallback;
    (function() { try { __THREW__ = false; return __ZNK14btQuantizedBvh26reportAabbOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_(_7, _8, _aabbMin, _aabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 75; /* _bb1 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 75) {
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select3 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_2] = __ZTVZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback+8;
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  __ZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_, "__ZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_");
  
  
  function __ZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_(_this, _callback, _raySource, _rayTarget, _aabbMin, _aabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 12;
    var __label__;
    var _myNodeCallback = __stackBase__;
    var _0 = _this+48;
    var _1 = IHEAP[_0];
    var _2 = _myNodeCallback;
    IHEAP[_2] = __ZTVZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback+8;
    var _3 = _myNodeCallback+4;
    IHEAP[_3] = _1;
    var _4 = _myNodeCallback+8;
    IHEAP[_4] = _callback;
    var _5 = _this+52;
    var _6 = IHEAP[_5];
    var _7 = _6;
    var _8 = _myNodeCallback;
    (function() { try { __THREW__ = false; return __ZNK14btQuantizedBvh29reportBoxCastOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_(_7, _8, _raySource, _rayTarget, _aabbMin, _aabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 75; /* _bb1 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 75) {
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select3 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_2] = __ZTVZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback+8;
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  __ZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_.__index__ = Runtime.getFunctionIndex(__ZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_, "__ZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_");
  
  
  function __ZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_(_this, _callback, _raySource, _rayTarget) {
    var __stackBase__  = STACKTOP; STACKTOP += 12;
    var __label__;
    var _myNodeCallback = __stackBase__;
    var _0 = _this+48;
    var _1 = IHEAP[_0];
    var _2 = _myNodeCallback;
    IHEAP[_2] = __ZTVZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback+8;
    var _3 = _myNodeCallback+4;
    IHEAP[_3] = _1;
    var _4 = _myNodeCallback+8;
    IHEAP[_4] = _callback;
    var _5 = _this+52;
    var _6 = IHEAP[_5];
    var _7 = _6;
    var _8 = _myNodeCallback;
    (function() { try { __THREW__ = false; return __ZNK14btQuantizedBvh25reportRayOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_(_7, _8, _raySource, _rayTarget) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 75; /* _bb1 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 75) {
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select3 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_2] = __ZTVZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback+8;
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  __ZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_, "__ZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_");
  
  
  function __ZN22btBvhTriangleMeshShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV22btBvhTriangleMeshShape+8;
    var _1 = _this+61;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$8544: do { 
      if (!_toBool) {
        ;
        var _3 = _this+52;
        var _4 = IHEAP[_3];
        var _5 = _4;
        var _6 = IHEAP[_5];
        var _7 = IHEAP[_6];
        var _8 = _7;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_8](_4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        if (__label__ == 345) {
          var _9 = IHEAP[_3];
          var _10 = _9;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_10) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$8544; } else { ; }
        }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _13 = _this;
        (function() { try { __THREW__ = false; return __ZN19btTriangleMeshShapeD2Ev(_13) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _11 = _this;
    __ZN19btTriangleMeshShapeD2Ev(_11);
    var _12 = _this;
    __Z21btAlignedFreeInternalPv(_12);
    ;
    return;
  }
  __ZN22btBvhTriangleMeshShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN22btBvhTriangleMeshShapeD0Ev, "__ZN22btBvhTriangleMeshShapeD0Ev");
  
  
  function __ZN22btBvhTriangleMeshShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV22btBvhTriangleMeshShape+8;
    var _1 = _this+61;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$8554: do { 
      if (!_toBool) {
        ;
        var _3 = _this+52;
        var _4 = IHEAP[_3];
        var _5 = _4;
        var _6 = IHEAP[_5];
        var _7 = IHEAP[_6];
        var _8 = _7;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_8](_4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        if (__label__ == 345) {
          var _9 = IHEAP[_3];
          var _10 = _9;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_10) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$8554; } else { ; }
        }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _12 = _this;
        (function() { try { __THREW__ = false; return __ZN19btTriangleMeshShapeD2Ev(_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _11 = _this;
    __ZN19btTriangleMeshShapeD2Ev(_11);
    ;
    return;
  }
  __ZN22btBvhTriangleMeshShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN22btBvhTriangleMeshShapeD1Ev, "__ZN22btBvhTriangleMeshShapeD1Ev");
  
  
  function __ZN22btBvhTriangleMeshShapeD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV22btBvhTriangleMeshShape+8;
    var _1 = _this+61;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb5$_bb$8564: do { 
      if (!_toBool) {
        ;
        var _3 = _this+52;
        var _4 = IHEAP[_3];
        var _5 = _4;
        var _6 = IHEAP[_5];
        var _7 = IHEAP[_6];
        var _8 = _7;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_8](_4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        if (__label__ == 345) {
          var _9 = IHEAP[_3];
          var _10 = _9;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_10) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$8564; } else { ; }
        }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _12 = _this;
        (function() { try { __THREW__ = false; return __ZN19btTriangleMeshShapeD2Ev(_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3817; /* _lpad12 */  }
        if (__label__ == 759) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3817) {
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    var _11 = _this;
    __ZN19btTriangleMeshShapeD2Ev(_11);
    ;
    return;
  }
  __ZN22btBvhTriangleMeshShapeD2Ev.__index__ = Runtime.getFunctionIndex(__ZN22btBvhTriangleMeshShapeD2Ev, "__ZN22btBvhTriangleMeshShapeD2Ev");
  
  
  function __ZN22btBvhTriangleMeshShapeC2EP23btStridingMeshInterfacebRK9btVector3S4_b(_this, _meshInterface, _useQuantizedAabbCompression, _bvhAabbMin, _bvhAabbMax, _buildBvh) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    __ZN19btTriangleMeshShapeC2EP23btStridingMeshInterface(_0, _meshInterface);
    var _1 = _this;
    IHEAP[_1] = __ZTV22btBvhTriangleMeshShape+8;
    var _2 = _this+52;
    IHEAP[_2] = 0;
    var _3 = _this+56;
    IHEAP[_3] = 0;
    var _4 = _this+60;
    IHEAP[_4] = _useQuantizedAabbCompression;
    var _5 = _this+61;
    IHEAP[_5] = 0;
    var _6 = _this+4;
    IHEAP[_6] = 21;
    var _toBool = _buildBvh == 0;
    ;
    if (_toBool) {
      ;
      ;
      return;
    }
    else {
      ;
      var _7 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(172, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
      _invcont$_lpad$8603: do { 
        if (__label__ == 345) {
          var _8 = _7;
          (function() { try { __THREW__ = false; return __ZN14btOptimizedBvhC1Ev(_8) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 116; /* _bb3 */  } else { __label__ = 1406; /* _lpad13 */  }
          if (__label__ == 116) {
            IHEAP[_2] = _8;
            var _9 = IHEAP[_4];
            (function() { try { __THREW__ = false; return __ZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_(_8, _meshInterface, _9, _bvhAabbMin, _bvhAabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$8603; }
            IHEAP[_5] = 1;
            ;
            return;
          }
          else if (__label__ == 1406) {
            var _eh_ptr14 = _llvm_eh_exception();
            var _eh_select16 = _llvm_eh_selector(_eh_ptr14, ___gxx_personality_v0, 0);
            __lastLabel__ = 1406; __label__ = 45; /* _ppad */ break _invcont$_lpad$8603;
          }
        }
      } while(0);
      if (__label__ == 254) {
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select12 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __lastLabel__ = 254; ;
      }
      var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr14);
      (function() { try { __THREW__ = false; return __ZN19btTriangleMeshShapeD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 979; /* _invcont8 */  } else { __label__ = 3832; /* _lpad17 */  }
      if (__label__ == 979) {
        __Unwind_Resume_or_Rethrow(_eh_exception_0);
        // unreachable
      }
      else if (__label__ == 3832) {
        var _eh_ptr18 = _llvm_eh_exception();
        var _eh_select20 = _llvm_eh_selector(_eh_ptr18, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZN22btBvhTriangleMeshShapeC2EP23btStridingMeshInterfacebRK9btVector3S4_b.__index__ = Runtime.getFunctionIndex(__ZN22btBvhTriangleMeshShapeC2EP23btStridingMeshInterfacebRK9btVector3S4_b, "__ZN22btBvhTriangleMeshShapeC2EP23btStridingMeshInterfacebRK9btVector3S4_b");
  
  
  function __ZN22btBvhTriangleMeshShapeC1EP23btStridingMeshInterfacebb(_this, _meshInterface, _useQuantizedAabbCompression, _buildBvh) {
    ;
    var __label__;
    var _0 = _this;
    __ZN19btTriangleMeshShapeC2EP23btStridingMeshInterface(_0, _meshInterface);
    var _1 = _this;
    IHEAP[_1] = __ZTV22btBvhTriangleMeshShape+8;
    var _2 = _this+52;
    IHEAP[_2] = 0;
    var _3 = _this+56;
    IHEAP[_3] = 0;
    var _4 = _this+60;
    IHEAP[_4] = _useQuantizedAabbCompression;
    var _5 = _this+61;
    IHEAP[_5] = 0;
    var _6 = _this+4;
    IHEAP[_6] = 21;
    var _toBool = _buildBvh == 0;
    ;
    _return$_bb$8617: do { 
      if (!_toBool) {
        ;
        (function() { try { __THREW__ = false; return __ZN22btBvhTriangleMeshShape17buildOptimizedBvhEv(_this) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 44; /* _return */ break _return$_bb$8617; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select6 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        (function() { try { __THREW__ = false; return __ZN19btTriangleMeshShapeD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 3765; /* _lpad7 */  }
        if (__label__ == 1102) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3765) {
          var _eh_ptr8 = _llvm_eh_exception();
          var _eh_select10 = _llvm_eh_selector(_eh_ptr8, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN22btBvhTriangleMeshShapeC1EP23btStridingMeshInterfacebb.__index__ = Runtime.getFunctionIndex(__ZN22btBvhTriangleMeshShapeC1EP23btStridingMeshInterfacebb, "__ZN22btBvhTriangleMeshShapeC1EP23btStridingMeshInterfacebb");
  
  
  function __ZN14btCapsuleShape9setMarginEf(_this, _collisionMargin) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+44;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    var _6 = FUNCTION_TABLE[_5](_4);
    var _7 = IHEAP[_0];
    var _8 = _7+44;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = FUNCTION_TABLE[_10](_4);
    var _12 = IHEAP[_0];
    var _13 = _12+44;
    var _14 = IHEAP[_13];
    var _15 = _14;
    var _16 = FUNCTION_TABLE[_15](_4);
    var _17 = _this+28+8;
    var _18 = FHEAP[_17];
    var _19 = _18 + _6;
    var _20 = _this+28+4;
    var _21 = FHEAP[_20];
    var _22 = _21 + _11;
    var _23 = _this+28;
    var _24 = FHEAP[_23];
    var _25 = _24 + _16;
    var _26 = _this+44;
    FHEAP[_26] = _collisionMargin;
    var _27 = IHEAP[_0];
    var _28 = _27+44;
    var _29 = IHEAP[_28];
    var _30 = _29;
    var _31 = FUNCTION_TABLE[_30](_4);
    var _32 = IHEAP[_0];
    var _33 = _32+44;
    var _34 = IHEAP[_33];
    var _35 = _34;
    var _36 = FUNCTION_TABLE[_35](_4);
    var _37 = IHEAP[_0];
    var _38 = _37+44;
    var _39 = IHEAP[_38];
    var _40 = _39;
    var _41 = FUNCTION_TABLE[_40](_4);
    var _42 = _19 - _31;
    var _43 = _22 - _36;
    var _44 = _25 - _41;
    FHEAP[_23] = _44;
    FHEAP[_20] = _43;
    FHEAP[_17] = _42;
    var _45 = _this+28+12;
    FHEAP[_45] = 0;
    ;
    return;
  }
  __ZN14btCapsuleShape9setMarginEf.__index__ = Runtime.getFunctionIndex(__ZN14btCapsuleShape9setMarginEf, "__ZN14btCapsuleShape9setMarginEf");
  
  
  function __ZNK14btCapsuleShape7getAabbERK11btTransformR9btVector3S4_(_this, _t, _aabbMin, _aabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var _halfExtents = __stackBase__;
    var _0 = _this+52;
    var _1 = IHEAP[_0];
    var _2 = _1 + 2;
    var _3 = Math.floor(_2 % 3);
    var _4 = _this+28+_3*4;
    var _5 = FHEAP[_4];
    var _6 = _halfExtents;
    FHEAP[_6] = _5;
    var _7 = _halfExtents+4;
    FHEAP[_7] = _5;
    var _8 = _halfExtents+8;
    FHEAP[_8] = _5;
    var _9 = _halfExtents+12;
    FHEAP[_9] = 0;
    var _10 = _this+28+_1*4;
    var _11 = FHEAP[_10];
    var _12 = _5 + _11;
    var _13 = _halfExtents+_1*4;
    FHEAP[_13] = _12;
    var _14 = _this;
    var _15 = IHEAP[_14];
    var _16 = _15+44;
    var _17 = IHEAP[_16];
    var _18 = _this;
    var _19 = _17;
    var _20 = FUNCTION_TABLE[_19](_18);
    var _21 = IHEAP[_14];
    var _22 = _21+44;
    var _23 = IHEAP[_22];
    var _24 = _23;
    var _25 = FUNCTION_TABLE[_24](_18);
    var _26 = IHEAP[_14];
    var _27 = _26+44;
    var _28 = IHEAP[_27];
    var _29 = _28;
    var _30 = FUNCTION_TABLE[_29](_18);
    var _31 = FHEAP[_6];
    var _32 = _31 + _30;
    FHEAP[_6] = _32;
    var _33 = FHEAP[_7];
    var _34 = _33 + _25;
    FHEAP[_7] = _34;
    var _35 = FHEAP[_8];
    var _36 = _35 + _20;
    var _37 = _t+32+8;
    var _38 = FHEAP[_37];
    var _39 = _fabsf(_38);
    var _40 = _t+32+4;
    var _41 = FHEAP[_40];
    var _42 = _fabsf(_41);
    var _43 = _t+32;
    var _44 = FHEAP[_43];
    var _45 = _fabsf(_44);
    var _46 = _t+16+8;
    var _47 = FHEAP[_46];
    var _48 = _fabsf(_47);
    var _49 = _t+16+4;
    var _50 = FHEAP[_49];
    var _51 = _fabsf(_50);
    var _52 = _t+16;
    var _53 = FHEAP[_52];
    var _54 = _fabsf(_53);
    var _55 = _t+8;
    var _56 = FHEAP[_55];
    var _57 = _fabsf(_56);
    var _58 = _t+4;
    var _59 = FHEAP[_58];
    var _60 = _fabsf(_59);
    var _61 = _t;
    var _62 = FHEAP[_61];
    var _63 = _fabsf(_62);
    var _64 = _t+48;
    var _65 = FHEAP[_64];
    var _66 = _t+48+4;
    var _67 = FHEAP[_66];
    var _68 = _t+48+8;
    var _69 = FHEAP[_68];
    var _70 = _45 * _32;
    var _71 = _42 * _34;
    var _72 = _70 + _71;
    var _73 = _39 * _36;
    var _74 = _72 + _73;
    var _75 = _54 * _32;
    var _76 = _51 * _34;
    var _77 = _75 + _76;
    var _78 = _48 * _36;
    var _79 = _77 + _78;
    var _80 = _63 * _32;
    var _81 = _60 * _34;
    var _82 = _80 + _81;
    var _83 = _57 * _36;
    var _84 = _82 + _83;
    var _85 = _69 - _74;
    var _86 = _67 - _79;
    var _87 = _65 - _84;
    var _88 = _aabbMin;
    FHEAP[_88] = _87;
    var _89 = _aabbMin+4;
    FHEAP[_89] = _86;
    var _90 = _aabbMin+8;
    FHEAP[_90] = _85;
    var _91 = _aabbMin+12;
    FHEAP[_91] = 0;
    var _92 = _69 + _74;
    var _93 = _67 + _79;
    var _94 = _65 + _84;
    var _95 = _aabbMax;
    FHEAP[_95] = _94;
    var _96 = _aabbMax+4;
    FHEAP[_96] = _93;
    var _97 = _aabbMax+8;
    FHEAP[_97] = _92;
    var _98 = _aabbMax+12;
    FHEAP[_98] = 0;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK14btCapsuleShape7getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK14btCapsuleShape7getAabbERK11btTransformR9btVector3S4_, "__ZNK14btCapsuleShape7getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZNK14btCapsuleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(_this, _vectors, _supportVerticesOut, _numVectors) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _pos = __stackBase__;
    var _pos4 = __stackBase__+16;
    var _0 = _this+52;
    var _1 = IHEAP[_0];
    var _2 = _1 + 2;
    var _3 = Math.floor(_2 % 3);
    var _4 = _this+28+_3*4;
    var _5 = FHEAP[_4];
    var _6 = _numVectors > 0;
    ;
    _bb_nph$_return$8634: do { 
      if (_6) {
        ;
        var _7 = _pos;
        var _8 = _pos+4;
        var _9 = _pos+8;
        var _10 = _pos+12;
        var _11 = _this;
        var _12 = _this;
        var _13 = _this+12+8;
        var _14 = _this+12+4;
        var _15 = _this+12;
        var _16 = _pos4;
        var _17 = _pos4+4;
        var _18 = _pos4+8;
        var _19 = _pos4+12;
        __lastLabel__ = 130; ;
        _bb$8636: while(1) { // _bb
          var _20 = __lastLabel__ == 130 ? _1 : (__pre);
          var _j_064 = __lastLabel__ == 130 ? 0 : (_99);
          var _scevgep65 = _supportVerticesOut+16*_j_064;
          var _scevgep66 = _supportVerticesOut+16*_j_064+4;
          var _scevgep67 = _supportVerticesOut+16*_j_064+8;
          var _scevgep68 = _supportVerticesOut+16*_j_064+12;
          var _scevgep69 = _vectors+16*_j_064+8;
          var _scevgep70 = _vectors+16*_j_064+4;
          var _scevgep7172 = _vectors+16*_j_064;
          FHEAP[_7] = 0;
          FHEAP[_8] = 0;
          FHEAP[_9] = 0;
          FHEAP[_10] = 0;
          var _21 = _this+28+_20*4;
          var _22 = FHEAP[_21];
          var _23 = _pos+_20*4;
          FHEAP[_23] = _22;
          var _24 = IHEAP[_11];
          var _25 = _24+44;
          var _26 = IHEAP[_25];
          var _27 = _26;
          var _28 = FUNCTION_TABLE[_27](_12);
          var _29 = FHEAP[_scevgep69];
          var _30 = _29 * _28;
          var _31 = FHEAP[_scevgep70];
          var _32 = _31 * _28;
          var _33 = FHEAP[_scevgep7172];
          var _34 = _33 * _28;
          var _35 = FHEAP[_13];
          var _36 = _29 * _35;
          var _37 = FHEAP[_14];
          var _38 = _31 * _37;
          var _39 = FHEAP[_15];
          var _40 = _33 * _39;
          var _41 = _36 * _5;
          var _42 = _38 * _5;
          var _43 = _40 * _5;
          var _44 = FHEAP[_9];
          var _45 = _44 + _41;
          var _46 = FHEAP[_8];
          var _47 = _46 + _42;
          var _48 = FHEAP[_7];
          var _49 = _48 + _43;
          var _50 = _45 - _30;
          var _51 = _47 - _32;
          var _52 = _49 - _34;
          var _53 = _33 * _52;
          var _54 = _31 * _51;
          var _55 = _53 + _54;
          var _56 = _29 * _50;
          var _57 = _55 + _56;
          var _58 = _57 > -999999984306749400;
          ;
          if (_58) {
            __lastLabel__ = 60; ;
            FHEAP[_scevgep65] = _52;
            FHEAP[_scevgep66] = _51;
            FHEAP[_scevgep67] = _50;
            FHEAP[_scevgep68] = 0;
            __lastLabel__ = 75; ;
          }
          else {
            __lastLabel__ = 60; ;
          }
          var _maxDot_0 = __lastLabel__ == 75 ? _57 : (-999999984306749400);
          FHEAP[_16] = 0;
          FHEAP[_17] = 0;
          FHEAP[_18] = 0;
          FHEAP[_19] = 0;
          var _59 = IHEAP[_0];
          var _60 = _this+28+_59*4;
          var _61 = FHEAP[_60];
          var _62 = 0 - _61;
          var _63 = _pos4+_59*4;
          FHEAP[_63] = _62;
          var _64 = IHEAP[_11];
          var _65 = _64+44;
          var _66 = IHEAP[_65];
          var _67 = _66;
          var _68 = FUNCTION_TABLE[_67](_12);
          var _69 = FHEAP[_scevgep69];
          var _70 = _69 * _68;
          var _71 = FHEAP[_scevgep70];
          var _72 = _71 * _68;
          var _73 = FHEAP[_scevgep7172];
          var _74 = _73 * _68;
          var _75 = FHEAP[_13];
          var _76 = _69 * _75;
          var _77 = FHEAP[_14];
          var _78 = _71 * _77;
          var _79 = FHEAP[_15];
          var _80 = _73 * _79;
          var _81 = _76 * _5;
          var _82 = _78 * _5;
          var _83 = _80 * _5;
          var _84 = FHEAP[_18];
          var _85 = _84 + _81;
          var _86 = FHEAP[_17];
          var _87 = _86 + _82;
          var _88 = FHEAP[_16];
          var _89 = _88 + _83;
          var _90 = _85 - _70;
          var _91 = _87 - _72;
          var _92 = _89 - _74;
          var _93 = _73 * _92;
          var _94 = _71 * _91;
          var _95 = _93 + _94;
          var _96 = _69 * _90;
          var _97 = _95 + _96;
          var _98 = _97 > _maxDot_0;
          ;
          if (_98) {
            ;
            FHEAP[_scevgep65] = _92;
            FHEAP[_scevgep66] = _91;
            FHEAP[_scevgep67] = _90;
            FHEAP[_scevgep68] = 0;
            ;
          }
          var _99 = _j_064 + 1;
          var _exitcond = _99 == _numVectors;
          if (_exitcond) { __label__ = 44; /* _return */ break _bb_nph$_return$8634; }
          var __pre = IHEAP[_0];
          __lastLabel__ = 1673; __label__ = 60; /* _bb */ continue _bb$8636;
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK14btCapsuleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__ = Runtime.getFunctionIndex(__ZNK14btCapsuleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, "__ZNK14btCapsuleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i");
  
  
  function __ZNK14btCapsuleShape9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = __ZNK16btCollisionShape9serializeEPvP12btSerializer(_0, _dataBuffer, _serializer);
    var _2 = _dataBuffer+28;
    var _scevgep_i_i = _this+28;
    var _scevgep4_i_i = _2;
    var _3 = FHEAP[_scevgep_i_i];
    FHEAP[_scevgep4_i_i] = _3;
    var _scevgep_1_i_i = _this+28+4;
    var _scevgep4_1_i_i = _dataBuffer+32;
    var _4 = _scevgep4_1_i_i;
    var _5 = FHEAP[_scevgep_1_i_i];
    FHEAP[_4] = _5;
    var _scevgep_2_i_i = _this+28+8;
    var _scevgep4_2_i_i = _dataBuffer+36;
    var _6 = _scevgep4_2_i_i;
    var _7 = FHEAP[_scevgep_2_i_i];
    FHEAP[_6] = _7;
    var _scevgep_3_i_i = _this+28+12;
    var _scevgep4_3_i_i = _dataBuffer+40;
    var _8 = _scevgep4_3_i_i;
    var _9 = FHEAP[_scevgep_3_i_i];
    FHEAP[_8] = _9;
    var _10 = _dataBuffer+12;
    var _scevgep_i2_i = _this+12;
    var _scevgep4_i3_i = _10;
    var _11 = FHEAP[_scevgep_i2_i];
    FHEAP[_scevgep4_i3_i] = _11;
    var _scevgep_1_i4_i = _this+12+4;
    var _scevgep4_1_i5_i = _dataBuffer+16;
    var _12 = _scevgep4_1_i5_i;
    var _13 = FHEAP[_scevgep_1_i4_i];
    FHEAP[_12] = _13;
    var _scevgep_2_i6_i = _this+12+8;
    var _scevgep4_2_i7_i = _dataBuffer+20;
    var _14 = _scevgep4_2_i7_i;
    var _15 = FHEAP[_scevgep_2_i6_i];
    FHEAP[_14] = _15;
    var _scevgep_3_i8_i = _this+12+12;
    var _scevgep4_3_i9_i = _dataBuffer+24;
    var _16 = _scevgep4_3_i9_i;
    var _17 = FHEAP[_scevgep_3_i8_i];
    FHEAP[_16] = _17;
    var _18 = _this+44;
    var _19 = FHEAP[_18];
    var _20 = _dataBuffer+44;
    var _21 = _20;
    FHEAP[_21] = _19;
    var _22 = _this+52;
    var _23 = IHEAP[_22];
    var _24 = _dataBuffer+52;
    var _25 = _24;
    IHEAP[_25] = _23;
    ;
    return __str454;
  }
  __ZNK14btCapsuleShape9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK14btCapsuleShape9serializeEPvP12btSerializer, "__ZNK14btCapsuleShape9serializeEPvP12btSerializer");
  
  
  function __ZN14btCapsuleShape15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+44;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    var _6 = FUNCTION_TABLE[_5](_4);
    var _7 = IHEAP[_0];
    var _8 = _7+44;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = FUNCTION_TABLE[_10](_4);
    var _12 = IHEAP[_0];
    var _13 = _12+44;
    var _14 = IHEAP[_13];
    var _15 = _14;
    var _16 = FUNCTION_TABLE[_15](_4);
    var _17 = _this+28+8;
    var _18 = FHEAP[_17];
    var _19 = _18 + _6;
    var _20 = _this+28+4;
    var _21 = FHEAP[_20];
    var _22 = _21 + _11;
    var _23 = _this+28;
    var _24 = FHEAP[_23];
    var _25 = _24 + _16;
    var _26 = _this+12+8;
    var _27 = FHEAP[_26];
    var _28 = _19 / _27;
    var _29 = _this+12+4;
    var _30 = FHEAP[_29];
    var _31 = _22 / _30;
    var _32 = _this+12;
    var _33 = FHEAP[_32];
    var _34 = _25 / _33;
    __ZN21btConvexInternalShape15setLocalScalingERK9btVector3(_4, _scaling);
    var _35 = FHEAP[_26];
    var _36 = _28 * _35;
    var _37 = FHEAP[_29];
    var _38 = _31 * _37;
    var _39 = FHEAP[_32];
    var _40 = _34 * _39;
    var _41 = _36 - _6;
    var _42 = _38 - _11;
    var _43 = _40 - _16;
    FHEAP[_23] = _43;
    FHEAP[_20] = _42;
    FHEAP[_17] = _41;
    var _44 = _this+28+12;
    FHEAP[_44] = 0;
    ;
    return;
  }
  __ZN14btCapsuleShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN14btCapsuleShape15setLocalScalingERK9btVector3, "__ZN14btCapsuleShape15setLocalScalingERK9btVector3");
  
  
  function __ZNK14btCapsuleShape37localGetSupportingVertexWithoutMarginERK9btVector3(_agg_result, _this, _vec0) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _pos = __stackBase__;
    var _pos6 = __stackBase__+16;
    var _0 = _agg_result;
    FHEAP[_0] = 0;
    var _1 = _agg_result+4;
    FHEAP[_1] = 0;
    var _2 = _agg_result+8;
    FHEAP[_2] = 0;
    var _3 = _agg_result+12;
    FHEAP[_3] = 0;
    var _4 = _vec0;
    var _5 = FHEAP[_4];
    var _6 = _vec0+4;
    var _7 = FHEAP[_6];
    var _8 = _vec0+8;
    var _9 = FHEAP[_8];
    var _10 = _5 * _5;
    var _11 = _7 * _7;
    var _12 = _10 + _11;
    var _13 = _9 * _9;
    var _14 = _12 + _13;
    var _15 = _14 < 0.00009999999747378752;
    ;
    if (_15) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _16 = _sqrtf(_14);
      var _17 = 1 / _16;
      var _18 = _5 * _17;
      var _19 = _7 * _17;
      var _20 = _9 * _17;
      __lastLabel__ = 75; ;
    }
    var _vec_0_0_0 = __lastLabel__ == 75 ? _18 : (1);
    var _vec_0_1_0 = __lastLabel__ == 75 ? _19 : (0);
    var _vec_0_2_0 = __lastLabel__ == 75 ? _20 : (0);
    var _21 = _this+52;
    var _22 = IHEAP[_21];
    var _23 = _22 + 2;
    var _24 = Math.floor(_23 % 3);
    var _25 = _this+28+_24*4;
    var _26 = FHEAP[_25];
    var _27 = _pos;
    FHEAP[_27] = 0;
    var _28 = _pos+4;
    FHEAP[_28] = 0;
    var _29 = _pos+8;
    FHEAP[_29] = 0;
    var _30 = _pos+12;
    FHEAP[_30] = 0;
    var _31 = _this+28+_22*4;
    var _32 = FHEAP[_31];
    var _33 = _pos+_22*4;
    FHEAP[_33] = _32;
    var _34 = _this;
    var _35 = IHEAP[_34];
    var _36 = _35+44;
    var _37 = IHEAP[_36];
    var _38 = _this;
    var _39 = _37;
    var _40 = FUNCTION_TABLE[_39](_38);
    var _41 = _vec_0_2_0 * _40;
    var _42 = _vec_0_1_0 * _40;
    var _43 = _vec_0_0_0 * _40;
    var _44 = _this+12+8;
    var _45 = FHEAP[_44];
    var _46 = _vec_0_2_0 * _45;
    var _47 = _this+12+4;
    var _48 = FHEAP[_47];
    var _49 = _vec_0_1_0 * _48;
    var _50 = _this+12;
    var _51 = FHEAP[_50];
    var _52 = _vec_0_0_0 * _51;
    var _53 = _46 * _26;
    var _54 = _49 * _26;
    var _55 = _52 * _26;
    var _56 = FHEAP[_29];
    var _57 = _56 + _53;
    var _58 = FHEAP[_28];
    var _59 = _58 + _54;
    var _60 = FHEAP[_27];
    var _61 = _60 + _55;
    var _62 = _57 - _41;
    var _63 = _59 - _42;
    var _64 = _61 - _43;
    var _65 = _vec_0_0_0 * _64;
    var _66 = _vec_0_1_0 * _63;
    var _67 = _65 + _66;
    var _68 = _vec_0_2_0 * _62;
    var _69 = _67 + _68;
    var _70 = _69 > -999999984306749400;
    ;
    if (_70) {
      __lastLabel__ = 0; ;
      FHEAP[_0] = _64;
      FHEAP[_1] = _63;
      FHEAP[_2] = _62;
      FHEAP[_3] = 0;
      __lastLabel__ = 116; ;
    }
    else {
      __lastLabel__ = 0; ;
    }
    var _maxDot_0 = __lastLabel__ == 116 ? _69 : (-999999984306749400);
    var _71 = _pos6;
    FHEAP[_71] = 0;
    var _72 = _pos6+4;
    FHEAP[_72] = 0;
    var _73 = _pos6+8;
    FHEAP[_73] = 0;
    var _74 = _pos6+12;
    FHEAP[_74] = 0;
    var _75 = IHEAP[_21];
    var _76 = _this+28+_75*4;
    var _77 = FHEAP[_76];
    var _78 = 0 - _77;
    var _79 = _pos6+_75*4;
    FHEAP[_79] = _78;
    var _80 = IHEAP[_34];
    var _81 = _80+44;
    var _82 = IHEAP[_81];
    var _83 = _82;
    var _84 = FUNCTION_TABLE[_83](_38);
    var _85 = _vec_0_2_0 * _84;
    var _86 = _vec_0_1_0 * _84;
    var _87 = _vec_0_0_0 * _84;
    var _88 = FHEAP[_44];
    var _89 = _vec_0_2_0 * _88;
    var _90 = FHEAP[_47];
    var _91 = _vec_0_1_0 * _90;
    var _92 = FHEAP[_50];
    var _93 = _vec_0_0_0 * _92;
    var _94 = _89 * _26;
    var _95 = _91 * _26;
    var _96 = _93 * _26;
    var _97 = FHEAP[_73];
    var _98 = _97 + _94;
    var _99 = FHEAP[_72];
    var _100 = _99 + _95;
    var _101 = FHEAP[_71];
    var _102 = _101 + _96;
    var _103 = _98 - _85;
    var _104 = _100 - _86;
    var _105 = _102 - _87;
    var _106 = _vec_0_0_0 * _105;
    var _107 = _vec_0_1_0 * _104;
    var _108 = _106 + _107;
    var _109 = _vec_0_2_0 * _103;
    var _110 = _108 + _109;
    var _111 = _110 > _maxDot_0;
    ;
    if (_111) {
      ;
      FHEAP[_0] = _105;
      FHEAP[_1] = _104;
      FHEAP[_2] = _103;
      FHEAP[_3] = 0;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZNK14btCapsuleShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK14btCapsuleShape37localGetSupportingVertexWithoutMarginERK9btVector3, "__ZNK14btCapsuleShape37localGetSupportingVertexWithoutMarginERK9btVector3");
  
  
  function __ZNK16btCollisionShape27getContactBreakingThresholdEf(_this, _defaultContactThreshold) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+16;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = FUNCTION_TABLE[_4](_this);
    var _6 = _5 * _defaultContactThreshold;
    ;
    return _6;
  }
  __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__ = Runtime.getFunctionIndex(__ZNK16btCollisionShape27getContactBreakingThresholdEf, "__ZNK16btCollisionShape27getContactBreakingThresholdEf");
  
  
  function __ZNK16btCollisionShape9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var _0 = _serializer;
    var _1 = IHEAP[_0];
    var _2 = _1+40;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = _this;
    var _6 = FUNCTION_TABLE[_4](_serializer, _5);
    var _7 = IHEAP[_0];
    var _8 = _7+28;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = FUNCTION_TABLE[_10](_serializer, _6);
    var _12 = _dataBuffer;
    IHEAP[_12] = _11;
    var _13 = _11 == 0;
    ;
    if (!_13) {
      ;
      var _14 = IHEAP[_0];
      var _15 = _14+48;
      var _16 = IHEAP[_15];
      var _17 = _16;
      FUNCTION_TABLE[_17](_serializer, _6);
      ;
    }
    var _18 = _this+4;
    var _19 = IHEAP[_18];
    var _20 = _dataBuffer+4;
    var _21 = _20;
    IHEAP[_21] = _19;
    ;
    return __str55;
  }
  __ZNK16btCollisionShape9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK16btCollisionShape9serializeEPvP12btSerializer, "__ZNK16btCollisionShape9serializeEPvP12btSerializer");
  
  
  function __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer(_this, _serializer) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+48;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = FUNCTION_TABLE[_4](_this);
    var _6 = _serializer;
    var _7 = IHEAP[_6];
    var _8 = _7+16;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = FUNCTION_TABLE[_10](_serializer, _5, 1);
    var _12 = IHEAP[_0];
    var _13 = _12+52;
    var _14 = IHEAP[_13];
    var _15 = _11+8;
    var _16 = IHEAP[_15];
    var _17 = _14;
    var _18 = FUNCTION_TABLE[_17](_this, _16, _serializer);
    var _19 = IHEAP[_6];
    var _20 = _19+20;
    var _21 = IHEAP[_20];
    var _22 = _this;
    var _23 = _21;
    FUNCTION_TABLE[_23](_serializer, _11, _18, 1346455635, _22);
    ;
    return;
  }
  __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer, "__ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer");
  
  
  function __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf(_this, _center, _radius) {
    var __stackBase__  = STACKTOP; STACKTOP += 96;
    var __label__;
    var _tr = __stackBase__;
    var _aabbMin = __stackBase__+64;
    var _aabbMax = __stackBase__+80;
    var _0 = _tr;
    FHEAP[_0] = 1;
    var _1 = _tr+4;
    FHEAP[_1] = 0;
    var _2 = _tr+8;
    FHEAP[_2] = 0;
    var _3 = _tr+12;
    FHEAP[_3] = 0;
    var _4 = _tr+16;
    FHEAP[_4] = 0;
    var _5 = _tr+16+4;
    FHEAP[_5] = 1;
    var _6 = _tr+16+8;
    FHEAP[_6] = 0;
    var _7 = _tr+16+12;
    FHEAP[_7] = 0;
    var _8 = _tr+32;
    FHEAP[_8] = 0;
    var _9 = _tr+32+4;
    FHEAP[_9] = 0;
    var _10 = _tr+32+8;
    FHEAP[_10] = 1;
    var _11 = _tr+32+12;
    FHEAP[_11] = 0;
    var _12 = _tr+48;
    FHEAP[_12] = 0;
    var _13 = _tr+48+4;
    FHEAP[_13] = 0;
    var _14 = _tr+48+8;
    FHEAP[_14] = 0;
    var _15 = _tr+48+12;
    FHEAP[_15] = 0;
    var _16 = _this;
    var _17 = IHEAP[_16];
    var _18 = _17+8;
    var _19 = IHEAP[_18];
    var _20 = _19;
    FUNCTION_TABLE[_20](_this, _tr, _aabbMin, _aabbMax);
    var _21 = _aabbMax+8;
    var _22 = FHEAP[_21];
    var _23 = _aabbMin+8;
    var _24 = FHEAP[_23];
    var _25 = _22 - _24;
    var _26 = _aabbMax+4;
    var _27 = FHEAP[_26];
    var _28 = _aabbMin+4;
    var _29 = FHEAP[_28];
    var _30 = _27 - _29;
    var _31 = _aabbMax;
    var _32 = FHEAP[_31];
    var _33 = _aabbMin;
    var _34 = FHEAP[_33];
    var _35 = _32 - _34;
    var _36 = _35 * _35;
    var _37 = _30 * _30;
    var _38 = _36 + _37;
    var _39 = _25 * _25;
    var _40 = _38 + _39;
    var _41 = _sqrtf(_40);
    var _42 = _41 * 0.5;
    FHEAP[_radius] = _42;
    var _43 = _24 + _22;
    var _44 = _29 + _27;
    var _45 = _34 + _32;
    var _46 = _43 * 0.5;
    var _47 = _44 * 0.5;
    var _48 = _45 * 0.5;
    var _49 = _center;
    FHEAP[_49] = _48;
    var _50 = _center+4;
    FHEAP[_50] = _47;
    var _51 = _center+8;
    FHEAP[_51] = _46;
    var _52 = _center+12;
    FHEAP[_52] = 0;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__ = Runtime.getFunctionIndex(__ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf, "__ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf");
  
  
  function __ZNK16btCollisionShape20getAngularMotionDiscEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 17;
    var __label__;
    var _center = __stackBase__;
    var _disc = __stackBase__+16;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+12;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_this, _center, _disc);
    var _5 = _center;
    var _6 = FHEAP[_5];
    var _7 = _6 * _6;
    var _8 = _center+4;
    var _9 = FHEAP[_8];
    var _10 = _9 * _9;
    var _11 = _7 + _10;
    var _12 = _center+8;
    var _13 = FHEAP[_12];
    var _14 = _13 * _13;
    var _15 = _11 + _14;
    var _16 = _sqrtf(_15);
    var _17 = FHEAP[_disc];
    var _18 = _16 + _17;
    STACKTOP = __stackBase__;
    return _18;
  }
  __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__ = Runtime.getFunctionIndex(__ZNK16btCollisionShape20getAngularMotionDiscEv, "__ZNK16btCollisionShape20getAngularMotionDiscEv");
  
  
  function __ZNK16btCollisionShape21calculateTemporalAabbERK11btTransformRK9btVector3S5_fRS3_S6_(_this, _curTrans, _linvel, _angvel, _timeStep, _temporalAabbMin, _temporalAabbMax) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+8;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_this, _curTrans, _temporalAabbMin, _temporalAabbMax);
    var _5 = _temporalAabbMax;
    var _6 = FHEAP[_5];
    var _7 = _temporalAabbMax+4;
    var _8 = FHEAP[_7];
    var _9 = _temporalAabbMax+8;
    var _10 = FHEAP[_9];
    var _11 = _temporalAabbMin;
    var _12 = FHEAP[_11];
    var _13 = _temporalAabbMin+4;
    var _14 = FHEAP[_13];
    var _15 = _temporalAabbMin+8;
    var _16 = FHEAP[_15];
    var _17 = _linvel+8;
    var _18 = FHEAP[_17];
    var _19 = _18 * _timeStep;
    var _20 = _linvel+4;
    var _21 = FHEAP[_20];
    var _22 = _21 * _timeStep;
    var _23 = _linvel;
    var _24 = FHEAP[_23];
    var _25 = _24 * _timeStep;
    var _26 = _25 > 0;
    ;
    if (_26) {
      ;
      var _27 = _25 + _6;
      __lastLabel__ = 60; ;
    }
    else {
      ;
      var _28 = _25 + _12;
      __lastLabel__ = 75; ;
    }
    var _temporalAabbMinx_0 = __lastLabel__ == 60 ? _12 : (_28);
    var _temporalAabbMaxx_0 = __lastLabel__ == 60 ? _27 : (_6);
    var _29 = _22 > 0;
    ;
    if (_29) {
      ;
      var _30 = _22 + _8;
      __lastLabel__ = 61; ;
    }
    else {
      ;
      var _31 = _22 + _14;
      __lastLabel__ = 82; ;
    }
    var _temporalAabbMiny_0 = __lastLabel__ == 61 ? _14 : (_31);
    var _temporalAabbMaxy_0 = __lastLabel__ == 61 ? _30 : (_8);
    var _32 = _19 > 0;
    ;
    if (_32) {
      ;
      var _33 = _19 + _10;
      __lastLabel__ = 148; ;
    }
    else {
      ;
      var _34 = _19 + _16;
      __lastLabel__ = 62; ;
    }
    var _temporalAabbMaxz_0 = __lastLabel__ == 148 ? _33 : (_10);
    var _temporalAabbMinz_0 = __lastLabel__ == 148 ? _16 : (_34);
    var _35 = _angvel;
    var _36 = FHEAP[_35];
    var _37 = _36 * _36;
    var _38 = _angvel+4;
    var _39 = FHEAP[_38];
    var _40 = _39 * _39;
    var _41 = _37 + _40;
    var _42 = _angvel+8;
    var _43 = FHEAP[_42];
    var _44 = _43 * _43;
    var _45 = _41 + _44;
    var _46 = _sqrtf(_45);
    var _47 = IHEAP[_0];
    var _48 = _47+16;
    var _49 = IHEAP[_48];
    var _50 = _49;
    var _51 = FUNCTION_TABLE[_50](_this);
    var _52 = _46 * _51;
    var _53 = _52 * _timeStep;
    FHEAP[_11] = _temporalAabbMinx_0;
    FHEAP[_13] = _temporalAabbMiny_0;
    FHEAP[_15] = _temporalAabbMinz_0;
    var _54 = _temporalAabbMin+12;
    FHEAP[_54] = 0;
    FHEAP[_5] = _temporalAabbMaxx_0;
    FHEAP[_7] = _temporalAabbMaxy_0;
    FHEAP[_9] = _temporalAabbMaxz_0;
    var _55 = _temporalAabbMax+12;
    FHEAP[_55] = 0;
    var _56 = FHEAP[_11];
    var _57 = _56 - _53;
    FHEAP[_11] = _57;
    var _58 = FHEAP[_13];
    var _59 = _58 - _53;
    FHEAP[_13] = _59;
    var _60 = FHEAP[_15];
    var _61 = _60 - _53;
    FHEAP[_15] = _61;
    var _62 = FHEAP[_5];
    var _63 = _62 + _53;
    FHEAP[_5] = _63;
    var _64 = FHEAP[_7];
    var _65 = _64 + _53;
    FHEAP[_7] = _65;
    var _66 = FHEAP[_9];
    var _67 = _66 + _53;
    FHEAP[_9] = _67;
    ;
    return;
  }
  __ZNK16btCollisionShape21calculateTemporalAabbERK11btTransformRK9btVector3S5_fRS3_S6_.__index__ = Runtime.getFunctionIndex(__ZNK16btCollisionShape21calculateTemporalAabbERK11btTransformRK9btVector3S5_fRS3_S6_, "__ZNK16btCollisionShape21calculateTemporalAabbERK11btTransformRK9btVector3S5_fRS3_S6_");
  
  
  function __ZN15btCompoundShapeC2Eb(_this, _enableDynamicAabbTree) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    var _1 = _this+4;
    var _2 = _this+8;
    IHEAP[_2] = 0;
    IHEAP[_0] = __ZTV15btCompoundShape+8;
    var _3 = _this+12+16;
    IHEAP[_3] = 1;
    var _4 = _this+12+12;
    IHEAP[_4] = 0;
    var _5 = _this+12+4;
    IHEAP[_5] = 0;
    var _6 = _this+12+8;
    IHEAP[_6] = 0;
    var _7 = _this+32;
    FHEAP[_7] = 999999984306749400;
    var _8 = _this+32+4;
    FHEAP[_8] = 999999984306749400;
    var _9 = _this+32+8;
    FHEAP[_9] = 999999984306749400;
    var _10 = _this+32+12;
    FHEAP[_10] = 0;
    var _11 = _this+48;
    FHEAP[_11] = -999999984306749400;
    var _12 = _this+48+4;
    FHEAP[_12] = -999999984306749400;
    var _13 = _this+48+8;
    FHEAP[_13] = -999999984306749400;
    var _14 = _this+48+12;
    FHEAP[_14] = 0;
    var _15 = _this+64;
    IHEAP[_15] = 0;
    var _16 = _this+68;
    IHEAP[_16] = 1;
    var _17 = _this+72;
    FHEAP[_17] = 0;
    var _18 = _this+76;
    FHEAP[_18] = 1;
    var _19 = _this+76+4;
    FHEAP[_19] = 1;
    var _20 = _this+76+8;
    FHEAP[_20] = 1;
    var _21 = _this+76+12;
    FHEAP[_21] = 0;
    IHEAP[_1] = 31;
    var _toBool = _enableDynamicAabbTree == 0;
    ;
    if (_toBool) {
      ;
      ;
      return;
    }
    else {
      ;
      var _22 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(40, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 1680; /* _lpad19 */  };
      _invcont1$_lpad19$8699: do { 
        if (__label__ == 1554) {
          var _23 = _22;
          var _24 = _22 == 0;
          ;
          _bb7$_bb2$8701: do { 
            if (!_24) {
              ;
              (function() { try { __THREW__ = false; return __ZN6btDbvtC1Ev(_23) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2; /* _bb7 */ break _bb7$_bb2$8701; } else { ; }
              var _eh_ptr24 = _llvm_eh_exception();
              var _eh_select26 = _llvm_eh_selector(_eh_ptr24, ___gxx_personality_v0, 0);
              __lastLabel__ = 1682; __label__ = 1683; /* _ppad31 */ break _invcont1$_lpad19$8699;
            }
          } while(0);
          IHEAP[_15] = _23;
          ;
          return;
        }
        else if (__label__ == 1680) {
          var _eh_ptr20 = _llvm_eh_exception();
          var _eh_select22 = _llvm_eh_selector(_eh_ptr20, ___gxx_personality_v0, 0);
          __lastLabel__ = 1680; ;
        }
      } while(0);
      var _eh_exception_0 = __lastLabel__ == 1682 ? _eh_ptr24 : (_eh_ptr20);
      var _25 = IHEAP[_4];
      var _26 = _25 == 0;
      ;
      if (!_26) {
        ;
        var _27 = IHEAP[_3];
        var _toBool_i_i_i = _27 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$8709: do { 
          if (!_toBool_i_i_i) {
            ;
            var _28 = _25;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_28) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$8709; } else { ; }
            var _eh_ptr28 = _llvm_eh_exception();
            var _eh_select30 = _llvm_eh_selector(_eh_ptr28, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_4] = 0;
        ;
      }
      IHEAP[_3] = 1;
      IHEAP[_4] = 0;
      IHEAP[_5] = 0;
      IHEAP[_6] = 0;
      IHEAP[_0] = __ZTV16btCollisionShape+8;
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
  }
  __ZN15btCompoundShapeC2Eb.__index__ = Runtime.getFunctionIndex(__ZN15btCompoundShapeC2Eb, "__ZN15btCompoundShapeC2Eb");
  
  
  function __ZNK15btCompoundShape7getAabbERK11btTransformR9btVector3S4_(_this, _trans, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+48+8;
    var _1 = FHEAP[_0];
    var _2 = _this+32+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _this+48+4;
    var _6 = FHEAP[_5];
    var _7 = _this+32+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _this+48;
    var _11 = FHEAP[_10];
    var _12 = _this+32;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _4 * 0.5;
    var _16 = _9 * 0.5;
    var _17 = _14 * 0.5;
    var _18 = _1 + _3;
    var _19 = _6 + _8;
    var _20 = _11 + _13;
    var _21 = _18 * 0.5;
    var _22 = _19 * 0.5;
    var _23 = _20 * 0.5;
    var _24 = _this+12+4;
    var _25 = IHEAP[_24];
    var _26 = _25 == 0;
    ;
    if (_26) {
      __lastLabel__ = -1; ;
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _localHalfExtents_0_0_0 = __lastLabel__ == 60 ? 0 : (_17);
    var _localHalfExtents_0_1_0 = __lastLabel__ == 60 ? 0 : (_16);
    var _localHalfExtents_0_2_0 = __lastLabel__ == 60 ? 0 : (_15);
    var _localCenter_0_0_0 = __lastLabel__ == 60 ? 0 : (_23);
    var _localCenter_0_1_0 = __lastLabel__ == 60 ? 0 : (_22);
    var _localCenter_0_2_0 = __lastLabel__ == 60 ? 0 : (_21);
    var _27 = _this;
    var _28 = IHEAP[_27];
    var _29 = _28+44;
    var _30 = IHEAP[_29];
    var _31 = _30;
    var _32 = FUNCTION_TABLE[_31](_this);
    var _33 = IHEAP[_27];
    var _34 = _33+44;
    var _35 = IHEAP[_34];
    var _36 = _35;
    var _37 = FUNCTION_TABLE[_36](_this);
    var _38 = IHEAP[_27];
    var _39 = _38+44;
    var _40 = IHEAP[_39];
    var _41 = _40;
    var _42 = FUNCTION_TABLE[_41](_this);
    var _43 = _localHalfExtents_0_0_0 + _42;
    var _44 = _localHalfExtents_0_1_0 + _37;
    var _45 = _localHalfExtents_0_2_0 + _32;
    var _46 = _trans+32+8;
    var _47 = FHEAP[_46];
    var _48 = _fabsf(_47);
    var _49 = _trans+32+4;
    var _50 = FHEAP[_49];
    var _51 = _fabsf(_50);
    var _52 = _trans+32;
    var _53 = FHEAP[_52];
    var _54 = _fabsf(_53);
    var _55 = _trans+16+8;
    var _56 = FHEAP[_55];
    var _57 = _fabsf(_56);
    var _58 = _trans+16+4;
    var _59 = FHEAP[_58];
    var _60 = _fabsf(_59);
    var _61 = _trans+16;
    var _62 = FHEAP[_61];
    var _63 = _fabsf(_62);
    var _64 = _trans+8;
    var _65 = FHEAP[_64];
    var _66 = _fabsf(_65);
    var _67 = _trans+4;
    var _68 = FHEAP[_67];
    var _69 = _fabsf(_68);
    var _70 = _trans;
    var _71 = FHEAP[_70];
    var _72 = _fabsf(_71);
    var _73 = _53 * _localCenter_0_0_0;
    var _74 = _50 * _localCenter_0_1_0;
    var _75 = _73 + _74;
    var _76 = _47 * _localCenter_0_2_0;
    var _77 = _75 + _76;
    var _78 = _trans+48+8;
    var _79 = FHEAP[_78];
    var _80 = _77 + _79;
    var _81 = _62 * _localCenter_0_0_0;
    var _82 = _59 * _localCenter_0_1_0;
    var _83 = _81 + _82;
    var _84 = _56 * _localCenter_0_2_0;
    var _85 = _83 + _84;
    var _86 = _trans+48+4;
    var _87 = FHEAP[_86];
    var _88 = _85 + _87;
    var _89 = _71 * _localCenter_0_0_0;
    var _90 = _68 * _localCenter_0_1_0;
    var _91 = _89 + _90;
    var _92 = _65 * _localCenter_0_2_0;
    var _93 = _91 + _92;
    var _94 = _trans+48;
    var _95 = FHEAP[_94];
    var _96 = _93 + _95;
    var _97 = _54 * _43;
    var _98 = _51 * _44;
    var _99 = _97 + _98;
    var _100 = _48 * _45;
    var _101 = _99 + _100;
    var _102 = _63 * _43;
    var _103 = _60 * _44;
    var _104 = _102 + _103;
    var _105 = _57 * _45;
    var _106 = _104 + _105;
    var _107 = _72 * _43;
    var _108 = _69 * _44;
    var _109 = _107 + _108;
    var _110 = _66 * _45;
    var _111 = _109 + _110;
    var _112 = _80 - _101;
    var _113 = _88 - _106;
    var _114 = _96 - _111;
    var _115 = _aabbMin;
    FHEAP[_115] = _114;
    var _116 = _aabbMin+4;
    FHEAP[_116] = _113;
    var _117 = _aabbMin+8;
    FHEAP[_117] = _112;
    var _118 = _aabbMin+12;
    FHEAP[_118] = 0;
    var _119 = _80 + _101;
    var _120 = _88 + _106;
    var _121 = _96 + _111;
    var _122 = _aabbMax;
    FHEAP[_122] = _121;
    var _123 = _aabbMax+4;
    FHEAP[_123] = _120;
    var _124 = _aabbMax+8;
    FHEAP[_124] = _119;
    var _125 = _aabbMax+12;
    FHEAP[_125] = 0;
    ;
    return;
  }
  __ZNK15btCompoundShape7getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK15btCompoundShape7getAabbERK11btTransformR9btVector3S4_, "__ZNK15btCompoundShape7getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZNK15btCompoundShape9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    var _1 = __ZNK16btCollisionShape9serializeEPvP12btSerializer(_0, _dataBuffer, _serializer);
    var _2 = _this+72;
    var _3 = FHEAP[_2];
    var _4 = _dataBuffer+20;
    var _5 = _4;
    FHEAP[_5] = _3;
    var _6 = _this+12+4;
    var _7 = IHEAP[_6];
    var _8 = _dataBuffer+16;
    var _9 = _8;
    IHEAP[_9] = _7;
    var _10 = _dataBuffer+12;
    var _11 = _10;
    IHEAP[_11] = 0;
    var _12 = _7 == 0;
    ;
    if (_12) {
      ;
      ;
      return __str264;
    }
    else {
      ;
      var _13 = _serializer;
      var _14 = IHEAP[_13];
      var _15 = _14+16;
      var _16 = IHEAP[_15];
      var _17 = _16;
      var _18 = FUNCTION_TABLE[_17](_serializer, 76, _7);
      var _19 = _18+8;
      var _20 = IHEAP[_19];
      var _21 = IHEAP[_13];
      var _22 = _21+28;
      var _23 = IHEAP[_22];
      var _24 = _23;
      var _25 = FUNCTION_TABLE[_24](_serializer, _20);
      var _26 = _25;
      IHEAP[_11] = _26;
      var _27 = IHEAP[_9];
      var _28 = _27 > 0;
      ;
      _bb_nph$_bb6$8759: do { 
        if (_28) {
          ;
          var _29 = _this+12+12;
          __lastLabel__ = 130; ;
          _bb1$8761: while(1) { // _bb1
            var _i_010 = __lastLabel__ == 130 ? 0 : (_tmp);
            var _tmp = _i_010 + 1;
            var _tmp36 = _i_010 * 76;
            var _tmp37 = _tmp36 + 72;
            var _scevgep38 = _20+_tmp37;
            var _scevgep3839 = _scevgep38;
            var _tmp40 = _tmp36 + 64;
            var _scevgep41 = _20+_tmp40;
            var _scevgep4142 = _scevgep41;
            var _tmp43 = _tmp36 + 68;
            var _scevgep44 = _20+_tmp43;
            var _scevgep4445 = _scevgep44;
            var _scevgep46 = _20+_tmp36;
            var _scevgep4_i_i_i = _scevgep46;
            var _tmp48 = _tmp36 + 4;
            var _scevgep49 = _20+_tmp48;
            var _scevgep4_1_i_i_i = _scevgep49;
            var _tmp51 = _tmp36 + 8;
            var _scevgep52 = _20+_tmp51;
            var _scevgep4_2_i_i_i = _scevgep52;
            var _tmp54 = _tmp36 + 12;
            var _scevgep55 = _20+_tmp54;
            var _scevgep4_3_i_i_i = _scevgep55;
            var _tmp57 = _tmp36 + 16;
            var _scevgep58 = _20+_tmp57;
            var _scevgep4_i_1_i_i = _scevgep58;
            var _tmp60 = _tmp36 + 20;
            var _scevgep61 = _20+_tmp60;
            var _scevgep4_1_i_1_i_i = _scevgep61;
            var _tmp63 = _tmp36 + 24;
            var _scevgep64 = _20+_tmp63;
            var _scevgep4_2_i_1_i_i = _scevgep64;
            var _tmp66 = _tmp36 + 28;
            var _scevgep67 = _20+_tmp66;
            var _scevgep4_3_i_1_i_i = _scevgep67;
            var _tmp69 = _tmp36 + 32;
            var _scevgep70 = _20+_tmp69;
            var _scevgep4_i_2_i_i = _scevgep70;
            var _tmp72 = _tmp36 + 36;
            var _scevgep73 = _20+_tmp72;
            var _scevgep4_1_i_2_i_i = _scevgep73;
            var _tmp75 = _tmp36 + 40;
            var _scevgep76 = _20+_tmp75;
            var _scevgep4_2_i_2_i_i = _scevgep76;
            var _tmp78 = _tmp36 + 44;
            var _scevgep79 = _20+_tmp78;
            var _scevgep4_3_i_2_i_i = _scevgep79;
            var _tmp81 = _tmp36 + 48;
            var _scevgep82 = _20+_tmp81;
            var _scevgep4_i_i = _scevgep82;
            var _tmp84 = _tmp36 + 52;
            var _scevgep85 = _20+_tmp84;
            var _scevgep4_1_i_i = _scevgep85;
            var _tmp87 = _tmp36 + 56;
            var _scevgep88 = _20+_tmp87;
            var _scevgep4_2_i_i = _scevgep88;
            var _tmp90 = _tmp36 + 60;
            var _scevgep91 = _20+_tmp90;
            var _scevgep4_3_i_i = _scevgep91;
            var _30 = IHEAP[_29];
            var _scevgep = _30+80*_i_010+72;
            var _31 = FHEAP[_scevgep];
            FHEAP[_scevgep3839] = _31;
            var _32 = IHEAP[_13];
            var _33 = _32+28;
            var _34 = IHEAP[_33];
            var _35 = IHEAP[_29];
            var _scevgep11 = _35+80*_i_010+64;
            var _36 = IHEAP[_scevgep11];
            var _37 = _34;
            var _38 = _36;
            var _39 = FUNCTION_TABLE[_37](_serializer, _38);
            var _40 = _39;
            IHEAP[_scevgep4142] = _40;
            var _41 = IHEAP[_13];
            var _42 = _41+24;
            var _43 = IHEAP[_42];
            var _44 = IHEAP[_29];
            var _scevgep12 = _44+80*_i_010+64;
            var _45 = IHEAP[_scevgep12];
            var _46 = _43;
            var _47 = _45;
            var _48 = FUNCTION_TABLE[_46](_serializer, _47);
            var _49 = _48 == 0;
            ;
            if (_49) {
              ;
              var _50 = IHEAP[_13];
              var _51 = _50+16;
              var _52 = IHEAP[_51];
              var _53 = IHEAP[_29];
              var _scevgep33 = _53+80*_i_010+64;
              var _54 = IHEAP[_scevgep33];
              var _55 = _54;
              var _56 = IHEAP[_55];
              var _57 = _56+48;
              var _58 = IHEAP[_57];
              var _59 = _58;
              var _60 = FUNCTION_TABLE[_59](_54);
              var _61 = _52;
              var _62 = FUNCTION_TABLE[_61](_serializer, _60, 1);
              var _63 = IHEAP[_29];
              var _scevgep34 = _63+80*_i_010+64;
              var _64 = IHEAP[_scevgep34];
              var _65 = _64;
              var _66 = IHEAP[_65];
              var _67 = _66+52;
              var _68 = IHEAP[_67];
              var _69 = _62+8;
              var _70 = IHEAP[_69];
              var _71 = _68;
              var _72 = FUNCTION_TABLE[_71](_64, _70, _serializer);
              var _73 = IHEAP[_13];
              var _74 = _73+20;
              var _75 = IHEAP[_74];
              var _76 = IHEAP[_29];
              var _scevgep35 = _76+80*_i_010+64;
              var _77 = IHEAP[_scevgep35];
              var _78 = _75;
              var _79 = _77;
              FUNCTION_TABLE[_78](_serializer, _62, _72, 1346455635, _79);
              ;
            }
            var _80 = IHEAP[_29];
            var _scevgep13 = _80+80*_i_010+68;
            var _81 = IHEAP[_scevgep13];
            IHEAP[_scevgep4445] = _81;
            var _82 = IHEAP[_29];
            var _scevgep_i_i_i = _82+80*_i_010;
            var _83 = FHEAP[_scevgep_i_i_i];
            FHEAP[_scevgep4_i_i_i] = _83;
            var _scevgep_1_i_i_i = _82+80*_i_010+4;
            var _84 = FHEAP[_scevgep_1_i_i_i];
            FHEAP[_scevgep4_1_i_i_i] = _84;
            var _scevgep_2_i_i_i = _82+80*_i_010+8;
            var _85 = FHEAP[_scevgep_2_i_i_i];
            FHEAP[_scevgep4_2_i_i_i] = _85;
            var _scevgep_3_i_i_i = _82+80*_i_010+12;
            var _86 = FHEAP[_scevgep_3_i_i_i];
            FHEAP[_scevgep4_3_i_i_i] = _86;
            var _scevgep_i_1_i_i = _82+80*_i_010+16;
            var _87 = FHEAP[_scevgep_i_1_i_i];
            FHEAP[_scevgep4_i_1_i_i] = _87;
            var _scevgep_1_i_1_i_i = _82+80*_i_010+16+4;
            var _88 = FHEAP[_scevgep_1_i_1_i_i];
            FHEAP[_scevgep4_1_i_1_i_i] = _88;
            var _scevgep_2_i_1_i_i = _82+80*_i_010+16+8;
            var _89 = FHEAP[_scevgep_2_i_1_i_i];
            FHEAP[_scevgep4_2_i_1_i_i] = _89;
            var _scevgep_3_i_1_i_i = _82+80*_i_010+16+12;
            var _90 = FHEAP[_scevgep_3_i_1_i_i];
            FHEAP[_scevgep4_3_i_1_i_i] = _90;
            var _scevgep_i_2_i_i = _82+80*_i_010+32;
            var _91 = FHEAP[_scevgep_i_2_i_i];
            FHEAP[_scevgep4_i_2_i_i] = _91;
            var _scevgep_1_i_2_i_i = _82+80*_i_010+32+4;
            var _92 = FHEAP[_scevgep_1_i_2_i_i];
            FHEAP[_scevgep4_1_i_2_i_i] = _92;
            var _scevgep_2_i_2_i_i = _82+80*_i_010+32+8;
            var _93 = FHEAP[_scevgep_2_i_2_i_i];
            FHEAP[_scevgep4_2_i_2_i_i] = _93;
            var _scevgep_3_i_2_i_i = _82+80*_i_010+32+12;
            var _94 = FHEAP[_scevgep_3_i_2_i_i];
            FHEAP[_scevgep4_3_i_2_i_i] = _94;
            var _scevgep_i_i = _82+80*_i_010+48;
            var _95 = FHEAP[_scevgep_i_i];
            FHEAP[_scevgep4_i_i] = _95;
            var _scevgep_1_i_i = _82+80*_i_010+48+4;
            var _96 = FHEAP[_scevgep_1_i_i];
            FHEAP[_scevgep4_1_i_i] = _96;
            var _scevgep_2_i_i = _82+80*_i_010+48+8;
            var _97 = FHEAP[_scevgep_2_i_i];
            FHEAP[_scevgep4_2_i_i] = _97;
            var _scevgep_3_i_i = _82+80*_i_010+48+12;
            var _98 = FHEAP[_scevgep_3_i_i];
            FHEAP[_scevgep4_3_i_i] = _98;
            var _99 = IHEAP[_9];
            var _100 = _99 > _tmp;
            if (_100) { __lastLabel__ = 61; __label__ = 75; /* _bb1 */ continue _bb1$8761; } else { __lastLabel__ = 61; __label__ = 83; /* _bb6 */ break _bb_nph$_bb6$8759; }
          }
        }
      } while(0);
      var _101 = IHEAP[_13];
      var _102 = _101+20;
      var _103 = IHEAP[_102];
      var _104 = IHEAP[_19];
      var _105 = _103;
      FUNCTION_TABLE[_105](_serializer, _18, __str163, 1497453121, _104);
      ;
      return __str264;
    }
  }
  __ZNK15btCompoundShape9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK15btCompoundShape9serializeEPvP12btSerializer, "__ZNK15btCompoundShape9serializeEPvP12btSerializer");
  
  
  function __ZN15btCompoundShape26createAabbTreeFromChildrenEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var __lastLabel__ = null;
    var _localAabbMin = __stackBase__;
    var _localAabbMax = __stackBase__+16;
    var _bounds = __stackBase__+32;
    var _0 = _this+64;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _bb$_return$8768: do { 
      if (_2) {
        ;
        var _3 = __Z22btAlignedAllocInternalji(40, 16);
        var _4 = _3;
        var _5 = _3 == 0;
        ;
        _bb5$_bb1$8770: do { 
          if (!_5) {
            ;
            (function() { try { __THREW__ = false; return __ZN6btDbvtC1Ev(_4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb1$8770; } else { ; }
            var _eh_ptr = _llvm_eh_exception();
            var _eh_select10 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
        } while(0);
        IHEAP[_0] = _4;
        var _6 = _this+12+4;
        var _7 = IHEAP[_6];
        var _8 = _7 > 0;
        if (!(_8)) { __label__ = 44; /* _return */ break _bb$_return$8768; }
        var _9 = _this+12+12;
        var _10 = _bounds;
        var _11 = _localAabbMin;
        var _12 = _bounds+4;
        var _13 = _localAabbMin+4;
        var _14 = _bounds+8;
        var _15 = _localAabbMin+8;
        var _16 = _bounds+12;
        var _17 = _localAabbMin+12;
        var _18 = _bounds+16;
        var _19 = _localAabbMax;
        var _20 = _bounds+16+4;
        var _21 = _localAabbMax+4;
        var _22 = _bounds+16+8;
        var _23 = _localAabbMax+8;
        var _24 = _bounds+16+12;
        var _25 = _localAabbMax+12;
        __lastLabel__ = 130; ;
        _bb6$8775: while(1) { // _bb6
          var _26 = __lastLabel__ == 130 ? 0 : (_45);
          var _27 = IHEAP[_9];
          var _scevgep = _27+80*_26+64;
          var _28 = IHEAP[_scevgep];
          var _29 = _28;
          var _30 = IHEAP[_29];
          var _31 = _30+8;
          var _32 = IHEAP[_31];
          var _33 = _32;
          var _scevgep1314 = _27+80*_26;
          FUNCTION_TABLE[_33](_28, _scevgep1314, _localAabbMin, _localAabbMax);
          var _34 = FHEAP[_11];
          FHEAP[_10] = _34;
          var _35 = FHEAP[_13];
          FHEAP[_12] = _35;
          var _36 = FHEAP[_15];
          FHEAP[_14] = _36;
          var _37 = FHEAP[_17];
          FHEAP[_16] = _37;
          var _38 = FHEAP[_19];
          FHEAP[_18] = _38;
          var _39 = FHEAP[_21];
          FHEAP[_20] = _39;
          var _40 = FHEAP[_23];
          FHEAP[_22] = _40;
          var _41 = FHEAP[_25];
          FHEAP[_24] = _41;
          var _42 = _26;
          var _43 = IHEAP[_0];
          var _44 = __ZN6btDbvt6insertERK12btDbvtAabbMmPv(_43, _bounds, _42);
          var _scevgep16 = _27+80*_26+76;
          IHEAP[_scevgep16] = _44;
          var _45 = _26 + 1;
          var _46 = IHEAP[_6];
          var _47 = _46 > _45;
          if (_47) { __lastLabel__ = 83; __label__ = 83; /* _bb6 */ continue _bb6$8775; } else { __lastLabel__ = 83; __label__ = 44; /* _return */ break _bb$_return$8768; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN15btCompoundShape26createAabbTreeFromChildrenEv.__index__ = Runtime.getFunctionIndex(__ZN15btCompoundShape26createAabbTreeFromChildrenEv, "__ZN15btCompoundShape26createAabbTreeFromChildrenEv");
  
  
  function __ZN11btMatrix3x311diagonalizeERS_fi(_this, _rot, _threshold, _maxSteps) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _rot;
    FHEAP[_0] = 1;
    var _1 = _rot+4;
    FHEAP[_1] = 0;
    var _2 = _rot+8;
    FHEAP[_2] = 0;
    var _3 = _rot+12;
    FHEAP[_3] = 0;
    var _4 = _rot+16;
    FHEAP[_4] = 0;
    var _5 = _rot+16+4;
    FHEAP[_5] = 1;
    var _6 = _rot+16+8;
    FHEAP[_6] = 0;
    var _7 = _rot+16+12;
    FHEAP[_7] = 0;
    var _8 = _rot+32;
    FHEAP[_8] = 0;
    var _9 = _rot+32+4;
    FHEAP[_9] = 0;
    var _10 = _rot+32+8;
    FHEAP[_10] = 1;
    var _11 = _rot+32+12;
    FHEAP[_11] = 0;
    var _12 = _this+4;
    var _13 = _this+8;
    var _14 = _this+16+8;
    var _15 = _this;
    var _16 = _this+16+4;
    var _17 = _this+32+8;
    __lastLabel__ = -1; ;
    _bb17$8779: while(1) { // _bb17
      var _step_1 = __lastLabel__ == -1 ? _maxSteps : (_110);
      var _111 = _step_1 > 0;
      if (!(_111)) { __label__ = 44; /* _return */ break _bb17$8779; }
      var _18 = FHEAP[_12];
      var _19 = _fabsf(_18);
      var _20 = FHEAP[_13];
      var _21 = _fabsf(_20);
      var _22 = _21 > _19;
      var _max_0 = _22 ? _21 : _19;
      var _r_0 = _22 ? 1 : 2;
      var _q_0 = _22 ? 2 : 1;
      var _23 = FHEAP[_14];
      var _24 = _fabsf(_23);
      var _25 = _24 > _max_0;
      ;
      if (_25) {
        __lastLabel__ = 60; ;
        __lastLabel__ = 116; ;
      }
      else {
        __lastLabel__ = 60; ;
      }
      var _max_1 = __lastLabel__ == 116 ? _24 : (_max_0);
      var _r_1 = __lastLabel__ == 116 ? 0 : (_r_0);
      var _q_1 = __lastLabel__ == 116 ? 2 : (_q_0);
      var _p_0 = __lastLabel__ == 116 ? 1 : (0);
      var _26 = FHEAP[_15];
      var _27 = _fabsf(_26);
      var _28 = FHEAP[_16];
      var _29 = _fabsf(_28);
      var _30 = _27 + _29;
      var _31 = FHEAP[_17];
      var _32 = _fabsf(_31);
      var _33 = _30 + _32;
      var _34 = _33 * _threshold;
      var _35 = _max_1 > _34;
      ;
      if (_35) {
        __lastLabel__ = 61; ;
      }
      else {
        __lastLabel__ = 61; ;
        var _36 = _34 * 1.1920928955078125e-7;
        var _37 = _36 < _max_1;
        if (_37) { __lastLabel__ = 82; ; } else { __lastLabel__ = 82; __label__ = 44; /* _return */ break _bb17$8779; }
      }
      var _step_0 = __lastLabel__ == 61 ? _step_1 : (1);
      var _38 = _this+_p_0*16+_q_1*4;
      var _39 = FHEAP[_38];
      var _40 = _this+_q_1*16+_q_1*4;
      var _41 = FHEAP[_40];
      var _42 = _this+_p_0*16+_p_0*4;
      var _43 = FHEAP[_42];
      var _44 = _41 - _43;
      var _45 = _39 * 2;
      var _46 = _44 / _45;
      var _47 = _46 * _46;
      var _48 = _47 * _47;
      var _49 = _48 < 83886080;
      ;
      if (_49) {
        ;
        var _50 = _46 < 0;
        var _51 = _47 + 1;
        var _52 = _sqrtf(_51);
        ;
        if (_50) {
          ;
          var _54 = _46 - _52;
          __lastLabel__ = 150; ;
        }
        else {
          ;
          var _53 = _52 + _46;
          __lastLabel__ = 62; ;
        }
        var __pn = __lastLabel__ == 62 ? _53 : (_54);
        var _iftmp_70_0 = 1 / __pn;
        var _55 = _iftmp_70_0 * _iftmp_70_0;
        var _56 = _55 + 1;
        var _57 = _sqrtf(_56);
        var _58 = 1 / _57;
        var _59 = _58 * _iftmp_70_0;
        __lastLabel__ = 292; ;
      }
      else {
        ;
        var _60 = 0.5 / _47;
        var _61 = _60 + 2;
        var _62 = _61 * _46;
        var _63 = 1 / _62;
        var _64 = _63 * -0.5;
        var _65 = _64 * _63;
        var _66 = _65 + 1;
        var _67 = _66 * _63;
        __lastLabel__ = 3; ;
      }
      var _cos_0 = __lastLabel__ == 292 ? _58 : (_66);
      var _t_0 = __lastLabel__ == 292 ? _iftmp_70_0 : (_63);
      var _sin_0 = __lastLabel__ == 292 ? _59 : (_67);
      var _68 = _this+_q_1*16+_p_0*4;
      FHEAP[_68] = 0;
      FHEAP[_38] = 0;
      var _69 = FHEAP[_42];
      var _70 = _t_0 * _39;
      var _71 = _69 - _70;
      FHEAP[_42] = _71;
      var _72 = FHEAP[_40];
      var _73 = _72 + _70;
      FHEAP[_40] = _73;
      var _74 = _this+_r_1*16+_p_0*4;
      var _75 = FHEAP[_74];
      var _76 = _this+_r_1*16+_q_1*4;
      var _77 = FHEAP[_76];
      var _78 = _cos_0 * _75;
      var _79 = _sin_0 * _77;
      var _80 = _78 - _79;
      var _81 = _this+_p_0*16+_r_1*4;
      FHEAP[_81] = _80;
      FHEAP[_74] = _80;
      var _82 = _cos_0 * _77;
      var _83 = _sin_0 * _75;
      var _84 = _82 + _83;
      var _85 = _this+_q_1*16+_r_1*4;
      FHEAP[_85] = _84;
      FHEAP[_76] = _84;
      var _scevgep = _rot+_p_0*4;
      var _scevgep20 = _rot+_q_1*4;
      var _86 = FHEAP[_scevgep];
      var _87 = FHEAP[_scevgep20];
      var _88 = _cos_0 * _86;
      var _89 = _sin_0 * _87;
      var _90 = _88 - _89;
      FHEAP[_scevgep] = _90;
      var _91 = _cos_0 * _87;
      var _92 = _sin_0 * _86;
      var _93 = _91 + _92;
      FHEAP[_scevgep20] = _93;
      var _scevgep_1 = _rot+16+_p_0*4;
      var _scevgep20_1 = _rot+16+_q_1*4;
      var _94 = FHEAP[_scevgep_1];
      var _95 = FHEAP[_scevgep20_1];
      var _96 = _cos_0 * _94;
      var _97 = _sin_0 * _95;
      var _98 = _96 - _97;
      FHEAP[_scevgep_1] = _98;
      var _99 = _cos_0 * _95;
      var _100 = _sin_0 * _94;
      var _101 = _99 + _100;
      FHEAP[_scevgep20_1] = _101;
      var _scevgep_2 = _rot+32+_p_0*4;
      var _scevgep20_2 = _rot+32+_q_1*4;
      var _102 = FHEAP[_scevgep_2];
      var _103 = FHEAP[_scevgep20_2];
      var _104 = _cos_0 * _102;
      var _105 = _sin_0 * _103;
      var _106 = _104 - _105;
      FHEAP[_scevgep_2] = _106;
      var _107 = _cos_0 * _103;
      var _108 = _sin_0 * _102;
      var _109 = _107 + _108;
      FHEAP[_scevgep20_2] = _109;
      var _110 = _step_0 + -1;
      __lastLabel__ = 154; __label__ = 4; /* _bb17 */ continue _bb17$8779;
    }
    ;
    return;
  }
  __ZN11btMatrix3x311diagonalizeERS_fi.__index__ = Runtime.getFunctionIndex(__ZN11btMatrix3x311diagonalizeERS_fi, "__ZN11btMatrix3x311diagonalizeERS_fi");
  
  
  function __ZN15btCompoundShape15setLocalScalingERK9btVector3(_this, _scaling) {
    var __stackBase__  = STACKTOP; STACKTOP += 80;
    var __label__;
    var __lastLabel__ = null;
    var _childTrans = __stackBase__;
    var _childScale = __stackBase__+64;
    var _0 = _this+12+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_bb2$8835: do { 
      if (_2) {
        ;
        var _3 = _this+12+12;
        var _4 = _childTrans;
        var _5 = _childTrans+4;
        var _6 = _childTrans+8;
        var _7 = _childTrans+12;
        var _8 = _childTrans+16;
        var _9 = _childTrans+16+4;
        var _10 = _childTrans+16+8;
        var _11 = _childTrans+16+12;
        var _12 = _childTrans+32;
        var _13 = _childTrans+32+4;
        var _14 = _childTrans+32+8;
        var _15 = _childTrans+32+12;
        var _16 = _childTrans+48;
        var _17 = _childTrans+48+4;
        var _18 = _childTrans+48+8;
        var _19 = _childTrans+48+12;
        var _20 = _childScale;
        var _21 = _childScale+4;
        var _22 = _childScale+8;
        var _23 = _childScale+12;
        var _24 = _scaling+8;
        var _25 = _scaling+4;
        var _26 = _scaling;
        var _27 = _this+76+8;
        var _28 = _this+76+4;
        var _29 = _this+76;
        var _30 = _this;
        __lastLabel__ = 130; ;
        _bb$8837: while(1) { // _bb
          var _31 = __lastLabel__ == 130 ? 0 : (_94);
          var _32 = IHEAP[_3];
          var _scevgep14 = _32+80*_31;
          var _33 = FHEAP[_scevgep14];
          FHEAP[_4] = _33;
          var _scevgep15 = _32+80*_31+4;
          var _34 = FHEAP[_scevgep15];
          FHEAP[_5] = _34;
          var _scevgep16 = _32+80*_31+8;
          var _35 = FHEAP[_scevgep16];
          FHEAP[_6] = _35;
          var _scevgep17 = _32+80*_31+12;
          var _36 = FHEAP[_scevgep17];
          FHEAP[_7] = _36;
          var _scevgep1819 = _32+80*_31+16;
          var _37 = FHEAP[_scevgep1819];
          FHEAP[_8] = _37;
          var _scevgep20 = _32+80*_31+16+4;
          var _38 = FHEAP[_scevgep20];
          FHEAP[_9] = _38;
          var _scevgep21 = _32+80*_31+16+8;
          var _39 = FHEAP[_scevgep21];
          FHEAP[_10] = _39;
          var _scevgep22 = _32+80*_31+16+12;
          var _40 = FHEAP[_scevgep22];
          FHEAP[_11] = _40;
          var _scevgep2324 = _32+80*_31+32;
          var _41 = FHEAP[_scevgep2324];
          FHEAP[_12] = _41;
          var _scevgep25 = _32+80*_31+32+4;
          var _42 = FHEAP[_scevgep25];
          FHEAP[_13] = _42;
          var _scevgep26 = _32+80*_31+32+8;
          var _43 = FHEAP[_scevgep26];
          FHEAP[_14] = _43;
          var _scevgep27 = _32+80*_31+32+12;
          var _44 = FHEAP[_scevgep27];
          FHEAP[_15] = _44;
          var _scevgep28 = _32+80*_31+48;
          var _45 = FHEAP[_scevgep28];
          FHEAP[_16] = _45;
          var _scevgep29 = _32+80*_31+48+4;
          var _46 = FHEAP[_scevgep29];
          FHEAP[_17] = _46;
          var _scevgep30 = _32+80*_31+48+8;
          var _47 = FHEAP[_scevgep30];
          FHEAP[_18] = _47;
          var _scevgep31 = _32+80*_31+48+12;
          var _48 = FHEAP[_scevgep31];
          FHEAP[_19] = _48;
          var _scevgep32 = _32+80*_31+64;
          var _49 = IHEAP[_scevgep32];
          var _50 = _49;
          var _51 = IHEAP[_50];
          var _52 = _51+28;
          var _53 = IHEAP[_52];
          var _54 = _53;
          var _55 = FUNCTION_TABLE[_54](_49);
          var _56 = _55;
          var _57 = FHEAP[_56];
          FHEAP[_20] = _57;
          var _58 = _55+4;
          var _59 = FHEAP[_58];
          FHEAP[_21] = _59;
          var _60 = _55+8;
          var _61 = FHEAP[_60];
          var _62 = FHEAP[_24];
          var _63 = _61 * _62;
          var _64 = FHEAP[_25];
          var _65 = _59 * _64;
          var _66 = FHEAP[_26];
          var _67 = _57 * _66;
          var _68 = FHEAP[_27];
          var _69 = _63 / _68;
          var _70 = FHEAP[_28];
          var _71 = _65 / _70;
          var _72 = FHEAP[_29];
          var _73 = _67 / _72;
          FHEAP[_20] = _73;
          FHEAP[_21] = _71;
          FHEAP[_22] = _69;
          FHEAP[_23] = 0;
          var _74 = IHEAP[_3];
          var _scevgep33 = _74+80*_31+64;
          var _75 = IHEAP[_scevgep33];
          var _76 = _75;
          var _77 = IHEAP[_76];
          var _78 = _77+24;
          var _79 = IHEAP[_78];
          var _80 = _79;
          FUNCTION_TABLE[_80](_75, _childScale);
          var _81 = FHEAP[_18];
          var _82 = FHEAP[_24];
          var _83 = _81 * _82;
          var _84 = FHEAP[_17];
          var _85 = FHEAP[_25];
          var _86 = _84 * _85;
          var _87 = FHEAP[_16];
          var _88 = FHEAP[_26];
          var _89 = _87 * _88;
          FHEAP[_16] = _89;
          FHEAP[_17] = _86;
          FHEAP[_18] = _83;
          FHEAP[_19] = 0;
          __ZN15btCompoundShape20updateChildTransformEiRK11btTransform(_this, _31, _childTrans);
          var _90 = IHEAP[_30];
          var _91 = _90+64;
          var _92 = IHEAP[_91];
          var _93 = _92;
          FUNCTION_TABLE[_93](_this);
          var _94 = _31 + 1;
          var _95 = IHEAP[_0];
          var _96 = _95 > _94;
          if (_96) { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$8837; } else { __lastLabel__ = 60; __label__ = 0; /* _bb2 */ break _bb_nph$_bb2$8835; }
        }
      }
    } while(0);
    var _97 = _this+76;
    var _98 = _scaling;
    var _99 = FHEAP[_98];
    FHEAP[_97] = _99;
    var _100 = _this+76+4;
    var _101 = _scaling+4;
    var _102 = FHEAP[_101];
    FHEAP[_100] = _102;
    var _103 = _this+76+8;
    var _104 = _scaling+8;
    var _105 = FHEAP[_104];
    FHEAP[_103] = _105;
    var _106 = _this+76+12;
    var _107 = _scaling+12;
    var _108 = FHEAP[_107];
    FHEAP[_106] = _108;
    STACKTOP = __stackBase__;
    return;
  }
  __ZN15btCompoundShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN15btCompoundShape15setLocalScalingERK9btVector3, "__ZN15btCompoundShape15setLocalScalingERK9btVector3");
  
  
  function __ZN20btAlignedObjectArrayI20btCompoundShapeChildE9push_backERKS0_(_this, __Val) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _this+8;
    var _3 = IHEAP[_2];
    var _4 = _3 == _1;
    ;
    _bb$_bb1$8841: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 == 0;
        var _6 = _1 << 1;
        var _iftmp_408_0_i = _5 ? 1 : _6;
        var _7 = _3 < _iftmp_408_0_i;
        if (_7) { __lastLabel__ = 60; ; } else { __lastLabel__ = 60; __label__ = 75; /* _bb1 */ break _bb$_bb1$8841; }
        var _8 = _iftmp_408_0_i == 0;
        ;
        if (_8) {
          __lastLabel__ = 131; ;
        }
        else {
          __lastLabel__ = 131; ;
          var _9 = _iftmp_408_0_i * 80;
          var _10 = __Z22btAlignedAllocInternalji(_9, 16);
          var _phitmp_i = _10;
          var __pre = IHEAP[_0];
          __lastLabel__ = 215; ;
        }
        var _11 = __lastLabel__ == 215 ? __pre : (_1);
        var _12 = __lastLabel__ == 215 ? _phitmp_i : (0);
        __ZNK20btAlignedObjectArrayI20btCompoundShapeChildE4copyEiiPS0_(_this, 0, _11, _12);
        var _13 = _this+12;
        var _14 = IHEAP[_13];
        var _15 = _14 == 0;
        ;
        if (!_15) {
          ;
          var _16 = _this+16;
          var _17 = IHEAP[_16];
          var _toBool_i_i = _17 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _18 = _14;
            __Z21btAlignedFreeInternalPv(_18);
            ;
          }
          IHEAP[_13] = 0;
          ;
        }
        var _19 = _this+16;
        IHEAP[_19] = 1;
        IHEAP[_13] = _12;
        IHEAP[_2] = _iftmp_408_0_i;
        var __pre2 = IHEAP[_0];
        __lastLabel__ = 1710; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _20 = __lastLabel__ == 1710 ? __pre2 : (__lastLabel__ == -1 ? _1 : (_1));
    var _21 = _this+12;
    var _22 = IHEAP[_21];
    var _23 = _22+80*_20;
    var _24 = __Val;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _22+80*_20+4;
    var _27 = __Val+4;
    var _28 = FHEAP[_27];
    FHEAP[_26] = _28;
    var _29 = _22+80*_20+8;
    var _30 = __Val+8;
    var _31 = FHEAP[_30];
    FHEAP[_29] = _31;
    var _32 = _22+80*_20+12;
    var _33 = __Val+12;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _22+80*_20+16;
    var _36 = __Val+16;
    var _37 = FHEAP[_36];
    FHEAP[_35] = _37;
    var _38 = _22+80*_20+16+4;
    var _39 = __Val+16+4;
    var _40 = FHEAP[_39];
    FHEAP[_38] = _40;
    var _41 = _22+80*_20+16+8;
    var _42 = __Val+16+8;
    var _43 = FHEAP[_42];
    FHEAP[_41] = _43;
    var _44 = _22+80*_20+16+12;
    var _45 = __Val+16+12;
    var _46 = FHEAP[_45];
    FHEAP[_44] = _46;
    var _47 = _22+80*_20+32;
    var _48 = __Val+32;
    var _49 = FHEAP[_48];
    FHEAP[_47] = _49;
    var _50 = _22+80*_20+32+4;
    var _51 = __Val+32+4;
    var _52 = FHEAP[_51];
    FHEAP[_50] = _52;
    var _53 = _22+80*_20+32+8;
    var _54 = __Val+32+8;
    var _55 = FHEAP[_54];
    FHEAP[_53] = _55;
    var _56 = _22+80*_20+32+12;
    var _57 = __Val+32+12;
    var _58 = FHEAP[_57];
    FHEAP[_56] = _58;
    var _59 = _22+80*_20+48;
    var _60 = __Val+48;
    var _61 = FHEAP[_60];
    FHEAP[_59] = _61;
    var _62 = _22+80*_20+48+4;
    var _63 = __Val+48+4;
    var _64 = FHEAP[_63];
    FHEAP[_62] = _64;
    var _65 = _22+80*_20+48+8;
    var _66 = __Val+48+8;
    var _67 = FHEAP[_66];
    FHEAP[_65] = _67;
    var _68 = _22+80*_20+48+12;
    var _69 = __Val+48+12;
    var _70 = FHEAP[_69];
    FHEAP[_68] = _70;
    var _71 = __Val+64;
    var _72 = IHEAP[_71];
    var _73 = _22+80*_20+64;
    IHEAP[_73] = _72;
    var _74 = __Val+68;
    var _75 = IHEAP[_74];
    var _76 = _22+80*_20+68;
    IHEAP[_76] = _75;
    var _77 = __Val+72;
    var _78 = FHEAP[_77];
    var _79 = _22+80*_20+72;
    FHEAP[_79] = _78;
    var _80 = __Val+76;
    var _81 = IHEAP[_80];
    var _82 = _22+80*_20+76;
    IHEAP[_82] = _81;
    var _83 = IHEAP[_0];
    var _84 = _83 + 1;
    IHEAP[_0] = _84;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI20btCompoundShapeChildE9push_backERKS0_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI20btCompoundShapeChildE9push_backERKS0_, "__ZN20btAlignedObjectArrayI20btCompoundShapeChildE9push_backERKS0_");
  
  
  function __ZN15btCompoundShape13addChildShapeERK11btTransformP16btCollisionShape(_this, _localTransform, _shape) {
    var __stackBase__  = STACKTOP; STACKTOP += 144;
    var __label__;
    var _child = __stackBase__;
    var _localAabbMin = __stackBase__+80;
    var _localAabbMax = __stackBase__+96;
    var _bounds = __stackBase__+112;
    var _0 = _this+68;
    var _1 = IHEAP[_0];
    var _2 = _1 + 1;
    IHEAP[_0] = _2;
    var _3 = _child+76;
    IHEAP[_3] = 0;
    var _4 = _child;
    var _5 = _localTransform;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _child+4;
    var _8 = _localTransform+4;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _child+8;
    var _11 = _localTransform+8;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _child+12;
    var _14 = _localTransform+12;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    var _16 = _child+16;
    var _17 = _localTransform+16;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _child+16+4;
    var _20 = _localTransform+16+4;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _child+16+8;
    var _23 = _localTransform+16+8;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    var _25 = _child+16+12;
    var _26 = _localTransform+16+12;
    var _27 = FHEAP[_26];
    FHEAP[_25] = _27;
    var _28 = _child+32;
    var _29 = _localTransform+32;
    var _30 = FHEAP[_29];
    FHEAP[_28] = _30;
    var _31 = _child+32+4;
    var _32 = _localTransform+32+4;
    var _33 = FHEAP[_32];
    FHEAP[_31] = _33;
    var _34 = _child+32+8;
    var _35 = _localTransform+32+8;
    var _36 = FHEAP[_35];
    FHEAP[_34] = _36;
    var _37 = _child+32+12;
    var _38 = _localTransform+32+12;
    var _39 = FHEAP[_38];
    FHEAP[_37] = _39;
    var _40 = _child+48;
    var _41 = _localTransform+48;
    var _42 = FHEAP[_41];
    FHEAP[_40] = _42;
    var _43 = _child+48+4;
    var _44 = _localTransform+48+4;
    var _45 = FHEAP[_44];
    FHEAP[_43] = _45;
    var _46 = _child+48+8;
    var _47 = _localTransform+48+8;
    var _48 = FHEAP[_47];
    FHEAP[_46] = _48;
    var _49 = _child+48+12;
    var _50 = _localTransform+48+12;
    var _51 = FHEAP[_50];
    FHEAP[_49] = _51;
    var _52 = _child+64;
    IHEAP[_52] = _shape;
    var _53 = _shape+4;
    var _54 = IHEAP[_53];
    var _55 = _child+68;
    IHEAP[_55] = _54;
    var _56 = _shape;
    var _57 = IHEAP[_56];
    var _58 = _57+44;
    var _59 = IHEAP[_58];
    var _60 = _59;
    var _61 = FUNCTION_TABLE[_60](_shape);
    var _62 = _child+72;
    FHEAP[_62] = _61;
    var _63 = IHEAP[_56];
    var _64 = _63+8;
    var _65 = IHEAP[_64];
    var _66 = _65;
    FUNCTION_TABLE[_66](_shape, _localTransform, _localAabbMin, _localAabbMax);
    var _scevgep = _this+32;
    var _scevgep11 = _localAabbMin;
    var _scevgep12 = _this+48;
    var _scevgep13 = _localAabbMax;
    var _67 = FHEAP[_scevgep];
    var _68 = FHEAP[_scevgep11];
    var _69 = _67 > _68;
    ;
    if (_69) {
      ;
      FHEAP[_scevgep] = _68;
      ;
    }
    var _70 = FHEAP[_scevgep12];
    var _71 = FHEAP[_scevgep13];
    var _72 = _70 < _71;
    ;
    if (_72) {
      ;
      FHEAP[_scevgep12] = _71;
      ;
    }
    var _scevgep_1 = _this+32+4;
    var _scevgep11_1 = _localAabbMin+4;
    var _scevgep12_1 = _this+48+4;
    var _scevgep13_1 = _localAabbMax+4;
    var _73 = FHEAP[_scevgep_1];
    var _74 = FHEAP[_scevgep11_1];
    var _75 = _73 > _74;
    ;
    if (_75) {
      ;
      FHEAP[_scevgep_1] = _74;
      ;
    }
    var _111 = FHEAP[_scevgep12_1];
    var _112 = FHEAP[_scevgep13_1];
    var _113 = _111 < _112;
    ;
    if (_113) {
      ;
      FHEAP[_scevgep12_1] = _112;
      ;
    }
    var _scevgep_2 = _this+32+8;
    var _scevgep11_2 = _localAabbMin+8;
    var _scevgep12_2 = _this+48+8;
    var _scevgep13_2 = _localAabbMax+8;
    var _108 = FHEAP[_scevgep_2];
    var _109 = FHEAP[_scevgep11_2];
    var _110 = _108 > _109;
    ;
    if (_110) {
      ;
      FHEAP[_scevgep_2] = _109;
      ;
    }
    var _114 = FHEAP[_scevgep12_2];
    var _115 = FHEAP[_scevgep13_2];
    var _116 = _114 < _115;
    ;
    if (_116) {
      ;
      FHEAP[_scevgep12_2] = _115;
      ;
    }
    var _76 = _this+64;
    var _77 = IHEAP[_76];
    var _78 = _77 == 0;
    ;
    if (!_78) {
      ;
      var _79 = _bounds;
      var _80 = _localAabbMin;
      var _81 = FHEAP[_80];
      FHEAP[_79] = _81;
      var _82 = _bounds+4;
      var _83 = _localAabbMin+4;
      var _84 = FHEAP[_83];
      FHEAP[_82] = _84;
      var _85 = _bounds+8;
      var _86 = _localAabbMin+8;
      var _87 = FHEAP[_86];
      FHEAP[_85] = _87;
      var _88 = _bounds+12;
      var _89 = _localAabbMin+12;
      var _90 = FHEAP[_89];
      FHEAP[_88] = _90;
      var _91 = _bounds+16;
      var _92 = _localAabbMax;
      var _93 = FHEAP[_92];
      FHEAP[_91] = _93;
      var _94 = _bounds+16+4;
      var _95 = _localAabbMax+4;
      var _96 = FHEAP[_95];
      FHEAP[_94] = _96;
      var _97 = _bounds+16+8;
      var _98 = _localAabbMax+8;
      var _99 = FHEAP[_98];
      FHEAP[_97] = _99;
      var _100 = _bounds+16+12;
      var _101 = _localAabbMax+12;
      var _102 = FHEAP[_101];
      FHEAP[_100] = _102;
      var _103 = _this+12+4;
      var _104 = IHEAP[_103];
      var _105 = _104;
      var _106 = __ZN6btDbvt6insertERK12btDbvtAabbMmPv(_77, _bounds, _105);
      IHEAP[_3] = _106;
      ;
    }
    var _107 = _this+12;
    __ZN20btAlignedObjectArrayI20btCompoundShapeChildE9push_backERKS0_(_107, _child);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN15btCompoundShape13addChildShapeERK11btTransformP16btCollisionShape.__index__ = Runtime.getFunctionIndex(__ZN15btCompoundShape13addChildShapeERK11btTransformP16btCollisionShape, "__ZN15btCompoundShape13addChildShapeERK11btTransformP16btCollisionShape");
  
  
  function __ZN15btCompoundShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV15btCompoundShape+8;
    var _1 = _this+64;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb5$_bb$8877: do { 
      if (!_3) {
        ;
        (function() { try { __THREW__ = false; return __ZN6btDbvtD1Ev(_2) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        if (__label__ == 345) {
          var _4 = IHEAP[_1];
          var _5 = _4;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$8877; } else { ; }
        }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select10 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _19 = _this+12+12;
        var _20 = IHEAP[_19];
        var _21 = _20 == 0;
        ;
        if (!_21) {
          ;
          var _22 = _this+12+16;
          var _23 = IHEAP[_22];
          var _toBool_i_i_i17 = _23 == 0;
          ;
          _bb2_i_i_i20$_bb1_i_i_i19$8884: do { 
            if (!_toBool_i_i_i17) {
              ;
              var _24 = _20;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_24) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3919; /* _bb2_i_i_i20 */ break _bb2_i_i_i20$_bb1_i_i_i19$8884; } else { ; }
              var _eh_ptr12 = _llvm_eh_exception();
              var _eh_select14 = _llvm_eh_selector(_eh_ptr12, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_19] = 0;
          ;
        }
        var _6 = _this+12+16;
        IHEAP[_6] = 1;
        IHEAP[_19] = 0;
        var _7 = _this+12+4;
        IHEAP[_7] = 0;
        var _8 = _this+12+8;
        IHEAP[_8] = 0;
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    var _9 = _this+12+12;
    var _10 = IHEAP[_9];
    var _11 = _10 == 0;
    ;
    if (!_11) {
      ;
      var _12 = _this+12+16;
      var _13 = IHEAP[_12];
      var _toBool_i_i_i = _13 == 0;
      ;
      if (!_toBool_i_i_i) {
        ;
        var _14 = _10;
        __Z21btAlignedFreeInternalPv(_14);
        ;
      }
      IHEAP[_9] = 0;
      ;
    }
    var _15 = _this+12+16;
    IHEAP[_15] = 1;
    IHEAP[_9] = 0;
    var _16 = _this+12+4;
    IHEAP[_16] = 0;
    var _17 = _this+12+8;
    IHEAP[_17] = 0;
    var _18 = _this;
    __Z21btAlignedFreeInternalPv(_18);
    ;
    return;
  }
  __ZN15btCompoundShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN15btCompoundShapeD0Ev, "__ZN15btCompoundShapeD0Ev");
  
  
  function __ZN15btCompoundShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV15btCompoundShape+8;
    var _1 = _this+64;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb5$_bb$8897: do { 
      if (!_3) {
        ;
        (function() { try { __THREW__ = false; return __ZN6btDbvtD1Ev(_2) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        if (__label__ == 345) {
          var _4 = IHEAP[_1];
          var _5 = _4;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$8897; } else { ; }
        }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select10 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _18 = _this+12+12;
        var _19 = IHEAP[_18];
        var _20 = _19 == 0;
        ;
        if (!_20) {
          ;
          var _21 = _this+12+16;
          var _22 = IHEAP[_21];
          var _toBool_i_i_i17 = _22 == 0;
          ;
          _bb2_i_i_i20$_bb1_i_i_i19$8904: do { 
            if (!_toBool_i_i_i17) {
              ;
              var _23 = _19;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_23) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3919; /* _bb2_i_i_i20 */ break _bb2_i_i_i20$_bb1_i_i_i19$8904; } else { ; }
              var _eh_ptr12 = _llvm_eh_exception();
              var _eh_select14 = _llvm_eh_selector(_eh_ptr12, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_18] = 0;
          ;
        }
        var _6 = _this+12+16;
        IHEAP[_6] = 1;
        IHEAP[_18] = 0;
        var _7 = _this+12+4;
        IHEAP[_7] = 0;
        var _8 = _this+12+8;
        IHEAP[_8] = 0;
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    var _9 = _this+12+12;
    var _10 = IHEAP[_9];
    var _11 = _10 == 0;
    ;
    if (!_11) {
      ;
      var _12 = _this+12+16;
      var _13 = IHEAP[_12];
      var _toBool_i_i_i = _13 == 0;
      ;
      if (!_toBool_i_i_i) {
        ;
        var _14 = _10;
        __Z21btAlignedFreeInternalPv(_14);
        ;
      }
      IHEAP[_9] = 0;
      ;
    }
    var _15 = _this+12+16;
    IHEAP[_15] = 1;
    IHEAP[_9] = 0;
    var _16 = _this+12+4;
    IHEAP[_16] = 0;
    var _17 = _this+12+8;
    IHEAP[_17] = 0;
    ;
    return;
  }
  __ZN15btCompoundShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN15btCompoundShapeD1Ev, "__ZN15btCompoundShapeD1Ev");
  
  
  function __ZN15btCompoundShapeD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV15btCompoundShape+8;
    var _1 = _this+64;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb5$_bb$8917: do { 
      if (!_3) {
        ;
        (function() { try { __THREW__ = false; return __ZN6btDbvtD1Ev(_2) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        if (__label__ == 345) {
          var _4 = IHEAP[_1];
          var _5 = _4;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _bb5 */ break _bb5$_bb$8917; } else { ; }
        }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select10 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _18 = _this+12+12;
        var _19 = IHEAP[_18];
        var _20 = _19 == 0;
        ;
        if (!_20) {
          ;
          var _21 = _this+12+16;
          var _22 = IHEAP[_21];
          var _toBool_i_i_i17 = _22 == 0;
          ;
          _bb2_i_i_i20$_bb1_i_i_i19$8924: do { 
            if (!_toBool_i_i_i17) {
              ;
              var _23 = _19;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_23) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3919; /* _bb2_i_i_i20 */ break _bb2_i_i_i20$_bb1_i_i_i19$8924; } else { ; }
              var _eh_ptr12 = _llvm_eh_exception();
              var _eh_select14 = _llvm_eh_selector(_eh_ptr12, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_18] = 0;
          ;
        }
        var _6 = _this+12+16;
        IHEAP[_6] = 1;
        IHEAP[_18] = 0;
        var _7 = _this+12+4;
        IHEAP[_7] = 0;
        var _8 = _this+12+8;
        IHEAP[_8] = 0;
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    var _9 = _this+12+12;
    var _10 = IHEAP[_9];
    var _11 = _10 == 0;
    ;
    if (!_11) {
      ;
      var _12 = _this+12+16;
      var _13 = IHEAP[_12];
      var _toBool_i_i_i = _13 == 0;
      ;
      if (!_toBool_i_i_i) {
        ;
        var _14 = _10;
        __Z21btAlignedFreeInternalPv(_14);
        ;
      }
      IHEAP[_9] = 0;
      ;
    }
    var _15 = _this+12+16;
    IHEAP[_15] = 1;
    IHEAP[_9] = 0;
    var _16 = _this+12+4;
    IHEAP[_16] = 0;
    var _17 = _this+12+8;
    IHEAP[_17] = 0;
    ;
    return;
  }
  __ZN15btCompoundShapeD2Ev.__index__ = Runtime.getFunctionIndex(__ZN15btCompoundShapeD2Ev, "__ZN15btCompoundShapeD2Ev");
  
  
  function __ZN11btConeShapeC2Eff(_this, _radius, _height) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV11btConeShape+8;
    var _2 = _this+56;
    FHEAP[_2] = _radius;
    var _3 = _this+60;
    FHEAP[_3] = _height;
    var _4 = _this+4;
    IHEAP[_4] = 11;
    var _5 = _this+64;
    IHEAP[_5] = 0;
    var _6 = _this+64+4;
    IHEAP[_6] = 1;
    var _7 = _this+64+8;
    IHEAP[_7] = 2;
    var _8 = _radius * _radius;
    var _9 = _height * _height;
    var _10 = _8 + _9;
    var _11 = _sqrtf(_10);
    var _12 = _radius / _11;
    var _13 = _this+52;
    FHEAP[_13] = _12;
    ;
    return;
  }
  __ZN11btConeShapeC2Eff.__index__ = Runtime.getFunctionIndex(__ZN11btConeShapeC2Eff, "__ZN11btConeShapeC2Eff");
  
  
  function __ZNK11btConeShape21calculateLocalInertiaEfR9btVector3(_this, _mass, _inertia) {
    var __stackBase__  = STACKTOP; STACKTOP += 96;
    var __label__;
    var _identity = __stackBase__;
    var _aabbMin = __stackBase__+64;
    var _aabbMax = __stackBase__+80;
    var _0 = _identity;
    FHEAP[_0] = 1;
    var _1 = _identity+4;
    FHEAP[_1] = 0;
    var _2 = _identity+8;
    FHEAP[_2] = 0;
    var _3 = _identity+12;
    FHEAP[_3] = 0;
    var _4 = _identity+16;
    FHEAP[_4] = 0;
    var _5 = _identity+16+4;
    FHEAP[_5] = 1;
    var _6 = _identity+16+8;
    FHEAP[_6] = 0;
    var _7 = _identity+16+12;
    FHEAP[_7] = 0;
    var _8 = _identity+32;
    FHEAP[_8] = 0;
    var _9 = _identity+32+4;
    FHEAP[_9] = 0;
    var _10 = _identity+32+8;
    FHEAP[_10] = 1;
    var _11 = _identity+32+12;
    FHEAP[_11] = 0;
    var _12 = _identity+48;
    FHEAP[_12] = 0;
    var _13 = _identity+48+4;
    FHEAP[_13] = 0;
    var _14 = _identity+48+8;
    FHEAP[_14] = 0;
    var _15 = _identity+48+12;
    FHEAP[_15] = 0;
    var _16 = _this;
    var _17 = IHEAP[_16];
    var _18 = _17+8;
    var _19 = IHEAP[_18];
    var _20 = _this;
    var _21 = _19;
    FUNCTION_TABLE[_21](_20, _identity, _aabbMin, _aabbMax);
    var _22 = _aabbMax+8;
    var _23 = FHEAP[_22];
    var _24 = _aabbMin+8;
    var _25 = FHEAP[_24];
    var _26 = _23 - _25;
    var _27 = _aabbMax+4;
    var _28 = FHEAP[_27];
    var _29 = _aabbMin+4;
    var _30 = FHEAP[_29];
    var _31 = _28 - _30;
    var _32 = _aabbMax;
    var _33 = FHEAP[_32];
    var _34 = _aabbMin;
    var _35 = FHEAP[_34];
    var _36 = _33 - _35;
    var _37 = _26 * 0.5;
    var _38 = _31 * 0.5;
    var _39 = _36 * 0.5;
    var _40 = IHEAP[_16];
    var _41 = _40+44;
    var _42 = IHEAP[_41];
    var _43 = _42;
    var _44 = FUNCTION_TABLE[_43](_20);
    var _45 = _39 + _44;
    var _46 = _45 * 2;
    var _47 = _38 + _44;
    var _48 = _47 * 2;
    var _49 = _37 + _44;
    var _50 = _49 * 2;
    var _51 = _46 * _46;
    var _52 = _48 * _48;
    var _53 = _50 * _50;
    var _54 = _mass * 0.0833333283662796;
    var _55 = _51 + _52;
    var _56 = _51 + _53;
    var _57 = _52 + _53;
    var _58 = _55 * _54;
    var _59 = _56 * _54;
    var _60 = _57 * _54;
    var _61 = _inertia;
    FHEAP[_61] = _60;
    var _62 = _inertia+4;
    FHEAP[_62] = _59;
    var _63 = _inertia+8;
    FHEAP[_63] = _58;
    var _64 = _inertia+12;
    FHEAP[_64] = 0;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK11btConeShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK11btConeShape21calculateLocalInertiaEfR9btVector3, "__ZNK11btConeShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZNK11btConeShape24localGetSupportingVertexERK9btVector3(_agg_result, _this, _vec) {
    ;
    var __label__;
    __ZNK11btConeShape16coneLocalSupportERK9btVector3(_agg_result, _this, _vec);
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+44;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    var _6 = FUNCTION_TABLE[_5](_4);
    var _7 = _6 != 0;
    ;
    if (_7) {
      ;
      var _8 = _vec;
      var _9 = FHEAP[_8];
      var _10 = _vec+4;
      var _11 = FHEAP[_10];
      var _12 = _vec+8;
      var _13 = FHEAP[_12];
      var _14 = _9 * _9;
      var _15 = _11 * _11;
      var _16 = _14 + _15;
      var _17 = _13 * _13;
      var _18 = _16 + _17;
      var _19 = _18 < 1.4210854715202004e-14;
      var _vecnorm_0_0_0 = _19 ? -1 : _9;
      var _vecnorm_0_1_0 = _19 ? -1 : _11;
      var _vecnorm_0_2_0 = _19 ? -1 : _13;
      var _20 = _vecnorm_0_0_0 * _vecnorm_0_0_0;
      var _21 = _vecnorm_0_1_0 * _vecnorm_0_1_0;
      var _22 = _20 + _21;
      var _23 = _vecnorm_0_2_0 * _vecnorm_0_2_0;
      var _24 = _22 + _23;
      var _25 = _sqrtf(_24);
      var _26 = 1 / _25;
      var _27 = _vecnorm_0_0_0 * _26;
      var _28 = _vecnorm_0_1_0 * _26;
      var _29 = _vecnorm_0_2_0 * _26;
      var _30 = IHEAP[_0];
      var _31 = _30+44;
      var _32 = IHEAP[_31];
      var _33 = _32;
      var _34 = FUNCTION_TABLE[_33](_4);
      var _35 = _29 * _34;
      var _36 = _28 * _34;
      var _37 = _27 * _34;
      var _38 = _agg_result;
      var _39 = FHEAP[_38];
      var _40 = _39 + _37;
      FHEAP[_38] = _40;
      var _41 = _agg_result+4;
      var _42 = FHEAP[_41];
      var _43 = _42 + _36;
      FHEAP[_41] = _43;
      var _44 = _agg_result+8;
      var _45 = FHEAP[_44];
      var _46 = _45 + _35;
      FHEAP[_44] = _46;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZNK11btConeShape24localGetSupportingVertexERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK11btConeShape24localGetSupportingVertexERK9btVector3, "__ZNK11btConeShape24localGetSupportingVertexERK9btVector3");
  
  
  function __ZNK11btConeShape16coneLocalSupportERK9btVector3(_agg_result, _this, _v) {
    var __stackBase__  = STACKTOP; STACKTOP += 48;
    var __label__;
    var _tmp = __stackBase__;
    var _tmp3 = __stackBase__+16;
    var _tmp5 = __stackBase__+32;
    var _0 = _this+60;
    var _1 = FHEAP[_0];
    var _2 = _1 * 0.5;
    var _3 = _this+64+4;
    var _4 = IHEAP[_3];
    var _5 = _v+_4*4;
    var _6 = FHEAP[_5];
    var _7 = _v;
    var _8 = FHEAP[_7];
    var _9 = _8 * _8;
    var _10 = _v+4;
    var _11 = FHEAP[_10];
    var _12 = _11 * _11;
    var _13 = _9 + _12;
    var _14 = _v+8;
    var _15 = FHEAP[_14];
    var _16 = _15 * _15;
    var _17 = _13 + _16;
    var _18 = _sqrtf(_17);
    var _19 = _this+52;
    var _20 = FHEAP[_19];
    var _21 = _18 * _20;
    var _22 = _6 > _21;
    var _23 = _this+64;
    var _24 = IHEAP[_23];
    ;
    if (_22) {
      ;
      var _25 = _tmp+_24*4;
      FHEAP[_25] = 0;
      var _26 = _tmp+_4*4;
      FHEAP[_26] = _2;
      var _27 = _this+64+8;
      var _28 = IHEAP[_27];
      var _29 = _tmp+_28*4;
      FHEAP[_29] = 0;
      var _30 = _agg_result;
      var _31 = _tmp;
      var _32 = FHEAP[_31];
      FHEAP[_30] = _32;
      var _33 = _agg_result+4;
      var _34 = _tmp+4;
      var _35 = FHEAP[_34];
      FHEAP[_33] = _35;
      var _36 = _agg_result+8;
      var _37 = _tmp+8;
      var _38 = FHEAP[_37];
      FHEAP[_36] = _38;
      var _39 = _agg_result+12;
      var _40 = _tmp+12;
      var _41 = FHEAP[_40];
      FHEAP[_39] = _41;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      var _42 = _v+_24*4;
      var _43 = FHEAP[_42];
      var _44 = _43 * _43;
      var _45 = _this+64+8;
      var _46 = IHEAP[_45];
      var _47 = _v+_46*4;
      var _48 = FHEAP[_47];
      var _49 = _48 * _48;
      var _50 = _44 + _49;
      var _51 = _sqrtf(_50);
      var _52 = _51 > 1.1920928955078125e-7;
      ;
      if (_52) {
        ;
        var _53 = _this+56;
        var _54 = FHEAP[_53];
        var _55 = _54 / _51;
        var _56 = _43 * _55;
        var _57 = _tmp3+_24*4;
        FHEAP[_57] = _56;
        var _58 = 0 - _2;
        var _59 = _tmp3+_4*4;
        FHEAP[_59] = _58;
        var _60 = _48 * _55;
        var _61 = _tmp3+_46*4;
        FHEAP[_61] = _60;
        var _62 = _agg_result;
        var _63 = _tmp3;
        var _64 = FHEAP[_63];
        FHEAP[_62] = _64;
        var _65 = _agg_result+4;
        var _66 = _tmp3+4;
        var _67 = FHEAP[_66];
        FHEAP[_65] = _67;
        var _68 = _agg_result+8;
        var _69 = _tmp3+8;
        var _70 = FHEAP[_69];
        FHEAP[_68] = _70;
        var _71 = _agg_result+12;
        var _72 = _tmp3+12;
        var _73 = FHEAP[_72];
        FHEAP[_71] = _73;
        STACKTOP = __stackBase__;
        return;
      }
      else {
        ;
        var _74 = _tmp5+_24*4;
        FHEAP[_74] = 0;
        var _75 = 0 - _2;
        var _76 = _tmp5+_4*4;
        FHEAP[_76] = _75;
        var _77 = _tmp5+_46*4;
        FHEAP[_77] = 0;
        var _78 = _agg_result;
        var _79 = _tmp5;
        var _80 = FHEAP[_79];
        FHEAP[_78] = _80;
        var _81 = _agg_result+4;
        var _82 = _tmp5+4;
        var _83 = FHEAP[_82];
        FHEAP[_81] = _83;
        var _84 = _agg_result+8;
        var _85 = _tmp5+8;
        var _86 = FHEAP[_85];
        FHEAP[_84] = _86;
        var _87 = _agg_result+12;
        var _88 = _tmp5+12;
        var _89 = FHEAP[_88];
        FHEAP[_87] = _89;
        STACKTOP = __stackBase__;
        return;
      }
    }
  }
  __ZNK11btConeShape16coneLocalSupportERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK11btConeShape16coneLocalSupportERK9btVector3, "__ZNK11btConeShape16coneLocalSupportERK9btVector3");
  
  
  function __ZN12btConeShapeXC1Eff(_this, _radius, _height) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV11btConeShape+8;
    var _2 = _this+56;
    FHEAP[_2] = _radius;
    var _3 = _this+60;
    FHEAP[_3] = _height;
    var _4 = _this+4;
    IHEAP[_4] = 11;
    var _5 = _this+64;
    IHEAP[_5] = 0;
    var _6 = _this+64+4;
    IHEAP[_6] = 1;
    var _7 = _this+64+8;
    IHEAP[_7] = 2;
    var _8 = _radius * _radius;
    var _9 = _height * _height;
    var _10 = _8 + _9;
    var _11 = _sqrtf(_10);
    var _12 = _radius / _11;
    var _13 = _this+52;
    FHEAP[_13] = _12;
    IHEAP[_1] = __ZTV12btConeShapeX+8;
    IHEAP[_5] = 1;
    IHEAP[_6] = 0;
    IHEAP[_7] = 2;
    ;
    return;
  }
  __ZN12btConeShapeXC1Eff.__index__ = Runtime.getFunctionIndex(__ZN12btConeShapeXC1Eff, "__ZN12btConeShapeXC1Eff");
  
  
  function __ZN12btConeShapeXC2Eff(_this, _radius, _height) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV11btConeShape+8;
    var _2 = _this+56;
    FHEAP[_2] = _radius;
    var _3 = _this+60;
    FHEAP[_3] = _height;
    var _4 = _this+4;
    IHEAP[_4] = 11;
    var _5 = _this+64;
    IHEAP[_5] = 0;
    var _6 = _this+64+4;
    IHEAP[_6] = 1;
    var _7 = _this+64+8;
    IHEAP[_7] = 2;
    var _8 = _radius * _radius;
    var _9 = _height * _height;
    var _10 = _8 + _9;
    var _11 = _sqrtf(_10);
    var _12 = _radius / _11;
    var _13 = _this+52;
    FHEAP[_13] = _12;
    IHEAP[_1] = __ZTV12btConeShapeX+8;
    IHEAP[_5] = 1;
    IHEAP[_6] = 0;
    IHEAP[_7] = 2;
    ;
    return;
  }
  __ZN12btConeShapeXC2Eff.__index__ = Runtime.getFunctionIndex(__ZN12btConeShapeXC2Eff, "__ZN12btConeShapeXC2Eff");
  
  
  function __ZN12btConeShapeZC1Eff(_this, _radius, _height) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV11btConeShape+8;
    var _2 = _this+56;
    FHEAP[_2] = _radius;
    var _3 = _this+60;
    FHEAP[_3] = _height;
    var _4 = _this+4;
    IHEAP[_4] = 11;
    var _5 = _this+64;
    IHEAP[_5] = 0;
    var _6 = _this+64+4;
    IHEAP[_6] = 1;
    var _7 = _this+64+8;
    IHEAP[_7] = 2;
    var _8 = _radius * _radius;
    var _9 = _height * _height;
    var _10 = _8 + _9;
    var _11 = _sqrtf(_10);
    var _12 = _radius / _11;
    var _13 = _this+52;
    FHEAP[_13] = _12;
    IHEAP[_1] = __ZTV12btConeShapeZ+8;
    IHEAP[_5] = 0;
    IHEAP[_6] = 2;
    IHEAP[_7] = 1;
    ;
    return;
  }
  __ZN12btConeShapeZC1Eff.__index__ = Runtime.getFunctionIndex(__ZN12btConeShapeZC1Eff, "__ZN12btConeShapeZC1Eff");
  
  
  function __ZN12btConeShapeZC2Eff(_this, _radius, _height) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV11btConeShape+8;
    var _2 = _this+56;
    FHEAP[_2] = _radius;
    var _3 = _this+60;
    FHEAP[_3] = _height;
    var _4 = _this+4;
    IHEAP[_4] = 11;
    var _5 = _this+64;
    IHEAP[_5] = 0;
    var _6 = _this+64+4;
    IHEAP[_6] = 1;
    var _7 = _this+64+8;
    IHEAP[_7] = 2;
    var _8 = _radius * _radius;
    var _9 = _height * _height;
    var _10 = _8 + _9;
    var _11 = _sqrtf(_10);
    var _12 = _radius / _11;
    var _13 = _this+52;
    FHEAP[_13] = _12;
    IHEAP[_1] = __ZTV12btConeShapeZ+8;
    IHEAP[_5] = 0;
    IHEAP[_6] = 2;
    IHEAP[_7] = 1;
    ;
    return;
  }
  __ZN12btConeShapeZC2Eff.__index__ = Runtime.getFunctionIndex(__ZN12btConeShapeZC2Eff, "__ZN12btConeShapeZC2Eff");
  
  
  function __ZN11btConeShapeC1Eff(_this, _radius, _height) {
    ;
    var __label__;
    var _0 = _this;
    __ZN21btConvexInternalShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV11btConeShape+8;
    var _2 = _this+56;
    FHEAP[_2] = _radius;
    var _3 = _this+60;
    FHEAP[_3] = _height;
    var _4 = _this+4;
    IHEAP[_4] = 11;
    var _5 = _this+64;
    IHEAP[_5] = 0;
    var _6 = _this+64+4;
    IHEAP[_6] = 1;
    var _7 = _this+64+8;
    IHEAP[_7] = 2;
    var _8 = _radius * _radius;
    var _9 = _height * _height;
    var _10 = _8 + _9;
    var _11 = _sqrtf(_10);
    var _12 = _radius / _11;
    var _13 = _this+52;
    FHEAP[_13] = _12;
    ;
    return;
  }
  __ZN11btConeShapeC1Eff.__index__ = Runtime.getFunctionIndex(__ZN11btConeShapeC1Eff, "__ZN11btConeShapeC1Eff");
  
  
  function __ZN17btConvexHullShapeC2EPKfii(_this, _points, _numPoints, _stride) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _points;
    var _1 = STACKTOP; STACKTOP += 16;STACKTOP = Math.ceil(STACKTOP/4)*4;;
    var _2 = _this;
    __ZN34btPolyhedralConvexAabbCachingShapeC2Ev(_2);
    var _3 = _this;
    IHEAP[_3] = __ZTV17btConvexHullShape+8;
    var _4 = _this+88+16;
    IHEAP[_4] = 1;
    var _5 = _this+88+12;
    IHEAP[_5] = 0;
    var _6 = _this+88+4;
    IHEAP[_6] = 0;
    var _7 = _this+88+8;
    IHEAP[_7] = 0;
    var _8 = _this+4;
    IHEAP[_8] = 4;
    var _9 = _this+88;
    (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI9btVector3E6resizeEiRKS0_(_9, _numPoints, _1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3816; /* _lpad16 */  }
    _invcont1$_lpad16$8982: do { 
      if (__label__ == 1554) {
        var _10 = _numPoints > 0;
        ;
        _bb_nph$_bb3$8984: do { 
          if (_10) {
            ;
            var _scevgep41 = _points+8;
            var _scevgep4142 = _scevgep41;
            var _scevgep45 = _points+4;
            var _scevgep4546 = _scevgep45;
            __lastLabel__ = 130; ;
            _bb$8986: while(1) { // _bb
              var _i_035 = __lastLabel__ == 130 ? 0 : (_15);
              var _tmp = _i_035 * _stride;
              var _uglygep = _0+_tmp;
              var _uglygep40 = _uglygep;
              var _uglygep43 = _scevgep4142+_tmp;
              var _uglygep4344 = _uglygep43;
              var _uglygep47 = _scevgep4546+_tmp;
              var _uglygep4748 = _uglygep47;
              var _11 = IHEAP[_5];
              var _12 = FHEAP[_uglygep40];
              var _13 = FHEAP[_uglygep4748];
              var _14 = FHEAP[_uglygep4344];
              var _scevgep36 = _11+16*_i_035;
              FHEAP[_scevgep36] = _12;
              var _scevgep37 = _11+16*_i_035+4;
              FHEAP[_scevgep37] = _13;
              var _scevgep38 = _11+16*_i_035+8;
              FHEAP[_scevgep38] = _14;
              var _scevgep39 = _11+16*_i_035+12;
              FHEAP[_scevgep39] = 0;
              var _15 = _i_035 + 1;
              var _exitcond = _15 == _numPoints;
              if (_exitcond) { __lastLabel__ = 60; __label__ = 116; /* _bb3 */ break _bb_nph$_bb3$8984; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$8986; }
            }
          }
        } while(0);
        (function() { try { __THREW__ = false; return __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_2) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3816; /* _lpad16 */ break _invcont1$_lpad16$8982; }
        ;
        return;
      }
    } while(0);
    var _eh_ptr17 = _llvm_eh_exception();
    var _eh_select19 = _llvm_eh_selector(_eh_ptr17, ___gxx_personality_v0, 0);
    var _16 = IHEAP[_5];
    var _17 = _16 == 0;
    ;
    if (!_17) {
      ;
      var _18 = IHEAP[_4];
      var _toBool_i_i_i = _18 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$8993: do { 
        if (!_toBool_i_i_i) {
          ;
          var _19 = _16;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_19) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$8993; } else { ; }
          var _eh_ptr21 = _llvm_eh_exception();
          var _eh_select23 = _llvm_eh_selector(_eh_ptr21, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_5] = 0;
      ;
    }
    IHEAP[_4] = 1;
    IHEAP[_5] = 0;
    IHEAP[_6] = 0;
    IHEAP[_7] = 0;
    IHEAP[_3] = __ZTV21btConvexInternalShape+8;
    var _20 = _this;
    (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_20) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1603; /* _invcont11 */  } else { __label__ = 3754; /* _lpad24 */  }
    if (__label__ == 1603) {
      __Unwind_Resume_or_Rethrow(_eh_ptr17);
      // unreachable
    }
    else if (__label__ == 3754) {
      var _eh_ptr25 = _llvm_eh_exception();
      var _eh_select27 = _llvm_eh_selector(_eh_ptr25, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN17btConvexHullShapeC2EPKfii.__index__ = Runtime.getFunctionIndex(__ZN17btConvexHullShapeC2EPKfii, "__ZN17btConvexHullShapeC2EPKfii");
  
  
  function __ZN17btConvexHullShapeD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17btConvexHullShape+8;
    var _1 = _this+88+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+88+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$9040: do { 
        if (!_toBool_i_i_i) {
          ;
          var _6 = _2;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$9040; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          IHEAP[_0] = __ZTV21btConvexInternalShape+8;
          var _12 = _this;
          (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
          if (__label__ == 1554) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 3761) {
            var _eh_ptr10 = _llvm_eh_exception();
            var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+88+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+88+4;
    IHEAP[_8] = 0;
    var _9 = _this+88+8;
    IHEAP[_9] = 0;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _10 = _this;
    __ZN13btConvexShapeD2Ev(_10);
    var _11 = _this;
    __Z21btAlignedFreeInternalPv(_11);
    ;
    return;
  }
  __ZN17btConvexHullShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN17btConvexHullShapeD0Ev, "__ZN17btConvexHullShapeD0Ev");
  
  
  function __ZN17btConvexHullShapeD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17btConvexHullShape+8;
    var _1 = _this+88+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+88+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$9051: do { 
        if (!_toBool_i_i_i) {
          ;
          var _6 = _2;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$9051; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          IHEAP[_0] = __ZTV21btConvexInternalShape+8;
          var _11 = _this;
          (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_11) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
          if (__label__ == 1554) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 3761) {
            var _eh_ptr10 = _llvm_eh_exception();
            var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+88+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+88+4;
    IHEAP[_8] = 0;
    var _9 = _this+88+8;
    IHEAP[_9] = 0;
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _10 = _this;
    __ZN13btConvexShapeD2Ev(_10);
    ;
    return;
  }
  __ZN17btConvexHullShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN17btConvexHullShapeD1Ev, "__ZN17btConvexHullShapeD1Ev");
  
  
  function __ZNK17btConvexHullShape9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    var _1 = __ZNK16btCollisionShape9serializeEPvP12btSerializer(_0, _dataBuffer, _serializer);
    var _2 = _dataBuffer+28;
    var _scevgep_i_i = _this+28;
    var _scevgep4_i_i = _2;
    var _3 = FHEAP[_scevgep_i_i];
    FHEAP[_scevgep4_i_i] = _3;
    var _scevgep_1_i_i = _this+28+4;
    var _scevgep4_1_i_i = _dataBuffer+32;
    var _4 = _scevgep4_1_i_i;
    var _5 = FHEAP[_scevgep_1_i_i];
    FHEAP[_4] = _5;
    var _scevgep_2_i_i = _this+28+8;
    var _scevgep4_2_i_i = _dataBuffer+36;
    var _6 = _scevgep4_2_i_i;
    var _7 = FHEAP[_scevgep_2_i_i];
    FHEAP[_6] = _7;
    var _scevgep_3_i_i = _this+28+12;
    var _scevgep4_3_i_i = _dataBuffer+40;
    var _8 = _scevgep4_3_i_i;
    var _9 = FHEAP[_scevgep_3_i_i];
    FHEAP[_8] = _9;
    var _10 = _dataBuffer+12;
    var _scevgep_i2_i = _this+12;
    var _scevgep4_i3_i = _10;
    var _11 = FHEAP[_scevgep_i2_i];
    FHEAP[_scevgep4_i3_i] = _11;
    var _scevgep_1_i4_i = _this+12+4;
    var _scevgep4_1_i5_i = _dataBuffer+16;
    var _12 = _scevgep4_1_i5_i;
    var _13 = FHEAP[_scevgep_1_i4_i];
    FHEAP[_12] = _13;
    var _scevgep_2_i6_i = _this+12+8;
    var _scevgep4_2_i7_i = _dataBuffer+20;
    var _14 = _scevgep4_2_i7_i;
    var _15 = FHEAP[_scevgep_2_i6_i];
    FHEAP[_14] = _15;
    var _scevgep_3_i8_i = _this+12+12;
    var _scevgep4_3_i9_i = _dataBuffer+24;
    var _16 = _scevgep4_3_i9_i;
    var _17 = FHEAP[_scevgep_3_i8_i];
    FHEAP[_16] = _17;
    var _18 = _this+44;
    var _19 = FHEAP[_18];
    var _20 = _dataBuffer+44;
    var _21 = _20;
    FHEAP[_21] = _19;
    var _22 = _this+88+4;
    var _23 = IHEAP[_22];
    var _24 = _dataBuffer+60;
    var _25 = _24;
    IHEAP[_25] = _23;
    var _26 = _23 == 0;
    ;
    if (_26) {
      ;
      var _61 = _dataBuffer+52;
      var _62 = _61;
      IHEAP[_62] = 0;
      var _63 = _dataBuffer+56;
      var _64 = _63;
      IHEAP[_64] = 0;
      ;
      return __str369;
    }
    else {
      ;
      var _27 = _serializer;
      var _28 = IHEAP[_27];
      var _29 = _28+28;
      var _30 = IHEAP[_29];
      var _31 = _this+88+12;
      var _32 = IHEAP[_31];
      var _33 = _32;
      var _34 = _30;
      var _35 = FUNCTION_TABLE[_34](_serializer, _33);
      var _36 = _35;
      var _37 = _dataBuffer+52;
      var _38 = _37;
      IHEAP[_38] = _36;
      var _39 = _dataBuffer+56;
      var _40 = _39;
      IHEAP[_40] = 0;
      var _41 = IHEAP[_27];
      var _42 = _41+16;
      var _43 = IHEAP[_42];
      var _44 = _43;
      var _45 = FUNCTION_TABLE[_44](_serializer, 16, _23);
      var _46 = _23 > 0;
      ;
      _bb_nph$_bb6$9064: do { 
        if (_46) {
          ;
          var _47 = _45+8;
          var _48 = IHEAP[_47];
          __lastLabel__ = 130; ;
          _bb4$9066: while(1) { // _bb4
            var _i_010 = __lastLabel__ == 130 ? 0 : (_54);
            var _tmp = _i_010 << 4;
            var _scevgep15 = _48+_tmp;
            var _scevgep4_i = _scevgep15;
            var _tmp1726 = _tmp | 4;
            var _scevgep18 = _48+_tmp1726;
            var _scevgep4_1_i = _scevgep18;
            var _tmp2027 = _tmp | 8;
            var _scevgep21 = _48+_tmp2027;
            var _scevgep4_2_i = _scevgep21;
            var _tmp2328 = _tmp | 12;
            var _scevgep24 = _48+_tmp2328;
            var _scevgep4_3_i = _scevgep24;
            var _49 = IHEAP[_31];
            var _scevgep_i = _49+16*_i_010;
            var _50 = FHEAP[_scevgep_i];
            FHEAP[_scevgep4_i] = _50;
            var _scevgep_1_i = _49+16*_i_010+4;
            var _51 = FHEAP[_scevgep_1_i];
            FHEAP[_scevgep4_1_i] = _51;
            var _scevgep_2_i = _49+16*_i_010+8;
            var _52 = FHEAP[_scevgep_2_i];
            FHEAP[_scevgep4_2_i] = _52;
            var _scevgep_3_i = _49+16*_i_010+12;
            var _53 = FHEAP[_scevgep_3_i];
            FHEAP[_scevgep4_3_i] = _53;
            var _54 = _i_010 + 1;
            var _exitcond = _54 == _23;
            if (_exitcond) { __lastLabel__ = 61; __label__ = 83; /* _bb6 */ break _bb_nph$_bb6$9064; } else { __lastLabel__ = 61; __label__ = 61; /* _bb4 */ continue _bb4$9066; }
          }
        }
      } while(0);
      var _55 = IHEAP[_27];
      var _56 = _55+20;
      var _57 = IHEAP[_56];
      var _58 = IHEAP[_31];
      var _59 = _58;
      var _60 = _57;
      FUNCTION_TABLE[_60](_serializer, _45, __str268, 1497453121, _59);
      ;
      return __str369;
    }
  }
  __ZNK17btConvexHullShape9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK17btConvexHullShape9serializeEPvP12btSerializer, "__ZNK17btConvexHullShape9serializeEPvP12btSerializer");
  
  
  function __ZNK17btConvexHullShape24localGetSupportingVertexERK9btVector3(_agg_result, _this, _vec) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+64;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_agg_result, _this, _vec);
    var _5 = IHEAP[_0];
    var _6 = _5+44;
    var _7 = IHEAP[_6];
    var _8 = _this;
    var _9 = _7;
    var _10 = FUNCTION_TABLE[_9](_8);
    var _11 = _10 != 0;
    ;
    if (_11) {
      ;
      var _12 = _vec;
      var _13 = FHEAP[_12];
      var _14 = _vec+4;
      var _15 = FHEAP[_14];
      var _16 = _vec+8;
      var _17 = FHEAP[_16];
      var _18 = _13 * _13;
      var _19 = _15 * _15;
      var _20 = _18 + _19;
      var _21 = _17 * _17;
      var _22 = _20 + _21;
      var _23 = _22 < 1.4210854715202004e-14;
      var _vecnorm_0_0_0 = _23 ? -1 : _13;
      var _vecnorm_0_1_0 = _23 ? -1 : _15;
      var _vecnorm_0_2_0 = _23 ? -1 : _17;
      var _24 = _vecnorm_0_0_0 * _vecnorm_0_0_0;
      var _25 = _vecnorm_0_1_0 * _vecnorm_0_1_0;
      var _26 = _24 + _25;
      var _27 = _vecnorm_0_2_0 * _vecnorm_0_2_0;
      var _28 = _26 + _27;
      var _29 = _sqrtf(_28);
      var _30 = 1 / _29;
      var _31 = _vecnorm_0_0_0 * _30;
      var _32 = _vecnorm_0_1_0 * _30;
      var _33 = _vecnorm_0_2_0 * _30;
      var _34 = IHEAP[_0];
      var _35 = _34+44;
      var _36 = IHEAP[_35];
      var _37 = _36;
      var _38 = FUNCTION_TABLE[_37](_8);
      var _39 = _33 * _38;
      var _40 = _32 * _38;
      var _41 = _31 * _38;
      var _42 = _agg_result;
      var _43 = FHEAP[_42];
      var _44 = _43 + _41;
      FHEAP[_42] = _44;
      var _45 = _agg_result+4;
      var _46 = FHEAP[_45];
      var _47 = _46 + _40;
      FHEAP[_45] = _47;
      var _48 = _agg_result+8;
      var _49 = FHEAP[_48];
      var _50 = _49 + _39;
      FHEAP[_48] = _50;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZNK17btConvexHullShape24localGetSupportingVertexERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK17btConvexHullShape24localGetSupportingVertexERK9btVector3, "__ZNK17btConvexHullShape24localGetSupportingVertexERK9btVector3");
  
  
  function __ZN20btAlignedObjectArrayI9btVector3E9push_backERKS0_(_this, __Val) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _this+8;
    var _3 = IHEAP[_2];
    var _4 = _3 == _1;
    ;
    _bb$_bb1$9074: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 == 0;
        var _6 = _1 << 1;
        var _iftmp_288_0_i = _5 ? 1 : _6;
        var _7 = _3 < _iftmp_288_0_i;
        if (_7) { __lastLabel__ = 60; ; } else { __lastLabel__ = 60; __label__ = 75; /* _bb1 */ break _bb$_bb1$9074; }
        var _8 = _iftmp_288_0_i == 0;
        ;
        if (_8) {
          __lastLabel__ = 131; ;
        }
        else {
          __lastLabel__ = 131; ;
          var _9 = _iftmp_288_0_i << 4;
          var _10 = __Z22btAlignedAllocInternalji(_9, 16);
          var _phitmp_i = _10;
          var __pre = IHEAP[_0];
          __lastLabel__ = 215; ;
        }
        var _11 = __lastLabel__ == 215 ? __pre : (_1);
        var _12 = __lastLabel__ == 215 ? _phitmp_i : (0);
        var _13 = _11 > 0;
        ;
        _bb_nph_i_i$__ZNK20btAlignedObjectArrayI9btVector3E4copyEiiPS0__exit_i$9080: do { 
          if (_13) {
            ;
            var _14 = _this+12;
            __lastLabel__ = 217; ;
            _bb_i4_i$9082: while(1) { // _bb_i4_i
              var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
              var _scevgep_i_i = _12+16*_indvar_i_i;
              var _15 = _scevgep_i_i == 0;
              ;
              if (!_15) {
                ;
                var _scevgep14_i_i = _12+16*_indvar_i_i+4;
                var _scevgep15_i_i = _12+16*_indvar_i_i+8;
                var _scevgep16_i_i = _12+16*_indvar_i_i+12;
                var _scevgep13_i_i = _12+16*_indvar_i_i;
                var _16 = IHEAP[_14];
                var _scevgep89_i_i = _16+16*_indvar_i_i;
                var _17 = FHEAP[_scevgep89_i_i];
                FHEAP[_scevgep13_i_i] = _17;
                var _scevgep10_i_i = _16+16*_indvar_i_i+4;
                var _18 = FHEAP[_scevgep10_i_i];
                FHEAP[_scevgep14_i_i] = _18;
                var _scevgep11_i_i = _16+16*_indvar_i_i+8;
                var _19 = FHEAP[_scevgep11_i_i];
                FHEAP[_scevgep15_i_i] = _19;
                var _scevgep12_i_i = _16+16*_indvar_i_i+12;
                var _20 = FHEAP[_scevgep12_i_i];
                FHEAP[_scevgep16_i_i] = _20;
                ;
              }
              var _indvar_next_i_i = _indvar_i_i + 1;
              var _exitcond = _indvar_next_i_i == _11;
              if (_exitcond) { __lastLabel__ = 324; __label__ = 1740; /* __ZNK20btAlignedObjectArrayI9btVector3E4copyEiiPS0__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayI9btVector3E4copyEiiPS0__exit_i$9080; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$9082; }
            }
          }
        } while(0);
        var _21 = _this+12;
        var _22 = IHEAP[_21];
        var _23 = _22 == 0;
        ;
        if (!_23) {
          ;
          var _24 = _this+16;
          var _25 = IHEAP[_24];
          var _toBool_i_i = _25 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _26 = _22;
            __Z21btAlignedFreeInternalPv(_26);
            ;
          }
          IHEAP[_21] = 0;
          ;
        }
        var _27 = _this+16;
        IHEAP[_27] = 1;
        IHEAP[_21] = _12;
        IHEAP[_2] = _iftmp_288_0_i;
        var __pre11 = IHEAP[_0];
        __lastLabel__ = 1743; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _28 = __lastLabel__ == 1743 ? __pre11 : (__lastLabel__ == -1 ? _1 : (_1));
    var _29 = _this+12;
    var _30 = IHEAP[_29];
    var _31 = _30+16*_28;
    var _32 = _31 == 0;
    ;
    if (_32) {
      __lastLabel__ = 75; ;
    }
    else {
      __lastLabel__ = 75; ;
      var _33 = _30+16*_28;
      var _34 = __Val;
      var _35 = FHEAP[_34];
      FHEAP[_33] = _35;
      var _36 = _30+16*_28+4;
      var _37 = __Val+4;
      var _38 = FHEAP[_37];
      FHEAP[_36] = _38;
      var _39 = _30+16*_28+8;
      var _40 = __Val+8;
      var _41 = FHEAP[_40];
      FHEAP[_39] = _41;
      var _42 = _30+16*_28+12;
      var _43 = __Val+12;
      var _44 = FHEAP[_43];
      FHEAP[_42] = _44;
      var __pre12 = IHEAP[_0];
      __lastLabel__ = 0; ;
    }
    var _45 = __lastLabel__ == 75 ? _28 : (__pre12);
    var _46 = _45 + 1;
    IHEAP[_0] = _46;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI9btVector3E9push_backERKS0_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI9btVector3E9push_backERKS0_, "__ZN20btAlignedObjectArrayI9btVector3E9push_backERKS0_");
  
  
  function __ZN20btAlignedObjectArrayI9btVector3E6resizeEiRKS0_(_this, _newsize, _fillData) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > _newsize;
    ;
    _bb12$_bb3$9100: do { 
      if (!_2) {
        ;
        var _3 = _1 < _newsize;
        if (!(_3)) { __label__ = 3; /* _bb12 */ break _bb12$_bb3$9100; }
        var _4 = _this+8;
        var _5 = IHEAP[_4];
        var _6 = _5 < _newsize;
        ;
        if (_6) {
          ;
          var _7 = _newsize == 0;
          ;
          if (_7) {
            __lastLabel__ = 131; ;
          }
          else {
            __lastLabel__ = 131; ;
            var _8 = _newsize << 4;
            var _9 = __Z22btAlignedAllocInternalji(_8, 16);
            var _phitmp_i = _9;
            var __pre = IHEAP[_0];
            __lastLabel__ = 215; ;
          }
          var _10 = __lastLabel__ == 215 ? __pre : (_1);
          var _11 = __lastLabel__ == 215 ? _phitmp_i : (0);
          var _12 = _10 > 0;
          ;
          _bb_nph_i_i$__ZNK20btAlignedObjectArrayI9btVector3E4copyEiiPS0__exit_i$9108: do { 
            if (_12) {
              ;
              var _13 = _this+12;
              __lastLabel__ = 217; ;
              _bb_i4_i$9110: while(1) { // _bb_i4_i
                var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
                var _scevgep_i_i = _11+16*_indvar_i_i;
                var _14 = _scevgep_i_i == 0;
                ;
                if (!_14) {
                  ;
                  var _scevgep14_i_i = _11+16*_indvar_i_i+4;
                  var _scevgep15_i_i = _11+16*_indvar_i_i+8;
                  var _scevgep16_i_i = _11+16*_indvar_i_i+12;
                  var _scevgep13_i_i = _11+16*_indvar_i_i;
                  var _15 = IHEAP[_13];
                  var _scevgep89_i_i = _15+16*_indvar_i_i;
                  var _16 = FHEAP[_scevgep89_i_i];
                  FHEAP[_scevgep13_i_i] = _16;
                  var _scevgep10_i_i = _15+16*_indvar_i_i+4;
                  var _17 = FHEAP[_scevgep10_i_i];
                  FHEAP[_scevgep14_i_i] = _17;
                  var _scevgep11_i_i = _15+16*_indvar_i_i+8;
                  var _18 = FHEAP[_scevgep11_i_i];
                  FHEAP[_scevgep15_i_i] = _18;
                  var _scevgep12_i_i = _15+16*_indvar_i_i+12;
                  var _19 = FHEAP[_scevgep12_i_i];
                  FHEAP[_scevgep16_i_i] = _19;
                  ;
                }
                var _indvar_next_i_i = _indvar_i_i + 1;
                var _exitcond23 = _indvar_next_i_i == _10;
                if (_exitcond23) { __lastLabel__ = 324; __label__ = 1740; /* __ZNK20btAlignedObjectArrayI9btVector3E4copyEiiPS0__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayI9btVector3E4copyEiiPS0__exit_i$9108; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$9110; }
              }
            }
          } while(0);
          var _20 = _this+12;
          var _21 = IHEAP[_20];
          var _22 = _21 == 0;
          ;
          if (!_22) {
            ;
            var _23 = _this+16;
            var _24 = IHEAP[_23];
            var _toBool_i_i = _24 == 0;
            ;
            if (!_toBool_i_i) {
              ;
              var _25 = _21;
              __Z21btAlignedFreeInternalPv(_25);
              ;
            }
            IHEAP[_20] = 0;
            ;
          }
          var _26 = _this+16;
          IHEAP[_26] = 1;
          IHEAP[_20] = _11;
          IHEAP[_4] = _newsize;
          if (!(_3)) { __label__ = 3; /* _bb12 */ break _bb12$_bb3$9100; }
        }
        var _27 = _this+12;
        var _28 = _fillData;
        var _29 = _fillData+4;
        var _30 = _fillData+8;
        var _31 = _fillData+12;
        var _tmp = _newsize - _1;
        __lastLabel__ = 130; ;
        _bb7$9123: while(1) { // _bb7
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp17 = _1 + _indvar;
          var _32 = IHEAP[_27];
          var _scevgep = _32+16*_tmp17;
          var _33 = _scevgep == 0;
          ;
          if (!_33) {
            ;
            var _34 = FHEAP[_28];
            var _scevgep1819 = _32+16*_tmp17;
            FHEAP[_scevgep1819] = _34;
            var _35 = FHEAP[_29];
            var _scevgep20 = _32+16*_tmp17+4;
            FHEAP[_scevgep20] = _35;
            var _36 = FHEAP[_30];
            var _scevgep21 = _32+16*_tmp17+8;
            FHEAP[_scevgep21] = _36;
            var _37 = FHEAP[_31];
            var _scevgep22 = _32+16*_tmp17+12;
            FHEAP[_scevgep22] = _37;
            ;
          }
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _tmp;
          if (_exitcond) { __lastLabel__ = 150; __label__ = 3; /* _bb12 */ break _bb12$_bb3$9100; } else { __lastLabel__ = 150; __label__ = 2; /* _bb7 */ continue _bb7$9123; }
        }
      }
    } while(0);
    IHEAP[_0] = _newsize;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI9btVector3E6resizeEiRKS0_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI9btVector3E6resizeEiRKS0_, "__ZN20btAlignedObjectArrayI9btVector3E6resizeEiRKS0_");
  
  
  function __ZN21btConvexInternalShape15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var _0 = _scaling+8;
    var _1 = FHEAP[_0];
    var _2 = _fabsf(_1);
    var _3 = _scaling+4;
    var _4 = FHEAP[_3];
    var _5 = _fabsf(_4);
    var _6 = _scaling;
    var _7 = FHEAP[_6];
    var _8 = _fabsf(_7);
    var _9 = _this+12;
    FHEAP[_9] = _8;
    var _10 = _this+12+4;
    FHEAP[_10] = _5;
    var _11 = _this+12+8;
    FHEAP[_11] = _2;
    var _12 = _this+12+12;
    FHEAP[_12] = 0;
    ;
    return;
  }
  __ZN21btConvexInternalShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN21btConvexInternalShape15setLocalScalingERK9btVector3, "__ZN21btConvexInternalShape15setLocalScalingERK9btVector3");
  
  
  function __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_(_this, _trans, _minAabb, _maxAabb) {
    var __stackBase__  = STACKTOP; STACKTOP += 96;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _vec = __stackBase__+48;
    var _sv = __stackBase__+64;
    var _tmp = __stackBase__+80;
    var _3 = _this;
    var _4 = IHEAP[_3];
    var _5 = _4+44;
    var _6 = IHEAP[_5];
    var _7 = _6;
    var _8 = FUNCTION_TABLE[_7](_this);
    var _9 = _vec;
    var _10 = _vec+4;
    var _11 = _vec+8;
    var _12 = _vec+12;
    var _13 = _trans+8;
    var _14 = _trans+16+8;
    var _15 = _trans+32+8;
    var _16 = _trans+4;
    var _17 = _trans+16+4;
    var _18 = _trans+32+4;
    var _19 = _trans;
    var _20 = _trans+16;
    var _21 = _trans+32;
    var _22 = _2;
    var _23 = _2+4;
    var _24 = _2+8;
    var _25 = _2+12;
    var _26 = _sv;
    var _27 = _sv+4;
    var _28 = _sv+8;
    var _29 = _trans+48+8;
    var _30 = _trans+48+4;
    var _31 = _trans+48;
    var _32 = _tmp;
    var _33 = _tmp+4;
    var _34 = _tmp+8;
    var _35 = _tmp+12;
    var _36 = _0;
    var _37 = _0+4;
    var _38 = _0+8;
    var _39 = _0+12;
    var _40 = _1;
    var _41 = _1+4;
    var _42 = _1+8;
    __lastLabel__ = 130; ;
    _bb$9133: while(1) { // _bb
      var _i_05 = __lastLabel__ == 130 ? 0 : (_175);
      var _scevgep = _vec+_i_05*4;
      var _scevgep6 = _tmp+_i_05*4;
      var _scevgep7 = _maxAabb+_i_05*4;
      var _scevgep8 = _minAabb+_i_05*4;
      FHEAP[_9] = 0;
      FHEAP[_10] = 0;
      FHEAP[_11] = 0;
      FHEAP[_12] = 0;
      FHEAP[_scevgep] = 1;
      var _43 = IHEAP[_3];
      var _44 = _43+60;
      var _45 = IHEAP[_44];
      var _46 = FHEAP[_13];
      var _47 = FHEAP[_9];
      var _48 = _46 * _47;
      var _49 = FHEAP[_14];
      var _50 = FHEAP[_10];
      var _51 = _49 * _50;
      var _52 = _48 + _51;
      var _53 = FHEAP[_15];
      var _54 = FHEAP[_11];
      var _55 = _53 * _54;
      var _56 = _52 + _55;
      var _57 = FHEAP[_16];
      var _58 = _57 * _47;
      var _59 = FHEAP[_17];
      var _60 = _59 * _50;
      var _61 = _58 + _60;
      var _62 = FHEAP[_18];
      var _63 = _62 * _54;
      var _64 = _61 + _63;
      var _65 = FHEAP[_19];
      var _66 = _65 * _47;
      var _67 = FHEAP[_20];
      var _68 = _67 * _50;
      var _69 = _66 + _68;
      var _70 = FHEAP[_21];
      var _71 = _70 * _54;
      var _72 = _69 + _71;
      FHEAP[_22] = _72;
      FHEAP[_23] = _64;
      FHEAP[_24] = _56;
      FHEAP[_25] = 0;
      var _73 = _45;
      FUNCTION_TABLE[_73](_sv, _this, _2);
      var _74 = FHEAP[_21];
      var _75 = FHEAP[_26];
      var _76 = _74 * _75;
      var _77 = FHEAP[_18];
      var _78 = FHEAP[_27];
      var _79 = _77 * _78;
      var _80 = _76 + _79;
      var _81 = FHEAP[_15];
      var _82 = FHEAP[_28];
      var _83 = _81 * _82;
      var _84 = _80 + _83;
      var _85 = FHEAP[_29];
      var _86 = _84 + _85;
      var _87 = FHEAP[_20];
      var _88 = _87 * _75;
      var _89 = FHEAP[_17];
      var _90 = _89 * _78;
      var _91 = _88 + _90;
      var _92 = FHEAP[_14];
      var _93 = _92 * _82;
      var _94 = _91 + _93;
      var _95 = FHEAP[_30];
      var _96 = _94 + _95;
      var _97 = FHEAP[_19];
      var _98 = _97 * _75;
      var _99 = FHEAP[_16];
      var _100 = _99 * _78;
      var _101 = _98 + _100;
      var _102 = FHEAP[_13];
      var _103 = _102 * _82;
      var _104 = _101 + _103;
      var _105 = FHEAP[_31];
      var _106 = _104 + _105;
      FHEAP[_32] = _106;
      FHEAP[_33] = _96;
      FHEAP[_34] = _86;
      FHEAP[_35] = 0;
      var _107 = FHEAP[_scevgep6];
      var _108 = _107 + _8;
      FHEAP[_scevgep7] = _108;
      FHEAP[_scevgep] = -1;
      var _109 = IHEAP[_3];
      var _110 = _109+60;
      var _111 = IHEAP[_110];
      var _112 = FHEAP[_13];
      var _113 = FHEAP[_9];
      var _114 = _112 * _113;
      var _115 = FHEAP[_14];
      var _116 = FHEAP[_10];
      var _117 = _115 * _116;
      var _118 = _114 + _117;
      var _119 = FHEAP[_15];
      var _120 = FHEAP[_11];
      var _121 = _119 * _120;
      var _122 = _118 + _121;
      var _123 = FHEAP[_16];
      var _124 = _123 * _113;
      var _125 = FHEAP[_17];
      var _126 = _125 * _116;
      var _127 = _124 + _126;
      var _128 = FHEAP[_18];
      var _129 = _128 * _120;
      var _130 = _127 + _129;
      var _131 = FHEAP[_19];
      var _132 = _131 * _113;
      var _133 = FHEAP[_20];
      var _134 = _133 * _116;
      var _135 = _132 + _134;
      var _136 = FHEAP[_21];
      var _137 = _136 * _120;
      var _138 = _135 + _137;
      FHEAP[_36] = _138;
      FHEAP[_37] = _130;
      FHEAP[_38] = _122;
      FHEAP[_39] = 0;
      var _139 = _111;
      FUNCTION_TABLE[_139](_1, _this, _0);
      var _140 = FHEAP[_21];
      var _141 = FHEAP[_40];
      var _142 = _140 * _141;
      var _143 = FHEAP[_18];
      var _144 = FHEAP[_41];
      var _145 = _143 * _144;
      var _146 = _142 + _145;
      var _147 = FHEAP[_15];
      var _148 = FHEAP[_42];
      var _149 = _147 * _148;
      var _150 = _146 + _149;
      var _151 = FHEAP[_29];
      var _152 = _150 + _151;
      var _153 = FHEAP[_20];
      var _154 = _153 * _141;
      var _155 = FHEAP[_17];
      var _156 = _155 * _144;
      var _157 = _154 + _156;
      var _158 = FHEAP[_14];
      var _159 = _158 * _148;
      var _160 = _157 + _159;
      var _161 = FHEAP[_30];
      var _162 = _160 + _161;
      var _163 = FHEAP[_19];
      var _164 = _163 * _141;
      var _165 = FHEAP[_16];
      var _166 = _165 * _144;
      var _167 = _164 + _166;
      var _168 = FHEAP[_13];
      var _169 = _168 * _148;
      var _170 = _167 + _169;
      var _171 = FHEAP[_31];
      var _172 = _170 + _171;
      FHEAP[_32] = _172;
      FHEAP[_33] = _162;
      FHEAP[_34] = _152;
      FHEAP[_35] = 0;
      var _173 = FHEAP[_scevgep6];
      var _174 = _173 - _8;
      FHEAP[_scevgep8] = _174;
      var _175 = _i_05 + 1;
      var _exitcond = _175 == 3;
      if (_exitcond) { __lastLabel__ = 60; __label__ = 44; /* _return */ break _bb$9133; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$9133; }
    }
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_, "__ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_");
  
  
  function __ZNK32btConvexInternalAabbCachingShape7getAabbERK11btTransformR9btVector3S4_(_this, _trans, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+44;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    var _6 = FUNCTION_TABLE[_5](_4);
    var _7 = _this+68+8;
    var _8 = FHEAP[_7];
    var _9 = _this+52+8;
    var _10 = FHEAP[_9];
    var _11 = _8 - _10;
    var _12 = _this+68+4;
    var _13 = FHEAP[_12];
    var _14 = _this+52+4;
    var _15 = FHEAP[_14];
    var _16 = _13 - _15;
    var _17 = _this+68;
    var _18 = FHEAP[_17];
    var _19 = _this+52;
    var _20 = FHEAP[_19];
    var _21 = _18 - _20;
    var _22 = _11 * 0.5;
    var _23 = _16 * 0.5;
    var _24 = _21 * 0.5;
    var _25 = _24 + _6;
    var _26 = _23 + _6;
    var _27 = _22 + _6;
    var _28 = _8 + _10;
    var _29 = _13 + _15;
    var _30 = _18 + _20;
    var _31 = _28 * 0.5;
    var _32 = _29 * 0.5;
    var _33 = _30 * 0.5;
    var _34 = _trans+32+8;
    var _35 = FHEAP[_34];
    var _36 = _fabsf(_35);
    var _37 = _trans+32+4;
    var _38 = FHEAP[_37];
    var _39 = _fabsf(_38);
    var _40 = _trans+32;
    var _41 = FHEAP[_40];
    var _42 = _fabsf(_41);
    var _43 = _trans+16+8;
    var _44 = FHEAP[_43];
    var _45 = _fabsf(_44);
    var _46 = _trans+16+4;
    var _47 = FHEAP[_46];
    var _48 = _fabsf(_47);
    var _49 = _trans+16;
    var _50 = FHEAP[_49];
    var _51 = _fabsf(_50);
    var _52 = _trans+8;
    var _53 = FHEAP[_52];
    var _54 = _fabsf(_53);
    var _55 = _trans+4;
    var _56 = FHEAP[_55];
    var _57 = _fabsf(_56);
    var _58 = _trans;
    var _59 = FHEAP[_58];
    var _60 = _fabsf(_59);
    var _61 = _41 * _33;
    var _62 = _38 * _32;
    var _63 = _61 + _62;
    var _64 = _35 * _31;
    var _65 = _63 + _64;
    var _66 = _trans+48+8;
    var _67 = FHEAP[_66];
    var _68 = _65 + _67;
    var _69 = _50 * _33;
    var _70 = _47 * _32;
    var _71 = _69 + _70;
    var _72 = _44 * _31;
    var _73 = _71 + _72;
    var _74 = _trans+48+4;
    var _75 = FHEAP[_74];
    var _76 = _73 + _75;
    var _77 = _59 * _33;
    var _78 = _56 * _32;
    var _79 = _77 + _78;
    var _80 = _53 * _31;
    var _81 = _79 + _80;
    var _82 = _trans+48;
    var _83 = FHEAP[_82];
    var _84 = _81 + _83;
    var _85 = _42 * _25;
    var _86 = _39 * _26;
    var _87 = _85 + _86;
    var _88 = _36 * _27;
    var _89 = _87 + _88;
    var _90 = _51 * _25;
    var _91 = _48 * _26;
    var _92 = _90 + _91;
    var _93 = _45 * _27;
    var _94 = _92 + _93;
    var _95 = _60 * _25;
    var _96 = _57 * _26;
    var _97 = _95 + _96;
    var _98 = _54 * _27;
    var _99 = _97 + _98;
    var _100 = _68 - _89;
    var _101 = _76 - _94;
    var _102 = _84 - _99;
    var _103 = _aabbMin;
    FHEAP[_103] = _102;
    var _104 = _aabbMin+4;
    FHEAP[_104] = _101;
    var _105 = _aabbMin+8;
    FHEAP[_105] = _100;
    var _106 = _aabbMin+12;
    FHEAP[_106] = 0;
    var _107 = _68 + _89;
    var _108 = _76 + _94;
    var _109 = _84 + _99;
    var _110 = _aabbMax;
    FHEAP[_110] = _109;
    var _111 = _aabbMax+4;
    FHEAP[_111] = _108;
    var _112 = _aabbMax+8;
    FHEAP[_112] = _107;
    var _113 = _aabbMax+12;
    FHEAP[_113] = 0;
    ;
    return;
  }
  __ZNK32btConvexInternalAabbCachingShape7getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK32btConvexInternalAabbCachingShape7getAabbERK11btTransformR9btVector3S4_, "__ZNK32btConvexInternalAabbCachingShape7getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3(_agg_result, _this, _vec) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+64;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    FUNCTION_TABLE[_5](_agg_result, _4, _vec);
    var _6 = IHEAP[_0];
    var _7 = _6+44;
    var _8 = IHEAP[_7];
    var _9 = _8;
    var _10 = FUNCTION_TABLE[_9](_this);
    var _11 = _10 != 0;
    ;
    if (_11) {
      ;
      var _12 = _vec;
      var _13 = FHEAP[_12];
      var _14 = _vec+4;
      var _15 = FHEAP[_14];
      var _16 = _vec+8;
      var _17 = FHEAP[_16];
      var _18 = _13 * _13;
      var _19 = _15 * _15;
      var _20 = _18 + _19;
      var _21 = _17 * _17;
      var _22 = _20 + _21;
      var _23 = _22 < 1.4210854715202004e-14;
      var _vecnorm_0_0_0 = _23 ? -1 : _13;
      var _vecnorm_0_1_0 = _23 ? -1 : _15;
      var _vecnorm_0_2_0 = _23 ? -1 : _17;
      var _24 = _vecnorm_0_0_0 * _vecnorm_0_0_0;
      var _25 = _vecnorm_0_1_0 * _vecnorm_0_1_0;
      var _26 = _24 + _25;
      var _27 = _vecnorm_0_2_0 * _vecnorm_0_2_0;
      var _28 = _26 + _27;
      var _29 = _sqrtf(_28);
      var _30 = 1 / _29;
      var _31 = _vecnorm_0_0_0 * _30;
      var _32 = _vecnorm_0_1_0 * _30;
      var _33 = _vecnorm_0_2_0 * _30;
      var _34 = IHEAP[_0];
      var _35 = _34+44;
      var _36 = IHEAP[_35];
      var _37 = _36;
      var _38 = FUNCTION_TABLE[_37](_this);
      var _39 = _33 * _38;
      var _40 = _32 * _38;
      var _41 = _31 * _38;
      var _42 = _agg_result;
      var _43 = FHEAP[_42];
      var _44 = _43 + _41;
      FHEAP[_42] = _44;
      var _45 = _agg_result+4;
      var _46 = FHEAP[_45];
      var _47 = _46 + _40;
      FHEAP[_45] = _47;
      var _48 = _agg_result+8;
      var _49 = FHEAP[_48];
      var _50 = _49 + _39;
      FHEAP[_48] = _50;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3, "__ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3");
  
  
  function __ZN32btConvexInternalAabbCachingShape15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var _0 = _scaling+8;
    var _1 = FHEAP[_0];
    var _2 = _fabsf(_1);
    var _3 = _scaling+4;
    var _4 = FHEAP[_3];
    var _5 = _fabsf(_4);
    var _6 = _scaling;
    var _7 = FHEAP[_6];
    var _8 = _fabsf(_7);
    var _9 = _this+12;
    FHEAP[_9] = _8;
    var _10 = _this+12+4;
    FHEAP[_10] = _5;
    var _11 = _this+12+8;
    FHEAP[_11] = _2;
    var _12 = _this+12+12;
    FHEAP[_12] = 0;
    __ZN32btConvexInternalAabbCachingShape15recalcLocalAabbEv(_this);
    ;
    return;
  }
  __ZN32btConvexInternalAabbCachingShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN32btConvexInternalAabbCachingShape15setLocalScalingERK9btVector3, "__ZN32btConvexInternalAabbCachingShape15setLocalScalingERK9btVector3");
  
  
  function __ZN32btConvexInternalAabbCachingShape15recalcLocalAabbEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 96;
    var __label__;
    var __supporting = __stackBase__;
    var _0 = _this+84;
    IHEAP[_0] = 1;
    var _1 = IHEAP[__ZGVZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions];
    var _2 = _1 == 0;
    ;
    _bb$_return$9147: do { 
      if (_2) {
        ;
        var _3 = ___cxa_guard_acquire(__ZGVZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions);
        var _4 = _3 == 0;
        if (_4) { __label__ = 44; /* _return */ break _bb$_return$9147; }
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions] = 1;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+4] = 0;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+8] = 0;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+12] = 0;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+16] = 0;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+16+4] = 1;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+16+8] = 0;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+16+12] = 0;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+32] = 0;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+32+4] = 0;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+32+8] = 1;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+32+12] = 0;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+48] = -1;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+48+4] = 0;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+48+8] = 0;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+48+12] = 0;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+64] = 0;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+64+4] = -1;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+64+8] = 0;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+64+12] = 0;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+80] = 0;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+80+4] = 0;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+80+8] = -1;
        FHEAP[__ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions+80+12] = 0;
        ___cxa_guard_release(__ZGVZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions);
        ;
      }
    } while(0);
    var _5 = _this;
    var _6 = __supporting;
    _llvm_memset_p0i8_i64(_6, 0, 96, 8, false);
    var _7 = IHEAP[_5];
    var _8 = _7+68;
    var _9 = IHEAP[_8];
    var _10 = _this;
    var _11 = _9;
    var _12 = __supporting;
    FUNCTION_TABLE[_11](_10, __ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions, _12, 6);
    var _13 = __supporting;
    var _14 = __supporting+48;
    var _15 = _this+44;
    var _scevgep7 = _this+68;
    var _scevgep9 = _this+52;
    var _16 = FHEAP[_13];
    var _17 = FHEAP[_15];
    var _18 = _16 + _17;
    FHEAP[_scevgep7] = _18;
    var _19 = FHEAP[_14];
    var _20 = _19 - _17;
    FHEAP[_scevgep9] = _20;
    var _scevgep_1 = __supporting+20;
    var _scevgep7_1 = _this+68+4;
    var _scevgep8_1 = __supporting+48+20;
    var _scevgep9_1 = _this+52+4;
    var _21 = FHEAP[_scevgep_1];
    var _22 = _21 + _17;
    FHEAP[_scevgep7_1] = _22;
    var _23 = FHEAP[_scevgep8_1];
    var _24 = _23 - _17;
    FHEAP[_scevgep9_1] = _24;
    var _scevgep_2 = __supporting+40;
    var _scevgep7_2 = _this+68+8;
    var _scevgep8_2 = __supporting+48+40;
    var _scevgep9_2 = _this+52+8;
    var _25 = FHEAP[_scevgep_2];
    var _26 = _25 + _17;
    FHEAP[_scevgep7_2] = _26;
    var _27 = FHEAP[_scevgep8_2];
    var _28 = _27 - _17;
    FHEAP[_scevgep9_2] = _28;
    STACKTOP = __stackBase__;
    return;
  }
  __ZN32btConvexInternalAabbCachingShape15recalcLocalAabbEv.__index__ = Runtime.getFunctionIndex(__ZN32btConvexInternalAabbCachingShape15recalcLocalAabbEv, "__ZN32btConvexInternalAabbCachingShape15recalcLocalAabbEv");
  
  
  function __ZNK23btConvexPointCloudShape24localGetSupportingVertexERK9btVector3(_agg_result, _this, _vec) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+64;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_agg_result, _this, _vec);
    var _5 = IHEAP[_0];
    var _6 = _5+44;
    var _7 = IHEAP[_6];
    var _8 = _this;
    var _9 = _7;
    var _10 = FUNCTION_TABLE[_9](_8);
    var _11 = _10 != 0;
    ;
    if (_11) {
      ;
      var _12 = _vec;
      var _13 = FHEAP[_12];
      var _14 = _vec+4;
      var _15 = FHEAP[_14];
      var _16 = _vec+8;
      var _17 = FHEAP[_16];
      var _18 = _13 * _13;
      var _19 = _15 * _15;
      var _20 = _18 + _19;
      var _21 = _17 * _17;
      var _22 = _20 + _21;
      var _23 = _22 < 1.4210854715202004e-14;
      var _vecnorm_0_0_0 = _23 ? -1 : _13;
      var _vecnorm_0_1_0 = _23 ? -1 : _15;
      var _vecnorm_0_2_0 = _23 ? -1 : _17;
      var _24 = _vecnorm_0_0_0 * _vecnorm_0_0_0;
      var _25 = _vecnorm_0_1_0 * _vecnorm_0_1_0;
      var _26 = _24 + _25;
      var _27 = _vecnorm_0_2_0 * _vecnorm_0_2_0;
      var _28 = _26 + _27;
      var _29 = _sqrtf(_28);
      var _30 = 1 / _29;
      var _31 = _vecnorm_0_0_0 * _30;
      var _32 = _vecnorm_0_1_0 * _30;
      var _33 = _vecnorm_0_2_0 * _30;
      var _34 = IHEAP[_0];
      var _35 = _34+44;
      var _36 = IHEAP[_35];
      var _37 = _36;
      var _38 = FUNCTION_TABLE[_37](_8);
      var _39 = _33 * _38;
      var _40 = _32 * _38;
      var _41 = _31 * _38;
      var _42 = _agg_result;
      var _43 = FHEAP[_42];
      var _44 = _43 + _41;
      FHEAP[_42] = _44;
      var _45 = _agg_result+4;
      var _46 = FHEAP[_45];
      var _47 = _46 + _40;
      FHEAP[_45] = _47;
      var _48 = _agg_result+8;
      var _49 = FHEAP[_48];
      var _50 = _49 + _39;
      FHEAP[_48] = _50;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZNK23btConvexPointCloudShape24localGetSupportingVertexERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK23btConvexPointCloudShape24localGetSupportingVertexERK9btVector3, "__ZNK23btConvexPointCloudShape24localGetSupportingVertexERK9btVector3");
  
  
  function __ZNK23btConvexPointCloudShape37localGetSupportingVertexWithoutMarginERK9btVector3(_agg_result, _this, _vec0) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _agg_result;
    FHEAP[_0] = 0;
    var _1 = _agg_result+4;
    FHEAP[_1] = 0;
    var _2 = _agg_result+8;
    FHEAP[_2] = 0;
    var _3 = _agg_result+12;
    FHEAP[_3] = 0;
    var _4 = _vec0;
    var _5 = FHEAP[_4];
    var _6 = _vec0+4;
    var _7 = FHEAP[_6];
    var _8 = _vec0+8;
    var _9 = FHEAP[_8];
    var _10 = _5 * _5;
    var _11 = _7 * _7;
    var _12 = _10 + _11;
    var _13 = _9 * _9;
    var _14 = _12 + _13;
    var _15 = _14 < 0.00009999999747378752;
    ;
    if (_15) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _16 = _sqrtf(_14);
      var _17 = 1 / _16;
      var _18 = _5 * _17;
      var _19 = _7 * _17;
      var _20 = _9 * _17;
      __lastLabel__ = 75; ;
    }
    var _vec_0_2_0_ph = __lastLabel__ == -1 ? 0 : (_20);
    var _vec_0_1_0_ph = __lastLabel__ == -1 ? 0 : (_19);
    var _vec_0_0_0_ph = __lastLabel__ == -1 ? 1 : (_18);
    var _21 = _this+92;
    var _22 = IHEAP[_21];
    var _23 = _22 > 0;
    ;
    _bb_nph$_return$9191: do { 
      if (_23) {
        ;
        var _24 = _this+88;
        var _25 = IHEAP[_24];
        var _26 = _this+12+8;
        var _27 = FHEAP[_26];
        var _28 = _this+12+4;
        var _29 = FHEAP[_28];
        var _30 = _this+12;
        var _31 = FHEAP[_30];
        var _tmp = _22 > 1;
        var _smax = _tmp ? _22 : 1;
        __lastLabel__ = 130; ;
        _bb3$9193: while(1) { // _bb3
          var _i_017 = __lastLabel__ == 130 ? 0 : (_44);
          var _maxDot_116 = __lastLabel__ == 130 ? -999999984306749400 : (_maxDot_0);
          var _scevgep = _25+16*_i_017+8;
          var _scevgep18 = _25+16*_i_017+4;
          var _scevgep1920 = _25+16*_i_017;
          var _32 = FHEAP[_scevgep];
          var _33 = _32 * _27;
          var _34 = FHEAP[_scevgep18];
          var _35 = _34 * _29;
          var _36 = FHEAP[_scevgep1920];
          var _37 = _36 * _31;
          var _38 = _vec_0_0_0_ph * _37;
          var _39 = _vec_0_1_0_ph * _35;
          var _40 = _38 + _39;
          var _41 = _vec_0_2_0_ph * _33;
          var _42 = _40 + _41;
          var _43 = _42 > _maxDot_116;
          ;
          if (_43) {
            __lastLabel__ = 116; ;
            FHEAP[_0] = _37;
            FHEAP[_1] = _35;
            FHEAP[_2] = _33;
            FHEAP[_3] = 0;
            __lastLabel__ = 61; ;
          }
          else {
            __lastLabel__ = 116; ;
          }
          var _maxDot_0 = __lastLabel__ == 61 ? _42 : (_maxDot_116);
          var _44 = _i_017 + 1;
          var _exitcond = _44 == _smax;
          if (_exitcond) { __lastLabel__ = 82; __label__ = 44; /* _return */ break _bb_nph$_return$9191; } else { __lastLabel__ = 82; __label__ = 116; /* _bb3 */ continue _bb3$9193; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZNK23btConvexPointCloudShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK23btConvexPointCloudShape37localGetSupportingVertexWithoutMarginERK9btVector3, "__ZNK23btConvexPointCloudShape37localGetSupportingVertexWithoutMarginERK9btVector3");
  
  
  function __ZNK13btConvexShape19getMarginNonVirtualEv(_this) {
    ;
    var __label__;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    if (_1 == 0) {
      __label__ = 75; /* _bb1 */ 
    }
    else if (_1 == 1) {
      __label__ = 0; /* _bb2 */ 
    }
    else if (_1 == 4) {
      __label__ = 82; /* _bb5 */ 
    }
    else if (_1 == 5) {
      __label__ = 82; /* _bb5 */ 
    }
    else if (_1 == 8) {
      __label__ = 60; /* _bb */ 
    }
    else if (_1 == 10) {
      __label__ = 61; /* _bb4 */ 
    }
    else if (_1 == 13) {
      __label__ = 116; /* _bb3 */ 
    }
    else {
    __label__ = 83; /* _bb6 */ 
    }
    
    if (__label__ == 83) {
      var _24 = _this;
      var _25 = IHEAP[_24];
      var _26 = _25+44;
      var _27 = IHEAP[_26];
      var _28 = _27;
      var _29 = FUNCTION_TABLE[_28](_this);
      ;
      return _29;
    }
    else if (__label__ == 75) {
      var _9 = _this+36+8;
      var _10 = _9;
      var _11 = FHEAP[_10];
      ;
      return _11;
    }
    else if (__label__ == 0) {
      var _12 = _this+36+8;
      var _13 = _12;
      var _14 = FHEAP[_13];
      ;
      return _14;
    }
    else if (__label__ == 82) {
      var _21 = _this+36+8;
      var _22 = _21;
      var _23 = FHEAP[_22];
      ;
      return _23;
    }
    else if (__label__ == 60) {
      var _2 = _this+24+4;
      var _3 = _2;
      var _4 = FHEAP[_3];
      var _5 = _this+12;
      var _6 = _5;
      var _7 = FHEAP[_6];
      var _8 = _4 * _7;
      ;
      return _8;
    }
    else if (__label__ == 61) {
      var _18 = _this+36+8;
      var _19 = _18;
      var _20 = FHEAP[_19];
      ;
      return _20;
    }
    else if (__label__ == 116) {
      var _15 = _this+36+8;
      var _16 = _15;
      var _17 = FHEAP[_16];
      ;
      return _17;
    }
  }
  __ZNK13btConvexShape19getMarginNonVirtualEv.__index__ = Runtime.getFunctionIndex(__ZNK13btConvexShape19getMarginNonVirtualEv, "__ZNK13btConvexShape19getMarginNonVirtualEv");
  
  
  function __ZNK13btConvexShape44localGetSupportVertexWithoutMarginNonVirtualERK9btVector3(_agg_result, _this, _localDir) {
    var __stackBase__  = STACKTOP; STACKTOP += 80;
    var __label__;
    var __lastLabel__ = null;
    var _halfExtents4 = __stackBase__;
    var _v = __stackBase__+16;
    var _tmp = __stackBase__+32;
    var _pos = __stackBase__+48;
    var _pos26 = __stackBase__+64;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    if (_1 == 0) {
      __label__ = 75; /* _bb1 */ 
    }
    else if (_1 == 1) {
      __label__ = 0; /* _bb2 */ 
    }
    else if (_1 == 4) {
      __label__ = 250; /* _bb34 */ 
    }
    else if (_1 == 5) {
      __label__ = 90; /* _bb30 */ 
    }
    else if (_1 == 8) {
      __label__ = 60; /* _bb */ 
    }
    else if (_1 == 10) {
      __label__ = 4; /* _bb17 */ 
    }
    else if (_1 == 13) {
      __label__ = 116; /* _bb3 */ 
    }
    else {
    __label__ = 1015; /* _bb40 */ 
    }
    
    if (__label__ == 1015) {
      var _338 = _this;
      var _339 = IHEAP[_338];
      var _340 = _339+64;
      var _341 = IHEAP[_340];
      var _342 = _341;
      FUNCTION_TABLE[_342](_agg_result, _this, _localDir);
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 75) {
      var _6 = _this+24+4;
      var _7 = _6+8;
      var _8 = _7;
      var _9 = FHEAP[_8];
      var _10 = 0 - _9;
      var _11 = _localDir+8;
      var _12 = FHEAP[_11];
      var _13 = _12 < 0;
      var _iftmp_3_0_i65 = _13 ? _10 : _9;
      var _14 = _6+4;
      var _15 = _14;
      var _16 = FHEAP[_15];
      var _17 = 0 - _16;
      var _18 = _localDir+4;
      var _19 = FHEAP[_18];
      var _20 = _19 < 0;
      var _iftmp_3_0_i64 = _20 ? _17 : _16;
      var _21 = _6;
      var _22 = FHEAP[_21];
      var _23 = 0 - _22;
      var _24 = _localDir;
      var _25 = FHEAP[_24];
      var _26 = _25 < 0;
      var _iftmp_3_0_i = _26 ? _23 : _22;
      var _27 = _agg_result;
      FHEAP[_27] = _iftmp_3_0_i;
      var _28 = _agg_result+4;
      FHEAP[_28] = _iftmp_3_0_i64;
      var _29 = _agg_result+8;
      FHEAP[_29] = _iftmp_3_0_i65;
      var _30 = _agg_result+12;
      FHEAP[_30] = 0;
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 0) {
      var _31 = _localDir+8;
      var _32 = _localDir+4;
      var _33 = _localDir;
      var _34 = FHEAP[_33];
      var _35 = FHEAP[_32];
      var _36 = FHEAP[_31];
      var _37 = _this+48+4;
      var _38 = _37;
      var _39 = _37+32;
      var _40 = _39;
      var _41 = FHEAP[_40];
      var _42 = _34 * _41;
      var _43 = _37+36;
      var _44 = _43;
      var _45 = FHEAP[_44];
      var _46 = _35 * _45;
      var _47 = _42 + _46;
      var _48 = _37+40;
      var _49 = _48;
      var _50 = FHEAP[_49];
      var _51 = _36 * _50;
      var _52 = _47 + _51;
      var _53 = _37+16;
      var _54 = _53;
      var _55 = FHEAP[_54];
      var _56 = _34 * _55;
      var _57 = _37+20;
      var _58 = _57;
      var _59 = FHEAP[_58];
      var _60 = _35 * _59;
      var _61 = _56 + _60;
      var _62 = _37+24;
      var _63 = _62;
      var _64 = FHEAP[_63];
      var _65 = _36 * _64;
      var _66 = _61 + _65;
      var _67 = _37;
      var _68 = FHEAP[_67];
      var _69 = _34 * _68;
      var _70 = _37+4;
      var _71 = _70;
      var _72 = FHEAP[_71];
      var _73 = _35 * _72;
      var _74 = _69 + _73;
      var _75 = _37+8;
      var _76 = _75;
      var _77 = FHEAP[_76];
      var _78 = _36 * _77;
      var _79 = _74 + _78;
      var _80 = _79 < _66;
      ;
      if (_80) {
        ;
        var _81 = _66 < _52;
        var _iftmp_18_0_i = _81 ? 2 : 1;
        __lastLabel__ = 1598; ;
      }
      else {
        ;
        var _82 = _79 < _52;
        var _iftmp_19_0_i = _82 ? 2 : 0;
        __lastLabel__ = 135; ;
      }
      var _83 = __lastLabel__ == 135 ? _iftmp_19_0_i : (_iftmp_18_0_i);
      var _84 = _38+16*_83;
      var _85 = FHEAP[_84];
      var _86 = _38+16*_83+4;
      var _87 = FHEAP[_86];
      var _88 = _38+16*_83+8;
      var _89 = FHEAP[_88];
      var _90 = _agg_result;
      FHEAP[_90] = _85;
      var _91 = _agg_result+4;
      FHEAP[_91] = _87;
      var _92 = _agg_result+8;
      FHEAP[_92] = _89;
      var _93 = _agg_result+12;
      FHEAP[_93] = 0;
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 250) {
      var _301 = _this+96+4;
      var _302 = _301;
      var _303 = IHEAP[_302];
      var _304 = _this+84+8;
      var _305 = _304;
      var _306 = IHEAP[_305];
      var _307 = _this+12;
      var _localDir_idx = _localDir;
      var _localDir_idx_val = FHEAP[_localDir_idx];
      var _localDir_idx42 = _localDir+4;
      var _localDir_idx42_val = FHEAP[_localDir_idx42];
      var _localDir_idx43 = _localDir+8;
      var _localDir_idx43_val = FHEAP[_localDir_idx43];
      var __idx = _307;
      var __idx_val = FHEAP[__idx];
      var __idx44 = _this+12+4;
      var _308 = __idx44;
      var __idx44_val = FHEAP[_308];
      var __idx45 = _this+12+8;
      var _309 = __idx45;
      var __idx45_val = FHEAP[_309];
      var _310 = _localDir_idx43_val * __idx45_val;
      var _311 = _localDir_idx42_val * __idx44_val;
      var _312 = _localDir_idx_val * __idx_val;
      var _313 = _306 > 0;
      if (_313) { __lastLabel__ = 250; __label__ = 131; /* _bb_i */  } else { __lastLabel__ = 250; __label__ = 1764; /* __ZL17convexHullSupportRK9btVector3PS0_iS1__exit */  }
      _bb_i$__ZL17convexHullSupportRK9btVector3PS0_iS1__exit$9222: while(1) { // _bb_i,__ZL17convexHullSupportRK9btVector3PS0_iS1__exit
        if (__label__ == 131) {
          var _314 = __lastLabel__ == 131 ? _324 : (0);
          var _ptIndex_14_i = __lastLabel__ == 131 ? _ptIndex_0_i : (-1);
          var _maxDot_13_i = __lastLabel__ == 131 ? _maxDot_0_i : (-999999984306749400);
          var _scevgep8_i = _303+16*_314+8;
          var _scevgep7_i = _303+16*_314+4;
          var _scevgep6_i = _303+16*_314;
          var _315 = FHEAP[_scevgep6_i];
          var _316 = _312 * _315;
          var _317 = FHEAP[_scevgep7_i];
          var _318 = _311 * _317;
          var _319 = _316 + _318;
          var _320 = FHEAP[_scevgep8_i];
          var _321 = _310 * _320;
          var _322 = _319 + _321;
          var _323 = _322 > _maxDot_13_i;
          var _ptIndex_0_i = _323 ? _314 : _ptIndex_14_i;
          var _324 = _314 + 1;
          var _maxDot_0_i = _323 ? _322 : _maxDot_13_i;
          var _exitcond145 = _324 == _306;
          if (_exitcond145) { __lastLabel__ = 131; __label__ = 1764; /* __ZL17convexHullSupportRK9btVector3PS0_iS1__exit */ continue _bb_i$__ZL17convexHullSupportRK9btVector3PS0_iS1__exit$9222; } else { __lastLabel__ = 131; __label__ = 131; /* _bb_i */ continue _bb_i$__ZL17convexHullSupportRK9btVector3PS0_iS1__exit$9222; }
        }
        else if (__label__ == 1764) {
          var _ptIndex_1_lcssa_i = __lastLabel__ == 250 ? -1 : (_ptIndex_0_i);
          var _325 = _303+16*_ptIndex_1_lcssa_i+8;
          var _326 = FHEAP[_325];
          var _327 = _326 * __idx45_val;
          var _328 = _303+16*_ptIndex_1_lcssa_i+4;
          var _329 = FHEAP[_328];
          var _330 = _329 * __idx44_val;
          var _331 = _303+16*_ptIndex_1_lcssa_i;
          var _332 = FHEAP[_331];
          var _333 = _332 * __idx_val;
          var _334 = _agg_result;
          FHEAP[_334] = _333;
          var _335 = _agg_result+4;
          FHEAP[_335] = _330;
          var _336 = _agg_result+8;
          FHEAP[_336] = _327;
          var _337 = _agg_result+12;
          FHEAP[_337] = 0;
          STACKTOP = __stackBase__;
          return;
        }
      }
    }
    else if (__label__ == 90) {
      var _264 = _this+84+4;
      var _265 = _264;
      var _266 = IHEAP[_265];
      var _267 = _this+84+8;
      var _268 = _267;
      var _269 = IHEAP[_268];
      var _270 = _this+12;
      var _localDir_idx46 = _localDir;
      var _localDir_idx46_val = FHEAP[_localDir_idx46];
      var _localDir_idx47 = _localDir+4;
      var _localDir_idx47_val = FHEAP[_localDir_idx47];
      var _localDir_idx48 = _localDir+8;
      var _localDir_idx48_val = FHEAP[_localDir_idx48];
      var __idx49 = _270;
      var __idx49_val = FHEAP[__idx49];
      var __idx50 = _this+12+4;
      var _271 = __idx50;
      var __idx50_val = FHEAP[_271];
      var __idx51 = _this+12+8;
      var _272 = __idx51;
      var __idx51_val = FHEAP[_272];
      var _273 = _localDir_idx48_val * __idx51_val;
      var _274 = _localDir_idx47_val * __idx50_val;
      var _275 = _localDir_idx46_val * __idx49_val;
      var _276 = _269 > 0;
      if (_276) { __lastLabel__ = 90; __label__ = 544; /* _bb_i60 */  } else { __lastLabel__ = 90; __label__ = 1763; /* __ZL17convexHullSupportRK9btVector3PS0_iS1__exit62 */  }
      _bb_i60$__ZL17convexHullSupportRK9btVector3PS0_iS1__exit62$9227: while(1) { // _bb_i60,__ZL17convexHullSupportRK9btVector3PS0_iS1__exit62
        if (__label__ == 544) {
          var _277 = __lastLabel__ == 544 ? _287 : (0);
          var _ptIndex_14_i52 = __lastLabel__ == 544 ? _ptIndex_0_i57 : (-1);
          var _maxDot_13_i53 = __lastLabel__ == 544 ? _maxDot_0_i58 : (-999999984306749400);
          var _scevgep8_i56 = _266+16*_277+8;
          var _scevgep7_i55 = _266+16*_277+4;
          var _scevgep6_i54 = _266+16*_277;
          var _278 = FHEAP[_scevgep6_i54];
          var _279 = _275 * _278;
          var _280 = FHEAP[_scevgep7_i55];
          var _281 = _274 * _280;
          var _282 = _279 + _281;
          var _283 = FHEAP[_scevgep8_i56];
          var _284 = _273 * _283;
          var _285 = _282 + _284;
          var _286 = _285 > _maxDot_13_i53;
          var _ptIndex_0_i57 = _286 ? _277 : _ptIndex_14_i52;
          var _287 = _277 + 1;
          var _maxDot_0_i58 = _286 ? _285 : _maxDot_13_i53;
          var _exitcond = _287 == _269;
          if (_exitcond) { __lastLabel__ = 544; __label__ = 1763; /* __ZL17convexHullSupportRK9btVector3PS0_iS1__exit62 */ continue _bb_i60$__ZL17convexHullSupportRK9btVector3PS0_iS1__exit62$9227; } else { __lastLabel__ = 544; __label__ = 544; /* _bb_i60 */ continue _bb_i60$__ZL17convexHullSupportRK9btVector3PS0_iS1__exit62$9227; }
        }
        else if (__label__ == 1763) {
          var _ptIndex_1_lcssa_i61 = __lastLabel__ == 90 ? -1 : (_ptIndex_0_i57);
          var _288 = _266+16*_ptIndex_1_lcssa_i61+8;
          var _289 = FHEAP[_288];
          var _290 = _289 * __idx51_val;
          var _291 = _266+16*_ptIndex_1_lcssa_i61+4;
          var _292 = FHEAP[_291];
          var _293 = _292 * __idx50_val;
          var _294 = _266+16*_ptIndex_1_lcssa_i61;
          var _295 = FHEAP[_294];
          var _296 = _295 * __idx49_val;
          var _297 = _agg_result;
          FHEAP[_297] = _296;
          var _298 = _agg_result+4;
          FHEAP[_298] = _293;
          var _299 = _agg_result+8;
          FHEAP[_299] = _290;
          var _300 = _agg_result+12;
          FHEAP[_300] = 0;
          STACKTOP = __stackBase__;
          return;
        }
      }
    }
    else if (__label__ == 60) {
      var _2 = _agg_result;
      FHEAP[_2] = 0;
      var _3 = _agg_result+4;
      FHEAP[_3] = 0;
      var _4 = _agg_result+8;
      FHEAP[_4] = 0;
      var _5 = _agg_result+12;
      FHEAP[_5] = 0;
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 4) {
      var _172 = _localDir+8;
      var _173 = _localDir+4;
      var _174 = _localDir;
      var _175 = FHEAP[_174];
      var _176 = FHEAP[_173];
      var _177 = FHEAP[_172];
      var _178 = _this;
      var _179 = _this+48+4;
      var _180 = IHEAP[_179];
      var _181 = _178+28+_180*4;
      var _182 = FHEAP[_181];
      var _183 = _180 + 2;
      var _184 = Math.floor(_183 % 3);
      var _185 = _178+28+_184*4;
      var _186 = FHEAP[_185];
      var _187 = _175 * _175;
      var _188 = _176 * _176;
      var _189 = _187 + _188;
      var _190 = _177 * _177;
      var _191 = _189 + _190;
      var _192 = _191 < 0.00009999999747378752;
      ;
      if (_192) {
        __lastLabel__ = 4; ;
      }
      else {
        __lastLabel__ = 4; ;
        var _193 = _sqrtf(_191);
        var _194 = 1 / _193;
        var _195 = _175 * _194;
        var _196 = _176 * _194;
        var _197 = _177 * _194;
        __lastLabel__ = 110; ;
      }
      var _vec_0_0_0 = __lastLabel__ == 110 ? _195 : (1);
      var _vec_0_1_0 = __lastLabel__ == 110 ? _196 : (0);
      var _vec_0_2_0 = __lastLabel__ == 110 ? _197 : (0);
      var _198 = _pos;
      FHEAP[_198] = 0;
      var _199 = _pos+4;
      FHEAP[_199] = 0;
      var _200 = _pos+8;
      FHEAP[_200] = 0;
      var _201 = _pos+12;
      FHEAP[_201] = 0;
      var _202 = _pos+_180*4;
      FHEAP[_202] = _182;
      var _203 = _this+36+8;
      var _204 = _203;
      var _205 = FHEAP[_204];
      var _206 = _vec_0_2_0 * _205;
      var _207 = _vec_0_1_0 * _205;
      var _208 = _vec_0_0_0 * _205;
      var _209 = _this+12;
      var _210 = _this+12+8;
      var _211 = _210;
      var _212 = FHEAP[_211];
      var _213 = _vec_0_2_0 * _212;
      var _214 = _this+12+4;
      var _215 = _214;
      var _216 = FHEAP[_215];
      var _217 = _vec_0_1_0 * _216;
      var _218 = _209;
      var _219 = FHEAP[_218];
      var _220 = _vec_0_0_0 * _219;
      var _221 = _213 * _186;
      var _222 = _217 * _186;
      var _223 = _220 * _186;
      var _224 = FHEAP[_200];
      var _225 = _224 + _221;
      var _226 = FHEAP[_199];
      var _227 = _226 + _222;
      var _228 = FHEAP[_198];
      var _229 = _228 + _223;
      var _230 = _225 - _206;
      var _231 = _227 - _207;
      var _232 = _229 - _208;
      var _233 = _vec_0_0_0 * _232;
      var _234 = _vec_0_1_0 * _231;
      var _235 = _233 + _234;
      var _236 = _vec_0_2_0 * _230;
      var _237 = _235 + _236;
      var _238 = _237 > -999999984306749400;
      ;
      if (_238) {
        __lastLabel__ = 5; ;
        __lastLabel__ = 419; ;
      }
      else {
        __lastLabel__ = 5; ;
      }
      var _supVec_0_0_1 = __lastLabel__ == 419 ? _232 : (0);
      var _supVec_0_1_1 = __lastLabel__ == 419 ? _231 : (0);
      var _supVec_0_2_1 = __lastLabel__ == 419 ? _230 : (0);
      var _maxDot_0 = __lastLabel__ == 419 ? _237 : (-999999984306749400);
      var _239 = _pos26;
      FHEAP[_239] = 0;
      var _240 = _pos26+4;
      FHEAP[_240] = 0;
      var _241 = _pos26+8;
      FHEAP[_241] = 0;
      var _242 = _pos26+12;
      FHEAP[_242] = 0;
      var _243 = 0 - _182;
      var _244 = _pos26+_180*4;
      FHEAP[_244] = _243;
      var _245 = FHEAP[_241];
      var _246 = _245 + _221;
      var _247 = FHEAP[_240];
      var _248 = _247 + _222;
      var _249 = FHEAP[_239];
      var _250 = _249 + _223;
      var _251 = _246 - _206;
      var _252 = _248 - _207;
      var _253 = _250 - _208;
      var _254 = _vec_0_0_0 * _253;
      var _255 = _vec_0_1_0 * _252;
      var _256 = _254 + _255;
      var _257 = _vec_0_2_0 * _251;
      var _258 = _256 + _257;
      var _259 = _258 > _maxDot_0;
      var _supVec_0_0_0 = _259 ? _253 : _supVec_0_0_1;
      var _supVec_0_1_0 = _259 ? _252 : _supVec_0_1_1;
      var _supVec_0_2_0 = _259 ? _251 : _supVec_0_2_1;
      var _260 = _agg_result;
      FHEAP[_260] = _supVec_0_0_0;
      var _261 = _agg_result+4;
      FHEAP[_261] = _supVec_0_1_0;
      var _262 = _agg_result+8;
      FHEAP[_262] = _supVec_0_2_0;
      var _263 = _agg_result+12;
      FHEAP[_263] = 0;
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 116) {
      var _94 = _this+24+4;
      var _95 = _halfExtents4;
      var _96 = _94;
      var _97 = FHEAP[_96];
      FHEAP[_95] = _97;
      var _98 = _halfExtents4+4;
      var _99 = _94+4;
      var _100 = _99;
      var _101 = FHEAP[_100];
      FHEAP[_98] = _101;
      var _102 = _halfExtents4+8;
      var _103 = _94+8;
      var _104 = _103;
      var _105 = FHEAP[_104];
      FHEAP[_102] = _105;
      var _106 = _halfExtents4+12;
      var _107 = _94+12;
      var _108 = _107;
      var _109 = FHEAP[_108];
      FHEAP[_106] = _109;
      var _110 = _localDir+8;
      var _111 = _localDir+4;
      var _112 = _localDir;
      var _113 = FHEAP[_112];
      var _114 = _v;
      FHEAP[_114] = _113;
      var _115 = FHEAP[_111];
      var _116 = _v+4;
      FHEAP[_116] = _115;
      var _117 = FHEAP[_110];
      var _118 = _v+8;
      FHEAP[_118] = _117;
      var _119 = _v+12;
      FHEAP[_119] = 0;
      var _120 = _this+48+4;
      var _121 = IHEAP[_120];
      if (_121 == 1) {
        __lastLabel__ = 116; __label__ = 83; /* _bb6 */ 
      }
      else if (_121 == 2) {
        __lastLabel__ = 116; __label__ = 2; /* _bb7 */ 
      }
      else {
      __lastLabel__ = 116; __label__ = 148; /* _bb8 */ 
      }
      
      if (__label__ == 83) {
        __lastLabel__ = 83; ;
      }
      else if (__label__ == 2) {
        __lastLabel__ = 2; ;
      }
      var _XX_0 = __lastLabel__ == 2 ? 0 : (__lastLabel__ == 83 ? 0 : (1));
      var _YY_0 = __lastLabel__ == 2 ? 2 : (__lastLabel__ == 83 ? 1 : (0));
      var _ZZ_0 = __lastLabel__ == 2 ? 1 : (__lastLabel__ == 83 ? 2 : (2));
      var _122 = _halfExtents4+_XX_0*4;
      var _123 = FHEAP[_122];
      var _124 = _halfExtents4+_121*4;
      var _125 = FHEAP[_124];
      var _126 = _v+_XX_0*4;
      var _127 = FHEAP[_126];
      var _128 = _127 * _127;
      var _129 = _v+_ZZ_0*4;
      var _130 = FHEAP[_129];
      var _131 = _130 * _130;
      var _132 = _128 + _131;
      var _133 = _sqrtf(_132);
      var _134 = _133 != 0;
      ;
      if (_134) {
        ;
        var _135 = _123 / _133;
        var _136 = _127 * _135;
        var _137 = _tmp+_XX_0*4;
        FHEAP[_137] = _136;
        var _138 = _v+_YY_0*4;
        var _139 = FHEAP[_138];
        var _140 = _139 < 0;
        ;
        if (_140) {
          __lastLabel__ = 62; ;
          var _141 = 0 - _125;
          __lastLabel__ = 150; ;
        }
        else {
          __lastLabel__ = 62; ;
        }
        var _iftmp_152_0 = __lastLabel__ == 150 ? _141 : (_125);
        var _142 = _tmp+_YY_0*4;
        FHEAP[_142] = _iftmp_152_0;
        var _143 = _130 * _135;
        var _144 = _tmp+_ZZ_0*4;
        FHEAP[_144] = _143;
        var _145 = _tmp+8;
        var _146 = _tmp+4;
        var _147 = _tmp;
        var _148 = FHEAP[_147];
        var _149 = _agg_result;
        FHEAP[_149] = _148;
        var _150 = FHEAP[_146];
        var _151 = _agg_result+4;
        FHEAP[_151] = _150;
        var _152 = FHEAP[_145];
        var _153 = _agg_result+8;
        FHEAP[_153] = _152;
        var _154 = _agg_result+12;
        FHEAP[_154] = 0;
        STACKTOP = __stackBase__;
        return;
      }
      else {
        ;
        var _155 = _tmp+_XX_0*4;
        FHEAP[_155] = _123;
        var _156 = _v+_YY_0*4;
        var _157 = FHEAP[_156];
        var _158 = _157 < 0;
        ;
        if (_158) {
          __lastLabel__ = 108; ;
          var _159 = 0 - _125;
          __lastLabel__ = 63; ;
        }
        else {
          __lastLabel__ = 108; ;
        }
        var _iftmp_153_0 = __lastLabel__ == 63 ? _159 : (_125);
        var _160 = _tmp+_YY_0*4;
        FHEAP[_160] = _iftmp_153_0;
        var _161 = _tmp+_ZZ_0*4;
        FHEAP[_161] = 0;
        var _162 = _tmp+8;
        var _163 = _tmp+4;
        var _164 = _tmp;
        var _165 = FHEAP[_164];
        var _166 = _agg_result;
        FHEAP[_166] = _165;
        var _167 = FHEAP[_163];
        var _168 = _agg_result+4;
        FHEAP[_168] = _167;
        var _169 = FHEAP[_162];
        var _170 = _agg_result+8;
        FHEAP[_170] = _169;
        var _171 = _agg_result+12;
        FHEAP[_171] = 0;
        STACKTOP = __stackBase__;
        return;
      }
    }
  }
  __ZNK13btConvexShape44localGetSupportVertexWithoutMarginNonVirtualERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK13btConvexShape44localGetSupportVertexWithoutMarginNonVirtualERK9btVector3, "__ZNK13btConvexShape44localGetSupportVertexWithoutMarginNonVirtualERK9btVector3");
  
  
  function __ZNK13btConvexShape17getAabbNonVirtualERK11btTransformR9btVector3S4_(_this, _t, _aabbMin, _aabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 112;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _vec = __stackBase__+48;
    var _sv = __stackBase__+64;
    var _tmp = __stackBase__+80;
    var _halfExtents28 = __stackBase__+96;
    var _3 = _this+4;
    var _4 = IHEAP[_3];
    if (_4 == 10) {
      __label__ = 540; /* _bb25 */ 
    }
    else if (_4 == 1) {
      __label__ = 130; /* _bb_nph */ 
    }
    else if (_4 == 13) {
      __label__ = 1767; /* _bb3_i47 */ 
    }
    else if (_4 == 0) {
      __label__ = 1765; /* _bb1_i45 */ 
    }
    else if (_4 == 8) {
      __label__ = 3708; /* __ZNK13btConvexShape19getMarginNonVirtualEv_exit */ 
    }
    else if (_4 == 4) {
      __label__ = 3409; /* _bb5_i57 */ 
    }
    else if (_4 == 5) {
      __label__ = 3409; /* _bb5_i57 */ 
    }
    else {
    __label__ = 69; /* _bb42 */ 
    }
    
    if (__label__ == 69) {
      var _487 = _this;
      var _488 = IHEAP[_487];
      var _489 = _488+8;
      var _490 = IHEAP[_489];
      var _491 = _490;
      FUNCTION_TABLE[_491](_this, _t, _aabbMin, _aabbMax);
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 540) {
      var _279 = _this;
      var _280 = _this+48+4;
      var _281 = IHEAP[_280];
      var _282 = _281 + 2;
      var _283 = Math.floor(_282 % 3);
      var _284 = _279+28+_283*4;
      var _285 = FHEAP[_284];
      var _286 = _halfExtents28;
      FHEAP[_286] = _285;
      var _287 = _halfExtents28+4;
      FHEAP[_287] = _285;
      var _288 = _halfExtents28+8;
      FHEAP[_288] = _285;
      var _289 = _halfExtents28+12;
      FHEAP[_289] = 0;
      var _290 = _279+28+_281*4;
      var _291 = FHEAP[_290];
      var _292 = _285 + _291;
      var _293 = _halfExtents28+_281*4;
      FHEAP[_293] = _292;
      var _294 = _this+36+8;
      var _295 = _294;
      var _296 = FHEAP[_295];
      var _297 = _this+36+8;
      var _298 = _297;
      var _299 = FHEAP[_298];
      var _300 = _this+36+8;
      var _301 = _300;
      var _302 = FHEAP[_301];
      var _303 = FHEAP[_286];
      var _304 = _303 + _302;
      FHEAP[_286] = _304;
      var _305 = FHEAP[_287];
      var _306 = _305 + _299;
      FHEAP[_287] = _306;
      var _307 = FHEAP[_288];
      var _308 = _307 + _296;
      var _309 = _t+32+8;
      var _310 = FHEAP[_309];
      var _311 = _fabsf(_310);
      var _312 = _t+32+4;
      var _313 = FHEAP[_312];
      var _314 = _fabsf(_313);
      var _315 = _t+32;
      var _316 = FHEAP[_315];
      var _317 = _fabsf(_316);
      var _318 = _t+16+8;
      var _319 = FHEAP[_318];
      var _320 = _fabsf(_319);
      var _321 = _t+16+4;
      var _322 = FHEAP[_321];
      var _323 = _fabsf(_322);
      var _324 = _t+16;
      var _325 = FHEAP[_324];
      var _326 = _fabsf(_325);
      var _327 = _t+8;
      var _328 = FHEAP[_327];
      var _329 = _fabsf(_328);
      var _330 = _t+4;
      var _331 = FHEAP[_330];
      var _332 = _fabsf(_331);
      var _333 = _t;
      var _334 = FHEAP[_333];
      var _335 = _fabsf(_334);
      var _336 = _t+48;
      var _337 = FHEAP[_336];
      var _338 = _t+48+4;
      var _339 = FHEAP[_338];
      var _340 = _t+48+8;
      var _341 = FHEAP[_340];
      var _342 = _317 * _304;
      var _343 = _314 * _306;
      var _344 = _342 + _343;
      var _345 = _311 * _308;
      var _346 = _344 + _345;
      var _347 = _326 * _304;
      var _348 = _323 * _306;
      var _349 = _347 + _348;
      var _350 = _320 * _308;
      var _351 = _349 + _350;
      var _352 = _335 * _304;
      var _353 = _332 * _306;
      var _354 = _352 + _353;
      var _355 = _329 * _308;
      var _356 = _354 + _355;
      var _357 = _341 - _346;
      var _358 = _339 - _351;
      var _359 = _337 - _356;
      var _360 = _aabbMin;
      FHEAP[_360] = _359;
      var _361 = _aabbMin+4;
      FHEAP[_361] = _358;
      var _362 = _aabbMin+8;
      FHEAP[_362] = _357;
      var _363 = _aabbMin+12;
      FHEAP[_363] = 0;
      var _364 = _341 + _346;
      var _365 = _339 + _351;
      var _366 = _337 + _356;
      var _367 = _aabbMax;
      FHEAP[_367] = _366;
      var _368 = _aabbMax+4;
      FHEAP[_368] = _365;
      var _369 = _aabbMax+8;
      FHEAP[_369] = _364;
      var _370 = _aabbMax+12;
      FHEAP[_370] = 0;
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 130) {
      var _117 = _this+36+8;
      var _118 = _117;
      var _119 = FHEAP[_118];
      var _120 = _vec;
      var _121 = _vec+4;
      var _122 = _vec+8;
      var _123 = _vec+12;
      var _124 = _t+8;
      var _125 = _t+16+8;
      var _126 = _t+32+8;
      var _127 = _t+4;
      var _128 = _t+16+4;
      var _129 = _t+32+4;
      var _130 = _t;
      var _131 = _t+16;
      var _132 = _t+32;
      var _133 = _2;
      var _134 = _2+4;
      var _135 = _2+8;
      var _136 = _2+12;
      var _137 = _sv;
      var _138 = _sv+4;
      var _139 = _sv+8;
      var _140 = _t+48+8;
      var _141 = _t+48+4;
      var _142 = _t+48;
      var _143 = _tmp;
      var _144 = _tmp+4;
      var _145 = _tmp+8;
      var _146 = _tmp+12;
      var _147 = _0;
      var _148 = _0+4;
      var _149 = _0+8;
      var _150 = _0+12;
      var _151 = _1;
      var _152 = _1+4;
      var _153 = _1+8;
      __lastLabel__ = 130; ;
      _bb19$9258: while(1) { // _bb19
        var _i_0144 = __lastLabel__ == 130 ? 0 : (_278);
        var _scevgep = _vec+_i_0144*4;
        var _scevgep145 = _tmp+_i_0144*4;
        var _scevgep146 = _aabbMax+_i_0144*4;
        var _scevgep147 = _aabbMin+_i_0144*4;
        FHEAP[_120] = 0;
        FHEAP[_121] = 0;
        FHEAP[_122] = 0;
        FHEAP[_123] = 0;
        FHEAP[_scevgep] = 1;
        var _154 = FHEAP[_124];
        var _155 = FHEAP[_120];
        var _156 = _154 * _155;
        var _157 = FHEAP[_125];
        var _158 = FHEAP[_121];
        var _159 = _157 * _158;
        var _160 = _156 + _159;
        var _161 = FHEAP[_126];
        var _162 = FHEAP[_122];
        var _163 = _161 * _162;
        var _164 = _160 + _163;
        var _165 = FHEAP[_127];
        var _166 = _165 * _155;
        var _167 = FHEAP[_128];
        var _168 = _167 * _158;
        var _169 = _166 + _168;
        var _170 = FHEAP[_129];
        var _171 = _170 * _162;
        var _172 = _169 + _171;
        var _173 = FHEAP[_130];
        var _174 = _173 * _155;
        var _175 = FHEAP[_131];
        var _176 = _175 * _158;
        var _177 = _174 + _176;
        var _178 = FHEAP[_132];
        var _179 = _178 * _162;
        var _180 = _177 + _179;
        FHEAP[_133] = _180;
        FHEAP[_134] = _172;
        FHEAP[_135] = _164;
        FHEAP[_136] = 0;
        __ZNK13btConvexShape44localGetSupportVertexWithoutMarginNonVirtualERK9btVector3(_sv, _this, _2);
        var _181 = FHEAP[_132];
        var _182 = FHEAP[_137];
        var _183 = _181 * _182;
        var _184 = FHEAP[_129];
        var _185 = FHEAP[_138];
        var _186 = _184 * _185;
        var _187 = _183 + _186;
        var _188 = FHEAP[_126];
        var _189 = FHEAP[_139];
        var _190 = _188 * _189;
        var _191 = _187 + _190;
        var _192 = FHEAP[_140];
        var _193 = _191 + _192;
        var _194 = FHEAP[_131];
        var _195 = _194 * _182;
        var _196 = FHEAP[_128];
        var _197 = _196 * _185;
        var _198 = _195 + _197;
        var _199 = FHEAP[_125];
        var _200 = _199 * _189;
        var _201 = _198 + _200;
        var _202 = FHEAP[_141];
        var _203 = _201 + _202;
        var _204 = FHEAP[_130];
        var _205 = _204 * _182;
        var _206 = FHEAP[_127];
        var _207 = _206 * _185;
        var _208 = _205 + _207;
        var _209 = FHEAP[_124];
        var _210 = _209 * _189;
        var _211 = _208 + _210;
        var _212 = FHEAP[_142];
        var _213 = _211 + _212;
        FHEAP[_143] = _213;
        FHEAP[_144] = _203;
        FHEAP[_145] = _193;
        FHEAP[_146] = 0;
        var _214 = FHEAP[_scevgep145];
        var _215 = _214 + _119;
        FHEAP[_scevgep146] = _215;
        FHEAP[_scevgep] = -1;
        var _216 = FHEAP[_124];
        var _217 = FHEAP[_120];
        var _218 = _216 * _217;
        var _219 = FHEAP[_125];
        var _220 = FHEAP[_121];
        var _221 = _219 * _220;
        var _222 = _218 + _221;
        var _223 = FHEAP[_126];
        var _224 = FHEAP[_122];
        var _225 = _223 * _224;
        var _226 = _222 + _225;
        var _227 = FHEAP[_127];
        var _228 = _227 * _217;
        var _229 = FHEAP[_128];
        var _230 = _229 * _220;
        var _231 = _228 + _230;
        var _232 = FHEAP[_129];
        var _233 = _232 * _224;
        var _234 = _231 + _233;
        var _235 = FHEAP[_130];
        var _236 = _235 * _217;
        var _237 = FHEAP[_131];
        var _238 = _237 * _220;
        var _239 = _236 + _238;
        var _240 = FHEAP[_132];
        var _241 = _240 * _224;
        var _242 = _239 + _241;
        FHEAP[_147] = _242;
        FHEAP[_148] = _234;
        FHEAP[_149] = _226;
        FHEAP[_150] = 0;
        __ZNK13btConvexShape44localGetSupportVertexWithoutMarginNonVirtualERK9btVector3(_1, _this, _0);
        var _243 = FHEAP[_132];
        var _244 = FHEAP[_151];
        var _245 = _243 * _244;
        var _246 = FHEAP[_129];
        var _247 = FHEAP[_152];
        var _248 = _246 * _247;
        var _249 = _245 + _248;
        var _250 = FHEAP[_126];
        var _251 = FHEAP[_153];
        var _252 = _250 * _251;
        var _253 = _249 + _252;
        var _254 = FHEAP[_140];
        var _255 = _253 + _254;
        var _256 = FHEAP[_131];
        var _257 = _256 * _244;
        var _258 = FHEAP[_128];
        var _259 = _258 * _247;
        var _260 = _257 + _259;
        var _261 = FHEAP[_125];
        var _262 = _261 * _251;
        var _263 = _260 + _262;
        var _264 = FHEAP[_141];
        var _265 = _263 + _264;
        var _266 = FHEAP[_130];
        var _267 = _266 * _244;
        var _268 = FHEAP[_127];
        var _269 = _268 * _247;
        var _270 = _267 + _269;
        var _271 = FHEAP[_124];
        var _272 = _271 * _251;
        var _273 = _270 + _272;
        var _274 = FHEAP[_142];
        var _275 = _273 + _274;
        FHEAP[_143] = _275;
        FHEAP[_144] = _265;
        FHEAP[_145] = _255;
        FHEAP[_146] = 0;
        var _276 = FHEAP[_scevgep145];
        var _277 = _276 - _119;
        FHEAP[_scevgep147] = _277;
        var _278 = _i_0144 + 1;
        var _exitcond = _278 == 3;
        if (_exitcond) { __lastLabel__ = 64; __label__ = 44; /* _return */ break _bb19$9258; } else { __lastLabel__ = 64; __label__ = 64; /* _bb19 */ continue _bb19$9258; }
      }
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 1767) {
      var _39 = _this+36+8;
      var _40 = _39;
      var _41 = FHEAP[_40];
      __lastLabel__ = 1767; ;
    }
    else if (__label__ == 1765) {
      var _36 = _this+36+8;
      var _37 = _36;
      var _38 = FHEAP[_37];
      __lastLabel__ = 1765; ;
    }
    else if (__label__ == 3708) {
      var _5 = _this+24+4;
      var _6 = _5;
      var _7 = FHEAP[_6];
      var _8 = _this+12;
      var _9 = _8;
      var _10 = FHEAP[_9];
      var _11 = _7 * _10;
      var _12 = _11 + _7;
      var _13 = _t+48+8;
      var _14 = FHEAP[_13];
      var _15 = _14 - _12;
      var _16 = _t+48+4;
      var _17 = FHEAP[_16];
      var _18 = _17 - _12;
      var _19 = _t+48;
      var _20 = FHEAP[_19];
      var _21 = _20 - _12;
      var _22 = _aabbMin;
      FHEAP[_22] = _21;
      var _23 = _aabbMin+4;
      FHEAP[_23] = _18;
      var _24 = _aabbMin+8;
      FHEAP[_24] = _15;
      var _25 = _aabbMin+12;
      FHEAP[_25] = 0;
      var _26 = FHEAP[_13];
      var _27 = _26 + _12;
      var _28 = FHEAP[_16];
      var _29 = _28 + _12;
      var _30 = FHEAP[_19];
      var _31 = _30 + _12;
      var _32 = _aabbMax;
      FHEAP[_32] = _31;
      var _33 = _aabbMax+4;
      FHEAP[_33] = _29;
      var _34 = _aabbMax+8;
      FHEAP[_34] = _27;
      var _35 = _aabbMax+12;
      FHEAP[_35] = 0;
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 3409) {
      var _371 = _this+36+8;
      var _372 = _371;
      var _373 = FHEAP[_372];
      var _374 = _this+72+4;
      var _375 = _374;
      var _376 = FHEAP[_375];
      var _377 = _this+60;
      var _378 = _377;
      var _379 = FHEAP[_378];
      var _380 = _376 - _379;
      var _381 = _this+72;
      var _382 = _381;
      var _383 = FHEAP[_382];
      var _384 = _this+48+8;
      var _385 = _384;
      var _386 = FHEAP[_385];
      var _387 = _383 - _386;
      var _388 = _this+60+8;
      var _389 = _388;
      var _390 = FHEAP[_389];
      var _391 = _this+48+4;
      var _392 = _391;
      var _393 = FHEAP[_392];
      var _394 = _390 - _393;
      var _395 = _380 * 0.5;
      var _396 = _387 * 0.5;
      var _397 = _394 * 0.5;
      var _398 = _397 + _373;
      var _399 = _396 + _373;
      var _400 = _395 + _373;
      var _401 = _376 + _379;
      var _402 = _383 + _386;
      var _403 = _390 + _393;
      var _404 = _401 * 0.5;
      var _405 = _402 * 0.5;
      var _406 = _403 * 0.5;
      var _407 = _t+32+8;
      var _408 = FHEAP[_407];
      var _409 = _fabsf(_408);
      var _410 = _t+32+4;
      var _411 = FHEAP[_410];
      var _412 = _fabsf(_411);
      var _413 = _t+32;
      var _414 = FHEAP[_413];
      var _415 = _fabsf(_414);
      var _416 = _t+16+8;
      var _417 = FHEAP[_416];
      var _418 = _fabsf(_417);
      var _419 = _t+16+4;
      var _420 = FHEAP[_419];
      var _421 = _fabsf(_420);
      var _422 = _t+16;
      var _423 = FHEAP[_422];
      var _424 = _fabsf(_423);
      var _425 = _t+8;
      var _426 = FHEAP[_425];
      var _427 = _fabsf(_426);
      var _428 = _t+4;
      var _429 = FHEAP[_428];
      var _430 = _fabsf(_429);
      var _431 = _t;
      var _432 = FHEAP[_431];
      var _433 = _fabsf(_432);
      var _434 = _414 * _406;
      var _435 = _411 * _405;
      var _436 = _434 + _435;
      var _437 = _408 * _404;
      var _438 = _436 + _437;
      var _439 = _t+48+8;
      var _440 = FHEAP[_439];
      var _441 = _438 + _440;
      var _442 = _423 * _406;
      var _443 = _420 * _405;
      var _444 = _442 + _443;
      var _445 = _417 * _404;
      var _446 = _444 + _445;
      var _447 = _t+48+4;
      var _448 = FHEAP[_447];
      var _449 = _446 + _448;
      var _450 = _432 * _406;
      var _451 = _429 * _405;
      var _452 = _450 + _451;
      var _453 = _426 * _404;
      var _454 = _452 + _453;
      var _455 = _t+48;
      var _456 = FHEAP[_455];
      var _457 = _454 + _456;
      var _458 = _415 * _398;
      var _459 = _412 * _399;
      var _460 = _458 + _459;
      var _461 = _409 * _400;
      var _462 = _460 + _461;
      var _463 = _424 * _398;
      var _464 = _421 * _399;
      var _465 = _463 + _464;
      var _466 = _418 * _400;
      var _467 = _465 + _466;
      var _468 = _433 * _398;
      var _469 = _430 * _399;
      var _470 = _468 + _469;
      var _471 = _427 * _400;
      var _472 = _470 + _471;
      var _473 = _441 - _462;
      var _474 = _449 - _467;
      var _475 = _457 - _472;
      var _476 = _aabbMin;
      FHEAP[_476] = _475;
      var _477 = _aabbMin+4;
      FHEAP[_477] = _474;
      var _478 = _aabbMin+8;
      FHEAP[_478] = _473;
      var _479 = _aabbMin+12;
      FHEAP[_479] = 0;
      var _480 = _441 + _462;
      var _481 = _449 + _467;
      var _482 = _457 + _472;
      var _483 = _aabbMax;
      FHEAP[_483] = _482;
      var _484 = _aabbMax+4;
      FHEAP[_484] = _481;
      var _485 = _aabbMax+8;
      FHEAP[_485] = _480;
      var _486 = _aabbMax+12;
      FHEAP[_486] = 0;
      STACKTOP = __stackBase__;
      return;
    }
    var _42 = __lastLabel__ == 1767 ? _41 : (_38);
    var _43 = _this+24+4;
    var _44 = _43;
    var _45 = FHEAP[_44];
    var _46 = _43+4;
    var _47 = _46;
    var _48 = FHEAP[_47];
    var _49 = _43+8;
    var _50 = _49;
    var _51 = FHEAP[_50];
    var _52 = _45 + _42;
    var _53 = _48 + _42;
    var _54 = _51 + _42;
    var _55 = _t+32+8;
    var _56 = FHEAP[_55];
    var _57 = _fabsf(_56);
    var _58 = _t+32+4;
    var _59 = FHEAP[_58];
    var _60 = _fabsf(_59);
    var _61 = _t+32;
    var _62 = FHEAP[_61];
    var _63 = _fabsf(_62);
    var _64 = _t+16+8;
    var _65 = FHEAP[_64];
    var _66 = _fabsf(_65);
    var _67 = _t+16+4;
    var _68 = FHEAP[_67];
    var _69 = _fabsf(_68);
    var _70 = _t+16;
    var _71 = FHEAP[_70];
    var _72 = _fabsf(_71);
    var _73 = _t+8;
    var _74 = FHEAP[_73];
    var _75 = _fabsf(_74);
    var _76 = _t+4;
    var _77 = FHEAP[_76];
    var _78 = _fabsf(_77);
    var _79 = _t;
    var _80 = FHEAP[_79];
    var _81 = _fabsf(_80);
    var _82 = _t+48;
    var _83 = FHEAP[_82];
    var _84 = _t+48+4;
    var _85 = FHEAP[_84];
    var _86 = _t+48+8;
    var _87 = FHEAP[_86];
    var _88 = _63 * _52;
    var _89 = _60 * _53;
    var _90 = _88 + _89;
    var _91 = _57 * _54;
    var _92 = _90 + _91;
    var _93 = _72 * _52;
    var _94 = _69 * _53;
    var _95 = _93 + _94;
    var _96 = _66 * _54;
    var _97 = _95 + _96;
    var _98 = _81 * _52;
    var _99 = _78 * _53;
    var _100 = _98 + _99;
    var _101 = _75 * _54;
    var _102 = _100 + _101;
    var _103 = _87 - _92;
    var _104 = _85 - _97;
    var _105 = _83 - _102;
    var _106 = _aabbMin;
    FHEAP[_106] = _105;
    var _107 = _aabbMin+4;
    FHEAP[_107] = _104;
    var _108 = _aabbMin+8;
    FHEAP[_108] = _103;
    var _109 = _aabbMin+12;
    FHEAP[_109] = 0;
    var _110 = _87 + _92;
    var _111 = _85 + _97;
    var _112 = _83 + _102;
    var _113 = _aabbMax;
    FHEAP[_113] = _112;
    var _114 = _aabbMax+4;
    FHEAP[_114] = _111;
    var _115 = _aabbMax+8;
    FHEAP[_115] = _110;
    var _116 = _aabbMax+12;
    FHEAP[_116] = 0;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK13btConvexShape17getAabbNonVirtualERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK13btConvexShape17getAabbNonVirtualERK11btTransformR9btVector3S4_, "__ZNK13btConvexShape17getAabbNonVirtualERK11btTransformR9btVector3S4_");
  
  
  function __ZNK13btConvexShape31localGetSupportVertexNonVirtualERK9btVector3(_agg_result, _this, _localDir) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _localDirNorm = __stackBase__+16;
    var _1 = _localDirNorm;
    var _2 = _localDir;
    var _3 = FHEAP[_2];
    FHEAP[_1] = _3;
    var _4 = _localDirNorm+4;
    var _5 = _localDir+4;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _localDirNorm+8;
    var _8 = _localDir+8;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _localDirNorm+12;
    var _11 = _localDir+12;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _3 * _3;
    var _14 = _6 * _6;
    var _15 = _13 + _14;
    var _16 = _9 * _9;
    var _17 = _15 + _16;
    var _18 = _17 < 1.4210854715202004e-14;
    ;
    if (_18) {
      __lastLabel__ = -1; ;
      FHEAP[_1] = -1;
      FHEAP[_4] = -1;
      FHEAP[_7] = -1;
      FHEAP[_10] = 0;
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _19 = __lastLabel__ == 60 ? -1 : (_9);
    var _20 = __lastLabel__ == 60 ? -1 : (_6);
    var _21 = __lastLabel__ == 60 ? -1 : (_3);
    var _22 = _21 * _21;
    var _23 = _20 * _20;
    var _24 = _22 + _23;
    var _25 = _19 * _19;
    var _26 = _24 + _25;
    var _27 = _sqrtf(_26);
    var _28 = 1 / _27;
    var _29 = _21 * _28;
    FHEAP[_1] = _29;
    var _30 = _20 * _28;
    FHEAP[_4] = _30;
    var _31 = _19 * _28;
    FHEAP[_7] = _31;
    var _32 = _this+4;
    var _33 = IHEAP[_32];
    if (_33 == 0) {
      __label__ = 159; /* _bb1_i */ 
    }
    else if (_33 == 1) {
      __label__ = 132; /* _bb2_i */ 
    }
    else if (_33 == 4) {
      __label__ = 300; /* _bb5_i */ 
    }
    else if (_33 == 5) {
      __label__ = 300; /* _bb5_i */ 
    }
    else if (_33 == 8) {
      __label__ = 131; /* _bb_i */ 
    }
    else if (_33 == 10) {
      __label__ = 135; /* _bb4_i */ 
    }
    else if (_33 == 13) {
      __label__ = 133; /* _bb3_i */ 
    }
    else {
    __label__ = 136; /* _bb6_i */ 
    }
    
    if (__label__ == 136) {
      var _56 = _this;
      var _57 = IHEAP[_56];
      var _58 = _57+44;
      var _59 = IHEAP[_58];
      var _60 = _59;
      var _61 = FUNCTION_TABLE[_60](_this);
      var __pre = FHEAP[_7];
      var __pre4 = FHEAP[_4];
      var __pre5 = FHEAP[_1];
      __lastLabel__ = 136; ;
    }
    else if (__label__ == 159) {
      var _41 = _this+36+8;
      var _42 = _41;
      var _43 = FHEAP[_42];
      __lastLabel__ = 159; ;
    }
    else if (__label__ == 132) {
      var _44 = _this+36+8;
      var _45 = _44;
      var _46 = FHEAP[_45];
      __lastLabel__ = 132; ;
    }
    else if (__label__ == 300) {
      var _53 = _this+36+8;
      var _54 = _53;
      var _55 = FHEAP[_54];
      __lastLabel__ = 300; ;
    }
    else if (__label__ == 131) {
      var _34 = _this+24+4;
      var _35 = _34;
      var _36 = FHEAP[_35];
      var _37 = _this+12;
      var _38 = _37;
      var _39 = FHEAP[_38];
      var _40 = _36 * _39;
      __lastLabel__ = 131; ;
    }
    else if (__label__ == 135) {
      var _50 = _this+36+8;
      var _51 = _50;
      var _52 = FHEAP[_51];
      __lastLabel__ = 135; ;
    }
    else if (__label__ == 133) {
      var _47 = _this+36+8;
      var _48 = _47;
      var _49 = FHEAP[_48];
      __lastLabel__ = 133; ;
    }
    var _62 = __lastLabel__ == 133 ? _29 : (__lastLabel__ == 135 ? _29 : (__lastLabel__ == 131 ? _29 : (__lastLabel__ == 300 ? _29 : (__lastLabel__ == 132 ? _29 : (__lastLabel__ == 159 ? _29 : (__pre5))))));
    var _63 = __lastLabel__ == 133 ? _30 : (__lastLabel__ == 135 ? _30 : (__lastLabel__ == 131 ? _30 : (__lastLabel__ == 300 ? _30 : (__lastLabel__ == 132 ? _30 : (__lastLabel__ == 159 ? _30 : (__pre4))))));
    var _64 = __lastLabel__ == 133 ? _31 : (__lastLabel__ == 135 ? _31 : (__lastLabel__ == 131 ? _31 : (__lastLabel__ == 300 ? _31 : (__lastLabel__ == 132 ? _31 : (__lastLabel__ == 159 ? _31 : (__pre))))));
    var _65 = __lastLabel__ == 133 ? _49 : (__lastLabel__ == 135 ? _52 : (__lastLabel__ == 131 ? _40 : (__lastLabel__ == 300 ? _55 : (__lastLabel__ == 132 ? _46 : (__lastLabel__ == 159 ? _43 : (_61))))));
    var _66 = _64 * _65;
    var _67 = _63 * _65;
    var _68 = _62 * _65;
    __ZNK13btConvexShape44localGetSupportVertexWithoutMarginNonVirtualERK9btVector3(_0, _this, _localDirNorm);
    var _69 = _0+8;
    var _70 = FHEAP[_69];
    var _71 = _70 + _66;
    var _72 = _0+4;
    var _73 = FHEAP[_72];
    var _74 = _73 + _67;
    var _75 = _0;
    var _76 = FHEAP[_75];
    var _77 = _76 + _68;
    var _78 = _agg_result;
    FHEAP[_78] = _77;
    var _79 = _agg_result+4;
    FHEAP[_79] = _74;
    var _80 = _agg_result+8;
    FHEAP[_80] = _71;
    var _81 = _agg_result+12;
    FHEAP[_81] = 0;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK13btConvexShape31localGetSupportVertexNonVirtualERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK13btConvexShape31localGetSupportVertexNonVirtualERK9btVector3, "__ZNK13btConvexShape31localGetSupportVertexNonVirtualERK9btVector3");
  
  
  function __ZNK15btConvex2dShape15getLocalScalingEv(_this) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+28;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1);
    ;
    return _7;
  }
  __ZNK15btConvex2dShape15getLocalScalingEv.__index__ = Runtime.getFunctionIndex(__ZNK15btConvex2dShape15getLocalScalingEv, "__ZNK15btConvex2dShape15getLocalScalingEv");
  
  
  function __ZNK15btConvex2dShape9getMarginEv(_this) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+44;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1);
    ;
    return _7;
  }
  __ZNK15btConvex2dShape9getMarginEv.__index__ = Runtime.getFunctionIndex(__ZNK15btConvex2dShape9getMarginEv, "__ZNK15btConvex2dShape9getMarginEv");
  
  
  function __ZNK15btConvex2dShape36getNumPreferredPenetrationDirectionsEv(_this) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+76;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1);
    ;
    return _7;
  }
  __ZNK15btConvex2dShape36getNumPreferredPenetrationDirectionsEv.__index__ = Runtime.getFunctionIndex(__ZNK15btConvex2dShape36getNumPreferredPenetrationDirectionsEv, "__ZNK15btConvex2dShape36getNumPreferredPenetrationDirectionsEv");
  
  
  function __ZN25btConvexTriangleMeshShapeC2EP23btStridingMeshInterfaceb(_this, _meshInterface, _calcAabb) {
    ;
    var __label__;
    var _0 = _this;
    __ZN34btPolyhedralConvexAabbCachingShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV25btConvexTriangleMeshShape+8;
    var _2 = _this+88;
    IHEAP[_2] = _meshInterface;
    var _3 = _this+4;
    IHEAP[_3] = 3;
    var _toBool = _calcAabb == 0;
    ;
    _return$_bb$9299: do { 
      if (!_toBool) {
        ;
        (function() { try { __THREW__ = false; return __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 44; /* _return */ break _return$_bb$9299; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select6 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        IHEAP[_1] = __ZTV21btConvexInternalShape+8;
        var _4 = _this;
        (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 3765; /* _lpad7 */  }
        if (__label__ == 1102) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3765) {
          var _eh_ptr8 = _llvm_eh_exception();
          var _eh_select10 = _llvm_eh_selector(_eh_ptr8, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN25btConvexTriangleMeshShapeC2EP23btStridingMeshInterfaceb.__index__ = Runtime.getFunctionIndex(__ZN25btConvexTriangleMeshShapeC2EP23btStridingMeshInterfaceb, "__ZN25btConvexTriangleMeshShapeC2EP23btStridingMeshInterfaceb");
  
  
  function __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallback28internalProcessTriangleIndexEPS2_ii(_this, _triangle, _partId, _triangleIndex) {
    ;
    var __label__;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    ;
    if (_toBool) {
      ;
      var _14 = _triangle+32+8;
      var _15 = FHEAP[_14];
      var _16 = _this+8+8;
      var _17 = FHEAP[_16];
      var _18 = _15 - _17;
      var _19 = _triangle+32+4;
      var _20 = FHEAP[_19];
      var _21 = _this+8+4;
      var _22 = FHEAP[_21];
      var _23 = _20 - _22;
      var _24 = _triangle+32;
      var _25 = FHEAP[_24];
      var _26 = _this+8;
      var _27 = FHEAP[_26];
      var _28 = _25 - _27;
      var _29 = _triangle+16+8;
      var _30 = FHEAP[_29];
      var _31 = _30 - _17;
      var _32 = _triangle+16+4;
      var _33 = FHEAP[_32];
      var _34 = _33 - _22;
      var _35 = _triangle+16;
      var _36 = FHEAP[_35];
      var _37 = _36 - _27;
      var _38 = _triangle+8;
      var _39 = FHEAP[_38];
      var _40 = _39 - _17;
      var _41 = _triangle+4;
      var _42 = FHEAP[_41];
      var _43 = _42 - _22;
      var _44 = _triangle;
      var _45 = FHEAP[_44];
      var _46 = _45 - _27;
      var _47 = _34 * _18;
      var _48 = _31 * _23;
      var _49 = _47 - _48;
      var _50 = _46 * _49;
      var _51 = _31 * _28;
      var _52 = _37 * _18;
      var _53 = _51 - _52;
      var _54 = _43 * _53;
      var _55 = _50 + _54;
      var _56 = _37 * _23;
      var _57 = _34 * _28;
      var _58 = _56 - _57;
      var _59 = _40 * _58;
      var _60 = _55 + _59;
      var _61 = _fabsf(_60);
      var _62 = _39 + _30;
      var _63 = _42 + _33;
      var _64 = _45 + _36;
      var _65 = _62 + _15;
      var _66 = _63 + _20;
      var _67 = _64 + _25;
      var _68 = _65 + _17;
      var _69 = _66 + _22;
      var _70 = _67 + _27;
      var _71 = _61 * 0.25;
      var _72 = _68 * _71;
      var _73 = _69 * _71;
      var _74 = _70 * _71;
      var _75 = _this+24;
      var _76 = FHEAP[_75];
      var _77 = _76 + _74;
      FHEAP[_75] = _77;
      var _78 = _this+24+4;
      var _79 = FHEAP[_78];
      var _80 = _79 + _73;
      FHEAP[_78] = _80;
      var _81 = _this+24+8;
      var _82 = FHEAP[_81];
      var _83 = _82 + _72;
      FHEAP[_81] = _83;
      var _84 = _this+40;
      var _85 = FHEAP[_84];
      var _86 = _85 + _61;
      FHEAP[_84] = _86;
      ;
      return;
    }
    else {
      ;
      var _2 = _this+8;
      var _3 = _triangle;
      var _4 = FHEAP[_3];
      FHEAP[_2] = _4;
      var _5 = _this+8+4;
      var _6 = _triangle+4;
      var _7 = FHEAP[_6];
      FHEAP[_5] = _7;
      var _8 = _this+8+8;
      var _9 = _triangle+8;
      var _10 = FHEAP[_9];
      FHEAP[_8] = _10;
      var _11 = _this+8+12;
      var _12 = _triangle+12;
      var _13 = FHEAP[_12];
      FHEAP[_11] = _13;
      IHEAP[_0] = 0;
      ;
      return;
    }
  }
  __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallback28internalProcessTriangleIndexEPS2_ii.__index__ = Runtime.getFunctionIndex(__ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallback28internalProcessTriangleIndexEPS2_ii, "__ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallback28internalProcessTriangleIndexEPS2_ii");
  
  
  function __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallback28internalProcessTriangleIndexEPS2_ii(_this, _triangle, _partId, _triangleIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 96;
    var __label__;
    var __lastLabel__ = null;
    var _i = __stackBase__;
    var _a = __stackBase__+48;
    var _b = __stackBase__+64;
    var _c = __stackBase__+80;
    var _0 = _triangle+8;
    var _1 = FHEAP[_0];
    var _2 = _this+52+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _triangle+4;
    var _6 = FHEAP[_5];
    var _7 = _this+52+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _triangle;
    var _11 = FHEAP[_10];
    var _12 = _this+52;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _a;
    FHEAP[_15] = _14;
    var _16 = _a+4;
    FHEAP[_16] = _9;
    var _17 = _a+8;
    FHEAP[_17] = _4;
    var _18 = _a+12;
    FHEAP[_18] = 0;
    var _19 = _triangle+16+8;
    var _20 = FHEAP[_19];
    var _21 = _20 - _3;
    var _22 = _triangle+16+4;
    var _23 = FHEAP[_22];
    var _24 = _23 - _8;
    var _25 = _triangle+16;
    var _26 = FHEAP[_25];
    var _27 = _26 - _13;
    var _28 = _b;
    FHEAP[_28] = _27;
    var _29 = _b+4;
    FHEAP[_29] = _24;
    var _30 = _b+8;
    FHEAP[_30] = _21;
    var _31 = _b+12;
    FHEAP[_31] = 0;
    var _32 = _triangle+32+8;
    var _33 = FHEAP[_32];
    var _34 = _33 - _3;
    var _35 = _triangle+32+4;
    var _36 = FHEAP[_35];
    var _37 = _36 - _8;
    var _38 = _triangle+32;
    var _39 = FHEAP[_38];
    var _40 = _39 - _13;
    var _41 = _c;
    FHEAP[_41] = _40;
    var _42 = _c+4;
    FHEAP[_42] = _37;
    var _43 = _c+8;
    FHEAP[_43] = _34;
    var _44 = _c+12;
    FHEAP[_44] = 0;
    var _45 = _24 * _34;
    var _46 = _21 * _37;
    var _47 = _45 - _46;
    var _48 = _14 * _47;
    var _49 = _21 * _40;
    var _50 = _27 * _34;
    var _51 = _49 - _50;
    var _52 = _9 * _51;
    var _53 = _48 + _52;
    var _54 = _27 * _37;
    var _55 = _24 * _40;
    var _56 = _54 - _55;
    var _57 = _4 * _56;
    var _58 = _53 + _57;
    var _59 = _fabsf(_58);
    var _60 = _59 * -0.1666666716337204;
    var _scevgep12 = _i;
    var _61 = _14 * _14;
    var _62 = _27 * _27;
    var _63 = _61 + _62;
    var _64 = _40 * _40;
    var _65 = _63 + _64;
    var _66 = _65 * 0.10000000149011612;
    var _67 = _14 * _27;
    var _68 = _14 * _27;
    var _69 = _67 + _68;
    var _70 = _14 * _40;
    var _71 = _69 + _70;
    var _72 = _14 * _40;
    var _73 = _71 + _72;
    var _74 = _27 * _40;
    var _75 = _73 + _74;
    var _76 = _27 * _40;
    var _77 = _75 + _76;
    var _78 = _77 * 0.05000000074505806;
    var _79 = _66 + _78;
    var _80 = _79 * _60;
    FHEAP[_scevgep12] = _80;
    __lastLabel__ = 1773; ;
    _bb1_1$9334: while(1) { // _bb1_1
      var _114 = __lastLabel__ == 1773 ? _40 : (__pre41);
      var _115 = __lastLabel__ == 1773 ? _27 : (__pre40);
      var _116 = __lastLabel__ == 1773 ? _14 : (__pre39);
      var _k_06_1 = __lastLabel__ == 1773 ? 0 : (_137);
      var _scevgep12_1 = _i+16+_k_06_1*4;
      var _scevgep11_1 = _i+_k_06_1*16+4;
      var _117 = _9 * _116;
      var _118 = _24 * _115;
      var _119 = _117 + _118;
      var _120 = _37 * _114;
      var _121 = _119 + _120;
      var _122 = _121 * 0.10000000149011612;
      var _123 = _9 * _115;
      var _124 = _116 * _24;
      var _125 = _123 + _124;
      var _126 = _9 * _114;
      var _127 = _125 + _126;
      var _128 = _116 * _37;
      var _129 = _127 + _128;
      var _130 = _24 * _114;
      var _131 = _129 + _130;
      var _132 = _115 * _37;
      var _133 = _131 + _132;
      var _134 = _133 * 0.05000000074505806;
      var _135 = _122 + _134;
      var _136 = _135 * _60;
      FHEAP[_scevgep11_1] = _136;
      FHEAP[_scevgep12_1] = _136;
      var _137 = _k_06_1 + 1;
      var _exitcond_1 = _137 == 2;
      if (_exitcond_1) { __lastLabel__ = 1771; __label__ = 1774; /* _bb1_2 */ break _bb1_1$9334; } else { __lastLabel__ = 1771; ; }
      var _scevgep_1_phi_trans_insert = _a+_137*4;
      var __pre39 = FHEAP[_scevgep_1_phi_trans_insert];
      var _scevgep9_1_phi_trans_insert = _b+_137*4;
      var __pre40 = FHEAP[_scevgep9_1_phi_trans_insert];
      var _scevgep10_1_phi_trans_insert = _c+_137*4;
      var __pre41 = FHEAP[_scevgep10_1_phi_trans_insert];
      __lastLabel__ = 1775; __label__ = 1771; /* _bb1_1 */ continue _bb1_1$9334;
    }
    _bb1_2$9337: while(1) { // _bb1_2
      var _138 = __lastLabel__ == 1776 ? __pre38 : (_40);
      var _139 = __lastLabel__ == 1776 ? __pre37 : (_27);
      var _140 = __lastLabel__ == 1776 ? __pre36 : (_14);
      var _k_06_2 = __lastLabel__ == 1776 ? _161 : (0);
      var _scevgep12_2 = _i+32+_k_06_2*4;
      var _scevgep11_2 = _i+_k_06_2*16+8;
      var _141 = _4 * _140;
      var _142 = _21 * _139;
      var _143 = _141 + _142;
      var _144 = _34 * _138;
      var _145 = _143 + _144;
      var _146 = _145 * 0.10000000149011612;
      var _147 = _4 * _139;
      var _148 = _140 * _21;
      var _149 = _147 + _148;
      var _150 = _4 * _138;
      var _151 = _149 + _150;
      var _152 = _140 * _34;
      var _153 = _151 + _152;
      var _154 = _21 * _138;
      var _155 = _153 + _154;
      var _156 = _139 * _34;
      var _157 = _155 + _156;
      var _158 = _157 * 0.05000000074505806;
      var _159 = _146 + _158;
      var _160 = _159 * _60;
      FHEAP[_scevgep11_2] = _160;
      FHEAP[_scevgep12_2] = _160;
      var _161 = _k_06_2 + 1;
      var _exitcond_2 = _161 == 3;
      if (_exitcond_2) { __label__ = 82; /* _bb5 */ break _bb1_2$9337; }
      var _scevgep_2_phi_trans_insert = _a+_161*4;
      var __pre36 = FHEAP[_scevgep_2_phi_trans_insert];
      var _scevgep9_2_phi_trans_insert = _b+_161*4;
      var __pre37 = FHEAP[_scevgep9_2_phi_trans_insert];
      var _scevgep10_2_phi_trans_insert = _c+_161*4;
      var __pre38 = FHEAP[_scevgep10_2_phi_trans_insert];
      __lastLabel__ = 1776; __label__ = 1774; /* _bb1_2 */ continue _bb1_2$9337;
    }
    var __phi_trans_insert = _i;
    var __pre = FHEAP[__phi_trans_insert];
    var __phi_trans_insert20 = _i+16+4;
    var __pre21 = FHEAP[__phi_trans_insert20];
    var __phi_trans_insert22 = _i+32+8;
    var __pre23 = FHEAP[__phi_trans_insert22];
    var __phi_trans_insert24 = _i+4;
    var __pre25 = FHEAP[__phi_trans_insert24];
    var __phi_trans_insert26 = _i+8;
    var __pre27 = FHEAP[__phi_trans_insert26];
    var __phi_trans_insert28 = _i+16;
    var __pre29 = FHEAP[__phi_trans_insert28];
    var __phi_trans_insert30 = _i+16+8;
    var __pre31 = FHEAP[__phi_trans_insert30];
    var __phi_trans_insert32 = _i+32;
    var __pre33 = FHEAP[__phi_trans_insert32];
    var __phi_trans_insert34 = _i+32+4;
    var __pre35 = FHEAP[__phi_trans_insert34];
    var _81 = 0 - __pre;
    var _82 = 0 - __pre21;
    var _83 = 0 - __pre23;
    var _84 = _83 - __pre21;
    var _85 = _81 - __pre23;
    var _86 = _82 - __pre;
    var _87 = _this+4;
    var _88 = FHEAP[_87];
    var _89 = _88 + _84;
    FHEAP[_87] = _89;
    var _90 = _this+4+4;
    var _91 = FHEAP[_90];
    var _92 = _91 + __pre25;
    FHEAP[_90] = _92;
    var _93 = _this+4+8;
    var _94 = FHEAP[_93];
    var _95 = _94 + __pre27;
    FHEAP[_93] = _95;
    var _96 = _this+4+16;
    var _97 = FHEAP[_96];
    var _98 = _97 + __pre29;
    FHEAP[_96] = _98;
    var _99 = _this+4+16+4;
    var _100 = FHEAP[_99];
    var _101 = _100 + _85;
    FHEAP[_99] = _101;
    var _102 = _this+4+16+8;
    var _103 = FHEAP[_102];
    var _104 = _103 + __pre31;
    FHEAP[_102] = _104;
    var _105 = _this+4+32;
    var _106 = FHEAP[_105];
    var _107 = _106 + __pre33;
    FHEAP[_105] = _107;
    var _108 = _this+4+32+4;
    var _109 = FHEAP[_108];
    var _110 = _109 + __pre35;
    FHEAP[_108] = _110;
    var _111 = _this+4+32+8;
    var _112 = FHEAP[_111];
    var _113 = _112 + _86;
    FHEAP[_111] = _113;
    STACKTOP = __stackBase__;
    return;
  }
  __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallback28internalProcessTriangleIndexEPS2_ii.__index__ = Runtime.getFunctionIndex(__ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallback28internalProcessTriangleIndexEPS2_ii, "__ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallback28internalProcessTriangleIndexEPS2_ii");
  
  
  function __ZNK25btConvexTriangleMeshShape24localGetSupportingVertexERK9btVector3(_agg_result, _this, _vec) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+64;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_agg_result, _this, _vec);
    var _5 = IHEAP[_0];
    var _6 = _5+44;
    var _7 = IHEAP[_6];
    var _8 = _this;
    var _9 = _7;
    var _10 = FUNCTION_TABLE[_9](_8);
    var _11 = _10 != 0;
    ;
    if (_11) {
      ;
      var _12 = _vec;
      var _13 = FHEAP[_12];
      var _14 = _vec+4;
      var _15 = FHEAP[_14];
      var _16 = _vec+8;
      var _17 = FHEAP[_16];
      var _18 = _13 * _13;
      var _19 = _15 * _15;
      var _20 = _18 + _19;
      var _21 = _17 * _17;
      var _22 = _20 + _21;
      var _23 = _22 < 1.4210854715202004e-14;
      var _vecnorm_0_0_0 = _23 ? -1 : _13;
      var _vecnorm_0_1_0 = _23 ? -1 : _15;
      var _vecnorm_0_2_0 = _23 ? -1 : _17;
      var _24 = _vecnorm_0_0_0 * _vecnorm_0_0_0;
      var _25 = _vecnorm_0_1_0 * _vecnorm_0_1_0;
      var _26 = _24 + _25;
      var _27 = _vecnorm_0_2_0 * _vecnorm_0_2_0;
      var _28 = _26 + _27;
      var _29 = _sqrtf(_28);
      var _30 = 1 / _29;
      var _31 = _vecnorm_0_0_0 * _30;
      var _32 = _vecnorm_0_1_0 * _30;
      var _33 = _vecnorm_0_2_0 * _30;
      var _34 = IHEAP[_0];
      var _35 = _34+44;
      var _36 = IHEAP[_35];
      var _37 = _36;
      var _38 = FUNCTION_TABLE[_37](_8);
      var _39 = _33 * _38;
      var _40 = _32 * _38;
      var _41 = _31 * _38;
      var _42 = _agg_result;
      var _43 = FHEAP[_42];
      var _44 = _43 + _41;
      FHEAP[_42] = _44;
      var _45 = _agg_result+4;
      var _46 = FHEAP[_45];
      var _47 = _46 + _40;
      FHEAP[_45] = _47;
      var _48 = _agg_result+8;
      var _49 = FHEAP[_48];
      var _50 = _49 + _39;
      FHEAP[_48] = _50;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZNK25btConvexTriangleMeshShape24localGetSupportingVertexERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK25btConvexTriangleMeshShape24localGetSupportingVertexERK9btVector3, "__ZNK25btConvexTriangleMeshShape24localGetSupportingVertexERK9btVector3");
  
  
  function __ZNK25btConvexTriangleMeshShape37localGetSupportingVertexWithoutMarginERK9btVector3(_agg_result, _this, _vec0) {
    var __stackBase__  = STACKTOP; STACKTOP += 72;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _supportCallback = __stackBase__+16;
    var _aabbMax = __stackBase__+56;
    var _1 = _agg_result;
    FHEAP[_1] = 0;
    var _2 = _agg_result+4;
    FHEAP[_2] = 0;
    var _3 = _agg_result+8;
    FHEAP[_3] = 0;
    var _4 = _agg_result+12;
    FHEAP[_4] = 0;
    var _5 = _vec0;
    var _6 = FHEAP[_5];
    var _7 = _vec0+4;
    var _8 = FHEAP[_7];
    var _9 = _vec0+8;
    var _10 = FHEAP[_9];
    var _11 = _6 * _6;
    var _12 = _8 * _8;
    var _13 = _11 + _12;
    var _14 = _10 * _10;
    var _15 = _13 + _14;
    var _16 = _15 < 0.00009999999747378752;
    ;
    if (_16) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _17 = _vec0+12;
      var _18 = FHEAP[_17];
      var _19 = _sqrtf(_15);
      var _20 = 1 / _19;
      var _21 = _6 * _20;
      var _22 = _8 * _20;
      var _23 = _10 * _20;
      __lastLabel__ = 75; ;
    }
    var _vec_0_3_0 = __lastLabel__ == 75 ? _18 : (0);
    var _vec_0_2_0 = __lastLabel__ == 75 ? _23 : (0);
    var _vec_0_1_0 = __lastLabel__ == 75 ? _22 : (0);
    var _vec_0_0_0 = __lastLabel__ == 75 ? _21 : (1);
    var _24 = _supportCallback;
    IHEAP[_24] = __ZTV26LocalSupportVertexCallback+8;
    var _25 = _supportCallback+4;
    FHEAP[_25] = 0;
    var _26 = _supportCallback+4+4;
    FHEAP[_26] = 0;
    var _27 = _supportCallback+4+8;
    FHEAP[_27] = 0;
    var _28 = _supportCallback+4+12;
    FHEAP[_28] = 0;
    var _29 = _supportCallback+20;
    FHEAP[_29] = -999999984306749400;
    var _30 = _supportCallback+24;
    FHEAP[_30] = _vec_0_0_0;
    var _31 = _supportCallback+24+4;
    FHEAP[_31] = _vec_0_1_0;
    var _32 = _supportCallback+24+8;
    FHEAP[_32] = _vec_0_2_0;
    var _33 = _supportCallback+24+12;
    FHEAP[_33] = _vec_0_3_0;
    var _34 = _aabbMax;
    FHEAP[_34] = 999999984306749400;
    var _35 = _aabbMax+4;
    FHEAP[_35] = 999999984306749400;
    var _36 = _aabbMax+8;
    FHEAP[_36] = 999999984306749400;
    var _37 = _aabbMax+12;
    FHEAP[_37] = 0;
    var _38 = _this+88;
    var _39 = IHEAP[_38];
    var _40 = _39;
    var _41 = IHEAP[_40];
    var _42 = _41+8;
    var _43 = IHEAP[_42];
    var _44 = _0;
    FHEAP[_44] = -999999984306749400;
    var _45 = _0+4;
    FHEAP[_45] = -999999984306749400;
    var _46 = _0+8;
    FHEAP[_46] = -999999984306749400;
    var _47 = _0+12;
    FHEAP[_47] = 0;
    var _48 = _43;
    var _49 = _supportCallback;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_48](_39, _49, _0, _aabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 345) {
      var _50 = FHEAP[_25];
      var _51 = FHEAP[_26];
      var _52 = FHEAP[_27];
      var _53 = FHEAP[_28];
      FHEAP[_1] = _50;
      FHEAP[_2] = _51;
      FHEAP[_3] = _52;
      FHEAP[_4] = _53;
      IHEAP[_24] = __ZTV26LocalSupportVertexCallback+8;
      __ZN31btInternalTriangleIndexCallbackD2Ev(_49);
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select9 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_24] = __ZTV26LocalSupportVertexCallback+8;
      (function() { try { __THREW__ = false; return __ZN31btInternalTriangleIndexCallbackD2Ev(_49) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3894; /* _invcont6 */  } else { __label__ = 3802; /* _lpad10 */  }
      if (__label__ == 3894) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3802) {
        var _eh_ptr11 = _llvm_eh_exception();
        var _eh_select13 = _llvm_eh_selector(_eh_ptr11, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZNK25btConvexTriangleMeshShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK25btConvexTriangleMeshShape37localGetSupportingVertexWithoutMarginERK9btVector3, "__ZNK25btConvexTriangleMeshShape37localGetSupportingVertexWithoutMarginERK9btVector3");
  
  
  function __ZNK25btConvexTriangleMeshShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(_this, _vectors, _supportVerticesOut, _numVectors) {
    var __stackBase__  = STACKTOP; STACKTOP += 72;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _supportCallback = __stackBase__+16;
    var _aabbMax = __stackBase__+56;
    var _1 = _numVectors > 0;
    if (_1) { __lastLabel__ = -1; __label__ = 60; /* _bb */  } else { __lastLabel__ = -1; __label__ = 720; /* _bb9_preheader */  }
    _bb$_bb9_preheader$9359: while(1) { // _bb,_bb9_preheader
      if (__label__ == 60) {
        var _i_021 = __lastLabel__ == 60 ? _2 : (0);
        var _scevgep31 = _supportVerticesOut+16*_i_021+12;
        FHEAP[_scevgep31] = -999999984306749400;
        var _2 = _i_021 + 1;
        var _exitcond = _2 == _numVectors;
        if (_exitcond) { __lastLabel__ = 60; __label__ = 720; /* _bb9_preheader */ continue _bb$_bb9_preheader$9359; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$_bb9_preheader$9359; }
      }
      else if (__label__ == 720) {
        var _3 = _supportCallback;
        var _4 = _supportCallback+4;
        var _5 = _supportCallback+4+4;
        var _6 = _supportCallback+4+8;
        var _7 = _supportCallback+4+12;
        var _8 = _supportCallback+20;
        var _9 = _supportCallback+24;
        var _10 = _supportCallback+24+4;
        var _11 = _supportCallback+24+8;
        var _12 = _supportCallback+24+12;
        var _13 = _aabbMax;
        var _14 = _aabbMax+4;
        var _15 = _aabbMax+8;
        var _16 = _aabbMax+12;
        var _17 = _this+88;
        var _18 = _0;
        var _19 = _0+4;
        var _20 = _0+8;
        var _21 = _0+12;
        var _22 = _supportCallback;
        __lastLabel__ = 720; __label__ = 62; /* _bb9 */ break _bb$_bb9_preheader$9359;
      }
    }
    _bb9$9363: while(1) { // _bb9
      var _38 = __lastLabel__ == 345 ? _37 : (0);
      var _scevgep26 = _supportVerticesOut+16*_38+12;
      var _scevgep27 = _supportVerticesOut+16*_38+8;
      var _scevgep28 = _supportVerticesOut+16*_38+4;
      var _scevgep2930 = _supportVerticesOut+16*_38;
      var _39 = _38 < _numVectors;
      if (!(_39)) { __label__ = 44; /* _return */ break _bb9$9363; }
      var _scevgep2425 = _vectors+16*_38;
      var _scevgep23 = _vectors+16*_38+4;
      var _scevgep22 = _vectors+16*_38+8;
      var _scevgep = _vectors+16*_38+12;
      IHEAP[_3] = __ZTV26LocalSupportVertexCallback+8;
      FHEAP[_4] = 0;
      FHEAP[_5] = 0;
      FHEAP[_6] = 0;
      FHEAP[_7] = 0;
      FHEAP[_8] = -999999984306749400;
      var _23 = FHEAP[_scevgep2425];
      FHEAP[_9] = _23;
      var _24 = FHEAP[_scevgep23];
      FHEAP[_10] = _24;
      var _25 = FHEAP[_scevgep22];
      FHEAP[_11] = _25;
      var _26 = FHEAP[_scevgep];
      FHEAP[_12] = _26;
      FHEAP[_13] = 999999984306749400;
      FHEAP[_14] = 999999984306749400;
      FHEAP[_15] = 999999984306749400;
      FHEAP[_16] = 0;
      var _27 = IHEAP[_17];
      var _28 = _27;
      var _29 = IHEAP[_28];
      var _30 = _29+8;
      var _31 = IHEAP[_30];
      FHEAP[_18] = -999999984306749400;
      FHEAP[_19] = -999999984306749400;
      FHEAP[_20] = -999999984306749400;
      FHEAP[_21] = 0;
      var _32 = _31;
      (function() { try { __THREW__ = false; return FUNCTION_TABLE[_32](_27, _22, _0, _aabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb9$9363; }
      var _33 = FHEAP[_4];
      var _34 = FHEAP[_5];
      var _35 = FHEAP[_6];
      var _36 = FHEAP[_7];
      FHEAP[_scevgep2930] = _33;
      FHEAP[_scevgep28] = _34;
      FHEAP[_scevgep27] = _35;
      FHEAP[_scevgep26] = _36;
      IHEAP[_3] = __ZTV26LocalSupportVertexCallback+8;
      __ZN31btInternalTriangleIndexCallbackD2Ev(_22);
      var _37 = _38 + 1;
      __lastLabel__ = 345; __label__ = 62; /* _bb9 */ continue _bb9$9363;
    }
    if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select12 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_3] = __ZTV26LocalSupportVertexCallback+8;
      (function() { try { __THREW__ = false; return __ZN31btInternalTriangleIndexCallbackD2Ev(_22) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1555; /* _invcont7 */  } else { __label__ = 1406; /* _lpad13 */  }
      if (__label__ == 1555) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 1406) {
        var _eh_ptr14 = _llvm_eh_exception();
        var _eh_select16 = _llvm_eh_selector(_eh_ptr14, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
    else if (__label__ == 44) {
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZNK25btConvexTriangleMeshShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__ = Runtime.getFunctionIndex(__ZNK25btConvexTriangleMeshShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, "__ZNK25btConvexTriangleMeshShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i");
  
  
  function __ZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3Rf(_this, _principal, _inertia, _volume) {
    var __stackBase__  = STACKTOP; STACKTOP += 160;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _centerCallback = __stackBase__+32;
    var _aabbMax = __stackBase__+76;
    var _inertiaCallback = __stackBase__+92;
    var _2 = _centerCallback;
    IHEAP[_2] = __ZTVZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE14CenterCallback+8;
    var _3 = _centerCallback+4;
    IHEAP[_3] = 1;
    var _4 = _centerCallback+8;
    var _5 = _4;
    _llvm_memset_p0i8_i64(_5, 0, 36, 8, false);
    var _6 = _aabbMax;
    FHEAP[_6] = 999999984306749400;
    var _7 = _aabbMax+4;
    FHEAP[_7] = 999999984306749400;
    var _8 = _aabbMax+8;
    FHEAP[_8] = 999999984306749400;
    var _9 = _aabbMax+12;
    FHEAP[_9] = 0;
    var _10 = _this+88;
    var _11 = IHEAP[_10];
    var _12 = _11;
    var _13 = IHEAP[_12];
    var _14 = _13+8;
    var _15 = IHEAP[_14];
    var _16 = _1;
    FHEAP[_16] = -999999984306749400;
    var _17 = _1+4;
    FHEAP[_17] = -999999984306749400;
    var _18 = _1+8;
    FHEAP[_18] = -999999984306749400;
    var _19 = _1+12;
    FHEAP[_19] = 0;
    var _20 = _15;
    var _21 = _centerCallback;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_20](_11, _21, _1, _aabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    _invcont$_lpad$9377: do { 
      if (__label__ == 345) {
        var _22 = _centerCallback+40;
        var _23 = FHEAP[_22];
        var _24 = _23 > 0;
        ;
        if (_24) {
          ;
          var _25 = 1 / _23;
          var _26 = _centerCallback+24+8;
          var _27 = FHEAP[_26];
          var _28 = _27 * _25;
          var _29 = _centerCallback+24+4;
          var _30 = FHEAP[_29];
          var _31 = _30 * _25;
          var _32 = _centerCallback+24;
          var _33 = FHEAP[_32];
          var _34 = _33 * _25;
          __lastLabel__ = 131; ;
        }
        else {
          ;
          var _35 = FHEAP[_4];
          var _36 = _centerCallback+8+4;
          var _37 = FHEAP[_36];
          var _38 = _centerCallback+8+8;
          var _39 = FHEAP[_38];
          var _40 = _centerCallback+8+12;
          var _41 = FHEAP[_40];
          __lastLabel__ = 159; ;
        }
        var _center_0_3_0 = __lastLabel__ == 131 ? 0 : (_41);
        var _center_0_2_0 = __lastLabel__ == 131 ? _28 : (_39);
        var _center_0_1_0 = __lastLabel__ == 131 ? _31 : (_37);
        var _center_0_0_0 = __lastLabel__ == 131 ? _34 : (_35);
        var _42 = _principal+48;
        FHEAP[_42] = _center_0_0_0;
        var _43 = _principal+48+4;
        FHEAP[_43] = _center_0_1_0;
        var _44 = _principal+48+8;
        FHEAP[_44] = _center_0_2_0;
        var _45 = _principal+48+12;
        FHEAP[_45] = _center_0_3_0;
        var _46 = _23 * 0.1666666716337204;
        FHEAP[_volume] = _46;
        var _47 = _inertiaCallback;
        IHEAP[_47] = __ZTVZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE15InertiaCallback+8;
        var _48 = _inertiaCallback+4;
        var _49 = _inertiaCallback+52;
        var _50 = _48;
        _llvm_memset_p0i8_i64(_50, 0, 48, 4, false);
        FHEAP[_49] = _center_0_0_0;
        var _51 = _inertiaCallback+52+4;
        FHEAP[_51] = _center_0_1_0;
        var _52 = _inertiaCallback+52+8;
        FHEAP[_52] = _center_0_2_0;
        var _53 = _inertiaCallback+52+12;
        FHEAP[_53] = _center_0_3_0;
        var _54 = IHEAP[_10];
        var _55 = _54;
        var _56 = IHEAP[_55];
        var _57 = _56+8;
        var _58 = IHEAP[_57];
        var _59 = FHEAP[_8];
        var _60 = 0 - _59;
        var _61 = FHEAP[_7];
        var _62 = 0 - _61;
        var _63 = FHEAP[_6];
        var _64 = 0 - _63;
        var _65 = _0;
        FHEAP[_65] = _64;
        var _66 = _0+4;
        FHEAP[_66] = _62;
        var _67 = _0+8;
        FHEAP[_67] = _60;
        var _68 = _0+12;
        FHEAP[_68] = 0;
        var _69 = _58;
        var _70 = _inertiaCallback;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_69](_54, _70, _0, _aabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 3803; /* _lpad14 */  }
        if (__label__ == 1102) {
          var _71 = _inertiaCallback+4;
          var _72 = _principal;
          __ZN11btMatrix3x311diagonalizeERS_fi(_71, _72, 0.000009999999747378752, 20);
          var _73 = _inertiaCallback+4+32+8;
          var _74 = _inertiaCallback+4+16+4;
          var _75 = FHEAP[_48];
          var _76 = _inertia;
          FHEAP[_76] = _75;
          var _77 = FHEAP[_74];
          var _78 = _inertia+4;
          FHEAP[_78] = _77;
          var _79 = FHEAP[_73];
          var _80 = _inertia+8;
          FHEAP[_80] = _79;
          var _81 = _inertia+12;
          FHEAP[_81] = 0;
          var _82 = FHEAP[_volume];
          var _83 = 1 / _82;
          var _84 = _75 * _83;
          FHEAP[_76] = _84;
          var _85 = _77 * _83;
          FHEAP[_78] = _85;
          var _86 = _79 * _83;
          FHEAP[_80] = _86;
          IHEAP[_47] = __ZTVZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE15InertiaCallback+8;
          (function() { try { __THREW__ = false; return __ZN31btInternalTriangleIndexCallbackD2Ev(_70) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$9377; }
          IHEAP[_2] = __ZTVZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE14CenterCallback+8;
          __ZN31btInternalTriangleIndexCallbackD2Ev(_21);
          STACKTOP = __stackBase__;
          return;
        }
        else if (__label__ == 3803) {
          var _eh_ptr15 = _llvm_eh_exception();
          var _eh_select17 = _llvm_eh_selector(_eh_ptr15, ___gxx_personality_v0, 0);
          IHEAP[_47] = __ZTVZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE15InertiaCallback+8;
          (function() { try { __THREW__ = false; return __ZN31btInternalTriangleIndexCallbackD2Ev(_70) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3803; __label__ = 45; /* _ppad */ break _invcont$_lpad$9377; } else { __lastLabel__ = 3803; ; }
          var _eh_ptr19 = _llvm_eh_exception();
          var _eh_select21 = _llvm_eh_selector(_eh_ptr19, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select13 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __lastLabel__ = 254; ;
    }
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr15);
    IHEAP[_2] = __ZTVZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE14CenterCallback+8;
    (function() { try { __THREW__ = false; return __ZN31btInternalTriangleIndexCallbackD2Ev(_21) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 583; /* _invcont9 */  } else { __label__ = 1346; /* _lpad22 */  }
    if (__label__ == 583) {
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
    else if (__label__ == 1346) {
      var _eh_ptr23 = _llvm_eh_exception();
      var _eh_select25 = _llvm_eh_selector(_eh_ptr23, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3Rf.__index__ = Runtime.getFunctionIndex(__ZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3Rf, "__ZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3Rf");
  
  
  function __ZN25btConvexTriangleMeshShapeC1EP23btStridingMeshInterfaceb(_this, _meshInterface, _calcAabb) {
    ;
    var __label__;
    var _0 = _this;
    __ZN34btPolyhedralConvexAabbCachingShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV25btConvexTriangleMeshShape+8;
    var _2 = _this+88;
    IHEAP[_2] = _meshInterface;
    var _3 = _this+4;
    IHEAP[_3] = 3;
    var _toBool = _calcAabb == 0;
    ;
    _return$_bb$9396: do { 
      if (!_toBool) {
        ;
        (function() { try { __THREW__ = false; return __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 44; /* _return */ break _return$_bb$9396; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select6 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        IHEAP[_1] = __ZTV21btConvexInternalShape+8;
        var _4 = _this;
        (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 3765; /* _lpad7 */  }
        if (__label__ == 1102) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 3765) {
          var _eh_ptr8 = _llvm_eh_exception();
          var _eh_select10 = _llvm_eh_selector(_eh_ptr8, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN25btConvexTriangleMeshShapeC1EP23btStridingMeshInterfaceb.__index__ = Runtime.getFunctionIndex(__ZN25btConvexTriangleMeshShapeC1EP23btStridingMeshInterfaceb, "__ZN25btConvexTriangleMeshShapeC1EP23btStridingMeshInterfaceb");
  
  
  function __ZN15btCylinderShape9setMarginEf(_this, _collisionMargin) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+44;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    var _6 = FUNCTION_TABLE[_5](_4);
    var _7 = IHEAP[_0];
    var _8 = _7+44;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = FUNCTION_TABLE[_10](_4);
    var _12 = IHEAP[_0];
    var _13 = _12+44;
    var _14 = IHEAP[_13];
    var _15 = _14;
    var _16 = FUNCTION_TABLE[_15](_4);
    var _17 = _this+28+8;
    var _18 = FHEAP[_17];
    var _19 = _18 + _6;
    var _20 = _this+28+4;
    var _21 = FHEAP[_20];
    var _22 = _21 + _11;
    var _23 = _this+28;
    var _24 = FHEAP[_23];
    var _25 = _24 + _16;
    var _26 = _this+44;
    FHEAP[_26] = _collisionMargin;
    var _27 = IHEAP[_0];
    var _28 = _27+44;
    var _29 = IHEAP[_28];
    var _30 = _29;
    var _31 = FUNCTION_TABLE[_30](_4);
    var _32 = IHEAP[_0];
    var _33 = _32+44;
    var _34 = IHEAP[_33];
    var _35 = _34;
    var _36 = FUNCTION_TABLE[_35](_4);
    var _37 = IHEAP[_0];
    var _38 = _37+44;
    var _39 = IHEAP[_38];
    var _40 = _39;
    var _41 = FUNCTION_TABLE[_40](_4);
    var _42 = _19 - _31;
    var _43 = _22 - _36;
    var _44 = _25 - _41;
    FHEAP[_23] = _44;
    FHEAP[_20] = _43;
    FHEAP[_17] = _42;
    var _45 = _this+28+12;
    FHEAP[_45] = 0;
    ;
    return;
  }
  __ZN15btCylinderShape9setMarginEf.__index__ = Runtime.getFunctionIndex(__ZN15btCylinderShape9setMarginEf, "__ZN15btCylinderShape9setMarginEf");
  
  
  function __ZNK15btCylinderShape9getRadiusEv(_this) {
    ;
    var __label__;
    var _0 = _this+28;
    var _1 = FHEAP[_0];
    var _2 = _this;
    var _3 = IHEAP[_2];
    var _4 = _3+44;
    var _5 = IHEAP[_4];
    var _6 = _this;
    var _7 = _5;
    var _8 = FUNCTION_TABLE[_7](_6);
    var _9 = IHEAP[_2];
    var _10 = _9+44;
    var _11 = IHEAP[_10];
    var _12 = _11;
    var _13 = FUNCTION_TABLE[_12](_6);
    var _14 = IHEAP[_2];
    var _15 = _14+44;
    var _16 = IHEAP[_15];
    var _17 = _16;
    var _18 = FUNCTION_TABLE[_17](_6);
    var _19 = _1 + _18;
    ;
    return _19;
  }
  __ZNK15btCylinderShape9getRadiusEv.__index__ = Runtime.getFunctionIndex(__ZNK15btCylinderShape9getRadiusEv, "__ZNK15btCylinderShape9getRadiusEv");
  
  
  function __ZNK16btCylinderShapeX9getRadiusEv(_this) {
    ;
    var __label__;
    var _0 = _this+28+4;
    var _1 = FHEAP[_0];
    var _2 = _this;
    var _3 = IHEAP[_2];
    var _4 = _3+44;
    var _5 = IHEAP[_4];
    var _6 = _this;
    var _7 = _5;
    var _8 = FUNCTION_TABLE[_7](_6);
    var _9 = IHEAP[_2];
    var _10 = _9+44;
    var _11 = IHEAP[_10];
    var _12 = _11;
    var _13 = FUNCTION_TABLE[_12](_6);
    var _14 = IHEAP[_2];
    var _15 = _14+44;
    var _16 = IHEAP[_15];
    var _17 = _16;
    var _18 = FUNCTION_TABLE[_17](_6);
    var _19 = _1 + _13;
    ;
    return _19;
  }
  __ZNK16btCylinderShapeX9getRadiusEv.__index__ = Runtime.getFunctionIndex(__ZNK16btCylinderShapeX9getRadiusEv, "__ZNK16btCylinderShapeX9getRadiusEv");
  
  
  function __ZNK16btCylinderShapeZ9getRadiusEv(_this) {
    ;
    var __label__;
    var _0 = _this+28;
    var _1 = FHEAP[_0];
    var _2 = _this;
    var _3 = IHEAP[_2];
    var _4 = _3+44;
    var _5 = IHEAP[_4];
    var _6 = _this;
    var _7 = _5;
    var _8 = FUNCTION_TABLE[_7](_6);
    var _9 = IHEAP[_2];
    var _10 = _9+44;
    var _11 = IHEAP[_10];
    var _12 = _11;
    var _13 = FUNCTION_TABLE[_12](_6);
    var _14 = IHEAP[_2];
    var _15 = _14+44;
    var _16 = IHEAP[_15];
    var _17 = _16;
    var _18 = FUNCTION_TABLE[_17](_6);
    var _19 = _1 + _18;
    ;
    return _19;
  }
  __ZNK16btCylinderShapeZ9getRadiusEv.__index__ = Runtime.getFunctionIndex(__ZNK16btCylinderShapeZ9getRadiusEv, "__ZNK16btCylinderShapeZ9getRadiusEv");
  
  
  function __ZNK15btCylinderShape7getAabbERK11btTransformR9btVector3S4_(_this, _t, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+44;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    var _6 = FUNCTION_TABLE[_5](_4);
    var _7 = _this+28+8;
    var _8 = FHEAP[_7];
    var _9 = _8 + _6;
    var _10 = _this+28+4;
    var _11 = FHEAP[_10];
    var _12 = _11 + _6;
    var _13 = _this+28;
    var _14 = FHEAP[_13];
    var _15 = _14 + _6;
    var _16 = _t+32+8;
    var _17 = FHEAP[_16];
    var _18 = _fabsf(_17);
    var _19 = _t+32+4;
    var _20 = FHEAP[_19];
    var _21 = _fabsf(_20);
    var _22 = _t+32;
    var _23 = FHEAP[_22];
    var _24 = _fabsf(_23);
    var _25 = _t+16+8;
    var _26 = FHEAP[_25];
    var _27 = _fabsf(_26);
    var _28 = _t+16+4;
    var _29 = FHEAP[_28];
    var _30 = _fabsf(_29);
    var _31 = _t+16;
    var _32 = FHEAP[_31];
    var _33 = _fabsf(_32);
    var _34 = _t+8;
    var _35 = FHEAP[_34];
    var _36 = _fabsf(_35);
    var _37 = _t+4;
    var _38 = FHEAP[_37];
    var _39 = _fabsf(_38);
    var _40 = _t;
    var _41 = FHEAP[_40];
    var _42 = _fabsf(_41);
    var _43 = _t+48;
    var _44 = FHEAP[_43];
    var _45 = _t+48+4;
    var _46 = FHEAP[_45];
    var _47 = _t+48+8;
    var _48 = FHEAP[_47];
    var _49 = _24 * _15;
    var _50 = _21 * _12;
    var _51 = _49 + _50;
    var _52 = _18 * _9;
    var _53 = _51 + _52;
    var _54 = _33 * _15;
    var _55 = _30 * _12;
    var _56 = _54 + _55;
    var _57 = _27 * _9;
    var _58 = _56 + _57;
    var _59 = _42 * _15;
    var _60 = _39 * _12;
    var _61 = _59 + _60;
    var _62 = _36 * _9;
    var _63 = _61 + _62;
    var _64 = _48 - _53;
    var _65 = _46 - _58;
    var _66 = _44 - _63;
    var _67 = _aabbMin;
    FHEAP[_67] = _66;
    var _68 = _aabbMin+4;
    FHEAP[_68] = _65;
    var _69 = _aabbMin+8;
    FHEAP[_69] = _64;
    var _70 = _aabbMin+12;
    FHEAP[_70] = 0;
    var _71 = _48 + _53;
    var _72 = _46 + _58;
    var _73 = _44 + _63;
    var _74 = _aabbMax;
    FHEAP[_74] = _73;
    var _75 = _aabbMax+4;
    FHEAP[_75] = _72;
    var _76 = _aabbMax+8;
    FHEAP[_76] = _71;
    var _77 = _aabbMax+12;
    FHEAP[_77] = 0;
    ;
    return;
  }
  __ZNK15btCylinderShape7getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK15btCylinderShape7getAabbERK11btTransformR9btVector3S4_, "__ZNK15btCylinderShape7getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZNK15btCylinderShape21calculateLocalInertiaEfR9btVector3(_this, _mass, _inertia) {
    ;
    var __label__;
    var _0 = _this+28;
    var _1 = FHEAP[_0];
    var _2 = _this+28+4;
    var _3 = FHEAP[_2];
    var _4 = _this+28+8;
    var _5 = FHEAP[_4];
    var _6 = _this;
    var _7 = IHEAP[_6];
    var _8 = _7+44;
    var _9 = IHEAP[_8];
    var _10 = _this;
    var _11 = _9;
    var _12 = FUNCTION_TABLE[_11](_10);
    var _13 = IHEAP[_6];
    var _14 = _13+44;
    var _15 = IHEAP[_14];
    var _16 = _15;
    var _17 = FUNCTION_TABLE[_16](_10);
    var _18 = IHEAP[_6];
    var _19 = _18+44;
    var _20 = IHEAP[_19];
    var _21 = _20;
    var _22 = FUNCTION_TABLE[_21](_10);
    var _23 = _1 + _22;
    var _24 = _3 + _17;
    var _25 = _5 + _12;
    var _26 = _23 * 2;
    var _27 = _24 * 2;
    var _28 = _25 * 2;
    var _29 = _mass / 12;
    var _30 = _26 * _26;
    var _31 = _27 * _27;
    var _32 = _30 + _31;
    var _33 = _29 * _32;
    var _34 = _28 * _28;
    var _35 = _30 + _34;
    var _36 = _29 * _35;
    var _37 = _31 + _34;
    var _38 = _29 * _37;
    var _39 = _inertia;
    FHEAP[_39] = _38;
    var _40 = _inertia+4;
    FHEAP[_40] = _36;
    var _41 = _inertia+8;
    FHEAP[_41] = _33;
    var _42 = _inertia+12;
    FHEAP[_42] = 0;
    ;
    return;
  }
  __ZNK15btCylinderShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK15btCylinderShape21calculateLocalInertiaEfR9btVector3, "__ZNK15btCylinderShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZN15btCylinderShape15setLocalScalingERK9btVector3(_this, _scaling) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+44;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    var _6 = FUNCTION_TABLE[_5](_4);
    var _7 = IHEAP[_0];
    var _8 = _7+44;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = FUNCTION_TABLE[_10](_4);
    var _12 = IHEAP[_0];
    var _13 = _12+44;
    var _14 = IHEAP[_13];
    var _15 = _14;
    var _16 = FUNCTION_TABLE[_15](_4);
    var _17 = _this+28+8;
    var _18 = FHEAP[_17];
    var _19 = _18 + _6;
    var _20 = _this+28+4;
    var _21 = FHEAP[_20];
    var _22 = _21 + _11;
    var _23 = _this+28;
    var _24 = FHEAP[_23];
    var _25 = _24 + _16;
    var _26 = _this+12+8;
    var _27 = FHEAP[_26];
    var _28 = _19 / _27;
    var _29 = _this+12+4;
    var _30 = FHEAP[_29];
    var _31 = _22 / _30;
    var _32 = _this+12;
    var _33 = FHEAP[_32];
    var _34 = _25 / _33;
    __ZN21btConvexInternalShape15setLocalScalingERK9btVector3(_4, _scaling);
    var _35 = FHEAP[_26];
    var _36 = _28 * _35;
    var _37 = FHEAP[_29];
    var _38 = _31 * _37;
    var _39 = FHEAP[_32];
    var _40 = _34 * _39;
    var _41 = _36 - _6;
    var _42 = _38 - _11;
    var _43 = _40 - _16;
    FHEAP[_23] = _43;
    FHEAP[_20] = _42;
    FHEAP[_17] = _41;
    var _44 = _this+28+12;
    FHEAP[_44] = 0;
    ;
    return;
  }
  __ZN15btCylinderShape15setLocalScalingERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN15btCylinderShape15setLocalScalingERK9btVector3, "__ZN15btCylinderShape15setLocalScalingERK9btVector3");
  
  
  function __ZNK15btCylinderShape9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = __ZNK16btCollisionShape9serializeEPvP12btSerializer(_0, _dataBuffer, _serializer);
    var _2 = _dataBuffer+28;
    var _scevgep_i_i = _this+28;
    var _scevgep4_i_i = _2;
    var _3 = FHEAP[_scevgep_i_i];
    FHEAP[_scevgep4_i_i] = _3;
    var _scevgep_1_i_i = _this+28+4;
    var _scevgep4_1_i_i = _dataBuffer+32;
    var _4 = _scevgep4_1_i_i;
    var _5 = FHEAP[_scevgep_1_i_i];
    FHEAP[_4] = _5;
    var _scevgep_2_i_i = _this+28+8;
    var _scevgep4_2_i_i = _dataBuffer+36;
    var _6 = _scevgep4_2_i_i;
    var _7 = FHEAP[_scevgep_2_i_i];
    FHEAP[_6] = _7;
    var _scevgep_3_i_i = _this+28+12;
    var _scevgep4_3_i_i = _dataBuffer+40;
    var _8 = _scevgep4_3_i_i;
    var _9 = FHEAP[_scevgep_3_i_i];
    FHEAP[_8] = _9;
    var _10 = _dataBuffer+12;
    var _scevgep_i2_i = _this+12;
    var _scevgep4_i3_i = _10;
    var _11 = FHEAP[_scevgep_i2_i];
    FHEAP[_scevgep4_i3_i] = _11;
    var _scevgep_1_i4_i = _this+12+4;
    var _scevgep4_1_i5_i = _dataBuffer+16;
    var _12 = _scevgep4_1_i5_i;
    var _13 = FHEAP[_scevgep_1_i4_i];
    FHEAP[_12] = _13;
    var _scevgep_2_i6_i = _this+12+8;
    var _scevgep4_2_i7_i = _dataBuffer+20;
    var _14 = _scevgep4_2_i7_i;
    var _15 = FHEAP[_scevgep_2_i6_i];
    FHEAP[_14] = _15;
    var _scevgep_3_i8_i = _this+12+12;
    var _scevgep4_3_i9_i = _dataBuffer+24;
    var _16 = _scevgep4_3_i9_i;
    var _17 = FHEAP[_scevgep_3_i8_i];
    FHEAP[_16] = _17;
    var _18 = _this+44;
    var _19 = FHEAP[_18];
    var _20 = _dataBuffer+44;
    var _21 = _20;
    FHEAP[_21] = _19;
    var _22 = _this+52;
    var _23 = IHEAP[_22];
    var _24 = _dataBuffer+52;
    var _25 = _24;
    IHEAP[_25] = _23;
    ;
    return __str488;
  }
  __ZNK15btCylinderShape9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK15btCylinderShape9serializeEPvP12btSerializer, "__ZNK15btCylinderShape9serializeEPvP12btSerializer");
  
  
  function __ZNK15btCylinderShape24localGetSupportingVertexERK9btVector3(_agg_result, _this, _vec) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var _memtmp = __stackBase__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+64;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_memtmp, _this, _vec);
    var _5 = _agg_result;
    var _6 = _memtmp;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _agg_result+4;
    var _9 = _memtmp+4;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _agg_result+8;
    var _12 = _memtmp+8;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _agg_result+12;
    var _15 = _memtmp+12;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = IHEAP[_0];
    var _18 = _17+44;
    var _19 = IHEAP[_18];
    var _20 = _this;
    var _21 = _19;
    var _22 = FUNCTION_TABLE[_21](_20);
    var _23 = _22 != 0;
    ;
    if (_23) {
      ;
      var _24 = _vec;
      var _25 = FHEAP[_24];
      var _26 = _vec+4;
      var _27 = FHEAP[_26];
      var _28 = _vec+8;
      var _29 = FHEAP[_28];
      var _30 = _25 * _25;
      var _31 = _27 * _27;
      var _32 = _30 + _31;
      var _33 = _29 * _29;
      var _34 = _32 + _33;
      var _35 = _34 < 1.4210854715202004e-14;
      var _vecnorm_0_0_0 = _35 ? -1 : _25;
      var _vecnorm_0_1_0 = _35 ? -1 : _27;
      var _vecnorm_0_2_0 = _35 ? -1 : _29;
      var _36 = _vecnorm_0_0_0 * _vecnorm_0_0_0;
      var _37 = _vecnorm_0_1_0 * _vecnorm_0_1_0;
      var _38 = _36 + _37;
      var _39 = _vecnorm_0_2_0 * _vecnorm_0_2_0;
      var _40 = _38 + _39;
      var _41 = _sqrtf(_40);
      var _42 = 1 / _41;
      var _43 = _vecnorm_0_0_0 * _42;
      var _44 = _vecnorm_0_1_0 * _42;
      var _45 = _vecnorm_0_2_0 * _42;
      var _46 = IHEAP[_0];
      var _47 = _46+44;
      var _48 = IHEAP[_47];
      var _49 = _48;
      var _50 = FUNCTION_TABLE[_49](_20);
      var _51 = _45 * _50;
      var _52 = _44 * _50;
      var _53 = _43 * _50;
      var _54 = _7 + _53;
      FHEAP[_5] = _54;
      var _55 = _10 + _52;
      FHEAP[_8] = _55;
      var _56 = _13 + _51;
      FHEAP[_11] = _56;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZNK15btCylinderShape24localGetSupportingVertexERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK15btCylinderShape24localGetSupportingVertexERK9btVector3, "__ZNK15btCylinderShape24localGetSupportingVertexERK9btVector3");
  
  
  function __ZNK15btCylinderShape37localGetSupportingVertexWithoutMarginERK9btVector3(_agg_result, _this, _vec) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+28;
    var _1 = FHEAP[_0];
    var _2 = _this+28+4;
    var _3 = FHEAP[_2];
    var _4 = _vec;
    var _5 = FHEAP[_4];
    var _6 = _5 * _5;
    var _7 = _vec+8;
    var _8 = FHEAP[_7];
    var _9 = _8 * _8;
    var _10 = _6 + _9;
    var _11 = _sqrtf(_10);
    var _12 = _11 != 0;
    ;
    if (_12) {
      ;
      var _13 = _1 / _11;
      var _14 = _agg_result;
      var _15 = _5 * _13;
      FHEAP[_14] = _15;
      var _16 = _vec+4;
      var _17 = FHEAP[_16];
      var _18 = _17 < 0;
      ;
      if (_18) {
        __lastLabel__ = 131; ;
        var _19 = 0 - _3;
        __lastLabel__ = 159; ;
      }
      else {
        __lastLabel__ = 131; ;
      }
      var _iftmp_143_0_i = __lastLabel__ == 159 ? _19 : (_3);
      var _20 = _agg_result+4;
      FHEAP[_20] = _iftmp_143_0_i;
      var _21 = _8 * _13;
      var _22 = _agg_result+8;
      FHEAP[_22] = _21;
      ;
      return;
    }
    else {
      ;
      var _23 = _agg_result;
      FHEAP[_23] = _1;
      var _24 = _vec+4;
      var _25 = FHEAP[_24];
      var _26 = _25 < 0;
      ;
      if (_26) {
        __lastLabel__ = 135; ;
        var _27 = 0 - _3;
        __lastLabel__ = 300; ;
      }
      else {
        __lastLabel__ = 135; ;
      }
      var _iftmp_144_0_i = __lastLabel__ == 300 ? _27 : (_3);
      var _28 = _agg_result+4;
      FHEAP[_28] = _iftmp_144_0_i;
      var _29 = _agg_result+8;
      FHEAP[_29] = 0;
      ;
      return;
    }
  }
  __ZNK15btCylinderShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK15btCylinderShape37localGetSupportingVertexWithoutMarginERK9btVector3, "__ZNK15btCylinderShape37localGetSupportingVertexWithoutMarginERK9btVector3");
  
  
  function __ZNK15btCylinderShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(_this, _vectors, _supportVerticesOut, _numVectors) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _numVectors > 0;
    ;
    _bb_nph$_return$9433: do { 
      if (_0) {
        ;
        var _1 = _this+28;
        var _2 = _this+28+4;
        __lastLabel__ = 130; ;
        _bb$9435: while(1) { // _bb
          var _i_06 = __lastLabel__ == 130 ? 0 : (_21);
          var _scevgep7 = _supportVerticesOut+16*_i_06;
          var _scevgep8 = _supportVerticesOut+16*_i_06+4;
          var _scevgep9 = _supportVerticesOut+16*_i_06+8;
          var _scevgep1011 = _vectors+16*_i_06;
          var _scevgep12 = _vectors+16*_i_06+8;
          var _scevgep13 = _vectors+16*_i_06+4;
          var _3 = FHEAP[_1];
          var _4 = FHEAP[_2];
          var _5 = FHEAP[_scevgep1011];
          var _6 = _5 * _5;
          var _7 = FHEAP[_scevgep12];
          var _8 = _7 * _7;
          var _9 = _6 + _8;
          var _10 = _sqrtf(_9);
          var _11 = _10 != 0;
          ;
          _bb_i$_bb4_i$9437: do { 
            if (_11) {
              ;
              var _12 = _3 / _10;
              var _13 = _5 * _12;
              var _14 = FHEAP[_scevgep13];
              var _15 = _14 < 0;
              ;
              if (_15) {
                __lastLabel__ = 131; ;
                var _16 = 0 - _4;
                __lastLabel__ = 159; ;
              }
              else {
                __lastLabel__ = 131; ;
              }
              var _iftmp_143_0_i = __lastLabel__ == 159 ? _16 : (_4);
              var _17 = _7 * _12;
              __lastLabel__ = 133; ;
            }
            else {
              ;
              var _18 = FHEAP[_scevgep13];
              var _19 = _18 < 0;
              if (_19) { __lastLabel__ = 135; ; } else { __lastLabel__ = 135; __label__ = 1784; /* __Z21CylinderLocalSupportYRK9btVector3S1__exit */ break _bb_i$_bb4_i$9437; }
              var _20 = 0 - _4;
              __lastLabel__ = 300; ;
            }
          } while(0);
          var _memtmp_0_2_0 = __lastLabel__ == 133 ? _17 : (__lastLabel__ == 300 ? 0 : (0));
          var _memtmp_0_1_0 = __lastLabel__ == 133 ? _iftmp_143_0_i : (__lastLabel__ == 300 ? _20 : (_4));
          var _memtmp_0_0_0 = __lastLabel__ == 133 ? _13 : (__lastLabel__ == 300 ? _3 : (_3));
          FHEAP[_scevgep7] = _memtmp_0_0_0;
          FHEAP[_scevgep8] = _memtmp_0_1_0;
          FHEAP[_scevgep9] = _memtmp_0_2_0;
          var _21 = _i_06 + 1;
          var _exitcond = _21 == _numVectors;
          if (_exitcond) { __lastLabel__ = 1784; __label__ = 44; /* _return */ break _bb_nph$_return$9433; } else { __lastLabel__ = 1784; __label__ = 60; /* _bb */ continue _bb$9435; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZNK15btCylinderShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__ = Runtime.getFunctionIndex(__ZNK15btCylinderShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, "__ZNK15btCylinderShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i");
  
  
  function __ZNK16btCylinderShapeX37localGetSupportingVertexWithoutMarginERK9btVector3(_agg_result, _this, _vec) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+28+4;
    var _1 = FHEAP[_0];
    var _2 = _this+28;
    var _3 = FHEAP[_2];
    var _4 = _vec+4;
    var _5 = FHEAP[_4];
    var _6 = _5 * _5;
    var _7 = _vec+8;
    var _8 = FHEAP[_7];
    var _9 = _8 * _8;
    var _10 = _6 + _9;
    var _11 = _sqrtf(_10);
    var _12 = _11 != 0;
    ;
    if (_12) {
      ;
      var _13 = _1 / _11;
      var _14 = _5 * _13;
      var _15 = _agg_result+4;
      FHEAP[_15] = _14;
      var _16 = _agg_result;
      var _17 = _vec;
      var _18 = FHEAP[_17];
      var _19 = _18 < 0;
      ;
      if (_19) {
        __lastLabel__ = 131; ;
        var _20 = 0 - _3;
        __lastLabel__ = 159; ;
      }
      else {
        __lastLabel__ = 131; ;
      }
      var _iftmp_141_0_i = __lastLabel__ == 159 ? _20 : (_3);
      FHEAP[_16] = _iftmp_141_0_i;
      var _21 = _8 * _13;
      var _22 = _agg_result+8;
      FHEAP[_22] = _21;
      ;
      return;
    }
    else {
      ;
      var _23 = _agg_result+4;
      FHEAP[_23] = _1;
      var _24 = _agg_result;
      var _25 = _vec;
      var _26 = FHEAP[_25];
      var _27 = _26 < 0;
      ;
      if (_27) {
        __lastLabel__ = 135; ;
        var _28 = 0 - _3;
        __lastLabel__ = 300; ;
      }
      else {
        __lastLabel__ = 135; ;
      }
      var _iftmp_142_0_i = __lastLabel__ == 300 ? _28 : (_3);
      FHEAP[_24] = _iftmp_142_0_i;
      var _29 = _agg_result+8;
      FHEAP[_29] = 0;
      ;
      return;
    }
  }
  __ZNK16btCylinderShapeX37localGetSupportingVertexWithoutMarginERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK16btCylinderShapeX37localGetSupportingVertexWithoutMarginERK9btVector3, "__ZNK16btCylinderShapeX37localGetSupportingVertexWithoutMarginERK9btVector3");
  
  
  function __ZNK16btCylinderShapeX49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(_this, _vectors, _supportVerticesOut, _numVectors) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _numVectors > 0;
    ;
    _bb_nph$_return$9459: do { 
      if (_0) {
        ;
        var _1 = _this+28+4;
        var _2 = _this+28;
        __lastLabel__ = 130; ;
        _bb$9461: while(1) { // _bb
          var _i_06 = __lastLabel__ == 130 ? 0 : (_21);
          var _scevgep7 = _supportVerticesOut+16*_i_06;
          var _scevgep8 = _supportVerticesOut+16*_i_06+4;
          var _scevgep9 = _supportVerticesOut+16*_i_06+8;
          var _scevgep10 = _vectors+16*_i_06+4;
          var _scevgep11 = _vectors+16*_i_06+8;
          var _scevgep1213 = _vectors+16*_i_06;
          var _3 = FHEAP[_1];
          var _4 = FHEAP[_2];
          var _5 = FHEAP[_scevgep10];
          var _6 = _5 * _5;
          var _7 = FHEAP[_scevgep11];
          var _8 = _7 * _7;
          var _9 = _6 + _8;
          var _10 = _sqrtf(_9);
          var _11 = _10 != 0;
          ;
          _bb_i$_bb4_i$9463: do { 
            if (_11) {
              ;
              var _12 = _3 / _10;
              var _13 = _5 * _12;
              var _14 = FHEAP[_scevgep1213];
              var _15 = _14 < 0;
              ;
              if (_15) {
                __lastLabel__ = 131; ;
                var _16 = 0 - _4;
                __lastLabel__ = 159; ;
              }
              else {
                __lastLabel__ = 131; ;
              }
              var _iftmp_141_0_i = __lastLabel__ == 159 ? _16 : (_4);
              var _17 = _7 * _12;
              __lastLabel__ = 133; ;
            }
            else {
              ;
              var _18 = FHEAP[_scevgep1213];
              var _19 = _18 < 0;
              if (_19) { __lastLabel__ = 135; ; } else { __lastLabel__ = 135; __label__ = 1789; /* __Z21CylinderLocalSupportXRK9btVector3S1__exit */ break _bb_i$_bb4_i$9463; }
              var _20 = 0 - _4;
              __lastLabel__ = 300; ;
            }
          } while(0);
          var _memtmp_0_2_0 = __lastLabel__ == 133 ? _17 : (__lastLabel__ == 300 ? 0 : (0));
          var _memtmp_0_1_0 = __lastLabel__ == 133 ? _13 : (__lastLabel__ == 300 ? _3 : (_3));
          var _memtmp_0_0_0 = __lastLabel__ == 133 ? _iftmp_141_0_i : (__lastLabel__ == 300 ? _20 : (_4));
          FHEAP[_scevgep7] = _memtmp_0_0_0;
          FHEAP[_scevgep8] = _memtmp_0_1_0;
          FHEAP[_scevgep9] = _memtmp_0_2_0;
          var _21 = _i_06 + 1;
          var _exitcond = _21 == _numVectors;
          if (_exitcond) { __lastLabel__ = 1789; __label__ = 44; /* _return */ break _bb_nph$_return$9459; } else { __lastLabel__ = 1789; __label__ = 60; /* _bb */ continue _bb$9461; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZNK16btCylinderShapeX49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__ = Runtime.getFunctionIndex(__ZNK16btCylinderShapeX49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, "__ZNK16btCylinderShapeX49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i");
  
  
  function __ZNK16btCylinderShapeZ37localGetSupportingVertexWithoutMarginERK9btVector3(_agg_result, _this, _vec) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+28;
    var _1 = FHEAP[_0];
    var _2 = _this+28+8;
    var _3 = FHEAP[_2];
    var _4 = _vec;
    var _5 = FHEAP[_4];
    var _6 = _5 * _5;
    var _7 = _vec+4;
    var _8 = FHEAP[_7];
    var _9 = _8 * _8;
    var _10 = _6 + _9;
    var _11 = _sqrtf(_10);
    var _12 = _11 != 0;
    ;
    if (_12) {
      ;
      var _13 = _1 / _11;
      var _14 = _agg_result;
      var _15 = _5 * _13;
      FHEAP[_14] = _15;
      var _16 = _vec+8;
      var _17 = FHEAP[_16];
      var _18 = _17 < 0;
      ;
      if (_18) {
        __lastLabel__ = 131; ;
        var _19 = 0 - _3;
        __lastLabel__ = 159; ;
      }
      else {
        __lastLabel__ = 131; ;
      }
      var _iftmp_145_0_i = __lastLabel__ == 159 ? _19 : (_3);
      var _20 = _agg_result+8;
      FHEAP[_20] = _iftmp_145_0_i;
      var _21 = _8 * _13;
      var _22 = _agg_result+4;
      FHEAP[_22] = _21;
      ;
      return;
    }
    else {
      ;
      var _23 = _agg_result;
      FHEAP[_23] = _1;
      var _24 = _vec+8;
      var _25 = FHEAP[_24];
      var _26 = _25 < 0;
      ;
      if (_26) {
        __lastLabel__ = 135; ;
        var _27 = 0 - _3;
        __lastLabel__ = 300; ;
      }
      else {
        __lastLabel__ = 135; ;
      }
      var _iftmp_146_0_i = __lastLabel__ == 300 ? _27 : (_3);
      var _28 = _agg_result+8;
      FHEAP[_28] = _iftmp_146_0_i;
      var _29 = _agg_result+4;
      FHEAP[_29] = 0;
      ;
      return;
    }
  }
  __ZNK16btCylinderShapeZ37localGetSupportingVertexWithoutMarginERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK16btCylinderShapeZ37localGetSupportingVertexWithoutMarginERK9btVector3, "__ZNK16btCylinderShapeZ37localGetSupportingVertexWithoutMarginERK9btVector3");
  
  
  function __ZNK16btCylinderShapeZ49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(_this, _vectors, _supportVerticesOut, _numVectors) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _numVectors > 0;
    ;
    _bb_nph$_return$9485: do { 
      if (_0) {
        ;
        var _1 = _this+28;
        var _2 = _this+28+8;
        __lastLabel__ = 130; ;
        _bb$9487: while(1) { // _bb
          var _i_06 = __lastLabel__ == 130 ? 0 : (_21);
          var _scevgep7 = _supportVerticesOut+16*_i_06;
          var _scevgep8 = _supportVerticesOut+16*_i_06+4;
          var _scevgep9 = _supportVerticesOut+16*_i_06+8;
          var _scevgep1011 = _vectors+16*_i_06;
          var _scevgep12 = _vectors+16*_i_06+4;
          var _scevgep13 = _vectors+16*_i_06+8;
          var _3 = FHEAP[_1];
          var _4 = FHEAP[_2];
          var _5 = FHEAP[_scevgep1011];
          var _6 = _5 * _5;
          var _7 = FHEAP[_scevgep12];
          var _8 = _7 * _7;
          var _9 = _6 + _8;
          var _10 = _sqrtf(_9);
          var _11 = _10 != 0;
          ;
          _bb_i$_bb4_i$9489: do { 
            if (_11) {
              ;
              var _12 = _3 / _10;
              var _13 = _5 * _12;
              var _14 = FHEAP[_scevgep13];
              var _15 = _14 < 0;
              ;
              if (_15) {
                __lastLabel__ = 131; ;
                var _16 = 0 - _4;
                __lastLabel__ = 159; ;
              }
              else {
                __lastLabel__ = 131; ;
              }
              var _iftmp_145_0_i = __lastLabel__ == 159 ? _16 : (_4);
              var _17 = _7 * _12;
              __lastLabel__ = 133; ;
            }
            else {
              ;
              var _18 = FHEAP[_scevgep13];
              var _19 = _18 < 0;
              if (_19) { __lastLabel__ = 135; ; } else { __lastLabel__ = 135; __label__ = 1794; /* __Z21CylinderLocalSupportZRK9btVector3S1__exit */ break _bb_i$_bb4_i$9489; }
              var _20 = 0 - _4;
              __lastLabel__ = 300; ;
            }
          } while(0);
          var _memtmp_0_2_0 = __lastLabel__ == 133 ? _iftmp_145_0_i : (__lastLabel__ == 300 ? _20 : (_4));
          var _memtmp_0_1_0 = __lastLabel__ == 133 ? _17 : (__lastLabel__ == 300 ? 0 : (0));
          var _memtmp_0_0_0 = __lastLabel__ == 133 ? _13 : (__lastLabel__ == 300 ? _3 : (_3));
          FHEAP[_scevgep7] = _memtmp_0_0_0;
          FHEAP[_scevgep8] = _memtmp_0_1_0;
          FHEAP[_scevgep9] = _memtmp_0_2_0;
          var _21 = _i_06 + 1;
          var _exitcond = _21 == _numVectors;
          if (_exitcond) { __lastLabel__ = 1794; __label__ = 44; /* _return */ break _bb_nph$_return$9485; } else { __lastLabel__ = 1794; __label__ = 60; /* _bb */ continue _bb$9487; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZNK16btCylinderShapeZ49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__ = Runtime.getFunctionIndex(__ZNK16btCylinderShapeZ49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, "__ZNK16btCylinderShapeZ49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i");
  
  
  function __ZNK12btEmptyShape7getAabbERK11btTransformR9btVector3S4_(_this, _t, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+44;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    var _6 = FUNCTION_TABLE[_5](_4);
    var _7 = IHEAP[_0];
    var _8 = _7+44;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = FUNCTION_TABLE[_10](_4);
    var _12 = IHEAP[_0];
    var _13 = _12+44;
    var _14 = IHEAP[_13];
    var _15 = _14;
    var _16 = FUNCTION_TABLE[_15](_4);
    var _17 = _t+48+8;
    var _18 = FHEAP[_17];
    var _19 = _18 - _6;
    var _20 = _t+48+4;
    var _21 = FHEAP[_20];
    var _22 = _21 - _11;
    var _23 = _t+48;
    var _24 = FHEAP[_23];
    var _25 = _24 - _16;
    var _26 = _aabbMin;
    FHEAP[_26] = _25;
    var _27 = _aabbMin+4;
    FHEAP[_27] = _22;
    var _28 = _aabbMin+8;
    FHEAP[_28] = _19;
    var _29 = _aabbMin+12;
    FHEAP[_29] = 0;
    var _30 = FHEAP[_17];
    var _31 = _30 + _6;
    var _32 = FHEAP[_20];
    var _33 = _32 + _11;
    var _34 = FHEAP[_23];
    var _35 = _34 + _16;
    var _36 = _aabbMax;
    FHEAP[_36] = _35;
    var _37 = _aabbMax+4;
    FHEAP[_37] = _33;
    var _38 = _aabbMax+8;
    FHEAP[_38] = _31;
    var _39 = _aabbMax+12;
    FHEAP[_39] = 0;
    ;
    return;
  }
  __ZNK12btEmptyShape7getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK12btEmptyShape7getAabbERK11btTransformR9btVector3S4_, "__ZNK12btEmptyShape7getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZNK25btHeightfieldTerrainShape7getAabbERK11btTransformR9btVector3S4_(_this, _t, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this+32+8;
    var _1 = FHEAP[_0];
    var _2 = _this+16+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _this+32+4;
    var _6 = FHEAP[_5];
    var _7 = _this+16+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _this+32;
    var _11 = FHEAP[_10];
    var _12 = _this+16;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _this+108+8;
    var _16 = FHEAP[_15];
    var _17 = _4 * _16;
    var _18 = _this+108+4;
    var _19 = FHEAP[_18];
    var _20 = _9 * _19;
    var _21 = _this+108;
    var _22 = FHEAP[_21];
    var _23 = _14 * _22;
    var _24 = _17 * 0.5;
    var _25 = _20 * 0.5;
    var _26 = _23 * 0.5;
    var _27 = _t+32+8;
    var _28 = FHEAP[_27];
    var _29 = _fabsf(_28);
    var _30 = _t+32+4;
    var _31 = FHEAP[_30];
    var _32 = _fabsf(_31);
    var _33 = _t+32;
    var _34 = FHEAP[_33];
    var _35 = _fabsf(_34);
    var _36 = _t+16+8;
    var _37 = FHEAP[_36];
    var _38 = _fabsf(_37);
    var _39 = _t+16+4;
    var _40 = FHEAP[_39];
    var _41 = _fabsf(_40);
    var _42 = _t+16;
    var _43 = FHEAP[_42];
    var _44 = _fabsf(_43);
    var _45 = _t+8;
    var _46 = FHEAP[_45];
    var _47 = _fabsf(_46);
    var _48 = _t+4;
    var _49 = FHEAP[_48];
    var _50 = _fabsf(_49);
    var _51 = _t;
    var _52 = FHEAP[_51];
    var _53 = _fabsf(_52);
    var _54 = _t+48;
    var _55 = FHEAP[_54];
    var _56 = _t+48+4;
    var _57 = FHEAP[_56];
    var _58 = _t+48+8;
    var _59 = FHEAP[_58];
    var _60 = _35 * _26;
    var _61 = _32 * _25;
    var _62 = _60 + _61;
    var _63 = _29 * _24;
    var _64 = _62 + _63;
    var _65 = _44 * _26;
    var _66 = _41 * _25;
    var _67 = _65 + _66;
    var _68 = _38 * _24;
    var _69 = _67 + _68;
    var _70 = _53 * _26;
    var _71 = _50 * _25;
    var _72 = _70 + _71;
    var _73 = _47 * _24;
    var _74 = _72 + _73;
    var _75 = _this;
    var _76 = IHEAP[_75];
    var _77 = _76+44;
    var _78 = IHEAP[_77];
    var _79 = _this;
    var _80 = _78;
    var _81 = FUNCTION_TABLE[_80](_79);
    var _82 = IHEAP[_75];
    var _83 = _82+44;
    var _84 = IHEAP[_83];
    var _85 = _84;
    var _86 = FUNCTION_TABLE[_85](_79);
    var _87 = IHEAP[_75];
    var _88 = _87+44;
    var _89 = IHEAP[_88];
    var _90 = _89;
    var _91 = FUNCTION_TABLE[_90](_79);
    var _92 = _74 + _91;
    var _93 = _69 + _86;
    var _94 = _64 + _81;
    var _95 = _59 - _94;
    var _96 = _57 - _93;
    var _97 = _55 - _92;
    var _98 = _aabbMin;
    FHEAP[_98] = _97;
    var _99 = _aabbMin+4;
    FHEAP[_99] = _96;
    var _100 = _aabbMin+8;
    FHEAP[_100] = _95;
    var _101 = _aabbMin+12;
    FHEAP[_101] = 0;
    var _102 = _59 + _94;
    var _103 = _57 + _93;
    var _104 = _55 + _92;
    var _105 = _aabbMax;
    FHEAP[_105] = _104;
    var _106 = _aabbMax+4;
    FHEAP[_106] = _103;
    var _107 = _aabbMax+8;
    FHEAP[_107] = _102;
    var _108 = _aabbMax+12;
    FHEAP[_108] = 0;
    ;
    return;
  }
  __ZNK25btHeightfieldTerrainShape7getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK25btHeightfieldTerrainShape7getAabbERK11btTransformR9btVector3S4_, "__ZNK25btHeightfieldTerrainShape7getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZNK25btHeightfieldTerrainShape9getVertexEiiR9btVector3(_this, _x, _y, _vertex) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+64;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = FUNCTION_TABLE[_4](_this, _x, _y);
    var _6 = _this+104;
    var _7 = IHEAP[_6];
    if (_7 == 0) {
      __label__ = 60; /* _bb */ 
    }
    else if (_7 == 1) {
      __label__ = 75; /* _bb1 */ 
    }
    else if (_7 == 2) {
      __label__ = 0; /* _bb2 */ 
    }
    else {
    __label__ = 1795; /* _entry_bb3_crit_edge */ 
    }
    
    if (__label__ == 1795) {
      var __phi_trans_insert = _vertex;
      var __pre = FHEAP[__phi_trans_insert];
      var __phi_trans_insert4 = _vertex+4;
      var __pre5 = FHEAP[__phi_trans_insert4];
      var __phi_trans_insert6 = _vertex+8;
      var __pre7 = FHEAP[__phi_trans_insert6];
      __lastLabel__ = 1795; ;
    }
    else if (__label__ == 60) {
      var _8 = _this+84;
      var _9 = FHEAP[_8];
      var _10 = _9 * -0.5;
      var _11 = _y;
      var _12 = _10 + _11;
      var _13 = _this+80;
      var _14 = FHEAP[_13];
      var _15 = _14 * -0.5;
      var _16 = _x;
      var _17 = _15 + _16;
      var _18 = _this+48;
      var _19 = FHEAP[_18];
      var _20 = _5 - _19;
      var _21 = _vertex;
      FHEAP[_21] = _20;
      var _22 = _vertex+4;
      FHEAP[_22] = _17;
      var _23 = _vertex+8;
      FHEAP[_23] = _12;
      var _24 = _vertex+12;
      FHEAP[_24] = 0;
      __lastLabel__ = 60; ;
    }
    else if (__label__ == 75) {
      var _25 = _this+84;
      var _26 = FHEAP[_25];
      var _27 = _26 * -0.5;
      var _28 = _y;
      var _29 = _27 + _28;
      var _30 = _this+48+4;
      var _31 = FHEAP[_30];
      var _32 = _5 - _31;
      var _33 = _this+80;
      var _34 = FHEAP[_33];
      var _35 = _34 * -0.5;
      var _36 = _x;
      var _37 = _35 + _36;
      var _38 = _vertex;
      FHEAP[_38] = _37;
      var _39 = _vertex+4;
      FHEAP[_39] = _32;
      var _40 = _vertex+8;
      FHEAP[_40] = _29;
      var _41 = _vertex+12;
      FHEAP[_41] = 0;
      __lastLabel__ = 75; ;
    }
    else if (__label__ == 0) {
      var _42 = _this+48+8;
      var _43 = FHEAP[_42];
      var _44 = _5 - _43;
      var _45 = _this+84;
      var _46 = FHEAP[_45];
      var _47 = _46 * -0.5;
      var _48 = _y;
      var _49 = _47 + _48;
      var _50 = _this+80;
      var _51 = FHEAP[_50];
      var _52 = _51 * -0.5;
      var _53 = _x;
      var _54 = _52 + _53;
      var _55 = _vertex;
      FHEAP[_55] = _54;
      var _56 = _vertex+4;
      FHEAP[_56] = _49;
      var _57 = _vertex+8;
      FHEAP[_57] = _44;
      var _58 = _vertex+12;
      FHEAP[_58] = 0;
      __lastLabel__ = 0; ;
    }
    var _59 = __lastLabel__ == 1795 ? __pre7 : (__lastLabel__ == 0 ? _44 : (__lastLabel__ == 75 ? _29 : (_12)));
    var _60 = __lastLabel__ == 1795 ? __pre5 : (__lastLabel__ == 0 ? _49 : (__lastLabel__ == 75 ? _32 : (_17)));
    var _61 = __lastLabel__ == 1795 ? __pre : (__lastLabel__ == 0 ? _54 : (__lastLabel__ == 75 ? _37 : (_20)));
    var _62 = _vertex;
    var _63 = _this+108;
    var _64 = FHEAP[_63];
    var _65 = _61 * _64;
    FHEAP[_62] = _65;
    var _66 = _vertex+4;
    var _67 = _this+108+4;
    var _68 = FHEAP[_67];
    var _69 = _60 * _68;
    FHEAP[_66] = _69;
    var _70 = _vertex+8;
    var _71 = _this+108+8;
    var _72 = FHEAP[_71];
    var _73 = _59 * _72;
    FHEAP[_70] = _73;
    ;
    return;
  }
  __ZNK25btHeightfieldTerrainShape9getVertexEiiR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK25btHeightfieldTerrainShape9getVertexEiiR9btVector3, "__ZNK25btHeightfieldTerrainShape9getVertexEiiR9btVector3");
  
  
  function __ZNK19btMinkowskiSumShape9getMarginEv(_this) {
    ;
    var __label__;
    var _0 = _this+180;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+44;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1);
    var _8 = _this+184;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = IHEAP[_10];
    var _12 = _11+44;
    var _13 = IHEAP[_12];
    var _14 = _13;
    var _15 = FUNCTION_TABLE[_14](_9);
    var _16 = _7 + _15;
    ;
    return _16;
  }
  __ZNK19btMinkowskiSumShape9getMarginEv.__index__ = Runtime.getFunctionIndex(__ZNK19btMinkowskiSumShape9getMarginEv, "__ZNK19btMinkowskiSumShape9getMarginEv");
  
  
  function __ZN18btMultiSphereShapeC2EPK9btVector3PKfi(_this, _positions, _radi, _numSpheres) {
    var __stackBase__  = STACKTOP; STACKTOP += 17;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = _this;
    __ZN32btConvexInternalAabbCachingShapeC2Ev(_2);
    var _3 = _this;
    IHEAP[_3] = __ZTV18btMultiSphereShape+8;
    var _4 = _this+88+16;
    IHEAP[_4] = 1;
    var _5 = _this+88+12;
    IHEAP[_5] = 0;
    var _6 = _this+88+4;
    IHEAP[_6] = 0;
    var _7 = _this+88+8;
    IHEAP[_7] = 0;
    var _8 = _this+108+16;
    IHEAP[_8] = 1;
    var _9 = _this+108+12;
    IHEAP[_9] = 0;
    var _10 = _this+108+4;
    IHEAP[_10] = 0;
    var _11 = _this+108+8;
    IHEAP[_11] = 0;
    var _12 = _this+4;
    IHEAP[_12] = 9;
    var _13 = _this+88;
    (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI9btVector3E6resizeEiRKS0_(_13, _numSpheres, _1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 3904; /* _lpad27 */  }
    _invcont2$_lpad27$9625: do { 
      if (__label__ == 1102) {
        FHEAP[_0] = 0;
        var _14 = _this+108;
        (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIfE6resizeEiRKf(_14, _numSpheres, _0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3904; /* _lpad27 */ break _invcont2$_lpad27$9625; }
        var _15 = _numSpheres > 0;
        if (_15) { __lastLabel__ = 262; __label__ = 60; /* _bb */  } else { __lastLabel__ = 262; __label__ = 82; /* _bb5 */  }
        _bb$_bb5$9628: while(1) { // _bb,_bb5
          if (__label__ == 60) {
            var _i_055 = __lastLabel__ == 60 ? _23 : (0);
            var _scevgep = _radi+4*_i_055;
            var _scevgep5657 = _positions+16*_i_055;
            var _scevgep58 = _positions+16*_i_055+4;
            var _scevgep59 = _positions+16*_i_055+8;
            var _scevgep60 = _positions+16*_i_055+12;
            var _16 = IHEAP[_5];
            var _17 = FHEAP[_scevgep5657];
            var _scevgep6263 = _16+16*_i_055;
            FHEAP[_scevgep6263] = _17;
            var _18 = FHEAP[_scevgep58];
            var _scevgep64 = _16+16*_i_055+4;
            FHEAP[_scevgep64] = _18;
            var _19 = FHEAP[_scevgep59];
            var _scevgep65 = _16+16*_i_055+8;
            FHEAP[_scevgep65] = _19;
            var _20 = FHEAP[_scevgep60];
            var _scevgep66 = _16+16*_i_055+12;
            FHEAP[_scevgep66] = _20;
            var _21 = IHEAP[_9];
            var _22 = FHEAP[_scevgep];
            var _scevgep61 = _21+4*_i_055;
            FHEAP[_scevgep61] = _22;
            var _23 = _i_055 + 1;
            var _exitcond = _23 == _numSpheres;
            if (_exitcond) { __lastLabel__ = 60; __label__ = 82; /* _bb5 */ continue _bb$_bb5$9628; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$_bb5$9628; }
          }
          else if (__label__ == 82) {
            (function() { try { __THREW__ = false; return __ZN32btConvexInternalAabbCachingShape15recalcLocalAabbEv(_2) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 44; /* _return */ break _bb$_bb5$9628; } else { __label__ = 3904; /* _lpad27 */ break _invcont2$_lpad27$9625; }
          }
        }
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    var _eh_ptr28 = _llvm_eh_exception();
    var _eh_select30 = _llvm_eh_selector(_eh_ptr28, ___gxx_personality_v0, 0);
    var _24 = IHEAP[_9];
    var _25 = _24 == 0;
    ;
    if (!_25) {
      ;
      var _26 = IHEAP[_8];
      var _toBool_i_i_i50 = _26 == 0;
      ;
      _bb2_i_i_i53$_bb1_i_i_i52$9636: do { 
        if (!_toBool_i_i_i50) {
          ;
          var _27 = _24;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_27) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3799; /* _bb2_i_i_i53 */ break _bb2_i_i_i53$_bb1_i_i_i52$9636; } else { ; }
          var _eh_ptr32 = _llvm_eh_exception();
          var _eh_select34 = _llvm_eh_selector(_eh_ptr32, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_9] = 0;
      ;
    }
    IHEAP[_8] = 1;
    IHEAP[_9] = 0;
    IHEAP[_10] = 0;
    IHEAP[_11] = 0;
    var _29 = IHEAP[_5];
    var _30 = _29 == 0;
    ;
    if (!_30) {
      ;
      var _31 = IHEAP[_4];
      var _toBool_i_i_i = _31 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$9643: do { 
        if (!_toBool_i_i_i) {
          ;
          var _32 = _29;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_32) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$9643; } else { ; }
          var _eh_ptr36 = _llvm_eh_exception();
          var _eh_select38 = _llvm_eh_selector(_eh_ptr36, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_5] = 0;
      ;
    }
    IHEAP[_4] = 1;
    IHEAP[_5] = 0;
    IHEAP[_6] = 0;
    IHEAP[_7] = 0;
    IHEAP[_3] = __ZTV21btConvexInternalShape+8;
    var _28 = _this;
    (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_28) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3719; /* _invcont18 */  } else { __label__ = 3781; /* _lpad39 */  }
    if (__label__ == 3719) {
      __Unwind_Resume_or_Rethrow(_eh_ptr28);
      // unreachable
    }
    else if (__label__ == 3781) {
      var _eh_ptr40 = _llvm_eh_exception();
      var _eh_select42 = _llvm_eh_selector(_eh_ptr40, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN18btMultiSphereShapeC2EPK9btVector3PKfi.__index__ = Runtime.getFunctionIndex(__ZN18btMultiSphereShapeC2EPK9btVector3PKfi, "__ZN18btMultiSphereShapeC2EPK9btVector3PKfi");
  
  
  function __ZNK18btMultiSphereShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(_this, _vectors, _supportVerticesOut, _numVectors) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _numVectors > 0;
    ;
    _bb_nph38$_return$9655: do { 
      if (_0) {
        ;
        var _1 = _this+88+12;
        var _2 = _this+108+12;
        var _3 = _this+88+4;
        var _4 = _this;
        var _5 = _this;
        var _6 = _this+12+8;
        var _7 = _this+12+4;
        var _8 = _this+12;
        __lastLabel__ = 1825; ;
        _bb$9657: while(1) { // _bb
          var _j_037 = __lastLabel__ == 1825 ? 0 : (_50);
          var _scevgep4344 = _supportVerticesOut+16*_j_037;
          var _scevgep45 = _supportVerticesOut+16*_j_037+4;
          var _scevgep46 = _supportVerticesOut+16*_j_037+8;
          var _scevgep47 = _supportVerticesOut+16*_j_037+12;
          var _scevgep48 = _vectors+16*_j_037+8;
          var _scevgep49 = _vectors+16*_j_037+4;
          var _scevgep5051 = _vectors+16*_j_037;
          var _9 = IHEAP[_3];
          var _10 = _9 > 0;
          ;
          _bb_nph$_bb5$9659: do { 
            if (_10) {
              ;
              var _11 = IHEAP[_2];
              var _12 = IHEAP[_1];
              __lastLabel__ = 130; ;
              _bb1$9661: while(1) { // _bb1
                var _i_036 = __lastLabel__ == 130 ? 0 : (_49);
                var _maxDot_133 = __lastLabel__ == 130 ? -999999984306749400 : (_maxDot_0);
                var _rad_035 = _11+4*_i_036;
                var _scevgep = _12+16*_i_036+8;
                var _scevgep39 = _12+16*_i_036+4;
                var _scevgep4041 = _12+16*_i_036;
                var _13 = IHEAP[_4];
                var _14 = _13+44;
                var _15 = IHEAP[_14];
                var _16 = _15;
                var _17 = FUNCTION_TABLE[_16](_5);
                var _18 = FHEAP[_scevgep48];
                var _19 = _18 * _17;
                var _20 = FHEAP[_scevgep49];
                var _21 = _20 * _17;
                var _22 = FHEAP[_scevgep5051];
                var _23 = _22 * _17;
                var _24 = FHEAP[_6];
                var _25 = _18 * _24;
                var _26 = FHEAP[_7];
                var _27 = _20 * _26;
                var _28 = FHEAP[_8];
                var _29 = _22 * _28;
                var _30 = FHEAP[_rad_035];
                var _31 = _25 * _30;
                var _32 = _27 * _30;
                var _33 = _29 * _30;
                var _34 = FHEAP[_scevgep];
                var _35 = _34 + _31;
                var _36 = FHEAP[_scevgep39];
                var _37 = _36 + _32;
                var _38 = FHEAP[_scevgep4041];
                var _39 = _38 + _33;
                var _40 = _35 - _19;
                var _41 = _37 - _21;
                var _42 = _39 - _23;
                var _43 = _22 * _42;
                var _44 = _20 * _41;
                var _45 = _43 + _44;
                var _46 = _18 * _40;
                var _47 = _45 + _46;
                var _48 = _47 > _maxDot_133;
                ;
                if (_48) {
                  __lastLabel__ = 75; ;
                  FHEAP[_scevgep4344] = _42;
                  FHEAP[_scevgep45] = _41;
                  FHEAP[_scevgep46] = _40;
                  FHEAP[_scevgep47] = 0;
                  __lastLabel__ = 0; ;
                }
                else {
                  __lastLabel__ = 75; ;
                }
                var _maxDot_0 = __lastLabel__ == 0 ? _47 : (_maxDot_133);
                var _49 = _i_036 + 1;
                var _exitcond = _49 == _9;
                if (_exitcond) { __lastLabel__ = 116; __label__ = 82; /* _bb5 */ break _bb_nph$_bb5$9659; } else { __lastLabel__ = 116; __label__ = 75; /* _bb1 */ continue _bb1$9661; }
              }
            }
          } while(0);
          var _50 = _j_037 + 1;
          var _exitcond42 = _50 == _numVectors;
          if (_exitcond42) { __lastLabel__ = 82; __label__ = 44; /* _return */ break _bb_nph38$_return$9655; } else { __lastLabel__ = 82; __label__ = 60; /* _bb */ continue _bb$9657; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZNK18btMultiSphereShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__ = Runtime.getFunctionIndex(__ZNK18btMultiSphereShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, "__ZNK18btMultiSphereShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i");
  
  
  function __ZN18btMultiSphereShapeD0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btMultiSphereShape+8;
    var _1 = _this+108+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$9669: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+108+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$9671: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$9671; } else { ; }
            var _eh_ptr19 = _llvm_eh_exception();
            var _eh_select21 = _llvm_eh_selector(_eh_ptr19, ___gxx_personality_v0, 0);
            var _21 = _this+88+12;
            var _22 = IHEAP[_21];
            var _23 = _22 == 0;
            ;
            if (!_23) {
              ;
              var _24 = _this+88+16;
              var _25 = IHEAP[_24];
              var _toBool_i_i_i39 = _25 == 0;
              ;
              _bb2_i_i_i42$_bb1_i_i_i41$9676: do { 
                if (!_toBool_i_i_i39) {
                  ;
                  var _26 = _22;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_26) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3918; /* _bb2_i_i_i42 */ break _bb2_i_i_i42$_bb1_i_i_i41$9676; } else { ; }
                  var _eh_ptr23 = _llvm_eh_exception();
                  var _eh_select25 = _llvm_eh_selector(_eh_ptr23, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_21] = 0;
              ;
            }
            var _27 = _this+88+16;
            IHEAP[_27] = 1;
            IHEAP[_21] = 0;
            var _28 = _this+88+4;
            IHEAP[_28] = 0;
            var _29 = _this+88+8;
            IHEAP[_29] = 0;
            __lastLabel__ = 1829; __label__ = 45; /* _ppad */ break _bb3$_bb_i_i_i$9669;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$9669;
      }
    } while(0);
    _bb3$_ppad$9682: do { 
      if (__label__ == 116) {
        var _7 = _this+108+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+108+4;
        IHEAP[_8] = 0;
        var _9 = _this+108+8;
        IHEAP[_9] = 0;
        var _10 = _this+88+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+88+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i34 = _14 == 0;
          ;
          _bb2_i_i_i37$_bb1_i_i_i36$9686: do { 
            if (!_toBool_i_i_i34) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3797; /* _bb2_i_i_i37 */ break _bb2_i_i_i37$_bb1_i_i_i36$9686; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select17 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad$9682;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _16 = _this+88+16;
        IHEAP[_16] = 1;
        IHEAP[_10] = 0;
        var _17 = _this+88+4;
        IHEAP[_17] = 0;
        var _18 = _this+88+8;
        IHEAP[_18] = 0;
        IHEAP[_0] = __ZTV21btConvexInternalShape+8;
        var _19 = _this;
        __ZN13btConvexShapeD2Ev(_19);
        var _20 = _this;
        __Z21btAlignedFreeInternalPv(_20);
        ;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr19);
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _30 = _this;
    (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_30) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 979; /* _invcont8 */  } else { __label__ = 3800; /* _lpad26 */  }
    if (__label__ == 979) {
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
    else if (__label__ == 3800) {
      var _eh_ptr27 = _llvm_eh_exception();
      var _eh_select29 = _llvm_eh_selector(_eh_ptr27, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN18btMultiSphereShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN18btMultiSphereShapeD0Ev, "__ZN18btMultiSphereShapeD0Ev");
  
  
  function __ZN18btMultiSphereShapeD1Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btMultiSphereShape+8;
    var _1 = _this+108+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$9696: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+108+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$9698: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$9698; } else { ; }
            var _eh_ptr19 = _llvm_eh_exception();
            var _eh_select21 = _llvm_eh_selector(_eh_ptr19, ___gxx_personality_v0, 0);
            var _20 = _this+88+12;
            var _21 = IHEAP[_20];
            var _22 = _21 == 0;
            ;
            if (!_22) {
              ;
              var _23 = _this+88+16;
              var _24 = IHEAP[_23];
              var _toBool_i_i_i39 = _24 == 0;
              ;
              _bb2_i_i_i42$_bb1_i_i_i41$9703: do { 
                if (!_toBool_i_i_i39) {
                  ;
                  var _25 = _21;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_25) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3918; /* _bb2_i_i_i42 */ break _bb2_i_i_i42$_bb1_i_i_i41$9703; } else { ; }
                  var _eh_ptr23 = _llvm_eh_exception();
                  var _eh_select25 = _llvm_eh_selector(_eh_ptr23, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_20] = 0;
              ;
            }
            var _26 = _this+88+16;
            IHEAP[_26] = 1;
            IHEAP[_20] = 0;
            var _27 = _this+88+4;
            IHEAP[_27] = 0;
            var _28 = _this+88+8;
            IHEAP[_28] = 0;
            __lastLabel__ = 1829; __label__ = 45; /* _ppad */ break _bb3$_bb_i_i_i$9696;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$9696;
      }
    } while(0);
    _bb3$_ppad$9709: do { 
      if (__label__ == 116) {
        var _7 = _this+108+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+108+4;
        IHEAP[_8] = 0;
        var _9 = _this+108+8;
        IHEAP[_9] = 0;
        var _10 = _this+88+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+88+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i34 = _14 == 0;
          ;
          _bb2_i_i_i37$_bb1_i_i_i36$9713: do { 
            if (!_toBool_i_i_i34) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3797; /* _bb2_i_i_i37 */ break _bb2_i_i_i37$_bb1_i_i_i36$9713; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select17 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad$9709;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _16 = _this+88+16;
        IHEAP[_16] = 1;
        IHEAP[_10] = 0;
        var _17 = _this+88+4;
        IHEAP[_17] = 0;
        var _18 = _this+88+8;
        IHEAP[_18] = 0;
        IHEAP[_0] = __ZTV21btConvexInternalShape+8;
        var _19 = _this;
        __ZN13btConvexShapeD2Ev(_19);
        ;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr19);
    IHEAP[_0] = __ZTV21btConvexInternalShape+8;
    var _29 = _this;
    (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_29) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 979; /* _invcont8 */  } else { __label__ = 3800; /* _lpad26 */  }
    if (__label__ == 979) {
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
    else if (__label__ == 3800) {
      var _eh_ptr27 = _llvm_eh_exception();
      var _eh_select29 = _llvm_eh_selector(_eh_ptr27, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN18btMultiSphereShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN18btMultiSphereShapeD1Ev, "__ZN18btMultiSphereShapeD1Ev");
  
  
  function __ZNK18btMultiSphereShape9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    var _1 = __ZNK16btCollisionShape9serializeEPvP12btSerializer(_0, _dataBuffer, _serializer);
    var _2 = _dataBuffer+28;
    var _scevgep_i_i = _this+28;
    var _scevgep4_i_i = _2;
    var _3 = FHEAP[_scevgep_i_i];
    FHEAP[_scevgep4_i_i] = _3;
    var _scevgep_1_i_i = _this+28+4;
    var _scevgep4_1_i_i = _dataBuffer+32;
    var _4 = _scevgep4_1_i_i;
    var _5 = FHEAP[_scevgep_1_i_i];
    FHEAP[_4] = _5;
    var _scevgep_2_i_i = _this+28+8;
    var _scevgep4_2_i_i = _dataBuffer+36;
    var _6 = _scevgep4_2_i_i;
    var _7 = FHEAP[_scevgep_2_i_i];
    FHEAP[_6] = _7;
    var _scevgep_3_i_i = _this+28+12;
    var _scevgep4_3_i_i = _dataBuffer+40;
    var _8 = _scevgep4_3_i_i;
    var _9 = FHEAP[_scevgep_3_i_i];
    FHEAP[_8] = _9;
    var _10 = _dataBuffer+12;
    var _scevgep_i2_i = _this+12;
    var _scevgep4_i3_i = _10;
    var _11 = FHEAP[_scevgep_i2_i];
    FHEAP[_scevgep4_i3_i] = _11;
    var _scevgep_1_i4_i = _this+12+4;
    var _scevgep4_1_i5_i = _dataBuffer+16;
    var _12 = _scevgep4_1_i5_i;
    var _13 = FHEAP[_scevgep_1_i4_i];
    FHEAP[_12] = _13;
    var _scevgep_2_i6_i = _this+12+8;
    var _scevgep4_2_i7_i = _dataBuffer+20;
    var _14 = _scevgep4_2_i7_i;
    var _15 = FHEAP[_scevgep_2_i6_i];
    FHEAP[_14] = _15;
    var _scevgep_3_i8_i = _this+12+12;
    var _scevgep4_3_i9_i = _dataBuffer+24;
    var _16 = _scevgep4_3_i9_i;
    var _17 = FHEAP[_scevgep_3_i8_i];
    FHEAP[_16] = _17;
    var _18 = _this+44;
    var _19 = FHEAP[_18];
    var _20 = _dataBuffer+44;
    var _21 = _20;
    FHEAP[_21] = _19;
    var _22 = _this+88+4;
    var _23 = IHEAP[_22];
    var _24 = _23 == 0;
    ;
    if (_24) {
      ;
      var _62 = _dataBuffer+52;
      var _63 = _62;
      IHEAP[_63] = 0;
      var _64 = _dataBuffer+56;
      var _65 = _64;
      IHEAP[_65] = _23;
      ;
      return __str398;
    }
    else {
      ;
      var _25 = _serializer;
      var _26 = IHEAP[_25];
      var _27 = _26+28;
      var _28 = IHEAP[_27];
      var _29 = _this+88+12;
      var _30 = IHEAP[_29];
      var _31 = _30;
      var _32 = _28;
      var _33 = FUNCTION_TABLE[_32](_serializer, _31);
      var _34 = _33;
      var _35 = _dataBuffer+52;
      var _36 = _35;
      IHEAP[_36] = _34;
      var _37 = _dataBuffer+56;
      var _38 = _37;
      IHEAP[_38] = _23;
      var _39 = IHEAP[_25];
      var _40 = _39+16;
      var _41 = IHEAP[_40];
      var _42 = _41;
      var _43 = FUNCTION_TABLE[_42](_serializer, 20, _23);
      var _44 = _23 > 0;
      ;
      _bb_nph$_bb6$9726: do { 
        if (_44) {
          ;
          var _45 = _43+8;
          var _46 = IHEAP[_45];
          var _47 = _this+108+12;
          __lastLabel__ = 130; ;
          _bb4$9728: while(1) { // _bb4
            var _i_010 = __lastLabel__ == 130 ? 0 : (_55);
            var _tmp = _i_010 * 20;
            var _tmp16 = _tmp + 16;
            var _scevgep17 = _46+_tmp16;
            var _scevgep1718 = _scevgep17;
            var _scevgep19 = _46+_tmp;
            var _scevgep4_i = _scevgep19;
            var _tmp21 = _tmp + 4;
            var _scevgep22 = _46+_tmp21;
            var _scevgep4_1_i = _scevgep22;
            var _tmp24 = _tmp + 8;
            var _scevgep25 = _46+_tmp24;
            var _scevgep4_2_i = _scevgep25;
            var _tmp27 = _tmp + 12;
            var _scevgep28 = _46+_tmp27;
            var _scevgep4_3_i = _scevgep28;
            var _48 = IHEAP[_29];
            var _scevgep_i = _48+16*_i_010;
            var _49 = FHEAP[_scevgep_i];
            FHEAP[_scevgep4_i] = _49;
            var _scevgep_1_i = _48+16*_i_010+4;
            var _50 = FHEAP[_scevgep_1_i];
            FHEAP[_scevgep4_1_i] = _50;
            var _scevgep_2_i = _48+16*_i_010+8;
            var _51 = FHEAP[_scevgep_2_i];
            FHEAP[_scevgep4_2_i] = _51;
            var _scevgep_3_i = _48+16*_i_010+12;
            var _52 = FHEAP[_scevgep_3_i];
            FHEAP[_scevgep4_3_i] = _52;
            var _53 = IHEAP[_47];
            var _scevgep = _53+4*_i_010;
            var _54 = FHEAP[_scevgep];
            FHEAP[_scevgep1718] = _54;
            var _55 = _i_010 + 1;
            var _exitcond = _55 == _23;
            if (_exitcond) { __lastLabel__ = 61; __label__ = 83; /* _bb6 */ break _bb_nph$_bb6$9726; } else { __lastLabel__ = 61; __label__ = 61; /* _bb4 */ continue _bb4$9728; }
          }
        }
      } while(0);
      var _56 = IHEAP[_25];
      var _57 = _56+20;
      var _58 = IHEAP[_57];
      var _59 = IHEAP[_29];
      var _60 = _59;
      var _61 = _58;
      FUNCTION_TABLE[_61](_serializer, _43, __str297, 1497453121, _60);
      ;
      return __str398;
    }
  }
  __ZNK18btMultiSphereShape9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK18btMultiSphereShape9serializeEPvP12btSerializer, "__ZNK18btMultiSphereShape9serializeEPvP12btSerializer");
  
  
  function __ZNK18btMultiSphereShape37localGetSupportingVertexWithoutMarginERK9btVector3(_agg_result, _this, _vec0) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _agg_result;
    FHEAP[_0] = 0;
    var _1 = _agg_result+4;
    FHEAP[_1] = 0;
    var _2 = _agg_result+8;
    FHEAP[_2] = 0;
    var _3 = _agg_result+12;
    FHEAP[_3] = 0;
    var _4 = _vec0;
    var _5 = FHEAP[_4];
    var _6 = _vec0+4;
    var _7 = FHEAP[_6];
    var _8 = _vec0+8;
    var _9 = FHEAP[_8];
    var _10 = _5 * _5;
    var _11 = _7 * _7;
    var _12 = _10 + _11;
    var _13 = _9 * _9;
    var _14 = _12 + _13;
    var _15 = _14 < 1.4210854715202004e-14;
    ;
    if (_15) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _16 = _sqrtf(_14);
      var _17 = 1 / _16;
      var _18 = _5 * _17;
      var _19 = _7 * _17;
      var _20 = _9 * _17;
      __lastLabel__ = 75; ;
    }
    var _vec_0_0_0 = __lastLabel__ == 75 ? _18 : (1);
    var _vec_0_1_0 = __lastLabel__ == 75 ? _19 : (0);
    var _vec_0_2_0 = __lastLabel__ == 75 ? _20 : (0);
    var _21 = _this+88+4;
    var _22 = IHEAP[_21];
    var _23 = _22 > 0;
    ;
    _bb_nph$_return$9735: do { 
      if (_23) {
        ;
        var _24 = _this+108+12;
        var _25 = _this+88+12;
        var _26 = IHEAP[_24];
        var _27 = IHEAP[_25];
        var _28 = _this;
        var _29 = _this;
        var _30 = _this+12+8;
        var _31 = _this+12+4;
        var _32 = _this+12;
        __lastLabel__ = 130; ;
        _bb3$9737: while(1) { // _bb3
          var _i_041 = __lastLabel__ == 130 ? 0 : (_66);
          var _maxDot_140 = __lastLabel__ == 130 ? -999999984306749400 : (_maxDot_0);
          var _rad_043 = _26+4*_i_041;
          var _scevgep = _27+16*_i_041+8;
          var _scevgep44 = _27+16*_i_041+4;
          var _scevgep4546 = _27+16*_i_041;
          var _33 = IHEAP[_28];
          var _34 = _33+44;
          var _35 = IHEAP[_34];
          var _36 = _35;
          var _37 = FUNCTION_TABLE[_36](_29);
          var _38 = _vec_0_2_0 * _37;
          var _39 = _vec_0_1_0 * _37;
          var _40 = _vec_0_0_0 * _37;
          var _41 = FHEAP[_30];
          var _42 = _vec_0_2_0 * _41;
          var _43 = FHEAP[_31];
          var _44 = _vec_0_1_0 * _43;
          var _45 = FHEAP[_32];
          var _46 = _vec_0_0_0 * _45;
          var _47 = FHEAP[_rad_043];
          var _48 = _42 * _47;
          var _49 = _44 * _47;
          var _50 = _46 * _47;
          var _51 = FHEAP[_scevgep];
          var _52 = _51 + _48;
          var _53 = FHEAP[_scevgep44];
          var _54 = _53 + _49;
          var _55 = FHEAP[_scevgep4546];
          var _56 = _55 + _50;
          var _57 = _52 - _38;
          var _58 = _54 - _39;
          var _59 = _56 - _40;
          var _60 = _vec_0_0_0 * _59;
          var _61 = _vec_0_1_0 * _58;
          var _62 = _60 + _61;
          var _63 = _vec_0_2_0 * _57;
          var _64 = _62 + _63;
          var _65 = _64 > _maxDot_140;
          ;
          if (_65) {
            __lastLabel__ = 116; ;
            FHEAP[_0] = _59;
            FHEAP[_1] = _58;
            FHEAP[_2] = _57;
            FHEAP[_3] = 0;
            __lastLabel__ = 61; ;
          }
          else {
            __lastLabel__ = 116; ;
          }
          var _maxDot_0 = __lastLabel__ == 61 ? _64 : (_maxDot_140);
          var _66 = _i_041 + 1;
          var _exitcond = _66 == _22;
          if (_exitcond) { __lastLabel__ = 82; __label__ = 44; /* _return */ break _bb_nph$_return$9735; } else { __lastLabel__ = 82; __label__ = 116; /* _bb3 */ continue _bb3$9737; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZNK18btMultiSphereShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK18btMultiSphereShape37localGetSupportingVertexWithoutMarginERK9btVector3, "__ZNK18btMultiSphereShape37localGetSupportingVertexWithoutMarginERK9btVector3");
  
  
  function __ZN20btAlignedObjectArrayIfE6resizeEiRKf(_this, _newsize, _fillData) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > _newsize;
    ;
    _bb12$_bb3$9744: do { 
      if (!_2) {
        ;
        var _3 = _1 < _newsize;
        if (!(_3)) { __label__ = 3; /* _bb12 */ break _bb12$_bb3$9744; }
        var _4 = _this+8;
        var _5 = IHEAP[_4];
        var _6 = _5 < _newsize;
        ;
        if (_6) {
          ;
          var _7 = _newsize == 0;
          ;
          if (_7) {
            __lastLabel__ = 131; ;
          }
          else {
            __lastLabel__ = 131; ;
            var _8 = _newsize << 2;
            var _9 = __Z22btAlignedAllocInternalji(_8, 16);
            var _phitmp_i = _9;
            var __pre = IHEAP[_0];
            __lastLabel__ = 215; ;
          }
          var _10 = __lastLabel__ == 215 ? __pre : (_1);
          var _11 = __lastLabel__ == 215 ? _phitmp_i : (0);
          var _12 = _10 > 0;
          ;
          _bb_nph_i_i$__ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i$9752: do { 
            if (_12) {
              ;
              var _13 = _this+12;
              __lastLabel__ = 217; ;
              _bb_i4_i$9754: while(1) { // _bb_i4_i
                var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
                var _scevgep_i_i = _11+4*_indvar_i_i;
                var _14 = _scevgep_i_i == 0;
                ;
                if (!_14) {
                  ;
                  var _15 = IHEAP[_13];
                  var _scevgep8_i_i = _15+4*_indvar_i_i;
                  var _16 = FHEAP[_scevgep8_i_i];
                  FHEAP[_scevgep_i_i] = _16;
                  ;
                }
                var _indvar_next_i_i = _indvar_i_i + 1;
                var _exitcond19 = _indvar_next_i_i == _10;
                if (_exitcond19) { __lastLabel__ = 324; __label__ = 1836; /* __ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i$9752; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$9754; }
              }
            }
          } while(0);
          var _17 = _this+12;
          var _18 = IHEAP[_17];
          var _19 = _18 == 0;
          ;
          if (!_19) {
            ;
            var _20 = _this+16;
            var _21 = IHEAP[_20];
            var _toBool_i_i = _21 == 0;
            ;
            if (!_toBool_i_i) {
              ;
              var _22 = _18;
              __Z21btAlignedFreeInternalPv(_22);
              ;
            }
            IHEAP[_17] = 0;
            ;
          }
          var _23 = _this+16;
          IHEAP[_23] = 1;
          IHEAP[_17] = _11;
          IHEAP[_4] = _newsize;
          if (!(_3)) { __label__ = 3; /* _bb12 */ break _bb12$_bb3$9744; }
        }
        var _24 = _this+12;
        var _tmp = _newsize - _1;
        __lastLabel__ = 130; ;
        _bb7$9767: while(1) { // _bb7
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp17 = _1 + _indvar;
          var _25 = IHEAP[_24];
          var _scevgep18 = _25+4*_tmp17;
          var _26 = _scevgep18 == 0;
          ;
          if (!_26) {
            ;
            var _27 = FHEAP[_fillData];
            FHEAP[_scevgep18] = _27;
            ;
          }
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _tmp;
          if (_exitcond) { __lastLabel__ = 150; __label__ = 3; /* _bb12 */ break _bb12$_bb3$9744; } else { __lastLabel__ = 150; __label__ = 2; /* _bb7 */ continue _bb7$9767; }
        }
      }
    } while(0);
    IHEAP[_0] = _newsize;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIfE6resizeEiRKf.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIfE6resizeEiRKf, "__ZN20btAlignedObjectArrayIfE6resizeEiRKf");
  
  
  function __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallback28internalProcessTriangleIndexEPS2_ii(_this, _triangle, _partId, _triangleIndex) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _triangle;
    var _1 = FHEAP[_0];
    var _2 = _1 < 999999984306749400;
    var _aabbMin_0_0_2 = _2 ? _1 : 999999984306749400;
    var _3 = _triangle+4;
    var _4 = FHEAP[_3];
    var _5 = _4 < 999999984306749400;
    var _aabbMin_0_1_2 = _5 ? _4 : 999999984306749400;
    var _6 = _triangle+8;
    var _7 = FHEAP[_6];
    var _8 = _7 < 999999984306749400;
    var _aabbMin_0_2_2 = _8 ? _7 : 999999984306749400;
    var _9 = _triangle+12;
    var _10 = FHEAP[_9];
    var _11 = _10 < 0;
    var _aabbMin_0_3_2 = _11 ? _10 : 0;
    var _12 = _1 > -999999984306749400;
    var _aabbMax_0_0_2 = _12 ? _1 : -999999984306749400;
    var _13 = _4 > -999999984306749400;
    var _aabbMax_0_1_2 = _13 ? _4 : -999999984306749400;
    var _14 = _7 > -999999984306749400;
    var _aabbMax_0_2_2 = _14 ? _7 : -999999984306749400;
    var _15 = _10 > 0;
    var _aabbMax_0_3_2 = _15 ? _10 : 0;
    var _16 = _triangle+16;
    var _17 = FHEAP[_16];
    var _18 = _17 < _aabbMin_0_0_2;
    var _aabbMin_0_0_1 = _18 ? _17 : _aabbMin_0_0_2;
    var _19 = _triangle+16+4;
    var _20 = FHEAP[_19];
    var _21 = _20 < _aabbMin_0_1_2;
    var _aabbMin_0_1_1 = _21 ? _20 : _aabbMin_0_1_2;
    var _22 = _triangle+16+8;
    var _23 = FHEAP[_22];
    var _24 = _23 < _aabbMin_0_2_2;
    var _aabbMin_0_2_1 = _24 ? _23 : _aabbMin_0_2_2;
    var _25 = _triangle+16+12;
    var _26 = FHEAP[_25];
    var _27 = _26 < _aabbMin_0_3_2;
    var _aabbMin_0_3_1 = _27 ? _26 : _aabbMin_0_3_2;
    var _28 = _aabbMax_0_0_2 < _17;
    var _aabbMax_0_0_1 = _28 ? _17 : _aabbMax_0_0_2;
    var _29 = _aabbMax_0_1_2 < _20;
    var _aabbMax_0_1_1 = _29 ? _20 : _aabbMax_0_1_2;
    var _30 = _aabbMax_0_2_2 < _23;
    var _aabbMax_0_2_1 = _30 ? _23 : _aabbMax_0_2_2;
    var _31 = _aabbMax_0_3_2 < _26;
    var _aabbMax_0_3_1 = _31 ? _26 : _aabbMax_0_3_2;
    var _32 = _triangle+32;
    var _33 = FHEAP[_32];
    var _34 = _33 < _aabbMin_0_0_1;
    var _aabbMin_0_0_0 = _34 ? _33 : _aabbMin_0_0_1;
    var _35 = _triangle+32+4;
    var _36 = FHEAP[_35];
    var _37 = _36 < _aabbMin_0_1_1;
    var _aabbMin_0_1_0 = _37 ? _36 : _aabbMin_0_1_1;
    var _38 = _triangle+32+8;
    var _39 = FHEAP[_38];
    var _40 = _39 < _aabbMin_0_2_1;
    var _aabbMin_0_2_0 = _40 ? _39 : _aabbMin_0_2_1;
    var _41 = _triangle+32+12;
    var _42 = FHEAP[_41];
    var _43 = _42 < _aabbMin_0_3_1;
    var _aabbMin_0_3_0 = _43 ? _42 : _aabbMin_0_3_1;
    var _44 = _aabbMax_0_0_1 < _33;
    var _aabbMax_0_0_0 = _44 ? _33 : _aabbMax_0_0_1;
    var _45 = _aabbMax_0_1_1 < _36;
    var _aabbMax_0_1_0 = _45 ? _36 : _aabbMax_0_1_1;
    var _46 = _aabbMax_0_2_1 < _39;
    var _aabbMax_0_2_0 = _46 ? _39 : _aabbMax_0_2_1;
    var _47 = _aabbMax_0_3_1 < _42;
    var _aabbMax_0_3_0 = _47 ? _42 : _aabbMax_0_3_1;
    var _48 = _this+4;
    var _49 = IHEAP[_48];
    var _50 = _49+4;
    var _51 = IHEAP[_50];
    var _52 = _49+8;
    var _53 = IHEAP[_52];
    var _54 = _53 == _51;
    ;
    _bb_i$__ZN20btAlignedObjectArrayI18btOptimizedBvhNodeE9push_backERKS0__exit$9778: do { 
      if (_54) {
        __lastLabel__ = -1; ;
        var _55 = _51 == 0;
        var _56 = _51 << 1;
        var _iftmp_196_0_i_i = _55 ? 1 : _56;
        var _57 = _53 < _iftmp_196_0_i_i;
        if (_57) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 1841; /* __ZN20btAlignedObjectArrayI18btOptimizedBvhNodeE9push_backERKS0__exit */ break _bb_i$__ZN20btAlignedObjectArrayI18btOptimizedBvhNodeE9push_backERKS0__exit$9778; }
        var _58 = _iftmp_196_0_i_i == 0;
        ;
        if (_58) {
          __lastLabel__ = 263; ;
        }
        else {
          __lastLabel__ = 263; ;
          var _59 = _iftmp_196_0_i_i << 6;
          var _60 = __Z22btAlignedAllocInternalji(_59, 16);
          var _phitmp_i_i = _60;
          var __pre_i = IHEAP[_50];
          __lastLabel__ = 274; ;
        }
        var _61 = __lastLabel__ == 274 ? __pre_i : (_51);
        var _62 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
        var _63 = _61 > 0;
        ;
        _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayI18btOptimizedBvhNodeE4copyEiiPS0__exit_i_i$9784: do { 
          if (_63) {
            ;
            var _64 = _49+12;
            __lastLabel__ = 276; ;
            _bb_i4_i_i$9786: while(1) { // _bb_i4_i_i
              var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
              var _scevgep85 = _62+64*_indvar_i_i_i;
              var _scevgep5_i_i_i = _scevgep85;
              var _65 = IHEAP[_64];
              var _scevgep = _65+64*_indvar_i_i_i;
              var _scevgep67_i_i_i = _scevgep;
              _llvm_memcpy_p0i8_p0i8_i32(_scevgep5_i_i_i, _scevgep67_i_i_i, 64, 4, false);
              var _indvar_next_i_i_i = _indvar_i_i_i + 1;
              var _exitcond = _indvar_next_i_i_i == _61;
              if (_exitcond) { __lastLabel__ = 277; __label__ = 823; /* __ZNK20btAlignedObjectArrayI18btOptimizedBvhNodeE4copyEiiPS0__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayI18btOptimizedBvhNodeE4copyEiiPS0__exit_i_i$9784; } else { __lastLabel__ = 277; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$9786; }
            }
          }
        } while(0);
        var _66 = _49+12;
        var _67 = IHEAP[_66];
        var _68 = _67 == 0;
        ;
        if (!_68) {
          ;
          var _69 = _49+16;
          var _70 = IHEAP[_69];
          var _toBool_i_i_i = _70 == 0;
          ;
          if (!_toBool_i_i_i) {
            ;
            var _71 = _67;
            __Z21btAlignedFreeInternalPv(_71);
            ;
          }
          IHEAP[_66] = 0;
          ;
        }
        var _72 = _49+16;
        IHEAP[_72] = 1;
        IHEAP[_66] = _62;
        IHEAP[_52] = _iftmp_196_0_i_i;
        var __pre5_i = IHEAP[_50];
        __lastLabel__ = 1845; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _73 = __lastLabel__ == 1845 ? __pre5_i : (__lastLabel__ == -1 ? _51 : (_51));
    var _74 = _49+12;
    var _75 = IHEAP[_74];
    var __0 = _75+64*_73;
    FHEAP[__0] = _aabbMin_0_0_0;
    var __178 = _75+64*_73+4;
    FHEAP[__178] = _aabbMin_0_1_0;
    var __280 = _75+64*_73+8;
    FHEAP[__280] = _aabbMin_0_2_0;
    var __382 = _75+64*_73+12;
    FHEAP[__382] = _aabbMin_0_3_0;
    var __169_0 = _75+64*_73+16;
    FHEAP[__169_0] = _aabbMax_0_0_0;
    var __169_1 = _75+64*_73+16+4;
    FHEAP[__169_1] = _aabbMax_0_1_0;
    var __169_2 = _75+64*_73+16+8;
    FHEAP[__169_2] = _aabbMax_0_2_0;
    var __169_3 = _75+64*_73+16+12;
    FHEAP[__169_3] = _aabbMax_0_3_0;
    var __2 = _75+64*_73+32;
    IHEAP[__2] = -1;
    var __3 = _75+64*_73+36;
    IHEAP[__3] = _partId;
    var __4 = _75+64*_73+40;
    IHEAP[__4] = _triangleIndex;
    var _76 = IHEAP[_50];
    var _77 = _76 + 1;
    IHEAP[_50] = _77;
    ;
    return;
  }
  __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallback28internalProcessTriangleIndexEPS2_ii.__index__ = Runtime.getFunctionIndex(__ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallback28internalProcessTriangleIndexEPS2_ii, "__ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallback28internalProcessTriangleIndexEPS2_ii");
  
  
  function __ZNK14btOptimizedBvh16serializeInPlaceEPvjb(_this, _o_alignedDataBuffer, _i_dataBufferSize, _i_swapEndian) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = __ZNK14btQuantizedBvh9serializeEPvjb(_0, _o_alignedDataBuffer, _i_dataBufferSize, _i_swapEndian);
    ;
    return _1;
  }
  __ZNK14btOptimizedBvh16serializeInPlaceEPvjb.__index__ = Runtime.getFunctionIndex(__ZNK14btOptimizedBvh16serializeInPlaceEPvjb, "__ZNK14btOptimizedBvh16serializeInPlaceEPvjb");
  
  
  function __ZN14btOptimizedBvh18deSerializeInPlaceEPvjb(_i_alignedDataBuffer, _i_dataBufferSize, _i_swapEndian) {
    ;
    var __label__;
    var _0 = __ZN14btQuantizedBvh18deSerializeInPlaceEPvjb(_i_alignedDataBuffer, _i_dataBufferSize, _i_swapEndian);
    var _1 = _0;
    ;
    return _1;
  }
  __ZN14btOptimizedBvh18deSerializeInPlaceEPvjb.__index__ = Runtime.getFunctionIndex(__ZN14btOptimizedBvh18deSerializeInPlaceEPvjb, "__ZN14btOptimizedBvh18deSerializeInPlaceEPvjb");
  
  
  function __ZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_(_this, _triangles, _useQuantizedAabbCompression, _bvhAabbMin, _bvhAabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 52;
    var __label__;
    var __lastLabel__ = null;
    var _callback = __stackBase__;
    var _callback7 = __stackBase__+12;
    var _aabbMin = __stackBase__+20;
    var _aabbMax = __stackBase__+36;
    var _0 = _this+60;
    IHEAP[_0] = _useQuantizedAabbCompression;
    var _toBool = _useQuantizedAabbCompression == 0;
    ;
    _bb6$_bb$9878: do { 
      if (_toBool) {
        ;
        var _23 = _this+64;
        var _24 = _callback7;
        IHEAP[_24] = __ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback+8;
        var _25 = _callback7+4;
        IHEAP[_25] = _23;
        var _26 = _aabbMin;
        FHEAP[_26] = -999999984306749400;
        var _27 = _aabbMin+4;
        FHEAP[_27] = -999999984306749400;
        var _28 = _aabbMin+8;
        FHEAP[_28] = -999999984306749400;
        var _29 = _aabbMin+12;
        FHEAP[_29] = 0;
        var _30 = _aabbMax;
        FHEAP[_30] = 999999984306749400;
        var _31 = _aabbMax+4;
        FHEAP[_31] = 999999984306749400;
        var _32 = _aabbMax+8;
        FHEAP[_32] = 999999984306749400;
        var _33 = _aabbMax+12;
        FHEAP[_33] = 0;
        var _34 = _triangles;
        var _35 = IHEAP[_34];
        var _36 = _35+8;
        var _37 = IHEAP[_36];
        var _38 = _37;
        var _39 = _callback7;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_38](_triangles, _39, _aabbMin, _aabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 979; /* _invcont8 */  } else { __label__ = 3926; /* _lpad38 */  }
        _invcont8$_lpad38$9880: do { 
          if (__label__ == 979) {
            var _40 = _this+64+4;
            var _41 = IHEAP[_40];
            var _42 = _41 << 1;
            var _43 = _this+84+4;
            var _44 = IHEAP[_43];
            var _45 = _44 > _42;
            var __not = _45 ^ true;
            var _46 = _44 < _42;
            var _or_cond = __not & _46;
            ;
            _bb4_i$_bb15$9882: do { 
              if (_or_cond) {
                ;
                var _47 = _this+84+8;
                var _48 = IHEAP[_47];
                var _49 = _48 < _42;
                if (!(_49)) { __label__ = 153; /* _bb15 */ break _bb4_i$_bb15$9882; }
                var _50 = _42 == 0;
                ;
                if (_50) {
                  __lastLabel__ = 1866; ;
                }
                else {
                  __lastLabel__ = 1866; ;
                  var _51 = _41 << 7;
                  var _52 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_51, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3926; /* _lpad38 */ break _invcont8$_lpad38$9880; };
                  var _phitmp_i_i58 = _52;
                  var __pre_i59 = IHEAP[_43];
                  __lastLabel__ = 1867; ;
                }
                var _53 = __lastLabel__ == 1867 ? __pre_i59 : (_44);
                var _54 = __lastLabel__ == 1867 ? _phitmp_i_i58 : (0);
                var _55 = _53 > 0;
                ;
                _bb_nph_i_i_i61$__ZNK20btAlignedObjectArrayI18btOptimizedBvhNodeE4copyEiiPS0__exit_i_i$9889: do { 
                  if (_55) {
                    ;
                    var _56 = _this+84+12;
                    __lastLabel__ = 1869; ;
                    _bb_i4_i_i68$9891: while(1) { // _bb_i4_i_i68
                      var _indvar_i_i_i62 = __lastLabel__ == 1869 ? 0 : (_indvar_next_i_i_i67);
                      var _scevgep161 = _54+64*_indvar_i_i_i62;
                      var _scevgep5_i_i_i64 = _scevgep161;
                      var _57 = IHEAP[_56];
                      var _scevgep159 = _57+64*_indvar_i_i_i62;
                      var _scevgep67_i_i_i66 = _scevgep159;
                      _llvm_memcpy_p0i8_p0i8_i32(_scevgep5_i_i_i64, _scevgep67_i_i_i66, 64, 4, false);
                      var _indvar_next_i_i_i67 = _indvar_i_i_i62 + 1;
                      var _exitcond158 = _indvar_next_i_i_i67 == _53;
                      if (_exitcond158) { __lastLabel__ = 1870; __label__ = 823; /* __ZNK20btAlignedObjectArrayI18btOptimizedBvhNodeE4copyEiiPS0__exit_i_i */ break _bb_nph_i_i_i61$__ZNK20btAlignedObjectArrayI18btOptimizedBvhNodeE4copyEiiPS0__exit_i_i$9889; } else { __lastLabel__ = 1870; __label__ = 1870; /* _bb_i4_i_i68 */ continue _bb_i4_i_i68$9891; }
                    }
                  }
                } while(0);
                var _58 = _this+84+12;
                var _59 = IHEAP[_58];
                var _60 = _59 == 0;
                ;
                if (!_60) {
                  ;
                  var _61 = _this+84+16;
                  var _62 = IHEAP[_61];
                  var _toBool_i_i_i69 = _62 == 0;
                  ;
                  if (!_toBool_i_i_i69) {
                    ;
                    var _63 = _59;
                    (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_63) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3926; /* _lpad38 */ break _invcont8$_lpad38$9880; }
                  }
                  IHEAP[_58] = 0;
                  ;
                }
                var _64 = _this+84+16;
                IHEAP[_64] = 1;
                IHEAP[_58] = _54;
                IHEAP[_47] = _42;
                ;
              }
            } while(0);
            IHEAP[_43] = _42;
            IHEAP[_24] = __ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback+8;
            __ZN31btInternalTriangleIndexCallbackD2Ev(_39);
            __lastLabel__ = 153; __label__ = 154; /* _bb16 */ break _bb6$_bb$9878;
          }
        } while(0);
        var _eh_ptr39 = _llvm_eh_exception();
        var _eh_select41 = _llvm_eh_selector(_eh_ptr39, ___gxx_personality_v0, 0);
        IHEAP[_24] = __ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback+8;
        (function() { try { __THREW__ = false; return __ZN31btInternalTriangleIndexCallbackD2Ev(_39) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3926; __label__ = 111; /* _Unwind */ break _bb6$_bb$9878; } else { __lastLabel__ = 3926; ; }
        var _eh_ptr43 = _llvm_eh_exception();
        var _eh_select45 = _llvm_eh_selector(_eh_ptr43, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
      else {
        ;
        var _1 = _this;
        __ZN14btQuantizedBvh21setQuantizationValuesERK9btVector3S2_f(_1, _bvhAabbMin, _bvhAabbMax, 1);
        var _2 = _this+104;
        var _3 = _callback;
        IHEAP[_3] = __ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback+8;
        var _4 = _callback+4;
        IHEAP[_4] = _2;
        var _5 = _callback+8;
        IHEAP[_5] = _1;
        var _6 = _triangles;
        var _7 = IHEAP[_6];
        var _8 = _7+8;
        var _9 = IHEAP[_8];
        var _10 = _this+20;
        var _11 = _this+4;
        var _12 = _9;
        var _13 = _callback;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_12](_triangles, _13, _11, _10) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        _invcont$_lpad$9904: do { 
          if (__label__ == 345) {
            var _14 = _this+104+4;
            var _15 = IHEAP[_14];
            var _16 = _15 << 1;
            var _17 = _this+124+4;
            var _18 = IHEAP[_17];
            var _19 = _18 < _16;
            ;
            _bb_nph_i$_bb5$9906: do { 
              if (_19) {
                ;
                var _20 = _this+124;
                (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE7reserveEi(_20, _16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$9904; }
                var _21 = _this+124+12;
                var _tmp152 = _16 - _18;
                __lastLabel__ = 1865; ;
                _bb7_i$9909: while(1) { // _bb7_i
                  var _indvar_i = __lastLabel__ == 1865 ? 0 : (_indvar_next_i);
                  var _tmp153 = _18 + _indvar_i;
                  var _22 = IHEAP[_21];
                  var _scevgep15_i = _22+20*_tmp153;
                  var _indvar_next_i = _indvar_i + 1;
                  var _exitcond = _indvar_next_i == _tmp152;
                  var _scevgep15_i168 = _scevgep15_i;
                  _llvm_memset_p0i8_i64(_scevgep15_i168, 0, 16, 4, false);
                  if (_exitcond) { __lastLabel__ = 137; __label__ = 82; /* _bb5 */ break _bb_nph_i$_bb5$9906; } else { __lastLabel__ = 137; __label__ = 137; /* _bb7_i */ continue _bb7_i$9909; }
                }
              }
            } while(0);
            IHEAP[_17] = _16;
            IHEAP[_3] = __ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback+8;
            __ZN31btInternalTriangleIndexCallbackD2Ev(_13);
            __lastLabel__ = 82; __label__ = 154; /* _bb16 */ break _bb6$_bb$9878;
          }
        } while(0);
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select33 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        IHEAP[_3] = __ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback+8;
        (function() { try { __THREW__ = false; return __ZN31btInternalTriangleIndexCallbackD2Ev(_13) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 254; __label__ = 111; /* _Unwind */ break _bb6$_bb$9878; } else { __lastLabel__ = 254; ; }
        var _eh_ptr35 = _llvm_eh_exception();
        var _eh_select37 = _llvm_eh_selector(_eh_ptr35, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    } while(0);
    if (__label__ == 154) {
      var _numLeafNodes_0 = __lastLabel__ == 82 ? _15 : (_41);
      var _65 = _this+56;
      IHEAP[_65] = 0;
      var _66 = _this;
      __ZN14btQuantizedBvh9buildTreeEii(_66, 0, _numLeafNodes_0);
      var _67 = IHEAP[_0];
      var _toBool17not = _67 == 0;
      ;
      _bb31$_bb21$9916: do { 
        if (!_toBool17not) {
          ;
          var _68 = _this+148+4;
          var _69 = IHEAP[_68];
          var _70 = _69 == 0;
          if (!(_70)) { __label__ = 89; /* _bb31 */ break _bb31$_bb21$9916; }
          var _71 = _this+148+8;
          var _72 = IHEAP[_71];
          var _73 = _72 == _69;
          var _74 = _72 < 1;
          var _or_cond169 = _73 & _74;
          ;
          if (_or_cond169) {
            __lastLabel__ = 626; ;
            var _75 = __Z22btAlignedAllocInternalji(32, 16);
            var _phitmp_i_i = _75;
            var __pre_i = IHEAP[_68];
            var _76 = __pre_i > 0;
            ;
            _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayI16btBvhSubtreeInfoE4copyEiiPS0__exit_i_i$9921: do { 
              if (_76) {
                ;
                var _77 = _this+148+12;
                __lastLabel__ = 276; ;
                _bb_i4_i_i$9923: while(1) { // _bb_i4_i_i
                  var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
                  var _scevgep166 = _phitmp_i_i+36*_indvar_i_i_i;
                  var _scevgep5_i_i_i = _scevgep166;
                  var _78 = IHEAP[_77];
                  var _scevgep164 = _78+36*_indvar_i_i_i;
                  var _scevgep67_i_i_i = _scevgep164;
                  _llvm_memcpy_p0i8_p0i8_i32(_scevgep5_i_i_i, _scevgep67_i_i_i, 32, 4, false);
                  var _indvar_next_i_i_i = _indvar_i_i_i + 1;
                  var _exitcond163 = _indvar_next_i_i_i == __pre_i;
                  if (_exitcond163) { __lastLabel__ = 277; __label__ = 833; /* __ZNK20btAlignedObjectArrayI16btBvhSubtreeInfoE4copyEiiPS0__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayI16btBvhSubtreeInfoE4copyEiiPS0__exit_i_i$9921; } else { __lastLabel__ = 277; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$9923; }
                }
              }
            } while(0);
            var _79 = _this+148+12;
            var _80 = IHEAP[_79];
            var _81 = _80 == 0;
            ;
            if (!_81) {
              ;
              var _82 = _this+148+16;
              var _83 = IHEAP[_82];
              var _toBool_i_i_i = _83 == 0;
              ;
              if (!_toBool_i_i_i) {
                ;
                var _84 = _80;
                __Z21btAlignedFreeInternalPv(_84);
                ;
              }
              IHEAP[_79] = 0;
              ;
            }
            var _85 = _this+148+16;
            IHEAP[_85] = 1;
            IHEAP[_79] = _phitmp_i_i;
            IHEAP[_71] = 1;
            var __pre6_i = IHEAP[_68];
            __lastLabel__ = 863; ;
          }
          else {
            __lastLabel__ = 626; ;
          }
          var _86 = __lastLabel__ == 863 ? __pre6_i : (0);
          var _87 = _86 + 1;
          IHEAP[_68] = _87;
          var _88 = _this+148+12;
          var _89 = IHEAP[_88];
          var _90 = _this+124+12;
          var _91 = IHEAP[_90];
          var _92 = _91;
          var _93 = IHEAP[_92];
          var _94 = _89+36*_69;
          IHEAP[_94] = _93;
          var _95 = _91+2;
          var _96 = IHEAP[_95];
          var _97 = _89+36*_69+2;
          IHEAP[_97] = _96;
          var _98 = _91+4;
          var _99 = IHEAP[_98];
          var _100 = _89+36*_69+4;
          IHEAP[_100] = _99;
          var _101 = _91+8;
          var _102 = IHEAP[_101];
          var _103 = _89+36*_69+8;
          IHEAP[_103] = _102;
          var _104 = _91+8+2;
          var _105 = IHEAP[_104];
          var _106 = _89+36*_69+8+2;
          IHEAP[_106] = _105;
          var _107 = _91+8+4;
          var _108 = IHEAP[_107];
          var _109 = _89+36*_69+8+4;
          IHEAP[_109] = _108;
          var _110 = _89+36*_69+16;
          IHEAP[_110] = 0;
          var _111 = IHEAP[_90];
          var _112 = _111+16;
          var _113 = IHEAP[_112];
          var _114 = 0 - _113;
          var _toBool27 = _113 < 0;
          var __ = _toBool27 ? _114 : 1;
          var _iftmp_157_0 = _toBool27 ? __ : __;
          var _115 = _89+36*_69+20;
          IHEAP[_115] = __;
          ;
        }
      } while(0);
      var _116 = _this+148+4;
      var _117 = IHEAP[_116];
      var _118 = _this+168;
      IHEAP[_118] = _117;
      var _119 = _this+104+12;
      var _120 = IHEAP[_119];
      var _121 = _120 == 0;
      ;
      if (!_121) {
        ;
        var _122 = _this+104+16;
        var _123 = IHEAP[_122];
        var _toBool_i_i50 = _123 == 0;
        ;
        if (!_toBool_i_i50) {
          ;
          var _124 = _120;
          __Z21btAlignedFreeInternalPv(_124);
          ;
        }
        IHEAP[_119] = 0;
        ;
      }
      var _125 = _this+104+16;
      IHEAP[_125] = 1;
      IHEAP[_119] = 0;
      var _126 = _this+104+4;
      IHEAP[_126] = 0;
      var _127 = _this+104+8;
      IHEAP[_127] = 0;
      var _128 = _this+64+12;
      var _129 = IHEAP[_128];
      var _130 = _129 == 0;
      ;
      if (!_130) {
        ;
        var _131 = _this+64+16;
        var _132 = IHEAP[_131];
        var _toBool_i_i = _132 == 0;
        ;
        if (!_toBool_i_i) {
          ;
          var _133 = _129;
          __Z21btAlignedFreeInternalPv(_133);
          ;
        }
        IHEAP[_128] = 0;
        ;
      }
      var _134 = _this+64+16;
      IHEAP[_134] = 1;
      IHEAP[_128] = 0;
      var _135 = _this+64+4;
      IHEAP[_135] = 0;
      var _136 = _this+64+8;
      IHEAP[_136] = 0;
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 111) {
      var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr39);
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
  }
  __ZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_, "__ZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_");
  
  
  function __ZNK23btPolyhedralConvexShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i(_this, _vectors, _supportVerticesOut, _numVectors) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var __lastLabel__ = null;
    var _vtx = __stackBase__;
    var _0 = _numVectors > 0;
    if (_0) { __lastLabel__ = -1; __label__ = 60; /* _bb */  } else { __lastLabel__ = -1; __label__ = 44; /* _return */  }
    _bb$_return$9954: while(1) { // _bb,_return
      if (__label__ == 60) {
        var _i_015 = __lastLabel__ == 60 ? _1 : (0);
        var _scevgep26 = _supportVerticesOut+16*_i_015+12;
        FHEAP[_scevgep26] = -999999984306749400;
        var _1 = _i_015 + 1;
        var _exitcond25 = _1 == _numVectors;
        if (_exitcond25) { __lastLabel__ = 60; ; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$_return$9954; }
        if (!(_0)) { __label__ = 44; /* _return */ continue _bb$_return$9954; }
        var _27 = _this;
        var _28 = _vtx;
        var _29 = _vtx+4;
        var _30 = _vtx+8;
        __lastLabel__ = 750; ;
        _bb7_preheader$9959: while(1) { // _bb7_preheader
          var _j_013 = __lastLabel__ == 750 ? 0 : (_26);
          var _scevgep17 = _supportVerticesOut+16*_j_013;
          var _scevgep18 = _supportVerticesOut+16*_j_013+4;
          var _scevgep19 = _supportVerticesOut+16*_j_013+8;
          var _scevgep2021 = _vectors+16*_j_013;
          var _scevgep22 = _vectors+16*_j_013+4;
          var _scevgep23 = _vectors+16*_j_013+8;
          var _scevgep24 = _supportVerticesOut+16*_j_013+12;
          var _31 = IHEAP[_27];
          var _32 = _31+84;
          var _33 = IHEAP[_32];
          var _34 = _33;
          var _35 = FUNCTION_TABLE[_34](_this);
          var _36 = _35 > 0;
          if (_36) { __lastLabel__ = 272; __label__ = 61; /* _bb4 */  } else { __lastLabel__ = 272; __label__ = 62; /* _bb9 */  }
          _bb4$_bb9$9961: while(1) { // _bb4,_bb9
            if (__label__ == 61) {
              var _2 = __lastLabel__ == 83 ? _tmp : (0);
              var _tmp = _2 + 1;
              var _3 = IHEAP[_27];
              var _4 = _3+96;
              var _5 = IHEAP[_4];
              var _6 = _5;
              FUNCTION_TABLE[_6](_this, _2, _vtx);
              var _7 = FHEAP[_scevgep2021];
              var _8 = FHEAP[_28];
              var _9 = _7 * _8;
              var _10 = FHEAP[_scevgep22];
              var _11 = FHEAP[_29];
              var _12 = _10 * _11;
              var _13 = _9 + _12;
              var _14 = FHEAP[_scevgep23];
              var _15 = FHEAP[_30];
              var _16 = _14 * _15;
              var _17 = _13 + _16;
              var _18 = FHEAP[_scevgep24];
              var _19 = _18 < _17;
              ;
              if (_19) {
                ;
                FHEAP[_scevgep17] = _8;
                FHEAP[_scevgep18] = _11;
                FHEAP[_scevgep19] = _15;
                FHEAP[_scevgep24] = _17;
                ;
              }
              var _20 = IHEAP[_27];
              var _21 = _20+84;
              var _22 = IHEAP[_21];
              var _23 = _22;
              var _24 = FUNCTION_TABLE[_23](_this);
              var _25 = _24 > _tmp;
              if (_25) { __lastLabel__ = 83; __label__ = 61; /* _bb4 */ continue _bb4$_bb9$9961; } else { __lastLabel__ = 83; __label__ = 62; /* _bb9 */ continue _bb4$_bb9$9961; }
            }
            else if (__label__ == 62) {
              var _26 = _j_013 + 1;
              var _exitcond = _26 == _numVectors;
              if (_exitcond) { __lastLabel__ = 62; __label__ = 44; /* _return */ continue _bb$_return$9954; } else { __lastLabel__ = 62; __label__ = 272; /* _bb7_preheader */ continue _bb7_preheader$9959; }
            }
          }
        }
      }
      else if (__label__ == 44) {
        STACKTOP = __stackBase__;
        return;
      }
    }
  }
  __ZNK23btPolyhedralConvexShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__ = Runtime.getFunctionIndex(__ZNK23btPolyhedralConvexShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, "__ZNK23btPolyhedralConvexShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i");
  
  
  function __ZNK23btPolyhedralConvexShape21calculateLocalInertiaEfR9btVector3(_this, _mass, _inertia) {
    var __stackBase__  = STACKTOP; STACKTOP += 96;
    var __label__;
    var _ident = __stackBase__;
    var _aabbMin = __stackBase__+64;
    var _aabbMax = __stackBase__+80;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+44;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    var _6 = FUNCTION_TABLE[_5](_4);
    var _7 = _ident;
    FHEAP[_7] = 1;
    var _8 = _ident+4;
    FHEAP[_8] = 0;
    var _9 = _ident+8;
    FHEAP[_9] = 0;
    var _10 = _ident+12;
    FHEAP[_10] = 0;
    var _11 = _ident+16;
    FHEAP[_11] = 0;
    var _12 = _ident+16+4;
    FHEAP[_12] = 1;
    var _13 = _ident+16+8;
    FHEAP[_13] = 0;
    var _14 = _ident+16+12;
    FHEAP[_14] = 0;
    var _15 = _ident+32;
    FHEAP[_15] = 0;
    var _16 = _ident+32+4;
    FHEAP[_16] = 0;
    var _17 = _ident+32+8;
    FHEAP[_17] = 1;
    var _18 = _ident+32+12;
    FHEAP[_18] = 0;
    var _19 = _ident+48;
    FHEAP[_19] = 0;
    var _20 = _ident+48+4;
    FHEAP[_20] = 0;
    var _21 = _ident+48+8;
    FHEAP[_21] = 0;
    var _22 = _ident+48+12;
    FHEAP[_22] = 0;
    var _23 = IHEAP[_0];
    var _24 = _23+8;
    var _25 = IHEAP[_24];
    var _26 = _25;
    FUNCTION_TABLE[_26](_4, _ident, _aabbMin, _aabbMax);
    var _27 = _aabbMax+8;
    var _28 = FHEAP[_27];
    var _29 = _aabbMin+8;
    var _30 = FHEAP[_29];
    var _31 = _28 - _30;
    var _32 = _aabbMax+4;
    var _33 = FHEAP[_32];
    var _34 = _aabbMin+4;
    var _35 = FHEAP[_34];
    var _36 = _33 - _35;
    var _37 = _aabbMax;
    var _38 = FHEAP[_37];
    var _39 = _aabbMin;
    var _40 = FHEAP[_39];
    var _41 = _38 - _40;
    var _42 = _31 * 0.5;
    var _43 = _36 * 0.5;
    var _44 = _41 * 0.5;
    var _45 = _44 + _6;
    var _46 = _45 * 2;
    var _47 = _43 + _6;
    var _48 = _47 * 2;
    var _49 = _42 + _6;
    var _50 = _49 * 2;
    var _51 = _46 * _46;
    var _52 = _48 * _48;
    var _53 = _50 * _50;
    var _54 = _mass * 0.0833333283662796;
    var _55 = _51 + _52;
    var _56 = _51 + _53;
    var _57 = _52 + _53;
    var _58 = _55 * _54;
    var _59 = _56 * _54;
    var _60 = _57 * _54;
    var _61 = _inertia;
    FHEAP[_61] = _60;
    var _62 = _inertia+4;
    FHEAP[_62] = _59;
    var _63 = _inertia+8;
    FHEAP[_63] = _58;
    var _64 = _inertia+12;
    FHEAP[_64] = 0;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK23btPolyhedralConvexShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK23btPolyhedralConvexShape21calculateLocalInertiaEfR9btVector3, "__ZNK23btPolyhedralConvexShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZNK34btPolyhedralConvexAabbCachingShape7getAabbERK11btTransformR9btVector3S4_(_this, _trans, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+44;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    var _6 = FUNCTION_TABLE[_5](_4);
    var _7 = _this+68+8;
    var _8 = FHEAP[_7];
    var _9 = _this+52+8;
    var _10 = FHEAP[_9];
    var _11 = _8 - _10;
    var _12 = _this+68+4;
    var _13 = FHEAP[_12];
    var _14 = _this+52+4;
    var _15 = FHEAP[_14];
    var _16 = _13 - _15;
    var _17 = _this+68;
    var _18 = FHEAP[_17];
    var _19 = _this+52;
    var _20 = FHEAP[_19];
    var _21 = _18 - _20;
    var _22 = _11 * 0.5;
    var _23 = _16 * 0.5;
    var _24 = _21 * 0.5;
    var _25 = _24 + _6;
    var _26 = _23 + _6;
    var _27 = _22 + _6;
    var _28 = _8 + _10;
    var _29 = _13 + _15;
    var _30 = _18 + _20;
    var _31 = _28 * 0.5;
    var _32 = _29 * 0.5;
    var _33 = _30 * 0.5;
    var _34 = _trans+32+8;
    var _35 = FHEAP[_34];
    var _36 = _fabsf(_35);
    var _37 = _trans+32+4;
    var _38 = FHEAP[_37];
    var _39 = _fabsf(_38);
    var _40 = _trans+32;
    var _41 = FHEAP[_40];
    var _42 = _fabsf(_41);
    var _43 = _trans+16+8;
    var _44 = FHEAP[_43];
    var _45 = _fabsf(_44);
    var _46 = _trans+16+4;
    var _47 = FHEAP[_46];
    var _48 = _fabsf(_47);
    var _49 = _trans+16;
    var _50 = FHEAP[_49];
    var _51 = _fabsf(_50);
    var _52 = _trans+8;
    var _53 = FHEAP[_52];
    var _54 = _fabsf(_53);
    var _55 = _trans+4;
    var _56 = FHEAP[_55];
    var _57 = _fabsf(_56);
    var _58 = _trans;
    var _59 = FHEAP[_58];
    var _60 = _fabsf(_59);
    var _61 = _41 * _33;
    var _62 = _38 * _32;
    var _63 = _61 + _62;
    var _64 = _35 * _31;
    var _65 = _63 + _64;
    var _66 = _trans+48+8;
    var _67 = FHEAP[_66];
    var _68 = _65 + _67;
    var _69 = _50 * _33;
    var _70 = _47 * _32;
    var _71 = _69 + _70;
    var _72 = _44 * _31;
    var _73 = _71 + _72;
    var _74 = _trans+48+4;
    var _75 = FHEAP[_74];
    var _76 = _73 + _75;
    var _77 = _59 * _33;
    var _78 = _56 * _32;
    var _79 = _77 + _78;
    var _80 = _53 * _31;
    var _81 = _79 + _80;
    var _82 = _trans+48;
    var _83 = FHEAP[_82];
    var _84 = _81 + _83;
    var _85 = _42 * _25;
    var _86 = _39 * _26;
    var _87 = _85 + _86;
    var _88 = _36 * _27;
    var _89 = _87 + _88;
    var _90 = _51 * _25;
    var _91 = _48 * _26;
    var _92 = _90 + _91;
    var _93 = _45 * _27;
    var _94 = _92 + _93;
    var _95 = _60 * _25;
    var _96 = _57 * _26;
    var _97 = _95 + _96;
    var _98 = _54 * _27;
    var _99 = _97 + _98;
    var _100 = _68 - _89;
    var _101 = _76 - _94;
    var _102 = _84 - _99;
    var _103 = _aabbMin;
    FHEAP[_103] = _102;
    var _104 = _aabbMin+4;
    FHEAP[_104] = _101;
    var _105 = _aabbMin+8;
    FHEAP[_105] = _100;
    var _106 = _aabbMin+12;
    FHEAP[_106] = 0;
    var _107 = _68 + _89;
    var _108 = _76 + _94;
    var _109 = _84 + _99;
    var _110 = _aabbMax;
    FHEAP[_110] = _109;
    var _111 = _aabbMax+4;
    FHEAP[_111] = _108;
    var _112 = _aabbMax+8;
    FHEAP[_112] = _107;
    var _113 = _aabbMax+12;
    FHEAP[_113] = 0;
    ;
    return;
  }
  __ZNK34btPolyhedralConvexAabbCachingShape7getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK34btPolyhedralConvexAabbCachingShape7getAabbERK11btTransformR9btVector3S4_, "__ZNK34btPolyhedralConvexAabbCachingShape7getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZNK23btPolyhedralConvexShape37localGetSupportingVertexWithoutMarginERK9btVector3(_agg_result, _this, _vec0) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var __lastLabel__ = null;
    var _vtx = __stackBase__;
    var _0 = _agg_result;
    FHEAP[_0] = 0;
    var _1 = _agg_result+4;
    FHEAP[_1] = 0;
    var _2 = _agg_result+8;
    FHEAP[_2] = 0;
    var _3 = _agg_result+12;
    FHEAP[_3] = 0;
    var _4 = _vec0;
    var _5 = FHEAP[_4];
    var _6 = _vec0+4;
    var _7 = FHEAP[_6];
    var _8 = _vec0+8;
    var _9 = FHEAP[_8];
    var _10 = _5 * _5;
    var _11 = _7 * _7;
    var _12 = _10 + _11;
    var _13 = _9 * _9;
    var _14 = _12 + _13;
    var _15 = _14 < 0.00009999999747378752;
    ;
    if (_15) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _16 = _sqrtf(_14);
      var _17 = 1 / _16;
      var _18 = _5 * _17;
      var _19 = _7 * _17;
      var _20 = _9 * _17;
      __lastLabel__ = 75; ;
    }
    var _vec_0_2_0 = __lastLabel__ == 75 ? _20 : (0);
    var _vec_0_1_0 = __lastLabel__ == 75 ? _19 : (0);
    var _vec_0_0_0 = __lastLabel__ == 75 ? _18 : (1);
    var _21 = _this;
    var _22 = IHEAP[_21];
    var _23 = _22+84;
    var _24 = IHEAP[_23];
    var _25 = _24;
    var _26 = FUNCTION_TABLE[_25](_this);
    var _27 = _26 > 0;
    ;
    _bb_nph$_return$9977: do { 
      if (_27) {
        ;
        var _28 = _vtx;
        var _29 = _vtx+4;
        var _30 = _vtx+8;
        var _31 = _vtx+12;
        __lastLabel__ = 130; ;
        _bb3$9979: while(1) { // _bb3
          var _maxDot_114 = __lastLabel__ == 130 ? -999999984306749400 : (_maxDot_0);
          var _32 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _32 + 1;
          var _33 = IHEAP[_21];
          var _34 = _33+96;
          var _35 = IHEAP[_34];
          var _36 = _35;
          FUNCTION_TABLE[_36](_this, _32, _vtx);
          var _37 = FHEAP[_28];
          var _38 = _vec_0_0_0 * _37;
          var _39 = FHEAP[_29];
          var _40 = _vec_0_1_0 * _39;
          var _41 = _38 + _40;
          var _42 = FHEAP[_30];
          var _43 = _vec_0_2_0 * _42;
          var _44 = _41 + _43;
          var _45 = _44 > _maxDot_114;
          ;
          if (_45) {
            __lastLabel__ = 116; ;
            FHEAP[_0] = _37;
            FHEAP[_1] = _39;
            FHEAP[_2] = _42;
            var _46 = FHEAP[_31];
            FHEAP[_3] = _46;
            __lastLabel__ = 61; ;
          }
          else {
            __lastLabel__ = 116; ;
          }
          var _maxDot_0 = __lastLabel__ == 61 ? _44 : (_maxDot_114);
          var _47 = IHEAP[_21];
          var _48 = _47+84;
          var _49 = IHEAP[_48];
          var _50 = _49;
          var _51 = FUNCTION_TABLE[_50](_this);
          var _52 = _51 > _tmp;
          if (_52) { __lastLabel__ = 82; __label__ = 116; /* _bb3 */ continue _bb3$9979; } else { __lastLabel__ = 82; __label__ = 44; /* _return */ break _bb_nph$_return$9977; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK23btPolyhedralConvexShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK23btPolyhedralConvexShape37localGetSupportingVertexWithoutMarginERK9btVector3, "__ZNK23btPolyhedralConvexShape37localGetSupportingVertexWithoutMarginERK9btVector3");
  
  
  function __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 96;
    var __label__;
    var __supporting = __stackBase__;
    var _0 = _this+84;
    IHEAP[_0] = 1;
    var _1 = IHEAP[__ZGVZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions];
    var _2 = _1 == 0;
    ;
    _bb$_return$9989: do { 
      if (_2) {
        ;
        var _3 = ___cxa_guard_acquire(__ZGVZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions);
        var _4 = _3 == 0;
        if (_4) { __label__ = 44; /* _return */ break _bb$_return$9989; }
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions] = 1;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+4] = 0;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+8] = 0;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+12] = 0;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+16] = 0;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+16+4] = 1;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+16+8] = 0;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+16+12] = 0;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+32] = 0;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+32+4] = 0;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+32+8] = 1;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+32+12] = 0;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+48] = -1;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+48+4] = 0;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+48+8] = 0;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+48+12] = 0;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+64] = 0;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+64+4] = -1;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+64+8] = 0;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+64+12] = 0;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+80] = 0;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+80+4] = 0;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+80+8] = -1;
        FHEAP[__ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions+80+12] = 0;
        ___cxa_guard_release(__ZGVZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions);
        ;
      }
    } while(0);
    var _5 = _this;
    var _6 = __supporting;
    _llvm_memset_p0i8_i64(_6, 0, 96, 8, false);
    var _7 = IHEAP[_5];
    var _8 = _7+68;
    var _9 = IHEAP[_8];
    var _10 = _this;
    var _11 = _9;
    var _12 = __supporting;
    FUNCTION_TABLE[_11](_10, __ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions, _12, 6);
    var _13 = __supporting;
    var _14 = __supporting+48;
    var _15 = _this+44;
    var _scevgep7 = _this+68;
    var _scevgep9 = _this+52;
    var _16 = FHEAP[_13];
    var _17 = FHEAP[_15];
    var _18 = _16 + _17;
    FHEAP[_scevgep7] = _18;
    var _19 = FHEAP[_14];
    var _20 = _19 - _17;
    FHEAP[_scevgep9] = _20;
    var _scevgep_1 = __supporting+20;
    var _scevgep7_1 = _this+68+4;
    var _scevgep8_1 = __supporting+48+20;
    var _scevgep9_1 = _this+52+4;
    var _21 = FHEAP[_scevgep_1];
    var _22 = _21 + _17;
    FHEAP[_scevgep7_1] = _22;
    var _23 = FHEAP[_scevgep8_1];
    var _24 = _23 - _17;
    FHEAP[_scevgep9_1] = _24;
    var _scevgep_2 = __supporting+40;
    var _scevgep7_2 = _this+68+8;
    var _scevgep8_2 = __supporting+48+40;
    var _scevgep9_2 = _this+52+8;
    var _25 = FHEAP[_scevgep_2];
    var _26 = _25 + _17;
    FHEAP[_scevgep7_2] = _26;
    var _27 = FHEAP[_scevgep8_2];
    var _28 = _27 - _17;
    FHEAP[_scevgep9_2] = _28;
    STACKTOP = __stackBase__;
    return;
  }
  __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv.__index__ = Runtime.getFunctionIndex(__ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv, "__ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv");
  
  
  function __ZNK28btScaledBvhTriangleMeshShape7getAabbERK11btTransformR9btVector3S4_(_this, _trans, _aabbMin, _aabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var _tmpLocalAabbMin = __stackBase__;
    var _tmpLocalAabbMax = __stackBase__+16;
    var _0 = _this+32;
    var _1 = IHEAP[_0];
    var _2 = _1+16;
    var _3 = FHEAP[_2];
    var _4 = _1+16+4;
    var _5 = FHEAP[_4];
    var _6 = _1+16+8;
    var _7 = FHEAP[_6];
    var _8 = _1+32;
    var _9 = FHEAP[_8];
    var _10 = _1+32+4;
    var _11 = FHEAP[_10];
    var _12 = _1+32+8;
    var _13 = FHEAP[_12];
    var _14 = _this+16+8;
    var _15 = FHEAP[_14];
    var _16 = _7 * _15;
    var _17 = _this+16+4;
    var _18 = FHEAP[_17];
    var _19 = _5 * _18;
    var _20 = _this+16;
    var _21 = FHEAP[_20];
    var _22 = _3 * _21;
    var _23 = _tmpLocalAabbMin;
    FHEAP[_23] = _22;
    var _24 = _tmpLocalAabbMin+4;
    FHEAP[_24] = _19;
    var _25 = _tmpLocalAabbMin+8;
    FHEAP[_25] = _16;
    var _26 = _tmpLocalAabbMin+12;
    FHEAP[_26] = 0;
    var _27 = _13 * _15;
    var _28 = _11 * _18;
    var _29 = _9 * _21;
    var _30 = _tmpLocalAabbMax;
    FHEAP[_30] = _29;
    var _31 = _tmpLocalAabbMax+4;
    FHEAP[_31] = _28;
    var _32 = _tmpLocalAabbMax+8;
    FHEAP[_32] = _27;
    var _33 = _tmpLocalAabbMax+12;
    FHEAP[_33] = 0;
    var _34 = _21 < 0;
    var _iftmp_224_0 = _34 ? _29 : _22;
    var _35 = _18 < 0;
    var __pn = _35 ? _30 : _23;
    var _iftmp_225_0_in = __pn+4;
    var _iftmp_225_0 = FHEAP[_iftmp_225_0_in];
    var _36 = _15 < 0;
    var __pn19 = _36 ? _30 : _23;
    var _iftmp_226_0_in = __pn19+8;
    var _iftmp_226_0 = FHEAP[_iftmp_226_0_in];
    var _37 = _21 > 0;
    var _iftmp_227_0 = _37 ? _29 : _22;
    var _38 = _18 > 0;
    var __pn20 = _38 ? _30 : _23;
    var _iftmp_228_0_in = __pn20+4;
    var _iftmp_228_0 = FHEAP[_iftmp_228_0_in];
    var _39 = _15 > 0;
    var __pn21 = _39 ? _30 : _23;
    var _iftmp_229_0_in = __pn21+8;
    var _iftmp_229_0 = FHEAP[_iftmp_229_0_in];
    var _40 = _iftmp_229_0 - _iftmp_226_0;
    var _41 = _iftmp_228_0 - _iftmp_225_0;
    var _42 = _iftmp_227_0 - _iftmp_224_0;
    var _43 = _40 * 0.5;
    var _44 = _41 * 0.5;
    var _45 = _42 * 0.5;
    var _46 = _1;
    var _47 = IHEAP[_46];
    var _48 = _47+44;
    var _49 = IHEAP[_48];
    var _50 = _1;
    var _51 = _49;
    var _52 = FUNCTION_TABLE[_51](_50);
    var _53 = _45 + _52;
    var _54 = _44 + _52;
    var _55 = _43 + _52;
    var _56 = _iftmp_229_0 + _iftmp_226_0;
    var _57 = _iftmp_228_0 + _iftmp_225_0;
    var _58 = _iftmp_227_0 + _iftmp_224_0;
    var _59 = _56 * 0.5;
    var _60 = _57 * 0.5;
    var _61 = _58 * 0.5;
    var _62 = _trans+32+8;
    var _63 = FHEAP[_62];
    var _64 = _fabsf(_63);
    var _65 = _trans+32+4;
    var _66 = FHEAP[_65];
    var _67 = _fabsf(_66);
    var _68 = _trans+32;
    var _69 = FHEAP[_68];
    var _70 = _fabsf(_69);
    var _71 = _trans+16+8;
    var _72 = FHEAP[_71];
    var _73 = _fabsf(_72);
    var _74 = _trans+16+4;
    var _75 = FHEAP[_74];
    var _76 = _fabsf(_75);
    var _77 = _trans+16;
    var _78 = FHEAP[_77];
    var _79 = _fabsf(_78);
    var _80 = _trans+8;
    var _81 = FHEAP[_80];
    var _82 = _fabsf(_81);
    var _83 = _trans+4;
    var _84 = FHEAP[_83];
    var _85 = _fabsf(_84);
    var _86 = _trans;
    var _87 = FHEAP[_86];
    var _88 = _fabsf(_87);
    var _89 = _69 * _61;
    var _90 = _66 * _60;
    var _91 = _89 + _90;
    var _92 = _63 * _59;
    var _93 = _91 + _92;
    var _94 = _trans+48+8;
    var _95 = FHEAP[_94];
    var _96 = _93 + _95;
    var _97 = _78 * _61;
    var _98 = _75 * _60;
    var _99 = _97 + _98;
    var _100 = _72 * _59;
    var _101 = _99 + _100;
    var _102 = _trans+48+4;
    var _103 = FHEAP[_102];
    var _104 = _101 + _103;
    var _105 = _87 * _61;
    var _106 = _84 * _60;
    var _107 = _105 + _106;
    var _108 = _81 * _59;
    var _109 = _107 + _108;
    var _110 = _trans+48;
    var _111 = FHEAP[_110];
    var _112 = _109 + _111;
    var _113 = _70 * _53;
    var _114 = _67 * _54;
    var _115 = _113 + _114;
    var _116 = _64 * _55;
    var _117 = _115 + _116;
    var _118 = _79 * _53;
    var _119 = _76 * _54;
    var _120 = _118 + _119;
    var _121 = _73 * _55;
    var _122 = _120 + _121;
    var _123 = _88 * _53;
    var _124 = _85 * _54;
    var _125 = _123 + _124;
    var _126 = _82 * _55;
    var _127 = _125 + _126;
    var _128 = _96 - _117;
    var _129 = _104 - _122;
    var _130 = _112 - _127;
    var _131 = _aabbMin;
    FHEAP[_131] = _130;
    var _132 = _aabbMin+4;
    FHEAP[_132] = _129;
    var _133 = _aabbMin+8;
    FHEAP[_133] = _128;
    var _134 = _aabbMin+12;
    FHEAP[_134] = 0;
    var _135 = _96 + _117;
    var _136 = _104 + _122;
    var _137 = _112 + _127;
    var _138 = _aabbMax;
    FHEAP[_138] = _137;
    var _139 = _aabbMax+4;
    FHEAP[_139] = _136;
    var _140 = _aabbMax+8;
    FHEAP[_140] = _135;
    var _141 = _aabbMax+12;
    FHEAP[_141] = 0;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK28btScaledBvhTriangleMeshShape7getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK28btScaledBvhTriangleMeshShape7getAabbERK11btTransformR9btVector3S4_, "__ZNK28btScaledBvhTriangleMeshShape7getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZNK28btScaledBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_(_this, _callback, _aabbMin, _aabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 56;
    var __label__;
    var _scaledCallback = __stackBase__;
    var _scaledAabbMin = __stackBase__+24;
    var _scaledAabbMax = __stackBase__+40;
    var _0 = _scaledCallback;
    IHEAP[_0] = __ZTV24btScaledTriangleCallback+8;
    var _1 = _scaledCallback+4;
    IHEAP[_1] = _callback;
    var _2 = _scaledCallback+8;
    var _3 = _this+16;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _scaledCallback+8+4;
    var _6 = _this+16+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _scaledCallback+8+8;
    var _9 = _this+16+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _scaledCallback+8+12;
    var _12 = _this+16+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = 1 / _10;
    var _15 = 1 / _7;
    var _16 = 1 / _4;
    var _17 = _scaledAabbMin;
    var _18 = _4 < 0;
    var _aabbMin_pn = _18 ? _aabbMax : _aabbMin;
    var __pn_in = _aabbMin_pn;
    var __pn = FHEAP[__pn_in];
    var _iftmp_218_0 = __pn * _16;
    FHEAP[_17] = _iftmp_218_0;
    var _19 = _7 < 0;
    var _aabbMin_pn48 = _19 ? _aabbMax : _aabbMin;
    var __pn43_in = _aabbMin_pn48+4;
    var __pn43 = FHEAP[__pn43_in];
    var _iftmp_219_0 = __pn43 * _15;
    var _20 = _scaledAabbMin+4;
    FHEAP[_20] = _iftmp_219_0;
    var _21 = _10 < 0;
    var _aabbMin_pn49 = _21 ? _aabbMax : _aabbMin;
    var __pn44_in = _aabbMin_pn49+8;
    var __pn44 = FHEAP[__pn44_in];
    var _iftmp_220_0 = __pn44 * _14;
    var _22 = _scaledAabbMin+8;
    FHEAP[_22] = _iftmp_220_0;
    var _23 = _scaledAabbMax;
    var _24 = _4 > 0;
    var _aabbMin_pn50 = _24 ? _aabbMax : _aabbMin;
    var __pn45_in = _aabbMin_pn50;
    var __pn45 = FHEAP[__pn45_in];
    var _iftmp_221_0 = __pn45 * _16;
    FHEAP[_23] = _iftmp_221_0;
    var _25 = _7 > 0;
    var _aabbMin_pn51 = _25 ? _aabbMax : _aabbMin;
    var __pn46_in = _aabbMin_pn51+4;
    var __pn46 = FHEAP[__pn46_in];
    var _iftmp_222_0 = __pn46 * _15;
    var _26 = _scaledAabbMax+4;
    FHEAP[_26] = _iftmp_222_0;
    var _27 = _10 > 0;
    var _aabbMin_pn52 = _27 ? _aabbMax : _aabbMin;
    var __pn47_in = _aabbMin_pn52+8;
    var __pn47 = FHEAP[__pn47_in];
    var _iftmp_223_0 = __pn47 * _14;
    var _28 = _scaledAabbMax+8;
    FHEAP[_28] = _iftmp_223_0;
    var _29 = _this+32;
    var _30 = IHEAP[_29];
    var _31 = _30;
    var _32 = IHEAP[_31];
    var _33 = _32+60;
    var _34 = IHEAP[_33];
    var _35 = _34;
    var _36 = _scaledCallback;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_35](_30, _36, _scaledAabbMin, _scaledAabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 110; /* _bb21 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 110) {
      IHEAP[_0] = __ZTV24btScaledTriangleCallback+8;
      __ZN18btTriangleCallbackD2Ev(_36);
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select23 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_0] = __ZTV24btScaledTriangleCallback+8;
      (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_36) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3253; /* _invcont19 */  } else { __label__ = 3754; /* _lpad24 */  }
      if (__label__ == 3253) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3754) {
        var _eh_ptr25 = _llvm_eh_exception();
        var _eh_select27 = _llvm_eh_selector(_eh_ptr25, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZNK28btScaledBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK28btScaledBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_, "__ZNK28btScaledBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_");
  
  
  function __ZN11btShapeHull19getUnitSpherePointsEv() {
    ;
    var __label__;
    var _0 = IHEAP[__ZGVZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints];
    var _1 = _0 == 0;
    ;
    _bb$_bb5$10021: do { 
      if (_1) {
        ;
        var _2 = ___cxa_guard_acquire(__ZGVZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints);
        var _3 = _2 == 0;
        if (_3) { __label__ = 82; /* _bb5 */ break _bb$_bb5$10021; }
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+4] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+8] = -1;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+16] = 0.7236080169677734;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+16+4] = -0.5257250070571899;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+16+8] = -0.44721901416778564;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+16+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+32] = -0.2763879895210266;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+32+4] = -0.8506489992141724;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+32+8] = -0.44721901416778564;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+32+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+48] = -0.8944259881973267;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+48+4] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+48+8] = -0.4472160041332245;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+48+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+64] = -0.2763879895210266;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+64+4] = 0.8506489992141724;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+64+8] = -0.44721999764442444;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+64+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+80] = 0.7236080169677734;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+80+4] = 0.5257250070571899;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+80+8] = -0.44721901416778564;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+80+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+96] = 0.2763879895210266;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+96+4] = -0.8506489992141724;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+96+8] = 0.44721999764442444;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+96+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+112] = -0.7236080169677734;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+112+4] = -0.5257250070571899;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+112+8] = 0.44721901416778564;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+112+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+128] = -0.7236080169677734;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+128+4] = 0.5257250070571899;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+128+8] = 0.44721901416778564;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+128+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+144] = 0.2763879895210266;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+144+4] = 0.8506489992141724;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+144+8] = 0.44721901416778564;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+144+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+160] = 0.8944259881973267;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+160+4] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+160+8] = 0.4472160041332245;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+160+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+176] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+176+4] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+176+8] = 1;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+176+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+192] = 0.4253230094909668;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+192+4] = -0.3090110123157501;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+192+8] = -0.8506540060043335;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+192+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+208] = -0.16245600581169128;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+208+4] = -0.49999499320983887;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+208+8] = -0.8506540060043335;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+208+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+224] = 0.2628690004348755;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+224+4] = -0.8090119957923889;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+224+8] = -0.525738000869751;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+224+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+240] = 0.4253230094909668;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+240+4] = 0.3090110123157501;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+240+8] = -0.8506540060043335;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+240+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+256] = 0.8506479859352112;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+256+4] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+256+8] = -0.5257359743118286;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+256+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+272] = -0.5257300138473511;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+272+4] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+272+8] = -0.8506519794464111;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+272+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+288] = -0.6881899833679199;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+288+4] = -0.49999698996543884;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+288+8] = -0.5257359743118286;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+288+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+304] = -0.16245600581169128;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+304+4] = 0.49999499320983887;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+304+8] = -0.8506540060043335;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+304+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+320] = -0.6881899833679199;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+320+4] = 0.49999698996543884;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+320+8] = -0.5257359743118286;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+320+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+336] = 0.2628690004348755;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+336+4] = 0.8090119957923889;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+336+8] = -0.525738000869751;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+336+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+352] = 0.9510579705238342;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+352+4] = 0.3090130090713501;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+352+8] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+352+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+368] = 0.9510579705238342;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+368+4] = -0.3090130090713501;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+368+8] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+368+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+384] = 0.5877860188484192;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+384+4] = -0.80901700258255;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+384+8] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+384+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+400] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+400+4] = -1;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+400+8] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+400+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+416] = -0.5877860188484192;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+416+4] = -0.80901700258255;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+416+8] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+416+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+432] = -0.9510579705238342;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+432+4] = -0.3090130090713501;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+432+8] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+432+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+448] = -0.9510579705238342;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+448+4] = 0.3090130090713501;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+448+8] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+448+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+464] = -0.5877860188484192;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+464+4] = 0.80901700258255;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+464+8] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+464+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+480] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+480+4] = 1;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+480+8] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+480+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+496] = 0.5877860188484192;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+496+4] = 0.80901700258255;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+496+8] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+496+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+512] = 0.6881899833679199;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+512+4] = -0.49999698996543884;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+512+8] = 0.5257359743118286;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+512+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+528] = -0.2628690004348755;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+528+4] = -0.8090119957923889;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+528+8] = 0.525738000869751;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+528+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+544] = -0.8506479859352112;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+544+4] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+544+8] = 0.5257359743118286;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+544+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+560] = -0.2628690004348755;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+560+4] = 0.8090119957923889;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+560+8] = 0.525738000869751;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+560+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+576] = 0.6881899833679199;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+576+4] = 0.49999698996543884;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+576+8] = 0.5257359743118286;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+576+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+592] = 0.5257300138473511;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+592+4] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+592+8] = 0.8506519794464111;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+592+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+608] = 0.16245600581169128;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+608+4] = -0.49999499320983887;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+608+8] = 0.8506540060043335;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+608+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+624] = -0.4253230094909668;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+624+4] = -0.3090110123157501;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+624+8] = 0.8506540060043335;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+624+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+640] = -0.4253230094909668;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+640+4] = 0.3090110123157501;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+640+8] = 0.8506540060043335;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+640+12] = 0;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+656] = 0.16245600581169128;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+656+4] = 0.49999499320983887;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+656+8] = 0.8506540060043335;
        FHEAP[__ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+656+12] = 0;
        ___cxa_guard_release(__ZGVZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints);
        ;
        return __ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints;
      }
    } while(0);
    ;
    return __ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints;
  }
  __ZN11btShapeHull19getUnitSpherePointsEv.__index__ = Runtime.getFunctionIndex(__ZN11btShapeHull19getUnitSpherePointsEv, "__ZN11btShapeHull19getUnitSpherePointsEv");
  
  
  function __ZN10HullResultD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this+36+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (!_2) {
      ;
      var _3 = _this+36+16;
      var _4 = IHEAP[_3];
      var _toBool_i_i_i = _4 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$10028: do { 
        if (!_toBool_i_i_i) {
          ;
          var _5 = _1;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$10028; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select6 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _21 = _this+8+12;
          var _22 = IHEAP[_21];
          var _23 = _22 == 0;
          ;
          if (!_23) {
            ;
            var _24 = _this+8+16;
            var _25 = IHEAP[_24];
            var _toBool_i_i_i17 = _25 == 0;
            ;
            _bb2_i_i_i20$_bb1_i_i_i19$10033: do { 
              if (!_toBool_i_i_i17) {
                ;
                var _26 = _22;
                (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_26) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3919; /* _bb2_i_i_i20 */ break _bb2_i_i_i20$_bb1_i_i_i19$10033; } else { ; }
                var _eh_ptr8 = _llvm_eh_exception();
                var _eh_select10 = _llvm_eh_selector(_eh_ptr8, ___gxx_personality_v0, 1);
                __ZSt9terminatev();
                // unreachable
              }
            } while(0);
            IHEAP[_21] = 0;
            ;
          }
          var _6 = _this+8+16;
          IHEAP[_6] = 1;
          IHEAP[_21] = 0;
          var _7 = _this+8+4;
          IHEAP[_7] = 0;
          var _8 = _this+8+8;
          IHEAP[_8] = 0;
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
      } while(0);
      IHEAP[_0] = 0;
      ;
    }
    var _9 = _this+36+16;
    IHEAP[_9] = 1;
    IHEAP[_0] = 0;
    var _10 = _this+36+4;
    IHEAP[_10] = 0;
    var _11 = _this+36+8;
    IHEAP[_11] = 0;
    var _12 = _this+8+12;
    var _13 = IHEAP[_12];
    var _14 = _13 == 0;
    ;
    if (!_14) {
      ;
      var _15 = _this+8+16;
      var _16 = IHEAP[_15];
      var _toBool_i_i_i13 = _16 == 0;
      ;
      if (!_toBool_i_i_i13) {
        ;
        var _17 = _13;
        __Z21btAlignedFreeInternalPv(_17);
        ;
      }
      IHEAP[_12] = 0;
      ;
    }
    var _18 = _this+8+16;
    IHEAP[_18] = 1;
    IHEAP[_12] = 0;
    var _19 = _this+8+4;
    IHEAP[_19] = 0;
    var _20 = _this+8+8;
    IHEAP[_20] = 0;
    ;
    return;
  }
  __ZN10HullResultD1Ev.__index__ = Runtime.getFunctionIndex(__ZN10HullResultD1Ev, "__ZN10HullResultD1Ev");
  
  
  function __ZN11btShapeHullD1Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+20+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _invcont$_bb_i_i$10047: do { 
      if (_2) {
        __label__ = 345; /* _invcont */ 
      }
      else {
        ;
        var _3 = _this+20+16;
        var _4 = IHEAP[_3];
        var _toBool_i_i = _4 == 0;
        ;
        if (!_toBool_i_i) {
          ;
          var _5 = _1;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3832; /* _lpad17 */ break _invcont$_bb_i_i$10047; }
        }
        IHEAP[_0] = 0;
        __label__ = 345; /* _invcont */ break _invcont$_bb_i_i$10047;
      }
    } while(0);
    _invcont$_lpad17$10052: do { 
      if (__label__ == 345) {
        var _6 = _this+20+16;
        IHEAP[_6] = 1;
        IHEAP[_0] = 0;
        var _7 = _this+20+4;
        IHEAP[_7] = 0;
        var _8 = _this+20+8;
        IHEAP[_8] = 0;
        var _9 = _this+12;
        var _10 = IHEAP[_9];
        var _11 = _10 == 0;
        ;
        if (_11) {
          __lastLabel__ = 345; ;
        }
        else {
          __lastLabel__ = 345; ;
          var _12 = _this+16;
          var _13 = IHEAP[_12];
          var _toBool_i_i33 = _13 == 0;
          ;
          if (_toBool_i_i33) {
            __lastLabel__ = 4467; ;
          }
          else {
            __lastLabel__ = 4467; ;
            var _14 = _10;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3832; /* _lpad17 */ break _invcont$_lpad17$10052; }
            var __pre_pre = IHEAP[_0];
            __lastLabel__ = 1889; ;
          }
          var __pre = __lastLabel__ == 1889 ? __pre_pre : (0);
          IHEAP[_9] = 0;
          __lastLabel__ = 1891; ;
        }
        var _15 = __lastLabel__ == 1891 ? __pre : (0);
        var _16 = _this+16;
        IHEAP[_16] = 1;
        IHEAP[_9] = 0;
        var _17 = _this+4;
        IHEAP[_17] = 0;
        var _18 = _this+8;
        IHEAP[_18] = 0;
        var _19 = _15 == 0;
        ;
        _bb11_thread$_bb_i_i_i$10061: do { 
          if (_19) {
            ;
            IHEAP[_6] = 1;
            IHEAP[_0] = 0;
            IHEAP[_7] = 0;
            IHEAP[_8] = 0;
            ;
          }
          else {
            ;
            var _20 = IHEAP[_6];
            var _toBool_i_i_i = _20 == 0;
            ;
            if (_toBool_i_i_i) {
              ;
              IHEAP[_6] = 1;
              IHEAP[_0] = 0;
              IHEAP[_7] = 0;
              IHEAP[_8] = 0;
              ;
            }
            else {
              ;
              var _21 = _15;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_21) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 292; /* _bb11 */  } else { __label__ = 254; /* _lpad */  }
              if (__label__ == 292) {
                var __pre55_pre = IHEAP[_9];
                IHEAP[_6] = 1;
                IHEAP[_0] = 0;
                IHEAP[_7] = 0;
                IHEAP[_8] = 0;
                var _25 = __pre55_pre == 0;
                if (_25) { __label__ = 1894; /* __ZN20btAlignedObjectArrayI9btVector3ED1Ev_exit */ break _bb11_thread$_bb_i_i_i$10061; }
                var _26 = IHEAP[_16];
                var _toBool_i_i_i39 = _26 == 0;
                ;
                if (!_toBool_i_i_i39) {
                  ;
                  var _27 = __pre55_pre;
                  __Z21btAlignedFreeInternalPv(_27);
                  ;
                }
                IHEAP[_9] = 0;
                ;
              }
              else if (__label__ == 254) {
                var _eh_ptr = _llvm_eh_exception();
                var _eh_select16 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
                __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _invcont$_lpad17$10052;
              }
            }
          }
        } while(0);
        IHEAP[_16] = 1;
        IHEAP[_9] = 0;
        IHEAP[_17] = 0;
        IHEAP[_18] = 0;
        ;
        return;
      }
    } while(0);
    if (__label__ == 3832) {
      var _eh_ptr18 = _llvm_eh_exception();
      var _eh_select20 = _llvm_eh_selector(_eh_ptr18, ___gxx_personality_v0, 0);
      var _28 = IHEAP[_0];
      var _29 = _28 == 0;
      ;
      if (!_29) {
        ;
        var _30 = _this+20+16;
        var _31 = IHEAP[_30];
        var _toBool_i_i_i43 = _31 == 0;
        ;
        _bb2_i_i_i46$_bb1_i_i_i45$10079: do { 
          if (!_toBool_i_i_i43) {
            ;
            var _32 = _28;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_32) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3931; /* _bb2_i_i_i46 */ break _bb2_i_i_i46$_bb1_i_i_i45$10079; } else { ; }
            var _eh_ptr22 = _llvm_eh_exception();
            var _eh_select24 = _llvm_eh_selector(_eh_ptr22, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_0] = 0;
        ;
      }
      var _33 = _this+20+16;
      IHEAP[_33] = 1;
      IHEAP[_0] = 0;
      var _34 = _this+20+4;
      IHEAP[_34] = 0;
      var _35 = _this+20+8;
      IHEAP[_35] = 0;
      __lastLabel__ = 1898; ;
    }
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr18);
    var _36 = _this+12;
    var _37 = IHEAP[_36];
    var _38 = _37 == 0;
    ;
    if (!_38) {
      ;
      var _39 = _this+16;
      var _40 = IHEAP[_39];
      var _toBool_i_i_i49 = _40 == 0;
      ;
      _bb2_i_i_i52$_bb1_i_i_i51$10087: do { 
        if (!_toBool_i_i_i49) {
          ;
          var _41 = _37;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_41) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3932; /* _bb2_i_i_i52 */ break _bb2_i_i_i52$_bb1_i_i_i51$10087; } else { ; }
          var _eh_ptr26 = _llvm_eh_exception();
          var _eh_select28 = _llvm_eh_selector(_eh_ptr26, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_36] = 0;
      ;
    }
    var _22 = _this+16;
    IHEAP[_22] = 1;
    IHEAP[_36] = 0;
    var _23 = _this+4;
    IHEAP[_23] = 0;
    var _24 = _this+8;
    IHEAP[_24] = 0;
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  __ZN11btShapeHullD1Ev.__index__ = Runtime.getFunctionIndex(__ZN11btShapeHullD1Ev, "__ZN11btShapeHullD1Ev");
  
  
  function __ZN11btShapeHullD2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+20+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _invcont$_bb_i_i$10093: do { 
      if (_2) {
        __label__ = 345; /* _invcont */ 
      }
      else {
        ;
        var _3 = _this+20+16;
        var _4 = IHEAP[_3];
        var _toBool_i_i = _4 == 0;
        ;
        if (!_toBool_i_i) {
          ;
          var _5 = _1;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3832; /* _lpad17 */ break _invcont$_bb_i_i$10093; }
        }
        IHEAP[_0] = 0;
        __label__ = 345; /* _invcont */ break _invcont$_bb_i_i$10093;
      }
    } while(0);
    _invcont$_lpad17$10098: do { 
      if (__label__ == 345) {
        var _6 = _this+20+16;
        IHEAP[_6] = 1;
        IHEAP[_0] = 0;
        var _7 = _this+20+4;
        IHEAP[_7] = 0;
        var _8 = _this+20+8;
        IHEAP[_8] = 0;
        var _9 = _this+12;
        var _10 = IHEAP[_9];
        var _11 = _10 == 0;
        ;
        if (_11) {
          __lastLabel__ = 345; ;
        }
        else {
          __lastLabel__ = 345; ;
          var _12 = _this+16;
          var _13 = IHEAP[_12];
          var _toBool_i_i33 = _13 == 0;
          ;
          if (_toBool_i_i33) {
            __lastLabel__ = 4467; ;
          }
          else {
            __lastLabel__ = 4467; ;
            var _14 = _10;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3832; /* _lpad17 */ break _invcont$_lpad17$10098; }
            var __pre_pre = IHEAP[_0];
            __lastLabel__ = 1889; ;
          }
          var __pre = __lastLabel__ == 1889 ? __pre_pre : (0);
          IHEAP[_9] = 0;
          __lastLabel__ = 1891; ;
        }
        var _15 = __lastLabel__ == 1891 ? __pre : (0);
        var _16 = _this+16;
        IHEAP[_16] = 1;
        IHEAP[_9] = 0;
        var _17 = _this+4;
        IHEAP[_17] = 0;
        var _18 = _this+8;
        IHEAP[_18] = 0;
        var _19 = _15 == 0;
        ;
        _bb11_thread$_bb_i_i_i$10107: do { 
          if (_19) {
            ;
            IHEAP[_6] = 1;
            IHEAP[_0] = 0;
            IHEAP[_7] = 0;
            IHEAP[_8] = 0;
            ;
          }
          else {
            ;
            var _20 = IHEAP[_6];
            var _toBool_i_i_i = _20 == 0;
            ;
            if (_toBool_i_i_i) {
              ;
              IHEAP[_6] = 1;
              IHEAP[_0] = 0;
              IHEAP[_7] = 0;
              IHEAP[_8] = 0;
              ;
            }
            else {
              ;
              var _21 = _15;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_21) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 292; /* _bb11 */  } else { __label__ = 254; /* _lpad */  }
              if (__label__ == 292) {
                var __pre55_pre = IHEAP[_9];
                IHEAP[_6] = 1;
                IHEAP[_0] = 0;
                IHEAP[_7] = 0;
                IHEAP[_8] = 0;
                var _25 = __pre55_pre == 0;
                if (_25) { __label__ = 1894; /* __ZN20btAlignedObjectArrayI9btVector3ED1Ev_exit */ break _bb11_thread$_bb_i_i_i$10107; }
                var _26 = IHEAP[_16];
                var _toBool_i_i_i39 = _26 == 0;
                ;
                if (!_toBool_i_i_i39) {
                  ;
                  var _27 = __pre55_pre;
                  __Z21btAlignedFreeInternalPv(_27);
                  ;
                }
                IHEAP[_9] = 0;
                ;
              }
              else if (__label__ == 254) {
                var _eh_ptr = _llvm_eh_exception();
                var _eh_select16 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
                __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _invcont$_lpad17$10098;
              }
            }
          }
        } while(0);
        IHEAP[_16] = 1;
        IHEAP[_9] = 0;
        IHEAP[_17] = 0;
        IHEAP[_18] = 0;
        ;
        return;
      }
    } while(0);
    if (__label__ == 3832) {
      var _eh_ptr18 = _llvm_eh_exception();
      var _eh_select20 = _llvm_eh_selector(_eh_ptr18, ___gxx_personality_v0, 0);
      var _28 = IHEAP[_0];
      var _29 = _28 == 0;
      ;
      if (!_29) {
        ;
        var _30 = _this+20+16;
        var _31 = IHEAP[_30];
        var _toBool_i_i_i43 = _31 == 0;
        ;
        _bb2_i_i_i46$_bb1_i_i_i45$10125: do { 
          if (!_toBool_i_i_i43) {
            ;
            var _32 = _28;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_32) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3931; /* _bb2_i_i_i46 */ break _bb2_i_i_i46$_bb1_i_i_i45$10125; } else { ; }
            var _eh_ptr22 = _llvm_eh_exception();
            var _eh_select24 = _llvm_eh_selector(_eh_ptr22, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_0] = 0;
        ;
      }
      var _33 = _this+20+16;
      IHEAP[_33] = 1;
      IHEAP[_0] = 0;
      var _34 = _this+20+4;
      IHEAP[_34] = 0;
      var _35 = _this+20+8;
      IHEAP[_35] = 0;
      __lastLabel__ = 1898; ;
    }
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr18);
    var _36 = _this+12;
    var _37 = IHEAP[_36];
    var _38 = _37 == 0;
    ;
    if (!_38) {
      ;
      var _39 = _this+16;
      var _40 = IHEAP[_39];
      var _toBool_i_i_i49 = _40 == 0;
      ;
      _bb2_i_i_i52$_bb1_i_i_i51$10133: do { 
        if (!_toBool_i_i_i49) {
          ;
          var _41 = _37;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_41) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3932; /* _bb2_i_i_i52 */ break _bb2_i_i_i52$_bb1_i_i_i51$10133; } else { ; }
          var _eh_ptr26 = _llvm_eh_exception();
          var _eh_select28 = _llvm_eh_selector(_eh_ptr26, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_36] = 0;
      ;
    }
    var _22 = _this+16;
    IHEAP[_22] = 1;
    IHEAP[_36] = 0;
    var _23 = _this+4;
    IHEAP[_23] = 0;
    var _24 = _this+8;
    IHEAP[_24] = 0;
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  __ZN11btShapeHullD2Ev.__index__ = Runtime.getFunctionIndex(__ZN11btShapeHullD2Ev, "__ZN11btShapeHullD2Ev");
  
  
  function __ZN11HullLibraryD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this+20+12;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (!_2) {
      ;
      var _3 = _this+20+16;
      var _4 = IHEAP[_3];
      var _toBool_i_i_i = _4 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$10142: do { 
        if (!_toBool_i_i_i) {
          ;
          var _5 = _1;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$10142; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select6 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _21 = _this+12;
          var _22 = IHEAP[_21];
          var _23 = _22 == 0;
          ;
          if (!_23) {
            ;
            var _24 = _this+16;
            var _25 = IHEAP[_24];
            var _toBool_i_i_i17 = _25 == 0;
            ;
            _bb2_i_i_i20$_bb1_i_i_i19$10147: do { 
              if (!_toBool_i_i_i17) {
                ;
                var _26 = _22;
                (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_26) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3919; /* _bb2_i_i_i20 */ break _bb2_i_i_i20$_bb1_i_i_i19$10147; } else { ; }
                var _eh_ptr8 = _llvm_eh_exception();
                var _eh_select10 = _llvm_eh_selector(_eh_ptr8, ___gxx_personality_v0, 1);
                __ZSt9terminatev();
                // unreachable
              }
            } while(0);
            IHEAP[_21] = 0;
            ;
          }
          var _6 = _this+16;
          IHEAP[_6] = 1;
          IHEAP[_21] = 0;
          var _7 = _this+4;
          IHEAP[_7] = 0;
          var _8 = _this+8;
          IHEAP[_8] = 0;
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
      } while(0);
      IHEAP[_0] = 0;
      ;
    }
    var _9 = _this+20+16;
    IHEAP[_9] = 1;
    IHEAP[_0] = 0;
    var _10 = _this+20+4;
    IHEAP[_10] = 0;
    var _11 = _this+20+8;
    IHEAP[_11] = 0;
    var _12 = _this+12;
    var _13 = IHEAP[_12];
    var _14 = _13 == 0;
    ;
    if (!_14) {
      ;
      var _15 = _this+16;
      var _16 = IHEAP[_15];
      var _toBool_i_i_i13 = _16 == 0;
      ;
      if (!_toBool_i_i_i13) {
        ;
        var _17 = _13;
        __Z21btAlignedFreeInternalPv(_17);
        ;
      }
      IHEAP[_12] = 0;
      ;
    }
    var _18 = _this+16;
    IHEAP[_18] = 1;
    IHEAP[_12] = 0;
    var _19 = _this+4;
    IHEAP[_19] = 0;
    var _20 = _this+8;
    IHEAP[_20] = 0;
    ;
    return;
  }
  __ZN11HullLibraryD1Ev.__index__ = Runtime.getFunctionIndex(__ZN11HullLibraryD1Ev, "__ZN11HullLibraryD1Ev");
  
  
  function __ZN20btAlignedObjectArrayIjE6resizeEiRKj(_this, _newsize, _fillData) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > _newsize;
    ;
    _bb12$_bb3$10161: do { 
      if (!_2) {
        ;
        var _3 = _1 < _newsize;
        if (!(_3)) { __label__ = 3; /* _bb12 */ break _bb12$_bb3$10161; }
        var _4 = _this+8;
        var _5 = IHEAP[_4];
        var _6 = _5 < _newsize;
        ;
        if (_6) {
          ;
          var _7 = _newsize == 0;
          ;
          if (_7) {
            __lastLabel__ = 131; ;
          }
          else {
            __lastLabel__ = 131; ;
            var _8 = _newsize << 2;
            var _9 = __Z22btAlignedAllocInternalji(_8, 16);
            var _phitmp_i = _9;
            var __pre = IHEAP[_0];
            __lastLabel__ = 215; ;
          }
          var _10 = __lastLabel__ == 215 ? __pre : (_1);
          var _11 = __lastLabel__ == 215 ? _phitmp_i : (0);
          var _12 = _10 > 0;
          ;
          _bb_nph_i_i$__ZNK20btAlignedObjectArrayIjE4copyEiiPj_exit_i$10169: do { 
            if (_12) {
              ;
              var _13 = _this+12;
              __lastLabel__ = 217; ;
              _bb_i4_i$10171: while(1) { // _bb_i4_i
                var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
                var _scevgep_i_i = _11+4*_indvar_i_i;
                var _14 = _scevgep_i_i == 0;
                ;
                if (!_14) {
                  ;
                  var _15 = IHEAP[_13];
                  var _scevgep8_i_i = _15+4*_indvar_i_i;
                  var _16 = IHEAP[_scevgep8_i_i];
                  IHEAP[_scevgep_i_i] = _16;
                  ;
                }
                var _indvar_next_i_i = _indvar_i_i + 1;
                var _exitcond19 = _indvar_next_i_i == _10;
                if (_exitcond19) { __lastLabel__ = 324; __label__ = 1914; /* __ZNK20btAlignedObjectArrayIjE4copyEiiPj_exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayIjE4copyEiiPj_exit_i$10169; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$10171; }
              }
            }
          } while(0);
          var _17 = _this+12;
          var _18 = IHEAP[_17];
          var _19 = _18 == 0;
          ;
          if (!_19) {
            ;
            var _20 = _this+16;
            var _21 = IHEAP[_20];
            var _toBool_i_i = _21 == 0;
            ;
            if (!_toBool_i_i) {
              ;
              var _22 = _18;
              __Z21btAlignedFreeInternalPv(_22);
              ;
            }
            IHEAP[_17] = 0;
            ;
          }
          var _23 = _this+16;
          IHEAP[_23] = 1;
          IHEAP[_17] = _11;
          IHEAP[_4] = _newsize;
          if (!(_3)) { __label__ = 3; /* _bb12 */ break _bb12$_bb3$10161; }
        }
        var _24 = _this+12;
        var _tmp = _newsize - _1;
        __lastLabel__ = 130; ;
        _bb7$10184: while(1) { // _bb7
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp17 = _1 + _indvar;
          var _25 = IHEAP[_24];
          var _scevgep18 = _25+4*_tmp17;
          var _26 = _scevgep18 == 0;
          ;
          if (!_26) {
            ;
            var _27 = IHEAP[_fillData];
            IHEAP[_scevgep18] = _27;
            ;
          }
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _tmp;
          if (_exitcond) { __lastLabel__ = 150; __label__ = 3; /* _bb12 */ break _bb12$_bb3$10161; } else { __lastLabel__ = 150; __label__ = 2; /* _bb7 */ continue _bb7$10184; }
        }
      }
    } while(0);
    IHEAP[_0] = _newsize;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIjE6resizeEiRKj.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIjE6resizeEiRKj, "__ZN20btAlignedObjectArrayIjE6resizeEiRKj");
  
  
  function __ZN11btShapeHull9buildHullEf(_this, _unnamed_arg) {
    var __stackBase__  = STACKTOP; STACKTOP += 1165;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _supportPoints = __stackBase__+17;
    var _hd = __stackBase__+1009;
    var _hl = __stackBase__+1037;
    var _hr = __stackBase__+1077;
    var _norm = __stackBase__+1133;
    var _memtmp = __stackBase__+1149;
    var _2 = _this+44;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = IHEAP[_4];
    var _6 = _5+76;
    var _7 = IHEAP[_6];
    var _8 = _7;
    var _9 = FUNCTION_TABLE[_8](_3);
    var _10 = _9 == 0;
    var __not = _10 ^ true;
    var _11 = _9 > 0;
    var _or_cond = __not & _11;
    ;
    _bb_nph$_bb_nph65$10191: do { 
      if (_or_cond) {
        __lastLabel__ = -1; ;
        var _12 = _norm;
        var _13 = _norm+4;
        var _14 = _norm+8;
        var _15 = _norm+12;
        __lastLabel__ = 130; ;
        _bb2$10193: while(1) { // _bb2
          var _16 = __lastLabel__ == 130 ? 0 : (_28);
          var _tmp68 = _16 + 42;
          var _scevgep69 = __ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+_tmp68*16;
          var _scevgep70 = __ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+_tmp68*16+4;
          var _scevgep71 = __ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+_tmp68*16+8;
          var _scevgep72 = __ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+_tmp68*16+12;
          var _17 = IHEAP[_2];
          var _18 = _17;
          var _19 = IHEAP[_18];
          var _20 = _19+80;
          var _21 = IHEAP[_20];
          var _22 = _21;
          FUNCTION_TABLE[_22](_17, _16, _norm);
          var _23 = __ZN11btShapeHull19getUnitSpherePointsEv();
          var _24 = FHEAP[_12];
          FHEAP[_scevgep69] = _24;
          var _25 = FHEAP[_13];
          FHEAP[_scevgep70] = _25;
          var _26 = FHEAP[_14];
          FHEAP[_scevgep71] = _26;
          var _27 = FHEAP[_15];
          FHEAP[_scevgep72] = _27;
          var _28 = _16 + 1;
          var _exitcond = _28 == _9;
          if (_exitcond) { __lastLabel__ = 0; __label__ = 720; /* _bb9_preheader */ break _bb2$10193; } else { __lastLabel__ = 0; __label__ = 0; /* _bb2 */ continue _bb2$10193; }
        }
        var _tmp = _9 + 42;
        var _29 = _tmp > 0;
        if (_29) { __lastLabel__ = 720; __label__ = 1919; /* _bb_nph65 */ break _bb_nph$_bb_nph65$10191; } else { __lastLabel__ = 720; __label__ = 345; /* _invcont */ break _bb_nph$_bb_nph65$10191; }
      }
      else {
        __lastLabel__ = -1; __label__ = 1919; /* _bb_nph65 */ 
      }
    } while(0);
    _bb_nph65$_invcont$10196: do { 
      if (__label__ == 1919) {
        var _numSampleDirections_196 = __lastLabel__ == 720 ? _tmp : (42);
        var _30 = _memtmp;
        var _31 = _memtmp+4;
        var _32 = _memtmp+8;
        var _33 = _memtmp+12;
        __lastLabel__ = 1919; ;
        _bb8$10198: while(1) { // _bb8
          var _i_064 = __lastLabel__ == 1919 ? 0 : (_46);
          var _scevgep8889 = _supportPoints+_i_064*16;
          var _scevgep90 = _supportPoints+_i_064*16+4;
          var _scevgep91 = _supportPoints+_i_064*16+8;
          var _scevgep92 = _supportPoints+_i_064*16+12;
          var _scevgep93 = __ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints+_i_064*16;
          var _34 = IHEAP[_2];
          var _35 = _34;
          var _36 = IHEAP[_35];
          var _37 = _36+60;
          var _38 = IHEAP[_37];
          var _39 = __ZN11btShapeHull19getUnitSpherePointsEv();
          var _40 = IHEAP[_2];
          var _41 = _38;
          FUNCTION_TABLE[_41](_memtmp, _40, _scevgep93);
          var _42 = FHEAP[_30];
          FHEAP[_scevgep8889] = _42;
          var _43 = FHEAP[_31];
          FHEAP[_scevgep90] = _43;
          var _44 = FHEAP[_32];
          FHEAP[_scevgep91] = _44;
          var _45 = FHEAP[_33];
          FHEAP[_scevgep92] = _45;
          var _46 = _i_064 + 1;
          var _exitcond87 = _46 == _numSampleDirections_196;
          if (_exitcond87) { __lastLabel__ = 148; __label__ = 345; /* _invcont */ break _bb_nph65$_invcont$10196; } else { __lastLabel__ = 148; __label__ = 148; /* _bb8 */ continue _bb8$10198; }
        }
      }
    } while(0);
    var _numSampleDirections_195 = __lastLabel__ == 720 ? _tmp : (_numSampleDirections_196);
    var _47 = _hd;
    var _48 = _hd+4;
    var _49 = _hd+8;
    var _50 = _hd+12;
    var _51 = _hd+16;
    FHEAP[_51] = 0.0010000000474974513;
    var _52 = _hd+20;
    IHEAP[_52] = 4096;
    var _53 = _hd+24;
    IHEAP[_53] = 4096;
    IHEAP[_47] = 1;
    IHEAP[_48] = _numSampleDirections_195;
    var _54 = _supportPoints;
    IHEAP[_49] = _54;
    IHEAP[_50] = 16;
    var _55 = _hl+16;
    IHEAP[_55] = 1;
    var _56 = _hl+12;
    IHEAP[_56] = 0;
    var _57 = _hl+4;
    IHEAP[_57] = 0;
    var _58 = _hl+8;
    IHEAP[_58] = 0;
    var _59 = _hl+20+16;
    IHEAP[_59] = 1;
    var _60 = _hl+20+12;
    IHEAP[_60] = 0;
    var _61 = _hl+20+4;
    IHEAP[_61] = 0;
    var _62 = _hl+20+8;
    IHEAP[_62] = 0;
    var _63 = _hr+8+16;
    IHEAP[_63] = 1;
    var _64 = _hr+8+12;
    IHEAP[_64] = 0;
    var _65 = _hr+8+4;
    IHEAP[_65] = 0;
    var _66 = _hr+8+8;
    IHEAP[_66] = 0;
    var _67 = _hr+36+16;
    IHEAP[_67] = 1;
    var _68 = _hr+36+12;
    IHEAP[_68] = 0;
    var _69 = _hr+36+4;
    IHEAP[_69] = 0;
    var _70 = _hr+36+8;
    IHEAP[_70] = 0;
    var _71 = _hr;
    IHEAP[_71] = 1;
    var _72 = _hr+4;
    IHEAP[_72] = 0;
    var _73 = _hr+28;
    IHEAP[_73] = 0;
    var _74 = _hr+32;
    IHEAP[_74] = 0;
    var _75 = (function() { try { __THREW__ = false; return __ZN11HullLibrary16CreateConvexHullERK8HullDescR10HullResult(_hl, _hd, _hr) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1603; /* _invcont11 */  } else { __label__ = 520; /* _lpad40 */  };
    _invcont11$_lpad40$10201: do { 
      if (__label__ == 1603) {
        var _76 = _75 == 1;
        ;
        if (_76) {
          __lastLabel__ = 1603; ;
        }
        else {
          __lastLabel__ = 1603; ;
          var _77 = IHEAP[_72];
          var _78 = _this;
          (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI9btVector3E6resizeEiRKS0_(_78, _77, _1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 520; /* _lpad40 */ break _invcont11$_lpad40$10201; }
          var _79 = IHEAP[_72];
          var _80 = _79 > 0;
          ;
          _bb_nph63$_bb17$10206: do { 
            if (_80) {
              ;
              var _81 = _this+12;
              __lastLabel__ = 1920; ;
              _bb15$10208: while(1) { // _bb15
                var _i_162 = __lastLabel__ == 1920 ? 0 : (_88);
                var _82 = IHEAP[_81];
                var _83 = IHEAP[_64];
                var _scevgep7879 = _83+16*_i_162;
                var _84 = FHEAP[_scevgep7879];
                var _scevgep7677 = _82+16*_i_162;
                FHEAP[_scevgep7677] = _84;
                var _scevgep81 = _83+16*_i_162+4;
                var _85 = FHEAP[_scevgep81];
                var _scevgep80 = _82+16*_i_162+4;
                FHEAP[_scevgep80] = _85;
                var _scevgep83 = _83+16*_i_162+8;
                var _86 = FHEAP[_scevgep83];
                var _scevgep82 = _82+16*_i_162+8;
                FHEAP[_scevgep82] = _86;
                var _scevgep85 = _83+16*_i_162+12;
                var _87 = FHEAP[_scevgep85];
                var _scevgep84 = _82+16*_i_162+12;
                FHEAP[_scevgep84] = _87;
                var _88 = _i_162 + 1;
                var _89 = IHEAP[_72];
                var _90 = _89 > _88;
                if (_90) { __lastLabel__ = 153; __label__ = 153; /* _bb15 */ continue _bb15$10208; } else { __lastLabel__ = 153; __label__ = 4; /* _bb17 */ break _bb_nph63$_bb17$10206; }
              }
            }
          } while(0);
          var _91 = IHEAP[_74];
          var _92 = _this+40;
          IHEAP[_92] = _91;
          IHEAP[_0] = 0;
          var _93 = _this+20;
          (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIjE6resizeEiRKj(_93, _91, _0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 520; /* _lpad40 */ break _invcont11$_lpad40$10201; }
          var _94 = IHEAP[_92];
          var _95 = _94 > 0;
          ;
          _bb_nph61$_bb21$10212: do { 
            if (_95) {
              ;
              var _96 = _this+20+12;
              __lastLabel__ = 1921; ;
              _bb19$10214: while(1) { // _bb19
                var _i_260 = __lastLabel__ == 1921 ? 0 : (_100);
                var _97 = IHEAP[_96];
                var _98 = IHEAP[_68];
                var _scevgep73 = _98+4*_i_260;
                var _99 = IHEAP[_scevgep73];
                var _scevgep74 = _97+4*_i_260;
                IHEAP[_scevgep74] = _99;
                var _100 = _i_260 + 1;
                var _101 = IHEAP[_92];
                var _102 = _101 > _100;
                if (_102) { __lastLabel__ = 64; __label__ = 64; /* _bb19 */ continue _bb19$10214; } else { __lastLabel__ = 64; __label__ = 110; /* _bb21 */ break _bb_nph61$_bb21$10212; }
              }
            }
          } while(0);
          var _103 = (function() { try { __THREW__ = false; return __ZN11HullLibrary13ReleaseResultER10HullResult(_hl, _hr) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 110; ; } else { __lastLabel__ = 110; __label__ = 520; /* _lpad40 */ break _invcont11$_lpad40$10201; };
        }
        var __057 = __lastLabel__ == 1603 ? 0 : (1);
        (function() { try { __THREW__ = false; return __ZN10HullResultD1Ev(_hr) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 518; /* _bb35 */  } else { __label__ = 254; /* _lpad */  }
        if (__label__ == 518) {
          __ZN11HullLibraryD1Ev(_hl);
          STACKTOP = __stackBase__;
          return __057;
        }
        else if (__label__ == 254) {
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select39 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _invcont11$_lpad40$10201;
        }
      }
    } while(0);
    _ppad$_lpad40$10221: do { 
      if (__label__ == 520) {
        var _eh_ptr41 = _llvm_eh_exception();
        var _eh_select43 = _llvm_eh_selector(_eh_ptr41, ___gxx_personality_v0, 0);
        (function() { try { __THREW__ = false; return __ZN10HullResultD1Ev(_hr) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 520; __label__ = 45; /* _ppad */ break _ppad$_lpad40$10221; } else { __lastLabel__ = 520; ; }
        var _eh_ptr45 = _llvm_eh_exception();
        var _eh_select47 = _llvm_eh_selector(_eh_ptr45, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr41);
    (function() { try { __THREW__ = false; return __ZN11HullLibraryD1Ev(_hl) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3934; /* _invcont33 */  } else { __label__ = 3267; /* _lpad48 */  }
    if (__label__ == 3934) {
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
    else if (__label__ == 3267) {
      var _eh_ptr49 = _llvm_eh_exception();
      var _eh_select51 = _llvm_eh_selector(_eh_ptr49, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN11btShapeHull9buildHullEf.__index__ = Runtime.getFunctionIndex(__ZN11btShapeHull9buildHullEf, "__ZN11btShapeHull9buildHullEf");
  
  
  function __ZNK13btSphereShape7getAabbERK11btTransformR9btVector3S4_(_this, _t, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+44;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = FUNCTION_TABLE[_4](_this);
    var _6 = IHEAP[_0];
    var _7 = _6+44;
    var _8 = IHEAP[_7];
    var _9 = _8;
    var _10 = FUNCTION_TABLE[_9](_this);
    var _11 = IHEAP[_0];
    var _12 = _11+44;
    var _13 = IHEAP[_12];
    var _14 = _13;
    var _15 = FUNCTION_TABLE[_14](_this);
    var _16 = _t+48+8;
    var _17 = FHEAP[_16];
    var _18 = _17 - _5;
    var _19 = _t+48+4;
    var _20 = FHEAP[_19];
    var _21 = _20 - _10;
    var _22 = _t+48;
    var _23 = FHEAP[_22];
    var _24 = _23 - _15;
    var _25 = _aabbMin;
    FHEAP[_25] = _24;
    var _26 = _aabbMin+4;
    FHEAP[_26] = _21;
    var _27 = _aabbMin+8;
    FHEAP[_27] = _18;
    var _28 = _aabbMin+12;
    FHEAP[_28] = 0;
    var _29 = FHEAP[_16];
    var _30 = _29 + _5;
    var _31 = FHEAP[_19];
    var _32 = _31 + _10;
    var _33 = FHEAP[_22];
    var _34 = _33 + _15;
    var _35 = _aabbMax;
    FHEAP[_35] = _34;
    var _36 = _aabbMax+4;
    FHEAP[_36] = _32;
    var _37 = _aabbMax+8;
    FHEAP[_37] = _30;
    var _38 = _aabbMax+12;
    FHEAP[_38] = 0;
    ;
    return;
  }
  __ZNK13btSphereShape7getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK13btSphereShape7getAabbERK11btTransformR9btVector3S4_, "__ZNK13btSphereShape7getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZNK13btSphereShape21calculateLocalInertiaEfR9btVector3(_this, _mass, _inertia) {
    ;
    var __label__;
    var _0 = _mass * 0.4000000059604645;
    var _1 = _this;
    var _2 = IHEAP[_1];
    var _3 = _2+44;
    var _4 = IHEAP[_3];
    var _5 = _4;
    var _6 = FUNCTION_TABLE[_5](_this);
    var _7 = _0 * _6;
    var _8 = IHEAP[_1];
    var _9 = _8+44;
    var _10 = IHEAP[_9];
    var _11 = _10;
    var _12 = FUNCTION_TABLE[_11](_this);
    var _13 = _7 * _12;
    var _14 = _inertia;
    FHEAP[_14] = _13;
    var _15 = _inertia+4;
    FHEAP[_15] = _13;
    var _16 = _inertia+8;
    FHEAP[_16] = _13;
    var _17 = _inertia+12;
    FHEAP[_17] = 0;
    ;
    return;
  }
  __ZNK13btSphereShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK13btSphereShape21calculateLocalInertiaEfR9btVector3, "__ZNK13btSphereShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZNK13btSphereShape24localGetSupportingVertexERK9btVector3(_agg_result, _this, _vec) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var _memtmp = __stackBase__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+64;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_memtmp, _this, _vec);
    var _5 = _agg_result;
    var _6 = _memtmp;
    var _7 = FHEAP[_6];
    var _8 = _agg_result+4;
    var _9 = _memtmp+4;
    var _10 = FHEAP[_9];
    var _11 = _agg_result+8;
    var _12 = _memtmp+8;
    var _13 = FHEAP[_12];
    var _14 = _agg_result+12;
    var _15 = _memtmp+12;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _vec;
    var _18 = FHEAP[_17];
    var _19 = _vec+4;
    var _20 = FHEAP[_19];
    var _21 = _vec+8;
    var _22 = FHEAP[_21];
    var _23 = _18 * _18;
    var _24 = _20 * _20;
    var _25 = _23 + _24;
    var _26 = _22 * _22;
    var _27 = _25 + _26;
    var _28 = _27 < 1.4210854715202004e-14;
    var _vecnorm_0_0_0 = _28 ? -1 : _18;
    var _vecnorm_0_1_0 = _28 ? -1 : _20;
    var _vecnorm_0_2_0 = _28 ? -1 : _22;
    var _29 = _vecnorm_0_0_0 * _vecnorm_0_0_0;
    var _30 = _vecnorm_0_1_0 * _vecnorm_0_1_0;
    var _31 = _29 + _30;
    var _32 = _vecnorm_0_2_0 * _vecnorm_0_2_0;
    var _33 = _31 + _32;
    var _34 = _sqrtf(_33);
    var _35 = 1 / _34;
    var _36 = _vecnorm_0_0_0 * _35;
    var _37 = _vecnorm_0_1_0 * _35;
    var _38 = _vecnorm_0_2_0 * _35;
    var _39 = IHEAP[_0];
    var _40 = _39+44;
    var _41 = IHEAP[_40];
    var _42 = _41;
    var _43 = FUNCTION_TABLE[_42](_this);
    var _44 = _38 * _43;
    var _45 = _37 * _43;
    var _46 = _36 * _43;
    var _47 = _7 + _46;
    FHEAP[_5] = _47;
    var _48 = _10 + _45;
    FHEAP[_8] = _48;
    var _49 = _13 + _44;
    FHEAP[_11] = _49;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK13btSphereShape24localGetSupportingVertexERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK13btSphereShape24localGetSupportingVertexERK9btVector3, "__ZNK13btSphereShape24localGetSupportingVertexERK9btVector3");
  
  
  function __ZN18btStaticPlaneShapeC2ERK9btVector3f(_this, _planeNormal, _planeConstant) {
    ;
    var __label__;
    var _0 = _this;
    __ZN14btConcaveShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV18btStaticPlaneShape+8;
    var _2 = _planeNormal;
    var _3 = FHEAP[_2];
    var _4 = _3 * _3;
    var _5 = _planeNormal+4;
    var _6 = FHEAP[_5];
    var _7 = _6 * _6;
    var _8 = _4 + _7;
    var _9 = _planeNormal+8;
    var _10 = FHEAP[_9];
    var _11 = _10 * _10;
    var _12 = _8 + _11;
    var _13 = _sqrtf(_12);
    var _14 = 1 / _13;
    var _15 = _10 * _14;
    var _16 = _6 * _14;
    var _17 = _3 * _14;
    var _18 = _this+48;
    FHEAP[_18] = _17;
    var _19 = _this+48+4;
    FHEAP[_19] = _16;
    var _20 = _this+48+8;
    FHEAP[_20] = _15;
    var _21 = _this+48+12;
    FHEAP[_21] = 0;
    var _22 = _this+64;
    FHEAP[_22] = _planeConstant;
    var _23 = _this+68;
    FHEAP[_23] = 0;
    var _24 = _this+68+4;
    FHEAP[_24] = 0;
    var _25 = _this+68+8;
    FHEAP[_25] = 0;
    var _26 = _this+68+12;
    FHEAP[_26] = 0;
    var _27 = _this+4;
    IHEAP[_27] = 28;
    ;
    return;
  }
  __ZN18btStaticPlaneShapeC2ERK9btVector3f.__index__ = Runtime.getFunctionIndex(__ZN18btStaticPlaneShapeC2ERK9btVector3f, "__ZN18btStaticPlaneShapeC2ERK9btVector3f");
  
  
  function __ZNK18btStaticPlaneShape9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = __ZNK16btCollisionShape9serializeEPvP12btSerializer(_0, _dataBuffer, _serializer);
    var _2 = _dataBuffer+12;
    var _scevgep_i = _this+68;
    var _scevgep4_i = _2;
    var _3 = FHEAP[_scevgep_i];
    FHEAP[_scevgep4_i] = _3;
    var _scevgep_1_i = _this+68+4;
    var _scevgep4_1_i = _dataBuffer+16;
    var _4 = _scevgep4_1_i;
    var _5 = FHEAP[_scevgep_1_i];
    FHEAP[_4] = _5;
    var _scevgep_2_i = _this+68+8;
    var _scevgep4_2_i = _dataBuffer+20;
    var _6 = _scevgep4_2_i;
    var _7 = FHEAP[_scevgep_2_i];
    FHEAP[_6] = _7;
    var _scevgep_3_i = _this+68+12;
    var _scevgep4_3_i = _dataBuffer+24;
    var _8 = _scevgep4_3_i;
    var _9 = FHEAP[_scevgep_3_i];
    FHEAP[_8] = _9;
    var _10 = _dataBuffer+28;
    var _scevgep_i2 = _this+48;
    var _scevgep4_i3 = _10;
    var _11 = FHEAP[_scevgep_i2];
    FHEAP[_scevgep4_i3] = _11;
    var _scevgep_1_i4 = _this+48+4;
    var _scevgep4_1_i5 = _dataBuffer+32;
    var _12 = _scevgep4_1_i5;
    var _13 = FHEAP[_scevgep_1_i4];
    FHEAP[_12] = _13;
    var _scevgep_2_i6 = _this+48+8;
    var _scevgep4_2_i7 = _dataBuffer+36;
    var _14 = _scevgep4_2_i7;
    var _15 = FHEAP[_scevgep_2_i6];
    FHEAP[_14] = _15;
    var _scevgep_3_i8 = _this+48+12;
    var _scevgep4_3_i9 = _dataBuffer+40;
    var _16 = _scevgep4_3_i9;
    var _17 = FHEAP[_scevgep_3_i8];
    FHEAP[_16] = _17;
    var _18 = _this+64;
    var _19 = FHEAP[_18];
    var _20 = _dataBuffer+44;
    var _21 = _20;
    FHEAP[_21] = _19;
    ;
    return __str1121;
  }
  __ZNK18btStaticPlaneShape9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK18btStaticPlaneShape9serializeEPvP12btSerializer, "__ZNK18btStaticPlaneShape9serializeEPvP12btSerializer");
  
  
  function __ZNK18btStaticPlaneShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_(_this, _callback, _aabbMin, _aabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 48;
    var __label__;
    var __lastLabel__ = null;
    var _triangle = __stackBase__;
    var _0 = _aabbMax+8;
    var _1 = FHEAP[_0];
    var _2 = _aabbMin+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _aabbMax+4;
    var _6 = FHEAP[_5];
    var _7 = _aabbMin+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _aabbMax;
    var _11 = FHEAP[_10];
    var _12 = _aabbMin;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _4 * 0.5;
    var _16 = _9 * 0.5;
    var _17 = _14 * 0.5;
    var _18 = _17 * _17;
    var _19 = _16 * _16;
    var _20 = _18 + _19;
    var _21 = _15 * _15;
    var _22 = _20 + _21;
    var _23 = _sqrtf(_22);
    var _24 = _1 + _3;
    var _25 = _6 + _8;
    var _26 = _11 + _13;
    var _27 = _24 * 0.5;
    var _28 = _25 * 0.5;
    var _29 = _26 * 0.5;
    var _30 = _this+48+8;
    var _31 = FHEAP[_30];
    var _32 = _fabsf(_31);
    var _33 = _32 > 0.7071067690849304;
    ;
    if (_33) {
      ;
      var _34 = _this+48+4;
      var _35 = FHEAP[_34];
      var _36 = _35 * _35;
      var _37 = _31 * _31;
      var _38 = _36 + _37;
      var _39 = _sqrtf(_38);
      var _40 = 1 / _39;
      var _41 = 0 - _31;
      var _42 = _40 * _41;
      var _43 = _35 * _40;
      var _44 = _38 * _40;
      var _45 = _this+48;
      var _46 = FHEAP[_45];
      var _47 = 0 - _46;
      var _48 = _43 * _47;
      var _49 = _46 * _42;
      __lastLabel__ = 131; ;
    }
    else {
      ;
      var _50 = _this+48;
      var _51 = FHEAP[_50];
      var _52 = _51 * _51;
      var _53 = _this+48+4;
      var _54 = FHEAP[_53];
      var _55 = _54 * _54;
      var _56 = _52 + _55;
      var _57 = _sqrtf(_56);
      var _58 = 1 / _57;
      var _59 = 0 - _54;
      var _60 = _58 * _59;
      var _61 = _51 * _58;
      var _62 = 0 - _31;
      var _63 = _61 * _62;
      var _64 = _31 * _60;
      var _65 = _56 * _58;
      __lastLabel__ = 159; ;
    }
    var _66 = __lastLabel__ == 131 ? _35 : (_54);
    var _67 = __lastLabel__ == 131 ? _46 : (_51);
    var _tangentDir0_0_0_0 = __lastLabel__ == 131 ? 0 : (_60);
    var _tangentDir0_0_1_0 = __lastLabel__ == 131 ? _42 : (_61);
    var _tangentDir0_0_2_0 = __lastLabel__ == 131 ? _43 : (0);
    var _tangentDir1_0_0_0 = __lastLabel__ == 131 ? _44 : (_63);
    var _tangentDir1_0_1_0 = __lastLabel__ == 131 ? _48 : (_64);
    var _tangentDir1_0_2_0 = __lastLabel__ == 131 ? _49 : (_65);
    var _68 = _67 * _29;
    var _69 = _66 * _28;
    var _70 = _68 + _69;
    var _71 = _31 * _27;
    var _72 = _70 + _71;
    var _73 = _this+64;
    var _74 = FHEAP[_73];
    var _75 = _72 - _74;
    var _76 = _31 * _75;
    var _77 = _66 * _75;
    var _78 = _67 * _75;
    var _79 = _27 - _76;
    var _80 = _28 - _77;
    var _81 = _29 - _78;
    var _82 = _tangentDir1_0_2_0 * _23;
    var _83 = _tangentDir1_0_1_0 * _23;
    var _84 = _tangentDir1_0_0_0 * _23;
    var _85 = _tangentDir0_0_2_0 * _23;
    var _86 = _tangentDir0_0_1_0 * _23;
    var _87 = _tangentDir0_0_0_0 * _23;
    var _88 = _79 + _85;
    var _89 = _80 + _86;
    var _90 = _81 + _87;
    var _91 = _88 + _82;
    var _92 = _89 + _83;
    var _93 = _90 + _84;
    var _94 = _triangle;
    FHEAP[_94] = _93;
    var _95 = _triangle+4;
    FHEAP[_95] = _92;
    var _96 = _triangle+8;
    FHEAP[_96] = _91;
    var _97 = _triangle+12;
    FHEAP[_97] = 0;
    var _98 = _88 - _82;
    var _99 = _89 - _83;
    var _100 = _90 - _84;
    var _101 = _triangle+16;
    FHEAP[_101] = _100;
    var _102 = _triangle+16+4;
    FHEAP[_102] = _99;
    var _103 = _triangle+16+8;
    FHEAP[_103] = _98;
    var _104 = _triangle+16+12;
    FHEAP[_104] = 0;
    var _105 = _79 - _85;
    var _106 = _80 - _86;
    var _107 = _81 - _87;
    var _108 = _105 - _82;
    var _109 = _106 - _83;
    var _110 = _107 - _84;
    var _111 = _triangle+32;
    FHEAP[_111] = _110;
    var _112 = _triangle+32+4;
    FHEAP[_112] = _109;
    var _113 = _triangle+32+8;
    FHEAP[_113] = _108;
    var _114 = _triangle+32+12;
    FHEAP[_114] = 0;
    var _115 = _callback;
    var _116 = IHEAP[_115];
    var _117 = _116+8;
    var _118 = IHEAP[_117];
    var _119 = _118;
    var _120 = _triangle;
    FUNCTION_TABLE[_119](_callback, _120, 0, 0);
    FHEAP[_94] = _110;
    FHEAP[_95] = _109;
    FHEAP[_96] = _108;
    FHEAP[_97] = 0;
    var _121 = _105 + _82;
    var _122 = _106 + _83;
    var _123 = _107 + _84;
    FHEAP[_101] = _123;
    FHEAP[_102] = _122;
    FHEAP[_103] = _121;
    FHEAP[_104] = 0;
    FHEAP[_111] = _93;
    FHEAP[_112] = _92;
    FHEAP[_113] = _91;
    FHEAP[_114] = 0;
    var _124 = IHEAP[_115];
    var _125 = _124+8;
    var _126 = IHEAP[_125];
    var _127 = _126;
    FUNCTION_TABLE[_127](_callback, _120, 0, 1);
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK18btStaticPlaneShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK18btStaticPlaneShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_, "__ZNK18btStaticPlaneShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_");
  
  
  function __ZN18btStaticPlaneShapeC1ERK9btVector3f(_this, _planeNormal, _planeConstant) {
    ;
    var __label__;
    var _0 = _this;
    __ZN14btConcaveShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV18btStaticPlaneShape+8;
    var _2 = _planeNormal;
    var _3 = FHEAP[_2];
    var _4 = _3 * _3;
    var _5 = _planeNormal+4;
    var _6 = FHEAP[_5];
    var _7 = _6 * _6;
    var _8 = _4 + _7;
    var _9 = _planeNormal+8;
    var _10 = FHEAP[_9];
    var _11 = _10 * _10;
    var _12 = _8 + _11;
    var _13 = _sqrtf(_12);
    var _14 = 1 / _13;
    var _15 = _10 * _14;
    var _16 = _6 * _14;
    var _17 = _3 * _14;
    var _18 = _this+48;
    FHEAP[_18] = _17;
    var _19 = _this+48+4;
    FHEAP[_19] = _16;
    var _20 = _this+48+8;
    FHEAP[_20] = _15;
    var _21 = _this+48+12;
    FHEAP[_21] = 0;
    var _22 = _this+64;
    FHEAP[_22] = _planeConstant;
    var _23 = _this+68;
    FHEAP[_23] = 0;
    var _24 = _this+68+4;
    FHEAP[_24] = 0;
    var _25 = _this+68+8;
    FHEAP[_25] = 0;
    var _26 = _this+68+12;
    FHEAP[_26] = 0;
    var _27 = _this+4;
    IHEAP[_27] = 28;
    ;
    return;
  }
  __ZN18btStaticPlaneShapeC1ERK9btVector3f.__index__ = Runtime.getFunctionIndex(__ZN18btStaticPlaneShapeC1ERK9btVector3f, "__ZN18btStaticPlaneShapeC1ERK9btVector3f");
  
  
  function __ZNK23btStridingMeshInterface27InternalProcessAllTrianglesEP31btInternalTriangleIndexCallbackRK9btVector3S4_(_this, _callback, _aabbMin, _aabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 56;
    var __label__;
    var __lastLabel__ = null;
    var _vertexbase = __stackBase__;
    var _indexbase = __stackBase__+1;
    var _indexstride = __stackBase__+2;
    var _type = __stackBase__+3;
    var _gfxindextype = __stackBase__+4;
    var _stride = __stackBase__+5;
    var _numverts = __stackBase__+6;
    var _numtriangles = __stackBase__+7;
    var _triangle = __stackBase__+8;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+28;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = FUNCTION_TABLE[_4](_this);
    var _6 = _this+4;
    var _7 = FHEAP[_6];
    var _8 = _this+4+4;
    var _9 = FHEAP[_8];
    var _10 = _this+4+8;
    var _11 = FHEAP[_10];
    var _12 = _5 > 0;
    ;
    _bb_nph81$_return$10265: do { 
      if (_12) {
        ;
        var _13 = _triangle;
        var _14 = _triangle+4;
        var _15 = _triangle+8;
        var _16 = _triangle+12;
        var _17 = _triangle+16;
        var _18 = _triangle+16+4;
        var _19 = _triangle+16+8;
        var _20 = _triangle+16+12;
        var _21 = _triangle+32;
        var _22 = _triangle+32+4;
        var _23 = _triangle+32+8;
        var _24 = _triangle+32+12;
        var _25 = _callback;
        var _26 = _triangle;
        __lastLabel__ = 1923; ;
        _bb3$10267: while(1) { // _bb3
          var _27 = __lastLabel__ == 1923 ? 0 : (_315);
          var _28 = IHEAP[_0];
          var _29 = _28+16;
          var _30 = IHEAP[_29];
          var _31 = _30;
          FUNCTION_TABLE[_31](_this, _vertexbase, _numverts, _type, _stride, _indexbase, _indexstride, _numtriangles, _gfxindextype, _27);
          var _32 = IHEAP[_type];
          if (_32 == 0) {
            __label__ = 61; /* _bb4 */ 
          }
          else if (_32 == 1) {
            __label__ = 3; /* _bb12 */ 
          }
          else {
          __label__ = 5; /* _bb22 */ 
          }
          
          _bb22$_bb4$_bb12$10269: do { 
            if (__label__ == 61) {
              var _33 = IHEAP[_gfxindextype];
              if (_33 == 2) {
                __label__ = 272; /* _bb7_preheader */ 
              }
              else if (_33 == 3) {
                __label__ = 1924; /* _bb11_preheader */ 
              }
              else {
              __label__ = 5; /* _bb22 */ break _bb22$_bb4$_bb12$10269;
              }
              
              if (__label__ == 272) {
                var _34 = IHEAP[_numtriangles];
                var _35 = _34 > 0;
                if (_35) { __lastLabel__ = 272; ; } else { __lastLabel__ = 272; __label__ = 5; /* _bb22 */ break _bb22$_bb4$_bb12$10269; }
                _bb6$10273: while(1) { // _bb6
                  var _38 = __lastLabel__ == 83 ? _96 : (0);
                  var _39 = IHEAP[_indexbase];
                  var _40 = IHEAP[_indexstride];
                  var _41 = _40 * _38;
                  var _42 = _39+_41;
                  var _43 = _42;
                  var _44 = IHEAP[_vertexbase];
                  var _45 = IHEAP[_43];
                  var _46 = IHEAP[_stride];
                  var _47 = _46 * _45;
                  var _48 = _44+_47;
                  var _49 = _48;
                  var __sum49 = _47 + 8;
                  var _50 = _44+__sum49;
                  var _51 = _50;
                  var _52 = FHEAP[_51];
                  var _53 = _52 * _11;
                  var __sum50 = _47 + 4;
                  var _54 = _44+__sum50;
                  var _55 = _54;
                  var _56 = FHEAP[_55];
                  var _57 = _56 * _9;
                  var _58 = FHEAP[_49];
                  var _59 = _58 * _7;
                  FHEAP[_13] = _59;
                  FHEAP[_14] = _57;
                  FHEAP[_15] = _53;
                  FHEAP[_16] = 0;
                  var __sum51 = _41 + 4;
                  var _60 = _39+__sum51;
                  var _61 = _60;
                  var _62 = IHEAP[_61];
                  var _63 = _46 * _62;
                  var _64 = _44+_63;
                  var _65 = _64;
                  var __sum52 = _63 + 8;
                  var _66 = _44+__sum52;
                  var _67 = _66;
                  var _68 = FHEAP[_67];
                  var _69 = _68 * _11;
                  var __sum53 = _63 + 4;
                  var _70 = _44+__sum53;
                  var _71 = _70;
                  var _72 = FHEAP[_71];
                  var _73 = _72 * _9;
                  var _74 = FHEAP[_65];
                  var _75 = _74 * _7;
                  FHEAP[_17] = _75;
                  FHEAP[_18] = _73;
                  FHEAP[_19] = _69;
                  FHEAP[_20] = 0;
                  var __sum54 = _41 + 8;
                  var _76 = _39+__sum54;
                  var _77 = _76;
                  var _78 = IHEAP[_77];
                  var _79 = _46 * _78;
                  var _80 = _44+_79;
                  var _81 = _80;
                  var __sum55 = _79 + 8;
                  var _82 = _44+__sum55;
                  var _83 = _82;
                  var _84 = FHEAP[_83];
                  var _85 = _84 * _11;
                  var __sum56 = _79 + 4;
                  var _86 = _44+__sum56;
                  var _87 = _86;
                  var _88 = FHEAP[_87];
                  var _89 = _88 * _9;
                  var _90 = FHEAP[_81];
                  var _91 = _90 * _7;
                  FHEAP[_21] = _91;
                  FHEAP[_22] = _89;
                  FHEAP[_23] = _85;
                  FHEAP[_24] = 0;
                  var _92 = IHEAP[_25];
                  var _93 = _92+8;
                  var _94 = IHEAP[_93];
                  var _95 = _94;
                  FUNCTION_TABLE[_95](_callback, _26, _27, _38);
                  var _96 = _38 + 1;
                  var _97 = IHEAP[_numtriangles];
                  var _98 = _96 < _97;
                  if (_98) { __lastLabel__ = 83; __label__ = 83; /* _bb6 */ continue _bb6$10273; } else { __lastLabel__ = 83; __label__ = 5; /* _bb22 */ break _bb22$_bb4$_bb12$10269; }
                }
              }
              else if (__label__ == 1924) {
                var _36 = IHEAP[_numtriangles];
                var _37 = _36 > 0;
                if (_37) { __lastLabel__ = 1924; ; } else { __lastLabel__ = 1924; __label__ = 5; /* _bb22 */ break _bb22$_bb4$_bb12$10269; }
                _bb9$10276: while(1) { // _bb9
                  var _99 = __lastLabel__ == 62 ? _160 : (0);
                  var _100 = IHEAP[_indexbase];
                  var _101 = IHEAP[_indexstride];
                  var _102 = _101 * _99;
                  var _103 = _100+_102;
                  var _104 = _103;
                  var _105 = IHEAP[_vertexbase];
                  var _106 = IHEAP[_104];
                  var _107 = _106;
                  var _108 = IHEAP[_stride];
                  var _109 = _107 * _108;
                  var _110 = _105+_109;
                  var _111 = _110;
                  var __sum41 = _109 + 8;
                  var _112 = _105+__sum41;
                  var _113 = _112;
                  var _114 = FHEAP[_113];
                  var _115 = _114 * _11;
                  var __sum42 = _109 + 4;
                  var _116 = _105+__sum42;
                  var _117 = _116;
                  var _118 = FHEAP[_117];
                  var _119 = _118 * _9;
                  var _120 = FHEAP[_111];
                  var _121 = _120 * _7;
                  FHEAP[_13] = _121;
                  FHEAP[_14] = _119;
                  FHEAP[_15] = _115;
                  FHEAP[_16] = 0;
                  var __sum43 = _102 + 2;
                  var _122 = _100+__sum43;
                  var _123 = _122;
                  var _124 = IHEAP[_123];
                  var _125 = _124;
                  var _126 = _125 * _108;
                  var _127 = _105+_126;
                  var _128 = _127;
                  var __sum44 = _126 + 8;
                  var _129 = _105+__sum44;
                  var _130 = _129;
                  var _131 = FHEAP[_130];
                  var _132 = _131 * _11;
                  var __sum45 = _126 + 4;
                  var _133 = _105+__sum45;
                  var _134 = _133;
                  var _135 = FHEAP[_134];
                  var _136 = _135 * _9;
                  var _137 = FHEAP[_128];
                  var _138 = _137 * _7;
                  FHEAP[_17] = _138;
                  FHEAP[_18] = _136;
                  FHEAP[_19] = _132;
                  FHEAP[_20] = 0;
                  var __sum46 = _102 + 4;
                  var _139 = _100+__sum46;
                  var _140 = _139;
                  var _141 = IHEAP[_140];
                  var _142 = _141;
                  var _143 = _142 * _108;
                  var _144 = _105+_143;
                  var _145 = _144;
                  var __sum47 = _143 + 8;
                  var _146 = _105+__sum47;
                  var _147 = _146;
                  var _148 = FHEAP[_147];
                  var _149 = _148 * _11;
                  var __sum48 = _143 + 4;
                  var _150 = _105+__sum48;
                  var _151 = _150;
                  var _152 = FHEAP[_151];
                  var _153 = _152 * _9;
                  var _154 = FHEAP[_145];
                  var _155 = _154 * _7;
                  FHEAP[_21] = _155;
                  FHEAP[_22] = _153;
                  FHEAP[_23] = _149;
                  FHEAP[_24] = 0;
                  var _156 = IHEAP[_25];
                  var _157 = _156+8;
                  var _158 = IHEAP[_157];
                  var _159 = _158;
                  FUNCTION_TABLE[_159](_callback, _26, _27, _99);
                  var _160 = _99 + 1;
                  var _161 = IHEAP[_numtriangles];
                  var _162 = _160 < _161;
                  if (_162) { __lastLabel__ = 62; __label__ = 62; /* _bb9 */ continue _bb9$10276; } else { __lastLabel__ = 62; __label__ = 5; /* _bb22 */ break _bb22$_bb4$_bb12$10269; }
                }
              }
            }
            else if (__label__ == 3) {
              var _163 = IHEAP[_gfxindextype];
              if (_163 == 2) {
                __label__ = 1925; /* _bb17_preheader */ 
              }
              else if (_163 == 3) {
                __label__ = 1926; /* _bb21_preheader */ 
              }
              else {
              __label__ = 5; /* _bb22 */ break _bb22$_bb4$_bb12$10269;
              }
              
              if (__label__ == 1925) {
                var _164 = IHEAP[_numtriangles];
                var _165 = _164 > 0;
                if (_165) { __lastLabel__ = 1925; ; } else { __lastLabel__ = 1925; __label__ = 5; /* _bb22 */ break _bb22$_bb4$_bb12$10269; }
                _bb15$10281: while(1) { // _bb15
                  var _168 = __lastLabel__ == 153 ? _235 : (0);
                  var _169 = IHEAP[_indexbase];
                  var _170 = IHEAP[_indexstride];
                  var _171 = _170 * _168;
                  var _172 = _169+_171;
                  var _173 = _172;
                  var _174 = IHEAP[_vertexbase];
                  var _175 = IHEAP[_173];
                  var _176 = IHEAP[_stride];
                  var _177 = _176 * _175;
                  var _178 = _174+_177;
                  var _179 = _178;
                  var __sum33 = _177 + 16;
                  var _180 = _174+__sum33;
                  var _181 = _180;
                  var _182 = FHEAP[_181];
                  var _183 = _182;
                  var _184 = _183 * _11;
                  var __sum34 = _177 + 8;
                  var _185 = _174+__sum34;
                  var _186 = _185;
                  var _187 = FHEAP[_186];
                  var _188 = _187;
                  var _189 = _188 * _9;
                  var _190 = FHEAP[_179];
                  var _191 = _190;
                  var _192 = _191 * _7;
                  FHEAP[_13] = _192;
                  FHEAP[_14] = _189;
                  FHEAP[_15] = _184;
                  FHEAP[_16] = 0;
                  var __sum35 = _171 + 4;
                  var _193 = _169+__sum35;
                  var _194 = _193;
                  var _195 = IHEAP[_194];
                  var _196 = _176 * _195;
                  var _197 = _174+_196;
                  var _198 = _197;
                  var __sum36 = _196 + 16;
                  var _199 = _174+__sum36;
                  var _200 = _199;
                  var _201 = FHEAP[_200];
                  var _202 = _201;
                  var _203 = _202 * _11;
                  var __sum37 = _196 + 8;
                  var _204 = _174+__sum37;
                  var _205 = _204;
                  var _206 = FHEAP[_205];
                  var _207 = _206;
                  var _208 = _207 * _9;
                  var _209 = FHEAP[_198];
                  var _210 = _209;
                  var _211 = _210 * _7;
                  FHEAP[_17] = _211;
                  FHEAP[_18] = _208;
                  FHEAP[_19] = _203;
                  FHEAP[_20] = 0;
                  var __sum38 = _171 + 8;
                  var _212 = _169+__sum38;
                  var _213 = _212;
                  var _214 = IHEAP[_213];
                  var _215 = _176 * _214;
                  var _216 = _174+_215;
                  var _217 = _216;
                  var __sum39 = _215 + 16;
                  var _218 = _174+__sum39;
                  var _219 = _218;
                  var _220 = FHEAP[_219];
                  var _221 = _220;
                  var _222 = _221 * _11;
                  var __sum40 = _215 + 8;
                  var _223 = _174+__sum40;
                  var _224 = _223;
                  var _225 = FHEAP[_224];
                  var _226 = _225;
                  var _227 = _226 * _9;
                  var _228 = FHEAP[_217];
                  var _229 = _228;
                  var _230 = _229 * _7;
                  FHEAP[_21] = _230;
                  FHEAP[_22] = _227;
                  FHEAP[_23] = _222;
                  FHEAP[_24] = 0;
                  var _231 = IHEAP[_25];
                  var _232 = _231+8;
                  var _233 = IHEAP[_232];
                  var _234 = _233;
                  FUNCTION_TABLE[_234](_callback, _26, _27, _168);
                  var _235 = _168 + 1;
                  var _236 = IHEAP[_numtriangles];
                  var _237 = _235 < _236;
                  if (_237) { __lastLabel__ = 153; __label__ = 153; /* _bb15 */ continue _bb15$10281; } else { __lastLabel__ = 153; __label__ = 5; /* _bb22 */ break _bb22$_bb4$_bb12$10269; }
                }
              }
              else if (__label__ == 1926) {
                var _166 = IHEAP[_numtriangles];
                var _167 = _166 > 0;
                if (_167) { __lastLabel__ = 1926; ; } else { __lastLabel__ = 1926; __label__ = 5; /* _bb22 */ break _bb22$_bb4$_bb12$10269; }
                _bb19$10284: while(1) { // _bb19
                  var _238 = __lastLabel__ == 64 ? _308 : (0);
                  var _239 = IHEAP[_indexbase];
                  var _240 = IHEAP[_indexstride];
                  var _241 = _240 * _238;
                  var _242 = _239+_241;
                  var _243 = _242;
                  var _244 = IHEAP[_vertexbase];
                  var _245 = IHEAP[_243];
                  var _246 = _245;
                  var _247 = IHEAP[_stride];
                  var _248 = _246 * _247;
                  var _249 = _244+_248;
                  var _250 = _249;
                  var __sum = _248 + 16;
                  var _251 = _244+__sum;
                  var _252 = _251;
                  var _253 = FHEAP[_252];
                  var _254 = _253;
                  var _255 = _254 * _11;
                  var __sum26 = _248 + 8;
                  var _256 = _244+__sum26;
                  var _257 = _256;
                  var _258 = FHEAP[_257];
                  var _259 = _258;
                  var _260 = _259 * _9;
                  var _261 = FHEAP[_250];
                  var _262 = _261;
                  var _263 = _262 * _7;
                  FHEAP[_13] = _263;
                  FHEAP[_14] = _260;
                  FHEAP[_15] = _255;
                  FHEAP[_16] = 0;
                  var __sum27 = _241 + 2;
                  var _264 = _239+__sum27;
                  var _265 = _264;
                  var _266 = IHEAP[_265];
                  var _267 = _266;
                  var _268 = _267 * _247;
                  var _269 = _244+_268;
                  var _270 = _269;
                  var __sum28 = _268 + 16;
                  var _271 = _244+__sum28;
                  var _272 = _271;
                  var _273 = FHEAP[_272];
                  var _274 = _273;
                  var _275 = _274 * _11;
                  var __sum29 = _268 + 8;
                  var _276 = _244+__sum29;
                  var _277 = _276;
                  var _278 = FHEAP[_277];
                  var _279 = _278;
                  var _280 = _279 * _9;
                  var _281 = FHEAP[_270];
                  var _282 = _281;
                  var _283 = _282 * _7;
                  FHEAP[_17] = _283;
                  FHEAP[_18] = _280;
                  FHEAP[_19] = _275;
                  FHEAP[_20] = 0;
                  var __sum30 = _241 + 4;
                  var _284 = _239+__sum30;
                  var _285 = _284;
                  var _286 = IHEAP[_285];
                  var _287 = _286;
                  var _288 = _287 * _247;
                  var _289 = _244+_288;
                  var _290 = _289;
                  var __sum31 = _288 + 16;
                  var _291 = _244+__sum31;
                  var _292 = _291;
                  var _293 = FHEAP[_292];
                  var _294 = _293;
                  var _295 = _294 * _11;
                  var __sum32 = _288 + 8;
                  var _296 = _244+__sum32;
                  var _297 = _296;
                  var _298 = FHEAP[_297];
                  var _299 = _298;
                  var _300 = _299 * _9;
                  var _301 = FHEAP[_290];
                  var _302 = _301;
                  var _303 = _302 * _7;
                  FHEAP[_21] = _303;
                  FHEAP[_22] = _300;
                  FHEAP[_23] = _295;
                  FHEAP[_24] = 0;
                  var _304 = IHEAP[_25];
                  var _305 = _304+8;
                  var _306 = IHEAP[_305];
                  var _307 = _306;
                  FUNCTION_TABLE[_307](_callback, _26, _27, _238);
                  var _308 = _238 + 1;
                  var _309 = IHEAP[_numtriangles];
                  var _310 = _308 < _309;
                  if (_310) { __lastLabel__ = 64; __label__ = 64; /* _bb19 */ continue _bb19$10284; } else { __lastLabel__ = 64; __label__ = 5; /* _bb22 */ break _bb22$_bb4$_bb12$10269; }
                }
              }
            }
          } while(0);
          var _311 = IHEAP[_0];
          var _312 = _311+24;
          var _313 = IHEAP[_312];
          var _314 = _313;
          FUNCTION_TABLE[_314](_this, _27);
          var _315 = _27 + 1;
          var _exitcond = _315 == _5;
          if (_exitcond) { __lastLabel__ = 5; __label__ = 44; /* _return */ break _bb_nph81$_return$10265; } else { __lastLabel__ = 5; __label__ = 116; /* _bb3 */ continue _bb3$10267; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK23btStridingMeshInterface27InternalProcessAllTrianglesEP31btInternalTriangleIndexCallbackRK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK23btStridingMeshInterface27InternalProcessAllTrianglesEP31btInternalTriangleIndexCallbackRK9btVector3S4_, "__ZNK23btStridingMeshInterface27InternalProcessAllTrianglesEP31btInternalTriangleIndexCallbackRK9btVector3S4_");
  
  
  function __ZNK23btStridingMeshInterface9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    var __stackBase__  = STACKTOP; STACKTOP += 8;
    var __label__;
    var __lastLabel__ = null;
    var _vertexbase = __stackBase__;
    var _indexbase = __stackBase__+1;
    var _indexstride = __stackBase__+2;
    var _type = __stackBase__+3;
    var _gfxindextype = __stackBase__+4;
    var _stride = __stackBase__+5;
    var _numverts = __stackBase__+6;
    var _numtriangles = __stackBase__+7;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+28;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = FUNCTION_TABLE[_4](_this);
    var _6 = _dataBuffer+20;
    var _7 = _6;
    IHEAP[_7] = _5;
    var _8 = _dataBuffer;
    IHEAP[_8] = 0;
    var _9 = _5 == 0;
    ;
    _bb35$_bb$10364: do { 
      if (!_9) {
        ;
        var _10 = _serializer;
        var _11 = IHEAP[_10];
        var _12 = _11+16;
        var _13 = IHEAP[_12];
        var _14 = _13;
        var _15 = FUNCTION_TABLE[_14](_serializer, 28, _5);
        var _16 = _15+8;
        var _17 = IHEAP[_16];
        var _18 = IHEAP[_10];
        var _19 = _18+28;
        var _20 = IHEAP[_19];
        var _21 = _20;
        var _22 = FUNCTION_TABLE[_21](_serializer, _17);
        var _23 = _22;
        IHEAP[_8] = _23;
        var _24 = IHEAP[_0];
        var _25 = _24+28;
        var _26 = IHEAP[_25];
        var _27 = _26;
        var _28 = FUNCTION_TABLE[_27](_this);
        var _29 = _28 > 0;
        if (_29) { __lastLabel__ = 60; __label__ = 75; /* _bb1 */  } else { __lastLabel__ = 60; __label__ = 250; /* _bb34 */  }
        _bb1$_bb34$10366: while(1) { // _bb1,_bb34
          if (__label__ == 75) {
            var _30 = __lastLabel__ == 91 ? _186 : (0);
            var _tmp102 = _30 * 28;
            var _tmp103 = _tmp102 + 20;
            var _scevgep104 = _17+_tmp103;
            var _scevgep104105 = _scevgep104;
            var _tmp106 = _tmp102 + 24;
            var _scevgep107 = _17+_tmp106;
            var _scevgep107108 = _scevgep107;
            var _tmp109 = _tmp102 + 16;
            var _scevgep110 = _17+_tmp109;
            var _scevgep110111 = _scevgep110;
            var _tmp112 = _tmp102 + 8;
            var _scevgep113 = _17+_tmp112;
            var _scevgep113114 = _scevgep113;
            var _tmp115 = _tmp102 + 12;
            var _scevgep116 = _17+_tmp115;
            var _scevgep116117 = _scevgep116;
            var _scevgep118 = _17+_tmp102;
            var _scevgep118119 = _scevgep118;
            var _tmp120 = _tmp102 + 4;
            var _scevgep121 = _17+_tmp120;
            var _scevgep121122 = _scevgep121;
            var _31 = IHEAP[_0];
            var _32 = _31+16;
            var _33 = IHEAP[_32];
            var _34 = _33;
            FUNCTION_TABLE[_34](_this, _vertexbase, _numverts, _type, _stride, _indexbase, _indexstride, _numtriangles, _gfxindextype, _30);
            var _35 = IHEAP[_numtriangles];
            IHEAP[_scevgep104105] = _35;
            var _36 = IHEAP[_numverts];
            IHEAP[_scevgep107108] = _36;
            IHEAP[_scevgep110111] = 0;
            IHEAP[_scevgep113114] = 0;
            IHEAP[_scevgep116117] = 0;
            IHEAP[_scevgep118119] = 0;
            IHEAP[_scevgep121122] = 0;
            var _37 = IHEAP[_gfxindextype];
            if (_37 == 2) {
              __label__ = 0; /* _bb2 */ 
            }
            else if (_37 == 3) {
              __label__ = 148; /* _bb8 */ 
            }
            else {
            __label__ = 154; /* _bb16 */ 
            }
            
            _bb16$_bb2$_bb8$10369: do { 
              if (__label__ == 0) {
                var _38 = IHEAP[_numtriangles];
                var _39 = _38 * 3;
                var _40 = _39 == 0;
                if (_40) { __label__ = 154; /* _bb16 */ break _bb16$_bb2$_bb8$10369; }
                var _41 = IHEAP[_10];
                var _42 = _41+16;
                var _43 = IHEAP[_42];
                var _44 = _43;
                var _45 = FUNCTION_TABLE[_44](_serializer, 4, _39);
                var _46 = _45+8;
                var _47 = IHEAP[_46];
                var _48 = IHEAP[_10];
                var _49 = _48+28;
                var _50 = IHEAP[_49];
                var _51 = _50;
                var _52 = FUNCTION_TABLE[_51](_serializer, _47);
                var _53 = _52;
                IHEAP[_scevgep113114] = _53;
                var _54 = IHEAP[_numtriangles];
                var _55 = _54 > 0;
                if (_55) { __lastLabel__ = 116; __label__ = 82; /* _bb5 */  } else { __lastLabel__ = 116; __label__ = 2; /* _bb7 */  }
                _bb5$_bb7$10372: while(1) { // _bb5,_bb7
                  if (__label__ == 82) {
                    var _56 = __lastLabel__ == 82 ? _69 : (0);
                    var _tmp91 = _56 * 12;
                    var _scevgep92 = _47+_tmp91;
                    var _scevgep9293 = _scevgep92;
                    var _tmp94 = _tmp91 + 4;
                    var _scevgep95 = _47+_tmp94;
                    var _scevgep9596 = _scevgep95;
                    var _tmp97 = _tmp91 + 8;
                    var _scevgep98 = _47+_tmp97;
                    var _scevgep9899 = _scevgep98;
                    var _57 = IHEAP[_indexbase];
                    var _58 = IHEAP[_indexstride];
                    var _59 = _58 * _56;
                    var _60 = _57+_59;
                    var _61 = _60;
                    var _62 = IHEAP[_61];
                    IHEAP[_scevgep9293] = _62;
                    var __sum42 = _59 + 4;
                    var _63 = _57+__sum42;
                    var _64 = _63;
                    var _65 = IHEAP[_64];
                    IHEAP[_scevgep9596] = _65;
                    var __sum43 = _59 + 8;
                    var _66 = _57+__sum43;
                    var _67 = _66;
                    var _68 = IHEAP[_67];
                    IHEAP[_scevgep9899] = _68;
                    var _69 = _56 + 1;
                    var _70 = IHEAP[_numtriangles];
                    var _71 = _69 < _70;
                    if (_71) { __lastLabel__ = 82; __label__ = 82; /* _bb5 */ continue _bb5$_bb7$10372; } else { __lastLabel__ = 82; __label__ = 2; /* _bb7 */ continue _bb5$_bb7$10372; }
                  }
                  else if (__label__ == 2) {
                    var _72 = IHEAP[_10];
                    var _73 = _72+20;
                    var _74 = IHEAP[_73];
                    var _75 = IHEAP[_46];
                    var _76 = _74;
                    FUNCTION_TABLE[_76](_serializer, _45, __str123, 1497453121, _75);
                    __label__ = 154; /* _bb16 */ break _bb16$_bb2$_bb8$10369;
                  }
                }
              }
              else if (__label__ == 148) {
                var _77 = IHEAP[_numtriangles];
                var _78 = _77 == 0;
                if (_78) { __label__ = 154; /* _bb16 */ break _bb16$_bb2$_bb8$10369; }
                var _79 = IHEAP[_10];
                var _80 = _79+16;
                var _81 = IHEAP[_80];
                var _82 = _81;
                var _83 = FUNCTION_TABLE[_82](_serializer, 8, _77);
                var _84 = _83+8;
                var _85 = IHEAP[_84];
                var _86 = IHEAP[_10];
                var _87 = _86+28;
                var _88 = IHEAP[_87];
                var _89 = _88;
                var _90 = FUNCTION_TABLE[_89](_serializer, _85);
                var _91 = _90;
                IHEAP[_scevgep116117] = _91;
                var _92 = IHEAP[_numtriangles];
                var _93 = _92 > 0;
                if (_93) { __lastLabel__ = 62; __label__ = 3; /* _bb12 */  } else { __lastLabel__ = 62; __label__ = 153; /* _bb15 */  }
                _bb12$_bb15$10378: while(1) { // _bb12,_bb15
                  if (__label__ == 3) {
                    var _94 = __lastLabel__ == 3 ? _107 : (0);
                    var _tmp81 = _94 << 3;
                    var _scevgep82 = _85+_tmp81;
                    var _scevgep8283 = _scevgep82;
                    var _tmp84127 = _tmp81 | 2;
                    var _scevgep85 = _85+_tmp84127;
                    var _scevgep8586 = _scevgep85;
                    var _tmp87128 = _tmp81 | 4;
                    var _scevgep88 = _85+_tmp87128;
                    var _scevgep8889 = _scevgep88;
                    var _95 = IHEAP[_indexbase];
                    var _96 = IHEAP[_indexstride];
                    var _97 = _96 * _94;
                    var _98 = _95+_97;
                    var _99 = _98;
                    var _100 = IHEAP[_99];
                    IHEAP[_scevgep8283] = _100;
                    var __sum40 = _97 + 2;
                    var _101 = _95+__sum40;
                    var _102 = _101;
                    var _103 = IHEAP[_102];
                    IHEAP[_scevgep8586] = _103;
                    var __sum41 = _97 + 4;
                    var _104 = _95+__sum41;
                    var _105 = _104;
                    var _106 = IHEAP[_105];
                    IHEAP[_scevgep8889] = _106;
                    var _107 = _94 + 1;
                    var _108 = IHEAP[_numtriangles];
                    var _109 = _107 < _108;
                    if (_109) { __lastLabel__ = 3; __label__ = 3; /* _bb12 */ continue _bb12$_bb15$10378; } else { __lastLabel__ = 3; __label__ = 153; /* _bb15 */ continue _bb12$_bb15$10378; }
                  }
                  else if (__label__ == 153) {
                    var _110 = IHEAP[_10];
                    var _111 = _110+20;
                    var _112 = IHEAP[_111];
                    var _113 = IHEAP[_84];
                    var _114 = _112;
                    FUNCTION_TABLE[_114](_serializer, _83, __str1124, 1497453121, _113);
                    __label__ = 154; /* _bb16 */ break _bb16$_bb2$_bb8$10369;
                  }
                }
              }
            } while(0);
            var _115 = IHEAP[_type];
            if (_115 == 0) {
              __label__ = 4; /* _bb17 */ 
            }
            else if (_115 == 1) {
              __label__ = 419; /* _bb23 */ 
            }
            else {
            __label__ = 91; /* _bb32 */ 
            }
            
            _bb32$_bb17$_bb23$10383: do { 
              if (__label__ == 4) {
                var _116 = IHEAP[_numverts];
                var _117 = _116 == 0;
                if (_117) { __label__ = 91; /* _bb32 */ break _bb32$_bb17$_bb23$10383; }
                var _118 = IHEAP[_10];
                var _119 = _118+16;
                var _120 = IHEAP[_119];
                var _121 = _120;
                var _122 = FUNCTION_TABLE[_121](_serializer, 16, _116);
                var _123 = _122+8;
                var _124 = IHEAP[_123];
                var _125 = IHEAP[_10];
                var _126 = _125+28;
                var _127 = IHEAP[_126];
                var _128 = _127;
                var _129 = FUNCTION_TABLE[_128](_serializer, _124);
                var _130 = _129;
                IHEAP[_scevgep118119] = _130;
                var _131 = IHEAP[_numverts];
                var _132 = _131 > 0;
                if (_132) { __lastLabel__ = 86; __label__ = 117; /* _bb20 */  } else { __lastLabel__ = 86; __label__ = 5; /* _bb22 */  }
                _bb20$_bb22$10386: while(1) { // _bb20,_bb22
                  if (__label__ == 117) {
                    var _133 = __lastLabel__ == 117 ? _146 : (0);
                    var _tmp71 = _133 << 4;
                    var _scevgep72 = _124+_tmp71;
                    var _scevgep7273 = _scevgep72;
                    var _tmp74125 = _tmp71 | 4;
                    var _scevgep75 = _124+_tmp74125;
                    var _scevgep7576 = _scevgep75;
                    var _tmp77126 = _tmp71 | 8;
                    var _scevgep78 = _124+_tmp77126;
                    var _scevgep7879 = _scevgep78;
                    var _134 = IHEAP[_vertexbase];
                    var _135 = IHEAP[_stride];
                    var _136 = _135 * _133;
                    var _137 = _134+_136;
                    var _138 = _137;
                    var _139 = FHEAP[_138];
                    FHEAP[_scevgep7273] = _139;
                    var __sum38 = _136 + 4;
                    var _140 = _134+__sum38;
                    var _141 = _140;
                    var _142 = FHEAP[_141];
                    FHEAP[_scevgep7576] = _142;
                    var __sum39 = _136 + 8;
                    var _143 = _134+__sum39;
                    var _144 = _143;
                    var _145 = FHEAP[_144];
                    FHEAP[_scevgep7879] = _145;
                    var _146 = _133 + 1;
                    var _147 = IHEAP[_numverts];
                    var _148 = _146 < _147;
                    if (_148) { __lastLabel__ = 117; __label__ = 117; /* _bb20 */ continue _bb20$_bb22$10386; } else { __lastLabel__ = 117; __label__ = 5; /* _bb22 */ continue _bb20$_bb22$10386; }
                  }
                  else if (__label__ == 5) {
                    var _149 = IHEAP[_10];
                    var _150 = _149+20;
                    var _151 = IHEAP[_150];
                    var _152 = IHEAP[_123];
                    var _153 = _151;
                    FUNCTION_TABLE[_153](_serializer, _122, __str2125, 1497453121, _152);
                    __label__ = 91; /* _bb32 */ break _bb32$_bb17$_bb23$10383;
                  }
                }
              }
              else if (__label__ == 419) {
                var _154 = IHEAP[_numverts];
                var _155 = _154 == 0;
                if (_155) { __label__ = 91; /* _bb32 */ break _bb32$_bb17$_bb23$10383; }
                var _156 = IHEAP[_10];
                var _157 = _156+16;
                var _158 = IHEAP[_157];
                var _159 = _158;
                var _160 = FUNCTION_TABLE[_159](_serializer, 32, _154);
                var _161 = _160+8;
                var _162 = IHEAP[_161];
                var _163 = IHEAP[_10];
                var _164 = _163+28;
                var _165 = IHEAP[_164];
                var _166 = _165;
                var _167 = FUNCTION_TABLE[_166](_serializer, _162);
                var _168 = _167;
                IHEAP[_scevgep121122] = _168;
                var _169 = IHEAP[_numverts];
                var _170 = _169 > 0;
                ;
                _bb_nph$_bb31$10392: do { 
                  if (_170) {
                    ;
                    var _171 = IHEAP[_vertexbase];
                    var _172 = IHEAP[_stride];
                    var _tmp = _169 > 1;
                    var _smax = _tmp ? _169 : 1;
                    __lastLabel__ = 130; ;
                    _bb28$10394: while(1) { // _bb28
                      var _i27_044 = __lastLabel__ == 130 ? 0 : (_176);
                      var _tmp54 = _i27_044 << 5;
                      var _scevgep = _162+_tmp54;
                      var _scevgep55 = _scevgep;
                      var _tmp56123 = _tmp54 | 8;
                      var _scevgep57 = _162+_tmp56123;
                      var _scevgep5758 = _scevgep57;
                      var _tmp59124 = _tmp54 | 16;
                      var _scevgep60 = _162+_tmp59124;
                      var _scevgep6061 = _scevgep60;
                      var _tmp62 = _172 * _i27_044;
                      var _tmp63 = _tmp62 + 16;
                      var _scevgep64 = _171+_tmp63;
                      var _scevgep6465 = _scevgep64;
                      var _tmp66 = _tmp62 + 8;
                      var _scevgep67 = _171+_tmp66;
                      var _scevgep6768 = _scevgep67;
                      var _scevgep69 = _171+_tmp62;
                      var _scevgep6970 = _scevgep69;
                      var _173 = FHEAP[_scevgep6970];
                      FHEAP[_scevgep55] = _173;
                      var _174 = FHEAP[_scevgep6768];
                      FHEAP[_scevgep5758] = _174;
                      var _175 = FHEAP[_scevgep6465];
                      FHEAP[_scevgep6061] = _175;
                      var _176 = _i27_044 + 1;
                      var _exitcond = _176 == _smax;
                      if (_exitcond) { __lastLabel__ = 66; __label__ = 89; /* _bb31 */ break _bb_nph$_bb31$10392; } else { __lastLabel__ = 66; __label__ = 66; /* _bb28 */ continue _bb28$10394; }
                    }
                  }
                } while(0);
                var _177 = IHEAP[_10];
                var _178 = _177+20;
                var _179 = IHEAP[_178];
                var _180 = IHEAP[_161];
                var _181 = _179;
                FUNCTION_TABLE[_181](_serializer, _160, __str3126, 1497453121, _180);
                ;
              }
            } while(0);
            var _182 = IHEAP[_0];
            var _183 = _182+24;
            var _184 = IHEAP[_183];
            var _185 = _184;
            FUNCTION_TABLE[_185](_this, _30);
            var _186 = _30 + 1;
            var _exitcond101 = _186 == _28;
            if (_exitcond101) { __lastLabel__ = 91; __label__ = 250; /* _bb34 */ continue _bb1$_bb34$10366; } else { __lastLabel__ = 91; __label__ = 75; /* _bb1 */ continue _bb1$_bb34$10366; }
          }
          else if (__label__ == 250) {
            var _187 = IHEAP[_10];
            var _188 = _187+20;
            var _189 = IHEAP[_188];
            var _190 = IHEAP[_16];
            var _191 = _189;
            FUNCTION_TABLE[_191](_serializer, _15, __str4127, 1497453121, _190);
            __label__ = 518; /* _bb35 */ break _bb35$_bb$10364;
          }
        }
      }
    } while(0);
    var _192 = _dataBuffer+4;
    var _scevgep_i = _this+4;
    var _scevgep4_i = _192;
    var _193 = FHEAP[_scevgep_i];
    FHEAP[_scevgep4_i] = _193;
    var _scevgep_1_i = _this+4+4;
    var _scevgep4_1_i = _dataBuffer+8;
    var _194 = _scevgep4_1_i;
    var _195 = FHEAP[_scevgep_1_i];
    FHEAP[_194] = _195;
    var _scevgep_2_i = _this+4+8;
    var _scevgep4_2_i = _dataBuffer+12;
    var _196 = _scevgep4_2_i;
    var _197 = FHEAP[_scevgep_2_i];
    FHEAP[_196] = _197;
    var _scevgep_3_i = _this+4+12;
    var _scevgep4_3_i = _dataBuffer+16;
    var _198 = _scevgep4_3_i;
    var _199 = FHEAP[_scevgep_3_i];
    FHEAP[_198] = _199;
    STACKTOP = __stackBase__;
    return __str5128;
  }
  __ZNK23btStridingMeshInterface9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK23btStridingMeshInterface9serializeEPvP12btSerializer, "__ZNK23btStridingMeshInterface9serializeEPvP12btSerializer");
  
  
  function __ZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_(_this, _aabbMin, _aabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 36;
    var __label__;
    var _aabbCallback = __stackBase__;
    var _0 = _aabbCallback;
    IHEAP[_0] = __ZTVZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_E23AabbCalculationCallback+8;
    var _1 = _aabbCallback+4;
    FHEAP[_1] = 999999984306749400;
    var _2 = _aabbCallback+4+4;
    FHEAP[_2] = 999999984306749400;
    var _3 = _aabbCallback+4+8;
    FHEAP[_3] = 999999984306749400;
    var _4 = _aabbCallback+4+12;
    FHEAP[_4] = 0;
    var _5 = _aabbCallback+20;
    FHEAP[_5] = -999999984306749400;
    var _6 = _aabbCallback+20+4;
    FHEAP[_6] = -999999984306749400;
    var _7 = _aabbCallback+20+8;
    FHEAP[_7] = -999999984306749400;
    var _8 = _aabbCallback+20+12;
    FHEAP[_8] = 0;
    var _9 = _aabbMin;
    FHEAP[_9] = -999999984306749400;
    var _10 = _aabbMin+4;
    FHEAP[_10] = -999999984306749400;
    var _11 = _aabbMin+8;
    FHEAP[_11] = -999999984306749400;
    var _12 = _aabbMin+12;
    FHEAP[_12] = 0;
    var _13 = _aabbMax;
    FHEAP[_13] = 999999984306749400;
    var _14 = _aabbMax+4;
    FHEAP[_14] = 999999984306749400;
    var _15 = _aabbMax+8;
    FHEAP[_15] = 999999984306749400;
    var _16 = _aabbMax+12;
    FHEAP[_16] = 0;
    var _17 = _this;
    var _18 = IHEAP[_17];
    var _19 = _18+8;
    var _20 = IHEAP[_19];
    var _21 = _20;
    var _22 = _aabbCallback;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_21](_this, _22, _aabbMin, _aabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 345) {
      var _23 = FHEAP[_1];
      FHEAP[_9] = _23;
      var _24 = FHEAP[_2];
      FHEAP[_10] = _24;
      var _25 = FHEAP[_3];
      FHEAP[_11] = _25;
      var _26 = FHEAP[_4];
      FHEAP[_12] = _26;
      var _27 = FHEAP[_5];
      FHEAP[_13] = _27;
      var _28 = FHEAP[_6];
      FHEAP[_14] = _28;
      var _29 = FHEAP[_7];
      FHEAP[_15] = _29;
      var _30 = FHEAP[_8];
      FHEAP[_16] = _30;
      IHEAP[_0] = __ZTVZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_E23AabbCalculationCallback+8;
      __ZN31btInternalTriangleIndexCallbackD2Ev(_22);
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select4 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_0] = __ZTVZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_E23AabbCalculationCallback+8;
      (function() { try { __THREW__ = false; return __ZN31btInternalTriangleIndexCallbackD2Ev(_22) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3819; /* _lpad5 */  }
      if (__label__ == 1554) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3819) {
        var _eh_ptr6 = _llvm_eh_exception();
        var _eh_select8 = _llvm_eh_selector(_eh_ptr6, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_.__index__ = Runtime.getFunctionIndex(__ZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_, "__ZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_");
  
  
  function __ZN16btBU_Simplex1to4C2ERK9btVector3S2_S2_S2_(_this, _pt0, _pt1, _pt2, _pt3) {
    ;
    var __label__;
    var _0 = _this;
    __ZN34btPolyhedralConvexAabbCachingShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV16btBU_Simplex1to4+8;
    var _2 = _this+88;
    IHEAP[_2] = 0;
    var _3 = _this+4;
    IHEAP[_3] = 2;
    var _4 = _this+92;
    var _5 = _pt0;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _this+92+4;
    var _8 = _pt0+4;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _this+92+8;
    var _11 = _pt0+8;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _this+92+12;
    var _14 = _pt0+12;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    IHEAP[_2] = 1;
    (function() { try { __THREW__ = false; return __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    _invcont$_lpad$10451: do { 
      if (__label__ == 345) {
        var _16 = IHEAP[_2];
        var _17 = _this+92+_16*16;
        var _18 = _pt1;
        var _19 = FHEAP[_18];
        FHEAP[_17] = _19;
        var _20 = _this+92+_16*16+4;
        var _21 = _pt1+4;
        var _22 = FHEAP[_21];
        FHEAP[_20] = _22;
        var _23 = _this+92+_16*16+8;
        var _24 = _pt1+8;
        var _25 = FHEAP[_24];
        FHEAP[_23] = _25;
        var _26 = _this+92+_16*16+12;
        var _27 = _pt1+12;
        var _28 = FHEAP[_27];
        FHEAP[_26] = _28;
        var _29 = _16 + 1;
        IHEAP[_2] = _29;
        (function() { try { __THREW__ = false; return __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$10451; }
        var _30 = IHEAP[_2];
        var _31 = _this+92+_30*16;
        var _32 = _pt2;
        var _33 = FHEAP[_32];
        FHEAP[_31] = _33;
        var _34 = _this+92+_30*16+4;
        var _35 = _pt2+4;
        var _36 = FHEAP[_35];
        FHEAP[_34] = _36;
        var _37 = _this+92+_30*16+8;
        var _38 = _pt2+8;
        var _39 = FHEAP[_38];
        FHEAP[_37] = _39;
        var _40 = _this+92+_30*16+12;
        var _41 = _pt2+12;
        var _42 = FHEAP[_41];
        FHEAP[_40] = _42;
        var _43 = _30 + 1;
        IHEAP[_2] = _43;
        (function() { try { __THREW__ = false; return __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$10451; }
        var _44 = IHEAP[_2];
        var _45 = _this+92+_44*16;
        var _46 = _pt3;
        var _47 = FHEAP[_46];
        FHEAP[_45] = _47;
        var _48 = _this+92+_44*16+4;
        var _49 = _pt3+4;
        var _50 = FHEAP[_49];
        FHEAP[_48] = _50;
        var _51 = _this+92+_44*16+8;
        var _52 = _pt3+8;
        var _53 = FHEAP[_52];
        FHEAP[_51] = _53;
        var _54 = _this+92+_44*16+12;
        var _55 = _pt3+12;
        var _56 = FHEAP[_55];
        FHEAP[_54] = _56;
        var _57 = _44 + 1;
        IHEAP[_2] = _57;
        (function() { try { __THREW__ = false; return __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$10451; }
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    IHEAP[_1] = __ZTV21btConvexInternalShape+8;
    var _58 = _this;
    (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_58) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1555; /* _invcont7 */  } else { __label__ = 3817; /* _lpad12 */  }
    if (__label__ == 1555) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 3817) {
      var _eh_ptr13 = _llvm_eh_exception();
      var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN16btBU_Simplex1to4C2ERK9btVector3S2_S2_S2_.__index__ = Runtime.getFunctionIndex(__ZN16btBU_Simplex1to4C2ERK9btVector3S2_S2_S2_, "__ZN16btBU_Simplex1to4C2ERK9btVector3S2_S2_S2_");
  
  
  function __ZN16btBU_Simplex1to4C2ERK9btVector3S2_S2_(_this, _pt0, _pt1, _pt2) {
    ;
    var __label__;
    var _0 = _this;
    __ZN34btPolyhedralConvexAabbCachingShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV16btBU_Simplex1to4+8;
    var _2 = _this+88;
    IHEAP[_2] = 0;
    var _3 = _this+4;
    IHEAP[_3] = 2;
    var _4 = _this+92;
    var _5 = _pt0;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _this+92+4;
    var _8 = _pt0+4;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _this+92+8;
    var _11 = _pt0+8;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _this+92+12;
    var _14 = _pt0+12;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    IHEAP[_2] = 1;
    (function() { try { __THREW__ = false; return __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    _invcont$_lpad$10462: do { 
      if (__label__ == 345) {
        var _16 = IHEAP[_2];
        var _17 = _this+92+_16*16;
        var _18 = _pt1;
        var _19 = FHEAP[_18];
        FHEAP[_17] = _19;
        var _20 = _this+92+_16*16+4;
        var _21 = _pt1+4;
        var _22 = FHEAP[_21];
        FHEAP[_20] = _22;
        var _23 = _this+92+_16*16+8;
        var _24 = _pt1+8;
        var _25 = FHEAP[_24];
        FHEAP[_23] = _25;
        var _26 = _this+92+_16*16+12;
        var _27 = _pt1+12;
        var _28 = FHEAP[_27];
        FHEAP[_26] = _28;
        var _29 = _16 + 1;
        IHEAP[_2] = _29;
        (function() { try { __THREW__ = false; return __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$10462; }
        var _30 = IHEAP[_2];
        var _31 = _this+92+_30*16;
        var _32 = _pt2;
        var _33 = FHEAP[_32];
        FHEAP[_31] = _33;
        var _34 = _this+92+_30*16+4;
        var _35 = _pt2+4;
        var _36 = FHEAP[_35];
        FHEAP[_34] = _36;
        var _37 = _this+92+_30*16+8;
        var _38 = _pt2+8;
        var _39 = FHEAP[_38];
        FHEAP[_37] = _39;
        var _40 = _this+92+_30*16+12;
        var _41 = _pt2+12;
        var _42 = FHEAP[_41];
        FHEAP[_40] = _42;
        var _43 = _30 + 1;
        IHEAP[_2] = _43;
        (function() { try { __THREW__ = false; return __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$10462; }
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select10 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    IHEAP[_1] = __ZTV21btConvexInternalShape+8;
    var _44 = _this;
    (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_44) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3894; /* _invcont6 */  } else { __label__ = 1175; /* _lpad11 */  }
    if (__label__ == 3894) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 1175) {
      var _eh_ptr12 = _llvm_eh_exception();
      var _eh_select14 = _llvm_eh_selector(_eh_ptr12, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN16btBU_Simplex1to4C2ERK9btVector3S2_S2_.__index__ = Runtime.getFunctionIndex(__ZN16btBU_Simplex1to4C2ERK9btVector3S2_S2_, "__ZN16btBU_Simplex1to4C2ERK9btVector3S2_S2_");
  
  
  function __ZN16btBU_Simplex1to4C2ERK9btVector3S2_(_this, _pt0, _pt1) {
    ;
    var __label__;
    var _0 = _this;
    __ZN34btPolyhedralConvexAabbCachingShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV16btBU_Simplex1to4+8;
    var _2 = _this+88;
    IHEAP[_2] = 0;
    var _3 = _this+4;
    IHEAP[_3] = 2;
    var _4 = _this+92;
    var _5 = _pt0;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _this+92+4;
    var _8 = _pt0+4;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _this+92+8;
    var _11 = _pt0+8;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _this+92+12;
    var _14 = _pt0+12;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    IHEAP[_2] = 1;
    (function() { try { __THREW__ = false; return __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    _invcont$_lpad$10472: do { 
      if (__label__ == 345) {
        var _16 = IHEAP[_2];
        var _17 = _this+92+_16*16;
        var _18 = _pt1;
        var _19 = FHEAP[_18];
        FHEAP[_17] = _19;
        var _20 = _this+92+_16*16+4;
        var _21 = _pt1+4;
        var _22 = FHEAP[_21];
        FHEAP[_20] = _22;
        var _23 = _this+92+_16*16+8;
        var _24 = _pt1+8;
        var _25 = FHEAP[_24];
        FHEAP[_23] = _25;
        var _26 = _this+92+_16*16+12;
        var _27 = _pt1+12;
        var _28 = FHEAP[_27];
        FHEAP[_26] = _28;
        var _29 = _16 + 1;
        IHEAP[_2] = _29;
        (function() { try { __THREW__ = false; return __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$10472; }
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select9 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    IHEAP[_1] = __ZTV21btConvexInternalShape+8;
    var _30 = _this;
    (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_30) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2109; /* _invcont5 */  } else { __label__ = 3802; /* _lpad10 */  }
    if (__label__ == 2109) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 3802) {
      var _eh_ptr11 = _llvm_eh_exception();
      var _eh_select13 = _llvm_eh_selector(_eh_ptr11, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN16btBU_Simplex1to4C2ERK9btVector3S2_.__index__ = Runtime.getFunctionIndex(__ZN16btBU_Simplex1to4C2ERK9btVector3S2_, "__ZN16btBU_Simplex1to4C2ERK9btVector3S2_");
  
  
  function __ZN16btBU_Simplex1to4C1ERK9btVector3(_this, _pt0) {
    ;
    var __label__;
    var _0 = _this;
    __ZN34btPolyhedralConvexAabbCachingShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV16btBU_Simplex1to4+8;
    var _2 = _this+88;
    IHEAP[_2] = 0;
    var _3 = _this+4;
    IHEAP[_3] = 2;
    var _4 = _this+92;
    var _5 = _pt0;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _this+92+4;
    var _8 = _pt0+4;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _this+92+8;
    var _11 = _pt0+8;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _this+92+12;
    var _14 = _pt0+12;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    IHEAP[_2] = 1;
    (function() { try { __THREW__ = false; return __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 44; /* _return */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 44) {
      ;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_1] = __ZTV21btConvexInternalShape+8;
      var _16 = _this;
      (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 514; /* _invcont4 */  } else { __label__ = 3761; /* _lpad9 */  }
      if (__label__ == 514) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3761) {
        var _eh_ptr10 = _llvm_eh_exception();
        var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZN16btBU_Simplex1to4C1ERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN16btBU_Simplex1to4C1ERK9btVector3, "__ZN16btBU_Simplex1to4C1ERK9btVector3");
  
  
  function __ZN16btBU_Simplex1to4C2ERK9btVector3(_this, _pt0) {
    ;
    var __label__;
    var _0 = _this;
    __ZN34btPolyhedralConvexAabbCachingShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV16btBU_Simplex1to4+8;
    var _2 = _this+88;
    IHEAP[_2] = 0;
    var _3 = _this+4;
    IHEAP[_3] = 2;
    var _4 = _this+92;
    var _5 = _pt0;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _this+92+4;
    var _8 = _pt0+4;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _this+92+8;
    var _11 = _pt0+8;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _this+92+12;
    var _14 = _pt0+12;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    IHEAP[_2] = 1;
    (function() { try { __THREW__ = false; return __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 44; /* _return */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 44) {
      ;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_1] = __ZTV21btConvexInternalShape+8;
      var _16 = _this;
      (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 514; /* _invcont4 */  } else { __label__ = 3761; /* _lpad9 */  }
      if (__label__ == 514) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3761) {
        var _eh_ptr10 = _llvm_eh_exception();
        var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZN16btBU_Simplex1to4C2ERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN16btBU_Simplex1to4C2ERK9btVector3, "__ZN16btBU_Simplex1to4C2ERK9btVector3");
  
  
  function __ZN16btTriangleBuffer15processTriangleEP9btVector3ii(_this, _triangle, _partId, _triangleIndex) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _triangle;
    var _1 = FHEAP[_0];
    var _2 = _triangle+4;
    var _3 = FHEAP[_2];
    var _4 = _triangle+8;
    var _5 = FHEAP[_4];
    var _6 = _triangle+12;
    var _7 = FHEAP[_6];
    var _8 = _triangle+16;
    var _9 = FHEAP[_8];
    var _10 = _triangle+16+4;
    var _11 = FHEAP[_10];
    var _12 = _triangle+16+8;
    var _13 = FHEAP[_12];
    var _14 = _triangle+16+12;
    var _15 = FHEAP[_14];
    var _16 = _triangle+32;
    var _17 = FHEAP[_16];
    var _18 = _triangle+32+4;
    var _19 = FHEAP[_18];
    var _20 = _triangle+32+8;
    var _21 = FHEAP[_20];
    var _22 = _triangle+32+12;
    var _23 = FHEAP[_22];
    var _24 = _this+4+4;
    var _25 = IHEAP[_24];
    var _26 = _this+4+8;
    var _27 = IHEAP[_26];
    var _28 = _27 == _25;
    ;
    _bb_i$_bb1_i$10495: do { 
      if (_28) {
        __lastLabel__ = -1; ;
        var _29 = _25 == 0;
        var _30 = _25 << 1;
        var _iftmp_39_0_i_i = _29 ? 1 : _30;
        var _31 = _27 < _iftmp_39_0_i_i;
        if (_31) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$10495; }
        var _32 = _iftmp_39_0_i_i == 0;
        ;
        if (_32) {
          __lastLabel__ = 263; ;
        }
        else {
          __lastLabel__ = 263; ;
          var _33 = _iftmp_39_0_i_i * 56;
          var _34 = __Z22btAlignedAllocInternalji(_33, 16);
          var _phitmp_i_i = _34;
          var __pre_i = IHEAP[_24];
          __lastLabel__ = 274; ;
        }
        var _35 = __lastLabel__ == 274 ? __pre_i : (_25);
        var _36 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
        var _37 = _35 > 0;
        ;
        _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayI10btTriangleE4copyEiiPS0__exit_i_i$10501: do { 
          if (_37) {
            ;
            var _38 = _this+4+12;
            __lastLabel__ = 276; ;
            _bb_i4_i_i$10503: while(1) { // _bb_i4_i_i
              var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
              var _scevgep_i_i_i = _36+56*_indvar_i_i_i;
              var _39 = _scevgep_i_i_i == 0;
              ;
              if (!_39) {
                ;
                var _scevgep8_i_i_i = _scevgep_i_i_i;
                var _40 = IHEAP[_38];
                var _scevgep = _40+56*_indvar_i_i_i;
                var _scevgep910_i_i_i = _scevgep;
                _llvm_memcpy_p0i8_p0i8_i32(_scevgep8_i_i_i, _scevgep910_i_i_i, 56, 4, false);
                ;
              }
              var _indvar_next_i_i_i = _indvar_i_i_i + 1;
              var _exitcond = _indvar_next_i_i_i == _35;
              if (_exitcond) { __lastLabel__ = 279; __label__ = 1964; /* __ZNK20btAlignedObjectArrayI10btTriangleE4copyEiiPS0__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayI10btTriangleE4copyEiiPS0__exit_i_i$10501; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$10503; }
            }
          }
        } while(0);
        var _41 = _this+4+12;
        var _42 = IHEAP[_41];
        var _43 = _42 == 0;
        ;
        if (!_43) {
          ;
          var _44 = _this+4+16;
          var _45 = IHEAP[_44];
          var _toBool_i_i_i = _45 == 0;
          ;
          if (!_toBool_i_i_i) {
            ;
            var _46 = _42;
            __Z21btAlignedFreeInternalPv(_46);
            ;
          }
          IHEAP[_41] = 0;
          ;
        }
        var _47 = _this+4+16;
        IHEAP[_47] = 1;
        IHEAP[_41] = _36;
        IHEAP[_26] = _iftmp_39_0_i_i;
        var __pre8_i = IHEAP[_24];
        __lastLabel__ = 1967; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _48 = __lastLabel__ == 1967 ? __pre8_i : (__lastLabel__ == -1 ? _25 : (_25));
    var _49 = _this+4+12;
    var _50 = IHEAP[_49];
    var _51 = _50+56*_48;
    var _52 = _51 == 0;
    ;
    if (_52) {
      __lastLabel__ = 159; ;
    }
    else {
      __lastLabel__ = 159; ;
      var __0 = _50+56*_48;
      FHEAP[__0] = _1;
      var __129 = _50+56*_48+4;
      FHEAP[__129] = _3;
      var __231 = _50+56*_48+8;
      FHEAP[__231] = _5;
      var __333 = _50+56*_48+12;
      FHEAP[__333] = _7;
      var __120_0 = _50+56*_48+16;
      FHEAP[__120_0] = _9;
      var __120_1 = _50+56*_48+16+4;
      FHEAP[__120_1] = _11;
      var __120_2 = _50+56*_48+16+8;
      FHEAP[__120_2] = _13;
      var __120_3 = _50+56*_48+16+12;
      FHEAP[__120_3] = _15;
      var __213_0 = _50+56*_48+32;
      FHEAP[__213_0] = _17;
      var __213_1 = _50+56*_48+32+4;
      FHEAP[__213_1] = _19;
      var __213_2 = _50+56*_48+32+8;
      FHEAP[__213_2] = _21;
      var __213_3 = _50+56*_48+32+12;
      FHEAP[__213_3] = _23;
      var __3 = _50+56*_48+48;
      IHEAP[__3] = _partId;
      var __4 = _50+56*_48+52;
      IHEAP[__4] = _triangleIndex;
      var __pre9_i = IHEAP[_24];
      __lastLabel__ = 132; ;
    }
    var _53 = __lastLabel__ == 159 ? _48 : (__pre9_i);
    var _54 = _53 + 1;
    IHEAP[_24] = _54;
    ;
    return;
  }
  __ZN16btTriangleBuffer15processTriangleEP9btVector3ii.__index__ = Runtime.getFunctionIndex(__ZN16btTriangleBuffer15processTriangleEP9btVector3ii, "__ZN16btTriangleBuffer15processTriangleEP9btVector3ii");
  
  
  function __ZN16btTriangleBufferD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btTriangleBuffer+8;
    var _1 = _this+4+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+4+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$10522: do { 
        if (!_toBool_i_i_i) {
          ;
          var _6 = _2;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$10522; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _12 = _this;
          (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
          if (__label__ == 1554) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 3761) {
            var _eh_ptr10 = _llvm_eh_exception();
            var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+4+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+4+4;
    IHEAP[_8] = 0;
    var _9 = _this+4+8;
    IHEAP[_9] = 0;
    var _10 = _this;
    __ZN18btTriangleCallbackD2Ev(_10);
    var _11 = _this;
    __ZdlPv(_11);
    ;
    return;
  }
  __ZN16btTriangleBufferD0Ev.__index__ = Runtime.getFunctionIndex(__ZN16btTriangleBufferD0Ev, "__ZN16btTriangleBufferD0Ev");
  
  
  function __ZN16btTriangleBufferD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btTriangleBuffer+8;
    var _1 = _this+4+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+4+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$10533: do { 
        if (!_toBool_i_i_i) {
          ;
          var _6 = _2;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$10533; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _11 = _this;
          (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_11) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
          if (__label__ == 1554) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 3761) {
            var _eh_ptr10 = _llvm_eh_exception();
            var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+4+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+4+4;
    IHEAP[_8] = 0;
    var _9 = _this+4+8;
    IHEAP[_9] = 0;
    var _10 = _this;
    __ZN18btTriangleCallbackD2Ev(_10);
    ;
    return;
  }
  __ZN16btTriangleBufferD1Ev.__index__ = Runtime.getFunctionIndex(__ZN16btTriangleBufferD1Ev, "__ZN16btTriangleBufferD1Ev");
  
  
  function __ZN26btTriangleIndexVertexArrayC2EiPiiiPfi(_this, _numTriangles, _triangleIndexBase, _triangleIndexStride, _numVertices, _vertexBase, _vertexStride) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = _this+4;
    FHEAP[_1] = 1;
    var _2 = _this+4+4;
    FHEAP[_2] = 1;
    var _3 = _this+4+8;
    FHEAP[_3] = 1;
    var _4 = _this+4+12;
    FHEAP[_4] = 0;
    IHEAP[_0] = __ZTV26btTriangleIndexVertexArray+8;
    var _5 = _this+20+16;
    IHEAP[_5] = 1;
    var _6 = _this+20+12;
    IHEAP[_6] = 0;
    var _7 = _this+20+4;
    IHEAP[_7] = 0;
    var _8 = _this+20+8;
    IHEAP[_8] = 0;
    var _9 = _this+48;
    IHEAP[_9] = 0;
    var _10 = _triangleIndexBase;
    var _11 = _vertexBase;
    var _12 = _this+20;
    (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI13btIndexedMeshE7reserveEi(_12, 1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 44; /* _return */  } else { __label__ = 3817; /* _lpad12 */  }
    if (__label__ == 44) {
      var __pre_i_i = IHEAP[_7];
      var __pre = IHEAP[_6];
      var _13 = __pre+32*__pre_i_i;
      IHEAP[_13] = _numTriangles;
      var _14 = __pre+32*__pre_i_i+4;
      IHEAP[_14] = _10;
      var _15 = __pre+32*__pre_i_i+8;
      IHEAP[_15] = _triangleIndexStride;
      var _16 = __pre+32*__pre_i_i+12;
      IHEAP[_16] = _numVertices;
      var _17 = __pre+32*__pre_i_i+16;
      IHEAP[_17] = _11;
      var _18 = __pre+32*__pre_i_i+20;
      IHEAP[_18] = _vertexStride;
      var _19 = __pre+32*__pre_i_i+24;
      IHEAP[_19] = 2;
      var _20 = __pre+32*__pre_i_i+28;
      IHEAP[_20] = 0;
      var _21 = IHEAP[_7];
      var _22 = _21 + 1;
      IHEAP[_7] = _22;
      var _23 = IHEAP[_6];
      var _24 = _23+32*_21+24;
      IHEAP[_24] = 2;
      ;
      return;
    }
    else if (__label__ == 3817) {
      var _eh_ptr13 = _llvm_eh_exception();
      var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 0);
      var _25 = IHEAP[_6];
      var _26 = _25 == 0;
      ;
      if (!_26) {
        ;
        var _27 = IHEAP[_5];
        var _toBool_i_i_i = _27 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$10553: do { 
          if (!_toBool_i_i_i) {
            ;
            var _28 = _25;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_28) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$10553; } else { ; }
            var _eh_ptr17 = _llvm_eh_exception();
            var _eh_select19 = _llvm_eh_selector(_eh_ptr17, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_6] = 0;
        ;
      }
      IHEAP[_5] = 1;
      IHEAP[_6] = 0;
      IHEAP[_7] = 0;
      IHEAP[_8] = 0;
      var _29 = _this;
      (function() { try { __THREW__ = false; return __ZN23btStridingMeshInterfaceD2Ev(_29) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1555; /* _invcont7 */  } else { __label__ = 981; /* _lpad20 */  }
      if (__label__ == 1555) {
        __Unwind_Resume_or_Rethrow(_eh_ptr13);
        // unreachable
      }
      else if (__label__ == 981) {
        var _eh_ptr21 = _llvm_eh_exception();
        var _eh_select23 = _llvm_eh_selector(_eh_ptr21, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZN26btTriangleIndexVertexArrayC2EiPiiiPfi.__index__ = Runtime.getFunctionIndex(__ZN26btTriangleIndexVertexArrayC2EiPiiiPfi, "__ZN26btTriangleIndexVertexArrayC2EiPiiiPfi");
  
  
  function __ZN26btTriangleIndexVertexArrayD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV26btTriangleIndexVertexArray+8;
    var _1 = _this+20+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+20+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$10574: do { 
        if (!_toBool_i_i_i) {
          ;
          var _6 = _2;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$10574; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _12 = _this;
          (function() { try { __THREW__ = false; return __ZN23btStridingMeshInterfaceD2Ev(_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
          if (__label__ == 1554) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 3761) {
            var _eh_ptr10 = _llvm_eh_exception();
            var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+20+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+20+4;
    IHEAP[_8] = 0;
    var _9 = _this+20+8;
    IHEAP[_9] = 0;
    var _10 = _this;
    __ZN23btStridingMeshInterfaceD2Ev(_10);
    var _11 = _this;
    __Z21btAlignedFreeInternalPv(_11);
    ;
    return;
  }
  __ZN26btTriangleIndexVertexArrayD0Ev.__index__ = Runtime.getFunctionIndex(__ZN26btTriangleIndexVertexArrayD0Ev, "__ZN26btTriangleIndexVertexArrayD0Ev");
  
  
  function __ZN26btTriangleIndexVertexArrayD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV26btTriangleIndexVertexArray+8;
    var _1 = _this+20+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+20+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$10585: do { 
        if (!_toBool_i_i_i) {
          ;
          var _6 = _2;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$10585; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _11 = _this;
          (function() { try { __THREW__ = false; return __ZN23btStridingMeshInterfaceD2Ev(_11) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
          if (__label__ == 1554) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 3761) {
            var _eh_ptr10 = _llvm_eh_exception();
            var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+20+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+20+4;
    IHEAP[_8] = 0;
    var _9 = _this+20+8;
    IHEAP[_9] = 0;
    var _10 = _this;
    __ZN23btStridingMeshInterfaceD2Ev(_10);
    ;
    return;
  }
  __ZN26btTriangleIndexVertexArrayD1Ev.__index__ = Runtime.getFunctionIndex(__ZN26btTriangleIndexVertexArrayD1Ev, "__ZN26btTriangleIndexVertexArrayD1Ev");
  
  
  function __ZN26btTriangleIndexVertexArrayD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV26btTriangleIndexVertexArray+8;
    var _1 = _this+20+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+20+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$10596: do { 
        if (!_toBool_i_i_i) {
          ;
          var _6 = _2;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$10596; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _11 = _this;
          (function() { try { __THREW__ = false; return __ZN23btStridingMeshInterfaceD2Ev(_11) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
          if (__label__ == 1554) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 3761) {
            var _eh_ptr10 = _llvm_eh_exception();
            var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+20+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+20+4;
    IHEAP[_8] = 0;
    var _9 = _this+20+8;
    IHEAP[_9] = 0;
    var _10 = _this;
    __ZN23btStridingMeshInterfaceD2Ev(_10);
    ;
    return;
  }
  __ZN26btTriangleIndexVertexArrayD2Ev.__index__ = Runtime.getFunctionIndex(__ZN26btTriangleIndexVertexArrayD2Ev, "__ZN26btTriangleIndexVertexArrayD2Ev");
  
  
  function __ZN20btAlignedObjectArrayI13btIndexedMeshE7reserveEi(_this, __Count) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+8;
    var _1 = IHEAP[_0];
    var _2 = _1 < __Count;
    ;
    if (_2) {
      ;
      var _3 = __Count == 0;
      ;
      if (_3) {
        __lastLabel__ = 60; ;
      }
      else {
        __lastLabel__ = 60; ;
        var _4 = __Count << 5;
        var _5 = __Z22btAlignedAllocInternalji(_4, 16);
        var _phitmp = _5;
        __lastLabel__ = 654; ;
      }
      var _6 = __lastLabel__ == 654 ? _phitmp : (0);
      var _7 = _this+4;
      var _8 = IHEAP[_7];
      var _9 = _8 > 0;
      ;
      _bb_nph_i$__ZNK20btAlignedObjectArrayI13btIndexedMeshE4copyEiiPS0__exit$10610: do { 
        if (_9) {
          ;
          var _10 = _this+12;
          __lastLabel__ = 418; ;
          _bb_i4$10612: while(1) { // _bb_i4
            var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
            var _scevgep1314_i = _6+32*_indvar_i;
            var _scevgep15_i = _6+32*_indvar_i+4;
            var _scevgep16_i = _6+32*_indvar_i+8;
            var _scevgep17_i = _6+32*_indvar_i+12;
            var _scevgep18_i = _6+32*_indvar_i+16;
            var _scevgep19_i = _6+32*_indvar_i+20;
            var _scevgep20_i = _6+32*_indvar_i+24;
            var _scevgep21_i = _6+32*_indvar_i+28;
            var _11 = IHEAP[_10];
            var _scevgep5_i = _11+32*_indvar_i;
            var _12 = IHEAP[_scevgep5_i];
            IHEAP[_scevgep1314_i] = _12;
            var _scevgep6_i = _11+32*_indvar_i+4;
            var _13 = IHEAP[_scevgep6_i];
            IHEAP[_scevgep15_i] = _13;
            var _scevgep7_i = _11+32*_indvar_i+8;
            var _14 = IHEAP[_scevgep7_i];
            IHEAP[_scevgep16_i] = _14;
            var _scevgep8_i = _11+32*_indvar_i+12;
            var _15 = IHEAP[_scevgep8_i];
            IHEAP[_scevgep17_i] = _15;
            var _scevgep9_i = _11+32*_indvar_i+16;
            var _16 = IHEAP[_scevgep9_i];
            IHEAP[_scevgep18_i] = _16;
            var _scevgep10_i = _11+32*_indvar_i+20;
            var _17 = IHEAP[_scevgep10_i];
            IHEAP[_scevgep19_i] = _17;
            var _scevgep11_i = _11+32*_indvar_i+24;
            var _18 = IHEAP[_scevgep11_i];
            IHEAP[_scevgep20_i] = _18;
            var _scevgep12_i = _11+32*_indvar_i+28;
            var _19 = IHEAP[_scevgep12_i];
            IHEAP[_scevgep21_i] = _19;
            var _indvar_next_i = _indvar_i + 1;
            var _exitcond = _indvar_next_i == _8;
            if (_exitcond) { __lastLabel__ = 656; __label__ = 1977; /* __ZNK20btAlignedObjectArrayI13btIndexedMeshE4copyEiiPS0__exit */ break _bb_nph_i$__ZNK20btAlignedObjectArrayI13btIndexedMeshE4copyEiiPS0__exit$10610; } else { __lastLabel__ = 656; __label__ = 656; /* _bb_i4 */ continue _bb_i4$10612; }
          }
        }
      } while(0);
      var _20 = _this+12;
      var _21 = IHEAP[_20];
      var _22 = _21 == 0;
      ;
      if (!_22) {
        ;
        var _23 = _this+16;
        var _24 = IHEAP[_23];
        var _toBool_i = _24 == 0;
        ;
        if (!_toBool_i) {
          ;
          var _25 = _21;
          __Z21btAlignedFreeInternalPv(_25);
          ;
        }
        IHEAP[_20] = 0;
        ;
      }
      var _26 = _this+16;
      IHEAP[_26] = 1;
      IHEAP[_20] = _6;
      IHEAP[_0] = __Count;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN20btAlignedObjectArrayI13btIndexedMeshE7reserveEi.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI13btIndexedMeshE7reserveEi, "__ZN20btAlignedObjectArrayI13btIndexedMeshE7reserveEi");
  
  
  function __ZN34btTriangleIndexVertexMaterialArrayC2EiPiiiPfiiPhiS0_i(_this, _numTriangles, _triangleIndexBase, _triangleIndexStride, _numVertices, _vertexBase, _vertexStride, _numMaterials, _materialBase, _materialStride, _triangleMaterialsBase, _materialIndexStride) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    __ZN26btTriangleIndexVertexArrayC2EiPiiiPfi(_0, _numTriangles, _triangleIndexBase, _triangleIndexStride, _numVertices, _vertexBase, _vertexStride);
    var _1 = _this;
    IHEAP[_1] = __ZTV34btTriangleIndexVertexMaterialArray+8;
    var _2 = _this+84+16;
    IHEAP[_2] = 1;
    var _3 = _this+84+12;
    IHEAP[_3] = 0;
    var _4 = _this+84+4;
    IHEAP[_4] = 0;
    var _5 = _this+84+8;
    IHEAP[_5] = 0;
    var _6 = _triangleMaterialsBase;
    var _7 = _this+84;
    (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI20btMaterialPropertiesE7reserveEi(_7, 1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 265; /* _bb1_i_i */  } else { __label__ = 3817; /* _lpad12 */  }
    if (__label__ == 265) {
      var __pre_i_i = IHEAP[_4];
      var __pre = IHEAP[_3];
      var _8 = __pre+32*__pre_i_i;
      var _9 = _8 == 0;
      ;
      if (_9) {
        __lastLabel__ = 265; ;
      }
      else {
        __lastLabel__ = 265; ;
        var _10 = __pre+32*__pre_i_i;
        IHEAP[_10] = _numMaterials;
        var _11 = __pre+32*__pre_i_i+4;
        IHEAP[_11] = _materialBase;
        var _12 = __pre+32*__pre_i_i+8;
        IHEAP[_12] = _materialStride;
        var _13 = __pre+32*__pre_i_i+12;
        IHEAP[_13] = 0;
        var _14 = __pre+32*__pre_i_i+16;
        IHEAP[_14] = _numTriangles;
        var _15 = __pre+32*__pre_i_i+20;
        IHEAP[_15] = _6;
        var _16 = __pre+32*__pre_i_i+24;
        IHEAP[_16] = _materialIndexStride;
        var _17 = __pre+32*__pre_i_i+28;
        IHEAP[_17] = 2;
        var __pre5_i_i = IHEAP[_4];
        var __pre_i = IHEAP[_3];
        __lastLabel__ = 628; ;
      }
      var _18 = __lastLabel__ == 265 ? __pre : (__pre_i);
      var _19 = __lastLabel__ == 265 ? __pre_i_i : (__pre5_i_i);
      var _20 = _19 + 1;
      IHEAP[_4] = _20;
      var _21 = _18+32*_19+28;
      IHEAP[_21] = 2;
      ;
      return;
    }
    else if (__label__ == 3817) {
      var _eh_ptr13 = _llvm_eh_exception();
      var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 0);
      var _22 = IHEAP[_3];
      var _23 = _22 == 0;
      ;
      if (!_23) {
        ;
        var _24 = IHEAP[_2];
        var _toBool_i_i_i = _24 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$10632: do { 
          if (!_toBool_i_i_i) {
            ;
            var _25 = _22;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_25) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$10632; } else { ; }
            var _eh_ptr17 = _llvm_eh_exception();
            var _eh_select19 = _llvm_eh_selector(_eh_ptr17, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_3] = 0;
        ;
      }
      IHEAP[_2] = 1;
      IHEAP[_3] = 0;
      IHEAP[_4] = 0;
      IHEAP[_5] = 0;
      (function() { try { __THREW__ = false; return __ZN26btTriangleIndexVertexArrayD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1555; /* _invcont7 */  } else { __label__ = 981; /* _lpad20 */  }
      if (__label__ == 1555) {
        __Unwind_Resume_or_Rethrow(_eh_ptr13);
        // unreachable
      }
      else if (__label__ == 981) {
        var _eh_ptr21 = _llvm_eh_exception();
        var _eh_select23 = _llvm_eh_selector(_eh_ptr21, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZN34btTriangleIndexVertexMaterialArrayC2EiPiiiPfiiPhiS0_i.__index__ = Runtime.getFunctionIndex(__ZN34btTriangleIndexVertexMaterialArrayC2EiPiiiPfiiPhiS0_i, "__ZN34btTriangleIndexVertexMaterialArrayC2EiPiiiPfiiPhiS0_i");
  
  
  function __ZN34btTriangleIndexVertexMaterialArrayD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV34btTriangleIndexVertexMaterialArray+8;
    var _1 = _this+84+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+84+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$10645: do { 
        if (!_toBool_i_i_i) {
          ;
          var _6 = _2;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$10645; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _12 = _this;
          (function() { try { __THREW__ = false; return __ZN26btTriangleIndexVertexArrayD2Ev(_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
          if (__label__ == 1554) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 3761) {
            var _eh_ptr10 = _llvm_eh_exception();
            var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+84+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+84+4;
    IHEAP[_8] = 0;
    var _9 = _this+84+8;
    IHEAP[_9] = 0;
    var _10 = _this;
    __ZN26btTriangleIndexVertexArrayD2Ev(_10);
    var _11 = _this;
    __Z21btAlignedFreeInternalPv(_11);
    ;
    return;
  }
  __ZN34btTriangleIndexVertexMaterialArrayD0Ev.__index__ = Runtime.getFunctionIndex(__ZN34btTriangleIndexVertexMaterialArrayD0Ev, "__ZN34btTriangleIndexVertexMaterialArrayD0Ev");
  
  
  function __ZN34btTriangleIndexVertexMaterialArrayD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV34btTriangleIndexVertexMaterialArray+8;
    var _1 = _this+84+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+84+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$10656: do { 
        if (!_toBool_i_i_i) {
          ;
          var _6 = _2;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$10656; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _11 = _this;
          (function() { try { __THREW__ = false; return __ZN26btTriangleIndexVertexArrayD2Ev(_11) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
          if (__label__ == 1554) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 3761) {
            var _eh_ptr10 = _llvm_eh_exception();
            var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+84+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+84+4;
    IHEAP[_8] = 0;
    var _9 = _this+84+8;
    IHEAP[_9] = 0;
    var _10 = _this;
    __ZN26btTriangleIndexVertexArrayD2Ev(_10);
    ;
    return;
  }
  __ZN34btTriangleIndexVertexMaterialArrayD1Ev.__index__ = Runtime.getFunctionIndex(__ZN34btTriangleIndexVertexMaterialArrayD1Ev, "__ZN34btTriangleIndexVertexMaterialArrayD1Ev");
  
  
  function __ZN20btAlignedObjectArrayI20btMaterialPropertiesE7reserveEi(_this, __Count) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+8;
    var _1 = IHEAP[_0];
    var _2 = _1 < __Count;
    ;
    if (_2) {
      ;
      var _3 = __Count == 0;
      ;
      if (_3) {
        __lastLabel__ = 60; ;
      }
      else {
        __lastLabel__ = 60; ;
        var _4 = __Count << 5;
        var _5 = __Z22btAlignedAllocInternalji(_4, 16);
        var _phitmp = _5;
        __lastLabel__ = 654; ;
      }
      var _6 = __lastLabel__ == 654 ? _phitmp : (0);
      var _7 = _this+4;
      var _8 = IHEAP[_7];
      var _9 = _8 > 0;
      ;
      _bb_nph_i$__ZNK20btAlignedObjectArrayI20btMaterialPropertiesE4copyEiiPS0__exit$10670: do { 
        if (_9) {
          ;
          var _10 = _this+12;
          __lastLabel__ = 418; ;
          _bb_i4$10672: while(1) { // _bb_i4
            var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
            var _scevgep_i = _6+32*_indvar_i;
            var _11 = _scevgep_i == 0;
            ;
            if (!_11) {
              ;
              var _scevgep18_i = _6+32*_indvar_i+4;
              var _scevgep19_i = _6+32*_indvar_i+8;
              var _scevgep20_i = _6+32*_indvar_i+12;
              var _scevgep21_i = _6+32*_indvar_i+16;
              var _scevgep22_i = _6+32*_indvar_i+20;
              var _scevgep23_i = _6+32*_indvar_i+24;
              var _scevgep24_i = _6+32*_indvar_i+28;
              var _scevgep17_i = _6+32*_indvar_i;
              var _12 = IHEAP[_10];
              var _scevgep89_i = _12+32*_indvar_i;
              var _13 = IHEAP[_scevgep89_i];
              IHEAP[_scevgep17_i] = _13;
              var _scevgep10_i = _12+32*_indvar_i+4;
              var _14 = IHEAP[_scevgep10_i];
              IHEAP[_scevgep18_i] = _14;
              var _scevgep11_i = _12+32*_indvar_i+8;
              var _15 = IHEAP[_scevgep11_i];
              IHEAP[_scevgep19_i] = _15;
              var _scevgep12_i = _12+32*_indvar_i+12;
              var _16 = IHEAP[_scevgep12_i];
              IHEAP[_scevgep20_i] = _16;
              var _scevgep13_i = _12+32*_indvar_i+16;
              var _17 = IHEAP[_scevgep13_i];
              IHEAP[_scevgep21_i] = _17;
              var _scevgep14_i = _12+32*_indvar_i+20;
              var _18 = IHEAP[_scevgep14_i];
              IHEAP[_scevgep22_i] = _18;
              var _scevgep15_i = _12+32*_indvar_i+24;
              var _19 = IHEAP[_scevgep15_i];
              IHEAP[_scevgep23_i] = _19;
              var _scevgep16_i = _12+32*_indvar_i+28;
              var _20 = IHEAP[_scevgep16_i];
              IHEAP[_scevgep24_i] = _20;
              ;
            }
            var _indvar_next_i = _indvar_i + 1;
            var _exitcond = _indvar_next_i == _8;
            if (_exitcond) { __lastLabel__ = 133; __label__ = 1986; /* __ZNK20btAlignedObjectArrayI20btMaterialPropertiesE4copyEiiPS0__exit */ break _bb_nph_i$__ZNK20btAlignedObjectArrayI20btMaterialPropertiesE4copyEiiPS0__exit$10670; } else { __lastLabel__ = 133; __label__ = 656; /* _bb_i4 */ continue _bb_i4$10672; }
          }
        }
      } while(0);
      var _21 = _this+12;
      var _22 = IHEAP[_21];
      var _23 = _22 == 0;
      ;
      if (!_23) {
        ;
        var _24 = _this+16;
        var _25 = IHEAP[_24];
        var _toBool_i = _25 == 0;
        ;
        if (!_toBool_i) {
          ;
          var _26 = _22;
          __Z21btAlignedFreeInternalPv(_26);
          ;
        }
        IHEAP[_21] = 0;
        ;
      }
      var _27 = _this+16;
      IHEAP[_27] = 1;
      IHEAP[_21] = _6;
      IHEAP[_0] = __Count;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN20btAlignedObjectArrayI20btMaterialPropertiesE7reserveEi.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI20btMaterialPropertiesE7reserveEi, "__ZN20btAlignedObjectArrayI20btMaterialPropertiesE7reserveEi");
  
  
  function __ZN14btTriangleMeshC2Ebb(_this, _use32bitIndices, _use4componentVertices) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = _this+4;
    FHEAP[_1] = 1;
    var _2 = _this+4+4;
    FHEAP[_2] = 1;
    var _3 = _this+4+8;
    FHEAP[_3] = 1;
    var _4 = _this+4+12;
    FHEAP[_4] = 0;
    var _5 = _this+20+16;
    IHEAP[_5] = 1;
    var _6 = _this+20+12;
    IHEAP[_6] = 0;
    var _7 = _this+20+4;
    IHEAP[_7] = 0;
    var _8 = _this+20+8;
    IHEAP[_8] = 0;
    var _9 = _this+48;
    IHEAP[_9] = 0;
    IHEAP[_0] = __ZTV14btTriangleMesh+8;
    var _10 = _this+84+16;
    IHEAP[_10] = 1;
    var _11 = _this+84+12;
    IHEAP[_11] = 0;
    var _12 = _this+84+4;
    IHEAP[_12] = 0;
    var _13 = _this+84+8;
    IHEAP[_13] = 0;
    var _14 = _this+104+16;
    IHEAP[_14] = 1;
    var _15 = _this+104+12;
    IHEAP[_15] = 0;
    var _16 = _this+104+4;
    IHEAP[_16] = 0;
    var _17 = _this+104+8;
    IHEAP[_17] = 0;
    var _18 = _this+124+16;
    IHEAP[_18] = 1;
    var _19 = _this+124+12;
    IHEAP[_19] = 0;
    var _20 = _this+124+4;
    IHEAP[_20] = 0;
    var _21 = _this+124+8;
    IHEAP[_21] = 0;
    var _22 = _this+144+16;
    IHEAP[_22] = 1;
    var _23 = _this+144+12;
    IHEAP[_23] = 0;
    var _24 = _this+144+4;
    IHEAP[_24] = 0;
    var _25 = _this+144+8;
    IHEAP[_25] = 0;
    var _26 = _this+164;
    IHEAP[_26] = _use32bitIndices;
    var _27 = _this+165;
    IHEAP[_27] = _use4componentVertices;
    var _28 = _this+168;
    FHEAP[_28] = 0;
    var _29 = _this+20;
    (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI13btIndexedMeshE7reserveEi(_29, 1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 514; /* _invcont4 */  } else { __label__ = 3267; /* _lpad48 */  }
    if (__label__ == 514) {
      var __pre_i = IHEAP[_7];
      var __pre = IHEAP[_6];
      var _30 = __pre+32*__pre_i;
      IHEAP[_30] = 0;
      var _31 = __pre+32*__pre_i+4;
      IHEAP[_31] = 0;
      var _32 = __pre+32*__pre_i+8;
      IHEAP[_32] = 12;
      var _33 = __pre+32*__pre_i+12;
      IHEAP[_33] = 0;
      var _34 = __pre+32*__pre_i+16;
      IHEAP[_34] = 0;
      var _35 = __pre+32*__pre_i+20;
      IHEAP[_35] = 16;
      var _36 = __pre+32*__pre_i+24;
      IHEAP[_36] = 2;
      var _37 = __pre+32*__pre_i+28;
      IHEAP[_37] = 0;
      var _38 = IHEAP[_7];
      var _39 = _38 + 1;
      IHEAP[_7] = _39;
      var _40 = IHEAP[_26];
      var _toBool = _40 == 0;
      var _41 = IHEAP[_6];
      ;
      if (_toBool) {
        ;
        var _51 = IHEAP[_24];
        var _52 = Math.floor(_51 / 3);
        var _53 = _41;
        IHEAP[_53] = _52;
        var _54 = IHEAP[_6];
        var _55 = _54+4;
        IHEAP[_55] = 0;
        var _56 = IHEAP[_6];
        var _57 = _56+24;
        IHEAP[_57] = 3;
        var _58 = IHEAP[_6];
        var _59 = _58+8;
        IHEAP[_59] = 6;
        ;
      }
      else {
        ;
        var _42 = IHEAP[_20];
        var _43 = Math.floor(_42 / 3);
        var _44 = _41;
        IHEAP[_44] = _43;
        var _45 = IHEAP[_6];
        var _46 = _45+4;
        IHEAP[_46] = 0;
        var _47 = IHEAP[_6];
        var _48 = _47+24;
        IHEAP[_48] = 2;
        var _49 = IHEAP[_6];
        var _50 = _49+8;
        IHEAP[_50] = 12;
        ;
      }
      var _60 = IHEAP[_27];
      var _toBool7 = _60 == 0;
      var _61 = IHEAP[_6];
      ;
      if (_toBool7) {
        ;
        var _68 = IHEAP[_16];
        var _69 = Math.floor(_68 / 3);
        var _70 = _61+12;
        IHEAP[_70] = _69;
        var _71 = IHEAP[_6];
        var _72 = _71+16;
        IHEAP[_72] = 0;
        var _73 = IHEAP[_6];
        var _74 = _73+20;
        IHEAP[_74] = 12;
        ;
        return;
      }
      else {
        ;
        var _62 = IHEAP[_12];
        var _63 = _61+12;
        IHEAP[_63] = _62;
        var _64 = IHEAP[_6];
        var _65 = _64+16;
        IHEAP[_65] = 0;
        var _66 = IHEAP[_6];
        var _67 = _66+20;
        IHEAP[_67] = 16;
        ;
        return;
      }
    }
    else if (__label__ == 3267) {
      var _eh_ptr49 = _llvm_eh_exception();
      var _eh_select51 = _llvm_eh_selector(_eh_ptr49, ___gxx_personality_v0, 0);
      var _75 = IHEAP[_23];
      var _76 = _75 == 0;
      ;
      if (!_76) {
        ;
        var _77 = IHEAP[_22];
        var _toBool_i_i_i92 = _77 == 0;
        ;
        _bb2_i_i_i95$_bb1_i_i_i94$10699: do { 
          if (!_toBool_i_i_i92) {
            ;
            var _78 = _75;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_78) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3935; /* _bb2_i_i_i95 */ break _bb2_i_i_i95$_bb1_i_i_i94$10699; } else { ; }
            var _eh_ptr53 = _llvm_eh_exception();
            var _eh_select55 = _llvm_eh_selector(_eh_ptr53, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_23] = 0;
        ;
      }
      IHEAP[_22] = 1;
      IHEAP[_23] = 0;
      IHEAP[_24] = 0;
      IHEAP[_25] = 0;
      var _88 = IHEAP[_19];
      var _89 = _88 == 0;
      ;
      if (!_89) {
        ;
        var _90 = IHEAP[_18];
        var _toBool_i_i_i = _90 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$10706: do { 
          if (!_toBool_i_i_i) {
            ;
            var _91 = _88;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_91) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$10706; } else { ; }
            var _eh_ptr57 = _llvm_eh_exception();
            var _eh_select59 = _llvm_eh_selector(_eh_ptr57, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_19] = 0;
        ;
      }
      IHEAP[_18] = 1;
      IHEAP[_19] = 0;
      IHEAP[_20] = 0;
      IHEAP[_21] = 0;
      var _84 = IHEAP[_15];
      var _85 = _84 == 0;
      ;
      if (!_85) {
        ;
        var _86 = IHEAP[_14];
        var _toBool_i_i_i82 = _86 == 0;
        ;
        _bb2_i_i_i85$_bb1_i_i_i84$10713: do { 
          if (!_toBool_i_i_i82) {
            ;
            var _87 = _84;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_87) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3937; /* _bb2_i_i_i85 */ break _bb2_i_i_i85$_bb1_i_i_i84$10713; } else { ; }
            var _eh_ptr61 = _llvm_eh_exception();
            var _eh_select63 = _llvm_eh_selector(_eh_ptr61, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_15] = 0;
        ;
      }
      IHEAP[_14] = 1;
      IHEAP[_15] = 0;
      IHEAP[_16] = 0;
      IHEAP[_17] = 0;
      var _80 = IHEAP[_11];
      var _81 = _80 == 0;
      ;
      if (!_81) {
        ;
        var _82 = IHEAP[_10];
        var _toBool_i_i_i87 = _82 == 0;
        ;
        _bb2_i_i_i90$_bb1_i_i_i89$10720: do { 
          if (!_toBool_i_i_i87) {
            ;
            var _83 = _80;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_83) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3936; /* _bb2_i_i_i90 */ break _bb2_i_i_i90$_bb1_i_i_i89$10720; } else { ; }
            var _eh_ptr65 = _llvm_eh_exception();
            var _eh_select67 = _llvm_eh_selector(_eh_ptr65, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_11] = 0;
        ;
      }
      IHEAP[_10] = 1;
      IHEAP[_11] = 0;
      IHEAP[_12] = 0;
      IHEAP[_13] = 0;
      var _79 = _this;
      (function() { try { __THREW__ = false; return __ZN26btTriangleIndexVertexArrayD2Ev(_79) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 249; /* _invcont31 */  } else { __label__ = 3898; /* _lpad68 */  }
      if (__label__ == 249) {
        __Unwind_Resume_or_Rethrow(_eh_ptr49);
        // unreachable
      }
      else if (__label__ == 3898) {
        var _eh_ptr69 = _llvm_eh_exception();
        var _eh_select71 = _llvm_eh_selector(_eh_ptr69, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZN14btTriangleMeshC2Ebb.__index__ = Runtime.getFunctionIndex(__ZN14btTriangleMeshC2Ebb, "__ZN14btTriangleMeshC2Ebb");
  
  
  function __ZN14btTriangleMesh15findOrAddVertexERK9btVector3b(_this, _vertex, _removeDuplicateVertices) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+165;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    var _toBool1 = _removeDuplicateVertices != 0;
    ;
    if (_toBool) {
      ;
      var _43 = _this+104+4;
      var _44 = IHEAP[_43];
      ;
      if (_toBool1) {
        __lastLabel__ = 150; ;
        var _45 = _this+104+12;
        var _46 = _vertex+8;
        var _47 = _vertex+4;
        var _48 = _vertex;
        var _49 = _this+168;
        __lastLabel__ = 1995; ;
        _bb18$10740: while(1) { // _bb18
          var _indvar = __lastLabel__ == 1995 ? 0 : (_indvar_next);
          var _i13_0 = _indvar * 3;
          var _68 = _44 > _i13_0;
          if (!(_68)) { __label__ = 1996; /* _bb20_loopexit */ break _bb18$10740; }
          var _tmp103 = _i13_0 + 2;
          var _tmp = _i13_0 + 1;
          var _50 = IHEAP[_45];
          var _scevgep105 = _50+4*_i13_0;
          var _51 = FHEAP[_scevgep105];
          var _scevgep102 = _50+4*_tmp;
          var _52 = FHEAP[_scevgep102];
          var _scevgep104 = _50+4*_tmp103;
          var _53 = FHEAP[_scevgep104];
          var _54 = FHEAP[_46];
          var _55 = _53 - _54;
          var _56 = FHEAP[_47];
          var _57 = _52 - _56;
          var _58 = FHEAP[_48];
          var _59 = _51 - _58;
          var _60 = _59 * _59;
          var _61 = _57 * _57;
          var _62 = _60 + _61;
          var _63 = _55 * _55;
          var _64 = _62 + _63;
          var _65 = FHEAP[_49];
          var _66 = _64 > _65;
          if (!(_66)) { __label__ = 154; /* _bb16 */ break _bb18$10740; }
          var _indvar_next = _indvar + 1;
          __lastLabel__ = 4; __label__ = 86; /* _bb18 */ continue _bb18$10740;
        }
        if (__label__ == 1996) {
          var __pre108 = _this+104+4;
          __lastLabel__ = 1996; ;
        }
        else if (__label__ == 154) {
          var _67 = Math.floor(_i13_0 / 3);
          ;
          return _67;
        }
      }
      else {
        __lastLabel__ = 150; ;
      }
      var __pre_phi = __lastLabel__ == 1996 ? __pre108 : (_43);
      var _69 = __lastLabel__ == 1996 ? _44 : (_44);
      var _70 = _vertex;
      var _71 = FHEAP[_70];
      var _72 = _this+104+8;
      var _73 = IHEAP[_72];
      var _74 = _73 == _69;
      ;
      _bb_i51$_bb1_i73$10748: do { 
        if (_74) {
          __lastLabel__ = 117; ;
          var _75 = _69 == 0;
          var _76 = _69 << 1;
          var _iftmp_138_0_i_i50 = _75 ? 1 : _76;
          var _77 = _73 < _iftmp_138_0_i_i50;
          if (_77) { __lastLabel__ = 1998; ; } else { __lastLabel__ = 1998; __label__ = 2000; /* _bb1_i73 */ break _bb_i51$_bb1_i73$10748; }
          var _78 = _iftmp_138_0_i_i50 == 0;
          ;
          if (_78) {
            __lastLabel__ = 1999; ;
          }
          else {
            __lastLabel__ = 1999; ;
            var _79 = _iftmp_138_0_i_i50 << 2;
            var _80 = __Z22btAlignedAllocInternalji(_79, 16);
            var _phitmp_i_i53 = _80;
            var __pre_i54 = IHEAP[__pre_phi];
            __lastLabel__ = 2001; ;
          }
          var _81 = __lastLabel__ == 2001 ? __pre_i54 : (_69);
          var _82 = __lastLabel__ == 2001 ? _phitmp_i_i53 : (0);
          var _83 = _81 > 0;
          ;
          _bb_nph_i_i_i57$__ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i_i66$10754: do { 
            if (_83) {
              ;
              var _84 = _this+104+12;
              __lastLabel__ = 2003; ;
              _bb_i4_i_i60$10756: while(1) { // _bb_i4_i_i60
                var _indvar_i_i_i58 = __lastLabel__ == 2003 ? 0 : (_indvar_next_i_i_i63);
                var _scevgep_i_i_i59 = _82+4*_indvar_i_i_i58;
                var _85 = _scevgep_i_i_i59 == 0;
                ;
                if (!_85) {
                  ;
                  var _86 = IHEAP[_84];
                  var _scevgep8_i_i_i61 = _86+4*_indvar_i_i_i58;
                  var _87 = FHEAP[_scevgep8_i_i_i61];
                  FHEAP[_scevgep_i_i_i59] = _87;
                  ;
                }
                var _indvar_next_i_i_i63 = _indvar_i_i_i58 + 1;
                var _exitcond98 = _indvar_next_i_i_i63 == _81;
                if (_exitcond98) { __lastLabel__ = 2006; __label__ = 2007; /* __ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i_i66 */ break _bb_nph_i_i_i57$__ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i_i66$10754; } else { __lastLabel__ = 2006; __label__ = 2004; /* _bb_i4_i_i60 */ continue _bb_i4_i_i60$10756; }
              }
            }
          } while(0);
          var _88 = _this+104+12;
          var _89 = IHEAP[_88];
          var _90 = _89 == 0;
          ;
          if (!_90) {
            ;
            var _91 = _this+104+16;
            var _92 = IHEAP[_91];
            var _toBool_i_i_i67 = _92 == 0;
            ;
            if (!_toBool_i_i_i67) {
              ;
              var _93 = _89;
              __Z21btAlignedFreeInternalPv(_93);
              ;
            }
            IHEAP[_88] = 0;
            ;
          }
          var _94 = _this+104+16;
          IHEAP[_94] = 1;
          IHEAP[_88] = _82;
          IHEAP[_72] = _iftmp_138_0_i_i50;
          var __pre5_i71 = IHEAP[__pre_phi];
          __lastLabel__ = 2010; ;
        }
        else {
          __lastLabel__ = 117; ;
        }
      } while(0);
      var _95 = __lastLabel__ == 2010 ? _iftmp_138_0_i_i50 : (__lastLabel__ == 117 ? _73 : (_73));
      var _96 = __lastLabel__ == 2010 ? __pre5_i71 : (__lastLabel__ == 117 ? _69 : (_69));
      var _97 = _this+104+12;
      var _98 = IHEAP[_97];
      var _99 = _98+4*_96;
      var _100 = _99 == 0;
      ;
      if (_100) {
        __lastLabel__ = 2000; ;
      }
      else {
        __lastLabel__ = 2000; ;
        FHEAP[_99] = _71;
        var __pre6_i74 = IHEAP[__pre_phi];
        var __pre = IHEAP[_72];
        __lastLabel__ = 2012; ;
      }
      var _101 = __lastLabel__ == 2000 ? _95 : (__pre);
      var _102 = __lastLabel__ == 2000 ? _96 : (__pre6_i74);
      var _103 = _102 + 1;
      IHEAP[__pre_phi] = _103;
      var _104 = _vertex+4;
      var _105 = FHEAP[_104];
      var _106 = _101 == _103;
      ;
      _bb_i24$_bb1_i46$10772: do { 
        if (_106) {
          __lastLabel__ = 4091; ;
          var _107 = _103 == 0;
          var _108 = _103 << 1;
          var _iftmp_138_0_i_i23 = _107 ? 1 : _108;
          var _109 = _101 < _iftmp_138_0_i_i23;
          if (_109) { __lastLabel__ = 227; ; } else { __lastLabel__ = 227; __label__ = 2015; /* _bb1_i46 */ break _bb_i24$_bb1_i46$10772; }
          var _110 = _iftmp_138_0_i_i23 == 0;
          ;
          if (_110) {
            __lastLabel__ = 2014; ;
          }
          else {
            __lastLabel__ = 2014; ;
            var _111 = _iftmp_138_0_i_i23 << 2;
            var _112 = __Z22btAlignedAllocInternalji(_111, 16);
            var _phitmp_i_i26 = _112;
            var __pre_i27 = IHEAP[__pre_phi];
            __lastLabel__ = 2016; ;
          }
          var _113 = __lastLabel__ == 2016 ? __pre_i27 : (_103);
          var _114 = __lastLabel__ == 2016 ? _phitmp_i_i26 : (0);
          var _115 = _113 > 0;
          if (_115) { __lastLabel__ = 2018; __label__ = 2019; /* _bb_i4_i_i33 */  } else { __lastLabel__ = 2018; __label__ = 2020; /* __ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i_i39 */  }
          _bb_i4_i_i33$__ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i_i39$10778: while(1) { // _bb_i4_i_i33,__ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i_i39
            if (__label__ == 2019) {
              var _indvar_i_i_i31 = __lastLabel__ == 2022 ? _indvar_next_i_i_i36 : (0);
              var _scevgep_i_i_i32 = _114+4*_indvar_i_i_i31;
              var _116 = _scevgep_i_i_i32 == 0;
              ;
              if (!_116) {
                ;
                var _117 = IHEAP[_97];
                var _scevgep8_i_i_i34 = _117+4*_indvar_i_i_i31;
                var _118 = FHEAP[_scevgep8_i_i_i34];
                FHEAP[_scevgep_i_i_i32] = _118;
                ;
              }
              var _indvar_next_i_i_i36 = _indvar_i_i_i31 + 1;
              var _exitcond95 = _indvar_next_i_i_i36 == _113;
              if (_exitcond95) { __lastLabel__ = 2022; __label__ = 2020; /* __ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i_i39 */ continue _bb_i4_i_i33$__ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i_i39$10778; } else { __lastLabel__ = 2022; __label__ = 2019; /* _bb_i4_i_i33 */ continue _bb_i4_i_i33$__ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i_i39$10778; }
            }
            else if (__label__ == 2020) {
              var _119 = IHEAP[_97];
              var _120 = _119 == 0;
              if (_120) { __label__ = 2023; /* __ZN20btAlignedObjectArrayIfE10deallocateEv_exit_i_i45 */ break _bb_i4_i_i33$__ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i_i39$10778; } else { __label__ = 2024; /* _bb_i_i_i41 */ break _bb_i4_i_i33$__ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i_i39$10778; }
            }
          }
          if (__label__ == 2024) {
            var _121 = _this+104+16;
            var _122 = IHEAP[_121];
            var _toBool_i_i_i40 = _122 == 0;
            ;
            if (!_toBool_i_i_i40) {
              ;
              var _123 = _119;
              __Z21btAlignedFreeInternalPv(_123);
              ;
            }
            IHEAP[_97] = 0;
            ;
          }
          var _124 = _this+104+16;
          IHEAP[_124] = 1;
          IHEAP[_97] = _114;
          IHEAP[_72] = _iftmp_138_0_i_i23;
          var __pre5_i44 = IHEAP[__pre_phi];
          __lastLabel__ = 2023; ;
        }
        else {
          __lastLabel__ = 4091; ;
        }
      } while(0);
      var _125 = __lastLabel__ == 2023 ? _iftmp_138_0_i_i23 : (__lastLabel__ == 4091 ? _101 : (_101));
      var _126 = __lastLabel__ == 2023 ? __pre5_i44 : (__lastLabel__ == 4091 ? _103 : (_103));
      var _127 = IHEAP[_97];
      var _128 = _127+4*_126;
      var _129 = _128 == 0;
      ;
      if (_129) {
        __lastLabel__ = 2015; ;
      }
      else {
        __lastLabel__ = 2015; ;
        FHEAP[_128] = _105;
        var __pre6_i47 = IHEAP[__pre_phi];
        var __pre106 = IHEAP[_72];
        __lastLabel__ = 2028; ;
      }
      var _130 = __lastLabel__ == 2015 ? _125 : (__pre106);
      var _131 = __lastLabel__ == 2015 ? _126 : (__pre6_i47);
      var _132 = _131 + 1;
      IHEAP[__pre_phi] = _132;
      var _133 = _vertex+8;
      var _134 = FHEAP[_133];
      var _135 = _130 == _132;
      ;
      _bb_i$_bb1_i$10795: do { 
        if (_135) {
          __lastLabel__ = 4092; ;
          var _136 = _132 == 0;
          var _137 = _132 << 1;
          var _iftmp_138_0_i_i = _136 ? 1 : _137;
          var _138 = _130 < _iftmp_138_0_i_i;
          if (_138) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$10795; }
          var _139 = _iftmp_138_0_i_i == 0;
          ;
          if (_139) {
            __lastLabel__ = 263; ;
          }
          else {
            __lastLabel__ = 263; ;
            var _140 = _iftmp_138_0_i_i << 2;
            var _141 = __Z22btAlignedAllocInternalji(_140, 16);
            var _phitmp_i_i = _141;
            var __pre_i = IHEAP[__pre_phi];
            __lastLabel__ = 274; ;
          }
          var _142 = __lastLabel__ == 274 ? __pre_i : (_132);
          var _143 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
          var _144 = _142 > 0;
          if (_144) { __lastLabel__ = 2031; __label__ = 277; /* _bb_i4_i_i */  } else { __lastLabel__ = 2031; __label__ = 2032; /* __ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i_i */  }
          _bb_i4_i_i$__ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i_i$10801: while(1) { // _bb_i4_i_i,__ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i_i
            if (__label__ == 277) {
              var _indvar_i_i_i = __lastLabel__ == 279 ? _indvar_next_i_i_i : (0);
              var _scevgep_i_i_i = _143+4*_indvar_i_i_i;
              var _145 = _scevgep_i_i_i == 0;
              ;
              if (!_145) {
                ;
                var _146 = IHEAP[_97];
                var _scevgep8_i_i_i = _146+4*_indvar_i_i_i;
                var _147 = FHEAP[_scevgep8_i_i_i];
                FHEAP[_scevgep_i_i_i] = _147;
                ;
              }
              var _indvar_next_i_i_i = _indvar_i_i_i + 1;
              var _exitcond = _indvar_next_i_i_i == _142;
              if (_exitcond) { __lastLabel__ = 279; __label__ = 2032; /* __ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i_i$10801; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i_i$10801; }
            }
            else if (__label__ == 2032) {
              var _148 = IHEAP[_97];
              var _149 = _148 == 0;
              if (_149) { __label__ = 2034; /* __ZN20btAlignedObjectArrayIfE10deallocateEv_exit_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i_i$10801; } else { __label__ = 1387; /* _bb_i_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIfE4copyEiiPf_exit_i_i$10801; }
            }
          }
          if (__label__ == 1387) {
            var _150 = _this+104+16;
            var _151 = IHEAP[_150];
            var _toBool_i_i_i = _151 == 0;
            ;
            if (!_toBool_i_i_i) {
              ;
              var _152 = _148;
              __Z21btAlignedFreeInternalPv(_152);
              ;
            }
            IHEAP[_97] = 0;
            ;
          }
          var _153 = _this+104+16;
          IHEAP[_153] = 1;
          IHEAP[_97] = _143;
          IHEAP[_72] = _iftmp_138_0_i_i;
          var __pre5_i = IHEAP[__pre_phi];
          __lastLabel__ = 2034; ;
        }
        else {
          __lastLabel__ = 4092; ;
        }
      } while(0);
      var _154 = __lastLabel__ == 2034 ? __pre5_i : (__lastLabel__ == 4092 ? _132 : (_132));
      var _155 = IHEAP[_97];
      var _156 = _155+4*_154;
      var _157 = _156 == 0;
      ;
      if (_157) {
        __lastLabel__ = 159; ;
      }
      else {
        __lastLabel__ = 159; ;
        FHEAP[_156] = _134;
        var __pre6_i = IHEAP[__pre_phi];
        __lastLabel__ = 132; ;
      }
      var _158 = __lastLabel__ == 159 ? _154 : (__pre6_i);
      var _159 = _158 + 1;
      IHEAP[__pre_phi] = _159;
      var _160 = _this+20+12;
      var _161 = IHEAP[_160];
      var _162 = _161+12;
      var _163 = IHEAP[_162];
      var _164 = _163 + 1;
      IHEAP[_162] = _164;
      var _165 = IHEAP[_160];
      var _166 = IHEAP[_97];
      var _167 = _166;
      var _168 = _165+16;
      IHEAP[_168] = _167;
      var _169 = IHEAP[__pre_phi];
      var _170 = Math.floor(_169 / 3);
      var _171 = _170 + -1;
      ;
      return _171;
    }
    else {
      ;
      ;
      _bb7_preheader$_bb9$10819: do { 
        if (_toBool1) {
          ;
          var _2 = _this+84+4;
          var _3 = IHEAP[_2];
          var _4 = _this+84+12;
          var _5 = _vertex+8;
          var _6 = _vertex+4;
          var _7 = _vertex;
          var _8 = _this+168;
          __lastLabel__ = 272; ;
          _bb7$10821: while(1) { // _bb7
            var _27 = __lastLabel__ == 83 ? _26 : (0);
            var _28 = _3 > _27;
            if (!(_28)) { __label__ = 62; /* _bb9 */ break _bb7_preheader$_bb9$10819; }
            var _9 = IHEAP[_4];
            var _scevgep92 = _9+16*_27+8;
            var _10 = FHEAP[_scevgep92];
            var _11 = FHEAP[_5];
            var _12 = _10 - _11;
            var _scevgep91 = _9+16*_27+4;
            var _13 = FHEAP[_scevgep91];
            var _14 = FHEAP[_6];
            var _15 = _13 - _14;
            var _scevgep90 = _9+16*_27;
            var _16 = FHEAP[_scevgep90];
            var _17 = FHEAP[_7];
            var _18 = _16 - _17;
            var _19 = _18 * _18;
            var _20 = _15 * _15;
            var _21 = _19 + _20;
            var _22 = _12 * _12;
            var _23 = _21 + _22;
            var _24 = FHEAP[_8];
            var _25 = _23 > _24;
            if (!(_25)) { __label__ = 110; /* _bb21 */ break _bb7$10821; }
            var _26 = _27 + 1;
            __lastLabel__ = 83; __label__ = 2; /* _bb7 */ continue _bb7$10821;
          }
          ;
          return _27;
        }
      } while(0);
      var _29 = _this+20+12;
      var _30 = IHEAP[_29];
      var _31 = _30+12;
      var _32 = IHEAP[_31];
      var _33 = _32 + 1;
      IHEAP[_31] = _33;
      var _34 = _this+84;
      __ZN20btAlignedObjectArrayI9btVector3E9push_backERKS0_(_34, _vertex);
      var _35 = IHEAP[_29];
      var _36 = _this+84+12;
      var _37 = IHEAP[_36];
      var _38 = _37;
      var _39 = _35+16;
      IHEAP[_39] = _38;
      var _40 = _this+84+4;
      var _41 = IHEAP[_40];
      var _42 = _41 + -1;
      ;
      return _42;
    }
  }
  __ZN14btTriangleMesh15findOrAddVertexERK9btVector3b.__index__ = Runtime.getFunctionIndex(__ZN14btTriangleMesh15findOrAddVertexERK9btVector3b, "__ZN14btTriangleMesh15findOrAddVertexERK9btVector3b");
  
  
  function __ZN14btTriangleMesh8addIndexEi(_this, _index) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+164;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    ;
    if (_toBool) {
      ;
      var _39 = _index;
      var _40 = _this+144+4;
      var _41 = IHEAP[_40];
      var _42 = _this+144+8;
      var _43 = IHEAP[_42];
      var _44 = _43 == _41;
      ;
      _bb_i3$_bb1_i22$10830: do { 
        if (_44) {
          __lastLabel__ = 75; ;
          var _45 = _41 == 0;
          var _46 = _41 << 1;
          var _iftmp_134_0_i_i = _45 ? 1 : _46;
          var _47 = _43 < _iftmp_134_0_i_i;
          if (_47) { __lastLabel__ = 2047; ; } else { __lastLabel__ = 2047; __label__ = 2049; /* _bb1_i22 */ break _bb_i3$_bb1_i22$10830; }
          var _48 = _iftmp_134_0_i_i == 0;
          ;
          if (_48) {
            __lastLabel__ = 2048; ;
          }
          else {
            __lastLabel__ = 2048; ;
            var _49 = _iftmp_134_0_i_i << 1;
            var _50 = __Z22btAlignedAllocInternalji(_49, 16);
            var _phitmp_i_i5 = _50;
            var __pre_i6 = IHEAP[_40];
            __lastLabel__ = 2050; ;
          }
          var _51 = __lastLabel__ == 2050 ? __pre_i6 : (_41);
          var _52 = __lastLabel__ == 2050 ? _phitmp_i_i5 : (0);
          var _53 = _51 > 0;
          ;
          _bb_nph_i_i_i8$__ZNK20btAlignedObjectArrayItE4copyEiiPt_exit_i_i$10836: do { 
            if (_53) {
              ;
              var _54 = _this+144+12;
              __lastLabel__ = 2052; ;
              _bb_i4_i_i11$10838: while(1) { // _bb_i4_i_i11
                var _indvar_i_i_i9 = __lastLabel__ == 2052 ? 0 : (_indvar_next_i_i_i14);
                var _scevgep_i_i_i10 = _52+2*_indvar_i_i_i9;
                var _55 = _scevgep_i_i_i10 == 0;
                ;
                if (!_55) {
                  ;
                  var _56 = IHEAP[_54];
                  var _scevgep8_i_i_i12 = _56+2*_indvar_i_i_i9;
                  var _57 = IHEAP[_scevgep8_i_i_i12];
                  IHEAP[_scevgep_i_i_i10] = _57;
                  ;
                }
                var _indvar_next_i_i_i14 = _indvar_i_i_i9 + 1;
                var _exitcond25 = _indvar_next_i_i_i14 == _51;
                if (_exitcond25) { __lastLabel__ = 2055; __label__ = 2056; /* __ZNK20btAlignedObjectArrayItE4copyEiiPt_exit_i_i */ break _bb_nph_i_i_i8$__ZNK20btAlignedObjectArrayItE4copyEiiPt_exit_i_i$10836; } else { __lastLabel__ = 2055; __label__ = 2053; /* _bb_i4_i_i11 */ continue _bb_i4_i_i11$10838; }
              }
            }
          } while(0);
          var _58 = _this+144+12;
          var _59 = IHEAP[_58];
          var _60 = _59 == 0;
          ;
          if (!_60) {
            ;
            var _61 = _this+144+16;
            var _62 = IHEAP[_61];
            var _toBool_i_i_i17 = _62 == 0;
            ;
            if (!_toBool_i_i_i17) {
              ;
              var _63 = _59;
              __Z21btAlignedFreeInternalPv(_63);
              ;
            }
            IHEAP[_58] = 0;
            ;
          }
          var _64 = _this+144+16;
          IHEAP[_64] = 1;
          IHEAP[_58] = _52;
          IHEAP[_42] = _iftmp_134_0_i_i;
          var __pre5_i21 = IHEAP[_40];
          __lastLabel__ = 2059; ;
        }
        else {
          __lastLabel__ = 75; ;
        }
      } while(0);
      var _65 = __lastLabel__ == 2059 ? __pre5_i21 : (__lastLabel__ == 75 ? _41 : (_41));
      var _66 = _this+144+12;
      var _67 = IHEAP[_66];
      var _68 = _67+2*_65;
      var _69 = _68 == 0;
      ;
      if (_69) {
        __lastLabel__ = 2049; ;
      }
      else {
        __lastLabel__ = 2049; ;
        IHEAP[_68] = _39;
        var __pre6_i23 = IHEAP[_40];
        var __pre = IHEAP[_66];
        __lastLabel__ = 2061; ;
      }
      var _70 = __lastLabel__ == 2049 ? _67 : (__pre);
      var _71 = __lastLabel__ == 2049 ? _65 : (__pre6_i23);
      var _72 = _71 + 1;
      IHEAP[_40] = _72;
      var _73 = _this+20+12;
      var _74 = IHEAP[_73];
      var _75 = _70;
      var _76 = _74+4;
      IHEAP[_76] = _75;
      ;
      return;
    }
    else {
      ;
      var _2 = _this+124+4;
      var _3 = IHEAP[_2];
      var _4 = _this+124+8;
      var _5 = IHEAP[_4];
      var _6 = _5 == _3;
      ;
      _bb_i$_bb1_i$10855: do { 
        if (_6) {
          __lastLabel__ = 60; ;
          var _7 = _3 == 0;
          var _8 = _3 << 1;
          var _iftmp_132_0_i_i = _7 ? 1 : _8;
          var _9 = _5 < _iftmp_132_0_i_i;
          if (_9) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$10855; }
          var _10 = _iftmp_132_0_i_i == 0;
          ;
          if (_10) {
            __lastLabel__ = 263; ;
          }
          else {
            __lastLabel__ = 263; ;
            var _11 = _iftmp_132_0_i_i << 2;
            var _12 = __Z22btAlignedAllocInternalji(_11, 16);
            var _phitmp_i_i = _12;
            var __pre_i = IHEAP[_2];
            __lastLabel__ = 274; ;
          }
          var _13 = __lastLabel__ == 274 ? __pre_i : (_3);
          var _14 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
          var _15 = _13 > 0;
          ;
          _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIjE4copyEiiPj_exit_i_i$10861: do { 
            if (_15) {
              ;
              var _16 = _this+124+12;
              __lastLabel__ = 276; ;
              _bb_i4_i_i$10863: while(1) { // _bb_i4_i_i
                var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
                var _scevgep_i_i_i = _14+4*_indvar_i_i_i;
                var _17 = _scevgep_i_i_i == 0;
                ;
                if (!_17) {
                  ;
                  var _18 = IHEAP[_16];
                  var _scevgep8_i_i_i = _18+4*_indvar_i_i_i;
                  var _19 = IHEAP[_scevgep8_i_i_i];
                  IHEAP[_scevgep_i_i_i] = _19;
                  ;
                }
                var _indvar_next_i_i_i = _indvar_i_i_i + 1;
                var _exitcond = _indvar_next_i_i_i == _13;
                if (_exitcond) { __lastLabel__ = 279; __label__ = 2041; /* __ZNK20btAlignedObjectArrayIjE4copyEiiPj_exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIjE4copyEiiPj_exit_i_i$10861; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$10863; }
              }
            }
          } while(0);
          var _20 = _this+124+12;
          var _21 = IHEAP[_20];
          var _22 = _21 == 0;
          ;
          if (!_22) {
            ;
            var _23 = _this+124+16;
            var _24 = IHEAP[_23];
            var _toBool_i_i_i = _24 == 0;
            ;
            if (!_toBool_i_i_i) {
              ;
              var _25 = _21;
              __Z21btAlignedFreeInternalPv(_25);
              ;
            }
            IHEAP[_20] = 0;
            ;
          }
          var _26 = _this+124+16;
          IHEAP[_26] = 1;
          IHEAP[_20] = _14;
          IHEAP[_4] = _iftmp_132_0_i_i;
          var __pre5_i = IHEAP[_2];
          __lastLabel__ = 2044; ;
        }
        else {
          __lastLabel__ = 60; ;
        }
      } while(0);
      var _27 = __lastLabel__ == 2044 ? __pre5_i : (__lastLabel__ == 60 ? _3 : (_3));
      var _28 = _this+124+12;
      var _29 = IHEAP[_28];
      var _30 = _29+4*_27;
      var _31 = _30 == 0;
      ;
      if (_31) {
        __lastLabel__ = 159; ;
      }
      else {
        __lastLabel__ = 159; ;
        IHEAP[_30] = _index;
        var __pre6_i = IHEAP[_2];
        var __pre26 = IHEAP[_28];
        __lastLabel__ = 132; ;
      }
      var _32 = __lastLabel__ == 159 ? _29 : (__pre26);
      var _33 = __lastLabel__ == 159 ? _27 : (__pre6_i);
      var _34 = _33 + 1;
      IHEAP[_2] = _34;
      var _35 = _this+20+12;
      var _36 = IHEAP[_35];
      var _37 = _32;
      var _38 = _36+4;
      IHEAP[_38] = _37;
      ;
      return;
    }
  }
  __ZN14btTriangleMesh8addIndexEi.__index__ = Runtime.getFunctionIndex(__ZN14btTriangleMesh8addIndexEi, "__ZN14btTriangleMesh8addIndexEi");
  
  
  function __ZN14btTriangleMesh11addTriangleERK9btVector3S2_S2_b(_this, _vertex0, _vertex1, _vertex2, _removeDuplicateVertices) {
    ;
    var __label__;
    var _0 = _this+20+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3 + 1;
    IHEAP[_2] = _4;
    var _5 = __ZN14btTriangleMesh15findOrAddVertexERK9btVector3b(_this, _vertex0, _removeDuplicateVertices);
    __ZN14btTriangleMesh8addIndexEi(_this, _5);
    var _6 = __ZN14btTriangleMesh15findOrAddVertexERK9btVector3b(_this, _vertex1, _removeDuplicateVertices);
    __ZN14btTriangleMesh8addIndexEi(_this, _6);
    var _7 = __ZN14btTriangleMesh15findOrAddVertexERK9btVector3b(_this, _vertex2, _removeDuplicateVertices);
    __ZN14btTriangleMesh8addIndexEi(_this, _7);
    ;
    return;
  }
  __ZN14btTriangleMesh11addTriangleERK9btVector3S2_S2_b.__index__ = Runtime.getFunctionIndex(__ZN14btTriangleMesh11addTriangleERK9btVector3S2_S2_b, "__ZN14btTriangleMesh11addTriangleERK9btVector3S2_S2_b");
  
  
  function __ZN14btTriangleMeshD0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV14btTriangleMesh+8;
    var _1 = _this+144+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$10881: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+144+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$10883: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$10883; } else { ; }
            var _eh_ptr45 = _llvm_eh_exception();
            var _eh_select47 = _llvm_eh_selector(_eh_ptr45, ___gxx_personality_v0, 0);
            var _39 = _this+124+12;
            var _40 = IHEAP[_39];
            var _41 = _40 == 0;
            ;
            if (!_41) {
              ;
              var _42 = _this+124+16;
              var _43 = IHEAP[_42];
              var _toBool_i_i_i87 = _43 == 0;
              ;
              _bb2_i_i_i90$_bb1_i_i_i89$10888: do { 
                if (!_toBool_i_i_i87) {
                  ;
                  var _44 = _40;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_44) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3936; /* _bb2_i_i_i90 */ break _bb2_i_i_i90$_bb1_i_i_i89$10888; } else { ; }
                  var _eh_ptr49 = _llvm_eh_exception();
                  var _eh_select51 = _llvm_eh_selector(_eh_ptr49, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_39] = 0;
              ;
            }
            var _45 = _this+124+16;
            IHEAP[_45] = 1;
            IHEAP[_39] = 0;
            var _46 = _this+124+4;
            IHEAP[_46] = 0;
            var _47 = _this+124+8;
            IHEAP[_47] = 0;
            __lastLabel__ = 2067; __label__ = 887; /* _ppad65 */ break _bb3$_bb_i_i_i$10881;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$10881;
      }
    } while(0);
    _bb3$_ppad65$10894: do { 
      if (__label__ == 116) {
        var _7 = _this+144+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+144+4;
        IHEAP[_8] = 0;
        var _9 = _this+144+8;
        IHEAP[_9] = 0;
        var _10 = _this+124+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+124+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i72 = _14 == 0;
          ;
          _bb2_i_i_i75$_bb1_i_i_i74$10898: do { 
            if (!_toBool_i_i_i72) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3809; /* _bb2_i_i_i75 */ break _bb2_i_i_i75$_bb1_i_i_i74$10898; } else { ; }
              var _eh_ptr41 = _llvm_eh_exception();
              var _eh_select43 = _llvm_eh_selector(_eh_ptr41, ___gxx_personality_v0, 0);
              __lastLabel__ = 520; __label__ = 887; /* _ppad65 */ break _bb3$_ppad65$10894;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _16 = _this+124+16;
        IHEAP[_16] = 1;
        IHEAP[_10] = 0;
        var _17 = _this+124+4;
        IHEAP[_17] = 0;
        var _18 = _this+124+8;
        IHEAP[_18] = 0;
        var _19 = _this+104+12;
        var _20 = IHEAP[_19];
        var _21 = _20 == 0;
        ;
        if (!_21) {
          ;
          var _22 = _this+104+16;
          var _23 = IHEAP[_22];
          var _toBool_i_i_i77 = _23 == 0;
          ;
          _bb2_i_i_i80$_bb1_i_i_i79$10905: do { 
            if (!_toBool_i_i_i77) {
              ;
              var _24 = _20;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_24) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3810; /* _bb2_i_i_i80 */ break _bb2_i_i_i80$_bb1_i_i_i79$10905; } else { ; }
              var _eh_ptr37 = _llvm_eh_exception();
              var _eh_select39 = _llvm_eh_selector(_eh_ptr37, ___gxx_personality_v0, 0);
              __lastLabel__ = 680; __label__ = 886; /* _ppad64 */ break _bb3$_ppad65$10894;
            }
          } while(0);
          IHEAP[_19] = 0;
          ;
        }
        var _25 = _this+104+16;
        IHEAP[_25] = 1;
        IHEAP[_19] = 0;
        var _26 = _this+104+4;
        IHEAP[_26] = 0;
        var _27 = _this+104+8;
        IHEAP[_27] = 0;
        var _28 = _this+84+12;
        var _29 = IHEAP[_28];
        var _30 = _29 == 0;
        ;
        if (!_30) {
          ;
          var _31 = _this+84+16;
          var _32 = IHEAP[_31];
          var _toBool_i_i_i82 = _32 == 0;
          ;
          _bb2_i_i_i85$_bb1_i_i_i84$10912: do { 
            if (!_toBool_i_i_i82) {
              ;
              var _33 = _29;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_33) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3937; /* _bb2_i_i_i85 */ break _bb2_i_i_i85$_bb1_i_i_i84$10912; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select35 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad65$10894;
            }
          } while(0);
          IHEAP[_28] = 0;
          ;
        }
        var _34 = _this+84+16;
        IHEAP[_34] = 1;
        IHEAP[_28] = 0;
        var _35 = _this+84+4;
        IHEAP[_35] = 0;
        var _36 = _this+84+8;
        IHEAP[_36] = 0;
        var _37 = _this;
        __ZN26btTriangleIndexVertexArrayD2Ev(_37);
        var _38 = _this;
        __Z21btAlignedFreeInternalPv(_38);
        ;
        return;
      }
    } while(0);
    _ppad$_ppad64$_ppad65$10917: do { 
      if (__label__ == 887) {
        var _eh_exception_0 = __lastLabel__ == 520 ? _eh_ptr41 : (_eh_ptr45);
        var _58 = _this+104+12;
        var _59 = IHEAP[_58];
        var _60 = _59 == 0;
        ;
        if (!_60) {
          ;
          var _61 = _this+104+16;
          var _62 = IHEAP[_61];
          var _toBool_i_i_i99 = _62 == 0;
          ;
          _bb2_i_i_i102$_bb1_i_i_i101$10921: do { 
            if (!_toBool_i_i_i99) {
              ;
              var _63 = _59;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_63) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3813; /* _bb2_i_i_i102 */ break _bb2_i_i_i102$_bb1_i_i_i101$10921; } else { ; }
              var _eh_ptr53 = _llvm_eh_exception();
              var _eh_select55 = _llvm_eh_selector(_eh_ptr53, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_58] = 0;
          ;
        }
        var _64 = _this+104+16;
        IHEAP[_64] = 1;
        IHEAP[_58] = 0;
        var _65 = _this+104+4;
        IHEAP[_65] = 0;
        var _66 = _this+104+8;
        IHEAP[_66] = 0;
        __lastLabel__ = 2072; __label__ = 886; /* _ppad64 */ break _ppad$_ppad64$_ppad65$10917;
      }
    } while(0);
    if (__label__ == 886) {
      var _eh_exception_1 = __lastLabel__ == 680 ? _eh_ptr37 : (_eh_exception_0);
      var _49 = _this+84+12;
      var _50 = IHEAP[_49];
      var _51 = _50 == 0;
      ;
      if (!_51) {
        ;
        var _52 = _this+84+16;
        var _53 = IHEAP[_52];
        var _toBool_i_i_i93 = _53 == 0;
        ;
        _bb2_i_i_i96$_bb1_i_i_i95$10930: do { 
          if (!_toBool_i_i_i93) {
            ;
            var _54 = _50;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_54) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3812; /* _bb2_i_i_i96 */ break _bb2_i_i_i96$_bb1_i_i_i95$10930; } else { ; }
            var _eh_ptr57 = _llvm_eh_exception();
            var _eh_select59 = _llvm_eh_selector(_eh_ptr57, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_49] = 0;
        ;
      }
      var _55 = _this+84+16;
      IHEAP[_55] = 1;
      IHEAP[_49] = 0;
      var _56 = _this+84+4;
      IHEAP[_56] = 0;
      var _57 = _this+84+8;
      IHEAP[_57] = 0;
      __lastLabel__ = 2069; ;
    }
    var _eh_exception_2 = __lastLabel__ == 254 ? _eh_ptr : (_eh_exception_1);
    var _48 = _this;
    (function() { try { __THREW__ = false; return __ZN26btTriangleIndexVertexArrayD2Ev(_48) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3938; /* _invcont26 */  } else { __label__ = 3082; /* _lpad60 */  }
    if (__label__ == 3938) {
      __Unwind_Resume_or_Rethrow(_eh_exception_2);
      // unreachable
    }
    else if (__label__ == 3082) {
      var _eh_ptr61 = _llvm_eh_exception();
      var _eh_select63 = _llvm_eh_selector(_eh_ptr61, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN14btTriangleMeshD0Ev.__index__ = Runtime.getFunctionIndex(__ZN14btTriangleMeshD0Ev, "__ZN14btTriangleMeshD0Ev");
  
  
  function __ZN14btTriangleMeshD2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV14btTriangleMesh+8;
    var _1 = _this+144+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$10941: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+144+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$10943: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$10943; } else { ; }
            var _eh_ptr45 = _llvm_eh_exception();
            var _eh_select47 = _llvm_eh_selector(_eh_ptr45, ___gxx_personality_v0, 0);
            var _38 = _this+124+12;
            var _39 = IHEAP[_38];
            var _40 = _39 == 0;
            ;
            if (!_40) {
              ;
              var _41 = _this+124+16;
              var _42 = IHEAP[_41];
              var _toBool_i_i_i87 = _42 == 0;
              ;
              _bb2_i_i_i90$_bb1_i_i_i89$10948: do { 
                if (!_toBool_i_i_i87) {
                  ;
                  var _43 = _39;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_43) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3936; /* _bb2_i_i_i90 */ break _bb2_i_i_i90$_bb1_i_i_i89$10948; } else { ; }
                  var _eh_ptr49 = _llvm_eh_exception();
                  var _eh_select51 = _llvm_eh_selector(_eh_ptr49, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_38] = 0;
              ;
            }
            var _44 = _this+124+16;
            IHEAP[_44] = 1;
            IHEAP[_38] = 0;
            var _45 = _this+124+4;
            IHEAP[_45] = 0;
            var _46 = _this+124+8;
            IHEAP[_46] = 0;
            __lastLabel__ = 2067; __label__ = 887; /* _ppad65 */ break _bb3$_bb_i_i_i$10941;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$10941;
      }
    } while(0);
    _bb3$_ppad65$10954: do { 
      if (__label__ == 116) {
        var _7 = _this+144+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+144+4;
        IHEAP[_8] = 0;
        var _9 = _this+144+8;
        IHEAP[_9] = 0;
        var _10 = _this+124+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+124+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i72 = _14 == 0;
          ;
          _bb2_i_i_i75$_bb1_i_i_i74$10958: do { 
            if (!_toBool_i_i_i72) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3809; /* _bb2_i_i_i75 */ break _bb2_i_i_i75$_bb1_i_i_i74$10958; } else { ; }
              var _eh_ptr41 = _llvm_eh_exception();
              var _eh_select43 = _llvm_eh_selector(_eh_ptr41, ___gxx_personality_v0, 0);
              __lastLabel__ = 520; __label__ = 887; /* _ppad65 */ break _bb3$_ppad65$10954;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _16 = _this+124+16;
        IHEAP[_16] = 1;
        IHEAP[_10] = 0;
        var _17 = _this+124+4;
        IHEAP[_17] = 0;
        var _18 = _this+124+8;
        IHEAP[_18] = 0;
        var _19 = _this+104+12;
        var _20 = IHEAP[_19];
        var _21 = _20 == 0;
        ;
        if (!_21) {
          ;
          var _22 = _this+104+16;
          var _23 = IHEAP[_22];
          var _toBool_i_i_i77 = _23 == 0;
          ;
          _bb2_i_i_i80$_bb1_i_i_i79$10965: do { 
            if (!_toBool_i_i_i77) {
              ;
              var _24 = _20;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_24) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3810; /* _bb2_i_i_i80 */ break _bb2_i_i_i80$_bb1_i_i_i79$10965; } else { ; }
              var _eh_ptr37 = _llvm_eh_exception();
              var _eh_select39 = _llvm_eh_selector(_eh_ptr37, ___gxx_personality_v0, 0);
              __lastLabel__ = 680; __label__ = 886; /* _ppad64 */ break _bb3$_ppad65$10954;
            }
          } while(0);
          IHEAP[_19] = 0;
          ;
        }
        var _25 = _this+104+16;
        IHEAP[_25] = 1;
        IHEAP[_19] = 0;
        var _26 = _this+104+4;
        IHEAP[_26] = 0;
        var _27 = _this+104+8;
        IHEAP[_27] = 0;
        var _28 = _this+84+12;
        var _29 = IHEAP[_28];
        var _30 = _29 == 0;
        ;
        if (!_30) {
          ;
          var _31 = _this+84+16;
          var _32 = IHEAP[_31];
          var _toBool_i_i_i82 = _32 == 0;
          ;
          _bb2_i_i_i85$_bb1_i_i_i84$10972: do { 
            if (!_toBool_i_i_i82) {
              ;
              var _33 = _29;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_33) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3937; /* _bb2_i_i_i85 */ break _bb2_i_i_i85$_bb1_i_i_i84$10972; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select35 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad65$10954;
            }
          } while(0);
          IHEAP[_28] = 0;
          ;
        }
        var _34 = _this+84+16;
        IHEAP[_34] = 1;
        IHEAP[_28] = 0;
        var _35 = _this+84+4;
        IHEAP[_35] = 0;
        var _36 = _this+84+8;
        IHEAP[_36] = 0;
        var _37 = _this;
        __ZN26btTriangleIndexVertexArrayD2Ev(_37);
        ;
        return;
      }
    } while(0);
    _ppad$_ppad64$_ppad65$10977: do { 
      if (__label__ == 887) {
        var _eh_exception_0 = __lastLabel__ == 520 ? _eh_ptr41 : (_eh_ptr45);
        var _57 = _this+104+12;
        var _58 = IHEAP[_57];
        var _59 = _58 == 0;
        ;
        if (!_59) {
          ;
          var _60 = _this+104+16;
          var _61 = IHEAP[_60];
          var _toBool_i_i_i99 = _61 == 0;
          ;
          _bb2_i_i_i102$_bb1_i_i_i101$10981: do { 
            if (!_toBool_i_i_i99) {
              ;
              var _62 = _58;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_62) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3813; /* _bb2_i_i_i102 */ break _bb2_i_i_i102$_bb1_i_i_i101$10981; } else { ; }
              var _eh_ptr53 = _llvm_eh_exception();
              var _eh_select55 = _llvm_eh_selector(_eh_ptr53, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_57] = 0;
          ;
        }
        var _63 = _this+104+16;
        IHEAP[_63] = 1;
        IHEAP[_57] = 0;
        var _64 = _this+104+4;
        IHEAP[_64] = 0;
        var _65 = _this+104+8;
        IHEAP[_65] = 0;
        __lastLabel__ = 2072; __label__ = 886; /* _ppad64 */ break _ppad$_ppad64$_ppad65$10977;
      }
    } while(0);
    if (__label__ == 886) {
      var _eh_exception_1 = __lastLabel__ == 680 ? _eh_ptr37 : (_eh_exception_0);
      var _48 = _this+84+12;
      var _49 = IHEAP[_48];
      var _50 = _49 == 0;
      ;
      if (!_50) {
        ;
        var _51 = _this+84+16;
        var _52 = IHEAP[_51];
        var _toBool_i_i_i93 = _52 == 0;
        ;
        _bb2_i_i_i96$_bb1_i_i_i95$10990: do { 
          if (!_toBool_i_i_i93) {
            ;
            var _53 = _49;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_53) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3812; /* _bb2_i_i_i96 */ break _bb2_i_i_i96$_bb1_i_i_i95$10990; } else { ; }
            var _eh_ptr57 = _llvm_eh_exception();
            var _eh_select59 = _llvm_eh_selector(_eh_ptr57, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_48] = 0;
        ;
      }
      var _54 = _this+84+16;
      IHEAP[_54] = 1;
      IHEAP[_48] = 0;
      var _55 = _this+84+4;
      IHEAP[_55] = 0;
      var _56 = _this+84+8;
      IHEAP[_56] = 0;
      __lastLabel__ = 2069; ;
    }
    var _eh_exception_2 = __lastLabel__ == 254 ? _eh_ptr : (_eh_exception_1);
    var _47 = _this;
    (function() { try { __THREW__ = false; return __ZN26btTriangleIndexVertexArrayD2Ev(_47) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3938; /* _invcont26 */  } else { __label__ = 3082; /* _lpad60 */  }
    if (__label__ == 3938) {
      __Unwind_Resume_or_Rethrow(_eh_exception_2);
      // unreachable
    }
    else if (__label__ == 3082) {
      var _eh_ptr61 = _llvm_eh_exception();
      var _eh_select63 = _llvm_eh_selector(_eh_ptr61, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN14btTriangleMeshD2Ev.__index__ = Runtime.getFunctionIndex(__ZN14btTriangleMeshD2Ev, "__ZN14btTriangleMeshD2Ev");
  
  
  function __ZN19btTriangleMeshShapeC2EP23btStridingMeshInterface(_this, _meshInterface) {
    var __stackBase__  = STACKTOP; STACKTOP += 48;
    var __label__;
    var __lastLabel__ = null;
    var _vec_i = __stackBase__;
    var _tmp_i = __stackBase__+16;
    var _memtmp_i = __stackBase__+32;
    var _0 = _this;
    __ZN14btConcaveShapeC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV19btTriangleMeshShape+8;
    var _2 = _this+48;
    IHEAP[_2] = _meshInterface;
    var _3 = _this+4;
    IHEAP[_3] = 21;
    var _4 = _meshInterface;
    var _5 = IHEAP[_4];
    var _6 = _5+40;
    var _7 = IHEAP[_6];
    var _8 = _7;
    var _9 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_8](_meshInterface) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
    _invcont$_lpad$11001: do { 
      if (__label__ == 345) {
        var _toBool = _9 == 0;
        ;
        _bb2$_bb$11003: do { 
          if (_toBool) {
            ;
            var _16 = _vec_i;
            var _17 = _vec_i+4;
            var _18 = _vec_i+8;
            var _19 = _vec_i+12;
            var _20 = _this+12;
            var _21 = _tmp_i;
            var _22 = _memtmp_i;
            var _23 = _tmp_i+4;
            var _24 = _memtmp_i+4;
            var _25 = _tmp_i+8;
            var _26 = _memtmp_i+8;
            var _27 = _tmp_i+12;
            var _28 = _memtmp_i+12;
            __lastLabel__ = 0; ;
            _bb_i$11005: while(1) { // _bb_i
              var _i_03_i = __lastLabel__ == 0 ? 0 : (_47);
              var _scevgep6_i = _this+16+_i_03_i*4;
              var _scevgep4_i = _tmp_i+_i_03_i*4;
              var _scevgep_i = _vec_i+_i_03_i*4;
              FHEAP[_16] = 0;
              FHEAP[_17] = 0;
              FHEAP[_18] = 0;
              FHEAP[_19] = 0;
              FHEAP[_scevgep_i] = 1;
              var _29 = IHEAP[_1];
              var _30 = _29+64;
              var _31 = IHEAP[_30];
              var _32 = _31;
              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_32](_tmp_i, _this, _vec_i) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$11001; }
              var _scevgep5_i = _this+32+_i_03_i*4;
              var _33 = FHEAP[_scevgep4_i];
              var _34 = FHEAP[_20];
              var _35 = _33 + _34;
              FHEAP[_scevgep5_i] = _35;
              FHEAP[_scevgep_i] = -1;
              var _36 = IHEAP[_1];
              var _37 = _36+64;
              var _38 = IHEAP[_37];
              var _39 = _38;
              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_39](_memtmp_i, _this, _vec_i) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$11001; }
              var _40 = FHEAP[_22];
              FHEAP[_21] = _40;
              var _41 = FHEAP[_24];
              FHEAP[_23] = _41;
              var _42 = FHEAP[_26];
              FHEAP[_25] = _42;
              var _43 = FHEAP[_28];
              FHEAP[_27] = _43;
              var _44 = FHEAP[_scevgep4_i];
              var _45 = FHEAP[_20];
              var _46 = _44 - _45;
              FHEAP[_scevgep6_i] = _46;
              var _47 = _i_03_i + 1;
              var _exitcond_i = _i_03_i == 2;
              if (_exitcond_i) { __lastLabel__ = 2080; __label__ = 44; /* _return */ break _bb2$_bb$11003; } else { __lastLabel__ = 2080; __label__ = 131; /* _bb_i */ continue _bb_i$11005; }
            }
          }
          else {
            ;
            var _10 = IHEAP[_4];
            var _11 = _10+48;
            var _12 = IHEAP[_11];
            var _13 = _this+32;
            var _14 = _this+16;
            var _15 = _12;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_15](_meshInterface, _14, _13) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$11001; }
          }
        } while(0);
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select9 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    (function() { try { __THREW__ = false; return __ZN14btConcaveShapeD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2109; /* _invcont5 */  } else { __label__ = 3802; /* _lpad10 */  }
    if (__label__ == 2109) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 3802) {
      var _eh_ptr11 = _llvm_eh_exception();
      var _eh_select13 = _llvm_eh_selector(_eh_ptr11, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN19btTriangleMeshShapeC2EP23btStridingMeshInterface.__index__ = Runtime.getFunctionIndex(__ZN19btTriangleMeshShapeC2EP23btStridingMeshInterface, "__ZN19btTriangleMeshShapeC2EP23btStridingMeshInterface");
  
  
  function __ZNK19btTriangleMeshShape7getAabbERK11btTransformR9btVector3S4_(_this, _trans, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this+32+8;
    var _1 = FHEAP[_0];
    var _2 = _this+16+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _this+32+4;
    var _6 = FHEAP[_5];
    var _7 = _this+16+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _this+32;
    var _11 = FHEAP[_10];
    var _12 = _this+16;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _4 * 0.5;
    var _16 = _9 * 0.5;
    var _17 = _14 * 0.5;
    var _18 = _this;
    var _19 = IHEAP[_18];
    var _20 = _19+44;
    var _21 = IHEAP[_20];
    var _22 = _this;
    var _23 = _21;
    var _24 = FUNCTION_TABLE[_23](_22);
    var _25 = IHEAP[_18];
    var _26 = _25+44;
    var _27 = IHEAP[_26];
    var _28 = _27;
    var _29 = FUNCTION_TABLE[_28](_22);
    var _30 = IHEAP[_18];
    var _31 = _30+44;
    var _32 = IHEAP[_31];
    var _33 = _32;
    var _34 = FUNCTION_TABLE[_33](_22);
    var _35 = _17 + _34;
    var _36 = _16 + _29;
    var _37 = _15 + _24;
    var _38 = FHEAP[_0];
    var _39 = FHEAP[_2];
    var _40 = _38 + _39;
    var _41 = FHEAP[_5];
    var _42 = FHEAP[_7];
    var _43 = _41 + _42;
    var _44 = FHEAP[_10];
    var _45 = FHEAP[_12];
    var _46 = _44 + _45;
    var _47 = _40 * 0.5;
    var _48 = _43 * 0.5;
    var _49 = _46 * 0.5;
    var _50 = _trans+32+8;
    var _51 = FHEAP[_50];
    var _52 = _fabsf(_51);
    var _53 = _trans+32+4;
    var _54 = FHEAP[_53];
    var _55 = _fabsf(_54);
    var _56 = _trans+32;
    var _57 = FHEAP[_56];
    var _58 = _fabsf(_57);
    var _59 = _trans+16+8;
    var _60 = FHEAP[_59];
    var _61 = _fabsf(_60);
    var _62 = _trans+16+4;
    var _63 = FHEAP[_62];
    var _64 = _fabsf(_63);
    var _65 = _trans+16;
    var _66 = FHEAP[_65];
    var _67 = _fabsf(_66);
    var _68 = _trans+8;
    var _69 = FHEAP[_68];
    var _70 = _fabsf(_69);
    var _71 = _trans+4;
    var _72 = FHEAP[_71];
    var _73 = _fabsf(_72);
    var _74 = _trans;
    var _75 = FHEAP[_74];
    var _76 = _fabsf(_75);
    var _77 = _57 * _49;
    var _78 = _54 * _48;
    var _79 = _77 + _78;
    var _80 = _51 * _47;
    var _81 = _79 + _80;
    var _82 = _trans+48+8;
    var _83 = FHEAP[_82];
    var _84 = _81 + _83;
    var _85 = _66 * _49;
    var _86 = _63 * _48;
    var _87 = _85 + _86;
    var _88 = _60 * _47;
    var _89 = _87 + _88;
    var _90 = _trans+48+4;
    var _91 = FHEAP[_90];
    var _92 = _89 + _91;
    var _93 = _75 * _49;
    var _94 = _72 * _48;
    var _95 = _93 + _94;
    var _96 = _69 * _47;
    var _97 = _95 + _96;
    var _98 = _trans+48;
    var _99 = FHEAP[_98];
    var _100 = _97 + _99;
    var _101 = _58 * _35;
    var _102 = _55 * _36;
    var _103 = _101 + _102;
    var _104 = _52 * _37;
    var _105 = _103 + _104;
    var _106 = _67 * _35;
    var _107 = _64 * _36;
    var _108 = _106 + _107;
    var _109 = _61 * _37;
    var _110 = _108 + _109;
    var _111 = _76 * _35;
    var _112 = _73 * _36;
    var _113 = _111 + _112;
    var _114 = _70 * _37;
    var _115 = _113 + _114;
    var _116 = _84 - _105;
    var _117 = _92 - _110;
    var _118 = _100 - _115;
    var _119 = _aabbMin;
    FHEAP[_119] = _118;
    var _120 = _aabbMin+4;
    FHEAP[_120] = _117;
    var _121 = _aabbMin+8;
    FHEAP[_121] = _116;
    var _122 = _aabbMin+12;
    FHEAP[_122] = 0;
    var _123 = _84 + _105;
    var _124 = _92 + _110;
    var _125 = _100 + _115;
    var _126 = _aabbMax;
    FHEAP[_126] = _125;
    var _127 = _aabbMax+4;
    FHEAP[_127] = _124;
    var _128 = _aabbMax+8;
    FHEAP[_128] = _123;
    var _129 = _aabbMax+12;
    FHEAP[_129] = 0;
    ;
    return;
  }
  __ZNK19btTriangleMeshShape7getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK19btTriangleMeshShape7getAabbERK11btTransformR9btVector3S4_, "__ZNK19btTriangleMeshShape7getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZNK19btTriangleMeshShape24localGetSupportingVertexERK9btVector3(_agg_result, _this, _vec) {
    var __stackBase__  = STACKTOP; STACKTOP += 136;
    var __label__;
    var _0 = __stackBase__;
    var _supportCallback = __stackBase__+16;
    var _aabbMax = __stackBase__+120;
    var _1 = _supportCallback;
    IHEAP[_1] = __ZTV21SupportVertexCallback+8;
    var _2 = _supportCallback+4;
    FHEAP[_2] = 0;
    var _3 = _supportCallback+4+4;
    FHEAP[_3] = 0;
    var _4 = _supportCallback+4+8;
    FHEAP[_4] = 0;
    var _5 = _supportCallback+4+12;
    FHEAP[_5] = 0;
    var _6 = _supportCallback+20;
    FHEAP[_6] = 1;
    var _7 = _supportCallback+20+4;
    FHEAP[_7] = 0;
    var _8 = _supportCallback+20+8;
    FHEAP[_8] = 0;
    var _9 = _supportCallback+20+12;
    FHEAP[_9] = 0;
    var _10 = _supportCallback+20+16;
    FHEAP[_10] = 0;
    var _11 = _supportCallback+20+16+4;
    FHEAP[_11] = 1;
    var _12 = _supportCallback+20+16+8;
    FHEAP[_12] = 0;
    var _13 = _supportCallback+20+16+12;
    FHEAP[_13] = 0;
    var _14 = _supportCallback+20+32;
    FHEAP[_14] = 0;
    var _15 = _supportCallback+20+32+4;
    FHEAP[_15] = 0;
    var _16 = _supportCallback+20+32+8;
    FHEAP[_16] = 1;
    var _17 = _supportCallback+20+32+12;
    FHEAP[_17] = 0;
    var _18 = _supportCallback+20+48;
    FHEAP[_18] = 0;
    var _19 = _supportCallback+20+48+4;
    FHEAP[_19] = 0;
    var _20 = _supportCallback+20+48+8;
    FHEAP[_20] = 0;
    var _21 = _supportCallback+20+48+12;
    FHEAP[_21] = 0;
    var _22 = _supportCallback+84;
    FHEAP[_22] = -999999984306749400;
    var _23 = _vec;
    var _24 = FHEAP[_23];
    var _25 = _24 * 0;
    var _26 = _vec+4;
    var _27 = FHEAP[_26];
    var _28 = _27 * 0;
    var _29 = _25 + _28;
    var _30 = _vec+8;
    var _31 = FHEAP[_30];
    var _32 = _29 + _31;
    var _33 = _25 + _27;
    var _34 = _31 * 0;
    var _35 = _33 + _34;
    var _36 = _24 + _28;
    var _37 = _36 + _34;
    var _38 = _supportCallback+88;
    FHEAP[_38] = _37;
    var _39 = _supportCallback+88+4;
    FHEAP[_39] = _35;
    var _40 = _supportCallback+88+8;
    FHEAP[_40] = _32;
    var _41 = _supportCallback+88+12;
    FHEAP[_41] = 0;
    var _42 = _aabbMax;
    FHEAP[_42] = 999999984306749400;
    var _43 = _aabbMax+4;
    FHEAP[_43] = 999999984306749400;
    var _44 = _aabbMax+8;
    FHEAP[_44] = 999999984306749400;
    var _45 = _aabbMax+12;
    FHEAP[_45] = 0;
    var _46 = _this;
    var _47 = IHEAP[_46];
    var _48 = _47+60;
    var _49 = IHEAP[_48];
    var _50 = _0;
    FHEAP[_50] = -999999984306749400;
    var _51 = _0+4;
    FHEAP[_51] = -999999984306749400;
    var _52 = _0+8;
    FHEAP[_52] = -999999984306749400;
    var _53 = _0+12;
    FHEAP[_53] = 0;
    var _54 = _49;
    var _55 = _supportCallback;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_54](_this, _55, _0, _aabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 345) {
      var _56 = FHEAP[_2];
      var _57 = FHEAP[_3];
      var _58 = FHEAP[_4];
      var _59 = FHEAP[_5];
      var _60 = _agg_result;
      FHEAP[_60] = _56;
      var _61 = _agg_result+4;
      FHEAP[_61] = _57;
      var _62 = _agg_result+8;
      FHEAP[_62] = _58;
      var _63 = _agg_result+12;
      FHEAP[_63] = _59;
      IHEAP[_1] = __ZTV21SupportVertexCallback+8;
      __ZN18btTriangleCallbackD2Ev(_55);
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select6 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_1] = __ZTV21SupportVertexCallback+8;
      (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_55) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 3765; /* _lpad7 */  }
      if (__label__ == 759) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3765) {
        var _eh_ptr8 = _llvm_eh_exception();
        var _eh_select10 = _llvm_eh_selector(_eh_ptr8, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZNK19btTriangleMeshShape24localGetSupportingVertexERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK19btTriangleMeshShape24localGetSupportingVertexERK9btVector3, "__ZNK19btTriangleMeshShape24localGetSupportingVertexERK9btVector3");
  
  
  function __ZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_(_this, _callback, _aabbMin, _aabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 40;
    var __label__;
    var _filterCallback = __stackBase__;
    var _0 = _filterCallback;
    IHEAP[_0] = __ZTVZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback+8;
    var _1 = _filterCallback+4;
    IHEAP[_1] = _callback;
    var _2 = _filterCallback+8;
    var _3 = _aabbMin;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _filterCallback+8+4;
    var _6 = _aabbMin+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _filterCallback+8+8;
    var _9 = _aabbMin+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _filterCallback+8+12;
    var _12 = _aabbMin+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _filterCallback+24;
    var _15 = _aabbMax;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _filterCallback+24+4;
    var _18 = _aabbMax+4;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _filterCallback+24+8;
    var _21 = _aabbMax+8;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _filterCallback+24+12;
    var _24 = _aabbMax+12;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _this+48;
    var _27 = IHEAP[_26];
    var _28 = _27;
    var _29 = IHEAP[_28];
    var _30 = _29+8;
    var _31 = IHEAP[_30];
    var _32 = _31;
    var _33 = _filterCallback;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_32](_27, _33, _aabbMin, _aabbMax) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 116; /* _bb3 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 116) {
      IHEAP[_0] = __ZTVZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback+8;
      __ZN31btInternalTriangleIndexCallbackD2Ev(_33);
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select5 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_0] = __ZTVZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback+8;
      (function() { try { __THREW__ = false; return __ZN31btInternalTriangleIndexCallbackD2Ev(_33) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3884; /* _lpad6 */  }
      if (__label__ == 1554) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3884) {
        var _eh_ptr7 = _llvm_eh_exception();
        var _eh_select9 = _llvm_eh_selector(_eh_ptr7, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_, "__ZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_");
  
  
  function __ZNK21btUniformScalingShape15getLocalScalingEv(_this) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+28;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1);
    ;
    return _7;
  }
  __ZNK21btUniformScalingShape15getLocalScalingEv.__index__ = Runtime.getFunctionIndex(__ZNK21btUniformScalingShape15getLocalScalingEv, "__ZNK21btUniformScalingShape15getLocalScalingEv");
  
  
  function __ZNK21btUniformScalingShape9getMarginEv(_this) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+44;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1);
    var _8 = _this+16;
    var _9 = FHEAP[_8];
    var _10 = _7 * _9;
    ;
    return _10;
  }
  __ZNK21btUniformScalingShape9getMarginEv.__index__ = Runtime.getFunctionIndex(__ZNK21btUniformScalingShape9getMarginEv, "__ZNK21btUniformScalingShape9getMarginEv");
  
  
  function __ZNK21btUniformScalingShape36getNumPreferredPenetrationDirectionsEv(_this) {
    ;
    var __label__;
    var _0 = _this+12;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+76;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1);
    ;
    return _7;
  }
  __ZNK21btUniformScalingShape36getNumPreferredPenetrationDirectionsEv.__index__ = Runtime.getFunctionIndex(__ZNK21btUniformScalingShape36getNumPreferredPenetrationDirectionsEv, "__ZNK21btUniformScalingShape36getNumPreferredPenetrationDirectionsEv");
  
  
  function __ZN14btContactArray14merge_contactsERKS_b(_this, _contacts, _normal_contact_average) {
    var __stackBase__  = STACKTOP; STACKTOP += 149;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _keycontacts = __stackBase__+1;
    var _coincident_normals = __stackBase__+21;
    var _1 = _this+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i = _5 == 0;
      ;
      if (!_toBool_i_i) {
        ;
        var _6 = _2;
        __Z21btAlignedFreeInternalPv(_6);
        ;
      }
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+4;
    IHEAP[_8] = 0;
    var _9 = _this+8;
    IHEAP[_9] = 0;
    var _10 = _contacts+4;
    var _11 = IHEAP[_10];
    if (_11 == 0) {
      __label__ = 2123; /* __ZN20btAlignedObjectArrayI17CONTACT_KEY_TOKENED1Ev_exit52 */ 
    }
    else if (_11 == 1) {
      __label__ = 3709; /* _bb1_i57 */ 
    }
    else {
    __label__ = 116; /* _bb3 */ 
    }
    
    _bb3$__ZN20btAlignedObjectArrayI17CONTACT_KEY_TOKENED1Ev_exit52$_bb1_i57$11099: do { 
      if (__label__ == 116) {
        var _52 = _keycontacts+16;
        IHEAP[_52] = 1;
        var _53 = _keycontacts+12;
        IHEAP[_53] = 0;
        var _54 = _keycontacts+4;
        IHEAP[_54] = 0;
        var _55 = _keycontacts+8;
        IHEAP[_55] = 0;
        var _56 = _11 > 0;
        ;
        _bb_i2_i$_bb6_preheader$11101: do { 
          if (_56) {
            __lastLabel__ = 116; ;
            var _57 = _11 << 3;
            var _58 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_57, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb_i2_i$_bb6_preheader$11101; };
            var _phitmp_i = _58;
            var _59 = IHEAP[_54];
            var _60 = _59 > 0;
            if (_60) { __lastLabel__ = 2089; __label__ = 218; /* _bb_i4_i */  } else { __lastLabel__ = 2089; __label__ = 2090; /* __ZNK20btAlignedObjectArrayI17CONTACT_KEY_TOKENE4copyEiiPS0__exit_i */  }
            _bb_i4_i$__ZNK20btAlignedObjectArrayI17CONTACT_KEY_TOKENE4copyEiiPS0__exit_i$11104: while(1) { // _bb_i4_i,__ZNK20btAlignedObjectArrayI17CONTACT_KEY_TOKENE4copyEiiPS0__exit_i
              if (__label__ == 218) {
                var _indvar_i_i = __lastLabel__ == 324 ? _indvar_next_i_i : (0);
                var _tmp = _indvar_i_i << 3;
                var _scevgep133 = _58+_tmp;
                var _61 = _scevgep133 == 0;
                ;
                if (!_61) {
                  ;
                  var _tmp135139 = _tmp | 4;
                  var _scevgep136 = _58+_tmp135139;
                  var _scevgep12_i_i = _scevgep136;
                  var _scevgep10_i_i = _scevgep133;
                  var _62 = IHEAP[_53];
                  var _scevgep89_i_i = _62+8*_indvar_i_i;
                  var _63 = IHEAP[_scevgep89_i_i];
                  IHEAP[_scevgep10_i_i] = _63;
                  var _scevgep11_i_i = _62+8*_indvar_i_i+4;
                  var _64 = IHEAP[_scevgep11_i_i];
                  IHEAP[_scevgep12_i_i] = _64;
                  ;
                }
                var _indvar_next_i_i = _indvar_i_i + 1;
                var _exitcond129 = _indvar_next_i_i == _59;
                if (_exitcond129) { __lastLabel__ = 324; __label__ = 2090; /* __ZNK20btAlignedObjectArrayI17CONTACT_KEY_TOKENE4copyEiiPS0__exit_i */ continue _bb_i4_i$__ZNK20btAlignedObjectArrayI17CONTACT_KEY_TOKENE4copyEiiPS0__exit_i$11104; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$__ZNK20btAlignedObjectArrayI17CONTACT_KEY_TOKENE4copyEiiPS0__exit_i$11104; }
              }
              else if (__label__ == 2090) {
                var _65 = IHEAP[_53];
                var _66 = _65 == 0;
                if (_66) { __label__ = 2092; /* __ZN20btAlignedObjectArrayI17CONTACT_KEY_TOKENE10deallocateEv_exit_i */ break _bb_i4_i$__ZNK20btAlignedObjectArrayI17CONTACT_KEY_TOKENE4copyEiiPS0__exit_i$11104; } else { __label__ = 2093; /* _bb_i_i66 */ break _bb_i4_i$__ZNK20btAlignedObjectArrayI17CONTACT_KEY_TOKENE4copyEiiPS0__exit_i$11104; }
              }
            }
            if (__label__ == 2093) {
              var _67 = IHEAP[_52];
              var _toBool_i_i65 = _67 == 0;
              ;
              if (!_toBool_i_i65) {
                ;
                var _68 = _65;
                (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_68) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb_i2_i$_bb6_preheader$11101; }
              }
              IHEAP[_53] = 0;
              ;
            }
            IHEAP[_52] = 1;
            IHEAP[_53] = _phitmp_i;
            IHEAP[_55] = _11;
            var __pre140_pre = IHEAP[_54];
            __lastLabel__ = 2092; __label__ = 1257; /* _bb6_preheader */ break _bb_i2_i$_bb6_preheader$11101;
          }
          else {
            __lastLabel__ = 116; __label__ = 1257; /* _bb6_preheader */ 
          }
        } while(0);
        _bb6_preheader$_lpad$11117: do { 
          if (__label__ == 1257) {
            var __pre140 = __lastLabel__ == 116 ? 0 : (__pre140_pre);
            var _69 = _contacts+12;
            __lastLabel__ = 1257; ;
            _bb6$11119: while(1) { // _bb6
              var _114 = __lastLabel__ == 2109 ? _112 : (__pre140);
              var _115 = __lastLabel__ == 2109 ? _113 : (0);
              var _116 = IHEAP[_10];
              var _117 = _116 > _115;
              if (!(_117)) { __label__ = 148; /* _bb8 */ break _bb6$11119; }
              var _70 = IHEAP[_69];
              var _scevgep127128 = _70+48*_115;
              var _71 = FHEAP[_scevgep127128];
              var _72 = _71 * 1000;
              var _73 = _72 + 1;
              var _74 = Math.floor(_73);
              var _scevgep126 = _70+48*_115+4;
              var _75 = FHEAP[_scevgep126];
              var _76 = _75 * 1333;
              var _77 = Math.floor(_76);
              var _scevgep125 = _70+48*_115+8;
              var _78 = FHEAP[_scevgep125];
              var _79 = _78 * 2133;
              var _80 = _79 + 3;
              var _81 = Math.floor(_80);
              var _82 = _77 << 4;
              var _83 = _81 << 8;
              var _84 = _82 + _74;
              var _85 = _84 + _83;
              var _86 = IHEAP[_55];
              var _87 = _86 == _114;
              ;
              _bb_i83$_bb1_i91$11122: do { 
                if (_87) {
                  __lastLabel__ = 61; ;
                  var _88 = _114 == 0;
                  var _89 = _114 << 1;
                  var _iftmp_280_0_i_i = _88 ? 1 : _89;
                  var _90 = _86 < _iftmp_280_0_i_i;
                  if (_90) { __lastLabel__ = 2095; ; } else { __lastLabel__ = 2095; __label__ = 2097; /* _bb1_i91 */ break _bb_i83$_bb1_i91$11122; }
                  var _91 = _iftmp_280_0_i_i == 0;
                  ;
                  if (_91) {
                    __lastLabel__ = 2096; ;
                  }
                  else {
                    __lastLabel__ = 2096; ;
                    var _92 = _iftmp_280_0_i_i << 3;
                    var _93 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_92, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb6_preheader$_lpad$11117; };
                    var _phitmp_i_i = _93;
                    var __pre_i85 = IHEAP[_54];
                    __lastLabel__ = 2098; ;
                  }
                  var _94 = __lastLabel__ == 2098 ? __pre_i85 : (_114);
                  var _95 = __lastLabel__ == 2098 ? _phitmp_i_i : (0);
                  var _96 = _94 > 0;
                  if (_96) { __lastLabel__ = 2100; __label__ = 277; /* _bb_i4_i_i */  } else { __lastLabel__ = 2100; __label__ = 2101; /* __ZNK20btAlignedObjectArrayI17CONTACT_KEY_TOKENE4copyEiiPS0__exit_i_i */  }
                  _bb_i4_i_i$__ZNK20btAlignedObjectArrayI17CONTACT_KEY_TOKENE4copyEiiPS0__exit_i_i$11129: while(1) { // _bb_i4_i_i,__ZNK20btAlignedObjectArrayI17CONTACT_KEY_TOKENE4copyEiiPS0__exit_i_i
                    if (__label__ == 277) {
                      var _indvar_i_i_i = __lastLabel__ == 279 ? _indvar_next_i_i_i : (0);
                      var _scevgep_i_i_i = _95+8*_indvar_i_i_i;
                      var _97 = _scevgep_i_i_i == 0;
                      ;
                      if (!_97) {
                        ;
                        var _scevgep12_i_i_i = _95+8*_indvar_i_i_i+4;
                        var _scevgep10_i_i_i = _95+8*_indvar_i_i_i;
                        var _98 = IHEAP[_53];
                        var _scevgep89_i_i_i = _98+8*_indvar_i_i_i;
                        var _99 = IHEAP[_scevgep89_i_i_i];
                        IHEAP[_scevgep10_i_i_i] = _99;
                        var _scevgep11_i_i_i = _98+8*_indvar_i_i_i+4;
                        var _100 = IHEAP[_scevgep11_i_i_i];
                        IHEAP[_scevgep12_i_i_i] = _100;
                        ;
                      }
                      var _indvar_next_i_i_i = _indvar_i_i_i + 1;
                      var _exitcond118 = _indvar_next_i_i_i == _94;
                      if (_exitcond118) { __lastLabel__ = 279; __label__ = 2101; /* __ZNK20btAlignedObjectArrayI17CONTACT_KEY_TOKENE4copyEiiPS0__exit_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayI17CONTACT_KEY_TOKENE4copyEiiPS0__exit_i_i$11129; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayI17CONTACT_KEY_TOKENE4copyEiiPS0__exit_i_i$11129; }
                    }
                    else if (__label__ == 2101) {
                      var _101 = IHEAP[_53];
                      var _102 = _101 == 0;
                      if (_102) { __label__ = 2103; /* __ZN20btAlignedObjectArrayI17CONTACT_KEY_TOKENE10deallocateEv_exit_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayI17CONTACT_KEY_TOKENE4copyEiiPS0__exit_i_i$11129; } else { __label__ = 2104; /* _bb_i_i_i88 */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayI17CONTACT_KEY_TOKENE4copyEiiPS0__exit_i_i$11129; }
                    }
                  }
                  if (__label__ == 2104) {
                    var _103 = IHEAP[_52];
                    var _toBool_i_i_i87 = _103 == 0;
                    ;
                    if (!_toBool_i_i_i87) {
                      ;
                      var _104 = _101;
                      (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_104) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb6_preheader$_lpad$11117; }
                    }
                    IHEAP[_53] = 0;
                    ;
                  }
                  IHEAP[_52] = 1;
                  IHEAP[_53] = _95;
                  IHEAP[_55] = _iftmp_280_0_i_i;
                  var __pre9_i = IHEAP[_54];
                  __lastLabel__ = 2103; ;
                }
                else {
                  __lastLabel__ = 61; ;
                }
              } while(0);
              var _105 = __lastLabel__ == 2103 ? __pre9_i : (__lastLabel__ == 61 ? _114 : (_114));
              var _106 = IHEAP[_53];
              var _107 = _106+8*_105;
              var _108 = _107 == 0;
              ;
              if (_108) {
                __lastLabel__ = 2097; ;
              }
              else {
                __lastLabel__ = 2097; ;
                var _109 = _106+8*_105;
                IHEAP[_109] = _85;
                var _110 = _106+8*_105+4;
                IHEAP[_110] = _115;
                var __pre10_i = IHEAP[_54];
                __lastLabel__ = 2107; ;
              }
              var _111 = __lastLabel__ == 2097 ? _105 : (__pre10_i);
              var _112 = _111 + 1;
              IHEAP[_54] = _112;
              var _113 = _115 + 1;
              __lastLabel__ = 2109; __label__ = 83; /* _bb6 */ continue _bb6$11119;
            }
            var _118 = _114 > 1;
            ;
            if (_118) {
              ;
              var _119 = _114 + -1;
              __ZN20btAlignedObjectArrayI17CONTACT_KEY_TOKENE17quickSortInternalI22CONTACT_KEY_TOKEN_COMPEEvT_ii(_keycontacts, _0, 0, _119);
              ;
            }
            var _120 = IHEAP[_53];
            var _121 = _120;
            var _122 = IHEAP[_121];
            var _123 = _120+4;
            var _124 = IHEAP[_123];
            var _125 = IHEAP[_69];
            var _126 = IHEAP[_8];
            var _127 = IHEAP[_9];
            var _128 = _127 == _126;
            ;
            if (_128) {
              __lastLabel__ = 3; ;
              var _129 = _this;
              var _130 = _126 == 0;
              var _131 = _126 << 1;
              var _iftmp_278_0_i_i72 = _130 ? 1 : _131;
              (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI11GIM_CONTACTE7reserveEi(_129, _iftmp_278_0_i_i72) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb6_preheader$_lpad$11117; }
              var __pre_i73 = IHEAP[_8];
              __lastLabel__ = 2111; ;
            }
            else {
              __lastLabel__ = 3; ;
            }
            var _132 = __lastLabel__ == 2111 ? __pre_i73 : (_126);
            var _133 = IHEAP[_1];
            var _134 = _133+48*_132;
            var _135 = _134 == 0;
            ;
            if (_135) {
              __lastLabel__ = 4093; ;
            }
            else {
              __lastLabel__ = 4093; ;
              var _136 = _133+48*_132;
              var _137 = _125+48*_124;
              var _138 = FHEAP[_137];
              FHEAP[_136] = _138;
              var _139 = _133+48*_132+4;
              var _140 = _125+48*_124+4;
              var _141 = FHEAP[_140];
              FHEAP[_139] = _141;
              var _142 = _133+48*_132+8;
              var _143 = _125+48*_124+8;
              var _144 = FHEAP[_143];
              FHEAP[_142] = _144;
              var _145 = _133+48*_132+12;
              var _146 = _125+48*_124+12;
              var _147 = FHEAP[_146];
              FHEAP[_145] = _147;
              var _148 = _133+48*_132+16;
              var _149 = _125+48*_124+16;
              var _150 = FHEAP[_149];
              FHEAP[_148] = _150;
              var _151 = _133+48*_132+16+4;
              var _152 = _125+48*_124+16+4;
              var _153 = FHEAP[_152];
              FHEAP[_151] = _153;
              var _154 = _133+48*_132+16+8;
              var _155 = _125+48*_124+16+8;
              var _156 = FHEAP[_155];
              FHEAP[_154] = _156;
              var _157 = _133+48*_132+16+12;
              var _158 = _125+48*_124+16+12;
              var _159 = FHEAP[_158];
              FHEAP[_157] = _159;
              var _160 = _125+48*_124+32;
              var _161 = FHEAP[_160];
              var _162 = _133+48*_132+32;
              FHEAP[_162] = _161;
              var _163 = _125+48*_124+40;
              var _164 = IHEAP[_163];
              var _165 = _133+48*_132+40;
              IHEAP[_165] = _164;
              var _166 = _125+48*_124+44;
              var _167 = IHEAP[_166];
              var _168 = _133+48*_132+44;
              IHEAP[_168] = _167;
              var __pre5_i76 = IHEAP[_8];
              var __pre141 = IHEAP[_1];
              __lastLabel__ = 2113; ;
            }
            var _169 = __lastLabel__ == 4093 ? _133 : (__pre141);
            var _170 = __lastLabel__ == 4093 ? _132 : (__pre5_i76);
            var _171 = _170 + 1;
            IHEAP[_8] = _171;
            var _toBool18 = _normal_contact_average == 0;
            var _toBool24_not = _normal_contact_average != 0;
            var _172 = _this;
            __lastLabel__ = 2115; ;
            _bb30$11157: while(1) { // _bb30
              var _indvar = __lastLabel__ == 6 ? _phitmp : (1);
              var _coincident_count_1 = __lastLabel__ == 6 ? _coincident_count_0 : (0);
              var _last_key_0 = __lastLabel__ == 6 ? _173 : (_122);
              var _pcontact_1 = __lastLabel__ == 6 ? _pcontact_0 : (_169);
              var _275 = IHEAP[_54];
              var _276 = _275 > _indvar;
              var _277 = IHEAP[_53];
              if (!(_276)) { __label__ = 518; /* _bb35 */ break _bb30$11157; }
              var _scevgep113114 = _277+8*_indvar;
              var _173 = IHEAP[_scevgep113114];
              var _scevgep112 = _277+8*_indvar+4;
              var _174 = IHEAP[_scevgep112];
              var _175 = IHEAP[_69];
              var _176 = _175+48*_174;
              var _177 = _last_key_0 == _173;
              ;
              _bb15$_bb23$11160: do { 
                if (_177) {
                  ;
                  var _178 = _pcontact_1+32;
                  var _179 = FHEAP[_178];
                  var _180 = _179 + -0.000009999999747378752;
                  var _181 = _175+48*_174+32;
                  var _182 = FHEAP[_181];
                  var _183 = _180 > _182;
                  ;
                  if (_183) {
                    ;
                    var _184 = _pcontact_1;
                    var _185 = _176;
                    _llvm_memcpy_p0i8_p0i8_i32(_184, _185, 48, 4, false);
                    __lastLabel__ = 154; ;
                  }
                  else {
                    ;
                    if (_toBool18) { __lastLabel__ = 4; __label__ = 6; /* _bb29 */ break _bb15$_bb23$11160; } else { __lastLabel__ = 4; ; }
                    var _186 = _179 - _182;
                    var _187 = _fabsf(_186);
                    var _188 = _187 < 0.000009999999747378752;
                    var _189 = _coincident_count_1 < 8;
                    var _or_cond = _188 & _189;
                    if (_or_cond) { __lastLabel__ = 64; ; } else { __lastLabel__ = 64; __label__ = 6; /* _bb29 */ break _bb15$_bb23$11160; }
                    var _190 = _coincident_normals+_coincident_count_1*16;
                    var _191 = _175+48*_174+16;
                    var _192 = FHEAP[_191];
                    FHEAP[_190] = _192;
                    var _193 = _coincident_normals+_coincident_count_1*16+4;
                    var _194 = _175+48*_174+16+4;
                    var _195 = FHEAP[_194];
                    FHEAP[_193] = _195;
                    var _196 = _coincident_normals+_coincident_count_1*16+8;
                    var _197 = _175+48*_174+16+8;
                    var _198 = FHEAP[_197];
                    FHEAP[_196] = _198;
                    var _199 = _coincident_normals+_coincident_count_1*16+12;
                    var _200 = _175+48*_174+16+12;
                    var _201 = FHEAP[_200];
                    FHEAP[_199] = _201;
                    var _202 = _coincident_count_1 + 1;
                    __lastLabel__ = 5; ;
                  }
                }
                else {
                  ;
                  var _203 = _coincident_count_1 > 0;
                  var _or_cond47 = _toBool24_not & _203;
                  ;
                  _bb26$_bb27$11168: do { 
                    if (_or_cond47) {
                      __lastLabel__ = 419; ;
                      var _204 = _pcontact_1+16;
                      var _205 = FHEAP[_204];
                      var _206 = _pcontact_1+16+4;
                      var _207 = FHEAP[_206];
                      var _208 = _pcontact_1+16+8;
                      var _209 = FHEAP[_208];
                      if (_203) { __lastLabel__ = 626; __label__ = 2117; /* _bb_i61 */  } else { __lastLabel__ = 626; __label__ = 546; /* _bb2_i62 */  }
                      _bb_i61$_bb2_i62$11170: while(1) { // _bb_i61,_bb2_i62
                        if (__label__ == 2117) {
                          var _i_014_i = __lastLabel__ == 2117 ? _216 : (0);
                          var _vec_sum_0_0_013_i = __lastLabel__ == 2117 ? _211 : (_205);
                          var _vec_sum_0_1_012_i = __lastLabel__ == 2117 ? _213 : (_207);
                          var _vec_sum_0_2_011_i = __lastLabel__ == 2117 ? _215 : (_209);
                          var _scevgep21_i = _coincident_normals+_i_014_i*16+8;
                          var _scevgep20_i = _coincident_normals+_i_014_i*16+4;
                          var _scevgep19_i = _coincident_normals+_i_014_i*16;
                          var _210 = FHEAP[_scevgep19_i];
                          var _211 = _vec_sum_0_0_013_i + _210;
                          var _212 = FHEAP[_scevgep20_i];
                          var _213 = _vec_sum_0_1_012_i + _212;
                          var _214 = FHEAP[_scevgep21_i];
                          var _215 = _vec_sum_0_2_011_i + _214;
                          var _216 = _i_014_i + 1;
                          var _exitcond = _216 == _coincident_count_1;
                          if (_exitcond) { __lastLabel__ = 2117; __label__ = 546; /* _bb2_i62 */ continue _bb_i61$_bb2_i62$11170; } else { __lastLabel__ = 2117; __label__ = 2117; /* _bb_i61 */ continue _bb_i61$_bb2_i62$11170; }
                        }
                        else if (__label__ == 546) {
                          var _vec_sum_0_0_0_lcssa_i = __lastLabel__ == 626 ? _205 : (_211);
                          var _vec_sum_0_1_0_lcssa_i = __lastLabel__ == 626 ? _207 : (_213);
                          var _vec_sum_0_2_0_lcssa_i = __lastLabel__ == 626 ? _209 : (_215);
                          var _217 = _vec_sum_0_0_0_lcssa_i * _vec_sum_0_0_0_lcssa_i;
                          var _218 = _vec_sum_0_1_0_lcssa_i * _vec_sum_0_1_0_lcssa_i;
                          var _219 = _217 + _218;
                          var _220 = _vec_sum_0_2_0_lcssa_i * _vec_sum_0_2_0_lcssa_i;
                          var _221 = _219 + _220;
                          var _222 = _221 < 0.000009999999747378752;
                          if (_222) { __lastLabel__ = 546; __label__ = 515; /* _bb27 */ break _bb26$_bb27$11168; } else { __lastLabel__ = 546; __label__ = 133; /* _bb3_i */ break _bb_i61$_bb2_i62$11170; }
                        }
                      }
                      var _223 = _sqrtf(_221);
                      var _224 = 1 / _223;
                      var _225 = _vec_sum_0_2_0_lcssa_i * _224;
                      var _226 = _vec_sum_0_1_0_lcssa_i * _224;
                      var _227 = _vec_sum_0_0_0_lcssa_i * _224;
                      FHEAP[_204] = _227;
                      FHEAP[_206] = _226;
                      FHEAP[_208] = _225;
                      var _228 = _pcontact_1+16+12;
                      FHEAP[_228] = 0;
                      __lastLabel__ = 133; ;
                    }
                    else {
                      __lastLabel__ = 419; ;
                    }
                  } while(0);
                  var _coincident_count_2 = __lastLabel__ == 133 ? 0 : (__lastLabel__ == 419 ? _coincident_count_1 : (0));
                  var _229 = IHEAP[_8];
                  var _230 = IHEAP[_9];
                  var _231 = _230 == _229;
                  ;
                  if (_231) {
                    __lastLabel__ = 515; ;
                    var _232 = _229 == 0;
                    var _233 = _229 << 1;
                    var _iftmp_278_0_i_i = _232 ? 1 : _233;
                    (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI11GIM_CONTACTE7reserveEi(_172, _iftmp_278_0_i_i) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb6_preheader$_lpad$11117; }
                    var __pre_i = IHEAP[_8];
                    __lastLabel__ = 2119; ;
                  }
                  else {
                    __lastLabel__ = 515; ;
                  }
                  var _234 = __lastLabel__ == 2119 ? __pre_i : (_229);
                  var _235 = IHEAP[_1];
                  var _236 = _235+48*_234;
                  var _237 = _236 == 0;
                  ;
                  if (_237) {
                    __lastLabel__ = 159; ;
                  }
                  else {
                    __lastLabel__ = 159; ;
                    var _238 = _235+48*_234;
                    var _239 = _175+48*_174;
                    var _240 = FHEAP[_239];
                    FHEAP[_238] = _240;
                    var _241 = _235+48*_234+4;
                    var _242 = _175+48*_174+4;
                    var _243 = FHEAP[_242];
                    FHEAP[_241] = _243;
                    var _244 = _235+48*_234+8;
                    var _245 = _175+48*_174+8;
                    var _246 = FHEAP[_245];
                    FHEAP[_244] = _246;
                    var _247 = _235+48*_234+12;
                    var _248 = _175+48*_174+12;
                    var _249 = FHEAP[_248];
                    FHEAP[_247] = _249;
                    var _250 = _235+48*_234+16;
                    var _251 = _175+48*_174+16;
                    var _252 = FHEAP[_251];
                    FHEAP[_250] = _252;
                    var _253 = _235+48*_234+16+4;
                    var _254 = _175+48*_174+16+4;
                    var _255 = FHEAP[_254];
                    FHEAP[_253] = _255;
                    var _256 = _235+48*_234+16+8;
                    var _257 = _175+48*_174+16+8;
                    var _258 = FHEAP[_257];
                    FHEAP[_256] = _258;
                    var _259 = _235+48*_234+16+12;
                    var _260 = _175+48*_174+16+12;
                    var _261 = FHEAP[_260];
                    FHEAP[_259] = _261;
                    var _262 = _175+48*_174+32;
                    var _263 = FHEAP[_262];
                    var _264 = _235+48*_234+32;
                    FHEAP[_264] = _263;
                    var _265 = _175+48*_174+40;
                    var _266 = IHEAP[_265];
                    var _267 = _235+48*_234+40;
                    IHEAP[_267] = _266;
                    var _268 = _175+48*_174+44;
                    var _269 = IHEAP[_268];
                    var _270 = _235+48*_234+44;
                    IHEAP[_270] = _269;
                    var __pre5_i = IHEAP[_8];
                    var __pre142 = IHEAP[_1];
                    __lastLabel__ = 132; ;
                  }
                  var _271 = __lastLabel__ == 159 ? _235 : (__pre142);
                  var _272 = __lastLabel__ == 159 ? _234 : (__pre5_i);
                  var _273 = _272 + 1;
                  IHEAP[_8] = _273;
                  var _274 = _271+48*_272;
                  __lastLabel__ = 2122; ;
                }
              } while(0);
              var _coincident_count_0 = __lastLabel__ == 154 ? 0 : (__lastLabel__ == 5 ? _202 : (__lastLabel__ == 64 ? _coincident_count_1 : (__lastLabel__ == 4 ? _coincident_count_1 : (_coincident_count_2))));
              var _pcontact_0 = __lastLabel__ == 154 ? _pcontact_1 : (__lastLabel__ == 5 ? _pcontact_1 : (__lastLabel__ == 64 ? _pcontact_1 : (__lastLabel__ == 4 ? _pcontact_1 : (_274))));
              var _phitmp = _indvar + 1;
              __lastLabel__ = 6; __label__ = 90; /* _bb30 */ continue _bb30$11157;
            }
            var _278 = _277 == 0;
            if (_278) { __label__ = 2123; /* __ZN20btAlignedObjectArrayI17CONTACT_KEY_TOKENED1Ev_exit52 */ break _bb3$__ZN20btAlignedObjectArrayI17CONTACT_KEY_TOKENED1Ev_exit52$_bb1_i57$11099; }
            var _279 = IHEAP[_52];
            var _toBool_i_i_i48 = _279 == 0;
            ;
            if (!_toBool_i_i_i48) {
              ;
              var _280 = _277;
              __Z21btAlignedFreeInternalPv(_280);
              ;
            }
            IHEAP[_53] = 0;
            STACKTOP = __stackBase__;
            return;
          }
        } while(0);
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select38 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _281 = IHEAP[_53];
        var _282 = _281 == 0;
        ;
        if (!_282) {
          ;
          var _283 = IHEAP[_52];
          var _toBool_i_i_i = _283 == 0;
          ;
          _bb2_i_i_i$_bb1_i_i_i$11192: do { 
            if (!_toBool_i_i_i) {
              ;
              var _284 = _281;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_284) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$11192; } else { ; }
              var _eh_ptr40 = _llvm_eh_exception();
              var _eh_select42 = _llvm_eh_selector(_eh_ptr40, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_53] = 0;
          ;
        }
        IHEAP[_52] = 1;
        IHEAP[_53] = 0;
        IHEAP[_54] = 0;
        IHEAP[_55] = 0;
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3709) {
        var _12 = _contacts+12;
        var _13 = IHEAP[_12];
        var _14 = _this;
        __ZN20btAlignedObjectArrayI11GIM_CONTACTE7reserveEi(_14, 1);
        var __pre_i55 = IHEAP[_8];
        var __pre = IHEAP[_1];
        var _15 = __pre+48*__pre_i55;
        var _16 = _15 == 0;
        ;
        if (_16) {
          __lastLabel__ = 3709; ;
        }
        else {
          __lastLabel__ = 3709; ;
          var _17 = __pre+48*__pre_i55;
          var _18 = _13;
          var _19 = FHEAP[_18];
          FHEAP[_17] = _19;
          var _20 = __pre+48*__pre_i55+4;
          var _21 = _13+4;
          var _22 = FHEAP[_21];
          FHEAP[_20] = _22;
          var _23 = __pre+48*__pre_i55+8;
          var _24 = _13+8;
          var _25 = FHEAP[_24];
          FHEAP[_23] = _25;
          var _26 = __pre+48*__pre_i55+12;
          var _27 = _13+12;
          var _28 = FHEAP[_27];
          FHEAP[_26] = _28;
          var _29 = __pre+48*__pre_i55+16;
          var _30 = _13+16;
          var _31 = FHEAP[_30];
          FHEAP[_29] = _31;
          var _32 = __pre+48*__pre_i55+16+4;
          var _33 = _13+16+4;
          var _34 = FHEAP[_33];
          FHEAP[_32] = _34;
          var _35 = __pre+48*__pre_i55+16+8;
          var _36 = _13+16+8;
          var _37 = FHEAP[_36];
          FHEAP[_35] = _37;
          var _38 = __pre+48*__pre_i55+16+12;
          var _39 = _13+16+12;
          var _40 = FHEAP[_39];
          FHEAP[_38] = _40;
          var _41 = _13+32;
          var _42 = FHEAP[_41];
          var _43 = __pre+48*__pre_i55+32;
          FHEAP[_43] = _42;
          var _44 = _13+40;
          var _45 = IHEAP[_44];
          var _46 = __pre+48*__pre_i55+40;
          IHEAP[_46] = _45;
          var _47 = _13+44;
          var _48 = IHEAP[_47];
          var _49 = __pre+48*__pre_i55+44;
          IHEAP[_49] = _48;
          var __pre5_i58 = IHEAP[_8];
          __lastLabel__ = 2087; ;
        }
        var _50 = __lastLabel__ == 3709 ? __pre_i55 : (__pre5_i58);
        var _51 = _50 + 1;
        IHEAP[_8] = _51;
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN14btContactArray14merge_contactsERKS_b.__index__ = Runtime.getFunctionIndex(__ZN14btContactArray14merge_contactsERKS_b, "__ZN14btContactArray14merge_contactsERKS_b");
  
  
  function __ZN20btAlignedObjectArrayI11GIM_CONTACTE7reserveEi(_this, __Count) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+8;
    var _1 = IHEAP[_0];
    var _2 = _1 < __Count;
    ;
    if (_2) {
      ;
      var _3 = __Count == 0;
      ;
      if (_3) {
        __lastLabel__ = 60; ;
      }
      else {
        __lastLabel__ = 60; ;
        var _4 = __Count * 48;
        var _5 = __Z22btAlignedAllocInternalji(_4, 16);
        var _phitmp = _5;
        __lastLabel__ = 654; ;
      }
      var _6 = __lastLabel__ == 654 ? _phitmp : (0);
      var _7 = _this+4;
      var _8 = IHEAP[_7];
      var _9 = _8 > 0;
      ;
      _bb_nph_i$__ZNK20btAlignedObjectArrayI11GIM_CONTACTE4copyEiiPS0__exit$11231: do { 
        if (_9) {
          ;
          var _10 = _this+12;
          __lastLabel__ = 418; ;
          _bb_i4$11233: while(1) { // _bb_i4
            var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
            var _scevgep_i = _6+48*_indvar_i;
            var _11 = _scevgep_i == 0;
            ;
            if (!_11) {
              ;
              var _scevgep11_i = _6+48*_indvar_i+4;
              var _scevgep13_i = _6+48*_indvar_i+8;
              var _scevgep15_i = _6+48*_indvar_i+12;
              var _scevgep17_i = _6+48*_indvar_i+16;
              var _scevgep19_i = _6+48*_indvar_i+16+4;
              var _scevgep21_i = _6+48*_indvar_i+16+8;
              var _scevgep23_i = _6+48*_indvar_i+16+12;
              var _scevgep26_i = _6+48*_indvar_i+32;
              var _scevgep28_i = _6+48*_indvar_i+40;
              var _scevgep30_i = _6+48*_indvar_i+44;
              var _scevgep8_i = _6+48*_indvar_i;
              var _12 = IHEAP[_10];
              var _scevgep910_i = _12+48*_indvar_i;
              var _13 = FHEAP[_scevgep910_i];
              FHEAP[_scevgep8_i] = _13;
              var _scevgep12_i = _12+48*_indvar_i+4;
              var _14 = FHEAP[_scevgep12_i];
              FHEAP[_scevgep11_i] = _14;
              var _scevgep14_i = _12+48*_indvar_i+8;
              var _15 = FHEAP[_scevgep14_i];
              FHEAP[_scevgep13_i] = _15;
              var _scevgep16_i = _12+48*_indvar_i+12;
              var _16 = FHEAP[_scevgep16_i];
              FHEAP[_scevgep15_i] = _16;
              var _scevgep18_i = _12+48*_indvar_i+16;
              var _17 = FHEAP[_scevgep18_i];
              FHEAP[_scevgep17_i] = _17;
              var _scevgep20_i = _12+48*_indvar_i+16+4;
              var _18 = FHEAP[_scevgep20_i];
              FHEAP[_scevgep19_i] = _18;
              var _scevgep22_i = _12+48*_indvar_i+16+8;
              var _19 = FHEAP[_scevgep22_i];
              FHEAP[_scevgep21_i] = _19;
              var _scevgep24_i = _12+48*_indvar_i+16+12;
              var _20 = FHEAP[_scevgep24_i];
              FHEAP[_scevgep23_i] = _20;
              var _scevgep25_i = _12+48*_indvar_i+32;
              var _21 = FHEAP[_scevgep25_i];
              FHEAP[_scevgep26_i] = _21;
              var _scevgep27_i = _12+48*_indvar_i+40;
              var _22 = IHEAP[_scevgep27_i];
              IHEAP[_scevgep28_i] = _22;
              var _scevgep29_i = _12+48*_indvar_i+44;
              var _23 = IHEAP[_scevgep29_i];
              IHEAP[_scevgep30_i] = _23;
              ;
            }
            var _indvar_next_i = _indvar_i + 1;
            var _exitcond = _indvar_next_i == _8;
            if (_exitcond) { __lastLabel__ = 133; __label__ = 2131; /* __ZNK20btAlignedObjectArrayI11GIM_CONTACTE4copyEiiPS0__exit */ break _bb_nph_i$__ZNK20btAlignedObjectArrayI11GIM_CONTACTE4copyEiiPS0__exit$11231; } else { __lastLabel__ = 133; __label__ = 656; /* _bb_i4 */ continue _bb_i4$11233; }
          }
        }
      } while(0);
      var _24 = _this+12;
      var _25 = IHEAP[_24];
      var _26 = _25 == 0;
      ;
      if (!_26) {
        ;
        var _27 = _this+16;
        var _28 = IHEAP[_27];
        var _toBool_i = _28 == 0;
        ;
        if (!_toBool_i) {
          ;
          var _29 = _25;
          __Z21btAlignedFreeInternalPv(_29);
          ;
        }
        IHEAP[_24] = 0;
        ;
      }
      var _30 = _this+16;
      IHEAP[_30] = 1;
      IHEAP[_24] = _6;
      IHEAP[_0] = __Count;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN20btAlignedObjectArrayI11GIM_CONTACTE7reserveEi.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI11GIM_CONTACTE7reserveEi, "__ZN20btAlignedObjectArrayI11GIM_CONTACTE7reserveEi");
  
  
  function __GLOBAL__I__ZN19btGenericMemoryPool24allocate_from_free_nodesEj() {
    ;
    var __label__;
    IHEAP[_g_main_allocator+76] = 0;
    IHEAP[_g_main_allocator+4] = 8;
    IHEAP[_g_main_allocator+8] = 32768;
    IHEAP[_g_main_allocator] = __ZTV22GIM_STANDARD_ALLOCATOR+8;
    var _0 = ___cxa_atexit(___tcf_0.__index__, 0, ___dso_handle);
    ;
    return;
  }
  __GLOBAL__I__ZN19btGenericMemoryPool24allocate_from_free_nodesEj.__index__ = Runtime.getFunctionIndex(__GLOBAL__I__ZN19btGenericMemoryPool24allocate_from_free_nodesEj, "__GLOBAL__I__ZN19btGenericMemoryPool24allocate_from_free_nodesEj");
  
  
  function __ZN19btGenericMemoryPool9init_poolEjj(_this, _element_size, _element_count) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+12;
    IHEAP[_0] = 0;
    var _1 = _this+16;
    IHEAP[_1] = 0;
    var _2 = _this+20;
    IHEAP[_2] = _element_size;
    var _3 = _this+24;
    IHEAP[_3] = _element_count;
    var _4 = _element_size * _element_count;
    var _5 = __Z22btAlignedAllocInternalji(_4, 16);
    var _6 = _this;
    IHEAP[_6] = _5;
    var _7 = IHEAP[_3];
    var _8 = _7 << 2;
    var _9 = __Z22btAlignedAllocInternalji(_8, 16);
    var _10 = _9;
    var _11 = _this+4;
    IHEAP[_11] = _10;
    var _12 = IHEAP[_3];
    var _13 = _12 << 2;
    var _14 = __Z22btAlignedAllocInternalji(_13, 16);
    var _15 = _14;
    var _16 = _this+8;
    IHEAP[_16] = _15;
    var _17 = IHEAP[_3];
    var _18 = _17 == 0;
    if (_18) { __lastLabel__ = -1; __label__ = 44; /* _return */  } else { __lastLabel__ = -1; __label__ = 60; /* _bb */  }
    _return$_bb$11363: while(1) { // _return,_bb
      if (__label__ == 44) {
        ;
        return;
      }
      else if (__label__ == 60) {
        var _19 = __lastLabel__ == 2153 ? __pre : (_15);
        var _i_03 = __lastLabel__ == 2153 ? _20 : (0);
        var _scevgep = _19+4*_i_03;
        IHEAP[_scevgep] = 0;
        var _20 = _i_03 + 1;
        var _21 = IHEAP[_3];
        var _22 = unSign(_21, 32) > unSign(_20, 32);
        if (!(_22)) { __label__ = 44; /* _return */ continue _return$_bb$11363; }
        var __pre = IHEAP[_16];
        __lastLabel__ = 2153; __label__ = 60; /* _bb */ continue _return$_bb$11363;
      }
    }
  }
  __ZN19btGenericMemoryPool9init_poolEjj.__index__ = Runtime.getFunctionIndex(__ZN19btGenericMemoryPool9init_poolEjj, "__ZN19btGenericMemoryPool9init_poolEjj");
  
  
  function __ZN22btGenericPoolAllocator13push_new_poolEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+76;
    var _1 = IHEAP[_0];
    var _2 = unSign(_1, 32) > unSign(15, 32);
    ;
    if (_2) {
      ;
      ;
      return 0;
    }
    else {
      ;
      var _3 = __Z22btAlignedAllocInternalji(28, 16);
      var _4 = _3;
      var _5 = IHEAP[_0];
      var _6 = _this+12+_5*4;
      IHEAP[_6] = _4;
      var _7 = _this+8;
      var _8 = IHEAP[_7];
      var _9 = _this+4;
      var _10 = IHEAP[_9];
      var _11 = IHEAP[_0];
      var _12 = _this+12+_11*4;
      var _13 = IHEAP[_12];
      var _14 = _13+12;
      IHEAP[_14] = 0;
      var _15 = _13+16;
      IHEAP[_15] = 0;
      var _16 = _13+20;
      IHEAP[_16] = _10;
      var _17 = _13+24;
      IHEAP[_17] = _8;
      var _18 = _10 * _8;
      var _19 = __Z22btAlignedAllocInternalji(_18, 16);
      var _20 = _13;
      IHEAP[_20] = _19;
      var _21 = IHEAP[_17];
      var _22 = _21 << 2;
      var _23 = __Z22btAlignedAllocInternalji(_22, 16);
      var _24 = _23;
      var _25 = _13+4;
      IHEAP[_25] = _24;
      var _26 = IHEAP[_17];
      var _27 = _26 << 2;
      var _28 = __Z22btAlignedAllocInternalji(_27, 16);
      var _29 = _28;
      var _30 = _13+8;
      IHEAP[_30] = _29;
      var _31 = IHEAP[_17];
      var _32 = _31 == 0;
      ;
      __ZN19btGenericMemoryPool9init_poolEjj_exit$_bb_i_preheader$11372: do { 
        if (!_32) {
          ;
          IHEAP[_29] = 0;
          var _33 = IHEAP[_17];
          var _34 = unSign(_33, 32) > unSign(1, 32);
          if (_34) { __lastLabel__ = 2154; ; } else { __lastLabel__ = 2154; __label__ = 2156; /* __ZN19btGenericMemoryPool9init_poolEjj_exit */ break __ZN19btGenericMemoryPool9init_poolEjj_exit$_bb_i_preheader$11372; }
          _bb_bb_crit_edge_i$11374: while(1) { // _bb_bb_crit_edge_i
            var _indvar = __lastLabel__ == 2155 ? _tmp : (0);
            var _tmp5 = _indvar + 2;
            var _tmp = _indvar + 1;
            var __pre_i = IHEAP[_30];
            var _scevgep_i = __pre_i+4*_tmp;
            IHEAP[_scevgep_i] = 0;
            var _35 = IHEAP[_17];
            var _36 = unSign(_35, 32) > unSign(_tmp5, 32);
            if (_36) { __lastLabel__ = 2155; __label__ = 2155; /* _bb_bb_crit_edge_i */ continue _bb_bb_crit_edge_i$11374; } else { __lastLabel__ = 2155; __label__ = 2156; /* __ZN19btGenericMemoryPool9init_poolEjj_exit */ break __ZN19btGenericMemoryPool9init_poolEjj_exit$_bb_i_preheader$11372; }
          }
        }
      } while(0);
      var _37 = IHEAP[_0];
      var _38 = _37 + 1;
      IHEAP[_0] = _38;
      ;
      return _4;
    }
  }
  __ZN22btGenericPoolAllocator13push_new_poolEv.__index__ = Runtime.getFunctionIndex(__ZN22btGenericPoolAllocator13push_new_poolEv, "__ZN22btGenericPoolAllocator13push_new_poolEv");
  
  
  function __ZN22btGenericPoolAllocator14failback_allocEj(_this, _size_bytes) {
    ;
    var __label__;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _this+8;
    var _3 = IHEAP[_2];
    var _4 = _3 * _1;
    var _5 = unSign(_4, 32) < unSign(_size_bytes, 32);
    ;
    _bb2$_bb1$11378: do { 
      if (!_5) {
        ;
        var _6 = __ZN22btGenericPoolAllocator13push_new_poolEv(_this);
        var _7 = _6 == 0;
        if (_7) { __label__ = 0; /* _bb2 */ break _bb2$_bb1$11378; }
        var _9 = __ZN19btGenericMemoryPool8allocateEj(_6, _size_bytes);
        ;
        return _9;
      }
    } while(0);
    var _8 = __Z22btAlignedAllocInternalji(_size_bytes, 16);
    ;
    return _8;
  }
  __ZN22btGenericPoolAllocator14failback_allocEj.__index__ = Runtime.getFunctionIndex(__ZN22btGenericPoolAllocator14failback_allocEj, "__ZN22btGenericPoolAllocator14failback_allocEj");
  
  
  function __ZN22btGenericPoolAllocator8allocateEj(_this, _size_bytes) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+76;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    if (_2) { __lastLabel__ = -1; __label__ = 83; /* _bb6 */  } else { __lastLabel__ = -1; __label__ = 60; /* _bb */  }
    _bb6$_bb$11383: while(1) { // _bb6,_bb
      if (__label__ == 83) {
        var _11 = _this+4;
        var _12 = IHEAP[_11];
        var _13 = _this+8;
        var _14 = IHEAP[_13];
        var _15 = _14 * _12;
        var _16 = unSign(_15, 32) < unSign(_size_bytes, 32);
        if (_16) { __label__ = 132; /* _bb2_i */ break _bb6$_bb$11383; } else { __label__ = 159; /* _bb1_i */ break _bb6$_bb$11383; }
      }
      else if (__label__ == 60) {
        var _i_09 = __lastLabel__ == 60 ? _5 : (0);
        var _scevgep = _this+12+_i_09*4;
        var _3 = IHEAP[_scevgep];
        var _4 = __ZN19btGenericMemoryPool8allocateEj(_3, _size_bytes);
        var _5 = _i_09 + 1;
        var _6 = IHEAP[_0];
        var _7 = unSign(_6, 32) > unSign(_5, 32);
        var _8 = _4 == 0;
        var _9 = _7 & _8;
        if (_9) { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb6$_bb$11383; } else { __lastLabel__ = 60; ; }
        var _10 = _4 == 0;
        if (_10) { __label__ = 83; /* _bb6 */ continue _bb6$_bb$11383; } else { __label__ = 2; /* _bb7 */ break _bb6$_bb$11383; }
      }
    }
    _bb7$_bb2_i$_bb1_i$11388: do { 
      if (__label__ == 2) {
        ;
        return _4;
      }
      else if (__label__ == 159) {
        var _17 = __ZN22btGenericPoolAllocator13push_new_poolEv(_this);
        var _18 = _17 == 0;
        if (_18) { __label__ = 132; /* _bb2_i */ break _bb7$_bb2_i$_bb1_i$11388; }
        var _20 = __ZN19btGenericMemoryPool8allocateEj(_17, _size_bytes);
        ;
        return _20;
      }
    } while(0);
    var _19 = __Z22btAlignedAllocInternalji(_size_bytes, 16);
    ;
    return _19;
  }
  __ZN22btGenericPoolAllocator8allocateEj.__index__ = Runtime.getFunctionIndex(__ZN22btGenericPoolAllocator8allocateEj, "__ZN22btGenericPoolAllocator8allocateEj");
  
  
  function __Z11btPoolAllocj(_size) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = IHEAP[_g_main_allocator+76];
    var _1 = _0 == 0;
    if (_1) { __lastLabel__ = -1; __label__ = 136; /* _bb6_i */  } else { __lastLabel__ = -1; __label__ = 131; /* _bb_i */  }
    _bb6_i$_bb_i$11394: while(1) { // _bb6_i,_bb_i
      if (__label__ == 136) {
        var _8 = IHEAP[_g_main_allocator+4];
        var _9 = IHEAP[_g_main_allocator+8];
        var _10 = _9 * _8;
        var _11 = unSign(_10, 32) < unSign(_size, 32);
        if (_11) { __label__ = 628; /* _bb2_i_i */ break _bb6_i$_bb_i$11394; } else { __label__ = 265; /* _bb1_i_i */ break _bb6_i$_bb_i$11394; }
      }
      else if (__label__ == 131) {
        var _i_09_i = __lastLabel__ == 131 ? _tmp : (0);
        var _tmp = _i_09_i + 1;
        var _scevgep_i = _g_main_allocator+12+_i_09_i*4;
        var _2 = IHEAP[_scevgep_i];
        var _3 = __ZN19btGenericMemoryPool8allocateEj(_2, _size);
        var _4 = IHEAP[_g_main_allocator+76];
        var _5 = unSign(_4, 32) > unSign(_tmp, 32);
        var _6 = _3 == 0;
        var _7 = _5 & _6;
        if (_7) { __lastLabel__ = 131; __label__ = 131; /* _bb_i */ continue _bb6_i$_bb_i$11394; } else { __lastLabel__ = 131; ; }
        if (_6) { __label__ = 136; /* _bb6_i */ continue _bb6_i$_bb_i$11394; } else { __label__ = 2157; /* __ZN22btGenericPoolAllocator8allocateEj_exit */ break _bb6_i$_bb_i$11394; }
      }
    }
    __ZN22btGenericPoolAllocator8allocateEj_exit$_bb2_i_i$_bb1_i_i$11399: do { 
      if (__label__ == 2157) {
        ;
        return _3;
      }
      else if (__label__ == 265) {
        var _12 = __ZN22btGenericPoolAllocator13push_new_poolEv(_g_main_allocator);
        var _13 = _12 == 0;
        if (_13) { __label__ = 628; /* _bb2_i_i */ break __ZN22btGenericPoolAllocator8allocateEj_exit$_bb2_i_i$_bb1_i_i$11399; }
        var _15 = __ZN19btGenericMemoryPool8allocateEj(_12, _size);
        ;
        return _15;
      }
    } while(0);
    var _14 = __Z22btAlignedAllocInternalji(_size, 16);
    ;
    return _14;
  }
  __Z11btPoolAllocj.__index__ = Runtime.getFunctionIndex(__Z11btPoolAllocj, "__Z11btPoolAllocj");
  
  
  function __Z13btPoolReallocPvjj(_ptr, _oldsize, _newsize) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = IHEAP[_g_main_allocator+76];
    var _1 = _0 == 0;
    if (_1) { __lastLabel__ = -1; __label__ = 631; /* _bb6_i_i */  } else { __lastLabel__ = -1; __label__ = 263; /* _bb_i_i */  }
    _bb6_i_i$_bb_i_i$11405: while(1) { // _bb6_i_i,_bb_i_i
      if (__label__ == 631) {
        var _8 = IHEAP[_g_main_allocator+4];
        var _9 = IHEAP[_g_main_allocator+8];
        var _10 = _9 * _8;
        var _11 = unSign(_10, 32) < unSign(_newsize, 32);
        if (_11) { __label__ = 2159; /* _bb2_i_i_i */ break _bb6_i_i$_bb_i_i$11405; } else { __label__ = 2160; /* _bb1_i_i_i */ break _bb6_i_i$_bb_i_i$11405; }
      }
      else if (__label__ == 263) {
        var _i_09_i_i = __lastLabel__ == 263 ? _tmp_i : (0);
        var _tmp_i = _i_09_i_i + 1;
        var _scevgep_i_i = _g_main_allocator+12+_i_09_i_i*4;
        var _2 = IHEAP[_scevgep_i_i];
        var _3 = __ZN19btGenericMemoryPool8allocateEj(_2, _newsize);
        var _4 = IHEAP[_g_main_allocator+76];
        var _5 = unSign(_4, 32) > unSign(_tmp_i, 32);
        var _6 = _3 == 0;
        var _7 = _5 & _6;
        if (_7) { __lastLabel__ = 263; __label__ = 263; /* _bb_i_i */ continue _bb6_i_i$_bb_i_i$11405; } else { __lastLabel__ = 263; ; }
        if (_6) { __lastLabel__ = 630; __label__ = 631; /* _bb6_i_i */ continue _bb6_i_i$_bb_i_i$11405; } else { __lastLabel__ = 630; __label__ = 2158; /* __Z11btPoolAllocj_exit */ break _bb6_i_i$_bb_i_i$11405; }
      }
    }
    __Z11btPoolAllocj_exit$_bb2_i_i_i$_bb1_i_i_i$11410: do { 
      if (__label__ == 2160) {
        var _12 = __ZN22btGenericPoolAllocator13push_new_poolEv(_g_main_allocator);
        var _13 = _12 == 0;
        if (_13) { __label__ = 2159; /* _bb2_i_i_i */ break __Z11btPoolAllocj_exit$_bb2_i_i_i$_bb1_i_i_i$11410; }
        var _15 = __ZN19btGenericMemoryPool8allocateEj(_12, _newsize);
        __lastLabel__ = 279; __label__ = 2158; /* __Z11btPoolAllocj_exit */ break __Z11btPoolAllocj_exit$_bb2_i_i_i$_bb1_i_i_i$11410;
      }
    } while(0);
    if (__label__ == 2159) {
      var _14 = __Z22btAlignedAllocInternalji(_newsize, 16);
      __lastLabel__ = 2159; ;
    }
    var _16 = __lastLabel__ == 279 ? _15 : (__lastLabel__ == 2159 ? _14 : (_3));
    var _17 = unSign(_oldsize, 32) < unSign(_newsize, 32);
    var _iftmp_24_0 = _17 ? _oldsize : _newsize;
    _llvm_memcpy_p0i8_p0i8_i32(_16, _ptr, _iftmp_24_0, 1, false);
    var _18 = IHEAP[_g_main_allocator+76];
    var _19 = _18 == 0;
    ;
    _bb9_i_i$_bb_nph_i_i$11416: do { 
      if (!_19) {
        ;
        var _20 = _ptr;
        __lastLabel__ = 217; ;
        _bb_i_i5$11418: while(1) { // _bb_i_i5
          var _i_015_i_i = __lastLabel__ == 217 ? 0 : (_tmp_i_i);
          var _tmp_i_i = _i_015_i_i + 1;
          var _scevgep_i_i4 = _g_main_allocator+12+_i_015_i_i*4;
          var _21 = IHEAP[_scevgep_i_i4];
          var _22 = _21;
          var _23 = IHEAP[_22];
          var _24 = _23 > _ptr;
          ;
          if (!_24) {
            ;
            var _25 = _23;
            var _26 = _20 - _25;
            var _27 = _21+20;
            var _28 = IHEAP[_27];
            var _29 = _21+24;
            var _30 = IHEAP[_29];
            var _31 = _30 * _28;
            var _32 = unSign(_31, 32) > unSign(_26, 32);
            if (_32) { __label__ = 446; /* _bb10_i_i */ break _bb_i_i5$11418; }
          }
          var _33 = unSign(_18, 32) > unSign(_tmp_i_i, 32);
          if (_33) { __lastLabel__ = 2164; __label__ = 2162; /* _bb_i_i5 */ continue _bb_i_i5$11418; } else { __lastLabel__ = 2164; __label__ = 1286; /* _bb9_i_i */ break _bb9_i_i$_bb_nph_i_i$11416; }
        }
        var _34 = _21+4;
        var _35 = IHEAP[_34];
        var _36 = _21+16;
        var _37 = IHEAP[_36];
        var _38 = Math.floor(unSign(_26, 32) / unSign(_28, 32));
        var _39 = _35+4*_37;
        IHEAP[_39] = _38;
        var _40 = IHEAP[_36];
        var _41 = _40 + 1;
        IHEAP[_36] = _41;
        ;
        return _16;
      }
    } while(0);
    __Z21btAlignedFreeInternalPv(_ptr);
    ;
    return _16;
  }
  __Z13btPoolReallocPvjj.__index__ = Runtime.getFunctionIndex(__Z13btPoolReallocPvjj, "__Z13btPoolReallocPvjj");
  
  
  function __ZN26BT_BOX_BOX_TRANSFORM_CACHE19calc_from_homogenicERK11btTransformS2_(_this, _trans0, _trans1) {
    ;
    var __label__;
    var _0 = _trans0+32+8;
    var _1 = _trans0+16+8;
    var _2 = _trans0+8;
    var _3 = _trans0+32+4;
    var _4 = _trans0+16+4;
    var _5 = _trans0+4;
    var _6 = _trans0+32;
    var _7 = _trans0+16;
    var _8 = _trans0;
    var _9 = FHEAP[_8];
    var _10 = FHEAP[_7];
    var _11 = FHEAP[_6];
    var _12 = FHEAP[_5];
    var _13 = FHEAP[_4];
    var _14 = FHEAP[_3];
    var _15 = FHEAP[_2];
    var _16 = FHEAP[_1];
    var _17 = FHEAP[_0];
    var _18 = _trans0+48+8;
    var _19 = FHEAP[_18];
    var _20 = 0 - _19;
    var _21 = _trans0+48+4;
    var _22 = FHEAP[_21];
    var _23 = 0 - _22;
    var _24 = _trans0+48;
    var _25 = FHEAP[_24];
    var _26 = 0 - _25;
    var _27 = _15 * _26;
    var _28 = _16 * _23;
    var _29 = _27 + _28;
    var _30 = _17 * _20;
    var _31 = _29 + _30;
    var _32 = _12 * _26;
    var _33 = _13 * _23;
    var _34 = _32 + _33;
    var _35 = _14 * _20;
    var _36 = _34 + _35;
    var _37 = _9 * _26;
    var _38 = _10 * _23;
    var _39 = _37 + _38;
    var _40 = _11 * _20;
    var _41 = _39 + _40;
    var _42 = _trans1+48;
    var _43 = FHEAP[_42];
    var _44 = _15 * _43;
    var _45 = _trans1+48+4;
    var _46 = FHEAP[_45];
    var _47 = _16 * _46;
    var _48 = _44 + _47;
    var _49 = _trans1+48+8;
    var _50 = FHEAP[_49];
    var _51 = _17 * _50;
    var _52 = _48 + _51;
    var _53 = _52 + _31;
    var _54 = _12 * _43;
    var _55 = _13 * _46;
    var _56 = _54 + _55;
    var _57 = _14 * _50;
    var _58 = _56 + _57;
    var _59 = _58 + _36;
    var _60 = _9 * _43;
    var _61 = _10 * _46;
    var _62 = _60 + _61;
    var _63 = _11 * _50;
    var _64 = _62 + _63;
    var _65 = _64 + _41;
    var _66 = _trans1+8;
    var _67 = FHEAP[_66];
    var _68 = _67 * _15;
    var _69 = _trans1+16+8;
    var _70 = FHEAP[_69];
    var _71 = _70 * _16;
    var _72 = _68 + _71;
    var _73 = _trans1+32+8;
    var _74 = FHEAP[_73];
    var _75 = _74 * _17;
    var _76 = _72 + _75;
    var _77 = _trans1+4;
    var _78 = FHEAP[_77];
    var _79 = _78 * _15;
    var _80 = _trans1+16+4;
    var _81 = FHEAP[_80];
    var _82 = _81 * _16;
    var _83 = _79 + _82;
    var _84 = _trans1+32+4;
    var _85 = FHEAP[_84];
    var _86 = _85 * _17;
    var _87 = _83 + _86;
    var _88 = _trans1;
    var _89 = FHEAP[_88];
    var _90 = _89 * _15;
    var _91 = _trans1+16;
    var _92 = FHEAP[_91];
    var _93 = _92 * _16;
    var _94 = _90 + _93;
    var _95 = _trans1+32;
    var _96 = FHEAP[_95];
    var _97 = _96 * _17;
    var _98 = _94 + _97;
    var _99 = _67 * _12;
    var _100 = _70 * _13;
    var _101 = _99 + _100;
    var _102 = _74 * _14;
    var _103 = _101 + _102;
    var _104 = _78 * _12;
    var _105 = _81 * _13;
    var _106 = _104 + _105;
    var _107 = _85 * _14;
    var _108 = _106 + _107;
    var _109 = _89 * _12;
    var _110 = _92 * _13;
    var _111 = _109 + _110;
    var _112 = _96 * _14;
    var _113 = _111 + _112;
    var _114 = _67 * _9;
    var _115 = _70 * _10;
    var _116 = _114 + _115;
    var _117 = _74 * _11;
    var _118 = _116 + _117;
    var _119 = _78 * _9;
    var _120 = _81 * _10;
    var _121 = _119 + _120;
    var _122 = _85 * _11;
    var _123 = _121 + _122;
    var _124 = _89 * _9;
    var _125 = _92 * _10;
    var _126 = _124 + _125;
    var _127 = _96 * _11;
    var _128 = _126 + _127;
    var _129 = _this;
    FHEAP[_129] = _65;
    var _130 = _this+4;
    FHEAP[_130] = _59;
    var _131 = _this+8;
    FHEAP[_131] = _53;
    var _132 = _this+12;
    FHEAP[_132] = 0;
    var _133 = _this+16;
    FHEAP[_133] = _128;
    var _134 = _this+16+4;
    FHEAP[_134] = _123;
    var _135 = _this+16+8;
    FHEAP[_135] = _118;
    var _136 = _this+16+12;
    FHEAP[_136] = 0;
    var _137 = _this+16+16;
    FHEAP[_137] = _113;
    var _138 = _this+16+16+4;
    FHEAP[_138] = _108;
    var _139 = _this+16+16+8;
    FHEAP[_139] = _103;
    var _140 = _this+16+16+12;
    FHEAP[_140] = 0;
    var _141 = _this+16+32;
    FHEAP[_141] = _98;
    var _142 = _this+16+32+4;
    FHEAP[_142] = _87;
    var _143 = _this+16+32+8;
    FHEAP[_143] = _76;
    var _144 = _this+16+32+12;
    FHEAP[_144] = 0;
    var _scevgep9_i = _this+64;
    var _scevgep9_1_i = _this+64+4;
    var _scevgep9_2_i = _this+64+8;
    var _145 = _fabsf(_128);
    var _146 = _145 + 9.999999974752427e-7;
    FHEAP[_scevgep9_i] = _146;
    var _147 = _fabsf(_123);
    var _148 = _147 + 9.999999974752427e-7;
    FHEAP[_scevgep9_1_i] = _148;
    var _149 = _fabsf(_118);
    var _150 = _149 + 9.999999974752427e-7;
    FHEAP[_scevgep9_2_i] = _150;
    var _scevgep9_118_i = _this+64+16;
    var _scevgep9_1_1_i = _this+64+16+4;
    var _scevgep9_2_1_i = _this+64+16+8;
    var _151 = _fabsf(_113);
    var _152 = _151 + 9.999999974752427e-7;
    FHEAP[_scevgep9_118_i] = _152;
    var _153 = _fabsf(_108);
    var _154 = _153 + 9.999999974752427e-7;
    FHEAP[_scevgep9_1_1_i] = _154;
    var _155 = _fabsf(_103);
    var _156 = _155 + 9.999999974752427e-7;
    FHEAP[_scevgep9_2_1_i] = _156;
    var _scevgep9_221_i = _this+64+32;
    var _scevgep9_1_2_i = _this+64+32+4;
    var _scevgep9_2_2_i = _this+64+32+8;
    var _157 = _fabsf(_98);
    var _158 = _157 + 9.999999974752427e-7;
    FHEAP[_scevgep9_221_i] = _158;
    var _159 = _fabsf(_87);
    var _160 = _159 + 9.999999974752427e-7;
    FHEAP[_scevgep9_1_2_i] = _160;
    var _161 = _fabsf(_76);
    var _162 = _161 + 9.999999974752427e-7;
    FHEAP[_scevgep9_2_2_i] = _162;
    ;
    return;
  }
  __ZN26BT_BOX_BOX_TRANSFORM_CACHE19calc_from_homogenicERK11btTransformS2_.__index__ = Runtime.getFunctionIndex(__ZN26BT_BOX_BOX_TRANSFORM_CACHE19calc_from_homogenicERK11btTransformS2_, "__ZN26BT_BOX_BOX_TRANSFORM_CACHE19calc_from_homogenicERK11btTransformS2_");
  
  
  function __ZNK6btAABB11collide_rayERK9btVector3S2_(_this, _vorigin, _vdir) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+16+8;
    var _1 = FHEAP[_0];
    var _2 = _this+8;
    var _3 = FHEAP[_2];
    var _4 = _1 + _3;
    var _5 = _this+16+4;
    var _6 = FHEAP[_5];
    var _7 = _this+4;
    var _8 = FHEAP[_7];
    var _9 = _6 + _8;
    var _10 = _this+16;
    var _11 = FHEAP[_10];
    var _12 = _this;
    var _13 = FHEAP[_12];
    var _14 = _11 + _13;
    var _15 = _4 * 0.5;
    var _16 = _9 * 0.5;
    var _17 = _14 * 0.5;
    var _18 = _1 - _15;
    var _19 = _6 - _16;
    var _20 = _11 - _17;
    var _21 = _vorigin;
    var _22 = FHEAP[_21];
    var _23 = _22 - _17;
    var _24 = _fabsf(_23);
    var _25 = _24 <= _20;
    ;
    _bb2$_bb$11441: do { 
      if (_25) {
        __label__ = 0; /* _bb2 */ 
      }
      else {
        ;
        var _26 = _vdir;
        var _27 = FHEAP[_26];
        var _28 = _27 * _23;
        var _29 = _28 < 0;
        if (_29) { __label__ = 0; /* _bb2 */ break _bb2$_bb$11441; } else { __label__ = 6; /* _bb29 */ break _bb2$_bb$11441; }
      }
    } while(0);
    _bb2$_bb29$11443: do { 
      if (__label__ == 0) {
        var _30 = _vorigin+4;
        var _31 = FHEAP[_30];
        var _32 = _31 - _16;
        var _33 = _fabsf(_32);
        var _34 = _33 <= _19;
        ;
        if (!_34) {
          ;
          var _35 = _vdir+4;
          var _36 = FHEAP[_35];
          var _37 = _36 * _32;
          var _38 = _37 < 0;
          if (!(_38)) { __label__ = 6; /* _bb29 */ break _bb2$_bb29$11443; }
        }
        var _39 = _vorigin+8;
        var _40 = FHEAP[_39];
        var _41 = _40 - _15;
        var _42 = _fabsf(_41);
        var _43 = _42 <= _18;
        var __phi_trans_insert = _vdir+8;
        var __pre = FHEAP[__phi_trans_insert];
        ;
        if (_43) {
          __lastLabel__ = 148; ;
        }
        else {
          __lastLabel__ = 148; ;
          var _44 = __pre * _41;
          var _45 = _44 < 0;
          if (_45) { __lastLabel__ = 108; ; } else { __lastLabel__ = 108; __label__ = 6; /* _bb29 */ break _bb2$_bb29$11443; }
        }
        var _46 = __lastLabel__ == 108 ? __pre : (__pre);
        var _47 = _vdir+4;
        var _48 = FHEAP[_47];
        var _49 = _48 * _41;
        var _50 = _46 * _32;
        var _51 = _49 - _50;
        var _52 = _fabsf(_51);
        var _53 = _fabsf(_46);
        var _54 = _19 * _53;
        var _55 = _fabsf(_48);
        var _56 = _18 * _55;
        var _57 = _54 + _56;
        var _58 = _52 > _57;
        if (_58) { __label__ = 6; /* _bb29 */ break _bb2$_bb29$11443; }
        var _59 = _46 * _23;
        var _60 = _vdir;
        var _61 = FHEAP[_60];
        var _62 = _61 * _41;
        var _63 = _59 - _62;
        var _64 = _fabsf(_63);
        var _65 = _20 * _53;
        var _66 = _fabsf(_61);
        var _67 = _18 * _66;
        var _68 = _65 + _67;
        var _69 = _64 > _68;
        if (_69) { __label__ = 6; /* _bb29 */ break _bb2$_bb29$11443; }
        var _70 = _61 * _32;
        var _71 = _48 * _23;
        var _72 = _70 - _71;
        var _73 = _fabsf(_72);
        var _74 = _20 * _55;
        var _75 = _19 * _66;
        var _76 = _74 + _75;
        var _not_ = _73 <= _76;
        var _retval = _not_;
        ;
        return _retval;
      }
    } while(0);
    ;
    return 0;
  }
  __ZNK6btAABB11collide_rayERK9btVector3S2_.__index__ = Runtime.getFunctionIndex(__ZNK6btAABB11collide_rayERK9btVector3S2_, "__ZNK6btAABB11collide_rayERK9btVector3S2_");
  
  
  function __ZNK6btAABB23overlapping_trans_cacheERKS_RK26BT_BOX_BOX_TRANSFORM_CACHEb(_this, _box, _transcache, _fulltest) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var __lastLabel__ = null;
    var _ea = __stackBase__;
    var _eb = __stackBase__+16;
    var _ca = __stackBase__+32;
    var _T = __stackBase__+48;
    var _0 = _this+16+8;
    var _1 = FHEAP[_0];
    var _2 = _this+8;
    var _3 = FHEAP[_2];
    var _4 = _1 + _3;
    var _5 = _this+16+4;
    var _6 = FHEAP[_5];
    var _7 = _this+4;
    var _8 = FHEAP[_7];
    var _9 = _6 + _8;
    var _10 = _this+16;
    var _11 = FHEAP[_10];
    var _12 = _this;
    var _13 = FHEAP[_12];
    var _14 = _11 + _13;
    var _15 = _4 * 0.5;
    var _16 = _9 * 0.5;
    var _17 = _14 * 0.5;
    var _18 = _ca;
    FHEAP[_18] = _17;
    var _19 = _ca+4;
    FHEAP[_19] = _16;
    var _20 = _ca+8;
    FHEAP[_20] = _15;
    var _21 = _ca+12;
    FHEAP[_21] = 0;
    var _22 = _1 - _15;
    var _23 = _6 - _16;
    var _24 = _11 - _17;
    var _25 = _ea;
    FHEAP[_25] = _24;
    var _26 = _ea+4;
    FHEAP[_26] = _23;
    var _27 = _ea+8;
    FHEAP[_27] = _22;
    var _28 = _ea+12;
    FHEAP[_28] = 0;
    var _29 = _box+16+8;
    var _30 = FHEAP[_29];
    var _31 = _box+8;
    var _32 = FHEAP[_31];
    var _33 = _30 + _32;
    var _34 = _box+16+4;
    var _35 = FHEAP[_34];
    var _36 = _box+4;
    var _37 = FHEAP[_36];
    var _38 = _35 + _37;
    var _39 = _box+16;
    var _40 = FHEAP[_39];
    var _41 = _box;
    var _42 = FHEAP[_41];
    var _43 = _40 + _42;
    var _44 = _33 * 0.5;
    var _45 = _38 * 0.5;
    var _46 = _43 * 0.5;
    var _47 = _30 - _44;
    var _48 = _35 - _45;
    var _49 = _40 - _46;
    var _50 = _eb;
    FHEAP[_50] = _49;
    var _51 = _eb+4;
    FHEAP[_51] = _48;
    var _52 = _eb+8;
    FHEAP[_52] = _47;
    var _53 = _eb+12;
    FHEAP[_53] = 0;
    __lastLabel__ = -1; ;
    _bb3$11455: while(1) { // _bb3
      var _79 = __lastLabel__ == -1 ? 0 : (_78);
      var _80 = _79 < 3;
      if (!(_80)) { __label__ = 720; /* _bb9_preheader */ break _bb3$11455; }
      var _scevgep58 = _T+_79*4;
      var _scevgep6869 = _transcache+16+_79*16;
      var _scevgep67 = _transcache+16+_79*16+4;
      var _scevgep66 = _transcache+16+_79*16+8;
      var _scevgep65 = _transcache+_79*4;
      var _scevgep64 = _ca+_79*4;
      var _scevgep6263 = _transcache+64+_79*16;
      var _scevgep61 = _transcache+64+_79*16+4;
      var _scevgep60 = _transcache+64+_79*16+8;
      var _scevgep59 = _ea+_79*4;
      var _54 = FHEAP[_scevgep6869];
      var _55 = _54 * _46;
      var _56 = FHEAP[_scevgep67];
      var _57 = _56 * _45;
      var _58 = _55 + _57;
      var _59 = FHEAP[_scevgep66];
      var _60 = _59 * _44;
      var _61 = _58 + _60;
      var _62 = FHEAP[_scevgep65];
      var _63 = _61 + _62;
      var _64 = FHEAP[_scevgep64];
      var _65 = _63 - _64;
      FHEAP[_scevgep58] = _65;
      var _66 = FHEAP[_scevgep6263];
      var _67 = _66 * _49;
      var _68 = FHEAP[_scevgep61];
      var _69 = _68 * _48;
      var _70 = _67 + _69;
      var _71 = FHEAP[_scevgep60];
      var _72 = _71 * _47;
      var _73 = _70 + _72;
      var _74 = FHEAP[_scevgep59];
      var _75 = _73 + _74;
      var _76 = _fabsf(_65);
      var _77 = _76 > _75;
      if (_77) { __lastLabel__ = 60; __label__ = 250; /* _bb34 */ break _bb3$11455; } else { __lastLabel__ = 60; ; }
      var _78 = _79 + 1;
      __lastLabel__ = 0; __label__ = 116; /* _bb3 */ continue _bb3$11455;
    }
    _bb34$_bb9_preheader$11459: do { 
      if (__label__ == 720) {
        var _81 = _T;
        var _82 = FHEAP[_81];
        var _83 = _T+4;
        var _84 = _T+8;
        __lastLabel__ = 720; ;
        _bb9$11461: while(1) { // _bb9
          var _108 = __lastLabel__ == 148 ? _107 : (0);
          var _109 = _108 < 3;
          if (!(_109)) { __label__ = 150; /* _bb10 */ break _bb9$11461; }
          var _scevgep57 = _transcache+16+_108*4;
          var _scevgep56 = _transcache+16+16+_108*4;
          var _scevgep55 = _transcache+16+32+_108*4;
          var _scevgep54 = _transcache+64+_108*4;
          var _scevgep53 = _transcache+64+16+_108*4;
          var _scevgep52 = _transcache+64+32+_108*4;
          var _scevgep51 = _eb+_108*4;
          var _85 = FHEAP[_scevgep57];
          var _86 = _82 * _85;
          var _87 = FHEAP[_83];
          var _88 = FHEAP[_scevgep56];
          var _89 = _87 * _88;
          var _90 = _86 + _89;
          var _91 = FHEAP[_84];
          var _92 = FHEAP[_scevgep55];
          var _93 = _91 * _92;
          var _94 = _90 + _93;
          var _95 = FHEAP[_scevgep54];
          var _96 = _24 * _95;
          var _97 = FHEAP[_scevgep53];
          var _98 = _23 * _97;
          var _99 = _96 + _98;
          var _100 = FHEAP[_scevgep52];
          var _101 = _22 * _100;
          var _102 = _99 + _101;
          var _103 = FHEAP[_scevgep51];
          var _104 = _102 + _103;
          var _105 = _fabsf(_94);
          var _106 = _105 > _104;
          if (_106) { __lastLabel__ = 82; __label__ = 250; /* _bb34 */ break _bb34$_bb9_preheader$11459; } else { __lastLabel__ = 82; ; }
          var _107 = _108 + 1;
          __lastLabel__ = 148; __label__ = 62; /* _bb9 */ continue _bb9$11461;
        }
        var _toBool11 = _fulltest == 0;
        if (_toBool11) { __lastLabel__ = 150; __label__ = 250; /* _bb34 */ break _bb34$_bb9_preheader$11459; } else { __lastLabel__ = 150; ; }
        _bb32$11466: while(1) { // _bb32
          var _149 = __lastLabel__ == 150 ? 0 : (_tmp46);
          var _150 = _149 < 3;
          if (_150) { __lastLabel__ = 91; ; } else { __lastLabel__ = 91; __label__ = 250; /* _bb34 */ break _bb34$_bb9_preheader$11459; }
          var _tmp46 = _149 + 1;
          var _tmp45 = _149 + 2;
          var _110 = Math.floor(_tmp46 % 3);
          var _111 = Math.floor(_tmp45 % 3);
          var _112 = _149 == 0;
          var _iftmp_168_0 = _112;
          var _113 = _149 == 2;
          var _iftmp_169_0 = _113 ? 1 : 2;
          var _114 = _T+_111*4;
          var _115 = _T+_110*4;
          var _116 = _ea+_iftmp_168_0*4;
          var _117 = _ea+_iftmp_169_0*4;
          __lastLabel__ = 108; ;
          _bb30$11469: while(1) { // _bb30
            var _147 = __lastLabel__ == 108 ? 0 : (_146);
            var _148 = _147 < 3;
            if (_148) { __lastLabel__ = 90; ; } else { __lastLabel__ = 90; __label__ = 91; /* _bb32 */ continue _bb32$11466; }
            var _scevgep44 = _transcache+16+_110*16+_147*4;
            var _scevgep43 = _transcache+16+_111*16+_147*4;
            var _scevgep42 = _transcache+64+_iftmp_169_0*16+_147*4;
            var _scevgep = _transcache+64+_iftmp_168_0*16+_147*4;
            var _118 = _147 == 2;
            var _iftmp_170_0 = _118 ? 1 : 2;
            var _119 = _147 == 0;
            var _iftmp_171_0 = _119;
            var _120 = FHEAP[_114];
            var _121 = FHEAP[_scevgep44];
            var _122 = _120 * _121;
            var _123 = FHEAP[_115];
            var _124 = FHEAP[_scevgep43];
            var _125 = _123 * _124;
            var _126 = _122 - _125;
            var _127 = FHEAP[_116];
            var _128 = FHEAP[_scevgep42];
            var _129 = _127 * _128;
            var _130 = FHEAP[_117];
            var _131 = FHEAP[_scevgep];
            var _132 = _130 * _131;
            var _133 = _129 + _132;
            var _134 = _eb+_iftmp_171_0*4;
            var _135 = FHEAP[_134];
            var _scevgep50 = _transcache+64+_149*16+_iftmp_170_0*4;
            var _136 = FHEAP[_scevgep50];
            var _137 = _135 * _136;
            var _138 = _133 + _137;
            var _139 = _eb+_iftmp_170_0*4;
            var _140 = FHEAP[_139];
            var _scevgep49 = _transcache+64+_149*16+_iftmp_171_0*4;
            var _141 = FHEAP[_scevgep49];
            var _142 = _140 * _141;
            var _143 = _138 + _142;
            var _144 = _fabsf(_126);
            var _145 = _144 > _143;
            if (_145) { __lastLabel__ = 117; __label__ = 250; /* _bb34 */ break _bb34$_bb9_preheader$11459; } else { __lastLabel__ = 117; ; }
            var _146 = _147 + 1;
            __lastLabel__ = 6; __label__ = 90; /* _bb30 */ continue _bb30$11469;
          }
        }
      }
    } while(0);
    var __0 = __lastLabel__ == 150 ? 1 : (__lastLabel__ == 117 ? 0 : (__lastLabel__ == 91 ? 1 : (__lastLabel__ == 82 ? 0 : (0))));
    STACKTOP = __stackBase__;
    return __0;
  }
  __ZNK6btAABB23overlapping_trans_cacheERKS_RK26BT_BOX_BOX_TRANSFORM_CACHEb.__index__ = Runtime.getFunctionIndex(__ZNK6btAABB23overlapping_trans_cacheERKS_RK26BT_BOX_BOX_TRANSFORM_CACHEb, "__ZNK6btAABB23overlapping_trans_cacheERKS_RK26BT_BOX_BOX_TRANSFORM_CACHEb");
  
  
  function __ZN9btBvhTree15_build_sub_treeER18GIM_BVH_DATA_ARRAYii(_this, _primitive_boxes, _startIndex, _endIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _node_bound = __stackBase__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 + 1;
    IHEAP[_0] = _2;
    var _3 = _endIndex - _startIndex;
    var _4 = _3 == 1;
    ;
    if (_4) {
      ;
      var _5 = _primitive_boxes+12;
      var _6 = IHEAP[_5];
      var _7 = _this+4+12;
      var _8 = IHEAP[_7];
      var _9 = _8+36*_1;
      var _10 = _6+36*_startIndex;
      var _11 = FHEAP[_10];
      FHEAP[_9] = _11;
      var _12 = _8+36*_1+4;
      var _13 = _6+36*_startIndex+4;
      var _14 = FHEAP[_13];
      FHEAP[_12] = _14;
      var _15 = _8+36*_1+8;
      var _16 = _6+36*_startIndex+8;
      var _17 = FHEAP[_16];
      FHEAP[_15] = _17;
      var _18 = _8+36*_1+12;
      var _19 = _6+36*_startIndex+12;
      var _20 = FHEAP[_19];
      FHEAP[_18] = _20;
      var _21 = _8+36*_1+16;
      var _22 = _6+36*_startIndex+16;
      var _23 = FHEAP[_22];
      FHEAP[_21] = _23;
      var _24 = _8+36*_1+16+4;
      var _25 = _6+36*_startIndex+16+4;
      var _26 = FHEAP[_25];
      FHEAP[_24] = _26;
      var _27 = _8+36*_1+16+8;
      var _28 = _6+36*_startIndex+16+8;
      var _29 = FHEAP[_28];
      FHEAP[_27] = _29;
      var _30 = _8+36*_1+16+12;
      var _31 = _6+36*_startIndex+16+12;
      var _32 = FHEAP[_31];
      FHEAP[_30] = _32;
      var _33 = IHEAP[_5];
      var _34 = _33+36*_startIndex+32;
      var _35 = IHEAP[_34];
      var _36 = IHEAP[_7];
      var _37 = _36+36*_1+32;
      IHEAP[_37] = _35;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      var _38 = __ZN9btBvhTree20_calc_splitting_axisER18GIM_BVH_DATA_ARRAYii(_this, _primitive_boxes, _startIndex, _endIndex);
      var _39 = __ZN9btBvhTree30_sort_and_calc_splitting_indexER18GIM_BVH_DATA_ARRAYiii(_this, _primitive_boxes, _startIndex, _endIndex, _38);
      var _40 = _node_bound;
      FHEAP[_40] = 3.4028234663852886e+38;
      var _41 = _node_bound+4;
      FHEAP[_41] = 3.4028234663852886e+38;
      var _42 = _node_bound+8;
      FHEAP[_42] = 3.4028234663852886e+38;
      var _43 = _node_bound+16;
      FHEAP[_43] = -3.4028234663852886e+38;
      var _44 = _node_bound+16+4;
      FHEAP[_44] = -3.4028234663852886e+38;
      var _45 = _node_bound+16+8;
      FHEAP[_45] = -3.4028234663852886e+38;
      var _46 = _startIndex < _endIndex;
      ;
      _bb_nph$_bb4$11513: do { 
        if (_46) {
          __lastLabel__ = 75; ;
          var _47 = _primitive_boxes+12;
          __lastLabel__ = 130; ;
          _bb2$11515: while(1) { // _bb2
            var _48 = __lastLabel__ == 130 ? -3.4028234663852886e+38 : (_iftmp_144_0_i);
            var _49 = __lastLabel__ == 130 ? -3.4028234663852886e+38 : (_iftmp_143_0_i);
            var _50 = __lastLabel__ == 130 ? -3.4028234663852886e+38 : (_iftmp_142_0_i);
            var _51 = __lastLabel__ == 130 ? 3.4028234663852886e+38 : (_iftmp_141_0_i);
            var _52 = __lastLabel__ == 130 ? 3.4028234663852886e+38 : (_iftmp_140_0_i);
            var _53 = __lastLabel__ == 130 ? 3.4028234663852886e+38 : (_iftmp_139_0_i);
            var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
            var _tmp7 = _indvar + _startIndex;
            var _54 = IHEAP[_47];
            var _scevgep1920 = _54+36*_tmp7;
            var _55 = FHEAP[_scevgep1920];
            var _56 = _53 > _55;
            var _scevgep1718 = _54+36*_tmp7;
            var _box_pn25_i = _56 ? _scevgep1718 : _node_bound;
            var _iftmp_139_0_in_i = _box_pn25_i;
            var _iftmp_139_0_i = FHEAP[_iftmp_139_0_in_i];
            FHEAP[_40] = _iftmp_139_0_i;
            var _scevgep21 = _54+36*_tmp7+4;
            var _57 = FHEAP[_scevgep21];
            var _58 = _52 > _57;
            var _box_pn24_i = _58 ? _scevgep1718 : _node_bound;
            var _iftmp_140_0_in_i = _box_pn24_i+4;
            var _iftmp_140_0_i = FHEAP[_iftmp_140_0_in_i];
            FHEAP[_41] = _iftmp_140_0_i;
            var _scevgep22 = _54+36*_tmp7+8;
            var _59 = FHEAP[_scevgep22];
            var _60 = _51 > _59;
            var _box_pn23_i = _60 ? _scevgep1718 : _node_bound;
            var _iftmp_141_0_in_i = _box_pn23_i+8;
            var _iftmp_141_0_i = FHEAP[_iftmp_141_0_in_i];
            FHEAP[_42] = _iftmp_141_0_i;
            var _scevgep23 = _54+36*_tmp7+16;
            var _61 = FHEAP[_scevgep23];
            var _62 = _50 < _61;
            var _box_pn22_i = _62 ? _scevgep1718 : _node_bound;
            var _iftmp_142_0_in_i = _box_pn22_i+16;
            var _iftmp_142_0_i = FHEAP[_iftmp_142_0_in_i];
            FHEAP[_43] = _iftmp_142_0_i;
            var _scevgep24 = _54+36*_tmp7+16+4;
            var _63 = FHEAP[_scevgep24];
            var _64 = _49 < _63;
            var _box_pn21_i = _64 ? _scevgep1718 : _node_bound;
            var _iftmp_143_0_in_i = _box_pn21_i+16+4;
            var _iftmp_143_0_i = FHEAP[_iftmp_143_0_in_i];
            FHEAP[_44] = _iftmp_143_0_i;
            var _scevgep25 = _54+36*_tmp7+16+8;
            var _65 = FHEAP[_scevgep25];
            var _66 = _48 < _65;
            var _box_pn_i = _66 ? _scevgep1718 : _node_bound;
            var _iftmp_144_0_in_i = _box_pn_i+16+8;
            var _iftmp_144_0_i = FHEAP[_iftmp_144_0_in_i];
            FHEAP[_45] = _iftmp_144_0_i;
            var _indvar_next = _indvar + 1;
            var _exitcond = _indvar_next == _3;
            if (_exitcond) { __lastLabel__ = 0; __label__ = 61; /* _bb4 */ break _bb_nph$_bb4$11513; } else { __lastLabel__ = 0; __label__ = 0; /* _bb2 */ continue _bb2$11515; }
          }
        }
        else {
          __lastLabel__ = 75; ;
        }
      } while(0);
      var _67 = __lastLabel__ == 75 ? -3.4028234663852886e+38 : (_iftmp_144_0_i);
      var _68 = __lastLabel__ == 75 ? -3.4028234663852886e+38 : (_iftmp_143_0_i);
      var _69 = __lastLabel__ == 75 ? -3.4028234663852886e+38 : (_iftmp_142_0_i);
      var _70 = __lastLabel__ == 75 ? 3.4028234663852886e+38 : (_iftmp_141_0_i);
      var _71 = __lastLabel__ == 75 ? 3.4028234663852886e+38 : (_iftmp_140_0_i);
      var _72 = __lastLabel__ == 75 ? 3.4028234663852886e+38 : (_iftmp_139_0_i);
      var _73 = _this+4+12;
      var _74 = IHEAP[_73];
      var _75 = _74+36*_1;
      FHEAP[_75] = _72;
      var _76 = _74+36*_1+4;
      FHEAP[_76] = _71;
      var _77 = _74+36*_1+8;
      FHEAP[_77] = _70;
      var _78 = _74+36*_1+16;
      FHEAP[_78] = _69;
      var _79 = _74+36*_1+16+4;
      FHEAP[_79] = _68;
      var _80 = _74+36*_1+16+8;
      FHEAP[_80] = _67;
      __ZN9btBvhTree15_build_sub_treeER18GIM_BVH_DATA_ARRAYii(_this, _primitive_boxes, _startIndex, _39);
      __ZN9btBvhTree15_build_sub_treeER18GIM_BVH_DATA_ARRAYii(_this, _primitive_boxes, _39, _endIndex);
      var _81 = IHEAP[_0];
      var _82 = _1 - _81;
      var _83 = IHEAP[_73];
      var _84 = _83+36*_1+32;
      IHEAP[_84] = _82;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN9btBvhTree15_build_sub_treeER18GIM_BVH_DATA_ARRAYii.__index__ = Runtime.getFunctionIndex(__ZN9btBvhTree15_build_sub_treeER18GIM_BVH_DATA_ARRAYii, "__ZN9btBvhTree15_build_sub_treeER18GIM_BVH_DATA_ARRAYii");
  
  
  function __ZN20btAlignedObjectArrayI8GIM_PAIRE9push_backERKS0_(_this, __Val) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _this+8;
    var _3 = IHEAP[_2];
    var _4 = _3 == _1;
    ;
    _bb$_bb1$11519: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 == 0;
        var _6 = _1 << 1;
        var _iftmp_289_0_i = _5 ? 1 : _6;
        var _7 = _3 < _iftmp_289_0_i;
        if (_7) { __lastLabel__ = 60; ; } else { __lastLabel__ = 60; __label__ = 75; /* _bb1 */ break _bb$_bb1$11519; }
        var _8 = _iftmp_289_0_i == 0;
        ;
        if (_8) {
          __lastLabel__ = 131; ;
        }
        else {
          __lastLabel__ = 131; ;
          var _9 = _iftmp_289_0_i << 3;
          var _10 = __Z22btAlignedAllocInternalji(_9, 16);
          var _phitmp_i = _10;
          var __pre = IHEAP[_0];
          __lastLabel__ = 215; ;
        }
        var _11 = __lastLabel__ == 215 ? __pre : (_1);
        var _12 = __lastLabel__ == 215 ? _phitmp_i : (0);
        var _13 = _11 > 0;
        ;
        _bb_nph_i_i$__ZNK20btAlignedObjectArrayI8GIM_PAIRE4copyEiiPS0__exit_i$11525: do { 
          if (_13) {
            ;
            var _14 = _this+12;
            __lastLabel__ = 217; ;
            _bb_i4_i$11527: while(1) { // _bb_i4_i
              var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
              var _scevgep_i_i = _12+8*_indvar_i_i;
              var _15 = _scevgep_i_i == 0;
              ;
              if (!_15) {
                ;
                var _scevgep12_i_i = _12+8*_indvar_i_i+4;
                var _scevgep10_i_i = _12+8*_indvar_i_i;
                var _16 = IHEAP[_14];
                var _scevgep89_i_i = _16+8*_indvar_i_i;
                var _17 = IHEAP[_scevgep89_i_i];
                IHEAP[_scevgep10_i_i] = _17;
                var _scevgep11_i_i = _16+8*_indvar_i_i+4;
                var _18 = IHEAP[_scevgep11_i_i];
                IHEAP[_scevgep12_i_i] = _18;
                ;
              }
              var _indvar_next_i_i = _indvar_i_i + 1;
              var _exitcond = _indvar_next_i_i == _11;
              if (_exitcond) { __lastLabel__ = 324; __label__ = 2178; /* __ZNK20btAlignedObjectArrayI8GIM_PAIRE4copyEiiPS0__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayI8GIM_PAIRE4copyEiiPS0__exit_i$11525; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$11527; }
            }
          }
        } while(0);
        var _19 = _this+12;
        var _20 = IHEAP[_19];
        var _21 = _20 == 0;
        ;
        if (!_21) {
          ;
          var _22 = _this+16;
          var _23 = IHEAP[_22];
          var _toBool_i_i = _23 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _24 = _20;
            __Z21btAlignedFreeInternalPv(_24);
            ;
          }
          IHEAP[_19] = 0;
          ;
        }
        var _25 = _this+16;
        IHEAP[_25] = 1;
        IHEAP[_19] = _12;
        IHEAP[_2] = _iftmp_289_0_i;
        var __pre9 = IHEAP[_0];
        __lastLabel__ = 2181; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _26 = __lastLabel__ == 2181 ? __pre9 : (__lastLabel__ == -1 ? _1 : (_1));
    var _27 = _this+12;
    var _28 = IHEAP[_27];
    var _29 = _28+8*_26;
    var _30 = _29 == 0;
    ;
    if (_30) {
      __lastLabel__ = 75; ;
    }
    else {
      __lastLabel__ = 75; ;
      var _31 = __Val;
      var _32 = IHEAP[_31];
      var _33 = _28+8*_26;
      IHEAP[_33] = _32;
      var _34 = __Val+4;
      var _35 = IHEAP[_34];
      var _36 = _28+8*_26+4;
      IHEAP[_36] = _35;
      var __pre10 = IHEAP[_0];
      __lastLabel__ = 0; ;
    }
    var _37 = __lastLabel__ == 75 ? _26 : (__pre10);
    var _38 = _37 + 1;
    IHEAP[_0] = _38;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI8GIM_PAIRE9push_backERKS0_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI8GIM_PAIRE9push_backERKS0_, "__ZN20btAlignedObjectArrayI8GIM_PAIRE9push_backERKS0_");
  
  
  function __ZL31_find_collision_pairs_recursiveP12btGImpactBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, _node0, _node1, _complete_primitive_tests) {
    var __stackBase__  = STACKTOP; STACKTOP += 72;
    var __label__;
    var _0 = __stackBase__;
    var _box0_i = __stackBase__+8;
    var _box1_i = __stackBase__+40;
    var _1 = _boxset0+4+12;
    var _2 = IHEAP[_1];
    var _3 = _box0_i;
    var _4 = _2+36*_node0;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _box0_i+4;
    var _7 = _2+36*_node0+4;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _box0_i+8;
    var _10 = _2+36*_node0+8;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _box0_i+12;
    var _13 = _2+36*_node0+12;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _box0_i+16;
    var _16 = _2+36*_node0+16;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _box0_i+16+4;
    var _19 = _2+36*_node0+16+4;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _box0_i+16+8;
    var _22 = _2+36*_node0+16+8;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    var _24 = _box0_i+16+12;
    var _25 = _2+36*_node0+16+12;
    var _26 = FHEAP[_25];
    FHEAP[_24] = _26;
    var _27 = _boxset1+4+12;
    var _28 = IHEAP[_27];
    var _29 = _box1_i;
    var _30 = _28+36*_node1;
    var _31 = FHEAP[_30];
    FHEAP[_29] = _31;
    var _32 = _box1_i+4;
    var _33 = _28+36*_node1+4;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _box1_i+8;
    var _36 = _28+36*_node1+8;
    var _37 = FHEAP[_36];
    FHEAP[_35] = _37;
    var _38 = _box1_i+12;
    var _39 = _28+36*_node1+12;
    var _40 = FHEAP[_39];
    FHEAP[_38] = _40;
    var _41 = _box1_i+16;
    var _42 = _28+36*_node1+16;
    var _43 = FHEAP[_42];
    FHEAP[_41] = _43;
    var _44 = _box1_i+16+4;
    var _45 = _28+36*_node1+16+4;
    var _46 = FHEAP[_45];
    FHEAP[_44] = _46;
    var _47 = _box1_i+16+8;
    var _48 = _28+36*_node1+16+8;
    var _49 = FHEAP[_48];
    FHEAP[_47] = _49;
    var _50 = _box1_i+16+12;
    var _51 = _28+36*_node1+16+12;
    var _52 = FHEAP[_51];
    FHEAP[_50] = _52;
    var _53 = __ZNK6btAABB23overlapping_trans_cacheERKS_RK26BT_BOX_BOX_TRANSFORM_CACHEb(_box0_i, _box1_i, _trans_cache_1to0, _complete_primitive_tests);
    var _toBoolnot = _53 == 0;
    ;
    if (_toBoolnot) {
      ;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      var _54 = _2+36*_node0+32;
      var _55 = IHEAP[_54];
      var _toBool3 = _55 < 0;
      var _56 = _28+36*_node1+32;
      var _57 = IHEAP[_56];
      var _toBool9 = _57 < 0;
      ;
      if (_toBool3) {
        ;
        ;
        if (_toBool9) {
          ;
          var _75 = _node1 + 1;
          var _76 = _node0 + 1;
          __ZL31_find_collision_pairs_recursiveP12btGImpactBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, _76, _75, 0);
          var _77 = IHEAP[_27];
          var _78 = _77+36*_75+32;
          var _79 = IHEAP[_78];
          var _toBool_i_i18 = _79 < 0;
          var _80 = _node1 + 2;
          var _81 = _75 - _79;
          var _82 = _toBool_i_i18 ? _81 : _80;
          __ZL31_find_collision_pairs_recursiveP12btGImpactBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, _76, _82, 0);
          var _83 = IHEAP[_1];
          var _84 = _83+36*_76+32;
          var _85 = IHEAP[_84];
          var _toBool_i_i20 = _85 < 0;
          var _86 = _node0 + 2;
          var _87 = _76 - _85;
          var _88 = _toBool_i_i20 ? _87 : _86;
          __ZL31_find_collision_pairs_recursiveP12btGImpactBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, _88, _75, 0);
          var _89 = IHEAP[_27];
          var _90 = _89+36*_75+32;
          var _91 = IHEAP[_90];
          var _toBool_i_i17 = _91 < 0;
          var _92 = _75 - _91;
          var _93 = _toBool_i_i17 ? _92 : _80;
          var _94 = IHEAP[_1];
          var _95 = _94+36*_76+32;
          var _96 = IHEAP[_95];
          var _toBool_i_i = _96 < 0;
          var _97 = _76 - _96;
          var _98 = _toBool_i_i ? _97 : _86;
          __ZL31_find_collision_pairs_recursiveP12btGImpactBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, _98, _93, 0);
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _68 = _node0 + 1;
          __ZL31_find_collision_pairs_recursiveP12btGImpactBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, _68, _node1, 0);
          var _69 = IHEAP[_1];
          var _70 = _69+36*_68+32;
          var _71 = IHEAP[_70];
          var _toBool_i_i19 = _71 < 0;
          var _72 = _node0 + 2;
          var _73 = _68 - _71;
          var _74 = _toBool_i_i19 ? _73 : _72;
          __ZL31_find_collision_pairs_recursiveP12btGImpactBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, _74, _node1, 0);
          STACKTOP = __stackBase__;
          return;
        }
      }
      else {
        ;
        ;
        if (_toBool9) {
          ;
          var _61 = _node1 + 1;
          __ZL31_find_collision_pairs_recursiveP12btGImpactBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, _node0, _61, 0);
          var _62 = IHEAP[_27];
          var _63 = _62+36*_61+32;
          var _64 = IHEAP[_63];
          var _toBool_i_i16 = _64 < 0;
          var _65 = _node1 + 2;
          var _66 = _61 - _64;
          var _67 = _toBool_i_i16 ? _66 : _65;
          __ZL31_find_collision_pairs_recursiveP12btGImpactBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, _node0, _67, 0);
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _58 = _0;
          IHEAP[_58] = _55;
          var _59 = _0+4;
          IHEAP[_59] = _57;
          var _60 = _collision_pairs;
          __ZN20btAlignedObjectArrayI8GIM_PAIRE9push_backERKS0_(_60, _0);
          STACKTOP = __stackBase__;
          return;
        }
      }
    }
  }
  __ZL31_find_collision_pairs_recursiveP12btGImpactBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib.__index__ = Runtime.getFunctionIndex(__ZL31_find_collision_pairs_recursiveP12btGImpactBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib, "__ZL31_find_collision_pairs_recursiveP12btGImpactBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib");
  
  
  function __ZNK12btGImpactBvh8rayQueryERK9btVector3S2_R20btAlignedObjectArrayIiE(_this, _ray_dir, _ray_origin, _collided_results) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _bound = __stackBase__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_bb11$11562: do { 
      if (_2) {
        ;
        var _3 = _this+4+12;
        var _4 = _bound;
        var _5 = _bound+4;
        var _6 = _bound+8;
        var _7 = _bound+12;
        var _8 = _bound+16;
        var _9 = _bound+16+4;
        var _10 = _bound+16+8;
        var _11 = _bound+16+12;
        var _12 = _collided_results+4;
        var _13 = _collided_results+8;
        var _14 = _collided_results+12;
        var _15 = _collided_results+16;
        __lastLabel__ = 130; ;
        _bb$11564: while(1) { // _bb
          var _curIndex_019 = __lastLabel__ == 130 ? 0 : (_curIndex_0_be);
          var _16 = IHEAP[_3];
          var _17 = _16+36*_curIndex_019;
          var _18 = FHEAP[_17];
          FHEAP[_4] = _18;
          var _19 = _16+36*_curIndex_019+4;
          var _20 = FHEAP[_19];
          FHEAP[_5] = _20;
          var _21 = _16+36*_curIndex_019+8;
          var _22 = FHEAP[_21];
          FHEAP[_6] = _22;
          var _23 = _16+36*_curIndex_019+12;
          var _24 = FHEAP[_23];
          FHEAP[_7] = _24;
          var _25 = _16+36*_curIndex_019+16;
          var _26 = FHEAP[_25];
          FHEAP[_8] = _26;
          var _27 = _16+36*_curIndex_019+16+4;
          var _28 = FHEAP[_27];
          FHEAP[_9] = _28;
          var _29 = _16+36*_curIndex_019+16+8;
          var _30 = FHEAP[_29];
          FHEAP[_10] = _30;
          var _31 = _16+36*_curIndex_019+16+12;
          var _32 = FHEAP[_31];
          FHEAP[_11] = _32;
          var _33 = __ZNK6btAABB11collide_rayERK9btVector3S2_(_bound, _ray_origin, _ray_dir);
          var _34 = _16+36*_curIndex_019+32;
          var _35 = IHEAP[_34];
          var _toBool = _35 < 0;
          var _toBool2 = _33 == 0;
          var _or_cond = _toBool | _toBool2;
          ;
          if (!_or_cond) {
            ;
            var _36 = IHEAP[_12];
            var _37 = IHEAP[_13];
            var _38 = _37 == _36;
            ;
            _bb_i$_bb1_i$11568: do { 
              if (_38) {
                __lastLabel__ = 116; ;
                var _39 = _36 == 0;
                var _40 = _36 << 1;
                var _iftmp_293_0_i_i = _39 ? 1 : _40;
                var _41 = _37 < _iftmp_293_0_i_i;
                if (_41) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$11568; }
                var _42 = _iftmp_293_0_i_i == 0;
                ;
                if (_42) {
                  __lastLabel__ = 263; ;
                }
                else {
                  __lastLabel__ = 263; ;
                  var _43 = _iftmp_293_0_i_i << 2;
                  var _44 = __Z22btAlignedAllocInternalji(_43, 16);
                  var _phitmp_i_i = _44;
                  var __pre_i = IHEAP[_12];
                  __lastLabel__ = 274; ;
                }
                var _45 = __lastLabel__ == 274 ? __pre_i : (_36);
                var _46 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
                var _47 = _45 > 0;
                if (_47) { __lastLabel__ = 2186; __label__ = 277; /* _bb_i4_i_i */  } else { __lastLabel__ = 2186; __label__ = 2187; /* __ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i */  }
                _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$11574: while(1) { // _bb_i4_i_i,__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i
                  if (__label__ == 277) {
                    var _indvar_i_i_i = __lastLabel__ == 279 ? _indvar_next_i_i_i : (0);
                    var _scevgep_i_i_i = _46+4*_indvar_i_i_i;
                    var _48 = _scevgep_i_i_i == 0;
                    ;
                    if (!_48) {
                      ;
                      var _49 = IHEAP[_14];
                      var _scevgep8_i_i_i = _49+4*_indvar_i_i_i;
                      var _50 = IHEAP[_scevgep8_i_i_i];
                      IHEAP[_scevgep_i_i_i] = _50;
                      ;
                    }
                    var _indvar_next_i_i_i = _indvar_i_i_i + 1;
                    var _exitcond = _indvar_next_i_i_i == _45;
                    if (_exitcond) { __lastLabel__ = 279; __label__ = 2187; /* __ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$11574; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$11574; }
                  }
                  else if (__label__ == 2187) {
                    var _51 = IHEAP[_14];
                    var _52 = _51 == 0;
                    if (_52) { __label__ = 2189; /* __ZN20btAlignedObjectArrayIiE10deallocateEv_exit_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$11574; } else { __label__ = 1387; /* _bb_i_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$11574; }
                  }
                }
                if (__label__ == 1387) {
                  var _53 = IHEAP[_15];
                  var _toBool_i_i_i = _53 == 0;
                  ;
                  if (!_toBool_i_i_i) {
                    ;
                    var _54 = _51;
                    __Z21btAlignedFreeInternalPv(_54);
                    ;
                  }
                  IHEAP[_14] = 0;
                  ;
                }
                IHEAP[_15] = 1;
                IHEAP[_14] = _46;
                IHEAP[_13] = _iftmp_293_0_i_i;
                var __pre5_i = IHEAP[_12];
                __lastLabel__ = 2189; ;
              }
              else {
                __lastLabel__ = 116; ;
              }
            } while(0);
            var _55 = __lastLabel__ == 2189 ? __pre5_i : (__lastLabel__ == 116 ? _36 : (_36));
            var _56 = IHEAP[_14];
            var _57 = _56+4*_55;
            var _58 = _57 == 0;
            ;
            if (_58) {
              __lastLabel__ = 159; ;
            }
            else {
              __lastLabel__ = 159; ;
              IHEAP[_57] = _35;
              var __pre6_i = IHEAP[_12];
              __lastLabel__ = 132; ;
            }
            var _59 = __lastLabel__ == 159 ? _55 : (__pre6_i);
            var _60 = _59 + 1;
            IHEAP[_12] = _60;
            ;
          }
          var _or_cond18 = _toBool2 & _toBool;
          ;
          if (_or_cond18) {
            ;
            var _63 = IHEAP[_3];
            var _64 = _63+36*_curIndex_019+32;
            var _65 = IHEAP[_64];
            var _66 = _curIndex_019 - _65;
            __lastLabel__ = 62; ;
          }
          else {
            ;
            var _61 = _curIndex_019 + 1;
            __lastLabel__ = 148; ;
          }
          var _curIndex_0_be = __lastLabel__ == 148 ? _61 : (_66);
          var _62 = _curIndex_0_be < _1;
          if (_62) { __lastLabel__ = 2196; __label__ = 60; /* _bb */ continue _bb$11564; } else { __lastLabel__ = 2196; __label__ = 292; /* _bb11 */ break _bb_nph$_bb11$11562; }
        }
      }
    } while(0);
    var _67 = _collided_results+4;
    var _68 = IHEAP[_67];
    var _69 = _68 > 0;
    var __0 = _69;
    STACKTOP = __stackBase__;
    return __0;
  }
  __ZNK12btGImpactBvh8rayQueryERK9btVector3S2_R20btAlignedObjectArrayIiE.__index__ = Runtime.getFunctionIndex(__ZNK12btGImpactBvh8rayQueryERK9btVector3S2_R20btAlignedObjectArrayIiE, "__ZNK12btGImpactBvh8rayQueryERK9btVector3S2_R20btAlignedObjectArrayIiE");
  
  
  function __ZNK12btGImpactBvh8boxQueryERK6btAABBR20btAlignedObjectArrayIiE(_this, _box, _collided_results) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_bb11$11598: do { 
      if (_2) {
        ;
        var _3 = _this+4+12;
        var _4 = _box+16;
        var _5 = _collided_results+4;
        var _6 = _collided_results+8;
        var _7 = _collided_results+12;
        var _8 = _collided_results+16;
        var _9 = _box;
        var _10 = _box+16+4;
        var _11 = _box+4;
        var _12 = _box+16+8;
        var _13 = _box+8;
        __lastLabel__ = 130; ;
        _bb$11600: while(1) { // _bb
          var _curIndex_026 = __lastLabel__ == 130 ? 0 : (_curIndex_0_be);
          var _14 = IHEAP[_3];
          var _15 = _14+36*_curIndex_026;
          var _16 = FHEAP[_15];
          var _17 = _14+36*_curIndex_026+4;
          var _18 = FHEAP[_17];
          var _19 = _14+36*_curIndex_026+8;
          var _20 = FHEAP[_19];
          var _21 = _14+36*_curIndex_026+16+4;
          var _22 = FHEAP[_21];
          var _23 = _14+36*_curIndex_026+16+8;
          var _24 = FHEAP[_23];
          var _25 = FHEAP[_4];
          var _26 = _16 > _25;
          ;
          __ZNK6btAABB13has_collisionERKS__exit_thread$_bb_i19$11602: do { 
            if (_26) {
              __label__ = 2197; /* __ZNK6btAABB13has_collisionERKS__exit_thread */ 
            }
            else {
              ;
              var _27 = _14+36*_curIndex_026+16;
              var _28 = FHEAP[_27];
              var _29 = FHEAP[_9];
              var _30 = _28 < _29;
              if (_30) { __label__ = 2197; /* __ZNK6btAABB13has_collisionERKS__exit_thread */ break __ZNK6btAABB13has_collisionERKS__exit_thread$_bb_i19$11602; }
              var _31 = FHEAP[_10];
              var _32 = _18 > _31;
              if (_32) { __label__ = 2197; /* __ZNK6btAABB13has_collisionERKS__exit_thread */ break __ZNK6btAABB13has_collisionERKS__exit_thread$_bb_i19$11602; }
              var _33 = FHEAP[_11];
              var _34 = _22 < _33;
              if (_34) { __label__ = 2197; /* __ZNK6btAABB13has_collisionERKS__exit_thread */ break __ZNK6btAABB13has_collisionERKS__exit_thread$_bb_i19$11602; }
              var _35 = FHEAP[_12];
              var _36 = _20 > _35;
              if (_36) { __label__ = 2197; /* __ZNK6btAABB13has_collisionERKS__exit_thread */ break __ZNK6btAABB13has_collisionERKS__exit_thread$_bb_i19$11602; }
              var _39 = FHEAP[_13];
              var _phitmp = _24 < _39;
              var _40 = _14+36*_curIndex_026+32;
              var _41 = IHEAP[_40];
              var _toBool = _41 < 0;
              var _or_cond = _toBool | _phitmp;
              if (_or_cond) { __lastLabel__ = 2200; __label__ = 61; /* _bb4 */ break __ZNK6btAABB13has_collisionERKS__exit_thread$_bb_i19$11602; } else { __lastLabel__ = 2200; ; }
              var _42 = IHEAP[_5];
              var _43 = IHEAP[_6];
              var _44 = _43 == _42;
              ;
              _bb_i$_bb1_i$11609: do { 
                if (_44) {
                  __lastLabel__ = 116; ;
                  var _45 = _42 == 0;
                  var _46 = _42 << 1;
                  var _iftmp_293_0_i_i = _45 ? 1 : _46;
                  var _47 = _43 < _iftmp_293_0_i_i;
                  if (_47) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$11609; }
                  var _48 = _iftmp_293_0_i_i == 0;
                  ;
                  if (_48) {
                    __lastLabel__ = 263; ;
                  }
                  else {
                    __lastLabel__ = 263; ;
                    var _49 = _iftmp_293_0_i_i << 2;
                    var _50 = __Z22btAlignedAllocInternalji(_49, 16);
                    var _phitmp_i_i = _50;
                    var __pre_i = IHEAP[_5];
                    __lastLabel__ = 274; ;
                  }
                  var _51 = __lastLabel__ == 274 ? __pre_i : (_42);
                  var _52 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
                  var _53 = _51 > 0;
                  if (_53) { __lastLabel__ = 2186; __label__ = 277; /* _bb_i4_i_i */  } else { __lastLabel__ = 2186; __label__ = 2187; /* __ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i */  }
                  _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$11615: while(1) { // _bb_i4_i_i,__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i
                    if (__label__ == 277) {
                      var _indvar_i_i_i = __lastLabel__ == 279 ? _indvar_next_i_i_i : (0);
                      var _scevgep_i_i_i = _52+4*_indvar_i_i_i;
                      var _54 = _scevgep_i_i_i == 0;
                      ;
                      if (!_54) {
                        ;
                        var _55 = IHEAP[_7];
                        var _scevgep8_i_i_i = _55+4*_indvar_i_i_i;
                        var _56 = IHEAP[_scevgep8_i_i_i];
                        IHEAP[_scevgep_i_i_i] = _56;
                        ;
                      }
                      var _indvar_next_i_i_i = _indvar_i_i_i + 1;
                      var _exitcond = _indvar_next_i_i_i == _51;
                      if (_exitcond) { __lastLabel__ = 279; __label__ = 2187; /* __ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$11615; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$11615; }
                    }
                    else if (__label__ == 2187) {
                      var _57 = IHEAP[_7];
                      var _58 = _57 == 0;
                      if (_58) { __label__ = 2189; /* __ZN20btAlignedObjectArrayIiE10deallocateEv_exit_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$11615; } else { __label__ = 1387; /* _bb_i_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$11615; }
                    }
                  }
                  if (__label__ == 1387) {
                    var _59 = IHEAP[_8];
                    var _toBool_i_i_i = _59 == 0;
                    ;
                    if (!_toBool_i_i_i) {
                      ;
                      var _60 = _57;
                      __Z21btAlignedFreeInternalPv(_60);
                      ;
                    }
                    IHEAP[_7] = 0;
                    ;
                  }
                  IHEAP[_8] = 1;
                  IHEAP[_7] = _52;
                  IHEAP[_6] = _iftmp_293_0_i_i;
                  var __pre5_i = IHEAP[_5];
                  __lastLabel__ = 2189; ;
                }
                else {
                  __lastLabel__ = 116; ;
                }
              } while(0);
              var _61 = __lastLabel__ == 2189 ? __pre5_i : (__lastLabel__ == 116 ? _42 : (_42));
              var _62 = IHEAP[_7];
              var _63 = _62+4*_61;
              var _64 = _63 == 0;
              ;
              if (_64) {
                __lastLabel__ = 159; ;
              }
              else {
                __lastLabel__ = 159; ;
                IHEAP[_63] = _41;
                var __pre6_i = IHEAP[_5];
                __lastLabel__ = 132; ;
              }
              var _65 = __lastLabel__ == 159 ? _61 : (__pre6_i);
              var _66 = _65 + 1;
              IHEAP[_5] = _66;
              __lastLabel__ = 2208; __label__ = 61; /* _bb4 */ break __ZNK6btAABB13has_collisionERKS__exit_thread$_bb_i19$11602;
            }
          } while(0);
          if (__label__ == 2197) {
            var _37 = _14+36*_curIndex_026+32;
            var _38 = IHEAP[_37];
            var _toBool27 = _38 < 0;
            __lastLabel__ = 2197; ;
          }
          var _toBool29 = __lastLabel__ == 2197 ? _toBool27 : (__lastLabel__ == 2200 ? _toBool : (_toBool));
          var _67 = __lastLabel__ == 2197 ? true : (__lastLabel__ == 2200 ? _phitmp : (_phitmp));
          var _or_cond18 = _67 & _toBool29;
          ;
          if (_or_cond18) {
            ;
            var _70 = IHEAP[_3];
            var _71 = _70+36*_curIndex_026+32;
            var _72 = IHEAP[_71];
            var _73 = _curIndex_026 - _72;
            __lastLabel__ = 62; ;
          }
          else {
            ;
            var _68 = _curIndex_026 + 1;
            __lastLabel__ = 148; ;
          }
          var _curIndex_0_be = __lastLabel__ == 148 ? _68 : (_73);
          var _69 = _curIndex_0_be < _1;
          if (_69) { __lastLabel__ = 2196; __label__ = 60; /* _bb */ continue _bb$11600; } else { __lastLabel__ = 2196; __label__ = 292; /* _bb11 */ break _bb_nph$_bb11$11598; }
        }
      }
    } while(0);
    var _74 = _collided_results+4;
    var _75 = IHEAP[_74];
    var _76 = _75 > 0;
    var __0 = _76;
    ;
    return __0;
  }
  __ZNK12btGImpactBvh8boxQueryERK6btAABBR20btAlignedObjectArrayIiE.__index__ = Runtime.getFunctionIndex(__ZNK12btGImpactBvh8boxQueryERK6btAABBR20btAlignedObjectArrayIiE, "__ZNK12btGImpactBvh8boxQueryERK6btAABBR20btAlignedObjectArrayIiE");
  
  
  function __ZN20btAlignedObjectArrayI12GIM_BVH_DATAE7reserveEi(_this, __Count) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+8;
    var _1 = IHEAP[_0];
    var _2 = _1 < __Count;
    ;
    if (_2) {
      ;
      var _3 = __Count == 0;
      ;
      if (_3) {
        __lastLabel__ = 60; ;
      }
      else {
        __lastLabel__ = 60; ;
        var _4 = __Count * 36;
        var _5 = __Z22btAlignedAllocInternalji(_4, 16);
        var _phitmp = _5;
        __lastLabel__ = 654; ;
      }
      var _6 = __lastLabel__ == 654 ? _phitmp : (0);
      var _7 = _this+4;
      var _8 = IHEAP[_7];
      var _9 = _8 > 0;
      ;
      _bb_nph_i$__ZNK20btAlignedObjectArrayI12GIM_BVH_DATAE4copyEiiPS0__exit$11646: do { 
        if (_9) {
          ;
          var _10 = _this+12;
          __lastLabel__ = 418; ;
          _bb_i4$11648: while(1) { // _bb_i4
            var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
            var _scevgep_i = _6+36*_indvar_i;
            var _11 = _scevgep_i == 0;
            ;
            if (!_11) {
              ;
              var _scevgep11_i = _6+36*_indvar_i+4;
              var _scevgep13_i = _6+36*_indvar_i+8;
              var _scevgep15_i = _6+36*_indvar_i+12;
              var _scevgep17_i = _6+36*_indvar_i+16;
              var _scevgep19_i = _6+36*_indvar_i+16+4;
              var _scevgep21_i = _6+36*_indvar_i+16+8;
              var _scevgep23_i = _6+36*_indvar_i+16+12;
              var _scevgep26_i = _6+36*_indvar_i+32;
              var _scevgep8_i = _6+36*_indvar_i;
              var _12 = IHEAP[_10];
              var _scevgep910_i = _12+36*_indvar_i;
              var _13 = FHEAP[_scevgep910_i];
              FHEAP[_scevgep8_i] = _13;
              var _scevgep12_i = _12+36*_indvar_i+4;
              var _14 = FHEAP[_scevgep12_i];
              FHEAP[_scevgep11_i] = _14;
              var _scevgep14_i = _12+36*_indvar_i+8;
              var _15 = FHEAP[_scevgep14_i];
              FHEAP[_scevgep13_i] = _15;
              var _scevgep16_i = _12+36*_indvar_i+12;
              var _16 = FHEAP[_scevgep16_i];
              FHEAP[_scevgep15_i] = _16;
              var _scevgep18_i = _12+36*_indvar_i+16;
              var _17 = FHEAP[_scevgep18_i];
              FHEAP[_scevgep17_i] = _17;
              var _scevgep20_i = _12+36*_indvar_i+16+4;
              var _18 = FHEAP[_scevgep20_i];
              FHEAP[_scevgep19_i] = _18;
              var _scevgep22_i = _12+36*_indvar_i+16+8;
              var _19 = FHEAP[_scevgep22_i];
              FHEAP[_scevgep21_i] = _19;
              var _scevgep24_i = _12+36*_indvar_i+16+12;
              var _20 = FHEAP[_scevgep24_i];
              FHEAP[_scevgep23_i] = _20;
              var _scevgep25_i = _12+36*_indvar_i+32;
              var _21 = IHEAP[_scevgep25_i];
              IHEAP[_scevgep26_i] = _21;
              ;
            }
            var _indvar_next_i = _indvar_i + 1;
            var _exitcond = _indvar_next_i == _8;
            if (_exitcond) { __lastLabel__ = 133; __label__ = 2212; /* __ZNK20btAlignedObjectArrayI12GIM_BVH_DATAE4copyEiiPS0__exit */ break _bb_nph_i$__ZNK20btAlignedObjectArrayI12GIM_BVH_DATAE4copyEiiPS0__exit$11646; } else { __lastLabel__ = 133; __label__ = 656; /* _bb_i4 */ continue _bb_i4$11648; }
          }
        }
      } while(0);
      var _22 = _this+12;
      var _23 = IHEAP[_22];
      var _24 = _23 == 0;
      ;
      if (!_24) {
        ;
        var _25 = _this+16;
        var _26 = IHEAP[_25];
        var _toBool_i = _26 == 0;
        ;
        if (!_toBool_i) {
          ;
          var _27 = _23;
          __Z21btAlignedFreeInternalPv(_27);
          ;
        }
        IHEAP[_22] = 0;
        ;
      }
      var _28 = _this+16;
      IHEAP[_28] = 1;
      IHEAP[_22] = _6;
      IHEAP[_0] = __Count;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN20btAlignedObjectArrayI12GIM_BVH_DATAE7reserveEi.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI12GIM_BVH_DATAE7reserveEi, "__ZN20btAlignedObjectArrayI12GIM_BVH_DATAE7reserveEi");
  
  
  function __ZN20btAlignedObjectArrayI17GIM_BVH_TREE_NODEE7reserveEi(_this, __Count) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+8;
    var _1 = IHEAP[_0];
    var _2 = _1 < __Count;
    ;
    if (_2) {
      ;
      var _3 = __Count == 0;
      ;
      if (_3) {
        __lastLabel__ = 60; ;
      }
      else {
        __lastLabel__ = 60; ;
        var _4 = __Count * 36;
        var _5 = __Z22btAlignedAllocInternalji(_4, 16);
        var _phitmp = _5;
        __lastLabel__ = 654; ;
      }
      var _6 = __lastLabel__ == 654 ? _phitmp : (0);
      var _7 = _this+4;
      var _8 = IHEAP[_7];
      var _9 = _8 > 0;
      ;
      _bb_nph_i$__ZNK20btAlignedObjectArrayI17GIM_BVH_TREE_NODEE4copyEiiPS0__exit$11667: do { 
        if (_9) {
          ;
          var _10 = _this+12;
          __lastLabel__ = 418; ;
          _bb_i4$11669: while(1) { // _bb_i4
            var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
            var _scevgep_i = _6+36*_indvar_i;
            var _11 = _scevgep_i == 0;
            ;
            if (!_11) {
              ;
              var _scevgep11_i = _6+36*_indvar_i+4;
              var _scevgep13_i = _6+36*_indvar_i+8;
              var _scevgep15_i = _6+36*_indvar_i+12;
              var _scevgep17_i = _6+36*_indvar_i+16;
              var _scevgep19_i = _6+36*_indvar_i+16+4;
              var _scevgep21_i = _6+36*_indvar_i+16+8;
              var _scevgep23_i = _6+36*_indvar_i+16+12;
              var _scevgep26_i = _6+36*_indvar_i+32;
              var _scevgep8_i = _6+36*_indvar_i;
              var _12 = IHEAP[_10];
              var _scevgep910_i = _12+36*_indvar_i;
              var _13 = FHEAP[_scevgep910_i];
              FHEAP[_scevgep8_i] = _13;
              var _scevgep12_i = _12+36*_indvar_i+4;
              var _14 = FHEAP[_scevgep12_i];
              FHEAP[_scevgep11_i] = _14;
              var _scevgep14_i = _12+36*_indvar_i+8;
              var _15 = FHEAP[_scevgep14_i];
              FHEAP[_scevgep13_i] = _15;
              var _scevgep16_i = _12+36*_indvar_i+12;
              var _16 = FHEAP[_scevgep16_i];
              FHEAP[_scevgep15_i] = _16;
              var _scevgep18_i = _12+36*_indvar_i+16;
              var _17 = FHEAP[_scevgep18_i];
              FHEAP[_scevgep17_i] = _17;
              var _scevgep20_i = _12+36*_indvar_i+16+4;
              var _18 = FHEAP[_scevgep20_i];
              FHEAP[_scevgep19_i] = _18;
              var _scevgep22_i = _12+36*_indvar_i+16+8;
              var _19 = FHEAP[_scevgep22_i];
              FHEAP[_scevgep21_i] = _19;
              var _scevgep24_i = _12+36*_indvar_i+16+12;
              var _20 = FHEAP[_scevgep24_i];
              FHEAP[_scevgep23_i] = _20;
              var _scevgep25_i = _12+36*_indvar_i+32;
              var _21 = IHEAP[_scevgep25_i];
              IHEAP[_scevgep26_i] = _21;
              ;
            }
            var _indvar_next_i = _indvar_i + 1;
            var _exitcond = _indvar_next_i == _8;
            if (_exitcond) { __lastLabel__ = 133; __label__ = 2217; /* __ZNK20btAlignedObjectArrayI17GIM_BVH_TREE_NODEE4copyEiiPS0__exit */ break _bb_nph_i$__ZNK20btAlignedObjectArrayI17GIM_BVH_TREE_NODEE4copyEiiPS0__exit$11667; } else { __lastLabel__ = 133; __label__ = 656; /* _bb_i4 */ continue _bb_i4$11669; }
          }
        }
      } while(0);
      var _22 = _this+12;
      var _23 = IHEAP[_22];
      var _24 = _23 == 0;
      ;
      if (!_24) {
        ;
        var _25 = _this+16;
        var _26 = IHEAP[_25];
        var _toBool_i = _26 == 0;
        ;
        if (!_toBool_i) {
          ;
          var _27 = _23;
          __Z21btAlignedFreeInternalPv(_27);
          ;
        }
        IHEAP[_22] = 0;
        ;
      }
      var _28 = _this+16;
      IHEAP[_28] = 1;
      IHEAP[_22] = _6;
      IHEAP[_0] = __Count;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN20btAlignedObjectArrayI17GIM_BVH_TREE_NODEE7reserveEi.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI17GIM_BVH_TREE_NODEE7reserveEi, "__ZN20btAlignedObjectArrayI17GIM_BVH_TREE_NODEE7reserveEi");
  
  
  function __ZN12btGImpactBvh8buildSetEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 20;
    var __label__;
    var __lastLabel__ = null;
    var _primitive_boxes = __stackBase__;
    var _0 = _primitive_boxes+16;
    IHEAP[_0] = 1;
    var _1 = _primitive_boxes+12;
    IHEAP[_1] = 0;
    var _2 = _primitive_boxes+4;
    IHEAP[_2] = 0;
    var _3 = _primitive_boxes+8;
    IHEAP[_3] = 0;
    var _4 = _this+24;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = IHEAP[_6];
    var _8 = _7+12;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_10](_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
    _invcont$_lpad$11692: do { 
      if (__label__ == 345) {
        var _12 = IHEAP[_2];
        var _13 = _12 < _11;
        ;
        if (_13) {
          ;
          var _14 = _primitive_boxes;
          (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI12GIM_BVH_DATAE7reserveEi(_14, _11) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$11692; }
        }
        IHEAP[_2] = _11;
        __lastLabel__ = 2222; ;
        _bb3$11697: while(1) { // _bb3
          var _24 = __lastLabel__ == 1102 ? __pre : (_11);
          var _25 = __lastLabel__ == 1102 ? _23 : (0);
          var _26 = _24 > _25;
          if (!(_26)) { __label__ = 61; /* _bb4 */ break _bb3$11697; }
          var _15 = IHEAP[_4];
          var _16 = _15;
          var _17 = IHEAP[_16];
          var _18 = _17+16;
          var _19 = IHEAP[_18];
          var _20 = IHEAP[_1];
          var _21 = _19;
          var _scevgep2930 = _20+36*_25;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_21](_15, _25, _scevgep2930) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$11692; }
          var _22 = IHEAP[_1];
          var _scevgep = _22+36*_25+32;
          IHEAP[_scevgep] = _25;
          var _23 = _25 + 1;
          var __pre = IHEAP[_2];
          __lastLabel__ = 1102; __label__ = 116; /* _bb3 */ continue _bb3$11697;
        }
        var _27 = _this;
        var _28 = _this;
        IHEAP[_28] = 0;
        var _29 = _24 << 1;
        var _30 = _this+4+4;
        var _31 = IHEAP[_30];
        var _32 = _31 < _29;
        ;
        if (_32) {
          __lastLabel__ = 61; ;
          var _33 = _this+4;
          (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI17GIM_BVH_TREE_NODEE7reserveEi(_33, _29) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$11692; }
          var _34 = _this+4+12;
          var _tmp27 = _29 - _31;
          __lastLabel__ = 2223; ;
          _bb7_i_i$11705: while(1) { // _bb7_i_i
            var _indvar_i_i = __lastLabel__ == 2223 ? 0 : (_indvar_next_i_i);
            var _tmp28 = _31 + _indvar_i_i;
            var _35 = IHEAP[_34];
            var _scevgep_i_i = _35+36*_tmp28;
            var _36 = _scevgep_i_i == 0;
            ;
            if (!_36) {
              ;
              var _scevgep27_i_i = _35+36*_tmp28+32;
              IHEAP[_scevgep27_i_i] = 0;
              ;
            }
            var _indvar_next_i_i = _indvar_i_i + 1;
            var _exitcond = _indvar_next_i_i == _tmp27;
            if (_exitcond) { __lastLabel__ = 446; __label__ = 2225; /* _bb9_loopexit */ break _bb7_i_i$11705; } else { __lastLabel__ = 446; __label__ = 444; /* _bb7_i_i */ continue _bb7_i_i$11705; }
          }
          var __pre32 = IHEAP[_2];
          __lastLabel__ = 2225; ;
        }
        else {
          __lastLabel__ = 61; ;
        }
        var _37 = __lastLabel__ == 2225 ? __pre32 : (_24);
        IHEAP[_30] = _29;
        __ZN9btBvhTree15_build_sub_treeER18GIM_BVH_DATA_ARRAYii(_27, _primitive_boxes, 0, _37);
        var _38 = IHEAP[_1];
        var _39 = _38 == 0;
        ;
        if (_39) {
          ;
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _40 = IHEAP[_0];
          var _toBool_i_i_i_i18 = _40 == 0;
          ;
          if (!_toBool_i_i_i_i18) {
            ;
            var _41 = _38;
            __Z21btAlignedFreeInternalPv(_41);
            ;
          }
          IHEAP[_1] = 0;
          STACKTOP = __stackBase__;
          return;
        }
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    var _42 = IHEAP[_1];
    var _43 = _42 == 0;
    ;
    if (!_43) {
      ;
      var _44 = IHEAP[_0];
      var _toBool_i_i_i_i = _44 == 0;
      ;
      _bb2_i_i_i_i$_bb1_i_i_i_i$11721: do { 
        if (!_toBool_i_i_i_i) {
          ;
          var _45 = _42;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_45) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3769; /* _bb2_i_i_i_i */ break _bb2_i_i_i_i$_bb1_i_i_i_i$11721; } else { ; }
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_1] = 0;
      ;
    }
    IHEAP[_0] = 1;
    IHEAP[_1] = 0;
    IHEAP[_2] = 0;
    IHEAP[_3] = 0;
    __Unwind_Resume_or_Rethrow(_eh_ptr);
    // unreachable
  }
  __ZN12btGImpactBvh8buildSetEv.__index__ = Runtime.getFunctionIndex(__ZN12btGImpactBvh8buildSetEv, "__ZN12btGImpactBvh8buildSetEv");
  
  
  function __ZN18GIM_ShapeRetriever19ChildShapeRetriever13getChildShapeEi(_this, _index) {
    ;
    var __label__;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = IHEAP[_4];
    var _6 = _5+120;
    var _7 = IHEAP[_6];
    var _8 = _7;
    var _9 = FUNCTION_TABLE[_8](_3, _index);
    ;
    return _9;
  }
  __ZN18GIM_ShapeRetriever19ChildShapeRetriever13getChildShapeEi.__index__ = Runtime.getFunctionIndex(__ZN18GIM_ShapeRetriever19ChildShapeRetriever13getChildShapeEi, "__ZN18GIM_ShapeRetriever19ChildShapeRetriever13getChildShapeEi");
  
  
  function __ZN27btGImpactCollisionAlgorithm15addContactPointEP17btCollisionObjectS1_RK9btVector3S4_f(_this, _body0, _body1, _point, _normal, _distance) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+16;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+8;
    var _5 = IHEAP[_4];
    var _6 = _this+24;
    var _7 = IHEAP[_6];
    var _8 = _this+28;
    var _9 = IHEAP[_8];
    var _10 = _5;
    FUNCTION_TABLE[_10](_1, _9, _7);
    var _11 = IHEAP[_0];
    var _12 = _11;
    var _13 = IHEAP[_12];
    var _14 = _13+12;
    var _15 = IHEAP[_14];
    var _16 = _this+32;
    var _17 = IHEAP[_16];
    var _18 = _this+36;
    var _19 = IHEAP[_18];
    var _20 = _15;
    FUNCTION_TABLE[_20](_11, _19, _17);
    var _21 = _this+12;
    var _22 = IHEAP[_21];
    var _23 = _22 == 0;
    ;
    if (_23) {
      __lastLabel__ = -1; ;
      var _24 = _this+4;
      var _25 = IHEAP[_24];
      var _26 = _25;
      var _27 = IHEAP[_26];
      var _28 = _27+12;
      var _29 = IHEAP[_28];
      var _30 = _29;
      var _31 = _body0;
      var _32 = _body1;
      var _33 = FUNCTION_TABLE[_30](_25, _31, _32);
      IHEAP[_21] = _33;
      __lastLabel__ = 131; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _34 = __lastLabel__ == 131 ? _33 : (_22);
    var _35 = IHEAP[_0];
    var _36 = _35+4;
    IHEAP[_36] = _34;
    var _37 = IHEAP[_0];
    var _38 = _37;
    var _39 = IHEAP[_38];
    var _40 = _39+16;
    var _41 = IHEAP[_40];
    var _42 = _41;
    FUNCTION_TABLE[_42](_37, _normal, _point, _distance);
    ;
    return;
  }
  __ZN27btGImpactCollisionAlgorithm15addContactPointEP17btCollisionObjectS1_RK9btVector3S4_f.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithm15addContactPointEP17btCollisionObjectS1_RK9btVector3S4_f, "__ZN27btGImpactCollisionAlgorithm15addContactPointEP17btCollisionObjectS1_RK9btVector3S4_f");
  
  
  function __ZN27btGImpactCollisionAlgorithm24shape_vs_shape_collisionEP17btCollisionObjectS1_P16btCollisionShapeS3_(_this, _body0, _body1, _shape0, _shape1) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _body0+192;
    var _1 = IHEAP[_0];
    var _2 = _body1+192;
    var _3 = IHEAP[_2];
    IHEAP[_0] = _shape0;
    IHEAP[_2] = _shape1;
    var _4 = _this+12;
    var _5 = IHEAP[_4];
    var _6 = _5 == 0;
    ;
    if (_6) {
      __lastLabel__ = -1; ;
      var _7 = _this+4;
      var _8 = IHEAP[_7];
      var _9 = _8;
      var _10 = IHEAP[_9];
      var _11 = _10+12;
      var _12 = IHEAP[_11];
      var _13 = _12;
      var _14 = _body0;
      var _15 = _body1;
      var _16 = FUNCTION_TABLE[_13](_8, _14, _15);
      IHEAP[_4] = _16;
      __lastLabel__ = 263; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _17 = __lastLabel__ == 263 ? _16 : (_5);
    var _18 = _this+16;
    var _19 = IHEAP[_18];
    var _20 = _19+4;
    IHEAP[_20] = _17;
    var _21 = _this+4;
    var _22 = IHEAP[_21];
    var _23 = _22;
    var _24 = IHEAP[_23];
    var _25 = _24+8;
    var _26 = IHEAP[_25];
    var _27 = IHEAP[_4];
    var _28 = _26;
    var _29 = FUNCTION_TABLE[_28](_22, _body0, _body1, _27);
    var _30 = IHEAP[_18];
    var _31 = _30;
    var _32 = IHEAP[_31];
    var _33 = _32+8;
    var _34 = IHEAP[_33];
    var _35 = _this+24;
    var _36 = IHEAP[_35];
    var _37 = _this+28;
    var _38 = IHEAP[_37];
    var _39 = _34;
    FUNCTION_TABLE[_39](_30, _38, _36);
    var _40 = IHEAP[_18];
    var _41 = _40;
    var _42 = IHEAP[_41];
    var _43 = _42+12;
    var _44 = IHEAP[_43];
    var _45 = _this+32;
    var _46 = IHEAP[_45];
    var _47 = _this+36;
    var _48 = IHEAP[_47];
    var _49 = _44;
    FUNCTION_TABLE[_49](_40, _48, _46);
    var _50 = _29;
    var _51 = IHEAP[_50];
    var _52 = _51+8;
    var _53 = IHEAP[_52];
    var _54 = IHEAP[_18];
    var _55 = _this+20;
    var _56 = IHEAP[_55];
    var _57 = _53;
    FUNCTION_TABLE[_57](_29, _body0, _body1, _56, _54);
    var _58 = IHEAP[_50];
    var _59 = IHEAP[_58];
    var _60 = _59;
    FUNCTION_TABLE[_60](_29);
    var _61 = IHEAP[_21];
    var _62 = _61;
    var _63 = IHEAP[_62];
    var _64 = _63+52;
    var _65 = IHEAP[_64];
    var _66 = _65;
    var _67 = _29;
    FUNCTION_TABLE[_66](_61, _67);
    IHEAP[_0] = _1;
    IHEAP[_2] = _3;
    ;
    return;
  }
  __ZN27btGImpactCollisionAlgorithm24shape_vs_shape_collisionEP17btCollisionObjectS1_P16btCollisionShapeS3_.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithm24shape_vs_shape_collisionEP17btCollisionObjectS1_P16btCollisionShapeS3_, "__ZN27btGImpactCollisionAlgorithm24shape_vs_shape_collisionEP17btCollisionObjectS1_P16btCollisionShapeS3_");
  
  
  function __ZN27btGImpactCollisionAlgorithm26convex_vs_convex_collisionEP17btCollisionObjectS1_P16btCollisionShapeS3_(_this, _body0, _body1, _shape0, _shape1) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _body0+192;
    var _1 = IHEAP[_0];
    var _2 = _body1+192;
    var _3 = IHEAP[_2];
    IHEAP[_0] = _shape0;
    IHEAP[_2] = _shape1;
    var _4 = _this+16;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = IHEAP[_6];
    var _8 = _7+8;
    var _9 = IHEAP[_8];
    var _10 = _this+24;
    var _11 = IHEAP[_10];
    var _12 = _this+28;
    var _13 = IHEAP[_12];
    var _14 = _9;
    FUNCTION_TABLE[_14](_5, _13, _11);
    var _15 = IHEAP[_4];
    var _16 = _15;
    var _17 = IHEAP[_16];
    var _18 = _17+12;
    var _19 = IHEAP[_18];
    var _20 = _this+32;
    var _21 = IHEAP[_20];
    var _22 = _this+36;
    var _23 = IHEAP[_22];
    var _24 = _19;
    FUNCTION_TABLE[_24](_15, _23, _21);
    var _25 = _this+8;
    var _26 = IHEAP[_25];
    var _27 = _26 == 0;
    ;
    if (_27) {
      __lastLabel__ = -1; ;
      var _28 = _this+12;
      var _29 = IHEAP[_28];
      var _30 = _29 == 0;
      ;
      if (_30) {
        __lastLabel__ = 131; ;
        var _31 = _this+4;
        var _32 = IHEAP[_31];
        var _33 = _32;
        var _34 = IHEAP[_33];
        var _35 = _34+12;
        var _36 = IHEAP[_35];
        var _37 = _36;
        var _38 = _body0;
        var _39 = _body1;
        var _40 = FUNCTION_TABLE[_37](_32, _38, _39);
        IHEAP[_28] = _40;
        __lastLabel__ = 1387; ;
      }
      else {
        __lastLabel__ = 131; ;
      }
      var _41 = __lastLabel__ == 1387 ? _40 : (_29);
      var _42 = IHEAP[_4];
      var _43 = _42+4;
      IHEAP[_43] = _41;
      var _44 = _this+4;
      var _45 = IHEAP[_44];
      var _46 = _45;
      var _47 = IHEAP[_46];
      var _48 = _47+8;
      var _49 = IHEAP[_48];
      var _50 = IHEAP[_28];
      var _51 = _49;
      var _52 = FUNCTION_TABLE[_51](_45, _body0, _body1, _50);
      IHEAP[_25] = _52;
      __lastLabel__ = 2232; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _53 = __lastLabel__ == -1 ? _26 : (_52);
    var _54 = _53;
    var _55 = IHEAP[_54];
    var _56 = _55+8;
    var _57 = IHEAP[_56];
    var _58 = IHEAP[_4];
    var _59 = _this+20;
    var _60 = IHEAP[_59];
    var _61 = _57;
    FUNCTION_TABLE[_61](_53, _body0, _body1, _60, _58);
    IHEAP[_0] = _1;
    IHEAP[_2] = _3;
    ;
    return;
  }
  __ZN27btGImpactCollisionAlgorithm26convex_vs_convex_collisionEP17btCollisionObjectS1_P16btCollisionShapeS3_.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithm26convex_vs_convex_collisionEP17btCollisionObjectS1_P16btCollisionShapeS3_, "__ZN27btGImpactCollisionAlgorithm26convex_vs_convex_collisionEP17btCollisionObjectS1_P16btCollisionShapeS3_");
  
  
  function __ZN27btGImpactCollisionAlgorithm37gimpacttrimeshpart_vs_plane_collisionEP17btCollisionObjectS1_P22btGImpactMeshShapePartP18btStaticPlaneShapeb(_this, _body0, _body1, _shape0, _shape1, _swapped) {
    var __stackBase__  = STACKTOP; STACKTOP += 144;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _orgtrans0 = __stackBase__+16;
    var _plane = __stackBase__+80;
    var _tribox = __stackBase__+96;
    var _vertex = __stackBase__+128;
    var _1 = _orgtrans0;
    var _2 = _body0+4;
    var _3 = FHEAP[_2];
    FHEAP[_1] = _3;
    var _4 = _orgtrans0+4;
    var _5 = _body0+4+4;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _orgtrans0+8;
    var _8 = _body0+4+8;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _orgtrans0+12;
    var _11 = _body0+4+12;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _orgtrans0+16;
    var _14 = _body0+4+16;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    var _16 = _orgtrans0+16+4;
    var _17 = _body0+4+16+4;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _orgtrans0+16+8;
    var _20 = _body0+4+16+8;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _orgtrans0+16+12;
    var _23 = _body0+4+16+12;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    var _25 = _orgtrans0+32;
    var _26 = _body0+4+32;
    var _27 = FHEAP[_26];
    FHEAP[_25] = _27;
    var _28 = _orgtrans0+32+4;
    var _29 = _body0+4+32+4;
    var _30 = FHEAP[_29];
    FHEAP[_28] = _30;
    var _31 = _orgtrans0+32+8;
    var _32 = _body0+4+32+8;
    var _33 = FHEAP[_32];
    FHEAP[_31] = _33;
    var _34 = _orgtrans0+32+12;
    var _35 = _body0+4+32+12;
    var _36 = FHEAP[_35];
    FHEAP[_34] = _36;
    var _37 = _orgtrans0+48;
    var _38 = _body0+4+48;
    var _39 = FHEAP[_38];
    FHEAP[_37] = _39;
    var _40 = _orgtrans0+48+4;
    var _41 = _body0+4+48+4;
    var _42 = FHEAP[_41];
    FHEAP[_40] = _42;
    var _43 = _orgtrans0+48+8;
    var _44 = _body0+4+48+8;
    var _45 = FHEAP[_44];
    FHEAP[_43] = _45;
    var _46 = _orgtrans0+48+12;
    var _47 = _body0+4+48+12;
    var _48 = FHEAP[_47];
    FHEAP[_46] = _48;
    var _49 = _body1+4;
    var _50 = FHEAP[_49];
    var _51 = _body1+4+4;
    var _52 = FHEAP[_51];
    var _53 = _body1+4+8;
    var _54 = FHEAP[_53];
    var _55 = _body1+4+16;
    var _56 = FHEAP[_55];
    var _57 = _body1+4+16+4;
    var _58 = FHEAP[_57];
    var _59 = _body1+4+16+8;
    var _60 = FHEAP[_59];
    var _61 = _body1+4+32;
    var _62 = FHEAP[_61];
    var _63 = _body1+4+32+4;
    var _64 = FHEAP[_63];
    var _65 = _body1+4+32+8;
    var _66 = FHEAP[_65];
    var _67 = _body1+4+48;
    var _68 = FHEAP[_67];
    var _69 = _body1+4+48+4;
    var _70 = FHEAP[_69];
    var _71 = _body1+4+48+8;
    var _72 = FHEAP[_71];
    var _73 = _plane;
    var _74 = _shape1+48;
    var _75 = FHEAP[_74];
    var _76 = _50 * _75;
    var _77 = _shape1+48+4;
    var _78 = FHEAP[_77];
    var _79 = _52 * _78;
    var _80 = _76 + _79;
    var _81 = _shape1+48+8;
    var _82 = FHEAP[_81];
    var _83 = _54 * _82;
    var _84 = _80 + _83;
    FHEAP[_73] = _84;
    var _85 = _56 * _75;
    var _86 = _58 * _78;
    var _87 = _85 + _86;
    var _88 = _60 * _82;
    var _89 = _87 + _88;
    var _90 = _plane+4;
    FHEAP[_90] = _89;
    var _91 = _62 * _75;
    var _92 = _64 * _78;
    var _93 = _91 + _92;
    var _94 = _66 * _82;
    var _95 = _93 + _94;
    var _96 = _plane+8;
    FHEAP[_96] = _95;
    var _97 = _68 * _75;
    var _98 = _70 * _78;
    var _99 = _97 + _98;
    var _100 = _72 * _82;
    var _101 = _99 + _100;
    var _102 = _shape1+64;
    var _103 = FHEAP[_102];
    var _104 = _101 + _103;
    var _105 = _plane+12;
    FHEAP[_105] = _104;
    var _106 = _shape0;
    var _107 = IHEAP[_106];
    var _108 = _107+8;
    var _109 = IHEAP[_108];
    var _110 = _shape0;
    var _111 = _109;
    var _112 = _tribox;
    var _113 = _tribox+16;
    FUNCTION_TABLE[_111](_110, _orgtrans0, _112, _113);
    var _114 = _shape1;
    var _115 = IHEAP[_114];
    var _116 = _115+44;
    var _117 = IHEAP[_116];
    var _118 = _shape1;
    var _119 = _117;
    var _120 = FUNCTION_TABLE[_119](_118);
    var _121 = _tribox;
    var _122 = FHEAP[_121];
    var _123 = _122 - _120;
    FHEAP[_121] = _123;
    var _124 = _tribox+4;
    var _125 = FHEAP[_124];
    var _126 = _125 - _120;
    FHEAP[_124] = _126;
    var _127 = _tribox+8;
    var _128 = FHEAP[_127];
    var _129 = _128 - _120;
    FHEAP[_127] = _129;
    var _130 = _tribox+16;
    var _131 = FHEAP[_130];
    var _132 = _131 + _120;
    FHEAP[_130] = _132;
    var _133 = _tribox+16+4;
    var _134 = FHEAP[_133];
    var _135 = _134 + _120;
    FHEAP[_133] = _135;
    var _136 = _tribox+16+8;
    var _137 = FHEAP[_136];
    var _138 = _137 + _120;
    FHEAP[_136] = _138;
    var _139 = _138 + _129;
    var _140 = _135 + _126;
    var _141 = _132 + _123;
    var _142 = _139 * 0.5;
    var _143 = _140 * 0.5;
    var _144 = _141 * 0.5;
    var _145 = _138 - _142;
    var _146 = _135 - _143;
    var _147 = _132 - _144;
    var _148 = FHEAP[_73];
    var _149 = _148 * _144;
    var _150 = FHEAP[_90];
    var _151 = _150 * _143;
    var _152 = _149 + _151;
    var _153 = FHEAP[_96];
    var _154 = _153 * _142;
    var _155 = _152 + _154;
    var _156 = _fabsf(_153);
    var _157 = _fabsf(_150);
    var _158 = _fabsf(_148);
    var _159 = _147 * _158;
    var _160 = _146 * _157;
    var _161 = _159 + _160;
    var _162 = _145 * _156;
    var _163 = _161 + _162;
    var _164 = _155 + _163;
    var _165 = FHEAP[_105];
    var _166 = _164 + 9.999999974752427e-7;
    var _167 = _165 > _166;
    ;
    _return$__ZNK6btAABB14plane_classifyERK9btVector4_exit$11754: do { 
      if (!_167) {
        ;
        var _168 = _155 - _163;
        var _169 = _165 + 9.999999974752427e-7;
        var _not_ = _169 < _168;
        if (_not_) { __label__ = 44; /* _return */ break _return$__ZNK6btAABB14plane_classifyERK9btVector4_exit$11754; }
        var _170 = IHEAP[_106];
        var _171 = _170+108;
        var _172 = IHEAP[_171];
        var _173 = _172;
        FUNCTION_TABLE[_173](_shape0);
        var _174 = IHEAP[_106];
        var _175 = _174+44;
        var _176 = IHEAP[_175];
        var _177 = _176;
        var _178 = FUNCTION_TABLE[_177](_shape0);
        var _179 = IHEAP[_114];
        var _180 = _179+44;
        var _181 = IHEAP[_180];
        var _182 = _181;
        var _183 = FUNCTION_TABLE[_182](_118);
        var _184 = _178 + _183;
        var _185 = _shape0+144+40;
        var _186 = IHEAP[_185];
        var _187 = _186 == 0;
        ;
        _bb8$_bb_nph$11757: do { 
          if (!_187) {
            ;
            var _188 = _shape0+144+44;
            var _189 = _shape0+144+36;
            var _190 = _shape0+144+48;
            var _191 = _vertex;
            var _192 = _shape0+144+12;
            var _193 = _shape0+144+12+4;
            var _194 = _vertex+4;
            var _195 = _shape0+144+12+8;
            var _196 = _vertex+8;
            var _197 = _vertex+12;
            var _toBool3 = _swapped == 0;
            var _198 = _plane;
            var _199 = _this+16;
            var _200 = _this+24;
            var _201 = _this+28;
            var _202 = _this+32;
            var _203 = _this+36;
            var _204 = _this+12;
            var _205 = _this+4;
            var _206 = _body0;
            var _207 = _body1;
            var _208 = _0;
            var _209 = _0+4;
            var _210 = _0+8;
            var _211 = _0+12;
            var _tmp19 = _186 + -1;
            __lastLabel__ = 130; ;
            _bb1$11759: while(1) { // _bb1
              var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
              var _tmp20 = _tmp19 - _indvar;
              var _212 = IHEAP[_188];
              var _213 = _212 == 1;
              var _214 = IHEAP[_189];
              var _215 = IHEAP[_190];
              var _216 = _215 * _tmp20;
              var _217 = _214+_216;
              ;
              if (_213) {
                ;
                var _218 = _217;
                var _219 = FHEAP[_218];
                var _220 = FHEAP[_192];
                var _221 = _220;
                var _222 = _219 * _221;
                var _223 = _222;
                FHEAP[_191] = _223;
                var __sum4_i_i = _216 + 8;
                var _224 = _214+__sum4_i_i;
                var _225 = _224;
                var _226 = FHEAP[_225];
                var _227 = FHEAP[_193];
                var _228 = _227;
                var _229 = _226 * _228;
                var _230 = _229;
                FHEAP[_194] = _230;
                var __sum5_i_i = _216 + 16;
                var _231 = _214+__sum5_i_i;
                var _232 = _231;
                var _233 = FHEAP[_232];
                var _234 = FHEAP[_195];
                var _235 = _234;
                var _236 = _233 * _235;
                var _237 = _236;
                __lastLabel__ = 2234; ;
              }
              else {
                ;
                var _238 = _217;
                var _239 = FHEAP[_238];
                var _240 = FHEAP[_192];
                var _241 = _239 * _240;
                FHEAP[_191] = _241;
                var __sum_i_i = _216 + 4;
                var _242 = _214+__sum_i_i;
                var _243 = _242;
                var _244 = FHEAP[_243];
                var _245 = FHEAP[_193];
                var _246 = _244 * _245;
                FHEAP[_194] = _246;
                var __sum3_i_i = _216 + 8;
                var _247 = _214+__sum3_i_i;
                var _248 = _247;
                var _249 = FHEAP[_248];
                var _250 = FHEAP[_195];
                var _251 = _249 * _250;
                __lastLabel__ = 265; ;
              }
              var _252 = __lastLabel__ == 265 ? _251 : (_237);
              var _253 = __lastLabel__ == 265 ? _246 : (_230);
              var _254 = __lastLabel__ == 265 ? _241 : (_223);
              var _255 = FHEAP[_25];
              var _256 = _255 * _254;
              var _257 = FHEAP[_28];
              var _258 = _257 * _253;
              var _259 = _256 + _258;
              var _260 = FHEAP[_31];
              var _261 = _260 * _252;
              var _262 = _259 + _261;
              var _263 = FHEAP[_43];
              var _264 = _262 + _263;
              var _265 = FHEAP[_13];
              var _266 = _265 * _254;
              var _267 = FHEAP[_16];
              var _268 = _267 * _253;
              var _269 = _266 + _268;
              var _270 = FHEAP[_19];
              var _271 = _270 * _252;
              var _272 = _269 + _271;
              var _273 = FHEAP[_40];
              var _274 = _272 + _273;
              var _275 = FHEAP[_1];
              var _276 = _275 * _254;
              var _277 = FHEAP[_4];
              var _278 = _277 * _253;
              var _279 = _276 + _278;
              var _280 = FHEAP[_7];
              var _281 = _280 * _252;
              var _282 = _279 + _281;
              var _283 = FHEAP[_37];
              var _284 = _282 + _283;
              FHEAP[_191] = _284;
              FHEAP[_194] = _274;
              FHEAP[_196] = _264;
              FHEAP[_197] = 0;
              var _285 = FHEAP[_73];
              var _286 = _284 * _285;
              var _287 = FHEAP[_90];
              var _288 = _274 * _287;
              var _289 = _286 + _288;
              var _290 = FHEAP[_96];
              var _291 = _264 * _290;
              var _292 = _289 + _291;
              var _293 = FHEAP[_105];
              var _294 = _292 - _293;
              var _295 = _294 - _184;
              var _296 = _295 < 0;
              ;
              if (_296) {
                ;
                ;
                if (_toBool3) {
                  ;
                  var _334 = IHEAP[_199];
                  var _335 = _334;
                  var _336 = IHEAP[_335];
                  var _337 = _336+8;
                  var _338 = IHEAP[_337];
                  var _339 = IHEAP[_200];
                  var _340 = IHEAP[_201];
                  var _341 = _338;
                  FUNCTION_TABLE[_341](_334, _340, _339);
                  var _342 = IHEAP[_199];
                  var _343 = _342;
                  var _344 = IHEAP[_343];
                  var _345 = _344+12;
                  var _346 = IHEAP[_345];
                  var _347 = IHEAP[_202];
                  var _348 = IHEAP[_203];
                  var _349 = _346;
                  FUNCTION_TABLE[_349](_342, _348, _347);
                  var _350 = IHEAP[_204];
                  var _351 = _350 == 0;
                  ;
                  if (_351) {
                    __lastLabel__ = 82; ;
                    var _352 = IHEAP[_205];
                    var _353 = _352;
                    var _354 = IHEAP[_353];
                    var _355 = _354+12;
                    var _356 = IHEAP[_355];
                    var _357 = _356;
                    var _358 = FUNCTION_TABLE[_357](_352, _206, _207);
                    IHEAP[_204] = _358;
                    __lastLabel__ = 263; ;
                  }
                  else {
                    __lastLabel__ = 82; ;
                  }
                  var _359 = __lastLabel__ == 263 ? _358 : (_350);
                  var _360 = IHEAP[_199];
                  var _361 = _360+4;
                  IHEAP[_361] = _359;
                  var _362 = IHEAP[_199];
                  var _363 = _362;
                  var _364 = IHEAP[_363];
                  var _365 = _364+16;
                  var _366 = IHEAP[_365];
                  var _367 = _366;
                  FUNCTION_TABLE[_367](_362, _198, _vertex, _295);
                  ;
                }
                else {
                  ;
                  var _297 = 0 - _290;
                  var _298 = 0 - _287;
                  var _299 = 0 - _285;
                  FHEAP[_208] = _299;
                  FHEAP[_209] = _298;
                  FHEAP[_210] = _297;
                  FHEAP[_211] = 0;
                  var _300 = IHEAP[_199];
                  var _301 = _300;
                  var _302 = IHEAP[_301];
                  var _303 = _302+8;
                  var _304 = IHEAP[_303];
                  var _305 = IHEAP[_200];
                  var _306 = IHEAP[_201];
                  var _307 = _304;
                  FUNCTION_TABLE[_307](_300, _306, _305);
                  var _308 = IHEAP[_199];
                  var _309 = _308;
                  var _310 = IHEAP[_309];
                  var _311 = _310+12;
                  var _312 = IHEAP[_311];
                  var _313 = IHEAP[_202];
                  var _314 = IHEAP[_203];
                  var _315 = _312;
                  FUNCTION_TABLE[_315](_308, _314, _313);
                  var _316 = IHEAP[_204];
                  var _317 = _316 == 0;
                  ;
                  if (_317) {
                    __lastLabel__ = 61; ;
                    var _318 = IHEAP[_205];
                    var _319 = _318;
                    var _320 = IHEAP[_319];
                    var _321 = _320+12;
                    var _322 = IHEAP[_321];
                    var _323 = _322;
                    var _324 = FUNCTION_TABLE[_323](_318, _207, _206);
                    IHEAP[_204] = _324;
                    __lastLabel__ = 2237; ;
                  }
                  else {
                    __lastLabel__ = 61; ;
                  }
                  var _325 = __lastLabel__ == 2237 ? _324 : (_316);
                  var _326 = IHEAP[_199];
                  var _327 = _326+4;
                  IHEAP[_327] = _325;
                  var _328 = IHEAP[_199];
                  var _329 = _328;
                  var _330 = IHEAP[_329];
                  var _331 = _330+16;
                  var _332 = IHEAP[_331];
                  var _333 = _332;
                  FUNCTION_TABLE[_333](_328, _0, _vertex, _295);
                  ;
                }
              }
              var _indvar_next = _indvar + 1;
              var _exitcond = _indvar_next == _186;
              if (_exitcond) { __lastLabel__ = 2236; __label__ = 148; /* _bb8 */ break _bb8$_bb_nph$11757; } else { __lastLabel__ = 2236; __label__ = 75; /* _bb1 */ continue _bb1$11759; }
            }
          }
        } while(0);
        var _368 = IHEAP[_106];
        var _369 = _368+112;
        var _370 = IHEAP[_369];
        var _371 = _370;
        FUNCTION_TABLE[_371](_shape0);
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN27btGImpactCollisionAlgorithm37gimpacttrimeshpart_vs_plane_collisionEP17btCollisionObjectS1_P22btGImpactMeshShapePartP18btStaticPlaneShapeb.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithm37gimpacttrimeshpart_vs_plane_collisionEP17btCollisionObjectS1_P22btGImpactMeshShapePartP18btStaticPlaneShapeb, "__ZN27btGImpactCollisionAlgorithm37gimpacttrimeshpart_vs_plane_collisionEP17btCollisionObjectS1_P22btGImpactMeshShapePartP18btStaticPlaneShapeb");
  
  
  function __ZN25btGImpactTriangleCallback15processTriangleEP9btVector3ii(_this, _triangle, _partId, _triangleIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 100;
    var __label__;
    var _tri1 = __stackBase__;
    var _0 = _tri1;
    __ZN23btPolyhedralConvexShapeC2Ev(_0);
    var _1 = _tri1;
    var _2 = _tri1+4;
    IHEAP[_2] = 1;
    var _3 = _tri1+52;
    var _4 = _triangle;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _tri1+52+4;
    var _7 = _triangle+4;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _tri1+52+8;
    var _10 = _triangle+8;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _tri1+52+12;
    var _13 = _triangle+12;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _tri1+52+16;
    var _16 = _triangle+16;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _tri1+52+16+4;
    var _19 = _triangle+16+4;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _tri1+52+16+8;
    var _22 = _triangle+16+8;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    var _24 = _tri1+52+16+12;
    var _25 = _triangle+16+12;
    var _26 = FHEAP[_25];
    FHEAP[_24] = _26;
    var _27 = _tri1+52+32;
    var _28 = _triangle+32;
    var _29 = FHEAP[_28];
    FHEAP[_27] = _29;
    var _30 = _tri1+52+32+4;
    var _31 = _triangle+32+4;
    var _32 = FHEAP[_31];
    FHEAP[_30] = _32;
    var _33 = _tri1+52+32+8;
    var _34 = _triangle+32+8;
    var _35 = FHEAP[_34];
    FHEAP[_33] = _35;
    var _36 = _tri1+52+32+12;
    var _37 = _triangle+32+12;
    var _38 = FHEAP[_37];
    FHEAP[_36] = _38;
    IHEAP[_1] = __ZTV17btTriangleShapeEx+8;
    var _39 = _this+24;
    var _40 = FHEAP[_39];
    var _41 = _tri1+44;
    FHEAP[_41] = _40;
    var _42 = _this+20;
    var _43 = IHEAP[_42];
    var _toBool = _43 == 0;
    var _44 = _this+4;
    var _45 = IHEAP[_44];
    ;
    if (_toBool) {
      ;
      var _49 = _45+36;
      IHEAP[_49] = _partId;
      var _50 = IHEAP[_44];
      var _51 = _50+32;
      IHEAP[_51] = _triangleIndex;
      ;
    }
    else {
      ;
      var _46 = _45+28;
      IHEAP[_46] = _partId;
      var _47 = IHEAP[_44];
      var _48 = _47+24;
      IHEAP[_48] = _triangleIndex;
      ;
    }
    var _52 = IHEAP[_42];
    var _53 = _this+16;
    var _54 = IHEAP[_53];
    var _55 = _this+12;
    var _56 = IHEAP[_55];
    var _57 = _this+8;
    var _58 = IHEAP[_57];
    var _59 = IHEAP[_44];
    var _60 = _tri1;
    (function() { try { __THREW__ = false; return __ZN27btGImpactCollisionAlgorithm16gimpact_vs_shapeEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP16btCollisionShapeb(_59, _58, _56, _54, _60, _52) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 83; /* _bb6 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 83) {
      IHEAP[_1] = __ZTV21btConvexInternalShape+8;
      var _61 = _tri1;
      __ZN13btConvexShapeD2Ev(_61);
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_1] = __ZTV21btConvexInternalShape+8;
      var _62 = _tri1;
      (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_62) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 514; /* _invcont4 */  } else { __label__ = 3761; /* _lpad9 */  }
      if (__label__ == 514) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3761) {
        var _eh_ptr10 = _llvm_eh_exception();
        var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZN25btGImpactTriangleCallback15processTriangleEP9btVector3ii.__index__ = Runtime.getFunctionIndex(__ZN25btGImpactTriangleCallback15processTriangleEP9btVector3ii, "__ZN25btGImpactTriangleCallback15processTriangleEP9btVector3ii");
  
  
  function __ZN27btGImpactCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_this, _ci, _body0, _body1) {
    ;
    var __label__;
    var _0 = _ci;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+48;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1, 40);
    var _8 = _7 == 0;
    ;
    if (!_8) {
      ;
      var _9 = _7;
      (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_(_9, _ci, _body0, _body1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3943; /* __ZN27btGImpactCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4__exit */  } else { __label__ = 254; /* _lpad */  }
      if (__label__ == 3943) {
        var _10 = _7;
        IHEAP[_10] = __ZTV27btGImpactCollisionAlgorithm+8;
        var _11 = _7+12;
        var _12 = _11;
        IHEAP[_12] = 0;
        var _13 = _7+8;
        var _14 = _13;
        IHEAP[_14] = 0;
        ;
      }
      else if (__label__ == 254) {
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select7 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    }
    var _iftmp_367_0 = _7;
    ;
    return _iftmp_367_0;
  }
  __ZN27btGImpactCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, "__ZN27btGImpactCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_");
  
  
  function __ZN27btGImpactCollisionAlgorithm17registerAlgorithmEP21btCollisionDispatcher(_dispatcher) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = IHEAP[__ZGVZN27btGImpactCollisionAlgorithm17registerAlgorithmEP21btCollisionDispatcherE12s_gimpact_cf];
    var _1 = _0 == 0;
    ;
    _bb$_bb3$11807: do { 
      if (_1) {
        __lastLabel__ = -1; ;
        var _2 = ___cxa_guard_acquire(__ZGVZN27btGImpactCollisionAlgorithm17registerAlgorithmEP21btCollisionDispatcherE12s_gimpact_cf);
        var _3 = _2 == 0;
        if (_3) { __lastLabel__ = 60; __label__ = 116; /* _bb3 */ break _bb$_bb3$11807; } else { __lastLabel__ = 60; ; }
        IHEAP[__ZZN27btGImpactCollisionAlgorithm17registerAlgorithmEP21btCollisionDispatcherE12s_gimpact_cf+4] = 0;
        IHEAP[__ZZN27btGImpactCollisionAlgorithm17registerAlgorithmEP21btCollisionDispatcherE12s_gimpact_cf] = __ZTVN27btGImpactCollisionAlgorithm10CreateFuncE+8;
        ___cxa_guard_release(__ZGVZN27btGImpactCollisionAlgorithm17registerAlgorithmEP21btCollisionDispatcherE12s_gimpact_cf);
        var _4 = ___cxa_atexit(___tcf_0150.__index__, 0, ___dso_handle);
        __lastLabel__ = 75; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    _bb3$11810: while(1) { // _bb3
      var _5 = __lastLabel__ == 116 ? _6 : (__lastLabel__ == -1 ? 0 : (__lastLabel__ == 75 ? 0 : (0)));
      __ZN21btCollisionDispatcher27registerCollisionCreateFuncEiiP30btCollisionAlgorithmCreateFunc(_dispatcher, 25, _5, __ZZN27btGImpactCollisionAlgorithm17registerAlgorithmEP21btCollisionDispatcherE12s_gimpact_cf);
      var _6 = _5 + 1;
      var _exitcond12 = _6 == 36;
      if (_exitcond12) { __lastLabel__ = 116; __label__ = 83; /* _bb6 */ break _bb3$11810; } else { __lastLabel__ = 116; __label__ = 116; /* _bb3 */ continue _bb3$11810; }
    }
    _bb6$11812: while(1) { // _bb6
      var _7 = __lastLabel__ == 83 ? _8 : (0);
      __ZN21btCollisionDispatcher27registerCollisionCreateFuncEiiP30btCollisionAlgorithmCreateFunc(_dispatcher, _7, 25, __ZZN27btGImpactCollisionAlgorithm17registerAlgorithmEP21btCollisionDispatcherE12s_gimpact_cf);
      var _8 = _7 + 1;
      var _exitcond = _8 == 36;
      if (_exitcond) { __lastLabel__ = 83; __label__ = 44; /* _return */ break _bb6$11812; } else { __lastLabel__ = 83; __label__ = 83; /* _bb6 */ continue _bb6$11812; }
    }
    ;
    return;
  }
  __ZN27btGImpactCollisionAlgorithm17registerAlgorithmEP21btCollisionDispatcher.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithm17registerAlgorithmEP21btCollisionDispatcher, "__ZN27btGImpactCollisionAlgorithm17registerAlgorithmEP21btCollisionDispatcher");
  
  
  function __ZN9btPairSetC1Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+16;
    IHEAP[_0] = 1;
    var _1 = _this+12;
    IHEAP[_1] = 0;
    var _2 = _this+4;
    IHEAP[_2] = 0;
    var _3 = _this+8;
    IHEAP[_3] = 0;
    var _4 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(256, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2244; /* __ZN20btAlignedObjectArrayI8GIM_PAIRE8allocateEi_exit_i */  } else { __label__ = 254; /* _lpad */  };
    __ZN20btAlignedObjectArrayI8GIM_PAIRE8allocateEi_exit_i$_lpad$11817: do { 
      if (__label__ == 2244) {
        var _phitmp_i = _4;
        var _5 = IHEAP[_2];
        var _6 = _5 > 0;
        if (_6) { __lastLabel__ = 2244; __label__ = 218; /* _bb_i4_i */  } else { __lastLabel__ = 2244; __label__ = 2178; /* __ZNK20btAlignedObjectArrayI8GIM_PAIRE4copyEiiPS0__exit_i */  }
        _bb_i4_i$__ZNK20btAlignedObjectArrayI8GIM_PAIRE4copyEiiPS0__exit_i$11819: while(1) { // _bb_i4_i,__ZNK20btAlignedObjectArrayI8GIM_PAIRE4copyEiiPS0__exit_i
          if (__label__ == 218) {
            var _indvar_i_i = __lastLabel__ == 324 ? _indvar_next_i_i : (0);
            var _tmp = _indvar_i_i << 3;
            var _scevgep15 = _4+_tmp;
            var _7 = _scevgep15 == 0;
            ;
            if (!_7) {
              ;
              var _tmp1721 = _tmp | 4;
              var _scevgep18 = _4+_tmp1721;
              var _scevgep12_i_i = _scevgep18;
              var _scevgep10_i_i = _scevgep15;
              var _8 = IHEAP[_1];
              var _scevgep89_i_i = _8+8*_indvar_i_i;
              var _9 = IHEAP[_scevgep89_i_i];
              IHEAP[_scevgep10_i_i] = _9;
              var _scevgep11_i_i = _8+8*_indvar_i_i+4;
              var _10 = IHEAP[_scevgep11_i_i];
              IHEAP[_scevgep12_i_i] = _10;
              ;
            }
            var _indvar_next_i_i = _indvar_i_i + 1;
            var _exitcond = _indvar_next_i_i == _5;
            if (_exitcond) { __lastLabel__ = 324; __label__ = 2178; /* __ZNK20btAlignedObjectArrayI8GIM_PAIRE4copyEiiPS0__exit_i */ continue _bb_i4_i$__ZNK20btAlignedObjectArrayI8GIM_PAIRE4copyEiiPS0__exit_i$11819; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$__ZNK20btAlignedObjectArrayI8GIM_PAIRE4copyEiiPS0__exit_i$11819; }
          }
          else if (__label__ == 2178) {
            var _11 = IHEAP[_1];
            var _12 = _11 == 0;
            if (_12) { __label__ = 44; /* _return */ break _bb_i4_i$__ZNK20btAlignedObjectArrayI8GIM_PAIRE4copyEiiPS0__exit_i$11819; } else { __label__ = 263; /* _bb_i_i */ break _bb_i4_i$__ZNK20btAlignedObjectArrayI8GIM_PAIRE4copyEiiPS0__exit_i$11819; }
          }
        }
        if (__label__ == 263) {
          var _13 = IHEAP[_0];
          var _toBool_i_i = _13 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _14 = _11;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break __ZN20btAlignedObjectArrayI8GIM_PAIRE8allocateEi_exit_i$_lpad$11817; }
          }
          IHEAP[_1] = 0;
          ;
        }
        IHEAP[_0] = 1;
        IHEAP[_1] = _phitmp_i;
        IHEAP[_3] = 32;
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select5 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    var _15 = IHEAP[_1];
    var _16 = _15 == 0;
    ;
    if (!_16) {
      ;
      var _17 = IHEAP[_0];
      var _toBool_i_i_i = _17 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$11835: do { 
        if (!_toBool_i_i_i) {
          ;
          var _18 = _15;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_18) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$11835; } else { ; }
          var _eh_ptr7 = _llvm_eh_exception();
          var _eh_select9 = _llvm_eh_selector(_eh_ptr7, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_1] = 0;
      ;
    }
    IHEAP[_0] = 1;
    IHEAP[_1] = 0;
    IHEAP[_2] = 0;
    IHEAP[_3] = 0;
    __Unwind_Resume_or_Rethrow(_eh_ptr);
    // unreachable
  }
  __ZN9btPairSetC1Ev.__index__ = Runtime.getFunctionIndex(__ZN9btPairSetC1Ev, "__ZN9btPairSetC1Ev");
  
  
  function __ZN27btGImpactCollisionAlgorithm18gimpact_vs_concaveEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP14btConcaveShapeb(_this, _body0, _body1, _shape0, _shape1, _swapped) {
    var __stackBase__  = STACKTOP; STACKTOP += 124;
    var __label__;
    var _tricallback = __stackBase__;
    var _gimpactInConcaveSpace = __stackBase__+28;
    var _minAABB = __stackBase__+92;
    var _maxAABB = __stackBase__+108;
    var _0 = _tricallback;
    IHEAP[_0] = __ZTV25btGImpactTriangleCallback+8;
    var _1 = _tricallback+4;
    IHEAP[_1] = _this;
    var _2 = _tricallback+8;
    IHEAP[_2] = _body0;
    var _3 = _tricallback+12;
    IHEAP[_3] = _body1;
    var _4 = _tricallback+16;
    IHEAP[_4] = _shape0;
    var _5 = _tricallback+20;
    IHEAP[_5] = _swapped;
    var _6 = _shape1;
    var _7 = IHEAP[_6];
    var _8 = _7+44;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_10](_shape1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 254; /* _lpad */  };
    _invcont2$_lpad$11845: do { 
      if (__label__ == 1102) {
        var _12 = _tricallback+24;
        FHEAP[_12] = _11;
        var _13 = _body1+4+32+8;
        var _14 = _body1+4+16+8;
        var _15 = _body1+4+8;
        var _16 = _body1+4+32+4;
        var _17 = _body1+4+16+4;
        var _18 = _body1+4+4;
        var _19 = _body1+4+32;
        var _20 = _body1+4+16;
        var _21 = _body1+4;
        var _22 = FHEAP[_21];
        var _23 = FHEAP[_20];
        var _24 = FHEAP[_19];
        var _25 = FHEAP[_18];
        var _26 = FHEAP[_17];
        var _27 = FHEAP[_16];
        var _28 = FHEAP[_15];
        var _29 = FHEAP[_14];
        var _30 = FHEAP[_13];
        var _31 = _body1+4+48+8;
        var _32 = FHEAP[_31];
        var _33 = 0 - _32;
        var _34 = _body1+4+48+4;
        var _35 = FHEAP[_34];
        var _36 = 0 - _35;
        var _37 = _body1+4+48;
        var _38 = FHEAP[_37];
        var _39 = 0 - _38;
        var _40 = _body0+4+48;
        var _41 = FHEAP[_40];
        var _42 = _body0+4+48+4;
        var _43 = FHEAP[_42];
        var _44 = _body0+4+48+8;
        var _45 = FHEAP[_44];
        var _46 = _body0+4+8;
        var _47 = FHEAP[_46];
        var _48 = _body0+4+16+8;
        var _49 = FHEAP[_48];
        var _50 = _body0+4+32+8;
        var _51 = FHEAP[_50];
        var _52 = _body0+4+4;
        var _53 = FHEAP[_52];
        var _54 = _body0+4+16+4;
        var _55 = FHEAP[_54];
        var _56 = _body0+4+32+4;
        var _57 = FHEAP[_56];
        var _58 = _body0+4;
        var _59 = FHEAP[_58];
        var _60 = _body0+4+16;
        var _61 = FHEAP[_60];
        var _62 = _body0+4+32;
        var _63 = FHEAP[_62];
        var _64 = _23 * _43;
        var _65 = _22 * _41;
        var _66 = _26 * _43;
        var _67 = _25 * _41;
        var _68 = _29 * _43;
        var _69 = _28 * _41;
        var _70 = _28 * _39;
        var _71 = _29 * _36;
        var _72 = _25 * _39;
        var _73 = _26 * _36;
        var _74 = _22 * _39;
        var _75 = _23 * _36;
        var _76 = _61 * _23;
        var _77 = _59 * _22;
        var _78 = _55 * _23;
        var _79 = _53 * _22;
        var _80 = _49 * _23;
        var _81 = _47 * _22;
        var _82 = _61 * _26;
        var _83 = _59 * _25;
        var _84 = _55 * _26;
        var _85 = _53 * _25;
        var _86 = _49 * _26;
        var _87 = _47 * _25;
        var _88 = _61 * _29;
        var _89 = _59 * _28;
        var _90 = _55 * _29;
        var _91 = _53 * _28;
        var _92 = _49 * _29;
        var _93 = _47 * _28;
        var _94 = _24 * _45;
        var _95 = _65 + _64;
        var _96 = _27 * _45;
        var _97 = _67 + _66;
        var _98 = _30 * _45;
        var _99 = _69 + _68;
        var _100 = _70 + _71;
        var _101 = _30 * _33;
        var _102 = _72 + _73;
        var _103 = _27 * _33;
        var _104 = _74 + _75;
        var _105 = _24 * _33;
        var _106 = _63 * _24;
        var _107 = _77 + _76;
        var _108 = _57 * _24;
        var _109 = _79 + _78;
        var _110 = _51 * _24;
        var _111 = _81 + _80;
        var _112 = _63 * _27;
        var _113 = _83 + _82;
        var _114 = _57 * _27;
        var _115 = _85 + _84;
        var _116 = _51 * _27;
        var _117 = _87 + _86;
        var _118 = _63 * _30;
        var _119 = _89 + _88;
        var _120 = _57 * _30;
        var _121 = _91 + _90;
        var _122 = _51 * _30;
        var _123 = _93 + _92;
        var _124 = _95 + _94;
        var _125 = _97 + _96;
        var _126 = _99 + _98;
        var _127 = _100 + _101;
        var _128 = _102 + _103;
        var _129 = _104 + _105;
        var _130 = _107 + _106;
        var _131 = _109 + _108;
        var _132 = _111 + _110;
        var _133 = _113 + _112;
        var _134 = _115 + _114;
        var _135 = _117 + _116;
        var _136 = _119 + _118;
        var _137 = _121 + _120;
        var _138 = _123 + _122;
        var _139 = _124 + _129;
        var _140 = _125 + _128;
        var _141 = _126 + _127;
        var _142 = _gimpactInConcaveSpace;
        FHEAP[_142] = _130;
        var _143 = _gimpactInConcaveSpace+4;
        FHEAP[_143] = _131;
        var _144 = _gimpactInConcaveSpace+8;
        FHEAP[_144] = _132;
        var _145 = _gimpactInConcaveSpace+12;
        FHEAP[_145] = 0;
        var _146 = _gimpactInConcaveSpace+16;
        FHEAP[_146] = _133;
        var _147 = _gimpactInConcaveSpace+16+4;
        FHEAP[_147] = _134;
        var _148 = _gimpactInConcaveSpace+16+8;
        FHEAP[_148] = _135;
        var _149 = _gimpactInConcaveSpace+16+12;
        FHEAP[_149] = 0;
        var _150 = _gimpactInConcaveSpace+32;
        FHEAP[_150] = _136;
        var _151 = _gimpactInConcaveSpace+32+4;
        FHEAP[_151] = _137;
        var _152 = _gimpactInConcaveSpace+32+8;
        FHEAP[_152] = _138;
        var _153 = _gimpactInConcaveSpace+32+12;
        FHEAP[_153] = 0;
        var _154 = _gimpactInConcaveSpace+48;
        FHEAP[_154] = _139;
        var _155 = _gimpactInConcaveSpace+48+4;
        FHEAP[_155] = _140;
        var _156 = _gimpactInConcaveSpace+48+8;
        FHEAP[_156] = _141;
        var _157 = _gimpactInConcaveSpace+48+12;
        FHEAP[_157] = 0;
        var _158 = _shape0;
        var _159 = IHEAP[_158];
        var _160 = _159+8;
        var _161 = IHEAP[_160];
        var _162 = _161;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_162](_shape0, _gimpactInConcaveSpace, _minAABB, _maxAABB) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont2$_lpad$11845; }
        var _163 = IHEAP[_6];
        var _164 = _163+60;
        var _165 = IHEAP[_164];
        var _166 = _165;
        var _167 = _tricallback;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_166](_shape1, _167, _minAABB, _maxAABB) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont2$_lpad$11845; }
        IHEAP[_0] = __ZTV25btGImpactTriangleCallback+8;
        __ZN18btTriangleCallbackD2Ev(_167);
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select9 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    IHEAP[_0] = __ZTV25btGImpactTriangleCallback+8;
    var _168 = _tricallback;
    (function() { try { __THREW__ = false; return __ZN18btTriangleCallbackD2Ev(_168) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2109; /* _invcont5 */  } else { __label__ = 3802; /* _lpad10 */  }
    if (__label__ == 2109) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 3802) {
      var _eh_ptr11 = _llvm_eh_exception();
      var _eh_select13 = _llvm_eh_selector(_eh_ptr11, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN27btGImpactCollisionAlgorithm18gimpact_vs_concaveEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP14btConcaveShapeb.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithm18gimpact_vs_concaveEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP14btConcaveShapeb, "__ZN27btGImpactCollisionAlgorithm18gimpact_vs_concaveEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP14btConcaveShapeb");
  
  
  function __ZN18GIM_ShapeRetrieverC2EP23btGImpactShapeInterface(_this, _gim_shape) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    __ZN23btPolyhedralConvexShapeC2Ev(_0);
    var _1 = _this+4;
    var _2 = _this+4+4;
    IHEAP[_2] = 1;
    var _3 = _this+4+52;
    var _4 = _3;
    _llvm_memset_p0i8_i64(_4, 0, 48, 4, false);
    IHEAP[_1] = __ZTV17btTriangleShapeEx+8;
    var _5 = _this+104;
    (function() { try { __THREW__ = false; return __ZN16btBU_Simplex1to4C2Ev(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    _invcont$_lpad$11854: do { 
      if (__label__ == 345) {
        var _6 = _this+104;
        IHEAP[_6] = __ZTV20btTetrahedronShapeEx+8;
        var _7 = _this+104+88;
        IHEAP[_7] = 4;
        var _8 = _this+260;
        IHEAP[_8] = __ZTVN18GIM_ShapeRetriever19ChildShapeRetrieverE+8;
        var _9 = _this+268;
        IHEAP[_9] = __ZTVN18GIM_ShapeRetriever22TriangleShapeRetrieverE+8;
        var _10 = _this+276;
        IHEAP[_10] = __ZTVN18GIM_ShapeRetriever19TetraShapeRetrieverE+8;
        var _11 = _this;
        IHEAP[_11] = _gim_shape;
        var _12 = _gim_shape;
        var _13 = IHEAP[_12];
        var _14 = _13+92;
        var _15 = IHEAP[_14];
        var _16 = _15;
        var _17 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_16](_gim_shape) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3904; /* _lpad27 */  };
        _invcont1$_lpad27$11856: do { 
          if (__label__ == 1554) {
            var _toBool = _17 == 0;
            ;
            if (_toBool) {
              ;
              var _20 = IHEAP[_11];
              var _21 = _20;
              var _22 = IHEAP[_21];
              var _23 = _22+96;
              var _24 = IHEAP[_23];
              var _25 = _24;
              var _26 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_25](_20) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3904; /* _lpad27 */ break _invcont1$_lpad27$11856; };
              var _toBool4 = _26 == 0;
              ;
              if (_toBool4) {
                ;
                var _29 = _this+260;
                var _30 = _this+284;
                IHEAP[_30] = _29;
                __lastLabel__ = 83; ;
              }
              else {
                ;
                var _27 = _this+276;
                var _28 = _this+284;
                IHEAP[_28] = _27;
                __lastLabel__ = 82; ;
              }
            }
            else {
              ;
              var _18 = _this+268;
              var _19 = _this+284;
              IHEAP[_19] = _18;
              __lastLabel__ = 60; ;
            }
            var _31 = __lastLabel__ == 83 ? _29 : (__lastLabel__ == 82 ? _27 : (_18));
            var _32 = _31+4;
            IHEAP[_32] = _this;
            ;
            return;
          }
        } while(0);
        var _eh_ptr28 = _llvm_eh_exception();
        var _eh_select30 = _llvm_eh_selector(_eh_ptr28, ___gxx_personality_v0, 0);
        IHEAP[_10] = __ZTVN18GIM_ShapeRetriever19TetraShapeRetrieverE+8;
        IHEAP[_9] = __ZTVN18GIM_ShapeRetriever22TriangleShapeRetrieverE+8;
        IHEAP[_8] = __ZTVN18GIM_ShapeRetriever19ChildShapeRetrieverE+8;
        IHEAP[_6] = __ZTV21btConvexInternalShape+8;
        var _33 = _this+104;
        (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_33) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3904; __label__ = 45; /* _ppad */ break _invcont$_lpad$11854; } else { __lastLabel__ = 3904; ; }
        var _eh_ptr32 = _llvm_eh_exception();
        var _eh_select34 = _llvm_eh_selector(_eh_ptr32, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
      else if (__label__ == 254) {
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select26 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __lastLabel__ = 254; ;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr28);
    IHEAP[_1] = __ZTV21btConvexInternalShape+8;
    var _34 = _this+4;
    (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_34) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3721; /* _invcont23 */  } else { __label__ = 3807; /* _lpad35 */  }
    if (__label__ == 3721) {
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
    else if (__label__ == 3807) {
      var _eh_ptr36 = _llvm_eh_exception();
      var _eh_select38 = _llvm_eh_selector(_eh_ptr36, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN18GIM_ShapeRetrieverC2EP23btGImpactShapeInterface.__index__ = Runtime.getFunctionIndex(__ZN18GIM_ShapeRetrieverC2EP23btGImpactShapeInterface, "__ZN18GIM_ShapeRetrieverC2EP23btGImpactShapeInterface");
  
  
  function __ZN27btGImpactCollisionAlgorithm21collide_sat_trianglesEP17btCollisionObjectS1_P22btGImpactMeshShapePartS3_PKii(_this, _body0, _body1, _shape0, _shape1, _pairs, _pair_count) {
    var __stackBase__  = STACKTOP; STACKTOP += 424;
    var __label__;
    var __lastLabel__ = null;
    var _ptri0 = __stackBase__;
    var _ptri1 = __stackBase__+72;
    var _contact_data = __stackBase__+144;
    var _0 = _body0+4;
    var _1 = FHEAP[_0];
    var _2 = _body0+4+4;
    var _3 = FHEAP[_2];
    var _4 = _body0+4+8;
    var _5 = FHEAP[_4];
    var _6 = _body0+4+16;
    var _7 = FHEAP[_6];
    var _8 = _body0+4+16+4;
    var _9 = FHEAP[_8];
    var _10 = _body0+4+16+8;
    var _11 = FHEAP[_10];
    var _12 = _body0+4+32;
    var _13 = FHEAP[_12];
    var _14 = _body0+4+32+4;
    var _15 = FHEAP[_14];
    var _16 = _body0+4+32+8;
    var _17 = FHEAP[_16];
    var _18 = _body0+4+48;
    var _19 = FHEAP[_18];
    var _20 = _body0+4+48+4;
    var _21 = FHEAP[_20];
    var _22 = _body0+4+48+8;
    var _23 = FHEAP[_22];
    var _24 = _body1+4;
    var _25 = FHEAP[_24];
    var _26 = _body1+4+4;
    var _27 = FHEAP[_26];
    var _28 = _body1+4+8;
    var _29 = FHEAP[_28];
    var _30 = _body1+4+16;
    var _31 = FHEAP[_30];
    var _32 = _body1+4+16+4;
    var _33 = FHEAP[_32];
    var _34 = _body1+4+16+8;
    var _35 = FHEAP[_34];
    var _36 = _body1+4+32;
    var _37 = FHEAP[_36];
    var _38 = _body1+4+32+4;
    var _39 = FHEAP[_38];
    var _40 = _body1+4+32+8;
    var _41 = FHEAP[_40];
    var _42 = _body1+4+48;
    var _43 = FHEAP[_42];
    var _44 = _body1+4+48+4;
    var _45 = FHEAP[_44];
    var _46 = _body1+4+48+8;
    var _47 = FHEAP[_46];
    var _48 = _ptri0+64;
    FHEAP[_48] = 0.009999999776482582;
    var _49 = _ptri1+64;
    FHEAP[_49] = 0.009999999776482582;
    var _50 = _shape0;
    var _51 = IHEAP[_50];
    var _52 = _51+108;
    var _53 = IHEAP[_52];
    var _54 = _53;
    FUNCTION_TABLE[_54](_shape0);
    var _55 = _shape1;
    var _56 = IHEAP[_55];
    var _57 = _56+108;
    var _58 = IHEAP[_57];
    var _59 = _58;
    FUNCTION_TABLE[_59](_shape1);
    var _60 = _pair_count == 0;
    ;
    _bb9$_bb_nph19$11874: do { 
      if (!_60) {
        ;
        var _61 = _this+24;
        var _62 = _this+32;
        var _63 = _shape0;
        var _64 = _shape1;
        var _65 = _ptri0;
        var _66 = _ptri0+4;
        var _67 = _ptri0+8;
        var _68 = _ptri0+12;
        var _69 = _ptri0+16;
        var _70 = _ptri0+16+4;
        var _71 = _ptri0+16+8;
        var _72 = _ptri0+16+12;
        var _73 = _ptri0+32;
        var _74 = _ptri0+32+4;
        var _75 = _ptri0+32+8;
        var _76 = _ptri0+32+12;
        var _77 = _ptri1;
        var _78 = _ptri1+4;
        var _79 = _ptri1+8;
        var _80 = _ptri1+12;
        var _81 = _ptri1+16;
        var _82 = _ptri1+16+4;
        var _83 = _ptri1+16+8;
        var _84 = _ptri1+16+12;
        var _85 = _ptri1+32;
        var _86 = _ptri1+32+4;
        var _87 = _ptri1+32+8;
        var _88 = _ptri1+32+12;
        var _89 = _ptri0+48;
        var _90 = _ptri0+48+4;
        var _91 = _ptri0+48+8;
        var _92 = _ptri0+48+12;
        var _93 = _ptri1+48;
        var _94 = _ptri1+48+4;
        var _95 = _ptri1+48+8;
        var _96 = _ptri1+48+12;
        var _97 = _contact_data+4;
        var _98 = _contact_data;
        var _99 = _contact_data+8;
        var _100 = _this+16;
        var _101 = _this+28;
        var _102 = _this+36;
        var _103 = _this+12;
        var _104 = _this+4;
        var _105 = _body0;
        var _106 = _body1;
        __lastLabel__ = 2250; ;
        _bb$11876: while(1) { // _bb
          var _indvar23 = __lastLabel__ == 2250 ? 0 : (_indvar_next24);
          var _tmp26 = _indvar23 << 1;
          var _pair_pointer_018 = _pairs+4*_tmp26;
          var _tmp2830 = _tmp26 | 1;
          var _scevgep29 = _pairs+4*_tmp2830;
          var _107 = IHEAP[_pair_pointer_018];
          IHEAP[_61] = _107;
          var _108 = IHEAP[_scevgep29];
          IHEAP[_62] = _108;
          var _109 = IHEAP[_50];
          var _110 = _109+80;
          var _111 = IHEAP[_110];
          var _112 = _111;
          var _113 = FUNCTION_TABLE[_112](_63);
          var _114 = _113;
          var _115 = IHEAP[_114];
          var _116 = _115+20;
          var _117 = IHEAP[_116];
          var _118 = _117;
          FUNCTION_TABLE[_118](_113, _107, _ptri0);
          var _119 = IHEAP[_62];
          var _120 = IHEAP[_55];
          var _121 = _120+80;
          var _122 = IHEAP[_121];
          var _123 = _122;
          var _124 = FUNCTION_TABLE[_123](_64);
          var _125 = _124;
          var _126 = IHEAP[_125];
          var _127 = _126+20;
          var _128 = IHEAP[_127];
          var _129 = _128;
          FUNCTION_TABLE[_129](_124, _119, _ptri1);
          var _130 = FHEAP[_65];
          var _131 = _13 * _130;
          var _132 = FHEAP[_66];
          var _133 = _15 * _132;
          var _134 = _131 + _133;
          var _135 = FHEAP[_67];
          var _136 = _17 * _135;
          var _137 = _134 + _136;
          var _138 = _137 + _23;
          var _139 = _7 * _130;
          var _140 = _9 * _132;
          var _141 = _139 + _140;
          var _142 = _11 * _135;
          var _143 = _141 + _142;
          var _144 = _143 + _21;
          var _145 = _1 * _130;
          var _146 = _3 * _132;
          var _147 = _145 + _146;
          var _148 = _5 * _135;
          var _149 = _147 + _148;
          var _150 = _149 + _19;
          FHEAP[_65] = _150;
          FHEAP[_66] = _144;
          FHEAP[_67] = _138;
          FHEAP[_68] = 0;
          var _151 = FHEAP[_69];
          var _152 = _13 * _151;
          var _153 = FHEAP[_70];
          var _154 = _15 * _153;
          var _155 = _152 + _154;
          var _156 = FHEAP[_71];
          var _157 = _17 * _156;
          var _158 = _155 + _157;
          var _159 = _158 + _23;
          var _160 = _7 * _151;
          var _161 = _9 * _153;
          var _162 = _160 + _161;
          var _163 = _11 * _156;
          var _164 = _162 + _163;
          var _165 = _164 + _21;
          var _166 = _1 * _151;
          var _167 = _3 * _153;
          var _168 = _166 + _167;
          var _169 = _5 * _156;
          var _170 = _168 + _169;
          var _171 = _170 + _19;
          FHEAP[_69] = _171;
          FHEAP[_70] = _165;
          FHEAP[_71] = _159;
          FHEAP[_72] = 0;
          var _172 = FHEAP[_73];
          var _173 = _13 * _172;
          var _174 = FHEAP[_74];
          var _175 = _15 * _174;
          var _176 = _173 + _175;
          var _177 = FHEAP[_75];
          var _178 = _17 * _177;
          var _179 = _176 + _178;
          var _180 = _179 + _23;
          var _181 = _7 * _172;
          var _182 = _9 * _174;
          var _183 = _181 + _182;
          var _184 = _11 * _177;
          var _185 = _183 + _184;
          var _186 = _185 + _21;
          var _187 = _1 * _172;
          var _188 = _3 * _174;
          var _189 = _187 + _188;
          var _190 = _5 * _177;
          var _191 = _189 + _190;
          var _192 = _191 + _19;
          FHEAP[_73] = _192;
          FHEAP[_74] = _186;
          FHEAP[_75] = _180;
          FHEAP[_76] = 0;
          var _193 = FHEAP[_77];
          var _194 = _37 * _193;
          var _195 = FHEAP[_78];
          var _196 = _39 * _195;
          var _197 = _194 + _196;
          var _198 = FHEAP[_79];
          var _199 = _41 * _198;
          var _200 = _197 + _199;
          var _201 = _200 + _47;
          var _202 = _31 * _193;
          var _203 = _33 * _195;
          var _204 = _202 + _203;
          var _205 = _35 * _198;
          var _206 = _204 + _205;
          var _207 = _206 + _45;
          var _208 = _25 * _193;
          var _209 = _27 * _195;
          var _210 = _208 + _209;
          var _211 = _29 * _198;
          var _212 = _210 + _211;
          var _213 = _212 + _43;
          FHEAP[_77] = _213;
          FHEAP[_78] = _207;
          FHEAP[_79] = _201;
          FHEAP[_80] = 0;
          var _214 = FHEAP[_81];
          var _215 = _37 * _214;
          var _216 = FHEAP[_82];
          var _217 = _39 * _216;
          var _218 = _215 + _217;
          var _219 = FHEAP[_83];
          var _220 = _41 * _219;
          var _221 = _218 + _220;
          var _222 = _221 + _47;
          var _223 = _31 * _214;
          var _224 = _33 * _216;
          var _225 = _223 + _224;
          var _226 = _35 * _219;
          var _227 = _225 + _226;
          var _228 = _227 + _45;
          var _229 = _25 * _214;
          var _230 = _27 * _216;
          var _231 = _229 + _230;
          var _232 = _29 * _219;
          var _233 = _231 + _232;
          var _234 = _233 + _43;
          FHEAP[_81] = _234;
          FHEAP[_82] = _228;
          FHEAP[_83] = _222;
          FHEAP[_84] = 0;
          var _235 = FHEAP[_85];
          var _236 = _37 * _235;
          var _237 = FHEAP[_86];
          var _238 = _39 * _237;
          var _239 = _236 + _238;
          var _240 = FHEAP[_87];
          var _241 = _41 * _240;
          var _242 = _239 + _241;
          var _243 = _242 + _47;
          var _244 = _31 * _235;
          var _245 = _33 * _237;
          var _246 = _244 + _245;
          var _247 = _35 * _240;
          var _248 = _246 + _247;
          var _249 = _248 + _45;
          var _250 = _25 * _235;
          var _251 = _27 * _237;
          var _252 = _250 + _251;
          var _253 = _29 * _240;
          var _254 = _252 + _253;
          var _255 = _254 + _43;
          FHEAP[_85] = _255;
          FHEAP[_86] = _249;
          FHEAP[_87] = _243;
          FHEAP[_88] = 0;
          var _256 = _180 - _138;
          var _257 = _186 - _144;
          var _258 = _192 - _150;
          var _259 = _159 - _138;
          var _260 = _165 - _144;
          var _261 = _171 - _150;
          var _262 = _261 * _257;
          var _263 = _260 * _258;
          var _264 = _262 - _263;
          var _265 = _259 * _258;
          var _266 = _261 * _256;
          var _267 = _265 - _266;
          var _268 = _260 * _256;
          var _269 = _259 * _257;
          var _270 = _268 - _269;
          var _271 = _270 * _270;
          var _272 = _267 * _267;
          var _273 = _271 + _272;
          var _274 = _264 * _264;
          var _275 = _273 + _274;
          var _276 = _sqrtf(_275);
          var _277 = 1 / _276;
          var _278 = _270 * _277;
          var _279 = _267 * _277;
          var _280 = _264 * _277;
          var _281 = _150 * _278;
          var _282 = _144 * _279;
          var _283 = _281 + _282;
          var _284 = _138 * _280;
          var _285 = _283 + _284;
          FHEAP[_89] = _278;
          FHEAP[_90] = _279;
          FHEAP[_91] = _280;
          FHEAP[_92] = _285;
          var _286 = _243 - _201;
          var _287 = _249 - _207;
          var _288 = _255 - _213;
          var _289 = _222 - _201;
          var _290 = _228 - _207;
          var _291 = _234 - _213;
          var _292 = _291 * _287;
          var _293 = _290 * _288;
          var _294 = _292 - _293;
          var _295 = _289 * _288;
          var _296 = _291 * _286;
          var _297 = _295 - _296;
          var _298 = _290 * _286;
          var _299 = _289 * _287;
          var _300 = _298 - _299;
          var _301 = _300 * _300;
          var _302 = _297 * _297;
          var _303 = _301 + _302;
          var _304 = _294 * _294;
          var _305 = _303 + _304;
          var _306 = _sqrtf(_305);
          var _307 = 1 / _306;
          var _308 = _300 * _307;
          var _309 = _297 * _307;
          var _310 = _294 * _307;
          var _311 = _213 * _308;
          var _312 = _207 * _309;
          var _313 = _311 + _312;
          var _314 = _201 * _310;
          var _315 = _313 + _314;
          FHEAP[_93] = _308;
          FHEAP[_94] = _309;
          FHEAP[_95] = _310;
          FHEAP[_96] = _315;
          var _316 = __ZN19btPrimitiveTriangle25overlap_test_conservativeERKS_(_ptri0, _ptri1);
          var _toBool = _316 == 0;
          ;
          _bb7_backedge$_bb1$11878: do { 
            if (!_toBool) {
              ;
              var _317 = __ZN19btPrimitiveTriangle35find_triangle_collision_clip_methodERS_R20GIM_TRIANGLE_CONTACT(_ptri0, _ptri1, _contact_data);
              var _toBool2 = _317 == 0;
              if (_toBool2) { __label__ = 2170; /* _bb7_backedge */ break _bb7_backedge$_bb1$11878; }
              var _318 = IHEAP[_97];
              var _319 = _318 == 0;
              if (_319) { __label__ = 2170; /* _bb7_backedge */ break _bb7_backedge$_bb1$11878; }
              var _tmp20 = _318 << 2;
              __lastLabel__ = 130; ;
              _bb4$11882: while(1) { // _bb4
                var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
                var _tmp = _indvar * -4;
                var _tmp21 = _tmp20 + _tmp;
                var _scevgep = _contact_data+8+_tmp21*4;
                var _scevgep22 = _scevgep;
                var _320 = FHEAP[_98];
                var _321 = 0 - _320;
                var _322 = IHEAP[_100];
                var _323 = _322;
                var _324 = IHEAP[_323];
                var _325 = _324+8;
                var _326 = IHEAP[_325];
                var _327 = IHEAP[_61];
                var _328 = IHEAP[_101];
                var _329 = _326;
                FUNCTION_TABLE[_329](_322, _328, _327);
                var _330 = IHEAP[_100];
                var _331 = _330;
                var _332 = IHEAP[_331];
                var _333 = _332+12;
                var _334 = IHEAP[_333];
                var _335 = IHEAP[_62];
                var _336 = IHEAP[_102];
                var _337 = _334;
                FUNCTION_TABLE[_337](_330, _336, _335);
                var _338 = IHEAP[_103];
                var _339 = _338 == 0;
                ;
                if (_339) {
                  __lastLabel__ = 61; ;
                  var _340 = IHEAP[_104];
                  var _341 = _340;
                  var _342 = IHEAP[_341];
                  var _343 = _342+12;
                  var _344 = IHEAP[_343];
                  var _345 = _344;
                  var _346 = FUNCTION_TABLE[_345](_340, _105, _106);
                  IHEAP[_103] = _346;
                  __lastLabel__ = 263; ;
                }
                else {
                  __lastLabel__ = 61; ;
                }
                var _347 = __lastLabel__ == 263 ? _346 : (_338);
                var _348 = IHEAP[_100];
                var _349 = _348+4;
                IHEAP[_349] = _347;
                var _350 = IHEAP[_100];
                var _351 = _350;
                var _352 = IHEAP[_351];
                var _353 = _352+16;
                var _354 = IHEAP[_353];
                var _355 = _354;
                FUNCTION_TABLE[_355](_350, _99, _scevgep22, _321);
                var _indvar_next = _indvar + 1;
                var _exitcond = _indvar_next == _318;
                if (_exitcond) { __lastLabel__ = 2252; __label__ = 2170; /* _bb7_backedge */ break _bb7_backedge$_bb1$11878; } else { __lastLabel__ = 2252; __label__ = 61; /* _bb4 */ continue _bb4$11882; }
              }
            }
          } while(0);
          var _indvar_next24 = _indvar23 + 1;
          var _exitcond25 = _indvar_next24 == _pair_count;
          if (_exitcond25) { __lastLabel__ = 2170; __label__ = 62; /* _bb9 */ break _bb9$_bb_nph19$11874; } else { __lastLabel__ = 2170; __label__ = 60; /* _bb */ continue _bb$11876; }
        }
      }
    } while(0);
    var _356 = IHEAP[_50];
    var _357 = _356+112;
    var _358 = IHEAP[_357];
    var _359 = _358;
    FUNCTION_TABLE[_359](_shape0);
    var _360 = IHEAP[_55];
    var _361 = _360+112;
    var _362 = IHEAP[_361];
    var _363 = _362;
    FUNCTION_TABLE[_363](_shape1);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN27btGImpactCollisionAlgorithm21collide_sat_trianglesEP17btCollisionObjectS1_P22btGImpactMeshShapePartS3_PKii.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithm21collide_sat_trianglesEP17btCollisionObjectS1_P22btGImpactMeshShapePartS3_PKii, "__ZN27btGImpactCollisionAlgorithm21collide_sat_trianglesEP17btCollisionObjectS1_P22btGImpactMeshShapePartS3_PKii");
  
  
  function __ZN27btGImpactCollisionAlgorithm21collide_gjk_trianglesEP17btCollisionObjectS1_P22btGImpactMeshShapePartS3_PKii(_this, _body0, _body1, _shape0, _shape1, _pairs, _pair_count) {
    var __stackBase__  = STACKTOP; STACKTOP += 200;
    var __label__;
    var __lastLabel__ = null;
    var _tri0 = __stackBase__;
    var _tri1 = __stackBase__+100;
    var _0 = _tri0;
    __ZN23btPolyhedralConvexShapeC2Ev(_0);
    var _1 = _tri0;
    var _2 = _tri0+4;
    IHEAP[_2] = 1;
    var _3 = _tri0+52;
    var _4 = _3;
    _llvm_memset_p0i8_i64(_4, 0, 48, 4, false);
    IHEAP[_1] = __ZTV17btTriangleShapeEx+8;
    var _5 = _tri1;
    (function() { try { __THREW__ = false; return __ZN23btPolyhedralConvexShapeC2Ev(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    _invcont$_lpad$11890: do { 
      if (__label__ == 345) {
        var _6 = _tri1;
        var _7 = _tri1+4;
        IHEAP[_7] = 1;
        var _8 = _tri1+52;
        var _9 = _8;
        _llvm_memset_p0i8_i64(_9, 0, 48, 4, false);
        IHEAP[_6] = __ZTV17btTriangleShapeEx+8;
        var _10 = _shape0;
        var _11 = IHEAP[_10];
        var _12 = _11+108;
        var _13 = IHEAP[_12];
        var _14 = _13;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_14](_shape0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3800; /* _lpad26 */  }
        _invcont1$_lpad26$11892: do { 
          if (__label__ == 1554) {
            var _15 = _shape1;
            var _16 = IHEAP[_15];
            var _17 = _16+108;
            var _18 = IHEAP[_17];
            var _19 = _18;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_19](_shape1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3800; /* _lpad26 */ break _invcont1$_lpad26$11892; }
            var _20 = _this+24;
            var _21 = _this+32;
            var _22 = _tri0;
            var _23 = _tri1;
            var _tmp44 = _pair_count + -1;
            __lastLabel__ = 752; ;
            _bb8$11895: while(1) { // _bb8
              var _indvar = __lastLabel__ == 785 ? _indvar_next : (0);
              var _tmp45 = _tmp44 - _indvar;
              var _tmp46 = _indvar << 1;
              var _36 = _tmp45 == -1;
              if (_36) { __label__ = 150; /* _bb10 */ break _bb8$11895; }
              var _tmp4749 = _tmp46 | 1;
              var _pair_pointer_0 = _pairs+4*_tmp46;
              var _scevgep = _pairs+4*_tmp4749;
              var _24 = IHEAP[_pair_pointer_0];
              IHEAP[_20] = _24;
              var _25 = IHEAP[_scevgep];
              IHEAP[_21] = _25;
              var _26 = IHEAP[_10];
              var _27 = _26+100;
              var _28 = IHEAP[_27];
              var _29 = _28;
              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_29](_shape0, _24, _tri0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3800; /* _lpad26 */ break _invcont1$_lpad26$11892; }
              var _30 = IHEAP[_15];
              var _31 = _30+100;
              var _32 = IHEAP[_31];
              var _33 = IHEAP[_21];
              var _34 = _32;
              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_34](_shape1, _33, _tri1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3800; /* _lpad26 */ break _invcont1$_lpad26$11892; }
              var _35 = (function() { try { __THREW__ = false; return __ZN17btTriangleShapeEx25overlap_test_conservativeERKS_(_tri0, _tri1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3800; /* _lpad26 */ break _invcont1$_lpad26$11892; };
              var _toBool = _35 == 0;
              ;
              if (!_toBool) {
                ;
                (function() { try { __THREW__ = false; return __ZN27btGImpactCollisionAlgorithm26convex_vs_convex_collisionEP17btCollisionObjectS1_P16btCollisionShapeS3_(_this, _body0, _body1, _22, _23) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3800; /* _lpad26 */ break _invcont1$_lpad26$11892; }
              }
              var _indvar_next = _indvar + 1;
              __lastLabel__ = 785; __label__ = 148; /* _bb8 */ continue _bb8$11895;
            }
            var _37 = IHEAP[_10];
            var _38 = _37+112;
            var _39 = IHEAP[_38];
            var _40 = _39;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_40](_shape0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3800; /* _lpad26 */ break _invcont1$_lpad26$11892; }
            var _41 = IHEAP[_15];
            var _42 = _41+112;
            var _43 = IHEAP[_42];
            var _44 = _43;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_44](_shape1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3800; /* _lpad26 */ break _invcont1$_lpad26$11892; }
            IHEAP[_6] = __ZTV21btConvexInternalShape+8;
            var _45 = _tri1;
            (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_45) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$11890; }
            IHEAP[_1] = __ZTV21btConvexInternalShape+8;
            var _46 = _tri0;
            __ZN13btConvexShapeD2Ev(_46);
            STACKTOP = __stackBase__;
            return;
          }
        } while(0);
        var _eh_ptr27 = _llvm_eh_exception();
        var _eh_select29 = _llvm_eh_selector(_eh_ptr27, ___gxx_personality_v0, 0);
        IHEAP[_6] = __ZTV21btConvexInternalShape+8;
        var _47 = _tri1;
        (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_47) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3800; __label__ = 45; /* _ppad */ break _invcont$_lpad$11890; } else { __lastLabel__ = 3800; ; }
        var _eh_ptr31 = _llvm_eh_exception();
        var _eh_select33 = _llvm_eh_selector(_eh_ptr31, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    } while(0);
    if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select25 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __lastLabel__ = 254; ;
    }
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr27);
    IHEAP[_1] = __ZTV21btConvexInternalShape+8;
    var _48 = _tri0;
    (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_48) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2957; /* _invcont21 */  } else { __label__ = 3928; /* _lpad34 */  }
    if (__label__ == 2957) {
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
    else if (__label__ == 3928) {
      var _eh_ptr35 = _llvm_eh_exception();
      var _eh_select37 = _llvm_eh_selector(_eh_ptr35, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN27btGImpactCollisionAlgorithm21collide_gjk_trianglesEP17btCollisionObjectS1_P22btGImpactMeshShapePartS3_PKii.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithm21collide_gjk_trianglesEP17btCollisionObjectS1_P22btGImpactMeshShapePartS3_PKii, "__ZN27btGImpactCollisionAlgorithm21collide_gjk_trianglesEP17btCollisionObjectS1_P22btGImpactMeshShapePartS3_PKii");
  
  
  function __ZN27btGImpactCollisionAlgorithm27gimpact_vs_shape_find_pairsERK11btTransformS2_P23btGImpactShapeInterfaceP16btCollisionShapeR20btAlignedObjectArrayIiE(_this, _trans0, _trans1, _shape0, _shape1, _collided_primitives) {
    var __stackBase__  = STACKTOP; STACKTOP += 128;
    var __label__;
    var __lastLabel__ = null;
    var _boxshape = __stackBase__;
    var _trans1to0 = __stackBase__+32;
    var _boxshape0 = __stackBase__+96;
    var _0 = _shape0+68;
    var _1 = IHEAP[_0];
    var _not__i = _1 == 0;
    ;
    if (_not__i) {
      ;
      var _70 = _shape1;
      var _71 = IHEAP[_70];
      var _72 = _71+8;
      var _73 = IHEAP[_72];
      var _74 = _73;
      var _75 = _boxshape;
      var _76 = _boxshape+16;
      FUNCTION_TABLE[_74](_shape1, _trans1, _75, _76);
      var _77 = _shape0;
      var _78 = IHEAP[_77];
      var _79 = _78+84;
      var _80 = IHEAP[_79];
      var _81 = _80;
      var _82 = FUNCTION_TABLE[_81](_shape0);
      var _83 = _82 == 0;
      ;
      _return$_bb_nph$11919: do { 
        if (!_83) {
          ;
          var _84 = _boxshape0;
          var _85 = _boxshape0+16;
          var _86 = _boxshape;
          var _87 = _boxshape0+16;
          var _88 = _boxshape+16;
          var _89 = _boxshape0;
          var _90 = _boxshape+4;
          var _91 = _boxshape0+16+4;
          var _92 = _boxshape+16+4;
          var _93 = _boxshape0+4;
          var _94 = _boxshape+8;
          var _95 = _boxshape0+16+8;
          var _96 = _boxshape+16+8;
          var _97 = _boxshape0+8;
          var _98 = _collided_primitives+4;
          var _99 = _collided_primitives+8;
          var _100 = _collided_primitives+12;
          var _101 = _collided_primitives+16;
          var _tmp13 = _82 + -1;
          __lastLabel__ = 130; ;
          _bb2$11921: while(1) { // _bb2
            var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
            var _tmp14 = _tmp13 - _indvar;
            var _102 = IHEAP[_77];
            var _103 = _102+116;
            var _104 = IHEAP[_103];
            var _105 = _104;
            FUNCTION_TABLE[_105](_shape0, _tmp14, _trans0, _84, _85);
            var _106 = FHEAP[_86];
            var _107 = FHEAP[_87];
            var _108 = _106 > _107;
            ;
            _bb5_backedge$_bb_i8$11923: do { 
              if (!_108) {
                ;
                var _109 = FHEAP[_88];
                var _110 = FHEAP[_89];
                var _111 = _109 < _110;
                if (_111) { __label__ = 2254; /* _bb5_backedge */ break _bb5_backedge$_bb_i8$11923; }
                var _112 = FHEAP[_90];
                var _113 = FHEAP[_91];
                var _114 = _112 > _113;
                if (_114) { __label__ = 2254; /* _bb5_backedge */ break _bb5_backedge$_bb_i8$11923; }
                var _115 = FHEAP[_92];
                var _116 = FHEAP[_93];
                var _117 = _115 < _116;
                if (_117) { __label__ = 2254; /* _bb5_backedge */ break _bb5_backedge$_bb_i8$11923; }
                var _118 = FHEAP[_94];
                var _119 = FHEAP[_95];
                var _120 = _118 > _119;
                if (_120) { __label__ = 2254; /* _bb5_backedge */ break _bb5_backedge$_bb_i8$11923; }
                var _121 = FHEAP[_96];
                var _122 = FHEAP[_97];
                var _phitmp = _121 < _122;
                if (_phitmp) { __label__ = 2254; /* _bb5_backedge */ break _bb5_backedge$_bb_i8$11923; }
                var _123 = IHEAP[_98];
                var _124 = IHEAP[_99];
                var _125 = _124 == _123;
                ;
                _bb_i$_bb1_i$11930: do { 
                  if (_125) {
                    __lastLabel__ = 61; ;
                    var _126 = _123 == 0;
                    var _127 = _123 << 1;
                    var _iftmp_488_0_i_i = _126 ? 1 : _127;
                    var _128 = _124 < _iftmp_488_0_i_i;
                    if (_128) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$11930; }
                    var _129 = _iftmp_488_0_i_i == 0;
                    ;
                    if (_129) {
                      __lastLabel__ = 263; ;
                    }
                    else {
                      __lastLabel__ = 263; ;
                      var _130 = _iftmp_488_0_i_i << 2;
                      var _131 = __Z22btAlignedAllocInternalji(_130, 16);
                      var _phitmp_i_i = _131;
                      var __pre_i = IHEAP[_98];
                      __lastLabel__ = 274; ;
                    }
                    var _132 = __lastLabel__ == 274 ? __pre_i : (_123);
                    var _133 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
                    var _134 = _132 > 0;
                    if (_134) { __lastLabel__ = 2186; __label__ = 277; /* _bb_i4_i_i */  } else { __lastLabel__ = 2186; __label__ = 2187; /* __ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i */  }
                    _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$11936: while(1) { // _bb_i4_i_i,__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i
                      if (__label__ == 277) {
                        var _indvar_i_i_i = __lastLabel__ == 279 ? _indvar_next_i_i_i : (0);
                        var _scevgep_i_i_i = _133+4*_indvar_i_i_i;
                        var _135 = _scevgep_i_i_i == 0;
                        ;
                        if (!_135) {
                          ;
                          var _136 = IHEAP[_100];
                          var _scevgep8_i_i_i = _136+4*_indvar_i_i_i;
                          var _137 = IHEAP[_scevgep8_i_i_i];
                          IHEAP[_scevgep_i_i_i] = _137;
                          ;
                        }
                        var _indvar_next_i_i_i = _indvar_i_i_i + 1;
                        var _exitcond = _indvar_next_i_i_i == _132;
                        if (_exitcond) { __lastLabel__ = 279; __label__ = 2187; /* __ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$11936; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$11936; }
                      }
                      else if (__label__ == 2187) {
                        var _138 = IHEAP[_100];
                        var _139 = _138 == 0;
                        if (_139) { __label__ = 2189; /* __ZN20btAlignedObjectArrayIiE10deallocateEv_exit_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$11936; } else { __label__ = 1387; /* _bb_i_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$11936; }
                      }
                    }
                    if (__label__ == 1387) {
                      var _140 = IHEAP[_101];
                      var _toBool_i_i_i = _140 == 0;
                      ;
                      if (!_toBool_i_i_i) {
                        ;
                        var _141 = _138;
                        __Z21btAlignedFreeInternalPv(_141);
                        ;
                      }
                      IHEAP[_100] = 0;
                      ;
                    }
                    IHEAP[_101] = 1;
                    IHEAP[_100] = _133;
                    IHEAP[_99] = _iftmp_488_0_i_i;
                    var __pre5_i = IHEAP[_98];
                    __lastLabel__ = 2189; ;
                  }
                  else {
                    __lastLabel__ = 61; ;
                  }
                } while(0);
                var _142 = __lastLabel__ == 2189 ? __pre5_i : (__lastLabel__ == 61 ? _123 : (_123));
                var _143 = IHEAP[_100];
                var _144 = _143+4*_142;
                var _145 = _144 == 0;
                ;
                if (_145) {
                  __lastLabel__ = 159; ;
                }
                else {
                  __lastLabel__ = 159; ;
                  IHEAP[_144] = _tmp14;
                  var __pre6_i = IHEAP[_98];
                  __lastLabel__ = 132; ;
                }
                var _146 = __lastLabel__ == 159 ? _142 : (__pre6_i);
                var _147 = _146 + 1;
                IHEAP[_98] = _147;
                ;
              }
            } while(0);
            var _indvar_next = _indvar + 1;
            var _exitcond12 = _indvar_next == _82;
            if (_exitcond12) { __lastLabel__ = 2254; __label__ = 44; /* _return */ break _return$_bb_nph$11919; } else { __lastLabel__ = 2254; __label__ = 0; /* _bb2 */ continue _bb2$11921; }
          }
        }
      } while(0);
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      var _2 = _trans0+32+8;
      var _3 = _trans0+16+8;
      var _4 = _trans0+8;
      var _5 = _trans0+32+4;
      var _6 = _trans0+16+4;
      var _7 = _trans0+4;
      var _8 = _trans0+32;
      var _9 = _trans0+16;
      var _10 = _trans0;
      var _11 = FHEAP[_10];
      var _12 = FHEAP[_9];
      var _13 = FHEAP[_8];
      var _14 = FHEAP[_7];
      var _15 = FHEAP[_6];
      var _16 = FHEAP[_5];
      var _17 = FHEAP[_4];
      var _18 = FHEAP[_3];
      var _19 = FHEAP[_2];
      var _20 = _trans0+48+8;
      var _21 = FHEAP[_20];
      var _22 = 0 - _21;
      var _23 = _trans0+48+4;
      var _24 = FHEAP[_23];
      var _25 = 0 - _24;
      var _26 = _trans0+48;
      var _27 = FHEAP[_26];
      var _28 = 0 - _27;
      var _29 = _17 * _28;
      var _30 = _18 * _25;
      var _31 = _29 + _30;
      var _32 = _19 * _22;
      var _33 = _31 + _32;
      var _34 = _14 * _28;
      var _35 = _15 * _25;
      var _36 = _34 + _35;
      var _37 = _16 * _22;
      var _38 = _36 + _37;
      var _39 = _11 * _28;
      var _40 = _12 * _25;
      var _41 = _39 + _40;
      var _42 = _13 * _22;
      var _43 = _41 + _42;
      var _44 = _trans1to0;
      FHEAP[_44] = _11;
      var _45 = _trans1to0+4;
      FHEAP[_45] = _12;
      var _46 = _trans1to0+8;
      FHEAP[_46] = _13;
      var _47 = _trans1to0+12;
      FHEAP[_47] = 0;
      var _48 = _trans1to0+16;
      FHEAP[_48] = _14;
      var _49 = _trans1to0+16+4;
      FHEAP[_49] = _15;
      var _50 = _trans1to0+16+8;
      FHEAP[_50] = _16;
      var _51 = _trans1to0+16+12;
      FHEAP[_51] = 0;
      var _52 = _trans1to0+32;
      FHEAP[_52] = _17;
      var _53 = _trans1to0+32+4;
      FHEAP[_53] = _18;
      var _54 = _trans1to0+32+8;
      FHEAP[_54] = _19;
      var _55 = _trans1to0+32+12;
      FHEAP[_55] = 0;
      var _56 = _trans1to0+48;
      FHEAP[_56] = _43;
      var _57 = _trans1to0+48+4;
      FHEAP[_57] = _38;
      var _58 = _trans1to0+48+8;
      FHEAP[_58] = _33;
      var _59 = _trans1to0+48+12;
      FHEAP[_59] = 0;
      var _60 = __ZN11btTransformmLERKS_(_trans1to0, _trans1);
      var _61 = _shape1;
      var _62 = IHEAP[_61];
      var _63 = _62+8;
      var _64 = IHEAP[_63];
      var _65 = _64;
      var _66 = _boxshape;
      var _67 = _boxshape+16;
      FUNCTION_TABLE[_65](_shape1, _trans1to0, _66, _67);
      var _68 = _shape0+68;
      var _69 = __ZNK21btGImpactQuantizedBvh8boxQueryERK6btAABBR20btAlignedObjectArrayIiE(_68, _boxshape, _collided_primitives);
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN27btGImpactCollisionAlgorithm27gimpact_vs_shape_find_pairsERK11btTransformS2_P23btGImpactShapeInterfaceP16btCollisionShapeR20btAlignedObjectArrayIiE.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithm27gimpact_vs_shape_find_pairsERK11btTransformS2_P23btGImpactShapeInterfaceP16btCollisionShapeR20btAlignedObjectArrayIiE, "__ZN27btGImpactCollisionAlgorithm27gimpact_vs_shape_find_pairsERK11btTransformS2_P23btGImpactShapeInterfaceP16btCollisionShapeR20btAlignedObjectArrayIiE");
  
  
  function __ZN27btGImpactCollisionAlgorithm16gimpact_vs_shapeEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP16btCollisionShapeb(_this, _body0, _body1, _shape0, _shape1, _swapped) {
    var __stackBase__  = STACKTOP; STACKTOP += 500;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _orgtrans0 = __stackBase__+64;
    var _orgtrans1 = __stackBase__+128;
    var _collided_results = __stackBase__+192;
    var _retriever0 = __stackBase__+212;
    var _1 = _shape0;
    var _2 = IHEAP[_1];
    var _3 = _2+76;
    var _4 = IHEAP[_3];
    var _5 = _4;
    var _6 = FUNCTION_TABLE[_5](_shape0);
    var _7 = _6 == 2;
    ;
    _bb$_bb8$11957: do { 
      if (_7) {
        ;
        var _toBool1 = _swapped == 0;
        ;
        if (_toBool1) {
          ;
          var _9 = _this+28;
          __lastLabel__ = 116; ;
        }
        else {
          ;
          var _8 = _this+36;
          __lastLabel__ = 0; ;
        }
        var _iftmp_407_0 = __lastLabel__ == 0 ? _8 : (_9);
        var _10 = _shape0+144+8;
        var _11 = _10;
        var _12 = IHEAP[_11];
        var _13 = _12 + -1;
        IHEAP[_iftmp_407_0] = _13;
        var _14 = _13 == -1;
        if (_14) { __label__ = 2265; /* __ZN20btAlignedObjectArrayIiED1Ev_exit87 */ break _bb$_bb8$11957; }
        var _15 = _shape0+144+16;
        var _16 = _15;
        __lastLabel__ = 130; ;
        _bb5$11964: while(1) { // _bb5
          var _17 = __lastLabel__ == 130 ? _13 : (_23);
          var _18 = IHEAP[_16];
          var _19 = _18+4*_17;
          var _20 = IHEAP[_19];
          var _21 = _20;
          __ZN27btGImpactCollisionAlgorithm16gimpact_vs_shapeEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP16btCollisionShapeb(_this, _body0, _body1, _21, _shape1, _swapped);
          var _22 = IHEAP[_iftmp_407_0];
          var _23 = _22 + -1;
          IHEAP[_iftmp_407_0] = _23;
          var _24 = _23 == -1;
          if (_24) { __lastLabel__ = 82; __label__ = 2265; /* __ZN20btAlignedObjectArrayIiED1Ev_exit87 */ break _bb$_bb8$11957; } else { __lastLabel__ = 82; __label__ = 82; /* _bb5 */ continue _bb5$11964; }
        }
      }
      else {
        ;
        var _25 = IHEAP[_1];
        var _26 = _25+76;
        var _27 = IHEAP[_26];
        var _28 = _27;
        var _29 = FUNCTION_TABLE[_28](_shape0);
        var _30 = _29 == 1;
        var _31 = _shape1+4;
        var _32 = IHEAP[_31];
        var _33 = _32 == 28;
        var _or_cond = _30 & _33;
        ;
        if (_or_cond) {
          ;
          var _35 = _shape0;
          var _36 = _shape1;
          __ZN27btGImpactCollisionAlgorithm37gimpacttrimeshpart_vs_plane_collisionEP17btCollisionObjectS1_P22btGImpactMeshShapePartP18btStaticPlaneShapeb(_this, _body0, _body1, _35, _36, _swapped);
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _34 = _32 == 31;
          ;
          if (_34) {
            ;
            var _37 = _shape1;
            __ZN27btGImpactCollisionAlgorithm24gimpact_vs_compoundshapeEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP15btCompoundShapeb(_this, _body0, _body1, _shape0, _37, _swapped);
            STACKTOP = __stackBase__;
            return;
          }
          else {
            ;
            var _38 = _32 + -21;
            var _39 = unSign(_38, 32) < unSign(9, 32);
            ;
            if (_39) {
              ;
              var _40 = _shape1;
              __ZN27btGImpactCollisionAlgorithm18gimpact_vs_concaveEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP14btConcaveShapeb(_this, _body0, _body1, _shape0, _40, _swapped);
              STACKTOP = __stackBase__;
              return;
            }
            else {
              ;
              var _41 = _orgtrans0;
              var _42 = _body0+4;
              var _43 = FHEAP[_42];
              FHEAP[_41] = _43;
              var _44 = _orgtrans0+4;
              var _45 = _body0+4+4;
              var _46 = FHEAP[_45];
              FHEAP[_44] = _46;
              var _47 = _orgtrans0+8;
              var _48 = _body0+4+8;
              var _49 = FHEAP[_48];
              FHEAP[_47] = _49;
              var _50 = _orgtrans0+12;
              var _51 = _body0+4+12;
              var _52 = FHEAP[_51];
              FHEAP[_50] = _52;
              var _53 = _orgtrans0+16;
              var _54 = _body0+4+16;
              var _55 = FHEAP[_54];
              FHEAP[_53] = _55;
              var _56 = _orgtrans0+16+4;
              var _57 = _body0+4+16+4;
              var _58 = FHEAP[_57];
              FHEAP[_56] = _58;
              var _59 = _orgtrans0+16+8;
              var _60 = _body0+4+16+8;
              var _61 = FHEAP[_60];
              FHEAP[_59] = _61;
              var _62 = _orgtrans0+16+12;
              var _63 = _body0+4+16+12;
              var _64 = FHEAP[_63];
              FHEAP[_62] = _64;
              var _65 = _orgtrans0+32;
              var _66 = _body0+4+32;
              var _67 = FHEAP[_66];
              FHEAP[_65] = _67;
              var _68 = _orgtrans0+32+4;
              var _69 = _body0+4+32+4;
              var _70 = FHEAP[_69];
              FHEAP[_68] = _70;
              var _71 = _orgtrans0+32+8;
              var _72 = _body0+4+32+8;
              var _73 = FHEAP[_72];
              FHEAP[_71] = _73;
              var _74 = _orgtrans0+32+12;
              var _75 = _body0+4+32+12;
              var _76 = FHEAP[_75];
              FHEAP[_74] = _76;
              var _77 = _orgtrans0+48;
              var _78 = _body0+4+48;
              var _79 = FHEAP[_78];
              FHEAP[_77] = _79;
              var _80 = _orgtrans0+48+4;
              var _81 = _body0+4+48+4;
              var _82 = FHEAP[_81];
              FHEAP[_80] = _82;
              var _83 = _orgtrans0+48+8;
              var _84 = _body0+4+48+8;
              var _85 = FHEAP[_84];
              FHEAP[_83] = _85;
              var _86 = _orgtrans0+48+12;
              var _87 = _body0+4+48+12;
              var _88 = FHEAP[_87];
              FHEAP[_86] = _88;
              var _89 = _orgtrans1;
              var _90 = _body1+4;
              var _91 = FHEAP[_90];
              FHEAP[_89] = _91;
              var _92 = _orgtrans1+4;
              var _93 = _body1+4+4;
              var _94 = FHEAP[_93];
              FHEAP[_92] = _94;
              var _95 = _orgtrans1+8;
              var _96 = _body1+4+8;
              var _97 = FHEAP[_96];
              FHEAP[_95] = _97;
              var _98 = _orgtrans1+12;
              var _99 = _body1+4+12;
              var _100 = FHEAP[_99];
              FHEAP[_98] = _100;
              var _101 = _orgtrans1+16;
              var _102 = _body1+4+16;
              var _103 = FHEAP[_102];
              FHEAP[_101] = _103;
              var _104 = _orgtrans1+16+4;
              var _105 = _body1+4+16+4;
              var _106 = FHEAP[_105];
              FHEAP[_104] = _106;
              var _107 = _orgtrans1+16+8;
              var _108 = _body1+4+16+8;
              var _109 = FHEAP[_108];
              FHEAP[_107] = _109;
              var _110 = _orgtrans1+16+12;
              var _111 = _body1+4+16+12;
              var _112 = FHEAP[_111];
              FHEAP[_110] = _112;
              var _113 = _orgtrans1+32;
              var _114 = _body1+4+32;
              var _115 = FHEAP[_114];
              FHEAP[_113] = _115;
              var _116 = _orgtrans1+32+4;
              var _117 = _body1+4+32+4;
              var _118 = FHEAP[_117];
              FHEAP[_116] = _118;
              var _119 = _orgtrans1+32+8;
              var _120 = _body1+4+32+8;
              var _121 = FHEAP[_120];
              FHEAP[_119] = _121;
              var _122 = _orgtrans1+32+12;
              var _123 = _body1+4+32+12;
              var _124 = FHEAP[_123];
              FHEAP[_122] = _124;
              var _125 = _orgtrans1+48;
              var _126 = _body1+4+48;
              var _127 = FHEAP[_126];
              FHEAP[_125] = _127;
              var _128 = _orgtrans1+48+4;
              var _129 = _body1+4+48+4;
              var _130 = FHEAP[_129];
              FHEAP[_128] = _130;
              var _131 = _orgtrans1+48+8;
              var _132 = _body1+4+48+8;
              var _133 = FHEAP[_132];
              FHEAP[_131] = _133;
              var _134 = _orgtrans1+48+12;
              var _135 = _body1+4+48+12;
              var _136 = FHEAP[_135];
              FHEAP[_134] = _136;
              var _137 = _collided_results+16;
              IHEAP[_137] = 1;
              var _138 = _collided_results+12;
              IHEAP[_138] = 0;
              var _139 = _collided_results+4;
              IHEAP[_139] = 0;
              var _140 = _collided_results+8;
              IHEAP[_140] = 0;
              (function() { try { __THREW__ = false; return __ZN27btGImpactCollisionAlgorithm27gimpact_vs_shape_find_pairsERK11btTransformS2_P23btGImpactShapeInterfaceP16btCollisionShapeR20btAlignedObjectArrayIiE(_this, _orgtrans0, _orgtrans1, _shape0, _shape1, _collided_results) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
              _invcont$_lpad$11976: do { 
                if (__label__ == 345) {
                  var _141 = IHEAP[_139];
                  var _142 = _141 == 0;
                  ;
                  _bb61$_bb24$11978: do { 
                    if (!_142) {
                      ;
                      var _143 = IHEAP[_1];
                      var _144 = _143+108;
                      var _145 = IHEAP[_144];
                      var _146 = _145;
                      (function() { try { __THREW__ = false; return FUNCTION_TABLE[_146](_shape0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$11976; }
                      (function() { try { __THREW__ = false; return __ZN18GIM_ShapeRetrieverC2EP23btGImpactShapeInterface(_retriever0, _shape0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$11976; }
                      var _147 = IHEAP[_1];
                      var _148 = _147+88;
                      var _149 = IHEAP[_148];
                      var _150 = _149;
                      var _151 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_150](_shape0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2266; /* _invcont27 */  } else { __label__ = 3946; /* _lpad65 */  };
                      _invcont27$_lpad65$11982: do { 
                        if (__label__ == 2266) {
                          var _152 = IHEAP[_139];
                          var _toBool29 = _swapped == 0;
                          var _153 = _this+24;
                          var _154 = _retriever0+284;
                          var _toBool34 = _151 == 0;
                          var _155 = _0+48;
                          var _156 = _0+48+4;
                          var _157 = _0+48+8;
                          var _158 = _0+8;
                          var _159 = _0+16+8;
                          var _160 = _0+32+8;
                          var _161 = _0+4;
                          var _162 = _0+16+4;
                          var _163 = _0+32+4;
                          var _164 = _0;
                          var _165 = _0+16;
                          var _166 = _0+32;
                          var _167 = _this+32;
                          var _tmp106 = _152 + -1;
                          __lastLabel__ = 2266; ;
                          _bb47$11984: while(1) { // _bb47
                            var _indvar = __lastLabel__ == 2270 ? _indvar_next : (0);
                            var _tmp107 = _tmp106 - _indvar;
                            var _283 = _tmp107 == -1;
                            if (_283) { __label__ = 1019; /* _bb49 */ break _bb47$11984; }
                            var _168 = IHEAP[_138];
                            var _scevgep = _168+4*_tmp107;
                            var _169 = IHEAP[_scevgep];
                            ;
                            if (_toBool29) {
                              ;
                              IHEAP[_153] = _169;
                              ;
                            }
                            else {
                              ;
                              IHEAP[_167] = _169;
                              ;
                            }
                            var _170 = IHEAP[_154];
                            var _171 = _170;
                            var _172 = IHEAP[_171];
                            var _173 = IHEAP[_172];
                            var _174 = _173;
                            var _175 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_174](_170, _169) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3946; /* _lpad65 */ break _invcont27$_lpad65$11982; };
                            ;
                            if (!_toBool34) {
                              ;
                              var _176 = IHEAP[_1];
                              var _177 = _176+128;
                              var _178 = IHEAP[_177];
                              var _179 = _178;
                              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_179](_0, _shape0, _169) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3946; /* _lpad65 */ break _invcont27$_lpad65$11982; }
                              var _180 = FHEAP[_65];
                              var _181 = FHEAP[_155];
                              var _182 = FHEAP[_68];
                              var _183 = FHEAP[_156];
                              var _184 = FHEAP[_71];
                              var _185 = FHEAP[_157];
                              var _186 = FHEAP[_53];
                              var _187 = FHEAP[_56];
                              var _188 = FHEAP[_59];
                              var _189 = FHEAP[_41];
                              var _190 = FHEAP[_44];
                              var _191 = FHEAP[_47];
                              var _192 = FHEAP[_158];
                              var _193 = FHEAP[_159];
                              var _194 = FHEAP[_160];
                              var _195 = FHEAP[_161];
                              var _196 = FHEAP[_162];
                              var _197 = FHEAP[_163];
                              var _198 = FHEAP[_164];
                              var _199 = FHEAP[_165];
                              var _200 = FHEAP[_166];
                              var _201 = _190 * _183;
                              var _202 = _189 * _181;
                              var _203 = _187 * _183;
                              var _204 = _186 * _181;
                              var _205 = _182 * _183;
                              var _206 = _180 * _181;
                              var _207 = _199 * _190;
                              var _208 = _198 * _189;
                              var _209 = _196 * _190;
                              var _210 = _195 * _189;
                              var _211 = _193 * _190;
                              var _212 = _192 * _189;
                              var _213 = _199 * _187;
                              var _214 = _198 * _186;
                              var _215 = _196 * _187;
                              var _216 = _195 * _186;
                              var _217 = _193 * _187;
                              var _218 = _192 * _186;
                              var _219 = _199 * _182;
                              var _220 = _198 * _180;
                              var _221 = _196 * _182;
                              var _222 = _195 * _180;
                              var _223 = _193 * _182;
                              var _224 = _192 * _180;
                              var _225 = _191 * _185;
                              var _226 = _202 + _201;
                              var _227 = _188 * _185;
                              var _228 = _204 + _203;
                              var _229 = _184 * _185;
                              var _230 = _206 + _205;
                              var _231 = _200 * _191;
                              var _232 = _208 + _207;
                              var _233 = _197 * _191;
                              var _234 = _210 + _209;
                              var _235 = _194 * _191;
                              var _236 = _212 + _211;
                              var _237 = _200 * _188;
                              var _238 = _214 + _213;
                              var _239 = _197 * _188;
                              var _240 = _216 + _215;
                              var _241 = _194 * _188;
                              var _242 = _218 + _217;
                              var _243 = _200 * _184;
                              var _244 = _220 + _219;
                              var _245 = _197 * _184;
                              var _246 = _222 + _221;
                              var _247 = _194 * _184;
                              var _248 = _224 + _223;
                              var _249 = FHEAP[_77];
                              var _250 = _226 + _225;
                              var _251 = FHEAP[_80];
                              var _252 = _228 + _227;
                              var _253 = FHEAP[_83];
                              var _254 = _230 + _229;
                              var _255 = _232 + _231;
                              var _256 = _234 + _233;
                              var _257 = _236 + _235;
                              var _258 = _238 + _237;
                              var _259 = _240 + _239;
                              var _260 = _242 + _241;
                              var _261 = _244 + _243;
                              var _262 = _246 + _245;
                              var _263 = _248 + _247;
                              var _264 = _250 + _249;
                              var _265 = _252 + _251;
                              var _266 = _254 + _253;
                              FHEAP[_42] = _255;
                              FHEAP[_45] = _256;
                              FHEAP[_48] = _257;
                              FHEAP[_51] = 0;
                              FHEAP[_54] = _258;
                              FHEAP[_57] = _259;
                              FHEAP[_60] = _260;
                              FHEAP[_63] = 0;
                              FHEAP[_66] = _261;
                              FHEAP[_69] = _262;
                              FHEAP[_72] = _263;
                              FHEAP[_75] = 0;
                              FHEAP[_78] = _264;
                              FHEAP[_81] = _265;
                              FHEAP[_84] = _266;
                              FHEAP[_87] = 0;
                              ;
                            }
                            ;
                            if (_toBool29) {
                              ;
                              (function() { try { __THREW__ = false; return __ZN27btGImpactCollisionAlgorithm24shape_vs_shape_collisionEP17btCollisionObjectS1_P16btCollisionShapeS3_(_this, _body0, _body1, _175, _shape1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3946; /* _lpad65 */ break _invcont27$_lpad65$11982; }
                            }
                            else {
                              ;
                              (function() { try { __THREW__ = false; return __ZN27btGImpactCollisionAlgorithm24shape_vs_shape_collisionEP17btCollisionObjectS1_P16btCollisionShapeS3_(_this, _body1, _body0, _shape1, _175) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3946; /* _lpad65 */ break _invcont27$_lpad65$11982; }
                            }
                            ;
                            if (!_toBool34) {
                              ;
                              var _267 = FHEAP[_41];
                              FHEAP[_42] = _267;
                              var _268 = FHEAP[_44];
                              FHEAP[_45] = _268;
                              var _269 = FHEAP[_47];
                              FHEAP[_48] = _269;
                              var _270 = FHEAP[_50];
                              FHEAP[_51] = _270;
                              var _271 = FHEAP[_53];
                              FHEAP[_54] = _271;
                              var _272 = FHEAP[_56];
                              FHEAP[_57] = _272;
                              var _273 = FHEAP[_59];
                              FHEAP[_60] = _273;
                              var _274 = FHEAP[_62];
                              FHEAP[_63] = _274;
                              var _275 = FHEAP[_65];
                              FHEAP[_66] = _275;
                              var _276 = FHEAP[_68];
                              FHEAP[_69] = _276;
                              var _277 = FHEAP[_71];
                              FHEAP[_72] = _277;
                              var _278 = FHEAP[_74];
                              FHEAP[_75] = _278;
                              var _279 = FHEAP[_77];
                              FHEAP[_78] = _279;
                              var _280 = FHEAP[_80];
                              FHEAP[_81] = _280;
                              var _281 = FHEAP[_83];
                              FHEAP[_84] = _281;
                              var _282 = FHEAP[_86];
                              FHEAP[_87] = _282;
                              ;
                            }
                            var _indvar_next = _indvar + 1;
                            __lastLabel__ = 2270; __label__ = 973; /* _bb47 */ continue _bb47$11984;
                          }
                          var _284 = IHEAP[_1];
                          var _285 = _284+112;
                          var _286 = IHEAP[_285];
                          var _287 = _286;
                          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_287](_shape0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3946; /* _lpad65 */ break _invcont27$_lpad65$11982; }
                          var _288 = _retriever0+276;
                          IHEAP[_288] = __ZTVN18GIM_ShapeRetriever19TetraShapeRetrieverE+8;
                          var _289 = _retriever0+268;
                          IHEAP[_289] = __ZTVN18GIM_ShapeRetriever22TriangleShapeRetrieverE+8;
                          var _290 = _retriever0+260;
                          IHEAP[_290] = __ZTVN18GIM_ShapeRetriever19ChildShapeRetrieverE+8;
                          var _291 = _retriever0+104;
                          IHEAP[_291] = __ZTV21btConvexInternalShape+8;
                          var _292 = _retriever0+104;
                          (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_292) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3948; /* _bb3_i92 */  } else { __label__ = 3949; /* _lpad_i95 */  }
                          if (__label__ == 3948) {
                            var _293 = _retriever0+4;
                            IHEAP[_293] = __ZTV21btConvexInternalShape+8;
                            var _294 = _retriever0+4;
                            (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_294) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 482; /* _bb61 */ break _bb61$_bb24$11978; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$11976; }
                          }
                          else if (__label__ == 3949) {
                            var _eh_ptr_i93 = _llvm_eh_exception();
                            var _eh_select6_i94 = _llvm_eh_selector(_eh_ptr_i93, ___gxx_personality_v0, 0);
                            var _295 = _retriever0+4;
                            IHEAP[_295] = __ZTV21btConvexInternalShape+8;
                            var _296 = _retriever0+4;
                            (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_296) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3951; /* _invcont1_i91 */  } else { __label__ = 3952; /* _lpad7_i98 */  }
                            if (__label__ == 3951) {
                              (function() { try { __THREW__ = false; return __Unwind_Resume_or_Rethrow(_eh_ptr_i93) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$11976; }
                              // unreachable
                            }
                            else if (__label__ == 3952) {
                              var _eh_ptr8_i96 = _llvm_eh_exception();
                              var _eh_select10_i97 = _llvm_eh_selector(_eh_ptr8_i96, ___gxx_personality_v0, 1);
                              __ZSt9terminatev();
                              // unreachable
                            }
                          }
                        }
                      } while(0);
                      var _eh_ptr66 = _llvm_eh_exception();
                      var _eh_select68 = _llvm_eh_selector(_eh_ptr66, ___gxx_personality_v0, 0);
                      var _301 = _retriever0+276;
                      IHEAP[_301] = __ZTVN18GIM_ShapeRetriever19TetraShapeRetrieverE+8;
                      var _302 = _retriever0+268;
                      IHEAP[_302] = __ZTVN18GIM_ShapeRetriever22TriangleShapeRetrieverE+8;
                      var _303 = _retriever0+260;
                      IHEAP[_303] = __ZTVN18GIM_ShapeRetriever19ChildShapeRetrieverE+8;
                      var _304 = _retriever0+104;
                      IHEAP[_304] = __ZTV21btConvexInternalShape+8;
                      var _305 = _retriever0+104;
                      (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_305) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 133; /* _bb3_i */  } else { __label__ = 3822; /* _lpad_i */  }
                      _bb3_i$_lpad_i$12013: do { 
                        if (__label__ == 133) {
                          var _306 = _retriever0+4;
                          IHEAP[_306] = __ZTV21btConvexInternalShape+8;
                          var _307 = _retriever0+4;
                          (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_307) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 133; __label__ = 45; /* _ppad */ break _invcont$_lpad$11976; } else { __lastLabel__ = 133; ; }
                        }
                        else if (__label__ == 3822) {
                          var _eh_ptr_i = _llvm_eh_exception();
                          var _eh_select6_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
                          var _308 = _retriever0+4;
                          IHEAP[_308] = __ZTV21btConvexInternalShape+8;
                          var _309 = _retriever0+4;
                          (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_309) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3823; /* _invcont1_i */  } else { __label__ = 3954; /* _lpad7_i */  }
                          if (__label__ == 3823) {
                            (function() { try { __THREW__ = false; return __Unwind_Resume_or_Rethrow(_eh_ptr_i) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 483; /* _lpad69 */ break _bb3_i$_lpad_i$12013; }
                            // unreachable
                          }
                          else if (__label__ == 3954) {
                            var _eh_ptr8_i = _llvm_eh_exception();
                            var _eh_select10_i = _llvm_eh_selector(_eh_ptr8_i, ___gxx_personality_v0, 1);
                            __ZSt9terminatev();
                            // unreachable
                          }
                        }
                      } while(0);
                      var _eh_ptr70 = _llvm_eh_exception();
                      var _eh_select72 = _llvm_eh_selector(_eh_ptr70, ___gxx_personality_v0, 1);
                      __ZSt9terminatev();
                      // unreachable
                    }
                  } while(0);
                  var _297 = IHEAP[_138];
                  var _298 = _297 == 0;
                  if (_298) { __label__ = 2265; /* __ZN20btAlignedObjectArrayIiED1Ev_exit87 */ break _bb$_bb8$11957; }
                  var _299 = IHEAP[_137];
                  var _toBool_i_i_i83 = _299 == 0;
                  ;
                  if (!_toBool_i_i_i83) {
                    ;
                    var _300 = _297;
                    __Z21btAlignedFreeInternalPv(_300);
                    ;
                  }
                  IHEAP[_138] = 0;
                  STACKTOP = __stackBase__;
                  return;
                }
              } while(0);
              if (__label__ == 254) {
                var _eh_ptr = _llvm_eh_exception();
                var _eh_select64 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
                __lastLabel__ = 254; ;
              }
              var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr66);
              var _310 = IHEAP[_138];
              var _311 = _310 == 0;
              ;
              if (!_311) {
                ;
                var _312 = IHEAP[_137];
                var _toBool_i_i_i = _312 == 0;
                ;
                _bb2_i_i_i$_bb1_i_i_i$12031: do { 
                  if (!_toBool_i_i_i) {
                    ;
                    var _313 = _310;
                    (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_313) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$12031; } else { ; }
                    var _eh_ptr74 = _llvm_eh_exception();
                    var _eh_select76 = _llvm_eh_selector(_eh_ptr74, ___gxx_personality_v0, 1);
                    __ZSt9terminatev();
                    // unreachable
                  }
                } while(0);
                IHEAP[_138] = 0;
                ;
              }
              IHEAP[_137] = 1;
              IHEAP[_138] = 0;
              IHEAP[_139] = 0;
              IHEAP[_140] = 0;
              __Unwind_Resume_or_Rethrow(_eh_exception_0);
              // unreachable
            }
          }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN27btGImpactCollisionAlgorithm16gimpact_vs_shapeEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP16btCollisionShapeb.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithm16gimpact_vs_shapeEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP16btCollisionShapeb, "__ZN27btGImpactCollisionAlgorithm16gimpact_vs_shapeEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP16btCollisionShapeb");
  
  
  function __ZN27btGImpactCollisionAlgorithm29gimpact_vs_gimpact_find_pairsERK11btTransformS2_P23btGImpactShapeInterfaceS4_R9btPairSet(_this, _trans0, _trans1, _shape0, _shape1, _pairset) {
    var __stackBase__  = STACKTOP; STACKTOP += 72;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _boxshape0 = __stackBase__+8;
    var _boxshape1 = __stackBase__+40;
    var _1 = _shape0+68;
    var _2 = IHEAP[_1];
    var _not__i = _2 == 0;
    ;
    _bb9$_bb$12044: do { 
      if (!_not__i) {
        ;
        var _3 = _shape1+68;
        var _4 = IHEAP[_3];
        var _not__i23 = _4 == 0;
        if (_not__i23) { __label__ = 62; /* _bb9 */ break _bb9$_bb$12044; }
        var _12 = _shape1+68;
        var _13 = _shape0+68;
        __ZN21btGImpactQuantizedBvh14find_collisionEPS_RK11btTransformS0_S3_R9btPairSet(_13, _trans0, _12, _trans1, _pairset);
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    var _5 = _shape0;
    var _6 = IHEAP[_5];
    var _7 = _6+84;
    var _8 = IHEAP[_7];
    var _9 = _8;
    var _10 = FUNCTION_TABLE[_9](_shape0);
    var _11 = _10 == 0;
    ;
    _return$_bb_nph26$12048: do { 
      if (!_11) {
        ;
        var _14 = _boxshape0;
        var _15 = _boxshape0+16;
        var _16 = _shape1;
        var _17 = _boxshape1;
        var _18 = _boxshape1+16;
        var _19 = _boxshape1;
        var _20 = _boxshape0+16;
        var _21 = _boxshape1+16;
        var _22 = _boxshape0;
        var _23 = _boxshape1+4;
        var _24 = _boxshape0+16+4;
        var _25 = _boxshape1+16+4;
        var _26 = _boxshape0+4;
        var _27 = _boxshape1+8;
        var _28 = _boxshape0+16+8;
        var _29 = _boxshape1+16+8;
        var _30 = _boxshape0+8;
        var _31 = _0;
        var _32 = _0+4;
        var _33 = _pairset;
        var _tmp33 = _10 + -1;
        __lastLabel__ = 2275; ;
        _bb14$12050: while(1) { // _bb14
          var _indvar29 = __lastLabel__ == 2275 ? 0 : (_indvar_next30);
          var _tmp34 = _tmp33 - _indvar29;
          var _34 = IHEAP[_5];
          var _35 = _34+116;
          var _36 = IHEAP[_35];
          var _37 = _36;
          FUNCTION_TABLE[_37](_shape0, _tmp34, _trans0, _14, _15);
          var _38 = IHEAP[_16];
          var _39 = _38+84;
          var _40 = IHEAP[_39];
          var _41 = _40;
          var _42 = FUNCTION_TABLE[_41](_shape1);
          var _43 = _42 == 0;
          ;
          _bb20_loopexit$_bb_nph$12052: do { 
            if (!_43) {
              ;
              var _tmp27 = _42 + -1;
              __lastLabel__ = 130; ;
              _bb15$12054: while(1) { // _bb15
                var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
                var _tmp28 = _tmp27 - _indvar;
                var _44 = IHEAP[_16];
                var _45 = _44+116;
                var _46 = IHEAP[_45];
                var _47 = _46;
                FUNCTION_TABLE[_47](_shape1, _tmp34, _trans1, _17, _18);
                var _48 = FHEAP[_19];
                var _49 = FHEAP[_20];
                var _50 = _48 > _49;
                ;
                _bb18_backedge$_bb_i$12056: do { 
                  if (!_50) {
                    ;
                    var _51 = FHEAP[_21];
                    var _52 = FHEAP[_22];
                    var _53 = _51 < _52;
                    if (_53) { __label__ = 2276; /* _bb18_backedge */ break _bb18_backedge$_bb_i$12056; }
                    var _54 = FHEAP[_23];
                    var _55 = FHEAP[_24];
                    var _56 = _54 > _55;
                    if (_56) { __label__ = 2276; /* _bb18_backedge */ break _bb18_backedge$_bb_i$12056; }
                    var _57 = FHEAP[_25];
                    var _58 = FHEAP[_26];
                    var _59 = _57 < _58;
                    if (_59) { __label__ = 2276; /* _bb18_backedge */ break _bb18_backedge$_bb_i$12056; }
                    var _60 = FHEAP[_27];
                    var _61 = FHEAP[_28];
                    var _62 = _60 > _61;
                    if (_62) { __label__ = 2276; /* _bb18_backedge */ break _bb18_backedge$_bb_i$12056; }
                    var _63 = FHEAP[_29];
                    var _64 = FHEAP[_30];
                    var _phitmp = _63 < _64;
                    if (_phitmp) { __label__ = 2276; /* _bb18_backedge */ break _bb18_backedge$_bb_i$12056; }
                    IHEAP[_31] = _tmp34;
                    IHEAP[_32] = _tmp28;
                    __ZN20btAlignedObjectArrayI8GIM_PAIRE9push_backERKS0_(_33, _0);
                    ;
                  }
                } while(0);
                var _indvar_next = _indvar + 1;
                var _exitcond = _indvar_next == _42;
                if (_exitcond) { __lastLabel__ = 2276; __label__ = 1996; /* _bb20_loopexit */ break _bb20_loopexit$_bb_nph$12052; } else { __lastLabel__ = 2276; __label__ = 153; /* _bb15 */ continue _bb15$12054; }
              }
            }
          } while(0);
          var _indvar_next30 = _indvar29 + 1;
          var _exitcond31 = _indvar_next30 == _10;
          if (_exitcond31) { __lastLabel__ = 1996; __label__ = 44; /* _return */ break _return$_bb_nph26$12048; } else { __lastLabel__ = 1996; __label__ = 63; /* _bb14 */ continue _bb14$12050; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN27btGImpactCollisionAlgorithm29gimpact_vs_gimpact_find_pairsERK11btTransformS2_P23btGImpactShapeInterfaceS4_R9btPairSet.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithm29gimpact_vs_gimpact_find_pairsERK11btTransformS2_P23btGImpactShapeInterfaceS4_R9btPairSet, "__ZN27btGImpactCollisionAlgorithm29gimpact_vs_gimpact_find_pairsERK11btTransformS2_P23btGImpactShapeInterfaceS4_R9btPairSet");
  
  
  function __ZN27btGImpactCollisionAlgorithm18gimpact_vs_gimpactEP17btCollisionObjectS1_P23btGImpactShapeInterfaceS3_(_this, _body0, _body1, _shape0, _shape1) {
    var __stackBase__  = STACKTOP; STACKTOP += 852;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+64;
    var _orgtrans0 = __stackBase__+128;
    var _orgtrans1 = __stackBase__+192;
    var _pairset = __stackBase__+256;
    var _retriever0 = __stackBase__+276;
    var _retriever1 = __stackBase__+564;
    var _2 = _shape0;
    var _3 = IHEAP[_2];
    var _4 = _3+76;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_shape0);
    var _8 = _7 == 2;
    ;
    _bb$_bb4$12067: do { 
      if (_8) {
        ;
        var _9 = _shape0+144+8;
        var _10 = _9;
        var _11 = IHEAP[_10];
        var _12 = _11 + -1;
        var _13 = _this+28;
        IHEAP[_13] = _12;
        var _14 = _12 == -1;
        if (_14) { __label__ = 2278; /* __ZN9btPairSetD1Ev_exit146 */ break _bb$_bb4$12067; }
        var _15 = _shape0+144+16;
        var _16 = _15;
        __lastLabel__ = 2279; ;
        _bb1$12070: while(1) { // _bb1
          var _17 = __lastLabel__ == 2279 ? _12 : (_23);
          var _18 = IHEAP[_16];
          var _19 = _18+4*_17;
          var _20 = IHEAP[_19];
          var _21 = _20;
          __ZN27btGImpactCollisionAlgorithm18gimpact_vs_gimpactEP17btCollisionObjectS1_P23btGImpactShapeInterfaceS3_(_this, _body0, _body1, _21, _shape1);
          var _22 = IHEAP[_13];
          var _23 = _22 + -1;
          IHEAP[_13] = _23;
          var _24 = _23 == -1;
          if (_24) { __lastLabel__ = 75; __label__ = 2278; /* __ZN9btPairSetD1Ev_exit146 */ break _bb$_bb4$12067; } else { __lastLabel__ = 75; __label__ = 75; /* _bb1 */ continue _bb1$12070; }
        }
      }
      else {
        ;
        var _25 = _shape1;
        var _26 = IHEAP[_25];
        var _27 = _26+76;
        var _28 = IHEAP[_27];
        var _29 = _28;
        var _30 = FUNCTION_TABLE[_29](_shape1);
        var _31 = _30 == 2;
        ;
        if (_31) {
          ;
          var _32 = _shape1+144+8;
          var _33 = _32;
          var _34 = IHEAP[_33];
          var _35 = _34 + -1;
          var _36 = _this+36;
          IHEAP[_36] = _35;
          var _37 = _35 == -1;
          if (_37) { __label__ = 2278; /* __ZN9btPairSetD1Ev_exit146 */ break _bb$_bb4$12067; }
          var _38 = _shape1+144+16;
          var _39 = _38;
          __lastLabel__ = 130; ;
          _bb7$12076: while(1) { // _bb7
            var _40 = __lastLabel__ == 130 ? _35 : (_46);
            var _41 = IHEAP[_39];
            var _42 = _41+4*_40;
            var _43 = IHEAP[_42];
            var _44 = _43;
            __ZN27btGImpactCollisionAlgorithm18gimpact_vs_gimpactEP17btCollisionObjectS1_P23btGImpactShapeInterfaceS3_(_this, _body0, _body1, _shape0, _44);
            var _45 = IHEAP[_36];
            var _46 = _45 + -1;
            IHEAP[_36] = _46;
            var _47 = _46 == -1;
            if (_47) { __lastLabel__ = 2; __label__ = 2278; /* __ZN9btPairSetD1Ev_exit146 */ break _bb$_bb4$12067; } else { __lastLabel__ = 2; __label__ = 2; /* _bb7 */ continue _bb7$12076; }
          }
        }
        else {
          ;
          var _48 = _orgtrans0;
          var _49 = _body0+4;
          var _50 = FHEAP[_49];
          FHEAP[_48] = _50;
          var _51 = _orgtrans0+4;
          var _52 = _body0+4+4;
          var _53 = FHEAP[_52];
          FHEAP[_51] = _53;
          var _54 = _orgtrans0+8;
          var _55 = _body0+4+8;
          var _56 = FHEAP[_55];
          FHEAP[_54] = _56;
          var _57 = _orgtrans0+12;
          var _58 = _body0+4+12;
          var _59 = FHEAP[_58];
          FHEAP[_57] = _59;
          var _60 = _orgtrans0+16;
          var _61 = _body0+4+16;
          var _62 = FHEAP[_61];
          FHEAP[_60] = _62;
          var _63 = _orgtrans0+16+4;
          var _64 = _body0+4+16+4;
          var _65 = FHEAP[_64];
          FHEAP[_63] = _65;
          var _66 = _orgtrans0+16+8;
          var _67 = _body0+4+16+8;
          var _68 = FHEAP[_67];
          FHEAP[_66] = _68;
          var _69 = _orgtrans0+16+12;
          var _70 = _body0+4+16+12;
          var _71 = FHEAP[_70];
          FHEAP[_69] = _71;
          var _72 = _orgtrans0+32;
          var _73 = _body0+4+32;
          var _74 = FHEAP[_73];
          FHEAP[_72] = _74;
          var _75 = _orgtrans0+32+4;
          var _76 = _body0+4+32+4;
          var _77 = FHEAP[_76];
          FHEAP[_75] = _77;
          var _78 = _orgtrans0+32+8;
          var _79 = _body0+4+32+8;
          var _80 = FHEAP[_79];
          FHEAP[_78] = _80;
          var _81 = _orgtrans0+32+12;
          var _82 = _body0+4+32+12;
          var _83 = FHEAP[_82];
          FHEAP[_81] = _83;
          var _84 = _orgtrans0+48;
          var _85 = _body0+4+48;
          var _86 = FHEAP[_85];
          FHEAP[_84] = _86;
          var _87 = _orgtrans0+48+4;
          var _88 = _body0+4+48+4;
          var _89 = FHEAP[_88];
          FHEAP[_87] = _89;
          var _90 = _orgtrans0+48+8;
          var _91 = _body0+4+48+8;
          var _92 = FHEAP[_91];
          FHEAP[_90] = _92;
          var _93 = _orgtrans0+48+12;
          var _94 = _body0+4+48+12;
          var _95 = FHEAP[_94];
          FHEAP[_93] = _95;
          var _96 = _orgtrans1;
          var _97 = _body1+4;
          var _98 = FHEAP[_97];
          FHEAP[_96] = _98;
          var _99 = _orgtrans1+4;
          var _100 = _body1+4+4;
          var _101 = FHEAP[_100];
          FHEAP[_99] = _101;
          var _102 = _orgtrans1+8;
          var _103 = _body1+4+8;
          var _104 = FHEAP[_103];
          FHEAP[_102] = _104;
          var _105 = _orgtrans1+12;
          var _106 = _body1+4+12;
          var _107 = FHEAP[_106];
          FHEAP[_105] = _107;
          var _108 = _orgtrans1+16;
          var _109 = _body1+4+16;
          var _110 = FHEAP[_109];
          FHEAP[_108] = _110;
          var _111 = _orgtrans1+16+4;
          var _112 = _body1+4+16+4;
          var _113 = FHEAP[_112];
          FHEAP[_111] = _113;
          var _114 = _orgtrans1+16+8;
          var _115 = _body1+4+16+8;
          var _116 = FHEAP[_115];
          FHEAP[_114] = _116;
          var _117 = _orgtrans1+16+12;
          var _118 = _body1+4+16+12;
          var _119 = FHEAP[_118];
          FHEAP[_117] = _119;
          var _120 = _orgtrans1+32;
          var _121 = _body1+4+32;
          var _122 = FHEAP[_121];
          FHEAP[_120] = _122;
          var _123 = _orgtrans1+32+4;
          var _124 = _body1+4+32+4;
          var _125 = FHEAP[_124];
          FHEAP[_123] = _125;
          var _126 = _orgtrans1+32+8;
          var _127 = _body1+4+32+8;
          var _128 = FHEAP[_127];
          FHEAP[_126] = _128;
          var _129 = _orgtrans1+32+12;
          var _130 = _body1+4+32+12;
          var _131 = FHEAP[_130];
          FHEAP[_129] = _131;
          var _132 = _orgtrans1+48;
          var _133 = _body1+4+48;
          var _134 = FHEAP[_133];
          FHEAP[_132] = _134;
          var _135 = _orgtrans1+48+4;
          var _136 = _body1+4+48+4;
          var _137 = FHEAP[_136];
          FHEAP[_135] = _137;
          var _138 = _orgtrans1+48+8;
          var _139 = _body1+4+48+8;
          var _140 = FHEAP[_139];
          FHEAP[_138] = _140;
          var _141 = _orgtrans1+48+12;
          var _142 = _body1+4+48+12;
          var _143 = FHEAP[_142];
          FHEAP[_141] = _143;
          __ZN9btPairSetC1Ev(_pairset);
          (function() { try { __THREW__ = false; return __ZN27btGImpactCollisionAlgorithm29gimpact_vs_gimpact_find_pairsERK11btTransformS2_P23btGImpactShapeInterfaceS4_R9btPairSet(_this, _orgtrans0, _orgtrans1, _shape0, _shape1, _pairset) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
          _invcont$_lpad$12079: do { 
            if (__label__ == 345) {
              var _144 = _pairset+4;
              var _145 = IHEAP[_144];
              var _146 = _145 == 0;
              ;
              _bb71$_bb13$12081: do { 
                if (!_146) {
                  ;
                  var _147 = IHEAP[_2];
                  var _148 = _147+76;
                  var _149 = IHEAP[_148];
                  var _150 = _149;
                  var _151 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_150](_shape0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$12079; };
                  var _152 = _151 == 1;
                  ;
                  _bb15$_bb18$12084: do { 
                    if (_152) {
                      ;
                      var _153 = IHEAP[_25];
                      var _154 = _153+76;
                      var _155 = IHEAP[_154];
                      var _156 = _155;
                      var _157 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_156](_shape1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$12079; };
                      var _158 = _157 == 1;
                      if (!(_158)) { __label__ = 86; /* _bb18 */ break _bb15$_bb18$12084; }
                      var _163 = _shape0;
                      var _164 = _shape1;
                      var _165 = IHEAP[_144];
                      var _166 = _pairset+12;
                      var _167 = IHEAP[_166];
                      var _168 = _167;
                      (function() { try { __THREW__ = false; return __ZN27btGImpactCollisionAlgorithm21collide_sat_trianglesEP17btCollisionObjectS1_P22btGImpactMeshShapePartS3_PKii(_this, _body0, _body1, _163, _164, _168, _165) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1565; /* _bb71 */ break _bb71$_bb13$12081; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$12079; }
                    }
                  } while(0);
                  var _159 = IHEAP[_2];
                  var _160 = _159+108;
                  var _161 = IHEAP[_160];
                  var _162 = _161;
                  (function() { try { __THREW__ = false; return FUNCTION_TABLE[_162](_shape0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$12079; }
                  var _169 = IHEAP[_25];
                  var _170 = _169+108;
                  var _171 = IHEAP[_170];
                  var _172 = _171;
                  (function() { try { __THREW__ = false; return FUNCTION_TABLE[_172](_shape1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$12079; }
                  (function() { try { __THREW__ = false; return __ZN18GIM_ShapeRetrieverC2EP23btGImpactShapeInterface(_retriever0, _shape0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$12079; }
                  (function() { try { __THREW__ = false; return __ZN18GIM_ShapeRetrieverC2EP23btGImpactShapeInterface(_retriever1, _shape1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2266; /* _invcont27 */  } else { __label__ = 1278; /* _lpad75 */  }
                  _invcont27$_lpad75$12092: do { 
                    if (__label__ == 2266) {
                      var _173 = IHEAP[_2];
                      var _174 = _173+88;
                      var _175 = IHEAP[_174];
                      var _176 = _175;
                      var _177 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_176](_shape0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2122; /* _invcont28 */  } else { __label__ = 3854; /* _lpad79 */  };
                      _invcont28$_lpad79$12094: do { 
                        if (__label__ == 2122) {
                          var _178 = IHEAP[_25];
                          var _179 = _178+88;
                          var _180 = IHEAP[_179];
                          var _181 = _180;
                          var _182 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_181](_shape1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3854; /* _lpad79 */ break _invcont28$_lpad79$12094; };
                          var _183 = IHEAP[_144];
                          var _184 = _pairset+12;
                          var _185 = _this+24;
                          var _186 = _this+32;
                          var _187 = _retriever0+284;
                          var _188 = _retriever1+284;
                          var _toBool33 = _177 == 0;
                          var _toBool38 = _182 == 0;
                          var _189 = _0+48;
                          var _190 = _0+48+4;
                          var _191 = _0+48+8;
                          var _192 = _0+8;
                          var _193 = _0+16+8;
                          var _194 = _0+32+8;
                          var _195 = _0+4;
                          var _196 = _0+16+4;
                          var _197 = _0+32+4;
                          var _198 = _0;
                          var _199 = _0+16;
                          var _200 = _0+32;
                          var _201 = _1+48;
                          var _202 = _1+48+4;
                          var _203 = _1+48+8;
                          var _204 = _1+8;
                          var _205 = _1+16+8;
                          var _206 = _1+32+8;
                          var _207 = _1+4;
                          var _208 = _1+16+4;
                          var _209 = _1+32+4;
                          var _210 = _1;
                          var _211 = _1+16;
                          var _212 = _1+32;
                          var _tmp175 = _183 + -1;
                          __lastLabel__ = 2280; ;
                          _bb49$12097: while(1) { // _bb49
                            var _indvar = __lastLabel__ == 2285 ? _indvar_next : (0);
                            var _tmp176 = _tmp175 - _indvar;
                            var _445 = _tmp176 == -1;
                            if (_445) { __label__ = 1276; /* _bb51 */ break _bb49$12097; }
                            var _tmp173 = _183 - _indvar;
                            var _213 = IHEAP[_184];
                            var _scevgep177178 = _213+8*_tmp176;
                            var _214 = IHEAP[_scevgep177178];
                            IHEAP[_185] = _214;
                            var _scevgep = _213+8*_tmp173;
                            var _scevgep174 = _scevgep+-4;
                            var _215 = IHEAP[_scevgep174];
                            IHEAP[_186] = _215;
                            var _216 = IHEAP[_187];
                            var _217 = _216;
                            var _218 = IHEAP[_217];
                            var _219 = IHEAP[_218];
                            var _220 = _219;
                            var _221 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_220](_216, _214) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3854; /* _lpad79 */ break _invcont28$_lpad79$12094; };
                            var _222 = IHEAP[_186];
                            var _223 = IHEAP[_188];
                            var _224 = _223;
                            var _225 = IHEAP[_224];
                            var _226 = IHEAP[_225];
                            var _227 = _226;
                            var _228 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_227](_223, _222) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3854; /* _lpad79 */ break _invcont28$_lpad79$12094; };
                            ;
                            if (!_toBool33) {
                              ;
                              var _229 = IHEAP[_2];
                              var _230 = _229+128;
                              var _231 = IHEAP[_230];
                              var _232 = IHEAP[_185];
                              var _233 = _231;
                              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_233](_1, _shape0, _232) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3854; /* _lpad79 */ break _invcont28$_lpad79$12094; }
                              var _234 = FHEAP[_72];
                              var _235 = FHEAP[_201];
                              var _236 = FHEAP[_75];
                              var _237 = FHEAP[_202];
                              var _238 = FHEAP[_78];
                              var _239 = FHEAP[_203];
                              var _240 = FHEAP[_60];
                              var _241 = FHEAP[_63];
                              var _242 = FHEAP[_66];
                              var _243 = FHEAP[_48];
                              var _244 = FHEAP[_51];
                              var _245 = FHEAP[_54];
                              var _246 = FHEAP[_204];
                              var _247 = FHEAP[_205];
                              var _248 = FHEAP[_206];
                              var _249 = FHEAP[_207];
                              var _250 = FHEAP[_208];
                              var _251 = FHEAP[_209];
                              var _252 = FHEAP[_210];
                              var _253 = FHEAP[_211];
                              var _254 = FHEAP[_212];
                              var _255 = _244 * _237;
                              var _256 = _243 * _235;
                              var _257 = _241 * _237;
                              var _258 = _240 * _235;
                              var _259 = _236 * _237;
                              var _260 = _234 * _235;
                              var _261 = _253 * _244;
                              var _262 = _252 * _243;
                              var _263 = _250 * _244;
                              var _264 = _249 * _243;
                              var _265 = _247 * _244;
                              var _266 = _246 * _243;
                              var _267 = _253 * _241;
                              var _268 = _252 * _240;
                              var _269 = _250 * _241;
                              var _270 = _249 * _240;
                              var _271 = _247 * _241;
                              var _272 = _246 * _240;
                              var _273 = _253 * _236;
                              var _274 = _252 * _234;
                              var _275 = _250 * _236;
                              var _276 = _249 * _234;
                              var _277 = _247 * _236;
                              var _278 = _246 * _234;
                              var _279 = _245 * _239;
                              var _280 = _256 + _255;
                              var _281 = _242 * _239;
                              var _282 = _258 + _257;
                              var _283 = _238 * _239;
                              var _284 = _260 + _259;
                              var _285 = _254 * _245;
                              var _286 = _262 + _261;
                              var _287 = _251 * _245;
                              var _288 = _264 + _263;
                              var _289 = _248 * _245;
                              var _290 = _266 + _265;
                              var _291 = _254 * _242;
                              var _292 = _268 + _267;
                              var _293 = _251 * _242;
                              var _294 = _270 + _269;
                              var _295 = _248 * _242;
                              var _296 = _272 + _271;
                              var _297 = _254 * _238;
                              var _298 = _274 + _273;
                              var _299 = _251 * _238;
                              var _300 = _276 + _275;
                              var _301 = _248 * _238;
                              var _302 = _278 + _277;
                              var _303 = FHEAP[_84];
                              var _304 = _280 + _279;
                              var _305 = FHEAP[_87];
                              var _306 = _282 + _281;
                              var _307 = FHEAP[_90];
                              var _308 = _284 + _283;
                              var _309 = _286 + _285;
                              var _310 = _288 + _287;
                              var _311 = _290 + _289;
                              var _312 = _292 + _291;
                              var _313 = _294 + _293;
                              var _314 = _296 + _295;
                              var _315 = _298 + _297;
                              var _316 = _300 + _299;
                              var _317 = _302 + _301;
                              var _318 = _304 + _303;
                              var _319 = _306 + _305;
                              var _320 = _308 + _307;
                              FHEAP[_49] = _309;
                              FHEAP[_52] = _310;
                              FHEAP[_55] = _311;
                              FHEAP[_58] = 0;
                              FHEAP[_61] = _312;
                              FHEAP[_64] = _313;
                              FHEAP[_67] = _314;
                              FHEAP[_70] = 0;
                              FHEAP[_73] = _315;
                              FHEAP[_76] = _316;
                              FHEAP[_79] = _317;
                              FHEAP[_82] = 0;
                              FHEAP[_85] = _318;
                              FHEAP[_88] = _319;
                              FHEAP[_91] = _320;
                              FHEAP[_94] = 0;
                              ;
                            }
                            ;
                            if (!_toBool38) {
                              ;
                              var _321 = IHEAP[_25];
                              var _322 = _321+128;
                              var _323 = IHEAP[_322];
                              var _324 = IHEAP[_186];
                              var _325 = _323;
                              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_325](_0, _shape1, _324) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3854; /* _lpad79 */ break _invcont28$_lpad79$12094; }
                              var _326 = FHEAP[_120];
                              var _327 = FHEAP[_189];
                              var _328 = FHEAP[_123];
                              var _329 = FHEAP[_190];
                              var _330 = FHEAP[_126];
                              var _331 = FHEAP[_191];
                              var _332 = FHEAP[_108];
                              var _333 = FHEAP[_111];
                              var _334 = FHEAP[_114];
                              var _335 = FHEAP[_96];
                              var _336 = FHEAP[_99];
                              var _337 = FHEAP[_102];
                              var _338 = FHEAP[_192];
                              var _339 = FHEAP[_193];
                              var _340 = FHEAP[_194];
                              var _341 = FHEAP[_195];
                              var _342 = FHEAP[_196];
                              var _343 = FHEAP[_197];
                              var _344 = FHEAP[_198];
                              var _345 = FHEAP[_199];
                              var _346 = FHEAP[_200];
                              var _347 = _336 * _329;
                              var _348 = _335 * _327;
                              var _349 = _333 * _329;
                              var _350 = _332 * _327;
                              var _351 = _328 * _329;
                              var _352 = _326 * _327;
                              var _353 = _345 * _336;
                              var _354 = _344 * _335;
                              var _355 = _342 * _336;
                              var _356 = _341 * _335;
                              var _357 = _339 * _336;
                              var _358 = _338 * _335;
                              var _359 = _345 * _333;
                              var _360 = _344 * _332;
                              var _361 = _342 * _333;
                              var _362 = _341 * _332;
                              var _363 = _339 * _333;
                              var _364 = _338 * _332;
                              var _365 = _345 * _328;
                              var _366 = _344 * _326;
                              var _367 = _342 * _328;
                              var _368 = _341 * _326;
                              var _369 = _339 * _328;
                              var _370 = _338 * _326;
                              var _371 = _337 * _331;
                              var _372 = _348 + _347;
                              var _373 = _334 * _331;
                              var _374 = _350 + _349;
                              var _375 = _330 * _331;
                              var _376 = _352 + _351;
                              var _377 = _346 * _337;
                              var _378 = _354 + _353;
                              var _379 = _343 * _337;
                              var _380 = _356 + _355;
                              var _381 = _340 * _337;
                              var _382 = _358 + _357;
                              var _383 = _346 * _334;
                              var _384 = _360 + _359;
                              var _385 = _343 * _334;
                              var _386 = _362 + _361;
                              var _387 = _340 * _334;
                              var _388 = _364 + _363;
                              var _389 = _346 * _330;
                              var _390 = _366 + _365;
                              var _391 = _343 * _330;
                              var _392 = _368 + _367;
                              var _393 = _340 * _330;
                              var _394 = _370 + _369;
                              var _395 = FHEAP[_132];
                              var _396 = _372 + _371;
                              var _397 = FHEAP[_135];
                              var _398 = _374 + _373;
                              var _399 = FHEAP[_138];
                              var _400 = _376 + _375;
                              var _401 = _378 + _377;
                              var _402 = _380 + _379;
                              var _403 = _382 + _381;
                              var _404 = _384 + _383;
                              var _405 = _386 + _385;
                              var _406 = _388 + _387;
                              var _407 = _390 + _389;
                              var _408 = _392 + _391;
                              var _409 = _394 + _393;
                              var _410 = _396 + _395;
                              var _411 = _398 + _397;
                              var _412 = _400 + _399;
                              FHEAP[_97] = _401;
                              FHEAP[_100] = _402;
                              FHEAP[_103] = _403;
                              FHEAP[_106] = 0;
                              FHEAP[_109] = _404;
                              FHEAP[_112] = _405;
                              FHEAP[_115] = _406;
                              FHEAP[_118] = 0;
                              FHEAP[_121] = _407;
                              FHEAP[_124] = _408;
                              FHEAP[_127] = _409;
                              FHEAP[_130] = 0;
                              FHEAP[_133] = _410;
                              FHEAP[_136] = _411;
                              FHEAP[_139] = _412;
                              FHEAP[_142] = 0;
                              ;
                            }
                            (function() { try { __THREW__ = false; return __ZN27btGImpactCollisionAlgorithm26convex_vs_convex_collisionEP17btCollisionObjectS1_P16btCollisionShapeS3_(_this, _body0, _body1, _221, _228) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3854; /* _lpad79 */ break _invcont28$_lpad79$12094; }
                            ;
                            if (!_toBool33) {
                              ;
                              var _413 = FHEAP[_48];
                              FHEAP[_49] = _413;
                              var _414 = FHEAP[_51];
                              FHEAP[_52] = _414;
                              var _415 = FHEAP[_54];
                              FHEAP[_55] = _415;
                              var _416 = FHEAP[_57];
                              FHEAP[_58] = _416;
                              var _417 = FHEAP[_60];
                              FHEAP[_61] = _417;
                              var _418 = FHEAP[_63];
                              FHEAP[_64] = _418;
                              var _419 = FHEAP[_66];
                              FHEAP[_67] = _419;
                              var _420 = FHEAP[_69];
                              FHEAP[_70] = _420;
                              var _421 = FHEAP[_72];
                              FHEAP[_73] = _421;
                              var _422 = FHEAP[_75];
                              FHEAP[_76] = _422;
                              var _423 = FHEAP[_78];
                              FHEAP[_79] = _423;
                              var _424 = FHEAP[_81];
                              FHEAP[_82] = _424;
                              var _425 = FHEAP[_84];
                              FHEAP[_85] = _425;
                              var _426 = FHEAP[_87];
                              FHEAP[_88] = _426;
                              var _427 = FHEAP[_90];
                              FHEAP[_91] = _427;
                              var _428 = FHEAP[_93];
                              FHEAP[_94] = _428;
                              ;
                            }
                            ;
                            if (!_toBool38) {
                              ;
                              var _429 = FHEAP[_96];
                              FHEAP[_97] = _429;
                              var _430 = FHEAP[_99];
                              FHEAP[_100] = _430;
                              var _431 = FHEAP[_102];
                              FHEAP[_103] = _431;
                              var _432 = FHEAP[_105];
                              FHEAP[_106] = _432;
                              var _433 = FHEAP[_108];
                              FHEAP[_109] = _433;
                              var _434 = FHEAP[_111];
                              FHEAP[_112] = _434;
                              var _435 = FHEAP[_114];
                              FHEAP[_115] = _435;
                              var _436 = FHEAP[_117];
                              FHEAP[_118] = _436;
                              var _437 = FHEAP[_120];
                              FHEAP[_121] = _437;
                              var _438 = FHEAP[_123];
                              FHEAP[_124] = _438;
                              var _439 = FHEAP[_126];
                              FHEAP[_127] = _439;
                              var _440 = FHEAP[_129];
                              FHEAP[_130] = _440;
                              var _441 = FHEAP[_132];
                              FHEAP[_133] = _441;
                              var _442 = FHEAP[_135];
                              FHEAP[_136] = _442;
                              var _443 = FHEAP[_138];
                              FHEAP[_139] = _443;
                              var _444 = FHEAP[_141];
                              FHEAP[_142] = _444;
                              ;
                            }
                            var _indvar_next = _indvar + 1;
                            __lastLabel__ = 2285; __label__ = 1019; /* _bb49 */ continue _bb49$12097;
                          }
                          var _446 = IHEAP[_2];
                          var _447 = _446+112;
                          var _448 = IHEAP[_447];
                          var _449 = _448;
                          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_449](_shape0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3854; /* _lpad79 */ break _invcont28$_lpad79$12094; }
                          var _450 = IHEAP[_25];
                          var _451 = _450+112;
                          var _452 = IHEAP[_451];
                          var _453 = _452;
                          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_453](_shape1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3854; /* _lpad79 */ break _invcont28$_lpad79$12094; }
                          var _454 = _retriever1+276;
                          IHEAP[_454] = __ZTVN18GIM_ShapeRetriever19TetraShapeRetrieverE+8;
                          var _455 = _retriever1+268;
                          IHEAP[_455] = __ZTVN18GIM_ShapeRetriever22TriangleShapeRetrieverE+8;
                          var _456 = _retriever1+260;
                          IHEAP[_456] = __ZTVN18GIM_ShapeRetriever19ChildShapeRetrieverE+8;
                          var _457 = _retriever1+104;
                          IHEAP[_457] = __ZTV21btConvexInternalShape+8;
                          var _458 = _retriever1+104;
                          (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_458) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3955; /* _bb3_i121 */  } else { __label__ = 3956; /* _lpad_i124 */  }
                          if (__label__ == 3955) {
                            var _459 = _retriever1+4;
                            IHEAP[_459] = __ZTV21btConvexInternalShape+8;
                            var _460 = _retriever1+4;
                            (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_460) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 1278; /* _lpad75 */ break _invcont27$_lpad75$12092; }
                            var _463 = _retriever0+276;
                            IHEAP[_463] = __ZTVN18GIM_ShapeRetriever19TetraShapeRetrieverE+8;
                            var _464 = _retriever0+268;
                            IHEAP[_464] = __ZTVN18GIM_ShapeRetriever22TriangleShapeRetrieverE+8;
                            var _465 = _retriever0+260;
                            IHEAP[_465] = __ZTVN18GIM_ShapeRetriever19ChildShapeRetrieverE+8;
                            var _466 = _retriever0+104;
                            IHEAP[_466] = __ZTV21btConvexInternalShape+8;
                            var _467 = _retriever0+104;
                            (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_467) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3960; /* _bb3_i132 */  } else { __label__ = 3961; /* _lpad_i135 */  }
                            if (__label__ == 3960) {
                              var _468 = _retriever0+4;
                              IHEAP[_468] = __ZTV21btConvexInternalShape+8;
                              var _469 = _retriever0+4;
                              (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_469) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1565; /* _bb71 */ break _bb71$_bb13$12081; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$12079; }
                            }
                            else if (__label__ == 3961) {
                              var _eh_ptr_i133 = _llvm_eh_exception();
                              var _eh_select6_i134 = _llvm_eh_selector(_eh_ptr_i133, ___gxx_personality_v0, 0);
                              var _470 = _retriever0+4;
                              IHEAP[_470] = __ZTV21btConvexInternalShape+8;
                              var _471 = _retriever0+4;
                              (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_471) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3963; /* _invcont1_i131 */  } else { __label__ = 3964; /* _lpad7_i138 */  }
                              if (__label__ == 3963) {
                                (function() { try { __THREW__ = false; return __Unwind_Resume_or_Rethrow(_eh_ptr_i133) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$12079; }
                                // unreachable
                              }
                              else if (__label__ == 3964) {
                                var _eh_ptr8_i136 = _llvm_eh_exception();
                                var _eh_select10_i137 = _llvm_eh_selector(_eh_ptr8_i136, ___gxx_personality_v0, 1);
                                __ZSt9terminatev();
                                // unreachable
                              }
                            }
                          }
                          else if (__label__ == 3956) {
                            var _eh_ptr_i122 = _llvm_eh_exception();
                            var _eh_select6_i123 = _llvm_eh_selector(_eh_ptr_i122, ___gxx_personality_v0, 0);
                            var _461 = _retriever1+4;
                            IHEAP[_461] = __ZTV21btConvexInternalShape+8;
                            var _462 = _retriever1+4;
                            (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_462) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3958; /* _invcont1_i120 */  } else { __label__ = 3959; /* _lpad7_i127 */  }
                            if (__label__ == 3958) {
                              (function() { try { __THREW__ = false; return __Unwind_Resume_or_Rethrow(_eh_ptr_i122) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 1278; /* _lpad75 */ break _invcont27$_lpad75$12092; }
                              // unreachable
                            }
                            else if (__label__ == 3959) {
                              var _eh_ptr8_i125 = _llvm_eh_exception();
                              var _eh_select10_i126 = _llvm_eh_selector(_eh_ptr8_i125, ___gxx_personality_v0, 1);
                              __ZSt9terminatev();
                              // unreachable
                            }
                          }
                        }
                      } while(0);
                      var _eh_ptr80 = _llvm_eh_exception();
                      var _eh_select82 = _llvm_eh_selector(_eh_ptr80, ___gxx_personality_v0, 0);
                      var _481 = _retriever1+276;
                      IHEAP[_481] = __ZTVN18GIM_ShapeRetriever19TetraShapeRetrieverE+8;
                      var _482 = _retriever1+268;
                      IHEAP[_482] = __ZTVN18GIM_ShapeRetriever22TriangleShapeRetrieverE+8;
                      var _483 = _retriever1+260;
                      IHEAP[_483] = __ZTVN18GIM_ShapeRetriever19ChildShapeRetrieverE+8;
                      var _484 = _retriever1+104;
                      IHEAP[_484] = __ZTV21btConvexInternalShape+8;
                      var _485 = _retriever1+104;
                      (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_485) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3965; /* _bb3_i104 */  } else { __label__ = 3966; /* _lpad_i107 */  }
                      _bb3_i104$_lpad_i107$12136: do { 
                        if (__label__ == 3965) {
                          var _486 = _retriever1+4;
                          IHEAP[_486] = __ZTV21btConvexInternalShape+8;
                          var _487 = _retriever1+4;
                          (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_487) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3965; __label__ = 3199; /* _ppad95 */ break _invcont27$_lpad75$12092; } else { __lastLabel__ = 3965; ; }
                        }
                        else if (__label__ == 3966) {
                          var _eh_ptr_i105 = _llvm_eh_exception();
                          var _eh_select6_i106 = _llvm_eh_selector(_eh_ptr_i105, ___gxx_personality_v0, 0);
                          var _488 = _retriever1+4;
                          IHEAP[_488] = __ZTV21btConvexInternalShape+8;
                          var _489 = _retriever1+4;
                          (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_489) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3969; /* _invcont1_i103 */  } else { __label__ = 3970; /* _lpad7_i110 */  }
                          if (__label__ == 3969) {
                            (function() { try { __THREW__ = false; return __Unwind_Resume_or_Rethrow(_eh_ptr_i105) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3858; /* _lpad83 */ break _bb3_i104$_lpad_i107$12136; }
                            // unreachable
                          }
                          else if (__label__ == 3970) {
                            var _eh_ptr8_i108 = _llvm_eh_exception();
                            var _eh_select10_i109 = _llvm_eh_selector(_eh_ptr8_i108, ___gxx_personality_v0, 1);
                            __ZSt9terminatev();
                            // unreachable
                          }
                        }
                      } while(0);
                      var _eh_ptr84 = _llvm_eh_exception();
                      var _eh_select86 = _llvm_eh_selector(_eh_ptr84, ___gxx_personality_v0, 1);
                      __ZSt9terminatev();
                      // unreachable
                    }
                  } while(0);
                  if (__label__ == 1278) {
                    var _eh_ptr76 = _llvm_eh_exception();
                    var _eh_select78 = _llvm_eh_selector(_eh_ptr76, ___gxx_personality_v0, 0);
                    __lastLabel__ = 1278; ;
                  }
                  var _eh_exception_0 = __lastLabel__ == 1278 ? _eh_ptr76 : (_eh_ptr80);
                  var _496 = _retriever0+276;
                  IHEAP[_496] = __ZTVN18GIM_ShapeRetriever19TetraShapeRetrieverE+8;
                  var _497 = _retriever0+268;
                  IHEAP[_497] = __ZTVN18GIM_ShapeRetriever22TriangleShapeRetrieverE+8;
                  var _498 = _retriever0+260;
                  IHEAP[_498] = __ZTVN18GIM_ShapeRetriever19ChildShapeRetrieverE+8;
                  var _499 = _retriever0+104;
                  IHEAP[_499] = __ZTV21btConvexInternalShape+8;
                  var _500 = _retriever0+104;
                  (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_500) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 133; /* _bb3_i */  } else { __label__ = 3822; /* _lpad_i */  }
                  _bb3_i$_lpad_i$12147: do { 
                    if (__label__ == 133) {
                      var _501 = _retriever0+4;
                      IHEAP[_501] = __ZTV21btConvexInternalShape+8;
                      var _502 = _retriever0+4;
                      (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_502) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 133; __label__ = 45; /* _ppad */ break _invcont$_lpad$12079; } else { __lastLabel__ = 133; ; }
                    }
                    else if (__label__ == 3822) {
                      var _eh_ptr_i = _llvm_eh_exception();
                      var _eh_select6_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
                      var _503 = _retriever0+4;
                      IHEAP[_503] = __ZTV21btConvexInternalShape+8;
                      var _504 = _retriever0+4;
                      (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_504) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3823; /* _invcont1_i */  } else { __label__ = 3954; /* _lpad7_i */  }
                      if (__label__ == 3823) {
                        (function() { try { __THREW__ = false; return __Unwind_Resume_or_Rethrow(_eh_ptr_i) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3856; /* _lpad87 */ break _bb3_i$_lpad_i$12147; }
                        // unreachable
                      }
                      else if (__label__ == 3954) {
                        var _eh_ptr8_i = _llvm_eh_exception();
                        var _eh_select10_i = _llvm_eh_selector(_eh_ptr8_i, ___gxx_personality_v0, 1);
                        __ZSt9terminatev();
                        // unreachable
                      }
                    }
                  } while(0);
                  var _eh_ptr88 = _llvm_eh_exception();
                  var _eh_select90 = _llvm_eh_selector(_eh_ptr88, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              var _475 = _pairset+12;
              var _476 = IHEAP[_475];
              var _477 = _476 == 0;
              if (_477) { __label__ = 2278; /* __ZN9btPairSetD1Ev_exit146 */ break _bb$_bb4$12067; }
              var _478 = _pairset+16;
              var _479 = IHEAP[_478];
              var _toBool_i_i_i_i142 = _479 == 0;
              ;
              if (!_toBool_i_i_i_i142) {
                ;
                var _480 = _476;
                __Z21btAlignedFreeInternalPv(_480);
                ;
              }
              IHEAP[_475] = 0;
              STACKTOP = __stackBase__;
              return;
            }
          } while(0);
          if (__label__ == 254) {
            var _eh_ptr = _llvm_eh_exception();
            var _eh_select74 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
            __lastLabel__ = 254; ;
          }
          var _eh_exception_1 = __lastLabel__ == 254 ? _eh_ptr : (_eh_exception_0);
          var _490 = _pairset+12;
          var _491 = IHEAP[_490];
          var _492 = _491 == 0;
          ;
          if (!_492) {
            ;
            var _493 = _pairset+16;
            var _494 = IHEAP[_493];
            var _toBool_i_i_i_i = _494 == 0;
            ;
            _bb2_i_i_i_i$_bb1_i_i_i_i$12165: do { 
              if (!_toBool_i_i_i_i) {
                ;
                var _495 = _491;
                (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_495) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3769; /* _bb2_i_i_i_i */ break _bb2_i_i_i_i$_bb1_i_i_i_i$12165; } else { ; }
                var _eh_ptr92 = _llvm_eh_exception();
                var _eh_select94 = _llvm_eh_selector(_eh_ptr92, ___gxx_personality_v0, 1);
                __ZSt9terminatev();
                // unreachable
              }
            } while(0);
            IHEAP[_490] = 0;
            ;
          }
          var _472 = _pairset+16;
          IHEAP[_472] = 1;
          IHEAP[_490] = 0;
          var _473 = _pairset+4;
          IHEAP[_473] = 0;
          var _474 = _pairset+8;
          IHEAP[_474] = 0;
          __Unwind_Resume_or_Rethrow(_eh_exception_1);
          // unreachable
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN27btGImpactCollisionAlgorithm18gimpact_vs_gimpactEP17btCollisionObjectS1_P23btGImpactShapeInterfaceS3_.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithm18gimpact_vs_gimpactEP17btCollisionObjectS1_P23btGImpactShapeInterfaceS3_, "__ZN27btGImpactCollisionAlgorithm18gimpact_vs_gimpactEP17btCollisionObjectS1_P23btGImpactShapeInterfaceS3_");
  
  
  function __ZN27btGImpactCollisionAlgorithmD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV27btGImpactCollisionAlgorithm+8;
    var _1 = _this+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i$_bb_i_i$12188: do { 
      if (_3) {
        __label__ = 2293; /* __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i */ 
      }
      else {
        ;
        var _4 = _this+4;
        var _5 = IHEAP[_4];
        var _6 = _5;
        var _7 = IHEAP[_6];
        var _8 = _7+16;
        var _9 = IHEAP[_8];
        var _10 = _9;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_10](_5, _2) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i$_bb_i_i$12188; }
        IHEAP[_1] = 0;
        __label__ = 2293; /* __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i */ break __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i$_bb_i_i$12188;
      }
    } while(0);
    __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i$_lpad$12191: do { 
      if (__label__ == 2293) {
        var _11 = _this+8;
        var _12 = IHEAP[_11];
        var _13 = _12 == 0;
        ;
        if (!_13) {
          ;
          var _14 = _12;
          var _15 = IHEAP[_14];
          var _16 = IHEAP[_15];
          var _17 = _16;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_17](_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i$_lpad$12191; }
          var _18 = _this+4;
          var _19 = IHEAP[_18];
          var _20 = _19;
          var _21 = IHEAP[_20];
          var _22 = _21+52;
          var _23 = IHEAP[_22];
          var _24 = IHEAP[_11];
          var _25 = _23;
          var _26 = _24;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_25](_19, _26) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i$_lpad$12191; }
          IHEAP[_11] = 0;
          ;
        }
        var _27 = _this+24;
        IHEAP[_27] = -1;
        var _28 = _this+28;
        IHEAP[_28] = -1;
        var _29 = _this+32;
        IHEAP[_29] = -1;
        var _30 = _this+36;
        IHEAP[_30] = -1;
        var _31 = _this;
        __ZN30btActivatingCollisionAlgorithmD2Ev(_31);
        var _32 = _this;
        __ZdlPv(_32);
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    var _33 = _this;
    (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_33) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
    if (__label__ == 1554) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 3761) {
      var _eh_ptr10 = _llvm_eh_exception();
      var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN27btGImpactCollisionAlgorithmD0Ev.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithmD0Ev, "__ZN27btGImpactCollisionAlgorithmD0Ev");
  
  
  function __ZN27btGImpactCollisionAlgorithmD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV27btGImpactCollisionAlgorithm+8;
    var _1 = _this+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i$_bb_i_i$12203: do { 
      if (_3) {
        __label__ = 2293; /* __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i */ 
      }
      else {
        ;
        var _4 = _this+4;
        var _5 = IHEAP[_4];
        var _6 = _5;
        var _7 = IHEAP[_6];
        var _8 = _7+16;
        var _9 = IHEAP[_8];
        var _10 = _9;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_10](_5, _2) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i$_bb_i_i$12203; }
        IHEAP[_1] = 0;
        __label__ = 2293; /* __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i */ break __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i$_bb_i_i$12203;
      }
    } while(0);
    __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i$_lpad$12206: do { 
      if (__label__ == 2293) {
        var _11 = _this+8;
        var _12 = IHEAP[_11];
        var _13 = _12 == 0;
        ;
        if (!_13) {
          ;
          var _14 = _12;
          var _15 = IHEAP[_14];
          var _16 = IHEAP[_15];
          var _17 = _16;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_17](_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i$_lpad$12206; }
          var _18 = _this+4;
          var _19 = IHEAP[_18];
          var _20 = _19;
          var _21 = IHEAP[_20];
          var _22 = _21+52;
          var _23 = IHEAP[_22];
          var _24 = IHEAP[_11];
          var _25 = _23;
          var _26 = _24;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_25](_19, _26) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i$_lpad$12206; }
          IHEAP[_11] = 0;
          ;
        }
        var _27 = _this+24;
        IHEAP[_27] = -1;
        var _28 = _this+28;
        IHEAP[_28] = -1;
        var _29 = _this+32;
        IHEAP[_29] = -1;
        var _30 = _this+36;
        IHEAP[_30] = -1;
        var _31 = _this;
        __ZN30btActivatingCollisionAlgorithmD2Ev(_31);
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    var _32 = _this;
    (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_32) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
    if (__label__ == 1554) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 3761) {
      var _eh_ptr10 = _llvm_eh_exception();
      var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN27btGImpactCollisionAlgorithmD1Ev.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithmD1Ev, "__ZN27btGImpactCollisionAlgorithmD1Ev");
  
  
  function __ZN27btGImpactCollisionAlgorithmD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV27btGImpactCollisionAlgorithm+8;
    var _1 = _this+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i$_bb_i_i$12218: do { 
      if (_3) {
        __label__ = 2293; /* __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i */ 
      }
      else {
        ;
        var _4 = _this+4;
        var _5 = IHEAP[_4];
        var _6 = _5;
        var _7 = IHEAP[_6];
        var _8 = _7+16;
        var _9 = IHEAP[_8];
        var _10 = _9;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_10](_5, _2) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i$_bb_i_i$12218; }
        IHEAP[_1] = 0;
        __label__ = 2293; /* __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i */ break __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i$_bb_i_i$12218;
      }
    } while(0);
    __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i$_lpad$12221: do { 
      if (__label__ == 2293) {
        var _11 = _this+8;
        var _12 = IHEAP[_11];
        var _13 = _12 == 0;
        ;
        if (!_13) {
          ;
          var _14 = _12;
          var _15 = IHEAP[_14];
          var _16 = IHEAP[_15];
          var _17 = _16;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_17](_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i$_lpad$12221; }
          var _18 = _this+4;
          var _19 = IHEAP[_18];
          var _20 = _19;
          var _21 = IHEAP[_20];
          var _22 = _21+52;
          var _23 = IHEAP[_22];
          var _24 = IHEAP[_11];
          var _25 = _23;
          var _26 = _24;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_25](_19, _26) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break __ZN27btGImpactCollisionAlgorithm23destroyContactManifoldsEv_exit_i$_lpad$12221; }
          IHEAP[_11] = 0;
          ;
        }
        var _27 = _this+24;
        IHEAP[_27] = -1;
        var _28 = _this+28;
        IHEAP[_28] = -1;
        var _29 = _this+32;
        IHEAP[_29] = -1;
        var _30 = _this+36;
        IHEAP[_30] = -1;
        var _31 = _this;
        __ZN30btActivatingCollisionAlgorithmD2Ev(_31);
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    var _32 = _this;
    (function() { try { __THREW__ = false; return __ZN30btActivatingCollisionAlgorithmD2Ev(_32) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
    if (__label__ == 1554) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 3761) {
      var _eh_ptr10 = _llvm_eh_exception();
      var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN27btGImpactCollisionAlgorithmD2Ev.__index__ = Runtime.getFunctionIndex(__ZN27btGImpactCollisionAlgorithmD2Ev, "__ZN27btGImpactCollisionAlgorithmD2Ev");
  
  
  function __ZN18btQuantizedBvhTree15_build_sub_treeER18GIM_BVH_DATA_ARRAYii(_this, _primitive_boxes, _startIndex, _endIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _node_bound = __stackBase__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 + 1;
    IHEAP[_0] = _2;
    var _3 = _endIndex - _startIndex;
    var _4 = _3 == 1;
    ;
    if (_4) {
      ;
      var _5 = _primitive_boxes+12;
      var _6 = IHEAP[_5];
      var _7 = _this+4+12;
      var _8 = IHEAP[_7];
      var _9 = _8+20*_1;
      var _10 = _6+36*_startIndex;
      var _11 = FHEAP[_10];
      var _12 = _6+36*_startIndex+4;
      var _13 = FHEAP[_12];
      var _14 = _6+36*_startIndex+8;
      var _15 = FHEAP[_14];
      var _16 = _this+24;
      var _17 = FHEAP[_16];
      var _18 = _11 < _17;
      var _clampedPoint_0_0_0_i1_i = _18 ? _17 : _11;
      var _19 = _this+24+4;
      var _20 = FHEAP[_19];
      var _21 = _13 < _20;
      var _clampedPoint_0_1_0_i2_i = _21 ? _20 : _13;
      var _22 = _this+24+8;
      var _23 = FHEAP[_22];
      var _24 = _15 < _23;
      var _clampedPoint_0_2_0_i3_i = _24 ? _23 : _15;
      var _25 = _this+24+16;
      var _26 = FHEAP[_25];
      var _27 = _26 < _clampedPoint_0_0_0_i1_i;
      var _clampedPoint_0_0_1_i4_i = _27 ? _26 : _clampedPoint_0_0_0_i1_i;
      var _28 = _this+24+16+4;
      var _29 = FHEAP[_28];
      var _30 = _29 < _clampedPoint_0_1_0_i2_i;
      var _clampedPoint_0_1_1_i5_i = _30 ? _29 : _clampedPoint_0_1_0_i2_i;
      var _31 = _this+24+16+8;
      var _32 = FHEAP[_31];
      var _33 = _32 < _clampedPoint_0_2_0_i3_i;
      var _clampedPoint_0_2_1_i6_i = _33 ? _32 : _clampedPoint_0_2_0_i3_i;
      var _34 = _clampedPoint_0_2_1_i6_i - _23;
      var _35 = _clampedPoint_0_1_1_i5_i - _20;
      var _36 = _clampedPoint_0_0_1_i4_i - _17;
      var _37 = _this+56+8;
      var _38 = FHEAP[_37];
      var _39 = _34 * _38;
      var _40 = _this+56+4;
      var _41 = FHEAP[_40];
      var _42 = _35 * _41;
      var _43 = _this+56;
      var _44 = FHEAP[_43];
      var _45 = _36 * _44;
      var _46 = _45 + 0.5;
      var _47 = Math.floor(_46);
      IHEAP[_9] = _47;
      var _48 = _42 + 0.5;
      var _49 = Math.floor(_48);
      var _50 = _8+20*_1+2;
      IHEAP[_50] = _49;
      var _51 = _39 + 0.5;
      var _52 = Math.floor(_51);
      var _53 = _8+20*_1+4;
      IHEAP[_53] = _52;
      var _54 = IHEAP[_7];
      var _55 = _54+20*_1+8;
      var _56 = _6+36*_startIndex+16;
      var _57 = FHEAP[_56];
      var _58 = _6+36*_startIndex+16+4;
      var _59 = FHEAP[_58];
      var _60 = _6+36*_startIndex+16+8;
      var _61 = FHEAP[_60];
      var _62 = FHEAP[_16];
      var _63 = _57 < _62;
      var _clampedPoint_0_0_0_i_i = _63 ? _62 : _57;
      var _64 = FHEAP[_19];
      var _65 = _59 < _64;
      var _clampedPoint_0_1_0_i_i = _65 ? _64 : _59;
      var _66 = FHEAP[_22];
      var _67 = _61 < _66;
      var _clampedPoint_0_2_0_i_i = _67 ? _66 : _61;
      var _68 = FHEAP[_25];
      var _69 = _68 < _clampedPoint_0_0_0_i_i;
      var _clampedPoint_0_0_1_i_i = _69 ? _68 : _clampedPoint_0_0_0_i_i;
      var _70 = FHEAP[_28];
      var _71 = _70 < _clampedPoint_0_1_0_i_i;
      var _clampedPoint_0_1_1_i_i = _71 ? _70 : _clampedPoint_0_1_0_i_i;
      var _72 = FHEAP[_31];
      var _73 = _72 < _clampedPoint_0_2_0_i_i;
      var _clampedPoint_0_2_1_i_i = _73 ? _72 : _clampedPoint_0_2_0_i_i;
      var _74 = _clampedPoint_0_2_1_i_i - _66;
      var _75 = _clampedPoint_0_1_1_i_i - _64;
      var _76 = _clampedPoint_0_0_1_i_i - _62;
      var _77 = FHEAP[_37];
      var _78 = _74 * _77;
      var _79 = FHEAP[_40];
      var _80 = _75 * _79;
      var _81 = FHEAP[_43];
      var _82 = _76 * _81;
      var _83 = _82 + 0.5;
      var _84 = Math.floor(_83);
      IHEAP[_55] = _84;
      var _85 = _80 + 0.5;
      var _86 = Math.floor(_85);
      var _87 = _54+20*_1+8+2;
      IHEAP[_87] = _86;
      var _88 = _78 + 0.5;
      var _89 = Math.floor(_88);
      var _90 = _54+20*_1+8+4;
      IHEAP[_90] = _89;
      var _91 = IHEAP[_5];
      var _92 = _91+36*_startIndex+32;
      var _93 = IHEAP[_92];
      var _94 = IHEAP[_7];
      var _95 = _94+20*_1+16;
      IHEAP[_95] = _93;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      var _96 = __ZN18btQuantizedBvhTree20_calc_splitting_axisER18GIM_BVH_DATA_ARRAYii(_this, _primitive_boxes, _startIndex, _endIndex);
      var _97 = __ZN18btQuantizedBvhTree30_sort_and_calc_splitting_indexER18GIM_BVH_DATA_ARRAYiii(_this, _primitive_boxes, _startIndex, _endIndex, _96);
      var _98 = _node_bound;
      FHEAP[_98] = 3.4028234663852886e+38;
      var _99 = _node_bound+4;
      FHEAP[_99] = 3.4028234663852886e+38;
      var _100 = _node_bound+8;
      FHEAP[_100] = 3.4028234663852886e+38;
      var _101 = _node_bound+16;
      FHEAP[_101] = -3.4028234663852886e+38;
      var _102 = _node_bound+16+4;
      FHEAP[_102] = -3.4028234663852886e+38;
      var _103 = _node_bound+16+8;
      FHEAP[_103] = -3.4028234663852886e+38;
      var _104 = _startIndex < _endIndex;
      ;
      _bb_nph$_bb4$12293: do { 
        if (_104) {
          __lastLabel__ = 75; ;
          var _105 = _primitive_boxes+12;
          __lastLabel__ = 130; ;
          _bb2$12295: while(1) { // _bb2
            var _106 = __lastLabel__ == 130 ? -3.4028234663852886e+38 : (_iftmp_144_0_i);
            var _107 = __lastLabel__ == 130 ? -3.4028234663852886e+38 : (_iftmp_143_0_i);
            var _108 = __lastLabel__ == 130 ? -3.4028234663852886e+38 : (_iftmp_142_0_i);
            var _109 = __lastLabel__ == 130 ? 3.4028234663852886e+38 : (_iftmp_141_0_i);
            var _110 = __lastLabel__ == 130 ? 3.4028234663852886e+38 : (_iftmp_140_0_i);
            var _111 = __lastLabel__ == 130 ? 3.4028234663852886e+38 : (_iftmp_139_0_i);
            var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
            var _tmp19 = _indvar + _startIndex;
            var _112 = IHEAP[_105];
            var _scevgep3132 = _112+36*_tmp19;
            var _113 = FHEAP[_scevgep3132];
            var _114 = _111 > _113;
            var _scevgep2930 = _112+36*_tmp19;
            var _box_pn25_i = _114 ? _scevgep2930 : _node_bound;
            var _iftmp_139_0_in_i = _box_pn25_i;
            var _iftmp_139_0_i = FHEAP[_iftmp_139_0_in_i];
            FHEAP[_98] = _iftmp_139_0_i;
            var _scevgep33 = _112+36*_tmp19+4;
            var _115 = FHEAP[_scevgep33];
            var _116 = _110 > _115;
            var _box_pn24_i = _116 ? _scevgep2930 : _node_bound;
            var _iftmp_140_0_in_i = _box_pn24_i+4;
            var _iftmp_140_0_i = FHEAP[_iftmp_140_0_in_i];
            FHEAP[_99] = _iftmp_140_0_i;
            var _scevgep34 = _112+36*_tmp19+8;
            var _117 = FHEAP[_scevgep34];
            var _118 = _109 > _117;
            var _box_pn23_i = _118 ? _scevgep2930 : _node_bound;
            var _iftmp_141_0_in_i = _box_pn23_i+8;
            var _iftmp_141_0_i = FHEAP[_iftmp_141_0_in_i];
            FHEAP[_100] = _iftmp_141_0_i;
            var _scevgep35 = _112+36*_tmp19+16;
            var _119 = FHEAP[_scevgep35];
            var _120 = _108 < _119;
            var _box_pn22_i = _120 ? _scevgep2930 : _node_bound;
            var _iftmp_142_0_in_i = _box_pn22_i+16;
            var _iftmp_142_0_i = FHEAP[_iftmp_142_0_in_i];
            FHEAP[_101] = _iftmp_142_0_i;
            var _scevgep36 = _112+36*_tmp19+16+4;
            var _121 = FHEAP[_scevgep36];
            var _122 = _107 < _121;
            var _box_pn21_i = _122 ? _scevgep2930 : _node_bound;
            var _iftmp_143_0_in_i = _box_pn21_i+16+4;
            var _iftmp_143_0_i = FHEAP[_iftmp_143_0_in_i];
            FHEAP[_102] = _iftmp_143_0_i;
            var _scevgep37 = _112+36*_tmp19+16+8;
            var _123 = FHEAP[_scevgep37];
            var _124 = _106 < _123;
            var _box_pn_i = _124 ? _scevgep2930 : _node_bound;
            var _iftmp_144_0_in_i = _box_pn_i+16+8;
            var _iftmp_144_0_i = FHEAP[_iftmp_144_0_in_i];
            FHEAP[_103] = _iftmp_144_0_i;
            var _indvar_next = _indvar + 1;
            var _exitcond = _indvar_next == _3;
            if (_exitcond) { __lastLabel__ = 0; __label__ = 61; /* _bb4 */ break _bb_nph$_bb4$12293; } else { __lastLabel__ = 0; __label__ = 0; /* _bb2 */ continue _bb2$12295; }
          }
        }
        else {
          __lastLabel__ = 75; ;
        }
      } while(0);
      var _125 = __lastLabel__ == 75 ? -3.4028234663852886e+38 : (_iftmp_144_0_i);
      var _126 = __lastLabel__ == 75 ? -3.4028234663852886e+38 : (_iftmp_143_0_i);
      var _127 = __lastLabel__ == 75 ? -3.4028234663852886e+38 : (_iftmp_142_0_i);
      var _128 = __lastLabel__ == 75 ? 3.4028234663852886e+38 : (_iftmp_141_0_i);
      var _129 = __lastLabel__ == 75 ? 3.4028234663852886e+38 : (_iftmp_140_0_i);
      var _130 = __lastLabel__ == 75 ? 3.4028234663852886e+38 : (_iftmp_139_0_i);
      var _131 = _this+4+12;
      var _132 = IHEAP[_131];
      var _133 = _132+20*_1;
      var _134 = _this+24;
      var _135 = FHEAP[_134];
      var _136 = _130 < _135;
      var _clampedPoint_0_0_0_i1_i6 = _136 ? _135 : _130;
      var _137 = _this+24+4;
      var _138 = FHEAP[_137];
      var _139 = _129 < _138;
      var _clampedPoint_0_1_0_i2_i7 = _139 ? _138 : _129;
      var _140 = _this+24+8;
      var _141 = FHEAP[_140];
      var _142 = _128 < _141;
      var _clampedPoint_0_2_0_i3_i8 = _142 ? _141 : _128;
      var _143 = _this+24+16;
      var _144 = FHEAP[_143];
      var _145 = _144 < _clampedPoint_0_0_0_i1_i6;
      var _clampedPoint_0_0_1_i4_i9 = _145 ? _144 : _clampedPoint_0_0_0_i1_i6;
      var _146 = _this+24+16+4;
      var _147 = FHEAP[_146];
      var _148 = _147 < _clampedPoint_0_1_0_i2_i7;
      var _clampedPoint_0_1_1_i5_i10 = _148 ? _147 : _clampedPoint_0_1_0_i2_i7;
      var _149 = _this+24+16+8;
      var _150 = FHEAP[_149];
      var _151 = _150 < _clampedPoint_0_2_0_i3_i8;
      var _clampedPoint_0_2_1_i6_i11 = _151 ? _150 : _clampedPoint_0_2_0_i3_i8;
      var _152 = _clampedPoint_0_2_1_i6_i11 - _141;
      var _153 = _clampedPoint_0_1_1_i5_i10 - _138;
      var _154 = _clampedPoint_0_0_1_i4_i9 - _135;
      var _155 = _this+56+8;
      var _156 = FHEAP[_155];
      var _157 = _152 * _156;
      var _158 = _this+56+4;
      var _159 = FHEAP[_158];
      var _160 = _153 * _159;
      var _161 = _this+56;
      var _162 = FHEAP[_161];
      var _163 = _154 * _162;
      var _164 = _163 + 0.5;
      var _165 = Math.floor(_164);
      IHEAP[_133] = _165;
      var _166 = _160 + 0.5;
      var _167 = Math.floor(_166);
      var _168 = _132+20*_1+2;
      IHEAP[_168] = _167;
      var _169 = _157 + 0.5;
      var _170 = Math.floor(_169);
      var _171 = _132+20*_1+4;
      IHEAP[_171] = _170;
      var _172 = IHEAP[_131];
      var _173 = _172+20*_1+8;
      var _174 = FHEAP[_134];
      var _175 = _127 < _174;
      var _clampedPoint_0_0_0_i_i12 = _175 ? _174 : _127;
      var _176 = FHEAP[_137];
      var _177 = _126 < _176;
      var _clampedPoint_0_1_0_i_i13 = _177 ? _176 : _126;
      var _178 = FHEAP[_140];
      var _179 = _125 < _178;
      var _clampedPoint_0_2_0_i_i14 = _179 ? _178 : _125;
      var _180 = FHEAP[_143];
      var _181 = _180 < _clampedPoint_0_0_0_i_i12;
      var _clampedPoint_0_0_1_i_i15 = _181 ? _180 : _clampedPoint_0_0_0_i_i12;
      var _182 = FHEAP[_146];
      var _183 = _182 < _clampedPoint_0_1_0_i_i13;
      var _clampedPoint_0_1_1_i_i16 = _183 ? _182 : _clampedPoint_0_1_0_i_i13;
      var _184 = FHEAP[_149];
      var _185 = _184 < _clampedPoint_0_2_0_i_i14;
      var _clampedPoint_0_2_1_i_i17 = _185 ? _184 : _clampedPoint_0_2_0_i_i14;
      var _186 = _clampedPoint_0_2_1_i_i17 - _178;
      var _187 = _clampedPoint_0_1_1_i_i16 - _176;
      var _188 = _clampedPoint_0_0_1_i_i15 - _174;
      var _189 = FHEAP[_155];
      var _190 = _186 * _189;
      var _191 = FHEAP[_158];
      var _192 = _187 * _191;
      var _193 = FHEAP[_161];
      var _194 = _188 * _193;
      var _195 = _194 + 0.5;
      var _196 = Math.floor(_195);
      IHEAP[_173] = _196;
      var _197 = _192 + 0.5;
      var _198 = Math.floor(_197);
      var _199 = _172+20*_1+8+2;
      IHEAP[_199] = _198;
      var _200 = _190 + 0.5;
      var _201 = Math.floor(_200);
      var _202 = _172+20*_1+8+4;
      IHEAP[_202] = _201;
      __ZN18btQuantizedBvhTree15_build_sub_treeER18GIM_BVH_DATA_ARRAYii(_this, _primitive_boxes, _startIndex, _97);
      __ZN18btQuantizedBvhTree15_build_sub_treeER18GIM_BVH_DATA_ARRAYii(_this, _primitive_boxes, _97, _endIndex);
      var _203 = IHEAP[_0];
      var _204 = _1 - _203;
      var _205 = IHEAP[_131];
      var _206 = _205+20*_1+16;
      IHEAP[_206] = _204;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN18btQuantizedBvhTree15_build_sub_treeER18GIM_BVH_DATA_ARRAYii.__index__ = Runtime.getFunctionIndex(__ZN18btQuantizedBvhTree15_build_sub_treeER18GIM_BVH_DATA_ARRAYii, "__ZN18btQuantizedBvhTree15_build_sub_treeER18GIM_BVH_DATA_ARRAYii");
  
  
  function __ZL41_find_quantized_collision_pairs_recursiveP21btGImpactQuantizedBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, _node0, _node1, _complete_primitive_tests) {
    var __stackBase__  = STACKTOP; STACKTOP += 72;
    var __label__;
    var _0 = __stackBase__;
    var _box0_i = __stackBase__+8;
    var _box1_i = __stackBase__+40;
    var _1 = _boxset0+4+12;
    var _2 = IHEAP[_1];
    var _3 = _2+20*_node0;
    var _4 = _2+20*_node0+4;
    var _5 = IHEAP[_4];
    var _6 = unSign(_5, 16);
    var _7 = _boxset0+56+8;
    var _8 = FHEAP[_7];
    var _9 = _6 / _8;
    var _10 = _2+20*_node0+2;
    var _11 = IHEAP[_10];
    var _12 = unSign(_11, 16);
    var _13 = _boxset0+56+4;
    var _14 = FHEAP[_13];
    var _15 = _12 / _14;
    var _16 = IHEAP[_3];
    var _17 = unSign(_16, 16);
    var _18 = _boxset0+56;
    var _19 = FHEAP[_18];
    var _20 = _17 / _19;
    var _21 = _boxset0+24;
    var _22 = FHEAP[_21];
    var _23 = _20 + _22;
    var _24 = _boxset0+24+4;
    var _25 = FHEAP[_24];
    var _26 = _15 + _25;
    var _27 = _boxset0+24+8;
    var _28 = FHEAP[_27];
    var _29 = _9 + _28;
    var _30 = _box0_i;
    FHEAP[_30] = _23;
    var _31 = _box0_i+4;
    FHEAP[_31] = _26;
    var _32 = _box0_i+8;
    FHEAP[_32] = _29;
    var _33 = _box0_i+12;
    FHEAP[_33] = 0;
    var _34 = _2+20*_node0+8;
    var _35 = _2+20*_node0+8+4;
    var _36 = IHEAP[_35];
    var _37 = unSign(_36, 16);
    var _38 = _37 / _8;
    var _39 = _2+20*_node0+8+2;
    var _40 = IHEAP[_39];
    var _41 = unSign(_40, 16);
    var _42 = _41 / _14;
    var _43 = IHEAP[_34];
    var _44 = unSign(_43, 16);
    var _45 = _44 / _19;
    var _46 = _45 + _22;
    var _47 = _42 + _25;
    var _48 = _38 + _28;
    var _49 = _box0_i+16;
    FHEAP[_49] = _46;
    var _50 = _box0_i+16+4;
    FHEAP[_50] = _47;
    var _51 = _box0_i+16+8;
    FHEAP[_51] = _48;
    var _52 = _box0_i+16+12;
    FHEAP[_52] = 0;
    var _53 = _boxset1+4+12;
    var _54 = IHEAP[_53];
    var _55 = _54+20*_node1;
    var _56 = _54+20*_node1+4;
    var _57 = IHEAP[_56];
    var _58 = unSign(_57, 16);
    var _59 = _boxset1+56+8;
    var _60 = FHEAP[_59];
    var _61 = _58 / _60;
    var _62 = _54+20*_node1+2;
    var _63 = IHEAP[_62];
    var _64 = unSign(_63, 16);
    var _65 = _boxset1+56+4;
    var _66 = FHEAP[_65];
    var _67 = _64 / _66;
    var _68 = IHEAP[_55];
    var _69 = unSign(_68, 16);
    var _70 = _boxset1+56;
    var _71 = FHEAP[_70];
    var _72 = _69 / _71;
    var _73 = _boxset1+24;
    var _74 = FHEAP[_73];
    var _75 = _72 + _74;
    var _76 = _boxset1+24+4;
    var _77 = FHEAP[_76];
    var _78 = _67 + _77;
    var _79 = _boxset1+24+8;
    var _80 = FHEAP[_79];
    var _81 = _61 + _80;
    var _82 = _box1_i;
    FHEAP[_82] = _75;
    var _83 = _box1_i+4;
    FHEAP[_83] = _78;
    var _84 = _box1_i+8;
    FHEAP[_84] = _81;
    var _85 = _box1_i+12;
    FHEAP[_85] = 0;
    var _86 = _54+20*_node1+8;
    var _87 = _54+20*_node1+8+4;
    var _88 = IHEAP[_87];
    var _89 = unSign(_88, 16);
    var _90 = _89 / _60;
    var _91 = _54+20*_node1+8+2;
    var _92 = IHEAP[_91];
    var _93 = unSign(_92, 16);
    var _94 = _93 / _66;
    var _95 = IHEAP[_86];
    var _96 = unSign(_95, 16);
    var _97 = _96 / _71;
    var _98 = _97 + _74;
    var _99 = _94 + _77;
    var _100 = _90 + _80;
    var _101 = _box1_i+16;
    FHEAP[_101] = _98;
    var _102 = _box1_i+16+4;
    FHEAP[_102] = _99;
    var _103 = _box1_i+16+8;
    FHEAP[_103] = _100;
    var _104 = _box1_i+16+12;
    FHEAP[_104] = 0;
    var _105 = __ZNK6btAABB23overlapping_trans_cacheERKS_RK26BT_BOX_BOX_TRANSFORM_CACHEb(_box0_i, _box1_i, _trans_cache_1to0, _complete_primitive_tests);
    var _toBoolnot = _105 == 0;
    ;
    if (_toBoolnot) {
      ;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      var _106 = _2+20*_node0+16;
      var _107 = IHEAP[_106];
      var _toBool3 = _107 < 0;
      var _108 = _54+20*_node1+16;
      var _109 = IHEAP[_108];
      var _toBool9 = _109 < 0;
      ;
      if (_toBool3) {
        ;
        ;
        if (_toBool9) {
          ;
          var _127 = _node1 + 1;
          var _128 = _node0 + 1;
          __ZL41_find_quantized_collision_pairs_recursiveP21btGImpactQuantizedBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, _128, _127, 0);
          var _129 = IHEAP[_53];
          var _130 = _129+20*_127+16;
          var _131 = IHEAP[_130];
          var _toBool_i_i18 = _131 < 0;
          var _132 = _node1 + 2;
          var _133 = _127 - _131;
          var _134 = _toBool_i_i18 ? _133 : _132;
          __ZL41_find_quantized_collision_pairs_recursiveP21btGImpactQuantizedBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, _128, _134, 0);
          var _135 = IHEAP[_1];
          var _136 = _135+20*_128+16;
          var _137 = IHEAP[_136];
          var _toBool_i_i20 = _137 < 0;
          var _138 = _node0 + 2;
          var _139 = _128 - _137;
          var _140 = _toBool_i_i20 ? _139 : _138;
          __ZL41_find_quantized_collision_pairs_recursiveP21btGImpactQuantizedBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, _140, _127, 0);
          var _141 = IHEAP[_53];
          var _142 = _141+20*_127+16;
          var _143 = IHEAP[_142];
          var _toBool_i_i17 = _143 < 0;
          var _144 = _127 - _143;
          var _145 = _toBool_i_i17 ? _144 : _132;
          var _146 = IHEAP[_1];
          var _147 = _146+20*_128+16;
          var _148 = IHEAP[_147];
          var _toBool_i_i = _148 < 0;
          var _149 = _128 - _148;
          var _150 = _toBool_i_i ? _149 : _138;
          __ZL41_find_quantized_collision_pairs_recursiveP21btGImpactQuantizedBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, _150, _145, 0);
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _120 = _node0 + 1;
          __ZL41_find_quantized_collision_pairs_recursiveP21btGImpactQuantizedBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, _120, _node1, 0);
          var _121 = IHEAP[_1];
          var _122 = _121+20*_120+16;
          var _123 = IHEAP[_122];
          var _toBool_i_i19 = _123 < 0;
          var _124 = _node0 + 2;
          var _125 = _120 - _123;
          var _126 = _toBool_i_i19 ? _125 : _124;
          __ZL41_find_quantized_collision_pairs_recursiveP21btGImpactQuantizedBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, _126, _node1, 0);
          STACKTOP = __stackBase__;
          return;
        }
      }
      else {
        ;
        ;
        if (_toBool9) {
          ;
          var _113 = _node1 + 1;
          __ZL41_find_quantized_collision_pairs_recursiveP21btGImpactQuantizedBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, _node0, _113, 0);
          var _114 = IHEAP[_53];
          var _115 = _114+20*_113+16;
          var _116 = IHEAP[_115];
          var _toBool_i_i16 = _116 < 0;
          var _117 = _node1 + 2;
          var _118 = _113 - _116;
          var _119 = _toBool_i_i16 ? _118 : _117;
          __ZL41_find_quantized_collision_pairs_recursiveP21btGImpactQuantizedBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib(_boxset0, _boxset1, _collision_pairs, _trans_cache_1to0, _node0, _119, 0);
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _110 = _0;
          IHEAP[_110] = _107;
          var _111 = _0+4;
          IHEAP[_111] = _109;
          var _112 = _collision_pairs;
          __ZN20btAlignedObjectArrayI8GIM_PAIRE9push_backERKS0_(_112, _0);
          STACKTOP = __stackBase__;
          return;
        }
      }
    }
  }
  __ZL41_find_quantized_collision_pairs_recursiveP21btGImpactQuantizedBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib.__index__ = Runtime.getFunctionIndex(__ZL41_find_quantized_collision_pairs_recursiveP21btGImpactQuantizedBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib, "__ZL41_find_quantized_collision_pairs_recursiveP21btGImpactQuantizedBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib");
  
  
  function __ZNK21btGImpactQuantizedBvh8rayQueryERK9btVector3S2_R20btAlignedObjectArrayIiE(_this, _ray_dir, _ray_origin, _collided_results) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _bound = __stackBase__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_bb11$12317: do { 
      if (_2) {
        ;
        var _3 = _this+4+12;
        var _4 = _this+56+8;
        var _5 = _this+56+4;
        var _6 = _this+56;
        var _7 = _this+24;
        var _8 = _this+24+4;
        var _9 = _this+24+8;
        var _10 = _bound;
        var _11 = _bound+4;
        var _12 = _bound+8;
        var _13 = _bound+12;
        var _14 = _bound+16;
        var _15 = _bound+16+4;
        var _16 = _bound+16+8;
        var _17 = _bound+16+12;
        var _18 = _collided_results+4;
        var _19 = _collided_results+8;
        var _20 = _collided_results+12;
        var _21 = _collided_results+16;
        __lastLabel__ = 130; ;
        _bb$12319: while(1) { // _bb
          var _curIndex_019 = __lastLabel__ == 130 ? 0 : (_curIndex_0_be);
          var _22 = IHEAP[_3];
          var _23 = _22+20*_curIndex_019;
          var _24 = _22+20*_curIndex_019+4;
          var _25 = IHEAP[_24];
          var _26 = unSign(_25, 16);
          var _27 = FHEAP[_4];
          var _28 = _26 / _27;
          var _29 = _22+20*_curIndex_019+2;
          var _30 = IHEAP[_29];
          var _31 = unSign(_30, 16);
          var _32 = FHEAP[_5];
          var _33 = _31 / _32;
          var _34 = IHEAP[_23];
          var _35 = unSign(_34, 16);
          var _36 = FHEAP[_6];
          var _37 = _35 / _36;
          var _38 = FHEAP[_7];
          var _39 = _37 + _38;
          var _40 = FHEAP[_8];
          var _41 = _33 + _40;
          var _42 = FHEAP[_9];
          var _43 = _28 + _42;
          FHEAP[_10] = _39;
          FHEAP[_11] = _41;
          FHEAP[_12] = _43;
          FHEAP[_13] = 0;
          var _44 = _22+20*_curIndex_019+8;
          var _45 = _22+20*_curIndex_019+8+4;
          var _46 = IHEAP[_45];
          var _47 = unSign(_46, 16);
          var _48 = _47 / _27;
          var _49 = _22+20*_curIndex_019+8+2;
          var _50 = IHEAP[_49];
          var _51 = unSign(_50, 16);
          var _52 = _51 / _32;
          var _53 = IHEAP[_44];
          var _54 = unSign(_53, 16);
          var _55 = _54 / _36;
          var _56 = _55 + _38;
          var _57 = _52 + _40;
          var _58 = _48 + _42;
          FHEAP[_14] = _56;
          FHEAP[_15] = _57;
          FHEAP[_16] = _58;
          FHEAP[_17] = 0;
          var _59 = __ZNK6btAABB11collide_rayERK9btVector3S2_(_bound, _ray_origin, _ray_dir);
          var _60 = _22+20*_curIndex_019+16;
          var _61 = IHEAP[_60];
          var _toBool = _61 < 0;
          var _toBool2 = _59 == 0;
          var _or_cond = _toBool | _toBool2;
          ;
          if (!_or_cond) {
            ;
            var _62 = IHEAP[_18];
            var _63 = IHEAP[_19];
            var _64 = _63 == _62;
            ;
            _bb_i$_bb1_i$12323: do { 
              if (_64) {
                __lastLabel__ = 116; ;
                var _65 = _62 == 0;
                var _66 = _62 << 1;
                var _iftmp_299_0_i_i = _65 ? 1 : _66;
                var _67 = _63 < _iftmp_299_0_i_i;
                if (_67) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$12323; }
                var _68 = _iftmp_299_0_i_i == 0;
                ;
                if (_68) {
                  __lastLabel__ = 263; ;
                }
                else {
                  __lastLabel__ = 263; ;
                  var _69 = _iftmp_299_0_i_i << 2;
                  var _70 = __Z22btAlignedAllocInternalji(_69, 16);
                  var _phitmp_i_i = _70;
                  var __pre_i = IHEAP[_18];
                  __lastLabel__ = 274; ;
                }
                var _71 = __lastLabel__ == 274 ? __pre_i : (_62);
                var _72 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
                var _73 = _71 > 0;
                if (_73) { __lastLabel__ = 2186; __label__ = 277; /* _bb_i4_i_i */  } else { __lastLabel__ = 2186; __label__ = 2187; /* __ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i */  }
                _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$12329: while(1) { // _bb_i4_i_i,__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i
                  if (__label__ == 277) {
                    var _indvar_i_i_i = __lastLabel__ == 279 ? _indvar_next_i_i_i : (0);
                    var _scevgep_i_i_i = _72+4*_indvar_i_i_i;
                    var _74 = _scevgep_i_i_i == 0;
                    ;
                    if (!_74) {
                      ;
                      var _75 = IHEAP[_20];
                      var _scevgep8_i_i_i = _75+4*_indvar_i_i_i;
                      var _76 = IHEAP[_scevgep8_i_i_i];
                      IHEAP[_scevgep_i_i_i] = _76;
                      ;
                    }
                    var _indvar_next_i_i_i = _indvar_i_i_i + 1;
                    var _exitcond = _indvar_next_i_i_i == _71;
                    if (_exitcond) { __lastLabel__ = 279; __label__ = 2187; /* __ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$12329; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$12329; }
                  }
                  else if (__label__ == 2187) {
                    var _77 = IHEAP[_20];
                    var _78 = _77 == 0;
                    if (_78) { __label__ = 2189; /* __ZN20btAlignedObjectArrayIiE10deallocateEv_exit_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$12329; } else { __label__ = 1387; /* _bb_i_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$12329; }
                  }
                }
                if (__label__ == 1387) {
                  var _79 = IHEAP[_21];
                  var _toBool_i_i_i = _79 == 0;
                  ;
                  if (!_toBool_i_i_i) {
                    ;
                    var _80 = _77;
                    __Z21btAlignedFreeInternalPv(_80);
                    ;
                  }
                  IHEAP[_20] = 0;
                  ;
                }
                IHEAP[_21] = 1;
                IHEAP[_20] = _72;
                IHEAP[_19] = _iftmp_299_0_i_i;
                var __pre5_i = IHEAP[_18];
                __lastLabel__ = 2189; ;
              }
              else {
                __lastLabel__ = 116; ;
              }
            } while(0);
            var _81 = __lastLabel__ == 2189 ? __pre5_i : (__lastLabel__ == 116 ? _62 : (_62));
            var _82 = IHEAP[_20];
            var _83 = _82+4*_81;
            var _84 = _83 == 0;
            ;
            if (_84) {
              __lastLabel__ = 159; ;
            }
            else {
              __lastLabel__ = 159; ;
              IHEAP[_83] = _61;
              var __pre6_i = IHEAP[_18];
              __lastLabel__ = 132; ;
            }
            var _85 = __lastLabel__ == 159 ? _81 : (__pre6_i);
            var _86 = _85 + 1;
            IHEAP[_18] = _86;
            ;
          }
          var _or_cond18 = _toBool2 & _toBool;
          ;
          if (_or_cond18) {
            ;
            var _89 = IHEAP[_3];
            var _90 = _89+20*_curIndex_019+16;
            var _91 = IHEAP[_90];
            var _92 = _curIndex_019 - _91;
            __lastLabel__ = 62; ;
          }
          else {
            ;
            var _87 = _curIndex_019 + 1;
            __lastLabel__ = 148; ;
          }
          var _curIndex_0_be = __lastLabel__ == 148 ? _87 : (_92);
          var _88 = _curIndex_0_be < _1;
          if (_88) { __lastLabel__ = 2196; __label__ = 60; /* _bb */ continue _bb$12319; } else { __lastLabel__ = 2196; __label__ = 292; /* _bb11 */ break _bb_nph$_bb11$12317; }
        }
      }
    } while(0);
    var _93 = _collided_results+4;
    var _94 = IHEAP[_93];
    var _95 = _94 > 0;
    var __0 = _95;
    STACKTOP = __stackBase__;
    return __0;
  }
  __ZNK21btGImpactQuantizedBvh8rayQueryERK9btVector3S2_R20btAlignedObjectArrayIiE.__index__ = Runtime.getFunctionIndex(__ZNK21btGImpactQuantizedBvh8rayQueryERK9btVector3S2_R20btAlignedObjectArrayIiE, "__ZNK21btGImpactQuantizedBvh8rayQueryERK9btVector3S2_R20btAlignedObjectArrayIiE");
  
  
  function __ZNK21btGImpactQuantizedBvh8boxQueryERK6btAABBR20btAlignedObjectArrayIiE(_this, _box, _collided_results) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _box;
    var _3 = FHEAP[_2];
    var _4 = _box+4;
    var _5 = FHEAP[_4];
    var _6 = _box+8;
    var _7 = FHEAP[_6];
    var _8 = _this+24;
    var _9 = FHEAP[_8];
    var _10 = _3 < _9;
    var _clampedPoint_0_0_0_i_i = _10 ? _9 : _3;
    var _11 = _this+24+4;
    var _12 = FHEAP[_11];
    var _13 = _5 < _12;
    var _clampedPoint_0_1_0_i_i = _13 ? _12 : _5;
    var _14 = _this+24+8;
    var _15 = FHEAP[_14];
    var _16 = _7 < _15;
    var _clampedPoint_0_2_0_i_i = _16 ? _15 : _7;
    var _17 = _this+24+16;
    var _18 = FHEAP[_17];
    var _19 = _18 < _clampedPoint_0_0_0_i_i;
    var _clampedPoint_0_0_1_i_i = _19 ? _18 : _clampedPoint_0_0_0_i_i;
    var _20 = _this+24+16+4;
    var _21 = FHEAP[_20];
    var _22 = _21 < _clampedPoint_0_1_0_i_i;
    var _clampedPoint_0_1_1_i_i = _22 ? _21 : _clampedPoint_0_1_0_i_i;
    var _23 = _this+24+16+8;
    var _24 = FHEAP[_23];
    var _25 = _24 < _clampedPoint_0_2_0_i_i;
    var _clampedPoint_0_2_1_i_i = _25 ? _24 : _clampedPoint_0_2_0_i_i;
    var _26 = _clampedPoint_0_2_1_i_i - _15;
    var _27 = _clampedPoint_0_1_1_i_i - _12;
    var _28 = _clampedPoint_0_0_1_i_i - _9;
    var _29 = _this+56+8;
    var _30 = FHEAP[_29];
    var _31 = _26 * _30;
    var _32 = _this+56+4;
    var _33 = FHEAP[_32];
    var _34 = _27 * _33;
    var _35 = _this+56;
    var _36 = FHEAP[_35];
    var _37 = _28 * _36;
    var _38 = _37 + 0.5;
    var _39 = Math.floor(_38);
    var _40 = _34 + 0.5;
    var _41 = Math.floor(_40);
    var _42 = _31 + 0.5;
    var _43 = Math.floor(_42);
    var _44 = _box+16;
    var _45 = FHEAP[_44];
    var _46 = _box+16+4;
    var _47 = FHEAP[_46];
    var _48 = _box+16+8;
    var _49 = FHEAP[_48];
    var _50 = _45 < _9;
    var _clampedPoint_0_0_0_i_i19 = _50 ? _9 : _45;
    var _51 = _47 < _12;
    var _clampedPoint_0_1_0_i_i20 = _51 ? _12 : _47;
    var _52 = _49 < _15;
    var _clampedPoint_0_2_0_i_i21 = _52 ? _15 : _49;
    var _53 = _18 < _clampedPoint_0_0_0_i_i19;
    var _clampedPoint_0_0_1_i_i22 = _53 ? _18 : _clampedPoint_0_0_0_i_i19;
    var _54 = _21 < _clampedPoint_0_1_0_i_i20;
    var _clampedPoint_0_1_1_i_i23 = _54 ? _21 : _clampedPoint_0_1_0_i_i20;
    var _55 = _24 < _clampedPoint_0_2_0_i_i21;
    var _clampedPoint_0_2_1_i_i24 = _55 ? _24 : _clampedPoint_0_2_0_i_i21;
    var _56 = _clampedPoint_0_2_1_i_i24 - _15;
    var _57 = _clampedPoint_0_1_1_i_i23 - _12;
    var _58 = _clampedPoint_0_0_1_i_i22 - _9;
    var _59 = _56 * _30;
    var _60 = _57 * _33;
    var _61 = _58 * _36;
    var _62 = _61 + 0.5;
    var _63 = Math.floor(_62);
    var _64 = _60 + 0.5;
    var _65 = Math.floor(_64);
    var _66 = _59 + 0.5;
    var _67 = Math.floor(_66);
    var _68 = _1 > 0;
    ;
    _bb_nph$_bb11$12353: do { 
      if (_68) {
        ;
        var _69 = _this+4+12;
        var _70 = _collided_results+4;
        var _71 = _collided_results+8;
        var _72 = _collided_results+12;
        var _73 = _collided_results+16;
        __lastLabel__ = 130; ;
        _bb$12355: while(1) { // _bb
          var _curIndex_026 = __lastLabel__ == 130 ? 0 : (_curIndex_0_be);
          var _74 = IHEAP[_69];
          var _75 = _74+20*_curIndex_026;
          var _76 = IHEAP[_75];
          var _77 = unSign(_76, 16) > unSign(_63, 16);
          ;
          __ZNK18btQuantizedBvhTree24testQuantizedBoxOverlappEiPtS0__exit_thread$_bb_i_i25$12357: do { 
            if (_77) {
              __label__ = 2312; /* __ZNK18btQuantizedBvhTree24testQuantizedBoxOverlappEiPtS0__exit_thread */ 
            }
            else {
              ;
              var _78 = _74+20*_curIndex_026+8;
              var _79 = IHEAP[_78];
              var _80 = unSign(_79, 16) < unSign(_39, 16);
              if (_80) { __label__ = 2312; /* __ZNK18btQuantizedBvhTree24testQuantizedBoxOverlappEiPtS0__exit_thread */ break __ZNK18btQuantizedBvhTree24testQuantizedBoxOverlappEiPtS0__exit_thread$_bb_i_i25$12357; }
              var _81 = _74+20*_curIndex_026+2;
              var _82 = IHEAP[_81];
              var _83 = unSign(_82, 16) > unSign(_65, 16);
              if (_83) { __label__ = 2312; /* __ZNK18btQuantizedBvhTree24testQuantizedBoxOverlappEiPtS0__exit_thread */ break __ZNK18btQuantizedBvhTree24testQuantizedBoxOverlappEiPtS0__exit_thread$_bb_i_i25$12357; }
              var _84 = _74+20*_curIndex_026+8+2;
              var _85 = IHEAP[_84];
              var _86 = unSign(_85, 16) < unSign(_41, 16);
              if (_86) { __label__ = 2312; /* __ZNK18btQuantizedBvhTree24testQuantizedBoxOverlappEiPtS0__exit_thread */ break __ZNK18btQuantizedBvhTree24testQuantizedBoxOverlappEiPtS0__exit_thread$_bb_i_i25$12357; }
              var _87 = _74+20*_curIndex_026+4;
              var _88 = IHEAP[_87];
              var _89 = unSign(_88, 16) > unSign(_67, 16);
              if (_89) { __label__ = 2312; /* __ZNK18btQuantizedBvhTree24testQuantizedBoxOverlappEiPtS0__exit_thread */ break __ZNK18btQuantizedBvhTree24testQuantizedBoxOverlappEiPtS0__exit_thread$_bb_i_i25$12357; }
              var _92 = _74+20*_curIndex_026+8+4;
              var _93 = IHEAP[_92];
              var _phitmp = unSign(_93, 16) < unSign(_43, 16);
              var _94 = _74+20*_curIndex_026+16;
              var _95 = IHEAP[_94];
              var _toBool = _95 < 0;
              var _or_cond = _toBool | _phitmp;
              if (_or_cond) { __lastLabel__ = 2313; __label__ = 61; /* _bb4 */ break __ZNK18btQuantizedBvhTree24testQuantizedBoxOverlappEiPtS0__exit_thread$_bb_i_i25$12357; } else { __lastLabel__ = 2313; ; }
              var _96 = IHEAP[_70];
              var _97 = IHEAP[_71];
              var _98 = _97 == _96;
              ;
              _bb_i$_bb1_i$12364: do { 
                if (_98) {
                  __lastLabel__ = 116; ;
                  var _99 = _96 == 0;
                  var _100 = _96 << 1;
                  var _iftmp_299_0_i_i = _99 ? 1 : _100;
                  var _101 = _97 < _iftmp_299_0_i_i;
                  if (_101) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$12364; }
                  var _102 = _iftmp_299_0_i_i == 0;
                  ;
                  if (_102) {
                    __lastLabel__ = 263; ;
                  }
                  else {
                    __lastLabel__ = 263; ;
                    var _103 = _iftmp_299_0_i_i << 2;
                    var _104 = __Z22btAlignedAllocInternalji(_103, 16);
                    var _phitmp_i_i = _104;
                    var __pre_i = IHEAP[_70];
                    __lastLabel__ = 274; ;
                  }
                  var _105 = __lastLabel__ == 274 ? __pre_i : (_96);
                  var _106 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
                  var _107 = _105 > 0;
                  if (_107) { __lastLabel__ = 2186; __label__ = 277; /* _bb_i4_i_i */  } else { __lastLabel__ = 2186; __label__ = 2187; /* __ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i */  }
                  _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$12370: while(1) { // _bb_i4_i_i,__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i
                    if (__label__ == 277) {
                      var _indvar_i_i_i = __lastLabel__ == 279 ? _indvar_next_i_i_i : (0);
                      var _scevgep_i_i_i = _106+4*_indvar_i_i_i;
                      var _108 = _scevgep_i_i_i == 0;
                      ;
                      if (!_108) {
                        ;
                        var _109 = IHEAP[_72];
                        var _scevgep8_i_i_i = _109+4*_indvar_i_i_i;
                        var _110 = IHEAP[_scevgep8_i_i_i];
                        IHEAP[_scevgep_i_i_i] = _110;
                        ;
                      }
                      var _indvar_next_i_i_i = _indvar_i_i_i + 1;
                      var _exitcond = _indvar_next_i_i_i == _105;
                      if (_exitcond) { __lastLabel__ = 279; __label__ = 2187; /* __ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$12370; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$12370; }
                    }
                    else if (__label__ == 2187) {
                      var _111 = IHEAP[_72];
                      var _112 = _111 == 0;
                      if (_112) { __label__ = 2189; /* __ZN20btAlignedObjectArrayIiE10deallocateEv_exit_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$12370; } else { __label__ = 1387; /* _bb_i_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$12370; }
                    }
                  }
                  if (__label__ == 1387) {
                    var _113 = IHEAP[_73];
                    var _toBool_i_i_i = _113 == 0;
                    ;
                    if (!_toBool_i_i_i) {
                      ;
                      var _114 = _111;
                      __Z21btAlignedFreeInternalPv(_114);
                      ;
                    }
                    IHEAP[_72] = 0;
                    ;
                  }
                  IHEAP[_73] = 1;
                  IHEAP[_72] = _106;
                  IHEAP[_71] = _iftmp_299_0_i_i;
                  var __pre5_i = IHEAP[_70];
                  __lastLabel__ = 2189; ;
                }
                else {
                  __lastLabel__ = 116; ;
                }
              } while(0);
              var _115 = __lastLabel__ == 2189 ? __pre5_i : (__lastLabel__ == 116 ? _96 : (_96));
              var _116 = IHEAP[_72];
              var _117 = _116+4*_115;
              var _118 = _117 == 0;
              ;
              if (_118) {
                __lastLabel__ = 159; ;
              }
              else {
                __lastLabel__ = 159; ;
                IHEAP[_117] = _95;
                var __pre6_i = IHEAP[_70];
                __lastLabel__ = 132; ;
              }
              var _119 = __lastLabel__ == 159 ? _115 : (__pre6_i);
              var _120 = _119 + 1;
              IHEAP[_70] = _120;
              __lastLabel__ = 2208; __label__ = 61; /* _bb4 */ break __ZNK18btQuantizedBvhTree24testQuantizedBoxOverlappEiPtS0__exit_thread$_bb_i_i25$12357;
            }
          } while(0);
          if (__label__ == 2312) {
            var _90 = _74+20*_curIndex_026+16;
            var _91 = IHEAP[_90];
            var _toBool27 = _91 < 0;
            __lastLabel__ = 2312; ;
          }
          var _toBool29 = __lastLabel__ == 2312 ? _toBool27 : (__lastLabel__ == 2313 ? _toBool : (_toBool));
          var _121 = __lastLabel__ == 2312 ? true : (__lastLabel__ == 2313 ? _phitmp : (_phitmp));
          var _or_cond18 = _121 & _toBool29;
          ;
          if (_or_cond18) {
            ;
            var _124 = IHEAP[_69];
            var _125 = _124+20*_curIndex_026+16;
            var _126 = IHEAP[_125];
            var _127 = _curIndex_026 - _126;
            __lastLabel__ = 62; ;
          }
          else {
            ;
            var _122 = _curIndex_026 + 1;
            __lastLabel__ = 148; ;
          }
          var _curIndex_0_be = __lastLabel__ == 148 ? _122 : (_127);
          var _123 = _curIndex_0_be < _1;
          if (_123) { __lastLabel__ = 2196; __label__ = 60; /* _bb */ continue _bb$12355; } else { __lastLabel__ = 2196; __label__ = 292; /* _bb11 */ break _bb_nph$_bb11$12353; }
        }
      }
    } while(0);
    var _128 = _collided_results+4;
    var _129 = IHEAP[_128];
    var _130 = _129 > 0;
    var __0 = _130;
    ;
    return __0;
  }
  __ZNK21btGImpactQuantizedBvh8boxQueryERK6btAABBR20btAlignedObjectArrayIiE.__index__ = Runtime.getFunctionIndex(__ZNK21btGImpactQuantizedBvh8boxQueryERK6btAABBR20btAlignedObjectArrayIiE, "__ZNK21btGImpactQuantizedBvh8boxQueryERK6btAABBR20btAlignedObjectArrayIiE");
  
  
  function __ZN20btAlignedObjectArrayI21BT_QUANTIZED_BVH_NODEE7reserveEi(_this, __Count) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+8;
    var _1 = IHEAP[_0];
    var _2 = _1 < __Count;
    ;
    if (_2) {
      ;
      var _3 = __Count == 0;
      ;
      if (_3) {
        __lastLabel__ = 60; ;
      }
      else {
        __lastLabel__ = 60; ;
        var _4 = __Count << 4;
        var _5 = __Z22btAlignedAllocInternalji(_4, 16);
        var _phitmp = _5;
        __lastLabel__ = 654; ;
      }
      var _6 = __lastLabel__ == 654 ? _phitmp : (0);
      var _7 = _this+4;
      var _8 = IHEAP[_7];
      var _9 = _8 > 0;
      ;
      _bb_nph_i$__ZNK20btAlignedObjectArrayI21BT_QUANTIZED_BVH_NODEE4copyEiiPS0__exit$12401: do { 
        if (_9) {
          ;
          var _10 = _this+12;
          __lastLabel__ = 418; ;
          _bb_i4$12403: while(1) { // _bb_i4
            var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
            var _scevgep_i = _6+20*_indvar_i;
            var _11 = _scevgep_i == 0;
            ;
            if (!_11) {
              ;
              var _scevgep17_i = _6+20*_indvar_i+2;
              var _scevgep18_i = _6+20*_indvar_i+4;
              var _scevgep19_i = _6+20*_indvar_i+8;
              var _scevgep20_i = _6+20*_indvar_i+8+2;
              var _scevgep21_i = _6+20*_indvar_i+8+4;
              var _scevgep22_i = _6+20*_indvar_i+16;
              var _scevgep16_i = _6+20*_indvar_i;
              var _12 = IHEAP[_10];
              var _scevgep89_i = _12+20*_indvar_i;
              var _13 = IHEAP[_scevgep89_i];
              IHEAP[_scevgep16_i] = _13;
              var _scevgep10_i = _12+20*_indvar_i+2;
              var _14 = IHEAP[_scevgep10_i];
              IHEAP[_scevgep17_i] = _14;
              var _scevgep11_i = _12+20*_indvar_i+4;
              var _15 = IHEAP[_scevgep11_i];
              IHEAP[_scevgep18_i] = _15;
              var _scevgep12_i = _12+20*_indvar_i+8;
              var _16 = IHEAP[_scevgep12_i];
              IHEAP[_scevgep19_i] = _16;
              var _scevgep13_i = _12+20*_indvar_i+8+2;
              var _17 = IHEAP[_scevgep13_i];
              IHEAP[_scevgep20_i] = _17;
              var _scevgep14_i = _12+20*_indvar_i+8+4;
              var _18 = IHEAP[_scevgep14_i];
              IHEAP[_scevgep21_i] = _18;
              var _scevgep15_i = _12+20*_indvar_i+16;
              var _19 = IHEAP[_scevgep15_i];
              IHEAP[_scevgep22_i] = _19;
              ;
            }
            var _indvar_next_i = _indvar_i + 1;
            var _exitcond = _indvar_next_i == _8;
            if (_exitcond) { __lastLabel__ = 133; __label__ = 2324; /* __ZNK20btAlignedObjectArrayI21BT_QUANTIZED_BVH_NODEE4copyEiiPS0__exit */ break _bb_nph_i$__ZNK20btAlignedObjectArrayI21BT_QUANTIZED_BVH_NODEE4copyEiiPS0__exit$12401; } else { __lastLabel__ = 133; __label__ = 656; /* _bb_i4 */ continue _bb_i4$12403; }
          }
        }
      } while(0);
      var _20 = _this+12;
      var _21 = IHEAP[_20];
      var _22 = _21 == 0;
      ;
      if (!_22) {
        ;
        var _23 = _this+16;
        var _24 = IHEAP[_23];
        var _toBool_i = _24 == 0;
        ;
        if (!_toBool_i) {
          ;
          var _25 = _21;
          __Z21btAlignedFreeInternalPv(_25);
          ;
        }
        IHEAP[_20] = 0;
        ;
      }
      var _26 = _this+16;
      IHEAP[_26] = 1;
      IHEAP[_20] = _6;
      IHEAP[_0] = __Count;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN20btAlignedObjectArrayI21BT_QUANTIZED_BVH_NODEE7reserveEi.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI21BT_QUANTIZED_BVH_NODEE7reserveEi, "__ZN20btAlignedObjectArrayI21BT_QUANTIZED_BVH_NODEE7reserveEi");
  
  
  function __ZN21btGImpactQuantizedBvh8buildSetEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 20;
    var __label__;
    var __lastLabel__ = null;
    var _primitive_boxes = __stackBase__;
    var _0 = _primitive_boxes+16;
    IHEAP[_0] = 1;
    var _1 = _primitive_boxes+12;
    IHEAP[_1] = 0;
    var _2 = _primitive_boxes+4;
    IHEAP[_2] = 0;
    var _3 = _primitive_boxes+8;
    IHEAP[_3] = 0;
    var _4 = _this+72;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = IHEAP[_6];
    var _8 = _7+12;
    var _9 = IHEAP[_8];
    var _10 = _9;
    var _11 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_10](_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
    _invcont$_lpad$12426: do { 
      if (__label__ == 345) {
        var _12 = IHEAP[_2];
        var _13 = _12 < _11;
        ;
        if (_13) {
          ;
          var _14 = _primitive_boxes;
          (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI12GIM_BVH_DATAE7reserveEi(_14, _11) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$12426; }
        }
        IHEAP[_2] = _11;
        __lastLabel__ = 2222; ;
        _bb3$12431: while(1) { // _bb3
          var _24 = __lastLabel__ == 1102 ? __pre : (_11);
          var _25 = __lastLabel__ == 1102 ? _23 : (0);
          var _26 = _24 > _25;
          if (!(_26)) { __label__ = 61; /* _bb4 */ break _bb3$12431; }
          var _15 = IHEAP[_4];
          var _16 = _15;
          var _17 = IHEAP[_16];
          var _18 = _17+16;
          var _19 = IHEAP[_18];
          var _20 = IHEAP[_1];
          var _21 = _19;
          var _scevgep2930 = _20+36*_25;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_21](_15, _25, _scevgep2930) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$12426; }
          var _22 = IHEAP[_1];
          var _scevgep = _22+36*_25+32;
          IHEAP[_scevgep] = _25;
          var _23 = _25 + 1;
          var __pre = IHEAP[_2];
          __lastLabel__ = 1102; __label__ = 116; /* _bb3 */ continue _bb3$12431;
        }
        var _27 = _this;
        __ZN18btQuantizedBvhTree17calc_quantizationER18GIM_BVH_DATA_ARRAYf(_27, _primitive_boxes, 1);
        var _28 = _this;
        IHEAP[_28] = 0;
        var _29 = IHEAP[_2];
        var _30 = _29 << 1;
        var _31 = _this+4+4;
        var _32 = IHEAP[_31];
        var _33 = _32 < _30;
        ;
        if (_33) {
          __lastLabel__ = 61; ;
          var _34 = _this+4;
          (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI21BT_QUANTIZED_BVH_NODEE7reserveEi(_34, _30) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$12426; }
          var _35 = _this+4+12;
          var _tmp27 = _30 - _32;
          __lastLabel__ = 2223; ;
          _bb7_i_i$12439: while(1) { // _bb7_i_i
            var _indvar_i_i = __lastLabel__ == 2223 ? 0 : (_indvar_next_i_i);
            var _tmp28 = _32 + _indvar_i_i;
            var _36 = IHEAP[_35];
            var _scevgep_i_i = _36+20*_tmp28;
            var _37 = _scevgep_i_i == 0;
            ;
            if (!_37) {
              ;
              var _scevgep25_i_i = _36+20*_tmp28+16;
              IHEAP[_scevgep25_i_i] = 0;
              ;
            }
            var _indvar_next_i_i = _indvar_i_i + 1;
            var _exitcond = _indvar_next_i_i == _tmp27;
            if (_exitcond) { __lastLabel__ = 446; __label__ = 2225; /* _bb9_loopexit */ break _bb7_i_i$12439; } else { __lastLabel__ = 446; __label__ = 444; /* _bb7_i_i */ continue _bb7_i_i$12439; }
          }
          var __pre32 = IHEAP[_2];
          __lastLabel__ = 2225; ;
        }
        else {
          __lastLabel__ = 61; ;
        }
        var _38 = __lastLabel__ == 2225 ? __pre32 : (_29);
        IHEAP[_31] = _30;
        __ZN18btQuantizedBvhTree15_build_sub_treeER18GIM_BVH_DATA_ARRAYii(_27, _primitive_boxes, 0, _38);
        var _39 = IHEAP[_1];
        var _40 = _39 == 0;
        ;
        if (_40) {
          ;
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _41 = IHEAP[_0];
          var _toBool_i_i_i_i18 = _41 == 0;
          ;
          if (!_toBool_i_i_i_i18) {
            ;
            var _42 = _39;
            __Z21btAlignedFreeInternalPv(_42);
            ;
          }
          IHEAP[_1] = 0;
          STACKTOP = __stackBase__;
          return;
        }
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select11 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    var _43 = IHEAP[_1];
    var _44 = _43 == 0;
    ;
    if (!_44) {
      ;
      var _45 = IHEAP[_0];
      var _toBool_i_i_i_i = _45 == 0;
      ;
      _bb2_i_i_i_i$_bb1_i_i_i_i$12455: do { 
        if (!_toBool_i_i_i_i) {
          ;
          var _46 = _43;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_46) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3769; /* _bb2_i_i_i_i */ break _bb2_i_i_i_i$_bb1_i_i_i_i$12455; } else { ; }
          var _eh_ptr13 = _llvm_eh_exception();
          var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_1] = 0;
      ;
    }
    IHEAP[_0] = 1;
    IHEAP[_1] = 0;
    IHEAP[_2] = 0;
    IHEAP[_3] = 0;
    __Unwind_Resume_or_Rethrow(_eh_ptr);
    // unreachable
  }
  __ZN21btGImpactQuantizedBvh8buildSetEv.__index__ = Runtime.getFunctionIndex(__ZN21btGImpactQuantizedBvh8buildSetEv, "__ZN21btGImpactQuantizedBvh8buildSetEv");
  
  
  function __ZNK22btGImpactCompoundShape21calculateLocalInertiaEfR9btVector3(_this, _mass, _inertia) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var __lastLabel__ = null;
    var _temp_inertia = __stackBase__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+108;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    FUNCTION_TABLE[_5](_4);
    var _6 = _inertia;
    FHEAP[_6] = 0;
    var _7 = _inertia+4;
    FHEAP[_7] = 0;
    var _8 = _inertia+8;
    FHEAP[_8] = 0;
    var _9 = _inertia+12;
    FHEAP[_9] = 0;
    var _10 = IHEAP[_0];
    var _11 = _10+84;
    var _12 = IHEAP[_11];
    var _13 = _12;
    var _14 = FUNCTION_TABLE[_13](_this);
    var _15 = _14;
    var _16 = _mass / _15;
    var _17 = _14 == 0;
    ;
    _bb6$_bb_nph$12461: do { 
      if (!_17) {
        ;
        var _18 = _this+172+12;
        var _19 = _temp_inertia+8;
        var _20 = _temp_inertia+4;
        var _21 = _temp_inertia;
        var _22 = _this+152+12;
        var _tmp11 = _14 + -1;
        __lastLabel__ = 130; ;
        _bb$12463: while(1) { // _bb
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp12 = _tmp11 - _indvar;
          var _tmp13 = _14 - _indvar;
          var _23 = IHEAP[_18];
          var _scevgep = _23+4*_tmp12;
          var _24 = IHEAP[_scevgep];
          var _25 = _24;
          var _26 = IHEAP[_25];
          var _27 = _26+32;
          var _28 = IHEAP[_27];
          var _29 = _28;
          FUNCTION_TABLE[_29](_24, _16, _temp_inertia);
          var _30 = IHEAP[_0];
          var _31 = _30+88;
          var _32 = IHEAP[_31];
          var _33 = _32;
          var _34 = FUNCTION_TABLE[_33](_this);
          var _toBool = _34 == 0;
          ;
          if (_toBool) {
            ;
            var _90 = __ZN11btTransform11getIdentityEv();
            var _91 = FHEAP[__ZZN11btTransform11getIdentityEvE17identityTransform];
            var _92 = FHEAP[__ZZN11btTransform11getIdentityEvE17identityTransform+16];
            var _93 = FHEAP[__ZZN11btTransform11getIdentityEvE17identityTransform+32];
            var _94 = FHEAP[__ZZN11btTransform11getIdentityEvE17identityTransform+4];
            var _95 = FHEAP[__ZZN11btTransform11getIdentityEvE17identityTransform+16+4];
            var _96 = FHEAP[__ZZN11btTransform11getIdentityEvE17identityTransform+32+4];
            var _97 = FHEAP[__ZZN11btTransform11getIdentityEvE17identityTransform+8];
            var _98 = FHEAP[__ZZN11btTransform11getIdentityEvE17identityTransform+16+8];
            var _99 = FHEAP[__ZZN11btTransform11getIdentityEvE17identityTransform+32+8];
            var _100 = FHEAP[_19];
            var _101 = _99 * _100;
            var _102 = FHEAP[_20];
            var _103 = _96 * _102;
            var _104 = FHEAP[_21];
            var _105 = _93 * _104;
            var _106 = _98 * _100;
            var _107 = _95 * _102;
            var _108 = _92 * _104;
            var _109 = _97 * _100;
            var _110 = _94 * _102;
            var _111 = _91 * _104;
            var _112 = _93 * _105;
            var _113 = _96 * _103;
            var _114 = _112 + _113;
            var _115 = _99 * _101;
            var _116 = _114 + _115;
            var _117 = _92 * _108;
            var _118 = _95 * _107;
            var _119 = _117 + _118;
            var _120 = _98 * _106;
            var _121 = _119 + _120;
            var _122 = _91 * _111;
            var _123 = _94 * _110;
            var _124 = _122 + _123;
            var _125 = _97 * _109;
            var _126 = _124 + _125;
            var _127 = FHEAP[__ZZN11btTransform11getIdentityEvE17identityTransform+48];
            var _128 = _127 * _127;
            var _129 = FHEAP[__ZZN11btTransform11getIdentityEvE17identityTransform+48+4];
            var _130 = _129 * _129;
            var _131 = FHEAP[__ZZN11btTransform11getIdentityEvE17identityTransform+48+8];
            var _132 = _131 * _131;
            var _133 = _130 + _132;
            var _134 = _126 * _133;
            var _135 = _128 + _132;
            var _136 = _121 * _135;
            var _137 = _128 + _130;
            var _138 = _116 * _137;
            var _139 = FHEAP[_8];
            var _140 = _139 + _138;
            var _141 = FHEAP[_7];
            var _142 = _141 + _136;
            var _143 = FHEAP[_6];
            var _144 = _143 + _134;
            __lastLabel__ = 0; ;
          }
          else {
            ;
            var _35 = IHEAP[_22];
            var _scevgep2425 = _35+64*_tmp12;
            var _36 = FHEAP[_scevgep2425];
            var _scevgep2223 = _35+64*_tmp13+-48;
            var _37 = FHEAP[_scevgep2223];
            var _scevgep2021 = _35+64*_tmp13+-32;
            var _38 = FHEAP[_scevgep2021];
            var _scevgep19 = _35+64*_tmp13+-48+-12;
            var _39 = FHEAP[_scevgep19];
            var _scevgep18 = _35+64*_tmp13+-32+-12;
            var _40 = FHEAP[_scevgep18];
            var _scevgep17 = _35+64*_tmp13+-16+-12;
            var _41 = FHEAP[_scevgep17];
            var _scevgep16 = _35+64*_tmp13+-48+-8;
            var _42 = FHEAP[_scevgep16];
            var _scevgep15 = _35+64*_tmp13+-32+-8;
            var _43 = FHEAP[_scevgep15];
            var _scevgep14 = _35+64*_tmp13+-16+-8;
            var _44 = FHEAP[_scevgep14];
            var _45 = FHEAP[_19];
            var _46 = _44 * _45;
            var _47 = FHEAP[_20];
            var _48 = _41 * _47;
            var _49 = FHEAP[_21];
            var _50 = _38 * _49;
            var _51 = _43 * _45;
            var _52 = _40 * _47;
            var _53 = _37 * _49;
            var _54 = _42 * _45;
            var _55 = _39 * _47;
            var _56 = _36 * _49;
            var _57 = _38 * _50;
            var _58 = _41 * _48;
            var _59 = _57 + _58;
            var _60 = _44 * _46;
            var _61 = _59 + _60;
            var _62 = _37 * _53;
            var _63 = _40 * _52;
            var _64 = _62 + _63;
            var _65 = _43 * _51;
            var _66 = _64 + _65;
            var _67 = _36 * _56;
            var _68 = _39 * _55;
            var _69 = _67 + _68;
            var _70 = _42 * _54;
            var _71 = _69 + _70;
            var _scevgep2627 = _35+64*_tmp13+-16;
            var _72 = FHEAP[_scevgep2627];
            var _73 = _72 * _72;
            var _scevgep28 = _35+64*_tmp13+-12;
            var _74 = FHEAP[_scevgep28];
            var _75 = _74 * _74;
            var _scevgep29 = _35+64*_tmp13+-8;
            var _76 = FHEAP[_scevgep29];
            var _77 = _76 * _76;
            var _78 = _75 + _77;
            var _79 = _71 * _78;
            var _80 = _73 + _77;
            var _81 = _66 * _80;
            var _82 = _73 + _75;
            var _83 = _61 * _82;
            var _84 = FHEAP[_8];
            var _85 = _84 + _83;
            var _86 = FHEAP[_7];
            var _87 = _86 + _81;
            var _88 = FHEAP[_6];
            var _89 = _88 + _79;
            __lastLabel__ = 75; ;
          }
          var _storemerge31 = __lastLabel__ == 0 ? _144 : (_89);
          var _storemerge30 = __lastLabel__ == 0 ? _142 : (_87);
          var _storemerge = __lastLabel__ == 0 ? _140 : (_85);
          FHEAP[_6] = _storemerge31;
          FHEAP[_7] = _storemerge30;
          FHEAP[_8] = _storemerge;
          FHEAP[_9] = 0;
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _14;
          if (_exitcond) { __lastLabel__ = 2334; __label__ = 83; /* _bb6 */ break _bb6$_bb_nph$12461; } else { __lastLabel__ = 2334; __label__ = 60; /* _bb */ continue _bb$12463; }
        }
      }
    } while(0);
    var _145 = IHEAP[_0];
    var _146 = _145+112;
    var _147 = IHEAP[_146];
    var _148 = _147;
    FUNCTION_TABLE[_148](_4);
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK22btGImpactCompoundShape21calculateLocalInertiaEfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactCompoundShape21calculateLocalInertiaEfR9btVector3, "__ZNK22btGImpactCompoundShape21calculateLocalInertiaEfR9btVector3");
  
  
  function __ZNK23btGImpactShapeInterface7getAabbERK11btTransformR9btVector3S4_(_this, _t, _aabbMin, _aabbMax) {
    ;
    var __label__;
    var _0 = _this+16;
    var _1 = FHEAP[_0];
    var _2 = _this+16+4;
    var _3 = FHEAP[_2];
    var _4 = _this+16+8;
    var _5 = FHEAP[_4];
    var _6 = _this+16+16;
    var _7 = FHEAP[_6];
    var _8 = _this+16+16+4;
    var _9 = FHEAP[_8];
    var _10 = _this+16+16+8;
    var _11 = FHEAP[_10];
    var _12 = _11 + _5;
    var _13 = _9 + _3;
    var _14 = _7 + _1;
    var _15 = _12 * 0.5;
    var _16 = _13 * 0.5;
    var _17 = _14 * 0.5;
    var _18 = _11 - _15;
    var _19 = _9 - _16;
    var _20 = _7 - _17;
    var _21 = _t+32;
    var _22 = FHEAP[_21];
    var _23 = _22 * _17;
    var _24 = _t+32+4;
    var _25 = FHEAP[_24];
    var _26 = _25 * _16;
    var _27 = _23 + _26;
    var _28 = _t+32+8;
    var _29 = FHEAP[_28];
    var _30 = _29 * _15;
    var _31 = _27 + _30;
    var _32 = _t+48+8;
    var _33 = FHEAP[_32];
    var _34 = _31 + _33;
    var _35 = _t+16;
    var _36 = FHEAP[_35];
    var _37 = _36 * _17;
    var _38 = _t+16+4;
    var _39 = FHEAP[_38];
    var _40 = _39 * _16;
    var _41 = _37 + _40;
    var _42 = _t+16+8;
    var _43 = FHEAP[_42];
    var _44 = _43 * _15;
    var _45 = _41 + _44;
    var _46 = _t+48+4;
    var _47 = FHEAP[_46];
    var _48 = _45 + _47;
    var _49 = _t;
    var _50 = FHEAP[_49];
    var _51 = _50 * _17;
    var _52 = _t+4;
    var _53 = FHEAP[_52];
    var _54 = _53 * _16;
    var _55 = _51 + _54;
    var _56 = _t+8;
    var _57 = FHEAP[_56];
    var _58 = _57 * _15;
    var _59 = _55 + _58;
    var _60 = _t+48;
    var _61 = FHEAP[_60];
    var _62 = _59 + _61;
    var _63 = _fabsf(_29);
    var _64 = _fabsf(_25);
    var _65 = _fabsf(_22);
    var _66 = _20 * _65;
    var _67 = _19 * _64;
    var _68 = _66 + _67;
    var _69 = _18 * _63;
    var _70 = _68 + _69;
    var _71 = _fabsf(_43);
    var _72 = _fabsf(_39);
    var _73 = _fabsf(_36);
    var _74 = _20 * _73;
    var _75 = _19 * _72;
    var _76 = _74 + _75;
    var _77 = _18 * _71;
    var _78 = _76 + _77;
    var _79 = _fabsf(_57);
    var _80 = _fabsf(_53);
    var _81 = _fabsf(_50);
    var _82 = _20 * _81;
    var _83 = _19 * _80;
    var _84 = _82 + _83;
    var _85 = _18 * _79;
    var _86 = _84 + _85;
    var _87 = _34 - _70;
    var _88 = _48 - _78;
    var _89 = _62 - _86;
    var _90 = _34 + _70;
    var _91 = _48 + _78;
    var _92 = _62 + _86;
    var _93 = _aabbMin;
    FHEAP[_93] = _89;
    var _94 = _aabbMin+4;
    FHEAP[_94] = _88;
    var _95 = _aabbMin+8;
    FHEAP[_95] = _87;
    var _96 = _aabbMin+12;
    FHEAP[_96] = 0;
    var _97 = _aabbMax;
    FHEAP[_97] = _92;
    var _98 = _aabbMax+4;
    FHEAP[_98] = _91;
    var _99 = _aabbMax+8;
    FHEAP[_99] = _90;
    var _100 = _aabbMax+12;
    FHEAP[_100] = 0;
    ;
    return;
  }
  __ZNK23btGImpactShapeInterface7getAabbERK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK23btGImpactShapeInterface7getAabbERK11btTransformR9btVector3S4_, "__ZNK23btGImpactShapeInterface7getAabbERK11btTransformR9btVector3S4_");
  
  
  function __ZN23btGImpactShapeInterface9setMarginEf(_this, _margin) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+12;
    FHEAP[_0] = _margin;
    var _1 = _this;
    var _2 = IHEAP[_1];
    var _3 = _2+84;
    var _4 = IHEAP[_3];
    var _5 = _4;
    var _6 = FUNCTION_TABLE[_5](_this);
    var _7 = _6 == 0;
    ;
    _bb2$_bb_nph$12476: do { 
      if (!_7) {
        ;
        var _tmp3 = _6 + -1;
        __lastLabel__ = 130; ;
        _bb$12478: while(1) { // _bb
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp4 = _tmp3 - _indvar;
          var _8 = IHEAP[_1];
          var _9 = _8+120;
          var _10 = IHEAP[_9];
          var _11 = _10;
          var _12 = FUNCTION_TABLE[_11](_this, _tmp4);
          var _13 = _12;
          var _14 = IHEAP[_13];
          var _15 = _14+40;
          var _16 = IHEAP[_15];
          var _17 = _16;
          FUNCTION_TABLE[_17](_12, _margin);
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _6;
          if (_exitcond) { __lastLabel__ = 60; __label__ = 0; /* _bb2 */ break _bb2$_bb_nph$12476; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$12478; }
        }
      }
    } while(0);
    var _18 = _this+48;
    IHEAP[_18] = 1;
    ;
    return;
  }
  __ZN23btGImpactShapeInterface9setMarginEf.__index__ = Runtime.getFunctionIndex(__ZN23btGImpactShapeInterface9setMarginEf, "__ZN23btGImpactShapeInterface9setMarginEf");
  
  
  function __ZNK23btGImpactShapeInterface12getChildAabbEiRK11btTransformR9btVector3S4_(_this, _child_index, _t, _aabbMin, _aabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var _child_aabb = __stackBase__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+80;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = FUNCTION_TABLE[_4](_this);
    var _6 = _5;
    var _7 = IHEAP[_6];
    var _8 = _7+16;
    var _9 = IHEAP[_8];
    var _10 = _9;
    FUNCTION_TABLE[_10](_5, _child_index, _child_aabb);
    var _11 = _child_aabb+16+8;
    var _12 = FHEAP[_11];
    var _13 = _child_aabb+8;
    var _14 = FHEAP[_13];
    var _15 = _12 + _14;
    var _16 = _child_aabb+16+4;
    var _17 = FHEAP[_16];
    var _18 = _child_aabb+4;
    var _19 = FHEAP[_18];
    var _20 = _17 + _19;
    var _21 = _child_aabb+16;
    var _22 = FHEAP[_21];
    var _23 = _child_aabb;
    var _24 = FHEAP[_23];
    var _25 = _22 + _24;
    var _26 = _15 * 0.5;
    var _27 = _20 * 0.5;
    var _28 = _25 * 0.5;
    var _29 = _12 - _26;
    var _30 = _17 - _27;
    var _31 = _22 - _28;
    var _32 = _t+32;
    var _33 = FHEAP[_32];
    var _34 = _33 * _28;
    var _35 = _t+32+4;
    var _36 = FHEAP[_35];
    var _37 = _36 * _27;
    var _38 = _34 + _37;
    var _39 = _t+32+8;
    var _40 = FHEAP[_39];
    var _41 = _40 * _26;
    var _42 = _38 + _41;
    var _43 = _t+48+8;
    var _44 = FHEAP[_43];
    var _45 = _42 + _44;
    var _46 = _t+16;
    var _47 = FHEAP[_46];
    var _48 = _47 * _28;
    var _49 = _t+16+4;
    var _50 = FHEAP[_49];
    var _51 = _50 * _27;
    var _52 = _48 + _51;
    var _53 = _t+16+8;
    var _54 = FHEAP[_53];
    var _55 = _54 * _26;
    var _56 = _52 + _55;
    var _57 = _t+48+4;
    var _58 = FHEAP[_57];
    var _59 = _56 + _58;
    var _60 = _t;
    var _61 = FHEAP[_60];
    var _62 = _61 * _28;
    var _63 = _t+4;
    var _64 = FHEAP[_63];
    var _65 = _64 * _27;
    var _66 = _62 + _65;
    var _67 = _t+8;
    var _68 = FHEAP[_67];
    var _69 = _68 * _26;
    var _70 = _66 + _69;
    var _71 = _t+48;
    var _72 = FHEAP[_71];
    var _73 = _70 + _72;
    var _74 = _fabsf(_40);
    var _75 = _fabsf(_36);
    var _76 = _fabsf(_33);
    var _77 = _31 * _76;
    var _78 = _30 * _75;
    var _79 = _77 + _78;
    var _80 = _29 * _74;
    var _81 = _79 + _80;
    var _82 = _fabsf(_54);
    var _83 = _fabsf(_50);
    var _84 = _fabsf(_47);
    var _85 = _31 * _84;
    var _86 = _30 * _83;
    var _87 = _85 + _86;
    var _88 = _29 * _82;
    var _89 = _87 + _88;
    var _90 = _fabsf(_68);
    var _91 = _fabsf(_64);
    var _92 = _fabsf(_61);
    var _93 = _31 * _92;
    var _94 = _30 * _91;
    var _95 = _93 + _94;
    var _96 = _29 * _90;
    var _97 = _95 + _96;
    var _98 = _45 - _81;
    var _99 = _59 - _89;
    var _100 = _73 - _97;
    var _101 = _45 + _81;
    var _102 = _59 + _89;
    var _103 = _73 + _97;
    var _104 = _aabbMin;
    FHEAP[_104] = _100;
    var _105 = _aabbMin+4;
    FHEAP[_105] = _99;
    var _106 = _aabbMin+8;
    FHEAP[_106] = _98;
    var _107 = _aabbMin+12;
    FHEAP[_107] = 0;
    var _108 = _aabbMax;
    FHEAP[_108] = _103;
    var _109 = _aabbMax+4;
    FHEAP[_109] = _102;
    var _110 = _aabbMax+8;
    FHEAP[_110] = _101;
    var _111 = _aabbMax+12;
    FHEAP[_111] = 0;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK23btGImpactShapeInterface12getChildAabbEiRK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK23btGImpactShapeInterface12getChildAabbEiRK11btTransformR9btVector3S4_, "__ZNK23btGImpactShapeInterface12getChildAabbEiRK11btTransformR9btVector3S4_");
  
  
  function __ZNK22btGImpactCompoundShape24CompoundPrimitiveManager19get_primitive_countEv(_this) {
    ;
    var __label__;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+84;
    var _5 = IHEAP[_4];
    var _6 = _5;
    var _7 = FUNCTION_TABLE[_6](_1);
    ;
    return _7;
  }
  __ZNK22btGImpactCompoundShape24CompoundPrimitiveManager19get_primitive_countEv.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactCompoundShape24CompoundPrimitiveManager19get_primitive_countEv, "__ZNK22btGImpactCompoundShape24CompoundPrimitiveManager19get_primitive_countEv");
  
  
  function __ZNK22btGImpactCompoundShape24CompoundPrimitiveManager17get_primitive_boxEiR6btAABB(_this, _prim_index, _primbox) {
    var __stackBase__  = STACKTOP; STACKTOP += 128;
    var __label__;
    var _0 = __stackBase__;
    var _prim_trans = __stackBase__+64;
    var _1 = _this+4;
    var _2 = IHEAP[_1];
    var _3 = _2;
    var _4 = IHEAP[_3];
    var _5 = _4+88;
    var _6 = IHEAP[_5];
    var _7 = _6;
    var _8 = FUNCTION_TABLE[_7](_2);
    var _toBool = _8 == 0;
    ;
    if (_toBool) {
      ;
      var _63 = _prim_trans;
      FHEAP[_63] = 1;
      var _64 = _prim_trans+4;
      FHEAP[_64] = 0;
      var _65 = _prim_trans+8;
      FHEAP[_65] = 0;
      var _66 = _prim_trans+12;
      FHEAP[_66] = 0;
      var _67 = _prim_trans+16;
      FHEAP[_67] = 0;
      var _68 = _prim_trans+16+4;
      FHEAP[_68] = 1;
      var _69 = _prim_trans+16+8;
      FHEAP[_69] = 0;
      var _70 = _prim_trans+16+12;
      FHEAP[_70] = 0;
      var _71 = _prim_trans+32;
      FHEAP[_71] = 0;
      var _72 = _prim_trans+32+4;
      FHEAP[_72] = 0;
      var _73 = _prim_trans+32+8;
      FHEAP[_73] = 1;
      var _74 = _prim_trans+32+12;
      FHEAP[_74] = 0;
      var _75 = _prim_trans+48;
      FHEAP[_75] = 0;
      var _76 = _prim_trans+48+4;
      FHEAP[_76] = 0;
      var _77 = _prim_trans+48+8;
      FHEAP[_77] = 0;
      var _78 = _prim_trans+48+12;
      FHEAP[_78] = 0;
      ;
    }
    else {
      ;
      var _9 = IHEAP[_1];
      var _10 = _9;
      var _11 = IHEAP[_10];
      var _12 = _11+128;
      var _13 = IHEAP[_12];
      var _14 = _13;
      FUNCTION_TABLE[_14](_0, _9, _prim_index);
      var _15 = _prim_trans;
      var _16 = _0;
      var _17 = FHEAP[_16];
      FHEAP[_15] = _17;
      var _18 = _prim_trans+4;
      var _19 = _0+4;
      var _20 = FHEAP[_19];
      FHEAP[_18] = _20;
      var _21 = _prim_trans+8;
      var _22 = _0+8;
      var _23 = FHEAP[_22];
      FHEAP[_21] = _23;
      var _24 = _prim_trans+12;
      var _25 = _0+12;
      var _26 = FHEAP[_25];
      FHEAP[_24] = _26;
      var _27 = _prim_trans+16;
      var _28 = _0+16;
      var _29 = FHEAP[_28];
      FHEAP[_27] = _29;
      var _30 = _prim_trans+16+4;
      var _31 = _0+16+4;
      var _32 = FHEAP[_31];
      FHEAP[_30] = _32;
      var _33 = _prim_trans+16+8;
      var _34 = _0+16+8;
      var _35 = FHEAP[_34];
      FHEAP[_33] = _35;
      var _36 = _prim_trans+16+12;
      var _37 = _0+16+12;
      var _38 = FHEAP[_37];
      FHEAP[_36] = _38;
      var _39 = _prim_trans+32;
      var _40 = _0+32;
      var _41 = FHEAP[_40];
      FHEAP[_39] = _41;
      var _42 = _prim_trans+32+4;
      var _43 = _0+32+4;
      var _44 = FHEAP[_43];
      FHEAP[_42] = _44;
      var _45 = _prim_trans+32+8;
      var _46 = _0+32+8;
      var _47 = FHEAP[_46];
      FHEAP[_45] = _47;
      var _48 = _prim_trans+32+12;
      var _49 = _0+32+12;
      var _50 = FHEAP[_49];
      FHEAP[_48] = _50;
      var _51 = _prim_trans+48;
      var _52 = _0+48;
      var _53 = FHEAP[_52];
      FHEAP[_51] = _53;
      var _54 = _prim_trans+48+4;
      var _55 = _0+48+4;
      var _56 = FHEAP[_55];
      FHEAP[_54] = _56;
      var _57 = _prim_trans+48+8;
      var _58 = _0+48+8;
      var _59 = FHEAP[_58];
      FHEAP[_57] = _59;
      var _60 = _prim_trans+48+12;
      var _61 = _0+48+12;
      var _62 = FHEAP[_61];
      FHEAP[_60] = _62;
      ;
    }
    var _79 = IHEAP[_1];
    var _80 = _79;
    var _81 = IHEAP[_80];
    var _82 = _81+120;
    var _83 = IHEAP[_82];
    var _84 = _83;
    var _85 = FUNCTION_TABLE[_84](_79, _prim_index);
    var _86 = _85;
    var _87 = IHEAP[_86];
    var _88 = _87+8;
    var _89 = IHEAP[_88];
    var _90 = _primbox+16;
    var _91 = _primbox;
    var _92 = _89;
    FUNCTION_TABLE[_92](_85, _prim_trans, _91, _90);
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK22btGImpactCompoundShape24CompoundPrimitiveManager17get_primitive_boxEiR6btAABB.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactCompoundShape24CompoundPrimitiveManager17get_primitive_boxEiR6btAABB, "__ZNK22btGImpactCompoundShape24CompoundPrimitiveManager17get_primitive_boxEiR6btAABB");
  
  
  function __ZNK22btGImpactCompoundShape12getChildAabbEiRK11btTransformR9btVector3S4_(_this, _child_index, _t, _aabbMin, _aabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 64;
    var __label__;
    var _0 = __stackBase__;
    var _1 = _this;
    var _2 = IHEAP[_1];
    var _3 = _2+88;
    var _4 = IHEAP[_3];
    var _5 = _4;
    var _6 = FUNCTION_TABLE[_5](_this);
    var _toBool = _6 == 0;
    var _7 = _this+172+12;
    var _8 = IHEAP[_7];
    var _9 = _8+4*_child_index;
    var _10 = IHEAP[_9];
    var _11 = _10;
    var _12 = IHEAP[_11];
    var _13 = _12+8;
    var _14 = IHEAP[_13];
    ;
    if (_toBool) {
      ;
      var _145 = _14;
      FUNCTION_TABLE[_145](_10, _t, _aabbMin, _aabbMax);
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      var _15 = _this+152+12;
      var _16 = IHEAP[_15];
      var _17 = _t+32;
      var _18 = FHEAP[_17];
      var _19 = _16+64*_child_index+48;
      var _20 = FHEAP[_19];
      var _21 = _18 * _20;
      var _22 = _t+32+4;
      var _23 = FHEAP[_22];
      var _24 = _16+64*_child_index+48+4;
      var _25 = FHEAP[_24];
      var _26 = _23 * _25;
      var _27 = _21 + _26;
      var _28 = _t+32+8;
      var _29 = FHEAP[_28];
      var _30 = _16+64*_child_index+48+8;
      var _31 = FHEAP[_30];
      var _32 = _29 * _31;
      var _33 = _27 + _32;
      var _34 = _t+48+8;
      var _35 = FHEAP[_34];
      var _36 = _33 + _35;
      var _37 = _t+16;
      var _38 = FHEAP[_37];
      var _39 = _38 * _20;
      var _40 = _t+16+4;
      var _41 = FHEAP[_40];
      var _42 = _41 * _25;
      var _43 = _39 + _42;
      var _44 = _t+16+8;
      var _45 = FHEAP[_44];
      var _46 = _45 * _31;
      var _47 = _43 + _46;
      var _48 = _t+48+4;
      var _49 = FHEAP[_48];
      var _50 = _47 + _49;
      var _51 = _t;
      var _52 = FHEAP[_51];
      var _53 = _52 * _20;
      var _54 = _t+4;
      var _55 = FHEAP[_54];
      var _56 = _55 * _25;
      var _57 = _53 + _56;
      var _58 = _t+8;
      var _59 = FHEAP[_58];
      var _60 = _59 * _31;
      var _61 = _57 + _60;
      var _62 = _t+48;
      var _63 = FHEAP[_62];
      var _64 = _61 + _63;
      var _65 = _16+64*_child_index+8;
      var _66 = FHEAP[_65];
      var _67 = _66 * _18;
      var _68 = _16+64*_child_index+16+8;
      var _69 = FHEAP[_68];
      var _70 = _69 * _23;
      var _71 = _67 + _70;
      var _72 = _16+64*_child_index+32+8;
      var _73 = FHEAP[_72];
      var _74 = _73 * _29;
      var _75 = _71 + _74;
      var _76 = _16+64*_child_index+4;
      var _77 = FHEAP[_76];
      var _78 = _77 * _18;
      var _79 = _16+64*_child_index+16+4;
      var _80 = FHEAP[_79];
      var _81 = _80 * _23;
      var _82 = _78 + _81;
      var _83 = _16+64*_child_index+32+4;
      var _84 = FHEAP[_83];
      var _85 = _84 * _29;
      var _86 = _82 + _85;
      var _87 = _16+64*_child_index;
      var _88 = FHEAP[_87];
      var _89 = _88 * _18;
      var _90 = _16+64*_child_index+16;
      var _91 = FHEAP[_90];
      var _92 = _91 * _23;
      var _93 = _89 + _92;
      var _94 = _16+64*_child_index+32;
      var _95 = FHEAP[_94];
      var _96 = _95 * _29;
      var _97 = _93 + _96;
      var _98 = _66 * _38;
      var _99 = _69 * _41;
      var _100 = _98 + _99;
      var _101 = _73 * _45;
      var _102 = _100 + _101;
      var _103 = _77 * _38;
      var _104 = _80 * _41;
      var _105 = _103 + _104;
      var _106 = _84 * _45;
      var _107 = _105 + _106;
      var _108 = _88 * _38;
      var _109 = _91 * _41;
      var _110 = _108 + _109;
      var _111 = _95 * _45;
      var _112 = _110 + _111;
      var _113 = _66 * _52;
      var _114 = _69 * _55;
      var _115 = _113 + _114;
      var _116 = _73 * _59;
      var _117 = _115 + _116;
      var _118 = _77 * _52;
      var _119 = _80 * _55;
      var _120 = _118 + _119;
      var _121 = _84 * _59;
      var _122 = _120 + _121;
      var _123 = _88 * _52;
      var _124 = _91 * _55;
      var _125 = _123 + _124;
      var _126 = _95 * _59;
      var _127 = _125 + _126;
      var _128 = _0;
      FHEAP[_128] = _127;
      var _129 = _0+4;
      FHEAP[_129] = _122;
      var _130 = _0+8;
      FHEAP[_130] = _117;
      var _131 = _0+12;
      FHEAP[_131] = 0;
      var _132 = _0+16;
      FHEAP[_132] = _112;
      var _133 = _0+16+4;
      FHEAP[_133] = _107;
      var _134 = _0+16+8;
      FHEAP[_134] = _102;
      var _135 = _0+16+12;
      FHEAP[_135] = 0;
      var _136 = _0+32;
      FHEAP[_136] = _97;
      var _137 = _0+32+4;
      FHEAP[_137] = _86;
      var _138 = _0+32+8;
      FHEAP[_138] = _75;
      var _139 = _0+32+12;
      FHEAP[_139] = 0;
      var _140 = _0+48;
      FHEAP[_140] = _64;
      var _141 = _0+48+4;
      FHEAP[_141] = _50;
      var _142 = _0+48+8;
      FHEAP[_142] = _36;
      var _143 = _0+48+12;
      FHEAP[_143] = 0;
      var _144 = _14;
      FUNCTION_TABLE[_144](_10, _0, _aabbMin, _aabbMax);
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZNK22btGImpactCompoundShape12getChildAabbEiRK11btTransformR9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactCompoundShape12getChildAabbEiRK11btTransformR9btVector3S4_, "__ZNK22btGImpactCompoundShape12getChildAabbEiRK11btTransformR9btVector3S4_");
  
  
  function __ZNK18btGImpactMeshShape9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = __ZNK16btCollisionShape9serializeEPvP12btSerializer(_0, _dataBuffer, _serializer);
    var _2 = _this+144;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = IHEAP[_4];
    var _6 = _5+56;
    var _7 = IHEAP[_6];
    var _8 = _dataBuffer+12;
    var _9 = _7;
    var _10 = FUNCTION_TABLE[_9](_3, _8, _serializer);
    var _11 = _this+12;
    var _12 = FHEAP[_11];
    var _13 = _dataBuffer+56;
    var _14 = _13;
    FHEAP[_14] = _12;
    var _15 = _dataBuffer+40;
    var _scevgep_i = _this+52;
    var _scevgep4_i = _15;
    var _16 = FHEAP[_scevgep_i];
    FHEAP[_scevgep4_i] = _16;
    var _scevgep_1_i = _this+52+4;
    var _scevgep4_1_i = _dataBuffer+44;
    var _17 = _scevgep4_1_i;
    var _18 = FHEAP[_scevgep_1_i];
    FHEAP[_17] = _18;
    var _scevgep_2_i = _this+52+8;
    var _scevgep4_2_i = _dataBuffer+48;
    var _19 = _scevgep4_2_i;
    var _20 = FHEAP[_scevgep_2_i];
    FHEAP[_19] = _20;
    var _scevgep_3_i = _this+52+12;
    var _scevgep4_3_i = _dataBuffer+52;
    var _21 = _scevgep4_3_i;
    var _22 = FHEAP[_scevgep_3_i];
    FHEAP[_21] = _22;
    var _23 = _this;
    var _24 = IHEAP[_23];
    var _25 = _24+76;
    var _26 = IHEAP[_25];
    var _27 = _26;
    var _28 = FUNCTION_TABLE[_27](_this);
    var _29 = _dataBuffer+60;
    var _30 = _29;
    IHEAP[_30] = _28;
    ;
    return __str3156;
  }
  __ZNK18btGImpactMeshShape9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK18btGImpactMeshShape9serializeEPvP12btSerializer, "__ZNK18btGImpactMeshShape9serializeEPvP12btSerializer");
  
  
  function __ZN23btGImpactShapeInterfaceD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btGImpactShapeInterface+8;
    var _1 = _this+68+4+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+68+4+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i_i_i_i = _5 == 0;
      ;
      _bb2_i_i_i_i_i_i$_bb1_i_i_i_i_i_i$12651: do { 
        if (!_toBool_i_i_i_i_i_i) {
          ;
          var _6 = _2;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3974; /* _bb2_i_i_i_i_i_i */ break _bb2_i_i_i_i_i_i$_bb1_i_i_i_i_i_i$12651; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _11 = _this;
          (function() { try { __THREW__ = false; return __ZN14btConcaveShapeD2Ev(_11) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
          if (__label__ == 1554) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 3761) {
            var _eh_ptr10 = _llvm_eh_exception();
            var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+68+4+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+68+4+4;
    IHEAP[_8] = 0;
    var _9 = _this+68+4+8;
    IHEAP[_9] = 0;
    var _10 = _this;
    __ZN14btConcaveShapeD2Ev(_10);
    ;
    return;
  }
  __ZN23btGImpactShapeInterfaceD1Ev.__index__ = Runtime.getFunctionIndex(__ZN23btGImpactShapeInterfaceD1Ev, "__ZN23btGImpactShapeInterfaceD1Ev");
  
  
  function __ZN23btGImpactShapeInterfaceD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btGImpactShapeInterface+8;
    var _1 = _this+68+4+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+68+4+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i_i_i_i = _5 == 0;
      ;
      _bb2_i_i_i_i_i_i$_bb1_i_i_i_i_i_i$12662: do { 
        if (!_toBool_i_i_i_i_i_i) {
          ;
          var _6 = _2;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3974; /* _bb2_i_i_i_i_i_i */ break _bb2_i_i_i_i_i_i$_bb1_i_i_i_i_i_i$12662; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _12 = _this;
          (function() { try { __THREW__ = false; return __ZN14btConcaveShapeD2Ev(_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
          if (__label__ == 1554) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 3761) {
            var _eh_ptr10 = _llvm_eh_exception();
            var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+68+4+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+68+4+4;
    IHEAP[_8] = 0;
    var _9 = _this+68+4+8;
    IHEAP[_9] = 0;
    var _10 = _this;
    __ZN14btConcaveShapeD2Ev(_10);
    var _11 = _this;
    __ZdlPv(_11);
    ;
    return;
  }
  __ZN23btGImpactShapeInterfaceD0Ev.__index__ = Runtime.getFunctionIndex(__ZN23btGImpactShapeInterfaceD0Ev, "__ZN23btGImpactShapeInterfaceD0Ev");
  
  
  function __ZN22btGImpactCompoundShapeD0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV22btGImpactCompoundShape+8;
    var _1 = _this+172+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$12676: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+172+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$12678: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$12678; } else { ; }
            var _eh_ptr24 = _llvm_eh_exception();
            var _eh_select26 = _llvm_eh_selector(_eh_ptr24, ___gxx_personality_v0, 0);
            var _32 = _this+152+12;
            var _33 = IHEAP[_32];
            var _34 = _33 == 0;
            ;
            if (!_34) {
              ;
              var _35 = _this+152+16;
              var _36 = IHEAP[_35];
              var _toBool_i_i_i60 = _36 == 0;
              ;
              _bb2_i_i_i63$_bb1_i_i_i62$12683: do { 
                if (!_toBool_i_i_i60) {
                  ;
                  var _37 = _33;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_37) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3980; /* _bb2_i_i_i63 */ break _bb2_i_i_i63$_bb1_i_i_i62$12683; } else { ; }
                  var _eh_ptr28 = _llvm_eh_exception();
                  var _eh_select30 = _llvm_eh_selector(_eh_ptr28, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_32] = 0;
              ;
            }
            var _38 = _this+152+16;
            IHEAP[_38] = 1;
            IHEAP[_32] = 0;
            var _39 = _this+152+4;
            IHEAP[_39] = 0;
            var _40 = _this+152+8;
            IHEAP[_40] = 0;
            __lastLabel__ = 2355; __label__ = 2353; /* _ppad35 */ break _bb3$_bb_i_i_i$12676;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$12676;
      }
    } while(0);
    _bb3$_ppad35$12689: do { 
      if (__label__ == 116) {
        var _7 = _this+172+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+172+4;
        IHEAP[_8] = 0;
        var _9 = _this+172+8;
        IHEAP[_9] = 0;
        var _10 = _this+152+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+152+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i40 = _14 == 0;
          ;
          _bb2_i_i_i43$_bb1_i_i_i42$12693: do { 
            if (!_toBool_i_i_i40) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3975; /* _bb2_i_i_i43 */ break _bb2_i_i_i43$_bb1_i_i_i42$12693; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select22 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 2353; /* _ppad35 */ break _bb3$_ppad35$12689;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _16 = _this+152+16;
        IHEAP[_16] = 1;
        IHEAP[_10] = 0;
        var _17 = _this+152+4;
        IHEAP[_17] = 0;
        var _18 = _this+152+8;
        IHEAP[_18] = 0;
        var _19 = _this+144;
        IHEAP[_19] = __ZTVN22btGImpactCompoundShape24CompoundPrimitiveManagerE+8;
        IHEAP[_0] = __ZTV23btGImpactShapeInterface+8;
        var _20 = _this+68+4+12;
        var _21 = IHEAP[_20];
        var _22 = _21 == 0;
        ;
        if (!_22) {
          ;
          var _23 = _this+68+4+16;
          var _24 = IHEAP[_23];
          var _toBool_i_i_i_i_i_i_i47 = _24 == 0;
          ;
          _bb2_i_i_i_i_i_i_i50$_bb1_i_i_i_i_i_i_i49$12700: do { 
            if (!_toBool_i_i_i_i_i_i_i47) {
              ;
              var _25 = _21;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_25) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3976; /* _bb2_i_i_i_i_i_i_i50 */ break _bb2_i_i_i_i_i_i_i50$_bb1_i_i_i_i_i_i_i49$12700; } else { ; }
              var _eh_ptr_i53 = _llvm_eh_exception();
              var _eh_select8_i54 = _llvm_eh_selector(_eh_ptr_i53, ___gxx_personality_v0, 0);
              var _26 = _this;
              (function() { try { __THREW__ = false; return __ZN14btConcaveShapeD2Ev(_26) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3978; /* _invcont1_i51 */  } else { __label__ = 3979; /* _lpad9_i58 */  }
              if (__label__ == 3978) {
                __Unwind_Resume_or_Rethrow(_eh_ptr_i53);
                // unreachable
              }
              else if (__label__ == 3979) {
                var _eh_ptr10_i56 = _llvm_eh_exception();
                var _eh_select12_i57 = _llvm_eh_selector(_eh_ptr10_i56, ___gxx_personality_v0, 1);
                __ZSt9terminatev();
                // unreachable
              }
            }
          } while(0);
          IHEAP[_20] = 0;
          ;
        }
        var _27 = _this+68+4+16;
        IHEAP[_27] = 1;
        IHEAP[_20] = 0;
        var _28 = _this+68+4+4;
        IHEAP[_28] = 0;
        var _29 = _this+68+4+8;
        IHEAP[_29] = 0;
        var _30 = _this;
        __ZN14btConcaveShapeD2Ev(_30);
        var _31 = _this;
        __ZdlPv(_31);
        ;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr24);
    var _41 = _this+144;
    IHEAP[_41] = __ZTVN22btGImpactCompoundShape24CompoundPrimitiveManagerE+8;
    IHEAP[_0] = __ZTV23btGImpactShapeInterface+8;
    var _42 = _this+68+4+12;
    var _43 = IHEAP[_42];
    var _44 = _43 == 0;
    ;
    _bb3_i$_bb_i_i_i_i_i_i_i$12709: do { 
      if (_44) {
        __label__ = 133; /* _bb3_i */ 
      }
      else {
        ;
        var _45 = _this+68+4+16;
        var _46 = IHEAP[_45];
        var _toBool_i_i_i_i_i_i_i = _46 == 0;
        ;
        _bb2_i_i_i_i_i_i_i$_bb1_i_i_i_i_i_i_i$12711: do { 
          if (!_toBool_i_i_i_i_i_i_i) {
            ;
            var _47 = _43;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_47) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3981; /* _bb2_i_i_i_i_i_i_i */ break _bb2_i_i_i_i_i_i_i$_bb1_i_i_i_i_i_i_i$12711; } else { ; }
            var _eh_ptr_i = _llvm_eh_exception();
            var _eh_select8_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
            var _52 = _this;
            (function() { try { __THREW__ = false; return __ZN14btConcaveShapeD2Ev(_52) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3823; /* _invcont1_i */  } else { __label__ = 3824; /* _lpad9_i */  }
            if (__label__ == 3823) {
              (function() { try { __THREW__ = false; return __Unwind_Resume_or_Rethrow(_eh_ptr_i) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3805; /* _lpad31 */ break _bb3_i$_bb_i_i_i_i_i_i_i$12709; }
              // unreachable
            }
            else if (__label__ == 3824) {
              var _eh_ptr10_i = _llvm_eh_exception();
              var _eh_select12_i = _llvm_eh_selector(_eh_ptr10_i, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          }
        } while(0);
        IHEAP[_42] = 0;
        __label__ = 133; /* _bb3_i */ break _bb3_i$_bb_i_i_i_i_i_i_i$12709;
      }
    } while(0);
    _bb3_i$_lpad31$12719: do { 
      if (__label__ == 133) {
        var _48 = _this+68+4+16;
        IHEAP[_48] = 1;
        IHEAP[_42] = 0;
        var _49 = _this+68+4+4;
        IHEAP[_49] = 0;
        var _50 = _this+68+4+8;
        IHEAP[_50] = 0;
        var _51 = _this;
        (function() { try { __THREW__ = false; return __ZN14btConcaveShapeD2Ev(_51) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3805; /* _lpad31 */ break _bb3_i$_lpad31$12719; }
        __Unwind_Resume_or_Rethrow(_eh_exception_0);
        // unreachable
      }
    } while(0);
    var _eh_ptr32 = _llvm_eh_exception();
    var _eh_select34 = _llvm_eh_selector(_eh_ptr32, ___gxx_personality_v0, 1);
    __ZSt9terminatev();
    // unreachable
  }
  __ZN22btGImpactCompoundShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN22btGImpactCompoundShapeD0Ev, "__ZN22btGImpactCompoundShapeD0Ev");
  
  
  function __ZN22btGImpactCompoundShapeD1Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV22btGImpactCompoundShape+8;
    var _1 = _this+172+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$12724: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+172+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$12726: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$12726; } else { ; }
            var _eh_ptr24 = _llvm_eh_exception();
            var _eh_select26 = _llvm_eh_selector(_eh_ptr24, ___gxx_personality_v0, 0);
            var _31 = _this+152+12;
            var _32 = IHEAP[_31];
            var _33 = _32 == 0;
            ;
            if (!_33) {
              ;
              var _34 = _this+152+16;
              var _35 = IHEAP[_34];
              var _toBool_i_i_i60 = _35 == 0;
              ;
              _bb2_i_i_i63$_bb1_i_i_i62$12731: do { 
                if (!_toBool_i_i_i60) {
                  ;
                  var _36 = _32;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_36) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3980; /* _bb2_i_i_i63 */ break _bb2_i_i_i63$_bb1_i_i_i62$12731; } else { ; }
                  var _eh_ptr28 = _llvm_eh_exception();
                  var _eh_select30 = _llvm_eh_selector(_eh_ptr28, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_31] = 0;
              ;
            }
            var _37 = _this+152+16;
            IHEAP[_37] = 1;
            IHEAP[_31] = 0;
            var _38 = _this+152+4;
            IHEAP[_38] = 0;
            var _39 = _this+152+8;
            IHEAP[_39] = 0;
            __lastLabel__ = 2355; __label__ = 2353; /* _ppad35 */ break _bb3$_bb_i_i_i$12724;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$12724;
      }
    } while(0);
    _bb3$_ppad35$12737: do { 
      if (__label__ == 116) {
        var _7 = _this+172+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+172+4;
        IHEAP[_8] = 0;
        var _9 = _this+172+8;
        IHEAP[_9] = 0;
        var _10 = _this+152+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+152+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i40 = _14 == 0;
          ;
          _bb2_i_i_i43$_bb1_i_i_i42$12741: do { 
            if (!_toBool_i_i_i40) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3975; /* _bb2_i_i_i43 */ break _bb2_i_i_i43$_bb1_i_i_i42$12741; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select22 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 2353; /* _ppad35 */ break _bb3$_ppad35$12737;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _16 = _this+152+16;
        IHEAP[_16] = 1;
        IHEAP[_10] = 0;
        var _17 = _this+152+4;
        IHEAP[_17] = 0;
        var _18 = _this+152+8;
        IHEAP[_18] = 0;
        var _19 = _this+144;
        IHEAP[_19] = __ZTVN22btGImpactCompoundShape24CompoundPrimitiveManagerE+8;
        IHEAP[_0] = __ZTV23btGImpactShapeInterface+8;
        var _20 = _this+68+4+12;
        var _21 = IHEAP[_20];
        var _22 = _21 == 0;
        ;
        if (!_22) {
          ;
          var _23 = _this+68+4+16;
          var _24 = IHEAP[_23];
          var _toBool_i_i_i_i_i_i_i47 = _24 == 0;
          ;
          _bb2_i_i_i_i_i_i_i50$_bb1_i_i_i_i_i_i_i49$12748: do { 
            if (!_toBool_i_i_i_i_i_i_i47) {
              ;
              var _25 = _21;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_25) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3976; /* _bb2_i_i_i_i_i_i_i50 */ break _bb2_i_i_i_i_i_i_i50$_bb1_i_i_i_i_i_i_i49$12748; } else { ; }
              var _eh_ptr_i53 = _llvm_eh_exception();
              var _eh_select8_i54 = _llvm_eh_selector(_eh_ptr_i53, ___gxx_personality_v0, 0);
              var _26 = _this;
              (function() { try { __THREW__ = false; return __ZN14btConcaveShapeD2Ev(_26) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3978; /* _invcont1_i51 */  } else { __label__ = 3979; /* _lpad9_i58 */  }
              if (__label__ == 3978) {
                __Unwind_Resume_or_Rethrow(_eh_ptr_i53);
                // unreachable
              }
              else if (__label__ == 3979) {
                var _eh_ptr10_i56 = _llvm_eh_exception();
                var _eh_select12_i57 = _llvm_eh_selector(_eh_ptr10_i56, ___gxx_personality_v0, 1);
                __ZSt9terminatev();
                // unreachable
              }
            }
          } while(0);
          IHEAP[_20] = 0;
          ;
        }
        var _27 = _this+68+4+16;
        IHEAP[_27] = 1;
        IHEAP[_20] = 0;
        var _28 = _this+68+4+4;
        IHEAP[_28] = 0;
        var _29 = _this+68+4+8;
        IHEAP[_29] = 0;
        var _30 = _this;
        __ZN14btConcaveShapeD2Ev(_30);
        ;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr24);
    var _40 = _this+144;
    IHEAP[_40] = __ZTVN22btGImpactCompoundShape24CompoundPrimitiveManagerE+8;
    IHEAP[_0] = __ZTV23btGImpactShapeInterface+8;
    var _41 = _this+68+4+12;
    var _42 = IHEAP[_41];
    var _43 = _42 == 0;
    ;
    _bb3_i$_bb_i_i_i_i_i_i_i$12757: do { 
      if (_43) {
        __label__ = 133; /* _bb3_i */ 
      }
      else {
        ;
        var _44 = _this+68+4+16;
        var _45 = IHEAP[_44];
        var _toBool_i_i_i_i_i_i_i = _45 == 0;
        ;
        _bb2_i_i_i_i_i_i_i$_bb1_i_i_i_i_i_i_i$12759: do { 
          if (!_toBool_i_i_i_i_i_i_i) {
            ;
            var _46 = _42;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_46) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3981; /* _bb2_i_i_i_i_i_i_i */ break _bb2_i_i_i_i_i_i_i$_bb1_i_i_i_i_i_i_i$12759; } else { ; }
            var _eh_ptr_i = _llvm_eh_exception();
            var _eh_select8_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
            var _51 = _this;
            (function() { try { __THREW__ = false; return __ZN14btConcaveShapeD2Ev(_51) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3823; /* _invcont1_i */  } else { __label__ = 3824; /* _lpad9_i */  }
            if (__label__ == 3823) {
              (function() { try { __THREW__ = false; return __Unwind_Resume_or_Rethrow(_eh_ptr_i) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3805; /* _lpad31 */ break _bb3_i$_bb_i_i_i_i_i_i_i$12757; }
              // unreachable
            }
            else if (__label__ == 3824) {
              var _eh_ptr10_i = _llvm_eh_exception();
              var _eh_select12_i = _llvm_eh_selector(_eh_ptr10_i, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          }
        } while(0);
        IHEAP[_41] = 0;
        __label__ = 133; /* _bb3_i */ break _bb3_i$_bb_i_i_i_i_i_i_i$12757;
      }
    } while(0);
    _bb3_i$_lpad31$12767: do { 
      if (__label__ == 133) {
        var _47 = _this+68+4+16;
        IHEAP[_47] = 1;
        IHEAP[_41] = 0;
        var _48 = _this+68+4+4;
        IHEAP[_48] = 0;
        var _49 = _this+68+4+8;
        IHEAP[_49] = 0;
        var _50 = _this;
        (function() { try { __THREW__ = false; return __ZN14btConcaveShapeD2Ev(_50) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3805; /* _lpad31 */ break _bb3_i$_lpad31$12767; }
        __Unwind_Resume_or_Rethrow(_eh_exception_0);
        // unreachable
      }
    } while(0);
    var _eh_ptr32 = _llvm_eh_exception();
    var _eh_select34 = _llvm_eh_selector(_eh_ptr32, ___gxx_personality_v0, 1);
    __ZSt9terminatev();
    // unreachable
  }
  __ZN22btGImpactCompoundShapeD1Ev.__index__ = Runtime.getFunctionIndex(__ZN22btGImpactCompoundShapeD1Ev, "__ZN22btGImpactCompoundShapeD1Ev");
  
  
  function __ZN22btGImpactMeshShapePartD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = _this+144;
    IHEAP[_1] = __ZTVN22btGImpactMeshShapePart23TrimeshPrimitiveManagerE+8;
    IHEAP[_0] = __ZTV23btGImpactShapeInterface+8;
    var _2 = _this+68+4+12;
    var _3 = IHEAP[_2];
    var _4 = _3 == 0;
    ;
    if (!_4) {
      ;
      var _5 = _this+68+4+16;
      var _6 = IHEAP[_5];
      var _toBool_i_i_i_i_i_i_i = _6 == 0;
      ;
      _bb2_i_i_i_i_i_i_i$_bb1_i_i_i_i_i_i_i$12774: do { 
        if (!_toBool_i_i_i_i_i_i_i) {
          ;
          var _7 = _3;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_7) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3981; /* _bb2_i_i_i_i_i_i_i */ break _bb2_i_i_i_i_i_i_i$_bb1_i_i_i_i_i_i_i$12774; } else { ; }
          var _eh_ptr_i = _llvm_eh_exception();
          var _eh_select8_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
          var _8 = _this;
          (function() { try { __THREW__ = false; return __ZN14btConcaveShapeD2Ev(_8) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3823; /* _invcont1_i */  } else { __label__ = 3824; /* _lpad9_i */  }
          if (__label__ == 3823) {
            __Unwind_Resume_or_Rethrow(_eh_ptr_i);
            // unreachable
          }
          else if (__label__ == 3824) {
            var _eh_ptr10_i = _llvm_eh_exception();
            var _eh_select12_i = _llvm_eh_selector(_eh_ptr10_i, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_2] = 0;
      ;
    }
    var _9 = _this+68+4+16;
    IHEAP[_9] = 1;
    IHEAP[_2] = 0;
    var _10 = _this+68+4+4;
    IHEAP[_10] = 0;
    var _11 = _this+68+4+8;
    IHEAP[_11] = 0;
    var _12 = _this;
    __ZN14btConcaveShapeD2Ev(_12);
    var _13 = _this;
    __ZdlPv(_13);
    ;
    return;
  }
  __ZN22btGImpactMeshShapePartD0Ev.__index__ = Runtime.getFunctionIndex(__ZN22btGImpactMeshShapePartD0Ev, "__ZN22btGImpactMeshShapePartD0Ev");
  
  
  function __ZN22btGImpactMeshShapePartD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = _this+144;
    IHEAP[_1] = __ZTVN22btGImpactMeshShapePart23TrimeshPrimitiveManagerE+8;
    IHEAP[_0] = __ZTV23btGImpactShapeInterface+8;
    var _2 = _this+68+4+12;
    var _3 = IHEAP[_2];
    var _4 = _3 == 0;
    ;
    if (!_4) {
      ;
      var _5 = _this+68+4+16;
      var _6 = IHEAP[_5];
      var _toBool_i_i_i_i_i_i_i = _6 == 0;
      ;
      _bb2_i_i_i_i_i_i_i$_bb1_i_i_i_i_i_i_i$12785: do { 
        if (!_toBool_i_i_i_i_i_i_i) {
          ;
          var _7 = _3;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_7) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3981; /* _bb2_i_i_i_i_i_i_i */ break _bb2_i_i_i_i_i_i_i$_bb1_i_i_i_i_i_i_i$12785; } else { ; }
          var _eh_ptr_i = _llvm_eh_exception();
          var _eh_select8_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
          var _8 = _this;
          (function() { try { __THREW__ = false; return __ZN14btConcaveShapeD2Ev(_8) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3823; /* _invcont1_i */  } else { __label__ = 3824; /* _lpad9_i */  }
          if (__label__ == 3823) {
            __Unwind_Resume_or_Rethrow(_eh_ptr_i);
            // unreachable
          }
          else if (__label__ == 3824) {
            var _eh_ptr10_i = _llvm_eh_exception();
            var _eh_select12_i = _llvm_eh_selector(_eh_ptr10_i, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_2] = 0;
      ;
    }
    var _9 = _this+68+4+16;
    IHEAP[_9] = 1;
    IHEAP[_2] = 0;
    var _10 = _this+68+4+4;
    IHEAP[_10] = 0;
    var _11 = _this+68+4+8;
    IHEAP[_11] = 0;
    var _12 = _this;
    __ZN14btConcaveShapeD2Ev(_12);
    ;
    return;
  }
  __ZN22btGImpactMeshShapePartD1Ev.__index__ = Runtime.getFunctionIndex(__ZN22btGImpactMeshShapePartD1Ev, "__ZN22btGImpactMeshShapePartD1Ev");
  
  
  function __ZNK22btGImpactMeshShapePart19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_(_this, _callback, _aabbMin, _aabbMax) {
    var __stackBase__  = STACKTOP; STACKTOP += 124;
    var __label__;
    var __lastLabel__ = null;
    var _box = __stackBase__;
    var _collided = __stackBase__+32;
    var _triangle = __stackBase__+52;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+108;
    var _3 = IHEAP[_2];
    var _4 = _3;
    FUNCTION_TABLE[_4](_this);
    var _5 = _box;
    var _6 = _aabbMin;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _box+4;
    var _9 = _aabbMin+4;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _box+8;
    var _12 = _aabbMin+8;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _box+12;
    var _15 = _aabbMin+12;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _box+16;
    var _18 = _aabbMax;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _box+16+4;
    var _21 = _aabbMax+4;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _box+16+8;
    var _24 = _aabbMax+8;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _box+16+12;
    var _27 = _aabbMax+12;
    var _28 = FHEAP[_27];
    FHEAP[_26] = _28;
    var _29 = _collided+16;
    IHEAP[_29] = 1;
    var _30 = _collided+12;
    IHEAP[_30] = 0;
    var _31 = _collided+4;
    IHEAP[_31] = 0;
    var _32 = _collided+8;
    IHEAP[_32] = 0;
    var _33 = _this+68;
    var _34 = (function() { try { __THREW__ = false; return __ZNK21btGImpactQuantizedBvh8boxQueryERK6btAABBR20btAlignedObjectArrayIiE(_33, _box, _collided) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
    _invcont$_lpad$12794: do { 
      if (__label__ == 345) {
        var _35 = IHEAP[_31];
        var _36 = _35 == 0;
        ;
        if (_36) {
          ;
          var _37 = IHEAP[_0];
          var _38 = _37+112;
          var _39 = IHEAP[_38];
          var _40 = _39;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_40](_this) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$12794; }
        }
        else {
          ;
          var _41 = _this+144+28;
          var _42 = IHEAP[_41];
          var _43 = _triangle+64;
          FHEAP[_43] = 0.009999999776482582;
          var _44 = _this;
          var _45 = _callback;
          var _46 = _triangle;
          var _tmp29 = _35 + -1;
          __lastLabel__ = 0; ;
          _bb6$12799: while(1) { // _bb6
            var _indvar = __lastLabel__ == 514 ? _indvar_next : (0);
            var _tmp30 = _tmp29 - _indvar;
            var _65 = _tmp30 == -1;
            if (_65) { __label__ = 148; /* _bb8 */ break _bb6$12799; }
            var _47 = IHEAP[_30];
            var _scevgep = _47+4*_tmp30;
            var _48 = IHEAP[_scevgep];
            var _49 = IHEAP[_0];
            var _50 = _49+80;
            var _51 = IHEAP[_50];
            var _52 = _51;
            var _53 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_52](_44) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$12794; };
            var _54 = _53;
            var _55 = IHEAP[_54];
            var _56 = _55+20;
            var _57 = IHEAP[_56];
            var _58 = _57;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_58](_53, _48, _triangle) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$12794; }
            var _59 = IHEAP[_45];
            var _60 = _59+8;
            var _61 = IHEAP[_60];
            var _62 = IHEAP[_30];
            var _scevgep31 = _62+4*_tmp30;
            var _63 = IHEAP[_scevgep31];
            var _64 = _61;
            var _indvar_next = _indvar + 1;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_64](_callback, _46, _42, _63) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 514; __label__ = 83; /* _bb6 */ continue _bb6$12799; } else { __lastLabel__ = 514; __label__ = 254; /* _lpad */ break _invcont$_lpad$12794; }
          }
          var _66 = IHEAP[_0];
          var _67 = _66+112;
          var _68 = IHEAP[_67];
          var _69 = _68;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_69](_this) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$12794; }
        }
        var _70 = IHEAP[_30];
        var _71 = _70 == 0;
        ;
        if (_71) {
          ;
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _72 = IHEAP[_29];
          var _toBool_i_i_i22 = _72 == 0;
          ;
          if (!_toBool_i_i_i22) {
            ;
            var _73 = _70;
            __Z21btAlignedFreeInternalPv(_73);
            ;
          }
          IHEAP[_30] = 0;
          STACKTOP = __stackBase__;
          return;
        }
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select15 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    var _74 = IHEAP[_30];
    var _75 = _74 == 0;
    ;
    if (!_75) {
      ;
      var _76 = IHEAP[_29];
      var _toBool_i_i_i = _76 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$12815: do { 
        if (!_toBool_i_i_i) {
          ;
          var _77 = _74;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_77) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$12815; } else { ; }
          var _eh_ptr17 = _llvm_eh_exception();
          var _eh_select19 = _llvm_eh_selector(_eh_ptr17, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_30] = 0;
      ;
    }
    IHEAP[_29] = 1;
    IHEAP[_30] = 0;
    IHEAP[_31] = 0;
    IHEAP[_32] = 0;
    __Unwind_Resume_or_Rethrow(_eh_ptr);
    // unreachable
  }
  __ZNK22btGImpactMeshShapePart19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__ZNK22btGImpactMeshShapePart19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_, "__ZNK22btGImpactMeshShapePart19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_");
  
  
  function __ZN18btGImpactMeshShapeD0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btGImpactMeshShape+8;
    var _1 = _this+148+4;
    var _2 = IHEAP[_1];
    var _3 = _this+148+12;
    var _tmp66 = _2 + -1;
    __lastLabel__ = -1; ;
    _bb2$12821: while(1) { // _bb2
      var _indvar = __lastLabel__ == 2363 ? _indvar_next : (0);
      var _tmp67 = _tmp66 - _indvar;
      var _11 = _tmp67 == -1;
      var _12 = IHEAP[_3];
      if (_11) { __label__ = 116; /* _bb3 */ break _bb2$12821; }
      var _scevgep = _12+4*_tmp67;
      var _4 = IHEAP[_scevgep];
      var _5 = _4 == 0;
      ;
      if (!_5) {
        ;
        var _6 = _4;
        var _7 = IHEAP[_6];
        var _8 = _7+4;
        var _9 = IHEAP[_8];
        var _10 = _9;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_10](_4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3754; /* _lpad24 */ break _bb2$12821; }
      }
      var _indvar_next = _indvar + 1;
      __lastLabel__ = 2363; __label__ = 0; /* _bb2 */ continue _bb2$12821;
    }
    _lpad24$_bb3$12827: do { 
      if (__label__ == 116) {
        var _13 = _12 == 0;
        ;
        if (!_13) {
          ;
          var _14 = _this+148+16;
          var _15 = IHEAP[_14];
          var _toBool_i_i = _15 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _16 = _12;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3754; /* _lpad24 */ break _lpad24$_bb3$12827; }
          }
          IHEAP[_3] = 0;
          ;
        }
        var _17 = _this+148+16;
        var _18 = _this+148+8;
        IHEAP[_17] = 1;
        IHEAP[_3] = 0;
        IHEAP[_1] = 0;
        IHEAP[_18] = 0;
        IHEAP[_0] = __ZTV23btGImpactShapeInterface+8;
        var _19 = _this+68+4+12;
        var _20 = IHEAP[_19];
        var _21 = _20 == 0;
        ;
        if (!_21) {
          ;
          var _22 = _this+68+4+16;
          var _23 = IHEAP[_22];
          var _toBool_i_i_i_i_i_i_i43 = _23 == 0;
          ;
          _bb2_i_i_i_i_i_i_i46$_bb1_i_i_i_i_i_i_i45$12837: do { 
            if (!_toBool_i_i_i_i_i_i_i43) {
              ;
              var _24 = _20;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_24) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3986; /* _bb2_i_i_i_i_i_i_i46 */ break _bb2_i_i_i_i_i_i_i46$_bb1_i_i_i_i_i_i_i45$12837; } else { ; }
              var _eh_ptr_i49 = _llvm_eh_exception();
              var _eh_select8_i50 = _llvm_eh_selector(_eh_ptr_i49, ___gxx_personality_v0, 0);
              var _25 = _this;
              (function() { try { __THREW__ = false; return __ZN14btConcaveShapeD2Ev(_25) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3988; /* _invcont1_i47 */  } else { __label__ = 3989; /* _lpad9_i54 */  }
              if (__label__ == 3988) {
                __Unwind_Resume_or_Rethrow(_eh_ptr_i49);
                // unreachable
              }
              else if (__label__ == 3989) {
                var _eh_ptr10_i52 = _llvm_eh_exception();
                var _eh_select12_i53 = _llvm_eh_selector(_eh_ptr10_i52, ___gxx_personality_v0, 1);
                __ZSt9terminatev();
                // unreachable
              }
            }
          } while(0);
          IHEAP[_19] = 0;
          ;
        }
        var _26 = _this+68+4+16;
        IHEAP[_26] = 1;
        IHEAP[_19] = 0;
        var _27 = _this+68+4+4;
        IHEAP[_27] = 0;
        var _28 = _this+68+4+8;
        IHEAP[_28] = 0;
        var _29 = _this;
        __ZN14btConcaveShapeD2Ev(_29);
        var _30 = _this;
        __ZdlPv(_30);
        ;
        return;
      }
    } while(0);
    var _eh_ptr25 = _llvm_eh_exception();
    var _eh_select27 = _llvm_eh_selector(_eh_ptr25, ___gxx_personality_v0, 0);
    var _31 = IHEAP[_3];
    var _32 = _31 == 0;
    ;
    if (!_32) {
      ;
      var _33 = _this+148+16;
      var _34 = IHEAP[_33];
      var _toBool_i_i_i56 = _34 == 0;
      ;
      _bb2_i_i_i59$_bb1_i_i_i58$12848: do { 
        if (!_toBool_i_i_i56) {
          ;
          var _35 = _31;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_35) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3827; /* _bb2_i_i_i59 */ break _bb2_i_i_i59$_bb1_i_i_i58$12848; } else { ; }
          var _eh_ptr29 = _llvm_eh_exception();
          var _eh_select31 = _llvm_eh_selector(_eh_ptr29, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_3] = 0;
      ;
    }
    var _36 = _this+148+16;
    IHEAP[_36] = 1;
    IHEAP[_3] = 0;
    IHEAP[_1] = 0;
    var _37 = _this+148+8;
    IHEAP[_37] = 0;
    IHEAP[_0] = __ZTV23btGImpactShapeInterface+8;
    var _38 = _this+68+4+12;
    var _39 = IHEAP[_38];
    var _40 = _39 == 0;
    ;
    _bb3_i$_bb_i_i_i_i_i_i_i$12853: do { 
      if (_40) {
        __label__ = 133; /* _bb3_i */ 
      }
      else {
        ;
        var _41 = _this+68+4+16;
        var _42 = IHEAP[_41];
        var _toBool_i_i_i_i_i_i_i = _42 == 0;
        ;
        _bb2_i_i_i_i_i_i_i$_bb1_i_i_i_i_i_i_i$12855: do { 
          if (!_toBool_i_i_i_i_i_i_i) {
            ;
            var _43 = _39;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_43) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3981; /* _bb2_i_i_i_i_i_i_i */ break _bb2_i_i_i_i_i_i_i$_bb1_i_i_i_i_i_i_i$12855; } else { ; }
            var _eh_ptr_i = _llvm_eh_exception();
            var _eh_select8_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
            var _48 = _this;
            (function() { try { __THREW__ = false; return __ZN14btConcaveShapeD2Ev(_48) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3823; /* _invcont1_i */  } else { __label__ = 3824; /* _lpad9_i */  }
            if (__label__ == 3823) {
              (function() { try { __THREW__ = false; return __Unwind_Resume_or_Rethrow(_eh_ptr_i) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3755; /* _lpad32 */ break _bb3_i$_bb_i_i_i_i_i_i_i$12853; }
              // unreachable
            }
            else if (__label__ == 3824) {
              var _eh_ptr10_i = _llvm_eh_exception();
              var _eh_select12_i = _llvm_eh_selector(_eh_ptr10_i, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          }
        } while(0);
        IHEAP[_38] = 0;
        __label__ = 133; /* _bb3_i */ break _bb3_i$_bb_i_i_i_i_i_i_i$12853;
      }
    } while(0);
    _bb3_i$_lpad32$12863: do { 
      if (__label__ == 133) {
        var _44 = _this+68+4+16;
        IHEAP[_44] = 1;
        IHEAP[_38] = 0;
        var _45 = _this+68+4+4;
        IHEAP[_45] = 0;
        var _46 = _this+68+4+8;
        IHEAP[_46] = 0;
        var _47 = _this;
        (function() { try { __THREW__ = false; return __ZN14btConcaveShapeD2Ev(_47) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3755; /* _lpad32 */ break _bb3_i$_lpad32$12863; }
        __Unwind_Resume_or_Rethrow(_eh_ptr25);
        // unreachable
      }
    } while(0);
    var _eh_ptr33 = _llvm_eh_exception();
    var _eh_select35 = _llvm_eh_selector(_eh_ptr33, ___gxx_personality_v0, 1);
    __ZSt9terminatev();
    // unreachable
  }
  __ZN18btGImpactMeshShapeD0Ev.__index__ = Runtime.getFunctionIndex(__ZN18btGImpactMeshShapeD0Ev, "__ZN18btGImpactMeshShapeD0Ev");
  
  
  function __ZN18btGImpactMeshShapeD2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV18btGImpactMeshShape+8;
    var _1 = _this+148+4;
    var _2 = IHEAP[_1];
    var _3 = _this+148+12;
    var _tmp66 = _2 + -1;
    __lastLabel__ = -1; ;
    _bb2$12869: while(1) { // _bb2
      var _indvar = __lastLabel__ == 2363 ? _indvar_next : (0);
      var _tmp67 = _tmp66 - _indvar;
      var _11 = _tmp67 == -1;
      var _12 = IHEAP[_3];
      if (_11) { __label__ = 116; /* _bb3 */ break _bb2$12869; }
      var _scevgep = _12+4*_tmp67;
      var _4 = IHEAP[_scevgep];
      var _5 = _4 == 0;
      ;
      if (!_5) {
        ;
        var _6 = _4;
        var _7 = IHEAP[_6];
        var _8 = _7+4;
        var _9 = IHEAP[_8];
        var _10 = _9;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_10](_4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3754; /* _lpad24 */ break _bb2$12869; }
      }
      var _indvar_next = _indvar + 1;
      __lastLabel__ = 2363; __label__ = 0; /* _bb2 */ continue _bb2$12869;
    }
    _lpad24$_bb3$12875: do { 
      if (__label__ == 116) {
        var _13 = _12 == 0;
        ;
        if (!_13) {
          ;
          var _14 = _this+148+16;
          var _15 = IHEAP[_14];
          var _toBool_i_i = _15 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _16 = _12;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3754; /* _lpad24 */ break _lpad24$_bb3$12875; }
          }
          IHEAP[_3] = 0;
          ;
        }
        var _17 = _this+148+16;
        var _18 = _this+148+8;
        IHEAP[_17] = 1;
        IHEAP[_3] = 0;
        IHEAP[_1] = 0;
        IHEAP[_18] = 0;
        IHEAP[_0] = __ZTV23btGImpactShapeInterface+8;
        var _19 = _this+68+4+12;
        var _20 = IHEAP[_19];
        var _21 = _20 == 0;
        ;
        if (!_21) {
          ;
          var _22 = _this+68+4+16;
          var _23 = IHEAP[_22];
          var _toBool_i_i_i_i_i_i_i43 = _23 == 0;
          ;
          _bb2_i_i_i_i_i_i_i46$_bb1_i_i_i_i_i_i_i45$12885: do { 
            if (!_toBool_i_i_i_i_i_i_i43) {
              ;
              var _24 = _20;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_24) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3986; /* _bb2_i_i_i_i_i_i_i46 */ break _bb2_i_i_i_i_i_i_i46$_bb1_i_i_i_i_i_i_i45$12885; } else { ; }
              var _eh_ptr_i49 = _llvm_eh_exception();
              var _eh_select8_i50 = _llvm_eh_selector(_eh_ptr_i49, ___gxx_personality_v0, 0);
              var _25 = _this;
              (function() { try { __THREW__ = false; return __ZN14btConcaveShapeD2Ev(_25) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3988; /* _invcont1_i47 */  } else { __label__ = 3989; /* _lpad9_i54 */  }
              if (__label__ == 3988) {
                __Unwind_Resume_or_Rethrow(_eh_ptr_i49);
                // unreachable
              }
              else if (__label__ == 3989) {
                var _eh_ptr10_i52 = _llvm_eh_exception();
                var _eh_select12_i53 = _llvm_eh_selector(_eh_ptr10_i52, ___gxx_personality_v0, 1);
                __ZSt9terminatev();
                // unreachable
              }
            }
          } while(0);
          IHEAP[_19] = 0;
          ;
        }
        var _26 = _this+68+4+16;
        IHEAP[_26] = 1;
        IHEAP[_19] = 0;
        var _27 = _this+68+4+4;
        IHEAP[_27] = 0;
        var _28 = _this+68+4+8;
        IHEAP[_28] = 0;
        var _29 = _this;
        __ZN14btConcaveShapeD2Ev(_29);
        ;
        return;
      }
    } while(0);
    var _eh_ptr25 = _llvm_eh_exception();
    var _eh_select27 = _llvm_eh_selector(_eh_ptr25, ___gxx_personality_v0, 0);
    var _30 = IHEAP[_3];
    var _31 = _30 == 0;
    ;
    if (!_31) {
      ;
      var _32 = _this+148+16;
      var _33 = IHEAP[_32];
      var _toBool_i_i_i56 = _33 == 0;
      ;
      _bb2_i_i_i59$_bb1_i_i_i58$12896: do { 
        if (!_toBool_i_i_i56) {
          ;
          var _34 = _30;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_34) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3827; /* _bb2_i_i_i59 */ break _bb2_i_i_i59$_bb1_i_i_i58$12896; } else { ; }
          var _eh_ptr29 = _llvm_eh_exception();
          var _eh_select31 = _llvm_eh_selector(_eh_ptr29, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_3] = 0;
      ;
    }
    var _35 = _this+148+16;
    IHEAP[_35] = 1;
    IHEAP[_3] = 0;
    IHEAP[_1] = 0;
    var _36 = _this+148+8;
    IHEAP[_36] = 0;
    IHEAP[_0] = __ZTV23btGImpactShapeInterface+8;
    var _37 = _this+68+4+12;
    var _38 = IHEAP[_37];
    var _39 = _38 == 0;
    ;
    _bb3_i$_bb_i_i_i_i_i_i_i$12901: do { 
      if (_39) {
        __label__ = 133; /* _bb3_i */ 
      }
      else {
        ;
        var _40 = _this+68+4+16;
        var _41 = IHEAP[_40];
        var _toBool_i_i_i_i_i_i_i = _41 == 0;
        ;
        _bb2_i_i_i_i_i_i_i$_bb1_i_i_i_i_i_i_i$12903: do { 
          if (!_toBool_i_i_i_i_i_i_i) {
            ;
            var _42 = _38;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_42) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3981; /* _bb2_i_i_i_i_i_i_i */ break _bb2_i_i_i_i_i_i_i$_bb1_i_i_i_i_i_i_i$12903; } else { ; }
            var _eh_ptr_i = _llvm_eh_exception();
            var _eh_select8_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
            var _47 = _this;
            (function() { try { __THREW__ = false; return __ZN14btConcaveShapeD2Ev(_47) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3823; /* _invcont1_i */  } else { __label__ = 3824; /* _lpad9_i */  }
            if (__label__ == 3823) {
              (function() { try { __THREW__ = false; return __Unwind_Resume_or_Rethrow(_eh_ptr_i) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3755; /* _lpad32 */ break _bb3_i$_bb_i_i_i_i_i_i_i$12901; }
              // unreachable
            }
            else if (__label__ == 3824) {
              var _eh_ptr10_i = _llvm_eh_exception();
              var _eh_select12_i = _llvm_eh_selector(_eh_ptr10_i, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          }
        } while(0);
        IHEAP[_37] = 0;
        __label__ = 133; /* _bb3_i */ break _bb3_i$_bb_i_i_i_i_i_i_i$12901;
      }
    } while(0);
    _bb3_i$_lpad32$12911: do { 
      if (__label__ == 133) {
        var _43 = _this+68+4+16;
        IHEAP[_43] = 1;
        IHEAP[_37] = 0;
        var _44 = _this+68+4+4;
        IHEAP[_44] = 0;
        var _45 = _this+68+4+8;
        IHEAP[_45] = 0;
        var _46 = _this;
        (function() { try { __THREW__ = false; return __ZN14btConcaveShapeD2Ev(_46) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3755; /* _lpad32 */ break _bb3_i$_lpad32$12911; }
        __Unwind_Resume_or_Rethrow(_eh_ptr25);
        // unreachable
      }
    } while(0);
    var _eh_ptr33 = _llvm_eh_exception();
    var _eh_select35 = _llvm_eh_selector(_eh_ptr33, ___gxx_personality_v0, 1);
    __ZSt9terminatev();
    // unreachable
  }
  __ZN18btGImpactMeshShapeD2Ev.__index__ = Runtime.getFunctionIndex(__ZN18btGImpactMeshShapeD2Ev, "__ZN18btGImpactMeshShapeD2Ev");
  
  
  function __ZN17btTriangleShapeEx25overlap_test_conservativeERKS_(_this, _other) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+44;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = _3;
    var _6 = FUNCTION_TABLE[_5](_4);
    var _7 = _other;
    var _8 = IHEAP[_7];
    var _9 = _8+44;
    var _10 = IHEAP[_9];
    var _11 = _other;
    var _12 = _10;
    var _13 = FUNCTION_TABLE[_12](_11);
    var _14 = _6 + _13;
    var _15 = _this+52+32+8;
    var _16 = FHEAP[_15];
    var _17 = _this+52+8;
    var _18 = FHEAP[_17];
    var _19 = _16 - _18;
    var _20 = _this+52+32+4;
    var _21 = FHEAP[_20];
    var _22 = _this+52+4;
    var _23 = FHEAP[_22];
    var _24 = _21 - _23;
    var _25 = _this+52+32;
    var _26 = FHEAP[_25];
    var _27 = _this+52;
    var _28 = FHEAP[_27];
    var _29 = _26 - _28;
    var _30 = _this+52+16+8;
    var _31 = FHEAP[_30];
    var _32 = _31 - _18;
    var _33 = _this+52+16+4;
    var _34 = FHEAP[_33];
    var _35 = _34 - _23;
    var _36 = _this+52+16;
    var _37 = FHEAP[_36];
    var _38 = _37 - _28;
    var _39 = _38 * _24;
    var _40 = _35 * _29;
    var _41 = _39 - _40;
    var _42 = _32 * _29;
    var _43 = _38 * _19;
    var _44 = _42 - _43;
    var _45 = _35 * _19;
    var _46 = _32 * _24;
    var _47 = _45 - _46;
    var _48 = _47 * _47;
    var _49 = _44 * _44;
    var _50 = _48 + _49;
    var _51 = _41 * _41;
    var _52 = _50 + _51;
    var _53 = _sqrtf(_52);
    var _54 = 1 / _53;
    var _55 = _47 * _54;
    var _56 = _44 * _54;
    var _57 = _41 * _54;
    var _58 = _28 * _55;
    var _59 = _23 * _56;
    var _60 = _58 + _59;
    var _61 = _18 * _57;
    var _62 = _60 + _61;
    var _63 = _other+52+32+8;
    var _64 = FHEAP[_63];
    var _65 = _other+52+8;
    var _66 = FHEAP[_65];
    var _67 = _64 - _66;
    var _68 = _other+52+32+4;
    var _69 = FHEAP[_68];
    var _70 = _other+52+4;
    var _71 = FHEAP[_70];
    var _72 = _69 - _71;
    var _73 = _other+52+32;
    var _74 = FHEAP[_73];
    var _75 = _other+52;
    var _76 = FHEAP[_75];
    var _77 = _74 - _76;
    var _78 = _other+52+16+8;
    var _79 = FHEAP[_78];
    var _80 = _79 - _66;
    var _81 = _other+52+16+4;
    var _82 = FHEAP[_81];
    var _83 = _82 - _71;
    var _84 = _other+52+16;
    var _85 = FHEAP[_84];
    var _86 = _85 - _76;
    var _87 = _86 * _72;
    var _88 = _83 * _77;
    var _89 = _87 - _88;
    var _90 = _80 * _77;
    var _91 = _86 * _67;
    var _92 = _90 - _91;
    var _93 = _83 * _67;
    var _94 = _80 * _72;
    var _95 = _93 - _94;
    var _96 = _95 * _95;
    var _97 = _92 * _92;
    var _98 = _96 + _97;
    var _99 = _89 * _89;
    var _100 = _98 + _99;
    var _101 = _sqrtf(_100);
    var _102 = 1 / _101;
    var _103 = _95 * _102;
    var _104 = _92 * _102;
    var _105 = _89 * _102;
    var _106 = _76 * _103;
    var _107 = _71 * _104;
    var _108 = _106 + _107;
    var _109 = _66 * _105;
    var _110 = _108 + _109;
    var _111 = _76 * _55;
    var _112 = _71 * _56;
    var _113 = _111 + _112;
    var _114 = _66 * _57;
    var _115 = _113 + _114;
    var _116 = _115 - _62;
    var _117 = _116 - _14;
    var _118 = _117 > 0;
    ;
    _bb$_bb3$12983: do { 
      if (_118) {
        ;
        var _119 = _69 * _56;
        var _120 = _74 * _55;
        var _121 = _64 * _57;
        var _122 = _120 + _119;
        var _123 = _82 * _56;
        var _124 = _85 * _55;
        var _125 = _122 + _121;
        var _126 = _79 * _57;
        var _127 = _124 + _123;
        var _128 = _125 - _62;
        var _129 = _127 + _126;
        var _130 = _128 - _14;
        var _131 = _129 - _62;
        var _132 = _131 - _14;
        var _133 = _132 > 0;
        var _134 = _130 > 0;
        var _or_cond = _133 & _134;
        if (!(_or_cond)) { __label__ = 116; /* _bb3 */ break _bb$_bb3$12983; }
        ;
        return 0;
      }
    } while(0);
    var _135 = _28 * _103;
    var _136 = _23 * _104;
    var _137 = _135 + _136;
    var _138 = _18 * _105;
    var _139 = _137 + _138;
    var _140 = _139 - _110;
    var _141 = _140 - _14;
    var _142 = _141 > 0;
    ;
    if (_142) {
      ;
      var _143 = _21 * _104;
      var _144 = _26 * _103;
      var _145 = _16 * _105;
      var _146 = _144 + _143;
      var _147 = _34 * _104;
      var _148 = _37 * _103;
      var _149 = _146 + _145;
      var _150 = _31 * _105;
      var _151 = _148 + _147;
      var _152 = _149 - _110;
      var _153 = _151 + _150;
      var _154 = _152 - _14;
      var _155 = _153 - _110;
      var _156 = _155 - _14;
      var _157 = _156 > 0;
      var _158 = _154 > 0;
      var _or_cond11 = _157 & _158;
      var _159 = _or_cond11;
      var _retval = _159 ^ 1;
      ;
      return _retval;
    }
    else {
      ;
      ;
      return 1;
    }
  }
  __ZN17btTriangleShapeEx25overlap_test_conservativeERKS_.__index__ = Runtime.getFunctionIndex(__ZN17btTriangleShapeEx25overlap_test_conservativeERKS_, "__ZN17btTriangleShapeEx25overlap_test_conservativeERKS_");
  
  
  function __ZN19btPrimitiveTriangle13clip_triangleERS_P9btVector3(_this, _other, _clipped_points) {
    var __stackBase__  = STACKTOP; STACKTOP += 528;
    var __label__;
    var _temp_points = __stackBase__;
    var _edgeplane = __stackBase__+256;
    var _temp_points1 = __stackBase__+272;
    var _0 = _this+16+8;
    var _1 = FHEAP[_0];
    var _2 = _this+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _this+16+4;
    var _6 = FHEAP[_5];
    var _7 = _this+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _this+16;
    var _11 = FHEAP[_10];
    var _12 = _this;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _this+48+4;
    var _16 = FHEAP[_15];
    var _17 = _14 * _16;
    var _18 = _this+48;
    var _19 = FHEAP[_18];
    var _20 = _9 * _19;
    var _21 = _17 - _20;
    var _22 = _4 * _19;
    var _23 = _this+48+8;
    var _24 = FHEAP[_23];
    var _25 = _14 * _24;
    var _26 = _22 - _25;
    var _27 = _9 * _24;
    var _28 = _4 * _16;
    var _29 = _27 - _28;
    var _30 = _29 * _29;
    var _31 = _26 * _26;
    var _32 = _30 + _31;
    var _33 = _21 * _21;
    var _34 = _32 + _33;
    var _35 = _sqrtf(_34);
    var _36 = 1 / _35;
    var _37 = _29 * _36;
    var _38 = _26 * _36;
    var _39 = _21 * _36;
    var _40 = _11 * _37;
    var _41 = _6 * _38;
    var _42 = _40 + _41;
    var _43 = _1 * _39;
    var _44 = _42 + _43;
    var _45 = _edgeplane;
    FHEAP[_45] = _37;
    var _46 = _edgeplane+4;
    FHEAP[_46] = _38;
    var _47 = _edgeplane+8;
    FHEAP[_47] = _39;
    var _48 = _edgeplane+12;
    FHEAP[_48] = _44;
    var _49 = _other+32;
    var _50 = _other+16;
    var _51 = _other;
    var _52 = _temp_points;
    var _53 = __Z22bt_plane_clip_triangleRK9btVector4RK9btVector3S4_S4_PS2_(_edgeplane, _51, _50, _49, _52);
    var _54 = _53 == 0;
    ;
    _bb10$_bb7$12991: do { 
      if (!_54) {
        ;
        var _55 = _this+32+8;
        var _56 = FHEAP[_55];
        var _57 = FHEAP[_0];
        var _58 = _56 - _57;
        var _59 = _this+32+4;
        var _60 = FHEAP[_59];
        var _61 = FHEAP[_5];
        var _62 = _60 - _61;
        var _63 = _this+32;
        var _64 = FHEAP[_63];
        var _65 = FHEAP[_10];
        var _66 = _64 - _65;
        var _67 = FHEAP[_15];
        var _68 = _66 * _67;
        var _69 = FHEAP[_18];
        var _70 = _62 * _69;
        var _71 = _68 - _70;
        var _72 = _58 * _69;
        var _73 = FHEAP[_23];
        var _74 = _66 * _73;
        var _75 = _72 - _74;
        var _76 = _62 * _73;
        var _77 = _58 * _67;
        var _78 = _76 - _77;
        var _79 = _78 * _78;
        var _80 = _75 * _75;
        var _81 = _79 + _80;
        var _82 = _71 * _71;
        var _83 = _81 + _82;
        var _84 = _sqrtf(_83);
        var _85 = 1 / _84;
        var _86 = _78 * _85;
        var _87 = _75 * _85;
        var _88 = _71 * _85;
        var _89 = _64 * _86;
        var _90 = _60 * _87;
        var _91 = _89 + _90;
        var _92 = _56 * _88;
        var _93 = _91 + _92;
        FHEAP[_45] = _86;
        FHEAP[_46] = _87;
        FHEAP[_47] = _88;
        FHEAP[_48] = _93;
        var _94 = _temp_points1;
        var _95 = __Z21bt_plane_clip_polygonRK9btVector4PK9btVector3iPS2_(_edgeplane, _52, _53, _94);
        var _96 = _95 == 0;
        if (_96) { __label__ = 150; /* _bb10 */ break _bb10$_bb7$12991; }
        var _97 = FHEAP[_2];
        var _98 = FHEAP[_55];
        var _99 = _97 - _98;
        var _100 = FHEAP[_7];
        var _101 = FHEAP[_59];
        var _102 = _100 - _101;
        var _103 = FHEAP[_12];
        var _104 = FHEAP[_63];
        var _105 = _103 - _104;
        var _106 = FHEAP[_15];
        var _107 = _105 * _106;
        var _108 = FHEAP[_18];
        var _109 = _102 * _108;
        var _110 = _107 - _109;
        var _111 = _99 * _108;
        var _112 = FHEAP[_23];
        var _113 = _105 * _112;
        var _114 = _111 - _113;
        var _115 = _102 * _112;
        var _116 = _99 * _106;
        var _117 = _115 - _116;
        var _118 = _117 * _117;
        var _119 = _114 * _114;
        var _120 = _118 + _119;
        var _121 = _110 * _110;
        var _122 = _120 + _121;
        var _123 = _sqrtf(_122);
        var _124 = 1 / _123;
        var _125 = _117 * _124;
        var _126 = _114 * _124;
        var _127 = _110 * _124;
        var _128 = _103 * _125;
        var _129 = _100 * _126;
        var _130 = _128 + _129;
        var _131 = _97 * _127;
        var _132 = _130 + _131;
        FHEAP[_45] = _125;
        FHEAP[_46] = _126;
        FHEAP[_47] = _127;
        FHEAP[_48] = _132;
        var _133 = __Z21bt_plane_clip_polygonRK9btVector4PK9btVector3iPS2_(_edgeplane, _94, _95, _clipped_points);
        STACKTOP = __stackBase__;
        return _133;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return 0;
  }
  __ZN19btPrimitiveTriangle13clip_triangleERS_P9btVector3.__index__ = Runtime.getFunctionIndex(__ZN19btPrimitiveTriangle13clip_triangleERS_P9btVector3, "__ZN19btPrimitiveTriangle13clip_triangleERS_P9btVector3");
  
  
  function __ZN19btPrimitiveTriangle35find_triangle_collision_clip_methodERS_R20GIM_TRIANGLE_CONTACT(_this, _other, _contacts) {
    var __stackBase__  = STACKTOP; STACKTOP += 816;
    var __label__;
    var __lastLabel__ = null;
    var _clipped_points = __stackBase__;
    var _contacts1 = __stackBase__+256;
    var _contacts2 = __stackBase__+536;
    var _0 = _this+64;
    var _1 = FHEAP[_0];
    var _2 = _other+64;
    var _3 = FHEAP[_2];
    var _4 = _1 + _3;
    var _5 = _contacts1+8;
    var _6 = _this+48;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _contacts1+8+4;
    var _9 = _this+48+4;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _contacts1+8+8;
    var _12 = _this+48+8;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _contacts1+8+12;
    var _15 = _this+48+12;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _clipped_points;
    var _18 = __ZN19btPrimitiveTriangle13clip_triangleERS_P9btVector3(_this, _other, _17);
    var _19 = _18 == 0;
    ;
    _bb14$_bb4$12996: do { 
      if (!_19) {
        ;
        var _20 = _contacts1+8;
        __ZN20GIM_TRIANGLE_CONTACT12merge_pointsERK9btVector4fPK9btVector3i(_contacts1, _20, _4, _17, _18);
        var _21 = _contacts1+4;
        var _22 = IHEAP[_21];
        var _23 = _22 == 0;
        if (_23) { __label__ = 63; /* _bb14 */ break _bb14$_bb4$12996; }
        var _24 = FHEAP[_5];
        var _25 = _24 * -1;
        FHEAP[_5] = _25;
        var _26 = FHEAP[_8];
        var _27 = _26 * -1;
        FHEAP[_8] = _27;
        var _28 = FHEAP[_11];
        var _29 = _28 * -1;
        FHEAP[_11] = _29;
        var _30 = _contacts2+8;
        var _31 = _other+48;
        var _32 = FHEAP[_31];
        FHEAP[_30] = _32;
        var _33 = _contacts2+8+4;
        var _34 = _other+48+4;
        var _35 = FHEAP[_34];
        FHEAP[_33] = _35;
        var _36 = _contacts2+8+8;
        var _37 = _other+48+8;
        var _38 = FHEAP[_37];
        FHEAP[_36] = _38;
        var _39 = _contacts2+8+12;
        var _40 = _other+48+12;
        var _41 = FHEAP[_40];
        FHEAP[_39] = _41;
        var _42 = __ZN19btPrimitiveTriangle13clip_triangleERS_P9btVector3(_other, _this, _17);
        var _43 = _42 == 0;
        if (_43) { __label__ = 63; /* _bb14 */ break _bb14$_bb4$12996; }
        var _44 = _contacts2+8;
        __ZN20GIM_TRIANGLE_CONTACT12merge_pointsERK9btVector4fPK9btVector3i(_contacts2, _44, _4, _17, _42);
        var _45 = _contacts2+4;
        var _46 = IHEAP[_45];
        var _47 = _46 == 0;
        if (_47) { __label__ = 63; /* _bb14 */ break _bb14$_bb4$12996; }
        var _48 = _contacts2;
        var _49 = FHEAP[_48];
        var _50 = _contacts1;
        var _51 = FHEAP[_50];
        var _52 = _49 < _51;
        var _53 = _contacts;
        ;
        _bb_nph_i23$_bb_nph_i$13001: do { 
          if (_52) {
            ;
            FHEAP[_53] = _49;
            var _54 = _contacts+8;
            var _55 = FHEAP[_30];
            FHEAP[_54] = _55;
            var _56 = _contacts+8+4;
            var _57 = FHEAP[_33];
            FHEAP[_56] = _57;
            var _58 = _contacts+8+8;
            var _59 = FHEAP[_36];
            FHEAP[_58] = _59;
            var _60 = _contacts+8+12;
            var _61 = FHEAP[_39];
            FHEAP[_60] = _61;
            var _62 = _contacts+4;
            IHEAP[_62] = _46;
            var _tmp54 = _46 << 2;
            var _tmp5566 = _tmp54 | 3;
            var _tmp5767 = _tmp54 | 2;
            var _tmp5968 = _tmp54 | 1;
            __lastLabel__ = 2386; ;
            _bb_i40$13003: while(1) { // _bb_i40
              var _indvar_i24 = __lastLabel__ == 2386 ? 0 : (_indvar_next_i38);
              var _tmp53 = _indvar_i24 * -4;
              var _tmp56 = _tmp5566 + _tmp53;
              var _scevgep17_i37 = _contacts2+8+_tmp56*4;
              var _scevgep16_i36 = _contacts+8+_tmp56*4;
              var _tmp58 = _tmp5767 + _tmp53;
              var _scevgep13_i34 = _contacts2+8+_tmp58*4;
              var _scevgep12_i33 = _contacts+8+_tmp58*4;
              var _tmp60 = _tmp5968 + _tmp53;
              var _scevgep9_i31 = _contacts2+8+_tmp60*4;
              var _scevgep8_i30 = _contacts+8+_tmp60*4;
              var _tmp61 = _tmp54 + _tmp53;
              var _scevgep5_i28 = _contacts2+8+_tmp61*4;
              var _scevgep_i27 = _contacts+8+_tmp61*4;
              var _63 = FHEAP[_scevgep5_i28];
              FHEAP[_scevgep_i27] = _63;
              var _64 = FHEAP[_scevgep9_i31];
              FHEAP[_scevgep8_i30] = _64;
              var _65 = FHEAP[_scevgep13_i34];
              FHEAP[_scevgep12_i33] = _65;
              var _66 = FHEAP[_scevgep17_i37];
              FHEAP[_scevgep16_i36] = _66;
              var _indvar_next_i38 = _indvar_i24 + 1;
              var _exitcond52 = _indvar_next_i38 == _46;
              if (_exitcond52) { __lastLabel__ = 2387; __label__ = 2388; /* __ZN20GIM_TRIANGLE_CONTACT9copy_fromERKS__exit41 */ break _bb_nph_i23$_bb_nph_i$13001; } else { __lastLabel__ = 2387; __label__ = 2387; /* _bb_i40 */ continue _bb_i40$13003; }
            }
          }
          else {
            ;
            FHEAP[_53] = _51;
            var _67 = _contacts+8;
            FHEAP[_67] = _25;
            var _68 = _contacts+8+4;
            FHEAP[_68] = _27;
            var _69 = _contacts+8+8;
            FHEAP[_69] = _29;
            var _70 = _contacts+8+12;
            var _71 = FHEAP[_14];
            FHEAP[_70] = _71;
            var _72 = _contacts+4;
            IHEAP[_72] = _22;
            var _tmp44 = _22 << 2;
            var _tmp4563 = _tmp44 | 3;
            var _tmp4764 = _tmp44 | 2;
            var _tmp4965 = _tmp44 | 1;
            __lastLabel__ = 418; ;
            _bb_i$13006: while(1) { // _bb_i
              var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
              var _tmp = _indvar_i * -4;
              var _tmp46 = _tmp4563 + _tmp;
              var _scevgep17_i = _contacts1+8+_tmp46*4;
              var _scevgep16_i = _contacts+8+_tmp46*4;
              var _tmp48 = _tmp4764 + _tmp;
              var _scevgep13_i = _contacts1+8+_tmp48*4;
              var _scevgep12_i = _contacts+8+_tmp48*4;
              var _tmp50 = _tmp4965 + _tmp;
              var _scevgep9_i = _contacts1+8+_tmp50*4;
              var _scevgep8_i = _contacts+8+_tmp50*4;
              var _tmp51 = _tmp44 + _tmp;
              var _scevgep5_i = _contacts1+8+_tmp51*4;
              var _scevgep_i = _contacts+8+_tmp51*4;
              var _73 = FHEAP[_scevgep5_i];
              FHEAP[_scevgep_i] = _73;
              var _74 = FHEAP[_scevgep9_i];
              FHEAP[_scevgep8_i] = _74;
              var _75 = FHEAP[_scevgep13_i];
              FHEAP[_scevgep12_i] = _75;
              var _76 = FHEAP[_scevgep17_i];
              FHEAP[_scevgep16_i] = _76;
              var _indvar_next_i = _indvar_i + 1;
              var _exitcond = _indvar_next_i == _22;
              if (_exitcond) { __lastLabel__ = 131; __label__ = 2388; /* __ZN20GIM_TRIANGLE_CONTACT9copy_fromERKS__exit41 */ break _bb_nph_i23$_bb_nph_i$13001; } else { __lastLabel__ = 131; __label__ = 131; /* _bb_i */ continue _bb_i$13006; }
            }
          }
        } while(0);
        STACKTOP = __stackBase__;
        return 1;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return 0;
  }
  __ZN19btPrimitiveTriangle35find_triangle_collision_clip_methodERS_R20GIM_TRIANGLE_CONTACT.__index__ = Runtime.getFunctionIndex(__ZN19btPrimitiveTriangle35find_triangle_collision_clip_methodERS_R20GIM_TRIANGLE_CONTACT, "__ZN19btPrimitiveTriangle35find_triangle_collision_clip_methodERS_R20GIM_TRIANGLE_CONTACT");
  
  
  function __ZN12GIM_BOX_TREE15_build_sub_treeER9gim_arrayI13GIM_AABB_DATAEjj(_this, _primitive_boxes, _startIndex, _endIndex) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1 + 1;
    IHEAP[_0] = _2;
    var _3 = _endIndex - _startIndex;
    var _4 = _3 == 1;
    var _5 = _this+4;
    var _6 = IHEAP[_5];
    ;
    if (_4) {
      ;
      var _7 = _6+48*_1+32;
      IHEAP[_7] = 0;
      var _8 = IHEAP[_5];
      var _9 = _8+48*_1+36;
      IHEAP[_9] = 0;
      var _10 = IHEAP[_5];
      var _11 = _10+48*_1+40;
      IHEAP[_11] = 0;
      var _12 = IHEAP[_5];
      var _13 = _primitive_boxes;
      var _14 = IHEAP[_13];
      var _15 = _12+48*_1;
      var _16 = _14+36*_startIndex;
      var _17 = FHEAP[_16];
      FHEAP[_15] = _17;
      var _18 = _12+48*_1+4;
      var _19 = _14+36*_startIndex+4;
      var _20 = FHEAP[_19];
      FHEAP[_18] = _20;
      var _21 = _12+48*_1+8;
      var _22 = _14+36*_startIndex+8;
      var _23 = FHEAP[_22];
      FHEAP[_21] = _23;
      var _24 = _12+48*_1+12;
      var _25 = _14+36*_startIndex+12;
      var _26 = FHEAP[_25];
      FHEAP[_24] = _26;
      var _27 = _12+48*_1+16;
      var _28 = _14+36*_startIndex+16;
      var _29 = FHEAP[_28];
      FHEAP[_27] = _29;
      var _30 = _12+48*_1+16+4;
      var _31 = _14+36*_startIndex+16+4;
      var _32 = FHEAP[_31];
      FHEAP[_30] = _32;
      var _33 = _12+48*_1+16+8;
      var _34 = _14+36*_startIndex+16+8;
      var _35 = FHEAP[_34];
      FHEAP[_33] = _35;
      var _36 = _12+48*_1+16+12;
      var _37 = _14+36*_startIndex+16+12;
      var _38 = FHEAP[_37];
      FHEAP[_36] = _38;
      var _39 = IHEAP[_5];
      var _40 = IHEAP[_13];
      var _41 = _40+36*_startIndex+32;
      var _42 = IHEAP[_41];
      var _43 = _39+48*_1+44;
      IHEAP[_43] = _42;
      ;
      return;
    }
    else {
      ;
      var _44 = _6+48*_1;
      FHEAP[_44] = 3.4028234663852886e+38;
      var _45 = _6+48*_1+4;
      FHEAP[_45] = 3.4028234663852886e+38;
      var _46 = _6+48*_1+8;
      FHEAP[_46] = 3.4028234663852886e+38;
      var _47 = _6+48*_1+16;
      FHEAP[_47] = -3.4028234663852886e+38;
      var _48 = _6+48*_1+16+4;
      FHEAP[_48] = -3.4028234663852886e+38;
      var _49 = _6+48*_1+16+8;
      FHEAP[_49] = -3.4028234663852886e+38;
      var _50 = unSign(_startIndex, 32) < unSign(_endIndex, 32);
      ;
      _bb_nph$_bb4$13045: do { 
        if (_50) {
          ;
          var _51 = _primitive_boxes;
          __lastLabel__ = 130; ;
          _bb2$13047: while(1) { // _bb2
            var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
            var _tmp7 = _indvar + _startIndex;
            var _52 = IHEAP[_51];
            var _53 = IHEAP[_5];
            var _54 = _53+48*_1;
            var _55 = _53+48*_1;
            var _56 = FHEAP[_55];
            var _scevgep1920 = _52+36*_tmp7;
            var _57 = FHEAP[_scevgep1920];
            var _58 = _56 > _57;
            var _scevgep1718 = _52+36*_tmp7;
            var _box_pn25_i = _58 ? _scevgep1718 : _54;
            var _iftmp_151_0_in_i = _box_pn25_i;
            var _iftmp_151_0_i = FHEAP[_iftmp_151_0_in_i];
            FHEAP[_55] = _iftmp_151_0_i;
            var _59 = _53+48*_1+4;
            var _60 = FHEAP[_59];
            var _scevgep21 = _52+36*_tmp7+4;
            var _61 = FHEAP[_scevgep21];
            var _62 = _60 > _61;
            var _box_pn24_i = _62 ? _scevgep1718 : _54;
            var _iftmp_152_0_in_i = _box_pn24_i+4;
            var _iftmp_152_0_i = FHEAP[_iftmp_152_0_in_i];
            FHEAP[_59] = _iftmp_152_0_i;
            var _63 = _53+48*_1+8;
            var _64 = FHEAP[_63];
            var _scevgep22 = _52+36*_tmp7+8;
            var _65 = FHEAP[_scevgep22];
            var _66 = _64 > _65;
            var _box_pn23_i = _66 ? _scevgep1718 : _54;
            var _iftmp_153_0_in_i = _box_pn23_i+8;
            var _iftmp_153_0_i = FHEAP[_iftmp_153_0_in_i];
            FHEAP[_63] = _iftmp_153_0_i;
            var _67 = _53+48*_1+16;
            var _68 = FHEAP[_67];
            var _scevgep23 = _52+36*_tmp7+16;
            var _69 = FHEAP[_scevgep23];
            var _70 = _68 < _69;
            var _box_pn22_i = _70 ? _scevgep1718 : _54;
            var _iftmp_154_0_in_i = _box_pn22_i+16;
            var _iftmp_154_0_i = FHEAP[_iftmp_154_0_in_i];
            FHEAP[_67] = _iftmp_154_0_i;
            var _71 = _53+48*_1+16+4;
            var _72 = FHEAP[_71];
            var _scevgep24 = _52+36*_tmp7+16+4;
            var _73 = FHEAP[_scevgep24];
            var _74 = _72 < _73;
            var _box_pn21_i = _74 ? _scevgep1718 : _54;
            var _iftmp_155_0_in_i = _box_pn21_i+16+4;
            var _iftmp_155_0_i = FHEAP[_iftmp_155_0_in_i];
            FHEAP[_71] = _iftmp_155_0_i;
            var _75 = _53+48*_1+16+8;
            var _76 = FHEAP[_75];
            var _scevgep25 = _52+36*_tmp7+16+8;
            var _77 = FHEAP[_scevgep25];
            var _78 = _76 < _77;
            var _box_pn_i = _78 ? _scevgep1718 : _54;
            var _iftmp_156_0_in_i = _box_pn_i+16+8;
            var _iftmp_156_0_i = FHEAP[_iftmp_156_0_in_i];
            FHEAP[_75] = _iftmp_156_0_i;
            var _indvar_next = _indvar + 1;
            var _exitcond = _indvar_next == _3;
            if (_exitcond) { __lastLabel__ = 0; __label__ = 61; /* _bb4 */ break _bb_nph$_bb4$13045; } else { __lastLabel__ = 0; __label__ = 0; /* _bb2 */ continue _bb2$13047; }
          }
        }
      } while(0);
      var _79 = __ZN12GIM_BOX_TREE20_calc_splitting_axisER9gim_arrayI13GIM_AABB_DATAEjj(_this, _primitive_boxes, _startIndex, _endIndex);
      var _80 = __ZN12GIM_BOX_TREE30_sort_and_calc_splitting_indexER9gim_arrayI13GIM_AABB_DATAEjjj(_this, _primitive_boxes, _startIndex, _endIndex, _79);
      var _81 = IHEAP[_5];
      var _82 = IHEAP[_0];
      var _83 = _81+48*_1+32;
      IHEAP[_83] = _82;
      __ZN12GIM_BOX_TREE15_build_sub_treeER9gim_arrayI13GIM_AABB_DATAEjj(_this, _primitive_boxes, _startIndex, _80);
      var _84 = IHEAP[_5];
      var _85 = IHEAP[_0];
      var _86 = _84+48*_1+36;
      IHEAP[_86] = _85;
      __ZN12GIM_BOX_TREE15_build_sub_treeER9gim_arrayI13GIM_AABB_DATAEjj(_this, _primitive_boxes, _80, _endIndex);
      var _87 = IHEAP[_5];
      var _88 = IHEAP[_0];
      var _89 = _88 - _1;
      var _90 = _87+48*_1+40;
      IHEAP[_90] = _89;
      ;
      return;
    }
  }
  __ZN12GIM_BOX_TREE15_build_sub_treeER9gim_arrayI13GIM_AABB_DATAEjj.__index__ = Runtime.getFunctionIndex(__ZN12GIM_BOX_TREE15_build_sub_treeER9gim_arrayI13GIM_AABB_DATAEjj, "__ZN12GIM_BOX_TREE15_build_sub_treeER9gim_arrayI13GIM_AABB_DATAEjj");
  
  
  function __ZN9gim_arrayI17GIM_BOX_TREE_NODEE6resizeEjb(_this, _size, _call_constructor) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = unSign(_1, 32) < unSign(_size, 32);
    ;
    _bb$_bb6$13051: do { 
      if (_2) {
        ;
        var _3 = _this+8;
        var _4 = IHEAP[_3];
        var _5 = unSign(_4, 32) < unSign(_size, 32);
        ;
        _bb1_i$__ZN9gim_arrayI17GIM_BOX_TREE_NODEE7reserveEj_exit$13053: do { 
          if (_5) {
            ;
            var _6 = _size == 0;
            ;
            if (_6) {
              ;
              IHEAP[_3] = 0;
              var _7 = _this;
              var _8 = IHEAP[_7];
              var _9 = _8 == 0;
              if (_9) { __label__ = 2391; /* __ZN9gim_arrayI17GIM_BOX_TREE_NODEE7reserveEj_exit */ break _bb1_i$__ZN9gim_arrayI17GIM_BOX_TREE_NODEE7reserveEj_exit$13053; }
              var _10 = _8;
              __Z8gim_freePv(_10);
              IHEAP[_7] = 0;
              ;
            }
            else {
              ;
              var _11 = _1 == 0;
              var _12 = _size * 48;
              ;
              if (_11) {
                ;
                var _19 = __Z9gim_allocj(_12);
                var _20 = _19;
                var _21 = _this;
                IHEAP[_21] = _20;
                ;
              }
              else {
                ;
                var _13 = _1 * 48;
                var _14 = _this;
                var _15 = IHEAP[_14];
                var _16 = _15;
                var _17 = __Z11gim_reallocPvjj(_16, _13, _12);
                var _18 = _17;
                IHEAP[_14] = _18;
                ;
              }
              IHEAP[_3] = _size;
              ;
            }
          }
        } while(0);
        var _toBool = _call_constructor == 0;
        ;
        if (_toBool) {
          ;
          IHEAP[_0] = _size;
          ;
          return;
        }
        else {
          ;
          var _22 = IHEAP[_0];
          var _23 = unSign(_22, 32) < unSign(_size, 32);
          if (!(_23)) { __label__ = 44; /* _return */ break _bb$_bb6$13051; }
          var _24 = _this;
          __lastLabel__ = 130; ;
          _bb2$13068: while(1) { // _bb2
            var _25 = __lastLabel__ == 130 ? _22 : (_28);
            var _26 = IHEAP[_24];
            var __1 = _26+48*_25+32;
            IHEAP[__1] = 0;
            var __2 = _26+48*_25+36;
            IHEAP[__2] = 0;
            var __3 = _26+48*_25+40;
            IHEAP[__3] = 0;
            var __4 = _26+48*_25+44;
            IHEAP[__4] = 0;
            var _27 = IHEAP[_0];
            var _28 = _27 + 1;
            IHEAP[_0] = _28;
            var _29 = unSign(_28, 32) < unSign(_size, 32);
            if (_29) { __lastLabel__ = 0; __label__ = 0; /* _bb2 */ continue _bb2$13068; } else { __lastLabel__ = 0; __label__ = 44; /* _return */ break _bb$_bb6$13051; }
          }
        }
      }
      else {
        ;
        var _30 = unSign(_1, 32) > unSign(_size, 32);
        if (!(_30)) { __label__ = 44; /* _return */ break _bb$_bb6$13051; }
        var _toBool8 = _call_constructor == 0;
        ;
        if (!_toBool8) {
          ;
          var _tmp_i = 0 - _1;
          var _tmp3_i = _size ^ -1;
          var _tmp4_i = unSign(_tmp_i, 32) > unSign(_tmp3_i, 32);
          var _umax_i = _tmp4_i ? _tmp_i : _tmp3_i;
          var _tmp5_i = _umax_i ^ -1;
          IHEAP[_0] = _tmp5_i;
          ;
        }
        IHEAP[_0] = _size;
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __ZN9gim_arrayI17GIM_BOX_TREE_NODEE6resizeEjb.__index__ = Runtime.getFunctionIndex(__ZN9gim_arrayI17GIM_BOX_TREE_NODEE6resizeEjb, "__ZN9gim_arrayI17GIM_BOX_TREE_NODEE6resizeEjb");
  
  
  function __ZN17gim_contact_array14merge_contactsERKS_b(_this, _contacts, _normal_contact_average) {
    var __stackBase__  = STACKTOP; STACKTOP += 129;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _coincident_normals = __stackBase__+1;
    var _1 = _this+4;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      IHEAP[_1] = 0;
      ;
    }
    var _4 = _contacts+4;
    var _5 = IHEAP[_4];
    if (_5 == 1) {
      __lastLabel__ = 3710; __label__ = 60; /* _bb */ 
    }
    else if (_5 == 0) {
      __lastLabel__ = 3710; __label__ = 62; /* _bb9 */ 
    }
    else {
    __lastLabel__ = 3710; __label__ = 2399; /* __ZN9gim_arrayI15GIM_RSORT_TOKENEC1Ej_exit */ 
    }
    
    __ZN9gim_arrayI15GIM_RSORT_TOKENEC1Ej_exit$_bb$_bb9$13081: do { 
      if (__label__ == 2399) {
        var _23 = _5 << 3;
        var _24 = __Z9gim_allocj(_23);
        var _25 = _24;
        var __pre = IHEAP[_4];
        var _26 = __pre == 0;
        if (_26) { __lastLabel__ = 2399; __label__ = 62; /* _bb9 */ break __ZN9gim_arrayI15GIM_RSORT_TOKENEC1Ej_exit$_bb$_bb9$13081; } else { __lastLabel__ = 2399; ; }
        var _27 = unSign(_5, 32) < unSign(__pre, 32);
        ;
        if (_27) {
          __lastLabel__ = 131; ;
          var _28 = __pre << 3;
          var _29 = (function() { try { __THREW__ = false; return __Z9gim_allocj(_28) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2401; /* __ZN9gim_arrayI15GIM_RSORT_TOKENE6resizeEjb_exit */  } else { __label__ = 381; /* _lpad_thread */  };
          if (__label__ == 2401) {
            var _30 = _29;
            var __pre118 = IHEAP[_4];
            var _31 = __pre118 == 0;
            if (_31) { __lastLabel__ = 2401; __label__ = 62; /* _bb9 */ break __ZN9gim_arrayI15GIM_RSORT_TOKENEC1Ej_exit$_bb$_bb9$13081; } else { __lastLabel__ = 2401; ; }
          }
          else if (__label__ == 381) {
            var _eh_ptr93 = _llvm_eh_exception();
            var _eh_select3594 = _llvm_eh_selector(_eh_ptr93, ___gxx_personality_v0, 0);
            __lastLabel__ = 381; __label__ = 2400; /* __ZN9gim_arrayI15GIM_RSORT_TOKENE5clearEv_exit_i_i */ break __ZN9gim_arrayI15GIM_RSORT_TOKENEC1Ej_exit$_bb$_bb9$13081;
          }
        }
        else {
          __lastLabel__ = 131; ;
        }
        var _keycontacts_0_2123 = __lastLabel__ == 2401 ? _30 : (_25);
        var _32 = _contacts;
        __lastLabel__ = 2403; ;
        _bb2$13090: while(1) { // _bb2
          var _33 = __lastLabel__ == 2403 ? 0 : (_50);
          var _scevgep115116 = _keycontacts_0_2123+8*_33;
          var _scevgep117 = _keycontacts_0_2123+8*_33+4;
          var _34 = IHEAP[_32];
          var _scevgep111112 = _34+48*_33;
          var _35 = FHEAP[_scevgep111112];
          var _36 = _35 * 1000;
          var _37 = _36 + 1;
          var _38 = Math.floor(_37);
          var _scevgep113 = _34+48*_33+4;
          var _39 = FHEAP[_scevgep113];
          var _40 = _39 * 1333;
          var _41 = Math.floor(_40);
          var _scevgep114 = _34+48*_33+8;
          var _42 = FHEAP[_scevgep114];
          var _43 = _42 * 2133;
          var _44 = _43 + 3;
          var _45 = Math.floor(_44);
          var _46 = _41 << 4;
          var _47 = _45 << 8;
          var _48 = _46 + _38;
          var _49 = _48 + _47;
          IHEAP[_scevgep115116] = _49;
          IHEAP[_scevgep117] = _33;
          var _50 = _33 + 1;
          var _51 = IHEAP[_4];
          var _52 = unSign(_51, 32) > unSign(_50, 32);
          if (_52) { __lastLabel__ = 0; __label__ = 0; /* _bb2 */ continue _bb2$13090; } else { __lastLabel__ = 0; __label__ = 62; /* _bb9 */ break __ZN9gim_arrayI15GIM_RSORT_TOKENEC1Ej_exit$_bb$_bb9$13081; }
        }
      }
      else if (__label__ == 60) {
        var _6 = _contacts;
        var _7 = IHEAP[_6];
        var _8 = _5 + -1;
        var _9 = _7+48*_8;
        var _10 = _this+8;
        var _11 = IHEAP[_10];
        var _12 = unSign(_11, 32) > unSign(0, 32);
        ;
        if (_12) {
          ;
          var __phi_trans_insert_i54 = _this;
          var __pre_i55 = IHEAP[__phi_trans_insert_i54];
          __lastLabel__ = 2396; ;
        }
        else {
          ;
          IHEAP[_1] = _11;
          var _13 = __Z9gim_allocj(192);
          var _14 = _13;
          var _15 = _this;
          IHEAP[_15] = _14;
          IHEAP[_10] = 4;
          __lastLabel__ = 2398; ;
        }
        var _16 = __lastLabel__ == 2396 ? __pre_i55 : (_14);
        var _17 = IHEAP[_1];
        var _18 = _16+48*_17;
        var _19 = _18;
        var _20 = _9;
        _llvm_memcpy_p0i8_p0i8_i32(_19, _20, 48, 4, false);
        var _21 = IHEAP[_1];
        var _22 = _21 + 1;
        IHEAP[_1] = _22;
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    if (__label__ == 62) {
      var _keycontacts_0_2120 = __lastLabel__ == 2401 ? _30 : (__lastLabel__ == 0 ? _keycontacts_0_2123 : (__lastLabel__ == 2399 ? _25 : (0)));
      var _keycontacts_1_0119 = __lastLabel__ == 2401 ? __pre : (__lastLabel__ == 0 ? __pre : (__lastLabel__ == 2399 ? 0 : (0)));
      __Z13gim_heap_sortI15GIM_RSORT_TOKEN26GIM_RSORT_TOKEN_COMPARATOREvPT_jT0_(_keycontacts_0_2120, _keycontacts_1_0119, _0);
      var _53 = _keycontacts_0_2120;
      var _54 = IHEAP[_53];
      var _55 = _keycontacts_0_2120+4;
      var _56 = IHEAP[_55];
      var _57 = _contacts;
      var _58 = IHEAP[_57];
      var _59 = _58+48*_56;
      var _60 = _this+8;
      var _61 = IHEAP[_60];
      var _62 = IHEAP[_1];
      var _63 = unSign(_61, 32) > unSign(_62, 32);
      ;
      _entry__ZN9gim_arrayI11GIM_CONTACTE12growingCheckEv_exit_crit_edge_i81$_bb_i_i82$13099: do { 
        if (_63) {
          ;
          var __phi_trans_insert_i79 = _this;
          var __pre_i80 = IHEAP[__phi_trans_insert_i79];
          __lastLabel__ = 2404; __label__ = 2405; /* _invcont10 */ break _entry__ZN9gim_arrayI11GIM_CONTACTE12growingCheckEv_exit_crit_edge_i81$_bb_i_i82$13099;
        }
        else {
          ;
          IHEAP[_1] = _61;
          var _64 = _62 << 1;
          var _65 = _64 + 4;
          var _66 = _65 == 0;
          ;
          if (_66) {
            ;
            IHEAP[_60] = 0;
            var _67 = _this;
            var _68 = IHEAP[_67];
            var _69 = _68 == 0;
            if (_69) { __lastLabel__ = 2406; __label__ = 2405; /* _invcont10 */ break _entry__ZN9gim_arrayI11GIM_CONTACTE12growingCheckEv_exit_crit_edge_i81$_bb_i_i82$13099; } else { __lastLabel__ = 2406; ; }
            var _70 = _68;
            (function() { try { __THREW__ = false; return __Z8gim_freePv(_70) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _entry__ZN9gim_arrayI11GIM_CONTACTE12growingCheckEv_exit_crit_edge_i81$_bb_i_i82$13099; }
            IHEAP[_67] = 0;
            __lastLabel__ = 2408; __label__ = 2405; /* _invcont10 */ break _entry__ZN9gim_arrayI11GIM_CONTACTE12growingCheckEv_exit_crit_edge_i81$_bb_i_i82$13099;
          }
          else {
            ;
            var _71 = _61 == 0;
            var _72 = _65 * 48;
            ;
            if (_71) {
              ;
              var _79 = (function() { try { __THREW__ = false; return __Z9gim_allocj(_72) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _entry__ZN9gim_arrayI11GIM_CONTACTE12growingCheckEv_exit_crit_edge_i81$_bb_i_i82$13099; };
              var _80 = _79;
              var _81 = _this;
              IHEAP[_81] = _80;
              __lastLabel__ = 475; ;
            }
            else {
              ;
              var _73 = _61 * 48;
              var _74 = _this;
              var _75 = IHEAP[_74];
              var _76 = _75;
              var _77 = (function() { try { __THREW__ = false; return __Z11gim_reallocPvjj(_76, _73, _72) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _entry__ZN9gim_arrayI11GIM_CONTACTE12growingCheckEv_exit_crit_edge_i81$_bb_i_i82$13099; };
              var _78 = _77;
              IHEAP[_74] = _78;
              __lastLabel__ = 2409; ;
            }
            var _82 = __lastLabel__ == 475 ? _80 : (_78);
            IHEAP[_60] = _65;
            __lastLabel__ = 2411; __label__ = 2405; /* _invcont10 */ break _entry__ZN9gim_arrayI11GIM_CONTACTE12growingCheckEv_exit_crit_edge_i81$_bb_i_i82$13099;
          }
        }
      } while(0);
      _invcont10$_lpad$13113: do { 
        if (__label__ == 2405) {
          var _83 = __lastLabel__ == 2404 ? __pre_i80 : (__lastLabel__ == 2406 ? 0 : (__lastLabel__ == 2408 ? 0 : (_82)));
          var _84 = IHEAP[_1];
          var _85 = _83+48*_84;
          var _86 = _85;
          var _87 = _59;
          _llvm_memcpy_p0i8_p0i8_i32(_86, _87, 48, 4, false);
          var _88 = IHEAP[_1];
          var _89 = _88 + 1;
          IHEAP[_1] = _89;
          var _90 = _this;
          var _91 = IHEAP[_90];
          var _92 = _91+48*_88;
          var _toBool15 = _normal_contact_average == 0;
          __lastLabel__ = 2405; ;
          _bb27$13115: while(1) { // _bb27
            var _indvar = __lastLabel__ == 626 ? _phitmp : (1);
            var _coincident_count_1 = __lastLabel__ == 626 ? _coincident_count_0 : (0);
            var _last_key_0 = __lastLabel__ == 626 ? _93 : (_54);
            var _pcontact_1 = __lastLabel__ == 626 ? _pcontact_0 : (_92);
            var _182 = unSign(_keycontacts_1_0119, 32) > unSign(_indvar, 32);
            if (!(_182)) { __label__ = 91; /* _bb32 */ break _bb27$13115; }
            var _scevgep106107 = _keycontacts_0_2120+8*_indvar;
            var _scevgep105 = _keycontacts_0_2120+8*_indvar+4;
            var _93 = IHEAP[_scevgep106107];
            var _94 = IHEAP[_scevgep105];
            var _95 = IHEAP[_57];
            var _96 = _95+48*_94;
            var _97 = _last_key_0 == _93;
            ;
            _bb12$_bb20$13118: do { 
              if (_97) {
                ;
                var _98 = _pcontact_1+32;
                var _99 = FHEAP[_98];
                var _100 = _99 + -0.000009999999747378752;
                var _101 = _95+48*_94+32;
                var _102 = FHEAP[_101];
                var _103 = _100 > _102;
                ;
                if (_103) {
                  ;
                  var _104 = _pcontact_1;
                  var _105 = _96;
                  _llvm_memcpy_p0i8_p0i8_i32(_104, _105, 48, 4, false);
                  __lastLabel__ = 108; ;
                }
                else {
                  ;
                  if (_toBool15) { __lastLabel__ = 63; __label__ = 626; /* _bb26 */ break _bb12$_bb20$13118; } else { __lastLabel__ = 63; ; }
                  var _106 = _99 - _102;
                  var _107 = _fabsf(_106);
                  var _108 = _107 < 0.000009999999747378752;
                  var _109 = unSign(_coincident_count_1, 32) < unSign(8, 32);
                  var _or_cond = _108 & _109;
                  if (_or_cond) { __lastLabel__ = 154; ; } else { __lastLabel__ = 154; __label__ = 626; /* _bb26 */ break _bb12$_bb20$13118; }
                  var _110 = _coincident_normals+_coincident_count_1*16;
                  var _111 = _95+48*_94+16;
                  var _112 = FHEAP[_111];
                  FHEAP[_110] = _112;
                  var _113 = _coincident_normals+_coincident_count_1*16+4;
                  var _114 = _95+48*_94+16+4;
                  var _115 = FHEAP[_114];
                  FHEAP[_113] = _115;
                  var _116 = _coincident_normals+_coincident_count_1*16+8;
                  var _117 = _95+48*_94+16+8;
                  var _118 = FHEAP[_117];
                  FHEAP[_116] = _118;
                  var _119 = _coincident_normals+_coincident_count_1*16+12;
                  var _120 = _95+48*_94+16+12;
                  var _121 = FHEAP[_120];
                  FHEAP[_119] = _121;
                  var _122 = _coincident_count_1 + 1;
                  __lastLabel__ = 64; ;
                }
              }
              else {
                ;
                var _123 = _coincident_count_1 == 0;
                var _or_cond44 = _toBool15 | _123;
                ;
                _bb24$_bb23$13126: do { 
                  if (_or_cond44) {
                    __lastLabel__ = 117; ;
                  }
                  else {
                    __lastLabel__ = 117; ;
                    var _124 = _pcontact_1+16;
                    var _125 = FHEAP[_124];
                    var _126 = _pcontact_1+16+4;
                    var _127 = FHEAP[_126];
                    var _128 = _pcontact_1+16+8;
                    var _129 = FHEAP[_128];
                    if (_123) { __lastLabel__ = 419; __label__ = 132; /* _bb2_i */  } else { __lastLabel__ = 419; __label__ = 2413; /* _bb_i76 */  }
                    _bb2_i$_bb_i76$13128: while(1) { // _bb2_i,_bb_i76
                      if (__label__ == 132) {
                        var _vec_sum_0_0_0_lcssa_i = __lastLabel__ == 419 ? _125 : (_131);
                        var _vec_sum_0_1_0_lcssa_i = __lastLabel__ == 419 ? _127 : (_133);
                        var _vec_sum_0_2_0_lcssa_i = __lastLabel__ == 419 ? _129 : (_135);
                        var _137 = _vec_sum_0_0_0_lcssa_i * _vec_sum_0_0_0_lcssa_i;
                        var _138 = _vec_sum_0_1_0_lcssa_i * _vec_sum_0_1_0_lcssa_i;
                        var _139 = _137 + _138;
                        var _140 = _vec_sum_0_2_0_lcssa_i * _vec_sum_0_2_0_lcssa_i;
                        var _141 = _139 + _140;
                        var _tmp22_i = _141;
                        var _142 = _141 < 0.000009999999747378752;
                        if (_142) { __lastLabel__ = 132; __label__ = 65; /* _bb24 */ break _bb24$_bb23$13126; } else { __lastLabel__ = 132; __label__ = 133; /* _bb3_i */ break _bb2_i$_bb_i76$13128; }
                      }
                      else if (__label__ == 2413) {
                        var _i_031_i = __lastLabel__ == 2413 ? _136 : (0);
                        var _vec_sum_0_0_030_i = __lastLabel__ == 2413 ? _131 : (_125);
                        var _vec_sum_0_1_029_i = __lastLabel__ == 2413 ? _133 : (_127);
                        var _vec_sum_0_2_028_i = __lastLabel__ == 2413 ? _135 : (_129);
                        var _scevgep38_i = _coincident_normals+_i_031_i*16+8;
                        var _scevgep37_i = _coincident_normals+_i_031_i*16+4;
                        var _scevgep36_i = _coincident_normals+_i_031_i*16;
                        var _130 = FHEAP[_scevgep36_i];
                        var _131 = _vec_sum_0_0_030_i + _130;
                        var _132 = FHEAP[_scevgep37_i];
                        var _133 = _vec_sum_0_1_029_i + _132;
                        var _134 = FHEAP[_scevgep38_i];
                        var _135 = _vec_sum_0_2_028_i + _134;
                        var _136 = _i_031_i + 1;
                        var _exitcond = _136 == _coincident_count_1;
                        if (_exitcond) { __lastLabel__ = 2413; __label__ = 132; /* _bb2_i */ continue _bb2_i$_bb_i76$13128; } else { __lastLabel__ = 2413; __label__ = 2413; /* _bb_i76 */ continue _bb2_i$_bb_i76$13128; }
                      }
                    }
                    var _143 = _141 > 1.0000000116860974e-7;
                    ;
                    if (_143) {
                      __lastLabel__ = 133; ;
                      var _144 = _141 * 0.5;
                      var _145 = _tmp22_i >> 1;
                      var _146 = 1597463007 - _145;
                      var _tmp12_i = _146;
                      var _147 = _144 * _tmp12_i;
                      var _148 = _147 * _tmp12_i;
                      var _149 = 1.5 - _148;
                      var _150 = _149 * _tmp12_i;
                      __lastLabel__ = 2414; ;
                    }
                    else {
                      __lastLabel__ = 133; ;
                    }
                    var _storemerge_i = __lastLabel__ == 2414 ? _150 : (3.4028234663852886e+38);
                    var _151 = _vec_sum_0_2_0_lcssa_i * _storemerge_i;
                    var _152 = _vec_sum_0_1_0_lcssa_i * _storemerge_i;
                    var _153 = _vec_sum_0_0_0_lcssa_i * _storemerge_i;
                    FHEAP[_124] = _153;
                    FHEAP[_126] = _152;
                    FHEAP[_128] = _151;
                    var _154 = _pcontact_1+16+12;
                    FHEAP[_154] = 0;
                    __lastLabel__ = 581; ;
                  }
                } while(0);
                var _coincident_count_2 = __lastLabel__ == 581 ? 0 : (__lastLabel__ == 117 ? _coincident_count_1 : (0));
                var _155 = IHEAP[_60];
                var _156 = IHEAP[_1];
                var _157 = unSign(_155, 32) > unSign(_156, 32);
                ;
                _entry__ZN9gim_arrayI11GIM_CONTACTE12growingCheckEv_exit_crit_edge_i$_bb_i_i$13137: do { 
                  if (_157) {
                    ;
                    var __pre_i = IHEAP[_90];
                    __lastLabel__ = 2417; ;
                  }
                  else {
                    ;
                    IHEAP[_1] = _155;
                    var _158 = _156 << 1;
                    var _159 = _158 + 4;
                    var _160 = _159 == 0;
                    ;
                    if (_160) {
                      ;
                      IHEAP[_60] = 0;
                      var _161 = IHEAP[_90];
                      var _162 = _161 == 0;
                      if (_162) { __lastLabel__ = 2419; __label__ = 2420; /* _invcont25 */ break _entry__ZN9gim_arrayI11GIM_CONTACTE12growingCheckEv_exit_crit_edge_i$_bb_i_i$13137; } else { __lastLabel__ = 2419; ; }
                      var _163 = _161;
                      (function() { try { __THREW__ = false; return __Z8gim_freePv(_163) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont10$_lpad$13113; }
                      IHEAP[_90] = 0;
                      __lastLabel__ = 2422; ;
                    }
                    else {
                      ;
                      var _164 = _155 == 0;
                      var _165 = _159 * 48;
                      ;
                      if (_164) {
                        ;
                        var _171 = (function() { try { __THREW__ = false; return __Z9gim_allocj(_165) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont10$_lpad$13113; };
                        var _172 = _171;
                        __lastLabel__ = 2119; ;
                      }
                      else {
                        ;
                        var _166 = _155 * 48;
                        var _167 = IHEAP[_90];
                        var _168 = _167;
                        var _169 = (function() { try { __THREW__ = false; return __Z11gim_reallocPvjj(_168, _166, _165) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont10$_lpad$13113; };
                        var _170 = _169;
                        __lastLabel__ = 2423; ;
                      }
                      var _storemerge = __lastLabel__ == 2423 ? _170 : (_172);
                      IHEAP[_90] = _storemerge;
                      IHEAP[_60] = _159;
                      __lastLabel__ = 2425; ;
                    }
                  }
                } while(0);
                var _173 = __lastLabel__ == 2417 ? __pre_i : (__lastLabel__ == 2419 ? 0 : (__lastLabel__ == 2422 ? 0 : (_storemerge)));
                var _174 = IHEAP[_1];
                var _175 = _173+48*_174;
                var _176 = _175;
                var _177 = _96;
                _llvm_memcpy_p0i8_p0i8_i32(_176, _177, 48, 4, false);
                var _178 = IHEAP[_1];
                var _179 = _178 + 1;
                IHEAP[_1] = _179;
                var _180 = IHEAP[_90];
                var _181 = _180+48*_178;
                __lastLabel__ = 2420; ;
              }
            } while(0);
            var _coincident_count_0 = __lastLabel__ == 108 ? 0 : (__lastLabel__ == 64 ? _122 : (__lastLabel__ == 154 ? _coincident_count_1 : (__lastLabel__ == 63 ? _coincident_count_1 : (_coincident_count_2))));
            var _pcontact_0 = __lastLabel__ == 108 ? _pcontact_1 : (__lastLabel__ == 64 ? _pcontact_1 : (__lastLabel__ == 154 ? _pcontact_1 : (__lastLabel__ == 63 ? _pcontact_1 : (_181))));
            var _phitmp = _indvar + 1;
            __lastLabel__ = 626; __label__ = 515; /* _bb27 */ continue _bb27$13115;
          }
          var _183 = _keycontacts_0_2120 == 0;
          ;
          if (_183) {
            ;
            STACKTOP = __stackBase__;
            return;
          }
          else {
            ;
            var _184 = _keycontacts_0_2120;
            __Z8gim_freePv(_184);
            STACKTOP = __stackBase__;
            return;
          }
        }
      } while(0);
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select35 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __lastLabel__ = 254; ;
    }
    var _eh_ptr96 = __lastLabel__ == 381 ? _eh_ptr93 : (_eh_ptr);
    var _keycontacts_0_395 = __lastLabel__ == 381 ? _25 : (_keycontacts_0_2120);
    var _185 = _keycontacts_0_395 == 0;
    ;
    _invcont30$_bb_i_i_i$13159: do { 
      if (!_185) {
        ;
        var _186 = _keycontacts_0_395;
        (function() { try { __THREW__ = false; return __Z8gim_freePv(_186) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1230; /* _invcont30 */ break _invcont30$_bb_i_i_i$13159; } else { ; }
        var _eh_ptr37 = _llvm_eh_exception();
        var _eh_select39 = _llvm_eh_selector(_eh_ptr37, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    } while(0);
    __Unwind_Resume_or_Rethrow(_eh_ptr96);
    // unreachable
  }
  __ZN17gim_contact_array14merge_contactsERKS_b.__index__ = Runtime.getFunctionIndex(__ZN17gim_contact_array14merge_contactsERKS_b, "__ZN17gim_contact_array14merge_contactsERKS_b");
  
  
  function __ZN17gim_contact_array21merge_contacts_uniqueERKS_(_this, _contacts) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (!_2) {
      ;
      IHEAP[_0] = 0;
      ;
    }
    var _3 = _contacts+4;
    var _4 = IHEAP[_3];
    var _5 = _4 == 1;
    var _6 = _contacts;
    var _7 = IHEAP[_6];
    var _8 = _4 + -1;
    var _9 = _7+48*_8;
    ;
    if (_5) {
      ;
      var _11 = _this+8;
      var _12 = IHEAP[_11];
      var _13 = unSign(_12, 32) > unSign(0, 32);
      ;
      if (_13) {
        ;
        var __phi_trans_insert_i = _this;
        var __pre_i = IHEAP[__phi_trans_insert_i];
        __lastLabel__ = 2417; ;
      }
      else {
        ;
        IHEAP[_0] = _12;
        var _14 = __Z9gim_allocj(192);
        var _15 = _14;
        var _16 = _this;
        IHEAP[_16] = _15;
        IHEAP[_11] = 4;
        __lastLabel__ = 2160; ;
      }
      var _17 = __lastLabel__ == 2417 ? __pre_i : (_15);
      var _18 = IHEAP[_0];
      var _19 = _17+48*_18;
      var _20 = _19;
      var _21 = _9;
      _llvm_memcpy_p0i8_p0i8_i32(_20, _21, 48, 4, false);
      var _22 = IHEAP[_0];
      var _23 = _22 + 1;
      IHEAP[_0] = _23;
      ;
      return;
    }
    else {
      ;
      var _10 = unSign(_4, 32) > unSign(1, 32);
      ;
      return;
    }
  }
  __ZN17gim_contact_array21merge_contacts_uniqueERKS_.__index__ = Runtime.getFunctionIndex(__ZN17gim_contact_array21merge_contacts_uniqueERKS_, "__ZN17gim_contact_array21merge_contacts_uniqueERKS_");
  
  
  function __Z9gim_allocj(_size) {
    ;
    var __label__;
    var _0 = IHEAP[__ZL9g_allocfn];
    var _1 = _0 == 0;
    ;
    if (_1) {
      ;
      var _3 = _malloc(_size);
      ;
      return _3;
    }
    else {
      ;
      var _2 = FUNCTION_TABLE[_0](_size);
      ;
      return _2;
    }
  }
  __Z9gim_allocj.__index__ = Runtime.getFunctionIndex(__Z9gim_allocj, "__Z9gim_allocj");
  
  
  function __Z11gim_reallocPvjj(_ptr, _oldsize, _newsize) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = IHEAP[__ZL9g_allocfn];
    var _1 = _0 == 0;
    ;
    if (_1) {
      ;
      var _3 = _malloc(_newsize);
      __lastLabel__ = 159; ;
    }
    else {
      ;
      var _2 = FUNCTION_TABLE[_0](_newsize);
      __lastLabel__ = 131; ;
    }
    var _4 = __lastLabel__ == 131 ? _2 : (_3);
    var _5 = unSign(_oldsize, 32) < unSign(_newsize, 32);
    var _iftmp_25_0 = _5 ? _oldsize : _newsize;
    _llvm_memcpy_p0i8_p0i8_i32(_4, _ptr, _iftmp_25_0, 1, false);
    var _6 = _ptr == 0;
    ;
    if (_6) {
      ;
      ;
      return _4;
    }
    else {
      ;
      var _7 = IHEAP[__ZL8g_freefn];
      var _8 = _7 == 0;
      ;
      if (_8) {
        ;
        _free(_ptr);
        ;
        return _4;
      }
      else {
        ;
        FUNCTION_TABLE[_7](_ptr);
        ;
        return _4;
      }
    }
  }
  __Z11gim_reallocPvjj.__index__ = Runtime.getFunctionIndex(__Z11gim_reallocPvjj, "__Z11gim_reallocPvjj");
  
  
  function __Z10gim_allocaj(_size) {
    ;
    var __label__;
    var _0 = IHEAP[__ZL10g_allocafn];
    var _1 = _0 == 0;
    ;
    if (_1) {
      ;
      var _3 = IHEAP[__ZL9g_allocfn];
      var _4 = _3 == 0;
      ;
      if (_4) {
        ;
        var _6 = _malloc(_size);
        ;
        return _6;
      }
      else {
        ;
        var _5 = FUNCTION_TABLE[_3](_size);
        ;
        return _5;
      }
    }
    else {
      ;
      var _2 = FUNCTION_TABLE[_0](_size);
      ;
      return _2;
    }
  }
  __Z10gim_allocaj.__index__ = Runtime.getFunctionIndex(__Z10gim_allocaj, "__Z10gim_allocaj");
  
  
  function __ZNK12GIM_TRIANGLE26collide_triangle_hard_testERKS_R25GIM_TRIANGLE_CONTACT_DATA(_this, _other, _contact_data) {
    var __stackBase__  = STACKTOP; STACKTOP += 1012;
    var __label__;
    var _calc_cache = __stackBase__;
    var _0 = _other;
    var _1 = FHEAP[_0];
    var _2 = _other+4+32;
    var _3 = _other+4+16;
    var _4 = _other+4;
    var _5 = _this;
    var _6 = FHEAP[_5];
    var _7 = _this+4+32;
    var _8 = _this+4+16;
    var _9 = _this+4;
    var _10 = __ZN30GIM_TRIANGLE_CALCULATION_CACHE18triangle_collisionERK9btVector3S2_S2_fS2_S2_S2_fR25GIM_TRIANGLE_CONTACT_DATA(_calc_cache, _9, _8, _7, _6, _4, _3, _2, _1, _contact_data);
    STACKTOP = __stackBase__;
    return _10;
  }
  __ZNK12GIM_TRIANGLE26collide_triangle_hard_testERKS_R25GIM_TRIANGLE_CONTACT_DATA.__index__ = Runtime.getFunctionIndex(__ZNK12GIM_TRIANGLE26collide_triangle_hard_testERKS_R25GIM_TRIANGLE_CONTACT_DATA, "__ZNK12GIM_TRIANGLE26collide_triangle_hard_testERKS_R25GIM_TRIANGLE_CONTACT_DATA");
  
  
  function __ZN30GIM_TRIANGLE_CALCULATION_CACHE13clip_triangleERK9btVector4PK9btVector3S5_PS3_(_this, _tri_plane, _tripoints, _srcpoints, _clip_points) {
    var __stackBase__  = STACKTOP; STACKTOP += 19;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = __stackBase__+2;
    var _edgeplane = __stackBase__+3;
    var _3 = _tripoints+16;
    var _4 = FHEAP[_3];
    var _5 = _tripoints;
    var _6 = FHEAP[_5];
    var _7 = _4 - _6;
    var _8 = _tripoints+16+4;
    var _9 = FHEAP[_8];
    var _10 = _tripoints+4;
    var _11 = FHEAP[_10];
    var _12 = _9 - _11;
    var _13 = _tripoints+16+8;
    var _14 = FHEAP[_13];
    var _15 = _tripoints+8;
    var _16 = FHEAP[_15];
    var _17 = _14 - _16;
    var _18 = _edgeplane;
    var _19 = _tri_plane+8;
    var _20 = FHEAP[_19];
    var _21 = _12 * _20;
    var _22 = _tri_plane+4;
    var _23 = FHEAP[_22];
    var _24 = _17 * _23;
    var _25 = _21 - _24;
    FHEAP[_18] = _25;
    var _26 = _tri_plane;
    var _27 = FHEAP[_26];
    var _28 = _17 * _27;
    var _29 = _7 * _20;
    var _30 = _28 - _29;
    var _31 = _edgeplane+4;
    FHEAP[_31] = _30;
    var _32 = _7 * _23;
    var _33 = _12 * _27;
    var _34 = _32 - _33;
    var _35 = _edgeplane+8;
    FHEAP[_35] = _34;
    var _36 = _25 * _25;
    var _37 = _30 * _30;
    var _38 = _36 + _37;
    var _39 = _34 * _34;
    var _40 = _38 + _39;
    var _41 = _40 > 1.0000000116860974e-7;
    ;
    _bb6$_bb8$13298: do { 
      if (_41) {
        __lastLabel__ = -1; ;
        var _tmp65 = _40;
        var _42 = _40 * 0.5;
        var _43 = _tmp65 >> 1;
        var _44 = 1597463007 - _43;
        var _tmp59 = _44;
        var _45 = _42 * _tmp59;
        var _46 = _45 * _tmp59;
        var _47 = 1.5 - _46;
        var _48 = _47 * _tmp59;
        var _49 = _48 < 3.4028234663852886e+38;
        if (_49) { __lastLabel__ = 83; ; } else { __lastLabel__ = 83; __label__ = 148; /* _bb8 */ break _bb6$_bb8$13298; }
        var _50 = _25 * _48;
        FHEAP[_18] = _50;
        var _51 = _30 * _48;
        FHEAP[_31] = _51;
        var _52 = _34 * _48;
        FHEAP[_35] = _52;
        __lastLabel__ = 2; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _53 = __lastLabel__ == -1 ? _34 : (__lastLabel__ == 2 ? _52 : (_34));
    var _54 = __lastLabel__ == -1 ? _30 : (__lastLabel__ == 2 ? _51 : (_30));
    var _55 = __lastLabel__ == -1 ? _25 : (__lastLabel__ == 2 ? _50 : (_25));
    var _56 = _6 * _55;
    var _57 = _11 * _54;
    var _58 = _56 + _57;
    var _59 = _16 * _53;
    var _60 = _58 + _59;
    var _61 = _edgeplane+12;
    FHEAP[_61] = _60;
    var _62 = _this+244;
    var _63 = _srcpoints+32;
    var _64 = _srcpoints+16;
    var _65 = __Z27PLANE_CLIP_TRIANGLE_GENERICI9btVector39btVector422DISTANCE_PLANE_3D_FUNCEjRKT0_RKT_S8_S8_PS6_T1_(_edgeplane, _srcpoints, _64, _63, _62, _0);
    var _66 = _65 == 0;
    ;
    _bb41$_bb10$13302: do { 
      if (!_66) {
        ;
        var _67 = _tripoints+32;
        var _68 = FHEAP[_67];
        var _69 = FHEAP[_3];
        var _70 = _68 - _69;
        var _71 = _tripoints+32+4;
        var _72 = FHEAP[_71];
        var _73 = FHEAP[_8];
        var _74 = _72 - _73;
        var _75 = _tripoints+32+8;
        var _76 = FHEAP[_75];
        var _77 = FHEAP[_13];
        var _78 = _76 - _77;
        var _79 = FHEAP[_19];
        var _80 = _74 * _79;
        var _81 = FHEAP[_22];
        var _82 = _78 * _81;
        var _83 = _80 - _82;
        FHEAP[_18] = _83;
        var _84 = FHEAP[_26];
        var _85 = _78 * _84;
        var _86 = _70 * _79;
        var _87 = _85 - _86;
        FHEAP[_31] = _87;
        var _88 = _70 * _81;
        var _89 = _74 * _84;
        var _90 = _88 - _89;
        FHEAP[_35] = _90;
        var _91 = _83 * _83;
        var _92 = _87 * _87;
        var _93 = _91 + _92;
        var _94 = _90 * _90;
        var _95 = _93 + _94;
        var _96 = _95 > 1.0000000116860974e-7;
        ;
        _bb22$_bb24$13304: do { 
          if (_96) {
            __lastLabel__ = 150; ;
            var _tmp57 = _95;
            var _97 = _95 * 0.5;
            var _98 = _tmp57 >> 1;
            var _99 = 1597463007 - _98;
            var _tmp51 = _99;
            var _100 = _97 * _tmp51;
            var _101 = _100 * _tmp51;
            var _102 = 1.5 - _101;
            var _103 = _102 * _tmp51;
            var _104 = _103 < 3.4028234663852886e+38;
            if (_104) { __lastLabel__ = 5; ; } else { __lastLabel__ = 5; __label__ = 65; /* _bb24 */ break _bb22$_bb24$13304; }
            var _105 = _83 * _103;
            FHEAP[_18] = _105;
            var _106 = _87 * _103;
            FHEAP[_31] = _106;
            var _107 = _90 * _103;
            FHEAP[_35] = _107;
            __lastLabel__ = 419; ;
          }
          else {
            __lastLabel__ = 150; ;
          }
        } while(0);
        var _108 = __lastLabel__ == 150 ? _90 : (__lastLabel__ == 419 ? _107 : (_90));
        var _109 = __lastLabel__ == 150 ? _87 : (__lastLabel__ == 419 ? _106 : (_87));
        var _110 = __lastLabel__ == 150 ? _83 : (__lastLabel__ == 419 ? _105 : (_83));
        var _111 = _69 * _110;
        var _112 = _73 * _109;
        var _113 = _111 + _112;
        var _114 = _77 * _108;
        var _115 = _113 + _114;
        FHEAP[_61] = _115;
        var _116 = _this+500;
        var _117 = __Z26PLANE_CLIP_POLYGON_GENERICI9btVector39btVector422DISTANCE_PLANE_3D_FUNCEjRKT0_PKT_jPS6_T1_(_edgeplane, _62, _65, _116, _1);
        var _118 = _117 == 0;
        if (_118) { __label__ = 253; /* _bb41 */ break _bb41$_bb10$13302; }
        var _119 = FHEAP[_5];
        var _120 = FHEAP[_67];
        var _121 = _119 - _120;
        var _122 = FHEAP[_10];
        var _123 = FHEAP[_71];
        var _124 = _122 - _123;
        var _125 = FHEAP[_15];
        var _126 = FHEAP[_75];
        var _127 = _125 - _126;
        var _128 = FHEAP[_19];
        var _129 = _124 * _128;
        var _130 = FHEAP[_22];
        var _131 = _127 * _130;
        var _132 = _129 - _131;
        FHEAP[_18] = _132;
        var _133 = FHEAP[_26];
        var _134 = _127 * _133;
        var _135 = _121 * _128;
        var _136 = _134 - _135;
        FHEAP[_31] = _136;
        var _137 = _121 * _130;
        var _138 = _124 * _133;
        var _139 = _137 - _138;
        FHEAP[_35] = _139;
        var _140 = _132 * _132;
        var _141 = _136 * _136;
        var _142 = _140 + _141;
        var _143 = _139 * _139;
        var _144 = _142 + _143;
        var _145 = _144 > 1.0000000116860974e-7;
        ;
        _bb38$_bb40$13309: do { 
          if (_145) {
            __lastLabel__ = 626; ;
            var _tmp49 = _144;
            var _146 = _144 * 0.5;
            var _147 = _tmp49 >> 1;
            var _148 = 1597463007 - _147;
            var _tmp43 = _148;
            var _149 = _146 * _tmp43;
            var _150 = _149 * _tmp43;
            var _151 = 1.5 - _150;
            var _152 = _151 * _tmp43;
            var _153 = _152 < 3.4028234663852886e+38;
            if (_153) { __lastLabel__ = 68; ; } else { __lastLabel__ = 68; __label__ = 1015; /* _bb40 */ break _bb38$_bb40$13309; }
            var _154 = _132 * _152;
            FHEAP[_18] = _154;
            var _155 = _136 * _152;
            FHEAP[_31] = _155;
            var _156 = _139 * _152;
            FHEAP[_35] = _156;
            __lastLabel__ = 971; ;
          }
          else {
            __lastLabel__ = 626; ;
          }
        } while(0);
        var _157 = __lastLabel__ == 626 ? _139 : (__lastLabel__ == 971 ? _156 : (_139));
        var _158 = __lastLabel__ == 626 ? _136 : (__lastLabel__ == 971 ? _155 : (_136));
        var _159 = __lastLabel__ == 626 ? _132 : (__lastLabel__ == 971 ? _154 : (_132));
        var _160 = _120 * _159;
        var _161 = _123 * _158;
        var _162 = _160 + _161;
        var _163 = _126 * _157;
        var _164 = _162 + _163;
        FHEAP[_61] = _164;
        var _165 = __Z26PLANE_CLIP_POLYGON_GENERICI9btVector39btVector422DISTANCE_PLANE_3D_FUNCEjRKT0_PKT_jPS6_T1_(_edgeplane, _116, _117, _clip_points, _2);
        STACKTOP = __stackBase__;
        return _165;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return 0;
  }
  __ZN30GIM_TRIANGLE_CALCULATION_CACHE13clip_triangleERK9btVector4PK9btVector3S5_PS3_.__index__ = Runtime.getFunctionIndex(__ZN30GIM_TRIANGLE_CALCULATION_CACHE13clip_triangleERK9btVector4PK9btVector3S5_PS3_, "__ZN30GIM_TRIANGLE_CALCULATION_CACHE13clip_triangleERK9btVector4PK9btVector3S5_PS3_");
  
  
  function __ZN30GIM_TRIANGLE_CALCULATION_CACHE18triangle_collisionERK9btVector3S2_S2_fS2_S2_S2_fR25GIM_TRIANGLE_CONTACT_DATA(_this, _u0, _u1, _u2, _margin_u, _v0, _v1, _v2, _margin_v, _contacts) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _margin_u + _margin_v;
    var _1 = _this;
    FHEAP[_1] = _0;
    var _2 = _this+4;
    var _3 = _u0;
    var _4 = FHEAP[_3];
    FHEAP[_2] = _4;
    var _5 = _this+4+4;
    var _6 = _u0+4;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _this+4+8;
    var _9 = _u0+8;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _this+4+12;
    var _12 = _u0+12;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _this+4+16;
    var _15 = _u1;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _this+4+16+4;
    var _18 = _u1+4;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _this+4+16+8;
    var _21 = _u1+8;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _this+4+16+12;
    var _24 = _u1+12;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _this+4+32;
    var _27 = _u2;
    var _28 = FHEAP[_27];
    FHEAP[_26] = _28;
    var _29 = _this+4+32+4;
    var _30 = _u2+4;
    var _31 = FHEAP[_30];
    FHEAP[_29] = _31;
    var _32 = _this+4+32+8;
    var _33 = _u2+8;
    var _34 = FHEAP[_33];
    FHEAP[_32] = _34;
    var _35 = _this+4+32+12;
    var _36 = _u2+12;
    var _37 = FHEAP[_36];
    FHEAP[_35] = _37;
    var _38 = _this+52;
    var _39 = _v0;
    var _40 = FHEAP[_39];
    FHEAP[_38] = _40;
    var _41 = _this+52+4;
    var _42 = _v0+4;
    var _43 = FHEAP[_42];
    FHEAP[_41] = _43;
    var _44 = _this+52+8;
    var _45 = _v0+8;
    var _46 = FHEAP[_45];
    FHEAP[_44] = _46;
    var _47 = _this+52+12;
    var _48 = _v0+12;
    var _49 = FHEAP[_48];
    FHEAP[_47] = _49;
    var _50 = _this+52+16;
    var _51 = _v1;
    var _52 = FHEAP[_51];
    FHEAP[_50] = _52;
    var _53 = _this+52+16+4;
    var _54 = _v1+4;
    var _55 = FHEAP[_54];
    FHEAP[_53] = _55;
    var _56 = _this+52+16+8;
    var _57 = _v1+8;
    var _58 = FHEAP[_57];
    FHEAP[_56] = _58;
    var _59 = _this+52+16+12;
    var _60 = _v1+12;
    var _61 = FHEAP[_60];
    FHEAP[_59] = _61;
    var _62 = _this+52+32;
    var _63 = _v2;
    var _64 = FHEAP[_63];
    FHEAP[_62] = _64;
    var _65 = _this+52+32+4;
    var _66 = _v2+4;
    var _67 = FHEAP[_66];
    FHEAP[_65] = _67;
    var _68 = _this+52+32+8;
    var _69 = _v2+8;
    var _70 = FHEAP[_69];
    FHEAP[_68] = _70;
    var _71 = _this+52+32+12;
    var _72 = _v2+12;
    var _73 = FHEAP[_72];
    FHEAP[_71] = _73;
    var _74 = _52 - _40;
    var _75 = _55 - _43;
    var _76 = _58 - _46;
    var _77 = _64 - _40;
    var _78 = _67 - _43;
    var _79 = _70 - _46;
    var _80 = _this+116;
    var _81 = _75 * _79;
    var _82 = _76 * _78;
    var _83 = _81 - _82;
    FHEAP[_80] = _83;
    var _84 = _76 * _77;
    var _85 = _74 * _79;
    var _86 = _84 - _85;
    var _87 = _this+116+4;
    FHEAP[_87] = _86;
    var _88 = _74 * _78;
    var _89 = _75 * _77;
    var _90 = _88 - _89;
    var _91 = _this+116+8;
    FHEAP[_91] = _90;
    var _92 = _83 * _83;
    var _93 = _86 * _86;
    var _94 = _92 + _93;
    var _95 = _90 * _90;
    var _96 = _94 + _95;
    var _97 = _96 > 1.0000000116860974e-7;
    ;
    _bb6$_bb8$13315: do { 
      if (_97) {
        __lastLabel__ = -1; ;
        var _tmp157 = _96;
        var _98 = _96 * 0.5;
        var _99 = _tmp157 >> 1;
        var _100 = 1597463007 - _99;
        var _tmp151 = _100;
        var _101 = _98 * _tmp151;
        var _102 = _101 * _tmp151;
        var _103 = 1.5 - _102;
        var _104 = _103 * _tmp151;
        var _105 = _104 < 3.4028234663852886e+38;
        if (_105) { __lastLabel__ = 83; ; } else { __lastLabel__ = 83; __label__ = 148; /* _bb8 */ break _bb6$_bb8$13315; }
        var _106 = _83 * _104;
        FHEAP[_80] = _106;
        var _107 = _86 * _104;
        FHEAP[_87] = _107;
        var _108 = _90 * _104;
        FHEAP[_91] = _108;
        __lastLabel__ = 2; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _109 = __lastLabel__ == -1 ? _90 : (__lastLabel__ == 2 ? _108 : (_90));
    var _110 = __lastLabel__ == -1 ? _86 : (__lastLabel__ == 2 ? _107 : (_86));
    var _111 = __lastLabel__ == -1 ? _83 : (__lastLabel__ == 2 ? _106 : (_83));
    var _112 = _40 * _111;
    var _113 = _43 * _110;
    var _114 = _112 + _113;
    var _115 = _46 * _109;
    var _116 = _114 + _115;
    var _117 = _this+116+12;
    FHEAP[_117] = _116;
    var _118 = _111 * _4;
    var _119 = _110 * _7;
    var _120 = _118 + _119;
    var _121 = _109 * _10;
    var _122 = _120 + _121;
    var _123 = _122 - _116;
    var _124 = _this+196;
    FHEAP[_124] = _123;
    var _125 = _111 * _16;
    var _126 = _110 * _19;
    var _127 = _125 + _126;
    var _128 = _109 * _22;
    var _129 = _127 + _128;
    var _130 = _129 - _116;
    var _131 = _this+196+4;
    FHEAP[_131] = _130;
    var _132 = _111 * _28;
    var _133 = _110 * _31;
    var _134 = _132 + _133;
    var _135 = _109 * _34;
    var _136 = _134 + _135;
    var _137 = _136 - _116;
    var _138 = _this+196+8;
    FHEAP[_138] = _137;
    var _139 = _123 * _130;
    var _140 = _this+212;
    FHEAP[_140] = _139;
    var _141 = _123 * _137;
    var _142 = _this+216;
    FHEAP[_142] = _141;
    var _143 = _139 <= 0;
    var _144 = _141 <= 0;
    var _or_cond = _143 | _144;
    ;
    _bb35$_bb10$13319: do { 
      if (_or_cond) {
        ;
        var _167 = _this+180;
        var _168 = _123 + _130;
        var _169 = _168 + _137;
        var _170 = _169 / 3;
        FHEAP[_167] = _170;
        var _171 = _170 < 0;
        ;
        if (_171) {
          ;
          var _172 = _40 + _52;
          var _173 = _172 - _52;
          FHEAP[_50] = _173;
          var _174 = _172 - _173;
          FHEAP[_38] = _174;
          var _175 = _43 + _55;
          var _176 = _175 - _55;
          FHEAP[_53] = _176;
          var _177 = _175 - _176;
          FHEAP[_41] = _177;
          var _178 = _46 + _58;
          var _179 = _178 - _58;
          FHEAP[_56] = _179;
          var _180 = _178 - _179;
          FHEAP[_44] = _180;
          var _181 = 0 - _111;
          FHEAP[_80] = _181;
          var _182 = 0 - _110;
          FHEAP[_87] = _182;
          var _183 = 0 - _109;
          FHEAP[_91] = _183;
          var _184 = 0 - _116;
          FHEAP[_117] = _184;
          var _185 = _130 < _137;
          var _iftmp_300_0 = _185 ? _137 : _130;
          var _186 = _123 < _iftmp_300_0;
          var __not169 = _186 ^ true;
          var _brmerge170 = __not169 | _185;
          var __mux171 = __not169 ? _124 : _138;
          var _iftmp_299_0_in = _brmerge170 ? __mux171 : _131;
          var _iftmp_299_0 = FHEAP[_iftmp_299_0_in];
          var _187 = 0 - _iftmp_299_0;
          FHEAP[_167] = _187;
          __lastLabel__ = 1014; __label__ = 71; /* _bb57 */ break _bb35$_bb10$13319;
        }
        else {
          ;
          var _188 = _130 > _137;
          var _iftmp_303_0 = _188 ? _137 : _130;
          var _189 = _123 > _iftmp_303_0;
          var __not172 = _189 ^ true;
          var _brmerge173 = __not172 | _188;
          var __mux174 = __not172 ? _124 : _138;
          var _iftmp_302_0_in = _brmerge173 ? __mux174 : _131;
          var _iftmp_302_0 = FHEAP[_iftmp_302_0_in];
          FHEAP[_167] = _iftmp_302_0;
          __lastLabel__ = 973; __label__ = 71; /* _bb57 */ break _bb35$_bb10$13319;
        }
      }
      else {
        ;
        var _145 = _123 < 0;
        var _146 = _this+180;
        ;
        if (_145) {
          ;
          var _147 = _130 < _137;
          var _iftmp_291_0 = _147 ? _137 : _130;
          var _148 = _123 < _iftmp_291_0;
          var __not = _148 ^ true;
          var _brmerge = __not | _147;
          var __mux = __not ? _124 : _138;
          var _iftmp_290_0_in = _brmerge ? __mux : _131;
          var _iftmp_290_0 = FHEAP[_iftmp_290_0_in];
          var _149 = 0 - _iftmp_290_0;
          FHEAP[_146] = _149;
          var _150 = _0 < _149;
          if (_150) { __label__ = 1043; /* _bb140 */ break _bb35$_bb10$13319; }
          var _151 = _40 + _52;
          var _152 = _151 - _52;
          FHEAP[_50] = _152;
          var _153 = _151 - _152;
          FHEAP[_38] = _153;
          var _154 = _43 + _55;
          var _155 = _154 - _55;
          FHEAP[_53] = _155;
          var _156 = _154 - _155;
          FHEAP[_41] = _156;
          var _157 = _46 + _58;
          var _158 = _157 - _58;
          FHEAP[_56] = _158;
          var _159 = _157 - _158;
          FHEAP[_44] = _159;
          var _160 = 0 - _111;
          FHEAP[_80] = _160;
          var _161 = 0 - _110;
          FHEAP[_87] = _161;
          var _162 = 0 - _109;
          FHEAP[_91] = _162;
          var _163 = 0 - _116;
          FHEAP[_117] = _163;
          __lastLabel__ = 5; __label__ = 71; /* _bb57 */ break _bb35$_bb10$13319;
        }
        else {
          ;
          var _164 = _130 > _137;
          var _iftmp_295_0 = _164 ? _137 : _130;
          var _165 = _123 > _iftmp_295_0;
          var __not166 = _165 ^ true;
          var _brmerge167 = __not166 | _164;
          var __mux168 = __not166 ? _124 : _138;
          var _iftmp_294_0_in = _brmerge167 ? __mux168 : _131;
          var _iftmp_294_0 = FHEAP[_iftmp_294_0_in];
          FHEAP[_146] = _iftmp_294_0;
          var _166 = _iftmp_294_0 > _0;
          if (_166) { __lastLabel__ = 419; __label__ = 1043; /* _bb140 */ break _bb35$_bb10$13319; } else { __lastLabel__ = 419; __label__ = 71; /* _bb57 */ break _bb35$_bb10$13319; }
        }
      }
    } while(0);
    _bb57$_bb140$13329: do { 
      if (__label__ == 71) {
        var _190 = __lastLabel__ == 973 ? _iftmp_302_0 : (__lastLabel__ == 1014 ? _187 : (__lastLabel__ == 419 ? _iftmp_294_0 : (_149)));
        var _191 = __lastLabel__ == 973 ? _58 : (__lastLabel__ == 1014 ? _179 : (__lastLabel__ == 419 ? _58 : (_158)));
        var _192 = __lastLabel__ == 973 ? _55 : (__lastLabel__ == 1014 ? _176 : (__lastLabel__ == 419 ? _55 : (_155)));
        var _193 = __lastLabel__ == 973 ? _52 : (__lastLabel__ == 1014 ? _173 : (__lastLabel__ == 419 ? _52 : (_152)));
        var _194 = __lastLabel__ == 973 ? _46 : (__lastLabel__ == 1014 ? _180 : (__lastLabel__ == 419 ? _46 : (_159)));
        var _195 = __lastLabel__ == 973 ? _43 : (__lastLabel__ == 1014 ? _177 : (__lastLabel__ == 419 ? _43 : (_156)));
        var _196 = __lastLabel__ == 973 ? _40 : (__lastLabel__ == 1014 ? _174 : (__lastLabel__ == 419 ? _40 : (_153)));
        var _197 = _16 - _4;
        var _198 = _19 - _7;
        var _199 = _22 - _10;
        var _200 = _28 - _4;
        var _201 = _31 - _7;
        var _202 = _34 - _10;
        var _203 = _this+100;
        var _204 = _198 * _202;
        var _205 = _199 * _201;
        var _206 = _204 - _205;
        FHEAP[_203] = _206;
        var _207 = _199 * _200;
        var _208 = _197 * _202;
        var _209 = _207 - _208;
        var _210 = _this+100+4;
        FHEAP[_210] = _209;
        var _211 = _197 * _201;
        var _212 = _198 * _200;
        var _213 = _211 - _212;
        var _214 = _this+100+8;
        FHEAP[_214] = _213;
        var _215 = _206 * _206;
        var _216 = _209 * _209;
        var _217 = _215 + _216;
        var _218 = _213 * _213;
        var _219 = _217 + _218;
        var _220 = _219 > 1.0000000116860974e-7;
        ;
        _bb70$_bb72$13331: do { 
          if (_220) {
            __lastLabel__ = 71; ;
            var _tmp149 = _219;
            var _221 = _219 * 0.5;
            var _222 = _tmp149 >> 1;
            var _223 = 1597463007 - _222;
            var _tmp143 = _223;
            var _224 = _221 * _tmp143;
            var _225 = _224 * _tmp143;
            var _226 = 1.5 - _225;
            var _227 = _226 * _tmp143;
            var _228 = _227 < 3.4028234663852886e+38;
            if (_228) { __lastLabel__ = 1034; ; } else { __lastLabel__ = 1034; __label__ = 73; /* _bb72 */ break _bb70$_bb72$13331; }
            var _229 = _206 * _227;
            FHEAP[_203] = _229;
            var _230 = _209 * _227;
            FHEAP[_210] = _230;
            var _231 = _213 * _227;
            FHEAP[_214] = _231;
            __lastLabel__ = 1565; ;
          }
          else {
            __lastLabel__ = 71; ;
          }
        } while(0);
        var _232 = __lastLabel__ == 71 ? _213 : (__lastLabel__ == 1565 ? _231 : (_213));
        var _233 = __lastLabel__ == 71 ? _209 : (__lastLabel__ == 1565 ? _230 : (_209));
        var _234 = __lastLabel__ == 71 ? _206 : (__lastLabel__ == 1565 ? _229 : (_206));
        var _235 = _4 * _234;
        var _236 = _7 * _233;
        var _237 = _235 + _236;
        var _238 = _10 * _232;
        var _239 = _237 + _238;
        var _240 = _this+100+12;
        FHEAP[_240] = _239;
        var _241 = _234 * _196;
        var _242 = _233 * _195;
        var _243 = _241 + _242;
        var _244 = _232 * _194;
        var _245 = _243 + _244;
        var _246 = _245 - _239;
        var _247 = _this+220;
        FHEAP[_247] = _246;
        var _248 = _234 * _193;
        var _249 = _233 * _192;
        var _250 = _248 + _249;
        var _251 = _232 * _191;
        var _252 = _250 + _251;
        var _253 = _252 - _239;
        var _254 = _this+220+4;
        FHEAP[_254] = _253;
        var _255 = _234 * _64;
        var _256 = _233 * _67;
        var _257 = _255 + _256;
        var _258 = _232 * _70;
        var _259 = _257 + _258;
        var _260 = _259 - _239;
        var _261 = _this+220+8;
        FHEAP[_261] = _260;
        var _262 = _246 * _253;
        var _263 = _this+236;
        FHEAP[_263] = _262;
        var _264 = _246 * _260;
        var _265 = _this+240;
        FHEAP[_265] = _264;
        var _266 = _262 <= 0;
        var _267 = _264 <= 0;
        var _or_cond175 = _266 | _267;
        ;
        if (_or_cond175) {
          ;
          var _291 = _246 + _253;
          var _292 = _291 + _260;
          var _293 = _292 / 3;
          var _294 = _this+180+4;
          FHEAP[_294] = _293;
          var _295 = _293 < 0;
          ;
          if (_295) {
            ;
            var _296 = _4 + _16;
            var _297 = _296 - _16;
            FHEAP[_14] = _297;
            var _298 = _296 - _297;
            FHEAP[_2] = _298;
            var _299 = _7 + _19;
            var _300 = _299 - _19;
            FHEAP[_17] = _300;
            var _301 = _299 - _300;
            FHEAP[_5] = _301;
            var _302 = _10 + _22;
            var _303 = _302 - _22;
            FHEAP[_20] = _303;
            var _304 = _302 - _303;
            FHEAP[_8] = _304;
            var _305 = 0 - _234;
            FHEAP[_203] = _305;
            var _306 = 0 - _233;
            FHEAP[_210] = _306;
            var _307 = 0 - _232;
            FHEAP[_214] = _307;
            var _308 = 0 - _239;
            FHEAP[_240] = _308;
            var _309 = _253 < _260;
            var _iftmp_319_0 = _309 ? _260 : _253;
            var _310 = _246 < _iftmp_319_0;
            var __not182 = _310 ^ true;
            var _brmerge183 = __not182 | _309;
            var __mux184 = __not182 ? _247 : _261;
            var _iftmp_318_0_in = _brmerge183 ? __mux184 : _254;
            var _iftmp_318_0 = FHEAP[_iftmp_318_0_in];
            var _311 = 0 - _iftmp_318_0;
            FHEAP[_294] = _311;
            __lastLabel__ = 29; ;
          }
          else {
            ;
            var _312 = _253 > _260;
            var _iftmp_322_0 = _312 ? _260 : _253;
            var _313 = _246 > _iftmp_322_0;
            var __not185 = _313 ^ true;
            var _brmerge186 = __not185 | _312;
            var __mux187 = __not185 ? _247 : _261;
            var _iftmp_321_0_in = _brmerge186 ? __mux187 : _254;
            var _iftmp_321_0 = FHEAP[_iftmp_321_0_in];
            FHEAP[_294] = _iftmp_321_0;
            __lastLabel__ = 37; ;
          }
        }
        else {
          ;
          var _268 = _246 < 0;
          ;
          if (_268) {
            ;
            var _269 = _253 < _260;
            var _iftmp_310_0 = _269 ? _260 : _253;
            var _270 = _246 < _iftmp_310_0;
            var __not176 = _270 ^ true;
            var _brmerge177 = __not176 | _269;
            var __mux178 = __not176 ? _247 : _261;
            var _iftmp_309_0_in = _brmerge177 ? __mux178 : _254;
            var _iftmp_309_0 = FHEAP[_iftmp_309_0_in];
            var _271 = 0 - _iftmp_309_0;
            var _272 = _this+180+4;
            FHEAP[_272] = _271;
            var _273 = _0 < _271;
            if (_273) { __label__ = 1043; /* _bb140 */ break _bb57$_bb140$13329; }
            var _274 = _4 + _16;
            var _275 = _274 - _16;
            FHEAP[_14] = _275;
            var _276 = _274 - _275;
            FHEAP[_2] = _276;
            var _277 = _7 + _19;
            var _278 = _277 - _19;
            FHEAP[_17] = _278;
            var _279 = _277 - _278;
            FHEAP[_5] = _279;
            var _280 = _10 + _22;
            var _281 = _280 - _22;
            FHEAP[_20] = _281;
            var _282 = _280 - _281;
            FHEAP[_8] = _282;
            var _283 = 0 - _234;
            FHEAP[_203] = _283;
            var _284 = 0 - _233;
            FHEAP[_210] = _284;
            var _285 = 0 - _232;
            FHEAP[_214] = _285;
            var _286 = 0 - _239;
            FHEAP[_240] = _286;
            __lastLabel__ = 1352; ;
          }
          else {
            ;
            var _287 = _253 > _260;
            var _iftmp_314_0 = _287 ? _260 : _253;
            var _288 = _246 > _iftmp_314_0;
            var __not179 = _288 ^ true;
            var _brmerge180 = __not179 | _287;
            var __mux181 = __not179 ? _247 : _261;
            var _iftmp_313_0_in = _brmerge180 ? __mux181 : _254;
            var _iftmp_313_0 = FHEAP[_iftmp_313_0_in];
            var _289 = _this+180+4;
            FHEAP[_289] = _iftmp_313_0;
            var _290 = _iftmp_313_0 > _0;
            if (_290) { __lastLabel__ = 14; __label__ = 1043; /* _bb140 */ break _bb57$_bb140$13329; } else { __lastLabel__ = 14; ; }
          }
        }
        var _314 = __lastLabel__ == 37 ? _iftmp_321_0 : (__lastLabel__ == 29 ? _311 : (__lastLabel__ == 14 ? _iftmp_313_0 : (_271)));
        var _315 = _190 < _314;
        var _316 = _this+756;
        ;
        if (_315) {
          ;
          var _323 = _this+52;
          var _324 = _this+4;
          var _325 = _this+100;
          var _326 = __ZN30GIM_TRIANGLE_CALCULATION_CACHE13clip_triangleERK9btVector4PK9btVector3S5_PS3_(_this, _325, _324, _323, _316);
          var _327 = _326 == 0;
          if (_327) { __label__ = 1043; /* _bb140 */ break _bb57$_bb140$13329; }
          var _328 = FHEAP[_1];
          __ZN25GIM_TRIANGLE_CONTACT_DATA12merge_pointsERK9btVector4fPK9btVector3j(_contacts, _325, _328, _316, _326);
          var _329 = _contacts+8;
          var _330 = FHEAP[_329];
          var _331 = _330 * -1;
          FHEAP[_329] = _331;
          var _332 = _contacts+8+4;
          var _333 = FHEAP[_332];
          var _334 = _333 * -1;
          FHEAP[_332] = _334;
          var _335 = _contacts+8+8;
          var _336 = FHEAP[_335];
          var _337 = _336 * -1;
          FHEAP[_335] = _337;
          ;
        }
        else {
          ;
          var _317 = _this+4;
          var _318 = _this+52;
          var _319 = _this+116;
          var _320 = __ZN30GIM_TRIANGLE_CALCULATION_CACHE13clip_triangleERK9btVector4PK9btVector3S5_PS3_(_this, _319, _318, _317, _316);
          var _321 = _320 == 0;
          if (_321) { __label__ = 1043; /* _bb140 */ break _bb57$_bb140$13329; }
          var _322 = FHEAP[_1];
          __ZN25GIM_TRIANGLE_CONTACT_DATA12merge_pointsERK9btVector4fPK9btVector3j(_contacts, _319, _322, _316, _320);
          ;
        }
        var _338 = _contacts+4;
        var _339 = IHEAP[_338];
        var _not_ = _339 != 0;
        var _retval = _not_;
        ;
        return _retval;
      }
    } while(0);
    ;
    return 0;
  }
  __ZN30GIM_TRIANGLE_CALCULATION_CACHE18triangle_collisionERK9btVector3S2_S2_fS2_S2_S2_fR25GIM_TRIANGLE_CONTACT_DATA.__index__ = Runtime.getFunctionIndex(__ZN30GIM_TRIANGLE_CALCULATION_CACHE18triangle_collisionERK9btVector3S2_S2_fS2_S2_S2_fR25GIM_TRIANGLE_CONTACT_DATA, "__ZN30GIM_TRIANGLE_CALCULATION_CACHE18triangle_collisionERK9btVector3S2_S2_fS2_S2_S2_fR25GIM_TRIANGLE_CONTACT_DATA");
  
  
  function __ZN27btContinuousConvexCollision16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE(_this, _fromA, _toA, _fromB, _toB, _result) {
    var __stackBase__  = STACKTOP; STACKTOP += 838;
    var __label__;
    var __lastLabel__ = null;
    var _axis_i70 = __stackBase__;
    var _angle_i71 = __stackBase__+16;
    var _axis_i = __stackBase__+17;
    var _angle_i = __stackBase__+33;
    var _0 = __stackBase__+34;
    var _1 = __stackBase__+50;
    var _linVelA = __stackBase__+66;
    var _angVelA = __stackBase__+82;
    var _linVelB = __stackBase__+98;
    var _angVelB = __stackBase__+114;
    var _c = __stackBase__+130;
    var _raySphere = __stackBase__+146;
    var _pointCollector1 = __stackBase__+198;
    var _gjk = __stackBase__+242;
    var _input = __stackBase__+318;
    var _interpolatedTransA = __stackBase__+454;
    var _interpolatedTransB = __stackBase__+518;
    var _pointCollector = __stackBase__+582;
    var _gjk7 = __stackBase__+626;
    var _input8 = __stackBase__+702;
    var _2 = _this+4;
    var _3 = IHEAP[_2];
    __ZN22btVoronoiSimplexSolver5resetEv(_3);
    var _4 = _toA+48+8;
    var _5 = FHEAP[_4];
    var _6 = _fromA+48+8;
    var _7 = FHEAP[_6];
    var _8 = _5 - _7;
    var _9 = _toA+48+4;
    var _10 = FHEAP[_9];
    var _11 = _fromA+48+4;
    var _12 = FHEAP[_11];
    var _13 = _10 - _12;
    var _14 = _toA+48;
    var _15 = FHEAP[_14];
    var _16 = _fromA+48;
    var _17 = FHEAP[_16];
    var _18 = _15 - _17;
    var _19 = _linVelA;
    FHEAP[_19] = _18;
    var _20 = _linVelA+4;
    FHEAP[_20] = _13;
    var _21 = _linVelA+8;
    FHEAP[_21] = _8;
    var _22 = _linVelA+12;
    FHEAP[_22] = 0;
    __ZN15btTransformUtil22calculateDiffAxisAngleERK11btTransformS2_R9btVector3Rf(_fromA, _toA, _axis_i, _angle_i);
    var _23 = _axis_i+8;
    var _24 = FHEAP[_23];
    var _25 = FHEAP[_angle_i];
    var _26 = _24 * _25;
    var _27 = _axis_i+4;
    var _28 = FHEAP[_27];
    var _29 = _28 * _25;
    var _30 = _axis_i;
    var _31 = FHEAP[_30];
    var _32 = _31 * _25;
    var _33 = _angVelA;
    FHEAP[_33] = _32;
    var _34 = _angVelA+4;
    FHEAP[_34] = _29;
    var _35 = _angVelA+8;
    FHEAP[_35] = _26;
    var _36 = _angVelA+12;
    FHEAP[_36] = 0;
    var _37 = _toB+48+8;
    var _38 = FHEAP[_37];
    var _39 = _fromB+48+8;
    var _40 = FHEAP[_39];
    var _41 = _38 - _40;
    var _42 = _toB+48+4;
    var _43 = FHEAP[_42];
    var _44 = _fromB+48+4;
    var _45 = FHEAP[_44];
    var _46 = _43 - _45;
    var _47 = _toB+48;
    var _48 = FHEAP[_47];
    var _49 = _fromB+48;
    var _50 = FHEAP[_49];
    var _51 = _48 - _50;
    var _52 = _linVelB;
    FHEAP[_52] = _51;
    var _53 = _linVelB+4;
    FHEAP[_53] = _46;
    var _54 = _linVelB+8;
    FHEAP[_54] = _41;
    var _55 = _linVelB+12;
    FHEAP[_55] = 0;
    __ZN15btTransformUtil22calculateDiffAxisAngleERK11btTransformS2_R9btVector3Rf(_fromB, _toB, _axis_i70, _angle_i71);
    var _56 = _axis_i70+8;
    var _57 = FHEAP[_56];
    var _58 = FHEAP[_angle_i71];
    var _59 = _57 * _58;
    var _60 = _axis_i70+4;
    var _61 = FHEAP[_60];
    var _62 = _61 * _58;
    var _63 = _axis_i70;
    var _64 = FHEAP[_63];
    var _65 = _64 * _58;
    var _66 = _angVelB;
    FHEAP[_66] = _65;
    var _67 = _angVelB+4;
    FHEAP[_67] = _62;
    var _68 = _angVelB+8;
    FHEAP[_68] = _59;
    var _69 = _angVelB+12;
    FHEAP[_69] = 0;
    var _70 = _this+12;
    var _71 = IHEAP[_70];
    var _72 = _71;
    var _73 = IHEAP[_72];
    var _74 = _73+16;
    var _75 = IHEAP[_74];
    var _76 = _71;
    var _77 = _75;
    var _78 = FUNCTION_TABLE[_77](_76);
    var _79 = _this+16;
    var _80 = IHEAP[_79];
    var _81 = _80;
    var _82 = IHEAP[_81];
    var _83 = _82+16;
    var _84 = IHEAP[_83];
    var _85 = _80;
    var _86 = _84;
    var _87 = FUNCTION_TABLE[_86](_85);
    var _88 = _32 * _32;
    var _89 = _29 * _29;
    var _90 = _88 + _89;
    var _91 = _26 * _26;
    var _92 = _90 + _91;
    var _93 = _sqrtf(_92);
    var _94 = _93 * _78;
    var _95 = _65 * _65;
    var _96 = _62 * _62;
    var _97 = _95 + _96;
    var _98 = _59 * _59;
    var _99 = _97 + _98;
    var _100 = _sqrtf(_99);
    var _101 = _100 * _87;
    var _102 = _94 + _101;
    var _103 = _41 - _8;
    var _104 = _46 - _13;
    var _105 = _51 - _18;
    var _106 = _105 * _105;
    var _107 = _104 * _104;
    var _108 = _106 + _107;
    var _109 = _103 * _103;
    var _110 = _108 + _109;
    var _111 = _sqrtf(_110);
    var _112 = _111 + _102;
    var _113 = _112 == 0;
    ;
    if (_113) {
      ;
      STACKTOP = __stackBase__;
      return 0;
    }
    else {
      ;
      var _114 = _raySphere;
      __ZN21btConvexInternalShapeC2Ev(_114);
      var _115 = _raySphere;
      IHEAP[_115] = __ZTV13btSphereShape+8;
      var _116 = _raySphere+4;
      IHEAP[_116] = 8;
      var _117 = _raySphere+28;
      FHEAP[_117] = 0;
      var _118 = _raySphere+44;
      FHEAP[_118] = 0;
      var _119 = _pointCollector1;
      IHEAP[_119] = __ZTV16btPointCollector+8;
      var _120 = _pointCollector1+36;
      FHEAP[_120] = 999999984306749400;
      var _121 = _pointCollector1+40;
      IHEAP[_121] = 0;
      var _122 = _this+8;
      var _123 = IHEAP[_122];
      var _124 = IHEAP[_2];
      var _125 = IHEAP[_79];
      var _126 = _125;
      var _127 = IHEAP[_126];
      var _128 = _127+44;
      var _129 = IHEAP[_128];
      var _130 = _129;
      var _131 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_130](_125) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
      _invcont$_lpad$13368: do { 
        if (__label__ == 345) {
          var _132 = IHEAP[_70];
          var _133 = _132;
          var _134 = IHEAP[_133];
          var _135 = _134+44;
          var _136 = IHEAP[_135];
          var _137 = _136;
          var _138 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_137](_132) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$13368; };
          var _139 = IHEAP[_79];
          var _140 = _139+4;
          var _141 = IHEAP[_140];
          var _142 = IHEAP[_70];
          var _143 = _142+4;
          var _144 = IHEAP[_143];
          (function() { try { __THREW__ = false; return __ZN17btGjkPairDetectorC1EPK13btConvexShapeS2_iiffP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_gjk, _142, _139, _144, _141, _138, _131, _124, _123) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$13368; }
          var _145 = _input+128;
          FHEAP[_145] = 999999984306749400;
          var _146 = _input+132;
          IHEAP[_146] = 0;
          var _147 = _input;
          var _148 = _fromA;
          var _149 = FHEAP[_148];
          FHEAP[_147] = _149;
          var _150 = _input+4;
          var _151 = _fromA+4;
          var _152 = FHEAP[_151];
          FHEAP[_150] = _152;
          var _153 = _input+8;
          var _154 = _fromA+8;
          var _155 = FHEAP[_154];
          FHEAP[_153] = _155;
          var _156 = _input+12;
          var _157 = _fromA+12;
          var _158 = FHEAP[_157];
          FHEAP[_156] = _158;
          var _159 = _input+16;
          var _160 = _fromA+16;
          var _161 = FHEAP[_160];
          FHEAP[_159] = _161;
          var _162 = _input+16+4;
          var _163 = _fromA+16+4;
          var _164 = FHEAP[_163];
          FHEAP[_162] = _164;
          var _165 = _input+16+8;
          var _166 = _fromA+16+8;
          var _167 = FHEAP[_166];
          FHEAP[_165] = _167;
          var _168 = _input+16+12;
          var _169 = _fromA+16+12;
          var _170 = FHEAP[_169];
          FHEAP[_168] = _170;
          var _171 = _input+32;
          var _172 = _fromA+32;
          var _173 = FHEAP[_172];
          FHEAP[_171] = _173;
          var _174 = _input+32+4;
          var _175 = _fromA+32+4;
          var _176 = FHEAP[_175];
          FHEAP[_174] = _176;
          var _177 = _input+32+8;
          var _178 = _fromA+32+8;
          var _179 = FHEAP[_178];
          FHEAP[_177] = _179;
          var _180 = _input+32+12;
          var _181 = _fromA+32+12;
          var _182 = FHEAP[_181];
          FHEAP[_180] = _182;
          var _183 = _input+48;
          var _184 = FHEAP[_16];
          FHEAP[_183] = _184;
          var _185 = _input+48+4;
          var _186 = FHEAP[_11];
          FHEAP[_185] = _186;
          var _187 = _input+48+8;
          var _188 = FHEAP[_6];
          FHEAP[_187] = _188;
          var _189 = _input+48+12;
          var _190 = _fromA+48+12;
          var _191 = FHEAP[_190];
          FHEAP[_189] = _191;
          var _192 = _input+64;
          var _193 = _fromB;
          var _194 = FHEAP[_193];
          FHEAP[_192] = _194;
          var _195 = _input+64+4;
          var _196 = _fromB+4;
          var _197 = FHEAP[_196];
          FHEAP[_195] = _197;
          var _198 = _input+64+8;
          var _199 = _fromB+8;
          var _200 = FHEAP[_199];
          FHEAP[_198] = _200;
          var _201 = _input+64+12;
          var _202 = _fromB+12;
          var _203 = FHEAP[_202];
          FHEAP[_201] = _203;
          var _204 = _input+64+16;
          var _205 = _fromB+16;
          var _206 = FHEAP[_205];
          FHEAP[_204] = _206;
          var _207 = _input+64+16+4;
          var _208 = _fromB+16+4;
          var _209 = FHEAP[_208];
          FHEAP[_207] = _209;
          var _210 = _input+64+16+8;
          var _211 = _fromB+16+8;
          var _212 = FHEAP[_211];
          FHEAP[_210] = _212;
          var _213 = _input+64+16+12;
          var _214 = _fromB+16+12;
          var _215 = FHEAP[_214];
          FHEAP[_213] = _215;
          var _216 = _input+64+32;
          var _217 = _fromB+32;
          var _218 = FHEAP[_217];
          FHEAP[_216] = _218;
          var _219 = _input+64+32+4;
          var _220 = _fromB+32+4;
          var _221 = FHEAP[_220];
          FHEAP[_219] = _221;
          var _222 = _input+64+32+8;
          var _223 = _fromB+32+8;
          var _224 = FHEAP[_223];
          FHEAP[_222] = _224;
          var _225 = _input+64+32+12;
          var _226 = _fromB+32+12;
          var _227 = FHEAP[_226];
          FHEAP[_225] = _227;
          var _228 = _input+64+48;
          var _229 = FHEAP[_49];
          FHEAP[_228] = _229;
          var _230 = _input+64+48+4;
          var _231 = FHEAP[_44];
          FHEAP[_230] = _231;
          var _232 = _input+64+48+8;
          var _233 = FHEAP[_39];
          FHEAP[_232] = _233;
          var _234 = _input+64+48+12;
          var _235 = _fromB+48+12;
          var _236 = FHEAP[_235];
          FHEAP[_234] = _236;
          var _237 = _pointCollector1;
          (function() { try { __THREW__ = false; return __ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(_gjk, _input, _237, 0, 0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$13368; }
          var _238 = IHEAP[_121];
          var _239 = _c;
          var _240 = _pointCollector1+20;
          var _241 = FHEAP[_240];
          FHEAP[_239] = _241;
          var _242 = _c+4;
          var _243 = _pointCollector1+20+4;
          var _244 = FHEAP[_243];
          FHEAP[_242] = _244;
          var _245 = _c+8;
          var _246 = _pointCollector1+20+8;
          var _247 = FHEAP[_246];
          FHEAP[_245] = _247;
          var _248 = _c+12;
          var _249 = _pointCollector1+20+12;
          var _250 = FHEAP[_249];
          FHEAP[_248] = _250;
          var _toBool = _238 == 0;
          ;
          _bb46$_bb5$13373: do { 
            if (_toBool) {
              __lastLabel__ = 514; ;
            }
            else {
              __lastLabel__ = 514; ;
              var _251 = FHEAP[_120];
              var _252 = _pointCollector1+4;
              var _253 = FHEAP[_252];
              var _254 = _pointCollector1+4+4;
              var _255 = FHEAP[_254];
              var _256 = _pointCollector1+4+8;
              var _257 = FHEAP[_256];
              var _258 = _pointCollector1+4+12;
              var _259 = FHEAP[_258];
              var _260 = _105 * _253;
              var _261 = _104 * _255;
              var _262 = _260 + _261;
              var _263 = _103 * _257;
              var _264 = _262 + _263;
              var _265 = _result+168;
              var _266 = _result;
              var _267 = _pointCollector;
              var _268 = _pointCollector+36;
              var _269 = _pointCollector+40;
              var _270 = _input8+128;
              var _271 = _input8+132;
              var _272 = _input8;
              var _273 = _interpolatedTransA;
              var _274 = _input8+4;
              var _275 = _interpolatedTransA+4;
              var _276 = _input8+8;
              var _277 = _interpolatedTransA+8;
              var _278 = _input8+12;
              var _279 = _interpolatedTransA+12;
              var _280 = _input8+16;
              var _281 = _interpolatedTransA+16;
              var _282 = _input8+16+4;
              var _283 = _interpolatedTransA+16+4;
              var _284 = _input8+16+8;
              var _285 = _interpolatedTransA+16+8;
              var _286 = _input8+16+12;
              var _287 = _interpolatedTransA+16+12;
              var _288 = _input8+32;
              var _289 = _interpolatedTransA+32;
              var _290 = _input8+32+4;
              var _291 = _interpolatedTransA+32+4;
              var _292 = _input8+32+8;
              var _293 = _interpolatedTransA+32+8;
              var _294 = _input8+32+12;
              var _295 = _interpolatedTransA+32+12;
              var _296 = _input8+48;
              var _297 = _interpolatedTransA+48;
              var _298 = _input8+48+4;
              var _299 = _interpolatedTransA+48+4;
              var _300 = _input8+48+8;
              var _301 = _interpolatedTransA+48+8;
              var _302 = _input8+48+12;
              var _303 = _interpolatedTransA+48+12;
              var _304 = _input8+64;
              var _305 = _interpolatedTransB;
              var _306 = _input8+64+4;
              var _307 = _interpolatedTransB+4;
              var _308 = _input8+64+8;
              var _309 = _interpolatedTransB+8;
              var _310 = _input8+64+12;
              var _311 = _interpolatedTransB+12;
              var _312 = _input8+64+16;
              var _313 = _interpolatedTransB+16;
              var _314 = _input8+64+16+4;
              var _315 = _interpolatedTransB+16+4;
              var _316 = _input8+64+16+8;
              var _317 = _interpolatedTransB+16+8;
              var _318 = _input8+64+16+12;
              var _319 = _interpolatedTransB+16+12;
              var _320 = _input8+64+32;
              var _321 = _interpolatedTransB+32;
              var _322 = _input8+64+32+4;
              var _323 = _interpolatedTransB+32+4;
              var _324 = _input8+64+32+8;
              var _325 = _interpolatedTransB+32+8;
              var _326 = _input8+64+32+12;
              var _327 = _interpolatedTransB+32+12;
              var _328 = _input8+64+48;
              var _329 = _interpolatedTransB+48;
              var _330 = _input8+64+48+4;
              var _331 = _interpolatedTransB+48+4;
              var _332 = _input8+64+48+8;
              var _333 = _interpolatedTransB+48+8;
              var _334 = _input8+64+48+12;
              var _335 = _interpolatedTransB+48+12;
              var _336 = _pointCollector;
              var _337 = _pointCollector+20;
              var _338 = _pointCollector+20+4;
              var _339 = _pointCollector+20+8;
              var _340 = _pointCollector+20+12;
              var _341 = _pointCollector+4;
              var _342 = _pointCollector+4+4;
              var _343 = _pointCollector+4+8;
              var _344 = _pointCollector+4+12;
              var _345 = _0;
              var _346 = _0+4;
              var _347 = _0+8;
              var _348 = _0+12;
              var _349 = _interpolatedTransA+48;
              var _350 = _1;
              var _351 = _1+4;
              var _352 = _1+8;
              var _353 = _1+12;
              __lastLabel__ = 82; ;
              _bb38$13375: while(1) { // _bb38
                var _446 = __lastLabel__ == 1014 ? _441 : (_250);
                var _447 = __lastLabel__ == 1014 ? _440 : (_247);
                var _448 = __lastLabel__ == 1014 ? _439 : (_244);
                var _449 = __lastLabel__ == 1014 ? _438 : (_241);
                var _indvar = __lastLabel__ == 1014 ? _phitmp : (1);
                var _n_0_0_1 = __lastLabel__ == 1014 ? _442 : (_253);
                var _n_0_1_1 = __lastLabel__ == 1014 ? _443 : (_255);
                var _n_0_2_1 = __lastLabel__ == 1014 ? _444 : (_257);
                var _n_0_3_1 = __lastLabel__ == 1014 ? _445 : (_259);
                var _lambda_0 = __lastLabel__ == 1014 ? _370 : (0);
                var _dist_1 = __lastLabel__ == 1014 ? _419 : (_251);
                var _projectedLinearVelocity_0 = __lastLabel__ == 1014 ? _366 : (_264);
                var _450 = _dist_1 > 0.0010000000474974513;
                if (!(_450)) { __label__ = 971; /* _bb39 */ break _bb38$13375; }
                var _354 = IHEAP[_265];
                var _355 = _354 == 0;
                ;
                if (!_355) {
                  ;
                  var _356 = _354;
                  var _357 = IHEAP[_356];
                  var _358 = _357+20;
                  var _359 = IHEAP[_358];
                  FHEAP[_350] = 1;
                  FHEAP[_351] = 1;
                  FHEAP[_352] = 1;
                  FHEAP[_353] = 0;
                  var _360 = _359;
                  (function() { try { __THREW__ = false; return FUNCTION_TABLE[_360](_354, _c, 0.20000000298023224, _1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$13368; }
                }
                var _361 = _indvar > 64;
                if (_361) { __lastLabel__ = 292; __label__ = 635; /* _bb46 */ break _bb46$_bb5$13373; } else { __lastLabel__ = 292; ; }
                var _362 = _105 * _n_0_0_1;
                var _363 = _104 * _n_0_1_1;
                var _364 = _362 + _363;
                var _365 = _103 * _n_0_2_1;
                var _366 = _364 + _365;
                var _367 = _366 + _102;
                var _368 = _367 > 1.1920928955078125e-7;
                if (_368) { __lastLabel__ = 108; ; } else { __lastLabel__ = 108; __label__ = 635; /* _bb46 */ break _bb46$_bb5$13373; }
                var _369 = _dist_1 / _367;
                var _370 = _lambda_0 + _369;
                var _notlhs = _370 <= 1;
                var _notrhs = _370 >= 0;
                var _or_cond_not = _notrhs & _notlhs;
                var _371 = _370 > _lambda_0;
                var _or_cond69 = _or_cond_not & _371;
                if (_or_cond69) { __lastLabel__ = 153; ; } else { __lastLabel__ = 153; __label__ = 635; /* _bb46 */ break _bb46$_bb5$13373; }
                __ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(_fromA, _linVelA, _angVelA, _370, _interpolatedTransA);
                __ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(_fromB, _linVelB, _angVelB, _370, _interpolatedTransB);
                var _372 = IHEAP[_265];
                var _373 = _372 == 0;
                ;
                if (!_373) {
                  ;
                  var _374 = _372;
                  var _375 = IHEAP[_374];
                  var _376 = _375+20;
                  var _377 = IHEAP[_376];
                  FHEAP[_345] = 1;
                  FHEAP[_346] = 0;
                  FHEAP[_347] = 0;
                  FHEAP[_348] = 0;
                  var _378 = _377;
                  (function() { try { __THREW__ = false; return FUNCTION_TABLE[_378](_372, _349, 0.20000000298023224, _0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$13368; }
                }
                var _379 = IHEAP[_266];
                var _380 = IHEAP[_379];
                var _381 = _380;
                (function() { try { __THREW__ = false; return FUNCTION_TABLE[_381](_result, _370) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$13368; }
                IHEAP[_267] = __ZTV16btPointCollector+8;
                FHEAP[_268] = 999999984306749400;
                IHEAP[_269] = 0;
                var _382 = IHEAP[_122];
                var _383 = IHEAP[_2];
                var _384 = IHEAP[_79];
                var _385 = IHEAP[_70];
                (function() { try { __THREW__ = false; return __ZN17btGjkPairDetectorC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_gjk7, _385, _384, _383, _382) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 2468; /* _lpad57 */ break _bb38$13375; }
                FHEAP[_270] = 999999984306749400;
                IHEAP[_271] = 0;
                var _386 = FHEAP[_273];
                FHEAP[_272] = _386;
                var _387 = FHEAP[_275];
                FHEAP[_274] = _387;
                var _388 = FHEAP[_277];
                FHEAP[_276] = _388;
                var _389 = FHEAP[_279];
                FHEAP[_278] = _389;
                var _390 = FHEAP[_281];
                FHEAP[_280] = _390;
                var _391 = FHEAP[_283];
                FHEAP[_282] = _391;
                var _392 = FHEAP[_285];
                FHEAP[_284] = _392;
                var _393 = FHEAP[_287];
                FHEAP[_286] = _393;
                var _394 = FHEAP[_289];
                FHEAP[_288] = _394;
                var _395 = FHEAP[_291];
                FHEAP[_290] = _395;
                var _396 = FHEAP[_293];
                FHEAP[_292] = _396;
                var _397 = FHEAP[_295];
                FHEAP[_294] = _397;
                var _398 = FHEAP[_297];
                FHEAP[_296] = _398;
                var _399 = FHEAP[_299];
                FHEAP[_298] = _399;
                var _400 = FHEAP[_301];
                FHEAP[_300] = _400;
                var _401 = FHEAP[_303];
                FHEAP[_302] = _401;
                var _402 = FHEAP[_305];
                FHEAP[_304] = _402;
                var _403 = FHEAP[_307];
                FHEAP[_306] = _403;
                var _404 = FHEAP[_309];
                FHEAP[_308] = _404;
                var _405 = FHEAP[_311];
                FHEAP[_310] = _405;
                var _406 = FHEAP[_313];
                FHEAP[_312] = _406;
                var _407 = FHEAP[_315];
                FHEAP[_314] = _407;
                var _408 = FHEAP[_317];
                FHEAP[_316] = _408;
                var _409 = FHEAP[_319];
                FHEAP[_318] = _409;
                var _410 = FHEAP[_321];
                FHEAP[_320] = _410;
                var _411 = FHEAP[_323];
                FHEAP[_322] = _411;
                var _412 = FHEAP[_325];
                FHEAP[_324] = _412;
                var _413 = FHEAP[_327];
                FHEAP[_326] = _413;
                var _414 = FHEAP[_329];
                FHEAP[_328] = _414;
                var _415 = FHEAP[_331];
                FHEAP[_330] = _415;
                var _416 = FHEAP[_333];
                FHEAP[_332] = _416;
                var _417 = FHEAP[_335];
                FHEAP[_334] = _417;
                (function() { try { __THREW__ = false; return __ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(_gjk7, _input8, _336, 0, 0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 2468; /* _lpad57 */ break _bb38$13375; }
                var _418 = IHEAP[_269];
                var _toBool31 = _418 == 0;
                if (_toBool31) { __lastLabel__ = 1230; __label__ = 2464; /* _bb37_thread */ break _bb38$13375; } else { __lastLabel__ = 1230; ; }
                var _419 = FHEAP[_268];
                var _420 = _419 < 0;
                if (_420) { __label__ = 422; /* _bb33 */ break _bb38$13375; }
                var _438 = FHEAP[_337];
                FHEAP[_239] = _438;
                var _439 = FHEAP[_338];
                FHEAP[_242] = _439;
                var _440 = FHEAP[_339];
                FHEAP[_245] = _440;
                var _441 = FHEAP[_340];
                FHEAP[_248] = _441;
                var _442 = FHEAP[_341];
                var _443 = FHEAP[_342];
                var _444 = FHEAP[_343];
                var _445 = FHEAP[_344];
                IHEAP[_267] = __ZTV16btPointCollector+8;
                var _phitmp = _indvar + 1;
                __lastLabel__ = 1014; __label__ = 68; /* _bb38 */ continue _bb38$13375;
              }
              if (__label__ == 971) {
                var _451 = _projectedLinearVelocity_0 + _102;
                var _452 = _result+172;
                var _453 = FHEAP[_452];
                var _454 = _451 > _453;
                if (_454) { __lastLabel__ = 971; ; } else { __lastLabel__ = 971; __label__ = 635; /* _bb46 */ break _bb46$_bb5$13373; }
                var _455 = _result+164;
                FHEAP[_455] = _lambda_0;
                var _456 = _result+132;
                FHEAP[_456] = _n_0_0_1;
                var _457 = _result+132+4;
                FHEAP[_457] = _n_0_1_1;
                var _458 = _result+132+8;
                FHEAP[_458] = _n_0_2_1;
                var _459 = _result+132+12;
                FHEAP[_459] = _n_0_3_1;
                var _460 = _result+148;
                FHEAP[_460] = _449;
                var _461 = _result+148+4;
                FHEAP[_461] = _448;
                var _462 = _result+148+8;
                FHEAP[_462] = _447;
                var _463 = _result+148+12;
                FHEAP[_463] = _446;
                __lastLabel__ = 253; __label__ = 635; /* _bb46 */ break _bb46$_bb5$13373;
              }
              else if (__label__ == 2468) {
                var _eh_ptr58 = _llvm_eh_exception();
                var _eh_select60 = _llvm_eh_selector(_eh_ptr58, ___gxx_personality_v0, 0);
                IHEAP[_267] = __ZTV16btPointCollector+8;
                __lastLabel__ = 2468; __label__ = 887; /* _ppad65 */ break _invcont$_lpad$13368;
              }
              else if (__label__ == 422) {
                var _421 = _result+164;
                FHEAP[_421] = _370;
                var _422 = FHEAP[_341];
                var _423 = FHEAP[_342];
                var _424 = FHEAP[_343];
                var _425 = FHEAP[_344];
                var _426 = _result+132;
                FHEAP[_426] = _422;
                var _427 = _result+132+4;
                FHEAP[_427] = _423;
                var _428 = _result+132+8;
                FHEAP[_428] = _424;
                var _429 = _result+132+12;
                FHEAP[_429] = _425;
                var _430 = _result+148;
                var _431 = FHEAP[_337];
                FHEAP[_430] = _431;
                var _432 = _result+148+4;
                var _433 = FHEAP[_338];
                FHEAP[_432] = _433;
                var _434 = _result+148+8;
                var _435 = FHEAP[_339];
                FHEAP[_434] = _435;
                var _436 = _result+148+12;
                var _437 = FHEAP[_340];
                FHEAP[_436] = _437;
                __lastLabel__ = 422; ;
              }
              var __2_ph = __lastLabel__ == 422 ? 1 : (0);
              IHEAP[_267] = __ZTV16btPointCollector+8;
              __lastLabel__ = 2464; ;
            }
          } while(0);
          var __1 = __lastLabel__ == 253 ? 1 : (__lastLabel__ == 971 ? 0 : (__lastLabel__ == 514 ? 0 : (__lastLabel__ == 2464 ? __2_ph : (__lastLabel__ == 292 ? 0 : (__lastLabel__ == 108 ? 0 : (0))))));
          IHEAP[_119] = __ZTV16btPointCollector+8;
          IHEAP[_115] = __ZTV21btConvexInternalShape+8;
          var _464 = _raySphere;
          __ZN13btConvexShapeD2Ev(_464);
          STACKTOP = __stackBase__;
          return __1;
        }
      } while(0);
      if (__label__ == 254) {
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select56 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __lastLabel__ = 254; ;
      }
      var _eh_exception_0 = __lastLabel__ == 2468 ? _eh_ptr58 : (_eh_ptr);
      IHEAP[_119] = __ZTV16btPointCollector+8;
      IHEAP[_115] = __ZTV21btConvexInternalShape+8;
      var _465 = _raySphere;
      (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_465) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1560; /* _invcont50 */  } else { __label__ = 3994; /* _lpad61 */  }
      if (__label__ == 1560) {
        __Unwind_Resume_or_Rethrow(_eh_exception_0);
        // unreachable
      }
      else if (__label__ == 3994) {
        var _eh_ptr62 = _llvm_eh_exception();
        var _eh_select64 = _llvm_eh_selector(_eh_ptr62, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZN27btContinuousConvexCollision16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE.__index__ = Runtime.getFunctionIndex(__ZN27btContinuousConvexCollision16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE, "__ZN27btContinuousConvexCollision16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE");
  
  
  function __ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(_curTrans, _linvel, _angvel, _timeStep, _predictedTransform) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var __lastLabel__ = null;
    var _orn0 = __stackBase__;
    var _0 = _linvel+8;
    var _1 = FHEAP[_0];
    var _2 = _1 * _timeStep;
    var _3 = _linvel+4;
    var _4 = FHEAP[_3];
    var _5 = _4 * _timeStep;
    var _6 = _linvel;
    var _7 = FHEAP[_6];
    var _8 = _7 * _timeStep;
    var _9 = _curTrans+48+8;
    var _10 = FHEAP[_9];
    var _11 = _10 + _2;
    var _12 = _curTrans+48+4;
    var _13 = FHEAP[_12];
    var _14 = _13 + _5;
    var _15 = _curTrans+48;
    var _16 = FHEAP[_15];
    var _17 = _16 + _8;
    var _18 = _predictedTransform+48;
    FHEAP[_18] = _17;
    var _19 = _predictedTransform+48+4;
    FHEAP[_19] = _14;
    var _20 = _predictedTransform+48+8;
    FHEAP[_20] = _11;
    var _21 = _predictedTransform+48+12;
    FHEAP[_21] = 0;
    var _22 = _angvel;
    var _23 = FHEAP[_22];
    var _24 = _23 * _23;
    var _25 = _angvel+4;
    var _26 = FHEAP[_25];
    var _27 = _26 * _26;
    var _28 = _24 + _27;
    var _29 = _angvel+8;
    var _30 = FHEAP[_29];
    var _31 = _30 * _30;
    var _32 = _28 + _31;
    var _33 = _sqrtf(_32);
    var _34 = _33 * _timeStep;
    var _35 = _34 > 0.7853981852531433;
    ;
    if (_35) {
      __lastLabel__ = -1; ;
      var _36 = 0.7853981852531433 / _timeStep;
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _fAngle_0 = __lastLabel__ == 60 ? _36 : (_33);
    var _37 = _fAngle_0 < 0.0010000000474974513;
    ;
    if (_37) {
      ;
      var _38 = _timeStep * 0.5;
      var _39 = _timeStep * _timeStep;
      var _40 = _39 * _timeStep;
      var _41 = _40 * -0.02083333395421505;
      var _42 = _41 * _fAngle_0;
      var _43 = _42 * _fAngle_0;
      var _44 = _38 + _43;
      __lastLabel__ = 0; ;
    }
    else {
      ;
      var _45 = _fAngle_0 * 0.5;
      var _46 = _45 * _timeStep;
      var _47 = _sinf(_46);
      var _48 = _47 / _fAngle_0;
      __lastLabel__ = 116; ;
    }
    var __pn = __lastLabel__ == 0 ? _44 : (_48);
    var _axis_0_2_0 = _30 * __pn;
    var _axis_0_1_0 = _26 * __pn;
    var _axis_0_0_0 = _23 * __pn;
    var _49 = _fAngle_0 * _timeStep;
    var _50 = _49 * 0.5;
    var _51 = _cosf(_50);
    var _52 = _curTrans;
    __ZNK11btMatrix3x311getRotationER12btQuaternion(_52, _orn0);
    var _53 = _orn0+12;
    var _54 = FHEAP[_53];
    var _55 = _51 * _54;
    var _56 = _orn0;
    var _57 = FHEAP[_56];
    var _58 = _axis_0_0_0 * _57;
    var _59 = _55 - _58;
    var _60 = _orn0+4;
    var _61 = FHEAP[_60];
    var _62 = _axis_0_1_0 * _61;
    var _63 = _59 - _62;
    var _64 = _orn0+8;
    var _65 = FHEAP[_64];
    var _66 = _axis_0_2_0 * _65;
    var _67 = _63 - _66;
    var _68 = _51 * _65;
    var _69 = _axis_0_2_0 * _54;
    var _70 = _68 + _69;
    var _71 = _axis_0_0_0 * _61;
    var _72 = _70 + _71;
    var _73 = _axis_0_1_0 * _57;
    var _74 = _72 - _73;
    var _75 = _51 * _61;
    var _76 = _axis_0_1_0 * _54;
    var _77 = _75 + _76;
    var _78 = _axis_0_2_0 * _57;
    var _79 = _77 + _78;
    var _80 = _axis_0_0_0 * _65;
    var _81 = _79 - _80;
    var _82 = _51 * _57;
    var _83 = _axis_0_0_0 * _54;
    var _84 = _82 + _83;
    var _85 = _axis_0_1_0 * _65;
    var _86 = _84 + _85;
    var _87 = _axis_0_2_0 * _61;
    var _88 = _86 - _87;
    var _89 = _88 * _88;
    var _90 = _81 * _81;
    var _91 = _89 + _90;
    var _92 = _74 * _74;
    var _93 = _91 + _92;
    var _94 = _67 * _67;
    var _95 = _93 + _94;
    var _96 = _sqrtf(_95);
    var _97 = 1 / _96;
    var _98 = _88 * _97;
    var _99 = _81 * _97;
    var _100 = _74 * _97;
    var _101 = _67 * _97;
    var _102 = _98 * _98;
    var _103 = _99 * _99;
    var _104 = _102 + _103;
    var _105 = _100 * _100;
    var _106 = _104 + _105;
    var _107 = _101 * _101;
    var _108 = _106 + _107;
    var _109 = 2 / _108;
    var _110 = _98 * _109;
    var _111 = _99 * _109;
    var _112 = _100 * _109;
    var _113 = _101 * _110;
    var _114 = _101 * _111;
    var _115 = _101 * _112;
    var _116 = _98 * _110;
    var _117 = _98 * _111;
    var _118 = _98 * _112;
    var _119 = _99 * _111;
    var _120 = _99 * _112;
    var _121 = _100 * _112;
    var _122 = _116 + _119;
    var _123 = 1 - _122;
    var _124 = _120 + _113;
    var _125 = _118 - _114;
    var _126 = _120 - _113;
    var _127 = _116 + _121;
    var _128 = 1 - _127;
    var _129 = _117 + _115;
    var _130 = _118 + _114;
    var _131 = _117 - _115;
    var _132 = _119 + _121;
    var _133 = 1 - _132;
    var _134 = _predictedTransform;
    FHEAP[_134] = _133;
    var _135 = _predictedTransform+4;
    FHEAP[_135] = _131;
    var _136 = _predictedTransform+8;
    FHEAP[_136] = _130;
    var _137 = _predictedTransform+12;
    FHEAP[_137] = 0;
    var _138 = _predictedTransform+16;
    FHEAP[_138] = _129;
    var _139 = _predictedTransform+16+4;
    FHEAP[_139] = _128;
    var _140 = _predictedTransform+16+8;
    FHEAP[_140] = _126;
    var _141 = _predictedTransform+16+12;
    FHEAP[_141] = 0;
    var _142 = _predictedTransform+32;
    FHEAP[_142] = _125;
    var _143 = _predictedTransform+32+4;
    FHEAP[_143] = _124;
    var _144 = _predictedTransform+32+8;
    FHEAP[_144] = _123;
    var _145 = _predictedTransform+32+12;
    FHEAP[_145] = 0;
    STACKTOP = __stackBase__;
    return;
  }
  __ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_.__index__ = Runtime.getFunctionIndex(__ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_, "__ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_");
  
  
  function __ZN15btGjkConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE(_this, _fromA, _toA, _fromB, _toB, _result) {
    var __stackBase__  = STACKTOP; STACKTOP += 256;
    var __label__;
    var __lastLabel__ = null;
    var _pointCollector = __stackBase__;
    var _gjk = __stackBase__+44;
    var _input = __stackBase__+120;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    __ZN22btVoronoiSimplexSolver5resetEv(_1);
    var _2 = _toA+48+8;
    var _3 = FHEAP[_2];
    var _4 = _fromA+48+8;
    var _5 = FHEAP[_4];
    var _6 = _3 - _5;
    var _7 = _toA+48+4;
    var _8 = FHEAP[_7];
    var _9 = _fromA+48+4;
    var _10 = FHEAP[_9];
    var _11 = _8 - _10;
    var _12 = _toA+48;
    var _13 = FHEAP[_12];
    var _14 = _fromA+48;
    var _15 = FHEAP[_14];
    var _16 = _13 - _15;
    var _17 = _toB+48+8;
    var _18 = FHEAP[_17];
    var _19 = _fromB+48+8;
    var _20 = FHEAP[_19];
    var _21 = _18 - _20;
    var _22 = _toB+48+4;
    var _23 = FHEAP[_22];
    var _24 = _fromB+48+4;
    var _25 = FHEAP[_24];
    var _26 = _23 - _25;
    var _27 = _toB+48;
    var _28 = FHEAP[_27];
    var _29 = _fromB+48;
    var _30 = FHEAP[_29];
    var _31 = _28 - _30;
    var _32 = _6 - _21;
    var _33 = _11 - _26;
    var _34 = _16 - _31;
    var _35 = _pointCollector;
    IHEAP[_35] = __ZTV16btPointCollector+8;
    var _36 = _pointCollector+36;
    FHEAP[_36] = 999999984306749400;
    var _37 = _pointCollector+40;
    IHEAP[_37] = 0;
    var _38 = IHEAP[_0];
    var _39 = _this+12;
    var _40 = IHEAP[_39];
    var _41 = _this+8;
    var _42 = IHEAP[_41];
    (function() { try { __THREW__ = false; return __ZN17btGjkPairDetectorC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_gjk, _42, _40, _38, 0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    _invcont$_lpad$13421: do { 
      if (__label__ == 345) {
        var _43 = _input+128;
        FHEAP[_43] = 999999984306749400;
        var _44 = _input+132;
        IHEAP[_44] = 0;
        var _45 = _input;
        var _46 = _fromA;
        var _47 = FHEAP[_46];
        FHEAP[_45] = _47;
        var _48 = _input+4;
        var _49 = _fromA+4;
        var _50 = FHEAP[_49];
        FHEAP[_48] = _50;
        var _51 = _input+8;
        var _52 = _fromA+8;
        var _53 = FHEAP[_52];
        FHEAP[_51] = _53;
        var _54 = _input+12;
        var _55 = _fromA+12;
        var _56 = FHEAP[_55];
        FHEAP[_54] = _56;
        var _57 = _input+16;
        var _58 = _fromA+16;
        var _59 = FHEAP[_58];
        FHEAP[_57] = _59;
        var _60 = _input+16+4;
        var _61 = _fromA+16+4;
        var _62 = FHEAP[_61];
        FHEAP[_60] = _62;
        var _63 = _input+16+8;
        var _64 = _fromA+16+8;
        var _65 = FHEAP[_64];
        FHEAP[_63] = _65;
        var _66 = _input+16+12;
        var _67 = _fromA+16+12;
        var _68 = FHEAP[_67];
        FHEAP[_66] = _68;
        var _69 = _input+32;
        var _70 = _fromA+32;
        var _71 = FHEAP[_70];
        FHEAP[_69] = _71;
        var _72 = _input+32+4;
        var _73 = _fromA+32+4;
        var _74 = FHEAP[_73];
        FHEAP[_72] = _74;
        var _75 = _input+32+8;
        var _76 = _fromA+32+8;
        var _77 = FHEAP[_76];
        FHEAP[_75] = _77;
        var _78 = _input+32+12;
        var _79 = _fromA+32+12;
        var _80 = FHEAP[_79];
        FHEAP[_78] = _80;
        var _81 = _input+48;
        var _82 = FHEAP[_14];
        FHEAP[_81] = _82;
        var _83 = _input+48+4;
        var _84 = FHEAP[_9];
        FHEAP[_83] = _84;
        var _85 = _input+48+8;
        var _86 = FHEAP[_4];
        FHEAP[_85] = _86;
        var _87 = _input+48+12;
        var _88 = _fromA+48+12;
        var _89 = FHEAP[_88];
        FHEAP[_87] = _89;
        var _90 = _input+64;
        var _91 = _fromB;
        var _92 = FHEAP[_91];
        FHEAP[_90] = _92;
        var _93 = _input+64+4;
        var _94 = _fromB+4;
        var _95 = FHEAP[_94];
        FHEAP[_93] = _95;
        var _96 = _input+64+8;
        var _97 = _fromB+8;
        var _98 = FHEAP[_97];
        FHEAP[_96] = _98;
        var _99 = _input+64+12;
        var _100 = _fromB+12;
        var _101 = FHEAP[_100];
        FHEAP[_99] = _101;
        var _102 = _input+64+16;
        var _103 = _fromB+16;
        var _104 = FHEAP[_103];
        FHEAP[_102] = _104;
        var _105 = _input+64+16+4;
        var _106 = _fromB+16+4;
        var _107 = FHEAP[_106];
        FHEAP[_105] = _107;
        var _108 = _input+64+16+8;
        var _109 = _fromB+16+8;
        var _110 = FHEAP[_109];
        FHEAP[_108] = _110;
        var _111 = _input+64+16+12;
        var _112 = _fromB+16+12;
        var _113 = FHEAP[_112];
        FHEAP[_111] = _113;
        var _114 = _input+64+32;
        var _115 = _fromB+32;
        var _116 = FHEAP[_115];
        FHEAP[_114] = _116;
        var _117 = _input+64+32+4;
        var _118 = _fromB+32+4;
        var _119 = FHEAP[_118];
        FHEAP[_117] = _119;
        var _120 = _input+64+32+8;
        var _121 = _fromB+32+8;
        var _122 = FHEAP[_121];
        FHEAP[_120] = _122;
        var _123 = _input+64+32+12;
        var _124 = _fromB+32+12;
        var _125 = FHEAP[_124];
        FHEAP[_123] = _125;
        var _126 = _input+64+48;
        var _127 = FHEAP[_29];
        FHEAP[_126] = _127;
        var _128 = _input+64+48+4;
        var _129 = FHEAP[_24];
        FHEAP[_128] = _129;
        var _130 = _input+64+48+8;
        var _131 = FHEAP[_19];
        FHEAP[_130] = _131;
        var _132 = _input+64+48+12;
        var _133 = _fromB+48+12;
        var _134 = FHEAP[_133];
        FHEAP[_132] = _134;
        var _135 = _pointCollector;
        (function() { try { __THREW__ = false; return __ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(_gjk, _input, _135, 0, 0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$13421; }
        var _136 = IHEAP[_37];
        var _toBool = _136 == 0;
        ;
        _bb31$_bb$13424: do { 
          if (!_toBool) {
            ;
            var _137 = _pointCollector+20+12;
            var _138 = _pointCollector+20+8;
            var _139 = _pointCollector+20+4;
            var _140 = _pointCollector+20;
            var _141 = FHEAP[_137];
            var _142 = FHEAP[_138];
            var _143 = FHEAP[_139];
            var _144 = FHEAP[_140];
            var _145 = FHEAP[_36];
            var _146 = _pointCollector+4;
            var _147 = FHEAP[_146];
            var _148 = _pointCollector+4+4;
            var _149 = FHEAP[_148];
            var _150 = _pointCollector+4+8;
            var _151 = FHEAP[_150];
            var _152 = _pointCollector+4+12;
            var _153 = FHEAP[_152];
            var _154 = _result;
            __lastLabel__ = 60; ;
            _bb22$13426: while(1) { // _bb22
              var _indvar = __lastLabel__ == 117 ? _phitmp : (1);
              var _n_0_0_0 = __lastLabel__ == 117 ? _222 : (_147);
              var _n_0_1_0 = __lastLabel__ == 117 ? _223 : (_149);
              var _n_0_2_0 = __lastLabel__ == 117 ? _224 : (_151);
              var _n_0_3_0 = __lastLabel__ == 117 ? _225 : (_153);
              var _c_0_0_0 = __lastLabel__ == 117 ? _218 : (_144);
              var _c_0_1_0 = __lastLabel__ == 117 ? _219 : (_143);
              var _c_0_2_0 = __lastLabel__ == 117 ? _220 : (_142);
              var _c_0_3_0 = __lastLabel__ == 117 ? _221 : (_141);
              var _lambda_0 = __lastLabel__ == 117 ? _162 : (0);
              var _dist_0 = __lastLabel__ == 117 ? _199 : (_145);
              var _226 = _dist_0 > 0.0010000000474974513;
              if (!(_226)) { __label__ = 419; /* _bb23 */ break _bb22$13426; }
              var _155 = _indvar > 32;
              if (_155) { __label__ = 89; /* _bb31 */ break _bb31$_bb$13424; }
              var _156 = _34 * _n_0_0_0;
              var _157 = _33 * _n_0_1_0;
              var _158 = _156 + _157;
              var _159 = _32 * _n_0_2_0;
              var _160 = _158 + _159;
              var _161 = _dist_0 / _160;
              var _162 = _lambda_0 - _161;
              var _notlhs = _162 <= 1;
              var _notrhs = _162 >= 0;
              var _or_cond_not = _notrhs & _notlhs;
              var _163 = _162 > _lambda_0;
              var _or_cond37 = _or_cond_not & _163;
              if (!(_or_cond37)) { __label__ = 89; /* _bb31 */ break _bb31$_bb$13424; }
              var _164 = IHEAP[_154];
              var _165 = IHEAP[_164];
              var _166 = _165;
              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_166](_result, _162) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$13421; }
              var _167 = 1 - _162;
              var _168 = FHEAP[_14];
              var _169 = _168 * _167;
              var _170 = FHEAP[_12];
              var _171 = _170 * _162;
              var _172 = _169 + _171;
              FHEAP[_81] = _172;
              var _173 = FHEAP[_9];
              var _174 = _173 * _167;
              var _175 = FHEAP[_7];
              var _176 = _175 * _162;
              var _177 = _174 + _176;
              FHEAP[_83] = _177;
              var _178 = FHEAP[_4];
              var _179 = _178 * _167;
              var _180 = FHEAP[_2];
              var _181 = _180 * _162;
              var _182 = _179 + _181;
              FHEAP[_85] = _182;
              var _183 = FHEAP[_29];
              var _184 = _183 * _167;
              var _185 = FHEAP[_27];
              var _186 = _185 * _162;
              var _187 = _184 + _186;
              FHEAP[_126] = _187;
              var _188 = FHEAP[_24];
              var _189 = _188 * _167;
              var _190 = FHEAP[_22];
              var _191 = _190 * _162;
              var _192 = _189 + _191;
              FHEAP[_128] = _192;
              var _193 = FHEAP[_19];
              var _194 = _193 * _167;
              var _195 = FHEAP[_17];
              var _196 = _195 * _162;
              var _197 = _194 + _196;
              FHEAP[_130] = _197;
              (function() { try { __THREW__ = false; return __ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(_gjk, _input, _135, 0, 0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$13421; }
              var _198 = IHEAP[_37];
              var _toBool17 = _198 == 0;
              if (_toBool17) { __label__ = 89; /* _bb31 */ break _bb31$_bb$13424; }
              var _199 = FHEAP[_36];
              var _200 = _199 < 0;
              if (_200) { __label__ = 64; /* _bb19 */ break _bb22$13426; }
              var _218 = FHEAP[_140];
              var _219 = FHEAP[_139];
              var _220 = FHEAP[_138];
              var _221 = FHEAP[_137];
              var _222 = FHEAP[_146];
              var _223 = FHEAP[_148];
              var _224 = FHEAP[_150];
              var _225 = FHEAP[_152];
              var _phitmp = _indvar + 1;
              __lastLabel__ = 117; __label__ = 5; /* _bb22 */ continue _bb22$13426;
            }
            if (__label__ == 419) {
              var _227 = _n_0_0_0 * _34;
              var _228 = _n_0_1_0 * _33;
              var _229 = _227 + _228;
              var _230 = _n_0_2_0 * _32;
              var _231 = _229 + _230;
              var _232 = _result+172;
              var _233 = FHEAP[_232];
              var _234 = 0 - _233;
              var _235 = _231 < _234;
              if (!(_235)) { __label__ = 89; /* _bb31 */ break _bb31$_bb$13424; }
              var _236 = _result+164;
              FHEAP[_236] = _lambda_0;
              var _237 = _result+132;
              FHEAP[_237] = _n_0_0_0;
              var _238 = _result+132+4;
              FHEAP[_238] = _n_0_1_0;
              var _239 = _result+132+8;
              FHEAP[_239] = _n_0_2_0;
              var _240 = _result+132+12;
              FHEAP[_240] = _n_0_3_0;
              var _241 = _result+148;
              FHEAP[_241] = _c_0_0_0;
              var _242 = _result+148+4;
              FHEAP[_242] = _c_0_1_0;
              var _243 = _result+148+8;
              FHEAP[_243] = _c_0_2_0;
              var _244 = _result+148+12;
              FHEAP[_244] = _c_0_3_0;
              STACKTOP = __stackBase__;
              return 1;
            }
            else if (__label__ == 64) {
              var _201 = _result+164;
              FHEAP[_201] = _162;
              var _202 = FHEAP[_146];
              var _203 = FHEAP[_148];
              var _204 = FHEAP[_150];
              var _205 = FHEAP[_152];
              var _206 = _result+132;
              FHEAP[_206] = _202;
              var _207 = _result+132+4;
              FHEAP[_207] = _203;
              var _208 = _result+132+8;
              FHEAP[_208] = _204;
              var _209 = _result+132+12;
              FHEAP[_209] = _205;
              var _210 = _result+148;
              var _211 = FHEAP[_140];
              FHEAP[_210] = _211;
              var _212 = _result+148+4;
              var _213 = FHEAP[_139];
              FHEAP[_212] = _213;
              var _214 = _result+148+8;
              var _215 = FHEAP[_138];
              FHEAP[_214] = _215;
              var _216 = _result+148+12;
              var _217 = FHEAP[_137];
              FHEAP[_216] = _217;
              STACKTOP = __stackBase__;
              return 1;
            }
          }
        } while(0);
        STACKTOP = __stackBase__;
        return 0;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select35 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    IHEAP[_35] = __ZTV16btPointCollector+8;
    __Unwind_Resume_or_Rethrow(_eh_ptr);
    // unreachable
  }
  __ZN15btGjkConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE.__index__ = Runtime.getFunctionIndex(__ZN15btGjkConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE, "__ZN15btGjkConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE");
  
  
  function __ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(_this, _d, _sv) {
    var __stackBase__  = STACKTOP; STACKTOP += 48;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _3 = _d;
    var _4 = FHEAP[_3];
    var _5 = _4 * _4;
    var _6 = _d+4;
    var _7 = FHEAP[_6];
    var _8 = _7 * _7;
    var _9 = _5 + _8;
    var _10 = _d+8;
    var _11 = FHEAP[_10];
    var _12 = _11 * _11;
    var _13 = _9 + _12;
    var _14 = _sqrtf(_13);
    var _15 = 1 / _14;
    var _16 = _11 * _15;
    var _17 = _7 * _15;
    var _18 = _4 * _15;
    var _19 = _sv;
    FHEAP[_19] = _18;
    var _20 = _sv+4;
    FHEAP[_20] = _17;
    var _21 = _sv+8;
    FHEAP[_21] = _16;
    var _22 = _sv+12;
    FHEAP[_22] = 0;
    var _23 = _sv;
    var _24 = _this;
    var _25 = 0 - _16;
    var _26 = 0 - _17;
    var _27 = 0 - _18;
    var _28 = _1;
    FHEAP[_28] = _27;
    var _29 = _1+4;
    FHEAP[_29] = _26;
    var _30 = _1+8;
    FHEAP[_30] = _25;
    var _31 = _1+12;
    FHEAP[_31] = 0;
    __ZNK12gjkepa2_impl13MinkowskiDiff8Support1ERK9btVector3(_2, _24, _1);
    var _32 = _this+120;
    var _33 = IHEAP[_32];
    var _34 = _33;
    var _35 = _34 & 1;
    var _toBool_i_i = _35 == 0;
    var __phi_trans_insert_i_i = _this;
    var __pre_i_i = IHEAP[__phi_trans_insert_i_i];
    var __phi_trans_insert4_i_i = _this+120+4;
    var __pre5_i_i = IHEAP[__phi_trans_insert4_i_i];
    ;
    if (_toBool_i_i) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _36 = __pre_i_i;
      var _37 = _36 + __pre5_i_i;
      var _38 = _37;
      var _39 = _38;
      var _40 = IHEAP[_39];
      var _41 = _40;
      var _42 = _34 + -1;
      var _43 = _42 + _41;
      var _44 = _43;
      var _iftmp_134_0_pre_i_i = IHEAP[_44];
      __lastLabel__ = 263; ;
    }
    var _iftmp_134_0_i_i = __lastLabel__ == 263 ? _iftmp_134_0_pre_i_i : (_33);
    var _45 = __pre_i_i;
    var _46 = _45 + __pre5_i_i;
    var _47 = _46;
    FUNCTION_TABLE[_iftmp_134_0_i_i](_0, _47, _23);
    var _48 = _0+8;
    var _49 = FHEAP[_48];
    var _50 = _2+8;
    var _51 = FHEAP[_50];
    var _52 = _49 - _51;
    var _53 = _0+4;
    var _54 = FHEAP[_53];
    var _55 = _2+4;
    var _56 = FHEAP[_55];
    var _57 = _54 - _56;
    var _58 = _0;
    var _59 = FHEAP[_58];
    var _60 = _2;
    var _61 = FHEAP[_60];
    var _62 = _59 - _61;
    var _63 = _sv+16;
    FHEAP[_63] = _62;
    var _64 = _sv+16+4;
    FHEAP[_64] = _57;
    var _65 = _sv+16+8;
    FHEAP[_65] = _52;
    var _66 = _sv+16+12;
    FHEAP[_66] = 0;
    STACKTOP = __stackBase__;
    return;
  }
  __ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE.__index__ = Runtime.getFunctionIndex(__ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE, "__ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE");
  
  
  function __ZN12gjkepa2_impl3GJK13EncloseOriginEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 112;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _axis = __stackBase__+48;
    var _axis11 = __stackBase__+64;
    var _p = __stackBase__+80;
    var _n = __stackBase__+96;
    var _3 = _this+372;
    var _4 = IHEAP[_3];
    var _5 = _4+32;
    var _6 = IHEAP[_5];
    if (_6 == 1) {
      __label__ = 272; /* _bb7_preheader */ 
    }
    else if (_6 == 2) {
      __label__ = 148; /* _bb8 */ 
    }
    else if (_6 == 3) {
      __label__ = 5; /* _bb22 */ 
    }
    else if (_6 == 4) {
      __label__ = 89; /* _bb31 */ 
    }
    else {
    __label__ = 250; /* _bb34 */ 
    }
    
    _bb34$_bb7_preheader$_bb8$_bb22$_bb31$13466: do { 
      if (__label__ == 272) {
        var _7 = _axis;
        var _8 = _axis+4;
        var _9 = _axis+8;
        var _10 = _axis+12;
        var _11 = _this+364;
        var _12 = _2;
        var _13 = _2+4;
        var _14 = _2+8;
        var _15 = _2+12;
        __lastLabel__ = 272; ;
        _bb7$13468: while(1) { // _bb7
          var _71 = __lastLabel__ == 83 ? _70 : (0);
          var _72 = unSign(_71, 32) < unSign(3, 32);
          if (!(_72)) { __label__ = 250; /* _bb34 */ break _bb34$_bb7_preheader$_bb8$_bb22$_bb31$13466; }
          var _scevgep68 = _axis+_71*4;
          FHEAP[_7] = 0;
          FHEAP[_8] = 0;
          FHEAP[_9] = 0;
          FHEAP[_10] = 0;
          FHEAP[_scevgep68] = 1;
          var _16 = IHEAP[_3];
          var _17 = _16+32;
          var _18 = IHEAP[_17];
          var _19 = _16+16+_18*4;
          FHEAP[_19] = 0;
          var _20 = IHEAP[_17];
          var _21 = IHEAP[_11];
          var _22 = _21 + -1;
          IHEAP[_11] = _22;
          var _23 = _this+348+_22*4;
          var _24 = IHEAP[_23];
          var _25 = _16+_20*4;
          IHEAP[_25] = _24;
          var _26 = IHEAP[_17];
          var _27 = _16+_26*4;
          var _28 = IHEAP[_27];
          var _29 = _26 + 1;
          IHEAP[_17] = _29;
          __ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(_this, _axis, _28);
          var _30 = __ZN12gjkepa2_impl3GJK13EncloseOriginEv(_this);
          var _toBool = _30 == 0;
          if (!(_toBool)) { __label__ = 518; /* _bb35 */ break _bb34$_bb7_preheader$_bb8$_bb22$_bb31$13466; }
          var _31 = IHEAP[_3];
          var _32 = IHEAP[_11];
          var _33 = _31+32;
          var _34 = IHEAP[_33];
          var _35 = _34 + -1;
          IHEAP[_33] = _35;
          var _36 = _31+_35*4;
          var _37 = IHEAP[_36];
          var _38 = _this+348+_32*4;
          IHEAP[_38] = _37;
          var _39 = _32 + 1;
          IHEAP[_11] = _39;
          var _40 = FHEAP[_9];
          var _41 = 0 - _40;
          var _42 = FHEAP[_8];
          var _43 = 0 - _42;
          var _44 = FHEAP[_7];
          var _45 = 0 - _44;
          FHEAP[_12] = _45;
          FHEAP[_13] = _43;
          FHEAP[_14] = _41;
          FHEAP[_15] = 0;
          var _46 = IHEAP[_3];
          var _47 = _46+32;
          var _48 = IHEAP[_47];
          var _49 = _46+16+_48*4;
          FHEAP[_49] = 0;
          var _50 = IHEAP[_47];
          var _51 = IHEAP[_11];
          var _52 = _51 + -1;
          IHEAP[_11] = _52;
          var _53 = _this+348+_52*4;
          var _54 = IHEAP[_53];
          var _55 = _46+_50*4;
          IHEAP[_55] = _54;
          var _56 = IHEAP[_47];
          var _57 = _46+_56*4;
          var _58 = IHEAP[_57];
          var _59 = _56 + 1;
          IHEAP[_47] = _59;
          __ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(_this, _2, _58);
          var _60 = __ZN12gjkepa2_impl3GJK13EncloseOriginEv(_this);
          var _toBool4 = _60 == 0;
          if (!(_toBool4)) { __label__ = 518; /* _bb35 */ break _bb34$_bb7_preheader$_bb8$_bb22$_bb31$13466; }
          var _61 = IHEAP[_3];
          var _62 = IHEAP[_11];
          var _63 = _61+32;
          var _64 = IHEAP[_63];
          var _65 = _64 + -1;
          IHEAP[_63] = _65;
          var _66 = _61+_65*4;
          var _67 = IHEAP[_66];
          var _68 = _this+348+_62*4;
          IHEAP[_68] = _67;
          var _69 = _62 + 1;
          IHEAP[_11] = _69;
          var _70 = _71 + 1;
          __lastLabel__ = 83; __label__ = 2; /* _bb7 */ continue _bb7$13468;
        }
      }
      else if (__label__ == 148) {
        var _73 = _4;
        var _74 = IHEAP[_73];
        var _75 = _4+4;
        var _76 = IHEAP[_75];
        var _77 = _76+16+8;
        var _78 = FHEAP[_77];
        var _79 = _74+16+8;
        var _80 = FHEAP[_79];
        var _81 = _78 - _80;
        var _82 = _76+16+4;
        var _83 = FHEAP[_82];
        var _84 = _74+16+4;
        var _85 = FHEAP[_84];
        var _86 = _83 - _85;
        var _87 = _76+16;
        var _88 = FHEAP[_87];
        var _89 = _74+16;
        var _90 = FHEAP[_89];
        var _91 = _88 - _90;
        var _92 = _axis11;
        var _93 = _axis11+4;
        var _94 = _axis11+8;
        var _95 = _axis11+12;
        var _96 = _p;
        var _97 = _p+4;
        var _98 = _p+8;
        var _99 = _p+12;
        var _100 = _this+364;
        var _101 = _1;
        var _102 = _1+4;
        var _103 = _1+8;
        var _104 = _1+12;
        __lastLabel__ = 148; ;
        _bb21$13474: while(1) { // _bb21
          var _178 = __lastLabel__ == 148 ? 0 : (_177);
          var _179 = unSign(_178, 32) < unSign(3, 32);
          if (!(_179)) { __label__ = 250; /* _bb34 */ break _bb34$_bb7_preheader$_bb8$_bb22$_bb31$13466; }
          var _scevgep = _axis11+_178*4;
          FHEAP[_92] = 0;
          FHEAP[_93] = 0;
          FHEAP[_94] = 0;
          FHEAP[_95] = 0;
          FHEAP[_scevgep] = 1;
          var _105 = FHEAP[_93];
          var _106 = _91 * _105;
          var _107 = FHEAP[_92];
          var _108 = _86 * _107;
          var _109 = _106 - _108;
          var _110 = _81 * _107;
          var _111 = FHEAP[_94];
          var _112 = _91 * _111;
          var _113 = _110 - _112;
          var _114 = _86 * _111;
          var _115 = _81 * _105;
          var _116 = _114 - _115;
          FHEAP[_96] = _116;
          FHEAP[_97] = _113;
          FHEAP[_98] = _109;
          FHEAP[_99] = 0;
          var _117 = _116 * _116;
          var _118 = _113 * _113;
          var _119 = _117 + _118;
          var _120 = _109 * _109;
          var _121 = _119 + _120;
          var _122 = _121 > 0;
          ;
          if (_122) {
            ;
            var _123 = IHEAP[_3];
            var _124 = _123+32;
            var _125 = IHEAP[_124];
            var _126 = _123+16+_125*4;
            FHEAP[_126] = 0;
            var _127 = IHEAP[_124];
            var _128 = IHEAP[_100];
            var _129 = _128 + -1;
            IHEAP[_100] = _129;
            var _130 = _this+348+_129*4;
            var _131 = IHEAP[_130];
            var _132 = _123+_127*4;
            IHEAP[_132] = _131;
            var _133 = IHEAP[_124];
            var _134 = _123+_133*4;
            var _135 = IHEAP[_134];
            var _136 = _133 + 1;
            IHEAP[_124] = _136;
            __ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(_this, _p, _135);
            var _137 = __ZN12gjkepa2_impl3GJK13EncloseOriginEv(_this);
            var _toBool14 = _137 == 0;
            if (!(_toBool14)) { __label__ = 518; /* _bb35 */ break _bb34$_bb7_preheader$_bb8$_bb22$_bb31$13466; }
            var _138 = IHEAP[_3];
            var _139 = IHEAP[_100];
            var _140 = _138+32;
            var _141 = IHEAP[_140];
            var _142 = _141 + -1;
            IHEAP[_140] = _142;
            var _143 = _138+_142*4;
            var _144 = IHEAP[_143];
            var _145 = _this+348+_139*4;
            IHEAP[_145] = _144;
            var _146 = _139 + 1;
            IHEAP[_100] = _146;
            var _147 = FHEAP[_98];
            var _148 = 0 - _147;
            var _149 = FHEAP[_97];
            var _150 = 0 - _149;
            var _151 = FHEAP[_96];
            var _152 = 0 - _151;
            FHEAP[_101] = _152;
            FHEAP[_102] = _150;
            FHEAP[_103] = _148;
            FHEAP[_104] = 0;
            var _153 = IHEAP[_3];
            var _154 = _153+32;
            var _155 = IHEAP[_154];
            var _156 = _153+16+_155*4;
            FHEAP[_156] = 0;
            var _157 = IHEAP[_154];
            var _158 = IHEAP[_100];
            var _159 = _158 + -1;
            IHEAP[_100] = _159;
            var _160 = _this+348+_159*4;
            var _161 = IHEAP[_160];
            var _162 = _153+_157*4;
            IHEAP[_162] = _161;
            var _163 = IHEAP[_154];
            var _164 = _153+_163*4;
            var _165 = IHEAP[_164];
            var _166 = _163 + 1;
            IHEAP[_154] = _166;
            __ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(_this, _1, _165);
            var _167 = __ZN12gjkepa2_impl3GJK13EncloseOriginEv(_this);
            var _toBool17 = _167 == 0;
            if (!(_toBool17)) { __label__ = 518; /* _bb35 */ break _bb34$_bb7_preheader$_bb8$_bb22$_bb31$13466; }
            var _168 = IHEAP[_3];
            var _169 = IHEAP[_100];
            var _170 = _168+32;
            var _171 = IHEAP[_170];
            var _172 = _171 + -1;
            IHEAP[_170] = _172;
            var _173 = _168+_172*4;
            var _174 = IHEAP[_173];
            var _175 = _this+348+_169*4;
            IHEAP[_175] = _174;
            var _176 = _169 + 1;
            IHEAP[_100] = _176;
            ;
          }
          var _177 = _178 + 1;
          __lastLabel__ = 117; __label__ = 110; /* _bb21 */ continue _bb21$13474;
        }
      }
      else if (__label__ == 5) {
        var _180 = _4;
        var _181 = IHEAP[_180];
        var _182 = _4+8;
        var _183 = IHEAP[_182];
        var _184 = _183+16+8;
        var _185 = FHEAP[_184];
        var _186 = _181+16+8;
        var _187 = FHEAP[_186];
        var _188 = _185 - _187;
        var _189 = _183+16+4;
        var _190 = FHEAP[_189];
        var _191 = _181+16+4;
        var _192 = FHEAP[_191];
        var _193 = _190 - _192;
        var _194 = _183+16;
        var _195 = FHEAP[_194];
        var _196 = _181+16;
        var _197 = FHEAP[_196];
        var _198 = _195 - _197;
        var _199 = _4+4;
        var _200 = IHEAP[_199];
        var _201 = _200+16+8;
        var _202 = FHEAP[_201];
        var _203 = _202 - _187;
        var _204 = _200+16+4;
        var _205 = FHEAP[_204];
        var _206 = _205 - _192;
        var _207 = _200+16;
        var _208 = FHEAP[_207];
        var _209 = _208 - _197;
        var _210 = _209 * _193;
        var _211 = _206 * _198;
        var _212 = _210 - _211;
        var _213 = _203 * _198;
        var _214 = _209 * _188;
        var _215 = _213 - _214;
        var _216 = _206 * _188;
        var _217 = _203 * _193;
        var _218 = _216 - _217;
        var _219 = _n;
        FHEAP[_219] = _218;
        var _220 = _n+4;
        FHEAP[_220] = _215;
        var _221 = _n+8;
        FHEAP[_221] = _212;
        var _222 = _n+12;
        FHEAP[_222] = 0;
        var _223 = _218 * _218;
        var _224 = _215 * _215;
        var _225 = _223 + _224;
        var _226 = _212 * _212;
        var _227 = _225 + _226;
        var _228 = _227 > 0;
        if (!(_228)) { __label__ = 250; /* _bb34 */ break _bb34$_bb7_preheader$_bb8$_bb22$_bb31$13466; }
        var _229 = _4+16+_6*4;
        FHEAP[_229] = 0;
        var _230 = IHEAP[_5];
        var _231 = _this+364;
        var _232 = IHEAP[_231];
        var _233 = _232 + -1;
        IHEAP[_231] = _233;
        var _234 = _this+348+_233*4;
        var _235 = IHEAP[_234];
        var _236 = _4+_230*4;
        IHEAP[_236] = _235;
        var _237 = IHEAP[_5];
        var _238 = _4+_237*4;
        var _239 = IHEAP[_238];
        var _240 = _237 + 1;
        IHEAP[_5] = _240;
        __ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(_this, _n, _239);
        var _241 = __ZN12gjkepa2_impl3GJK13EncloseOriginEv(_this);
        var _toBool25 = _241 == 0;
        if (!(_toBool25)) { __label__ = 518; /* _bb35 */ break _bb34$_bb7_preheader$_bb8$_bb22$_bb31$13466; }
        var _242 = IHEAP[_3];
        var _243 = IHEAP[_231];
        var _244 = _242+32;
        var _245 = IHEAP[_244];
        var _246 = _245 + -1;
        IHEAP[_244] = _246;
        var _247 = _242+_246*4;
        var _248 = IHEAP[_247];
        var _249 = _this+348+_243*4;
        IHEAP[_249] = _248;
        var _250 = _243 + 1;
        IHEAP[_231] = _250;
        var _251 = FHEAP[_221];
        var _252 = 0 - _251;
        var _253 = FHEAP[_220];
        var _254 = 0 - _253;
        var _255 = FHEAP[_219];
        var _256 = 0 - _255;
        var _257 = _0;
        FHEAP[_257] = _256;
        var _258 = _0+4;
        FHEAP[_258] = _254;
        var _259 = _0+8;
        FHEAP[_259] = _252;
        var _260 = _0+12;
        FHEAP[_260] = 0;
        var _261 = IHEAP[_3];
        var _262 = _261+32;
        var _263 = IHEAP[_262];
        var _264 = _261+16+_263*4;
        FHEAP[_264] = 0;
        var _265 = IHEAP[_262];
        var _266 = IHEAP[_231];
        var _267 = _266 + -1;
        IHEAP[_231] = _267;
        var _268 = _this+348+_267*4;
        var _269 = IHEAP[_268];
        var _270 = _261+_265*4;
        IHEAP[_270] = _269;
        var _271 = IHEAP[_262];
        var _272 = _261+_271*4;
        var _273 = IHEAP[_272];
        var _274 = _271 + 1;
        IHEAP[_262] = _274;
        __ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(_this, _0, _273);
        var _275 = __ZN12gjkepa2_impl3GJK13EncloseOriginEv(_this);
        var _toBool28 = _275 == 0;
        if (!(_toBool28)) { __label__ = 518; /* _bb35 */ break _bb34$_bb7_preheader$_bb8$_bb22$_bb31$13466; }
        var _276 = IHEAP[_3];
        var _277 = IHEAP[_231];
        var _278 = _276+32;
        var _279 = IHEAP[_278];
        var _280 = _279 + -1;
        IHEAP[_278] = _280;
        var _281 = _276+_280*4;
        var _282 = IHEAP[_281];
        var _283 = _this+348+_277*4;
        IHEAP[_283] = _282;
        var _284 = _277 + 1;
        IHEAP[_231] = _284;
        STACKTOP = __stackBase__;
        return 0;
      }
      else if (__label__ == 89) {
        var _285 = _4+12;
        var _286 = IHEAP[_285];
        var _287 = _4+8;
        var _288 = IHEAP[_287];
        var _289 = _288+16+8;
        var _290 = FHEAP[_289];
        var _291 = _286+16+8;
        var _292 = FHEAP[_291];
        var _293 = _290 - _292;
        var _294 = _288+16+4;
        var _295 = FHEAP[_294];
        var _296 = _286+16+4;
        var _297 = FHEAP[_296];
        var _298 = _295 - _297;
        var _299 = _288+16;
        var _300 = FHEAP[_299];
        var _301 = _286+16;
        var _302 = FHEAP[_301];
        var _303 = _300 - _302;
        var _304 = _4+4;
        var _305 = IHEAP[_304];
        var _306 = _305+16+8;
        var _307 = FHEAP[_306];
        var _308 = _307 - _292;
        var _309 = _305+16+4;
        var _310 = FHEAP[_309];
        var _311 = _310 - _297;
        var _312 = _305+16;
        var _313 = FHEAP[_312];
        var _314 = _313 - _302;
        var _315 = _4;
        var _316 = IHEAP[_315];
        var _317 = _316+16+8;
        var _318 = FHEAP[_317];
        var _319 = _318 - _292;
        var _320 = _316+16+4;
        var _321 = FHEAP[_320];
        var _322 = _321 - _297;
        var _323 = _316+16;
        var _324 = FHEAP[_323];
        var _325 = _324 - _302;
        var _326 = _322 * _308;
        var _327 = _326 * _303;
        var _328 = _319 * _314;
        var _329 = _328 * _298;
        var _330 = _327 + _329;
        var _331 = _325 * _308;
        var _332 = _331 * _298;
        var _333 = _330 - _332;
        var _334 = _322 * _314;
        var _335 = _334 * _293;
        var _336 = _333 - _335;
        var _337 = _325 * _311;
        var _338 = _337 * _293;
        var _339 = _336 + _338;
        var _340 = _319 * _311;
        var _341 = _340 * _303;
        var _342 = _339 - _341;
        var _343 = _fabsf(_342);
        var _344 = _343 > 0;
        var _retval = _344;
        STACKTOP = __stackBase__;
        return _retval;
      }
    } while(0);
    if (__label__ == 250) {
      STACKTOP = __stackBase__;
      return 0;
    }
    else if (__label__ == 518) {
      STACKTOP = __stackBase__;
      return 1;
    }
  }
  __ZN12gjkepa2_impl3GJK13EncloseOriginEv.__index__ = Runtime.getFunctionIndex(__ZN12gjkepa2_impl3GJK13EncloseOriginEv, "__ZN12gjkepa2_impl3GJK13EncloseOriginEv");
  
  
  function __ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_PfRj(_a, _b, _c, _w, _m) {
    var __stackBase__  = STACKTOP; STACKTOP += 69;
    var __label__;
    var __lastLabel__ = null;
    var _vt = __stackBase__;
    var _dl = __stackBase__+12;
    var _subw = __stackBase__+60;
    var _subm = __stackBase__+68;
    var _0 = _vt;
    var _1 = _vt+4;
    var _2 = _vt+8;
    IHEAP[_0] = _a;
    IHEAP[_1] = _b;
    IHEAP[_2] = _c;
    var _3 = _a+8;
    var _4 = FHEAP[_3];
    var _5 = _b+8;
    var _6 = FHEAP[_5];
    var _7 = _4 - _6;
    var _8 = _a+4;
    var _9 = FHEAP[_8];
    var _10 = _b+4;
    var _11 = FHEAP[_10];
    var _12 = _9 - _11;
    var _13 = _a;
    var _14 = FHEAP[_13];
    var _15 = _b;
    var _16 = FHEAP[_15];
    var _17 = _14 - _16;
    var _18 = _dl;
    FHEAP[_18] = _17;
    var _19 = _dl+4;
    FHEAP[_19] = _12;
    var _20 = _dl+8;
    FHEAP[_20] = _7;
    var _21 = _dl+12;
    FHEAP[_21] = 0;
    var _22 = _c+8;
    var _23 = FHEAP[_22];
    var _24 = _6 - _23;
    var _25 = _c+4;
    var _26 = FHEAP[_25];
    var _27 = _11 - _26;
    var _28 = _c;
    var _29 = FHEAP[_28];
    var _30 = _16 - _29;
    var _31 = _dl+16;
    FHEAP[_31] = _30;
    var _32 = _dl+16+4;
    FHEAP[_32] = _27;
    var _33 = _dl+16+8;
    FHEAP[_33] = _24;
    var _34 = _dl+16+12;
    FHEAP[_34] = 0;
    var _35 = _23 - _4;
    var _36 = _26 - _9;
    var _37 = _29 - _14;
    var _38 = _dl+32;
    FHEAP[_38] = _37;
    var _39 = _dl+32+4;
    FHEAP[_39] = _36;
    var _40 = _dl+32+8;
    FHEAP[_40] = _35;
    var _41 = _dl+32+12;
    FHEAP[_41] = 0;
    var _42 = _17 * _27;
    var _43 = _12 * _30;
    var _44 = _42 - _43;
    var _45 = _7 * _30;
    var _46 = _17 * _24;
    var _47 = _45 - _46;
    var _48 = _12 * _24;
    var _49 = _7 * _27;
    var _50 = _48 - _49;
    var _51 = _50 * _50;
    var _52 = _47 * _47;
    var _53 = _51 + _52;
    var _54 = _44 * _44;
    var _55 = _53 + _54;
    var _56 = _55 > 0;
    ;
    _bb_nph$_bb18$13491: do { 
      if (_56) {
        __lastLabel__ = -1; ;
        var _57 = _subw;
        FHEAP[_57] = 0;
        var _58 = _subw+4;
        FHEAP[_58] = 0;
        IHEAP[_subm] = 0;
        __lastLabel__ = 130; ;
        _bb1$13493: while(1) { // _bb1
          var _59 = __lastLabel__ == 130 ? _4 : (__pre59);
          var _60 = __lastLabel__ == 130 ? _9 : (__pre57);
          var _61 = __lastLabel__ == 130 ? _14 : (__pre55);
          var _62 = __lastLabel__ == 130 ? _a : (__pre54);
          var _63 = __lastLabel__ == 130 ? _7 : (__pre53);
          var _64 = __lastLabel__ == 130 ? _12 : (__pre52);
          var _65 = __lastLabel__ == 130 ? _17 : (__pre);
          var _66 = __lastLabel__ == 130 ? 0 : (_101);
          var _mindist_144 = __lastLabel__ == 130 ? -1 : (_mindist_0);
          var _scevgep47 = _w+4*_66;
          var _67 = _65 * _47;
          var _68 = _64 * _50;
          var _69 = _67 - _68;
          var _70 = _63 * _50;
          var _71 = _65 * _44;
          var _72 = _70 - _71;
          var _73 = _64 * _44;
          var _74 = _63 * _47;
          var _75 = _73 - _74;
          var _76 = _61 * _75;
          var _77 = _60 * _72;
          var _78 = _76 + _77;
          var _79 = _59 * _69;
          var _80 = _78 + _79;
          var _81 = _80 > 0;
          ;
          _bb2$_bb12$13495: do { 
            if (_81) {
              __lastLabel__ = 75; ;
              var _scevgep46 = __ZZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_PfRjE4imd3+_66*4;
              var _82 = IHEAP[_scevgep46];
              var _83 = _vt+_82*4;
              var _84 = IHEAP[_83];
              var _85 = __ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_PfRj(_62, _84, _57, _subm);
              var _86 = _mindist_144 < 0;
              var _87 = _85 < _mindist_144;
              var _or_cond = _86 | _87;
              if (_or_cond) { __lastLabel__ = 0; ; } else { __lastLabel__ = 0; __label__ = 3; /* _bb12 */ break _bb2$_bb12$13495; }
              var _88 = IHEAP[_subm];
              var _89 = _88 & 1;
              var _toBool5 = _89 == 0;
              var _90 = 1 << _66;
              var _iftmp_176_0 = _toBool5 ? 0 : _90;
              var _91 = _88 & 2;
              var _92 = _91 == 0;
              var _93 = 1 << _82;
              var _iftmp_179_0 = _92 ? 0 : _93;
              var _94 = _iftmp_176_0 + _iftmp_179_0;
              IHEAP[_m] = _94;
              var _95 = FHEAP[_57];
              FHEAP[_scevgep47] = _95;
              var _96 = FHEAP[_58];
              var _97 = _w+4*_82;
              FHEAP[_97] = _96;
              var _98 = __ZZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_PfRjE4imd3+_82*4;
              var _99 = IHEAP[_98];
              var _100 = _w+4*_99;
              FHEAP[_100] = 0;
              __lastLabel__ = 61; ;
            }
            else {
              __lastLabel__ = 75; ;
            }
          } while(0);
          var _mindist_0 = __lastLabel__ == 61 ? _85 : (__lastLabel__ == 75 ? _mindist_144 : (_mindist_144));
          var _101 = _66 + 1;
          var _exitcond = _101 == 3;
          if (_exitcond) { __label__ = 63; /* _bb14 */ break _bb1$13493; }
          var _scevgep4849_phi_trans_insert = _dl+_101*16;
          var __pre = FHEAP[_scevgep4849_phi_trans_insert];
          var _scevgep50_phi_trans_insert = _dl+_101*16+4;
          var __pre52 = FHEAP[_scevgep50_phi_trans_insert];
          var _scevgep51_phi_trans_insert = _dl+_101*16+8;
          var __pre53 = FHEAP[_scevgep51_phi_trans_insert];
          var _scevgep_phi_trans_insert = _vt+_101*4;
          var __pre54 = IHEAP[_scevgep_phi_trans_insert];
          var __phi_trans_insert = __pre54;
          var __pre55 = FHEAP[__phi_trans_insert];
          var __phi_trans_insert56 = __pre54+4;
          var __pre57 = FHEAP[__phi_trans_insert56];
          var __phi_trans_insert58 = __pre54+8;
          var __pre59 = FHEAP[__phi_trans_insert58];
          __lastLabel__ = 2475; __label__ = 75; /* _bb1 */ continue _bb1$13493;
        }
        var _102 = _mindist_0 < 0;
        if (_102) { __lastLabel__ = 63; ; } else { __lastLabel__ = 63; __label__ = 86; /* _bb18 */ break _bb_nph$_bb18$13491; }
        var _103 = FHEAP[_13];
        var _104 = _103 * _50;
        var _105 = FHEAP[_8];
        var _106 = _105 * _47;
        var _107 = _104 + _106;
        var _108 = FHEAP[_3];
        var _109 = _108 * _44;
        var _110 = _107 + _109;
        var _111 = _sqrtf(_55);
        var _112 = _110 / _55;
        var _113 = _44 * _112;
        var _114 = _47 * _112;
        var _115 = _50 * _112;
        var _116 = _115 * _115;
        var _117 = _114 * _114;
        var _118 = _116 + _117;
        var _119 = _113 * _113;
        var _120 = _118 + _119;
        IHEAP[_m] = 7;
        var _121 = FHEAP[_5];
        var _122 = _121 - _113;
        var _123 = FHEAP[_10];
        var _124 = _123 - _114;
        var _125 = FHEAP[_15];
        var _126 = _125 - _115;
        var _127 = _30 * _124;
        var _128 = _27 * _126;
        var _129 = _127 - _128;
        var _130 = _24 * _126;
        var _131 = _30 * _122;
        var _132 = _130 - _131;
        var _133 = _27 * _122;
        var _134 = _24 * _124;
        var _135 = _133 - _134;
        var _136 = _135 * _135;
        var _137 = _132 * _132;
        var _138 = _136 + _137;
        var _139 = _129 * _129;
        var _140 = _138 + _139;
        var _141 = _sqrtf(_140);
        var _142 = _141 / _111;
        FHEAP[_w] = _142;
        var _143 = FHEAP[_22];
        var _144 = _143 - _113;
        var _145 = FHEAP[_25];
        var _146 = _145 - _114;
        var _147 = FHEAP[_28];
        var _148 = _147 - _115;
        var _149 = _37 * _146;
        var _150 = _36 * _148;
        var _151 = _149 - _150;
        var _152 = _35 * _148;
        var _153 = _37 * _144;
        var _154 = _152 - _153;
        var _155 = _36 * _144;
        var _156 = _35 * _146;
        var _157 = _155 - _156;
        var _158 = _157 * _157;
        var _159 = _154 * _154;
        var _160 = _158 + _159;
        var _161 = _151 * _151;
        var _162 = _160 + _161;
        var _163 = _sqrtf(_162);
        var _164 = _163 / _111;
        var _165 = _w+4;
        FHEAP[_165] = _164;
        var _166 = _142 + _164;
        var _167 = 1 - _166;
        var _168 = _w+8;
        FHEAP[_168] = _167;
        STACKTOP = __stackBase__;
        return _120;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var __0 = __lastLabel__ == 63 ? _mindist_0 : (-1);
    STACKTOP = __stackBase__;
    return __0;
  }
  __ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_PfRj.__index__ = Runtime.getFunctionIndex(__ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_PfRj, "__ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_PfRj");
  
  
  function __ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_S3_PfRj(_a, _b, _c, _d, _w, _m) {
    var __stackBase__  = STACKTOP; STACKTOP += 77;
    var __label__;
    var __lastLabel__ = null;
    var _vt = __stackBase__;
    var _dl = __stackBase__+16;
    var _subw = __stackBase__+64;
    var _subm = __stackBase__+76;
    var _0 = _vt;
    var _1 = _vt+4;
    var _2 = _vt+8;
    var _3 = _vt+12;
    IHEAP[_0] = _a;
    IHEAP[_1] = _b;
    IHEAP[_2] = _c;
    IHEAP[_3] = _d;
    var _4 = _a+8;
    var _5 = FHEAP[_4];
    var _6 = _d+8;
    var _7 = FHEAP[_6];
    var _8 = _5 - _7;
    var _9 = _a+4;
    var _10 = FHEAP[_9];
    var _11 = _d+4;
    var _12 = FHEAP[_11];
    var _13 = _10 - _12;
    var _14 = _a;
    var _15 = FHEAP[_14];
    var _16 = _d;
    var _17 = FHEAP[_16];
    var _18 = _15 - _17;
    var _19 = _dl;
    FHEAP[_19] = _18;
    var _20 = _dl+4;
    FHEAP[_20] = _13;
    var _21 = _dl+8;
    FHEAP[_21] = _8;
    var _22 = _dl+12;
    FHEAP[_22] = 0;
    var _23 = _b+8;
    var _24 = FHEAP[_23];
    var _25 = _24 - _7;
    var _26 = _b+4;
    var _27 = FHEAP[_26];
    var _28 = _27 - _12;
    var _29 = _b;
    var _30 = FHEAP[_29];
    var _31 = _30 - _17;
    var _32 = _dl+16;
    FHEAP[_32] = _31;
    var _33 = _dl+16+4;
    FHEAP[_33] = _28;
    var _34 = _dl+16+8;
    FHEAP[_34] = _25;
    var _35 = _dl+16+12;
    FHEAP[_35] = 0;
    var _36 = _c+8;
    var _37 = FHEAP[_36];
    var _38 = _37 - _7;
    var _39 = _c+4;
    var _40 = FHEAP[_39];
    var _41 = _40 - _12;
    var _42 = _c;
    var _43 = FHEAP[_42];
    var _44 = _43 - _17;
    var _45 = _dl+32;
    FHEAP[_45] = _44;
    var _46 = _dl+32+4;
    FHEAP[_46] = _41;
    var _47 = _dl+32+8;
    FHEAP[_47] = _38;
    var _48 = _dl+32+12;
    FHEAP[_48] = 0;
    var _49 = _13 * _25;
    var _50 = _49 * _44;
    var _51 = _8 * _31;
    var _52 = _51 * _41;
    var _53 = _50 + _52;
    var _54 = _18 * _25;
    var _55 = _54 * _41;
    var _56 = _53 - _55;
    var _57 = _13 * _31;
    var _58 = _57 * _38;
    var _59 = _56 - _58;
    var _60 = _18 * _28;
    var _61 = _60 * _38;
    var _62 = _59 + _61;
    var _63 = _8 * _28;
    var _64 = _63 * _44;
    var _65 = _62 - _64;
    var _66 = _5 - _24;
    var _67 = _10 - _27;
    var _68 = _15 - _30;
    var _69 = _24 - _37;
    var _70 = _27 - _40;
    var _71 = _30 - _43;
    var _72 = _71 * _67;
    var _73 = _70 * _68;
    var _74 = _72 - _73;
    var _75 = _69 * _68;
    var _76 = _71 * _66;
    var _77 = _75 - _76;
    var _78 = _70 * _66;
    var _79 = _69 * _67;
    var _80 = _78 - _79;
    var _81 = _15 * _80;
    var _82 = _10 * _77;
    var _83 = _81 + _82;
    var _84 = _5 * _74;
    var _85 = _83 + _84;
    var _86 = _85 * _65;
    var _toBoolnot = _86 > 0;
    ;
    _bb5$_bb$13504: do { 
      if (!_toBoolnot) {
        ;
        var _87 = _fabsf(_65);
        var _88 = _87 <= 0;
        if (_88) { __label__ = 82; /* _bb5 */ break _bb5$_bb$13504; }
        var _89 = _subw;
        FHEAP[_89] = 0;
        var _90 = _subw+4;
        FHEAP[_90] = 0;
        var _91 = _subw+8;
        FHEAP[_91] = 0;
        IHEAP[_subm] = 0;
        var _92 = _w+12;
        __lastLabel__ = 130; ;
        _bb9$13507: while(1) { // _bb9
          var _93 = __lastLabel__ == 130 ? _8 : (__pre60);
          var _94 = __lastLabel__ == 130 ? _13 : (__pre59);
          var _95 = __lastLabel__ == 130 ? _18 : (__pre);
          var _96 = __lastLabel__ == 130 ? 0 : (_146);
          var _mindist_151 = __lastLabel__ == 130 ? -1 : (_mindist_0);
          var _scevgep = __ZZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_S3_PfRjE4imd3+_96*4;
          var _scevgep54 = _w+4*_96;
          var _97 = IHEAP[_scevgep];
          var _98 = _dl+_97*16+4;
          var _99 = FHEAP[_98];
          var _100 = _95 * _99;
          var _101 = _dl+_97*16;
          var _102 = FHEAP[_101];
          var _103 = _94 * _102;
          var _104 = _100 - _103;
          var _105 = _93 * _102;
          var _106 = _dl+_97*16+8;
          var _107 = FHEAP[_106];
          var _108 = _95 * _107;
          var _109 = _105 - _108;
          var _110 = _94 * _107;
          var _111 = _93 * _99;
          var _112 = _110 - _111;
          var _113 = FHEAP[_16];
          var _114 = _113 * _112;
          var _115 = FHEAP[_11];
          var _116 = _115 * _109;
          var _117 = _114 + _116;
          var _118 = FHEAP[_6];
          var _119 = _118 * _104;
          var _120 = _117 + _119;
          var _121 = _120 * _65;
          var _122 = _121 > 0;
          ;
          _bb10$_bb23$13509: do { 
            if (_122) {
              __lastLabel__ = 62; ;
              var _scevgep53 = _vt+_96*4;
              var _123 = _vt+_97*4;
              var _124 = IHEAP[_123];
              var _125 = IHEAP[_scevgep53];
              var _126 = __ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_PfRj(_125, _124, _d, _89, _subm);
              var _127 = _mindist_151 < 0;
              var _128 = _126 < _mindist_151;
              var _or_cond = _127 | _128;
              if (_or_cond) { __lastLabel__ = 150; ; } else { __lastLabel__ = 150; __label__ = 419; /* _bb23 */ break _bb10$_bb23$13509; }
              var _129 = IHEAP[_subm];
              var _130 = _129 & 1;
              var _toBool13 = _130 == 0;
              var _131 = 1 << _96;
              var _iftmp_192_0 = _toBool13 ? 0 : _131;
              var _132 = _129 & 2;
              var _133 = _132 == 0;
              var _134 = 1 << _97;
              var _iftmp_195_0 = _133 ? 0 : _134;
              var _135 = _129 & 4;
              var _136 = _135 == 0;
              var _iftmp_198_0 = _136 ? 0 : 8;
              var _137 = _iftmp_192_0 + _iftmp_195_0;
              var _138 = _137 + _iftmp_198_0;
              IHEAP[_m] = _138;
              var _139 = FHEAP[_89];
              FHEAP[_scevgep54] = _139;
              var _140 = FHEAP[_90];
              var _141 = _w+4*_97;
              FHEAP[_141] = _140;
              var _142 = __ZZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_S3_PfRjE4imd3+_97*4;
              var _143 = IHEAP[_142];
              var _144 = _w+4*_143;
              FHEAP[_144] = 0;
              var _145 = FHEAP[_91];
              FHEAP[_92] = _145;
              __lastLabel__ = 3; ;
            }
            else {
              __lastLabel__ = 62; ;
            }
          } while(0);
          var _mindist_0 = __lastLabel__ == 3 ? _126 : (__lastLabel__ == 62 ? _mindist_151 : (_mindist_151));
          var _146 = _96 + 1;
          var _exitcond = _146 == 3;
          if (_exitcond) { __label__ = 540; /* _bb25 */ break _bb9$13507; }
          var _scevgep5556_phi_trans_insert = _dl+_146*16;
          var __pre = FHEAP[_scevgep5556_phi_trans_insert];
          var _scevgep57_phi_trans_insert = _dl+_146*16+4;
          var __pre59 = FHEAP[_scevgep57_phi_trans_insert];
          var _scevgep58_phi_trans_insert = _dl+_146*16+8;
          var __pre60 = FHEAP[_scevgep58_phi_trans_insert];
          __lastLabel__ = 2477; __label__ = 62; /* _bb9 */ continue _bb9$13507;
        }
        var _147 = _mindist_0 < 0;
        ;
        if (_147) {
          ;
          IHEAP[_m] = 15;
          var _148 = FHEAP[_39];
          var _149 = FHEAP[_23];
          var _150 = _148 * _149;
          var _151 = FHEAP[_16];
          var _152 = _150 * _151;
          var _153 = FHEAP[_36];
          var _154 = FHEAP[_29];
          var _155 = _153 * _154;
          var _156 = FHEAP[_11];
          var _157 = _155 * _156;
          var _158 = _152 + _157;
          var _159 = FHEAP[_42];
          var _160 = _159 * _149;
          var _161 = _160 * _156;
          var _162 = _158 - _161;
          var _163 = _148 * _154;
          var _164 = FHEAP[_6];
          var _165 = _163 * _164;
          var _166 = _162 - _165;
          var _167 = FHEAP[_26];
          var _168 = _159 * _167;
          var _169 = _168 * _164;
          var _170 = _166 + _169;
          var _171 = _153 * _167;
          var _172 = _171 * _151;
          var _173 = _170 - _172;
          var _174 = _173 / _65;
          FHEAP[_w] = _174;
          var _175 = FHEAP[_9];
          var _176 = FHEAP[_36];
          var _177 = _175 * _176;
          var _178 = FHEAP[_16];
          var _179 = _177 * _178;
          var _180 = FHEAP[_4];
          var _181 = FHEAP[_42];
          var _182 = _180 * _181;
          var _183 = FHEAP[_11];
          var _184 = _182 * _183;
          var _185 = _179 + _184;
          var _186 = FHEAP[_14];
          var _187 = _186 * _176;
          var _188 = _187 * _183;
          var _189 = _185 - _188;
          var _190 = _175 * _181;
          var _191 = FHEAP[_6];
          var _192 = _190 * _191;
          var _193 = _189 - _192;
          var _194 = FHEAP[_39];
          var _195 = _186 * _194;
          var _196 = _195 * _191;
          var _197 = _193 + _196;
          var _198 = _180 * _194;
          var _199 = _198 * _178;
          var _200 = _197 - _199;
          var _201 = _200 / _65;
          var _202 = _w+4;
          FHEAP[_202] = _201;
          var _203 = FHEAP[_26];
          var _204 = FHEAP[_4];
          var _205 = _203 * _204;
          var _206 = FHEAP[_16];
          var _207 = _205 * _206;
          var _208 = FHEAP[_23];
          var _209 = FHEAP[_14];
          var _210 = _208 * _209;
          var _211 = FHEAP[_11];
          var _212 = _210 * _211;
          var _213 = _207 + _212;
          var _214 = FHEAP[_29];
          var _215 = _214 * _204;
          var _216 = _215 * _211;
          var _217 = _213 - _216;
          var _218 = _203 * _209;
          var _219 = FHEAP[_6];
          var _220 = _218 * _219;
          var _221 = _217 - _220;
          var _222 = FHEAP[_9];
          var _223 = _214 * _222;
          var _224 = _223 * _219;
          var _225 = _221 + _224;
          var _226 = _208 * _222;
          var _227 = _226 * _206;
          var _228 = _225 - _227;
          var _229 = _228 / _65;
          var _230 = _w+8;
          FHEAP[_230] = _229;
          var _231 = _174 + _201;
          var _232 = _231 + _229;
          var _233 = 1 - _232;
          var _234 = _w+12;
          FHEAP[_234] = _233;
          STACKTOP = __stackBase__;
          return 0;
        }
        else {
          ;
          STACKTOP = __stackBase__;
          return _mindist_0;
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return -1;
  }
  __ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_S3_PfRj.__index__ = Runtime.getFunctionIndex(__ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_S3_PfRj, "__ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_S3_PfRj");
  
  
  function __ZN12gjkepa2_impl3GJK8EvaluateERKNS_13MinkowskiDiffERK9btVector3(_this, _shapearg, _guess) {
    var __stackBase__  = STACKTOP; STACKTOP += 113;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _alpha;
    var _lastw = __stackBase__+32;
    var _weights = __stackBase__+96;
    var _mask = __stackBase__+112;
    _alpha = 0;
    var _2 = _this+220;
    var _3 = _this+348;
    IHEAP[_3] = _2;
    var _4 = _this+220+32;
    var _5 = _this+348+4;
    IHEAP[_5] = _4;
    var _6 = _this+220+64;
    var _7 = _this+348+8;
    IHEAP[_7] = _6;
    var _8 = _this+220+96;
    var _9 = _this+348+12;
    IHEAP[_9] = _8;
    var _10 = _this+364;
    IHEAP[_10] = 4;
    var _11 = _this+368;
    IHEAP[_11] = 0;
    var _12 = _this+376;
    IHEAP[_12] = 0;
    var _13 = _shapearg;
    var _14 = IHEAP[_13];
    var _15 = _shapearg+4;
    var _16 = IHEAP[_15];
    var _17 = _this;
    IHEAP[_17] = _14;
    var _18 = _this+4;
    IHEAP[_18] = _16;
    var _19 = _this+8;
    var _20 = _shapearg+8;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _this+8+4;
    var _23 = _shapearg+8+4;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    var _25 = _this+8+8;
    var _26 = _shapearg+8+8;
    var _27 = FHEAP[_26];
    FHEAP[_25] = _27;
    var _28 = _this+8+12;
    var _29 = _shapearg+8+12;
    var _30 = FHEAP[_29];
    FHEAP[_28] = _30;
    var _31 = _this+8+16;
    var _32 = _shapearg+8+16;
    var _33 = FHEAP[_32];
    FHEAP[_31] = _33;
    var _34 = _this+8+16+4;
    var _35 = _shapearg+8+16+4;
    var _36 = FHEAP[_35];
    FHEAP[_34] = _36;
    var _37 = _this+8+16+8;
    var _38 = _shapearg+8+16+8;
    var _39 = FHEAP[_38];
    FHEAP[_37] = _39;
    var _40 = _this+8+16+12;
    var _41 = _shapearg+8+16+12;
    var _42 = FHEAP[_41];
    FHEAP[_40] = _42;
    var _43 = _this+8+32;
    var _44 = _shapearg+8+32;
    var _45 = FHEAP[_44];
    FHEAP[_43] = _45;
    var _46 = _this+8+32+4;
    var _47 = _shapearg+8+32+4;
    var _48 = FHEAP[_47];
    FHEAP[_46] = _48;
    var _49 = _this+8+32+8;
    var _50 = _shapearg+8+32+8;
    var _51 = FHEAP[_50];
    FHEAP[_49] = _51;
    var _52 = _this+8+32+12;
    var _53 = _shapearg+8+32+12;
    var _54 = FHEAP[_53];
    FHEAP[_52] = _54;
    var _55 = _this+56;
    var _56 = _shapearg+56;
    var _57 = FHEAP[_56];
    FHEAP[_55] = _57;
    var _58 = _this+56+4;
    var _59 = _shapearg+56+4;
    var _60 = FHEAP[_59];
    FHEAP[_58] = _60;
    var _61 = _this+56+8;
    var _62 = _shapearg+56+8;
    var _63 = FHEAP[_62];
    FHEAP[_61] = _63;
    var _64 = _this+56+12;
    var _65 = _shapearg+56+12;
    var _66 = FHEAP[_65];
    FHEAP[_64] = _66;
    var _67 = _this+56+16;
    var _68 = _shapearg+56+16;
    var _69 = FHEAP[_68];
    FHEAP[_67] = _69;
    var _70 = _this+56+16+4;
    var _71 = _shapearg+56+16+4;
    var _72 = FHEAP[_71];
    FHEAP[_70] = _72;
    var _73 = _this+56+16+8;
    var _74 = _shapearg+56+16+8;
    var _75 = FHEAP[_74];
    FHEAP[_73] = _75;
    var _76 = _this+56+16+12;
    var _77 = _shapearg+56+16+12;
    var _78 = FHEAP[_77];
    FHEAP[_76] = _78;
    var _79 = _this+56+32;
    var _80 = _shapearg+56+32;
    var _81 = FHEAP[_80];
    FHEAP[_79] = _81;
    var _82 = _this+56+32+4;
    var _83 = _shapearg+56+32+4;
    var _84 = FHEAP[_83];
    FHEAP[_82] = _84;
    var _85 = _this+56+32+8;
    var _86 = _shapearg+56+32+8;
    var _87 = FHEAP[_86];
    FHEAP[_85] = _87;
    var _88 = _this+56+32+12;
    var _89 = _shapearg+56+32+12;
    var _90 = FHEAP[_89];
    FHEAP[_88] = _90;
    var _91 = _this+56+48;
    var _92 = _shapearg+56+48;
    var _93 = FHEAP[_92];
    FHEAP[_91] = _93;
    var _94 = _this+56+48+4;
    var _95 = _shapearg+56+48+4;
    var _96 = FHEAP[_95];
    FHEAP[_94] = _96;
    var _97 = _this+56+48+8;
    var _98 = _shapearg+56+48+8;
    var _99 = FHEAP[_98];
    FHEAP[_97] = _99;
    var _100 = _this+56+48+12;
    var _101 = _shapearg+56+48+12;
    var _102 = FHEAP[_101];
    FHEAP[_100] = _102;
    var _103 = _shapearg+120;
    var _104 = IHEAP[_103];
    var _105 = _shapearg+120+4;
    var _106 = IHEAP[_105];
    var _107 = _this+120;
    IHEAP[_107] = _104;
    var _108 = _this+120+4;
    IHEAP[_108] = _106;
    var _109 = _this+144;
    FHEAP[_109] = 0;
    var _110 = _this+148+32;
    IHEAP[_110] = 0;
    var _111 = _this+128;
    var _112 = _guess;
    var _113 = FHEAP[_112];
    FHEAP[_111] = _113;
    var _114 = _this+128+4;
    var _115 = _guess+4;
    var _116 = FHEAP[_115];
    FHEAP[_114] = _116;
    var _117 = _this+128+8;
    var _118 = _guess+8;
    var _119 = FHEAP[_118];
    FHEAP[_117] = _119;
    var _120 = _this+128+12;
    var _121 = _guess+12;
    var _122 = FHEAP[_121];
    FHEAP[_120] = _122;
    var _123 = _113 * _113;
    var _124 = _116 * _116;
    var _125 = _123 + _124;
    var _126 = _119 * _119;
    var _127 = _125 + _126;
    var _128 = _127 > 0;
    ;
    if (_128) {
      ;
      var _129 = 0 - _119;
      var _130 = 0 - _116;
      var _131 = 0 - _113;
      var _132 = _1;
      FHEAP[_132] = _131;
      var _133 = _1+4;
      FHEAP[_133] = _130;
      var _134 = _1+8;
      FHEAP[_134] = _129;
      var _135 = _1+12;
      FHEAP[_135] = 0;
      ;
    }
    else {
      ;
      var _136 = _1;
      FHEAP[_136] = 1;
      var _137 = _1+4;
      FHEAP[_137] = 0;
      var _138 = _1+8;
      FHEAP[_138] = 0;
      var _139 = _1+12;
      FHEAP[_139] = 0;
      ;
    }
    var _140 = _this+148+16;
    FHEAP[_140] = 0;
    IHEAP[_10] = 3;
    var _141 = _this+348+12;
    var _142 = IHEAP[_141];
    var _143 = _this+148;
    IHEAP[_143] = _142;
    IHEAP[_110] = 1;
    __ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(_this, _1, _142);
    FHEAP[_140] = 1;
    var _144 = IHEAP[_143];
    var _145 = _144+16;
    var _146 = FHEAP[_145];
    FHEAP[_111] = _146;
    var _147 = _144+16+4;
    var _148 = FHEAP[_147];
    FHEAP[_114] = _148;
    var _149 = _144+16+8;
    var _150 = FHEAP[_149];
    FHEAP[_117] = _150;
    var _151 = _144+16+12;
    var _152 = FHEAP[_151];
    FHEAP[_120] = _152;
    var _153 = _lastw+48;
    FHEAP[_153] = _146;
    var _154 = _lastw+48+4;
    FHEAP[_154] = _148;
    var _155 = _lastw+48+8;
    FHEAP[_155] = _150;
    var _156 = _lastw+48+12;
    FHEAP[_156] = _152;
    var _157 = _lastw+32;
    FHEAP[_157] = _146;
    var _158 = _lastw+32+4;
    FHEAP[_158] = _148;
    var _159 = _lastw+32+8;
    FHEAP[_159] = _150;
    var _160 = _lastw+32+12;
    FHEAP[_160] = _152;
    var _161 = _lastw+16;
    FHEAP[_161] = _146;
    var _162 = _lastw+16+4;
    FHEAP[_162] = _148;
    var _163 = _lastw+16+8;
    FHEAP[_163] = _150;
    var _164 = _lastw+16+12;
    FHEAP[_164] = _152;
    var _165 = _lastw;
    FHEAP[_165] = _146;
    var _166 = _lastw+4;
    FHEAP[_166] = _148;
    var _167 = _lastw+8;
    FHEAP[_167] = _150;
    var _168 = _lastw+12;
    FHEAP[_168] = _152;
    var _169 = _0;
    var _170 = _0+4;
    var _171 = _0+8;
    var _172 = _0+12;
    var _173 = _weights;
    __lastLabel__ = 82; ;
    _bb6$13524: while(1) { // _bb6
      var _174 = __lastLabel__ == 82 ? _150 : (__pre82);
      var _175 = __lastLabel__ == 82 ? _148 : (__pre81);
      var _176 = __lastLabel__ == 82 ? _146 : (__pre);
      var _177 = __lastLabel__ == 82 ? 0 : (_259);
      var _iterations_0 = __lastLabel__ == 82 ? 1 : (_phitmp);
      var _sqdist_1 = __lastLabel__ == 82 ? _127 : (_sqdist_0);
      var _clastw_0 = __lastLabel__ == 82 ? 1 : (_phitmp85);
      var _178 = IHEAP[_11];
      var _179 = 1 - _178;
      var _180 = _176 * _176;
      var _181 = _175 * _175;
      var _182 = _180 + _181;
      var _183 = _174 * _174;
      var _184 = _182 + _183;
      var _185 = _sqrtf(_184);
      var _186 = _185 < 0.00009999999747378752;
      if (_186) { __label__ = 2; /* _bb7 */ break _bb6$13524; }
      var _187 = 0 - _174;
      var _188 = 0 - _175;
      var _189 = 0 - _176;
      FHEAP[_169] = _189;
      FHEAP[_170] = _188;
      FHEAP[_171] = _187;
      FHEAP[_172] = 0;
      var _190 = _this+148+_178*36+32;
      var _191 = IHEAP[_190];
      var _192 = _this+148+_178*36+16+_191*4;
      FHEAP[_192] = 0;
      var _193 = IHEAP[_190];
      var _194 = IHEAP[_10];
      var _195 = _194 + -1;
      IHEAP[_10] = _195;
      var _196 = _this+348+_195*4;
      var _197 = IHEAP[_196];
      var _198 = _this+148+_178*36+_193*4;
      IHEAP[_198] = _197;
      var _199 = IHEAP[_190];
      var _200 = _this+148+_178*36+_199*4;
      var _201 = IHEAP[_200];
      var _202 = _199 + 1;
      IHEAP[_190] = _202;
      __ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(_this, _0, _201);
      var _203 = IHEAP[_190];
      var _204 = _203 + -1;
      var _205 = _this+148+_178*36+_204*4;
      var _206 = IHEAP[_205];
      var _207 = _206+16+8;
      var _208 = _206+16+4;
      var _209 = _206+16;
      __lastLabel__ = 148; ;
      _bb12$13527: while(1) { // _bb12
        var _226 = __lastLabel__ == 148 ? 0 : (_225);
        var _227 = unSign(_226, 32) < unSign(4, 32);
        if (!(_227)) { __label__ = 154; /* _bb16 */ break _bb12$13527; }
        var _scevgep68 = _lastw+_226*16+8;
        var _scevgep67 = _lastw+_226*16+4;
        var _scevgep66 = _lastw+_226*16;
        var _210 = FHEAP[_207];
        var _211 = FHEAP[_scevgep68];
        var _212 = _210 - _211;
        var _213 = FHEAP[_208];
        var _214 = FHEAP[_scevgep67];
        var _215 = _213 - _214;
        var _216 = FHEAP[_209];
        var _217 = FHEAP[_scevgep66];
        var _218 = _216 - _217;
        var _219 = _218 * _218;
        var _220 = _215 * _215;
        var _221 = _219 + _220;
        var _222 = _212 * _212;
        var _223 = _221 + _222;
        var _224 = _223 < 0.00009999999747378752;
        if (_224) { __label__ = 153; /* _bb15 */ break _bb6$13524; }
        var _225 = _226 + 1;
        __lastLabel__ = 292; __label__ = 3; /* _bb12 */ continue _bb12$13527;
      }
      var _237 = _lastw+_clastw_0*16;
      var _238 = FHEAP[_209];
      FHEAP[_237] = _238;
      var _239 = _lastw+_clastw_0*16+4;
      var _240 = FHEAP[_208];
      FHEAP[_239] = _240;
      var _241 = _lastw+_clastw_0*16+8;
      var _242 = FHEAP[_207];
      FHEAP[_241] = _242;
      var _243 = _lastw+_clastw_0*16+12;
      var _244 = _206+16+12;
      var _245 = FHEAP[_244];
      FHEAP[_243] = _245;
      var _246 = FHEAP[_111];
      var _247 = FHEAP[_209];
      var _248 = _246 * _247;
      var _249 = FHEAP[_114];
      var _250 = FHEAP[_208];
      var _251 = _249 * _250;
      var _252 = _248 + _251;
      var _253 = FHEAP[_117];
      var _254 = FHEAP[_207];
      var _255 = _253 * _254;
      var _256 = _252 + _255;
      var _257 = _256 / _185;
      var _258 = _257 > _177;
      var _259 = _258 ? _257 : _177;
      var _260 = _185 - _259;
      var _261 = _185 * -0.00009999999747378752;
      var _262 = _260 + _261;
      var _263 = _262 > 0;
      if (!(_263)) { __label__ = 4; /* _bb17 */ break _bb6$13524; }
      IHEAP[_mask] = 0;
      if (_203 == 2) {
        __lastLabel__ = 86; __label__ = 64; /* _bb19 */ 
      }
      else if (_203 == 3) {
        __lastLabel__ = 86; __label__ = 117; /* _bb20 */ 
      }
      else if (_203 == 4) {
        __lastLabel__ = 86; __label__ = 110; /* _bb21 */ 
      }
      else {
      __lastLabel__ = 86; __label__ = 5; /* _bb22 */ 
      }
      
      if (__label__ == 64) {
        var _273 = _this+148+_178*36+4;
        var _274 = IHEAP[_273];
        var _275 = _274+16;
        var _276 = _this+148+_178*36;
        var _277 = IHEAP[_276];
        var _278 = _277+16;
        var _279 = __ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_PfRj(_278, _275, _173, _mask);
        __lastLabel__ = 64; ;
      }
      else if (__label__ == 117) {
        var _280 = _this+148+_178*36+8;
        var _281 = IHEAP[_280];
        var _282 = _281+16;
        var _283 = _this+148+_178*36+4;
        var _284 = IHEAP[_283];
        var _285 = _284+16;
        var _286 = _this+148+_178*36;
        var _287 = IHEAP[_286];
        var _288 = _287+16;
        var _289 = __ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_PfRj(_288, _285, _282, _173, _mask);
        __lastLabel__ = 117; ;
      }
      else if (__label__ == 110) {
        var _290 = _this+148+_178*36+12;
        var _291 = IHEAP[_290];
        var _292 = _291+16;
        var _293 = _this+148+_178*36+8;
        var _294 = IHEAP[_293];
        var _295 = _294+16;
        var _296 = _this+148+_178*36+4;
        var _297 = IHEAP[_296];
        var _298 = _297+16;
        var _299 = _this+148+_178*36;
        var _300 = IHEAP[_299];
        var _301 = _300+16;
        var _302 = __ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_S3_PfRj(_301, _298, _295, _292, _173, _mask);
        __lastLabel__ = 110; ;
      }
      var _sqdist_0 = __lastLabel__ == 86 ? _sqdist_1 : (__lastLabel__ == 110 ? _302 : (__lastLabel__ == 117 ? _289 : (_279)));
      var _303 = _sqdist_0 < 0;
      if (_303) { __label__ = 91; /* _bb32 */ break _bb6$13524; }
      var _304 = _this+148+_179*36+32;
      IHEAP[_304] = 0;
      FHEAP[_111] = 0;
      FHEAP[_114] = 0;
      FHEAP[_117] = 0;
      FHEAP[_120] = 0;
      IHEAP[_11] = _179;
      var _305 = IHEAP[_190];
      var _306 = _305 == 0;
      var __pre83 = IHEAP[_mask];
      if (_306) { __lastLabel__ = 419; __label__ = 90; /* _bb30 */  } else { __lastLabel__ = 419; __label__ = 540; /* _bb25 */  }
      _bb30$_bb25$13539: while(1) { // _bb30,_bb25
        if (__label__ == 90) {
          var _339 = __lastLabel__ == 66 ? __pre83 : (__pre83);
          var _340 = _339 == 15;
          if (_340) { __label__ = 89; /* _bb31 */ break _bb30$_bb25$13539; } else { __label__ = 422; /* _bb33 */ break _bb30$_bb25$13539; }
        }
        else if (__label__ == 540) {
          var _307 = __lastLabel__ == 66 ? _338 : (0);
          var _scevgep70 = _this+148+_178*36+_307*4;
          var _308 = 1 << _307;
          var _309 = __pre83 & _308;
          var _310 = _309 == 0;
          ;
          if (_310) {
            ;
            var _334 = IHEAP[_10];
            var _335 = IHEAP[_scevgep70];
            var _336 = _this+348+_334*4;
            IHEAP[_336] = _335;
            var _337 = _334 + 1;
            IHEAP[_10] = _337;
            ;
          }
          else {
            ;
            var _scevgep69 = _weights+_307*4;
            var _311 = IHEAP[_304];
            var _312 = IHEAP[_scevgep70];
            var _313 = _this+148+_179*36+_311*4;
            IHEAP[_313] = _312;
            var _314 = IHEAP[_304];
            var _315 = FHEAP[_scevgep69];
            var _316 = _this+148+_179*36+16+_314*4;
            FHEAP[_316] = _315;
            var _317 = _314 + 1;
            IHEAP[_304] = _317;
            var _318 = IHEAP[_scevgep70];
            var _319 = _318+16+8;
            var _320 = FHEAP[_319];
            var _321 = _320 * _315;
            var _322 = _318+16+4;
            var _323 = FHEAP[_322];
            var _324 = _323 * _315;
            var _325 = _318+16;
            var _326 = FHEAP[_325];
            var _327 = _326 * _315;
            var _328 = FHEAP[_111];
            var _329 = _328 + _327;
            FHEAP[_111] = _329;
            var _330 = FHEAP[_114];
            var _331 = _330 + _324;
            FHEAP[_114] = _331;
            var _332 = FHEAP[_117];
            var _333 = _332 + _321;
            FHEAP[_117] = _333;
            ;
          }
          var _338 = _307 + 1;
          var _exitcond = _338 == _305;
          if (_exitcond) { __lastLabel__ = 66; __label__ = 90; /* _bb30 */ continue _bb30$_bb25$13539; } else { __lastLabel__ = 66; __label__ = 540; /* _bb25 */ continue _bb30$_bb25$13539; }
        }
      }
      if (__label__ == 89) {
        IHEAP[_12] = 1;
        ;
      }
      var _350 = unSign(_iterations_0, 32) < unSign(128, 32);
      if (!(_350)) { __label__ = 2483; /* _bb36_thread */ break _bb6$13524; }
      var _351 = IHEAP[_12];
      var _352 = _351 == 0;
      if (!(_352)) { __label__ = 2485; /* _bb37_loopexit */ break _bb6$13524; }
      var __pre = FHEAP[_111];
      var __pre81 = FHEAP[_114];
      var __pre82 = FHEAP[_117];
      var _phitmp = _iterations_0 + 1;
      var _phitmp84 = _clastw_0 + 1;
      var _phitmp85 = _phitmp84 & 3;
      __lastLabel__ = 2484; __label__ = 83; /* _bb6 */ continue _bb6$13524;
    }
    if (__label__ == 2) {
      _alpha = _177;
      IHEAP[_12] = 1;
      ;
    }
    else if (__label__ == 153) {
      _alpha = _177;
      var _228 = IHEAP[_11];
      var _229 = IHEAP[_10];
      var _230 = _this+148+_228*36+32;
      var _231 = IHEAP[_230];
      var _232 = _231 + -1;
      IHEAP[_230] = _232;
      var _233 = _this+148+_228*36+_232*4;
      var _234 = IHEAP[_233];
      var _235 = _this+348+_229*4;
      IHEAP[_235] = _234;
      var _236 = _229 + 1;
      IHEAP[_10] = _236;
      ;
    }
    else if (__label__ == 4) {
      _alpha = _259;
      var _264 = IHEAP[_11];
      var _265 = IHEAP[_10];
      var _266 = _this+148+_264*36+32;
      var _267 = IHEAP[_266];
      var _268 = _267 + -1;
      IHEAP[_266] = _268;
      var _269 = _this+148+_264*36+_268*4;
      var _270 = IHEAP[_269];
      var _271 = _this+348+_265*4;
      IHEAP[_271] = _270;
      var _272 = _265 + 1;
      IHEAP[_10] = _272;
      ;
    }
    else if (__label__ == 91) {
      _alpha = _259;
      var _341 = IHEAP[_11];
      var _342 = IHEAP[_10];
      var _343 = _this+148+_341*36+32;
      var _344 = IHEAP[_343];
      var _345 = _344 + -1;
      IHEAP[_343] = _345;
      var _346 = _this+148+_341*36+_345*4;
      var _347 = IHEAP[_346];
      var _348 = _this+348+_342*4;
      IHEAP[_348] = _347;
      var _349 = _342 + 1;
      IHEAP[_10] = _349;
      ;
    }
    else if (__label__ == 2483) {
      _alpha = _259;
      IHEAP[_12] = 2;
      ;
    }
    else if (__label__ == 2485) {
      _alpha = _259;
      ;
    }
    var _353 = IHEAP[_11];
    var _354 = _this+148+_353*36;
    var _355 = _this+372;
    IHEAP[_355] = _354;
    var _356 = IHEAP[_12];
    if (_356 == 0) {
      __label__ = 68; /* _bb38 */ 
    }
    else if (_356 == 1) {
      __label__ = 971; /* _bb39 */ 
    }
    else {
    __label__ = 1015; /* _bb40 */ 
    }
    
    if (__label__ == 1015) {
      STACKTOP = __stackBase__;
      return _356;
    }
    else if (__label__ == 68) {
      var _357 = FHEAP[_111];
      var _358 = _357 * _357;
      var _359 = FHEAP[_114];
      var _360 = _359 * _359;
      var _361 = _358 + _360;
      var _362 = FHEAP[_117];
      var _363 = _362 * _362;
      var _364 = _361 + _363;
      var _365 = _sqrtf(_364);
      FHEAP[_109] = _365;
      STACKTOP = __stackBase__;
      return _356;
    }
    else if (__label__ == 971) {
      FHEAP[_109] = 0;
      STACKTOP = __stackBase__;
      return _356;
    }
  }
  __ZN12gjkepa2_impl3GJK8EvaluateERKNS_13MinkowskiDiffERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN12gjkepa2_impl3GJK8EvaluateERKNS_13MinkowskiDiffERK9btVector3, "__ZN12gjkepa2_impl3GJK8EvaluateERKNS_13MinkowskiDiffERK9btVector3");
  
  
  function __ZN12gjkepa2_impl3EPA7newfaceEPNS_3GJK3sSVES3_S3_b(_this, _a, _b, _c, _forced) {
    ;
    var __label__;
    var _0 = _this+10312;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    if (_2) {
      ;
      var _179 = _this;
      IHEAP[_179] = 5;
      ;
      return 0;
    }
    else {
      ;
      var _3 = _1+48+4;
      var _4 = IHEAP[_3];
      var _5 = _4 == 0;
      ;
      if (!_5) {
        ;
        var _6 = _1+48;
        var _7 = IHEAP[_6];
        var _8 = _4+48;
        IHEAP[_8] = _7;
        ;
      }
      var _9 = _1+48;
      var _10 = IHEAP[_9];
      var _11 = _10 == 0;
      ;
      if (!_11) {
        ;
        var _12 = IHEAP[_3];
        var _13 = _10+48+4;
        IHEAP[_13] = _12;
        ;
      }
      var _14 = IHEAP[_0];
      var _15 = _14 == _1;
      ;
      if (_15) {
        ;
        var _16 = IHEAP[_3];
        IHEAP[_0] = _16;
        ;
      }
      var _17 = _this+10312+4;
      var _18 = IHEAP[_17];
      var _19 = _18 + -1;
      IHEAP[_17] = _19;
      IHEAP[_9] = 0;
      var _20 = _this+10304;
      var _21 = IHEAP[_20];
      IHEAP[_3] = _21;
      var _22 = IHEAP[_20];
      var _23 = _22 == 0;
      ;
      if (!_23) {
        ;
        var _24 = _22+48;
        IHEAP[_24] = _1;
        ;
      }
      IHEAP[_20] = _1;
      var _25 = _this+10304+4;
      var _26 = IHEAP[_25];
      var _27 = _26 + 1;
      IHEAP[_25] = _27;
      var _28 = _1+60;
      IHEAP[_28] = 0;
      var _29 = _1+24;
      IHEAP[_29] = _a;
      var _30 = _1+24+4;
      IHEAP[_30] = _b;
      var _31 = _1+24+8;
      IHEAP[_31] = _c;
      var _32 = _c+16+8;
      var _33 = FHEAP[_32];
      var _34 = _a+16+8;
      var _35 = FHEAP[_34];
      var _36 = _33 - _35;
      var _37 = _c+16+4;
      var _38 = FHEAP[_37];
      var _39 = _a+16+4;
      var _40 = FHEAP[_39];
      var _41 = _38 - _40;
      var _42 = _c+16;
      var _43 = FHEAP[_42];
      var _44 = _a+16;
      var _45 = FHEAP[_44];
      var _46 = _43 - _45;
      var _47 = _b+16+8;
      var _48 = FHEAP[_47];
      var _49 = _48 - _35;
      var _50 = _b+16+4;
      var _51 = FHEAP[_50];
      var _52 = _51 - _40;
      var _53 = _b+16;
      var _54 = FHEAP[_53];
      var _55 = _54 - _45;
      var _56 = _55 * _41;
      var _57 = _52 * _46;
      var _58 = _56 - _57;
      var _59 = _49 * _46;
      var _60 = _55 * _36;
      var _61 = _59 - _60;
      var _62 = _52 * _36;
      var _63 = _49 * _41;
      var _64 = _62 - _63;
      var _65 = _1;
      FHEAP[_65] = _64;
      var _66 = _1+4;
      FHEAP[_66] = _61;
      var _67 = _1+8;
      FHEAP[_67] = _58;
      var _68 = _1+12;
      FHEAP[_68] = 0;
      var _69 = _64 * _64;
      var _70 = _61 * _61;
      var _71 = _69 + _70;
      var _72 = _58 * _58;
      var _73 = _71 + _72;
      var _74 = _sqrtf(_73);
      var _75 = _74 > 0.00009999999747378752;
      var _76 = FHEAP[_32];
      var _77 = FHEAP[_34];
      var _78 = _76 - _77;
      var _79 = FHEAP[_37];
      var _80 = FHEAP[_39];
      var _81 = _79 - _80;
      var _82 = FHEAP[_42];
      var _83 = FHEAP[_44];
      var _84 = _82 - _83;
      var _85 = _64 * _81;
      var _86 = _61 * _84;
      var _87 = _85 - _86;
      var _88 = _58 * _84;
      var _89 = _64 * _78;
      var _90 = _88 - _89;
      var _91 = _61 * _78;
      var _92 = _58 * _81;
      var _93 = _91 - _92;
      var _94 = _82 * _93;
      var _95 = _79 * _90;
      var _96 = _94 + _95;
      var _97 = _76 * _87;
      var _98 = _96 + _97;
      var _99 = FHEAP[_47];
      var _100 = _99 - _76;
      var _101 = FHEAP[_50];
      var _102 = _101 - _79;
      var _103 = FHEAP[_53];
      var _104 = _103 - _82;
      var _105 = _64 * _102;
      var _106 = _61 * _104;
      var _107 = _105 - _106;
      var _108 = _58 * _104;
      var _109 = _64 * _100;
      var _110 = _108 - _109;
      var _111 = _61 * _100;
      var _112 = _58 * _102;
      var _113 = _111 - _112;
      var _114 = _103 * _113;
      var _115 = _101 * _110;
      var _116 = _114 + _115;
      var _117 = _99 * _107;
      var _118 = _116 + _117;
      var _119 = _77 - _99;
      var _120 = _80 - _101;
      var _121 = _83 - _103;
      var _122 = _64 * _120;
      var _123 = _61 * _121;
      var _124 = _122 - _123;
      var _125 = _58 * _121;
      var _126 = _64 * _119;
      var _127 = _125 - _126;
      var _128 = _61 * _119;
      var _129 = _58 * _120;
      var _130 = _128 - _129;
      var _131 = _83 * _130;
      var _132 = _80 * _127;
      var _133 = _131 + _132;
      var _134 = _77 * _124;
      var _135 = _133 + _134;
      var _136 = _135 < _118;
      var _137 = _136 ? _135 : _118;
      var _138 = _137 < _98;
      var _139 = _138 ? _137 : _98;
      var _iftmp_214_0 = _75 ? _74 : 1;
      var _140 = _139 / _iftmp_214_0;
      var _141 = _1+20;
      FHEAP[_141] = _140;
      var _142 = _140 < -0.009999999776482582;
      var _iftmp_215_0 = _142 ? _140 : 0;
      FHEAP[_141] = _iftmp_215_0;
      ;
      if (_75) {
        ;
        var _143 = FHEAP[_44];
        var _144 = _143 * _64;
        var _145 = FHEAP[_39];
        var _146 = _145 * _61;
        var _147 = _144 + _146;
        var _148 = FHEAP[_34];
        var _149 = _148 * _58;
        var _150 = _147 + _149;
        var _151 = _150 / _74;
        var _152 = _1+16;
        FHEAP[_152] = _151;
        var _153 = 1 / _74;
        var _154 = _64 * _153;
        FHEAP[_65] = _154;
        var _155 = _61 * _153;
        FHEAP[_66] = _155;
        var _156 = _58 * _153;
        FHEAP[_67] = _156;
        var _toBool9 = _forced == 0;
        var _157 = _151 < -0.000009999999747378752;
        var _or_cond = _toBool9 & _157;
        ;
        if (_or_cond) {
          ;
          var _158 = _this;
          IHEAP[_158] = 3;
          ;
        }
        else {
          ;
          ;
          return _1;
        }
      }
      else {
        ;
        var _159 = _this;
        IHEAP[_159] = 2;
        ;
      }
      var _160 = IHEAP[_3];
      var _161 = _160 == 0;
      ;
      if (!_161) {
        ;
        var _162 = IHEAP[_9];
        var _163 = _160+48;
        IHEAP[_163] = _162;
        ;
      }
      var _164 = IHEAP[_9];
      var _165 = _164 == 0;
      ;
      if (!_165) {
        ;
        var _166 = IHEAP[_3];
        var _167 = _164+48+4;
        IHEAP[_167] = _166;
        ;
      }
      var _168 = IHEAP[_20];
      var _169 = _168 == _1;
      ;
      if (_169) {
        ;
        var _170 = IHEAP[_3];
        IHEAP[_20] = _170;
        ;
      }
      var _171 = IHEAP[_25];
      var _172 = _171 + -1;
      IHEAP[_25] = _172;
      IHEAP[_9] = 0;
      var _173 = IHEAP[_0];
      IHEAP[_3] = _173;
      var _174 = IHEAP[_0];
      var _175 = _174 == 0;
      ;
      if (!_175) {
        ;
        var _176 = _174+48;
        IHEAP[_176] = _1;
        ;
      }
      IHEAP[_0] = _1;
      var _177 = IHEAP[_17];
      var _178 = _177 + 1;
      IHEAP[_17] = _178;
      ;
      return 0;
    }
  }
  __ZN12gjkepa2_impl3EPA7newfaceEPNS_3GJK3sSVES3_S3_b.__index__ = Runtime.getFunctionIndex(__ZN12gjkepa2_impl3EPA7newfaceEPNS_3GJK3sSVES3_S3_b, "__ZN12gjkepa2_impl3EPA7newfaceEPNS_3GJK3sSVES3_S3_b");
  
  
  function __ZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonE(_this, _pass, _w, _f, _e, _horizon) {
    ;
    var __label__;
    var _0 = _f+60;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = _2 == _pass;
    ;
    _bb17$_bb$13600: do { 
      if (!_3) {
        ;
        var _4 = __ZZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonEE4i1m3+_e*4;
        var _5 = IHEAP[_4];
        var _6 = _f;
        var _7 = FHEAP[_6];
        var _8 = _w+16;
        var _9 = FHEAP[_8];
        var _10 = _7 * _9;
        var _11 = _f+4;
        var _12 = FHEAP[_11];
        var _13 = _w+16+4;
        var _14 = FHEAP[_13];
        var _15 = _12 * _14;
        var _16 = _10 + _15;
        var _17 = _f+8;
        var _18 = FHEAP[_17];
        var _19 = _w+16+8;
        var _20 = FHEAP[_19];
        var _21 = _18 * _20;
        var _22 = _16 + _21;
        var _23 = _f+16;
        var _24 = FHEAP[_23];
        var _25 = _22 - _24;
        var _26 = _25 < -0.000009999999747378752;
        ;
        if (_26) {
          ;
          var _27 = _f+24+_e*4;
          var _28 = IHEAP[_27];
          var _29 = _f+24+_5*4;
          var _30 = IHEAP[_29];
          var _31 = __ZN12gjkepa2_impl3EPA7newfaceEPNS_3GJK3sSVES3_S3_b(_this, _30, _28, _w, 0);
          var _32 = _31 == 0;
          if (_32) { __label__ = 4; /* _bb17 */ break _bb17$_bb$13600; }
          var _33 = _e;
          var _34 = _31+57;
          IHEAP[_34] = _33;
          var _35 = _31+36;
          IHEAP[_35] = _f;
          var _36 = _f+57+_e;
          IHEAP[_36] = 0;
          var _37 = _f+36+_e*4;
          IHEAP[_37] = _31;
          var _38 = _horizon;
          var _39 = IHEAP[_38];
          var _40 = _39 == 0;
          ;
          if (_40) {
            ;
            var _45 = _horizon+4;
            IHEAP[_45] = _31;
            ;
          }
          else {
            ;
            var _41 = _39+57+1;
            IHEAP[_41] = 2;
            var _42 = _39+36+4;
            IHEAP[_42] = _31;
            var _43 = _31+57+2;
            IHEAP[_43] = 1;
            var _44 = _31+36+8;
            IHEAP[_44] = _39;
            ;
          }
          IHEAP[_38] = _31;
          var _46 = _horizon+8;
          var _47 = IHEAP[_46];
          var _48 = _47 + 1;
          IHEAP[_46] = _48;
          ;
          return 1;
        }
        else {
          ;
          var _49 = __ZZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonEE4i2m3+_e*4;
          var _50 = IHEAP[_49];
          var _51 = _pass;
          IHEAP[_0] = _51;
          var _52 = _f+57+_5;
          var _53 = IHEAP[_52];
          var _54 = _53;
          var _55 = _f+36+_5*4;
          var _56 = IHEAP[_55];
          var _57 = __ZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonE(_this, _pass, _w, _56, _54, _horizon);
          var _toBool7not = _57 == 0;
          if (_toBool7not) { __label__ = 4; /* _bb17 */ break _bb17$_bb$13600; }
          var _58 = _f+57+_50;
          var _59 = IHEAP[_58];
          var _60 = _59;
          var _61 = _f+36+_50*4;
          var _62 = IHEAP[_61];
          var _63 = __ZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonE(_this, _pass, _w, _62, _60, _horizon);
          var _toBool12not = _63 == 0;
          if (_toBool12not) { __label__ = 4; /* _bb17 */ break _bb17$_bb$13600; }
          var _64 = _f+48+4;
          var _65 = IHEAP[_64];
          var _66 = _65 == 0;
          ;
          if (!_66) {
            ;
            var _67 = _f+48;
            var _68 = IHEAP[_67];
            var _69 = _65+48;
            IHEAP[_69] = _68;
            ;
          }
          var _70 = _f+48;
          var _71 = IHEAP[_70];
          var _72 = _71 == 0;
          ;
          if (!_72) {
            ;
            var _73 = IHEAP[_64];
            var _74 = _71+48+4;
            IHEAP[_74] = _73;
            ;
          }
          var _75 = _this+10304;
          var _76 = IHEAP[_75];
          var _77 = _76 == _f;
          ;
          if (_77) {
            ;
            var _78 = IHEAP[_64];
            IHEAP[_75] = _78;
            ;
          }
          var _79 = _this+10304+4;
          var _80 = IHEAP[_79];
          var _81 = _80 + -1;
          IHEAP[_79] = _81;
          IHEAP[_70] = 0;
          var _82 = _this+10312;
          var _83 = IHEAP[_82];
          IHEAP[_64] = _83;
          var _84 = IHEAP[_82];
          var _85 = _84 == 0;
          ;
          if (!_85) {
            ;
            var _86 = _84+48;
            IHEAP[_86] = _f;
            ;
          }
          IHEAP[_82] = _f;
          var _87 = _this+10312+4;
          var _88 = IHEAP[_87];
          var _89 = _88 + 1;
          IHEAP[_87] = _89;
          ;
          return 1;
        }
      }
    } while(0);
    ;
    return 0;
  }
  __ZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonE.__index__ = Runtime.getFunctionIndex(__ZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonE, "__ZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonE");
  
  
  function __ZN12gjkepa2_impl3EPA8EvaluateERNS_3GJKERK9btVector3(_this, _gjk, _guess) {
    var __stackBase__  = STACKTOP; STACKTOP += 12;
    var __label__;
    var __lastLabel__ = null;
    var _horizon = __stackBase__;
    var _0 = _gjk+372;
    var _1 = IHEAP[_0];
    var _2 = _1+32;
    var _3 = IHEAP[_2];
    var _4 = unSign(_3, 32) < unSign(2, 32);
    ;
    _bb38$_bb$13626: do { 
      if (!_4) {
        ;
        var _5 = __ZN12gjkepa2_impl3GJK13EncloseOriginEv(_gjk);
        var _toBoolnot = _5 == 0;
        if (_toBoolnot) { __label__ = 68; /* _bb38 */ break _bb38$_bb$13626; }
        var _6 = _this+10304;
        var _7 = IHEAP[_6];
        var _8 = _7 == 0;
        ;
        _bb10$_bb_nph231$13629: do { 
          if (!_8) {
            ;
            var _9 = _this+10304+4;
            var _10 = _this+10312;
            var _11 = _this+10312+4;
            __lastLabel__ = 904; ;
            _bb8$13631: while(1) { // _bb8
              var _12 = __lastLabel__ == 904 ? _7 : (_35);
              var _13 = _12+48+4;
              var _14 = IHEAP[_13];
              var _15 = _14 == 0;
              ;
              if (!_15) {
                ;
                var _16 = _12+48;
                var _17 = IHEAP[_16];
                var _18 = _14+48;
                IHEAP[_18] = _17;
                ;
              }
              var _19 = _12+48;
              var _20 = IHEAP[_19];
              var _21 = _20 == 0;
              ;
              if (!_21) {
                ;
                var _22 = IHEAP[_13];
                var _23 = _20+48+4;
                IHEAP[_23] = _22;
                ;
              }
              var _24 = IHEAP[_6];
              var _25 = _24 == _12;
              ;
              if (_25) {
                ;
                var _26 = IHEAP[_13];
                IHEAP[_6] = _26;
                ;
              }
              var _27 = IHEAP[_9];
              var _28 = _27 + -1;
              IHEAP[_9] = _28;
              IHEAP[_19] = 0;
              var _29 = IHEAP[_10];
              IHEAP[_13] = _29;
              var _30 = IHEAP[_10];
              var _31 = _30 == 0;
              ;
              if (!_31) {
                ;
                var _32 = _30+48;
                IHEAP[_32] = _12;
                ;
              }
              IHEAP[_10] = _12;
              var _33 = IHEAP[_11];
              var _34 = _33 + 1;
              IHEAP[_11] = _34;
              var _35 = IHEAP[_6];
              var _36 = _35 == 0;
              if (_36) { __lastLabel__ = 2504; __label__ = 150; /* _bb10 */ break _bb10$_bb_nph231$13629; } else { __lastLabel__ = 2504; __label__ = 148; /* _bb8 */ continue _bb8$13631; }
            }
          }
        } while(0);
        var _37 = _this;
        IHEAP[_37] = 0;
        var _38 = _this+10300;
        IHEAP[_38] = 0;
        var _39 = _1+12;
        var _40 = IHEAP[_39];
        var _41 = _1+8;
        var _42 = IHEAP[_41];
        var _43 = _42+16+8;
        var _44 = FHEAP[_43];
        var _45 = _40+16+8;
        var _46 = FHEAP[_45];
        var _47 = _44 - _46;
        var _48 = _42+16+4;
        var _49 = FHEAP[_48];
        var _50 = _40+16+4;
        var _51 = FHEAP[_50];
        var _52 = _49 - _51;
        var _53 = _42+16;
        var _54 = FHEAP[_53];
        var _55 = _40+16;
        var _56 = FHEAP[_55];
        var _57 = _54 - _56;
        var _58 = _1+4;
        var _59 = IHEAP[_58];
        var _60 = _59+16+8;
        var _61 = FHEAP[_60];
        var _62 = _61 - _46;
        var _63 = _59+16+4;
        var _64 = FHEAP[_63];
        var _65 = _64 - _51;
        var _66 = _59+16;
        var _67 = FHEAP[_66];
        var _68 = _67 - _56;
        var _69 = _1;
        var _70 = IHEAP[_69];
        var _71 = _70+16+8;
        var _72 = FHEAP[_71];
        var _73 = _72 - _46;
        var _74 = _70+16+4;
        var _75 = FHEAP[_74];
        var _76 = _75 - _51;
        var _77 = _70+16;
        var _78 = FHEAP[_77];
        var _79 = _78 - _56;
        var _80 = _76 * _62;
        var _81 = _80 * _57;
        var _82 = _73 * _68;
        var _83 = _82 * _52;
        var _84 = _81 + _83;
        var _85 = _79 * _62;
        var _86 = _85 * _52;
        var _87 = _84 - _86;
        var _88 = _76 * _68;
        var _89 = _88 * _47;
        var _90 = _87 - _89;
        var _91 = _79 * _65;
        var _92 = _91 * _47;
        var _93 = _90 + _92;
        var _94 = _73 * _65;
        var _95 = _94 * _57;
        var _96 = _93 - _95;
        var _97 = _96 < 0;
        ;
        if (_97) {
          __lastLabel__ = 150; ;
          IHEAP[_69] = _59;
          IHEAP[_58] = _70;
          var _98 = _1+16+4;
          var _99 = _1+16;
          var _100 = FHEAP[_99];
          var _101 = FHEAP[_98];
          FHEAP[_99] = _101;
          FHEAP[_98] = _100;
          __lastLabel__ = 3; ;
        }
        else {
          __lastLabel__ = 150; ;
        }
        var _102 = __lastLabel__ == 3 ? _59 : (_70);
        var _103 = __lastLabel__ == 3 ? _70 : (_59);
        var _104 = __ZN12gjkepa2_impl3EPA7newfaceEPNS_3GJK3sSVES3_S3_b(_this, _102, _103, _42, 1);
        var _105 = IHEAP[_39];
        var _106 = IHEAP[_69];
        var _107 = IHEAP[_58];
        var _108 = __ZN12gjkepa2_impl3EPA7newfaceEPNS_3GJK3sSVES3_S3_b(_this, _107, _106, _105, 1);
        var _109 = IHEAP[_39];
        var _110 = IHEAP[_58];
        var _111 = IHEAP[_41];
        var _112 = __ZN12gjkepa2_impl3EPA7newfaceEPNS_3GJK3sSVES3_S3_b(_this, _111, _110, _109, 1);
        var _113 = IHEAP[_39];
        var _114 = IHEAP[_41];
        var _115 = IHEAP[_69];
        var _116 = __ZN12gjkepa2_impl3EPA7newfaceEPNS_3GJK3sSVES3_S3_b(_this, _115, _114, _113, 1);
        var _117 = _this+10304+4;
        var _118 = IHEAP[_117];
        var _119 = _118 == 4;
        if (!(_119)) { __label__ = 68; /* _bb38 */ break _bb38$_bb$13626; }
        var _120 = IHEAP[_6];
        var _121 = _120+16;
        var _122 = FHEAP[_121];
        var _123 = _122 * _122;
        var _maxp_1_ph_in_phi_trans_insert_i58 = _120+20;
        var _maxp_1_ph_pre_i59 = FHEAP[_maxp_1_ph_in_phi_trans_insert_i58];
        __lastLabel__ = 63; ;
        _bb4_outer_i66$13650: while(1) { // _bb4_outer_i66
          var _maxp_1_ph_i63 = __lastLabel__ == 63 ? _maxp_1_ph_pre_i59 : (_128);
          var _minf_1_ph_i64 = __lastLabel__ == 63 ? _120 : (_f_0_i69);
          var _mind_1_ph_i65 = __lastLabel__ == 63 ? _123 : (_126);
          __lastLabel__ = 2506; ;
          _bb4_i70$13652: while(1) { // _bb4_i70
            var __pn_i67 = __lastLabel__ == 2507 ? _f_0_i69 : (_minf_1_ph_i64);
            var _f_0_in_i68 = __pn_i67+48+4;
            var _f_0_i69 = IHEAP[_f_0_in_i68];
            var _130 = _f_0_i69 == 0;
            if (_130) { __label__ = 2509; /* __ZN12gjkepa2_impl3EPA8findbestEv_exit71 */ break _bb4_outer_i66$13650; }
            var _124 = _f_0_i69+16;
            var _125 = FHEAP[_124];
            var _126 = _125 * _125;
            var _127 = _f_0_i69+20;
            var _128 = FHEAP[_127];
            var __not_i60 = _128 >= _maxp_1_ph_i63;
            var _129 = _126 < _mind_1_ph_i65;
            var _or_cond_i61 = __not_i60 & _129;
            if (_or_cond_i61) { __lastLabel__ = 2507; __label__ = 2506; /* _bb4_outer_i66 */ continue _bb4_outer_i66$13650; } else { __lastLabel__ = 2507; __label__ = 2508; /* _bb4_i70 */ continue _bb4_i70$13652; }
          }
        }
        var _minf_1_ph_i64146_0 = _minf_1_ph_i64;
        var _tmp147 = FHEAP[_minf_1_ph_i64146_0];
        var _minf_1_ph_i64146_1 = _minf_1_ph_i64+4;
        var _tmp148 = FHEAP[_minf_1_ph_i64146_1];
        var _minf_1_ph_i64146_2 = _minf_1_ph_i64+8;
        var _tmp149 = FHEAP[_minf_1_ph_i64146_2];
        var _minf_1_ph_i64146_3 = _minf_1_ph_i64+12;
        var _tmp150 = FHEAP[_minf_1_ph_i64146_3];
        var _minf_1_ph_i64_1 = _minf_1_ph_i64+16;
        var _tmp101 = FHEAP[_minf_1_ph_i64_1];
        var _minf_1_ph_i64_2 = _minf_1_ph_i64+20;
        var _tmp102 = FHEAP[_minf_1_ph_i64_2];
        var _minf_1_ph_i64_3_0 = _minf_1_ph_i64+24;
        var _tmp128 = IHEAP[_minf_1_ph_i64_3_0];
        var _minf_1_ph_i64_3_1 = _minf_1_ph_i64+24+4;
        var _tmp129 = IHEAP[_minf_1_ph_i64_3_1];
        var _minf_1_ph_i64_3_2 = _minf_1_ph_i64+24+8;
        var _tmp130 = IHEAP[_minf_1_ph_i64_3_2];
        var _131 = _104+57;
        IHEAP[_131] = 0;
        var _132 = _104+36;
        IHEAP[_132] = _108;
        var _133 = _108+57;
        IHEAP[_133] = 0;
        var _134 = _108+36;
        IHEAP[_134] = _104;
        var _135 = _104+57+1;
        IHEAP[_135] = 0;
        var _136 = _104+36+4;
        IHEAP[_136] = _112;
        var _137 = _112+57;
        IHEAP[_137] = 1;
        var _138 = _112+36;
        IHEAP[_138] = _104;
        var _139 = _104+57+2;
        IHEAP[_139] = 0;
        var _140 = _104+36+8;
        IHEAP[_140] = _116;
        var _141 = _116+57;
        IHEAP[_141] = 2;
        var _142 = _116+36;
        IHEAP[_142] = _104;
        var _143 = _108+57+1;
        IHEAP[_143] = 2;
        var _144 = _108+36+4;
        IHEAP[_144] = _116;
        var _145 = _116+57+2;
        IHEAP[_145] = 1;
        var _146 = _116+36+8;
        IHEAP[_146] = _108;
        var _147 = _108+57+2;
        IHEAP[_147] = 1;
        var _148 = _108+36+8;
        IHEAP[_148] = _112;
        var _149 = _112+57+1;
        IHEAP[_149] = 2;
        var _150 = _112+36+4;
        IHEAP[_150] = _108;
        var _151 = _112+57+2;
        IHEAP[_151] = 1;
        var _152 = _112+36+8;
        IHEAP[_152] = _116;
        var _153 = _116+57+1;
        IHEAP[_153] = 2;
        var _154 = _116+36+4;
        IHEAP[_154] = _112;
        IHEAP[_37] = 0;
        var _155 = _horizon;
        var _156 = _horizon+4;
        var _157 = _horizon+8;
        var _158 = _this+10312;
        var _159 = _this+10312+4;
        __lastLabel__ = 2509; ;
        _bb36$13656: while(1) { // _bb36
          var _outer_0_0_0_1 = __lastLabel__ == 2509 ? _tmp147 : (__lastLabel__ == 2517 ? _outer_0_0_0_1 : (_tmp142));
          var _outer_0_0_1_1 = __lastLabel__ == 2509 ? _tmp148 : (__lastLabel__ == 2517 ? _outer_0_0_1_1 : (_tmp143));
          var _outer_0_0_2_1 = __lastLabel__ == 2509 ? _tmp149 : (__lastLabel__ == 2517 ? _outer_0_0_2_1 : (_tmp144));
          var _outer_0_0_3_1 = __lastLabel__ == 2509 ? _tmp150 : (__lastLabel__ == 2517 ? _outer_0_0_3_1 : (_tmp145));
          var _outer_1_1 = __lastLabel__ == 2509 ? _tmp101 : (__lastLabel__ == 2517 ? _outer_1_1 : (_tmp));
          var _outer_2_1 = __lastLabel__ == 2509 ? _tmp102 : (__lastLabel__ == 2517 ? _outer_2_1 : (_236));
          var _outer_3_0_1 = __lastLabel__ == 2509 ? _tmp128 : (__lastLabel__ == 2517 ? _outer_3_0_1 : (_tmp131));
          var _outer_3_1_1 = __lastLabel__ == 2509 ? _tmp129 : (__lastLabel__ == 2517 ? _outer_3_1_1 : (_tmp132));
          var _outer_3_2_1 = __lastLabel__ == 2509 ? _tmp130 : (__lastLabel__ == 2517 ? _outer_3_2_1 : (_tmp133));
          var _best_0 = __lastLabel__ == 2509 ? _minf_1_ph_i64 : (__lastLabel__ == 2517 ? _minf_1_ph_i : (_minf_1_ph_i));
          var _238 = __lastLabel__ == 2509 ? 0 : (__lastLabel__ == 2517 ? _pass_0 : (_pass_0));
          var _pass_0 = _238 + 1;
          var _tmp271 = _pass_0;
          var _239 = unSign(_238, 32) < unSign(255, 32);
          if (!(_239)) { __label__ = 2485; /* _bb37_loopexit */ break _bb36$13656; }
          var _160 = IHEAP[_38];
          var _161 = unSign(_160, 32) < unSign(64, 32);
          if (!(_161)) { __label__ = 250; /* _bb34 */ break _bb36$13656; }
          IHEAP[_155] = 0;
          IHEAP[_156] = 0;
          IHEAP[_157] = 0;
          var _162 = _this+60+_160*32;
          var _163 = _160 + 1;
          IHEAP[_38] = _163;
          var _164 = _best_0+60;
          IHEAP[_164] = _tmp271;
          var _165 = _best_0;
          __ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE(_gjk, _165, _162);
          var _166 = _best_0;
          var _167 = FHEAP[_166];
          var _168 = _this+60+_160*32+16;
          var _169 = FHEAP[_168];
          var _170 = _167 * _169;
          var _171 = _best_0+4;
          var _172 = FHEAP[_171];
          var _173 = _this+60+_160*32+16+4;
          var _174 = FHEAP[_173];
          var _175 = _172 * _174;
          var _176 = _170 + _175;
          var _177 = _best_0+8;
          var _178 = FHEAP[_177];
          var _179 = _this+60+_160*32+16+8;
          var _180 = FHEAP[_179];
          var _181 = _178 * _180;
          var _182 = _176 + _181;
          var _183 = _best_0+16;
          var _184 = FHEAP[_183];
          var _185 = _182 - _184;
          var _186 = _185 > 0.00009999999747378752;
          if (_186) { __lastLabel__ = 4; ; } else { __lastLabel__ = 4; __label__ = 422; /* _bb33 */ break _bb36$13656; }
          _bb19$13660: while(1) { // _bb19
            var _j_0193 = __lastLabel__ == 64 ? _192 : (0);
            var _valid_0192 = __lastLabel__ == 64 ? _191 : (1);
            var _scevgep = _best_0+57+_j_0193;
            var _scevgep233 = _best_0+36+_j_0193*4;
            var _187 = IHEAP[_scevgep];
            var _188 = _187;
            var _189 = IHEAP[_scevgep233];
            var _190 = __ZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonE(_this, _pass_0, _162, _189, _188, _horizon);
            var _191 = _190 & _valid_0192;
            var _192 = _j_0193 + 1;
            var _193 = unSign(_192, 32) > unSign(2, 32);
            var _toBool22 = _191 == 0;
            var _or_cond = _193 | _toBool22;
            if (_or_cond) { __lastLabel__ = 64; __label__ = 419; /* _bb23 */ break _bb19$13660; } else { __lastLabel__ = 64; __label__ = 64; /* _bb19 */ continue _bb19$13660; }
          }
          var _phitmp232 = _191 == 1;
          if (!(_phitmp232)) { __label__ = 91; /* _bb32 */ break _bb36$13656; }
          var _194 = IHEAP[_157];
          var _195 = unSign(_194, 32) < unSign(3, 32);
          if (_195) { __label__ = 91; /* _bb32 */ break _bb36$13656; }
          var _196 = IHEAP[_156];
          var _197 = IHEAP[_155];
          var _198 = _197+57+1;
          IHEAP[_198] = 2;
          var _199 = _197+36+4;
          IHEAP[_199] = _196;
          var _200 = _196+57+2;
          IHEAP[_200] = 1;
          var _201 = _196+36+8;
          IHEAP[_201] = _197;
          var _202 = _best_0+48+4;
          var _203 = IHEAP[_202];
          var _204 = _203 == 0;
          ;
          if (!_204) {
            ;
            var _205 = _best_0+48;
            var _206 = IHEAP[_205];
            var _207 = _203+48;
            IHEAP[_207] = _206;
            ;
          }
          var _208 = _best_0+48;
          var _209 = IHEAP[_208];
          var _210 = _209 == 0;
          ;
          if (!_210) {
            ;
            var _211 = IHEAP[_202];
            var _212 = _209+48+4;
            IHEAP[_212] = _211;
            ;
          }
          var _213 = IHEAP[_6];
          var _214 = _213 == _best_0;
          ;
          if (_214) {
            ;
            var _215 = IHEAP[_202];
            IHEAP[_6] = _215;
            ;
          }
          var _216 = IHEAP[_117];
          var _217 = _216 + -1;
          IHEAP[_117] = _217;
          IHEAP[_208] = 0;
          var _218 = IHEAP[_158];
          IHEAP[_202] = _218;
          var _219 = IHEAP[_158];
          var _220 = _219 == 0;
          ;
          if (!_220) {
            ;
            var _221 = _219+48;
            IHEAP[_221] = _best_0;
            ;
          }
          IHEAP[_158] = _best_0;
          var _222 = IHEAP[_159];
          var _223 = _222 + 1;
          IHEAP[_159] = _223;
          var _224 = IHEAP[_6];
          var _225 = _224+16;
          var _226 = FHEAP[_225];
          var _227 = _226 * _226;
          var _maxp_1_ph_in_phi_trans_insert_i = _224+20;
          var _maxp_1_ph_pre_i = FHEAP[_maxp_1_ph_in_phi_trans_insert_i];
          __lastLabel__ = 2514; ;
          _bb4_outer_i$13677: while(1) { // _bb4_outer_i
            var _maxp_1_ph_i = __lastLabel__ == 2514 ? _maxp_1_ph_pre_i : (_232);
            var _minf_1_ph_i = __lastLabel__ == 2514 ? _224 : (_f_0_i);
            var _mind_1_ph_i = __lastLabel__ == 2514 ? _227 : (_230);
            __lastLabel__ = 2141; ;
            _bb4_i48$13679: while(1) { // _bb4_i48
              var __pn_i = __lastLabel__ == 2515 ? _f_0_i : (_minf_1_ph_i);
              var _f_0_in_i = __pn_i+48+4;
              var _f_0_i = IHEAP[_f_0_in_i];
              var _234 = _f_0_i == 0;
              if (_234) { __label__ = 2517; /* __ZN12gjkepa2_impl3EPA8findbestEv_exit */ break _bb4_outer_i$13677; }
              var _228 = _f_0_i+16;
              var _229 = FHEAP[_228];
              var _230 = _229 * _229;
              var _231 = _f_0_i+20;
              var _232 = FHEAP[_231];
              var __not_i = _232 >= _maxp_1_ph_i;
              var _233 = _230 < _mind_1_ph_i;
              var _or_cond_i = __not_i & _233;
              if (_or_cond_i) { __lastLabel__ = 2515; __label__ = 2141; /* _bb4_outer_i */ continue _bb4_outer_i$13677; } else { __lastLabel__ = 2515; __label__ = 2516; /* _bb4_i48 */ continue _bb4_i48$13679; }
            }
          }
          var _235 = _minf_1_ph_i+20;
          var _236 = FHEAP[_235];
          var _237 = _236 < _outer_2_1;
          if (_237) { __lastLabel__ = 2517; __label__ = 251; /* _bb36 */ continue _bb36$13656; } else { __lastLabel__ = 2517; ; }
          var _minf_1_ph_i141_0 = _minf_1_ph_i;
          var _tmp142 = FHEAP[_minf_1_ph_i141_0];
          var _minf_1_ph_i141_1 = _minf_1_ph_i+4;
          var _tmp143 = FHEAP[_minf_1_ph_i141_1];
          var _minf_1_ph_i141_2 = _minf_1_ph_i+8;
          var _tmp144 = FHEAP[_minf_1_ph_i141_2];
          var _minf_1_ph_i141_3 = _minf_1_ph_i+12;
          var _tmp145 = FHEAP[_minf_1_ph_i141_3];
          var _minf_1_ph_i_1 = _minf_1_ph_i+16;
          var _tmp = FHEAP[_minf_1_ph_i_1];
          var _minf_1_ph_i_3_0 = _minf_1_ph_i+24;
          var _tmp131 = IHEAP[_minf_1_ph_i_3_0];
          var _minf_1_ph_i_3_1 = _minf_1_ph_i+24+4;
          var _tmp132 = IHEAP[_minf_1_ph_i_3_1];
          var _minf_1_ph_i_3_2 = _minf_1_ph_i+24+8;
          var _tmp133 = IHEAP[_minf_1_ph_i_3_2];
          __lastLabel__ = 90; __label__ = 251; /* _bb36 */ continue _bb36$13656;
        }
        if (__label__ == 2485) {
          var __0_pre_pre = IHEAP[_37];
          __lastLabel__ = 2485; ;
        }
        else if (__label__ == 250) {
          IHEAP[_37] = 6;
          __lastLabel__ = 250; ;
        }
        else if (__label__ == 422) {
          IHEAP[_37] = 7;
          __lastLabel__ = 422; ;
        }
        else if (__label__ == 91) {
          IHEAP[_37] = 4;
          __lastLabel__ = 91; ;
        }
        var __0_pre = __lastLabel__ == 2485 ? __0_pre_pre : (__lastLabel__ == 250 ? 6 : (__lastLabel__ == 422 ? 7 : (4)));
        var _240 = _outer_0_0_2_1 * _outer_1_1;
        var _241 = _outer_0_0_1_1 * _outer_1_1;
        var _242 = _outer_0_0_0_1 * _outer_1_1;
        var _243 = _this+40;
        FHEAP[_243] = _outer_0_0_0_1;
        var _244 = _this+40+4;
        FHEAP[_244] = _outer_0_0_1_1;
        var _245 = _this+40+8;
        FHEAP[_245] = _outer_0_0_2_1;
        var _246 = _this+40+12;
        FHEAP[_246] = _outer_0_0_3_1;
        var _247 = _this+56;
        FHEAP[_247] = _outer_1_1;
        var _248 = _this+4+32;
        IHEAP[_248] = 3;
        var _249 = _this+4;
        IHEAP[_249] = _outer_3_0_1;
        var _250 = _this+4+4;
        IHEAP[_250] = _outer_3_1_1;
        var _251 = _this+4+8;
        IHEAP[_251] = _outer_3_2_1;
        var _252 = _outer_3_2_1+16+8;
        var _253 = FHEAP[_252];
        var _254 = _253 - _240;
        var _255 = _outer_3_2_1+16+4;
        var _256 = FHEAP[_255];
        var _257 = _256 - _241;
        var _258 = _outer_3_2_1+16;
        var _259 = FHEAP[_258];
        var _260 = _259 - _242;
        var _261 = _outer_3_1_1+16+8;
        var _262 = FHEAP[_261];
        var _263 = _262 - _240;
        var _264 = _outer_3_1_1+16+4;
        var _265 = FHEAP[_264];
        var _266 = _265 - _241;
        var _267 = _outer_3_1_1+16;
        var _268 = FHEAP[_267];
        var _269 = _268 - _242;
        var _270 = _269 * _257;
        var _271 = _266 * _260;
        var _272 = _270 - _271;
        var _273 = _263 * _260;
        var _274 = _269 * _254;
        var _275 = _273 - _274;
        var _276 = _266 * _254;
        var _277 = _263 * _257;
        var _278 = _276 - _277;
        var _279 = _278 * _278;
        var _280 = _275 * _275;
        var _281 = _279 + _280;
        var _282 = _272 * _272;
        var _283 = _281 + _282;
        var _284 = _sqrtf(_283);
        var _285 = _this+4+16;
        FHEAP[_285] = _284;
        var _286 = _outer_3_0_1+16+8;
        var _287 = FHEAP[_286];
        var _288 = _287 - _240;
        var _289 = _outer_3_0_1+16+4;
        var _290 = FHEAP[_289];
        var _291 = _290 - _241;
        var _292 = _outer_3_0_1+16;
        var _293 = FHEAP[_292];
        var _294 = _293 - _242;
        var _295 = FHEAP[_252];
        var _296 = _295 - _240;
        var _297 = FHEAP[_255];
        var _298 = _297 - _241;
        var _299 = FHEAP[_258];
        var _300 = _299 - _242;
        var _301 = _300 * _291;
        var _302 = _298 * _294;
        var _303 = _301 - _302;
        var _304 = _296 * _294;
        var _305 = _300 * _288;
        var _306 = _304 - _305;
        var _307 = _298 * _288;
        var _308 = _296 * _291;
        var _309 = _307 - _308;
        var _310 = _309 * _309;
        var _311 = _306 * _306;
        var _312 = _310 + _311;
        var _313 = _303 * _303;
        var _314 = _312 + _313;
        var _315 = _sqrtf(_314);
        var _316 = _this+4+16+4;
        FHEAP[_316] = _315;
        var _317 = FHEAP[_261];
        var _318 = _317 - _240;
        var _319 = FHEAP[_264];
        var _320 = _319 - _241;
        var _321 = FHEAP[_267];
        var _322 = _321 - _242;
        var _323 = FHEAP[_286];
        var _324 = _323 - _240;
        var _325 = FHEAP[_289];
        var _326 = _325 - _241;
        var _327 = FHEAP[_292];
        var _328 = _327 - _242;
        var _329 = _328 * _320;
        var _330 = _326 * _322;
        var _331 = _329 - _330;
        var _332 = _324 * _322;
        var _333 = _328 * _318;
        var _334 = _332 - _333;
        var _335 = _326 * _318;
        var _336 = _324 * _320;
        var _337 = _335 - _336;
        var _338 = _337 * _337;
        var _339 = _334 * _334;
        var _340 = _338 + _339;
        var _341 = _331 * _331;
        var _342 = _340 + _341;
        var _343 = _sqrtf(_342);
        var _344 = _this+4+16+8;
        var _345 = _284 + _315;
        var _346 = _345 + _343;
        var _347 = _284 / _346;
        FHEAP[_285] = _347;
        var _348 = _315 / _346;
        FHEAP[_316] = _348;
        var _349 = _343 / _346;
        FHEAP[_344] = _349;
        STACKTOP = __stackBase__;
        return __0_pre;
      }
    } while(0);
    var _350 = _this;
    IHEAP[_350] = 8;
    var _351 = _guess+8;
    var _352 = FHEAP[_351];
    var _353 = 0 - _352;
    var _354 = _guess+4;
    var _355 = FHEAP[_354];
    var _356 = 0 - _355;
    var _357 = _guess;
    var _358 = FHEAP[_357];
    var _359 = 0 - _358;
    var _360 = _this+40;
    FHEAP[_360] = _359;
    var _361 = _this+40+4;
    FHEAP[_361] = _356;
    var _362 = _this+40+8;
    FHEAP[_362] = _353;
    var _363 = _this+40+12;
    FHEAP[_363] = 0;
    var _364 = _358 * _358;
    var _365 = _355 * _355;
    var _366 = _364 + _365;
    var _367 = _352 * _352;
    var _368 = _366 + _367;
    var _369 = _sqrtf(_368);
    var _370 = _369 > 0;
    ;
    if (_370) {
      __lastLabel__ = 68; ;
      var _371 = 1 / _369;
      var _372 = _371 * _353;
      var _373 = _371 * _356;
      var _374 = _371 * _359;
      __lastLabel__ = 971; ;
    }
    else {
      __lastLabel__ = 68; ;
    }
    var _storemerge278 = __lastLabel__ == 971 ? _374 : (1);
    var _storemerge277 = __lastLabel__ == 971 ? _373 : (0);
    var _storemerge = __lastLabel__ == 971 ? _372 : (0);
    FHEAP[_360] = _storemerge278;
    FHEAP[_361] = _storemerge277;
    FHEAP[_362] = _storemerge;
    FHEAP[_363] = 0;
    var _375 = _this+56;
    FHEAP[_375] = 0;
    var _376 = _this+4+32;
    IHEAP[_376] = 1;
    var _377 = _1;
    var _378 = IHEAP[_377];
    var _379 = _this+4;
    IHEAP[_379] = _378;
    var _380 = _this+4+16;
    FHEAP[_380] = 1;
    STACKTOP = __stackBase__;
    return 8;
  }
  __ZN12gjkepa2_impl3EPA8EvaluateERNS_3GJKERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN12gjkepa2_impl3EPA8EvaluateERNS_3GJKERK9btVector3, "__ZN12gjkepa2_impl3EPA8EvaluateERNS_3GJKERK9btVector3");
  
  
  function __ZN15btGjkEpaSolver211PenetrationEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsEb(_shape0, _wtrs0, _shape1, _wtrs1, _guess, _results, _usemargins) {
    var __stackBase__  = STACKTOP; STACKTOP += 10876;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _shape = __stackBase__+48;
    var _gjk = __stackBase__+176;
    var _epa = __stackBase__+556;
    __ZN12gjkepa2_implL10InitializeEPK13btConvexShapeRK11btTransformS2_S5_RN15btGjkEpaSolver28sResultsERNS_13MinkowskiDiffEb(_shape0, _wtrs0, _shape1, _wtrs1, _results, _shape, _usemargins);
    var _3 = _gjk+128;
    FHEAP[_3] = 0;
    var _4 = _gjk+128+4;
    FHEAP[_4] = 0;
    var _5 = _gjk+128+8;
    FHEAP[_5] = 0;
    var _6 = _gjk+128+12;
    FHEAP[_6] = 0;
    var _7 = _gjk+364;
    IHEAP[_7] = 0;
    var _8 = _gjk+376;
    IHEAP[_8] = 2;
    var _9 = _gjk+368;
    IHEAP[_9] = 0;
    var _10 = _gjk+144;
    FHEAP[_10] = 0;
    var _11 = _guess+8;
    var _12 = FHEAP[_11];
    var _13 = 0 - _12;
    var _14 = _guess+4;
    var _15 = FHEAP[_14];
    var _16 = 0 - _15;
    var _17 = _guess;
    var _18 = FHEAP[_17];
    var _19 = 0 - _18;
    var _20 = _2;
    FHEAP[_20] = _19;
    var _21 = _2+4;
    FHEAP[_21] = _16;
    var _22 = _2+8;
    FHEAP[_22] = _13;
    var _23 = _2+12;
    FHEAP[_23] = 0;
    var _24 = __ZN12gjkepa2_impl3GJK8EvaluateERKNS_13MinkowskiDiffERK9btVector3(_gjk, _shape, _2);
    if (_24 == 1) {
      __label__ = 60; /* _bb */ 
    }
    else if (_24 == 2) {
      __label__ = 148; /* _bb8 */ 
    }
    else {
    __label__ = 150; /* _bb10 */ 
    }
    
    if (__label__ == 150) {
      STACKTOP = __stackBase__;
      return 0;
    }
    else if (__label__ == 60) {
      var _25 = _epa+10304;
      IHEAP[_25] = 0;
      var _26 = _epa+10304+4;
      IHEAP[_26] = 0;
      var _27 = _epa+10312;
      IHEAP[_27] = 0;
      var _28 = _epa+10312+4;
      IHEAP[_28] = 0;
      var _29 = _epa;
      IHEAP[_29] = 9;
      var _30 = _epa+40;
      FHEAP[_30] = 0;
      var _31 = _epa+40+4;
      FHEAP[_31] = 0;
      var _32 = _epa+40+8;
      FHEAP[_32] = 0;
      var _33 = _epa+40+12;
      FHEAP[_33] = 0;
      var _34 = _epa+56;
      FHEAP[_34] = 0;
      var _35 = _epa+10300;
      IHEAP[_35] = 0;
      __lastLabel__ = 60; ;
      _bb_i_i_i$13698: while(1) { // _bb_i_i_i
        var _36 = __lastLabel__ == 60 ? 0 : (_41);
        var _37 = __lastLabel__ == 60 ? 0 : (_scevgep8_i_i_i);
        var _i_05_i_i_i = __lastLabel__ == 60 ? 0 : (_42);
        var _tmp48 = 127 - _i_05_i_i_i;
        var _scevgep8_i_i_i = _epa+2108+_tmp48*64;
        var _scevgep7_i_i_i = _epa+2108+_tmp48*64+48;
        var _scevgep_i_i_i = _epa+2108+_tmp48*64+48+4;
        IHEAP[_scevgep7_i_i_i] = 0;
        IHEAP[_scevgep_i_i_i] = _37;
        var _38 = _37 == 0;
        ;
        if (_38) {
          __lastLabel__ = 1387; ;
        }
        else {
          __lastLabel__ = 1387; ;
          var _39 = _37+48;
          IHEAP[_39] = _scevgep8_i_i_i;
          var __pre_i_i13 = IHEAP[_28];
          __lastLabel__ = 2421; ;
        }
        var _40 = __lastLabel__ == 2421 ? __pre_i_i13 : (_36);
        IHEAP[_27] = _scevgep8_i_i_i;
        var _41 = _40 + 1;
        IHEAP[_28] = _41;
        var _42 = _i_05_i_i_i + 1;
        var _exitcond = _42 == 128;
        if (_exitcond) { __lastLabel__ = 2521; __label__ = 2522; /* __ZN12gjkepa2_impl3EPAC1Ev_exit */ break _bb_i_i_i$13698; } else { __lastLabel__ = 2521; __label__ = 1387; /* _bb_i_i_i */ continue _bb_i_i_i$13698; }
      }
      var _43 = FHEAP[_11];
      var _44 = 0 - _43;
      var _45 = FHEAP[_14];
      var _46 = 0 - _45;
      var _47 = FHEAP[_17];
      var _48 = 0 - _47;
      var _49 = _1;
      FHEAP[_49] = _48;
      var _50 = _1+4;
      FHEAP[_50] = _46;
      var _51 = _1+8;
      FHEAP[_51] = _44;
      var _52 = _1+12;
      FHEAP[_52] = 0;
      var _53 = __ZN12gjkepa2_impl3EPA8EvaluateERNS_3GJKERK9btVector3(_epa, _gjk, _1);
      var _54 = _53 == 9;
      ;
      if (_54) {
        ;
        var _191 = _results;
        IHEAP[_191] = 3;
        STACKTOP = __stackBase__;
        return 0;
      }
      else {
        ;
        var _55 = _epa+4+32;
        var _56 = IHEAP[_55];
        var _57 = _56 == 0;
        ;
        _bb4$_bb_nph$13707: do { 
          if (_57) {
            __lastLabel__ = 510; ;
          }
          else {
            __lastLabel__ = 510; ;
            var _58 = _shape+120;
            var __phi_trans_insert_i_i = _shape;
            var __phi_trans_insert4_i_i = _shape+120+4;
            var _59 = _0+8;
            var _60 = _0+4;
            var _61 = _0;
            __lastLabel__ = 130; ;
            _bb2$13709: while(1) { // _bb2
              var _i_041 = __lastLabel__ == 130 ? 0 : (_tmp);
              var _w0_0_2_040 = __lastLabel__ == 130 ? 0 : (_88);
              var _w0_0_1_039 = __lastLabel__ == 130 ? 0 : (_87);
              var _w0_0_0_038 = __lastLabel__ == 130 ? 0 : (_86);
              var _scevgep = _epa+4+16+_i_041*4;
              var _scevgep46 = _epa+4+_i_041*4;
              var _tmp = _i_041 + 1;
              var _62 = IHEAP[_scevgep46];
              var _63 = _62;
              var _64 = IHEAP[_58];
              var _65 = _64;
              var _66 = _65 & 1;
              var _toBool_i_i = _66 == 0;
              var __pre_i_i = IHEAP[__phi_trans_insert_i_i];
              var __pre5_i_i = IHEAP[__phi_trans_insert4_i_i];
              ;
              if (_toBool_i_i) {
                __lastLabel__ = 0; ;
              }
              else {
                __lastLabel__ = 0; ;
                var _67 = __pre_i_i;
                var _68 = _67 + __pre5_i_i;
                var _69 = _68;
                var _70 = _69;
                var _71 = IHEAP[_70];
                var _72 = _71;
                var _73 = _65 + -1;
                var _74 = _73 + _72;
                var _75 = _74;
                var _iftmp_134_0_pre_i_i = IHEAP[_75];
                __lastLabel__ = 263; ;
              }
              var _iftmp_134_0_i_i = __lastLabel__ == 263 ? _iftmp_134_0_pre_i_i : (_64);
              var _76 = __pre_i_i;
              var _77 = _76 + __pre5_i_i;
              var _78 = _77;
              FUNCTION_TABLE[_iftmp_134_0_i_i](_0, _78, _63);
              var _79 = FHEAP[_59];
              var _80 = FHEAP[_scevgep];
              var _81 = _79 * _80;
              var _82 = FHEAP[_60];
              var _83 = _82 * _80;
              var _84 = FHEAP[_61];
              var _85 = _84 * _80;
              var _86 = _w0_0_0_038 + _85;
              var _87 = _w0_0_1_039 + _83;
              var _88 = _w0_0_2_040 + _81;
              var _89 = IHEAP[_55];
              var _90 = unSign(_89, 32) > unSign(_tmp, 32);
              if (_90) { __lastLabel__ = 2524; __label__ = 0; /* _bb2 */ continue _bb2$13709; } else { __lastLabel__ = 2524; __label__ = 61; /* _bb4 */ break _bb4$_bb_nph$13707; }
            }
          }
        } while(0);
        var _w0_0_2_0_lcssa = __lastLabel__ == 510 ? 0 : (_88);
        var _w0_0_1_0_lcssa = __lastLabel__ == 510 ? 0 : (_87);
        var _w0_0_0_0_lcssa = __lastLabel__ == 510 ? 0 : (_86);
        var _91 = _results;
        IHEAP[_91] = 1;
        var _92 = _wtrs0+32;
        var _93 = FHEAP[_92];
        var _94 = _93 * _w0_0_0_0_lcssa;
        var _95 = _wtrs0+32+4;
        var _96 = FHEAP[_95];
        var _97 = _96 * _w0_0_1_0_lcssa;
        var _98 = _94 + _97;
        var _99 = _wtrs0+32+8;
        var _100 = FHEAP[_99];
        var _101 = _100 * _w0_0_2_0_lcssa;
        var _102 = _98 + _101;
        var _103 = _wtrs0+48+8;
        var _104 = FHEAP[_103];
        var _105 = _102 + _104;
        var _106 = _wtrs0+16;
        var _107 = FHEAP[_106];
        var _108 = _107 * _w0_0_0_0_lcssa;
        var _109 = _wtrs0+16+4;
        var _110 = FHEAP[_109];
        var _111 = _110 * _w0_0_1_0_lcssa;
        var _112 = _108 + _111;
        var _113 = _wtrs0+16+8;
        var _114 = FHEAP[_113];
        var _115 = _114 * _w0_0_2_0_lcssa;
        var _116 = _112 + _115;
        var _117 = _wtrs0+48+4;
        var _118 = FHEAP[_117];
        var _119 = _116 + _118;
        var _120 = _wtrs0;
        var _121 = FHEAP[_120];
        var _122 = _121 * _w0_0_0_0_lcssa;
        var _123 = _wtrs0+4;
        var _124 = FHEAP[_123];
        var _125 = _124 * _w0_0_1_0_lcssa;
        var _126 = _122 + _125;
        var _127 = _wtrs0+8;
        var _128 = FHEAP[_127];
        var _129 = _128 * _w0_0_2_0_lcssa;
        var _130 = _126 + _129;
        var _131 = _wtrs0+48;
        var _132 = FHEAP[_131];
        var _133 = _130 + _132;
        var _134 = _results+4;
        FHEAP[_134] = _133;
        var _135 = _results+4+4;
        FHEAP[_135] = _119;
        var _136 = _results+4+8;
        FHEAP[_136] = _105;
        var _137 = _results+4+12;
        FHEAP[_137] = 0;
        var _138 = FHEAP[_32];
        var _139 = FHEAP[_34];
        var _140 = _138 * _139;
        var _141 = FHEAP[_31];
        var _142 = _141 * _139;
        var _143 = FHEAP[_30];
        var _144 = _143 * _139;
        var _145 = _w0_0_2_0_lcssa - _140;
        var _146 = _w0_0_1_0_lcssa - _142;
        var _147 = _w0_0_0_0_lcssa - _144;
        var _148 = FHEAP[_92];
        var _149 = _148 * _147;
        var _150 = FHEAP[_95];
        var _151 = _150 * _146;
        var _152 = _149 + _151;
        var _153 = FHEAP[_99];
        var _154 = _153 * _145;
        var _155 = _152 + _154;
        var _156 = FHEAP[_103];
        var _157 = _155 + _156;
        var _158 = FHEAP[_106];
        var _159 = _158 * _147;
        var _160 = FHEAP[_109];
        var _161 = _160 * _146;
        var _162 = _159 + _161;
        var _163 = FHEAP[_113];
        var _164 = _163 * _145;
        var _165 = _162 + _164;
        var _166 = FHEAP[_117];
        var _167 = _165 + _166;
        var _168 = FHEAP[_120];
        var _169 = _168 * _147;
        var _170 = FHEAP[_123];
        var _171 = _170 * _146;
        var _172 = _169 + _171;
        var _173 = FHEAP[_127];
        var _174 = _173 * _145;
        var _175 = _172 + _174;
        var _176 = FHEAP[_131];
        var _177 = _175 + _176;
        var _178 = _results+4+16;
        FHEAP[_178] = _177;
        var _179 = _results+4+16+4;
        FHEAP[_179] = _167;
        var _180 = _results+4+16+8;
        FHEAP[_180] = _157;
        var _181 = _results+4+16+12;
        FHEAP[_181] = 0;
        var _182 = 0 - _138;
        var _183 = 0 - _141;
        var _184 = 0 - _143;
        var _185 = _results+36;
        FHEAP[_185] = _184;
        var _186 = _results+36+4;
        FHEAP[_186] = _183;
        var _187 = _results+36+8;
        FHEAP[_187] = _182;
        var _188 = _results+36+12;
        FHEAP[_188] = 0;
        var _189 = 0 - _139;
        var _190 = _results+52;
        FHEAP[_190] = _189;
        STACKTOP = __stackBase__;
        return 1;
      }
    }
    else if (__label__ == 148) {
      var _192 = _results;
      IHEAP[_192] = 2;
      STACKTOP = __stackBase__;
      return 0;
    }
  }
  __ZN15btGjkEpaSolver211PenetrationEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsEb.__index__ = Runtime.getFunctionIndex(__ZN15btGjkEpaSolver211PenetrationEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsEb, "__ZN15btGjkEpaSolver211PenetrationEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsEb");
  
  
  function __ZN15btGjkEpaSolver28DistanceEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsE(_shape0, _wtrs0, _shape1, _wtrs1, _guess, _results) {
    var __stackBase__  = STACKTOP; STACKTOP += 556;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _shape = __stackBase__+48;
    var _gjk = __stackBase__+176;
    __ZN12gjkepa2_implL10InitializeEPK13btConvexShapeRK11btTransformS2_S5_RN15btGjkEpaSolver28sResultsERNS_13MinkowskiDiffEb(_shape0, _wtrs0, _shape1, _wtrs1, _results, _shape, 0);
    var _3 = _gjk+128;
    FHEAP[_3] = 0;
    var _4 = _gjk+128+4;
    FHEAP[_4] = 0;
    var _5 = _gjk+128+8;
    FHEAP[_5] = 0;
    var _6 = _gjk+128+12;
    FHEAP[_6] = 0;
    var _7 = _gjk+364;
    IHEAP[_7] = 0;
    var _8 = _gjk+376;
    IHEAP[_8] = 2;
    var _9 = _gjk+368;
    IHEAP[_9] = 0;
    var _10 = _gjk+144;
    FHEAP[_10] = 0;
    var _11 = __ZN12gjkepa2_impl3GJK8EvaluateERKNS_13MinkowskiDiffERK9btVector3(_gjk, _shape, _guess);
    if (_11 == 0) {
      __lastLabel__ = -1; __label__ = 348; /* _bb2_preheader */ 
    }
    else if (_11 == 1) {
      __lastLabel__ = -1; __label__ = 3; /* _bb12 */ 
    }
    else {
    __lastLabel__ = -1; __label__ = 292; /* _bb11 */ 
    }
    
    if (__label__ == 292) {
      __lastLabel__ = 292; ;
    }
    else if (__label__ == 348) {
      var _12 = _gjk+372;
      var _13 = IHEAP[_12];
      var _14 = _13+32;
      var _15 = IHEAP[_14];
      var _16 = _15 == 0;
      ;
      _bb3$_bb_nph$13720: do { 
        if (_16) {
          __lastLabel__ = 348; ;
        }
        else {
          __lastLabel__ = 348; ;
          var _17 = _shape+120;
          var __phi_trans_insert_i_i = _shape;
          var __phi_trans_insert4_i_i = _shape+120+4;
          var _18 = _2+8;
          var _19 = _2+4;
          var _20 = _2;
          var __phi_trans_insert_i = _shape+4;
          var _21 = _shape+8+32;
          var _22 = _shape+8+32+4;
          var _23 = _shape+8+32+8;
          var _24 = _shape+8+16;
          var _25 = _shape+8+16+4;
          var _26 = _shape+8+16+8;
          var _27 = _shape+8;
          var _28 = _shape+8+4;
          var _29 = _shape+8+8;
          var _30 = _0;
          var _31 = _0+4;
          var _32 = _0+8;
          var _33 = _0+12;
          var _34 = _shape+56+32;
          var _35 = _1;
          var _36 = _shape+56+32+4;
          var _37 = _1+4;
          var _38 = _shape+56+32+8;
          var _39 = _1+8;
          var _40 = _shape+56+48+8;
          var _41 = _shape+56+16;
          var _42 = _shape+56+16+4;
          var _43 = _shape+56+16+8;
          var _44 = _shape+56+48+4;
          var _45 = _shape+56;
          var _46 = _shape+56+4;
          var _47 = _shape+56+8;
          var _48 = _shape+56+48;
          __lastLabel__ = 130; ;
          _bb1$13722: while(1) { // _bb1
            var _49 = __lastLabel__ == 130 ? _13 : (_166);
            var _i_056 = __lastLabel__ == 130 ? 0 : (_tmp);
            var _w1_0_2_055 = __lastLabel__ == 130 ? 0 : (_165);
            var _w1_0_1_054 = __lastLabel__ == 130 ? 0 : (_164);
            var _w1_0_0_053 = __lastLabel__ == 130 ? 0 : (_163);
            var _w0_0_2_052 = __lastLabel__ == 130 ? 0 : (_76);
            var _w0_0_1_051 = __lastLabel__ == 130 ? 0 : (_75);
            var _w0_0_0_050 = __lastLabel__ == 130 ? 0 : (_74);
            var _tmp = _i_056 + 1;
            var _scevgep = _49+16+_i_056*4;
            var _50 = FHEAP[_scevgep];
            var _scevgep67 = _49+_i_056*4;
            var _51 = IHEAP[_scevgep67];
            var _52 = _51;
            var _53 = IHEAP[_17];
            var _54 = _53;
            var _55 = _54 & 1;
            var _toBool_i_i = _55 == 0;
            var __pre_i_i = IHEAP[__phi_trans_insert_i_i];
            var __pre5_i_i = IHEAP[__phi_trans_insert4_i_i];
            ;
            if (_toBool_i_i) {
              __lastLabel__ = 75; ;
            }
            else {
              __lastLabel__ = 75; ;
              var _56 = __pre_i_i;
              var _57 = _56 + __pre5_i_i;
              var _58 = _57;
              var _59 = _58;
              var _60 = IHEAP[_59];
              var _61 = _60;
              var _62 = _54 + -1;
              var _63 = _62 + _61;
              var _64 = _63;
              var _iftmp_134_0_pre_i_i = IHEAP[_64];
              __lastLabel__ = 263; ;
            }
            var _iftmp_134_0_i_i = __lastLabel__ == 263 ? _iftmp_134_0_pre_i_i : (_53);
            var _65 = __pre_i_i;
            var _66 = _65 + __pre5_i_i;
            var _67 = _66;
            FUNCTION_TABLE[_iftmp_134_0_i_i](_2, _67, _52);
            var _68 = FHEAP[_18];
            var _69 = _68 * _50;
            var _70 = FHEAP[_19];
            var _71 = _70 * _50;
            var _72 = FHEAP[_20];
            var _73 = _72 * _50;
            var _74 = _w0_0_0_050 + _73;
            var _75 = _w0_0_1_051 + _71;
            var _76 = _w0_0_2_052 + _69;
            var _77 = IHEAP[_12];
            var _scevgep68 = _77+_i_056*4;
            var _78 = IHEAP[_scevgep68];
            var _79 = _78+8;
            var _80 = FHEAP[_79];
            var _81 = 0 - _80;
            var _82 = _78+4;
            var _83 = FHEAP[_82];
            var _84 = 0 - _83;
            var _85 = _78;
            var _86 = FHEAP[_85];
            var _87 = 0 - _86;
            var _88 = IHEAP[_17];
            var _89 = _88;
            var _90 = _89 & 1;
            var _toBool_i = _90 == 0;
            var __pre_i = IHEAP[__phi_trans_insert_i];
            var __pre5_i = IHEAP[__phi_trans_insert4_i_i];
            ;
            if (_toBool_i) {
              __lastLabel__ = 2524; ;
            }
            else {
              __lastLabel__ = 2524; ;
              var _91 = __pre_i;
              var _92 = _91 + __pre5_i;
              var _93 = _92;
              var _94 = _93;
              var _95 = IHEAP[_94];
              var _96 = _95;
              var _97 = _89 + -1;
              var _98 = _97 + _96;
              var _99 = _98;
              var _iftmp_135_0_pre_i = IHEAP[_99];
              __lastLabel__ = 131; ;
            }
            var _iftmp_135_0_i = __lastLabel__ == 131 ? _iftmp_135_0_pre_i : (_88);
            var _100 = FHEAP[_21];
            var _101 = _100 * _87;
            var _102 = FHEAP[_22];
            var _103 = _102 * _84;
            var _104 = _101 + _103;
            var _105 = FHEAP[_23];
            var _106 = _105 * _81;
            var _107 = _104 + _106;
            var _108 = FHEAP[_24];
            var _109 = _108 * _87;
            var _110 = FHEAP[_25];
            var _111 = _110 * _84;
            var _112 = _109 + _111;
            var _113 = FHEAP[_26];
            var _114 = _113 * _81;
            var _115 = _112 + _114;
            var _116 = FHEAP[_27];
            var _117 = _116 * _87;
            var _118 = FHEAP[_28];
            var _119 = _118 * _84;
            var _120 = _117 + _119;
            var _121 = FHEAP[_29];
            var _122 = _121 * _81;
            var _123 = _120 + _122;
            FHEAP[_30] = _123;
            FHEAP[_31] = _115;
            FHEAP[_32] = _107;
            FHEAP[_33] = 0;
            var _124 = __pre_i;
            var _125 = _124 + __pre5_i;
            var _126 = _125;
            FUNCTION_TABLE[_iftmp_135_0_i](_1, _126, _0);
            var _127 = FHEAP[_34];
            var _128 = FHEAP[_35];
            var _129 = _127 * _128;
            var _130 = FHEAP[_36];
            var _131 = FHEAP[_37];
            var _132 = _130 * _131;
            var _133 = _129 + _132;
            var _134 = FHEAP[_38];
            var _135 = FHEAP[_39];
            var _136 = _134 * _135;
            var _137 = _133 + _136;
            var _138 = FHEAP[_40];
            var _139 = _137 + _138;
            var _140 = FHEAP[_41];
            var _141 = _140 * _128;
            var _142 = FHEAP[_42];
            var _143 = _142 * _131;
            var _144 = _141 + _143;
            var _145 = FHEAP[_43];
            var _146 = _145 * _135;
            var _147 = _144 + _146;
            var _148 = FHEAP[_44];
            var _149 = _147 + _148;
            var _150 = FHEAP[_45];
            var _151 = _150 * _128;
            var _152 = FHEAP[_46];
            var _153 = _152 * _131;
            var _154 = _151 + _153;
            var _155 = FHEAP[_47];
            var _156 = _155 * _135;
            var _157 = _154 + _156;
            var _158 = FHEAP[_48];
            var _159 = _157 + _158;
            var _160 = _139 * _50;
            var _161 = _149 * _50;
            var _162 = _159 * _50;
            var _163 = _w1_0_0_053 + _162;
            var _164 = _w1_0_1_054 + _161;
            var _165 = _w1_0_2_055 + _160;
            var _166 = IHEAP[_12];
            var _167 = _166+32;
            var _168 = IHEAP[_167];
            var _169 = unSign(_168, 32) > unSign(_tmp, 32);
            if (_169) { __lastLabel__ = 2527; __label__ = 75; /* _bb1 */ continue _bb1$13722; } else { __lastLabel__ = 2527; __label__ = 116; /* _bb3 */ break _bb3$_bb_nph$13720; }
          }
        }
      } while(0);
      var _w1_0_2_0_lcssa = __lastLabel__ == 348 ? 0 : (_165);
      var _w1_0_1_0_lcssa = __lastLabel__ == 348 ? 0 : (_164);
      var _w1_0_0_0_lcssa = __lastLabel__ == 348 ? 0 : (_163);
      var _w0_0_2_0_lcssa = __lastLabel__ == 348 ? 0 : (_76);
      var _w0_0_1_0_lcssa = __lastLabel__ == 348 ? 0 : (_75);
      var _w0_0_0_0_lcssa = __lastLabel__ == 348 ? 0 : (_74);
      var _170 = _wtrs0+32;
      var _171 = FHEAP[_170];
      var _172 = _171 * _w0_0_0_0_lcssa;
      var _173 = _wtrs0+32+4;
      var _174 = FHEAP[_173];
      var _175 = _174 * _w0_0_1_0_lcssa;
      var _176 = _172 + _175;
      var _177 = _wtrs0+32+8;
      var _178 = FHEAP[_177];
      var _179 = _178 * _w0_0_2_0_lcssa;
      var _180 = _176 + _179;
      var _181 = _wtrs0+48+8;
      var _182 = FHEAP[_181];
      var _183 = _180 + _182;
      var _184 = _wtrs0+16;
      var _185 = FHEAP[_184];
      var _186 = _185 * _w0_0_0_0_lcssa;
      var _187 = _wtrs0+16+4;
      var _188 = FHEAP[_187];
      var _189 = _188 * _w0_0_1_0_lcssa;
      var _190 = _186 + _189;
      var _191 = _wtrs0+16+8;
      var _192 = FHEAP[_191];
      var _193 = _192 * _w0_0_2_0_lcssa;
      var _194 = _190 + _193;
      var _195 = _wtrs0+48+4;
      var _196 = FHEAP[_195];
      var _197 = _194 + _196;
      var _198 = _wtrs0;
      var _199 = FHEAP[_198];
      var _200 = _199 * _w0_0_0_0_lcssa;
      var _201 = _wtrs0+4;
      var _202 = FHEAP[_201];
      var _203 = _202 * _w0_0_1_0_lcssa;
      var _204 = _200 + _203;
      var _205 = _wtrs0+8;
      var _206 = FHEAP[_205];
      var _207 = _206 * _w0_0_2_0_lcssa;
      var _208 = _204 + _207;
      var _209 = _wtrs0+48;
      var _210 = FHEAP[_209];
      var _211 = _208 + _210;
      var _212 = _results+4;
      FHEAP[_212] = _211;
      var _213 = _results+4+4;
      FHEAP[_213] = _197;
      var _214 = _results+4+8;
      FHEAP[_214] = _183;
      var _215 = _results+4+12;
      FHEAP[_215] = 0;
      var _216 = FHEAP[_170];
      var _217 = _216 * _w1_0_0_0_lcssa;
      var _218 = FHEAP[_173];
      var _219 = _218 * _w1_0_1_0_lcssa;
      var _220 = _217 + _219;
      var _221 = FHEAP[_177];
      var _222 = _221 * _w1_0_2_0_lcssa;
      var _223 = _220 + _222;
      var _224 = FHEAP[_181];
      var _225 = _223 + _224;
      var _226 = FHEAP[_184];
      var _227 = _226 * _w1_0_0_0_lcssa;
      var _228 = FHEAP[_187];
      var _229 = _228 * _w1_0_1_0_lcssa;
      var _230 = _227 + _229;
      var _231 = FHEAP[_191];
      var _232 = _231 * _w1_0_2_0_lcssa;
      var _233 = _230 + _232;
      var _234 = FHEAP[_195];
      var _235 = _233 + _234;
      var _236 = FHEAP[_198];
      var _237 = _236 * _w1_0_0_0_lcssa;
      var _238 = FHEAP[_201];
      var _239 = _238 * _w1_0_1_0_lcssa;
      var _240 = _237 + _239;
      var _241 = FHEAP[_205];
      var _242 = _241 * _w1_0_2_0_lcssa;
      var _243 = _240 + _242;
      var _244 = FHEAP[_209];
      var _245 = _243 + _244;
      var _246 = _results+4+16;
      FHEAP[_246] = _245;
      var _247 = _results+4+16+4;
      FHEAP[_247] = _235;
      var _248 = _results+4+16+8;
      FHEAP[_248] = _225;
      var _249 = _results+4+16+12;
      FHEAP[_249] = 0;
      var _250 = _w0_0_2_0_lcssa - _w1_0_2_0_lcssa;
      var _251 = _w0_0_1_0_lcssa - _w1_0_1_0_lcssa;
      var _252 = _w0_0_0_0_lcssa - _w1_0_0_0_lcssa;
      var _253 = _results+36;
      FHEAP[_253] = _252;
      var _254 = _results+36+4;
      FHEAP[_254] = _251;
      var _255 = _results+36+8;
      FHEAP[_255] = _250;
      var _256 = _results+36+12;
      FHEAP[_256] = 0;
      var _257 = _252 * _252;
      var _258 = _251 * _251;
      var _259 = _257 + _258;
      var _260 = _250 * _250;
      var _261 = _259 + _260;
      var _262 = _sqrtf(_261);
      var _263 = _results+52;
      FHEAP[_263] = _262;
      var _264 = _262 > 0.00009999999747378752;
      var _iftmp_232_0 = _264 ? _262 : 1;
      var _265 = 1 / _iftmp_232_0;
      var _266 = _252 * _265;
      FHEAP[_253] = _266;
      var _267 = _251 * _265;
      FHEAP[_254] = _267;
      var _268 = _250 * _265;
      FHEAP[_255] = _268;
      STACKTOP = __stackBase__;
      return 1;
    }
    var _iftmp_233_0 = __lastLabel__ == 292 ? 2 : (1);
    var _269 = _results;
    IHEAP[_269] = _iftmp_233_0;
    STACKTOP = __stackBase__;
    return 0;
  }
  __ZN15btGjkEpaSolver28DistanceEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsE.__index__ = Runtime.getFunctionIndex(__ZN15btGjkEpaSolver28DistanceEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsE, "__ZN15btGjkEpaSolver28DistanceEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsE");
  
  
  function __ZN15btGjkEpaSolver214SignedDistanceEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsE(_shape0, _wtrs0, _shape1, _wtrs1, _guess, _results) {
    ;
    var __label__;
    var _0 = __ZN15btGjkEpaSolver28DistanceEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsE(_shape0, _wtrs0, _shape1, _wtrs1, _guess, _results);
    var _toBoolnot = _0 == 0;
    ;
    if (_toBoolnot) {
      ;
      var _1 = __ZN15btGjkEpaSolver211PenetrationEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsEb(_shape0, _wtrs0, _shape1, _wtrs1, _guess, _results, 0);
      ;
      return _1;
    }
    else {
      ;
      ;
      return 1;
    }
  }
  __ZN15btGjkEpaSolver214SignedDistanceEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsE.__index__ = Runtime.getFunctionIndex(__ZN15btGjkEpaSolver214SignedDistanceEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsE, "__ZN15btGjkEpaSolver214SignedDistanceEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsE");
  
  
  function __ZN15btGjkEpaSolver214SignedDistanceERK9btVector3fPK13btConvexShapeRK11btTransformRNS_8sResultsE(_position, _margin, _shape0, _wtrs0, _results) {
    var __stackBase__  = STACKTOP; STACKTOP += 688;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _3 = __stackBase__+48;
    var _shape = __stackBase__+64;
    var _shape1 = __stackBase__+192;
    var _wtrs1 = __stackBase__+244;
    var _gjk = __stackBase__+308;
    var _4 = _shape1;
    __ZN21btConvexInternalShapeC2Ev(_4);
    var _5 = _shape1;
    IHEAP[_5] = __ZTV13btSphereShape+8;
    var _6 = _shape1+4;
    IHEAP[_6] = 8;
    var _7 = _shape1+28;
    FHEAP[_7] = _margin;
    var _8 = _shape1+44;
    FHEAP[_8] = _margin;
    var _9 = _wtrs1;
    FHEAP[_9] = 1;
    var _10 = _wtrs1+4;
    FHEAP[_10] = 0;
    var _11 = _wtrs1+8;
    FHEAP[_11] = 0;
    var _12 = _wtrs1+12;
    FHEAP[_12] = 0;
    var _13 = _wtrs1+16;
    FHEAP[_13] = 0;
    var _14 = _wtrs1+16+4;
    FHEAP[_14] = 1;
    var _15 = _wtrs1+16+8;
    FHEAP[_15] = 0;
    var _16 = _wtrs1+16+12;
    FHEAP[_16] = 0;
    var _17 = _wtrs1+32;
    FHEAP[_17] = 0;
    var _18 = _wtrs1+32+4;
    FHEAP[_18] = 0;
    var _19 = _wtrs1+32+8;
    FHEAP[_19] = 1;
    var _20 = _wtrs1+32+12;
    FHEAP[_20] = 0;
    var _21 = _wtrs1+48;
    var _22 = _position;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    var _24 = _wtrs1+48+4;
    var _25 = _position+4;
    var _26 = FHEAP[_25];
    FHEAP[_24] = _26;
    var _27 = _wtrs1+48+8;
    var _28 = _position+8;
    var _29 = FHEAP[_28];
    FHEAP[_27] = _29;
    var _30 = _wtrs1+48+12;
    var _31 = _position+12;
    var _32 = FHEAP[_31];
    FHEAP[_30] = _32;
    var _33 = _shape1;
    __ZN12gjkepa2_implL10InitializeEPK13btConvexShapeRK11btTransformS2_S5_RN15btGjkEpaSolver28sResultsERNS_13MinkowskiDiffEb(_shape0, _wtrs0, _33, _wtrs1, _results, _shape, 0);
    var _34 = _gjk+128;
    FHEAP[_34] = 0;
    var _35 = _gjk+128+4;
    FHEAP[_35] = 0;
    var _36 = _gjk+128+8;
    FHEAP[_36] = 0;
    var _37 = _gjk+128+12;
    FHEAP[_37] = 0;
    var _38 = _gjk+364;
    IHEAP[_38] = 0;
    var _39 = _gjk+376;
    IHEAP[_39] = 2;
    var _40 = _gjk+368;
    IHEAP[_40] = 0;
    var _41 = _gjk+144;
    FHEAP[_41] = 0;
    var _42 = _3;
    FHEAP[_42] = 1;
    var _43 = _3+4;
    FHEAP[_43] = 1;
    var _44 = _3+8;
    FHEAP[_44] = 1;
    var _45 = _3+12;
    FHEAP[_45] = 0;
    var _46 = (function() { try { __THREW__ = false; return __ZN12gjkepa2_impl3GJK8EvaluateERKNS_13MinkowskiDiffERK9btVector3(_gjk, _shape, _3) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 254; /* _lpad */  };
    _invcont3$_lpad$13737: do { 
      if (__label__ == 759) {
        if (_46 == 0) {
          __lastLabel__ = 759; __label__ = 752; /* _bb8_preheader */ 
        }
        else if (_46 == 1) {
          __lastLabel__ = 759; __label__ = 153; /* _bb15 */ 
        }
        else {
        __lastLabel__ = 759; __label__ = 89; /* _bb31 */ 
        }
        
        _bb31$_bb8_preheader$_bb15$13739: do { 
          if (__label__ == 752) {
            var _47 = _gjk+372;
            var _48 = _shape+120;
            var __phi_trans_insert_i_i = _shape;
            var __phi_trans_insert4_i_i = _shape+120+4;
            var _49 = _2+8;
            var _50 = _2+4;
            var _51 = _2;
            var __phi_trans_insert_i = _shape+4;
            var _52 = _shape+8+32;
            var _53 = _shape+8+32+4;
            var _54 = _shape+8+32+8;
            var _55 = _shape+8+16;
            var _56 = _shape+8+16+4;
            var _57 = _shape+8+16+8;
            var _58 = _shape+8;
            var _59 = _shape+8+4;
            var _60 = _shape+8+8;
            var _61 = _0;
            var _62 = _0+4;
            var _63 = _0+8;
            var _64 = _0+12;
            var _65 = _shape+56+32;
            var _66 = _1;
            var _67 = _shape+56+32+4;
            var _68 = _1+4;
            var _69 = _shape+56+32+8;
            var _70 = _1+8;
            var _71 = _shape+56+48+8;
            var _72 = _shape+56+16;
            var _73 = _shape+56+16+4;
            var _74 = _shape+56+16+8;
            var _75 = _shape+56+48+4;
            var _76 = _shape+56;
            var _77 = _shape+56+4;
            var _78 = _shape+56+8;
            var _79 = _shape+56+48;
            __lastLabel__ = 752; ;
            _bb8$13741: while(1) { // _bb8
              var _w0_0_0_0 = __lastLabel__ == 1555 ? _104 : (0);
              var _w0_0_1_0 = __lastLabel__ == 1555 ? _105 : (0);
              var _w0_0_2_0 = __lastLabel__ == 1555 ? _106 : (0);
              var _w1_0_0_0 = __lastLabel__ == 1555 ? _193 : (0);
              var _w1_0_1_0 = __lastLabel__ == 1555 ? _194 : (0);
              var _w1_0_2_0 = __lastLabel__ == 1555 ? _195 : (0);
              var _197 = __lastLabel__ == 1555 ? _196 : (0);
              var _198 = IHEAP[_47];
              var _199 = _198+32;
              var _200 = IHEAP[_199];
              var _201 = unSign(_200, 32) > unSign(_197, 32);
              if (!(_201)) { __label__ = 62; /* _bb9 */ break _bb8$13741; }
              var _scevgep93 = _198+16+_197*4;
              var _80 = FHEAP[_scevgep93];
              var _scevgep92 = _198+_197*4;
              var _81 = IHEAP[_scevgep92];
              var _82 = _81;
              var _83 = IHEAP[_48];
              var _84 = _83;
              var _85 = _84 & 1;
              var _toBool_i_i = _85 == 0;
              var __pre_i_i = IHEAP[__phi_trans_insert_i_i];
              var __pre5_i_i = IHEAP[__phi_trans_insert4_i_i];
              ;
              if (_toBool_i_i) {
                __lastLabel__ = 82; ;
              }
              else {
                __lastLabel__ = 82; ;
                var _86 = __pre_i_i;
                var _87 = _86 + __pre5_i_i;
                var _88 = _87;
                var _89 = _88;
                var _90 = IHEAP[_89];
                var _91 = _90;
                var _92 = _84 + -1;
                var _93 = _92 + _91;
                var _94 = _93;
                var _iftmp_134_0_pre_i_i = IHEAP[_94];
                __lastLabel__ = 263; ;
              }
              var _iftmp_134_0_i_i = __lastLabel__ == 263 ? _iftmp_134_0_pre_i_i : (_83);
              var _95 = __pre_i_i;
              var _96 = _95 + __pre5_i_i;
              var _97 = _96;
              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_iftmp_134_0_i_i](_2, _97, _82) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont3$_lpad$13737; }
              var _98 = FHEAP[_49];
              var _99 = _98 * _80;
              var _100 = FHEAP[_50];
              var _101 = _100 * _80;
              var _102 = FHEAP[_51];
              var _103 = _102 * _80;
              var _104 = _w0_0_0_0 + _103;
              var _105 = _w0_0_1_0 + _101;
              var _106 = _w0_0_2_0 + _99;
              var _107 = IHEAP[_47];
              var _scevgep = _107+_197*4;
              var _108 = IHEAP[_scevgep];
              var _109 = _108+8;
              var _110 = FHEAP[_109];
              var _111 = 0 - _110;
              var _112 = _108+4;
              var _113 = FHEAP[_112];
              var _114 = 0 - _113;
              var _115 = _108;
              var _116 = FHEAP[_115];
              var _117 = 0 - _116;
              var _118 = IHEAP[_48];
              var _119 = _118;
              var _120 = _119 & 1;
              var _toBool_i = _120 == 0;
              var __pre_i = IHEAP[__phi_trans_insert_i];
              var __pre5_i = IHEAP[__phi_trans_insert4_i_i];
              ;
              if (_toBool_i) {
                __lastLabel__ = 3894; ;
              }
              else {
                __lastLabel__ = 3894; ;
                var _121 = __pre_i;
                var _122 = _121 + __pre5_i;
                var _123 = _122;
                var _124 = _123;
                var _125 = IHEAP[_124];
                var _126 = _125;
                var _127 = _119 + -1;
                var _128 = _127 + _126;
                var _129 = _128;
                var _iftmp_135_0_pre_i = IHEAP[_129];
                __lastLabel__ = 131; ;
              }
              var _iftmp_135_0_i = __lastLabel__ == 131 ? _iftmp_135_0_pre_i : (_118);
              var _130 = FHEAP[_52];
              var _131 = _130 * _117;
              var _132 = FHEAP[_53];
              var _133 = _132 * _114;
              var _134 = _131 + _133;
              var _135 = FHEAP[_54];
              var _136 = _135 * _111;
              var _137 = _134 + _136;
              var _138 = FHEAP[_55];
              var _139 = _138 * _117;
              var _140 = FHEAP[_56];
              var _141 = _140 * _114;
              var _142 = _139 + _141;
              var _143 = FHEAP[_57];
              var _144 = _143 * _111;
              var _145 = _142 + _144;
              var _146 = FHEAP[_58];
              var _147 = _146 * _117;
              var _148 = FHEAP[_59];
              var _149 = _148 * _114;
              var _150 = _147 + _149;
              var _151 = FHEAP[_60];
              var _152 = _151 * _111;
              var _153 = _150 + _152;
              FHEAP[_61] = _153;
              FHEAP[_62] = _145;
              FHEAP[_63] = _137;
              FHEAP[_64] = 0;
              var _154 = __pre_i;
              var _155 = _154 + __pre5_i;
              var _156 = _155;
              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_iftmp_135_0_i](_1, _156, _0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont3$_lpad$13737; }
              var _157 = FHEAP[_65];
              var _158 = FHEAP[_66];
              var _159 = _157 * _158;
              var _160 = FHEAP[_67];
              var _161 = FHEAP[_68];
              var _162 = _160 * _161;
              var _163 = _159 + _162;
              var _164 = FHEAP[_69];
              var _165 = FHEAP[_70];
              var _166 = _164 * _165;
              var _167 = _163 + _166;
              var _168 = FHEAP[_71];
              var _169 = _167 + _168;
              var _170 = FHEAP[_72];
              var _171 = _170 * _158;
              var _172 = FHEAP[_73];
              var _173 = _172 * _161;
              var _174 = _171 + _173;
              var _175 = FHEAP[_74];
              var _176 = _175 * _165;
              var _177 = _174 + _176;
              var _178 = FHEAP[_75];
              var _179 = _177 + _178;
              var _180 = FHEAP[_76];
              var _181 = _180 * _158;
              var _182 = FHEAP[_77];
              var _183 = _182 * _161;
              var _184 = _181 + _183;
              var _185 = FHEAP[_78];
              var _186 = _185 * _165;
              var _187 = _184 + _186;
              var _188 = FHEAP[_79];
              var _189 = _187 + _188;
              var _190 = _169 * _80;
              var _191 = _179 * _80;
              var _192 = _189 * _80;
              var _193 = _w1_0_0_0 + _192;
              var _194 = _w1_0_1_0 + _191;
              var _195 = _w1_0_2_0 + _190;
              var _196 = _197 + 1;
              __lastLabel__ = 1555; __label__ = 148; /* _bb8 */ continue _bb8$13741;
            }
            var _202 = _wtrs0+32;
            var _203 = FHEAP[_202];
            var _204 = _203 * _w0_0_0_0;
            var _205 = _wtrs0+32+4;
            var _206 = FHEAP[_205];
            var _207 = _206 * _w0_0_1_0;
            var _208 = _204 + _207;
            var _209 = _wtrs0+32+8;
            var _210 = FHEAP[_209];
            var _211 = _210 * _w0_0_2_0;
            var _212 = _208 + _211;
            var _213 = _wtrs0+48+8;
            var _214 = FHEAP[_213];
            var _215 = _212 + _214;
            var _216 = _wtrs0+16;
            var _217 = FHEAP[_216];
            var _218 = _217 * _w0_0_0_0;
            var _219 = _wtrs0+16+4;
            var _220 = FHEAP[_219];
            var _221 = _220 * _w0_0_1_0;
            var _222 = _218 + _221;
            var _223 = _wtrs0+16+8;
            var _224 = FHEAP[_223];
            var _225 = _224 * _w0_0_2_0;
            var _226 = _222 + _225;
            var _227 = _wtrs0+48+4;
            var _228 = FHEAP[_227];
            var _229 = _226 + _228;
            var _230 = _wtrs0;
            var _231 = FHEAP[_230];
            var _232 = _231 * _w0_0_0_0;
            var _233 = _wtrs0+4;
            var _234 = FHEAP[_233];
            var _235 = _234 * _w0_0_1_0;
            var _236 = _232 + _235;
            var _237 = _wtrs0+8;
            var _238 = FHEAP[_237];
            var _239 = _238 * _w0_0_2_0;
            var _240 = _236 + _239;
            var _241 = _wtrs0+48;
            var _242 = FHEAP[_241];
            var _243 = _240 + _242;
            var _244 = _results+4;
            FHEAP[_244] = _243;
            var _245 = _results+4+4;
            FHEAP[_245] = _229;
            var _246 = _results+4+8;
            FHEAP[_246] = _215;
            var _247 = _results+4+12;
            FHEAP[_247] = 0;
            var _248 = FHEAP[_202];
            var _249 = _248 * _w1_0_0_0;
            var _250 = FHEAP[_205];
            var _251 = _250 * _w1_0_1_0;
            var _252 = _249 + _251;
            var _253 = FHEAP[_209];
            var _254 = _253 * _w1_0_2_0;
            var _255 = _252 + _254;
            var _256 = FHEAP[_213];
            var _257 = _255 + _256;
            var _258 = FHEAP[_216];
            var _259 = _258 * _w1_0_0_0;
            var _260 = FHEAP[_219];
            var _261 = _260 * _w1_0_1_0;
            var _262 = _259 + _261;
            var _263 = FHEAP[_223];
            var _264 = _263 * _w1_0_2_0;
            var _265 = _262 + _264;
            var _266 = FHEAP[_227];
            var _267 = _265 + _266;
            var _268 = FHEAP[_230];
            var _269 = _268 * _w1_0_0_0;
            var _270 = FHEAP[_233];
            var _271 = _270 * _w1_0_1_0;
            var _272 = _269 + _271;
            var _273 = FHEAP[_237];
            var _274 = _273 * _w1_0_2_0;
            var _275 = _272 + _274;
            var _276 = FHEAP[_241];
            var _277 = _275 + _276;
            var _278 = _results+4+16;
            FHEAP[_278] = _277;
            var _279 = _results+4+16+4;
            FHEAP[_279] = _267;
            var _280 = _results+4+16+8;
            FHEAP[_280] = _257;
            var _281 = _results+4+16+12;
            FHEAP[_281] = 0;
            var _282 = _257 - _215;
            var _283 = _267 - _229;
            var _284 = _277 - _243;
            var _285 = (function() { try { __THREW__ = false; return __ZNK13btConvexShape19getMarginNonVirtualEv(_shape0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont3$_lpad$13737; };
            var _286 = (function() { try { __THREW__ = false; return __ZNK13btConvexShape19getMarginNonVirtualEv(_33) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont3$_lpad$13737; };
            var _287 = _285 + _286;
            var _288 = _284 * _284;
            var _289 = _283 * _283;
            var _290 = _288 + _289;
            var _291 = _282 * _282;
            var _292 = _290 + _291;
            var _293 = _sqrtf(_292);
            var _294 = 1 / _293;
            var _295 = _282 * _294;
            var _296 = _283 * _294;
            var _297 = _284 * _294;
            var _298 = _results+36;
            FHEAP[_298] = _297;
            var _299 = _results+36+4;
            FHEAP[_299] = _296;
            var _300 = _results+36+8;
            FHEAP[_300] = _295;
            var _301 = _results+36+12;
            FHEAP[_301] = 0;
            var _302 = _295 * _287;
            var _303 = _296 * _287;
            var _304 = _297 * _287;
            var _305 = FHEAP[_244];
            var _306 = _305 + _304;
            FHEAP[_244] = _306;
            var _307 = FHEAP[_245];
            var _308 = _307 + _303;
            FHEAP[_245] = _308;
            var _309 = FHEAP[_246];
            var _310 = _309 + _302;
            FHEAP[_246] = _310;
            var _311 = _293 - _287;
            __lastLabel__ = 2531; ;
          }
          else if (__label__ == 153) {
            var _312 = _gjk+128;
            var _313 = (function() { try { __THREW__ = false; return __ZN15btGjkEpaSolver211PenetrationEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsEb(_shape0, _wtrs0, _33, _wtrs1, _312, _results, 1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont3$_lpad$13737; };
            var _toBool = _313 == 0;
            if (_toBool) { __lastLabel__ = 2533; __label__ = 89; /* _bb31 */ break _bb31$_bb8_preheader$_bb15$13739; } else { __lastLabel__ = 2533; ; }
            var _314 = _results+4+8;
            var _315 = FHEAP[_314];
            var _316 = _results+4+16+8;
            var _317 = FHEAP[_316];
            var _318 = _315 - _317;
            var _319 = _results+4+4;
            var _320 = FHEAP[_319];
            var _321 = _results+4+16+4;
            var _322 = FHEAP[_321];
            var _323 = _320 - _322;
            var _324 = _results+4;
            var _325 = FHEAP[_324];
            var _326 = _results+4+16;
            var _327 = FHEAP[_326];
            var _328 = _325 - _327;
            var _329 = _328 * _328;
            var _330 = _323 * _323;
            var _331 = _329 + _330;
            var _332 = _318 * _318;
            var _333 = _331 + _332;
            var _334 = _sqrtf(_333);
            var _335 = _334 < 1.1920928955078125e-7;
            ;
            if (!_335) {
              ;
              var _336 = 1 / _334;
              var _337 = _318 * _336;
              var _338 = _323 * _336;
              var _339 = _328 * _336;
              var _340 = _results+36;
              FHEAP[_340] = _339;
              var _341 = _results+36+4;
              FHEAP[_341] = _338;
              var _342 = _results+36+8;
              FHEAP[_342] = _337;
              var _343 = _results+36+12;
              FHEAP[_343] = 0;
              ;
            }
            var _344 = 0 - _334;
            __lastLabel__ = 65; ;
          }
        } while(0);
        var __0 = __lastLabel__ == 2531 ? _311 : (__lastLabel__ == 65 ? _344 : (__lastLabel__ == 759 ? 3.4028234663852886e+38 : (3.4028234663852886e+38)));
        IHEAP[_5] = __ZTV21btConvexInternalShape+8;
        __ZN13btConvexShapeD2Ev(_33);
        STACKTOP = __stackBase__;
        return __0;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select34 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    IHEAP[_5] = __ZTV21btConvexInternalShape+8;
    (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_33) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2280; /* _invcont29 */  } else { __label__ = 3807; /* _lpad35 */  }
    if (__label__ == 2280) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 3807) {
      var _eh_ptr36 = _llvm_eh_exception();
      var _eh_select38 = _llvm_eh_selector(_eh_ptr36, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN15btGjkEpaSolver214SignedDistanceERK9btVector3fPK13btConvexShapeRK11btTransformRNS_8sResultsE.__index__ = Runtime.getFunctionIndex(__ZN15btGjkEpaSolver214SignedDistanceERK9btVector3fPK13btConvexShapeRK11btTransformRNS_8sResultsE, "__ZN15btGjkEpaSolver214SignedDistanceERK9btVector3fPK13btConvexShapeRK11btTransformRNS_8sResultsE");
  
  
  function __ZN30btGjkEpaPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAlloc(_this, _simplexSolver, _pConvexA, _pConvexB, _transformA, _transformB, _v, _wWitnessOnA, _wWitnessOnB, _debugDraw, _stackAlloc) {
    var __stackBase__  = STACKTOP; STACKTOP += 72;
    var __label__;
    var _guessVector = __stackBase__;
    var _results = __stackBase__+16;
    var _0 = _transformA+48+8;
    var _1 = FHEAP[_0];
    var _2 = _transformB+48+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _transformA+48+4;
    var _6 = FHEAP[_5];
    var _7 = _transformB+48+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _transformA+48;
    var _11 = FHEAP[_10];
    var _12 = _transformB+48;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _guessVector;
    FHEAP[_15] = _14;
    var _16 = _guessVector+4;
    FHEAP[_16] = _9;
    var _17 = _guessVector+8;
    FHEAP[_17] = _4;
    var _18 = _guessVector+12;
    FHEAP[_18] = 0;
    var _19 = __ZN15btGjkEpaSolver211PenetrationEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsEb(_pConvexA, _transformA, _pConvexB, _transformB, _guessVector, _results, 1);
    var _toBool = _19 == 0;
    ;
    if (_toBool) {
      ;
      var _56 = __ZN15btGjkEpaSolver28DistanceEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsE(_pConvexA, _transformA, _pConvexB, _transformB, _guessVector, _results);
      var _toBool2 = _56 == 0;
      ;
      if (_toBool2) {
        ;
        STACKTOP = __stackBase__;
        return 0;
      }
      else {
        ;
        var _57 = _wWitnessOnA;
        var _58 = _results+4;
        var _59 = FHEAP[_58];
        FHEAP[_57] = _59;
        var _60 = _wWitnessOnA+4;
        var _61 = _results+4+4;
        var _62 = FHEAP[_61];
        FHEAP[_60] = _62;
        var _63 = _wWitnessOnA+8;
        var _64 = _results+4+8;
        var _65 = FHEAP[_64];
        FHEAP[_63] = _65;
        var _66 = _wWitnessOnA+12;
        var _67 = _results+4+12;
        var _68 = FHEAP[_67];
        FHEAP[_66] = _68;
        var _69 = _wWitnessOnB;
        var _70 = _results+4+16;
        var _71 = FHEAP[_70];
        FHEAP[_69] = _71;
        var _72 = _wWitnessOnB+4;
        var _73 = _results+4+16+4;
        var _74 = FHEAP[_73];
        FHEAP[_72] = _74;
        var _75 = _wWitnessOnB+8;
        var _76 = _results+4+16+8;
        var _77 = FHEAP[_76];
        FHEAP[_75] = _77;
        var _78 = _wWitnessOnB+12;
        var _79 = _results+4+16+12;
        var _80 = FHEAP[_79];
        FHEAP[_78] = _80;
        var _81 = _v;
        var _82 = _results+36;
        var _83 = FHEAP[_82];
        FHEAP[_81] = _83;
        var _84 = _v+4;
        var _85 = _results+36+4;
        var _86 = FHEAP[_85];
        FHEAP[_84] = _86;
        var _87 = _v+8;
        var _88 = _results+36+8;
        var _89 = FHEAP[_88];
        FHEAP[_87] = _89;
        var _90 = _v+12;
        var _91 = _results+36+12;
        var _92 = FHEAP[_91];
        FHEAP[_90] = _92;
        STACKTOP = __stackBase__;
        return 0;
      }
    }
    else {
      ;
      var _20 = _wWitnessOnA;
      var _21 = _results+4;
      var _22 = FHEAP[_21];
      FHEAP[_20] = _22;
      var _23 = _wWitnessOnA+4;
      var _24 = _results+4+4;
      var _25 = FHEAP[_24];
      FHEAP[_23] = _25;
      var _26 = _wWitnessOnA+8;
      var _27 = _results+4+8;
      var _28 = FHEAP[_27];
      FHEAP[_26] = _28;
      var _29 = _wWitnessOnA+12;
      var _30 = _results+4+12;
      var _31 = FHEAP[_30];
      FHEAP[_29] = _31;
      var _32 = _wWitnessOnB;
      var _33 = _results+4+16;
      var _34 = FHEAP[_33];
      FHEAP[_32] = _34;
      var _35 = _wWitnessOnB+4;
      var _36 = _results+4+16+4;
      var _37 = FHEAP[_36];
      FHEAP[_35] = _37;
      var _38 = _wWitnessOnB+8;
      var _39 = _results+4+16+8;
      var _40 = FHEAP[_39];
      FHEAP[_38] = _40;
      var _41 = _wWitnessOnB+12;
      var _42 = _results+4+16+12;
      var _43 = FHEAP[_42];
      FHEAP[_41] = _43;
      var _44 = _v;
      var _45 = _results+36;
      var _46 = FHEAP[_45];
      FHEAP[_44] = _46;
      var _47 = _v+4;
      var _48 = _results+36+4;
      var _49 = FHEAP[_48];
      FHEAP[_47] = _49;
      var _50 = _v+8;
      var _51 = _results+36+8;
      var _52 = FHEAP[_51];
      FHEAP[_50] = _52;
      var _53 = _v+12;
      var _54 = _results+36+12;
      var _55 = FHEAP[_54];
      FHEAP[_53] = _55;
      STACKTOP = __stackBase__;
      return 1;
    }
  }
  __ZN30btGjkEpaPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAlloc.__index__ = Runtime.getFunctionIndex(__ZN30btGjkEpaPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAlloc, "__ZN30btGjkEpaPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAlloc");
  
  
  function __ZN17btGjkPairDetectorC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_this, _objectA, _objectB, _simplexSolver, _penetrationDepthSolver) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17btGjkPairDetector+8;
    var _1 = _this+4;
    FHEAP[_1] = 0;
    var _2 = _this+4+4;
    FHEAP[_2] = 1;
    var _3 = _this+4+8;
    FHEAP[_3] = 0;
    var _4 = _this+4+12;
    FHEAP[_4] = 0;
    var _5 = _this+20;
    IHEAP[_5] = _penetrationDepthSolver;
    var _6 = _this+24;
    IHEAP[_6] = _simplexSolver;
    var _7 = _this+28;
    IHEAP[_7] = _objectA;
    var _8 = _this+32;
    IHEAP[_8] = _objectB;
    var _9 = _objectA+4;
    var _10 = IHEAP[_9];
    var _11 = _this+36;
    IHEAP[_11] = _10;
    var _12 = _objectB+4;
    var _13 = IHEAP[_12];
    var _14 = _this+40;
    IHEAP[_14] = _13;
    var _15 = _objectA;
    var _16 = IHEAP[_15];
    var _17 = _16+44;
    var _18 = IHEAP[_17];
    var _19 = _18;
    var _20 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_19](_objectA) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
    _invcont$_lpad$13781: do { 
      if (__label__ == 345) {
        var _21 = _this+44;
        FHEAP[_21] = _20;
        var _22 = _objectB;
        var _23 = IHEAP[_22];
        var _24 = _23+44;
        var _25 = IHEAP[_24];
        var _26 = _25;
        var _27 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_26](_objectB) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$13781; };
        var _28 = _this+48;
        FHEAP[_28] = _27;
        var _29 = _this+52;
        IHEAP[_29] = 0;
        var _30 = _this+60;
        IHEAP[_30] = -1;
        var _31 = _this+72;
        IHEAP[_31] = 1;
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select3 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    IHEAP[_0] = __ZTV36btDiscreteCollisionDetectorInterface+8;
    __Unwind_Resume_or_Rethrow(_eh_ptr);
    // unreachable
  }
  __ZN17btGjkPairDetectorC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver.__index__ = Runtime.getFunctionIndex(__ZN17btGjkPairDetectorC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, "__ZN17btGjkPairDetectorC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver");
  
  
  function __ZN17btGjkPairDetectorC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_this, _objectA, _objectB, _simplexSolver, _penetrationDepthSolver) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV17btGjkPairDetector+8;
    var _1 = _this+4;
    FHEAP[_1] = 0;
    var _2 = _this+4+4;
    FHEAP[_2] = 1;
    var _3 = _this+4+8;
    FHEAP[_3] = 0;
    var _4 = _this+4+12;
    FHEAP[_4] = 0;
    var _5 = _this+20;
    IHEAP[_5] = _penetrationDepthSolver;
    var _6 = _this+24;
    IHEAP[_6] = _simplexSolver;
    var _7 = _this+28;
    IHEAP[_7] = _objectA;
    var _8 = _this+32;
    IHEAP[_8] = _objectB;
    var _9 = _objectA+4;
    var _10 = IHEAP[_9];
    var _11 = _this+36;
    IHEAP[_11] = _10;
    var _12 = _objectB+4;
    var _13 = IHEAP[_12];
    var _14 = _this+40;
    IHEAP[_14] = _13;
    var _15 = _objectA;
    var _16 = IHEAP[_15];
    var _17 = _16+44;
    var _18 = IHEAP[_17];
    var _19 = _18;
    var _20 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_19](_objectA) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4068; /* _invcont_i */  } else { __label__ = 3822; /* _lpad_i */  };
    _invcont_i$_lpad_i$13786: do { 
      if (__label__ == 4068) {
        var _21 = _this+44;
        FHEAP[_21] = _20;
        var _22 = _objectB;
        var _23 = IHEAP[_22];
        var _24 = _23+44;
        var _25 = IHEAP[_24];
        var _26 = _25;
        var _27 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_26](_objectB) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3822; /* _lpad_i */ break _invcont_i$_lpad_i$13786; };
        var _28 = _this+48;
        FHEAP[_28] = _27;
        var _29 = _this+52;
        IHEAP[_29] = 0;
        var _30 = _this+60;
        IHEAP[_30] = -1;
        var _31 = _this+72;
        IHEAP[_31] = 1;
        ;
        return;
      }
    } while(0);
    var _eh_ptr_i = _llvm_eh_exception();
    var _eh_select3_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
    IHEAP[_0] = __ZTV36btDiscreteCollisionDetectorInterface+8;
    __Unwind_Resume_or_Rethrow(_eh_ptr_i);
    // unreachable
  }
  __ZN17btGjkPairDetectorC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver.__index__ = Runtime.getFunctionIndex(__ZN17btGjkPairDetectorC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, "__ZN17btGjkPairDetectorC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver");
  
  
  function __ZN17btGjkPairDetector26getClosestPointsNonVirtualERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDraw(_this, _input, _output, _debugDraw) {
    var __stackBase__  = STACKTOP; STACKTOP += 352;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _normalInB = __stackBase__+16;
    var _pointOnA = __stackBase__+32;
    var _pointOnB = __stackBase__+48;
    var _localTransA = __stackBase__+64;
    var _localTransB = __stackBase__+128;
    var _seperatingAxisInA = __stackBase__+192;
    var _seperatingAxisInB = __stackBase__+208;
    var _pInA = __stackBase__+224;
    var _qInB = __stackBase__+240;
    var _pWorld = __stackBase__+256;
    var _qWorld = __stackBase__+272;
    var _w = __stackBase__+288;
    var _newCachedSeparatingAxis = __stackBase__+304;
    var _tmpPointOnA = __stackBase__+320;
    var _tmpPointOnB = __stackBase__+336;
    var _1 = _this+56;
    FHEAP[_1] = 0;
    var _2 = _normalInB;
    FHEAP[_2] = 0;
    var _3 = _normalInB+4;
    FHEAP[_3] = 0;
    var _4 = _normalInB+8;
    FHEAP[_4] = 0;
    var _5 = _normalInB+12;
    FHEAP[_5] = 0;
    var _6 = _localTransA;
    var _7 = _input;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _localTransA+4;
    var _10 = _input+4;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _localTransA+8;
    var _13 = _input+8;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _localTransA+12;
    var _16 = _input+12;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _localTransA+16;
    var _19 = _input+16;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _localTransA+16+4;
    var _22 = _input+16+4;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    var _24 = _localTransA+16+8;
    var _25 = _input+16+8;
    var _26 = FHEAP[_25];
    FHEAP[_24] = _26;
    var _27 = _localTransA+16+12;
    var _28 = _input+16+12;
    var _29 = FHEAP[_28];
    FHEAP[_27] = _29;
    var _30 = _localTransA+32;
    var _31 = _input+32;
    var _32 = FHEAP[_31];
    FHEAP[_30] = _32;
    var _33 = _localTransA+32+4;
    var _34 = _input+32+4;
    var _35 = FHEAP[_34];
    FHEAP[_33] = _35;
    var _36 = _localTransA+32+8;
    var _37 = _input+32+8;
    var _38 = FHEAP[_37];
    FHEAP[_36] = _38;
    var _39 = _localTransA+32+12;
    var _40 = _input+32+12;
    var _41 = FHEAP[_40];
    FHEAP[_39] = _41;
    var _42 = _localTransA+48;
    var _43 = _input+48;
    var _44 = FHEAP[_43];
    var _45 = _localTransA+48+4;
    var _46 = _input+48+4;
    var _47 = FHEAP[_46];
    var _48 = _localTransA+48+8;
    var _49 = _input+48+8;
    var _50 = FHEAP[_49];
    var _51 = _localTransA+48+12;
    var _52 = _input+48+12;
    var _53 = FHEAP[_52];
    FHEAP[_51] = _53;
    var _54 = _localTransB;
    var _55 = _input+64;
    var _56 = FHEAP[_55];
    FHEAP[_54] = _56;
    var _57 = _localTransB+4;
    var _58 = _input+64+4;
    var _59 = FHEAP[_58];
    FHEAP[_57] = _59;
    var _60 = _localTransB+8;
    var _61 = _input+64+8;
    var _62 = FHEAP[_61];
    FHEAP[_60] = _62;
    var _63 = _localTransB+12;
    var _64 = _input+64+12;
    var _65 = FHEAP[_64];
    FHEAP[_63] = _65;
    var _66 = _localTransB+16;
    var _67 = _input+64+16;
    var _68 = FHEAP[_67];
    FHEAP[_66] = _68;
    var _69 = _localTransB+16+4;
    var _70 = _input+64+16+4;
    var _71 = FHEAP[_70];
    FHEAP[_69] = _71;
    var _72 = _localTransB+16+8;
    var _73 = _input+64+16+8;
    var _74 = FHEAP[_73];
    FHEAP[_72] = _74;
    var _75 = _localTransB+16+12;
    var _76 = _input+64+16+12;
    var _77 = FHEAP[_76];
    FHEAP[_75] = _77;
    var _78 = _localTransB+32;
    var _79 = _input+64+32;
    var _80 = FHEAP[_79];
    FHEAP[_78] = _80;
    var _81 = _localTransB+32+4;
    var _82 = _input+64+32+4;
    var _83 = FHEAP[_82];
    FHEAP[_81] = _83;
    var _84 = _localTransB+32+8;
    var _85 = _input+64+32+8;
    var _86 = FHEAP[_85];
    FHEAP[_84] = _86;
    var _87 = _localTransB+32+12;
    var _88 = _input+64+32+12;
    var _89 = FHEAP[_88];
    FHEAP[_87] = _89;
    var _90 = _localTransB+48;
    var _91 = _input+64+48;
    var _92 = FHEAP[_91];
    var _93 = _localTransB+48+4;
    var _94 = _input+64+48+4;
    var _95 = FHEAP[_94];
    var _96 = _localTransB+48+8;
    var _97 = _input+64+48+8;
    var _98 = FHEAP[_97];
    var _99 = _localTransB+48+12;
    var _100 = _input+64+48+12;
    var _101 = FHEAP[_100];
    FHEAP[_99] = _101;
    var _102 = _50 + _98;
    var _103 = _47 + _95;
    var _104 = _44 + _92;
    var _105 = _102 * 0.5;
    var _106 = _103 * 0.5;
    var _107 = _104 * 0.5;
    var _108 = _44 - _107;
    FHEAP[_42] = _108;
    var _109 = _47 - _106;
    FHEAP[_45] = _109;
    var _110 = _50 - _105;
    FHEAP[_48] = _110;
    var _111 = _92 - _107;
    FHEAP[_90] = _111;
    var _112 = _95 - _106;
    FHEAP[_93] = _112;
    var _113 = _98 - _105;
    FHEAP[_96] = _113;
    var _114 = _this+28;
    var _115 = IHEAP[_114];
    var _116 = _115+4;
    var _117 = IHEAP[_116];
    var _118 = _117 + -17;
    var _119 = unSign(_118, 32) < unSign(2, 32);
    ;
    _bb$_bb9$13791: do { 
      if (_119) {
        ;
        var _120 = _this+32;
        var _121 = IHEAP[_120];
        var _122 = _121+4;
        var _123 = IHEAP[_122];
        var _124 = _123 + -17;
        var _125 = unSign(_124, 32) < unSign(2, 32);
        if (_125) { __lastLabel__ = 60; __label__ = 150; /* _bb10 */ break _bb$_bb9$13791; } else { __lastLabel__ = 60; __label__ = 62; /* _bb9 */ break _bb$_bb9$13791; }
      }
      else {
        __label__ = 62; /* _bb9 */ 
      }
    } while(0);
    if (__label__ == 62) {
      var __pre208 = _this+32;
      __lastLabel__ = 62; ;
    }
    var __pre_phi = __lastLabel__ == 60 ? _120 : (__pre208);
    var _iftmp_117_0 = __lastLabel__ == 60 ? false : (true);
    var _126 = _this+44;
    var _127 = FHEAP[_126];
    var _128 = _this+48;
    var _129 = FHEAP[_128];
    var _130 = IHEAP[_gNumGjkChecks];
    var _131 = _130 + 1;
    IHEAP[_gNumGjkChecks] = _131;
    var _132 = _this+52;
    var _133 = IHEAP[_132];
    var _toBool11 = _133 == 0;
    var _marginA_0 = _toBool11 ? _127 : 0;
    var _marginB_0 = _toBool11 ? _129 : 0;
    var _134 = _this+64;
    IHEAP[_134] = 0;
    var _135 = _this+4;
    FHEAP[_135] = 0;
    var _136 = _this+4+4;
    FHEAP[_136] = 1;
    var _137 = _this+4+8;
    FHEAP[_137] = 0;
    var _138 = _this+4+12;
    FHEAP[_138] = 0;
    var _139 = _this+68;
    IHEAP[_139] = 0;
    var _140 = _this+60;
    IHEAP[_140] = -1;
    var _141 = _marginA_0 + _marginB_0;
    var _142 = _this+24;
    var _143 = IHEAP[_142];
    __ZN22btVoronoiSimplexSolver5resetEv(_143);
    var _144 = _seperatingAxisInA;
    var _145 = _seperatingAxisInA+4;
    var _146 = _seperatingAxisInA+8;
    var _147 = _seperatingAxisInA+12;
    var _148 = _seperatingAxisInB;
    var _149 = _seperatingAxisInB+4;
    var _150 = _seperatingAxisInB+8;
    var _151 = _seperatingAxisInB+12;
    var _152 = _pInA;
    var _153 = _pInA+4;
    var _154 = _pInA+8;
    var _155 = _pWorld;
    var _156 = _pWorld+4;
    var _157 = _pWorld+8;
    var _158 = _pWorld+12;
    var _159 = _qInB;
    var _160 = _qInB+4;
    var _161 = _qInB+8;
    var _162 = _qWorld;
    var _163 = _qWorld+4;
    var _164 = _qWorld+8;
    var _165 = _qWorld+12;
    var _166 = _w;
    var _167 = _w+4;
    var _168 = _w+8;
    var _169 = _w+12;
    var _170 = _input+128;
    var _171 = _newCachedSeparatingAxis;
    var _172 = _newCachedSeparatingAxis+4;
    var _173 = _newCachedSeparatingAxis+8;
    var _174 = _newCachedSeparatingAxis+12;
    var __pre = FHEAP[_137];
    var __pre205 = FHEAP[_136];
    var __pre206 = FHEAP[_135];
    __lastLabel__ = 150; ;
    _bb14$13796: while(1) { // _bb14
      var _175 = __lastLabel__ == 150 ? __pre206 : (_324);
      var _176 = __lastLabel__ == 150 ? __pre205 : (_326);
      var _177 = __lastLabel__ == 150 ? __pre : (_329);
      var _squaredDistance_0 = __lastLabel__ == 150 ? 999999984306749400 : (_331);
      var _178 = 0 - _177;
      var _179 = 0 - _176;
      var _180 = 0 - _175;
      var _181 = FHEAP[_13];
      var _182 = _181 * _180;
      var _183 = FHEAP[_25];
      var _184 = _183 * _179;
      var _185 = _182 + _184;
      var _186 = FHEAP[_37];
      var _187 = _186 * _178;
      var _188 = _185 + _187;
      var _189 = FHEAP[_10];
      var _190 = _189 * _180;
      var _191 = FHEAP[_22];
      var _192 = _191 * _179;
      var _193 = _190 + _192;
      var _194 = FHEAP[_34];
      var _195 = _194 * _178;
      var _196 = _193 + _195;
      var _197 = FHEAP[_7];
      var _198 = _197 * _180;
      var _199 = FHEAP[_19];
      var _200 = _199 * _179;
      var _201 = _198 + _200;
      var _202 = FHEAP[_31];
      var _203 = _202 * _178;
      var _204 = _201 + _203;
      FHEAP[_144] = _204;
      FHEAP[_145] = _196;
      FHEAP[_146] = _188;
      FHEAP[_147] = 0;
      var _205 = FHEAP[_61];
      var _206 = _205 * _175;
      var _207 = FHEAP[_73];
      var _208 = _207 * _176;
      var _209 = _206 + _208;
      var _210 = FHEAP[_85];
      var _211 = _210 * _177;
      var _212 = _209 + _211;
      var _213 = FHEAP[_58];
      var _214 = _213 * _175;
      var _215 = FHEAP[_70];
      var _216 = _215 * _176;
      var _217 = _214 + _216;
      var _218 = FHEAP[_82];
      var _219 = _218 * _177;
      var _220 = _217 + _219;
      var _221 = FHEAP[_55];
      var _222 = _221 * _175;
      var _223 = FHEAP[_67];
      var _224 = _223 * _176;
      var _225 = _222 + _224;
      var _226 = FHEAP[_79];
      var _227 = _226 * _177;
      var _228 = _225 + _227;
      FHEAP[_148] = _228;
      FHEAP[_149] = _220;
      FHEAP[_150] = _212;
      FHEAP[_151] = 0;
      var _229 = IHEAP[_114];
      __ZNK13btConvexShape44localGetSupportVertexWithoutMarginNonVirtualERK9btVector3(_pInA, _229, _seperatingAxisInA);
      var _230 = IHEAP[__pre_phi];
      __ZNK13btConvexShape44localGetSupportVertexWithoutMarginNonVirtualERK9btVector3(_qInB, _230, _seperatingAxisInB);
      var _231 = FHEAP[_30];
      var _232 = FHEAP[_152];
      var _233 = _231 * _232;
      var _234 = FHEAP[_33];
      var _235 = FHEAP[_153];
      var _236 = _234 * _235;
      var _237 = _233 + _236;
      var _238 = FHEAP[_36];
      var _239 = FHEAP[_154];
      var _240 = _238 * _239;
      var _241 = _237 + _240;
      var _242 = FHEAP[_48];
      var _243 = _241 + _242;
      var _244 = FHEAP[_18];
      var _245 = _244 * _232;
      var _246 = FHEAP[_21];
      var _247 = _246 * _235;
      var _248 = _245 + _247;
      var _249 = FHEAP[_24];
      var _250 = _249 * _239;
      var _251 = _248 + _250;
      var _252 = FHEAP[_45];
      var _253 = _251 + _252;
      var _254 = FHEAP[_6];
      var _255 = _254 * _232;
      var _256 = FHEAP[_9];
      var _257 = _256 * _235;
      var _258 = _255 + _257;
      var _259 = FHEAP[_12];
      var _260 = _259 * _239;
      var _261 = _258 + _260;
      var _262 = FHEAP[_42];
      var _263 = _261 + _262;
      FHEAP[_155] = _263;
      FHEAP[_156] = _253;
      FHEAP[_157] = _243;
      FHEAP[_158] = 0;
      var _264 = FHEAP[_78];
      var _265 = FHEAP[_159];
      var _266 = _264 * _265;
      var _267 = FHEAP[_81];
      var _268 = FHEAP[_160];
      var _269 = _267 * _268;
      var _270 = _266 + _269;
      var _271 = FHEAP[_84];
      var _272 = FHEAP[_161];
      var _273 = _271 * _272;
      var _274 = _270 + _273;
      var _275 = FHEAP[_96];
      var _276 = _274 + _275;
      var _277 = FHEAP[_66];
      var _278 = _277 * _265;
      var _279 = FHEAP[_69];
      var _280 = _279 * _268;
      var _281 = _278 + _280;
      var _282 = FHEAP[_72];
      var _283 = _282 * _272;
      var _284 = _281 + _283;
      var _285 = FHEAP[_93];
      var _286 = _284 + _285;
      var _287 = FHEAP[_54];
      var _288 = _287 * _265;
      var _289 = FHEAP[_57];
      var _290 = _289 * _268;
      var _291 = _288 + _290;
      var _292 = FHEAP[_60];
      var _293 = _292 * _272;
      var _294 = _291 + _293;
      var _295 = FHEAP[_90];
      var _296 = _294 + _295;
      FHEAP[_162] = _296;
      FHEAP[_163] = _286;
      FHEAP[_164] = _276;
      FHEAP[_165] = 0;
      ;
      if (_iftmp_117_0) {
        __lastLabel__ = 63; ;
      }
      else {
        __lastLabel__ = 63; ;
        FHEAP[_157] = 0;
        FHEAP[_164] = 0;
        __lastLabel__ = 154; ;
      }
      var _297 = __lastLabel__ == 63 ? _276 : (0);
      var _298 = __lastLabel__ == 63 ? _243 : (0);
      var _299 = _298 - _297;
      var _300 = _253 - _286;
      var _301 = _263 - _296;
      FHEAP[_166] = _301;
      FHEAP[_167] = _300;
      FHEAP[_168] = _299;
      FHEAP[_169] = 0;
      var _302 = FHEAP[_135];
      var _303 = _302 * _301;
      var _304 = FHEAP[_136];
      var _305 = _304 * _300;
      var _306 = _303 + _305;
      var _307 = FHEAP[_137];
      var _308 = _307 * _299;
      var _309 = _306 + _308;
      var _310 = _309 > 0;
      ;
      if (_310) {
        ;
        var _311 = _309 * _309;
        var _312 = FHEAP[_170];
        var _313 = _312 * _squaredDistance_0;
        var _314 = _311 > _313;
        if (_314) { __label__ = 64; /* _bb19 */ break _bb14$13796; }
      }
      var _315 = IHEAP[_142];
      var _316 = __ZN22btVoronoiSimplexSolver9inSimplexERK9btVector3(_315, _w);
      var _toBool21 = _316 == 0;
      if (!(_toBool21)) { __label__ = 5; /* _bb22 */ break _bb14$13796; }
      var _317 = _squaredDistance_0 - _309;
      var _318 = _squaredDistance_0 * 9.999999974752427e-7;
      var _319 = _317 > _318;
      if (!(_319)) { __label__ = 65; /* _bb24 */ break _bb14$13796; }
      var _321 = IHEAP[_142];
      __ZN22btVoronoiSimplexSolver9addVertexERK9btVector3S2_S2_(_321, _w, _pWorld, _qWorld);
      var _322 = IHEAP[_142];
      var _323 = __ZN22btVoronoiSimplexSolver7closestER9btVector3(_322, _newCachedSeparatingAxis);
      var _toBool29not = _323 == 0;
      if (_toBool29not) { __label__ = 91; /* _bb32 */ break _bb14$13796; }
      var _324 = FHEAP[_171];
      var _325 = _324 * _324;
      var _326 = FHEAP[_172];
      var _327 = _326 * _326;
      var _328 = _325 + _327;
      var _329 = FHEAP[_173];
      var _330 = _329 * _329;
      var _331 = _328 + _330;
      var _332 = _331 < 9.999999974752427e-7;
      FHEAP[_135] = _324;
      FHEAP[_136] = _326;
      FHEAP[_137] = _329;
      var _333 = FHEAP[_174];
      FHEAP[_138] = _333;
      if (_332) { __label__ = 518; /* _bb35 */ break _bb14$13796; }
      var _334 = _squaredDistance_0 - _331;
      var _335 = _squaredDistance_0 * 1.1920928955078125e-7;
      var _336 = _334 > _335;
      if (!(_336)) { __label__ = 1014; /* _bb37 */ break _bb14$13796; }
      var _339 = IHEAP[_134];
      var _340 = _339 > 1000;
      var _341 = _339 + 1;
      IHEAP[_134] = _341;
      if (_340) { __lastLabel__ = 68; __label__ = 71; /* _bb57 */ break _bb14$13796; } else { __lastLabel__ = 68; ; }
      var _342 = IHEAP[_142];
      var _343 = _342;
      var _344 = IHEAP[_343];
      var _345 = _344 == 4;
      if (_345) { __lastLabel__ = 1015; __label__ = 973; /* _bb47 */ break _bb14$13796; } else { __lastLabel__ = 1015; __label__ = 63; /* _bb14 */ continue _bb14$13796; }
    }
    _bb19$_bb22$_bb24$_bb32$_bb35$_bb37$_bb57$_bb47$13810: do { 
      if (__label__ == 64) {
        IHEAP[_139] = 10;
        __lastLabel__ = 64; __label__ = 975; /* _bb50 */ break _bb19$_bb22$_bb24$_bb32$_bb35$_bb37$_bb57$_bb47$13810;
      }
      else if (__label__ == 5) {
        IHEAP[_139] = 1;
        __lastLabel__ = 5; __label__ = 975; /* _bb50 */ break _bb19$_bb22$_bb24$_bb32$_bb35$_bb37$_bb57$_bb47$13810;
      }
      else if (__label__ == 65) {
        var _320 = _317 > 0;
        var _storemerge = _320 ? 11 : 2;
        IHEAP[_139] = _storemerge;
        __lastLabel__ = 65; __label__ = 975; /* _bb50 */ break _bb19$_bb22$_bb24$_bb32$_bb35$_bb37$_bb57$_bb47$13810;
      }
      else if (__label__ == 91) {
        IHEAP[_139] = 3;
        __lastLabel__ = 91; __label__ = 975; /* _bb50 */ break _bb19$_bb22$_bb24$_bb32$_bb35$_bb37$_bb57$_bb47$13810;
      }
      else if (__label__ == 518) {
        IHEAP[_139] = 6;
        __lastLabel__ = 518; __label__ = 975; /* _bb50 */ break _bb19$_bb22$_bb24$_bb32$_bb35$_bb37$_bb57$_bb47$13810;
      }
      else if (__label__ == 1014) {
        var _337 = _this+4;
        var _338 = IHEAP[_142];
        __ZN22btVoronoiSimplexSolver14backup_closestER9btVector3(_338, _337);
        IHEAP[_139] = 12;
        __lastLabel__ = 1014; __label__ = 975; /* _bb50 */ break _bb19$_bb22$_bb24$_bb32$_bb35$_bb37$_bb57$_bb47$13810;
      }
      else if (__label__ == 973) {
        var _346 = _this+4;
        __ZN22btVoronoiSimplexSolver14backup_closestER9btVector3(_342, _346);
        IHEAP[_139] = 13;
        __lastLabel__ = 973; __label__ = 71; /* _bb57 */ break _bb19$_bb22$_bb24$_bb32$_bb35$_bb37$_bb57$_bb47$13810;
      }
    } while(0);
    if (__label__ == 975) {
      var _squaredDistance_1_ph = __lastLabel__ == 64 ? _squaredDistance_0 : (__lastLabel__ == 5 ? _squaredDistance_0 : (__lastLabel__ == 65 ? _squaredDistance_0 : (__lastLabel__ == 91 ? _squaredDistance_0 : (__lastLabel__ == 518 ? _squaredDistance_0 : (_331)))));
      var _347 = IHEAP[_142];
      __ZN22btVoronoiSimplexSolver14compute_pointsER9btVector3S1_(_347, _pointOnA, _pointOnB);
      var _348 = _pointOnA+8;
      var _349 = FHEAP[_348];
      var _350 = _pointOnB+8;
      var _351 = FHEAP[_350];
      var _352 = _349 - _351;
      var _353 = _pointOnA+4;
      var _354 = FHEAP[_353];
      var _355 = _pointOnB+4;
      var _356 = FHEAP[_355];
      var _357 = _354 - _356;
      var _358 = _pointOnA;
      var _359 = FHEAP[_358];
      var _360 = _pointOnB;
      var _361 = FHEAP[_360];
      var _362 = _359 - _361;
      FHEAP[_2] = _362;
      FHEAP[_3] = _357;
      FHEAP[_4] = _352;
      FHEAP[_5] = 0;
      var _363 = FHEAP[_135];
      var _364 = _363 * _363;
      var _365 = FHEAP[_136];
      var _366 = _365 * _365;
      var _367 = _364 + _366;
      var _368 = FHEAP[_137];
      var _369 = _368 * _368;
      var _370 = _367 + _369;
      var _371 = _370;
      var _372 = _371 < 0.0001;
      ;
      if (_372) {
        ;
        IHEAP[_139] = 5;
        ;
      }
      var _373 = _370 > 1.4210854715202004e-14;
      ;
      if (_373) {
        ;
        var _374 = _sqrtf(_370);
        var _375 = 1 / _374;
        var _376 = _362 * _375;
        FHEAP[_2] = _376;
        var _377 = _357 * _375;
        FHEAP[_3] = _377;
        var _378 = _352 * _375;
        FHEAP[_4] = _378;
        var _379 = _sqrtf(_squaredDistance_1_ph);
        var _380 = _marginA_0 / _379;
        var _381 = _368 * _380;
        var _382 = _365 * _380;
        var _383 = _363 * _380;
        var _384 = _359 - _383;
        FHEAP[_358] = _384;
        var _385 = _354 - _382;
        FHEAP[_353] = _385;
        var _386 = _349 - _381;
        FHEAP[_348] = _386;
        var _387 = _marginB_0 / _379;
        var _388 = _368 * _387;
        var _389 = _365 * _387;
        var _390 = _363 * _387;
        var _391 = _361 + _390;
        FHEAP[_360] = _391;
        var _392 = _356 + _389;
        FHEAP[_355] = _392;
        var _393 = _351 + _388;
        FHEAP[_350] = _393;
        var _394 = 1 / _375;
        var _395 = _394 - _141;
        IHEAP[_140] = 1;
        __lastLabel__ = 70; ;
      }
      else {
        ;
        IHEAP[_140] = 2;
        __lastLabel__ = 1307; ;
      }
    }
    var _distance_0 = __lastLabel__ == 70 ? _395 : (__lastLabel__ == 1307 ? 0 : (__lastLabel__ == 973 ? 0 : (0)));
    var _isValid_0 = __lastLabel__ == 70 ? 1 : (__lastLabel__ == 1307 ? 0 : (__lastLabel__ == 973 ? 0 : (0)));
    var _396 = _this+72;
    var _397 = IHEAP[_396];
    var _398 = _397 == 0;
    ;
    _bb65$_bb58$13827: do { 
      if (_398) {
        __label__ = 1030; /* _bb65 */ 
      }
      else {
        ;
        var _399 = _this+20;
        var _400 = IHEAP[_399];
        var _401 = _400 == 0;
        if (_401) { __label__ = 1030; /* _bb65 */ break _bb65$_bb58$13827; }
        var _402 = IHEAP[_139];
        var _403 = _402 == 0;
        if (_403) { __label__ = 1030; /* _bb65 */ break _bb65$_bb58$13827; }
        var _404 = _distance_0 + _141;
        var _405 = _404;
        var _406 = _405 >= 0.01;
        var _toBool69 = _isValid_0 == 1;
        var _or_cond = _406 & _toBool69;
        if (_or_cond) { __lastLabel__ = 1025; __label__ = 1562; /* _bb108 */ break _bb65$_bb58$13827; } else { __lastLabel__ = 1025; __label__ = 12; /* _bb73 */ break _bb65$_bb58$13827; }
      }
    } while(0);
    _bb65$_bb108$_bb73$13831: do { 
      if (__label__ == 1030) {
        var _toBool69_old = _isValid_0 == 1;
        if (_toBool69_old) { __lastLabel__ = 1030; __label__ = 1562; /* _bb108 */ break _bb65$_bb108$_bb73$13831; } else { __lastLabel__ = 1030; ; }
        var __phi_trans_insert = _this+20;
        var __pre207 = IHEAP[__phi_trans_insert];
        var _407 = __pre207 == 0;
        if (_407) { __label__ = 2540; /* _bb106 */ break _bb65$_bb108$_bb73$13831; } else { __label__ = 12; /* _bb73 */ break _bb65$_bb108$_bb73$13831; }
      }
    } while(0);
    _bb108$_bb106$_bb73$13834: do { 
      if (__label__ == 12) {
        var _408 = _this+20;
        var _409 = IHEAP[_gNumDeepPenetrationChecks];
        var _410 = _409 + 1;
        IHEAP[_gNumDeepPenetrationChecks] = _410;
        FHEAP[_135] = 0;
        FHEAP[_136] = 0;
        FHEAP[_137] = 0;
        FHEAP[_138] = 0;
        var _411 = IHEAP[_408];
        var _412 = _411;
        var _413 = IHEAP[_412];
        var _414 = _413+8;
        var _415 = IHEAP[_414];
        var _416 = _input+132;
        var _417 = IHEAP[_416];
        var _418 = _this+4;
        var _419 = IHEAP[__pre_phi];
        var _420 = IHEAP[_114];
        var _421 = IHEAP[_142];
        var _422 = _415;
        var _423 = FUNCTION_TABLE[_422](_411, _421, _420, _419, _localTransA, _localTransB, _418, _tmpPointOnA, _tmpPointOnB, _debugDraw, _417);
        var _toBool77 = _423 == 0;
        ;
        if (_toBool77) {
          ;
          var _483 = FHEAP[_135];
          var _484 = _483 * _483;
          var _485 = FHEAP[_136];
          var _486 = _485 * _485;
          var _487 = _484 + _486;
          var _488 = FHEAP[_137];
          var _489 = _488 * _488;
          var _490 = _487 + _489;
          var _491 = _490 > 0;
          if (!(_491)) { __label__ = 2540; /* _bb106 */ break _bb108$_bb106$_bb73$13834; }
          var _492 = _tmpPointOnA+8;
          var _493 = FHEAP[_492];
          var _494 = _tmpPointOnB+8;
          var _495 = FHEAP[_494];
          var _496 = _493 - _495;
          var _497 = _tmpPointOnA+4;
          var _498 = FHEAP[_497];
          var _499 = _tmpPointOnB+4;
          var _500 = FHEAP[_499];
          var _501 = _498 - _500;
          var _502 = _tmpPointOnA;
          var _503 = FHEAP[_502];
          var _504 = _tmpPointOnB;
          var _505 = FHEAP[_504];
          var _506 = _503 - _505;
          var _507 = _506 * _506;
          var _508 = _501 * _501;
          var _509 = _507 + _508;
          var _510 = _496 * _496;
          var _511 = _509 + _510;
          var _512 = _sqrtf(_511);
          var _513 = _512 - _141;
          var _toBool102_not = _isValid_0 != 1;
          var _514 = _513 < _distance_0;
          var _or_cond113 = _toBool102_not | _514;
          ;
          if (_or_cond113) {
            ;
            var _515 = _pointOnA;
            var _516 = _pointOnA+4;
            var _517 = _pointOnA+8;
            var _518 = _pointOnA+12;
            var _519 = _tmpPointOnA+12;
            var _520 = FHEAP[_519];
            FHEAP[_518] = _520;
            var _521 = _pointOnB;
            var _522 = _pointOnB+4;
            var _523 = _pointOnB+8;
            var _524 = _pointOnB+12;
            var _525 = _tmpPointOnB+12;
            var _526 = FHEAP[_525];
            FHEAP[_524] = _526;
            var _527 = _488 * _marginA_0;
            var _528 = _485 * _marginA_0;
            var _529 = _483 * _marginA_0;
            var _530 = _503 - _529;
            FHEAP[_515] = _530;
            var _531 = _498 - _528;
            FHEAP[_516] = _531;
            var _532 = _493 - _527;
            FHEAP[_517] = _532;
            var _533 = _488 * _marginB_0;
            var _534 = _485 * _marginB_0;
            var _535 = _483 * _marginB_0;
            var _536 = _505 + _535;
            FHEAP[_521] = _536;
            var _537 = _500 + _534;
            FHEAP[_522] = _537;
            var _538 = _495 + _533;
            FHEAP[_523] = _538;
            FHEAP[_2] = _483;
            FHEAP[_3] = _485;
            FHEAP[_4] = _488;
            var _539 = FHEAP[_138];
            FHEAP[_5] = _539;
            var _540 = _sqrtf(_490);
            var _541 = 1 / _540;
            var _542 = _483 * _541;
            FHEAP[_2] = _542;
            var _543 = _485 * _541;
            FHEAP[_3] = _543;
            var _544 = _488 * _541;
            FHEAP[_4] = _544;
            IHEAP[_140] = 6;
            __lastLabel__ = 30; __label__ = 1562; /* _bb108 */ break _bb108$_bb106$_bb73$13834;
          }
          else {
            ;
            IHEAP[_140] = 5;
            __label__ = 2540; /* _bb106 */ break _bb108$_bb106$_bb73$13834;
          }
        }
        else {
          ;
          var _424 = _tmpPointOnB+8;
          var _425 = FHEAP[_424];
          var _426 = _tmpPointOnA+8;
          var _427 = FHEAP[_426];
          var _428 = _425 - _427;
          var _429 = _tmpPointOnB+4;
          var _430 = FHEAP[_429];
          var _431 = _tmpPointOnA+4;
          var _432 = FHEAP[_431];
          var _433 = _430 - _432;
          var _434 = _tmpPointOnB;
          var _435 = FHEAP[_434];
          var _436 = _tmpPointOnA;
          var _437 = FHEAP[_436];
          var _438 = _435 - _437;
          var _439 = _438 * _438;
          var _440 = _433 * _433;
          var _441 = _439 + _440;
          var _442 = _428 * _428;
          var _443 = _441 + _442;
          var _444 = _443 > 1.4210854715202004e-14;
          ;
          if (_444) {
            __lastLabel__ = 1350; ;
          }
          else {
            __lastLabel__ = 1350; ;
            var _445 = FHEAP[_135];
            var _446 = FHEAP[_136];
            var _447 = FHEAP[_137];
            var _448 = FHEAP[_138];
            var _449 = _445 * _445;
            var _450 = _446 * _446;
            var _451 = _449 + _450;
            var _452 = _447 * _447;
            var _453 = _451 + _452;
            __lastLabel__ = 17; ;
          }
          var _tmpNormalInB_0_0_0 = __lastLabel__ == 1350 ? _438 : (_445);
          var _tmpNormalInB_0_1_0 = __lastLabel__ == 1350 ? _433 : (_446);
          var _tmpNormalInB_0_2_0 = __lastLabel__ == 1350 ? _428 : (_447);
          var _tmpNormalInB_0_3_0 = __lastLabel__ == 1350 ? 0 : (_448);
          var _lenSqr81_0 = __lastLabel__ == 1350 ? _443 : (_453);
          var _454 = _lenSqr81_0 > 1.4210854715202004e-14;
          ;
          if (_454) {
            ;
            var _455 = _sqrtf(_lenSqr81_0);
            var _456 = 1 / _455;
            var _457 = _427 - _425;
            var _458 = _432 - _430;
            var _459 = _437 - _435;
            var _460 = _459 * _459;
            var _461 = _458 * _458;
            var _462 = _460 + _461;
            var _463 = _457 * _457;
            var _464 = _462 + _463;
            var _465 = _sqrtf(_464);
            var _466 = 0 - _465;
            var _toBool89_not = _isValid_0 != 1;
            var _467 = _distance_0 > _466;
            var _or_cond112 = _toBool89_not | _467;
            ;
            if (_or_cond112) {
              ;
              var _468 = _tmpNormalInB_0_2_0 * _456;
              var _469 = _tmpNormalInB_0_1_0 * _456;
              var _470 = _tmpNormalInB_0_0_0 * _456;
              var _471 = _pointOnA;
              FHEAP[_471] = _437;
              var _472 = _pointOnA+4;
              FHEAP[_472] = _432;
              var _473 = _pointOnA+8;
              FHEAP[_473] = _427;
              var _474 = _pointOnA+12;
              var _475 = _tmpPointOnA+12;
              var _476 = FHEAP[_475];
              FHEAP[_474] = _476;
              var _477 = _pointOnB;
              FHEAP[_477] = _435;
              var _478 = _pointOnB+4;
              FHEAP[_478] = _430;
              var _479 = _pointOnB+8;
              FHEAP[_479] = _425;
              var _480 = _pointOnB+12;
              var _481 = _tmpPointOnB+12;
              var _482 = FHEAP[_481];
              FHEAP[_480] = _482;
              FHEAP[_2] = _470;
              FHEAP[_3] = _469;
              FHEAP[_4] = _468;
              FHEAP[_5] = _tmpNormalInB_0_3_0;
              IHEAP[_140] = 3;
              __lastLabel__ = 23; __label__ = 1562; /* _bb108 */ break _bb108$_bb106$_bb73$13834;
            }
            else {
              ;
              IHEAP[_140] = 8;
              __label__ = 2540; /* _bb106 */ break _bb108$_bb106$_bb73$13834;
            }
          }
          else {
            ;
            IHEAP[_140] = 9;
            __label__ = 2540; /* _bb106 */ break _bb108$_bb106$_bb73$13834;
          }
        }
      }
    } while(0);
    _bb108$_bb106$13852: do { 
      if (__label__ == 2540) {
        var _toBool107 = _isValid_0 == 0;
        if (_toBool107) { __lastLabel__ = 2540; __label__ = 44; /* _return */ break _bb108$_bb106$13852; } else { __lastLabel__ = 2540; __label__ = 1562; /* _bb108 */ break _bb108$_bb106$13852; }
      }
    } while(0);
    _bb108$_return$13854: do { 
      if (__label__ == 1562) {
        var _distance_1174 = __lastLabel__ == 2540 ? _distance_0 : (__lastLabel__ == 23 ? _466 : (__lastLabel__ == 30 ? _513 : (__lastLabel__ == 1030 ? _distance_0 : (_distance_0))));
        var _545 = _distance_1174 < 0;
        ;
        if (!_545) {
          ;
          var _546 = _distance_1174 * _distance_1174;
          var _547 = FHEAP[_170];
          var _548 = _546 < _547;
          if (!(_548)) { __label__ = 44; /* _return */ break _bb108$_return$13854; }
        }
        var _549 = FHEAP[_2];
        FHEAP[_135] = _549;
        var _550 = FHEAP[_3];
        FHEAP[_136] = _550;
        var _551 = FHEAP[_4];
        FHEAP[_137] = _551;
        var _552 = FHEAP[_5];
        FHEAP[_138] = _552;
        FHEAP[_1] = _distance_1174;
        var _553 = _output;
        var _554 = IHEAP[_553];
        var _555 = _554+16;
        var _556 = IHEAP[_555];
        var _557 = _pointOnB+8;
        var _558 = FHEAP[_557];
        var _559 = _558 + _105;
        var _560 = _pointOnB+4;
        var _561 = FHEAP[_560];
        var _562 = _561 + _106;
        var _563 = _pointOnB;
        var _564 = FHEAP[_563];
        var _565 = _564 + _107;
        var _566 = _0;
        FHEAP[_566] = _565;
        var _567 = _0+4;
        FHEAP[_567] = _562;
        var _568 = _0+8;
        FHEAP[_568] = _559;
        var _569 = _0+12;
        FHEAP[_569] = 0;
        var _570 = _556;
        FUNCTION_TABLE[_570](_output, _normalInB, _0, _distance_1174);
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN17btGjkPairDetector26getClosestPointsNonVirtualERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDraw.__index__ = Runtime.getFunctionIndex(__ZN17btGjkPairDetector26getClosestPointsNonVirtualERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDraw, "__ZN17btGjkPairDetector26getClosestPointsNonVirtualERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDraw");
  
  
  function __ZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAlloc(_this, _simplexSolver, _convexA, _convexB, _transA, _transB, _v, _pa, _pb, _debugDraw, _stackAlloc) {
    var __stackBase__  = STACKTOP; STACKTOP += 4256;
    var __label__;
    var __lastLabel__ = null;
    var _supportVerticesABatch = __stackBase__;
    var _supportVerticesBBatch = __stackBase__+992;
    var _seperatingAxisInABatch = __stackBase__+1984;
    var _seperatingAxisInBBatch = __stackBase__+2976;
    var _gjkdet = __stackBase__+3968;
    var _input = __stackBase__+4044;
    var _res = __stackBase__+4180;
    var _norm33 = __stackBase__+4224;
    var _norm45 = __stackBase__+4240;
    var _0 = _convexA+4;
    var _1 = IHEAP[_0];
    var _2 = _1 + -17;
    var _3 = unSign(_2, 32) < unSign(2, 32);
    ;
    _bb$_bb9$13869: do { 
      if (_3) {
        ;
        var _4 = _convexB+4;
        var _5 = IHEAP[_4];
        var _6 = _5 + -17;
        var _7 = unSign(_6, 32) < unSign(2, 32);
        if (_7) { __lastLabel__ = 60; __label__ = 2543; /* _bb_nph210 */ break _bb$_bb9$13869; } else { __lastLabel__ = 60; __label__ = 62; /* _bb9 */ break _bb$_bb9$13869; }
      }
      else {
        __label__ = 62; /* _bb9 */ 
      }
    } while(0);
    if (__label__ == 62) {
      __lastLabel__ = 62; ;
    }
    var _iftmp_120_0 = __lastLabel__ == 62 ? 0 : (1);
    var _8 = _transA+8;
    var _9 = _transA+16+8;
    var _10 = _transA+32+8;
    var _11 = _transA+4;
    var _12 = _transA+16+4;
    var _13 = _transA+32+4;
    var _14 = _transA;
    var _15 = _transA+16;
    var _16 = _transA+32;
    var _17 = _transB+8;
    var _18 = _transB+16+8;
    var _19 = _transB+32+8;
    var _20 = _transB+4;
    var _21 = _transB+16+4;
    var _22 = _transB+32+4;
    var _23 = _transB;
    var _24 = _transB+16;
    var _25 = _transB+32;
    __lastLabel__ = 2543; ;
    _bb23$13874: while(1) { // _bb23
      var _i_0209 = __lastLabel__ == 2543 ? 0 : (_81);
      var _scevgep267268 = _seperatingAxisInABatch+_i_0209*16;
      var _scevgep269 = _seperatingAxisInABatch+_i_0209*16+4;
      var _scevgep270 = _seperatingAxisInABatch+_i_0209*16+8;
      var _scevgep271 = _seperatingAxisInABatch+_i_0209*16+12;
      var _scevgep272273 = _seperatingAxisInBBatch+_i_0209*16;
      var _scevgep274 = _seperatingAxisInBBatch+_i_0209*16+4;
      var _scevgep275 = _seperatingAxisInBBatch+_i_0209*16+8;
      var _scevgep276 = _seperatingAxisInBBatch+_i_0209*16+12;
      var _scevgep277278 = __ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+_i_0209*16;
      var _scevgep279 = __ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+_i_0209*16+4;
      var _scevgep280 = __ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+_i_0209*16+8;
      var _26 = __ZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEv();
      var _27 = FHEAP[_scevgep277278];
      var _28 = FHEAP[_scevgep279];
      var _29 = FHEAP[_scevgep280];
      var _30 = 0 - _29;
      var _31 = 0 - _28;
      var _32 = 0 - _27;
      var _33 = FHEAP[_8];
      var _34 = _33 * _32;
      var _35 = FHEAP[_9];
      var _36 = _35 * _31;
      var _37 = _34 + _36;
      var _38 = FHEAP[_10];
      var _39 = _38 * _30;
      var _40 = _37 + _39;
      var _41 = FHEAP[_11];
      var _42 = _41 * _32;
      var _43 = FHEAP[_12];
      var _44 = _43 * _31;
      var _45 = _42 + _44;
      var _46 = FHEAP[_13];
      var _47 = _46 * _30;
      var _48 = _45 + _47;
      var _49 = FHEAP[_14];
      var _50 = _49 * _32;
      var _51 = FHEAP[_15];
      var _52 = _51 * _31;
      var _53 = _50 + _52;
      var _54 = FHEAP[_16];
      var _55 = _54 * _30;
      var _56 = _53 + _55;
      FHEAP[_scevgep267268] = _56;
      FHEAP[_scevgep269] = _48;
      FHEAP[_scevgep270] = _40;
      FHEAP[_scevgep271] = 0;
      var _57 = FHEAP[_17];
      var _58 = _57 * _27;
      var _59 = FHEAP[_18];
      var _60 = _59 * _28;
      var _61 = _58 + _60;
      var _62 = FHEAP[_19];
      var _63 = _62 * _29;
      var _64 = _61 + _63;
      var _65 = FHEAP[_20];
      var _66 = _65 * _27;
      var _67 = FHEAP[_21];
      var _68 = _67 * _28;
      var _69 = _66 + _68;
      var _70 = FHEAP[_22];
      var _71 = _70 * _29;
      var _72 = _69 + _71;
      var _73 = FHEAP[_23];
      var _74 = _73 * _27;
      var _75 = FHEAP[_24];
      var _76 = _75 * _28;
      var _77 = _74 + _76;
      var _78 = FHEAP[_25];
      var _79 = _78 * _29;
      var _80 = _77 + _79;
      FHEAP[_scevgep272273] = _80;
      FHEAP[_scevgep274] = _72;
      FHEAP[_scevgep275] = _64;
      FHEAP[_scevgep276] = 0;
      var _81 = _i_0209 + 1;
      var _exitcond266 = _81 == 42;
      if (_exitcond266) { __lastLabel__ = 419; __label__ = 626; /* _bb26 */ break _bb23$13874; } else { __lastLabel__ = 419; __label__ = 419; /* _bb23 */ continue _bb23$13874; }
    }
    var _82 = _convexA;
    var _83 = IHEAP[_82];
    var _84 = _83+76;
    var _85 = IHEAP[_84];
    var _86 = _85;
    var _87 = FUNCTION_TABLE[_86](_convexA);
    var _88 = _87 == 0;
    var __not = _88 ^ true;
    var _89 = _87 > 0;
    var _or_cond = __not & _89;
    ;
    if (_or_cond) {
      __lastLabel__ = 626; ;
      var _90 = _transA+32;
      var _91 = _norm33;
      var _92 = _transA+32+4;
      var _93 = _norm33+4;
      var _94 = _transA+32+8;
      var _95 = _norm33+8;
      var _96 = _transA+16;
      var _97 = _transA+16+4;
      var _98 = _transA+16+8;
      var _99 = _transA;
      var _100 = _transA+4;
      var _101 = _transA+8;
      var _102 = _norm33+12;
      var _103 = _transB+8;
      var _104 = _transB+16+8;
      var _105 = _transB+32+8;
      var _106 = _transB+4;
      var _107 = _transB+16+4;
      var _108 = _transB+32+4;
      var _109 = _transB;
      var _110 = _transB+16;
      var _111 = _transB+32;
      __lastLabel__ = 130; ;
      _bb31$13879: while(1) { // _bb31
        var _112 = __lastLabel__ == 130 ? 0 : (_200);
        var _tmp219 = _112 + 42;
        var _scevgep220 = _seperatingAxisInABatch+_tmp219*16;
        var _scevgep221 = _seperatingAxisInABatch+_tmp219*16+4;
        var _scevgep222 = _seperatingAxisInABatch+_tmp219*16+8;
        var _scevgep223 = _seperatingAxisInABatch+_tmp219*16+12;
        var _scevgep224225 = _seperatingAxisInBBatch+_tmp219*16;
        var _scevgep226 = _seperatingAxisInBBatch+_tmp219*16+4;
        var _scevgep227 = _seperatingAxisInBBatch+_tmp219*16+8;
        var _scevgep228 = _seperatingAxisInBBatch+_tmp219*16+12;
        var _scevgep229230 = __ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+_tmp219*16;
        var _scevgep231 = __ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+_tmp219*16+4;
        var _scevgep232 = __ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+_tmp219*16+8;
        var _scevgep233 = __ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+_tmp219*16+12;
        var _113 = IHEAP[_82];
        var _114 = _113+80;
        var _115 = IHEAP[_114];
        var _116 = _115;
        FUNCTION_TABLE[_116](_convexA, _112, _norm33);
        var _117 = FHEAP[_90];
        var _118 = FHEAP[_91];
        var _119 = _117 * _118;
        var _120 = FHEAP[_92];
        var _121 = FHEAP[_93];
        var _122 = _120 * _121;
        var _123 = _119 + _122;
        var _124 = FHEAP[_94];
        var _125 = FHEAP[_95];
        var _126 = _124 * _125;
        var _127 = _123 + _126;
        var _128 = FHEAP[_96];
        var _129 = _128 * _118;
        var _130 = FHEAP[_97];
        var _131 = _130 * _121;
        var _132 = _129 + _131;
        var _133 = FHEAP[_98];
        var _134 = _133 * _125;
        var _135 = _132 + _134;
        var _136 = FHEAP[_99];
        var _137 = _136 * _118;
        var _138 = FHEAP[_100];
        var _139 = _138 * _121;
        var _140 = _137 + _139;
        var _141 = FHEAP[_101];
        var _142 = _141 * _125;
        var _143 = _140 + _142;
        FHEAP[_91] = _143;
        FHEAP[_93] = _135;
        FHEAP[_95] = _127;
        FHEAP[_102] = 0;
        var _144 = __ZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEv();
        var _145 = FHEAP[_91];
        FHEAP[_scevgep229230] = _145;
        var _146 = FHEAP[_93];
        FHEAP[_scevgep231] = _146;
        var _147 = FHEAP[_95];
        FHEAP[_scevgep232] = _147;
        var _148 = FHEAP[_102];
        FHEAP[_scevgep233] = _148;
        var _149 = 0 - _147;
        var _150 = 0 - _146;
        var _151 = 0 - _145;
        var _152 = FHEAP[_101];
        var _153 = _152 * _151;
        var _154 = FHEAP[_98];
        var _155 = _154 * _150;
        var _156 = _153 + _155;
        var _157 = FHEAP[_94];
        var _158 = _157 * _149;
        var _159 = _156 + _158;
        var _160 = FHEAP[_100];
        var _161 = _160 * _151;
        var _162 = FHEAP[_97];
        var _163 = _162 * _150;
        var _164 = _161 + _163;
        var _165 = FHEAP[_92];
        var _166 = _165 * _149;
        var _167 = _164 + _166;
        var _168 = FHEAP[_99];
        var _169 = _168 * _151;
        var _170 = FHEAP[_96];
        var _171 = _170 * _150;
        var _172 = _169 + _171;
        var _173 = FHEAP[_90];
        var _174 = _173 * _149;
        var _175 = _172 + _174;
        FHEAP[_scevgep220] = _175;
        FHEAP[_scevgep221] = _167;
        FHEAP[_scevgep222] = _159;
        FHEAP[_scevgep223] = 0;
        var _176 = FHEAP[_103];
        var _177 = _176 * _145;
        var _178 = FHEAP[_104];
        var _179 = _178 * _146;
        var _180 = _177 + _179;
        var _181 = FHEAP[_105];
        var _182 = _181 * _147;
        var _183 = _180 + _182;
        var _184 = FHEAP[_106];
        var _185 = _184 * _145;
        var _186 = FHEAP[_107];
        var _187 = _186 * _146;
        var _188 = _185 + _187;
        var _189 = FHEAP[_108];
        var _190 = _189 * _147;
        var _191 = _188 + _190;
        var _192 = FHEAP[_109];
        var _193 = _192 * _145;
        var _194 = FHEAP[_110];
        var _195 = _194 * _146;
        var _196 = _193 + _195;
        var _197 = FHEAP[_111];
        var _198 = _197 * _147;
        var _199 = _196 + _198;
        FHEAP[_scevgep224225] = _199;
        FHEAP[_scevgep226] = _191;
        FHEAP[_scevgep227] = _183;
        FHEAP[_scevgep228] = 0;
        var _200 = _112 + 1;
        var _exitcond = _200 == _87;
        if (_exitcond) { __lastLabel__ = 89; __label__ = 2545; /* _bb37_bb38_loopexit_crit_edge */ break _bb31$13879; } else { __lastLabel__ = 89; __label__ = 89; /* _bb31 */ continue _bb31$13879; }
      }
      var _tmp = _87 + 42;
      __lastLabel__ = 2545; ;
    }
    else {
      __lastLabel__ = 626; ;
    }
    var _numSampleDirections_1 = __lastLabel__ == 626 ? 42 : (_tmp);
    var _201 = _convexB;
    var _202 = IHEAP[_201];
    var _203 = _202+76;
    var _204 = IHEAP[_203];
    var _205 = _204;
    var _206 = FUNCTION_TABLE[_205](_convexB);
    var _207 = _206 == 0;
    var __not285 = _207 ^ true;
    var _208 = _206 > 0;
    var _or_cond286 = __not285 & _208;
    ;
    if (_or_cond286) {
      __lastLabel__ = 68; ;
      var _209 = _transB+32;
      var _210 = _norm45;
      var _211 = _transB+32+4;
      var _212 = _norm45+4;
      var _213 = _transB+32+8;
      var _214 = _norm45+8;
      var _215 = _transB+16;
      var _216 = _transB+16+4;
      var _217 = _transB+16+8;
      var _218 = _transB;
      var _219 = _transB+4;
      var _220 = _transB+8;
      var _221 = _norm45+12;
      var _222 = _transA+8;
      var _223 = _transA+16+8;
      var _224 = _transA+32+8;
      var _225 = _transA+4;
      var _226 = _transA+16+4;
      var _227 = _transA+32+4;
      var _228 = _transA;
      var _229 = _transA+16;
      var _230 = _transA+32;
      __lastLabel__ = 2547; ;
      _bb43$13885: while(1) { // _bb43
        var _231 = __lastLabel__ == 2547 ? 0 : (_319);
        var _tmp236 = _numSampleDirections_1 + _231;
        var _scevgep237238 = _seperatingAxisInABatch+_tmp236*16;
        var _scevgep239 = _seperatingAxisInABatch+_tmp236*16+4;
        var _scevgep240 = _seperatingAxisInABatch+_tmp236*16+8;
        var _scevgep241 = _seperatingAxisInABatch+_tmp236*16+12;
        var _scevgep242243 = _seperatingAxisInBBatch+_tmp236*16;
        var _scevgep244 = _seperatingAxisInBBatch+_tmp236*16+4;
        var _scevgep245 = _seperatingAxisInBBatch+_tmp236*16+8;
        var _scevgep246 = _seperatingAxisInBBatch+_tmp236*16+12;
        var _scevgep247248 = __ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+_tmp236*16;
        var _scevgep249 = __ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+_tmp236*16+4;
        var _scevgep250 = __ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+_tmp236*16+8;
        var _scevgep251 = __ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+_tmp236*16+12;
        var _232 = IHEAP[_201];
        var _233 = _232+80;
        var _234 = IHEAP[_233];
        var _235 = _234;
        FUNCTION_TABLE[_235](_convexB, _231, _norm45);
        var _236 = FHEAP[_209];
        var _237 = FHEAP[_210];
        var _238 = _236 * _237;
        var _239 = FHEAP[_211];
        var _240 = FHEAP[_212];
        var _241 = _239 * _240;
        var _242 = _238 + _241;
        var _243 = FHEAP[_213];
        var _244 = FHEAP[_214];
        var _245 = _243 * _244;
        var _246 = _242 + _245;
        var _247 = FHEAP[_215];
        var _248 = _247 * _237;
        var _249 = FHEAP[_216];
        var _250 = _249 * _240;
        var _251 = _248 + _250;
        var _252 = FHEAP[_217];
        var _253 = _252 * _244;
        var _254 = _251 + _253;
        var _255 = FHEAP[_218];
        var _256 = _255 * _237;
        var _257 = FHEAP[_219];
        var _258 = _257 * _240;
        var _259 = _256 + _258;
        var _260 = FHEAP[_220];
        var _261 = _260 * _244;
        var _262 = _259 + _261;
        FHEAP[_210] = _262;
        FHEAP[_212] = _254;
        FHEAP[_214] = _246;
        FHEAP[_221] = 0;
        var _263 = __ZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEv();
        var _264 = FHEAP[_210];
        FHEAP[_scevgep247248] = _264;
        var _265 = FHEAP[_212];
        FHEAP[_scevgep249] = _265;
        var _266 = FHEAP[_214];
        FHEAP[_scevgep250] = _266;
        var _267 = FHEAP[_221];
        FHEAP[_scevgep251] = _267;
        var _268 = 0 - _266;
        var _269 = 0 - _265;
        var _270 = 0 - _264;
        var _271 = FHEAP[_222];
        var _272 = _271 * _270;
        var _273 = FHEAP[_223];
        var _274 = _273 * _269;
        var _275 = _272 + _274;
        var _276 = FHEAP[_224];
        var _277 = _276 * _268;
        var _278 = _275 + _277;
        var _279 = FHEAP[_225];
        var _280 = _279 * _270;
        var _281 = FHEAP[_226];
        var _282 = _281 * _269;
        var _283 = _280 + _282;
        var _284 = FHEAP[_227];
        var _285 = _284 * _268;
        var _286 = _283 + _285;
        var _287 = FHEAP[_228];
        var _288 = _287 * _270;
        var _289 = FHEAP[_229];
        var _290 = _289 * _269;
        var _291 = _288 + _290;
        var _292 = FHEAP[_230];
        var _293 = _292 * _268;
        var _294 = _291 + _293;
        FHEAP[_scevgep237238] = _294;
        FHEAP[_scevgep239] = _286;
        FHEAP[_scevgep240] = _278;
        FHEAP[_scevgep241] = 0;
        var _295 = FHEAP[_220];
        var _296 = _295 * _264;
        var _297 = FHEAP[_217];
        var _298 = _297 * _265;
        var _299 = _296 + _298;
        var _300 = FHEAP[_213];
        var _301 = _300 * _266;
        var _302 = _299 + _301;
        var _303 = FHEAP[_219];
        var _304 = _303 * _264;
        var _305 = FHEAP[_216];
        var _306 = _305 * _265;
        var _307 = _304 + _306;
        var _308 = FHEAP[_211];
        var _309 = _308 * _266;
        var _310 = _307 + _309;
        var _311 = FHEAP[_218];
        var _312 = _311 * _264;
        var _313 = FHEAP[_215];
        var _314 = _313 * _265;
        var _315 = _312 + _314;
        var _316 = FHEAP[_209];
        var _317 = _316 * _266;
        var _318 = _315 + _317;
        FHEAP[_scevgep242243] = _318;
        FHEAP[_scevgep244] = _310;
        FHEAP[_scevgep245] = _302;
        FHEAP[_scevgep246] = 0;
        var _319 = _231 + 1;
        var _exitcond235 = _319 == _206;
        if (_exitcond235) { __lastLabel__ = 8; __label__ = 2548; /* _bb49_bb50_loopexit_crit_edge */ break _bb43$13885; } else { __lastLabel__ = 8; __label__ = 8; /* _bb43 */ continue _bb43$13885; }
      }
      var _tmp234 = _206 + _numSampleDirections_1;
      __lastLabel__ = 2548; ;
    }
    else {
      __lastLabel__ = 68; ;
    }
    var _numSampleDirections_3 = __lastLabel__ == 68 ? _numSampleDirections_1 : (_tmp234);
    var _320 = IHEAP[_82];
    var _321 = _320+68;
    var _322 = IHEAP[_321];
    var _323 = _322;
    var _324 = _seperatingAxisInABatch;
    var _325 = _supportVerticesABatch;
    FUNCTION_TABLE[_323](_convexA, _324, _325, _numSampleDirections_3);
    var _326 = IHEAP[_201];
    var _327 = _326+68;
    var _328 = IHEAP[_327];
    var _329 = _328;
    var _330 = _seperatingAxisInBBatch;
    var _331 = _supportVerticesBBatch;
    FUNCTION_TABLE[_329](_convexB, _330, _331, _numSampleDirections_3);
    var _332 = _numSampleDirections_3 > 0;
    ;
    _bb_nph203$_bb69$13889: do { 
      if (_332) {
        __lastLabel__ = 975; ;
        var _toBool54 = _iftmp_120_0 == 0;
        var _333 = _transA+32;
        var _334 = _transA+32+4;
        var _335 = _transA+32+8;
        var _336 = _transA+48+8;
        var _337 = _transA+16;
        var _338 = _transA+16+4;
        var _339 = _transA+16+8;
        var _340 = _transA+48+4;
        var _341 = _transA;
        var _342 = _transA+4;
        var _343 = _transA+8;
        var _344 = _transA+48;
        var _345 = _transB+32;
        var _346 = _transB+32+4;
        var _347 = _transB+32+8;
        var _348 = _transB+48+8;
        var _349 = _transB+16;
        var _350 = _transB+16+4;
        var _351 = _transB+16+8;
        var _352 = _transB+48+4;
        var _353 = _transB;
        var _354 = _transB+4;
        var _355 = _transB+8;
        var _356 = _transB+48;
        __lastLabel__ = 2550; ;
        _bb51$13891: while(1) { // _bb51
          var _i_1202 = __lastLabel__ == 2550 ? 0 : (_444);
          var _minProj_1201 = __lastLabel__ == 2550 ? 999999984306749400 : (_minProj_0);
          var _minNorm_0_3_1194 = __lastLabel__ == 2550 ? 0 : (_minNorm_0_3_0);
          var _minNorm_0_2_1193 = __lastLabel__ == 2550 ? 0 : (_minNorm_0_2_0);
          var _minNorm_0_1_1192 = __lastLabel__ == 2550 ? 0 : (_minNorm_0_1_0);
          var _minNorm_0_0_1191 = __lastLabel__ == 2550 ? 0 : (_minNorm_0_0_0);
          var _scevgep261262 = __ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+_i_1202*16;
          var _scevgep263 = __ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+_i_1202*16+4;
          var _scevgep264 = __ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+_i_1202*16+8;
          var _scevgep265 = __ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+_i_1202*16+12;
          var _357 = __ZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEv();
          var _358 = FHEAP[_scevgep261262];
          var _359 = FHEAP[_scevgep263];
          var _360 = FHEAP[_scevgep264];
          var _361 = FHEAP[_scevgep265];
          var _norm53_0_2_0 = _toBool54 ? _360 : 0;
          var _362 = _358 * _358;
          var _363 = _359 * _359;
          var _364 = _362 + _363;
          var _365 = _norm53_0_2_0 * _norm53_0_2_0;
          var _366 = _364 + _365;
          var _367 = _366;
          var _368 = _367 > 0.01;
          ;
          _bb58$_bb67$13893: do { 
            if (_368) {
              __lastLabel__ = 1276; ;
              var _scevgep260 = _supportVerticesBBatch+_i_1202*16+8;
              var _scevgep259 = _supportVerticesBBatch+_i_1202*16+4;
              var _scevgep257258 = _supportVerticesBBatch+_i_1202*16;
              var _scevgep256 = _supportVerticesABatch+_i_1202*16+8;
              var _scevgep255 = _supportVerticesABatch+_i_1202*16+4;
              var _scevgep253254 = _supportVerticesABatch+_i_1202*16;
              var _369 = FHEAP[_scevgep253254];
              var _370 = FHEAP[_scevgep255];
              var _371 = FHEAP[_scevgep256];
              var _372 = FHEAP[_scevgep257258];
              var _373 = FHEAP[_scevgep259];
              var _374 = FHEAP[_scevgep260];
              var _375 = FHEAP[_333];
              var _376 = _375 * _369;
              var _377 = FHEAP[_334];
              var _378 = _377 * _370;
              var _379 = _376 + _378;
              var _380 = FHEAP[_335];
              var _381 = _380 * _371;
              var _382 = _379 + _381;
              var _383 = FHEAP[_336];
              var _384 = _382 + _383;
              var _385 = FHEAP[_337];
              var _386 = _385 * _369;
              var _387 = FHEAP[_338];
              var _388 = _387 * _370;
              var _389 = _386 + _388;
              var _390 = FHEAP[_339];
              var _391 = _390 * _371;
              var _392 = _389 + _391;
              var _393 = FHEAP[_340];
              var _394 = _392 + _393;
              var _395 = FHEAP[_341];
              var _396 = _395 * _369;
              var _397 = FHEAP[_342];
              var _398 = _397 * _370;
              var _399 = _396 + _398;
              var _400 = FHEAP[_343];
              var _401 = _400 * _371;
              var _402 = _399 + _401;
              var _403 = FHEAP[_344];
              var _404 = _402 + _403;
              var _405 = FHEAP[_345];
              var _406 = _405 * _372;
              var _407 = FHEAP[_346];
              var _408 = _407 * _373;
              var _409 = _406 + _408;
              var _410 = FHEAP[_347];
              var _411 = _410 * _374;
              var _412 = _409 + _411;
              var _413 = FHEAP[_348];
              var _414 = _412 + _413;
              var _415 = FHEAP[_349];
              var _416 = _415 * _372;
              var _417 = FHEAP[_350];
              var _418 = _417 * _373;
              var _419 = _416 + _418;
              var _420 = FHEAP[_351];
              var _421 = _420 * _374;
              var _422 = _419 + _421;
              var _423 = FHEAP[_352];
              var _424 = _422 + _423;
              var _425 = FHEAP[_353];
              var _426 = _425 * _372;
              var _427 = FHEAP[_354];
              var _428 = _427 * _373;
              var _429 = _426 + _428;
              var _430 = FHEAP[_355];
              var _431 = _430 * _374;
              var _432 = _429 + _431;
              var _433 = FHEAP[_356];
              var _434 = _432 + _433;
              var _pWorld_0_2_0 = _toBool54 ? _384 : 0;
              var _qWorld_0_2_0 = _toBool54 ? _414 : 0;
              var _435 = _qWorld_0_2_0 - _pWorld_0_2_0;
              var _436 = _424 - _394;
              var _437 = _434 - _404;
              var _438 = _358 * _437;
              var _439 = _359 * _436;
              var _440 = _438 + _439;
              var _441 = _norm53_0_2_0 * _435;
              var _442 = _440 + _441;
              var _443 = _442 < _minProj_1201;
              if (_443) { __lastLabel__ = 10; ; } else { __lastLabel__ = 10; __label__ = 1032; /* _bb67 */ break _bb58$_bb67$13893; }
              __lastLabel__ = 1348; ;
            }
            else {
              __lastLabel__ = 1276; ;
            }
          } while(0);
          var _minNorm_0_0_0 = __lastLabel__ == 1348 ? _358 : (__lastLabel__ == 10 ? _minNorm_0_0_1191 : (_minNorm_0_0_1191));
          var _minNorm_0_1_0 = __lastLabel__ == 1348 ? _359 : (__lastLabel__ == 10 ? _minNorm_0_1_1192 : (_minNorm_0_1_1192));
          var _minNorm_0_2_0 = __lastLabel__ == 1348 ? _norm53_0_2_0 : (__lastLabel__ == 10 ? _minNorm_0_2_1193 : (_minNorm_0_2_1193));
          var _minNorm_0_3_0 = __lastLabel__ == 1348 ? _361 : (__lastLabel__ == 10 ? _minNorm_0_3_1194 : (_minNorm_0_3_1194));
          var _minProj_0 = __lastLabel__ == 1348 ? _442 : (__lastLabel__ == 10 ? _minProj_1201 : (_minProj_1201));
          var _444 = _i_1202 + 1;
          var _exitcond252 = _444 == _numSampleDirections_3;
          if (_exitcond252) { __lastLabel__ = 1032; __label__ = 2552; /* _bb69 */ break _bb_nph203$_bb69$13889; } else { __lastLabel__ = 1032; __label__ = 1276; /* _bb51 */ continue _bb51$13891; }
        }
      }
      else {
        __lastLabel__ = 975; ;
      }
    } while(0);
    var _minProj_1_lcssa = __lastLabel__ == 975 ? 999999984306749400 : (_minProj_0);
    var _minNorm_0_3_1_lcssa = __lastLabel__ == 975 ? 0 : (_minNorm_0_3_0);
    var _minNorm_0_2_1_lcssa = __lastLabel__ == 975 ? 0 : (_minNorm_0_2_0);
    var _minNorm_0_1_1_lcssa = __lastLabel__ == 975 ? 0 : (_minNorm_0_1_0);
    var _minNorm_0_0_1_lcssa = __lastLabel__ == 975 ? 0 : (_minNorm_0_0_0);
    var _445 = __ZNK13btConvexShape19getMarginNonVirtualEv(_convexA);
    var _446 = __ZNK13btConvexShape19getMarginNonVirtualEv(_convexB);
    var _447 = _minProj_1_lcssa < 0;
    ;
    if (_447) {
      ;
      STACKTOP = __stackBase__;
      return 0;
    }
    else {
      ;
      var _448 = __ZNK13btConvexShape19getMarginNonVirtualEv(_convexA);
      var _449 = __ZNK13btConvexShape19getMarginNonVirtualEv(_convexB);
      var _450 = _448 + _449;
      var _451 = _450 + 0.5;
      var _452 = _451 + _minProj_1_lcssa;
      __ZN17btGjkPairDetectorC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_gjkdet, _convexA, _convexB, _simplexSolver, 0);
      var _453 = _minNorm_0_2_1_lcssa * _452;
      var _454 = _minNorm_0_1_1_lcssa * _452;
      var _455 = _minNorm_0_0_1_lcssa * _452;
      var _456 = _input+128;
      var _457 = _input+132;
      IHEAP[_457] = 0;
      var _458 = _transA+48+8;
      var _459 = FHEAP[_458];
      var _460 = _459 + _453;
      var _461 = _transA+48+4;
      var _462 = FHEAP[_461];
      var _463 = _462 + _454;
      var _464 = _transA+48;
      var _465 = FHEAP[_464];
      var _466 = _465 + _455;
      var _467 = _transA;
      var _468 = FHEAP[_467];
      var _469 = _transA+4;
      var _470 = FHEAP[_469];
      var _471 = _transA+8;
      var _472 = FHEAP[_471];
      var _473 = _transA+12;
      var _474 = FHEAP[_473];
      var _475 = _transA+16;
      var _476 = FHEAP[_475];
      var _477 = _transA+16+4;
      var _478 = FHEAP[_477];
      var _479 = _transA+16+8;
      var _480 = FHEAP[_479];
      var _481 = _transA+16+12;
      var _482 = FHEAP[_481];
      var _483 = _transA+32;
      var _484 = FHEAP[_483];
      var _485 = _transA+32+4;
      var _486 = FHEAP[_485];
      var _487 = _transA+32+8;
      var _488 = FHEAP[_487];
      var _489 = _transA+32+12;
      var _490 = FHEAP[_489];
      var _491 = _input;
      FHEAP[_491] = _468;
      var _492 = _input+4;
      FHEAP[_492] = _470;
      var _493 = _input+8;
      FHEAP[_493] = _472;
      var _494 = _input+12;
      FHEAP[_494] = _474;
      var _495 = _input+16;
      FHEAP[_495] = _476;
      var _496 = _input+16+4;
      FHEAP[_496] = _478;
      var _497 = _input+16+8;
      FHEAP[_497] = _480;
      var _498 = _input+16+12;
      FHEAP[_498] = _482;
      var _499 = _input+32;
      FHEAP[_499] = _484;
      var _500 = _input+32+4;
      FHEAP[_500] = _486;
      var _501 = _input+32+8;
      FHEAP[_501] = _488;
      var _502 = _input+32+12;
      FHEAP[_502] = _490;
      var _503 = _input+48;
      FHEAP[_503] = _466;
      var _504 = _input+48+4;
      FHEAP[_504] = _463;
      var _505 = _input+48+8;
      FHEAP[_505] = _460;
      var _506 = _input+48+12;
      FHEAP[_506] = 0;
      var _507 = _input+64;
      var _508 = _transB;
      var _509 = FHEAP[_508];
      FHEAP[_507] = _509;
      var _510 = _input+64+4;
      var _511 = _transB+4;
      var _512 = FHEAP[_511];
      FHEAP[_510] = _512;
      var _513 = _input+64+8;
      var _514 = _transB+8;
      var _515 = FHEAP[_514];
      FHEAP[_513] = _515;
      var _516 = _input+64+12;
      var _517 = _transB+12;
      var _518 = FHEAP[_517];
      FHEAP[_516] = _518;
      var _519 = _input+64+16;
      var _520 = _transB+16;
      var _521 = FHEAP[_520];
      FHEAP[_519] = _521;
      var _522 = _input+64+16+4;
      var _523 = _transB+16+4;
      var _524 = FHEAP[_523];
      FHEAP[_522] = _524;
      var _525 = _input+64+16+8;
      var _526 = _transB+16+8;
      var _527 = FHEAP[_526];
      FHEAP[_525] = _527;
      var _528 = _input+64+16+12;
      var _529 = _transB+16+12;
      var _530 = FHEAP[_529];
      FHEAP[_528] = _530;
      var _531 = _input+64+32;
      var _532 = _transB+32;
      var _533 = FHEAP[_532];
      FHEAP[_531] = _533;
      var _534 = _input+64+32+4;
      var _535 = _transB+32+4;
      var _536 = FHEAP[_535];
      FHEAP[_534] = _536;
      var _537 = _input+64+32+8;
      var _538 = _transB+32+8;
      var _539 = FHEAP[_538];
      FHEAP[_537] = _539;
      var _540 = _input+64+32+12;
      var _541 = _transB+32+12;
      var _542 = FHEAP[_541];
      FHEAP[_540] = _542;
      var _543 = _input+64+48;
      var _544 = _transB+48;
      var _545 = FHEAP[_544];
      FHEAP[_543] = _545;
      var _546 = _input+64+48+4;
      var _547 = _transB+48+4;
      var _548 = FHEAP[_547];
      FHEAP[_546] = _548;
      var _549 = _input+64+48+8;
      var _550 = _transB+48+8;
      var _551 = FHEAP[_550];
      FHEAP[_549] = _551;
      var _552 = _input+64+48+12;
      var _553 = _transB+48+12;
      var _554 = FHEAP[_553];
      FHEAP[_552] = _554;
      FHEAP[_456] = 999999984306749400;
      var _555 = _res;
      IHEAP[_555] = __ZTVZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocE20btIntermediateResult+8;
      var _556 = _res+40;
      IHEAP[_556] = 0;
      var _557 = 0 - _minNorm_0_2_1_lcssa;
      var _558 = 0 - _minNorm_0_1_1_lcssa;
      var _559 = 0 - _minNorm_0_0_1_lcssa;
      var _560 = _gjkdet+4;
      FHEAP[_560] = _559;
      var _561 = _gjkdet+4+4;
      FHEAP[_561] = _558;
      var _562 = _gjkdet+4+8;
      FHEAP[_562] = _557;
      var _563 = _gjkdet+4+12;
      FHEAP[_563] = 0;
      var _564 = _res;
      (function() { try { __THREW__ = false; return __ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(_gjkdet, _input, _564, _debugDraw, 0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
      if (__label__ == 345) {
        var _565 = _res+36;
        var _566 = FHEAP[_565];
        var _567 = _452 - _566;
        var _568 = IHEAP[_556];
        var _toBool72 = _568 == 0;
        ;
        if (_toBool72) {
          ;
          STACKTOP = __stackBase__;
          return _568;
        }
        else {
          ;
          var _569 = _minNorm_0_2_1_lcssa * _567;
          var _570 = _minNorm_0_1_1_lcssa * _567;
          var _571 = _minNorm_0_0_1_lcssa * _567;
          var _572 = _res+20+8;
          var _573 = FHEAP[_572];
          var _574 = _573 - _569;
          var _575 = _res+20+4;
          var _576 = FHEAP[_575];
          var _577 = _576 - _570;
          var _578 = _res+20;
          var _579 = FHEAP[_578];
          var _580 = _579 - _571;
          var _581 = _pa;
          FHEAP[_581] = _580;
          var _582 = _pa+4;
          FHEAP[_582] = _577;
          var _583 = _pa+8;
          FHEAP[_583] = _574;
          var _584 = _pa+12;
          FHEAP[_584] = 0;
          var _585 = _pb;
          FHEAP[_585] = _579;
          var _586 = _pb+4;
          FHEAP[_586] = _576;
          var _587 = _pb+8;
          FHEAP[_587] = _573;
          var _588 = _pb+12;
          var _589 = _res+20+12;
          var _590 = FHEAP[_589];
          FHEAP[_588] = _590;
          var _591 = _v;
          FHEAP[_591] = _minNorm_0_0_1_lcssa;
          var _592 = _v+4;
          FHEAP[_592] = _minNorm_0_1_1_lcssa;
          var _593 = _v+8;
          FHEAP[_593] = _minNorm_0_2_1_lcssa;
          var _594 = _v+12;
          FHEAP[_594] = _minNorm_0_3_1_lcssa;
          STACKTOP = __stackBase__;
          return _568;
        }
      }
      else if (__label__ == 254) {
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select83 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        IHEAP[_555] = __ZTVZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocE20btIntermediateResult+8;
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    }
  }
  __ZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAlloc.__index__ = Runtime.getFunctionIndex(__ZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAlloc, "__ZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAlloc");
  
  
  function __ZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEv() {
    ;
    var __label__;
    var _0 = IHEAP[__ZGVZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections];
    var _1 = _0 == 0;
    ;
    _bb$_bb5$13908: do { 
      if (_1) {
        ;
        var _2 = ___cxa_guard_acquire(__ZGVZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections);
        var _3 = _2 == 0;
        if (_3) { __label__ = 82; /* _bb5 */ break _bb$_bb5$13908; }
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+4] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+8] = -1;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+16] = 0.7236080169677734;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+16+4] = -0.5257250070571899;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+16+8] = -0.44721901416778564;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+16+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+32] = -0.2763879895210266;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+32+4] = -0.8506489992141724;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+32+8] = -0.44721901416778564;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+32+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+48] = -0.8944259881973267;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+48+4] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+48+8] = -0.4472160041332245;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+48+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+64] = -0.2763879895210266;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+64+4] = 0.8506489992141724;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+64+8] = -0.44721999764442444;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+64+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+80] = 0.7236080169677734;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+80+4] = 0.5257250070571899;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+80+8] = -0.44721901416778564;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+80+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+96] = 0.2763879895210266;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+96+4] = -0.8506489992141724;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+96+8] = 0.44721999764442444;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+96+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+112] = -0.7236080169677734;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+112+4] = -0.5257250070571899;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+112+8] = 0.44721901416778564;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+112+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+128] = -0.7236080169677734;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+128+4] = 0.5257250070571899;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+128+8] = 0.44721901416778564;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+128+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+144] = 0.2763879895210266;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+144+4] = 0.8506489992141724;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+144+8] = 0.44721901416778564;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+144+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+160] = 0.8944259881973267;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+160+4] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+160+8] = 0.4472160041332245;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+160+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+176] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+176+4] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+176+8] = 1;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+176+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+192] = 0.4253230094909668;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+192+4] = -0.3090110123157501;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+192+8] = -0.8506540060043335;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+192+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+208] = -0.16245600581169128;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+208+4] = -0.49999499320983887;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+208+8] = -0.8506540060043335;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+208+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+224] = 0.2628690004348755;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+224+4] = -0.8090119957923889;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+224+8] = -0.525738000869751;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+224+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+240] = 0.4253230094909668;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+240+4] = 0.3090110123157501;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+240+8] = -0.8506540060043335;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+240+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+256] = 0.8506479859352112;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+256+4] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+256+8] = -0.5257359743118286;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+256+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+272] = -0.5257300138473511;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+272+4] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+272+8] = -0.8506519794464111;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+272+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+288] = -0.6881899833679199;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+288+4] = -0.49999698996543884;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+288+8] = -0.5257359743118286;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+288+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+304] = -0.16245600581169128;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+304+4] = 0.49999499320983887;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+304+8] = -0.8506540060043335;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+304+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+320] = -0.6881899833679199;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+320+4] = 0.49999698996543884;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+320+8] = -0.5257359743118286;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+320+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+336] = 0.2628690004348755;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+336+4] = 0.8090119957923889;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+336+8] = -0.525738000869751;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+336+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+352] = 0.9510579705238342;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+352+4] = 0.3090130090713501;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+352+8] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+352+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+368] = 0.9510579705238342;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+368+4] = -0.3090130090713501;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+368+8] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+368+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+384] = 0.5877860188484192;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+384+4] = -0.80901700258255;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+384+8] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+384+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+400] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+400+4] = -1;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+400+8] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+400+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+416] = -0.5877860188484192;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+416+4] = -0.80901700258255;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+416+8] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+416+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+432] = -0.9510579705238342;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+432+4] = -0.3090130090713501;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+432+8] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+432+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+448] = -0.9510579705238342;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+448+4] = 0.3090130090713501;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+448+8] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+448+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+464] = -0.5877860188484192;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+464+4] = 0.80901700258255;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+464+8] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+464+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+480] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+480+4] = 1;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+480+8] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+480+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+496] = 0.5877860188484192;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+496+4] = 0.80901700258255;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+496+8] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+496+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+512] = 0.6881899833679199;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+512+4] = -0.49999698996543884;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+512+8] = 0.5257359743118286;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+512+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+528] = -0.2628690004348755;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+528+4] = -0.8090119957923889;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+528+8] = 0.525738000869751;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+528+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+544] = -0.8506479859352112;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+544+4] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+544+8] = 0.5257359743118286;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+544+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+560] = -0.2628690004348755;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+560+4] = 0.8090119957923889;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+560+8] = 0.525738000869751;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+560+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+576] = 0.6881899833679199;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+576+4] = 0.49999698996543884;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+576+8] = 0.5257359743118286;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+576+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+592] = 0.5257300138473511;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+592+4] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+592+8] = 0.8506519794464111;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+592+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+608] = 0.16245600581169128;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+608+4] = -0.49999499320983887;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+608+8] = 0.8506540060043335;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+608+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+624] = -0.4253230094909668;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+624+4] = -0.3090110123157501;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+624+8] = 0.8506540060043335;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+624+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+640] = -0.4253230094909668;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+640+4] = 0.3090110123157501;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+640+8] = 0.8506540060043335;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+640+12] = 0;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+656] = 0.16245600581169128;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+656+4] = 0.49999499320983887;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+656+8] = 0.8506540060043335;
        FHEAP[__ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections+656+12] = 0;
        ___cxa_guard_release(__ZGVZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections);
        ;
        return __ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections;
      }
    } while(0);
    ;
    return __ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections;
  }
  __ZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEv.__index__ = Runtime.getFunctionIndex(__ZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEv, "__ZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEv");
  
  
  function __ZN20btPersistentManifold14clearUserCacheER15btManifoldPoint(_this, _pt) {
    ;
    var __label__;
    var _0 = _pt+108;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _return$_bb$13915: do { 
      if (!_2) {
        ;
        var _3 = IHEAP[_gContactDestroyedCallback];
        var _4 = _3 != 0;
        if (!(_4)) { __label__ = 44; /* _return */ break _return$_bb$13915; }
        var _5 = FUNCTION_TABLE[_3](_1);
        IHEAP[_0] = 0;
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __ZN20btPersistentManifold14clearUserCacheER15btManifoldPoint.__index__ = Runtime.getFunctionIndex(__ZN20btPersistentManifold14clearUserCacheER15btManifoldPoint, "__ZN20btPersistentManifold14clearUserCacheER15btManifoldPoint");
  
  
  function __ZN20btPersistentManifold16sortCachedPointsERK15btManifoldPoint(_this, _pt) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _pt+80;
    var _1 = FHEAP[_0];
    var _scevgep = _this+4+80;
    var _2 = FHEAP[_scevgep];
    var _3 = _2 < _1;
    var _maxPenetrationIndex_0 = _3 ? 0 : -1;
    var _maxPenetration_0 = _3 ? _2 : _1;
    var _scevgep_1 = _this+4+276+80;
    var _4 = FHEAP[_scevgep_1];
    var _5 = _4 < _maxPenetration_0;
    var _maxPenetrationIndex_0_1 = _5 ? 1 : _maxPenetrationIndex_0;
    var _maxPenetration_0_1 = _5 ? _4 : _maxPenetration_0;
    var _scevgep_2 = _this+4+552+80;
    var _6 = FHEAP[_scevgep_2];
    var _7 = _6 < _maxPenetration_0_1;
    var _maxPenetrationIndex_0_2 = _7 ? 2 : _maxPenetrationIndex_0_1;
    var _maxPenetration_0_2 = _7 ? _6 : _maxPenetration_0_1;
    var _scevgep_3 = _this+4+828+80;
    var _8 = FHEAP[_scevgep_3];
    var _9 = _8 < _maxPenetration_0_2;
    ;
    _bb5$_bb4$13920: do { 
      if (_9) {
        __lastLabel__ = 130; __label__ = 82; /* _bb5 */ 
      }
      else {
        __lastLabel__ = 130; ;
        var _cond = _maxPenetrationIndex_0_2 == 0;
        if (_cond) { __lastLabel__ = 61; ; } else { __lastLabel__ = 61; __label__ = 82; /* _bb5 */ break _bb5$_bb4$13920; }
        var __phi_trans_insert = _pt+8;
        var __pre = FHEAP[__phi_trans_insert];
        var __phi_trans_insert49 = _pt+4;
        var __pre50 = FHEAP[__phi_trans_insert49];
        var __phi_trans_insert51 = _pt;
        var __pre52 = FHEAP[__phi_trans_insert51];
        var __phi_trans_insert53 = _this+4+828+8;
        var __pre54 = FHEAP[__phi_trans_insert53];
        var __phi_trans_insert55 = _this+4+552+8;
        var __pre56 = FHEAP[__phi_trans_insert55];
        var __phi_trans_insert57 = _this+4+828+4;
        var __pre58 = FHEAP[__phi_trans_insert57];
        var __phi_trans_insert59 = _this+4+552+4;
        var __pre60 = FHEAP[__phi_trans_insert59];
        var __phi_trans_insert61 = _this+4+828;
        var __pre62 = FHEAP[__phi_trans_insert61];
        var __phi_trans_insert63 = _this+4+552;
        var __pre64 = FHEAP[__phi_trans_insert63];
        __lastLabel__ = 2553; __label__ = 2; /* _bb7 */ break _bb5$_bb4$13920;
      }
    } while(0);
    _bb5$_bb7$13923: do { 
      if (__label__ == 82) {
        var _maxPenetrationIndex_0_3109 = __lastLabel__ == 61 ? _maxPenetrationIndex_0_2 : (3);
        var _10 = _pt+8;
        var _11 = FHEAP[_10];
        var _12 = _this+4+276+8;
        var _13 = FHEAP[_12];
        var _14 = _11 - _13;
        var _15 = _pt+4;
        var _16 = FHEAP[_15];
        var _17 = _this+4+276+4;
        var _18 = FHEAP[_17];
        var _19 = _16 - _18;
        var _20 = _pt;
        var _21 = FHEAP[_20];
        var _22 = _this+4+276;
        var _23 = FHEAP[_22];
        var _24 = _21 - _23;
        var _25 = _this+4+828+8;
        var _26 = FHEAP[_25];
        var _27 = _this+4+552+8;
        var _28 = FHEAP[_27];
        var _29 = _26 - _28;
        var _30 = _this+4+828+4;
        var _31 = FHEAP[_30];
        var _32 = _this+4+552+4;
        var _33 = FHEAP[_32];
        var _34 = _31 - _33;
        var _35 = _this+4+828;
        var _36 = FHEAP[_35];
        var _37 = _this+4+552;
        var _38 = FHEAP[_37];
        var _39 = _36 - _38;
        var _40 = _24 * _34;
        var _41 = _19 * _39;
        var _42 = _40 - _41;
        var _43 = _14 * _39;
        var _44 = _24 * _29;
        var _45 = _43 - _44;
        var _46 = _19 * _29;
        var _47 = _14 * _34;
        var _48 = _46 - _47;
        var _49 = _48 * _48;
        var _50 = _45 * _45;
        var _51 = _49 + _50;
        var _52 = _42 * _42;
        var _53 = _51 + _52;
        var _cond17 = _maxPenetrationIndex_0_3109 == 1;
        if (_cond17) { __lastLabel__ = 82; ; } else { __lastLabel__ = 82; __label__ = 2; /* _bb7 */ break _bb5$_bb7$13923; }
        var __phi_trans_insert71 = _this+4+8;
        var __pre72 = FHEAP[__phi_trans_insert71];
        var __phi_trans_insert73 = _this+4+4;
        var __pre74 = FHEAP[__phi_trans_insert73];
        var __phi_trans_insert75 = _this+4;
        var __pre76 = FHEAP[__phi_trans_insert75];
        __lastLabel__ = 2554; __label__ = 150; /* _bb10 */ break _bb5$_bb7$13923;
      }
    } while(0);
    _bb10$_bb7$13926: do { 
      if (__label__ == 2) {
        var _maxPenetrationIndex_0_3108 = __lastLabel__ == 2553 ? 0 : (_maxPenetrationIndex_0_3109);
        var _54 = __lastLabel__ == 2553 ? __pre64 : (_38);
        var _55 = __lastLabel__ == 2553 ? __pre62 : (_36);
        var _56 = __lastLabel__ == 2553 ? __pre60 : (_33);
        var _57 = __lastLabel__ == 2553 ? __pre58 : (_31);
        var _58 = __lastLabel__ == 2553 ? __pre56 : (_28);
        var _59 = __lastLabel__ == 2553 ? __pre54 : (_26);
        var _60 = __lastLabel__ == 2553 ? __pre52 : (_21);
        var _61 = __lastLabel__ == 2553 ? __pre50 : (_16);
        var _62 = __lastLabel__ == 2553 ? __pre : (_11);
        var _res0_0 = __lastLabel__ == 2553 ? 0 : (_53);
        var _63 = _this+4+8;
        var _64 = FHEAP[_63];
        var _65 = _62 - _64;
        var _66 = _this+4+4;
        var _67 = FHEAP[_66];
        var _68 = _61 - _67;
        var _69 = _this+4;
        var _70 = FHEAP[_69];
        var _71 = _60 - _70;
        var _72 = _59 - _58;
        var _73 = _57 - _56;
        var _74 = _55 - _54;
        var _75 = _71 * _73;
        var _76 = _68 * _74;
        var _77 = _75 - _76;
        var _78 = _65 * _74;
        var _79 = _71 * _72;
        var _80 = _78 - _79;
        var _81 = _68 * _72;
        var _82 = _65 * _73;
        var _83 = _81 - _82;
        var _84 = _83 * _83;
        var _85 = _80 * _80;
        var _86 = _84 + _85;
        var _87 = _77 * _77;
        var _88 = _86 + _87;
        var _cond18 = _maxPenetrationIndex_0_3108 == 2;
        var __phi_trans_insert65 = _this+4+276+8;
        var __pre66 = FHEAP[__phi_trans_insert65];
        var __phi_trans_insert67 = _this+4+276+4;
        var __pre68 = FHEAP[__phi_trans_insert67];
        var __phi_trans_insert69 = _this+4+276;
        var __pre70 = FHEAP[__phi_trans_insert69];
        if (_cond18) { __lastLabel__ = 2; __label__ = 108; /* _bb13 */ break _bb10$_bb7$13926; } else { __lastLabel__ = 2; __label__ = 150; /* _bb10 */ break _bb10$_bb7$13926; }
      }
    } while(0);
    _bb10$_bb13$13928: do { 
      if (__label__ == 150) {
        var _maxPenetrationIndex_0_3107 = __lastLabel__ == 2554 ? 1 : (_maxPenetrationIndex_0_3108);
        var _89 = __lastLabel__ == 2554 ? _23 : (__pre70);
        var _90 = __lastLabel__ == 2554 ? _18 : (__pre68);
        var _91 = __lastLabel__ == 2554 ? _13 : (__pre66);
        var _92 = __lastLabel__ == 2554 ? __pre76 : (_70);
        var _93 = __lastLabel__ == 2554 ? __pre74 : (_67);
        var _94 = __lastLabel__ == 2554 ? __pre72 : (_64);
        var _95 = __lastLabel__ == 2554 ? _36 : (_55);
        var _96 = __lastLabel__ == 2554 ? _31 : (_57);
        var _97 = __lastLabel__ == 2554 ? _26 : (_59);
        var _98 = __lastLabel__ == 2554 ? _21 : (_60);
        var _99 = __lastLabel__ == 2554 ? _16 : (_61);
        var _100 = __lastLabel__ == 2554 ? _11 : (_62);
        var _101 = __lastLabel__ == 2554 ? _38 : (_54);
        var _102 = __lastLabel__ == 2554 ? _33 : (_56);
        var _103 = __lastLabel__ == 2554 ? _28 : (_58);
        var _res1_0 = __lastLabel__ == 2554 ? 0 : (_88);
        var _res0_1 = __lastLabel__ == 2554 ? _53 : (_res0_0);
        var _104 = _100 - _94;
        var _105 = _99 - _93;
        var _106 = _98 - _92;
        var _107 = _97 - _91;
        var _108 = _96 - _90;
        var _109 = _95 - _89;
        var _110 = _106 * _108;
        var _111 = _105 * _109;
        var _112 = _110 - _111;
        var _113 = _104 * _109;
        var _114 = _106 * _107;
        var _115 = _113 - _114;
        var _116 = _105 * _107;
        var _117 = _104 * _108;
        var _118 = _116 - _117;
        var _119 = _118 * _118;
        var _120 = _115 * _115;
        var _121 = _119 + _120;
        var _122 = _112 * _112;
        var _123 = _121 + _122;
        var _124 = _maxPenetrationIndex_0_3107 == 3;
        if (_124) { __lastLabel__ = 150; __label__ = 153; /* _bb15 */ break _bb10$_bb13$13928; } else { __lastLabel__ = 150; __label__ = 108; /* _bb13 */ break _bb10$_bb13$13928; }
      }
    } while(0);
    if (__label__ == 108) {
      var _125 = __lastLabel__ == 150 ? _89 : (__pre70);
      var _126 = __lastLabel__ == 150 ? _90 : (__pre68);
      var _127 = __lastLabel__ == 150 ? _91 : (__pre66);
      var _128 = __lastLabel__ == 150 ? _101 : (_54);
      var _129 = __lastLabel__ == 150 ? _102 : (_56);
      var _130 = __lastLabel__ == 150 ? _103 : (_58);
      var _131 = __lastLabel__ == 150 ? _92 : (_70);
      var _132 = __lastLabel__ == 150 ? _98 : (_60);
      var _133 = __lastLabel__ == 150 ? _93 : (_67);
      var _134 = __lastLabel__ == 150 ? _99 : (_61);
      var _135 = __lastLabel__ == 150 ? _94 : (_64);
      var _136 = __lastLabel__ == 150 ? _100 : (_62);
      var _res2_0 = __lastLabel__ == 150 ? _123 : (0);
      var _res1_1 = __lastLabel__ == 150 ? _res1_0 : (_88);
      var _res0_2 = __lastLabel__ == 150 ? _res0_1 : (_res0_0);
      var _137 = _136 - _135;
      var _138 = _134 - _133;
      var _139 = _132 - _131;
      var _140 = _130 - _127;
      var _141 = _129 - _126;
      var _142 = _128 - _125;
      var _143 = _139 * _141;
      var _144 = _138 * _142;
      var _145 = _143 - _144;
      var _146 = _137 * _142;
      var _147 = _139 * _140;
      var _148 = _146 - _147;
      var _149 = _138 * _140;
      var _150 = _137 * _141;
      var _151 = _149 - _150;
      var _152 = _151 * _151;
      var _153 = _148 * _148;
      var _154 = _152 + _153;
      var _155 = _145 * _145;
      var _156 = _154 + _155;
      __lastLabel__ = 108; ;
    }
    var _res3_0 = __lastLabel__ == 108 ? _156 : (0);
    var _res2_1 = __lastLabel__ == 108 ? _res2_0 : (_123);
    var _res1_2 = __lastLabel__ == 108 ? _res1_1 : (_res1_0);
    var _res0_3 = __lastLabel__ == 108 ? _res0_2 : (_res0_1);
    var _157 = _fabsf(_res3_0);
    var _158 = _fabsf(_res2_1);
    var _159 = _fabsf(_res1_2);
    var _160 = _fabsf(_res0_3);
    var _161 = _160 > -999999984306749400;
    var _not__i = _161 ^ true;
    var _maxIndex_0_i_i = _not__i;
    var _maxVal_0_i_i = _161 ? _160 : -999999984306749400;
    var _162 = _159 > _maxVal_0_i_i;
    var _maxIndex_1_i_i = _162 ? 1 : _maxIndex_0_i_i;
    var _maxVal_1_i_i = _162 ? _159 : _maxVal_0_i_i;
    var _163 = _158 > _maxVal_1_i_i;
    var _maxIndex_2_i_i = _163 ? 2 : _maxIndex_1_i_i;
    var _maxVal_2_i_i = _163 ? _158 : _maxVal_1_i_i;
    var _164 = _157 > _maxVal_2_i_i;
    var _maxIndex_3_i_i = _164 ? 3 : _maxIndex_2_i_i;
    ;
    return _maxIndex_3_i_i;
  }
  __ZN20btPersistentManifold16sortCachedPointsERK15btManifoldPoint.__index__ = Runtime.getFunctionIndex(__ZN20btPersistentManifold16sortCachedPointsERK15btManifoldPoint, "__ZN20btPersistentManifold16sortCachedPointsERK15btManifoldPoint");
  
  
  function __ZN20btPersistentManifold16addManifoldPointERK15btManifoldPoint(_this, _newPoint) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+1116;
    var _1 = IHEAP[_0];
    var _2 = _1 == 4;
    ;
    _bb$_bb1$13934: do { 
      if (_2) {
        ;
        var _3 = __ZN20btPersistentManifold16sortCachedPointsERK15btManifoldPoint(_this, _newPoint);
        var _4 = _this+4+_3*276+108;
        var _5 = IHEAP[_4];
        var _6 = _5 == 0;
        if (_6) { __lastLabel__ = 60; __label__ = 0; /* _bb2 */ break _bb$_bb1$13934; } else { __lastLabel__ = 60; ; }
        var _7 = IHEAP[_gContactDestroyedCallback];
        var _8 = _7 == 0;
        if (_8) { __lastLabel__ = 131; __label__ = 0; /* _bb2 */ break _bb$_bb1$13934; } else { __lastLabel__ = 131; ; }
        var _9 = FUNCTION_TABLE[_7](_5);
        IHEAP[_4] = 0;
        __lastLabel__ = 132; ;
      }
      else {
        ;
        var _10 = _1 + 1;
        IHEAP[_0] = _10;
        __lastLabel__ = 75; ;
      }
    } while(0);
    var _insertIndex_0 = __lastLabel__ == 75 ? _1 : (__lastLabel__ == 60 ? _3 : (__lastLabel__ == 131 ? _3 : (_3)));
    var _11 = _insertIndex_0 < 0;
    var _insertIndex_1 = _11 ? 0 : _insertIndex_0;
    var _12 = _this+4+_insertIndex_1*276;
    var _13 = _12;
    var _14 = _newPoint;
    _llvm_memcpy_p0i8_p0i8_i32(_13, _14, 276, 4, false);
    ;
    return _insertIndex_1;
  }
  __ZN20btPersistentManifold16addManifoldPointERK15btManifoldPoint.__index__ = Runtime.getFunctionIndex(__ZN20btPersistentManifold16addManifoldPointERK15btManifoldPoint, "__ZN20btPersistentManifold16addManifoldPointERK15btManifoldPoint");
  
  
  function __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_(_this, _trA, _trB) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _this52 = _this;
    var _0 = _this+1116;
    var _1 = IHEAP[_0];
    var _i_049 = _1 + -1;
    var _2 = _i_049 > -1;
    ;
    if (_2) {
      __lastLabel__ = -1; ;
      var _3 = _trA+32;
      var _4 = _trA+32+4;
      var _5 = _trA+32+8;
      var _6 = _trA+48+8;
      var _7 = _trA+16;
      var _8 = _trA+16+4;
      var _9 = _trA+16+8;
      var _10 = _trA+48+4;
      var _11 = _trA;
      var _12 = _trA+4;
      var _13 = _trA+8;
      var _14 = _trA+48;
      var _15 = _trB+32;
      var _16 = _trB+32+4;
      var _17 = _trB+32+8;
      var _18 = _trB+48+8;
      var _19 = _trB+16;
      var _20 = _trB+16+4;
      var _21 = _trB+16+8;
      var _22 = _trB+48+4;
      var _23 = _trB;
      var _24 = _trB+4;
      var _25 = _trB+8;
      var _26 = _trB+48;
      var _tmp108 = _1 * 276;
      var _tmp109 = _tmp108 + -128;
      var _tmp113 = _tmp108 + -192;
      var _tmp117 = _tmp108 + -228;
      var _tmp121 = _tmp108 + -232;
      var _tmp125 = _tmp108 + -236;
      var _tmp129 = _tmp108 + -240;
      var _tmp133 = _tmp108 + -212;
      var _tmp137 = _tmp108 + -216;
      var _tmp141 = _tmp108 + -220;
      var _tmp145 = _tmp108 + -224;
      var _tmp149 = _tmp108 + -272;
      var _tmp153 = _tmp108 + -268;
      var _tmp157 = _tmp108 + -264;
      var _tmp161 = _tmp108 + -256;
      var _tmp165 = _tmp108 + -252;
      var _tmp169 = _tmp108 + -248;
      var _tmp173 = _tmp108 + -208;
      var _tmp177 = _tmp108 + -204;
      var _tmp181 = _tmp108 + -200;
      __lastLabel__ = 2557; ;
      _bb$13950: while(1) { // _bb
        var _indvar104 = __lastLabel__ == 2557 ? 0 : (_indvar_next105);
        var _tmp107 = _indvar104 * -276;
        var _tmp110 = _tmp109 + _tmp107;
        var _uglygep111 = _this52+_tmp110;
        var _uglygep111112 = _uglygep111;
        var _tmp114 = _tmp113 + _tmp107;
        var _uglygep115 = _this52+_tmp114;
        var _uglygep115116 = _uglygep115;
        var _tmp118 = _tmp117 + _tmp107;
        var _uglygep119 = _this52+_tmp118;
        var _uglygep119120 = _uglygep119;
        var _tmp122 = _tmp121 + _tmp107;
        var _uglygep123 = _this52+_tmp122;
        var _uglygep123124 = _uglygep123;
        var _tmp126 = _tmp125 + _tmp107;
        var _uglygep127 = _this52+_tmp126;
        var _uglygep127128 = _uglygep127;
        var _tmp130 = _tmp129 + _tmp107;
        var _uglygep131 = _this52+_tmp130;
        var _uglygep131132 = _uglygep131;
        var _tmp134 = _tmp133 + _tmp107;
        var _uglygep135 = _this52+_tmp134;
        var _uglygep135136 = _uglygep135;
        var _tmp138 = _tmp137 + _tmp107;
        var _uglygep139 = _this52+_tmp138;
        var _uglygep139140 = _uglygep139;
        var _tmp142 = _tmp141 + _tmp107;
        var _uglygep143 = _this52+_tmp142;
        var _uglygep143144 = _uglygep143;
        var _tmp146 = _tmp145 + _tmp107;
        var _uglygep147 = _this52+_tmp146;
        var _uglygep147148 = _uglygep147;
        var _tmp150 = _tmp149 + _tmp107;
        var _uglygep151 = _this52+_tmp150;
        var _uglygep151152 = _uglygep151;
        var _tmp154 = _tmp153 + _tmp107;
        var _uglygep155 = _this52+_tmp154;
        var _uglygep155156 = _uglygep155;
        var _tmp158 = _tmp157 + _tmp107;
        var _uglygep159 = _this52+_tmp158;
        var _uglygep159160 = _uglygep159;
        var _tmp162 = _tmp161 + _tmp107;
        var _uglygep163 = _this52+_tmp162;
        var _uglygep163164 = _uglygep163;
        var _tmp166 = _tmp165 + _tmp107;
        var _uglygep167 = _this52+_tmp166;
        var _uglygep167168 = _uglygep167;
        var _tmp170 = _tmp169 + _tmp107;
        var _uglygep171 = _this52+_tmp170;
        var _uglygep171172 = _uglygep171;
        var _tmp174 = _tmp173 + _tmp107;
        var _uglygep175 = _this52+_tmp174;
        var _uglygep175176 = _uglygep175;
        var _tmp178 = _tmp177 + _tmp107;
        var _uglygep179 = _this52+_tmp178;
        var _uglygep179180 = _uglygep179;
        var _tmp182 = _tmp181 + _tmp107;
        var _uglygep183 = _this52+_tmp182;
        var _uglygep183184 = _uglygep183;
        var _27 = FHEAP[_3];
        var _28 = FHEAP[_uglygep151152];
        var _29 = _27 * _28;
        var _30 = FHEAP[_4];
        var _31 = FHEAP[_uglygep155156];
        var _32 = _30 * _31;
        var _33 = _29 + _32;
        var _34 = FHEAP[_5];
        var _35 = FHEAP[_uglygep159160];
        var _36 = _34 * _35;
        var _37 = _33 + _36;
        var _38 = FHEAP[_6];
        var _39 = _37 + _38;
        var _40 = FHEAP[_7];
        var _41 = _40 * _28;
        var _42 = FHEAP[_8];
        var _43 = _42 * _31;
        var _44 = _41 + _43;
        var _45 = FHEAP[_9];
        var _46 = _45 * _35;
        var _47 = _44 + _46;
        var _48 = FHEAP[_10];
        var _49 = _47 + _48;
        var _50 = FHEAP[_11];
        var _51 = _50 * _28;
        var _52 = FHEAP[_12];
        var _53 = _52 * _31;
        var _54 = _51 + _53;
        var _55 = FHEAP[_13];
        var _56 = _55 * _35;
        var _57 = _54 + _56;
        var _58 = FHEAP[_14];
        var _59 = _57 + _58;
        FHEAP[_uglygep147148] = _59;
        FHEAP[_uglygep143144] = _49;
        FHEAP[_uglygep139140] = _39;
        FHEAP[_uglygep135136] = 0;
        var _60 = FHEAP[_15];
        var _61 = FHEAP[_uglygep163164];
        var _62 = _60 * _61;
        var _63 = FHEAP[_16];
        var _64 = FHEAP[_uglygep167168];
        var _65 = _63 * _64;
        var _66 = _62 + _65;
        var _67 = FHEAP[_17];
        var _68 = FHEAP[_uglygep171172];
        var _69 = _67 * _68;
        var _70 = _66 + _69;
        var _71 = FHEAP[_18];
        var _72 = _70 + _71;
        var _73 = FHEAP[_19];
        var _74 = _73 * _61;
        var _75 = FHEAP[_20];
        var _76 = _75 * _64;
        var _77 = _74 + _76;
        var _78 = FHEAP[_21];
        var _79 = _78 * _68;
        var _80 = _77 + _79;
        var _81 = FHEAP[_22];
        var _82 = _80 + _81;
        var _83 = FHEAP[_23];
        var _84 = _83 * _61;
        var _85 = FHEAP[_24];
        var _86 = _85 * _64;
        var _87 = _84 + _86;
        var _88 = FHEAP[_25];
        var _89 = _88 * _68;
        var _90 = _87 + _89;
        var _91 = FHEAP[_26];
        var _92 = _90 + _91;
        FHEAP[_uglygep131132] = _92;
        FHEAP[_uglygep127128] = _82;
        FHEAP[_uglygep123124] = _72;
        FHEAP[_uglygep119120] = 0;
        var _93 = FHEAP[_uglygep139140];
        var _94 = FHEAP[_uglygep123124];
        var _95 = _93 - _94;
        var _96 = FHEAP[_uglygep143144];
        var _97 = FHEAP[_uglygep127128];
        var _98 = _96 - _97;
        var _99 = FHEAP[_uglygep147148];
        var _100 = FHEAP[_uglygep131132];
        var _101 = _99 - _100;
        var _102 = FHEAP[_uglygep175176];
        var _103 = _101 * _102;
        var _104 = FHEAP[_uglygep179180];
        var _105 = _98 * _104;
        var _106 = _103 + _105;
        var _107 = FHEAP[_uglygep183184];
        var _108 = _95 * _107;
        var _109 = _106 + _108;
        FHEAP[_uglygep115116] = _109;
        var _110 = IHEAP[_uglygep111112];
        var _111 = _110 + 1;
        IHEAP[_uglygep111112] = _111;
        var _indvar_next105 = _indvar104 + 1;
        var _exitcond106 = _indvar_next105 == _1;
        if (_exitcond106) { __lastLabel__ = 60; __label__ = 2558; /* _bb2_bb3_crit_edge */ break _bb$13950; } else { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$13950; }
      }
      var __pre = IHEAP[_0];
      __lastLabel__ = 2558; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _112 = __lastLabel__ == 2558 ? __pre : (_1);
    var _i_147 = _112 + -1;
    var _113 = _i_147 > -1;
    ;
    _bb_nph$_return$13954: do { 
      if (_113) {
        ;
        var _114 = _this+1120;
        var _115 = _this+1112;
        var _116 = _this+1108;
        var _tmp53 = _112 * 276;
        var _tmp54 = _tmp53 + -192;
        var _tmp57 = _tmp53 + -272;
        var _tmp61 = _tmp53 + -164;
        var _tmp68 = _tmp53 + -200;
        var _tmp72 = _tmp53 + -204;
        var _tmp76 = _tmp53 + -208;
        var _tmp80 = _tmp53 + -216;
        var _tmp84 = _tmp53 + -220;
        var _tmp88 = _tmp53 + -224;
        var _tmp92 = _tmp53 + -232;
        var _tmp96 = _tmp53 + -236;
        var _tmp100 = _tmp53 + -240;
        __lastLabel__ = 130; ;
        _bb4$13956: while(1) { // _bb4
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp = _indvar * -276;
          var _tmp55 = _tmp54 + _tmp;
          var _uglygep = _this52+_tmp55;
          var _uglygep56 = _uglygep;
          var _tmp58 = _tmp57 + _tmp;
          var _uglygep59 = _this52+_tmp58;
          var _uglygep5960 = _uglygep59;
          var _tmp62 = _tmp61 + _tmp;
          var _uglygep63 = _this52+_tmp62;
          var _uglygep6364 = _uglygep63;
          var _i_148 = _i_147 - _indvar;
          var _117 = FHEAP[_uglygep56];
          var _118 = FHEAP[_114];
          var _119 = _117 > _118;
          ;
          _bb9$_bb10$13958: do { 
            if (_119) {
              ;
              var _120 = IHEAP[_uglygep6364];
              var _121 = _120 == 0;
              ;
              __ZN20btPersistentManifold14clearUserCacheER15btManifoldPoint_exit_i22$_bb_i_i20$13960: do { 
                if (!_121) {
                  ;
                  var _122 = IHEAP[_gContactDestroyedCallback];
                  var _123 = _122 == 0;
                  if (_123) { __label__ = 2560; /* __ZN20btPersistentManifold14clearUserCacheER15btManifoldPoint_exit_i22 */ break __ZN20btPersistentManifold14clearUserCacheER15btManifoldPoint_exit_i22$_bb_i_i20$13960; }
                  var _124 = FUNCTION_TABLE[_122](_120);
                  IHEAP[_uglygep6364] = 0;
                  ;
                }
              } while(0);
              var _125 = IHEAP[_0];
              var _126 = _125 + -1;
              var _127 = _126 == _i_148;
              ;
              if (_127) {
                __lastLabel__ = 2560; ;
              }
              else {
                __lastLabel__ = 2560; ;
                var _128 = _this+4+_126*276;
                var _129 = _128;
                _llvm_memcpy_p0i8_p0i8_i32(_uglygep59, _129, 276, 4, false);
                var _130 = _this+4+_126*276+108;
                IHEAP[_130] = 0;
                var _131 = _this+4+_126*276+180+28;
                FHEAP[_131] = 0;
                var _132 = _this+4+_126*276+180+32+28;
                FHEAP[_132] = 0;
                var _133 = _this+4+_126*276+180+64+28;
                FHEAP[_133] = 0;
                var _134 = _this+4+_126*276+112;
                FHEAP[_134] = 0;
                var _135 = _this+4+_126*276+116;
                IHEAP[_135] = 0;
                var _136 = _this+4+_126*276+120;
                FHEAP[_136] = 0;
                var _137 = _this+4+_126*276+124;
                FHEAP[_137] = 0;
                var _138 = _this+4+_126*276+144;
                IHEAP[_138] = 0;
                var __pre_i23 = IHEAP[_0];
                __lastLabel__ = 227; ;
              }
              var _139 = __lastLabel__ == 2560 ? _125 : (__pre_i23);
              var _140 = _139 + -1;
              IHEAP[_0] = _140;
              ;
            }
            else {
              ;
              var _tmp101 = _tmp100 + _tmp;
              var _tmp97 = _tmp96 + _tmp;
              var _tmp93 = _tmp92 + _tmp;
              var _tmp89 = _tmp88 + _tmp;
              var _tmp85 = _tmp84 + _tmp;
              var _tmp81 = _tmp80 + _tmp;
              var _tmp77 = _tmp76 + _tmp;
              var _tmp73 = _tmp72 + _tmp;
              var _tmp69 = _tmp68 + _tmp;
              var _uglygep102 = _this52+_tmp101;
              var _uglygep98 = _this52+_tmp97;
              var _uglygep94 = _this52+_tmp93;
              var _uglygep90 = _this52+_tmp89;
              var _uglygep86 = _this52+_tmp85;
              var _uglygep82 = _this52+_tmp81;
              var _uglygep78 = _this52+_tmp77;
              var _uglygep74 = _this52+_tmp73;
              var _uglygep70 = _this52+_tmp69;
              var _uglygep102103 = _uglygep102;
              var _uglygep9899 = _uglygep98;
              var _uglygep9495 = _uglygep94;
              var _uglygep9091 = _uglygep90;
              var _uglygep8687 = _uglygep86;
              var _uglygep8283 = _uglygep82;
              var _uglygep7879 = _uglygep78;
              var _uglygep7475 = _uglygep74;
              var _uglygep7071 = _uglygep70;
              var _141 = FHEAP[_uglygep7071];
              var _142 = _141 * _117;
              var _143 = FHEAP[_uglygep7475];
              var _144 = _143 * _117;
              var _145 = FHEAP[_uglygep7879];
              var _146 = _145 * _117;
              var _147 = FHEAP[_uglygep8283];
              var _148 = _147 - _142;
              var _149 = FHEAP[_uglygep8687];
              var _150 = _149 - _144;
              var _151 = FHEAP[_uglygep9091];
              var _152 = _151 - _146;
              var _153 = FHEAP[_uglygep9495];
              var _154 = _153 - _148;
              var _155 = FHEAP[_uglygep9899];
              var _156 = _155 - _150;
              var _157 = FHEAP[_uglygep102103];
              var _158 = _157 - _152;
              var _159 = _158 * _158;
              var _160 = _156 * _156;
              var _161 = _159 + _160;
              var _162 = _154 * _154;
              var _163 = _161 + _162;
              var _164 = _118 * _118;
              var _165 = _164 < _163;
              ;
              if (_165) {
                ;
                var _166 = IHEAP[_uglygep6364];
                var _167 = _166 == 0;
                ;
                __ZN20btPersistentManifold14clearUserCacheER15btManifoldPoint_exit_i$_bb_i_i$13970: do { 
                  if (!_167) {
                    ;
                    var _168 = IHEAP[_gContactDestroyedCallback];
                    var _169 = _168 == 0;
                    if (_169) { __label__ = 2565; /* __ZN20btPersistentManifold14clearUserCacheER15btManifoldPoint_exit_i */ break __ZN20btPersistentManifold14clearUserCacheER15btManifoldPoint_exit_i$_bb_i_i$13970; }
                    var _170 = FUNCTION_TABLE[_168](_166);
                    IHEAP[_uglygep6364] = 0;
                    ;
                  }
                } while(0);
                var _171 = IHEAP[_0];
                var _172 = _171 + -1;
                var _173 = _172 == _i_148;
                ;
                if (_173) {
                  __lastLabel__ = 2565; ;
                }
                else {
                  __lastLabel__ = 2565; ;
                  var _174 = _this+4+_172*276;
                  var _175 = _174;
                  _llvm_memcpy_p0i8_p0i8_i32(_uglygep59, _175, 276, 4, false);
                  var _176 = _this+4+_172*276+108;
                  IHEAP[_176] = 0;
                  var _177 = _this+4+_172*276+180+28;
                  FHEAP[_177] = 0;
                  var _178 = _this+4+_172*276+180+32+28;
                  FHEAP[_178] = 0;
                  var _179 = _this+4+_172*276+180+64+28;
                  FHEAP[_179] = 0;
                  var _180 = _this+4+_172*276+112;
                  FHEAP[_180] = 0;
                  var _181 = _this+4+_172*276+116;
                  IHEAP[_181] = 0;
                  var _182 = _this+4+_172*276+120;
                  FHEAP[_182] = 0;
                  var _183 = _this+4+_172*276+124;
                  FHEAP[_183] = 0;
                  var _184 = _this+4+_172*276+144;
                  IHEAP[_184] = 0;
                  var __pre_i = IHEAP[_0];
                  __lastLabel__ = 131; ;
                }
                var _185 = __lastLabel__ == 2565 ? _171 : (__pre_i);
                var _186 = _185 + -1;
                IHEAP[_0] = _186;
                ;
              }
              else {
                ;
                var _187 = IHEAP[_gContactProcessedCallback];
                var _188 = _187 == 0;
                if (_188) { __label__ = 2276; /* _bb18_backedge */ break _bb9$_bb10$13958; }
                var _189 = IHEAP[_115];
                var _190 = IHEAP[_116];
                var _191 = FUNCTION_TABLE[_187](_uglygep5960, _190, _189);
                ;
              }
            }
          } while(0);
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _112;
          if (_exitcond) { __lastLabel__ = 2276; __label__ = 44; /* _return */ break _bb_nph$_return$13954; } else { __lastLabel__ = 2276; __label__ = 61; /* _bb4 */ continue _bb4$13956; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_.__index__ = Runtime.getFunctionIndex(__ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_, "__ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_");
  
  
  function __ZN25btTriangleRaycastCallback15processTriangleEP9btVector3ii(_this, _triangle, _partId, _triangleIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var _0 = __stackBase__;
    var _triangleNormal = __stackBase__+16;
    var _1 = _triangle+16+8;
    var _2 = FHEAP[_1];
    var _3 = _triangle+8;
    var _4 = FHEAP[_3];
    var _5 = _2 - _4;
    var _6 = _triangle+16+4;
    var _7 = FHEAP[_6];
    var _8 = _triangle+4;
    var _9 = FHEAP[_8];
    var _10 = _7 - _9;
    var _11 = _triangle+16;
    var _12 = FHEAP[_11];
    var _13 = _triangle;
    var _14 = FHEAP[_13];
    var _15 = _12 - _14;
    var _16 = _triangle+32+8;
    var _17 = FHEAP[_16];
    var _18 = _17 - _4;
    var _19 = _triangle+32+4;
    var _20 = FHEAP[_19];
    var _21 = _20 - _9;
    var _22 = _triangle+32;
    var _23 = FHEAP[_22];
    var _24 = _23 - _14;
    var _25 = _15 * _21;
    var _26 = _10 * _24;
    var _27 = _25 - _26;
    var _28 = _5 * _24;
    var _29 = _15 * _18;
    var _30 = _28 - _29;
    var _31 = _10 * _18;
    var _32 = _5 * _21;
    var _33 = _31 - _32;
    var _34 = _triangleNormal;
    FHEAP[_34] = _33;
    var _35 = _triangleNormal+4;
    FHEAP[_35] = _30;
    var _36 = _triangleNormal+8;
    FHEAP[_36] = _27;
    var _37 = _triangleNormal+12;
    FHEAP[_37] = 0;
    var _38 = _14 * _33;
    var _39 = _9 * _30;
    var _40 = _38 + _39;
    var _41 = _4 * _27;
    var _42 = _40 + _41;
    var _43 = _this+4;
    var _44 = FHEAP[_43];
    var _45 = _33 * _44;
    var _46 = _this+4+4;
    var _47 = FHEAP[_46];
    var _48 = _30 * _47;
    var _49 = _45 + _48;
    var _50 = _this+4+8;
    var _51 = FHEAP[_50];
    var _52 = _27 * _51;
    var _53 = _49 + _52;
    var _54 = _53 - _42;
    var _55 = _this+20;
    var _56 = FHEAP[_55];
    var _57 = _33 * _56;
    var _58 = _this+20+4;
    var _59 = FHEAP[_58];
    var _60 = _30 * _59;
    var _61 = _57 + _60;
    var _62 = _this+20+8;
    var _63 = FHEAP[_62];
    var _64 = _27 * _63;
    var _65 = _61 + _64;
    var _66 = _65 - _42;
    var _67 = _54 * _66;
    var _68 = _67 < 0;
    ;
    _bb$_return$13985: do { 
      if (_68) {
        ;
        var _69 = _this+36;
        var _70 = IHEAP[_69];
        var _71 = _70 & 1;
        var _toBool_not = _71 != 0;
        var _72 = _54 > 0;
        var _or_cond = _toBool_not & _72;
        if (_or_cond) { __label__ = 44; /* _return */ break _bb$_return$13985; }
        var _73 = _54 - _66;
        var _74 = _54 / _73;
        var _75 = _this+40;
        var _76 = FHEAP[_75];
        var _77 = _76 > _74;
        if (!(_77)) { __label__ = 44; /* _return */ break _bb$_return$13985; }
        var _78 = _33 * _33;
        var _79 = _30 * _30;
        var _80 = _78 + _79;
        var _81 = _27 * _27;
        var _82 = _80 + _81;
        var _83 = _82 * -0.00009999999747378752;
        var _84 = 1 - _74;
        var _85 = _44 * _84;
        var _86 = _56 * _74;
        var _87 = _85 + _86;
        var _88 = _47 * _84;
        var _89 = _59 * _74;
        var _90 = _88 + _89;
        var _91 = _51 * _84;
        var _92 = _63 * _74;
        var _93 = _91 + _92;
        var _94 = _4 - _93;
        var _95 = _9 - _90;
        var _96 = _14 - _87;
        var _97 = _2 - _93;
        var _98 = _7 - _90;
        var _99 = _12 - _87;
        var _100 = _96 * _98;
        var _101 = _95 * _99;
        var _102 = _100 - _101;
        var _103 = _94 * _99;
        var _104 = _96 * _97;
        var _105 = _103 - _104;
        var _106 = _95 * _97;
        var _107 = _94 * _98;
        var _108 = _106 - _107;
        var _109 = _108 * _33;
        var _110 = _105 * _30;
        var _111 = _109 + _110;
        var _112 = _102 * _27;
        var _113 = _111 + _112;
        var _114 = _113 < _83;
        if (_114) { __label__ = 44; /* _return */ break _bb$_return$13985; }
        var _115 = _17 - _93;
        var _116 = _20 - _90;
        var _117 = _23 - _87;
        var _118 = _99 * _116;
        var _119 = _98 * _117;
        var _120 = _118 - _119;
        var _121 = _97 * _117;
        var _122 = _99 * _115;
        var _123 = _121 - _122;
        var _124 = _98 * _115;
        var _125 = _97 * _116;
        var _126 = _124 - _125;
        var _127 = _126 * _33;
        var _128 = _123 * _30;
        var _129 = _127 + _128;
        var _130 = _120 * _27;
        var _131 = _129 + _130;
        var _132 = _131 < _83;
        if (_132) { __label__ = 44; /* _return */ break _bb$_return$13985; }
        var _133 = _117 * _95;
        var _134 = _116 * _96;
        var _135 = _133 - _134;
        var _136 = _115 * _96;
        var _137 = _117 * _94;
        var _138 = _136 - _137;
        var _139 = _116 * _94;
        var _140 = _115 * _95;
        var _141 = _139 - _140;
        var _142 = _141 * _33;
        var _143 = _138 * _30;
        var _144 = _142 + _143;
        var _145 = _135 * _27;
        var _146 = _144 + _145;
        var _147 = _146 < _83;
        if (_147) { __label__ = 44; /* _return */ break _bb$_return$13985; }
        var _148 = _sqrtf(_82);
        var _149 = 1 / _148;
        var _150 = _33 * _149;
        FHEAP[_34] = _150;
        var _151 = _30 * _149;
        FHEAP[_35] = _151;
        var _152 = _27 * _149;
        FHEAP[_36] = _152;
        var _153 = _70 & 2;
        var _154 = _153 == 0;
        var _155 = _54 > 0;
        var _or_cond30 = _154 & _155;
        var _156 = _this;
        var _157 = IHEAP[_156];
        var _158 = _157+12;
        var _159 = IHEAP[_158];
        ;
        if (_or_cond30) {
          ;
          var _169 = _159;
          var _170 = FUNCTION_TABLE[_169](_this, _triangleNormal, _74, _partId, _triangleIndex);
          FHEAP[_75] = _170;
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _160 = 0 - _152;
          var _161 = 0 - _151;
          var _162 = 0 - _150;
          var _163 = _0;
          FHEAP[_163] = _162;
          var _164 = _0+4;
          FHEAP[_164] = _161;
          var _165 = _0+8;
          FHEAP[_165] = _160;
          var _166 = _0+12;
          FHEAP[_166] = 0;
          var _167 = _159;
          var _168 = FUNCTION_TABLE[_167](_this, _0, _74, _partId, _triangleIndex);
          FHEAP[_75] = _168;
          STACKTOP = __stackBase__;
          return;
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN25btTriangleRaycastCallback15processTriangleEP9btVector3ii.__index__ = Runtime.getFunctionIndex(__ZN25btTriangleRaycastCallback15processTriangleEP9btVector3ii, "__ZN25btTriangleRaycastCallback15processTriangleEP9btVector3ii");
  
  
  function __ZN28btTriangleConvexcastCallback15processTriangleEP9btVector3ii(_this, _triangle, _partId, _triangleIndex) {
    var __stackBase__  = STACKTOP; STACKTOP += 660;
    var __label__;
    var __lastLabel__ = null;
    var _triangleShape = __stackBase__;
    var _simplexSolver = __stackBase__+100;
    var _gjkEpaPenetrationSolver = __stackBase__+460;
    var _convexCaster = __stackBase__+464;
    var _castResult = __stackBase__+484;
    var _0 = _triangleShape;
    __ZN23btPolyhedralConvexShapeC2Ev(_0);
    var _1 = _triangleShape;
    IHEAP[_1] = __ZTV15btTriangleShape+8;
    var _2 = _triangleShape+4;
    IHEAP[_2] = 1;
    var _3 = _triangleShape+52;
    var _4 = _triangle;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _triangleShape+52+4;
    var _7 = _triangle+4;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _triangleShape+52+8;
    var _10 = _triangle+8;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _triangleShape+52+12;
    var _13 = _triangle+12;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _triangleShape+52+16;
    var _16 = _triangle+16;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _triangleShape+52+16+4;
    var _19 = _triangle+16+4;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _triangleShape+52+16+8;
    var _22 = _triangle+16+8;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    var _24 = _triangleShape+52+16+12;
    var _25 = _triangle+16+12;
    var _26 = FHEAP[_25];
    FHEAP[_24] = _26;
    var _27 = _triangleShape+52+32;
    var _28 = _triangle+32;
    var _29 = FHEAP[_28];
    FHEAP[_27] = _29;
    var _30 = _triangleShape+52+32+4;
    var _31 = _triangle+32+4;
    var _32 = FHEAP[_31];
    FHEAP[_30] = _32;
    var _33 = _triangleShape+52+32+8;
    var _34 = _triangle+32+8;
    var _35 = FHEAP[_34];
    FHEAP[_33] = _35;
    var _36 = _triangleShape+52+32+12;
    var _37 = _triangle+32+12;
    var _38 = FHEAP[_37];
    FHEAP[_36] = _38;
    var _39 = _this+204;
    var _40 = FHEAP[_39];
    var _41 = _triangleShape+44;
    FHEAP[_41] = _40;
    var _42 = _simplexSolver+308;
    FHEAP[_42] = 0.00009999999747378752;
    var _43 = _simplexSolver+316+16;
    var _44 = IHEAP[_43];
    var _45 = _44 & -16;
    IHEAP[_43] = _45;
    var _46 = _gjkEpaPenetrationSolver;
    IHEAP[_46] = __ZTV30btGjkEpaPenetrationDepthSolver+8;
    var _47 = _this+4;
    var _48 = IHEAP[_47];
    var _49 = _triangleShape;
    var _50 = _gjkEpaPenetrationSolver;
    (function() { try { __THREW__ = false; return __ZN27btContinuousConvexCollisionC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_convexCaster, _48, _49, _simplexSolver, _50) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 1682; /* _lpad23 */  }
    _invcont1$_lpad23$14001: do { 
      if (__label__ == 1554) {
        var _51 = _castResult;
        IHEAP[_51] = __ZTVN12btConvexCast10CastResultE+8;
        var _52 = _castResult+164;
        var _53 = _castResult+168;
        IHEAP[_53] = 0;
        var _54 = _castResult+172;
        FHEAP[_54] = 0;
        FHEAP[_52] = 1;
        var _55 = _this+136;
        var _56 = _this+72;
        var _57 = _this+8;
        var _58 = (function() { try { __THREW__ = false; return __ZN27btContinuousConvexCollision16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE(_convexCaster, _57, _56, _55, _55, _castResult) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 3904; /* _lpad27 */  };
        _invcont2$_lpad27$14003: do { 
          if (__label__ == 1102) {
            var _toBool = _58 == 0;
            ;
            _bb10$_bb$14005: do { 
              if (!_toBool) {
                ;
                var _59 = _castResult+132;
                var _60 = FHEAP[_59];
                var _61 = _60 * _60;
                var _62 = _castResult+132+4;
                var _63 = FHEAP[_62];
                var _64 = _63 * _63;
                var _65 = _61 + _64;
                var _66 = _castResult+132+8;
                var _67 = FHEAP[_66];
                var _68 = _67 * _67;
                var _69 = _65 + _68;
                var _70 = _69 > 0.00009999999747378752;
                if (!(_70)) { __label__ = 150; /* _bb10 */ break _bb10$_bb$14005; }
                var _71 = FHEAP[_52];
                var _72 = _this+200;
                var _73 = FHEAP[_72];
                var _74 = _71 < _73;
                if (!(_74)) { __label__ = 150; /* _bb10 */ break _bb10$_bb$14005; }
                var _75 = _sqrtf(_69);
                var _76 = 1 / _75;
                var _77 = _60 * _76;
                FHEAP[_59] = _77;
                var _78 = _63 * _76;
                FHEAP[_62] = _78;
                var _79 = _67 * _76;
                FHEAP[_66] = _79;
                var _80 = _this;
                var _81 = IHEAP[_80];
                var _82 = _81+12;
                var _83 = IHEAP[_82];
                var _84 = _83;
                var _85 = _castResult+132;
                var _86 = _castResult+148;
                var _87 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_84](_this, _85, _86, _71, _partId, _triangleIndex) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3904; /* _lpad27 */ break _invcont2$_lpad27$14003; };
              }
            } while(0);
            var _88 = _convexCaster;
            IHEAP[_88] = __ZTV27btContinuousConvexCollision+8;
            var _89 = _convexCaster;
            (function() { try { __THREW__ = false; return __ZN12btConvexCastD2Ev(_89) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 1682; /* _lpad23 */ break _invcont1$_lpad23$14001; }
            IHEAP[_46] = __ZTV30btGjkEpaPenetrationDepthSolver+8;
            IHEAP[_1] = __ZTV21btConvexInternalShape+8;
            __ZN13btConvexShapeD2Ev(_49);
            STACKTOP = __stackBase__;
            return;
          }
        } while(0);
        var _eh_ptr28 = _llvm_eh_exception();
        var _eh_select30 = _llvm_eh_selector(_eh_ptr28, ___gxx_personality_v0, 0);
        var _90 = _convexCaster;
        IHEAP[_90] = __ZTV27btContinuousConvexCollision+8;
        var _91 = _convexCaster;
        (function() { try { __THREW__ = false; return __ZN12btConvexCastD2Ev(_91) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3904; __label__ = 45; /* _ppad */ break _invcont1$_lpad23$14001; } else { __lastLabel__ = 3904; ; }
        var _eh_ptr32 = _llvm_eh_exception();
        var _eh_select34 = _llvm_eh_selector(_eh_ptr32, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    } while(0);
    if (__label__ == 1682) {
      var _eh_ptr24 = _llvm_eh_exception();
      var _eh_select26 = _llvm_eh_selector(_eh_ptr24, ___gxx_personality_v0, 0);
      __lastLabel__ = 1682; ;
    }
    var _eh_exception_0 = __lastLabel__ == 1682 ? _eh_ptr24 : (_eh_ptr28);
    IHEAP[_46] = __ZTV30btGjkEpaPenetrationDepthSolver+8;
    IHEAP[_1] = __ZTV21btConvexInternalShape+8;
    (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_49) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3253; /* _invcont19 */  } else { __label__ = 3807; /* _lpad35 */  }
    if (__label__ == 3253) {
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
    else if (__label__ == 3807) {
      var _eh_ptr36 = _llvm_eh_exception();
      var _eh_select38 = _llvm_eh_selector(_eh_ptr36, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN28btTriangleConvexcastCallback15processTriangleEP9btVector3ii.__index__ = Runtime.getFunctionIndex(__ZN28btTriangleConvexcastCallback15processTriangleEP9btVector3ii, "__ZN28btTriangleConvexcastCallback15processTriangleEP9btVector3ii");
  
  
  function __ZN22btSubsimplexConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE(_this, _fromA, _toA, _fromB, _toB, _result) {
    var __stackBase__  = STACKTOP; STACKTOP += 224;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _3 = __stackBase__+48;
    var _4 = __stackBase__+64;
    var _5 = __stackBase__+80;
    var _6 = __stackBase__+96;
    var _7 = __stackBase__+112;
    var _v = __stackBase__+128;
    var _supVertexA = __stackBase__+144;
    var _supVertexB = __stackBase__+160;
    var _w = __stackBase__+176;
    var _hitA = __stackBase__+192;
    var _hitB = __stackBase__+208;
    var _8 = _this+4;
    var _9 = IHEAP[_8];
    __ZN22btVoronoiSimplexSolver5resetEv(_9);
    var _10 = _toA+48+8;
    var _11 = FHEAP[_10];
    var _12 = _fromA+48+8;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _toA+48+4;
    var _16 = FHEAP[_15];
    var _17 = _fromA+48+4;
    var _18 = FHEAP[_17];
    var _19 = _16 - _18;
    var _20 = _toA+48;
    var _21 = FHEAP[_20];
    var _22 = _fromA+48;
    var _23 = FHEAP[_22];
    var _24 = _21 - _23;
    var _25 = _toB+48+8;
    var _26 = FHEAP[_25];
    var _27 = _fromB+48+8;
    var _28 = FHEAP[_27];
    var _29 = _26 - _28;
    var _30 = _toB+48+4;
    var _31 = FHEAP[_30];
    var _32 = _fromB+48+4;
    var _33 = FHEAP[_32];
    var _34 = _31 - _33;
    var _35 = _toB+48;
    var _36 = FHEAP[_35];
    var _37 = _fromB+48;
    var _38 = FHEAP[_37];
    var _39 = _36 - _38;
    var _40 = _fromA;
    var _41 = FHEAP[_40];
    var _42 = _fromA+4;
    var _43 = FHEAP[_42];
    var _44 = _fromA+8;
    var _45 = FHEAP[_44];
    var _46 = _fromA+16;
    var _47 = FHEAP[_46];
    var _48 = _fromA+16+4;
    var _49 = FHEAP[_48];
    var _50 = _fromA+16+8;
    var _51 = FHEAP[_50];
    var _52 = _fromA+32;
    var _53 = FHEAP[_52];
    var _54 = _fromA+32+4;
    var _55 = FHEAP[_54];
    var _56 = _fromA+32+8;
    var _57 = FHEAP[_56];
    var _58 = _fromB;
    var _59 = FHEAP[_58];
    var _60 = _fromB+4;
    var _61 = FHEAP[_60];
    var _62 = _fromB+8;
    var _63 = FHEAP[_62];
    var _64 = _fromB+16;
    var _65 = FHEAP[_64];
    var _66 = _fromB+16+4;
    var _67 = FHEAP[_66];
    var _68 = _fromB+16+8;
    var _69 = FHEAP[_68];
    var _70 = _fromB+32;
    var _71 = FHEAP[_70];
    var _72 = _fromB+32+4;
    var _73 = FHEAP[_72];
    var _74 = _fromB+32+8;
    var _75 = FHEAP[_74];
    var _76 = _14 - _29;
    var _77 = _19 - _34;
    var _78 = _24 - _39;
    var _79 = _this+8;
    var _80 = IHEAP[_79];
    var _81 = _80;
    var _82 = IHEAP[_81];
    var _83 = _82+60;
    var _84 = IHEAP[_83];
    var _85 = 0 - _76;
    var _86 = 0 - _77;
    var _87 = 0 - _78;
    var _88 = _45 * _87;
    var _89 = _51 * _86;
    var _90 = _88 + _89;
    var _91 = _57 * _85;
    var _92 = _90 + _91;
    var _93 = _43 * _87;
    var _94 = _49 * _86;
    var _95 = _93 + _94;
    var _96 = _55 * _85;
    var _97 = _95 + _96;
    var _98 = _41 * _87;
    var _99 = _47 * _86;
    var _100 = _98 + _99;
    var _101 = _53 * _85;
    var _102 = _100 + _101;
    var _103 = _6;
    FHEAP[_103] = _102;
    var _104 = _6+4;
    FHEAP[_104] = _97;
    var _105 = _6+8;
    FHEAP[_105] = _92;
    var _106 = _6+12;
    FHEAP[_106] = 0;
    var _107 = _84;
    FUNCTION_TABLE[_107](_7, _80, _6);
    var _108 = FHEAP[_52];
    var _109 = _7;
    var _110 = FHEAP[_109];
    var _111 = _108 * _110;
    var _112 = FHEAP[_54];
    var _113 = _7+4;
    var _114 = FHEAP[_113];
    var _115 = _112 * _114;
    var _116 = _111 + _115;
    var _117 = FHEAP[_56];
    var _118 = _7+8;
    var _119 = FHEAP[_118];
    var _120 = _117 * _119;
    var _121 = _116 + _120;
    var _122 = FHEAP[_12];
    var _123 = _121 + _122;
    var _124 = FHEAP[_46];
    var _125 = _124 * _110;
    var _126 = FHEAP[_48];
    var _127 = _126 * _114;
    var _128 = _125 + _127;
    var _129 = FHEAP[_50];
    var _130 = _129 * _119;
    var _131 = _128 + _130;
    var _132 = FHEAP[_17];
    var _133 = _131 + _132;
    var _134 = FHEAP[_40];
    var _135 = _134 * _110;
    var _136 = FHEAP[_42];
    var _137 = _136 * _114;
    var _138 = _135 + _137;
    var _139 = FHEAP[_44];
    var _140 = _139 * _119;
    var _141 = _138 + _140;
    var _142 = FHEAP[_22];
    var _143 = _141 + _142;
    var _144 = _supVertexA;
    FHEAP[_144] = _143;
    var _145 = _supVertexA+4;
    FHEAP[_145] = _133;
    var _146 = _supVertexA+8;
    FHEAP[_146] = _123;
    var _147 = _supVertexA+12;
    FHEAP[_147] = 0;
    var _148 = _this+12;
    var _149 = IHEAP[_148];
    var _150 = _149;
    var _151 = IHEAP[_150];
    var _152 = _151+60;
    var _153 = IHEAP[_152];
    var _154 = FHEAP[_62];
    var _155 = _154 * _78;
    var _156 = FHEAP[_68];
    var _157 = _156 * _77;
    var _158 = _155 + _157;
    var _159 = FHEAP[_74];
    var _160 = _159 * _76;
    var _161 = _158 + _160;
    var _162 = FHEAP[_60];
    var _163 = _162 * _78;
    var _164 = FHEAP[_66];
    var _165 = _164 * _77;
    var _166 = _163 + _165;
    var _167 = FHEAP[_72];
    var _168 = _167 * _76;
    var _169 = _166 + _168;
    var _170 = FHEAP[_58];
    var _171 = _170 * _78;
    var _172 = FHEAP[_64];
    var _173 = _172 * _77;
    var _174 = _171 + _173;
    var _175 = FHEAP[_70];
    var _176 = _175 * _76;
    var _177 = _174 + _176;
    var _178 = _4;
    FHEAP[_178] = _177;
    var _179 = _4+4;
    FHEAP[_179] = _169;
    var _180 = _4+8;
    FHEAP[_180] = _161;
    var _181 = _4+12;
    FHEAP[_181] = 0;
    var _182 = _153;
    FUNCTION_TABLE[_182](_5, _149, _4);
    var _183 = FHEAP[_70];
    var _184 = _5;
    var _185 = FHEAP[_184];
    var _186 = _183 * _185;
    var _187 = FHEAP[_72];
    var _188 = _5+4;
    var _189 = FHEAP[_188];
    var _190 = _187 * _189;
    var _191 = _186 + _190;
    var _192 = FHEAP[_74];
    var _193 = _5+8;
    var _194 = FHEAP[_193];
    var _195 = _192 * _194;
    var _196 = _191 + _195;
    var _197 = FHEAP[_27];
    var _198 = _196 + _197;
    var _199 = FHEAP[_64];
    var _200 = _199 * _185;
    var _201 = FHEAP[_66];
    var _202 = _201 * _189;
    var _203 = _200 + _202;
    var _204 = FHEAP[_68];
    var _205 = _204 * _194;
    var _206 = _203 + _205;
    var _207 = FHEAP[_32];
    var _208 = _206 + _207;
    var _209 = FHEAP[_58];
    var _210 = _209 * _185;
    var _211 = FHEAP[_60];
    var _212 = _211 * _189;
    var _213 = _210 + _212;
    var _214 = FHEAP[_62];
    var _215 = _214 * _194;
    var _216 = _213 + _215;
    var _217 = FHEAP[_37];
    var _218 = _216 + _217;
    var _219 = _supVertexB;
    FHEAP[_219] = _218;
    var _220 = _supVertexB+4;
    FHEAP[_220] = _208;
    var _221 = _supVertexB+8;
    FHEAP[_221] = _198;
    var _222 = _supVertexB+12;
    FHEAP[_222] = 0;
    var _223 = FHEAP[_146];
    var _224 = _223 - _198;
    var _225 = FHEAP[_145];
    var _226 = _225 - _208;
    var _227 = FHEAP[_144];
    var _228 = _227 - _218;
    var _229 = _v;
    FHEAP[_229] = _228;
    var _230 = _v+4;
    FHEAP[_230] = _226;
    var _231 = _v+8;
    FHEAP[_231] = _224;
    var _232 = _v+12;
    FHEAP[_232] = 0;
    var _233 = _228 * _228;
    var _234 = _226 * _226;
    var _235 = _233 + _234;
    var _236 = _224 * _224;
    var _237 = _235 + _236;
    var _238 = _2;
    var _239 = _2+4;
    var _240 = _2+8;
    var _241 = _2+12;
    var _242 = _3;
    var _243 = _3+4;
    var _244 = _3+8;
    var _245 = _0;
    var _246 = _0+4;
    var _247 = _0+8;
    var _248 = _0+12;
    var _249 = _1;
    var _250 = _1+4;
    var _251 = _1+8;
    var _252 = _w;
    var _253 = _w+4;
    var _254 = _w+8;
    var _255 = _w+12;
    __lastLabel__ = -1; ;
    _bb21$14024: while(1) { // _bb21
      var _indvar = __lastLabel__ == 2572 ? _indvar_next : (0);
      var _interpolatedTransA_1_0_0_1 = __lastLabel__ == 2572 ? _interpolatedTransA_1_0_0_0 : (_23);
      var _interpolatedTransA_1_0_1_1 = __lastLabel__ == 2572 ? _interpolatedTransA_1_0_1_0 : (_18);
      var _interpolatedTransA_1_0_2_1 = __lastLabel__ == 2572 ? _interpolatedTransA_1_0_2_0 : (_13);
      var _interpolatedTransB_1_0_0_1 = __lastLabel__ == 2572 ? _interpolatedTransB_1_0_0_0 : (_38);
      var _interpolatedTransB_1_0_1_1 = __lastLabel__ == 2572 ? _interpolatedTransB_1_0_1_0 : (_33);
      var _interpolatedTransB_1_0_2_1 = __lastLabel__ == 2572 ? _interpolatedTransB_1_0_2_0 : (_28);
      var _n_0_0_1 = __lastLabel__ == 2572 ? _n_0_0_0 : (0);
      var _n_0_1_1 = __lastLabel__ == 2572 ? _n_0_1_0 : (0);
      var _n_0_2_1 = __lastLabel__ == 2572 ? _n_0_2_0 : (0);
      var _lambda_1 = __lastLabel__ == 2572 ? _lambda_0 : (0);
      var _dist2_0 = __lastLabel__ == 2572 ? _dist2_0_be : (_237);
      var _417 = _dist2_0 <= 0.00009999999747378752;
      if (_417) { __label__ = 515; /* _bb27 */ break _bb21$14024; }
      var _maxIter_2 = 31 - _indvar;
      var _418 = _maxIter_2 == -1;
      if (_418) { __label__ = 515; /* _bb27 */ break _bb21$14024; }
      var _256 = IHEAP[_79];
      var _257 = _256;
      var _258 = IHEAP[_257];
      var _259 = _258+60;
      var _260 = IHEAP[_259];
      var _261 = FHEAP[_231];
      var _262 = 0 - _261;
      var _263 = FHEAP[_230];
      var _264 = 0 - _263;
      var _265 = FHEAP[_229];
      var _266 = 0 - _265;
      var _267 = _45 * _266;
      var _268 = _51 * _264;
      var _269 = _267 + _268;
      var _270 = _57 * _262;
      var _271 = _269 + _270;
      var _272 = _43 * _266;
      var _273 = _49 * _264;
      var _274 = _272 + _273;
      var _275 = _55 * _262;
      var _276 = _274 + _275;
      var _277 = _41 * _266;
      var _278 = _47 * _264;
      var _279 = _277 + _278;
      var _280 = _53 * _262;
      var _281 = _279 + _280;
      FHEAP[_238] = _281;
      FHEAP[_239] = _276;
      FHEAP[_240] = _271;
      FHEAP[_241] = 0;
      var _282 = _260;
      FUNCTION_TABLE[_282](_3, _256, _2);
      var _283 = FHEAP[_242];
      var _284 = _53 * _283;
      var _285 = FHEAP[_243];
      var _286 = _55 * _285;
      var _287 = _284 + _286;
      var _288 = FHEAP[_244];
      var _289 = _57 * _288;
      var _290 = _287 + _289;
      var _291 = _290 + _interpolatedTransA_1_0_2_1;
      var _292 = _47 * _283;
      var _293 = _49 * _285;
      var _294 = _292 + _293;
      var _295 = _51 * _288;
      var _296 = _294 + _295;
      var _297 = _296 + _interpolatedTransA_1_0_1_1;
      var _298 = _41 * _283;
      var _299 = _43 * _285;
      var _300 = _298 + _299;
      var _301 = _45 * _288;
      var _302 = _300 + _301;
      var _303 = _302 + _interpolatedTransA_1_0_0_1;
      FHEAP[_144] = _303;
      FHEAP[_145] = _297;
      FHEAP[_146] = _291;
      FHEAP[_147] = 0;
      var _304 = IHEAP[_148];
      var _305 = _304;
      var _306 = IHEAP[_305];
      var _307 = _306+60;
      var _308 = IHEAP[_307];
      var _309 = FHEAP[_229];
      var _310 = _63 * _309;
      var _311 = FHEAP[_230];
      var _312 = _69 * _311;
      var _313 = _310 + _312;
      var _314 = FHEAP[_231];
      var _315 = _75 * _314;
      var _316 = _313 + _315;
      var _317 = _61 * _309;
      var _318 = _67 * _311;
      var _319 = _317 + _318;
      var _320 = _73 * _314;
      var _321 = _319 + _320;
      var _322 = _59 * _309;
      var _323 = _65 * _311;
      var _324 = _322 + _323;
      var _325 = _71 * _314;
      var _326 = _324 + _325;
      FHEAP[_245] = _326;
      FHEAP[_246] = _321;
      FHEAP[_247] = _316;
      FHEAP[_248] = 0;
      var _327 = _308;
      FUNCTION_TABLE[_327](_1, _304, _0);
      var _328 = FHEAP[_249];
      var _329 = _71 * _328;
      var _330 = FHEAP[_250];
      var _331 = _73 * _330;
      var _332 = _329 + _331;
      var _333 = FHEAP[_251];
      var _334 = _75 * _333;
      var _335 = _332 + _334;
      var _336 = _335 + _interpolatedTransB_1_0_2_1;
      var _337 = _65 * _328;
      var _338 = _67 * _330;
      var _339 = _337 + _338;
      var _340 = _69 * _333;
      var _341 = _339 + _340;
      var _342 = _341 + _interpolatedTransB_1_0_1_1;
      var _343 = _59 * _328;
      var _344 = _61 * _330;
      var _345 = _343 + _344;
      var _346 = _63 * _333;
      var _347 = _345 + _346;
      var _348 = _347 + _interpolatedTransB_1_0_0_1;
      FHEAP[_219] = _348;
      FHEAP[_220] = _342;
      FHEAP[_221] = _336;
      FHEAP[_222] = 0;
      var _349 = FHEAP[_146];
      var _350 = _349 - _336;
      var _351 = FHEAP[_145];
      var _352 = _351 - _342;
      var _353 = FHEAP[_144];
      var _354 = _353 - _348;
      FHEAP[_252] = _354;
      FHEAP[_253] = _352;
      FHEAP[_254] = _350;
      FHEAP[_255] = 0;
      var _355 = FHEAP[_229];
      var _356 = _355 * _354;
      var _357 = FHEAP[_230];
      var _358 = _357 * _352;
      var _359 = _356 + _358;
      var _360 = FHEAP[_231];
      var _361 = _360 * _350;
      var _362 = _359 + _361;
      var _363 = _lambda_1 > 1;
      if (_363) { __label__ = 251; /* _bb36 */ break _bb21$14024; }
      var _364 = _362 > 0;
      ;
      if (_364) {
        __lastLabel__ = 148; ;
        var _365 = _355 * _78;
        var _366 = _357 * _77;
        var _367 = _365 + _366;
        var _368 = _360 * _76;
        var _369 = _367 + _368;
        var _370 = _369 < -1.4210854715202004e-14;
        if (!(_370)) { __label__ = 251; /* _bb36 */ break _bb21$14024; }
        var _371 = _362 / _369;
        var _372 = _lambda_1 - _371;
        var _373 = 1 - _372;
        var _374 = FHEAP[_22];
        var _375 = _374 * _373;
        var _376 = FHEAP[_20];
        var _377 = _376 * _372;
        var _378 = _375 + _377;
        var _379 = FHEAP[_17];
        var _380 = _379 * _373;
        var _381 = FHEAP[_15];
        var _382 = _381 * _372;
        var _383 = _380 + _382;
        var _384 = FHEAP[_12];
        var _385 = _384 * _373;
        var _386 = FHEAP[_10];
        var _387 = _386 * _372;
        var _388 = _385 + _387;
        var _389 = FHEAP[_37];
        var _390 = _389 * _373;
        var _391 = FHEAP[_35];
        var _392 = _391 * _372;
        var _393 = _390 + _392;
        var _394 = FHEAP[_32];
        var _395 = _394 * _373;
        var _396 = FHEAP[_30];
        var _397 = _396 * _372;
        var _398 = _395 + _397;
        var _399 = FHEAP[_27];
        var _400 = _399 * _373;
        var _401 = FHEAP[_25];
        var _402 = _401 * _372;
        var _403 = _400 + _402;
        FHEAP[_252] = _354;
        FHEAP[_253] = _352;
        FHEAP[_254] = _350;
        FHEAP[_255] = 0;
        __lastLabel__ = 292; ;
      }
      else {
        __lastLabel__ = 148; ;
      }
      var _interpolatedTransA_1_0_0_0 = __lastLabel__ == 292 ? _378 : (_interpolatedTransA_1_0_0_1);
      var _interpolatedTransA_1_0_1_0 = __lastLabel__ == 292 ? _383 : (_interpolatedTransA_1_0_1_1);
      var _interpolatedTransA_1_0_2_0 = __lastLabel__ == 292 ? _388 : (_interpolatedTransA_1_0_2_1);
      var _interpolatedTransB_1_0_0_0 = __lastLabel__ == 292 ? _393 : (_interpolatedTransB_1_0_0_1);
      var _interpolatedTransB_1_0_1_0 = __lastLabel__ == 292 ? _398 : (_interpolatedTransB_1_0_1_1);
      var _interpolatedTransB_1_0_2_0 = __lastLabel__ == 292 ? _403 : (_interpolatedTransB_1_0_2_1);
      var _n_0_0_0 = __lastLabel__ == 292 ? _355 : (_n_0_0_1);
      var _n_0_1_0 = __lastLabel__ == 292 ? _357 : (_n_0_1_1);
      var _n_0_2_0 = __lastLabel__ == 292 ? _360 : (_n_0_2_1);
      var _lambda_0 = __lastLabel__ == 292 ? _372 : (_lambda_1);
      var _404 = IHEAP[_8];
      var _405 = __ZN22btVoronoiSimplexSolver9inSimplexERK9btVector3(_404, _w);
      var _toBoolnot = _405 == 0;
      ;
      if (_toBoolnot) {
        ;
        var _406 = IHEAP[_8];
        __ZN22btVoronoiSimplexSolver9addVertexERK9btVector3S2_S2_(_406, _w, _supVertexA, _supVertexB);
        ;
      }
      var _407 = IHEAP[_8];
      var _408 = __ZN22btVoronoiSimplexSolver7closestER9btVector3(_407, _v);
      var _toBool18 = _408 == 0;
      ;
      if (_toBool18) {
        __lastLabel__ = 4; ;
      }
      else {
        __lastLabel__ = 4; ;
        var _409 = FHEAP[_229];
        var _410 = _409 * _409;
        var _411 = FHEAP[_230];
        var _412 = _411 * _411;
        var _413 = _410 + _412;
        var _414 = FHEAP[_231];
        var _415 = _414 * _414;
        var _416 = _413 + _415;
        __lastLabel__ = 64; ;
      }
      var _dist2_0_be = __lastLabel__ == 4 ? 0 : (_416);
      var _indvar_next = _indvar + 1;
      __lastLabel__ = 2572; __label__ = 110; /* _bb21 */ continue _bb21$14024;
    }
    _bb36$_bb27$14039: do { 
      if (__label__ == 515) {
        var _419 = _result+164;
        FHEAP[_419] = _lambda_1;
        var _420 = _n_0_0_1 * _n_0_0_1;
        var _421 = _n_0_1_1 * _n_0_1_1;
        var _422 = _420 + _421;
        var _423 = _n_0_2_1 * _n_0_2_1;
        var _424 = _422 + _423;
        var _425 = _424 < 1.4210854715202004e-14;
        ;
        if (_425) {
          ;
          var _435 = _result+132;
          FHEAP[_435] = 0;
          var _436 = _result+132+4;
          FHEAP[_436] = 0;
          var _437 = _result+132+8;
          FHEAP[_437] = 0;
          var _438 = _result+132+12;
          FHEAP[_438] = 0;
          __lastLabel__ = 89; ;
        }
        else {
          ;
          var _426 = _sqrtf(_424);
          var _427 = 1 / _426;
          var _428 = _n_0_2_1 * _427;
          var _429 = _n_0_1_1 * _427;
          var _430 = _n_0_0_1 * _427;
          var _431 = _result+132;
          FHEAP[_431] = _430;
          var _432 = _result+132+4;
          FHEAP[_432] = _429;
          var _433 = _result+132+8;
          FHEAP[_433] = _428;
          var _434 = _result+132+12;
          FHEAP[_434] = 0;
          __lastLabel__ = 6; ;
        }
        var _439 = __lastLabel__ == 89 ? 0 : (_428);
        var _440 = __lastLabel__ == 89 ? 0 : (_429);
        var _441 = __lastLabel__ == 89 ? 0 : (_430);
        var _442 = _441 * _78;
        var _443 = _440 * _77;
        var _444 = _442 + _443;
        var _445 = _439 * _76;
        var _446 = _444 + _445;
        var _447 = _result+172;
        var _448 = FHEAP[_447];
        var _449 = 0 - _448;
        var _450 = _446 < _449;
        if (!(_450)) { __label__ = 251; /* _bb36 */ break _bb36$_bb27$14039; }
        var _451 = IHEAP[_8];
        __ZN22btVoronoiSimplexSolver14compute_pointsER9btVector3S1_(_451, _hitA, _hitB);
        var _452 = _result+148;
        var _453 = _hitB;
        var _454 = FHEAP[_453];
        FHEAP[_452] = _454;
        var _455 = _result+148+4;
        var _456 = _hitB+4;
        var _457 = FHEAP[_456];
        FHEAP[_455] = _457;
        var _458 = _result+148+8;
        var _459 = _hitB+8;
        var _460 = FHEAP[_459];
        FHEAP[_458] = _460;
        var _461 = _result+148+12;
        var _462 = _hitB+12;
        var _463 = FHEAP[_462];
        FHEAP[_461] = _463;
        STACKTOP = __stackBase__;
        return 1;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return 0;
  }
  __ZN22btSubsimplexConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE.__index__ = Runtime.getFunctionIndex(__ZN22btSubsimplexConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE, "__ZN22btSubsimplexConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE");
  
  
  function __ZN22btVoronoiSimplexSolver25closestPtPointTetrahedronERK9btVector3S2_S2_S2_S2_R25btSubSimplexClosestResult(_this, _p, _a, _b, _c, _d, _finalResult) {
    var __stackBase__  = STACKTOP; STACKTOP += 40;
    var __label__;
    var __lastLabel__ = null;
    var _tempResult = __stackBase__;
    var _0 = _tempResult+16;
    IHEAP[_0] = 0;
    var _1 = _finalResult;
    var _2 = _p;
    var _3 = FHEAP[_2];
    FHEAP[_1] = _3;
    var _4 = _finalResult+4;
    var _5 = _p+4;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _finalResult+8;
    var _8 = _p+8;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _finalResult+12;
    var _11 = _p+12;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _finalResult+16;
    var _14 = IHEAP[_13];
    var _15 = _14 | 15;
    IHEAP[_13] = _15;
    var _16 = _c+8;
    var _17 = FHEAP[_16];
    var _18 = _a+8;
    var _19 = FHEAP[_18];
    var _20 = _17 - _19;
    var _21 = _c+4;
    var _22 = FHEAP[_21];
    var _23 = _a+4;
    var _24 = FHEAP[_23];
    var _25 = _22 - _24;
    var _26 = _c;
    var _27 = FHEAP[_26];
    var _28 = _a;
    var _29 = FHEAP[_28];
    var _30 = _27 - _29;
    var _31 = _b+8;
    var _32 = FHEAP[_31];
    var _33 = _32 - _19;
    var _34 = _b+4;
    var _35 = FHEAP[_34];
    var _36 = _35 - _24;
    var _37 = _b;
    var _38 = FHEAP[_37];
    var _39 = _38 - _29;
    var _40 = _39 * _25;
    var _41 = _36 * _30;
    var _42 = _40 - _41;
    var _43 = _33 * _30;
    var _44 = _39 * _20;
    var _45 = _43 - _44;
    var _46 = _36 * _20;
    var _47 = _33 * _25;
    var _48 = _46 - _47;
    var _49 = _d+8;
    var _50 = FHEAP[_49];
    var _51 = _50 - _19;
    var _52 = _d+4;
    var _53 = FHEAP[_52];
    var _54 = _53 - _24;
    var _55 = _d;
    var _56 = FHEAP[_55];
    var _57 = _56 - _29;
    var _58 = _57 * _48;
    var _59 = _54 * _45;
    var _60 = _58 + _59;
    var _61 = _51 * _42;
    var _62 = _60 + _61;
    var _63 = _62 * _62;
    var _64 = _63 < 9.99999905104687e-9;
    ;
    if (_64) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _65 = FHEAP[_2];
      var _66 = FHEAP[_5];
      var _67 = _65 - _29;
      var _68 = _66 - _24;
      var _69 = FHEAP[_8];
      var _70 = _68 * _45;
      var _71 = _67 * _48;
      var _72 = _69 - _19;
      var _73 = _72 * _42;
      var _74 = _71 + _70;
      var _75 = _74 + _73;
      var _76 = _75 * _62;
      var _77 = _76 < 0;
      var _78 = _77;
      __lastLabel__ = 159; ;
    }
    var _79 = __lastLabel__ == 159 ? _78 : (-1);
    var _80 = _30 * _54;
    var _81 = _25 * _57;
    var _82 = _80 - _81;
    var _83 = _20 * _57;
    var _84 = _30 * _51;
    var _85 = _83 - _84;
    var _86 = _25 * _51;
    var _87 = _20 * _54;
    var _88 = _86 - _87;
    var _89 = _39 * _88;
    var _90 = _36 * _85;
    var _91 = _89 + _90;
    var _92 = _33 * _82;
    var _93 = _91 + _92;
    var _94 = _93 * _93;
    var _95 = _94 < 9.99999905104687e-9;
    ;
    if (_95) {
      __lastLabel__ = 4563; ;
    }
    else {
      __lastLabel__ = 4563; ;
      var _96 = FHEAP[_2];
      var _97 = FHEAP[_5];
      var _98 = _96 - _29;
      var _99 = _97 - _24;
      var _100 = FHEAP[_8];
      var _101 = _99 * _85;
      var _102 = _98 * _88;
      var _103 = _100 - _19;
      var _104 = _103 * _82;
      var _105 = _102 + _101;
      var _106 = _105 + _104;
      var _107 = _106 * _93;
      var _108 = _107 < 0;
      var _109 = _108;
      __lastLabel__ = 2576; ;
    }
    var _110 = __lastLabel__ == 2576 ? _109 : (-1);
    var _111 = _57 * _36;
    var _112 = _54 * _39;
    var _113 = _111 - _112;
    var _114 = _51 * _39;
    var _115 = _57 * _33;
    var _116 = _114 - _115;
    var _117 = _54 * _33;
    var _118 = _51 * _36;
    var _119 = _117 - _118;
    var _120 = _30 * _119;
    var _121 = _25 * _116;
    var _122 = _120 + _121;
    var _123 = _20 * _113;
    var _124 = _122 + _123;
    var _125 = _124 * _124;
    var _126 = _125 < 9.99999905104687e-9;
    ;
    if (_126) {
      __lastLabel__ = 4564; ;
    }
    else {
      __lastLabel__ = 4564; ;
      var _127 = FHEAP[_2];
      var _128 = FHEAP[_5];
      var _129 = _127 - _29;
      var _130 = _128 - _24;
      var _131 = FHEAP[_8];
      var _132 = _130 * _116;
      var _133 = _129 * _119;
      var _134 = _131 - _19;
      var _135 = _134 * _113;
      var _136 = _133 + _132;
      var _137 = _136 + _135;
      var _138 = _137 * _124;
      var _139 = _138 < 0;
      var _140 = _139;
      __lastLabel__ = 2578; ;
    }
    var _141 = __lastLabel__ == 2578 ? _140 : (-1);
    var _142 = _17 - _32;
    var _143 = _22 - _35;
    var _144 = _27 - _38;
    var _145 = _50 - _32;
    var _146 = _53 - _35;
    var _147 = _56 - _38;
    var _148 = _147 * _143;
    var _149 = _146 * _144;
    var _150 = _148 - _149;
    var _151 = _145 * _144;
    var _152 = _147 * _142;
    var _153 = _151 - _152;
    var _154 = _146 * _142;
    var _155 = _145 * _143;
    var _156 = _154 - _155;
    var _157 = _19 - _32;
    var _158 = _24 - _35;
    var _159 = _29 - _38;
    var _160 = _159 * _156;
    var _161 = _158 * _153;
    var _162 = _160 + _161;
    var _163 = _157 * _150;
    var _164 = _162 + _163;
    var _165 = _164 * _164;
    var _166 = _165 < 9.99999905104687e-9;
    ;
    if (_166) {
      __lastLabel__ = 4565; ;
    }
    else {
      __lastLabel__ = 4565; ;
      var _167 = FHEAP[_2];
      var _168 = FHEAP[_5];
      var _169 = _167 - _38;
      var _170 = _168 - _35;
      var _171 = FHEAP[_8];
      var _172 = _170 * _153;
      var _173 = _169 * _156;
      var _174 = _171 - _32;
      var _175 = _174 * _150;
      var _176 = _173 + _172;
      var _177 = _176 + _175;
      var _178 = _177 * _164;
      var _179 = _178 < 0;
      var _180 = _179;
      __lastLabel__ = 2580; ;
    }
    var _181 = __lastLabel__ == 2580 ? _180 : (-1);
    var __lobit4042 = _110 | _79;
    var _toBool2 = __lobit4042 < 0;
    ;
    _bb6$_bb$14128: do { 
      if (!_toBool2) {
        ;
        var __lobit4749 = _181 | _141;
        var _toBool5 = __lobit4749 < 0;
        if (_toBool5) { __label__ = 83; /* _bb6 */ break _bb6$_bb$14128; }
        var _183 = __lobit4042 | _141;
        var _184 = _183 | _181;
        var _185 = _184 == 0;
        ;
        if (_185) {
          ;
          STACKTOP = __stackBase__;
          return 0;
        }
        else {
          ;
          var _186 = _79 == 0;
          ;
          _bb12$_bb10$14134: do { 
            if (_186) {
              __lastLabel__ = 62; ;
            }
            else {
              __lastLabel__ = 62; ;
              var _187 = __ZN22btVoronoiSimplexSolver22closestPtPointTriangleERK9btVector3S2_S2_S2_R25btSubSimplexClosestResult(_this, _p, _a, _b, _c, _tempResult);
              var _188 = _tempResult;
              var _189 = FHEAP[_188];
              var _190 = _tempResult+4;
              var _191 = FHEAP[_190];
              var _192 = _tempResult+8;
              var _193 = FHEAP[_192];
              var _194 = FHEAP[_8];
              var _195 = _193 - _194;
              var _196 = FHEAP[_5];
              var _197 = _191 - _196;
              var _198 = FHEAP[_2];
              var _199 = _189 - _198;
              var _200 = _199 * _199;
              var _201 = _197 * _197;
              var _202 = _200 + _201;
              var _203 = _195 * _195;
              var _204 = _202 + _203;
              var _205 = _204 < 3.4028234663852886e+38;
              if (_205) { __lastLabel__ = 150; ; } else { __lastLabel__ = 150; __label__ = 3; /* _bb12 */ break _bb12$_bb10$14134; }
              var _206 = _tempResult+12;
              var _207 = FHEAP[_206];
              FHEAP[_1] = _189;
              FHEAP[_4] = _191;
              FHEAP[_7] = _193;
              FHEAP[_10] = _207;
              var _208 = IHEAP[_13];
              var _209 = IHEAP[_0];
              var _210 = _209 & 1;
              var __masked119 = _208 & -16;
              var _211 = _210 | __masked119;
              var _212 = _209 & 4;
              var __masked120 = _209 & 2;
              var _213 = _211 | __masked120;
              var _214 = _213 | _212;
              IHEAP[_13] = _214;
              var _215 = _tempResult+20+8;
              var _216 = FHEAP[_215];
              var _217 = _tempResult+20+4;
              var _218 = FHEAP[_217];
              var _219 = _tempResult+20;
              var _220 = FHEAP[_219];
              var _221 = _finalResult+20;
              FHEAP[_221] = _220;
              var _222 = _finalResult+20+4;
              FHEAP[_222] = _218;
              var _223 = _finalResult+20+8;
              FHEAP[_223] = _216;
              var _224 = _finalResult+20+12;
              FHEAP[_224] = 0;
              __lastLabel__ = 292; ;
            }
          } while(0);
          var _bestSqDist_0 = __lastLabel__ == 292 ? _204 : (__lastLabel__ == 150 ? 3.4028234663852886e+38 : (3.4028234663852886e+38));
          var _225 = _110 == 0;
          ;
          _bb17$_bb13$14138: do { 
            if (_225) {
              __lastLabel__ = 3; ;
            }
            else {
              __lastLabel__ = 3; ;
              var _226 = __ZN22btVoronoiSimplexSolver22closestPtPointTriangleERK9btVector3S2_S2_S2_R25btSubSimplexClosestResult(_this, _p, _a, _c, _d, _tempResult);
              var _227 = _tempResult;
              var _228 = FHEAP[_227];
              var _229 = _tempResult+4;
              var _230 = FHEAP[_229];
              var _231 = _tempResult+8;
              var _232 = FHEAP[_231];
              var _233 = FHEAP[_8];
              var _234 = _232 - _233;
              var _235 = FHEAP[_5];
              var _236 = _230 - _235;
              var _237 = FHEAP[_2];
              var _238 = _228 - _237;
              var _239 = _238 * _238;
              var _240 = _236 * _236;
              var _241 = _239 + _240;
              var _242 = _234 * _234;
              var _243 = _241 + _242;
              var _244 = _243 < _bestSqDist_0;
              if (_244) { __lastLabel__ = 108; ; } else { __lastLabel__ = 108; __label__ = 4; /* _bb17 */ break _bb17$_bb13$14138; }
              var _245 = _tempResult+12;
              var _246 = FHEAP[_245];
              FHEAP[_1] = _228;
              FHEAP[_4] = _230;
              FHEAP[_7] = _232;
              FHEAP[_10] = _246;
              var _247 = IHEAP[_13];
              var _248 = IHEAP[_0];
              var _249 = _248 & 1;
              var _250 = _248 << 1;
              var __masked117 = _247 & -16;
              var _251 = _249 | __masked117;
              var _252 = _250 & 8;
              var __masked118 = _250 & 4;
              var _253 = _251 | __masked118;
              var _254 = _253 | _252;
              IHEAP[_13] = _254;
              var _255 = _tempResult+20+8;
              var _256 = FHEAP[_255];
              var _257 = _tempResult+20+4;
              var _258 = FHEAP[_257];
              var _259 = _tempResult+20;
              var _260 = FHEAP[_259];
              var _261 = _finalResult+20;
              FHEAP[_261] = _260;
              var _262 = _finalResult+20+4;
              FHEAP[_262] = 0;
              var _263 = _finalResult+20+8;
              FHEAP[_263] = _258;
              var _264 = _finalResult+20+12;
              FHEAP[_264] = _256;
              __lastLabel__ = 154; ;
            }
          } while(0);
          var _bestSqDist_1 = __lastLabel__ == 154 ? _243 : (__lastLabel__ == 108 ? _bestSqDist_0 : (_bestSqDist_0));
          var _265 = _141 == 0;
          ;
          _bb22$_bb18$14142: do { 
            if (_265) {
              __lastLabel__ = 4; ;
            }
            else {
              __lastLabel__ = 4; ;
              var _266 = __ZN22btVoronoiSimplexSolver22closestPtPointTriangleERK9btVector3S2_S2_S2_R25btSubSimplexClosestResult(_this, _p, _a, _d, _b, _tempResult);
              var _267 = _tempResult;
              var _268 = FHEAP[_267];
              var _269 = _tempResult+4;
              var _270 = FHEAP[_269];
              var _271 = _tempResult+8;
              var _272 = FHEAP[_271];
              var _273 = FHEAP[_8];
              var _274 = _272 - _273;
              var _275 = FHEAP[_5];
              var _276 = _270 - _275;
              var _277 = FHEAP[_2];
              var _278 = _268 - _277;
              var _279 = _278 * _278;
              var _280 = _276 * _276;
              var _281 = _279 + _280;
              var _282 = _274 * _274;
              var _283 = _281 + _282;
              var _284 = _283 < _bestSqDist_1;
              if (_284) { __lastLabel__ = 86; ; } else { __lastLabel__ = 86; __label__ = 5; /* _bb22 */ break _bb22$_bb18$14142; }
              var _285 = _tempResult+12;
              var _286 = FHEAP[_285];
              FHEAP[_1] = _268;
              FHEAP[_4] = _270;
              FHEAP[_7] = _272;
              FHEAP[_10] = _286;
              var _287 = IHEAP[_13];
              var _288 = IHEAP[_0];
              var _289 = _288 & 1;
              var _290 = _288 >> 1;
              var __masked115 = _287 & -16;
              var _291 = _289 | __masked115;
              var _292 = _288 << 2;
              var _293 = _292 & 8;
              var __masked116 = _290 & 2;
              var _294 = _291 | __masked116;
              var _295 = _294 | _293;
              IHEAP[_13] = _295;
              var _296 = _tempResult+20+4;
              var _297 = FHEAP[_296];
              var _298 = _tempResult+20+8;
              var _299 = FHEAP[_298];
              var _300 = _tempResult+20;
              var _301 = FHEAP[_300];
              var _302 = _finalResult+20;
              FHEAP[_302] = _301;
              var _303 = _finalResult+20+4;
              FHEAP[_303] = _299;
              var _304 = _finalResult+20+8;
              FHEAP[_304] = 0;
              var _305 = _finalResult+20+12;
              FHEAP[_305] = _297;
              __lastLabel__ = 110; ;
            }
          } while(0);
          var _bestSqDist_2 = __lastLabel__ == 110 ? _283 : (__lastLabel__ == 86 ? _bestSqDist_1 : (_bestSqDist_1));
          var _306 = _181 == 0;
          ;
          _bb27$_bb23$14146: do { 
            if (!_306) {
              ;
              var _307 = __ZN22btVoronoiSimplexSolver22closestPtPointTriangleERK9btVector3S2_S2_S2_R25btSubSimplexClosestResult(_this, _p, _b, _d, _c, _tempResult);
              var _308 = _tempResult;
              var _309 = FHEAP[_308];
              var _310 = _tempResult+4;
              var _311 = FHEAP[_310];
              var _312 = _tempResult+8;
              var _313 = FHEAP[_312];
              var _314 = FHEAP[_8];
              var _315 = _313 - _314;
              var _316 = FHEAP[_5];
              var _317 = _311 - _316;
              var _318 = FHEAP[_2];
              var _319 = _309 - _318;
              var _320 = _319 * _319;
              var _321 = _317 * _317;
              var _322 = _320 + _321;
              var _323 = _315 * _315;
              var _324 = _322 + _323;
              var _325 = _324 < _bestSqDist_2;
              if (!(_325)) { __label__ = 515; /* _bb27 */ break _bb27$_bb23$14146; }
              var _326 = _tempResult+12;
              var _327 = FHEAP[_326];
              FHEAP[_1] = _309;
              FHEAP[_4] = _311;
              FHEAP[_7] = _313;
              FHEAP[_10] = _327;
              var _328 = IHEAP[_13];
              var _329 = IHEAP[_0];
              var _tmp53 = _329 << 1;
              var _330 = _tmp53 & 2;
              var __masked = _328 & -16;
              var _331 = _330 | __masked;
              var _332 = _329 << 2;
              var _333 = _332 & 8;
              var __masked114 = _329 & 4;
              var _334 = _331 | __masked114;
              var _335 = _334 | _333;
              IHEAP[_13] = _335;
              var _336 = _tempResult+20+4;
              var _337 = FHEAP[_336];
              var _338 = _tempResult+20+8;
              var _339 = FHEAP[_338];
              var _340 = _tempResult+20;
              var _341 = FHEAP[_340];
              var _342 = _finalResult+20;
              FHEAP[_342] = 0;
              var _343 = _finalResult+20+4;
              FHEAP[_343] = _341;
              var _344 = _finalResult+20+8;
              FHEAP[_344] = _339;
              var _345 = _finalResult+20+12;
              FHEAP[_345] = _337;
              STACKTOP = __stackBase__;
              return 1;
            }
          } while(0);
          STACKTOP = __stackBase__;
          return 1;
        }
      }
    } while(0);
    var _182 = _finalResult+36;
    IHEAP[_182] = 1;
    STACKTOP = __stackBase__;
    return 0;
  }
  __ZN22btVoronoiSimplexSolver25closestPtPointTetrahedronERK9btVector3S2_S2_S2_S2_R25btSubSimplexClosestResult.__index__ = Runtime.getFunctionIndex(__ZN22btVoronoiSimplexSolver25closestPtPointTetrahedronERK9btVector3S2_S2_S2_S2_R25btSubSimplexClosestResult, "__ZN22btVoronoiSimplexSolver25closestPtPointTetrahedronERK9btVector3S2_S2_S2_S2_R25btSubSimplexClosestResult");
  
  
  function __ZN22btVoronoiSimplexSolver28updateClosestVectorAndPointsEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _p16 = __stackBase__;
    var _p25 = __stackBase__+16;
    var _0 = _this+356;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    ;
    if (_toBool) {
      ;
      var __phi_trans_insert = _this+312;
      var __pre = IHEAP[__phi_trans_insert];
      STACKTOP = __stackBase__;
      return __pre;
    }
    else {
      ;
      var _2 = _this+316+36;
      IHEAP[_2] = 0;
      var _3 = _this+316+20;
      FHEAP[_3] = 0;
      var _4 = _this+316+20+4;
      FHEAP[_4] = 0;
      var _5 = _this+316+20+8;
      FHEAP[_5] = 0;
      var _6 = _this+316+20+12;
      FHEAP[_6] = 0;
      var _7 = _this+316+16;
      var _8 = IHEAP[_7];
      var _9 = _8 & -16;
      IHEAP[_7] = _9;
      IHEAP[_0] = 0;
      var _10 = _this;
      var _11 = IHEAP[_10];
      if (_11 == 0) {
        __label__ = 75; /* _bb1 */ 
      }
      else if (_11 == 1) {
        __label__ = 3711; /* __ZN25btSubSimplexClosestResult7isValidEv_exit67 */ 
      }
      else if (_11 == 2) {
        __label__ = 116; /* _bb3 */ 
      }
      else if (_11 == 3) {
        __label__ = 63; /* _bb14 */ 
      }
      else if (_11 == 4) {
        __label__ = 419; /* _bb23 */ 
      }
      else {
      __label__ = 8; /* _bb43 */ 
      }
      
      if (__label__ == 8) {
        var _386 = _this+312;
        IHEAP[_386] = 0;
        STACKTOP = __stackBase__;
        return 0;
      }
      else if (__label__ == 75) {
        var _12 = _this+312;
        IHEAP[_12] = 0;
        STACKTOP = __stackBase__;
        return 0;
      }
      else if (__label__ == 3711) {
        var _13 = _this+244;
        var _14 = _this+84;
        var _15 = FHEAP[_14];
        FHEAP[_13] = _15;
        var _16 = _this+244+4;
        var _17 = _this+84+4;
        var _18 = FHEAP[_17];
        FHEAP[_16] = _18;
        var _19 = _this+244+8;
        var _20 = _this+84+8;
        var _21 = FHEAP[_20];
        FHEAP[_19] = _21;
        var _22 = _this+244+12;
        var _23 = _this+84+12;
        var _24 = FHEAP[_23];
        FHEAP[_22] = _24;
        var _25 = _this+260;
        var _26 = _this+164;
        var _27 = FHEAP[_26];
        FHEAP[_25] = _27;
        var _28 = _this+260+4;
        var _29 = _this+164+4;
        var _30 = FHEAP[_29];
        FHEAP[_28] = _30;
        var _31 = _this+260+8;
        var _32 = _this+164+8;
        var _33 = FHEAP[_32];
        FHEAP[_31] = _33;
        var _34 = _this+260+12;
        var _35 = _this+164+12;
        var _36 = FHEAP[_35];
        FHEAP[_34] = _36;
        var _37 = _21 - _33;
        var _38 = _18 - _30;
        var _39 = _15 - _27;
        var _40 = _this+276;
        FHEAP[_40] = _39;
        var _41 = _this+276+4;
        FHEAP[_41] = _38;
        var _42 = _this+276+8;
        FHEAP[_42] = _37;
        var _43 = _this+276+12;
        FHEAP[_43] = 0;
        IHEAP[_2] = 0;
        var _44 = _8 & -16;
        IHEAP[_7] = _44;
        FHEAP[_3] = 1;
        FHEAP[_4] = 0;
        FHEAP[_5] = 0;
        FHEAP[_6] = 0;
        var _45 = _this+312;
        IHEAP[_45] = 1;
        STACKTOP = __stackBase__;
        return 1;
      }
      else if (__label__ == 116) {
        var _46 = _this+4+8;
        var _47 = FHEAP[_46];
        var _48 = 0 - _47;
        var _49 = _this+4+4;
        var _50 = FHEAP[_49];
        var _51 = 0 - _50;
        var _52 = _this+4;
        var _53 = FHEAP[_52];
        var _54 = 0 - _53;
        var _55 = _this+4+16+8;
        var _56 = FHEAP[_55];
        var _57 = _56 - _47;
        var _58 = _this+4+16+4;
        var _59 = FHEAP[_58];
        var _60 = _59 - _50;
        var _61 = _this+4+16;
        var _62 = FHEAP[_61];
        var _63 = _62 - _53;
        var _64 = _63 * _54;
        var _65 = _60 * _51;
        var _66 = _64 + _65;
        var _67 = _57 * _48;
        var _68 = _66 + _67;
        var _69 = _68 > 0;
        ;
        if (_69) {
          ;
          var _70 = _63 * _63;
          var _71 = _60 * _60;
          var _72 = _70 + _71;
          var _73 = _57 * _57;
          var _74 = _72 + _73;
          var _75 = _68 < _74;
          ;
          if (_75) {
            ;
            var _76 = _68 / _74;
            var _77 = _9 | 3;
            IHEAP[_7] = _77;
            __lastLabel__ = 83; ;
          }
          else {
            ;
            var _78 = _9 | 2;
            IHEAP[_7] = _78;
            __lastLabel__ = 2; ;
          }
        }
        else {
          ;
          var _79 = _9 | 1;
          IHEAP[_7] = _79;
          __lastLabel__ = 148; ;
        }
        var _t_0 = __lastLabel__ == 83 ? _76 : (__lastLabel__ == 2 ? 1 : (0));
        var _80 = 1 - _t_0;
        FHEAP[_3] = _80;
        FHEAP[_4] = _t_0;
        FHEAP[_5] = 0;
        FHEAP[_6] = 0;
        var _81 = _this+84+16+8;
        var _82 = FHEAP[_81];
        var _83 = _this+84+8;
        var _84 = FHEAP[_83];
        var _85 = _82 - _84;
        var _86 = _this+84+16+4;
        var _87 = FHEAP[_86];
        var _88 = _this+84+4;
        var _89 = FHEAP[_88];
        var _90 = _87 - _89;
        var _91 = _this+84+16;
        var _92 = FHEAP[_91];
        var _93 = _this+84;
        var _94 = FHEAP[_93];
        var _95 = _92 - _94;
        var _96 = _85 * _t_0;
        var _97 = _90 * _t_0;
        var _98 = _95 * _t_0;
        var _99 = _84 + _96;
        var _100 = _89 + _97;
        var _101 = _94 + _98;
        var _102 = _this+244;
        FHEAP[_102] = _101;
        var _103 = _this+244+4;
        FHEAP[_103] = _100;
        var _104 = _this+244+8;
        FHEAP[_104] = _99;
        var _105 = _this+244+12;
        FHEAP[_105] = 0;
        var _106 = _this+164+16+8;
        var _107 = FHEAP[_106];
        var _108 = _this+164+8;
        var _109 = FHEAP[_108];
        var _110 = _107 - _109;
        var _111 = _this+164+16+4;
        var _112 = FHEAP[_111];
        var _113 = _this+164+4;
        var _114 = FHEAP[_113];
        var _115 = _112 - _114;
        var _116 = _this+164+16;
        var _117 = FHEAP[_116];
        var _118 = _this+164;
        var _119 = FHEAP[_118];
        var _120 = _117 - _119;
        var _121 = _110 * _t_0;
        var _122 = _115 * _t_0;
        var _123 = _120 * _t_0;
        var _124 = _109 + _121;
        var _125 = _114 + _122;
        var _126 = _119 + _123;
        var _127 = _this+260;
        FHEAP[_127] = _126;
        var _128 = _this+260+4;
        FHEAP[_128] = _125;
        var _129 = _this+260+8;
        FHEAP[_129] = _124;
        var _130 = _this+260+12;
        FHEAP[_130] = 0;
        var _131 = _99 - _124;
        var _132 = _100 - _125;
        var _133 = _101 - _126;
        var _134 = _this+276;
        FHEAP[_134] = _133;
        var _135 = _this+276+4;
        FHEAP[_135] = _132;
        var _136 = _this+276+8;
        FHEAP[_136] = _131;
        var _137 = _this+276+12;
        FHEAP[_137] = 0;
        var _138 = _this+316+16;
        __ZN22btVoronoiSimplexSolver14reduceVerticesERK15btUsageBitfield(_this, _138);
        var _139 = FHEAP[_3];
        var _140 = _139 < 0;
        ;
        __ZN25btSubSimplexClosestResult7isValidEv_exit60$_bb_i54$14167: do { 
          if (_140) {
            __lastLabel__ = 62; ;
          }
          else {
            __lastLabel__ = 62; ;
            var _141 = FHEAP[_4];
            var _142 = _141 < 0;
            if (_142) { __lastLabel__ = 2586; __label__ = 2587; /* __ZN25btSubSimplexClosestResult7isValidEv_exit60 */ break __ZN25btSubSimplexClosestResult7isValidEv_exit60$_bb_i54$14167; } else { __lastLabel__ = 2586; ; }
            var _143 = FHEAP[_5];
            var _144 = _143 < 0;
            if (_144) { __lastLabel__ = 2588; __label__ = 2587; /* __ZN25btSubSimplexClosestResult7isValidEv_exit60 */ break __ZN25btSubSimplexClosestResult7isValidEv_exit60$_bb_i54$14167; } else { __lastLabel__ = 2588; ; }
            var _145 = FHEAP[_6];
            var _not__i56 = _145 >= 0;
            var _retval_i57 = _not__i56;
            __lastLabel__ = 2589; ;
          }
        } while(0);
        var _146 = __lastLabel__ == 2589 ? _retval_i57 : (__lastLabel__ == 2588 ? 0 : (__lastLabel__ == 2586 ? 0 : (0)));
        var _147 = _this+312;
        IHEAP[_147] = _146;
        STACKTOP = __stackBase__;
        return _146;
      }
      else if (__label__ == 63) {
        var _148 = _p16;
        FHEAP[_148] = 0;
        var _149 = _p16+4;
        FHEAP[_149] = 0;
        var _150 = _p16+8;
        FHEAP[_150] = 0;
        var _151 = _p16+12;
        FHEAP[_151] = 0;
        var _152 = _this+4;
        var _153 = _this+4+16;
        var _154 = _this+4+32;
        var _155 = _this+316;
        var _156 = __ZN22btVoronoiSimplexSolver22closestPtPointTriangleERK9btVector3S2_S2_S2_R25btSubSimplexClosestResult(_this, _p16, _152, _153, _154, _155);
        var _157 = _this+84+32+8;
        var _158 = FHEAP[_157];
        var _159 = FHEAP[_5];
        var _160 = _158 * _159;
        var _161 = _this+84+32+4;
        var _162 = FHEAP[_161];
        var _163 = _162 * _159;
        var _164 = _this+84+32;
        var _165 = FHEAP[_164];
        var _166 = _165 * _159;
        var _167 = _this+84+16+8;
        var _168 = FHEAP[_167];
        var _169 = FHEAP[_4];
        var _170 = _168 * _169;
        var _171 = _this+84+16+4;
        var _172 = FHEAP[_171];
        var _173 = _172 * _169;
        var _174 = _this+84+16;
        var _175 = FHEAP[_174];
        var _176 = _175 * _169;
        var _177 = _this+84+8;
        var _178 = FHEAP[_177];
        var _179 = FHEAP[_3];
        var _180 = _178 * _179;
        var _181 = _this+84+4;
        var _182 = FHEAP[_181];
        var _183 = _182 * _179;
        var _184 = _this+84;
        var _185 = FHEAP[_184];
        var _186 = _185 * _179;
        var _187 = _180 + _170;
        var _188 = _183 + _173;
        var _189 = _186 + _176;
        var _190 = _187 + _160;
        var _191 = _188 + _163;
        var _192 = _189 + _166;
        var _193 = _this+244;
        FHEAP[_193] = _192;
        var _194 = _this+244+4;
        FHEAP[_194] = _191;
        var _195 = _this+244+8;
        FHEAP[_195] = _190;
        var _196 = _this+244+12;
        FHEAP[_196] = 0;
        var _197 = _this+164+32+8;
        var _198 = FHEAP[_197];
        var _199 = _198 * _159;
        var _200 = _this+164+32+4;
        var _201 = FHEAP[_200];
        var _202 = _201 * _159;
        var _203 = _this+164+32;
        var _204 = FHEAP[_203];
        var _205 = _204 * _159;
        var _206 = _this+164+16+8;
        var _207 = FHEAP[_206];
        var _208 = _207 * _169;
        var _209 = _this+164+16+4;
        var _210 = FHEAP[_209];
        var _211 = _210 * _169;
        var _212 = _this+164+16;
        var _213 = FHEAP[_212];
        var _214 = _213 * _169;
        var _215 = _this+164+8;
        var _216 = FHEAP[_215];
        var _217 = _216 * _179;
        var _218 = _this+164+4;
        var _219 = FHEAP[_218];
        var _220 = _219 * _179;
        var _221 = _this+164;
        var _222 = FHEAP[_221];
        var _223 = _222 * _179;
        var _224 = _217 + _208;
        var _225 = _220 + _211;
        var _226 = _223 + _214;
        var _227 = _224 + _199;
        var _228 = _225 + _202;
        var _229 = _226 + _205;
        var _230 = _this+260;
        FHEAP[_230] = _229;
        var _231 = _this+260+4;
        FHEAP[_231] = _228;
        var _232 = _this+260+8;
        FHEAP[_232] = _227;
        var _233 = _this+260+12;
        FHEAP[_233] = 0;
        var _234 = _190 - _227;
        var _235 = _191 - _228;
        var _236 = _192 - _229;
        var _237 = _this+276;
        FHEAP[_237] = _236;
        var _238 = _this+276+4;
        FHEAP[_238] = _235;
        var _239 = _this+276+8;
        FHEAP[_239] = _234;
        var _240 = _this+276+12;
        FHEAP[_240] = 0;
        var _241 = _this+316+16;
        __ZN22btVoronoiSimplexSolver14reduceVerticesERK15btUsageBitfield(_this, _241);
        var _242 = FHEAP[_3];
        var _243 = _242 < 0;
        ;
        __ZN25btSubSimplexClosestResult7isValidEv_exit53$_bb_i47$14173: do { 
          if (_243) {
            __lastLabel__ = 63; ;
          }
          else {
            __lastLabel__ = 63; ;
            var _244 = FHEAP[_4];
            var _245 = _244 < 0;
            if (_245) { __lastLabel__ = 2515; __label__ = 2591; /* __ZN25btSubSimplexClosestResult7isValidEv_exit53 */ break __ZN25btSubSimplexClosestResult7isValidEv_exit53$_bb_i47$14173; } else { __lastLabel__ = 2515; ; }
            var _246 = FHEAP[_5];
            var _247 = _246 < 0;
            if (_247) { __lastLabel__ = 2592; __label__ = 2591; /* __ZN25btSubSimplexClosestResult7isValidEv_exit53 */ break __ZN25btSubSimplexClosestResult7isValidEv_exit53$_bb_i47$14173; } else { __lastLabel__ = 2592; ; }
            var _248 = FHEAP[_6];
            var _not__i49 = _248 >= 0;
            var _retval_i50 = _not__i49;
            __lastLabel__ = 2593; ;
          }
        } while(0);
        var _249 = __lastLabel__ == 2593 ? _retval_i50 : (__lastLabel__ == 2592 ? 0 : (__lastLabel__ == 2515 ? 0 : (0)));
        var _250 = _this+312;
        IHEAP[_250] = _249;
        STACKTOP = __stackBase__;
        return _249;
      }
      else if (__label__ == 419) {
        var _251 = _p25;
        FHEAP[_251] = 0;
        var _252 = _p25+4;
        FHEAP[_252] = 0;
        var _253 = _p25+8;
        FHEAP[_253] = 0;
        var _254 = _p25+12;
        FHEAP[_254] = 0;
        var _255 = _this+4;
        var _256 = _this+4+16;
        var _257 = _this+4+32;
        var _258 = _this+4+48;
        var _259 = _this+316;
        var _260 = __ZN22btVoronoiSimplexSolver25closestPtPointTetrahedronERK9btVector3S2_S2_S2_S2_R25btSubSimplexClosestResult(_this, _p25, _255, _256, _257, _258, _259);
        var _toBool34 = _260 == 0;
        ;
        if (_toBool34) {
          ;
          var _380 = IHEAP[_2];
          var _toBool40 = _380 == 0;
          var _381 = _this+312;
          ;
          if (_toBool40) {
            ;
            IHEAP[_381] = 1;
            var _382 = _this+276;
            FHEAP[_382] = 0;
            var _383 = _this+276+4;
            FHEAP[_383] = 0;
            var _384 = _this+276+8;
            FHEAP[_384] = 0;
            var _385 = _this+276+12;
            FHEAP[_385] = 0;
            STACKTOP = __stackBase__;
            return 1;
          }
          else {
            ;
            IHEAP[_381] = 0;
            STACKTOP = __stackBase__;
            return 0;
          }
        }
        else {
          ;
          var _261 = _this+84+48+8;
          var _262 = FHEAP[_261];
          var _263 = FHEAP[_6];
          var _264 = _262 * _263;
          var _265 = _this+84+48+4;
          var _266 = FHEAP[_265];
          var _267 = _266 * _263;
          var _268 = _this+84+48;
          var _269 = FHEAP[_268];
          var _270 = _269 * _263;
          var _271 = _this+84+32+8;
          var _272 = FHEAP[_271];
          var _273 = FHEAP[_5];
          var _274 = _272 * _273;
          var _275 = _this+84+32+4;
          var _276 = FHEAP[_275];
          var _277 = _276 * _273;
          var _278 = _this+84+32;
          var _279 = FHEAP[_278];
          var _280 = _279 * _273;
          var _281 = _this+84+16+8;
          var _282 = FHEAP[_281];
          var _283 = FHEAP[_4];
          var _284 = _282 * _283;
          var _285 = _this+84+16+4;
          var _286 = FHEAP[_285];
          var _287 = _286 * _283;
          var _288 = _this+84+16;
          var _289 = FHEAP[_288];
          var _290 = _289 * _283;
          var _291 = _this+84+8;
          var _292 = FHEAP[_291];
          var _293 = FHEAP[_3];
          var _294 = _292 * _293;
          var _295 = _this+84+4;
          var _296 = FHEAP[_295];
          var _297 = _296 * _293;
          var _298 = _this+84;
          var _299 = FHEAP[_298];
          var _300 = _299 * _293;
          var _301 = _294 + _284;
          var _302 = _297 + _287;
          var _303 = _300 + _290;
          var _304 = _301 + _274;
          var _305 = _302 + _277;
          var _306 = _303 + _280;
          var _307 = _304 + _264;
          var _308 = _305 + _267;
          var _309 = _306 + _270;
          var _310 = _this+244;
          FHEAP[_310] = _309;
          var _311 = _this+244+4;
          FHEAP[_311] = _308;
          var _312 = _this+244+8;
          FHEAP[_312] = _307;
          var _313 = _this+244+12;
          FHEAP[_313] = 0;
          var _314 = _this+164+48+8;
          var _315 = FHEAP[_314];
          var _316 = _315 * _263;
          var _317 = _this+164+48+4;
          var _318 = FHEAP[_317];
          var _319 = _318 * _263;
          var _320 = _this+164+48;
          var _321 = FHEAP[_320];
          var _322 = _321 * _263;
          var _323 = _this+164+32+8;
          var _324 = FHEAP[_323];
          var _325 = _324 * _273;
          var _326 = _this+164+32+4;
          var _327 = FHEAP[_326];
          var _328 = _327 * _273;
          var _329 = _this+164+32;
          var _330 = FHEAP[_329];
          var _331 = _330 * _273;
          var _332 = _this+164+16+8;
          var _333 = FHEAP[_332];
          var _334 = _333 * _283;
          var _335 = _this+164+16+4;
          var _336 = FHEAP[_335];
          var _337 = _336 * _283;
          var _338 = _this+164+16;
          var _339 = FHEAP[_338];
          var _340 = _339 * _283;
          var _341 = _this+164+8;
          var _342 = FHEAP[_341];
          var _343 = _342 * _293;
          var _344 = _this+164+4;
          var _345 = FHEAP[_344];
          var _346 = _345 * _293;
          var _347 = _this+164;
          var _348 = FHEAP[_347];
          var _349 = _348 * _293;
          var _350 = _343 + _334;
          var _351 = _346 + _337;
          var _352 = _349 + _340;
          var _353 = _350 + _325;
          var _354 = _351 + _328;
          var _355 = _352 + _331;
          var _356 = _353 + _316;
          var _357 = _354 + _319;
          var _358 = _355 + _322;
          var _359 = _this+260;
          FHEAP[_359] = _358;
          var _360 = _this+260+4;
          FHEAP[_360] = _357;
          var _361 = _this+260+8;
          FHEAP[_361] = _356;
          var _362 = _this+260+12;
          FHEAP[_362] = 0;
          var _363 = _307 - _356;
          var _364 = _308 - _357;
          var _365 = _309 - _358;
          var _366 = _this+276;
          FHEAP[_366] = _365;
          var _367 = _this+276+4;
          FHEAP[_367] = _364;
          var _368 = _this+276+8;
          FHEAP[_368] = _363;
          var _369 = _this+276+12;
          FHEAP[_369] = 0;
          var _370 = _this+316+16;
          __ZN22btVoronoiSimplexSolver14reduceVerticesERK15btUsageBitfield(_this, _370);
          var _371 = FHEAP[_3];
          var _372 = _371 < 0;
          ;
          __ZN25btSubSimplexClosestResult7isValidEv_exit$_bb_i$14185: do { 
            if (_372) {
              __lastLabel__ = 518; ;
            }
            else {
              __lastLabel__ = 518; ;
              var _373 = FHEAP[_4];
              var _374 = _373 < 0;
              if (_374) { __lastLabel__ = 131; __label__ = 2595; /* __ZN25btSubSimplexClosestResult7isValidEv_exit */ break __ZN25btSubSimplexClosestResult7isValidEv_exit$_bb_i$14185; } else { __lastLabel__ = 131; ; }
              var _375 = FHEAP[_5];
              var _376 = _375 < 0;
              if (_376) { __lastLabel__ = 159; __label__ = 2595; /* __ZN25btSubSimplexClosestResult7isValidEv_exit */ break __ZN25btSubSimplexClosestResult7isValidEv_exit$_bb_i$14185; } else { __lastLabel__ = 159; ; }
              var _377 = FHEAP[_6];
              var _not__i = _377 >= 0;
              var _retval_i = _not__i;
              __lastLabel__ = 132; ;
            }
          } while(0);
          var _378 = __lastLabel__ == 132 ? _retval_i : (__lastLabel__ == 159 ? 0 : (__lastLabel__ == 131 ? 0 : (0)));
          var _379 = _this+312;
          IHEAP[_379] = _378;
          STACKTOP = __stackBase__;
          return _378;
        }
      }
    }
  }
  __ZN22btVoronoiSimplexSolver28updateClosestVectorAndPointsEv.__index__ = Runtime.getFunctionIndex(__ZN22btVoronoiSimplexSolver28updateClosestVectorAndPointsEv, "__ZN22btVoronoiSimplexSolver28updateClosestVectorAndPointsEv");
  
  
  function __ZN22btVoronoiSimplexSolver14compute_pointsER9btVector3S1_(_this, _p1, _p2) {
    ;
    var __label__;
    var _0 = __ZN22btVoronoiSimplexSolver28updateClosestVectorAndPointsEv(_this);
    var _1 = _p1;
    var _2 = _this+244;
    var _3 = FHEAP[_2];
    FHEAP[_1] = _3;
    var _4 = _p1+4;
    var _5 = _this+244+4;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _p1+8;
    var _8 = _this+244+8;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _p1+12;
    var _11 = _this+244+12;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _p2;
    var _14 = _this+260;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    var _16 = _p2+4;
    var _17 = _this+260+4;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _p2+8;
    var _20 = _this+260+8;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _p2+12;
    var _23 = _this+260+12;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    ;
    return;
  }
  __ZN22btVoronoiSimplexSolver14compute_pointsER9btVector3S1_.__index__ = Runtime.getFunctionIndex(__ZN22btVoronoiSimplexSolver14compute_pointsER9btVector3S1_, "__ZN22btVoronoiSimplexSolver14compute_pointsER9btVector3S1_");
  
  
  function __ZN22btVoronoiSimplexSolver7closestER9btVector3(_this, _v) {
    ;
    var __label__;
    var _0 = __ZN22btVoronoiSimplexSolver28updateClosestVectorAndPointsEv(_this);
    var _1 = _v;
    var _2 = _this+276;
    var _3 = FHEAP[_2];
    FHEAP[_1] = _3;
    var _4 = _v+4;
    var _5 = _this+276+4;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _v+8;
    var _8 = _this+276+8;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _v+12;
    var _11 = _this+276+12;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    ;
    return _0;
  }
  __ZN22btVoronoiSimplexSolver7closestER9btVector3.__index__ = Runtime.getFunctionIndex(__ZN22btVoronoiSimplexSolver7closestER9btVector3, "__ZN22btVoronoiSimplexSolver7closestER9btVector3");
  
  
  function __ZNK30btKinematicCharacterController7canJumpEv(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+48;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = FUNCTION_TABLE[_4](_this);
    ;
    return _5;
  }
  __ZNK30btKinematicCharacterController7canJumpEv.__index__ = Runtime.getFunctionIndex(__ZNK30btKinematicCharacterController7canJumpEv, "__ZNK30btKinematicCharacterController7canJumpEv");
  
  
  function __ZN30btKinematicCharacterController4jumpEv(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+40;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = FUNCTION_TABLE[_4](_this);
    var _toBoolnot = _5 == 0;
    ;
    if (_toBoolnot) {
      ;
      ;
      return;
    }
    else {
      ;
      var _6 = _this+28;
      var _7 = FHEAP[_6];
      var _8 = _this+16;
      FHEAP[_8] = _7;
      var _9 = _this+169;
      IHEAP[_9] = 1;
      ;
      return;
    }
  }
  __ZN30btKinematicCharacterController4jumpEv.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController4jumpEv, "__ZN30btKinematicCharacterController4jumpEv");
  
  
  function __ZN30btKinematicCharacterController19getUpAxisDirectionsEv() {
    ;
    var __label__;
    var _0 = IHEAP[__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection];
    var _1 = _0 == 0;
    ;
    _bb$_bb2$14242: do { 
      if (_1) {
        ;
        var _2 = ___cxa_guard_acquire(__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection);
        var _3 = _2 == 0;
        if (_3) { __label__ = 0; /* _bb2 */ break _bb$_bb2$14242; }
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection] = 1;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+4] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+8] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+12] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+4] = 1;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+8] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+12] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+4] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+8] = 1;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+12] = 0;
        ___cxa_guard_release(__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection);
        ;
        return __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection;
      }
    } while(0);
    ;
    return __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection;
  }
  __ZN30btKinematicCharacterController19getUpAxisDirectionsEv.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController19getUpAxisDirectionsEv, "__ZN30btKinematicCharacterController19getUpAxisDirectionsEv");
  
  
  function __ZN30btKinematicCharacterController11setMaxSlopeEf(_this, _slopeRadians) {
    ;
    var __label__;
    var _0 = _this+36;
    FHEAP[_0] = _slopeRadians;
    var _1 = _cosf(_slopeRadians);
    var _2 = _this+40;
    FHEAP[_2] = _1;
    ;
    return;
  }
  __ZN30btKinematicCharacterController11setMaxSlopeEf.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController11setMaxSlopeEf, "__ZN30btKinematicCharacterController11setMaxSlopeEf");
  
  
  function __ZN30btKinematicCharacterController26setVelocityForTimeIntervalERK9btVector3f(_this, _velocity, _timeInterval) {
    ;
    var __label__;
    var _0 = _this+171;
    IHEAP[_0] = 0;
    var _1 = _this+60;
    var _2 = _velocity;
    var _3 = FHEAP[_2];
    FHEAP[_1] = _3;
    var _4 = _this+60+4;
    var _5 = _velocity+4;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _this+60+8;
    var _8 = _velocity+8;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _this+60+12;
    var _11 = _velocity+12;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _3 * _3;
    var _14 = _6 * _6;
    var _15 = _13 + _14;
    var _16 = _9 * _9;
    var _17 = _15 + _16;
    var _18 = _sqrtf(_17);
    var _19 = 1 / _18;
    var _20 = _19 * _9;
    var _21 = _19 * _6;
    var _22 = _19 * _3;
    var _23 = _22 * _22;
    var _24 = _21 * _21;
    var _25 = _23 + _24;
    var _26 = _20 * _20;
    var _27 = _25 + _26;
    var _28 = _sqrtf(_27);
    var _29 = _28 < 1.1920928955078125e-7;
    var _memtmp_0_2_0 = _29 ? 0 : _20;
    var _memtmp_0_1_0 = _29 ? 0 : _21;
    var _memtmp_0_0_0 = _29 ? 0 : _22;
    var _30 = _this+76;
    FHEAP[_30] = _memtmp_0_0_0;
    var _31 = _this+76+4;
    FHEAP[_31] = _memtmp_0_1_0;
    var _32 = _this+76+8;
    FHEAP[_32] = _memtmp_0_2_0;
    var _33 = _this+76+12;
    FHEAP[_33] = 0;
    var _34 = _this+172;
    FHEAP[_34] = _timeInterval;
    ;
    return;
  }
  __ZN30btKinematicCharacterController26setVelocityForTimeIntervalERK9btVector3f.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController26setVelocityForTimeIntervalERK9btVector3f, "__ZN30btKinematicCharacterController26setVelocityForTimeIntervalERK9btVector3f");
  
  
  function __ZN30btKinematicCharacterController16setWalkDirectionERK9btVector3(_this, _walkDirection) {
    ;
    var __label__;
    var _0 = _this+171;
    IHEAP[_0] = 1;
    var _1 = _this+60;
    var _2 = _walkDirection;
    var _3 = FHEAP[_2];
    FHEAP[_1] = _3;
    var _4 = _this+60+4;
    var _5 = _walkDirection+4;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _this+60+8;
    var _8 = _walkDirection+8;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _this+60+12;
    var _11 = _walkDirection+12;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _3 * _3;
    var _14 = _6 * _6;
    var _15 = _13 + _14;
    var _16 = _9 * _9;
    var _17 = _15 + _16;
    var _18 = _sqrtf(_17);
    var _19 = 1 / _18;
    var _20 = _19 * _9;
    var _21 = _19 * _6;
    var _22 = _19 * _3;
    var _23 = _22 * _22;
    var _24 = _21 * _21;
    var _25 = _23 + _24;
    var _26 = _20 * _20;
    var _27 = _25 + _26;
    var _28 = _sqrtf(_27);
    var _29 = _28 < 1.1920928955078125e-7;
    var _memtmp_0_2_0 = _29 ? 0 : _20;
    var _memtmp_0_1_0 = _29 ? 0 : _21;
    var _memtmp_0_0_0 = _29 ? 0 : _22;
    var _30 = _this+76;
    FHEAP[_30] = _memtmp_0_0_0;
    var _31 = _this+76+4;
    FHEAP[_31] = _memtmp_0_1_0;
    var _32 = _this+76+8;
    FHEAP[_32] = _memtmp_0_2_0;
    var _33 = _this+76+12;
    FHEAP[_33] = 0;
    ;
    return;
  }
  __ZN30btKinematicCharacterController16setWalkDirectionERK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController16setWalkDirectionERK9btVector3, "__ZN30btKinematicCharacterController16setWalkDirectionERK9btVector3");
  
  
  function __ZN30btKinematicCharacterController36updateTargetPositionBasedOnCollisionERK9btVector3ff(_this, _hitNormal, _tangentMag, _normalMag) {
    ;
    var __label__;
    var _0 = _this+112+8;
    var _1 = FHEAP[_0];
    var _2 = _this+92+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _this+112+4;
    var _6 = FHEAP[_5];
    var _7 = _this+92+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _this+112;
    var _11 = FHEAP[_10];
    var _12 = _this+92;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _14 * _14;
    var _16 = _9 * _9;
    var _17 = _15 + _16;
    var _18 = _4 * _4;
    var _19 = _17 + _18;
    var _20 = _sqrtf(_19);
    var _21 = _20 > 1.1920928955078125e-7;
    ;
    _bb$_return$14250: do { 
      if (_21) {
        ;
        var _22 = 1 / _20;
        var _23 = _14 * _22;
        var _24 = _9 * _22;
        var _25 = _4 * _22;
        var _26 = _hitNormal;
        var _27 = FHEAP[_26];
        var _28 = _23 * _27;
        var _29 = _hitNormal+4;
        var _30 = FHEAP[_29];
        var _31 = _24 * _30;
        var _32 = _28 + _31;
        var _33 = _hitNormal+8;
        var _34 = FHEAP[_33];
        var _35 = _25 * _34;
        var _36 = _32 + _35;
        var _37 = _36 * 2;
        var _38 = _34 * _37;
        var _39 = _30 * _37;
        var _40 = _27 * _37;
        var _41 = _25 - _38;
        var _42 = _24 - _39;
        var _43 = _23 - _40;
        var _44 = _43 * _43;
        var _45 = _42 * _42;
        var _46 = _44 + _45;
        var _47 = _41 * _41;
        var _48 = _46 + _47;
        var _49 = _sqrtf(_48);
        var _50 = 1 / _49;
        var _51 = _43 * _50;
        var _52 = _42 * _50;
        var _53 = _41 * _50;
        var _54 = _51 * _27;
        var _55 = _52 * _30;
        var _56 = _54 + _55;
        var _57 = _53 * _34;
        var _58 = _56 + _57;
        FHEAP[_10] = _13;
        FHEAP[_5] = _8;
        FHEAP[_0] = _3;
        var _59 = _this+112+12;
        var _60 = _this+92+12;
        var _61 = FHEAP[_60];
        FHEAP[_59] = _61;
        var _62 = _normalMag != 0;
        if (!(_62)) { __label__ = 44; /* _return */ break _bb$_return$14250; }
        var _63 = _27 * _58;
        var _64 = _30 * _58;
        var _65 = _34 * _58;
        var _66 = _51 - _63;
        var _67 = _52 - _64;
        var _68 = _53 - _65;
        var _69 = _20 * _normalMag;
        var _70 = _68 * _69;
        var _71 = _67 * _69;
        var _72 = _66 * _69;
        var _73 = _13 + _72;
        FHEAP[_10] = _73;
        var _74 = _8 + _71;
        FHEAP[_5] = _74;
        var _75 = _3 + _70;
        FHEAP[_0] = _75;
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __ZN30btKinematicCharacterController36updateTargetPositionBasedOnCollisionERK9btVector3ff.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController36updateTargetPositionBasedOnCollisionERK9btVector3ff, "__ZN30btKinematicCharacterController36updateTargetPositionBasedOnCollisionERK9btVector3ff");
  
  
  function __ZN30btKinematicCharacterController8stepDownEP16btCollisionWorldf(_this, _collisionWorld, _dt) {
    var __stackBase__  = STACKTOP; STACKTOP += 232;
    var __label__;
    var __lastLabel__ = null;
    var _start = __stackBase__;
    var _end = __stackBase__+64;
    var _callback = __stackBase__+128;
    var _0 = _this+16;
    var _1 = FHEAP[_0];
    var _2 = _1 < 0;
    ;
    if (_2) {
      __lastLabel__ = -1; ;
      var _3 = 0 - _1;
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _iftmp_235_0 = __lastLabel__ == 60 ? _3 : (0);
    var _4 = _iftmp_235_0 * _dt;
    var _5 = _4 > 0;
    ;
    _bb3$_bb11$14258: do { 
      if (_5) {
        __lastLabel__ = 0; ;
        var _6 = _this+52;
        var _7 = FHEAP[_6];
        var _8 = _7 > _4;
        if (_8) { __lastLabel__ = 116; ; } else { __lastLabel__ = 116; __label__ = 292; /* _bb11 */ break _bb3$_bb11$14258; }
        var _9 = _this+168;
        var _10 = IHEAP[_9];
        var _toBool = _10 == 0;
        ;
        if (_toBool) {
          ;
          var _11 = _this+169;
          var _12 = IHEAP[_11];
          var _toBool6not = _12 == 0;
          if (_toBool6not) { __lastLabel__ = 82; ; } else { __lastLabel__ = 82; __label__ = 292; /* _bb11 */ break _bb3$_bb11$14258; }
        }
        __lastLabel__ = 150; ;
      }
      else {
        __lastLabel__ = 0; ;
      }
    } while(0);
    var _downVelocity_0 = __lastLabel__ == 150 ? _7 : (__lastLabel__ == 82 ? _4 : (__lastLabel__ == 116 ? _4 : (_4)));
    var _13 = _this+108;
    var _14 = FHEAP[_13];
    var _15 = _14 + _downVelocity_0;
    var _16 = IHEAP[__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection];
    var _17 = _16 == 0;
    ;
    _bb_i25$__ZN30btKinematicCharacterController19getUpAxisDirectionsEv_exit28$14265: do { 
      if (_17) {
        ;
        var _18 = ___cxa_guard_acquire(__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection);
        var _19 = _18 == 0;
        if (_19) { __label__ = 2603; /* __ZN30btKinematicCharacterController19getUpAxisDirectionsEv_exit28 */ break _bb_i25$__ZN30btKinematicCharacterController19getUpAxisDirectionsEv_exit28$14265; }
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection] = 1;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+4] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+8] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+12] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+4] = 1;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+8] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+12] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+4] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+8] = 1;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+12] = 0;
        ___cxa_guard_release(__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection);
        ;
      }
    } while(0);
    var _20 = _this+176;
    var _21 = IHEAP[_20];
    var _22 = __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+_21*16+8;
    var _23 = FHEAP[_22];
    var _24 = _23 * _15;
    var _25 = __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+_21*16+4;
    var _26 = FHEAP[_25];
    var _27 = _26 * _15;
    var _28 = __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+_21*16;
    var _29 = FHEAP[_28];
    var _30 = _29 * _15;
    var _31 = _this+112;
    var _32 = FHEAP[_31];
    var _33 = _32 - _30;
    FHEAP[_31] = _33;
    var _34 = _this+112+4;
    var _35 = FHEAP[_34];
    var _36 = _35 - _27;
    FHEAP[_34] = _36;
    var _37 = _this+112+8;
    var _38 = FHEAP[_37];
    var _39 = _38 - _24;
    FHEAP[_37] = _39;
    var _40 = _start;
    FHEAP[_40] = 1;
    var _41 = _start+4;
    FHEAP[_41] = 0;
    var _42 = _start+8;
    FHEAP[_42] = 0;
    var _43 = _start+12;
    FHEAP[_43] = 0;
    var _44 = _start+16;
    FHEAP[_44] = 0;
    var _45 = _start+16+4;
    FHEAP[_45] = 1;
    var _46 = _start+16+8;
    FHEAP[_46] = 0;
    var _47 = _start+16+12;
    FHEAP[_47] = 0;
    var _48 = _start+32;
    FHEAP[_48] = 0;
    var _49 = _start+32+4;
    FHEAP[_49] = 0;
    var _50 = _start+32+8;
    FHEAP[_50] = 1;
    var _51 = _start+32+12;
    FHEAP[_51] = 0;
    var _52 = _start+48;
    var _53 = _start+48+4;
    var _54 = _start+48+8;
    var _55 = _start+48+12;
    var _56 = _end;
    FHEAP[_56] = 1;
    var _57 = _end+4;
    FHEAP[_57] = 0;
    var _58 = _end+8;
    FHEAP[_58] = 0;
    var _59 = _end+12;
    FHEAP[_59] = 0;
    var _60 = _end+16;
    FHEAP[_60] = 0;
    var _61 = _end+16+4;
    FHEAP[_61] = 1;
    var _62 = _end+16+8;
    FHEAP[_62] = 0;
    var _63 = _end+16+12;
    FHEAP[_63] = 0;
    var _64 = _end+32;
    FHEAP[_64] = 0;
    var _65 = _end+32+4;
    FHEAP[_65] = 0;
    var _66 = _end+32+8;
    FHEAP[_66] = 1;
    var _67 = _end+32+12;
    FHEAP[_67] = 0;
    var _68 = _end+48;
    var _69 = _end+48+4;
    var _70 = _end+48+8;
    var _71 = _end+48+12;
    var _72 = _this+92;
    var _73 = FHEAP[_72];
    FHEAP[_52] = _73;
    var _74 = _this+92+4;
    var _75 = FHEAP[_74];
    FHEAP[_53] = _75;
    var _76 = _this+92+8;
    var _77 = FHEAP[_76];
    FHEAP[_54] = _77;
    var _78 = _this+92+12;
    var _79 = FHEAP[_78];
    FHEAP[_55] = _79;
    FHEAP[_68] = _33;
    FHEAP[_69] = _36;
    FHEAP[_70] = _39;
    var _80 = _this+112+12;
    var _81 = FHEAP[_80];
    FHEAP[_71] = _81;
    var _82 = _this+40;
    var _83 = FHEAP[_82];
    var _84 = IHEAP[__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection];
    var _85 = _84 == 0;
    ;
    _bb_i$__ZN30btKinematicCharacterController19getUpAxisDirectionsEv_exit$14269: do { 
      if (_85) {
        ;
        var _86 = ___cxa_guard_acquire(__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection);
        var _87 = _86 == 0;
        if (_87) { __label__ = 2606; /* __ZN30btKinematicCharacterController19getUpAxisDirectionsEv_exit */ break _bb_i$__ZN30btKinematicCharacterController19getUpAxisDirectionsEv_exit$14269; }
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection] = 1;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+4] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+8] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+12] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+4] = 1;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+8] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+12] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+4] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+8] = 1;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+12] = 0;
        ___cxa_guard_release(__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection);
        ;
      }
    } while(0);
    var _88 = IHEAP[_20];
    var _89 = _this+8;
    var _90 = IHEAP[_89];
    var _91 = _90;
    var _92 = _callback;
    var _93 = _callback+4;
    FHEAP[_93] = 1;
    var _94 = _callback+8;
    IHEAP[_94] = 1;
    var _95 = _callback+10;
    IHEAP[_95] = -1;
    var _96 = _callback+12;
    var _97 = _callback+76;
    var _98 = _96;
    _llvm_memset_p0i8_i64(_98, 0, 32, 4, false);
    IHEAP[_97] = 0;
    IHEAP[_92] = __ZTV43btKinematicClosestNotMeConvexResultCallback+8;
    var _99 = _callback+80;
    IHEAP[_99] = _91;
    var _100 = _callback+84;
    var _101 = __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+_88*16;
    var _102 = FHEAP[_101];
    FHEAP[_100] = _102;
    var _103 = _callback+84+4;
    var _104 = __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+_88*16+4;
    var _105 = FHEAP[_104];
    FHEAP[_103] = _105;
    var _106 = _callback+84+8;
    var _107 = __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+_88*16+8;
    var _108 = FHEAP[_107];
    FHEAP[_106] = _108;
    var _109 = _callback+84+12;
    var _110 = __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+_88*16+12;
    var _111 = FHEAP[_110];
    FHEAP[_109] = _111;
    var _112 = _callback+100;
    FHEAP[_112] = _83;
    var _113 = _90+188;
    var _114 = IHEAP[_113];
    var _115 = _114+4;
    var _116 = IHEAP[_115];
    IHEAP[_94] = _116;
    var _117 = IHEAP[_113];
    var _118 = _117+6;
    var _119 = IHEAP[_118];
    IHEAP[_95] = _119;
    var _120 = _this+170;
    var _121 = IHEAP[_120];
    var _toBool12 = _121 == 0;
    var _122 = _collisionWorld+28+28;
    var _123 = FHEAP[_122];
    var _124 = _this+12;
    var _125 = IHEAP[_124];
    ;
    _bb14$_bb13$14273: do { 
      if (_toBool12) {
        ;
        var _128 = _callback;
        (function() { try { __THREW__ = false; return __ZNK16btCollisionWorld15convexSweepTestEPK13btConvexShapeRK11btTransformS5_RNS_20ConvexResultCallbackEf(_collisionWorld, _125, _start, _end, _128, _123) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 154; /* _bb16 */ break _bb14$_bb13$14273; } else { __label__ = 254; /* _lpad */ break _bb14$_bb13$14273; }
      }
      else {
        ;
        var _126 = _90;
        var _127 = _callback;
        (function() { try { __THREW__ = false; return __ZNK13btGhostObject15convexSweepTestEPK13btConvexShapeRK11btTransformS5_RN16btCollisionWorld20ConvexResultCallbackEf(_126, _125, _start, _end, _127, _123) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 154; /* _bb16 */ break _bb14$_bb13$14273; } else { __label__ = 254; /* _lpad */ break _bb14$_bb13$14273; }
      }
    } while(0);
    if (__label__ == 154) {
      var _129 = FHEAP[_93];
      var _130 = _129 < 1;
      ;
      if (_130) {
        ;
        var _131 = 1 - _129;
        var _132 = FHEAP[_72];
        var _133 = _132 * _131;
        var _134 = FHEAP[_31];
        var _135 = _134 * _129;
        var _136 = _133 + _135;
        FHEAP[_72] = _136;
        var _137 = FHEAP[_74];
        var _138 = _137 * _131;
        var _139 = FHEAP[_34];
        var _140 = _139 * _129;
        var _141 = _138 + _140;
        FHEAP[_74] = _141;
        var _142 = FHEAP[_76];
        var _143 = _142 * _131;
        var _144 = FHEAP[_37];
        var _145 = _144 * _129;
        var _146 = _143 + _145;
        FHEAP[_76] = _146;
        FHEAP[_0] = 0;
        var _147 = _this+20;
        FHEAP[_147] = 0;
        var _148 = _this+169;
        IHEAP[_148] = 0;
        STACKTOP = __stackBase__;
        return;
      }
      else {
        ;
        var _149 = FHEAP[_31];
        FHEAP[_72] = _149;
        var _150 = FHEAP[_34];
        FHEAP[_74] = _150;
        var _151 = FHEAP[_37];
        FHEAP[_76] = _151;
        var _152 = FHEAP[_80];
        FHEAP[_78] = _152;
        STACKTOP = __stackBase__;
        return;
      }
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select23 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_92] = __ZTVN16btCollisionWorld27ClosestConvexResultCallbackE+8;
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  __ZN30btKinematicCharacterController8stepDownEP16btCollisionWorldf.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController8stepDownEP16btCollisionWorldf, "__ZN30btKinematicCharacterController8stepDownEP16btCollisionWorldf");
  
  
  function __ZN30btKinematicCharacterController20stepForwardAndStrafeEP16btCollisionWorldRK9btVector3(_this, _collisionWorld, _walkMove) {
    var __stackBase__  = STACKTOP; STACKTOP += 232;
    var __label__;
    var __lastLabel__ = null;
    var _start = __stackBase__;
    var _end = __stackBase__+64;
    var _callback = __stackBase__+128;
    var _0 = _this+92+8;
    var _1 = FHEAP[_0];
    var _2 = _walkMove+8;
    var _3 = FHEAP[_2];
    var _4 = _1 + _3;
    var _5 = _this+92+4;
    var _6 = FHEAP[_5];
    var _7 = _walkMove+4;
    var _8 = FHEAP[_7];
    var _9 = _6 + _8;
    var _10 = _this+92;
    var _11 = FHEAP[_10];
    var _12 = _walkMove;
    var _13 = FHEAP[_12];
    var _14 = _11 + _13;
    var _15 = _this+112;
    FHEAP[_15] = _14;
    var _16 = _this+112+4;
    FHEAP[_16] = _9;
    var _17 = _this+112+8;
    FHEAP[_17] = _4;
    var _18 = _this+112+12;
    FHEAP[_18] = 0;
    var _19 = _start;
    FHEAP[_19] = 1;
    var _20 = _start+4;
    FHEAP[_20] = 0;
    var _21 = _start+8;
    FHEAP[_21] = 0;
    var _22 = _start+12;
    FHEAP[_22] = 0;
    var _23 = _start+16;
    FHEAP[_23] = 0;
    var _24 = _start+16+4;
    FHEAP[_24] = 1;
    var _25 = _start+16+8;
    FHEAP[_25] = 0;
    var _26 = _start+16+12;
    FHEAP[_26] = 0;
    var _27 = _start+32;
    FHEAP[_27] = 0;
    var _28 = _start+32+4;
    FHEAP[_28] = 0;
    var _29 = _start+32+8;
    FHEAP[_29] = 1;
    var _30 = _start+32+12;
    FHEAP[_30] = 0;
    var _31 = _start+48;
    FHEAP[_31] = 0;
    var _32 = _start+48+4;
    FHEAP[_32] = 0;
    var _33 = _start+48+8;
    FHEAP[_33] = 0;
    var _34 = _start+48+12;
    FHEAP[_34] = 0;
    var _35 = _end;
    FHEAP[_35] = 1;
    var _36 = _end+4;
    FHEAP[_36] = 0;
    var _37 = _end+8;
    FHEAP[_37] = 0;
    var _38 = _end+12;
    FHEAP[_38] = 0;
    var _39 = _end+16;
    FHEAP[_39] = 0;
    var _40 = _end+16+4;
    FHEAP[_40] = 1;
    var _41 = _end+16+8;
    FHEAP[_41] = 0;
    var _42 = _end+16+12;
    FHEAP[_42] = 0;
    var _43 = _end+32;
    FHEAP[_43] = 0;
    var _44 = _end+32+4;
    FHEAP[_44] = 0;
    var _45 = _end+32+8;
    FHEAP[_45] = 1;
    var _46 = _end+32+12;
    FHEAP[_46] = 0;
    var _47 = _end+48;
    FHEAP[_47] = 0;
    var _48 = _end+48+4;
    FHEAP[_48] = 0;
    var _49 = _end+48+8;
    FHEAP[_49] = 0;
    var _50 = _end+48+12;
    FHEAP[_50] = 0;
    var _51 = _this+148;
    var _52 = IHEAP[_51];
    var _toBool = _52 == 0;
    ;
    _bb30_preheader$_bb$14283: do { 
      if (!_toBool) {
        ;
        var _53 = _this+76;
        var _54 = FHEAP[_53];
        var _55 = _this+152;
        var _56 = FHEAP[_55];
        var _57 = _54 * _56;
        var _58 = _this+76+4;
        var _59 = FHEAP[_58];
        var _60 = _this+152+4;
        var _61 = FHEAP[_60];
        var _62 = _59 * _61;
        var _63 = _57 + _62;
        var _64 = _this+76+8;
        var _65 = FHEAP[_64];
        var _66 = _this+152+8;
        var _67 = FHEAP[_66];
        var _68 = _65 * _67;
        var _69 = _63 + _68;
        var _70 = _69 > 0;
        if (!(_70)) { __label__ = 2608; /* _bb30_preheader */ break _bb30_preheader$_bb$14283; }
        var _71 = _this+152;
        __ZN30btKinematicCharacterController36updateTargetPositionBasedOnCollisionERK9btVector3ff(_this, _71, 0, 1);
        ;
      }
    } while(0);
    var _72 = _this+92+12;
    var _73 = _this+8;
    var _74 = _callback;
    var _75 = _callback+4;
    var _76 = _callback+8;
    var _77 = _callback+10;
    var _78 = _callback+12;
    var _79 = _callback+76;
    var _80 = _78;
    var _81 = _callback+80;
    var _82 = _callback+84;
    var _83 = _callback+84+4;
    var _84 = _callback+84+8;
    var _85 = _callback+84+12;
    var _86 = _callback+100;
    var _87 = _this+12;
    var _88 = _this+56;
    var _89 = _this+170;
    var _90 = _collisionWorld+28+28;
    var _91 = _callback;
    var _92 = _callback+44;
    var _93 = _this+76;
    var _94 = _this+76+4;
    var _95 = _this+76+8;
    __lastLabel__ = 2608; ;
    _bb30$14287: while(1) { // _bb30
      var _indvar = __lastLabel__ == 2608 ? 0 : (_indvar_next);
      var _fraction_0 = __lastLabel__ == 2608 ? 1 : (_143);
      var _178 = _fraction_0 <= 0.009999999776482582;
      if (_178) { __label__ = 6; /* _bb29 */ break _bb30$14287; }
      var _maxIter_2 = 10 - _indvar;
      var _toBool32not = _maxIter_2 < 1;
      if (_toBool32not) { __label__ = 6; /* _bb29 */ break _bb30$14287; }
      var _96 = FHEAP[_10];
      FHEAP[_31] = _96;
      var _97 = FHEAP[_5];
      FHEAP[_32] = _97;
      var _98 = FHEAP[_0];
      FHEAP[_33] = _98;
      var _99 = FHEAP[_72];
      FHEAP[_34] = _99;
      var _100 = FHEAP[_15];
      FHEAP[_47] = _100;
      var _101 = FHEAP[_16];
      FHEAP[_48] = _101;
      var _102 = FHEAP[_17];
      FHEAP[_49] = _102;
      var _103 = FHEAP[_18];
      FHEAP[_50] = _103;
      var _104 = _98 - _102;
      var _105 = _97 - _101;
      var _106 = _96 - _100;
      var _107 = IHEAP[_73];
      var _108 = _107;
      FHEAP[_75] = 1;
      IHEAP[_76] = 1;
      IHEAP[_77] = -1;
      _llvm_memset_p0i8_i64(_80, 0, 32, 4, false);
      IHEAP[_79] = 0;
      IHEAP[_74] = __ZTV43btKinematicClosestNotMeConvexResultCallback+8;
      IHEAP[_81] = _108;
      FHEAP[_82] = _106;
      FHEAP[_83] = _105;
      FHEAP[_84] = _104;
      FHEAP[_85] = 0;
      FHEAP[_86] = 0;
      var _109 = _107+188;
      var _110 = IHEAP[_109];
      var _111 = _110+4;
      var _112 = IHEAP[_111];
      IHEAP[_76] = _112;
      var _113 = IHEAP[_109];
      var _114 = _113+6;
      var _115 = IHEAP[_114];
      IHEAP[_77] = _115;
      var _116 = IHEAP[_87];
      var _117 = _116;
      var _118 = IHEAP[_117];
      var _119 = _118+44;
      var _120 = IHEAP[_119];
      var _121 = _120;
      var _122 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_121](_116) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb30$14287; };
      var _123 = IHEAP[_87];
      var _124 = _123;
      var _125 = IHEAP[_124];
      var _126 = _125+40;
      var _127 = IHEAP[_126];
      var _128 = FHEAP[_88];
      var _129 = _128 + _122;
      var _130 = _127;
      (function() { try { __THREW__ = false; return FUNCTION_TABLE[_130](_123, _129) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb30$14287; }
      var _131 = IHEAP[_89];
      var _toBool9 = _131 == 0;
      var _132 = FHEAP[_90];
      var _133 = IHEAP[_87];
      ;
      if (_toBool9) {
        ;
        (function() { try { __THREW__ = false; return __ZNK16btCollisionWorld15convexSweepTestEPK13btConvexShapeRK11btTransformS5_RNS_20ConvexResultCallbackEf(_collisionWorld, _133, _start, _end, _91, _132) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb30$14287; }
      }
      else {
        ;
        var _134 = IHEAP[_73];
        var _135 = _134;
        (function() { try { __THREW__ = false; return __ZNK13btGhostObject15convexSweepTestEPK13btConvexShapeRK11btTransformS5_RN16btCollisionWorld20ConvexResultCallbackEf(_135, _133, _start, _end, _91, _132) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb30$14287; }
      }
      var _136 = IHEAP[_87];
      var _137 = _136;
      var _138 = IHEAP[_137];
      var _139 = _138+40;
      var _140 = IHEAP[_139];
      var _141 = _140;
      (function() { try { __THREW__ = false; return FUNCTION_TABLE[_141](_136, _122) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb30$14287; }
      var _142 = FHEAP[_75];
      var _143 = _fraction_0 - _142;
      var _144 = _142 < 1;
      ;
      if (_144) {
        ;
        __ZN30btKinematicCharacterController36updateTargetPositionBasedOnCollisionERK9btVector3ff(_this, _92, 0, 1);
        var _145 = FHEAP[_17];
        var _146 = FHEAP[_0];
        var _147 = _145 - _146;
        var _148 = FHEAP[_16];
        var _149 = FHEAP[_5];
        var _150 = _148 - _149;
        var _151 = FHEAP[_15];
        var _152 = FHEAP[_10];
        var _153 = _151 - _152;
        var _154 = _153 * _153;
        var _155 = _150 * _150;
        var _156 = _154 + _155;
        var _157 = _147 * _147;
        var _158 = _156 + _157;
        var _159 = _158 > 1.1920928955078125e-7;
        if (!(_159)) { __label__ = 6; /* _bb29 */ break _bb30$14287; }
        var _160 = _sqrtf(_158);
        var _161 = 1 / _160;
        var _162 = _153 * _161;
        var _163 = _150 * _161;
        var _164 = _147 * _161;
        var _165 = FHEAP[_93];
        var _166 = _162 * _165;
        var _167 = FHEAP[_94];
        var _168 = _163 * _167;
        var _169 = _166 + _168;
        var _170 = FHEAP[_95];
        var _171 = _164 * _170;
        var _172 = _169 + _171;
        var _173 = _172 > 0;
        if (!(_173)) { __label__ = 6; /* _bb29 */ break _bb30$14287; }
      }
      else {
        ;
        var _174 = FHEAP[_15];
        FHEAP[_10] = _174;
        var _175 = FHEAP[_16];
        FHEAP[_5] = _175;
        var _176 = FHEAP[_17];
        FHEAP[_0] = _176;
        var _177 = FHEAP[_18];
        FHEAP[_72] = _177;
        ;
      }
      IHEAP[_74] = __ZTVN16btCollisionWorld27ClosestConvexResultCallbackE+8;
      var _indvar_next = _indvar + 1;
      __lastLabel__ = 2611; __label__ = 90; /* _bb30 */ continue _bb30$14287;
    }
    if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select42 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_74] = __ZTVN16btCollisionWorld27ClosestConvexResultCallbackE+8;
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 6) {
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN30btKinematicCharacterController20stepForwardAndStrafeEP16btCollisionWorldRK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController20stepForwardAndStrafeEP16btCollisionWorldRK9btVector3, "__ZN30btKinematicCharacterController20stepForwardAndStrafeEP16btCollisionWorldRK9btVector3");
  
  
  function __ZN30btKinematicCharacterController6stepUpEP16btCollisionWorld(_this, _world) {
    var __stackBase__  = STACKTOP; STACKTOP += 232;
    var __label__;
    var _start = __stackBase__;
    var _end = __stackBase__+64;
    var _callback = __stackBase__+128;
    var _0 = _this+52;
    var _1 = FHEAP[_0];
    var _2 = _this+20;
    var _3 = FHEAP[_2];
    var _4 = _3 > 0;
    var _iftmp_227_0 = _4 ? _3 : 0;
    var _5 = _1 + _iftmp_227_0;
    var _6 = IHEAP[__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection];
    var _7 = _6 == 0;
    ;
    _bb_i20$__ZN30btKinematicCharacterController19getUpAxisDirectionsEv_exit23$14307: do { 
      if (_7) {
        ;
        var _8 = ___cxa_guard_acquire(__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection);
        var _9 = _8 == 0;
        if (_9) { __label__ = 2612; /* __ZN30btKinematicCharacterController19getUpAxisDirectionsEv_exit23 */ break _bb_i20$__ZN30btKinematicCharacterController19getUpAxisDirectionsEv_exit23$14307; }
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection] = 1;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+4] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+8] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+12] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+4] = 1;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+8] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+12] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+4] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+8] = 1;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+12] = 0;
        ___cxa_guard_release(__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection);
        ;
      }
    } while(0);
    var _10 = _this+176;
    var _11 = IHEAP[_10];
    var _12 = __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+_11*16+8;
    var _13 = FHEAP[_12];
    var _14 = _13 * _5;
    var _15 = __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+_11*16+4;
    var _16 = FHEAP[_15];
    var _17 = _16 * _5;
    var _18 = __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+_11*16;
    var _19 = FHEAP[_18];
    var _20 = _19 * _5;
    var _21 = _this+92+8;
    var _22 = FHEAP[_21];
    var _23 = _22 + _14;
    var _24 = _this+92+4;
    var _25 = FHEAP[_24];
    var _26 = _25 + _17;
    var _27 = _this+92;
    var _28 = FHEAP[_27];
    var _29 = _28 + _20;
    var _30 = _this+112;
    FHEAP[_30] = _29;
    var _31 = _this+112+4;
    FHEAP[_31] = _26;
    var _32 = _this+112+8;
    FHEAP[_32] = _23;
    var _33 = _this+112+12;
    FHEAP[_33] = 0;
    var _34 = _start;
    FHEAP[_34] = 1;
    var _35 = _start+4;
    FHEAP[_35] = 0;
    var _36 = _start+8;
    FHEAP[_36] = 0;
    var _37 = _start+12;
    FHEAP[_37] = 0;
    var _38 = _start+16;
    FHEAP[_38] = 0;
    var _39 = _start+16+4;
    FHEAP[_39] = 1;
    var _40 = _start+16+8;
    FHEAP[_40] = 0;
    var _41 = _start+16+12;
    FHEAP[_41] = 0;
    var _42 = _start+32;
    FHEAP[_42] = 0;
    var _43 = _start+32+4;
    FHEAP[_43] = 0;
    var _44 = _start+32+8;
    FHEAP[_44] = 1;
    var _45 = _start+32+12;
    FHEAP[_45] = 0;
    var _46 = _start+48;
    FHEAP[_46] = 0;
    var _47 = _start+48+4;
    FHEAP[_47] = 0;
    var _48 = _start+48+8;
    FHEAP[_48] = 0;
    var _49 = _start+48+12;
    FHEAP[_49] = 0;
    var _50 = _end;
    FHEAP[_50] = 1;
    var _51 = _end+4;
    FHEAP[_51] = 0;
    var _52 = _end+8;
    FHEAP[_52] = 0;
    var _53 = _end+12;
    FHEAP[_53] = 0;
    var _54 = _end+16;
    FHEAP[_54] = 0;
    var _55 = _end+16+4;
    FHEAP[_55] = 1;
    var _56 = _end+16+8;
    FHEAP[_56] = 0;
    var _57 = _end+16+12;
    FHEAP[_57] = 0;
    var _58 = _end+32;
    FHEAP[_58] = 0;
    var _59 = _end+32+4;
    FHEAP[_59] = 0;
    var _60 = _end+32+8;
    FHEAP[_60] = 1;
    var _61 = _end+32+12;
    FHEAP[_61] = 0;
    var _62 = _end+48;
    FHEAP[_62] = 0;
    var _63 = _end+48+4;
    FHEAP[_63] = 0;
    var _64 = _end+48+8;
    FHEAP[_64] = 0;
    var _65 = _end+48+12;
    FHEAP[_65] = 0;
    var _66 = _this+12;
    var _67 = IHEAP[_66];
    var _68 = _67;
    var _69 = IHEAP[_68];
    var _70 = _69+44;
    var _71 = IHEAP[_70];
    var _72 = _71;
    var _73 = FUNCTION_TABLE[_72](_67);
    var _74 = _this+56;
    var _75 = FHEAP[_74];
    var _76 = _73 + _75;
    var _77 = IHEAP[__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection];
    var _78 = _77 == 0;
    ;
    _bb_i28$__ZN30btKinematicCharacterController19getUpAxisDirectionsEv_exit31$14311: do { 
      if (_78) {
        ;
        var _79 = ___cxa_guard_acquire(__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection);
        var _80 = _79 == 0;
        if (_80) { __label__ = 2614; /* __ZN30btKinematicCharacterController19getUpAxisDirectionsEv_exit31 */ break _bb_i28$__ZN30btKinematicCharacterController19getUpAxisDirectionsEv_exit31$14311; }
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection] = 1;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+4] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+8] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+12] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+4] = 1;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+8] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+12] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+4] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+8] = 1;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+12] = 0;
        ___cxa_guard_release(__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection);
        ;
      }
    } while(0);
    var _81 = IHEAP[_10];
    var _82 = __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+_81*16+8;
    var _83 = FHEAP[_82];
    var _84 = _83 * _76;
    var _85 = __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+_81*16+4;
    var _86 = FHEAP[_85];
    var _87 = _86 * _76;
    var _88 = __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+_81*16;
    var _89 = FHEAP[_88];
    var _90 = _89 * _76;
    var _91 = FHEAP[_21];
    var _92 = _91 + _84;
    var _93 = FHEAP[_24];
    var _94 = _93 + _87;
    var _95 = FHEAP[_27];
    var _96 = _95 + _90;
    FHEAP[_46] = _96;
    FHEAP[_47] = _94;
    FHEAP[_48] = _92;
    FHEAP[_49] = 0;
    var _97 = FHEAP[_30];
    FHEAP[_62] = _97;
    var _98 = FHEAP[_31];
    FHEAP[_63] = _98;
    var _99 = FHEAP[_32];
    FHEAP[_64] = _99;
    var _100 = FHEAP[_33];
    FHEAP[_65] = _100;
    var _101 = IHEAP[__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection];
    var _102 = _101 == 0;
    ;
    _bb_i24$__ZN30btKinematicCharacterController19getUpAxisDirectionsEv_exit27$14315: do { 
      if (_102) {
        ;
        var _103 = ___cxa_guard_acquire(__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection);
        var _104 = _103 == 0;
        if (_104) { __label__ = 2617; /* __ZN30btKinematicCharacterController19getUpAxisDirectionsEv_exit27 */ break _bb_i24$__ZN30btKinematicCharacterController19getUpAxisDirectionsEv_exit27$14315; }
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection] = 1;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+4] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+8] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+12] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+4] = 1;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+8] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+12] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+4] = 0;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+8] = 1;
        FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+12] = 0;
        ___cxa_guard_release(__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection);
        ;
      }
    } while(0);
    var _105 = IHEAP[_10];
    var _106 = __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+_105*16+8;
    var _107 = FHEAP[_106];
    var _108 = 0 - _107;
    var _109 = __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+_105*16+4;
    var _110 = FHEAP[_109];
    var _111 = 0 - _110;
    var _112 = __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+_105*16;
    var _113 = FHEAP[_112];
    var _114 = 0 - _113;
    var _115 = _this+8;
    var _116 = IHEAP[_115];
    var _117 = _116;
    var _118 = _callback;
    var _119 = _callback+4;
    FHEAP[_119] = 1;
    var _120 = _callback+8;
    IHEAP[_120] = 1;
    var _121 = _callback+10;
    IHEAP[_121] = -1;
    var _122 = _callback+12;
    var _123 = _callback+76;
    var _124 = _122;
    _llvm_memset_p0i8_i64(_124, 0, 32, 4, false);
    IHEAP[_123] = 0;
    IHEAP[_118] = __ZTV43btKinematicClosestNotMeConvexResultCallback+8;
    var _125 = _callback+80;
    IHEAP[_125] = _117;
    var _126 = _callback+84;
    FHEAP[_126] = _114;
    var _127 = _callback+84+4;
    FHEAP[_127] = _111;
    var _128 = _callback+84+8;
    FHEAP[_128] = _108;
    var _129 = _callback+84+12;
    FHEAP[_129] = 0;
    var _130 = _callback+100;
    FHEAP[_130] = 0.707099974155426;
    var _131 = _116+188;
    var _132 = IHEAP[_131];
    var _133 = _132+4;
    var _134 = IHEAP[_133];
    IHEAP[_120] = _134;
    var _135 = IHEAP[_131];
    var _136 = _135+6;
    var _137 = IHEAP[_136];
    IHEAP[_121] = _137;
    var _138 = _this+170;
    var _139 = IHEAP[_138];
    var _toBool = _139 == 0;
    ;
    _bb4$_bb3$14319: do { 
      if (_toBool) {
        ;
        var _145 = IHEAP[_66];
        var _146 = _callback;
        (function() { try { __THREW__ = false; return __ZNK16btCollisionWorld15convexSweepTestEPK13btConvexShapeRK11btTransformS5_RNS_20ConvexResultCallbackEf(_world, _145, _start, _end, _146, 0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 83; /* _bb6 */ break _bb4$_bb3$14319; } else { __label__ = 254; /* _lpad */ break _bb4$_bb3$14319; }
      }
      else {
        ;
        var _140 = _world+28+28;
        var _141 = FHEAP[_140];
        var _142 = IHEAP[_66];
        var _143 = _116;
        var _144 = _callback;
        (function() { try { __THREW__ = false; return __ZNK13btGhostObject15convexSweepTestEPK13btConvexShapeRK11btTransformS5_RN16btCollisionWorld20ConvexResultCallbackEf(_143, _142, _start, _end, _144, _141) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 83; /* _bb6 */ break _bb4$_bb3$14319; } else { __label__ = 254; /* _lpad */ break _bb4$_bb3$14319; }
      }
    } while(0);
    if (__label__ == 83) {
      var _147 = FHEAP[_119];
      var _148 = _147 < 1;
      ;
      if (_148) {
        ;
        var _149 = IHEAP[__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection];
        var _150 = _149 == 0;
        ;
        _bb_i$__ZN30btKinematicCharacterController19getUpAxisDirectionsEv_exit$14326: do { 
          if (_150) {
            ;
            var _151 = ___cxa_guard_acquire(__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection);
            var _152 = _151 == 0;
            if (_152) { __label__ = 2606; /* __ZN30btKinematicCharacterController19getUpAxisDirectionsEv_exit */ break _bb_i$__ZN30btKinematicCharacterController19getUpAxisDirectionsEv_exit$14326; }
            FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection] = 1;
            FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+4] = 0;
            FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+8] = 0;
            FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+12] = 0;
            FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16] = 0;
            FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+4] = 1;
            FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+8] = 0;
            FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+16+12] = 0;
            FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32] = 0;
            FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+4] = 0;
            FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+8] = 1;
            FHEAP[__ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+32+12] = 0;
            ___cxa_guard_release(__ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection);
            ;
          }
        } while(0);
        var _153 = IHEAP[_10];
        var _154 = _callback+44;
        var _155 = FHEAP[_154];
        var _156 = __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+_153*16;
        var _157 = FHEAP[_156];
        var _158 = _155 * _157;
        var _159 = _callback+44+4;
        var _160 = FHEAP[_159];
        var _161 = __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+_153*16+4;
        var _162 = FHEAP[_161];
        var _163 = _160 * _162;
        var _164 = _158 + _163;
        var _165 = _callback+44+8;
        var _166 = FHEAP[_165];
        var _167 = __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection+_153*16+8;
        var _168 = FHEAP[_167];
        var _169 = _166 * _168;
        var _170 = _164 + _169;
        var _171 = _170 > 0;
        ;
        if (_171) {
          ;
          var _172 = FHEAP[_0];
          var _173 = FHEAP[_119];
          var _174 = _172 * _173;
          var _175 = _this+108;
          FHEAP[_175] = _174;
          var _176 = 1 - _173;
          var _177 = FHEAP[_27];
          var _178 = _177 * _176;
          var _179 = FHEAP[_30];
          var _180 = _179 * _173;
          var _181 = _178 + _180;
          FHEAP[_27] = _181;
          var _182 = FHEAP[_24];
          var _183 = _182 * _176;
          var _184 = FHEAP[_31];
          var _185 = _184 * _173;
          var _186 = _183 + _185;
          FHEAP[_24] = _186;
          var _187 = FHEAP[_21];
          var _188 = _187 * _176;
          var _189 = FHEAP[_32];
          var _190 = _189 * _173;
          var _191 = _188 + _190;
          FHEAP[_21] = _191;
          ;
        }
        var _192 = _this+16;
        FHEAP[_192] = 0;
        FHEAP[_2] = 0;
        STACKTOP = __stackBase__;
        return;
      }
      else {
        ;
        var _193 = FHEAP[_0];
        var _194 = _this+108;
        FHEAP[_194] = _193;
        var _195 = FHEAP[_30];
        FHEAP[_27] = _195;
        var _196 = FHEAP[_31];
        FHEAP[_24] = _196;
        var _197 = FHEAP[_32];
        FHEAP[_21] = _197;
        var _198 = _this+92+12;
        var _199 = FHEAP[_33];
        FHEAP[_198] = _199;
        STACKTOP = __stackBase__;
        return;
      }
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select18 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_118] = __ZTVN16btCollisionWorld27ClosestConvexResultCallbackE+8;
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  __ZN30btKinematicCharacterController6stepUpEP16btCollisionWorld.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController6stepUpEP16btCollisionWorld, "__ZN30btKinematicCharacterController6stepUpEP16btCollisionWorld");
  
  
  function __ZN30btKinematicCharacterController10playerStepEP16btCollisionWorldf(_this, _collisionWorld, _dt) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var __lastLabel__ = null;
    var _move = __stackBase__;
    var _0 = _this+171;
    var _1 = IHEAP[_0];
    var _toBoolnot = _1 == 0;
    ;
    _bb$_bb4$14336: do { 
      if (_toBoolnot) {
        ;
        var _2 = _this+172;
        var _3 = FHEAP[_2];
        var _4 = _3 > 0;
        if (_4) { __label__ = 61; /* _bb4 */ break _bb$_bb4$14336; }
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    var _5 = _this;
    var _6 = IHEAP[_5];
    var _7 = _6+48;
    var _8 = IHEAP[_7];
    var _9 = _8;
    var _10 = FUNCTION_TABLE[_9](_this);
    var _11 = _this+168;
    IHEAP[_11] = _10;
    var _12 = _this+16;
    var _13 = FHEAP[_12];
    var _14 = _this+44;
    var _15 = FHEAP[_14];
    var _16 = _15 * _dt;
    var _17 = _13 - _16;
    FHEAP[_12] = _17;
    var _18 = _17 > 0;
    ;
    _bb5$_bb7$14340: do { 
      if (_18) {
        __lastLabel__ = 61; ;
        var _19 = _this+28;
        var _20 = FHEAP[_19];
        var _21 = _17 > _20;
        if (_21) { __lastLabel__ = 82; ; } else { __lastLabel__ = 82; __label__ = 2; /* _bb7 */ break _bb5$_bb7$14340; }
        FHEAP[_12] = _20;
        __lastLabel__ = 83; ;
      }
      else {
        __lastLabel__ = 61; ;
      }
    } while(0);
    var _22 = __lastLabel__ == 83 ? _20 : (__lastLabel__ == 82 ? _17 : (_17));
    var _23 = _22 >= 0;
    ;
    _bb14$_bb8$14344: do { 
      if (_23) {
        __lastLabel__ = 2; ;
      }
      else {
        __lastLabel__ = 2; ;
        var _24 = _fabsf(_22);
        var _25 = _this+24;
        var _26 = FHEAP[_25];
        var _27 = _fabsf(_26);
        var _28 = _24 <= _27;
        if (_28) { __lastLabel__ = 148; __label__ = 63; /* _bb14 */ break _bb14$_bb8$14344; } else { __lastLabel__ = 148; ; }
        var _29 = 0 - _27;
        FHEAP[_12] = _29;
        __lastLabel__ = 108; ;
      }
    } while(0);
    var _30 = __lastLabel__ == 2 ? _22 : (__lastLabel__ == 148 ? _22 : (_29));
    var _31 = _30 * _dt;
    var _32 = _this+20;
    FHEAP[_32] = _31;
    var _33 = _this+8;
    var _34 = IHEAP[_33];
    var _35 = _34+4;
    var _36 = FHEAP[_35];
    var _37 = _34+4+4;
    var _38 = FHEAP[_37];
    var _39 = _34+4+8;
    var _40 = FHEAP[_39];
    var _41 = _34+4+12;
    var _42 = FHEAP[_41];
    var _43 = _34+4+16;
    var _44 = FHEAP[_43];
    var _45 = _34+4+16+4;
    var _46 = FHEAP[_45];
    var _47 = _34+4+16+8;
    var _48 = FHEAP[_47];
    var _49 = _34+4+16+12;
    var _50 = FHEAP[_49];
    var _51 = _34+4+32;
    var _52 = FHEAP[_51];
    var _53 = _34+4+32+4;
    var _54 = FHEAP[_53];
    var _55 = _34+4+32+8;
    var _56 = FHEAP[_55];
    var _57 = _34+4+32+12;
    var _58 = FHEAP[_57];
    __ZN30btKinematicCharacterController6stepUpEP16btCollisionWorld(_this, _collisionWorld);
    var _59 = IHEAP[_0];
    var _toBool15 = _59 == 0;
    ;
    if (_toBool15) {
      ;
      var _61 = _this+172;
      var _62 = FHEAP[_61];
      var _63 = _62 <= _dt;
      var _iftmp_240_0 = _63 ? _62 : _dt;
      var _64 = _62 - _dt;
      FHEAP[_61] = _64;
      var _65 = _this+60+8;
      var _66 = FHEAP[_65];
      var _67 = _66 * _iftmp_240_0;
      var _68 = _this+60+4;
      var _69 = FHEAP[_68];
      var _70 = _69 * _iftmp_240_0;
      var _71 = _this+60;
      var _72 = FHEAP[_71];
      var _73 = _72 * _iftmp_240_0;
      var _74 = _move;
      FHEAP[_74] = _73;
      var _75 = _move+4;
      FHEAP[_75] = _70;
      var _76 = _move+8;
      FHEAP[_76] = _67;
      var _77 = _move+12;
      FHEAP[_77] = 0;
      __ZN30btKinematicCharacterController20stepForwardAndStrafeEP16btCollisionWorldRK9btVector3(_this, _collisionWorld, _move);
      ;
    }
    else {
      ;
      var _60 = _this+60;
      __ZN30btKinematicCharacterController20stepForwardAndStrafeEP16btCollisionWorldRK9btVector3(_this, _collisionWorld, _60);
      ;
    }
    __ZN30btKinematicCharacterController8stepDownEP16btCollisionWorldf(_this, _collisionWorld, _dt);
    var _78 = _this+92;
    var _79 = FHEAP[_78];
    var _80 = _this+92+4;
    var _81 = FHEAP[_80];
    var _82 = _this+92+8;
    var _83 = FHEAP[_82];
    var _84 = _this+92+12;
    var _85 = FHEAP[_84];
    var _86 = IHEAP[_33];
    var _87 = _86+4;
    FHEAP[_87] = _36;
    var _88 = _86+4+4;
    FHEAP[_88] = _38;
    var _89 = _86+4+8;
    FHEAP[_89] = _40;
    var _90 = _86+4+12;
    FHEAP[_90] = _42;
    var _91 = _86+4+16;
    FHEAP[_91] = _44;
    var _92 = _86+4+16+4;
    FHEAP[_92] = _46;
    var _93 = _86+4+16+8;
    FHEAP[_93] = _48;
    var _94 = _86+4+16+12;
    FHEAP[_94] = _50;
    var _95 = _86+4+32;
    FHEAP[_95] = _52;
    var _96 = _86+4+32+4;
    FHEAP[_96] = _54;
    var _97 = _86+4+32+8;
    FHEAP[_97] = _56;
    var _98 = _86+4+32+12;
    FHEAP[_98] = _58;
    var _99 = _86+4+48;
    FHEAP[_99] = _79;
    var _100 = _86+4+48+4;
    FHEAP[_100] = _81;
    var _101 = _86+4+48+8;
    FHEAP[_101] = _83;
    var _102 = _86+4+48+12;
    FHEAP[_102] = _85;
    STACKTOP = __stackBase__;
    return;
  }
  __ZN30btKinematicCharacterController10playerStepEP16btCollisionWorldf.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController10playerStepEP16btCollisionWorldf, "__ZN30btKinematicCharacterController10playerStepEP16btCollisionWorldf");
  
  
  function __ZN30btKinematicCharacterController7preStepEP16btCollisionWorld(_this, _collisionWorld) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+148;
    IHEAP[_0] = 0;
    __lastLabel__ = -1; ;
    _bb1$14368: while(1) { // _bb1
      var _numPenetrationLoops_0 = __lastLabel__ == -1 ? 0 : (_tmp);
      var _2 = __ZN30btKinematicCharacterController22recoverFromPenetrationEP16btCollisionWorld(_this, _collisionWorld);
      var _toBool = _2 == 0;
      if (_toBool) { __label__ = 0; /* _bb2 */ break _bb1$14368; }
      var _tmp = _numPenetrationLoops_0 + 1;
      IHEAP[_0] = 1;
      var _1 = _tmp > 4;
      if (_1) { __lastLabel__ = 60; __label__ = 0; /* _bb2 */ break _bb1$14368; } else { __lastLabel__ = 60; __label__ = 75; /* _bb1 */ continue _bb1$14368; }
    }
    var _3 = _this+8;
    var _4 = IHEAP[_3];
    var _5 = _this+92;
    var _6 = _4+4+48;
    var _7 = FHEAP[_6];
    FHEAP[_5] = _7;
    var _8 = _this+92+4;
    var _9 = _4+4+48+4;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _this+92+8;
    var _12 = _4+4+48+8;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _this+92+12;
    var _15 = _4+4+48+12;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _this+112;
    FHEAP[_17] = _7;
    var _18 = _this+112+4;
    FHEAP[_18] = _10;
    var _19 = _this+112+8;
    FHEAP[_19] = _13;
    var _20 = _this+112+12;
    FHEAP[_20] = _16;
    ;
    return;
  }
  __ZN30btKinematicCharacterController7preStepEP16btCollisionWorld.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController7preStepEP16btCollisionWorld, "__ZN30btKinematicCharacterController7preStepEP16btCollisionWorld");
  
  
  function __ZN30btKinematicCharacterController22recoverFromPenetrationEP16btCollisionWorld(_this, _collisionWorld) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _collisionWorld+24;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+32;
    var _5 = IHEAP[_4];
    var _6 = _collisionWorld+28;
    var _7 = _this+8;
    var _8 = IHEAP[_7];
    var _9 = _8+276;
    var _10 = IHEAP[_9];
    var _11 = _10;
    var _12 = _5;
    FUNCTION_TABLE[_12](_1, _11, _6, _1);
    var _13 = IHEAP[_7];
    var _14 = _this+92;
    var _15 = _13+4+48;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _this+92+4;
    var _18 = _13+4+48+4;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _this+92+8;
    var _21 = _13+4+48+8;
    var _22 = FHEAP[_21];
    FHEAP[_20] = _22;
    var _23 = _this+92+12;
    var _24 = _13+4+48+12;
    var _25 = FHEAP[_24];
    FHEAP[_23] = _25;
    var _26 = _13+276;
    var _27 = IHEAP[_26];
    var _28 = _27;
    var _29 = IHEAP[_28];
    var _30 = _29+36;
    var _31 = IHEAP[_30];
    var _32 = _31;
    var _33 = FUNCTION_TABLE[_32](_27);
    var _34 = _33 > 0;
    ;
    _bb_nph56$_bb19$14374: do { 
      if (_34) {
        __lastLabel__ = -1; ;
        var _35 = _this+128+4;
        var _36 = _this+128;
        var _37 = _this+128+12;
        var _38 = _this+152;
        var _39 = _this+152+4;
        var _40 = _this+152+8;
        var _41 = _this+152+12;
        var _42 = _this+128+8;
        var _43 = _this+128+16;
        __lastLabel__ = 2629; ;
        _bb$14376: while(1) { // _bb
          var _i_055 = __lastLabel__ == 2629 ? 0 : (_tmp68);
          var _maxPen_454 = __lastLabel__ == 2629 ? 0 : (_maxPen_3_lcssa);
          var _penetration_353 = __lastLabel__ == 2629 ? 0 : (_penetration_2_lcssa);
          var _tmp68 = _i_055 + 1;
          var _44 = IHEAP[_35];
          var _45 = _44 > 0;
          var __not = _45 ^ true;
          var _46 = _44 < 0;
          var _or_cond = __not & _46;
          ;
          _bb4_i$__ZN20btAlignedObjectArrayIP20btPersistentManifoldE6resizeEiRKS1__exit$14378: do { 
            if (_or_cond) {
              ;
              var _47 = IHEAP[_42];
              var _48 = _47 < 0;
              ;
              if (_48) {
                ;
                var _49 = IHEAP[_37];
                var _50 = _49 == 0;
                ;
                if (!_50) {
                  ;
                  var _51 = IHEAP[_43];
                  var _toBool_i_i_i = _51 == 0;
                  ;
                  if (!_toBool_i_i_i) {
                    ;
                    var _52 = _49;
                    __Z21btAlignedFreeInternalPv(_52);
                    ;
                  }
                  IHEAP[_37] = 0;
                  ;
                }
                IHEAP[_43] = 1;
                IHEAP[_37] = 0;
                IHEAP[_42] = 0;
                ;
              }
              var _tmp = 0 - _44;
              __lastLabel__ = 418; ;
              _bb7_i$14389: while(1) { // _bb7_i
                var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
                var _tmp58 = _44 + _indvar_i;
                var _53 = IHEAP[_37];
                var _scevgep = _53+4*_tmp58;
                var _54 = _scevgep == 0;
                ;
                if (!_54) {
                  ;
                  IHEAP[_scevgep] = 0;
                  ;
                }
                var _indvar_next_i = _indvar_i + 1;
                var _exitcond = _indvar_next_i == _tmp;
                if (_exitcond) { __lastLabel__ = 581; __label__ = 2634; /* __ZN20btAlignedObjectArrayIP20btPersistentManifoldE6resizeEiRKS1__exit */ break _bb4_i$__ZN20btAlignedObjectArrayIP20btPersistentManifoldE6resizeEiRKS1__exit$14378; } else { __lastLabel__ = 581; __label__ = 137; /* _bb7_i */ continue _bb7_i$14389; }
              }
            }
          } while(0);
          IHEAP[_35] = 0;
          var _55 = IHEAP[_7];
          var _56 = _55+276;
          var _57 = IHEAP[_56];
          var _58 = _57;
          var _59 = IHEAP[_58];
          var _60 = _59+28;
          var _61 = IHEAP[_60];
          var _62 = _61;
          var _63 = FUNCTION_TABLE[_62](_57);
          var _64 = _63+12;
          var _65 = IHEAP[_64];
          var _scevgep66 = _65+16*_i_055+8;
          var _66 = IHEAP[_scevgep66];
          var _67 = _66 == 0;
          ;
          if (!_67) {
            ;
            var _68 = _66;
            var _69 = IHEAP[_68];
            var _70 = _69+16;
            var _71 = IHEAP[_70];
            var _72 = _71;
            FUNCTION_TABLE[_72](_66, _36);
            ;
          }
          var _73 = IHEAP[_35];
          var _74 = _73 > 0;
          ;
          _bb3$_bb14_preheader_bb16_crit_edge$14398: do { 
            if (_74) {
              __lastLabel__ = 3254; ;
              _bb3$14399: while(1) { // _bb3
                var _j_049 = __lastLabel__ == 108 ? _tmp65 : (0);
                var _maxPen_348 = __lastLabel__ == 108 ? _maxPen_2_lcssa : (_maxPen_454);
                var _penetration_247 = __lastLabel__ == 108 ? _penetration_1_lcssa : (_penetration_353);
                var _tmp65 = _j_049 + 1;
                var _75 = IHEAP[_37];
                var _scevgep64 = _75+4*_j_049;
                var _76 = IHEAP[_scevgep64];
                var _77 = _76+1108;
                var _78 = IHEAP[_77];
                var _79 = IHEAP[_7];
                var _80 = _79;
                var _81 = _78 == _80;
                var _iftmp_222_0 = _81 ? -1 : 1;
                var _82 = _76+1116;
                var _83 = IHEAP[_82];
                var _84 = _83 > 0;
                if (_84) { __lastLabel__ = 116; __label__ = 2; /* _bb7 */  } else { __lastLabel__ = 116; __label__ = 108; /* _bb13 */  }
                _bb7$_bb13$14401: while(1) { // _bb7,_bb13
                  if (__label__ == 2) {
                    var _p_045 = __lastLabel__ == 292 ? _tmp63 : (0);
                    var _maxPen_244 = __lastLabel__ == 292 ? _maxPen_1 : (_maxPen_348);
                    var _penetration_143 = __lastLabel__ == 292 ? _penetration_0 : (_penetration_247);
                    var _scevgep59 = _76+4+_p_045*276+80;
                    var _scevgep60 = _76+4+_p_045*276+64+8;
                    var _scevgep61 = _76+4+_p_045*276+64+4;
                    var _scevgep62 = _76+4+_p_045*276+64;
                    var _tmp63 = _p_045 + 1;
                    var _85 = FHEAP[_scevgep59];
                    var _86 = _85 < 0;
                    ;
                    if (_86) {
                      __lastLabel__ = 2; ;
                      var _87 = _85 < _maxPen_244;
                      ;
                      if (_87) {
                        __lastLabel__ = 148; ;
                        var _88 = FHEAP[_scevgep60];
                        var _89 = _88 * _iftmp_222_0;
                        var _90 = FHEAP[_scevgep61];
                        var _91 = _90 * _iftmp_222_0;
                        var _92 = FHEAP[_scevgep62];
                        var _93 = _92 * _iftmp_222_0;
                        FHEAP[_38] = _93;
                        FHEAP[_39] = _91;
                        FHEAP[_40] = _89;
                        FHEAP[_41] = 0;
                        __lastLabel__ = 62; ;
                      }
                      else {
                        __lastLabel__ = 148; ;
                      }
                      var _maxPen_0 = __lastLabel__ == 62 ? _85 : (_maxPen_244);
                      var _94 = FHEAP[_scevgep60];
                      var _95 = _94 * _iftmp_222_0;
                      var _96 = FHEAP[_scevgep61];
                      var _97 = _96 * _iftmp_222_0;
                      var _98 = FHEAP[_scevgep62];
                      var _99 = _98 * _iftmp_222_0;
                      var _100 = _95 * _85;
                      var _101 = _97 * _85;
                      var _102 = _99 * _85;
                      var _103 = _100 * 0.20000000298023224;
                      var _104 = _101 * 0.20000000298023224;
                      var _105 = _102 * 0.20000000298023224;
                      var _106 = FHEAP[_14];
                      var _107 = _106 + _105;
                      FHEAP[_14] = _107;
                      var _108 = FHEAP[_17];
                      var _109 = _108 + _104;
                      FHEAP[_17] = _109;
                      var _110 = FHEAP[_20];
                      var _111 = _110 + _103;
                      FHEAP[_20] = _111;
                      __lastLabel__ = 150; ;
                    }
                    else {
                      __lastLabel__ = 2; ;
                    }
                    var _penetration_0 = __lastLabel__ == 150 ? 1 : (_penetration_143);
                    var _maxPen_1 = __lastLabel__ == 150 ? _maxPen_0 : (_maxPen_244);
                    var _112 = IHEAP[_82];
                    var _113 = _112 > _tmp63;
                    if (_113) { __lastLabel__ = 292; __label__ = 2; /* _bb7 */ continue _bb7$_bb13$14401; } else { __lastLabel__ = 292; __label__ = 108; /* _bb13 */ continue _bb7$_bb13$14401; }
                  }
                  else if (__label__ == 108) {
                    var _maxPen_2_lcssa = __lastLabel__ == 116 ? _maxPen_348 : (_maxPen_1);
                    var _penetration_1_lcssa = __lastLabel__ == 116 ? _penetration_247 : (_penetration_0);
                    var _114 = _73 > _tmp65;
                    if (_114) { __lastLabel__ = 108; __label__ = 116; /* _bb3 */ continue _bb3$14399; } else { __lastLabel__ = 108; __label__ = 154; /* _bb16 */ break _bb3$_bb14_preheader_bb16_crit_edge$14398; }
                  }
                }
              }
            }
            else {
              __lastLabel__ = 3254; ;
              var __pre = IHEAP[_7];
              __lastLabel__ = 2636; ;
            }
          } while(0);
          var _115 = __lastLabel__ == 2636 ? __pre : (_79);
          var _maxPen_3_lcssa = __lastLabel__ == 2636 ? _maxPen_454 : (_maxPen_2_lcssa);
          var _penetration_2_lcssa = __lastLabel__ == 2636 ? _penetration_353 : (_penetration_1_lcssa);
          var _116 = _115+276;
          var _117 = IHEAP[_116];
          var _118 = _117;
          var _119 = IHEAP[_118];
          var _120 = _119+36;
          var _121 = IHEAP[_120];
          var _122 = _121;
          var _123 = FUNCTION_TABLE[_122](_117);
          var _124 = _123 > _tmp68;
          if (_124) { __lastLabel__ = 154; __label__ = 60; /* _bb */ continue _bb$14376; } else { __lastLabel__ = 154; __label__ = 64; /* _bb19 */ break _bb_nph56$_bb19$14374; }
        }
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _penetration_3_lcssa = __lastLabel__ == -1 ? 0 : (_penetration_2_lcssa);
    var _125 = IHEAP[_7];
    var _126 = _125+4;
    var _127 = FHEAP[_126];
    var _128 = _125+4+4;
    var _129 = FHEAP[_128];
    var _130 = _125+4+8;
    var _131 = FHEAP[_130];
    var _132 = _125+4+12;
    var _133 = FHEAP[_132];
    var _134 = _125+4+16;
    var _135 = FHEAP[_134];
    var _136 = _125+4+16+4;
    var _137 = FHEAP[_136];
    var _138 = _125+4+16+8;
    var _139 = FHEAP[_138];
    var _140 = _125+4+16+12;
    var _141 = FHEAP[_140];
    var _142 = _125+4+32;
    var _143 = FHEAP[_142];
    var _144 = _125+4+32+4;
    var _145 = FHEAP[_144];
    var _146 = _125+4+32+8;
    var _147 = FHEAP[_146];
    var _148 = _125+4+32+12;
    var _149 = FHEAP[_148];
    var _150 = FHEAP[_14];
    var _151 = FHEAP[_17];
    var _152 = FHEAP[_20];
    var _153 = FHEAP[_23];
    FHEAP[_126] = _127;
    FHEAP[_128] = _129;
    FHEAP[_130] = _131;
    FHEAP[_132] = _133;
    FHEAP[_134] = _135;
    FHEAP[_136] = _137;
    FHEAP[_138] = _139;
    FHEAP[_140] = _141;
    FHEAP[_142] = _143;
    FHEAP[_144] = _145;
    FHEAP[_146] = _147;
    FHEAP[_148] = _149;
    var _154 = _125+4+48;
    FHEAP[_154] = _150;
    var _155 = _125+4+48+4;
    FHEAP[_155] = _151;
    var _156 = _125+4+48+8;
    FHEAP[_156] = _152;
    var _157 = _125+4+48+12;
    FHEAP[_157] = _153;
    ;
    return _penetration_3_lcssa;
  }
  __ZN30btKinematicCharacterController22recoverFromPenetrationEP16btCollisionWorld.__index__ = Runtime.getFunctionIndex(__ZN30btKinematicCharacterController22recoverFromPenetrationEP16btCollisionWorld, "__ZN30btKinematicCharacterController22recoverFromPenetrationEP16btCollisionWorld");
  
  
  function __ZNK21btConeTwistConstraint9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = __ZNK17btTypedConstraint9serializeEPvP12btSerializer(_0, _dataBuffer, _serializer);
    var _2 = _dataBuffer+44;
    var _scevgep_i_i_i = _this+288;
    var _scevgep4_i_i_i = _2;
    var _scevgep_1_i_i_i = _this+288+4;
    var _scevgep4_1_i_i_i = _dataBuffer+48;
    var _3 = _scevgep4_1_i_i_i;
    var _scevgep_2_i_i_i = _this+288+8;
    var _scevgep4_2_i_i_i = _dataBuffer+52;
    var _4 = _scevgep4_2_i_i_i;
    var _scevgep_3_i_i_i = _this+288+12;
    var _scevgep4_3_i_i_i = _dataBuffer+56;
    var _5 = _scevgep4_3_i_i_i;
    var _6 = FHEAP[_scevgep_i_i_i];
    FHEAP[_scevgep4_i_i_i] = _6;
    var _7 = FHEAP[_scevgep_1_i_i_i];
    FHEAP[_3] = _7;
    var _8 = FHEAP[_scevgep_2_i_i_i];
    FHEAP[_4] = _8;
    var _9 = FHEAP[_scevgep_3_i_i_i];
    FHEAP[_5] = _9;
    var _scevgep_i_1_i_i = _this+288+16;
    var _scevgep4_i_1_i_i = _dataBuffer+60;
    var _10 = _scevgep4_i_1_i_i;
    var _scevgep_1_i_1_i_i = _this+288+16+4;
    var _scevgep4_1_i_1_i_i = _dataBuffer+64;
    var _11 = _scevgep4_1_i_1_i_i;
    var _scevgep_2_i_1_i_i = _this+288+16+8;
    var _scevgep4_2_i_1_i_i = _dataBuffer+68;
    var _12 = _scevgep4_2_i_1_i_i;
    var _scevgep_3_i_1_i_i = _this+288+16+12;
    var _scevgep4_3_i_1_i_i = _dataBuffer+72;
    var _13 = _scevgep4_3_i_1_i_i;
    var _14 = FHEAP[_scevgep_i_1_i_i];
    FHEAP[_10] = _14;
    var _15 = FHEAP[_scevgep_1_i_1_i_i];
    FHEAP[_11] = _15;
    var _16 = FHEAP[_scevgep_2_i_1_i_i];
    FHEAP[_12] = _16;
    var _17 = FHEAP[_scevgep_3_i_1_i_i];
    FHEAP[_13] = _17;
    var _scevgep_i_2_i_i = _this+288+32;
    var _scevgep4_i_2_i_i = _dataBuffer+76;
    var _18 = _scevgep4_i_2_i_i;
    var _scevgep_1_i_2_i_i = _this+288+32+4;
    var _scevgep4_1_i_2_i_i = _dataBuffer+80;
    var _19 = _scevgep4_1_i_2_i_i;
    var _scevgep_2_i_2_i_i = _this+288+32+8;
    var _scevgep4_2_i_2_i_i = _dataBuffer+84;
    var _20 = _scevgep4_2_i_2_i_i;
    var _scevgep_3_i_2_i_i = _this+288+32+12;
    var _scevgep4_3_i_2_i_i = _dataBuffer+88;
    var _21 = _scevgep4_3_i_2_i_i;
    var _22 = FHEAP[_scevgep_i_2_i_i];
    FHEAP[_18] = _22;
    var _23 = FHEAP[_scevgep_1_i_2_i_i];
    FHEAP[_19] = _23;
    var _24 = FHEAP[_scevgep_2_i_2_i_i];
    FHEAP[_20] = _24;
    var _25 = FHEAP[_scevgep_3_i_2_i_i];
    FHEAP[_21] = _25;
    var _scevgep_i_i = _this+288+48;
    var _scevgep4_i_i = _dataBuffer+92;
    var _26 = _scevgep4_i_i;
    var _27 = FHEAP[_scevgep_i_i];
    FHEAP[_26] = _27;
    var _scevgep_1_i_i = _this+288+48+4;
    var _scevgep4_1_i_i = _dataBuffer+96;
    var _28 = _scevgep4_1_i_i;
    var _29 = FHEAP[_scevgep_1_i_i];
    FHEAP[_28] = _29;
    var _scevgep_2_i_i = _this+288+48+8;
    var _scevgep4_2_i_i = _dataBuffer+100;
    var _30 = _scevgep4_2_i_i;
    var _31 = FHEAP[_scevgep_2_i_i];
    FHEAP[_30] = _31;
    var _scevgep_3_i_i = _this+288+48+12;
    var _scevgep4_3_i_i = _dataBuffer+104;
    var _32 = _scevgep4_3_i_i;
    var _33 = FHEAP[_scevgep_3_i_i];
    FHEAP[_32] = _33;
    var _34 = _dataBuffer+108;
    var _scevgep_i_i_i2 = _this+352;
    var _scevgep4_i_i_i3 = _34;
    var _scevgep_1_i_i_i4 = _this+352+4;
    var _scevgep4_1_i_i_i5 = _dataBuffer+112;
    var _35 = _scevgep4_1_i_i_i5;
    var _scevgep_2_i_i_i6 = _this+352+8;
    var _scevgep4_2_i_i_i7 = _dataBuffer+116;
    var _36 = _scevgep4_2_i_i_i7;
    var _scevgep_3_i_i_i8 = _this+352+12;
    var _scevgep4_3_i_i_i9 = _dataBuffer+120;
    var _37 = _scevgep4_3_i_i_i9;
    var _38 = FHEAP[_scevgep_i_i_i2];
    FHEAP[_scevgep4_i_i_i3] = _38;
    var _39 = FHEAP[_scevgep_1_i_i_i4];
    FHEAP[_35] = _39;
    var _40 = FHEAP[_scevgep_2_i_i_i6];
    FHEAP[_36] = _40;
    var _41 = FHEAP[_scevgep_3_i_i_i8];
    FHEAP[_37] = _41;
    var _scevgep_i_1_i_i10 = _this+352+16;
    var _scevgep4_i_1_i_i11 = _dataBuffer+124;
    var _42 = _scevgep4_i_1_i_i11;
    var _scevgep_1_i_1_i_i12 = _this+352+16+4;
    var _scevgep4_1_i_1_i_i13 = _dataBuffer+128;
    var _43 = _scevgep4_1_i_1_i_i13;
    var _scevgep_2_i_1_i_i14 = _this+352+16+8;
    var _scevgep4_2_i_1_i_i15 = _dataBuffer+132;
    var _44 = _scevgep4_2_i_1_i_i15;
    var _scevgep_3_i_1_i_i16 = _this+352+16+12;
    var _scevgep4_3_i_1_i_i17 = _dataBuffer+136;
    var _45 = _scevgep4_3_i_1_i_i17;
    var _46 = FHEAP[_scevgep_i_1_i_i10];
    FHEAP[_42] = _46;
    var _47 = FHEAP[_scevgep_1_i_1_i_i12];
    FHEAP[_43] = _47;
    var _48 = FHEAP[_scevgep_2_i_1_i_i14];
    FHEAP[_44] = _48;
    var _49 = FHEAP[_scevgep_3_i_1_i_i16];
    FHEAP[_45] = _49;
    var _scevgep_i_2_i_i18 = _this+352+32;
    var _scevgep4_i_2_i_i19 = _dataBuffer+140;
    var _50 = _scevgep4_i_2_i_i19;
    var _scevgep_1_i_2_i_i20 = _this+352+32+4;
    var _scevgep4_1_i_2_i_i21 = _dataBuffer+144;
    var _51 = _scevgep4_1_i_2_i_i21;
    var _scevgep_2_i_2_i_i22 = _this+352+32+8;
    var _scevgep4_2_i_2_i_i23 = _dataBuffer+148;
    var _52 = _scevgep4_2_i_2_i_i23;
    var _scevgep_3_i_2_i_i24 = _this+352+32+12;
    var _scevgep4_3_i_2_i_i25 = _dataBuffer+152;
    var _53 = _scevgep4_3_i_2_i_i25;
    var _54 = FHEAP[_scevgep_i_2_i_i18];
    FHEAP[_50] = _54;
    var _55 = FHEAP[_scevgep_1_i_2_i_i20];
    FHEAP[_51] = _55;
    var _56 = FHEAP[_scevgep_2_i_2_i_i22];
    FHEAP[_52] = _56;
    var _57 = FHEAP[_scevgep_3_i_2_i_i24];
    FHEAP[_53] = _57;
    var _scevgep_i_i26 = _this+352+48;
    var _scevgep4_i_i27 = _dataBuffer+156;
    var _58 = _scevgep4_i_i27;
    var _59 = FHEAP[_scevgep_i_i26];
    FHEAP[_58] = _59;
    var _scevgep_1_i_i28 = _this+352+48+4;
    var _scevgep4_1_i_i29 = _dataBuffer+160;
    var _60 = _scevgep4_1_i_i29;
    var _61 = FHEAP[_scevgep_1_i_i28];
    FHEAP[_60] = _61;
    var _scevgep_2_i_i30 = _this+352+48+8;
    var _scevgep4_2_i_i31 = _dataBuffer+164;
    var _62 = _scevgep4_2_i_i31;
    var _63 = FHEAP[_scevgep_2_i_i30];
    FHEAP[_62] = _63;
    var _scevgep_3_i_i32 = _this+352+48+12;
    var _scevgep4_3_i_i33 = _dataBuffer+168;
    var _64 = _scevgep4_3_i_i33;
    var _65 = FHEAP[_scevgep_3_i_i32];
    FHEAP[_64] = _65;
    var _66 = _this+432;
    var _67 = FHEAP[_66];
    var _68 = _dataBuffer+172;
    var _69 = _68;
    FHEAP[_69] = _67;
    var _70 = _this+436;
    var _71 = FHEAP[_70];
    var _72 = _dataBuffer+176;
    var _73 = _72;
    FHEAP[_73] = _71;
    var _74 = _this+440;
    var _75 = FHEAP[_74];
    var _76 = _dataBuffer+180;
    var _77 = _76;
    FHEAP[_77] = _75;
    var _78 = _this+416;
    var _79 = FHEAP[_78];
    var _80 = _dataBuffer+184;
    var _81 = _80;
    FHEAP[_81] = _79;
    var _82 = _this+420;
    var _83 = FHEAP[_82];
    var _84 = _dataBuffer+188;
    var _85 = _84;
    FHEAP[_85] = _83;
    var _86 = _this+424;
    var _87 = FHEAP[_86];
    var _88 = _dataBuffer+192;
    var _89 = _88;
    FHEAP[_89] = _87;
    var _90 = _this+428;
    var _91 = FHEAP[_90];
    var _92 = _dataBuffer+196;
    var _93 = _92;
    FHEAP[_93] = _91;
    ;
    return __str13;
  }
  __ZNK21btConeTwistConstraint9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK21btConeTwistConstraint9serializeEPvP12btSerializer, "__ZNK21btConeTwistConstraint9serializeEPvP12btSerializer");
  
  
  function __ZN21btConeTwistConstraint13buildJacobianEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 176;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _3 = __stackBase__+80;
    var _normal = __stackBase__+128;
    var _4 = _this+515;
    var _5 = IHEAP[_4];
    var _toBool = _5 == 0;
    ;
    if (_toBool) {
      ;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      var _6 = _this+28;
      FHEAP[_6] = 0;
      var _7 = _this+508;
      FHEAP[_7] = 0;
      var _8 = _this+504;
      FHEAP[_8] = 0;
      var _9 = _this+564;
      FHEAP[_9] = 0;
      var _10 = _this+564+4;
      FHEAP[_10] = 0;
      var _11 = _this+564+8;
      FHEAP[_11] = 0;
      var _12 = _this+564+12;
      FHEAP[_12] = 0;
      var _13 = _this+512;
      var _14 = IHEAP[_13];
      var _toBool1not = _14 == 0;
      ;
      _bb8$_bb19$14458: do { 
        if (_toBool1not) {
          ;
          var _15 = _this+20;
          var _16 = IHEAP[_15];
          var _17 = _16+4+32;
          var _18 = FHEAP[_17];
          var _19 = _this+288+48;
          var _20 = FHEAP[_19];
          var _21 = _18 * _20;
          var _22 = _16+4+32+4;
          var _23 = FHEAP[_22];
          var _24 = _this+288+48+4;
          var _25 = FHEAP[_24];
          var _26 = _23 * _25;
          var _27 = _21 + _26;
          var _28 = _16+4+32+8;
          var _29 = FHEAP[_28];
          var _30 = _this+288+48+8;
          var _31 = FHEAP[_30];
          var _32 = _29 * _31;
          var _33 = _27 + _32;
          var _34 = _16+4+48+8;
          var _35 = FHEAP[_34];
          var _36 = _33 + _35;
          var _37 = _16+4+16;
          var _38 = FHEAP[_37];
          var _39 = _38 * _20;
          var _40 = _16+4+16+4;
          var _41 = FHEAP[_40];
          var _42 = _41 * _25;
          var _43 = _39 + _42;
          var _44 = _16+4+16+8;
          var _45 = FHEAP[_44];
          var _46 = _45 * _31;
          var _47 = _43 + _46;
          var _48 = _16+4+48+4;
          var _49 = FHEAP[_48];
          var _50 = _47 + _49;
          var _51 = _16+4;
          var _52 = FHEAP[_51];
          var _53 = _52 * _20;
          var _54 = _16+4+4;
          var _55 = FHEAP[_54];
          var _56 = _55 * _25;
          var _57 = _53 + _56;
          var _58 = _16+4+8;
          var _59 = FHEAP[_58];
          var _60 = _59 * _31;
          var _61 = _57 + _60;
          var _62 = _16+4+48;
          var _63 = FHEAP[_62];
          var _64 = _61 + _63;
          var _65 = _this+24;
          var _66 = IHEAP[_65];
          var _67 = _66+4+32;
          var _68 = FHEAP[_67];
          var _69 = _this+352+48;
          var _70 = FHEAP[_69];
          var _71 = _68 * _70;
          var _72 = _66+4+32+4;
          var _73 = FHEAP[_72];
          var _74 = _this+352+48+4;
          var _75 = FHEAP[_74];
          var _76 = _73 * _75;
          var _77 = _71 + _76;
          var _78 = _66+4+32+8;
          var _79 = FHEAP[_78];
          var _80 = _this+352+48+8;
          var _81 = FHEAP[_80];
          var _82 = _79 * _81;
          var _83 = _77 + _82;
          var _84 = _66+4+48+8;
          var _85 = FHEAP[_84];
          var _86 = _83 + _85;
          var _87 = _66+4+16;
          var _88 = FHEAP[_87];
          var _89 = _88 * _70;
          var _90 = _66+4+16+4;
          var _91 = FHEAP[_90];
          var _92 = _91 * _75;
          var _93 = _89 + _92;
          var _94 = _66+4+16+8;
          var _95 = FHEAP[_94];
          var _96 = _95 * _81;
          var _97 = _93 + _96;
          var _98 = _66+4+48+4;
          var _99 = FHEAP[_98];
          var _100 = _97 + _99;
          var _101 = _66+4;
          var _102 = FHEAP[_101];
          var _103 = _102 * _70;
          var _104 = _66+4+4;
          var _105 = FHEAP[_104];
          var _106 = _105 * _75;
          var _107 = _103 + _106;
          var _108 = _66+4+8;
          var _109 = FHEAP[_108];
          var _110 = _109 * _81;
          var _111 = _107 + _110;
          var _112 = _66+4+48;
          var _113 = FHEAP[_112];
          var _114 = _111 + _113;
          var _115 = _86 - _36;
          var _116 = _100 - _50;
          var _117 = _114 - _64;
          var _118 = _117 * _117;
          var _119 = _116 * _116;
          var _120 = _118 + _119;
          var _121 = _115 * _115;
          var _122 = _120 + _121;
          var _123 = _122 > 1.1920928955078125e-7;
          ;
          if (_123) {
            ;
            var _124 = _sqrtf(_122);
            var _125 = 1 / _124;
            var _126 = _115 * _125;
            var _127 = _116 * _125;
            var _128 = _117 * _125;
            var _129 = _normal;
            FHEAP[_129] = _128;
            var _130 = _normal+4;
            FHEAP[_130] = _127;
            var _131 = _normal+8;
            FHEAP[_131] = _126;
            var _132 = _normal+12;
            FHEAP[_132] = 0;
            __lastLabel__ = 150; ;
          }
          else {
            ;
            var _133 = _normal;
            FHEAP[_133] = 1;
            var _134 = _normal+4;
            FHEAP[_134] = 0;
            var _135 = _normal+8;
            FHEAP[_135] = 0;
            var _136 = _normal+12;
            FHEAP[_136] = 0;
            __lastLabel__ = 292; ;
          }
          var _137 = __lastLabel__ == 292 ? 1 : (_128);
          var _138 = __lastLabel__ == 292 ? 0 : (_127);
          var _139 = __lastLabel__ == 292 ? 0 : (_126);
          var _140 = _fabsf(_139);
          var _141 = _140 > 0.7071067690849304;
          ;
          if (_141) {
            ;
            var _142 = _138 * _138;
            var _143 = _139 * _139;
            var _144 = _142 + _143;
            var _145 = _sqrtf(_144);
            var _146 = 1 / _145;
            var _147 = _normal+16;
            FHEAP[_147] = 0;
            var _148 = 0 - _139;
            var _149 = _146 * _148;
            var _150 = _normal+16+4;
            FHEAP[_150] = _149;
            var _151 = _138 * _146;
            var _152 = _normal+16+8;
            FHEAP[_152] = _151;
            var _153 = _normal+32;
            var _154 = _144 * _146;
            FHEAP[_153] = _154;
            var _155 = 0 - _137;
            var _156 = _151 * _155;
            var _157 = _normal+32+4;
            FHEAP[_157] = _156;
            var _158 = _137 * _149;
            var _159 = _normal+32+8;
            FHEAP[_159] = _158;
            ;
          }
          else {
            ;
            var _160 = _137 * _137;
            var _161 = _138 * _138;
            var _162 = _160 + _161;
            var _163 = _sqrtf(_162);
            var _164 = 1 / _163;
            var _165 = _normal+16;
            var _166 = 0 - _138;
            var _167 = _164 * _166;
            FHEAP[_165] = _167;
            var _168 = _137 * _164;
            var _169 = _normal+16+4;
            FHEAP[_169] = _168;
            var _170 = _normal+16+8;
            FHEAP[_170] = 0;
            var _171 = _normal+32;
            var _172 = 0 - _139;
            var _173 = _168 * _172;
            FHEAP[_171] = _173;
            var _174 = _139 * _167;
            var _175 = _normal+32+4;
            FHEAP[_175] = _174;
            var _176 = _162 * _164;
            var _177 = _normal+32+8;
            FHEAP[_177] = _176;
            ;
          }
          var _178 = _3;
          var _179 = _3+4;
          var _180 = _3+8;
          var _181 = _3+12;
          var _182 = _3+16;
          var _183 = _3+16+4;
          var _184 = _3+16+8;
          var _185 = _3+16+12;
          var _186 = _3+32;
          var _187 = _3+32+4;
          var _188 = _3+32+8;
          var _189 = _3+32+12;
          var _190 = _2;
          var _191 = _2+4;
          var _192 = _2+8;
          var _193 = _2+12;
          var _194 = _2+16;
          var _195 = _2+16+4;
          var _196 = _2+16+8;
          var _197 = _2+16+12;
          var _198 = _2+32;
          var _199 = _2+32+4;
          var _200 = _2+32+8;
          var _201 = _2+32+12;
          var _202 = _1;
          var _203 = _1+4;
          var _204 = _1+8;
          var _205 = _1+12;
          var _206 = _0;
          var _207 = _0+4;
          var _208 = _0+8;
          var _209 = _0+12;
          __lastLabel__ = 130; ;
          _bb14$14468: while(1) { // _bb14
            var _i_036 = __lastLabel__ == 130 ? 0 : (_273);
            var _scevgep39 = _this+36+_i_036*84;
            var _210 = IHEAP[_15];
            var _211 = _210+4+32+8;
            var _212 = _210+4+16+8;
            var _213 = _210+4+8;
            var _214 = _210+4+32+4;
            var _215 = _210+4+16+4;
            var _216 = _210+4+4;
            var _217 = _210+4+32;
            var _218 = _210+4+16;
            var _219 = _210+4;
            var _220 = FHEAP[_219];
            FHEAP[_178] = _220;
            var _221 = FHEAP[_218];
            FHEAP[_179] = _221;
            var _222 = FHEAP[_217];
            FHEAP[_180] = _222;
            FHEAP[_181] = 0;
            var _223 = FHEAP[_216];
            FHEAP[_182] = _223;
            var _224 = FHEAP[_215];
            FHEAP[_183] = _224;
            var _225 = FHEAP[_214];
            FHEAP[_184] = _225;
            FHEAP[_185] = 0;
            var _226 = FHEAP[_213];
            FHEAP[_186] = _226;
            var _227 = FHEAP[_212];
            FHEAP[_187] = _227;
            var _228 = FHEAP[_211];
            FHEAP[_188] = _228;
            FHEAP[_189] = 0;
            var _229 = IHEAP[_65];
            var _230 = _229+4+32+8;
            var _231 = _229+4+16+8;
            var _232 = _229+4+8;
            var _233 = _229+4+32+4;
            var _234 = _229+4+16+4;
            var _235 = _229+4+4;
            var _236 = _229+4+32;
            var _237 = _229+4+16;
            var _238 = _229+4;
            var _239 = FHEAP[_238];
            FHEAP[_190] = _239;
            var _240 = FHEAP[_237];
            FHEAP[_191] = _240;
            var _241 = FHEAP[_236];
            FHEAP[_192] = _241;
            FHEAP[_193] = 0;
            var _242 = FHEAP[_235];
            FHEAP[_194] = _242;
            var _243 = FHEAP[_234];
            FHEAP[_195] = _243;
            var _244 = FHEAP[_233];
            FHEAP[_196] = _244;
            FHEAP[_197] = 0;
            var _245 = FHEAP[_232];
            FHEAP[_198] = _245;
            var _246 = FHEAP[_231];
            FHEAP[_199] = _246;
            var _247 = FHEAP[_230];
            FHEAP[_200] = _247;
            FHEAP[_201] = 0;
            var _248 = _210+4+48+8;
            var _249 = FHEAP[_248];
            var _250 = _36 - _249;
            var _251 = _210+4+48+4;
            var _252 = FHEAP[_251];
            var _253 = _50 - _252;
            var _254 = _210+4+48;
            var _255 = FHEAP[_254];
            var _256 = _64 - _255;
            FHEAP[_202] = _256;
            FHEAP[_203] = _253;
            FHEAP[_204] = _250;
            FHEAP[_205] = 0;
            var _257 = _229+4+48+8;
            var _258 = FHEAP[_257];
            var _259 = _86 - _258;
            var _260 = _229+4+48+4;
            var _261 = FHEAP[_260];
            var _262 = _100 - _261;
            var _263 = _229+4+48;
            var _264 = FHEAP[_263];
            var _265 = _114 - _264;
            FHEAP[_206] = _265;
            FHEAP[_207] = _262;
            FHEAP[_208] = _259;
            FHEAP[_209] = 0;
            var _266 = _scevgep39 == 0;
            ;
            if (!_266) {
              ;
              var _scevgep = _normal+_i_036*16;
              var _267 = _229+336;
              var _268 = _210+336;
              var _269 = FHEAP[_267];
              var _270 = _229+388;
              var _271 = FHEAP[_268];
              var _272 = _210+388;
              __ZN15btJacobianEntryC2ERK11btMatrix3x3S2_RK9btVector3S5_S5_S5_fS5_f(_scevgep39, _3, _2, _1, _0, _scevgep, _272, _271, _270, _269);
              ;
            }
            var _273 = _i_036 + 1;
            var _exitcond = _273 == 3;
            if (_exitcond) { __lastLabel__ = 4; __label__ = 64; /* _bb19 */ break _bb8$_bb19$14458; } else { __lastLabel__ = 4; __label__ = 63; /* _bb14 */ continue _bb14$14468; }
          }
        }
      } while(0);
      var _274 = _this+24;
      var _275 = IHEAP[_274];
      var _276 = _275+256;
      var _277 = _this+20;
      var _278 = IHEAP[_277];
      var _279 = _278+256;
      var _280 = _275+4;
      var _281 = _278+4;
      __ZN21btConeTwistConstraint14calcAngleInfo2ERK11btTransformS2_RK11btMatrix3x3S5_(_this, _281, _280, _279, _276);
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN21btConeTwistConstraint13buildJacobianEv.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraint13buildJacobianEv, "__ZN21btConeTwistConstraint13buildJacobianEv");
  
  
  function __ZN21btConeTwistConstraint23solveConstraintObsoleteER11btRigidBodyS1_f(_this, _bodyA, _bodyB, _timeStep) {
    var __stackBase__  = STACKTOP; STACKTOP += 466;
    var __label__;
    var __lastLabel__ = null;
    var _axis_i115 = __stackBase__;
    var _angle_i116 = __stackBase__+16;
    var _axis_i = __stackBase__+17;
    var _angle_i = __stackBase__+33;
    var _trACur = __stackBase__+34;
    var _trBCur = __stackBase__+98;
    var _omegaA = __stackBase__+162;
    var _omegaB = __stackBase__+178;
    var _trAPred = __stackBase__+194;
    var _zerovec = __stackBase__+258;
    var _trBPred = __stackBase__+274;
    var _trADes = __stackBase__+338;
    var _trBDes = __stackBase__+402;
    var _0 = _this+515;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    ;
    __ZN11btRigidBody20internalApplyImpulseERK9btVector3S2_f_exit$_bb$14488: do { 
      if (!_toBool) {
        ;
        var _2 = _this+20;
        var _3 = IHEAP[_2];
        var _4 = _3+4+32;
        var _5 = FHEAP[_4];
        var _6 = _this+288+48;
        var _7 = FHEAP[_6];
        var _8 = _5 * _7;
        var _9 = _3+4+32+4;
        var _10 = FHEAP[_9];
        var _11 = _this+288+48+4;
        var _12 = FHEAP[_11];
        var _13 = _10 * _12;
        var _14 = _8 + _13;
        var _15 = _3+4+32+8;
        var _16 = FHEAP[_15];
        var _17 = _this+288+48+8;
        var _18 = FHEAP[_17];
        var _19 = _16 * _18;
        var _20 = _14 + _19;
        var _21 = _3+4+48+8;
        var _22 = FHEAP[_21];
        var _23 = _20 + _22;
        var _24 = _3+4+16;
        var _25 = FHEAP[_24];
        var _26 = _25 * _7;
        var _27 = _3+4+16+4;
        var _28 = FHEAP[_27];
        var _29 = _28 * _12;
        var _30 = _26 + _29;
        var _31 = _3+4+16+8;
        var _32 = FHEAP[_31];
        var _33 = _32 * _18;
        var _34 = _30 + _33;
        var _35 = _3+4+48+4;
        var _36 = FHEAP[_35];
        var _37 = _34 + _36;
        var _38 = _3+4;
        var _39 = FHEAP[_38];
        var _40 = _39 * _7;
        var _41 = _3+4+4;
        var _42 = FHEAP[_41];
        var _43 = _42 * _12;
        var _44 = _40 + _43;
        var _45 = _3+4+8;
        var _46 = FHEAP[_45];
        var _47 = _46 * _18;
        var _48 = _44 + _47;
        var _49 = _3+4+48;
        var _50 = FHEAP[_49];
        var _51 = _48 + _50;
        var _52 = _this+24;
        var _53 = IHEAP[_52];
        var _54 = _53+4+32;
        var _55 = FHEAP[_54];
        var _56 = _this+352+48;
        var _57 = FHEAP[_56];
        var _58 = _55 * _57;
        var _59 = _53+4+32+4;
        var _60 = FHEAP[_59];
        var _61 = _this+352+48+4;
        var _62 = FHEAP[_61];
        var _63 = _60 * _62;
        var _64 = _58 + _63;
        var _65 = _53+4+32+8;
        var _66 = FHEAP[_65];
        var _67 = _this+352+48+8;
        var _68 = FHEAP[_67];
        var _69 = _66 * _68;
        var _70 = _64 + _69;
        var _71 = _53+4+48+8;
        var _72 = FHEAP[_71];
        var _73 = _70 + _72;
        var _74 = _53+4+16;
        var _75 = FHEAP[_74];
        var _76 = _75 * _57;
        var _77 = _53+4+16+4;
        var _78 = FHEAP[_77];
        var _79 = _78 * _62;
        var _80 = _76 + _79;
        var _81 = _53+4+16+8;
        var _82 = FHEAP[_81];
        var _83 = _82 * _68;
        var _84 = _80 + _83;
        var _85 = _53+4+48+4;
        var _86 = FHEAP[_85];
        var _87 = _84 + _86;
        var _88 = _53+4;
        var _89 = FHEAP[_88];
        var _90 = _89 * _57;
        var _91 = _53+4+4;
        var _92 = FHEAP[_91];
        var _93 = _92 * _62;
        var _94 = _90 + _93;
        var _95 = _53+4+8;
        var _96 = FHEAP[_95];
        var _97 = _96 * _68;
        var _98 = _94 + _97;
        var _99 = _53+4+48;
        var _100 = FHEAP[_99];
        var _101 = _98 + _100;
        var _102 = _this+512;
        var _103 = IHEAP[_102];
        var _toBool1not = _103 == 0;
        ;
        _bb_nph$_bb8$14490: do { 
          if (_toBool1not) {
            ;
            var _104 = _23 - _22;
            var _105 = _37 - _36;
            var _106 = _51 - _50;
            var _107 = _73 - _72;
            var _108 = _87 - _86;
            var _109 = _101 - _100;
            var _110 = _bodyA+320+8;
            var _111 = FHEAP[_110];
            var _112 = _bodyA+520+8;
            var _113 = FHEAP[_112];
            var _114 = _111 + _113;
            var _115 = _bodyA+320+4;
            var _116 = FHEAP[_115];
            var _117 = _bodyA+520+4;
            var _118 = FHEAP[_117];
            var _119 = _116 + _118;
            var _120 = _bodyA+320;
            var _121 = FHEAP[_120];
            var _122 = _bodyA+520;
            var _123 = FHEAP[_122];
            var _124 = _121 + _123;
            var _125 = _124 * _105;
            var _126 = _119 * _106;
            var _127 = _125 - _126;
            var _128 = _114 * _106;
            var _129 = _124 * _104;
            var _130 = _128 - _129;
            var _131 = _119 * _104;
            var _132 = _114 * _105;
            var _133 = _131 - _132;
            var _134 = _bodyA+304+8;
            var _135 = FHEAP[_134];
            var _136 = _bodyA+504+8;
            var _137 = FHEAP[_136];
            var _138 = _135 + _137;
            var _139 = _bodyA+304+4;
            var _140 = FHEAP[_139];
            var _141 = _bodyA+504+4;
            var _142 = FHEAP[_141];
            var _143 = _140 + _142;
            var _144 = _bodyA+304;
            var _145 = FHEAP[_144];
            var _146 = _bodyA+504;
            var _147 = FHEAP[_146];
            var _148 = _145 + _147;
            var _149 = _138 + _127;
            var _150 = _143 + _130;
            var _151 = _148 + _133;
            var _152 = _bodyB+320+8;
            var _153 = FHEAP[_152];
            var _154 = _bodyB+520+8;
            var _155 = FHEAP[_154];
            var _156 = _153 + _155;
            var _157 = _bodyB+320+4;
            var _158 = FHEAP[_157];
            var _159 = _bodyB+520+4;
            var _160 = FHEAP[_159];
            var _161 = _158 + _160;
            var _162 = _bodyB+320;
            var _163 = FHEAP[_162];
            var _164 = _bodyB+520;
            var _165 = FHEAP[_164];
            var _166 = _163 + _165;
            var _167 = _166 * _108;
            var _168 = _161 * _109;
            var _169 = _167 - _168;
            var _170 = _156 * _109;
            var _171 = _166 * _107;
            var _172 = _170 - _171;
            var _173 = _161 * _107;
            var _174 = _156 * _108;
            var _175 = _173 - _174;
            var _176 = _bodyB+304+8;
            var _177 = FHEAP[_176];
            var _178 = _bodyB+504+8;
            var _179 = FHEAP[_178];
            var _180 = _177 + _179;
            var _181 = _bodyB+304+4;
            var _182 = FHEAP[_181];
            var _183 = _bodyB+504+4;
            var _184 = FHEAP[_183];
            var _185 = _182 + _184;
            var _186 = _bodyB+304;
            var _187 = FHEAP[_186];
            var _188 = _bodyB+504;
            var _189 = FHEAP[_188];
            var _190 = _187 + _189;
            var _191 = _180 + _169;
            var _192 = _185 + _172;
            var _193 = _190 + _175;
            var _194 = _149 - _191;
            var _195 = _150 - _192;
            var _196 = _151 - _193;
            var _197 = _23 - _73;
            var _198 = _37 - _87;
            var _199 = _51 - _101;
            var _200 = _this+28;
            var _201 = _bodyA+336;
            var _202 = _bodyA+536+8;
            var _203 = _bodyA+536+4;
            var _204 = _bodyA+536;
            var _205 = _bodyB+336;
            var _206 = _bodyB+536+8;
            var _207 = _bodyB+536+4;
            var _208 = _bodyB+536;
            __lastLabel__ = 130; ;
            _bb6$14492: while(1) { // _bb6
              var _i_0430 = __lastLabel__ == 130 ? 0 : (_383);
              var _scevgep = _this+36+_i_0430*84+80;
              var _scevgep431432 = _this+36+_i_0430*84;
              var _scevgep433 = _this+36+_i_0430*84+4;
              var _scevgep434 = _this+36+_i_0430*84+8;
              var _209 = FHEAP[_scevgep];
              var _210 = 1 / _209;
              var _211 = FHEAP[_scevgep431432];
              var _212 = _211 * _196;
              var _213 = FHEAP[_scevgep433];
              var _214 = _213 * _195;
              var _215 = _212 + _214;
              var _216 = FHEAP[_scevgep434];
              var _217 = _216 * _194;
              var _218 = _215 + _217;
              var _219 = _199 * _211;
              var _220 = _198 * _213;
              var _221 = _219 + _220;
              var _222 = _197 * _216;
              var _223 = _221 + _222;
              var _224 = _223 * -0.30000001192092896;
              var _225 = _224 / _timeStep;
              var _226 = _225 * _210;
              var _227 = _218 * _210;
              var _228 = _226 - _227;
              var _229 = FHEAP[_200];
              var _230 = _229 + _228;
              FHEAP[_200] = _230;
              var _231 = _106 * _213;
              var _232 = _105 * _211;
              var _233 = _231 - _232;
              var _234 = _104 * _211;
              var _235 = _106 * _216;
              var _236 = _234 - _235;
              var _237 = _105 * _216;
              var _238 = _104 * _213;
              var _239 = _237 - _238;
              var _240 = _109 * _213;
              var _241 = _108 * _211;
              var _242 = _240 - _241;
              var _243 = _107 * _211;
              var _244 = _109 * _216;
              var _245 = _243 - _244;
              var _246 = _108 * _216;
              var _247 = _107 * _213;
              var _248 = _246 - _247;
              var _249 = IHEAP[_2];
              var _250 = _249+336;
              var _251 = FHEAP[_250];
              var _252 = FHEAP[_201];
              var _253 = _252 != 0;
              ;
              if (_253) {
                ;
                var _254 = _249+256+4;
                var _255 = _249+256;
                var _256 = _249+256+16+4;
                var _257 = _249+256+16;
                var _258 = _249+256+32+4;
                var _259 = _249+256+32;
                var _260 = _249+256+8;
                var _261 = FHEAP[_254];
                var _262 = FHEAP[_255];
                var _263 = _249+256+16+8;
                var _264 = FHEAP[_256];
                var _265 = FHEAP[_257];
                var _266 = _249+256+32+8;
                var _267 = FHEAP[_258];
                var _268 = FHEAP[_259];
                var _269 = FHEAP[_260];
                var _270 = _261 * _236;
                var _271 = _262 * _239;
                var _272 = FHEAP[_263];
                var _273 = _264 * _236;
                var _274 = _265 * _239;
                var _275 = FHEAP[_266];
                var _276 = _267 * _236;
                var _277 = _268 * _239;
                var _278 = _269 * _233;
                var _279 = _271 + _270;
                var _280 = _272 * _233;
                var _281 = _274 + _273;
                var _282 = _275 * _233;
                var _283 = _277 + _276;
                var _284 = _211 * _251;
                var _285 = _213 * _251;
                var _286 = _216 * _251;
                var _287 = _279 + _278;
                var _288 = _281 + _280;
                var _289 = _283 + _282;
                var _290 = _286 * _228;
                var _291 = _285 * _228;
                var _292 = _284 * _228;
                var _293 = FHEAP[_146];
                var _294 = _293 + _292;
                FHEAP[_146] = _294;
                var _295 = FHEAP[_141];
                var _296 = _295 + _291;
                FHEAP[_141] = _296;
                var _297 = FHEAP[_136];
                var _298 = _297 + _290;
                FHEAP[_136] = _298;
                var _299 = FHEAP[_202];
                var _300 = _299 * _228;
                var _301 = FHEAP[_203];
                var _302 = _301 * _228;
                var _303 = FHEAP[_204];
                var _304 = _303 * _228;
                var _305 = _289 * _300;
                var _306 = _288 * _302;
                var _307 = _287 * _304;
                var _308 = FHEAP[_122];
                var _309 = _308 + _307;
                FHEAP[_122] = _309;
                var _310 = FHEAP[_117];
                var _311 = _310 + _306;
                FHEAP[_117] = _311;
                var _312 = FHEAP[_112];
                var _313 = _312 + _305;
                FHEAP[_112] = _313;
                ;
              }
              var _314 = 0 - _228;
              var _315 = IHEAP[_52];
              var _316 = _315+336;
              var _317 = FHEAP[_316];
              var _318 = FHEAP[_205];
              var _319 = _318 != 0;
              ;
              if (_319) {
                ;
                var _320 = _315+256+4;
                var _321 = _315+256;
                var _322 = _315+256+16+4;
                var _323 = _315+256+16;
                var _324 = _315+256+32+4;
                var _325 = _315+256+32;
                var _326 = _315+256+8;
                var _327 = FHEAP[_320];
                var _328 = FHEAP[_321];
                var _329 = _315+256+16+8;
                var _330 = FHEAP[_322];
                var _331 = FHEAP[_323];
                var _332 = _315+256+32+8;
                var _333 = FHEAP[_324];
                var _334 = FHEAP[_325];
                var _335 = FHEAP[_326];
                var _336 = _327 * _245;
                var _337 = _328 * _248;
                var _338 = FHEAP[_329];
                var _339 = _330 * _245;
                var _340 = _331 * _248;
                var _341 = FHEAP[_332];
                var _342 = _333 * _245;
                var _343 = _334 * _248;
                var _344 = FHEAP[_scevgep431432];
                var _345 = FHEAP[_scevgep433];
                var _346 = FHEAP[_scevgep434];
                var _347 = _335 * _242;
                var _348 = _337 + _336;
                var _349 = _338 * _242;
                var _350 = _340 + _339;
                var _351 = _341 * _242;
                var _352 = _343 + _342;
                var _353 = _344 * _317;
                var _354 = _345 * _317;
                var _355 = _346 * _317;
                var _356 = _348 + _347;
                var _357 = _350 + _349;
                var _358 = _352 + _351;
                var _359 = _355 * _314;
                var _360 = _354 * _314;
                var _361 = _353 * _314;
                var _362 = FHEAP[_188];
                var _363 = _362 + _361;
                FHEAP[_188] = _363;
                var _364 = FHEAP[_183];
                var _365 = _364 + _360;
                FHEAP[_183] = _365;
                var _366 = FHEAP[_178];
                var _367 = _366 + _359;
                FHEAP[_178] = _367;
                var _368 = FHEAP[_206];
                var _369 = _368 * _314;
                var _370 = FHEAP[_207];
                var _371 = _370 * _314;
                var _372 = FHEAP[_208];
                var _373 = _372 * _314;
                var _374 = _358 * _369;
                var _375 = _357 * _371;
                var _376 = _356 * _373;
                var _377 = FHEAP[_164];
                var _378 = _377 + _376;
                FHEAP[_164] = _378;
                var _379 = FHEAP[_159];
                var _380 = _379 + _375;
                FHEAP[_159] = _380;
                var _381 = FHEAP[_154];
                var _382 = _381 + _374;
                FHEAP[_154] = _382;
                ;
              }
              var _383 = _i_0430 + 1;
              var _exitcond = _383 == 3;
              if (_exitcond) { __lastLabel__ = 2648; __label__ = 148; /* _bb8 */ break _bb_nph$_bb8$14490; } else { __lastLabel__ = 2648; __label__ = 83; /* _bb6 */ continue _bb6$14492; }
            }
          }
        } while(0);
        var _384 = _this+540;
        var _385 = IHEAP[_384];
        var _toBool9 = _385 == 0;
        ;
        _bb44$_bb10$14501: do { 
          if (_toBool9) {
            ;
            var _1410 = _this+428;
            var _1411 = FHEAP[_1410];
            var _1412 = _1411 > 1.1920928955078125e-7;
            if (!(_1412)) { __label__ = 1024; /* _bb59 */ break _bb44$_bb10$14501; }
            var _1413 = _bodyA+320+8;
            var _1414 = FHEAP[_1413];
            var _1415 = _bodyA+520+8;
            var _1416 = FHEAP[_1415];
            var _1417 = _1414 + _1416;
            var _1418 = _bodyA+320+4;
            var _1419 = FHEAP[_1418];
            var _1420 = _bodyA+520+4;
            var _1421 = FHEAP[_1420];
            var _1422 = _1419 + _1421;
            var _1423 = _bodyA+320;
            var _1424 = FHEAP[_1423];
            var _1425 = _bodyA+520;
            var _1426 = FHEAP[_1425];
            var _1427 = _1424 + _1426;
            var _1428 = _bodyB+320+8;
            var _1429 = FHEAP[_1428];
            var _1430 = _bodyB+520+8;
            var _1431 = FHEAP[_1430];
            var _1432 = _1429 + _1431;
            var _1433 = _bodyB+320+4;
            var _1434 = FHEAP[_1433];
            var _1435 = _bodyB+520+4;
            var _1436 = FHEAP[_1435];
            var _1437 = _1434 + _1436;
            var _1438 = _bodyB+320;
            var _1439 = FHEAP[_1438];
            var _1440 = _bodyB+520;
            var _1441 = FHEAP[_1440];
            var _1442 = _1439 + _1441;
            var _1443 = _1432 - _1417;
            var _1444 = _1437 - _1422;
            var _1445 = _1442 - _1427;
            var _1446 = _1445 * _1445;
            var _1447 = _1444 * _1444;
            var _1448 = _1446 + _1447;
            var _1449 = _1443 * _1443;
            var _1450 = _1448 + _1449;
            var _1451 = _1450 > 1.1920928955078125e-7;
            if (!(_1451)) { __label__ = 1024; /* _bb59 */ break _bb44$_bb10$14501; }
            var _1452 = _sqrtf(_1450);
            var _1453 = 1 / _1452;
            var _1454 = _1443 * _1453;
            var _1455 = _1444 * _1453;
            var _1456 = _1445 * _1453;
            var _1457 = IHEAP[_2];
            var _1458 = _1457+256+8;
            var _1459 = FHEAP[_1458];
            var _1460 = _1459 * _1456;
            var _1461 = _1457+256+16+8;
            var _1462 = FHEAP[_1461];
            var _1463 = _1462 * _1455;
            var _1464 = _1460 + _1463;
            var _1465 = _1457+256+32+8;
            var _1466 = FHEAP[_1465];
            var _1467 = _1466 * _1454;
            var _1468 = _1464 + _1467;
            var _1469 = _1457+256+4;
            var _1470 = FHEAP[_1469];
            var _1471 = _1470 * _1456;
            var _1472 = _1457+256+16+4;
            var _1473 = FHEAP[_1472];
            var _1474 = _1473 * _1455;
            var _1475 = _1471 + _1474;
            var _1476 = _1457+256+32+4;
            var _1477 = FHEAP[_1476];
            var _1478 = _1477 * _1454;
            var _1479 = _1475 + _1478;
            var _1480 = _1457+256;
            var _1481 = FHEAP[_1480];
            var _1482 = _1481 * _1456;
            var _1483 = _1457+256+16;
            var _1484 = FHEAP[_1483];
            var _1485 = _1484 * _1455;
            var _1486 = _1482 + _1485;
            var _1487 = _1457+256+32;
            var _1488 = FHEAP[_1487];
            var _1489 = _1488 * _1454;
            var _1490 = _1486 + _1489;
            var _1491 = _1456 * _1490;
            var _1492 = _1455 * _1479;
            var _1493 = _1491 + _1492;
            var _1494 = _1454 * _1468;
            var _1495 = _1493 + _1494;
            var _1496 = IHEAP[_52];
            var _1497 = _1496+256+8;
            var _1498 = FHEAP[_1497];
            var _1499 = _1498 * _1456;
            var _1500 = _1496+256+16+8;
            var _1501 = FHEAP[_1500];
            var _1502 = _1501 * _1455;
            var _1503 = _1499 + _1502;
            var _1504 = _1496+256+32+8;
            var _1505 = FHEAP[_1504];
            var _1506 = _1505 * _1454;
            var _1507 = _1503 + _1506;
            var _1508 = _1496+256+4;
            var _1509 = FHEAP[_1508];
            var _1510 = _1509 * _1456;
            var _1511 = _1496+256+16+4;
            var _1512 = FHEAP[_1511];
            var _1513 = _1512 * _1455;
            var _1514 = _1510 + _1513;
            var _1515 = _1496+256+32+4;
            var _1516 = FHEAP[_1515];
            var _1517 = _1516 * _1454;
            var _1518 = _1514 + _1517;
            var _1519 = _1496+256;
            var _1520 = FHEAP[_1519];
            var _1521 = _1520 * _1456;
            var _1522 = _1496+256+16;
            var _1523 = FHEAP[_1522];
            var _1524 = _1523 * _1455;
            var _1525 = _1521 + _1524;
            var _1526 = _1496+256+32;
            var _1527 = FHEAP[_1526];
            var _1528 = _1527 * _1454;
            var _1529 = _1525 + _1528;
            var _1530 = _1456 * _1529;
            var _1531 = _1455 * _1518;
            var _1532 = _1530 + _1531;
            var _1533 = _1454 * _1507;
            var _1534 = _1532 + _1533;
            var _1535 = _1495 + _1534;
            var _1536 = 1 / _1535;
            var _1537 = _1411 * _1536;
            var _1538 = _1443 * _1537;
            var _1539 = _1444 * _1537;
            var _1540 = _1445 * _1537;
            var _1541 = _1540 * _1540;
            var _1542 = _1539 * _1539;
            var _1543 = _1541 + _1542;
            var _1544 = _1538 * _1538;
            var _1545 = _1543 + _1544;
            var _1546 = _sqrtf(_1545);
            var _1547 = 1 / _1546;
            var _1548 = _1538 * _1547;
            var _1549 = _1539 * _1547;
            var _1550 = _1540 * _1547;
            var _1551 = _bodyA+336;
            var _1552 = FHEAP[_1551];
            var _1553 = _1552 != 0;
            ;
            if (_1553) {
              __lastLabel__ = 975; ;
              var _1554 = _1470 * _1549;
              var _1555 = _1481 * _1550;
              var _1556 = _1473 * _1549;
              var _1557 = _1484 * _1550;
              var _1558 = _1477 * _1549;
              var _1559 = _1488 * _1550;
              var _1560 = _1459 * _1548;
              var _1561 = _1555 + _1554;
              var _1562 = _1462 * _1548;
              var _1563 = _1557 + _1556;
              var _1564 = _1466 * _1548;
              var _1565 = _1559 + _1558;
              var _1566 = _1561 + _1560;
              var _1567 = _1563 + _1562;
              var _1568 = _1565 + _1564;
              var _1569 = _1546 * 0;
              var _1570 = _bodyA+504;
              var _1571 = FHEAP[_1570];
              var _1572 = _1571 + _1569;
              FHEAP[_1570] = _1572;
              var _1573 = _bodyA+504+4;
              var _1574 = FHEAP[_1573];
              var _1575 = _1574 + _1569;
              FHEAP[_1573] = _1575;
              var _1576 = _bodyA+504+8;
              var _1577 = FHEAP[_1576];
              var _1578 = _1577 + _1569;
              FHEAP[_1576] = _1578;
              var _1579 = _bodyA+536+8;
              var _1580 = FHEAP[_1579];
              var _1581 = _1580 * _1546;
              var _1582 = _bodyA+536+4;
              var _1583 = FHEAP[_1582];
              var _1584 = _1583 * _1546;
              var _1585 = _bodyA+536;
              var _1586 = FHEAP[_1585];
              var _1587 = _1586 * _1546;
              var _1588 = _1568 * _1581;
              var _1589 = _1567 * _1584;
              var _1590 = _1566 * _1587;
              var _1591 = _1426 + _1590;
              FHEAP[_1425] = _1591;
              var _1592 = _1421 + _1589;
              FHEAP[_1420] = _1592;
              var _1593 = _1416 + _1588;
              FHEAP[_1415] = _1593;
              var __pre = IHEAP[_52];
              __lastLabel__ = 2657; ;
            }
            else {
              __lastLabel__ = 975; ;
            }
            var _1594 = __lastLabel__ == 2657 ? __pre : (_1496);
            var _1595 = 0 - _1546;
            var _1596 = _bodyB+336;
            var _1597 = FHEAP[_1596];
            var _1598 = _1597 != 0;
            if (!(_1598)) { __label__ = 1024; /* _bb59 */ break _bb44$_bb10$14501; }
            var _1599 = _1594+256+4;
            var _1600 = _1594+256;
            var _1601 = _1594+256+16+4;
            var _1602 = _1594+256+16;
            var _1603 = _1594+256+32+4;
            var _1604 = _1594+256+32;
            var _1605 = _1594+256+8;
            var _1606 = FHEAP[_1599];
            var _1607 = FHEAP[_1600];
            var _1608 = _1594+256+16+8;
            var _1609 = FHEAP[_1601];
            var _1610 = FHEAP[_1602];
            var _1611 = _1594+256+32+8;
            var _1612 = FHEAP[_1603];
            var _1613 = FHEAP[_1604];
            var _1614 = FHEAP[_1605];
            var _1615 = _1606 * _1549;
            var _1616 = _1607 * _1550;
            var _1617 = FHEAP[_1608];
            var _1618 = _1609 * _1549;
            var _1619 = _1610 * _1550;
            var _1620 = FHEAP[_1611];
            var _1621 = _1612 * _1549;
            var _1622 = _1613 * _1550;
            var _1623 = _1614 * _1548;
            var _1624 = _1616 + _1615;
            var _1625 = _1617 * _1548;
            var _1626 = _1619 + _1618;
            var _1627 = _1620 * _1548;
            var _1628 = _1622 + _1621;
            var _1629 = _1624 + _1623;
            var _1630 = _1626 + _1625;
            var _1631 = _1628 + _1627;
            var _1632 = _1546 * 0;
            var _1633 = _bodyB+504;
            var _1634 = FHEAP[_1633];
            var _1635 = _1634 + _1632;
            FHEAP[_1633] = _1635;
            var _1636 = _bodyB+504+4;
            var _1637 = FHEAP[_1636];
            var _1638 = _1637 + _1632;
            FHEAP[_1636] = _1638;
            var _1639 = _bodyB+504+8;
            var _1640 = FHEAP[_1639];
            var _1641 = _1640 + _1632;
            FHEAP[_1639] = _1641;
            var _1642 = _bodyB+536+8;
            var _1643 = FHEAP[_1642];
            var _1644 = _1643 * _1595;
            var _1645 = _bodyB+536+4;
            var _1646 = FHEAP[_1645];
            var _1647 = _1646 * _1595;
            var _1648 = _bodyB+536;
            var _1649 = FHEAP[_1648];
            var _1650 = _1649 * _1595;
            var _1651 = _1631 * _1644;
            var _1652 = _1630 * _1647;
            var _1653 = _1629 * _1650;
            var _1654 = FHEAP[_1440];
            var _1655 = _1654 + _1653;
            FHEAP[_1440] = _1655;
            var _1656 = FHEAP[_1435];
            var _1657 = _1656 + _1652;
            FHEAP[_1435] = _1657;
            var _1658 = FHEAP[_1430];
            var _1659 = _1658 + _1651;
            FHEAP[_1430] = _1659;
            ;
          }
          else {
            ;
            var _386 = IHEAP[_2];
            var _387 = _trACur;
            var _388 = _386+4;
            var _389 = FHEAP[_388];
            FHEAP[_387] = _389;
            var _390 = _trACur+4;
            var _391 = _386+4+4;
            var _392 = FHEAP[_391];
            FHEAP[_390] = _392;
            var _393 = _trACur+8;
            var _394 = _386+4+8;
            var _395 = FHEAP[_394];
            FHEAP[_393] = _395;
            var _396 = _trACur+12;
            var _397 = _386+4+12;
            var _398 = FHEAP[_397];
            FHEAP[_396] = _398;
            var _399 = _trACur+16;
            var _400 = _386+4+16;
            var _401 = FHEAP[_400];
            FHEAP[_399] = _401;
            var _402 = _trACur+16+4;
            var _403 = _386+4+16+4;
            var _404 = FHEAP[_403];
            FHEAP[_402] = _404;
            var _405 = _trACur+16+8;
            var _406 = _386+4+16+8;
            var _407 = FHEAP[_406];
            FHEAP[_405] = _407;
            var _408 = _trACur+16+12;
            var _409 = _386+4+16+12;
            var _410 = FHEAP[_409];
            FHEAP[_408] = _410;
            var _411 = _trACur+32;
            var _412 = _386+4+32;
            var _413 = FHEAP[_412];
            FHEAP[_411] = _413;
            var _414 = _trACur+32+4;
            var _415 = _386+4+32+4;
            var _416 = FHEAP[_415];
            FHEAP[_414] = _416;
            var _417 = _trACur+32+8;
            var _418 = _386+4+32+8;
            var _419 = FHEAP[_418];
            FHEAP[_417] = _419;
            var _420 = _trACur+32+12;
            var _421 = _386+4+32+12;
            var _422 = FHEAP[_421];
            FHEAP[_420] = _422;
            var _423 = _trACur+48;
            var _424 = _386+4+48;
            var _425 = FHEAP[_424];
            FHEAP[_423] = _425;
            var _426 = _trACur+48+4;
            var _427 = _386+4+48+4;
            var _428 = FHEAP[_427];
            FHEAP[_426] = _428;
            var _429 = _trACur+48+8;
            var _430 = _386+4+48+8;
            var _431 = FHEAP[_430];
            FHEAP[_429] = _431;
            var _432 = _trACur+48+12;
            var _433 = _386+4+48+12;
            var _434 = FHEAP[_433];
            FHEAP[_432] = _434;
            var _435 = IHEAP[_52];
            var _436 = _trBCur;
            var _437 = _435+4;
            var _438 = FHEAP[_437];
            FHEAP[_436] = _438;
            var _439 = _trBCur+4;
            var _440 = _435+4+4;
            var _441 = FHEAP[_440];
            FHEAP[_439] = _441;
            var _442 = _trBCur+8;
            var _443 = _435+4+8;
            var _444 = FHEAP[_443];
            FHEAP[_442] = _444;
            var _445 = _trBCur+12;
            var _446 = _435+4+12;
            var _447 = FHEAP[_446];
            FHEAP[_445] = _447;
            var _448 = _trBCur+16;
            var _449 = _435+4+16;
            var _450 = FHEAP[_449];
            FHEAP[_448] = _450;
            var _451 = _trBCur+16+4;
            var _452 = _435+4+16+4;
            var _453 = FHEAP[_452];
            FHEAP[_451] = _453;
            var _454 = _trBCur+16+8;
            var _455 = _435+4+16+8;
            var _456 = FHEAP[_455];
            FHEAP[_454] = _456;
            var _457 = _trBCur+16+12;
            var _458 = _435+4+16+12;
            var _459 = FHEAP[_458];
            FHEAP[_457] = _459;
            var _460 = _trBCur+32;
            var _461 = _435+4+32;
            var _462 = FHEAP[_461];
            FHEAP[_460] = _462;
            var _463 = _trBCur+32+4;
            var _464 = _435+4+32+4;
            var _465 = FHEAP[_464];
            FHEAP[_463] = _465;
            var _466 = _trBCur+32+8;
            var _467 = _435+4+32+8;
            var _468 = FHEAP[_467];
            FHEAP[_466] = _468;
            var _469 = _trBCur+32+12;
            var _470 = _435+4+32+12;
            var _471 = FHEAP[_470];
            FHEAP[_469] = _471;
            var _472 = _trBCur+48;
            var _473 = _435+4+48;
            var _474 = FHEAP[_473];
            FHEAP[_472] = _474;
            var _475 = _trBCur+48+4;
            var _476 = _435+4+48+4;
            var _477 = FHEAP[_476];
            FHEAP[_475] = _477;
            var _478 = _trBCur+48+8;
            var _479 = _435+4+48+8;
            var _480 = FHEAP[_479];
            FHEAP[_478] = _480;
            var _481 = _trBCur+48+12;
            var _482 = _435+4+48+12;
            var _483 = FHEAP[_482];
            FHEAP[_481] = _483;
            var _484 = _bodyA+320+8;
            var _485 = FHEAP[_484];
            var _486 = _bodyA+520+8;
            var _487 = FHEAP[_486];
            var _488 = _485 + _487;
            var _489 = _bodyA+320+4;
            var _490 = FHEAP[_489];
            var _491 = _bodyA+520+4;
            var _492 = FHEAP[_491];
            var _493 = _490 + _492;
            var _494 = _bodyA+320;
            var _495 = FHEAP[_494];
            var _496 = _bodyA+520;
            var _497 = FHEAP[_496];
            var _498 = _495 + _497;
            var _499 = _omegaA;
            FHEAP[_499] = _498;
            var _500 = _omegaA+4;
            FHEAP[_500] = _493;
            var _501 = _omegaA+8;
            FHEAP[_501] = _488;
            var _502 = _omegaA+12;
            FHEAP[_502] = 0;
            var _503 = _bodyB+320+8;
            var _504 = FHEAP[_503];
            var _505 = _bodyB+520+8;
            var _506 = FHEAP[_505];
            var _507 = _504 + _506;
            var _508 = _bodyB+320+4;
            var _509 = FHEAP[_508];
            var _510 = _bodyB+520+4;
            var _511 = FHEAP[_510];
            var _512 = _509 + _511;
            var _513 = _bodyB+320;
            var _514 = FHEAP[_513];
            var _515 = _bodyB+520;
            var _516 = FHEAP[_515];
            var _517 = _514 + _516;
            var _518 = _omegaB;
            FHEAP[_518] = _517;
            var _519 = _omegaB+4;
            FHEAP[_519] = _512;
            var _520 = _omegaB+8;
            FHEAP[_520] = _507;
            var _521 = _omegaB+12;
            FHEAP[_521] = 0;
            var _522 = _trAPred;
            FHEAP[_522] = 1;
            var _523 = _trAPred+4;
            FHEAP[_523] = 0;
            var _524 = _trAPred+8;
            FHEAP[_524] = 0;
            var _525 = _trAPred+12;
            FHEAP[_525] = 0;
            var _526 = _trAPred+16;
            FHEAP[_526] = 0;
            var _527 = _trAPred+16+4;
            FHEAP[_527] = 1;
            var _528 = _trAPred+16+8;
            FHEAP[_528] = 0;
            var _529 = _trAPred+16+12;
            FHEAP[_529] = 0;
            var _530 = _trAPred+32;
            FHEAP[_530] = 0;
            var _531 = _trAPred+32+4;
            FHEAP[_531] = 0;
            var _532 = _trAPred+32+8;
            FHEAP[_532] = 1;
            var _533 = _trAPred+32+12;
            FHEAP[_533] = 0;
            var _534 = _trAPred+48;
            FHEAP[_534] = 0;
            var _535 = _trAPred+48+4;
            FHEAP[_535] = 0;
            var _536 = _trAPred+48+8;
            FHEAP[_536] = 0;
            var _537 = _trAPred+48+12;
            FHEAP[_537] = 0;
            var _538 = _zerovec;
            FHEAP[_538] = 0;
            var _539 = _zerovec+4;
            FHEAP[_539] = 0;
            var _540 = _zerovec+8;
            FHEAP[_540] = 0;
            var _541 = _zerovec+12;
            FHEAP[_541] = 0;
            __ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(_trACur, _zerovec, _omegaA, _timeStep, _trAPred);
            var _542 = _trBPred;
            FHEAP[_542] = 1;
            var _543 = _trBPred+4;
            FHEAP[_543] = 0;
            var _544 = _trBPred+8;
            FHEAP[_544] = 0;
            var _545 = _trBPred+12;
            FHEAP[_545] = 0;
            var _546 = _trBPred+16;
            FHEAP[_546] = 0;
            var _547 = _trBPred+16+4;
            FHEAP[_547] = 1;
            var _548 = _trBPred+16+8;
            FHEAP[_548] = 0;
            var _549 = _trBPred+16+12;
            FHEAP[_549] = 0;
            var _550 = _trBPred+32;
            FHEAP[_550] = 0;
            var _551 = _trBPred+32+4;
            FHEAP[_551] = 0;
            var _552 = _trBPred+32+8;
            FHEAP[_552] = 1;
            var _553 = _trBPred+32+12;
            FHEAP[_553] = 0;
            var _554 = _trBPred+48;
            FHEAP[_554] = 0;
            var _555 = _trBPred+48+4;
            FHEAP[_555] = 0;
            var _556 = _trBPred+48+8;
            FHEAP[_556] = 0;
            var _557 = _trBPred+48+12;
            FHEAP[_557] = 0;
            __ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(_trBCur, _zerovec, _omegaB, _timeStep, _trBPred);
            var _558 = _this+544;
            var _559 = FHEAP[_558];
            var _560 = _559 * _559;
            var _561 = _this+544+4;
            var _562 = FHEAP[_561];
            var _563 = _562 * _562;
            var _564 = _560 + _563;
            var _565 = _this+544+8;
            var _566 = FHEAP[_565];
            var _567 = _566 * _566;
            var _568 = _564 + _567;
            var _569 = _this+544+12;
            var _570 = FHEAP[_569];
            var _571 = _570 * _570;
            var _572 = _568 + _571;
            var _573 = 2 / _572;
            var _574 = _559 * _573;
            var _575 = _562 * _573;
            var _576 = _566 * _573;
            var _577 = _570 * _574;
            var _578 = _570 * _575;
            var _579 = _570 * _576;
            var _580 = _559 * _574;
            var _581 = _559 * _575;
            var _582 = _559 * _576;
            var _583 = _562 * _575;
            var _584 = _562 * _576;
            var _585 = _566 * _576;
            var _586 = _580 + _583;
            var _587 = 1 - _586;
            var _588 = _584 + _577;
            var _589 = _582 - _578;
            var _590 = _584 - _577;
            var _591 = _580 + _585;
            var _592 = 1 - _591;
            var _593 = _581 + _579;
            var _594 = _582 + _578;
            var _595 = _581 - _579;
            var _596 = _583 + _585;
            var _597 = 1 - _596;
            var _598 = _this+288+32+8;
            var _599 = _this+288+16+8;
            var _600 = _this+288+8;
            var _601 = _this+288+32+4;
            var _602 = _this+288+16+4;
            var _603 = _this+288+4;
            var _604 = _this+288+32;
            var _605 = _this+288+16;
            var _606 = _this+288;
            var _607 = FHEAP[_606];
            var _608 = FHEAP[_605];
            var _609 = FHEAP[_604];
            var _610 = FHEAP[_603];
            var _611 = FHEAP[_602];
            var _612 = FHEAP[_601];
            var _613 = FHEAP[_600];
            var _614 = FHEAP[_599];
            var _615 = FHEAP[_598];
            var _616 = FHEAP[_17];
            var _617 = 0 - _616;
            var _618 = FHEAP[_11];
            var _619 = 0 - _618;
            var _620 = FHEAP[_6];
            var _621 = 0 - _620;
            var _622 = _613 * _621;
            var _623 = _614 * _619;
            var _624 = _622 + _623;
            var _625 = _615 * _617;
            var _626 = _624 + _625;
            var _627 = _610 * _621;
            var _628 = _611 * _619;
            var _629 = _627 + _628;
            var _630 = _612 * _617;
            var _631 = _629 + _630;
            var _632 = _607 * _621;
            var _633 = _608 * _619;
            var _634 = _632 + _633;
            var _635 = _609 * _617;
            var _636 = _634 + _635;
            var _637 = _this+352+32;
            var _638 = FHEAP[_637];
            var _639 = _638 * 0;
            var _640 = _this+352+32+4;
            var _641 = FHEAP[_640];
            var _642 = _641 * 0;
            var _643 = _639 + _642;
            var _644 = _this+352+32+8;
            var _645 = FHEAP[_644];
            var _646 = _645 * 0;
            var _647 = _643 + _646;
            var _648 = FHEAP[_67];
            var _649 = _647 + _648;
            var _650 = _this+352+16;
            var _651 = FHEAP[_650];
            var _652 = _651 * 0;
            var _653 = _this+352+16+4;
            var _654 = FHEAP[_653];
            var _655 = _654 * 0;
            var _656 = _652 + _655;
            var _657 = _this+352+16+8;
            var _658 = FHEAP[_657];
            var _659 = _658 * 0;
            var _660 = _656 + _659;
            var _661 = FHEAP[_61];
            var _662 = _660 + _661;
            var _663 = _this+352;
            var _664 = FHEAP[_663];
            var _665 = _664 * 0;
            var _666 = _this+352+4;
            var _667 = FHEAP[_666];
            var _668 = _667 * 0;
            var _669 = _665 + _668;
            var _670 = _this+352+8;
            var _671 = FHEAP[_670];
            var _672 = _671 * 0;
            var _673 = _669 + _672;
            var _674 = FHEAP[_56];
            var _675 = _673 + _674;
            var _676 = _594 * _638;
            var _677 = _590 * _641;
            var _678 = _676 + _677;
            var _679 = _587 * _645;
            var _680 = _678 + _679;
            var _681 = _595 * _638;
            var _682 = _592 * _641;
            var _683 = _681 + _682;
            var _684 = _588 * _645;
            var _685 = _683 + _684;
            var _686 = _597 * _638;
            var _687 = _593 * _641;
            var _688 = _686 + _687;
            var _689 = _589 * _645;
            var _690 = _688 + _689;
            var _691 = _594 * _651;
            var _692 = _590 * _654;
            var _693 = _691 + _692;
            var _694 = _587 * _658;
            var _695 = _693 + _694;
            var _696 = _595 * _651;
            var _697 = _592 * _654;
            var _698 = _696 + _697;
            var _699 = _588 * _658;
            var _700 = _698 + _699;
            var _701 = _597 * _651;
            var _702 = _593 * _654;
            var _703 = _701 + _702;
            var _704 = _589 * _658;
            var _705 = _703 + _704;
            var _706 = _594 * _664;
            var _707 = _590 * _667;
            var _708 = _706 + _707;
            var _709 = _587 * _671;
            var _710 = _708 + _709;
            var _711 = _595 * _664;
            var _712 = _592 * _667;
            var _713 = _711 + _712;
            var _714 = _588 * _671;
            var _715 = _713 + _714;
            var _716 = _597 * _664;
            var _717 = _593 * _667;
            var _718 = _716 + _717;
            var _719 = _589 * _671;
            var _720 = _718 + _719;
            var _721 = _690 * _636;
            var _722 = _685 * _631;
            var _723 = _721 + _722;
            var _724 = _680 * _626;
            var _725 = _723 + _724;
            var _726 = _725 + _649;
            var _727 = _705 * _636;
            var _728 = _700 * _631;
            var _729 = _727 + _728;
            var _730 = _695 * _626;
            var _731 = _729 + _730;
            var _732 = _731 + _662;
            var _733 = _720 * _636;
            var _734 = _715 * _631;
            var _735 = _733 + _734;
            var _736 = _710 * _626;
            var _737 = _735 + _736;
            var _738 = _737 + _675;
            var _739 = _609 * _690;
            var _740 = _612 * _685;
            var _741 = _739 + _740;
            var _742 = _615 * _680;
            var _743 = _741 + _742;
            var _744 = _608 * _690;
            var _745 = _611 * _685;
            var _746 = _744 + _745;
            var _747 = _614 * _680;
            var _748 = _746 + _747;
            var _749 = _607 * _690;
            var _750 = _610 * _685;
            var _751 = _749 + _750;
            var _752 = _613 * _680;
            var _753 = _751 + _752;
            var _754 = _609 * _705;
            var _755 = _612 * _700;
            var _756 = _754 + _755;
            var _757 = _615 * _695;
            var _758 = _756 + _757;
            var _759 = _608 * _705;
            var _760 = _611 * _700;
            var _761 = _759 + _760;
            var _762 = _614 * _695;
            var _763 = _761 + _762;
            var _764 = _607 * _705;
            var _765 = _610 * _700;
            var _766 = _764 + _765;
            var _767 = _613 * _695;
            var _768 = _766 + _767;
            var _769 = _609 * _720;
            var _770 = _612 * _715;
            var _771 = _769 + _770;
            var _772 = _615 * _710;
            var _773 = _771 + _772;
            var _774 = _608 * _720;
            var _775 = _611 * _715;
            var _776 = _774 + _775;
            var _777 = _614 * _710;
            var _778 = _776 + _777;
            var _779 = _607 * _720;
            var _780 = _610 * _715;
            var _781 = _779 + _780;
            var _782 = _613 * _710;
            var _783 = _781 + _782;
            var _784 = FHEAP[_550];
            var _785 = _784 * _738;
            var _786 = FHEAP[_551];
            var _787 = _786 * _732;
            var _788 = _785 + _787;
            var _789 = FHEAP[_552];
            var _790 = _789 * _726;
            var _791 = _788 + _790;
            var _792 = FHEAP[_556];
            var _793 = _791 + _792;
            var _794 = FHEAP[_546];
            var _795 = _794 * _738;
            var _796 = FHEAP[_547];
            var _797 = _796 * _732;
            var _798 = _795 + _797;
            var _799 = FHEAP[_548];
            var _800 = _799 * _726;
            var _801 = _798 + _800;
            var _802 = FHEAP[_555];
            var _803 = _801 + _802;
            var _804 = FHEAP[_542];
            var _805 = _804 * _738;
            var _806 = FHEAP[_543];
            var _807 = _806 * _732;
            var _808 = _805 + _807;
            var _809 = FHEAP[_544];
            var _810 = _809 * _726;
            var _811 = _808 + _810;
            var _812 = FHEAP[_554];
            var _813 = _811 + _812;
            var _814 = _773 * _784;
            var _815 = _758 * _786;
            var _816 = _814 + _815;
            var _817 = _743 * _789;
            var _818 = _816 + _817;
            var _819 = _778 * _784;
            var _820 = _763 * _786;
            var _821 = _819 + _820;
            var _822 = _748 * _789;
            var _823 = _821 + _822;
            var _824 = _783 * _784;
            var _825 = _768 * _786;
            var _826 = _824 + _825;
            var _827 = _753 * _789;
            var _828 = _826 + _827;
            var _829 = _773 * _794;
            var _830 = _758 * _796;
            var _831 = _829 + _830;
            var _832 = _743 * _799;
            var _833 = _831 + _832;
            var _834 = _778 * _794;
            var _835 = _763 * _796;
            var _836 = _834 + _835;
            var _837 = _748 * _799;
            var _838 = _836 + _837;
            var _839 = _783 * _794;
            var _840 = _768 * _796;
            var _841 = _839 + _840;
            var _842 = _753 * _799;
            var _843 = _841 + _842;
            var _844 = _773 * _804;
            var _845 = _758 * _806;
            var _846 = _844 + _845;
            var _847 = _743 * _809;
            var _848 = _846 + _847;
            var _849 = _778 * _804;
            var _850 = _763 * _806;
            var _851 = _849 + _850;
            var _852 = _748 * _809;
            var _853 = _851 + _852;
            var _854 = _783 * _804;
            var _855 = _768 * _806;
            var _856 = _854 + _855;
            var _857 = _753 * _809;
            var _858 = _856 + _857;
            var _859 = _trADes;
            FHEAP[_859] = _858;
            var _860 = _trADes+4;
            FHEAP[_860] = _853;
            var _861 = _trADes+8;
            FHEAP[_861] = _848;
            var _862 = _trADes+12;
            FHEAP[_862] = 0;
            var _863 = _trADes+16;
            FHEAP[_863] = _843;
            var _864 = _trADes+16+4;
            FHEAP[_864] = _838;
            var _865 = _trADes+16+8;
            FHEAP[_865] = _833;
            var _866 = _trADes+16+12;
            FHEAP[_866] = 0;
            var _867 = _trADes+32;
            FHEAP[_867] = _828;
            var _868 = _trADes+32+4;
            FHEAP[_868] = _823;
            var _869 = _trADes+32+8;
            FHEAP[_869] = _818;
            var _870 = _trADes+32+12;
            FHEAP[_870] = 0;
            var _871 = _trADes+48;
            FHEAP[_871] = _813;
            var _872 = _trADes+48+4;
            FHEAP[_872] = _803;
            var _873 = _trADes+48+8;
            FHEAP[_873] = _793;
            var _874 = _trADes+48+12;
            FHEAP[_874] = 0;
            var _875 = 0 - _726;
            var _876 = 0 - _732;
            var _877 = 0 - _738;
            var _878 = _773 * _877;
            var _879 = _758 * _876;
            var _880 = _878 + _879;
            var _881 = _743 * _875;
            var _882 = _880 + _881;
            var _883 = _778 * _877;
            var _884 = _763 * _876;
            var _885 = _883 + _884;
            var _886 = _748 * _875;
            var _887 = _885 + _886;
            var _888 = _783 * _877;
            var _889 = _768 * _876;
            var _890 = _888 + _889;
            var _891 = _753 * _875;
            var _892 = _890 + _891;
            var _893 = FHEAP[_530];
            var _894 = _893 * _892;
            var _895 = FHEAP[_531];
            var _896 = _895 * _887;
            var _897 = _894 + _896;
            var _898 = FHEAP[_532];
            var _899 = _898 * _882;
            var _900 = _897 + _899;
            var _901 = FHEAP[_536];
            var _902 = _900 + _901;
            var _903 = FHEAP[_526];
            var _904 = _903 * _892;
            var _905 = FHEAP[_527];
            var _906 = _905 * _887;
            var _907 = _904 + _906;
            var _908 = FHEAP[_528];
            var _909 = _908 * _882;
            var _910 = _907 + _909;
            var _911 = FHEAP[_535];
            var _912 = _910 + _911;
            var _913 = FHEAP[_522];
            var _914 = _913 * _892;
            var _915 = FHEAP[_523];
            var _916 = _915 * _887;
            var _917 = _914 + _916;
            var _918 = FHEAP[_524];
            var _919 = _918 * _882;
            var _920 = _917 + _919;
            var _921 = FHEAP[_534];
            var _922 = _920 + _921;
            var _923 = _753 * _893;
            var _924 = _748 * _895;
            var _925 = _923 + _924;
            var _926 = _743 * _898;
            var _927 = _925 + _926;
            var _928 = _768 * _893;
            var _929 = _763 * _895;
            var _930 = _928 + _929;
            var _931 = _758 * _898;
            var _932 = _930 + _931;
            var _933 = _783 * _893;
            var _934 = _778 * _895;
            var _935 = _933 + _934;
            var _936 = _773 * _898;
            var _937 = _935 + _936;
            var _938 = _753 * _903;
            var _939 = _748 * _905;
            var _940 = _938 + _939;
            var _941 = _743 * _908;
            var _942 = _940 + _941;
            var _943 = _768 * _903;
            var _944 = _763 * _905;
            var _945 = _943 + _944;
            var _946 = _758 * _908;
            var _947 = _945 + _946;
            var _948 = _783 * _903;
            var _949 = _778 * _905;
            var _950 = _948 + _949;
            var _951 = _773 * _908;
            var _952 = _950 + _951;
            var _953 = _753 * _913;
            var _954 = _748 * _915;
            var _955 = _953 + _954;
            var _956 = _743 * _918;
            var _957 = _955 + _956;
            var _958 = _768 * _913;
            var _959 = _763 * _915;
            var _960 = _958 + _959;
            var _961 = _758 * _918;
            var _962 = _960 + _961;
            var _963 = _783 * _913;
            var _964 = _778 * _915;
            var _965 = _963 + _964;
            var _966 = _773 * _918;
            var _967 = _965 + _966;
            var _968 = _trBDes;
            FHEAP[_968] = _967;
            var _969 = _trBDes+4;
            FHEAP[_969] = _962;
            var _970 = _trBDes+8;
            FHEAP[_970] = _957;
            var _971 = _trBDes+12;
            FHEAP[_971] = 0;
            var _972 = _trBDes+16;
            FHEAP[_972] = _952;
            var _973 = _trBDes+16+4;
            FHEAP[_973] = _947;
            var _974 = _trBDes+16+8;
            FHEAP[_974] = _942;
            var _975 = _trBDes+16+12;
            FHEAP[_975] = 0;
            var _976 = _trBDes+32;
            FHEAP[_976] = _937;
            var _977 = _trBDes+32+4;
            FHEAP[_977] = _932;
            var _978 = _trBDes+32+8;
            FHEAP[_978] = _927;
            var _979 = _trBDes+32+12;
            FHEAP[_979] = 0;
            var _980 = _trBDes+48;
            FHEAP[_980] = _922;
            var _981 = _trBDes+48+4;
            FHEAP[_981] = _912;
            var _982 = _trBDes+48+8;
            FHEAP[_982] = _902;
            var _983 = _trBDes+48+12;
            FHEAP[_983] = 0;
            var _984 = 1 / _timeStep;
            __ZN15btTransformUtil22calculateDiffAxisAngleERK11btTransformS2_R9btVector3Rf(_trACur, _trADes, _axis_i115, _angle_i116);
            var _985 = _axis_i115+8;
            var _986 = FHEAP[_985];
            var _987 = FHEAP[_angle_i116];
            var _988 = _986 * _987;
            var _989 = _axis_i115+4;
            var _990 = FHEAP[_989];
            var _991 = _990 * _987;
            var _992 = _axis_i115;
            var _993 = FHEAP[_992];
            var _994 = _993 * _987;
            var _995 = _988 * _984;
            var _996 = _991 * _984;
            var _997 = _994 * _984;
            var _998 = FHEAP[_478];
            var _999 = _902 - _998;
            var _1000 = FHEAP[_475];
            var _1001 = _912 - _1000;
            var _1002 = FHEAP[_472];
            var _1003 = _922 - _1002;
            var _1004 = _999 * _984;
            var _1005 = _1001 * _984;
            var _1006 = _1003 * _984;
            FHEAP[_538] = _1006;
            FHEAP[_539] = _1005;
            FHEAP[_540] = _1004;
            FHEAP[_541] = 0;
            __ZN15btTransformUtil22calculateDiffAxisAngleERK11btTransformS2_R9btVector3Rf(_trBCur, _trBDes, _axis_i, _angle_i);
            var _1007 = _axis_i+8;
            var _1008 = FHEAP[_1007];
            var _1009 = FHEAP[_angle_i];
            var _1010 = _1008 * _1009;
            var _1011 = _axis_i+4;
            var _1012 = FHEAP[_1011];
            var _1013 = _1012 * _1009;
            var _1014 = _axis_i;
            var _1015 = FHEAP[_1014];
            var _1016 = _1015 * _1009;
            var _1017 = _1010 * _984;
            var _1018 = _1013 * _984;
            var _1019 = _1016 * _984;
            var _1020 = FHEAP[_501];
            var _1021 = _995 - _1020;
            var _1022 = FHEAP[_500];
            var _1023 = _996 - _1022;
            var _1024 = FHEAP[_499];
            var _1025 = _997 - _1024;
            var _1026 = FHEAP[_520];
            var _1027 = _1017 - _1026;
            var _1028 = FHEAP[_519];
            var _1029 = _1018 - _1028;
            var _1030 = FHEAP[_518];
            var _1031 = _1019 - _1030;
            var _1032 = _1025 * _1025;
            var _1033 = _1023 * _1023;
            var _1034 = _1032 + _1033;
            var _1035 = _1021 * _1021;
            var _1036 = _1034 + _1035;
            var _1037 = _1036 > 1.1920928955078125e-7;
            ;
            if (_1037) {
              __lastLabel__ = 150; ;
              var _1038 = _sqrtf(_1036);
              var _1039 = 1 / _1038;
              var _1040 = _1021 * _1039;
              var _1041 = _1023 * _1039;
              var _1042 = _1025 * _1039;
              var _1043 = IHEAP[_2];
              var _1044 = _1043+256+8;
              var _1045 = FHEAP[_1044];
              var _1046 = _1045 * _1042;
              var _1047 = _1043+256+16+8;
              var _1048 = FHEAP[_1047];
              var _1049 = _1048 * _1041;
              var _1050 = _1046 + _1049;
              var _1051 = _1043+256+32+8;
              var _1052 = FHEAP[_1051];
              var _1053 = _1052 * _1040;
              var _1054 = _1050 + _1053;
              var _1055 = _1043+256+4;
              var _1056 = FHEAP[_1055];
              var _1057 = _1056 * _1042;
              var _1058 = _1043+256+16+4;
              var _1059 = FHEAP[_1058];
              var _1060 = _1059 * _1041;
              var _1061 = _1057 + _1060;
              var _1062 = _1043+256+32+4;
              var _1063 = FHEAP[_1062];
              var _1064 = _1063 * _1040;
              var _1065 = _1061 + _1064;
              var _1066 = _1043+256;
              var _1067 = FHEAP[_1066];
              var _1068 = _1067 * _1042;
              var _1069 = _1043+256+16;
              var _1070 = FHEAP[_1069];
              var _1071 = _1070 * _1041;
              var _1072 = _1068 + _1071;
              var _1073 = _1043+256+32;
              var _1074 = FHEAP[_1073];
              var _1075 = _1074 * _1040;
              var _1076 = _1072 + _1075;
              var _1077 = _1042 * _1076;
              var _1078 = _1041 * _1065;
              var _1079 = _1077 + _1078;
              var _1080 = _1040 * _1054;
              var _1081 = _1079 + _1080;
              __lastLabel__ = 3; ;
            }
            else {
              __lastLabel__ = 150; ;
            }
            var _axisA_0_0_0 = __lastLabel__ == 3 ? _1042 : (undef);
            var _axisA_0_1_0 = __lastLabel__ == 3 ? _1041 : (undef);
            var _axisA_0_2_0 = __lastLabel__ == 3 ? _1040 : (undef);
            var _kAxisAInv_0 = __lastLabel__ == 3 ? _1081 : (0);
            var _1082 = _1031 * _1031;
            var _1083 = _1029 * _1029;
            var _1084 = _1082 + _1083;
            var _1085 = _1027 * _1027;
            var _1086 = _1084 + _1085;
            var _1087 = _1086 > 1.1920928955078125e-7;
            ;
            if (_1087) {
              __lastLabel__ = 108; ;
              var _1088 = _sqrtf(_1086);
              var _1089 = 1 / _1088;
              var _1090 = _1027 * _1089;
              var _1091 = _1029 * _1089;
              var _1092 = _1031 * _1089;
              var _1093 = IHEAP[_52];
              var _1094 = _1093+256+8;
              var _1095 = FHEAP[_1094];
              var _1096 = _1095 * _1092;
              var _1097 = _1093+256+16+8;
              var _1098 = FHEAP[_1097];
              var _1099 = _1098 * _1091;
              var _1100 = _1096 + _1099;
              var _1101 = _1093+256+32+8;
              var _1102 = FHEAP[_1101];
              var _1103 = _1102 * _1090;
              var _1104 = _1100 + _1103;
              var _1105 = _1093+256+4;
              var _1106 = FHEAP[_1105];
              var _1107 = _1106 * _1092;
              var _1108 = _1093+256+16+4;
              var _1109 = FHEAP[_1108];
              var _1110 = _1109 * _1091;
              var _1111 = _1107 + _1110;
              var _1112 = _1093+256+32+4;
              var _1113 = FHEAP[_1112];
              var _1114 = _1113 * _1090;
              var _1115 = _1111 + _1114;
              var _1116 = _1093+256;
              var _1117 = FHEAP[_1116];
              var _1118 = _1117 * _1092;
              var _1119 = _1093+256+16;
              var _1120 = FHEAP[_1119];
              var _1121 = _1120 * _1091;
              var _1122 = _1118 + _1121;
              var _1123 = _1093+256+32;
              var _1124 = FHEAP[_1123];
              var _1125 = _1124 * _1090;
              var _1126 = _1122 + _1125;
              var _1127 = _1092 * _1126;
              var _1128 = _1091 * _1115;
              var _1129 = _1127 + _1128;
              var _1130 = _1090 * _1104;
              var _1131 = _1129 + _1130;
              __lastLabel__ = 153; ;
            }
            else {
              __lastLabel__ = 108; ;
            }
            var _axisB_0_0_0 = __lastLabel__ == 153 ? _1092 : (undef);
            var _axisB_0_1_0 = __lastLabel__ == 153 ? _1091 : (undef);
            var _axisB_0_2_0 = __lastLabel__ == 153 ? _1090 : (undef);
            var _kAxisBInv_0 = __lastLabel__ == 153 ? _1131 : (0);
            var _1132 = _axisB_0_2_0 * _kAxisBInv_0;
            var _1133 = _axisB_0_1_0 * _kAxisBInv_0;
            var _1134 = _axisB_0_0_0 * _kAxisBInv_0;
            var _1135 = _axisA_0_2_0 * _kAxisAInv_0;
            var _1136 = _axisA_0_1_0 * _kAxisAInv_0;
            var _1137 = _axisA_0_0_0 * _kAxisAInv_0;
            var _1138 = _1135 + _1132;
            var _1139 = _1136 + _1133;
            var _1140 = _1137 + _1134;
            var _1141 = _1140 * _1140;
            var _1142 = _1139 * _1139;
            var _1143 = _1141 + _1142;
            var _1144 = _1138 * _1138;
            var _1145 = _1143 + _1144;
            var _not_ = _1145 > 1.1920928955078125e-7;
            if (!(_not_)) { __label__ = 1024; /* _bb59 */ break _bb44$_bb10$14501; }
            var _1146 = _sqrtf(_1145);
            var _1147 = 1 / _1146;
            var _1148 = _1140 * _1147;
            var _1149 = _1139 * _1147;
            var _1150 = _1138 * _1147;
            var _1151 = IHEAP[_2];
            var _1152 = _1151+256+8;
            var _1153 = FHEAP[_1152];
            var _1154 = _1153 * _1148;
            var _1155 = _1151+256+16+8;
            var _1156 = FHEAP[_1155];
            var _1157 = _1156 * _1149;
            var _1158 = _1154 + _1157;
            var _1159 = _1151+256+32+8;
            var _1160 = FHEAP[_1159];
            var _1161 = _1160 * _1150;
            var _1162 = _1158 + _1161;
            var _1163 = _1151+256+4;
            var _1164 = FHEAP[_1163];
            var _1165 = _1164 * _1148;
            var _1166 = _1151+256+16+4;
            var _1167 = FHEAP[_1166];
            var _1168 = _1167 * _1149;
            var _1169 = _1165 + _1168;
            var _1170 = _1151+256+32+4;
            var _1171 = FHEAP[_1170];
            var _1172 = _1171 * _1150;
            var _1173 = _1169 + _1172;
            var _1174 = _1151+256;
            var _1175 = FHEAP[_1174];
            var _1176 = _1175 * _1148;
            var _1177 = _1151+256+16;
            var _1178 = FHEAP[_1177];
            var _1179 = _1178 * _1149;
            var _1180 = _1176 + _1179;
            var _1181 = _1151+256+32;
            var _1182 = FHEAP[_1181];
            var _1183 = _1182 * _1150;
            var _1184 = _1180 + _1183;
            var _1185 = _1148 * _1184;
            var _1186 = _1149 * _1173;
            var _1187 = _1185 + _1186;
            var _1188 = _1150 * _1162;
            var _1189 = _1187 + _1188;
            var _1190 = IHEAP[_52];
            var _1191 = _1190+256+8;
            var _1192 = FHEAP[_1191];
            var _1193 = _1192 * _1148;
            var _1194 = _1190+256+16+8;
            var _1195 = FHEAP[_1194];
            var _1196 = _1195 * _1149;
            var _1197 = _1193 + _1196;
            var _1198 = _1190+256+32+8;
            var _1199 = FHEAP[_1198];
            var _1200 = _1199 * _1150;
            var _1201 = _1197 + _1200;
            var _1202 = _1190+256+4;
            var _1203 = FHEAP[_1202];
            var _1204 = _1203 * _1148;
            var _1205 = _1190+256+16+4;
            var _1206 = FHEAP[_1205];
            var _1207 = _1206 * _1149;
            var _1208 = _1204 + _1207;
            var _1209 = _1190+256+32+4;
            var _1210 = FHEAP[_1209];
            var _1211 = _1210 * _1150;
            var _1212 = _1208 + _1211;
            var _1213 = _1190+256;
            var _1214 = FHEAP[_1213];
            var _1215 = _1214 * _1148;
            var _1216 = _1190+256+16;
            var _1217 = FHEAP[_1216];
            var _1218 = _1217 * _1149;
            var _1219 = _1215 + _1218;
            var _1220 = _1190+256+32;
            var _1221 = FHEAP[_1220];
            var _1222 = _1221 * _1150;
            var _1223 = _1219 + _1222;
            var _1224 = _1148 * _1223;
            var _1225 = _1149 * _1212;
            var _1226 = _1224 + _1225;
            var _1227 = _1150 * _1201;
            var _1228 = _1226 + _1227;
            var _1229 = _1189 + _1228;
            var _1230 = _1229 * _1229;
            var _1231 = _1027 * _1228;
            var _1232 = _1029 * _1228;
            var _1233 = _1031 * _1228;
            var _1234 = _1021 * _1189;
            var _1235 = _1023 * _1189;
            var _1236 = _1025 * _1189;
            var _1237 = _1234 - _1231;
            var _1238 = _1235 - _1232;
            var _1239 = _1236 - _1233;
            var _1240 = 1 / _1230;
            var _1241 = _1237 * _1240;
            var _1242 = _1238 * _1240;
            var _1243 = _1239 * _1240;
            var _1244 = _this+560;
            var _1245 = FHEAP[_1244];
            var _1246 = _1245 < 0;
            ;
            if (_1246) {
              __lastLabel__ = 515; ;
            }
            else {
              __lastLabel__ = 515; ;
              var _1247 = _this+541;
              var _1248 = IHEAP[_1247];
              var _toBool37 = _1248 == 0;
              ;
              if (_toBool37) {
                __lastLabel__ = 422; ;
              }
              else {
                __lastLabel__ = 422; ;
                var _1249 = _1245 / _1189;
                __lastLabel__ = 68; ;
              }
              var _fMaxImpulse_0 = __lastLabel__ == 422 ? _1245 : (_1249);
              var _1250 = _this+564+8;
              var _1251 = FHEAP[_1250];
              var _1252 = _1251 + _1241;
              var _1253 = _this+564+4;
              var _1254 = FHEAP[_1253];
              var _1255 = _1254 + _1242;
              var _1256 = _this+564;
              var _1257 = FHEAP[_1256];
              var _1258 = _1257 + _1243;
              var _1259 = _1258 * _1258;
              var _1260 = _1255 * _1255;
              var _1261 = _1259 + _1260;
              var _1262 = _1252 * _1252;
              var _1263 = _1261 + _1262;
              var _1264 = _sqrtf(_1263);
              var _1265 = _1264 > _fMaxImpulse_0;
              ;
              if (_1265) {
                __lastLabel__ = 971; ;
                var _1266 = 1 / _1264;
                var _1267 = _1258 * _1266;
                var _1268 = _1255 * _1266;
                var _1269 = _1252 * _1266;
                var _1270 = _1267 * _fMaxImpulse_0;
                var _1271 = _1268 * _fMaxImpulse_0;
                var _1272 = _1269 * _fMaxImpulse_0;
                var _1273 = _1272 - _1251;
                var _1274 = _1271 - _1254;
                var _1275 = _1270 - _1257;
                __lastLabel__ = 1015; ;
              }
              else {
                __lastLabel__ = 971; ;
              }
              var _impulse30_0_0_0 = __lastLabel__ == 1015 ? _1275 : (_1243);
              var _impulse30_0_1_0 = __lastLabel__ == 1015 ? _1274 : (_1242);
              var _impulse30_0_2_0 = __lastLabel__ == 1015 ? _1273 : (_1241);
              var _1276 = _1257 + _impulse30_0_0_0;
              FHEAP[_1256] = _1276;
              var _1277 = _1254 + _impulse30_0_1_0;
              FHEAP[_1253] = _1277;
              var _1278 = _1251 + _impulse30_0_2_0;
              FHEAP[_1250] = _1278;
              __lastLabel__ = 69; ;
            }
            var _impulse30_0_0_1 = __lastLabel__ == 515 ? _1243 : (_impulse30_0_0_0);
            var _impulse30_0_1_1 = __lastLabel__ == 515 ? _1242 : (_impulse30_0_1_0);
            var _impulse30_0_2_1 = __lastLabel__ == 515 ? _1241 : (_impulse30_0_2_0);
            var _1279 = _impulse30_0_0_1 * _impulse30_0_0_1;
            var _1280 = _impulse30_0_1_1 * _impulse30_0_1_1;
            var _1281 = _1279 + _1280;
            var _1282 = _impulse30_0_2_1 * _impulse30_0_2_1;
            var _1283 = _1281 + _1282;
            var _1284 = _sqrtf(_1283);
            var _1285 = 1 / _1284;
            var _1286 = _impulse30_0_2_1 * _1285;
            var _1287 = _impulse30_0_1_1 * _1285;
            var _1288 = _impulse30_0_0_1 * _1285;
            var _1289 = _bodyA+336;
            var _1290 = FHEAP[_1289];
            var _1291 = _1290 != 0;
            ;
            if (_1291) {
              __lastLabel__ = 8; ;
              var _1292 = FHEAP[_1163];
              var _1293 = FHEAP[_1174];
              var _1294 = FHEAP[_1166];
              var _1295 = FHEAP[_1177];
              var _1296 = FHEAP[_1170];
              var _1297 = FHEAP[_1181];
              var _1298 = FHEAP[_1152];
              var _1299 = _1292 * _1287;
              var _1300 = _1293 * _1288;
              var _1301 = FHEAP[_1155];
              var _1302 = _1294 * _1287;
              var _1303 = _1295 * _1288;
              var _1304 = FHEAP[_1159];
              var _1305 = _1296 * _1287;
              var _1306 = _1297 * _1288;
              var _1307 = _1298 * _1286;
              var _1308 = _1300 + _1299;
              var _1309 = _1301 * _1286;
              var _1310 = _1303 + _1302;
              var _1311 = _1304 * _1286;
              var _1312 = _1306 + _1305;
              var _1313 = _1308 + _1307;
              var _1314 = _1310 + _1309;
              var _1315 = _1312 + _1311;
              var _1316 = _1284 * 0;
              var _1317 = _bodyA+504;
              var _1318 = FHEAP[_1317];
              var _1319 = _1318 + _1316;
              FHEAP[_1317] = _1319;
              var _1320 = _bodyA+504+4;
              var _1321 = FHEAP[_1320];
              var _1322 = _1321 + _1316;
              FHEAP[_1320] = _1322;
              var _1323 = _bodyA+504+8;
              var _1324 = FHEAP[_1323];
              var _1325 = _1324 + _1316;
              FHEAP[_1323] = _1325;
              var _1326 = _bodyA+536+8;
              var _1327 = FHEAP[_1326];
              var _1328 = _1327 * _1284;
              var _1329 = _bodyA+536+4;
              var _1330 = FHEAP[_1329];
              var _1331 = _1330 * _1284;
              var _1332 = _bodyA+536;
              var _1333 = FHEAP[_1332];
              var _1334 = _1333 * _1284;
              var _1335 = _1315 * _1328;
              var _1336 = _1314 * _1331;
              var _1337 = _1313 * _1334;
              var _1338 = FHEAP[_496];
              var _1339 = _1338 + _1337;
              FHEAP[_496] = _1339;
              var _1340 = FHEAP[_491];
              var _1341 = _1340 + _1336;
              FHEAP[_491] = _1341;
              var _1342 = FHEAP[_486];
              var _1343 = _1342 + _1335;
              FHEAP[_486] = _1343;
              var __pre438 = IHEAP[_52];
              __lastLabel__ = 1233; ;
            }
            else {
              __lastLabel__ = 8; ;
            }
            var _1344 = __lastLabel__ == 8 ? _1190 : (__pre438);
            var _1345 = 0 - _1284;
            var _1346 = _bodyB+336;
            var _1347 = FHEAP[_1346];
            var _1348 = _1347 != 0;
            if (!(_1348)) { __label__ = 1024; /* _bb59 */ break _bb44$_bb10$14501; }
            var _1349 = _1344+256+4;
            var _1350 = _1344+256;
            var _1351 = _1344+256+16+4;
            var _1352 = _1344+256+16;
            var _1353 = _1344+256+32+4;
            var _1354 = _1344+256+32;
            var _1355 = _1344+256+8;
            var _1356 = FHEAP[_1349];
            var _1357 = FHEAP[_1350];
            var _1358 = _1344+256+16+8;
            var _1359 = FHEAP[_1351];
            var _1360 = FHEAP[_1352];
            var _1361 = _1344+256+32+8;
            var _1362 = FHEAP[_1353];
            var _1363 = FHEAP[_1354];
            var _1364 = FHEAP[_1355];
            var _1365 = _1356 * _1287;
            var _1366 = _1357 * _1288;
            var _1367 = FHEAP[_1358];
            var _1368 = _1359 * _1287;
            var _1369 = _1360 * _1288;
            var _1370 = FHEAP[_1361];
            var _1371 = _1362 * _1287;
            var _1372 = _1363 * _1288;
            var _1373 = _1364 * _1286;
            var _1374 = _1366 + _1365;
            var _1375 = _1367 * _1286;
            var _1376 = _1369 + _1368;
            var _1377 = _1370 * _1286;
            var _1378 = _1372 + _1371;
            var _1379 = _1374 + _1373;
            var _1380 = _1376 + _1375;
            var _1381 = _1378 + _1377;
            var _1382 = _1284 * 0;
            var _1383 = _bodyB+504;
            var _1384 = FHEAP[_1383];
            var _1385 = _1384 + _1382;
            FHEAP[_1383] = _1385;
            var _1386 = _bodyB+504+4;
            var _1387 = FHEAP[_1386];
            var _1388 = _1387 + _1382;
            FHEAP[_1386] = _1388;
            var _1389 = _bodyB+504+8;
            var _1390 = FHEAP[_1389];
            var _1391 = _1390 + _1382;
            FHEAP[_1389] = _1391;
            var _1392 = _bodyB+536+8;
            var _1393 = FHEAP[_1392];
            var _1394 = _1393 * _1345;
            var _1395 = _bodyB+536+4;
            var _1396 = FHEAP[_1395];
            var _1397 = _1396 * _1345;
            var _1398 = _bodyB+536;
            var _1399 = FHEAP[_1398];
            var _1400 = _1399 * _1345;
            var _1401 = _1381 * _1394;
            var _1402 = _1380 * _1397;
            var _1403 = _1379 * _1400;
            var _1404 = FHEAP[_515];
            var _1405 = _1404 + _1403;
            FHEAP[_515] = _1405;
            var _1406 = FHEAP[_510];
            var _1407 = _1406 + _1402;
            FHEAP[_510] = _1407;
            var _1408 = FHEAP[_505];
            var _1409 = _1408 + _1401;
            FHEAP[_505] = _1409;
            ;
          }
        } while(0);
        var _1660 = _bodyA+320+8;
        var _1661 = FHEAP[_1660];
        var _1662 = _bodyA+520+8;
        var _1663 = FHEAP[_1662];
        var _1664 = _1661 + _1663;
        var _1665 = _bodyA+320+4;
        var _1666 = FHEAP[_1665];
        var _1667 = _bodyA+520+4;
        var _1668 = FHEAP[_1667];
        var _1669 = _1666 + _1668;
        var _1670 = _bodyA+320;
        var _1671 = FHEAP[_1670];
        var _1672 = _bodyA+520;
        var _1673 = FHEAP[_1672];
        var _1674 = _1671 + _1673;
        var _1675 = _bodyB+320+8;
        var _1676 = FHEAP[_1675];
        var _1677 = _bodyB+520+8;
        var _1678 = FHEAP[_1677];
        var _1679 = _1676 + _1678;
        var _1680 = _bodyB+320+4;
        var _1681 = FHEAP[_1680];
        var _1682 = _bodyB+520+4;
        var _1683 = FHEAP[_1682];
        var _1684 = _1681 + _1683;
        var _1685 = _bodyB+320;
        var _1686 = FHEAP[_1685];
        var _1687 = _bodyB+520;
        var _1688 = FHEAP[_1687];
        var _1689 = _1686 + _1688;
        var _1690 = _this+514;
        var _1691 = IHEAP[_1690];
        var _toBool64 = _1691 == 0;
        ;
        _bb78$_bb65$14531: do { 
          if (!_toBool64) {
            ;
            var _1692 = _this+516;
            var _1693 = FHEAP[_1692];
            var _1694 = _this+492;
            var _1695 = FHEAP[_1694];
            var _1696 = _1693 * _1695;
            var _1697 = _this+420;
            var _1698 = FHEAP[_1697];
            var _1699 = _1696 * _1698;
            var _1700 = _1699 / _timeStep;
            var _1701 = _1679 - _1664;
            var _1702 = _1684 - _1669;
            var _1703 = _1689 - _1674;
            var _1704 = _this+448;
            var _1705 = FHEAP[_1704];
            var _1706 = _1703 * _1705;
            var _1707 = _this+448+4;
            var _1708 = FHEAP[_1707];
            var _1709 = _1702 * _1708;
            var _1710 = _1706 + _1709;
            var _1711 = _this+448+8;
            var _1712 = FHEAP[_1711];
            var _1713 = _1701 * _1712;
            var _1714 = _1710 + _1713;
            var _1715 = _1714 > 0;
            ;
            if (_1715) {
              __lastLabel__ = 1030; ;
              var _1716 = _1693 * _1714;
              var _1717 = _this+424;
              var _1718 = FHEAP[_1717];
              var _1719 = _1716 * _1718;
              var _1720 = _1719 + _1700;
              __lastLabel__ = 22; ;
            }
            else {
              __lastLabel__ = 1030; ;
            }
            var _amplitude_0 = __lastLabel__ == 22 ? _1720 : (_1700);
            var _1721 = _this+480;
            var _1722 = FHEAP[_1721];
            var _1723 = _1722 * _amplitude_0;
            var _1724 = _this+504;
            var _1725 = FHEAP[_1724];
            var _1726 = _1725 + _1723;
            var _1727 = _1726 > 0;
            var _1728 = _1727 ? _1726 : 0;
            FHEAP[_1724] = _1728;
            var _1729 = _1728 - _1725;
            var _1730 = _1712 * _1729;
            var _1731 = _1708 * _1729;
            var _1732 = _1705 * _1729;
            var _1733 = _this+524;
            var _1734 = FHEAP[_1733];
            var _1735 = _1732 * _1734;
            var _1736 = _this+524+4;
            var _1737 = FHEAP[_1736];
            var _1738 = _1731 * _1737;
            var _1739 = _1735 + _1738;
            var _1740 = _this+524+8;
            var _1741 = FHEAP[_1740];
            var _1742 = _1730 * _1741;
            var _1743 = _1739 + _1742;
            var _1744 = _1741 * _1743;
            var _1745 = _1737 * _1743;
            var _1746 = _1734 * _1743;
            var _1747 = _1730 - _1744;
            var _1748 = _1731 - _1745;
            var _1749 = _1732 - _1746;
            var _1750 = _1749 * _1749;
            var _1751 = _1748 * _1748;
            var _1752 = _1750 + _1751;
            var _1753 = _1747 * _1747;
            var _1754 = _1752 + _1753;
            var _1755 = _sqrtf(_1754);
            var _1756 = 1 / _1755;
            var _1757 = _1747 * _1756;
            var _1758 = _1748 * _1756;
            var _1759 = _1749 * _1756;
            var _1760 = IHEAP[_2];
            var _1761 = _bodyA+336;
            var _1762 = FHEAP[_1761];
            var _1763 = _1762 != 0;
            ;
            if (_1763) {
              ;
              var _1764 = _1760+256+4;
              var _1765 = _1760+256;
              var _1766 = _1760+256+16+4;
              var _1767 = _1760+256+16;
              var _1768 = _1760+256+32+4;
              var _1769 = _1760+256+32;
              var _1770 = _1760+256+8;
              var _1771 = FHEAP[_1764];
              var _1772 = FHEAP[_1765];
              var _1773 = _1760+256+16+8;
              var _1774 = FHEAP[_1766];
              var _1775 = FHEAP[_1767];
              var _1776 = _1760+256+32+8;
              var _1777 = FHEAP[_1768];
              var _1778 = FHEAP[_1769];
              var _1779 = FHEAP[_1770];
              var _1780 = _1771 * _1758;
              var _1781 = _1772 * _1759;
              var _1782 = FHEAP[_1773];
              var _1783 = _1774 * _1758;
              var _1784 = _1775 * _1759;
              var _1785 = FHEAP[_1776];
              var _1786 = _1777 * _1758;
              var _1787 = _1778 * _1759;
              var _1788 = _1779 * _1757;
              var _1789 = _1781 + _1780;
              var _1790 = _1782 * _1757;
              var _1791 = _1784 + _1783;
              var _1792 = _1785 * _1757;
              var _1793 = _1787 + _1786;
              var _1794 = _1789 + _1788;
              var _1795 = _1791 + _1790;
              var _1796 = _1793 + _1792;
              var _1797 = _1755 * 0;
              var _1798 = _bodyA+504;
              var _1799 = FHEAP[_1798];
              var _1800 = _1799 + _1797;
              FHEAP[_1798] = _1800;
              var _1801 = _bodyA+504+4;
              var _1802 = FHEAP[_1801];
              var _1803 = _1802 + _1797;
              FHEAP[_1801] = _1803;
              var _1804 = _bodyA+504+8;
              var _1805 = FHEAP[_1804];
              var _1806 = _1805 + _1797;
              FHEAP[_1804] = _1806;
              var _1807 = _bodyA+536+8;
              var _1808 = FHEAP[_1807];
              var _1809 = _1808 * _1755;
              var _1810 = _bodyA+536+4;
              var _1811 = FHEAP[_1810];
              var _1812 = _1811 * _1755;
              var _1813 = _bodyA+536;
              var _1814 = FHEAP[_1813];
              var _1815 = _1814 * _1755;
              var _1816 = _1796 * _1809;
              var _1817 = _1795 * _1812;
              var _1818 = _1794 * _1815;
              var _1819 = FHEAP[_1672];
              var _1820 = _1819 + _1818;
              FHEAP[_1672] = _1820;
              var _1821 = FHEAP[_1667];
              var _1822 = _1821 + _1817;
              FHEAP[_1667] = _1822;
              var _1823 = FHEAP[_1662];
              var _1824 = _1823 + _1816;
              FHEAP[_1662] = _1824;
              ;
            }
            var _1825 = 0 - _1755;
            var _1826 = IHEAP[_52];
            var _1827 = _bodyB+336;
            var _1828 = FHEAP[_1827];
            var _1829 = _1828 != 0;
            if (!(_1829)) { __label__ = 1350; /* _bb78 */ break _bb78$_bb65$14531; }
            var _1830 = _1826+256+4;
            var _1831 = _1826+256;
            var _1832 = _1826+256+16+4;
            var _1833 = _1826+256+16;
            var _1834 = _1826+256+32+4;
            var _1835 = _1826+256+32;
            var _1836 = _1826+256+8;
            var _1837 = FHEAP[_1830];
            var _1838 = FHEAP[_1831];
            var _1839 = _1826+256+16+8;
            var _1840 = FHEAP[_1832];
            var _1841 = FHEAP[_1833];
            var _1842 = _1826+256+32+8;
            var _1843 = FHEAP[_1834];
            var _1844 = FHEAP[_1835];
            var _1845 = FHEAP[_1836];
            var _1846 = _1837 * _1758;
            var _1847 = _1838 * _1759;
            var _1848 = FHEAP[_1839];
            var _1849 = _1840 * _1758;
            var _1850 = _1841 * _1759;
            var _1851 = FHEAP[_1842];
            var _1852 = _1843 * _1758;
            var _1853 = _1844 * _1759;
            var _1854 = _1845 * _1757;
            var _1855 = _1847 + _1846;
            var _1856 = _1848 * _1757;
            var _1857 = _1850 + _1849;
            var _1858 = _1851 * _1757;
            var _1859 = _1853 + _1852;
            var _1860 = _1855 + _1854;
            var _1861 = _1857 + _1856;
            var _1862 = _1859 + _1858;
            var _1863 = _1755 * 0;
            var _1864 = _bodyB+504;
            var _1865 = FHEAP[_1864];
            var _1866 = _1865 + _1863;
            FHEAP[_1864] = _1866;
            var _1867 = _bodyB+504+4;
            var _1868 = FHEAP[_1867];
            var _1869 = _1868 + _1863;
            FHEAP[_1867] = _1869;
            var _1870 = _bodyB+504+8;
            var _1871 = FHEAP[_1870];
            var _1872 = _1871 + _1863;
            FHEAP[_1870] = _1872;
            var _1873 = _bodyB+536+8;
            var _1874 = FHEAP[_1873];
            var _1875 = _1874 * _1825;
            var _1876 = _bodyB+536+4;
            var _1877 = FHEAP[_1876];
            var _1878 = _1877 * _1825;
            var _1879 = _bodyB+536;
            var _1880 = FHEAP[_1879];
            var _1881 = _1880 * _1825;
            var _1882 = _1862 * _1875;
            var _1883 = _1861 * _1878;
            var _1884 = _1860 * _1881;
            var _1885 = FHEAP[_1687];
            var _1886 = _1885 + _1884;
            FHEAP[_1687] = _1886;
            var _1887 = FHEAP[_1682];
            var _1888 = _1887 + _1883;
            FHEAP[_1682] = _1888;
            var _1889 = FHEAP[_1677];
            var _1890 = _1889 + _1882;
            FHEAP[_1677] = _1890;
            ;
          }
        } while(0);
        var _1891 = _this+513;
        var _1892 = IHEAP[_1891];
        var _toBool79 = _1892 == 0;
        if (_toBool79) { __label__ = 2663; /* __ZN11btRigidBody20internalApplyImpulseERK9btVector3S2_f_exit */ break __ZN11btRigidBody20internalApplyImpulseERK9btVector3S2_f_exit$_bb$14488; }
        var _1893 = _this+520;
        var _1894 = FHEAP[_1893];
        var _1895 = _this+496;
        var _1896 = FHEAP[_1895];
        var _1897 = _1894 * _1896;
        var _1898 = _this+420;
        var _1899 = FHEAP[_1898];
        var _1900 = _1897 * _1899;
        var _1901 = _1900 / _timeStep;
        var _1902 = _1679 - _1664;
        var _1903 = _1684 - _1669;
        var _1904 = _1689 - _1674;
        var _1905 = _this+464;
        var _1906 = FHEAP[_1905];
        var _1907 = _1904 * _1906;
        var _1908 = _this+464+4;
        var _1909 = FHEAP[_1908];
        var _1910 = _1903 * _1909;
        var _1911 = _1907 + _1910;
        var _1912 = _this+464+8;
        var _1913 = FHEAP[_1912];
        var _1914 = _1902 * _1913;
        var _1915 = _1911 + _1914;
        var _1916 = _1915 > 0;
        ;
        if (_1916) {
          __lastLabel__ = 16; ;
          var _1917 = _1894 * _1915;
          var _1918 = _this+424;
          var _1919 = FHEAP[_1918];
          var _1920 = _1917 * _1919;
          var _1921 = _1920 + _1901;
          __lastLabel__ = 13; ;
        }
        else {
          __lastLabel__ = 16; ;
        }
        var _amplitude82_0 = __lastLabel__ == 13 ? _1921 : (_1901);
        var _1922 = _this+484;
        var _1923 = FHEAP[_1922];
        var _1924 = _1923 * _amplitude82_0;
        var _1925 = _this+508;
        var _1926 = FHEAP[_1925];
        var _1927 = _1926 + _1924;
        var _1928 = _1927 > 0;
        var _1929 = _1928 ? _1927 : 0;
        FHEAP[_1925] = _1929;
        var _1930 = _1929 - _1926;
        var _1931 = IHEAP[_2];
        var _1932 = _bodyA+336;
        var _1933 = FHEAP[_1932];
        var _1934 = _1933 != 0;
        ;
        if (_1934) {
          __lastLabel__ = 23; ;
          var _1935 = _1931+256+4;
          var _1936 = _1931+256;
          var _1937 = _1931+256+16+4;
          var _1938 = _1931+256+16;
          var _1939 = _1931+256+32+4;
          var _1940 = _1931+256+32;
          var _1941 = _1931+256+8;
          var _1942 = FHEAP[_1935];
          var _1943 = FHEAP[_1936];
          var _1944 = _1931+256+16+8;
          var _1945 = FHEAP[_1937];
          var _1946 = FHEAP[_1938];
          var _1947 = _1931+256+32+8;
          var _1948 = FHEAP[_1939];
          var _1949 = FHEAP[_1940];
          var _1950 = FHEAP[_1941];
          var _1951 = _1942 * _1909;
          var _1952 = _1943 * _1906;
          var _1953 = FHEAP[_1944];
          var _1954 = _1945 * _1909;
          var _1955 = _1946 * _1906;
          var _1956 = FHEAP[_1947];
          var _1957 = _1948 * _1909;
          var _1958 = _1949 * _1906;
          var _1959 = _1950 * _1913;
          var _1960 = _1952 + _1951;
          var _1961 = _1953 * _1913;
          var _1962 = _1955 + _1954;
          var _1963 = _1956 * _1913;
          var _1964 = _1958 + _1957;
          var _1965 = _1960 + _1959;
          var _1966 = _1962 + _1961;
          var _1967 = _1964 + _1963;
          var _1968 = _1930 * 0;
          var _1969 = _bodyA+504;
          var _1970 = FHEAP[_1969];
          var _1971 = _1970 + _1968;
          FHEAP[_1969] = _1971;
          var _1972 = _bodyA+504+4;
          var _1973 = FHEAP[_1972];
          var _1974 = _1973 + _1968;
          FHEAP[_1972] = _1974;
          var _1975 = _bodyA+504+8;
          var _1976 = FHEAP[_1975];
          var _1977 = _1976 + _1968;
          FHEAP[_1975] = _1977;
          var _1978 = _bodyA+536+8;
          var _1979 = FHEAP[_1978];
          var _1980 = _1979 * _1930;
          var _1981 = _bodyA+536+4;
          var _1982 = FHEAP[_1981];
          var _1983 = _1982 * _1930;
          var _1984 = _bodyA+536;
          var _1985 = FHEAP[_1984];
          var _1986 = _1985 * _1930;
          var _1987 = _1967 * _1980;
          var _1988 = _1966 * _1983;
          var _1989 = _1965 * _1986;
          var _1990 = FHEAP[_1672];
          var _1991 = _1990 + _1989;
          FHEAP[_1672] = _1991;
          var _1992 = FHEAP[_1667];
          var _1993 = _1992 + _1988;
          FHEAP[_1667] = _1993;
          var _1994 = FHEAP[_1662];
          var _1995 = _1994 + _1987;
          FHEAP[_1662] = _1995;
          var __pre435 = FHEAP[_1905];
          var __pre436 = FHEAP[_1908];
          var __pre437 = FHEAP[_1912];
          __lastLabel__ = 2665; ;
        }
        else {
          __lastLabel__ = 23; ;
        }
        var _1996 = __lastLabel__ == 2665 ? __pre437 : (_1913);
        var _1997 = __lastLabel__ == 2665 ? __pre436 : (_1909);
        var _1998 = __lastLabel__ == 2665 ? __pre435 : (_1906);
        var _1999 = 0 - _1930;
        var _2000 = IHEAP[_52];
        var _2001 = _bodyB+336;
        var _2002 = FHEAP[_2001];
        var _2003 = _2002 != 0;
        if (!(_2003)) { __label__ = 2663; /* __ZN11btRigidBody20internalApplyImpulseERK9btVector3S2_f_exit */ break __ZN11btRigidBody20internalApplyImpulseERK9btVector3S2_f_exit$_bb$14488; }
        var _2004 = _2000+256+4;
        var _2005 = _2000+256;
        var _2006 = _2000+256+16+4;
        var _2007 = _2000+256+16;
        var _2008 = _2000+256+32+4;
        var _2009 = _2000+256+32;
        var _2010 = _2000+256+8;
        var _2011 = FHEAP[_2004];
        var _2012 = FHEAP[_2005];
        var _2013 = _2000+256+16+8;
        var _2014 = FHEAP[_2006];
        var _2015 = FHEAP[_2007];
        var _2016 = _2000+256+32+8;
        var _2017 = FHEAP[_2008];
        var _2018 = FHEAP[_2009];
        var _2019 = FHEAP[_2010];
        var _2020 = _2011 * _1997;
        var _2021 = _2012 * _1998;
        var _2022 = FHEAP[_2013];
        var _2023 = _2014 * _1997;
        var _2024 = _2015 * _1998;
        var _2025 = FHEAP[_2016];
        var _2026 = _2017 * _1997;
        var _2027 = _2018 * _1998;
        var _2028 = _2019 * _1996;
        var _2029 = _2021 + _2020;
        var _2030 = _2022 * _1996;
        var _2031 = _2024 + _2023;
        var _2032 = _2025 * _1996;
        var _2033 = _2027 + _2026;
        var _2034 = _2029 + _2028;
        var _2035 = _2031 + _2030;
        var _2036 = _2033 + _2032;
        var _2037 = _1930 * 0;
        var _2038 = _bodyB+504;
        var _2039 = FHEAP[_2038];
        var _2040 = _2039 + _2037;
        FHEAP[_2038] = _2040;
        var _2041 = _bodyB+504+4;
        var _2042 = FHEAP[_2041];
        var _2043 = _2042 + _2037;
        FHEAP[_2041] = _2043;
        var _2044 = _bodyB+504+8;
        var _2045 = FHEAP[_2044];
        var _2046 = _2045 + _2037;
        FHEAP[_2044] = _2046;
        var _2047 = _bodyB+536+8;
        var _2048 = FHEAP[_2047];
        var _2049 = _2048 * _1999;
        var _2050 = _bodyB+536+4;
        var _2051 = FHEAP[_2050];
        var _2052 = _2051 * _1999;
        var _2053 = _bodyB+536;
        var _2054 = FHEAP[_2053];
        var _2055 = _2054 * _1999;
        var _2056 = _2036 * _2049;
        var _2057 = _2035 * _2052;
        var _2058 = _2034 * _2055;
        var _2059 = FHEAP[_1687];
        var _2060 = _2059 + _2058;
        FHEAP[_1687] = _2060;
        var _2061 = FHEAP[_1682];
        var _2062 = _2061 + _2057;
        FHEAP[_1682] = _2062;
        var _2063 = FHEAP[_1677];
        var _2064 = _2063 + _2056;
        FHEAP[_1677] = _2064;
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN21btConeTwistConstraint23solveConstraintObsoleteER11btRigidBodyS1_f.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraint23solveConstraintObsoleteER11btRigidBodyS1_f, "__ZN21btConeTwistConstraint23solveConstraintObsoleteER11btRigidBodyS1_f");
  
  
  function __ZNK21btConeTwistConstraint33adjustSwingAxisToUseEllipseNormalER9btVector3(_this, _vSwingAxis) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _vSwingAxis+8;
    var _1 = FHEAP[_0];
    var _2 = 0 - _1;
    var _3 = _vSwingAxis+4;
    var _4 = FHEAP[_3];
    var _5 = _fabsf(_4);
    var _6 = _5 > 1.1920928955078125e-7;
    ;
    if (_6) {
      ;
      var _7 = _2 / _4;
      var _8 = _this+436;
      var _9 = FHEAP[_8];
      var _10 = _this+432;
      var _11 = FHEAP[_10];
      var _12 = _9 / _11;
      var _13 = _12 * _7;
      var _14 = _2 > 0;
      var _15 = _13 * _4;
      var _16 = _fabsf(_15);
      ;
      if (_14) {
        __lastLabel__ = 60; ;
      }
      else {
        __lastLabel__ = 60; ;
        var _17 = 0 - _16;
        __lastLabel__ = 0; ;
      }
      var _y_0 = __lastLabel__ == 0 ? _17 : (_16);
      var _18 = 0 - _y_0;
      FHEAP[_0] = _18;
      FHEAP[_3] = _4;
      var _19 = _vSwingAxis;
      var _20 = FHEAP[_19];
      var _21 = _20 * _20;
      var _22 = _4 * _4;
      var _23 = _21 + _22;
      var _24 = _y_0 * _y_0;
      var _25 = _23 + _24;
      var _26 = _sqrtf(_25);
      var _27 = 1 / _26;
      var _28 = _20 * _27;
      FHEAP[_19] = _28;
      var _29 = _4 * _27;
      FHEAP[_3] = _29;
      var _30 = _27 * _18;
      FHEAP[_0] = _30;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZNK21btConeTwistConstraint33adjustSwingAxisToUseEllipseNormalER9btVector3.__index__ = Runtime.getFunctionIndex(__ZNK21btConeTwistConstraint33adjustSwingAxisToUseEllipseNormalER9btVector3, "__ZNK21btConeTwistConstraint33adjustSwingAxisToUseEllipseNormalER9btVector3");
  
  
  function __ZN21btConeTwistConstraint13calcAngleInfoEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+492;
    FHEAP[_0] = 0;
    var _1 = _this+488;
    FHEAP[_1] = 0;
    var _2 = _this+513;
    IHEAP[_2] = 0;
    var _3 = _this+514;
    IHEAP[_3] = 0;
    var _4 = _this+288+32;
    var _5 = _this+288+16;
    var _6 = _this+288;
    var _7 = FHEAP[_6];
    var _8 = FHEAP[_5];
    var _9 = FHEAP[_4];
    var _10 = _this+20;
    var _11 = IHEAP[_10];
    var _12 = _11+4+32;
    var _13 = FHEAP[_12];
    var _14 = _13 * _7;
    var _15 = _11+4+32+4;
    var _16 = FHEAP[_15];
    var _17 = _16 * _8;
    var _18 = _14 + _17;
    var _19 = _11+4+32+8;
    var _20 = FHEAP[_19];
    var _21 = _20 * _9;
    var _22 = _18 + _21;
    var _23 = _11+4+16;
    var _24 = FHEAP[_23];
    var _25 = _24 * _7;
    var _26 = _11+4+16+4;
    var _27 = FHEAP[_26];
    var _28 = _27 * _8;
    var _29 = _25 + _28;
    var _30 = _11+4+16+8;
    var _31 = FHEAP[_30];
    var _32 = _31 * _9;
    var _33 = _29 + _32;
    var _34 = _11+4;
    var _35 = FHEAP[_34];
    var _36 = _35 * _7;
    var _37 = _11+4+4;
    var _38 = FHEAP[_37];
    var _39 = _38 * _8;
    var _40 = _36 + _39;
    var _41 = _11+4+8;
    var _42 = FHEAP[_41];
    var _43 = _42 * _9;
    var _44 = _40 + _43;
    var _45 = _this+352+32;
    var _46 = _this+352+16;
    var _47 = _this+352;
    var _48 = FHEAP[_47];
    var _49 = FHEAP[_46];
    var _50 = FHEAP[_45];
    var _51 = _this+24;
    var _52 = IHEAP[_51];
    var _53 = _52+4+32;
    var _54 = FHEAP[_53];
    var _55 = _54 * _48;
    var _56 = _52+4+32+4;
    var _57 = FHEAP[_56];
    var _58 = _57 * _49;
    var _59 = _55 + _58;
    var _60 = _52+4+32+8;
    var _61 = FHEAP[_60];
    var _62 = _61 * _50;
    var _63 = _59 + _62;
    var _64 = _52+4+16;
    var _65 = FHEAP[_64];
    var _66 = _65 * _48;
    var _67 = _52+4+16+4;
    var _68 = FHEAP[_67];
    var _69 = _68 * _49;
    var _70 = _66 + _69;
    var _71 = _52+4+16+8;
    var _72 = FHEAP[_71];
    var _73 = _72 * _50;
    var _74 = _70 + _73;
    var _75 = _52+4;
    var _76 = FHEAP[_75];
    var _77 = _76 * _48;
    var _78 = _52+4+4;
    var _79 = FHEAP[_78];
    var _80 = _79 * _49;
    var _81 = _77 + _80;
    var _82 = _52+4+8;
    var _83 = FHEAP[_82];
    var _84 = _83 * _50;
    var _85 = _81 + _84;
    var _86 = _this+432;
    var _87 = FHEAP[_86];
    var _88 = _87 < 0.05000000074505806;
    ;
    if (_88) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _89 = _this+288+32+4;
      var _90 = _this+288+16+4;
      var _91 = _this+288+4;
      var _92 = FHEAP[_91];
      var _93 = FHEAP[_90];
      var _94 = FHEAP[_89];
      var _95 = _13 * _92;
      var _96 = _16 * _93;
      var _97 = _95 + _96;
      var _98 = _20 * _94;
      var _99 = _97 + _98;
      var _100 = _24 * _92;
      var _101 = _27 * _93;
      var _102 = _100 + _101;
      var _103 = _31 * _94;
      var _104 = _102 + _103;
      var _105 = _35 * _92;
      var _106 = _38 * _93;
      var _107 = _105 + _106;
      var _108 = _42 * _94;
      var _109 = _107 + _108;
      var _110 = _85 * _44;
      var _111 = _74 * _33;
      var _112 = _110 + _111;
      var _113 = _63 * _22;
      var _114 = _112 + _113;
      var _115 = _85 * _109;
      var _116 = _74 * _104;
      var _117 = _115 + _116;
      var _118 = _63 * _99;
      var _119 = _117 + _118;
      var _120 = _fabsf(_119);
      var _121 = _114 < 0;
      ;
      if (_121) {
        ;
        var _127 = _120 + _114;
        var _128 = _120 - _114;
        var _129 = _127 / _128;
        var _130 = _129 * 0.7853981852531433;
        var _131 = 2.356194496154785 - _130;
        __lastLabel__ = 2669; ;
      }
      else {
        ;
        var _122 = _114 - _120;
        var _123 = _120 + _114;
        var _124 = _122 / _123;
        var _125 = _124 * 0.7853981852531433;
        var _126 = 0.7853981852531433 - _125;
        __lastLabel__ = 412; ;
      }
      var _angle_0_i41 = __lastLabel__ == 412 ? _126 : (_131);
      var _132 = _119 < 0;
      ;
      if (_132) {
        __lastLabel__ = 4576; ;
        var _133 = 0 - _angle_0_i41;
        __lastLabel__ = 2670; ;
      }
      else {
        __lastLabel__ = 4576; ;
      }
      var _134 = __lastLabel__ == 2670 ? _133 : (_angle_0_i41);
      var _135 = _119 * _119;
      var _136 = _114 * _114;
      var _137 = _135 + _136;
      var _138 = _137 * 10;
      var _139 = _138 * 10;
      var _140 = _139 + 1;
      var _141 = _139 / _140;
      var _142 = _134 * _141;
      __lastLabel__ = 2672; ;
    }
    var _b1Axis2_0_0_0 = __lastLabel__ == -1 ? undef : (_109);
    var _b1Axis2_0_1_0 = __lastLabel__ == -1 ? undef : (_104);
    var _b1Axis2_0_2_0 = __lastLabel__ == -1 ? undef : (_99);
    var _swing1_0 = __lastLabel__ == -1 ? 0 : (_142);
    var _143 = _this+436;
    var _144 = FHEAP[_143];
    var _145 = _144 < 0.05000000074505806;
    ;
    if (_145) {
      __lastLabel__ = 116; ;
    }
    else {
      __lastLabel__ = 116; ;
      var _146 = _this+288+32+8;
      var _147 = _this+288+16+8;
      var _148 = _this+288+8;
      var _149 = FHEAP[_148];
      var _150 = FHEAP[_147];
      var _151 = FHEAP[_146];
      var _152 = _13 * _149;
      var _153 = _16 * _150;
      var _154 = _152 + _153;
      var _155 = _20 * _151;
      var _156 = _154 + _155;
      var _157 = _24 * _149;
      var _158 = _27 * _150;
      var _159 = _157 + _158;
      var _160 = _31 * _151;
      var _161 = _159 + _160;
      var _162 = _35 * _149;
      var _163 = _38 * _150;
      var _164 = _162 + _163;
      var _165 = _42 * _151;
      var _166 = _164 + _165;
      var _167 = _85 * _44;
      var _168 = _74 * _33;
      var _169 = _167 + _168;
      var _170 = _63 * _22;
      var _171 = _169 + _170;
      var _172 = _85 * _166;
      var _173 = _74 * _161;
      var _174 = _172 + _173;
      var _175 = _63 * _156;
      var _176 = _174 + _175;
      var _177 = _fabsf(_176);
      var _178 = _171 < 0;
      ;
      if (_178) {
        ;
        var _184 = _177 + _171;
        var _185 = _177 - _171;
        var _186 = _184 / _185;
        var _187 = _186 * 0.7853981852531433;
        var _188 = 2.356194496154785 - _187;
        __lastLabel__ = 2676; ;
      }
      else {
        ;
        var _179 = _171 - _177;
        var _180 = _177 + _171;
        var _181 = _179 / _180;
        var _182 = _181 * 0.7853981852531433;
        var _183 = 0.7853981852531433 - _182;
        __lastLabel__ = 2674; ;
      }
      var _angle_0_i34 = __lastLabel__ == 2674 ? _183 : (_188);
      var _189 = _176 < 0;
      ;
      if (_189) {
        __lastLabel__ = 407; ;
        var _190 = 0 - _angle_0_i34;
        __lastLabel__ = 2677; ;
      }
      else {
        __lastLabel__ = 407; ;
      }
      var _191 = __lastLabel__ == 2677 ? _190 : (_angle_0_i34);
      var _192 = _176 * _176;
      var _193 = _171 * _171;
      var _194 = _192 + _193;
      var _195 = _194 * 10;
      var _196 = _195 * 10;
      var _197 = _196 + 1;
      var _198 = _196 / _197;
      var _199 = _191 * _198;
      __lastLabel__ = 2679; ;
    }
    var _b1Axis3_0_0_0 = __lastLabel__ == 116 ? undef : (_166);
    var _b1Axis3_0_1_0 = __lastLabel__ == 116 ? undef : (_161);
    var _b1Axis3_0_2_0 = __lastLabel__ == 116 ? undef : (_156);
    var _swing2_0 = __lastLabel__ == 116 ? 0 : (_199);
    var _200 = _87 * _87;
    var _201 = 1 / _200;
    var _202 = _144 * _144;
    var _203 = 1 / _202;
    var _204 = _swing1_0 * _swing1_0;
    var _205 = _fabsf(_204);
    var _206 = _205 * _201;
    var _207 = _swing2_0 * _swing2_0;
    var _208 = _fabsf(_207);
    var _209 = _208 * _203;
    var _210 = _206 + _209;
    var _211 = _210 > 1;
    ;
    if (_211) {
      ;
      var _212 = _210 + -1;
      FHEAP[_0] = _212;
      IHEAP[_3] = 1;
      var _213 = _85 * _b1Axis3_0_0_0;
      var _214 = _74 * _b1Axis3_0_1_0;
      var _215 = _213 + _214;
      var _216 = _63 * _b1Axis3_0_2_0;
      var _217 = _215 + _216;
      var _218 = _b1Axis3_0_2_0 * _217;
      var _219 = _b1Axis3_0_1_0 * _217;
      var _220 = _b1Axis3_0_0_0 * _217;
      var _221 = _85 * _b1Axis2_0_0_0;
      var _222 = _74 * _b1Axis2_0_1_0;
      var _223 = _221 + _222;
      var _224 = _63 * _b1Axis2_0_2_0;
      var _225 = _223 + _224;
      var _226 = _b1Axis2_0_2_0 * _225;
      var _227 = _b1Axis2_0_1_0 * _225;
      var _228 = _b1Axis2_0_0_0 * _225;
      var _229 = _226 + _218;
      var _230 = _227 + _219;
      var _231 = _228 + _220;
      var _232 = _85 * _230;
      var _233 = _74 * _231;
      var _234 = _232 - _233;
      var _235 = _63 * _231;
      var _236 = _85 * _229;
      var _237 = _235 - _236;
      var _238 = _74 * _229;
      var _239 = _63 * _230;
      var _240 = _238 - _239;
      var _241 = _this+448;
      FHEAP[_241] = _240;
      var _242 = _this+448+4;
      FHEAP[_242] = _237;
      var _243 = _this+448+8;
      FHEAP[_243] = _234;
      var _244 = _this+448+12;
      FHEAP[_244] = 0;
      var _245 = _240 * _240;
      var _246 = _237 * _237;
      var _247 = _245 + _246;
      var _248 = _234 * _234;
      var _249 = _247 + _248;
      var _250 = _sqrtf(_249);
      var _251 = 1 / _250;
      var _252 = _240 * _251;
      var _253 = _237 * _251;
      var _254 = _234 * _251;
      var _255 = _85 * _44;
      var _256 = _74 * _33;
      var _257 = _255 + _256;
      var _258 = _63 * _22;
      var _259 = _257 + _258;
      var _260 = _259 < 0;
      var _iftmp_206_0 = _260 ? -1 : 1;
      var _261 = _252 * _iftmp_206_0;
      FHEAP[_241] = _261;
      var _262 = _253 * _iftmp_206_0;
      FHEAP[_242] = _262;
      var _263 = _254 * _iftmp_206_0;
      FHEAP[_243] = _263;
      ;
    }
    var _264 = _this+440;
    var _265 = FHEAP[_264];
    var _266 = _265 < 0;
    ;
    _return$_bb14$14581: do { 
      if (!_266) {
        ;
        var _267 = _this+352+32+4;
        var _268 = _this+352+16+4;
        var _269 = _this+352+4;
        var _270 = FHEAP[_269];
        var _271 = FHEAP[_268];
        var _272 = FHEAP[_267];
        var _273 = FHEAP[_53];
        var _274 = _273 * _270;
        var _275 = FHEAP[_56];
        var _276 = _275 * _271;
        var _277 = _274 + _276;
        var _278 = FHEAP[_60];
        var _279 = _278 * _272;
        var _280 = _277 + _279;
        var _281 = FHEAP[_64];
        var _282 = _281 * _270;
        var _283 = FHEAP[_67];
        var _284 = _283 * _271;
        var _285 = _282 + _284;
        var _286 = FHEAP[_71];
        var _287 = _286 * _272;
        var _288 = _285 + _287;
        var _289 = FHEAP[_75];
        var _290 = _289 * _270;
        var _291 = FHEAP[_78];
        var _292 = _291 * _271;
        var _293 = _290 + _292;
        var _294 = FHEAP[_82];
        var _295 = _294 * _272;
        var _296 = _293 + _295;
        var _297 = _85 * _44;
        var _298 = _74 * _33;
        var _299 = _297 + _298;
        var _300 = _63 * _22;
        var _301 = _299 + _300;
        var _302 = _301 < -0.9999998807907104;
        ;
        if (_302) {
          ;
          var _303 = _fabsf(_63);
          var _304 = _303 > 0.7071067690849304;
          ;
          if (_304) {
            ;
            var _305 = _74 * _74;
            var _306 = _63 * _63;
            var _307 = _305 + _306;
            var _308 = _sqrtf(_307);
            var _309 = 1 / _308;
            var _310 = 0 - _63;
            var _311 = _309 * _310;
            var _312 = _74 * _309;
            __lastLabel__ = 263; ;
          }
          else {
            ;
            var _313 = _85 * _85;
            var _314 = _74 * _74;
            var _315 = _313 + _314;
            var _316 = _sqrtf(_315);
            var _317 = 1 / _316;
            var _318 = 0 - _74;
            var _319 = _317 * _318;
            var _320 = _85 * _317;
            __lastLabel__ = 265; ;
          }
        }
        else {
          ;
          var _321 = _63 * _33;
          var _322 = _74 * _22;
          var _323 = _85 * _22;
          var _324 = _63 * _44;
          var _325 = _74 * _44;
          var _326 = _85 * _33;
          var _327 = _322 - _321;
          var _328 = _324 - _323;
          var _329 = _326 - _325;
          var _330 = _301 + 1;
          var _331 = _330 * 2;
          var _332 = _sqrtf(_331);
          var _333 = 1 / _332;
          var _334 = _332 * 0.5;
          var _335 = _329 * _333;
          var _336 = _328 * _333;
          var _337 = _327 * _333;
          __lastLabel__ = 2683; ;
        }
        var _rotationArc_0_0_0_0 = __lastLabel__ == 2683 ? _337 : (__lastLabel__ == 263 ? 0 : (_319));
        var _rotationArc_0_0_1_0 = __lastLabel__ == 2683 ? _336 : (__lastLabel__ == 263 ? _311 : (_320));
        var _rotationArc_0_0_2_0 = __lastLabel__ == 2683 ? _335 : (__lastLabel__ == 263 ? _312 : (0));
        var _rotationArc_0_0_3_0 = __lastLabel__ == 2683 ? _334 : (__lastLabel__ == 263 ? 0 : (0));
        var _338 = 0 - _rotationArc_0_0_0_0;
        var _339 = _296 * _338;
        var _340 = _rotationArc_0_0_1_0 * _288;
        var _341 = _339 - _340;
        var _342 = _rotationArc_0_0_2_0 * _280;
        var _343 = _341 - _342;
        var _344 = _rotationArc_0_0_3_0 * _280;
        var _345 = _rotationArc_0_0_0_0 * _288;
        var _346 = _344 + _345;
        var _347 = _rotationArc_0_0_1_0 * _296;
        var _348 = _346 - _347;
        var _349 = _rotationArc_0_0_3_0 * _288;
        var _350 = _rotationArc_0_0_2_0 * _296;
        var _351 = _349 + _350;
        var _352 = _rotationArc_0_0_0_0 * _280;
        var _353 = _351 - _352;
        var _354 = _rotationArc_0_0_3_0 * _296;
        var _355 = _rotationArc_0_0_1_0 * _280;
        var _356 = _354 + _355;
        var _357 = _rotationArc_0_0_2_0 * _288;
        var _358 = _356 - _357;
        var _359 = 0 - _rotationArc_0_0_2_0;
        var _360 = 0 - _rotationArc_0_0_1_0;
        var _361 = _343 * _359;
        var _362 = _348 * _rotationArc_0_0_3_0;
        var _363 = _361 + _362;
        var _364 = _358 * _360;
        var _365 = _363 + _364;
        var _366 = _353 * _338;
        var _367 = _365 - _366;
        var _368 = _343 * _360;
        var _369 = _353 * _rotationArc_0_0_3_0;
        var _370 = _368 + _369;
        var _371 = _348 * _338;
        var _372 = _370 + _371;
        var _373 = _358 * _359;
        var _374 = _372 - _373;
        var _375 = _343 * _338;
        var _376 = _358 * _rotationArc_0_0_3_0;
        var _377 = _375 + _376;
        var _378 = _353 * _359;
        var _379 = _377 + _378;
        var _380 = _348 * _360;
        var _381 = _379 - _380;
        var _382 = _381 * _b1Axis2_0_0_0;
        var _383 = _374 * _b1Axis2_0_1_0;
        var _384 = _382 + _383;
        var _385 = _367 * _b1Axis2_0_2_0;
        var _386 = _384 + _385;
        var _387 = _381 * _b1Axis3_0_0_0;
        var _388 = _374 * _b1Axis3_0_1_0;
        var _389 = _387 + _388;
        var _390 = _367 * _b1Axis3_0_2_0;
        var _391 = _389 + _390;
        var _392 = _fabsf(_391);
        var _393 = _386 < 0;
        ;
        if (_393) {
          ;
          var _399 = _392 + _386;
          var _400 = _392 - _386;
          var _401 = _399 / _400;
          var _402 = _401 * 0.7853981852531433;
          var _403 = 2.356194496154785 - _402;
          __lastLabel__ = 159; ;
        }
        else {
          ;
          var _394 = _386 - _392;
          var _395 = _392 + _386;
          var _396 = _394 / _395;
          var _397 = _396 * 0.7853981852531433;
          var _398 = 0.7853981852531433 - _397;
          __lastLabel__ = 131; ;
        }
        var _angle_0_i = __lastLabel__ == 131 ? _398 : (_403);
        var _404 = _391 < 0;
        ;
        if (_404) {
          __lastLabel__ = 133; ;
          var _405 = 0 - _angle_0_i;
          __lastLabel__ = 135; ;
        }
        else {
          __lastLabel__ = 133; ;
        }
        var _406 = __lastLabel__ == 135 ? _405 : (_angle_0_i);
        var _407 = _this+500;
        FHEAP[_407] = _406;
        var _408 = _265 > 0.05000000074505806;
        var _iftmp_207_0 = _408 ? 1 : 0;
        var _409 = 0 - _265;
        var _410 = _iftmp_207_0 * _409;
        var _411 = _410 < _406;
        ;
        if (_411) {
          ;
          var _438 = _265 * _iftmp_207_0;
          var _439 = _438 < _406;
          if (!(_439)) { __label__ = 44; /* _return */ break _return$_bb14$14581; }
          var _440 = _406 - _265;
          var _441 = _this+496;
          FHEAP[_441] = _440;
          IHEAP[_2] = 1;
          var _442 = _63 + _22;
          var _443 = _74 + _33;
          var _444 = _85 + _44;
          var _445 = _442 * 0.5;
          var _446 = _443 * 0.5;
          var _447 = _444 * 0.5;
          var _448 = _this+464;
          FHEAP[_448] = _447;
          var _449 = _this+464+4;
          FHEAP[_449] = _446;
          var _450 = _this+464+8;
          FHEAP[_450] = _445;
          var _451 = _this+464+12;
          FHEAP[_451] = 0;
          var _452 = _447 * _447;
          var _453 = _446 * _446;
          var _454 = _452 + _453;
          var _455 = _445 * _445;
          var _456 = _454 + _455;
          var _457 = _sqrtf(_456);
          var _458 = 1 / _457;
          var _459 = _447 * _458;
          FHEAP[_448] = _459;
          var _460 = _446 * _458;
          FHEAP[_449] = _460;
          var _461 = _445 * _458;
          FHEAP[_450] = _461;
          ;
          return;
        }
        else {
          ;
          var _412 = _265 + _406;
          var _413 = 0 - _412;
          var _414 = _this+496;
          FHEAP[_414] = _413;
          IHEAP[_2] = 1;
          var _415 = _63 + _22;
          var _416 = _74 + _33;
          var _417 = _85 + _44;
          var _418 = _415 * 0.5;
          var _419 = _416 * 0.5;
          var _420 = _417 * 0.5;
          var _421 = _this+464;
          FHEAP[_421] = _420;
          var _422 = _this+464+4;
          FHEAP[_422] = _419;
          var _423 = _this+464+8;
          FHEAP[_423] = _418;
          var _424 = _this+464+12;
          FHEAP[_424] = 0;
          var _425 = _420 * _420;
          var _426 = _419 * _419;
          var _427 = _425 + _426;
          var _428 = _418 * _418;
          var _429 = _427 + _428;
          var _430 = _sqrtf(_429);
          var _431 = 1 / _430;
          var _432 = _420 * _431;
          var _433 = _419 * _431;
          var _434 = _418 * _431;
          var _435 = _432 * -1;
          FHEAP[_421] = _435;
          var _436 = _433 * -1;
          FHEAP[_422] = _436;
          var _437 = _434 * -1;
          FHEAP[_423] = _437;
          ;
          return;
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN21btConeTwistConstraint13calcAngleInfoEv.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraint13calcAngleInfoEv, "__ZN21btConeTwistConstraint13calcAngleInfoEv");
  
  
  function __ZN21btConeTwistConstraint21computeTwistLimitInfoERK12btQuaternionRfR9btVector3(_this, _qTwist, _twistAngle, _vTwistAxis) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _qTwist;
    var _1 = FHEAP[_0];
    var _2 = _qTwist+4;
    var _3 = FHEAP[_2];
    var _4 = _qTwist+8;
    var _5 = FHEAP[_4];
    var _6 = _qTwist+12;
    var _7 = FHEAP[_6];
    var _8 = _7 < -1;
    var _x_addr_0_i_i = _8 ? -1 : _7;
    var _9 = _x_addr_0_i_i > 1;
    var _x_addr_1_i_i = _9 ? 1 : _x_addr_0_i_i;
    var _10 = _acosf(_x_addr_1_i_i);
    var _11 = _10 * 2;
    FHEAP[_twistAngle] = _11;
    var _12 = _11 > 3.1415927410125732;
    ;
    if (_12) {
      __lastLabel__ = -1; ;
      var _13 = FHEAP[_6];
      var _14 = 0 - _13;
      var _15 = FHEAP[_4];
      var _16 = 0 - _15;
      var _17 = FHEAP[_2];
      var _18 = 0 - _17;
      var _19 = FHEAP[_0];
      var _20 = 0 - _19;
      var _21 = _14 < -1;
      var _x_addr_0_i_i7 = _21 ? -1 : _14;
      var _22 = _x_addr_0_i_i7 > 1;
      var _x_addr_1_i_i8 = _22 ? 1 : _x_addr_0_i_i7;
      var _23 = _acosf(_x_addr_1_i_i8);
      var _24 = _23 * 2;
      FHEAP[_twistAngle] = _24;
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _25 = __lastLabel__ == 60 ? _20 : (_1);
    var _26 = __lastLabel__ == 60 ? _18 : (_3);
    var _27 = __lastLabel__ == 60 ? _16 : (_5);
    var _28 = _vTwistAxis;
    FHEAP[_28] = _25;
    var _29 = _vTwistAxis+4;
    FHEAP[_29] = _26;
    var _30 = _vTwistAxis+8;
    FHEAP[_30] = _27;
    var _31 = _vTwistAxis+12;
    FHEAP[_31] = 0;
    var _32 = FHEAP[_twistAngle];
    var _33 = _32 > 1.1920928955078125e-7;
    ;
    if (_33) {
      ;
      var _34 = _25 * _25;
      var _35 = _26 * _26;
      var _36 = _34 + _35;
      var _37 = _27 * _27;
      var _38 = _36 + _37;
      var _39 = _sqrtf(_38);
      var _40 = 1 / _39;
      var _41 = _25 * _40;
      FHEAP[_28] = _41;
      var _42 = _26 * _40;
      FHEAP[_29] = _42;
      var _43 = _27 * _40;
      FHEAP[_30] = _43;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN21btConeTwistConstraint21computeTwistLimitInfoERK12btQuaternionRfR9btVector3.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraint21computeTwistLimitInfoERK12btQuaternionRfR9btVector3, "__ZN21btConeTwistConstraint21computeTwistLimitInfoERK12btQuaternionRfR9btVector3");
  
  
  function __ZNK21btConeTwistConstraint16GetPointForAngleEff(_agg_result, _this, _fAngleInRadians, _fLength) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _cosf(_fAngleInRadians);
    var _1 = _sinf(_fAngleInRadians);
    var _2 = _this+432;
    var _3 = FHEAP[_2];
    var _4 = _fabsf(_0);
    var _5 = _4 > 1.1920928955078125e-7;
    ;
    if (_5) {
      __lastLabel__ = -1; ;
      var _6 = _1 * _1;
      var _7 = _0 * _0;
      var _8 = _6 / _7;
      var _9 = _this+436;
      var _10 = FHEAP[_9];
      var _11 = _10 * _10;
      var _12 = 1 / _11;
      var _13 = _3 * _3;
      var _14 = _8 / _13;
      var _15 = _14 + _12;
      var _16 = _8 + 1;
      var _17 = _16 / _15;
      var _18 = _sqrtf(_17);
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _swingLimit_0 = __lastLabel__ == 60 ? _18 : (_3);
    var _19 = 0 - _1;
    var _20 = _0 * _0;
    var _21 = _20 + 0;
    var _22 = _1 * _1;
    var _23 = _21 + _22;
    var _24 = _sqrtf(_23);
    var _25 = _swingLimit_0 * 0.5;
    var _26 = _sinf(_25);
    var _27 = _26 / _24;
    var _28 = _cosf(_25);
    var _29 = _27 * _19;
    var _30 = _0 * _27;
    var _31 = _27 * 0;
    var _32 = 0 - _31;
    var _33 = _fLength * _32;
    var _34 = _30 * 0;
    var _35 = _33 - _34;
    var _36 = _29 * 0;
    var _37 = _35 - _36;
    var _38 = _28 * 0;
    var _39 = _31 * 0;
    var _40 = _38 + _39;
    var _41 = _30 * _fLength;
    var _42 = _40 - _41;
    var _43 = _29 * _fLength;
    var _44 = _38 + _43;
    var _45 = _44 - _39;
    var _46 = _28 * _fLength;
    var _47 = _46 + _34;
    var _48 = _47 - _36;
    var _49 = 0 - _29;
    var _50 = 0 - _30;
    var _51 = _37 * _49;
    var _52 = _42 * _28;
    var _53 = _51 + _52;
    var _54 = _48 * _50;
    var _55 = _53 + _54;
    var _56 = _45 * _32;
    var _57 = _55 - _56;
    var _58 = _37 * _50;
    var _59 = _45 * _28;
    var _60 = _58 + _59;
    var _61 = _42 * _32;
    var _62 = _60 + _61;
    var _63 = _48 * _49;
    var _64 = _62 - _63;
    var _65 = _37 * _32;
    var _66 = _48 * _28;
    var _67 = _65 + _66;
    var _68 = _45 * _49;
    var _69 = _67 + _68;
    var _70 = _42 * _50;
    var _71 = _69 - _70;
    var _72 = _agg_result;
    FHEAP[_72] = _71;
    var _73 = _agg_result+4;
    FHEAP[_73] = _64;
    var _74 = _agg_result+8;
    FHEAP[_74] = _57;
    var _75 = _agg_result+12;
    FHEAP[_75] = 0;
    ;
    return;
  }
  __ZNK21btConeTwistConstraint16GetPointForAngleEff.__index__ = Runtime.getFunctionIndex(__ZNK21btConeTwistConstraint16GetPointForAngleEff, "__ZNK21btConeTwistConstraint16GetPointForAngleEff");
  
  
  function __ZN21btConeTwistConstraint20computeConeLimitInfoERK12btQuaternionRfR9btVector3S3_(_this, _qCone, _swingAngle, _vSwingAxis, _swingLimit) {
    ;
    var __label__;
    var _0 = _qCone+12;
    var _1 = FHEAP[_0];
    var _2 = _1 < -1;
    var _x_addr_0_i_i = _2 ? -1 : _1;
    var _3 = _x_addr_0_i_i > 1;
    var _x_addr_1_i_i = _3 ? 1 : _x_addr_0_i_i;
    var _4 = _acosf(_x_addr_1_i_i);
    var _5 = _4 * 2;
    FHEAP[_swingAngle] = _5;
    var _6 = _5 > 1.1920928955078125e-7;
    ;
    _bb$_bb4$14614: do { 
      if (_6) {
        ;
        var _7 = _qCone+8;
        var _8 = _qCone+4;
        var _9 = _qCone;
        var _10 = FHEAP[_9];
        var _11 = FHEAP[_8];
        var _12 = FHEAP[_7];
        var _13 = _vSwingAxis;
        FHEAP[_13] = _10;
        var _14 = _vSwingAxis+4;
        FHEAP[_14] = _11;
        var _15 = _vSwingAxis+8;
        FHEAP[_15] = _12;
        var _16 = _vSwingAxis+12;
        FHEAP[_16] = 0;
        var _17 = _10 * _10;
        var _18 = _11 * _11;
        var _19 = _17 + _18;
        var _20 = _12 * _12;
        var _21 = _19 + _20;
        var _22 = _sqrtf(_21);
        var _23 = 1 / _22;
        var _24 = _10 * _23;
        FHEAP[_13] = _24;
        var _25 = _11 * _23;
        FHEAP[_14] = _25;
        var _26 = _12 * _23;
        FHEAP[_15] = _26;
        var _27 = _this+432;
        var _28 = FHEAP[_27];
        FHEAP[_swingLimit] = _28;
        var _29 = _fabsf(_25);
        var _30 = _29 > 1.1920928955078125e-7;
        if (!(_30)) { __label__ = 61; /* _bb4 */ break _bb$_bb4$14614; }
        var _31 = _26 * _26;
        var _32 = _25 * _25;
        var _33 = _31 / _32;
        var _34 = _this+436;
        var _35 = FHEAP[_34];
        var _36 = _35 * _35;
        var _37 = 1 / _36;
        var _38 = FHEAP[_27];
        var _39 = _38 * _38;
        var _40 = _33 / _39;
        var _41 = _40 + _37;
        var _42 = _33 + 1;
        var _43 = _42 / _41;
        var _44 = _sqrtf(_43);
        FHEAP[_swingLimit] = _44;
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __ZN21btConeTwistConstraint20computeConeLimitInfoERK12btQuaternionRfR9btVector3S3_.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraint20computeConeLimitInfoERK12btQuaternionRfR9btVector3S3_, "__ZN21btConeTwistConstraint20computeConeLimitInfoERK12btQuaternionRfR9btVector3S3_");
  
  
  function __ZN21btConeTwistConstraint31setMotorTargetInConstraintSpaceERK12btQuaternion(_this, _q) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+544;
    var _1 = _q;
    var _2 = FHEAP[_1];
    FHEAP[_0] = _2;
    var _3 = _this+544+4;
    var _4 = _q+4;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+544+8;
    var _7 = _q+8;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+544+12;
    var _10 = _q+12;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = 0 - _2;
    var _13 = FHEAP[__ZL6vTwist];
    var _14 = _13 * _12;
    var _15 = FHEAP[__ZL6vTwist+4];
    var _16 = _5 * _15;
    var _17 = _14 - _16;
    var _18 = FHEAP[__ZL6vTwist+8];
    var _19 = _8 * _18;
    var _20 = _17 - _19;
    var _21 = _11 * _18;
    var _22 = _2 * _15;
    var _23 = _21 + _22;
    var _24 = _5 * _13;
    var _25 = _23 - _24;
    var _26 = _11 * _15;
    var _27 = _8 * _13;
    var _28 = _26 + _27;
    var _29 = _2 * _18;
    var _30 = _28 - _29;
    var _31 = _11 * _13;
    var _32 = _5 * _18;
    var _33 = _31 + _32;
    var _34 = _8 * _15;
    var _35 = _33 - _34;
    var _36 = 0 - _8;
    var _37 = 0 - _5;
    var _38 = _20 * _36;
    var _39 = _25 * _11;
    var _40 = _38 + _39;
    var _41 = _35 * _37;
    var _42 = _40 + _41;
    var _43 = _30 * _12;
    var _44 = _42 - _43;
    var _45 = _20 * _37;
    var _46 = _30 * _11;
    var _47 = _45 + _46;
    var _48 = _25 * _12;
    var _49 = _47 + _48;
    var _50 = _35 * _36;
    var _51 = _49 - _50;
    var _52 = _20 * _12;
    var _53 = _35 * _11;
    var _54 = _52 + _53;
    var _55 = _30 * _36;
    var _56 = _54 + _55;
    var _57 = _25 * _37;
    var _58 = _56 - _57;
    var _59 = _13 * _58;
    var _60 = _15 * _51;
    var _61 = _59 + _60;
    var _62 = _18 * _44;
    var _63 = _61 + _62;
    var _64 = _63 < -0.9999998807907104;
    ;
    if (_64) {
      ;
      var _65 = _fabsf(_18);
      var _66 = _65 > 0.7071067690849304;
      ;
      if (_66) {
        ;
        var _67 = _15 * _15;
        var _68 = _18 * _18;
        var _69 = _67 + _68;
        var _70 = _sqrtf(_69);
        var _71 = 1 / _70;
        var _72 = 0 - _18;
        var _73 = _71 * _72;
        var _74 = _15 * _71;
        __lastLabel__ = 263; ;
      }
      else {
        ;
        var _75 = _13 * _13;
        var _76 = _15 * _15;
        var _77 = _75 + _76;
        var _78 = _sqrtf(_77);
        var _79 = 1 / _78;
        var _80 = 0 - _15;
        var _81 = _79 * _80;
        var _82 = _13 * _79;
        __lastLabel__ = 265; ;
      }
    }
    else {
      ;
      var _83 = _18 * _51;
      var _84 = _15 * _44;
      var _85 = _13 * _44;
      var _86 = _18 * _58;
      var _87 = _15 * _58;
      var _88 = _13 * _51;
      var _89 = _84 - _83;
      var _90 = _86 - _85;
      var _91 = _88 - _87;
      var _92 = _63 + 1;
      var _93 = _92 * 2;
      var _94 = _sqrtf(_93);
      var _95 = 1 / _94;
      var _96 = _94 * 0.5;
      var _97 = _91 * _95;
      var _98 = _90 * _95;
      var _99 = _89 * _95;
      __lastLabel__ = 159; ;
    }
    var _qTargetCone_0_0_0_0 = __lastLabel__ == 159 ? _99 : (__lastLabel__ == 263 ? 0 : (_81));
    var _qTargetCone_0_0_1_0 = __lastLabel__ == 159 ? _98 : (__lastLabel__ == 263 ? _73 : (_82));
    var _qTargetCone_0_0_2_0 = __lastLabel__ == 159 ? _97 : (__lastLabel__ == 263 ? _74 : (0));
    var _qTargetCone_0_0_3_0 = __lastLabel__ == 159 ? _96 : (__lastLabel__ == 263 ? 0 : (0));
    var _100 = _qTargetCone_0_0_0_0 * _qTargetCone_0_0_0_0;
    var _101 = _qTargetCone_0_0_1_0 * _qTargetCone_0_0_1_0;
    var _102 = _100 + _101;
    var _103 = _qTargetCone_0_0_2_0 * _qTargetCone_0_0_2_0;
    var _104 = _102 + _103;
    var _105 = _qTargetCone_0_0_3_0 * _qTargetCone_0_0_3_0;
    var _106 = _104 + _105;
    var _107 = _sqrtf(_106);
    var _108 = 1 / _107;
    var _109 = _qTargetCone_0_0_0_0 * _108;
    var _110 = _qTargetCone_0_0_1_0 * _108;
    var _111 = _qTargetCone_0_0_2_0 * _108;
    var _112 = _qTargetCone_0_0_3_0 * _108;
    var _113 = 0 - _111;
    var _114 = 0 - _110;
    var _115 = 0 - _109;
    var _116 = _112 * _11;
    var _117 = _2 * _115;
    var _118 = _116 - _117;
    var _119 = _5 * _114;
    var _120 = _118 - _119;
    var _121 = _8 * _113;
    var _122 = _120 - _121;
    var _123 = _112 * _8;
    var _124 = _11 * _113;
    var _125 = _123 + _124;
    var _126 = _5 * _115;
    var _127 = _125 + _126;
    var _128 = _2 * _114;
    var _129 = _127 - _128;
    var _130 = _112 * _5;
    var _131 = _11 * _114;
    var _132 = _130 + _131;
    var _133 = _2 * _113;
    var _134 = _132 + _133;
    var _135 = _8 * _115;
    var _136 = _134 - _135;
    var _137 = _112 * _2;
    var _138 = _11 * _115;
    var _139 = _137 + _138;
    var _140 = _8 * _114;
    var _141 = _139 + _140;
    var _142 = _5 * _113;
    var _143 = _141 - _142;
    var _144 = _143 * _143;
    var _145 = _136 * _136;
    var _146 = _144 + _145;
    var _147 = _129 * _129;
    var _148 = _146 + _147;
    var _149 = _122 * _122;
    var _150 = _148 + _149;
    var _151 = _sqrtf(_150);
    var _152 = 1 / _151;
    var _153 = _143 * _152;
    var _154 = _136 * _152;
    var _155 = _129 * _152;
    var _156 = _122 * _152;
    var _157 = _this+432;
    var _158 = FHEAP[_157];
    var _159 = _158 < 0.05000000074505806;
    ;
    _bb7$_bb$14626: do { 
      if (_159) {
        __lastLabel__ = 4094; ;
      }
      else {
        __lastLabel__ = 4094; ;
        var _160 = _this+436;
        var _161 = FHEAP[_160];
        var _162 = _161 < 0.05000000074505806;
        if (_162) { __lastLabel__ = 60; __label__ = 2; /* _bb7 */ break _bb7$_bb$14626; } else { __lastLabel__ = 60; ; }
        var _163 = _112 < -1;
        var _x_addr_0_i_i_i = _163 ? -1 : _112;
        var _164 = _x_addr_0_i_i_i > 1;
        var _x_addr_1_i_i_i = _164 ? 1 : _x_addr_0_i_i_i;
        var _165 = _acosf(_x_addr_1_i_i_i);
        var _166 = _165 * 2;
        var _167 = _166 > 1.1920928955078125e-7;
        ;
        _bb_i15$__ZN21btConeTwistConstraint20computeConeLimitInfoERK12btQuaternionRfR9btVector3S3__exit$14629: do { 
          if (_167) {
            __lastLabel__ = 75; ;
            var _168 = _109 * _109;
            var _169 = _110 * _110;
            var _170 = _168 + _169;
            var _171 = _111 * _111;
            var _172 = _170 + _171;
            var _173 = _sqrtf(_172);
            var _174 = 1 / _173;
            var _175 = _109 * _174;
            var _176 = _110 * _174;
            var _177 = _111 * _174;
            var _178 = _fabsf(_176);
            var _179 = _178 > 1.1920928955078125e-7;
            if (_179) { __lastLabel__ = 2689; ; } else { __lastLabel__ = 2689; __label__ = 2690; /* __ZN21btConeTwistConstraint20computeConeLimitInfoERK12btQuaternionRfR9btVector3S3__exit */ break _bb_i15$__ZN21btConeTwistConstraint20computeConeLimitInfoERK12btQuaternionRfR9btVector3S3__exit$14629; }
            var _180 = _177 * _177;
            var _181 = _176 * _176;
            var _182 = _180 / _181;
            var _183 = _161 * _161;
            var _184 = 1 / _183;
            var _185 = _158 * _158;
            var _186 = _182 / _185;
            var _187 = _186 + _184;
            var _188 = _182 + 1;
            var _189 = _188 / _187;
            var _190 = _sqrtf(_189);
            __lastLabel__ = 133; ;
          }
          else {
            __lastLabel__ = 75; ;
          }
        } while(0);
        var _swingAxis_0_0_1 = __lastLabel__ == 133 ? _175 : (__lastLabel__ == 2689 ? _175 : (undef));
        var _swingAxis_0_1_1 = __lastLabel__ == 133 ? _176 : (__lastLabel__ == 2689 ? _176 : (undef));
        var _swingAxis_0_2_1 = __lastLabel__ == 133 ? _177 : (__lastLabel__ == 2689 ? _177 : (undef));
        var _swingLimit_1 = __lastLabel__ == 133 ? _190 : (__lastLabel__ == 2689 ? _158 : (undef));
        var _191 = _fabsf(_166);
        var _192 = _191 > 1.1920928955078125e-7;
        if (_192) { __lastLabel__ = 2690; ; } else { __lastLabel__ = 2690; __label__ = 2; /* _bb7 */ break _bb7$_bb$14626; }
        var _193 = _swingLimit_1 < _166;
        ;
        _bb6$_bb4$14634: do { 
          if (_193) {
            __lastLabel__ = 0; ;
          }
          else {
            __lastLabel__ = 0; ;
            var _194 = 0 - _swingLimit_1;
            var _195 = _166 < _194;
            if (_195) { __lastLabel__ = 61; ; } else { __lastLabel__ = 61; __label__ = 83; /* _bb6 */ break _bb6$_bb4$14634; }
            __lastLabel__ = 82; ;
          }
        } while(0);
        var _swingAngle_0 = __lastLabel__ == 82 ? _194 : (__lastLabel__ == 61 ? _166 : (_swingLimit_1));
        var _196 = _swingAxis_0_0_1 * _swingAxis_0_0_1;
        var _197 = _swingAxis_0_1_1 * _swingAxis_0_1_1;
        var _198 = _196 + _197;
        var _199 = _swingAxis_0_2_1 * _swingAxis_0_2_1;
        var _200 = _198 + _199;
        var _201 = _sqrtf(_200);
        var _202 = _swingAngle_0 * 0.5;
        var _203 = _sinf(_202);
        var _204 = _203 / _201;
        var _205 = _cosf(_202);
        var _206 = _swingAxis_0_2_1 * _204;
        var _207 = _swingAxis_0_1_1 * _204;
        var _208 = _swingAxis_0_0_1 * _204;
        __lastLabel__ = 83; ;
      }
    } while(0);
    var _qTargetCone_0_0_0_1 = __lastLabel__ == 4094 ? _109 : (__lastLabel__ == 60 ? _109 : (__lastLabel__ == 83 ? _208 : (_109)));
    var _qTargetCone_0_0_1_1 = __lastLabel__ == 4094 ? _110 : (__lastLabel__ == 60 ? _110 : (__lastLabel__ == 83 ? _207 : (_110)));
    var _qTargetCone_0_0_2_1 = __lastLabel__ == 4094 ? _111 : (__lastLabel__ == 60 ? _111 : (__lastLabel__ == 83 ? _206 : (_111)));
    var _qTargetCone_0_0_3_1 = __lastLabel__ == 4094 ? _112 : (__lastLabel__ == 60 ? _112 : (__lastLabel__ == 83 ? _205 : (_112)));
    var _209 = _this+440;
    var _210 = FHEAP[_209];
    var _211 = _210 < 0.05000000074505806;
    ;
    _bb14$_bb8$14639: do { 
      if (_211) {
        __lastLabel__ = 2; ;
      }
      else {
        __lastLabel__ = 2; ;
        var _212 = _156 < -1;
        var _x_addr_0_i_i_i16 = _212 ? -1 : _156;
        var _213 = _x_addr_0_i_i_i16 > 1;
        var _x_addr_1_i_i_i17 = _213 ? 1 : _x_addr_0_i_i_i16;
        var _214 = _acosf(_x_addr_1_i_i_i17);
        var _215 = _214 * 2;
        var _216 = _215 > 3.1415927410125732;
        ;
        if (_216) {
          __lastLabel__ = 148; ;
          var _217 = 0 - _156;
          var _218 = 0 - _155;
          var _219 = 0 - _154;
          var _220 = 0 - _153;
          var _221 = _217 < -1;
          var _x_addr_0_i_i7_i = _221 ? -1 : _217;
          var _222 = _x_addr_0_i_i7_i > 1;
          var _x_addr_1_i_i8_i = _222 ? 1 : _x_addr_0_i_i7_i;
          var _223 = _acosf(_x_addr_1_i_i8_i);
          var _224 = _223 * 2;
          __lastLabel__ = 2694; ;
        }
        else {
          __lastLabel__ = 148; ;
        }
        var _twistAngle_1 = __lastLabel__ == 2694 ? _224 : (_215);
        var _225 = __lastLabel__ == 2694 ? _220 : (_153);
        var _226 = __lastLabel__ == 2694 ? _219 : (_154);
        var _227 = __lastLabel__ == 2694 ? _218 : (_155);
        var _228 = _twistAngle_1 > 1.1920928955078125e-7;
        ;
        if (_228) {
          __lastLabel__ = 2837; ;
          var _229 = _225 * _225;
          var _230 = _226 * _226;
          var _231 = _229 + _230;
          var _232 = _227 * _227;
          var _233 = _231 + _232;
          var _234 = _sqrtf(_233);
          var _235 = 1 / _234;
          var _236 = _225 * _235;
          var _237 = _226 * _235;
          var _238 = _227 * _235;
          __lastLabel__ = 300; ;
        }
        else {
          __lastLabel__ = 2837; ;
        }
        var _twistAxis_0_0_0 = __lastLabel__ == 300 ? _236 : (_225);
        var _twistAxis_0_1_0 = __lastLabel__ == 300 ? _237 : (_226);
        var _twistAxis_0_2_0 = __lastLabel__ == 300 ? _238 : (_227);
        var _239 = _fabsf(_twistAngle_1);
        var _240 = _239 > 1.1920928955078125e-7;
        if (_240) { __lastLabel__ = 2697; ; } else { __lastLabel__ = 2697; __label__ = 63; /* _bb14 */ break _bb14$_bb8$14639; }
        var _241 = _210 < _twistAngle_1;
        ;
        _bb13$_bb11$14648: do { 
          if (_241) {
            __lastLabel__ = 62; ;
          }
          else {
            __lastLabel__ = 62; ;
            var _242 = 0 - _210;
            var _243 = _twistAngle_1 < _242;
            if (_243) { __lastLabel__ = 292; ; } else { __lastLabel__ = 292; __label__ = 108; /* _bb13 */ break _bb13$_bb11$14648; }
            __lastLabel__ = 3; ;
          }
        } while(0);
        var _twistAngle_0 = __lastLabel__ == 3 ? _242 : (__lastLabel__ == 292 ? _twistAngle_1 : (_210));
        var _244 = _twistAxis_0_0_0 * _twistAxis_0_0_0;
        var _245 = _twistAxis_0_1_0 * _twistAxis_0_1_0;
        var _246 = _244 + _245;
        var _247 = _twistAxis_0_2_0 * _twistAxis_0_2_0;
        var _248 = _246 + _247;
        var _249 = _sqrtf(_248);
        var _250 = _twistAngle_0 * 0.5;
        var _251 = _sinf(_250);
        var _252 = _251 / _249;
        var _253 = _cosf(_250);
        var _254 = _twistAxis_0_2_0 * _252;
        var _255 = _twistAxis_0_1_0 * _252;
        var _256 = _twistAxis_0_0_0 * _252;
        __lastLabel__ = 108; ;
      }
    } while(0);
    var _qTargetTwist_0_0_0_0 = __lastLabel__ == 2 ? _153 : (__lastLabel__ == 108 ? _256 : (_153));
    var _qTargetTwist_0_0_1_0 = __lastLabel__ == 2 ? _154 : (__lastLabel__ == 108 ? _255 : (_154));
    var _qTargetTwist_0_0_2_0 = __lastLabel__ == 2 ? _155 : (__lastLabel__ == 108 ? _254 : (_155));
    var _qTargetTwist_0_0_3_0 = __lastLabel__ == 2 ? _156 : (__lastLabel__ == 108 ? _253 : (_156));
    var _257 = _qTargetCone_0_0_3_1 * _qTargetTwist_0_0_3_0;
    var _258 = _qTargetCone_0_0_0_1 * _qTargetTwist_0_0_0_0;
    var _259 = _257 - _258;
    var _260 = _qTargetCone_0_0_1_1 * _qTargetTwist_0_0_1_0;
    var _261 = _259 - _260;
    var _262 = _qTargetCone_0_0_2_1 * _qTargetTwist_0_0_2_0;
    var _263 = _261 - _262;
    var _264 = _qTargetCone_0_0_3_1 * _qTargetTwist_0_0_2_0;
    var _265 = _qTargetCone_0_0_2_1 * _qTargetTwist_0_0_3_0;
    var _266 = _264 + _265;
    var _267 = _qTargetCone_0_0_0_1 * _qTargetTwist_0_0_1_0;
    var _268 = _266 + _267;
    var _269 = _qTargetCone_0_0_1_1 * _qTargetTwist_0_0_0_0;
    var _270 = _268 - _269;
    var _271 = _qTargetCone_0_0_3_1 * _qTargetTwist_0_0_1_0;
    var _272 = _qTargetCone_0_0_1_1 * _qTargetTwist_0_0_3_0;
    var _273 = _271 + _272;
    var _274 = _qTargetCone_0_0_2_1 * _qTargetTwist_0_0_0_0;
    var _275 = _273 + _274;
    var _276 = _qTargetCone_0_0_0_1 * _qTargetTwist_0_0_2_0;
    var _277 = _275 - _276;
    var _278 = _qTargetCone_0_0_3_1 * _qTargetTwist_0_0_0_0;
    var _279 = _qTargetCone_0_0_0_1 * _qTargetTwist_0_0_3_0;
    var _280 = _278 + _279;
    var _281 = _qTargetCone_0_0_1_1 * _qTargetTwist_0_0_2_0;
    var _282 = _280 + _281;
    var _283 = _qTargetCone_0_0_2_1 * _qTargetTwist_0_0_1_0;
    var _284 = _282 - _283;
    FHEAP[_0] = _284;
    FHEAP[_3] = _277;
    FHEAP[_6] = _270;
    FHEAP[_9] = _263;
    ;
    return;
  }
  __ZN21btConeTwistConstraint31setMotorTargetInConstraintSpaceERK12btQuaternion.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraint31setMotorTargetInConstraintSpaceERK12btQuaternion, "__ZN21btConeTwistConstraint31setMotorTargetInConstraintSpaceERK12btQuaternion");
  
  
  function __ZN21btConeTwistConstraint14calcAngleInfo2ERK11btTransformS2_RK11btMatrix3x3S5_(_this, _transA, _transB, _invInertiaWorldA, _invInertiaWorldB) {
    var __stackBase__  = STACKTOP; STACKTOP += 144;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _3 = __stackBase__+48;
    var _trDeltaAB = __stackBase__+64;
    var _qDeltaAB = __stackBase__+128;
    var _4 = _this+492;
    FHEAP[_4] = 0;
    var _5 = _this+488;
    FHEAP[_5] = 0;
    var _6 = _this+513;
    IHEAP[_6] = 0;
    var _7 = _this+514;
    IHEAP[_7] = 0;
    var _8 = _this+540;
    var _9 = IHEAP[_8];
    var _toBool = _9 == 0;
    ;
    _bb10$_bb$14655: do { 
      if (_toBool) {
        __label__ = 150; /* _bb10 */ 
      }
      else {
        ;
        var _10 = _this+515;
        var _11 = IHEAP[_10];
        var _toBool1not = _11 == 0;
        if (!(_toBool1not)) { __label__ = 150; /* _bb10 */ break _bb10$_bb$14655; }
        var _12 = _this+544;
        var _13 = FHEAP[_12];
        var _14 = _13 * _13;
        var _15 = _this+544+4;
        var _16 = FHEAP[_15];
        var _17 = _16 * _16;
        var _18 = _14 + _17;
        var _19 = _this+544+8;
        var _20 = FHEAP[_19];
        var _21 = _20 * _20;
        var _22 = _18 + _21;
        var _23 = _this+544+12;
        var _24 = FHEAP[_23];
        var _25 = _24 * _24;
        var _26 = _22 + _25;
        var _27 = 2 / _26;
        var _28 = _13 * _27;
        var _29 = _16 * _27;
        var _30 = _20 * _27;
        var _31 = _24 * _28;
        var _32 = _24 * _29;
        var _33 = _24 * _30;
        var _34 = _13 * _28;
        var _35 = _13 * _29;
        var _36 = _13 * _30;
        var _37 = _16 * _29;
        var _38 = _16 * _30;
        var _39 = _20 * _30;
        var _40 = _34 + _37;
        var _41 = 1 - _40;
        var _42 = _38 + _31;
        var _43 = _36 - _32;
        var _44 = _38 - _31;
        var _45 = _34 + _39;
        var _46 = 1 - _45;
        var _47 = _35 + _33;
        var _48 = _36 + _32;
        var _49 = _35 - _33;
        var _50 = _37 + _39;
        var _51 = 1 - _50;
        var _52 = _transA+32;
        var _53 = FHEAP[_52];
        var _54 = _this+288+48;
        var _55 = FHEAP[_54];
        var _56 = _53 * _55;
        var _57 = _transA+32+4;
        var _58 = FHEAP[_57];
        var _59 = _this+288+48+4;
        var _60 = FHEAP[_59];
        var _61 = _58 * _60;
        var _62 = _56 + _61;
        var _63 = _transA+32+8;
        var _64 = FHEAP[_63];
        var _65 = _this+288+48+8;
        var _66 = FHEAP[_65];
        var _67 = _64 * _66;
        var _68 = _62 + _67;
        var _69 = _transA+48+8;
        var _70 = FHEAP[_69];
        var _71 = _68 + _70;
        var _72 = _transA+16;
        var _73 = FHEAP[_72];
        var _74 = _73 * _55;
        var _75 = _transA+16+4;
        var _76 = FHEAP[_75];
        var _77 = _76 * _60;
        var _78 = _74 + _77;
        var _79 = _transA+16+8;
        var _80 = FHEAP[_79];
        var _81 = _80 * _66;
        var _82 = _78 + _81;
        var _83 = _transA+48+4;
        var _84 = FHEAP[_83];
        var _85 = _82 + _84;
        var _86 = _transA;
        var _87 = FHEAP[_86];
        var _88 = _87 * _55;
        var _89 = _transA+4;
        var _90 = FHEAP[_89];
        var _91 = _90 * _60;
        var _92 = _88 + _91;
        var _93 = _transA+8;
        var _94 = FHEAP[_93];
        var _95 = _94 * _66;
        var _96 = _92 + _95;
        var _97 = _transA+48;
        var _98 = FHEAP[_97];
        var _99 = _96 + _98;
        var _100 = _this+288+8;
        var _101 = FHEAP[_100];
        var _102 = _101 * _53;
        var _103 = _this+288+16+8;
        var _104 = FHEAP[_103];
        var _105 = _104 * _58;
        var _106 = _102 + _105;
        var _107 = _this+288+32+8;
        var _108 = FHEAP[_107];
        var _109 = _108 * _64;
        var _110 = _106 + _109;
        var _111 = _this+288+4;
        var _112 = FHEAP[_111];
        var _113 = _112 * _53;
        var _114 = _this+288+16+4;
        var _115 = FHEAP[_114];
        var _116 = _115 * _58;
        var _117 = _113 + _116;
        var _118 = _this+288+32+4;
        var _119 = FHEAP[_118];
        var _120 = _119 * _64;
        var _121 = _117 + _120;
        var _122 = _this+288;
        var _123 = FHEAP[_122];
        var _124 = _123 * _53;
        var _125 = _this+288+16;
        var _126 = FHEAP[_125];
        var _127 = _126 * _58;
        var _128 = _124 + _127;
        var _129 = _this+288+32;
        var _130 = FHEAP[_129];
        var _131 = _130 * _64;
        var _132 = _128 + _131;
        var _133 = _101 * _73;
        var _134 = _104 * _76;
        var _135 = _133 + _134;
        var _136 = _108 * _80;
        var _137 = _135 + _136;
        var _138 = _112 * _73;
        var _139 = _115 * _76;
        var _140 = _138 + _139;
        var _141 = _119 * _80;
        var _142 = _140 + _141;
        var _143 = _123 * _73;
        var _144 = _126 * _76;
        var _145 = _143 + _144;
        var _146 = _130 * _80;
        var _147 = _145 + _146;
        var _148 = _101 * _87;
        var _149 = _104 * _90;
        var _150 = _148 + _149;
        var _151 = _108 * _94;
        var _152 = _150 + _151;
        var _153 = _112 * _87;
        var _154 = _115 * _90;
        var _155 = _153 + _154;
        var _156 = _119 * _94;
        var _157 = _155 + _156;
        var _158 = _123 * _87;
        var _159 = _126 * _90;
        var _160 = _158 + _159;
        var _161 = _130 * _94;
        var _162 = _160 + _161;
        var _163 = _transB+32;
        var _164 = FHEAP[_163];
        var _165 = _this+352+48;
        var _166 = FHEAP[_165];
        var _167 = _164 * _166;
        var _168 = _transB+32+4;
        var _169 = FHEAP[_168];
        var _170 = _this+352+48+4;
        var _171 = FHEAP[_170];
        var _172 = _169 * _171;
        var _173 = _167 + _172;
        var _174 = _transB+32+8;
        var _175 = FHEAP[_174];
        var _176 = _this+352+48+8;
        var _177 = FHEAP[_176];
        var _178 = _175 * _177;
        var _179 = _173 + _178;
        var _180 = _transB+48+8;
        var _181 = FHEAP[_180];
        var _182 = _179 + _181;
        var _183 = _transB+16;
        var _184 = FHEAP[_183];
        var _185 = _184 * _166;
        var _186 = _transB+16+4;
        var _187 = FHEAP[_186];
        var _188 = _187 * _171;
        var _189 = _185 + _188;
        var _190 = _transB+16+8;
        var _191 = FHEAP[_190];
        var _192 = _191 * _177;
        var _193 = _189 + _192;
        var _194 = _transB+48+4;
        var _195 = FHEAP[_194];
        var _196 = _193 + _195;
        var _197 = _transB;
        var _198 = FHEAP[_197];
        var _199 = _198 * _166;
        var _200 = _transB+4;
        var _201 = FHEAP[_200];
        var _202 = _201 * _171;
        var _203 = _199 + _202;
        var _204 = _transB+8;
        var _205 = FHEAP[_204];
        var _206 = _205 * _177;
        var _207 = _203 + _206;
        var _208 = _transB+48;
        var _209 = FHEAP[_208];
        var _210 = _207 + _209;
        var _211 = _this+352+8;
        var _212 = FHEAP[_211];
        var _213 = _212 * _164;
        var _214 = _this+352+16+8;
        var _215 = FHEAP[_214];
        var _216 = _215 * _169;
        var _217 = _213 + _216;
        var _218 = _this+352+32+8;
        var _219 = FHEAP[_218];
        var _220 = _219 * _175;
        var _221 = _217 + _220;
        var _222 = _this+352+4;
        var _223 = FHEAP[_222];
        var _224 = _223 * _164;
        var _225 = _this+352+16+4;
        var _226 = FHEAP[_225];
        var _227 = _226 * _169;
        var _228 = _224 + _227;
        var _229 = _this+352+32+4;
        var _230 = FHEAP[_229];
        var _231 = _230 * _175;
        var _232 = _228 + _231;
        var _233 = _this+352;
        var _234 = FHEAP[_233];
        var _235 = _234 * _164;
        var _236 = _this+352+16;
        var _237 = FHEAP[_236];
        var _238 = _237 * _169;
        var _239 = _235 + _238;
        var _240 = _this+352+32;
        var _241 = FHEAP[_240];
        var _242 = _241 * _175;
        var _243 = _239 + _242;
        var _244 = _212 * _184;
        var _245 = _215 * _187;
        var _246 = _244 + _245;
        var _247 = _219 * _191;
        var _248 = _246 + _247;
        var _249 = _223 * _184;
        var _250 = _226 * _187;
        var _251 = _249 + _250;
        var _252 = _230 * _191;
        var _253 = _251 + _252;
        var _254 = _234 * _184;
        var _255 = _237 * _187;
        var _256 = _254 + _255;
        var _257 = _241 * _191;
        var _258 = _256 + _257;
        var _259 = _212 * _198;
        var _260 = _215 * _201;
        var _261 = _259 + _260;
        var _262 = _219 * _205;
        var _263 = _261 + _262;
        var _264 = _223 * _198;
        var _265 = _226 * _201;
        var _266 = _264 + _265;
        var _267 = _230 * _205;
        var _268 = _266 + _267;
        var _269 = _234 * _198;
        var _270 = _237 * _201;
        var _271 = _269 + _270;
        var _272 = _241 * _205;
        var _273 = _271 + _272;
        var _274 = 0 - _71;
        var _275 = 0 - _85;
        var _276 = 0 - _99;
        var _277 = _152 * _276;
        var _278 = _137 * _275;
        var _279 = _277 + _278;
        var _280 = _110 * _274;
        var _281 = _279 + _280;
        var _282 = _157 * _276;
        var _283 = _142 * _275;
        var _284 = _282 + _283;
        var _285 = _121 * _274;
        var _286 = _284 + _285;
        var _287 = _162 * _276;
        var _288 = _147 * _275;
        var _289 = _287 + _288;
        var _290 = _132 * _274;
        var _291 = _289 + _290;
        var _292 = _243 * 0;
        var _293 = _232 * 0;
        var _294 = _292 + _293;
        var _295 = _221 * 0;
        var _296 = _294 + _295;
        var _297 = _296 + _182;
        var _298 = _258 * 0;
        var _299 = _253 * 0;
        var _300 = _298 + _299;
        var _301 = _248 * 0;
        var _302 = _300 + _301;
        var _303 = _302 + _196;
        var _304 = _273 * 0;
        var _305 = _268 * 0;
        var _306 = _304 + _305;
        var _307 = _263 * 0;
        var _308 = _306 + _307;
        var _309 = _308 + _210;
        var _310 = _48 * _243;
        var _311 = _44 * _232;
        var _312 = _310 + _311;
        var _313 = _41 * _221;
        var _314 = _312 + _313;
        var _315 = _49 * _243;
        var _316 = _46 * _232;
        var _317 = _315 + _316;
        var _318 = _42 * _221;
        var _319 = _317 + _318;
        var _320 = _51 * _243;
        var _321 = _47 * _232;
        var _322 = _320 + _321;
        var _323 = _43 * _221;
        var _324 = _322 + _323;
        var _325 = _48 * _258;
        var _326 = _44 * _253;
        var _327 = _325 + _326;
        var _328 = _41 * _248;
        var _329 = _327 + _328;
        var _330 = _49 * _258;
        var _331 = _46 * _253;
        var _332 = _330 + _331;
        var _333 = _42 * _248;
        var _334 = _332 + _333;
        var _335 = _51 * _258;
        var _336 = _47 * _253;
        var _337 = _335 + _336;
        var _338 = _43 * _248;
        var _339 = _337 + _338;
        var _340 = _48 * _273;
        var _341 = _44 * _268;
        var _342 = _340 + _341;
        var _343 = _41 * _263;
        var _344 = _342 + _343;
        var _345 = _49 * _273;
        var _346 = _46 * _268;
        var _347 = _345 + _346;
        var _348 = _42 * _263;
        var _349 = _347 + _348;
        var _350 = _51 * _273;
        var _351 = _47 * _268;
        var _352 = _350 + _351;
        var _353 = _43 * _263;
        var _354 = _352 + _353;
        var _355 = _324 * _291;
        var _356 = _319 * _286;
        var _357 = _355 + _356;
        var _358 = _314 * _281;
        var _359 = _357 + _358;
        var _360 = _359 + _297;
        var _361 = _339 * _291;
        var _362 = _334 * _286;
        var _363 = _361 + _362;
        var _364 = _329 * _281;
        var _365 = _363 + _364;
        var _366 = _365 + _303;
        var _367 = _354 * _291;
        var _368 = _349 * _286;
        var _369 = _367 + _368;
        var _370 = _344 * _281;
        var _371 = _369 + _370;
        var _372 = _371 + _309;
        var _373 = _132 * _324;
        var _374 = _121 * _319;
        var _375 = _373 + _374;
        var _376 = _110 * _314;
        var _377 = _375 + _376;
        var _378 = _147 * _324;
        var _379 = _142 * _319;
        var _380 = _378 + _379;
        var _381 = _137 * _314;
        var _382 = _380 + _381;
        var _383 = _162 * _324;
        var _384 = _157 * _319;
        var _385 = _383 + _384;
        var _386 = _152 * _314;
        var _387 = _385 + _386;
        var _388 = _132 * _339;
        var _389 = _121 * _334;
        var _390 = _388 + _389;
        var _391 = _110 * _329;
        var _392 = _390 + _391;
        var _393 = _147 * _339;
        var _394 = _142 * _334;
        var _395 = _393 + _394;
        var _396 = _137 * _329;
        var _397 = _395 + _396;
        var _398 = _162 * _339;
        var _399 = _157 * _334;
        var _400 = _398 + _399;
        var _401 = _152 * _329;
        var _402 = _400 + _401;
        var _403 = _132 * _354;
        var _404 = _121 * _349;
        var _405 = _403 + _404;
        var _406 = _110 * _344;
        var _407 = _405 + _406;
        var _408 = _147 * _354;
        var _409 = _142 * _349;
        var _410 = _408 + _409;
        var _411 = _137 * _344;
        var _412 = _410 + _411;
        var _413 = _162 * _354;
        var _414 = _157 * _349;
        var _415 = _413 + _414;
        var _416 = _152 * _344;
        var _417 = _415 + _416;
        var _418 = _trDeltaAB;
        FHEAP[_418] = _417;
        var _419 = _trDeltaAB+4;
        FHEAP[_419] = _412;
        var _420 = _trDeltaAB+8;
        FHEAP[_420] = _407;
        var _421 = _trDeltaAB+12;
        FHEAP[_421] = 0;
        var _422 = _trDeltaAB+16;
        FHEAP[_422] = _402;
        var _423 = _trDeltaAB+16+4;
        FHEAP[_423] = _397;
        var _424 = _trDeltaAB+16+8;
        FHEAP[_424] = _392;
        var _425 = _trDeltaAB+16+12;
        FHEAP[_425] = 0;
        var _426 = _trDeltaAB+32;
        FHEAP[_426] = _387;
        var _427 = _trDeltaAB+32+4;
        FHEAP[_427] = _382;
        var _428 = _trDeltaAB+32+8;
        FHEAP[_428] = _377;
        var _429 = _trDeltaAB+32+12;
        FHEAP[_429] = 0;
        var _430 = _trDeltaAB+48;
        FHEAP[_430] = _372;
        var _431 = _trDeltaAB+48+4;
        FHEAP[_431] = _366;
        var _432 = _trDeltaAB+48+8;
        FHEAP[_432] = _360;
        var _433 = _trDeltaAB+48+12;
        FHEAP[_433] = 0;
        var _434 = _trDeltaAB;
        __ZNK11btMatrix3x311getRotationER12btQuaternion(_434, _qDeltaAB);
        var _435 = _qDeltaAB+8;
        var _436 = _qDeltaAB+4;
        var _437 = _qDeltaAB;
        var _438 = FHEAP[_437];
        var _439 = FHEAP[_436];
        var _440 = FHEAP[_435];
        var _441 = _this+448;
        FHEAP[_441] = _438;
        var _442 = _this+448+4;
        FHEAP[_442] = _439;
        var _443 = _this+448+8;
        FHEAP[_443] = _440;
        var _444 = _this+448+12;
        FHEAP[_444] = 0;
        var _445 = _438 * _438;
        var _446 = _439 * _439;
        var _447 = _445 + _446;
        var _448 = _440 * _440;
        var _449 = _447 + _448;
        var _450 = _sqrtf(_449);
        var _451 = 1 / _450;
        var _452 = _438 * _451;
        FHEAP[_441] = _452;
        var _453 = _439 * _451;
        FHEAP[_442] = _453;
        var _454 = _440 * _451;
        FHEAP[_443] = _454;
        var _455 = _qDeltaAB+12;
        var _456 = FHEAP[_455];
        var _457 = _456 < -1;
        var _x_addr_0_i_i = _457 ? -1 : _456;
        var _458 = _x_addr_0_i_i > 1;
        var _x_addr_1_i_i = _458 ? 1 : _x_addr_0_i_i;
        var _459 = _acosf(_x_addr_1_i_i);
        var _460 = _459 * 2;
        FHEAP[_4] = _460;
        var _461 = _fabsf(_460);
        var _462 = _461 < 1.1920928955078125e-7;
        if (_462) { __label__ = 44; /* _return */ break _bb10$_bb$14655; }
        IHEAP[_7] = 1;
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    _bb10$_return$14659: do { 
      if (__label__ == 150) {
        var _463 = _this+288;
        __ZNK11btMatrix3x311getRotationER12btQuaternion(_463, _3);
        var _464 = _transA;
        __ZNK11btMatrix3x311getRotationER12btQuaternion(_464, _2);
        var _465 = _2+12;
        var _466 = FHEAP[_465];
        var _467 = _3+12;
        var _468 = FHEAP[_467];
        var _469 = _466 * _468;
        var _470 = _2;
        var _471 = FHEAP[_470];
        var _472 = _3;
        var _473 = FHEAP[_472];
        var _474 = _471 * _473;
        var _475 = _469 - _474;
        var _476 = _2+4;
        var _477 = FHEAP[_476];
        var _478 = _3+4;
        var _479 = FHEAP[_478];
        var _480 = _477 * _479;
        var _481 = _475 - _480;
        var _482 = _2+8;
        var _483 = FHEAP[_482];
        var _484 = _3+8;
        var _485 = FHEAP[_484];
        var _486 = _483 * _485;
        var _487 = _481 - _486;
        var _488 = _466 * _485;
        var _489 = _483 * _468;
        var _490 = _488 + _489;
        var _491 = _471 * _479;
        var _492 = _490 + _491;
        var _493 = _477 * _473;
        var _494 = _492 - _493;
        var _495 = _466 * _479;
        var _496 = _477 * _468;
        var _497 = _495 + _496;
        var _498 = _483 * _473;
        var _499 = _497 + _498;
        var _500 = _471 * _485;
        var _501 = _499 - _500;
        var _502 = _466 * _473;
        var _503 = _471 * _468;
        var _504 = _502 + _503;
        var _505 = _477 * _485;
        var _506 = _504 + _505;
        var _507 = _483 * _479;
        var _508 = _506 - _507;
        var _509 = _this+352;
        __ZNK11btMatrix3x311getRotationER12btQuaternion(_509, _1);
        var _510 = _transB;
        __ZNK11btMatrix3x311getRotationER12btQuaternion(_510, _0);
        var _511 = _0+12;
        var _512 = FHEAP[_511];
        var _513 = _1+12;
        var _514 = FHEAP[_513];
        var _515 = _512 * _514;
        var _516 = _0;
        var _517 = FHEAP[_516];
        var _518 = _1;
        var _519 = FHEAP[_518];
        var _520 = _517 * _519;
        var _521 = _515 - _520;
        var _522 = _0+4;
        var _523 = FHEAP[_522];
        var _524 = _1+4;
        var _525 = FHEAP[_524];
        var _526 = _523 * _525;
        var _527 = _521 - _526;
        var _528 = _0+8;
        var _529 = FHEAP[_528];
        var _530 = _1+8;
        var _531 = FHEAP[_530];
        var _532 = _529 * _531;
        var _533 = _527 - _532;
        var _534 = _512 * _531;
        var _535 = _529 * _514;
        var _536 = _534 + _535;
        var _537 = _517 * _525;
        var _538 = _536 + _537;
        var _539 = _523 * _519;
        var _540 = _538 - _539;
        var _541 = _512 * _525;
        var _542 = _523 * _514;
        var _543 = _541 + _542;
        var _544 = _529 * _519;
        var _545 = _543 + _544;
        var _546 = _517 * _531;
        var _547 = _545 - _546;
        var _548 = _512 * _519;
        var _549 = _517 * _514;
        var _550 = _548 + _549;
        var _551 = _523 * _531;
        var _552 = _550 + _551;
        var _553 = _529 * _525;
        var _554 = _552 - _553;
        var _555 = 0 - _540;
        var _556 = 0 - _547;
        var _557 = 0 - _554;
        var _558 = _533 * _487;
        var _559 = _508 * _557;
        var _560 = _558 - _559;
        var _561 = _501 * _556;
        var _562 = _560 - _561;
        var _563 = _494 * _555;
        var _564 = _562 - _563;
        var _565 = _533 * _494;
        var _566 = _487 * _555;
        var _567 = _565 + _566;
        var _568 = _501 * _557;
        var _569 = _567 + _568;
        var _570 = _508 * _556;
        var _571 = _569 - _570;
        var _572 = _533 * _501;
        var _573 = _487 * _556;
        var _574 = _572 + _573;
        var _575 = _508 * _555;
        var _576 = _574 + _575;
        var _577 = _494 * _557;
        var _578 = _576 - _577;
        var _579 = _533 * _508;
        var _580 = _487 * _557;
        var _581 = _579 + _580;
        var _582 = _494 * _556;
        var _583 = _581 + _582;
        var _584 = _501 * _555;
        var _585 = _583 - _584;
        var _586 = 0 - _585;
        var _587 = FHEAP[__ZL6vTwist];
        var _588 = _587 * _586;
        var _589 = FHEAP[__ZL6vTwist+4];
        var _590 = _578 * _589;
        var _591 = _588 - _590;
        var _592 = FHEAP[__ZL6vTwist+8];
        var _593 = _571 * _592;
        var _594 = _591 - _593;
        var _595 = _564 * _592;
        var _596 = _585 * _589;
        var _597 = _595 + _596;
        var _598 = _578 * _587;
        var _599 = _597 - _598;
        var _600 = _564 * _589;
        var _601 = _571 * _587;
        var _602 = _600 + _601;
        var _603 = _585 * _592;
        var _604 = _602 - _603;
        var _605 = _564 * _587;
        var _606 = _578 * _592;
        var _607 = _605 + _606;
        var _608 = _571 * _589;
        var _609 = _607 - _608;
        var _610 = 0 - _571;
        var _611 = 0 - _578;
        var _612 = _594 * _610;
        var _613 = _599 * _564;
        var _614 = _612 + _613;
        var _615 = _609 * _611;
        var _616 = _614 + _615;
        var _617 = _604 * _586;
        var _618 = _616 - _617;
        var _619 = _594 * _611;
        var _620 = _604 * _564;
        var _621 = _619 + _620;
        var _622 = _599 * _586;
        var _623 = _621 + _622;
        var _624 = _609 * _610;
        var _625 = _623 - _624;
        var _626 = _594 * _586;
        var _627 = _609 * _564;
        var _628 = _626 + _627;
        var _629 = _604 * _610;
        var _630 = _628 + _629;
        var _631 = _599 * _611;
        var _632 = _630 - _631;
        var _633 = _632 * _632;
        var _634 = _625 * _625;
        var _635 = _633 + _634;
        var _636 = _618 * _618;
        var _637 = _635 + _636;
        var _638 = _sqrtf(_637);
        var _639 = 1 / _638;
        var _640 = _632 * _639;
        var _641 = _625 * _639;
        var _642 = _618 * _639;
        var _643 = _587 * _640;
        var _644 = _589 * _641;
        var _645 = _643 + _644;
        var _646 = _592 * _642;
        var _647 = _645 + _646;
        var _648 = _647 < -0.9999998807907104;
        ;
        if (_648) {
          ;
          var _649 = _fabsf(_592);
          var _650 = _649 > 0.7071067690849304;
          ;
          if (_650) {
            ;
            var _651 = _589 * _589;
            var _652 = _592 * _592;
            var _653 = _651 + _652;
            var _654 = _sqrtf(_653);
            var _655 = 1 / _654;
            var _656 = 0 - _592;
            var _657 = _655 * _656;
            var _658 = _589 * _655;
            __lastLabel__ = 263; ;
          }
          else {
            ;
            var _659 = _587 * _587;
            var _660 = _589 * _589;
            var _661 = _659 + _660;
            var _662 = _sqrtf(_661);
            var _663 = 1 / _662;
            var _664 = 0 - _589;
            var _665 = _663 * _664;
            var _666 = _587 * _663;
            __lastLabel__ = 265; ;
          }
        }
        else {
          ;
          var _667 = _592 * _641;
          var _668 = _589 * _642;
          var _669 = _587 * _642;
          var _670 = _592 * _640;
          var _671 = _589 * _640;
          var _672 = _587 * _641;
          var _673 = _668 - _667;
          var _674 = _670 - _669;
          var _675 = _672 - _671;
          var _676 = _647 + 1;
          var _677 = _676 * 2;
          var _678 = _sqrtf(_677);
          var _679 = 1 / _678;
          var _680 = _678 * 0.5;
          var _681 = _675 * _679;
          var _682 = _674 * _679;
          var _683 = _673 * _679;
          __lastLabel__ = 2701; ;
        }
        var _qABCone_0_0_0_0 = __lastLabel__ == 2701 ? _683 : (__lastLabel__ == 263 ? 0 : (_665));
        var _qABCone_0_0_1_0 = __lastLabel__ == 2701 ? _682 : (__lastLabel__ == 263 ? _657 : (_666));
        var _qABCone_0_0_2_0 = __lastLabel__ == 2701 ? _681 : (__lastLabel__ == 263 ? _658 : (0));
        var _qABCone_0_0_3_0 = __lastLabel__ == 2701 ? _680 : (__lastLabel__ == 263 ? 0 : (0));
        var _684 = _qABCone_0_0_0_0 * _qABCone_0_0_0_0;
        var _685 = _qABCone_0_0_1_0 * _qABCone_0_0_1_0;
        var _686 = _684 + _685;
        var _687 = _qABCone_0_0_2_0 * _qABCone_0_0_2_0;
        var _688 = _686 + _687;
        var _689 = _qABCone_0_0_3_0 * _qABCone_0_0_3_0;
        var _690 = _688 + _689;
        var _691 = _sqrtf(_690);
        var _692 = 1 / _691;
        var _693 = _qABCone_0_0_0_0 * _692;
        var _694 = _qABCone_0_0_1_0 * _692;
        var _695 = _qABCone_0_0_2_0 * _692;
        var _696 = _qABCone_0_0_3_0 * _692;
        var _697 = 0 - _695;
        var _698 = 0 - _694;
        var _699 = 0 - _693;
        var _700 = _696 * _564;
        var _701 = _585 * _699;
        var _702 = _700 - _701;
        var _703 = _578 * _698;
        var _704 = _702 - _703;
        var _705 = _571 * _697;
        var _706 = _704 - _705;
        var _707 = _696 * _571;
        var _708 = _564 * _697;
        var _709 = _707 + _708;
        var _710 = _578 * _699;
        var _711 = _709 + _710;
        var _712 = _585 * _698;
        var _713 = _711 - _712;
        var _714 = _696 * _578;
        var _715 = _564 * _698;
        var _716 = _714 + _715;
        var _717 = _585 * _697;
        var _718 = _716 + _717;
        var _719 = _571 * _699;
        var _720 = _718 - _719;
        var _721 = _696 * _585;
        var _722 = _564 * _699;
        var _723 = _721 + _722;
        var _724 = _571 * _698;
        var _725 = _723 + _724;
        var _726 = _578 * _697;
        var _727 = _725 - _726;
        var _728 = _727 * _727;
        var _729 = _720 * _720;
        var _730 = _728 + _729;
        var _731 = _713 * _713;
        var _732 = _730 + _731;
        var _733 = _706 * _706;
        var _734 = _732 + _733;
        var _735 = _sqrtf(_734);
        var _736 = 1 / _735;
        var _737 = _727 * _736;
        var _738 = _720 * _736;
        var _739 = _713 * _736;
        var _740 = _706 * _736;
        var _741 = _this+432;
        var _742 = FHEAP[_741];
        var _743 = _this+444;
        var _744 = FHEAP[_743];
        var _745 = _742 < _744;
        ;
        _bb18$_bb11$14668: do { 
          if (_745) {
            __label__ = 86; /* _bb18 */ 
          }
          else {
            ;
            var _746 = _this+436;
            var _747 = FHEAP[_746];
            var _748 = _747 < _744;
            if (_748) { __label__ = 86; /* _bb18 */ break _bb18$_bb11$14668; }
            var _749 = _696 < -1;
            var _x_addr_0_i_i_i84 = _749 ? -1 : _696;
            var _750 = _x_addr_0_i_i_i84 > 1;
            var _x_addr_1_i_i_i85 = _750 ? 1 : _x_addr_0_i_i_i84;
            var _751 = _acosf(_x_addr_1_i_i_i85);
            var _752 = _751 * 2;
            var _753 = _752 > 1.1920928955078125e-7;
            ;
            _bb_i86$__ZN21btConeTwistConstraint20computeConeLimitInfoERK12btQuaternionRfR9btVector3S3__exit$14671: do { 
              if (_753) {
                __lastLabel__ = 3; ;
                var _754 = _693 * _693;
                var _755 = _694 * _694;
                var _756 = _754 + _755;
                var _757 = _695 * _695;
                var _758 = _756 + _757;
                var _759 = _sqrtf(_758);
                var _760 = 1 / _759;
                var _761 = _693 * _760;
                var _762 = _694 * _760;
                var _763 = _695 * _760;
                var _764 = _fabsf(_762);
                var _765 = _764 > 1.1920928955078125e-7;
                if (_765) { __lastLabel__ = 2702; ; } else { __lastLabel__ = 2702; __label__ = 2690; /* __ZN21btConeTwistConstraint20computeConeLimitInfoERK12btQuaternionRfR9btVector3S3__exit */ break _bb_i86$__ZN21btConeTwistConstraint20computeConeLimitInfoERK12btQuaternionRfR9btVector3S3__exit$14671; }
                var _766 = _763 * _763;
                var _767 = _762 * _762;
                var _768 = _766 / _767;
                var _769 = _747 * _747;
                var _770 = 1 / _769;
                var _771 = _742 * _742;
                var _772 = _768 / _771;
                var _773 = _772 + _770;
                var _774 = _768 + 1;
                var _775 = _774 / _773;
                var _776 = _sqrtf(_775);
                __lastLabel__ = 133; ;
              }
              else {
                __lastLabel__ = 3; ;
              }
            } while(0);
            var _swingAxis13_0_0_1 = __lastLabel__ == 133 ? _761 : (__lastLabel__ == 2702 ? _761 : (undef));
            var _swingAxis13_0_1_1 = __lastLabel__ == 133 ? _762 : (__lastLabel__ == 2702 ? _762 : (undef));
            var _swingAxis13_0_2_1 = __lastLabel__ == 133 ? _763 : (__lastLabel__ == 2702 ? _763 : (undef));
            var _swingLimit_1 = __lastLabel__ == 133 ? _776 : (__lastLabel__ == 2702 ? _742 : (0));
            var _777 = _this+416;
            var _778 = FHEAP[_777];
            var _779 = _778 * _swingLimit_1;
            var _780 = _779 < _752;
            if (!(_780)) { __label__ = 1032; /* _bb67 */ break _bb18$_bb11$14668; }
            IHEAP[_7] = 1;
            var _781 = _this+516;
            FHEAP[_781] = 1;
            var _782 = _752 < _swingLimit_1;
            var _783 = _778 < 0.9999998807907104;
            var _or_cond = _782 & _783;
            ;
            if (_or_cond) {
              ;
              var _784 = _752 - _779;
              var _785 = _swingLimit_1 - _779;
              var _786 = _784 / _785;
              FHEAP[_781] = _786;
              ;
            }
            var _787 = _752 - _779;
            FHEAP[_4] = _787;
            var _788 = 0 - _swingAxis13_0_2_1;
            var _789 = _fabsf(_swingAxis13_0_1_1);
            var _790 = _789 > 1.1920928955078125e-7;
            ;
            if (_790) {
              __lastLabel__ = 4; ;
              var _791 = _788 / _swingAxis13_0_1_1;
              var _792 = _747 / _742;
              var _793 = _792 * _791;
              var _794 = _788 > 0;
              var _795 = _793 * _swingAxis13_0_1_1;
              var _796 = _fabsf(_795);
              ;
              if (_794) {
                __lastLabel__ = 4444; ;
              }
              else {
                __lastLabel__ = 4444; ;
                var _797 = 0 - _796;
                __lastLabel__ = 132; ;
              }
              var _y_0_i = __lastLabel__ == 132 ? _797 : (_796);
              var _798 = 0 - _y_0_i;
              var _799 = _swingAxis13_0_0_1 * _swingAxis13_0_0_1;
              var _800 = _swingAxis13_0_1_1 * _swingAxis13_0_1_1;
              var _801 = _799 + _800;
              var _802 = _y_0_i * _y_0_i;
              var _803 = _801 + _802;
              var _804 = _sqrtf(_803);
              var _805 = 1 / _804;
              var _806 = _swingAxis13_0_0_1 * _805;
              var _807 = _swingAxis13_0_1_1 * _805;
              var _808 = _805 * _798;
              __lastLabel__ = 2706; ;
            }
            else {
              __lastLabel__ = 4; ;
            }
            var _swingAxis13_0_0_2 = __lastLabel__ == 2706 ? _806 : (_swingAxis13_0_0_1);
            var _swingAxis13_0_1_2 = __lastLabel__ == 2706 ? _807 : (_swingAxis13_0_1_1);
            var _swingAxis13_0_2_2 = __lastLabel__ == 2706 ? _808 : (_swingAxis13_0_2_1);
            var _809 = 0 - _swingAxis13_0_2_2;
            var _810 = 0 - _swingAxis13_0_1_2;
            var _811 = 0 - _swingAxis13_0_0_2;
            var _812 = _swingAxis13_0_0_2 * _554;
            var _813 = _547 * _810;
            var _814 = _812 - _813;
            var _815 = _540 * _809;
            var _816 = _814 - _815;
            var _817 = _533 * _809;
            var _818 = _554 * _810;
            var _819 = _817 + _818;
            var _820 = _547 * _811;
            var _821 = _819 - _820;
            var _822 = _533 * _810;
            var _823 = _540 * _811;
            var _824 = _822 + _823;
            var _825 = _554 * _809;
            var _826 = _824 - _825;
            var _827 = _533 * _811;
            var _828 = _547 * _809;
            var _829 = _827 + _828;
            var _830 = _540 * _810;
            var _831 = _829 - _830;
            var _832 = _816 * _555;
            var _833 = _821 * _533;
            var _834 = _832 + _833;
            var _835 = _831 * _556;
            var _836 = _834 + _835;
            var _837 = _826 * _557;
            var _838 = _836 - _837;
            var _839 = _816 * _556;
            var _840 = _826 * _533;
            var _841 = _839 + _840;
            var _842 = _821 * _557;
            var _843 = _841 + _842;
            var _844 = _831 * _555;
            var _845 = _843 - _844;
            var _846 = _816 * _557;
            var _847 = _831 * _533;
            var _848 = _846 + _847;
            var _849 = _826 * _555;
            var _850 = _848 + _849;
            var _851 = _821 * _556;
            var _852 = _850 - _851;
            var _853 = _this+448;
            FHEAP[_853] = _852;
            var _854 = _this+448+4;
            FHEAP[_854] = _845;
            var _855 = _this+448+8;
            FHEAP[_855] = _838;
            var _856 = _this+448+12;
            FHEAP[_856] = 0;
            var _857 = _this+524;
            FHEAP[_857] = 0;
            var _858 = _this+524+4;
            FHEAP[_858] = 0;
            var _859 = _this+524+8;
            FHEAP[_859] = 0;
            var _860 = _this+524+12;
            FHEAP[_860] = 0;
            var _861 = _invInertiaWorldA+8;
            var _862 = FHEAP[_861];
            var _863 = _862 * _852;
            var _864 = _invInertiaWorldA+16+8;
            var _865 = FHEAP[_864];
            var _866 = _865 * _845;
            var _867 = _863 + _866;
            var _868 = _invInertiaWorldA+32+8;
            var _869 = FHEAP[_868];
            var _870 = _869 * _838;
            var _871 = _867 + _870;
            var _872 = _invInertiaWorldA+4;
            var _873 = FHEAP[_872];
            var _874 = _873 * _852;
            var _875 = _invInertiaWorldA+16+4;
            var _876 = FHEAP[_875];
            var _877 = _876 * _845;
            var _878 = _874 + _877;
            var _879 = _invInertiaWorldA+32+4;
            var _880 = FHEAP[_879];
            var _881 = _880 * _838;
            var _882 = _878 + _881;
            var _883 = _invInertiaWorldA;
            var _884 = FHEAP[_883];
            var _885 = _884 * _852;
            var _886 = _invInertiaWorldA+16;
            var _887 = FHEAP[_886];
            var _888 = _887 * _845;
            var _889 = _885 + _888;
            var _890 = _invInertiaWorldA+32;
            var _891 = FHEAP[_890];
            var _892 = _891 * _838;
            var _893 = _889 + _892;
            var _894 = _852 * _893;
            var _895 = _845 * _882;
            var _896 = _894 + _895;
            var _897 = _838 * _871;
            var _898 = _896 + _897;
            var _899 = _invInertiaWorldB+8;
            var _900 = FHEAP[_899];
            var _901 = _900 * _852;
            var _902 = _invInertiaWorldB+16+8;
            var _903 = FHEAP[_902];
            var _904 = _903 * _845;
            var _905 = _901 + _904;
            var _906 = _invInertiaWorldB+32+8;
            var _907 = FHEAP[_906];
            var _908 = _907 * _838;
            var _909 = _905 + _908;
            var _910 = _invInertiaWorldB+4;
            var _911 = FHEAP[_910];
            var _912 = _911 * _852;
            var _913 = _invInertiaWorldB+16+4;
            var _914 = FHEAP[_913];
            var _915 = _914 * _845;
            var _916 = _912 + _915;
            var _917 = _invInertiaWorldB+32+4;
            var _918 = FHEAP[_917];
            var _919 = _918 * _838;
            var _920 = _916 + _919;
            var _921 = _invInertiaWorldB;
            var _922 = FHEAP[_921];
            var _923 = _922 * _852;
            var _924 = _invInertiaWorldB+16;
            var _925 = FHEAP[_924];
            var _926 = _925 * _845;
            var _927 = _923 + _926;
            var _928 = _invInertiaWorldB+32;
            var _929 = FHEAP[_928];
            var _930 = _929 * _838;
            var _931 = _927 + _930;
            var _932 = _852 * _931;
            var _933 = _845 * _920;
            var _934 = _932 + _933;
            var _935 = _838 * _909;
            var _936 = _934 + _935;
            var _937 = _898 + _936;
            var _938 = 1 / _937;
            var _939 = _this+480;
            FHEAP[_939] = _938;
            __label__ = 1032; /* _bb67 */ break _bb18$_bb11$14668;
          }
        } while(0);
        _bb18$_bb67$14685: do { 
          if (__label__ == 86) {
            var _940 = _this+288+32;
            var _941 = _this+288+16;
            var _942 = _this+288;
            var _943 = FHEAP[_942];
            var _944 = FHEAP[_941];
            var _945 = FHEAP[_940];
            var _946 = _transA+32;
            var _947 = FHEAP[_946];
            var _948 = _947 * _943;
            var _949 = _transA+32+4;
            var _950 = FHEAP[_949];
            var _951 = _950 * _944;
            var _952 = _948 + _951;
            var _953 = _transA+32+8;
            var _954 = FHEAP[_953];
            var _955 = _954 * _945;
            var _956 = _952 + _955;
            var _957 = _transA+16;
            var _958 = FHEAP[_957];
            var _959 = _958 * _943;
            var _960 = _transA+16+4;
            var _961 = FHEAP[_960];
            var _962 = _961 * _944;
            var _963 = _959 + _962;
            var _964 = _transA+16+8;
            var _965 = FHEAP[_964];
            var _966 = _965 * _945;
            var _967 = _963 + _966;
            var _968 = _transA;
            var _969 = FHEAP[_968];
            var _970 = _969 * _943;
            var _971 = _transA+4;
            var _972 = FHEAP[_971];
            var _973 = _972 * _944;
            var _974 = _970 + _973;
            var _975 = _transA+8;
            var _976 = FHEAP[_975];
            var _977 = _976 * _945;
            var _978 = _974 + _977;
            var _979 = _this+288+32+4;
            var _980 = _this+288+16+4;
            var _981 = _this+288+4;
            var _982 = FHEAP[_981];
            var _983 = FHEAP[_980];
            var _984 = FHEAP[_979];
            var _985 = _947 * _982;
            var _986 = _950 * _983;
            var _987 = _985 + _986;
            var _988 = _954 * _984;
            var _989 = _987 + _988;
            var _990 = _958 * _982;
            var _991 = _961 * _983;
            var _992 = _990 + _991;
            var _993 = _965 * _984;
            var _994 = _992 + _993;
            var _995 = _969 * _982;
            var _996 = _972 * _983;
            var _997 = _995 + _996;
            var _998 = _976 * _984;
            var _999 = _997 + _998;
            var _1000 = _this+288+32+8;
            var _1001 = _this+288+16+8;
            var _1002 = _this+288+8;
            var _1003 = FHEAP[_1002];
            var _1004 = FHEAP[_1001];
            var _1005 = FHEAP[_1000];
            var _1006 = _947 * _1003;
            var _1007 = _950 * _1004;
            var _1008 = _1006 + _1007;
            var _1009 = _954 * _1005;
            var _1010 = _1008 + _1009;
            var _1011 = _958 * _1003;
            var _1012 = _961 * _1004;
            var _1013 = _1011 + _1012;
            var _1014 = _965 * _1005;
            var _1015 = _1013 + _1014;
            var _1016 = _969 * _1003;
            var _1017 = _972 * _1004;
            var _1018 = _1016 + _1017;
            var _1019 = _976 * _1005;
            var _1020 = _1018 + _1019;
            var _1021 = _this+352+32;
            var _1022 = _this+352+16;
            var _1023 = _this+352;
            var _1024 = FHEAP[_1023];
            var _1025 = FHEAP[_1022];
            var _1026 = FHEAP[_1021];
            var _1027 = _transB+32;
            var _1028 = FHEAP[_1027];
            var _1029 = _1028 * _1024;
            var _1030 = _transB+32+4;
            var _1031 = FHEAP[_1030];
            var _1032 = _1031 * _1025;
            var _1033 = _1029 + _1032;
            var _1034 = _transB+32+8;
            var _1035 = FHEAP[_1034];
            var _1036 = _1035 * _1026;
            var _1037 = _1033 + _1036;
            var _1038 = _transB+16;
            var _1039 = FHEAP[_1038];
            var _1040 = _1039 * _1024;
            var _1041 = _transB+16+4;
            var _1042 = FHEAP[_1041];
            var _1043 = _1042 * _1025;
            var _1044 = _1040 + _1043;
            var _1045 = _transB+16+8;
            var _1046 = FHEAP[_1045];
            var _1047 = _1046 * _1026;
            var _1048 = _1044 + _1047;
            var _1049 = _transB;
            var _1050 = FHEAP[_1049];
            var _1051 = _1050 * _1024;
            var _1052 = _transB+4;
            var _1053 = FHEAP[_1052];
            var _1054 = _1053 * _1025;
            var _1055 = _1051 + _1054;
            var _1056 = _transB+8;
            var _1057 = FHEAP[_1056];
            var _1058 = _1057 * _1026;
            var _1059 = _1055 + _1058;
            var _1060 = _1059 * _978;
            var _1061 = _1048 * _967;
            var _1062 = _1060 + _1061;
            var _1063 = _1037 * _956;
            var _1064 = _1062 + _1063;
            var _1065 = _1059 * _999;
            var _1066 = _1048 * _994;
            var _1067 = _1065 + _1066;
            var _1068 = _1037 * _989;
            var _1069 = _1067 + _1068;
            var _1070 = _1059 * _1020;
            var _1071 = _1048 * _1015;
            var _1072 = _1070 + _1071;
            var _1073 = _1037 * _1010;
            var _1074 = _1072 + _1073;
            var _1075 = _742 >= _744;
            ;
            _bb44$_bb27$14687: do { 
              if (!_1075) {
                ;
                var _1076 = _this+436;
                var _1077 = FHEAP[_1076];
                var _1078 = _1077 >= _744;
                if (_1078) { __label__ = 94; /* _bb44 */ break _bb44$_bb27$14687; }
                var _1079 = _fabsf(_1069);
                var _1080 = _1079 < 1.1920928955078125e-7;
                ;
                if (_1080) {
                  ;
                  var _1081 = _fabsf(_1074);
                  var _1082 = _1081 < 1.1920928955078125e-7;
                  if (_1082) { __label__ = 1032; /* _bb67 */ break _bb18$_bb67$14685; }
                }
                IHEAP[_7] = 1;
                var _1083 = _1059 * _967;
                var _1084 = _1048 * _978;
                var _1085 = _1083 - _1084;
                var _1086 = _1037 * _978;
                var _1087 = _1059 * _956;
                var _1088 = _1086 - _1087;
                var _1089 = _1048 * _956;
                var _1090 = _1037 * _967;
                var _1091 = _1089 - _1090;
                var _1092 = 0 - _1085;
                var _1093 = 0 - _1088;
                var _1094 = 0 - _1091;
                var _1095 = _this+448;
                FHEAP[_1095] = _1094;
                var _1096 = _this+448+4;
                FHEAP[_1096] = _1093;
                var _1097 = _this+448+8;
                FHEAP[_1097] = _1092;
                var _1098 = _this+448+12;
                FHEAP[_1098] = 0;
                __label__ = 1032; /* _bb67 */ break _bb18$_bb67$14685;
              }
            } while(0);
            var _1099 = _742 < _744;
            ;
            _bb45$_bb55$14694: do { 
              if (_1099) {
                ;
                var _1100 = _fabsf(_1069);
                var _1101 = _1100 < 1.1920928955078125e-7;
                if (_1101) { __lastLabel__ = 95; __label__ = 1030; /* _bb65 */ break _bb45$_bb55$14694; } else { __lastLabel__ = 95; ; }
                IHEAP[_7] = 1;
                var _1102 = _this+436;
                var _1103 = FHEAP[_1102];
                var _1104 = _1103 < _744;
                if (_1104) { __lastLabel__ = 1019; __label__ = 1030; /* _bb65 */ break _bb45$_bb55$14694; } else { __lastLabel__ = 1019; ; }
                var _1105 = _atan2f(_1074, _1064);
                var _1106 = _1103 < _1105;
                ;
                if (_1106) {
                  ;
                  var _1107 = _cosf(_1103);
                  var _1108 = _sinf(_1103);
                  __lastLabel__ = 478; ;
                }
                else {
                  ;
                  var _1109 = 0 - _1103;
                  var _1110 = _1105 < _1109;
                  if (_1110) { __lastLabel__ = 70; ; } else { __lastLabel__ = 70; __label__ = 1030; /* _bb65 */ break _bb45$_bb55$14694; }
                  var _1111 = _cosf(_1103);
                  var _1112 = _sinf(_1103);
                  var _1113 = 0 - _1112;
                  __lastLabel__ = 1021; ;
                }
              }
              else {
                ;
                var _1114 = _fabsf(_1074);
                var _1115 = _1114 < 1.1920928955078125e-7;
                if (_1115) { __lastLabel__ = 1022; __label__ = 1030; /* _bb65 */ break _bb45$_bb55$14694; } else { __lastLabel__ = 1022; ; }
                IHEAP[_7] = 1;
                if (_745) { __lastLabel__ = 1024; __label__ = 1030; /* _bb65 */ break _bb45$_bb55$14694; } else { __lastLabel__ = 1024; ; }
                var _1116 = _atan2f(_1069, _1064);
                var _1117 = _742 < _1116;
                ;
                if (_1117) {
                  ;
                  var _1118 = _cosf(_742);
                  var _1119 = _sinf(_742);
                  __lastLabel__ = 1027; ;
                }
                else {
                  ;
                  var _1120 = 0 - _742;
                  var _1121 = _1116 < _1120;
                  if (_1121) { __lastLabel__ = 1028; ; } else { __lastLabel__ = 1028; __label__ = 1030; /* _bb65 */ break _bb45$_bb55$14694; }
                  var _1122 = _cosf(_742);
                  var _1123 = _sinf(_742);
                  var _1124 = 0 - _1123;
                  __lastLabel__ = 1029; ;
                }
              }
            } while(0);
            var _x_0 = __lastLabel__ == 478 ? _1107 : (__lastLabel__ == 1021 ? _1111 : (__lastLabel__ == 70 ? _1064 : (__lastLabel__ == 1019 ? _1064 : (__lastLabel__ == 95 ? _1064 : (__lastLabel__ == 1027 ? _1118 : (__lastLabel__ == 1029 ? _1122 : (__lastLabel__ == 1028 ? _1064 : (__lastLabel__ == 1024 ? _1064 : (_1064)))))))));
            var _y_0 = __lastLabel__ == 478 ? 0 : (__lastLabel__ == 1021 ? 0 : (__lastLabel__ == 70 ? 0 : (__lastLabel__ == 1019 ? _1069 : (__lastLabel__ == 95 ? _1069 : (__lastLabel__ == 1027 ? _1119 : (__lastLabel__ == 1029 ? _1124 : (__lastLabel__ == 1028 ? _1069 : (__lastLabel__ == 1024 ? _1069 : (_1069)))))))));
            var _z_0 = __lastLabel__ == 478 ? _1108 : (__lastLabel__ == 1021 ? _1113 : (__lastLabel__ == 70 ? _1074 : (__lastLabel__ == 1019 ? _1074 : (__lastLabel__ == 95 ? _1074 : (__lastLabel__ == 1027 ? 0 : (__lastLabel__ == 1029 ? 0 : (__lastLabel__ == 1028 ? 0 : (__lastLabel__ == 1024 ? _1074 : (_1074)))))))));
            var _1125 = _978 * _x_0;
            var _1126 = _999 * _y_0;
            var _1127 = _1125 + _1126;
            var _1128 = _1020 * _z_0;
            var _1129 = _1127 + _1128;
            var _1130 = _967 * _x_0;
            var _1131 = _994 * _y_0;
            var _1132 = _1130 + _1131;
            var _1133 = _1015 * _z_0;
            var _1134 = _1132 + _1133;
            var _1135 = _956 * _x_0;
            var _1136 = _989 * _y_0;
            var _1137 = _1135 + _1136;
            var _1138 = _1010 * _z_0;
            var _1139 = _1137 + _1138;
            var _1140 = _1129 * _1129;
            var _1141 = _1134 * _1134;
            var _1142 = _1140 + _1141;
            var _1143 = _1139 * _1139;
            var _1144 = _1142 + _1143;
            var _1145 = _sqrtf(_1144);
            var _1146 = 1 / _1145;
            var _1147 = _1129 * _1146;
            var _1148 = _1134 * _1146;
            var _1149 = _1139 * _1146;
            var _1150 = _1059 * _1148;
            var _1151 = _1048 * _1147;
            var _1152 = _1150 - _1151;
            var _1153 = _1037 * _1147;
            var _1154 = _1059 * _1149;
            var _1155 = _1153 - _1154;
            var _1156 = _1048 * _1149;
            var _1157 = _1037 * _1148;
            var _1158 = _1156 - _1157;
            var _1159 = 0 - _1152;
            var _1160 = 0 - _1155;
            var _1161 = 0 - _1158;
            var _1162 = _this+448;
            FHEAP[_1162] = _1161;
            var _1163 = _this+448+4;
            FHEAP[_1163] = _1160;
            var _1164 = _this+448+8;
            FHEAP[_1164] = _1159;
            var _1165 = _this+448+12;
            FHEAP[_1165] = 0;
            var _1166 = _1158 * _1158;
            var _1167 = _1155 * _1155;
            var _1168 = _1166 + _1167;
            var _1169 = _1152 * _1152;
            var _1170 = _1168 + _1169;
            var _1171 = _sqrtf(_1170);
            FHEAP[_4] = _1171;
            var _1172 = _sqrtf(_1170);
            var _1173 = 1 / _1172;
            var _1174 = _1173 * _1161;
            FHEAP[_1162] = _1174;
            var _1175 = _1173 * _1160;
            FHEAP[_1163] = _1175;
            var _1176 = _1173 * _1159;
            FHEAP[_1164] = _1176;
            ;
          }
        } while(0);
        var _1177 = _this+440;
        var _1178 = FHEAP[_1177];
        var _1179 = _1178 < 0;
        var _1180 = _this+500;
        ;
        if (_1179) {
          ;
          FHEAP[_1180] = 0;
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _1181 = _740 < -1;
          var _x_addr_0_i_i_i = _1181 ? -1 : _740;
          var _1182 = _x_addr_0_i_i_i > 1;
          var _x_addr_1_i_i_i = _1182 ? 1 : _x_addr_0_i_i_i;
          var _1183 = _acosf(_x_addr_1_i_i_i);
          var _1184 = _1183 * 2;
          FHEAP[_1180] = _1184;
          var _1185 = _1184 > 3.1415927410125732;
          ;
          if (_1185) {
            __lastLabel__ = 72; ;
            var _1186 = 0 - _740;
            var _1187 = 0 - _739;
            var _1188 = 0 - _738;
            var _1189 = 0 - _737;
            var _1190 = _1186 < -1;
            var _x_addr_0_i_i7_i = _1190 ? -1 : _1186;
            var _1191 = _x_addr_0_i_i7_i > 1;
            var _x_addr_1_i_i8_i = _1191 ? 1 : _x_addr_0_i_i7_i;
            var _1192 = _acosf(_x_addr_1_i_i8_i);
            var _1193 = _1192 * 2;
            FHEAP[_1180] = _1193;
            __lastLabel__ = 131; ;
          }
          else {
            __lastLabel__ = 72; ;
          }
          var _1194 = __lastLabel__ == 131 ? _1193 : (_1184);
          var _1195 = __lastLabel__ == 131 ? _1189 : (_737);
          var _1196 = __lastLabel__ == 131 ? _1188 : (_738);
          var _1197 = __lastLabel__ == 131 ? _1187 : (_739);
          var _1198 = _1194 > 1.1920928955078125e-7;
          ;
          if (_1198) {
            __lastLabel__ = 159; ;
            var _1199 = _1195 * _1195;
            var _1200 = _1196 * _1196;
            var _1201 = _1199 + _1200;
            var _1202 = _1197 * _1197;
            var _1203 = _1201 + _1202;
            var _1204 = _sqrtf(_1203);
            var _1205 = 1 / _1204;
            var _1206 = _1195 * _1205;
            var _1207 = _1196 * _1205;
            var _1208 = _1197 * _1205;
            __lastLabel__ = 300; ;
          }
          else {
            __lastLabel__ = 159; ;
          }
          var _twistAxis_0_0_0 = __lastLabel__ == 300 ? _1206 : (_1195);
          var _twistAxis_0_1_0 = __lastLabel__ == 300 ? _1207 : (_1196);
          var _twistAxis_0_2_0 = __lastLabel__ == 300 ? _1208 : (_1197);
          var _1209 = _this+416;
          var _1210 = FHEAP[_1209];
          var _1211 = _1178 * _1210;
          var _1212 = _1194 > _1211;
          ;
          if (_1212) {
            ;
            IHEAP[_6] = 1;
            var _1213 = _this+520;
            FHEAP[_1213] = 1;
            var _1214 = _1194 < _1178;
            var _1215 = _1210 < 0.9999998807907104;
            var _or_cond247 = _1214 & _1215;
            ;
            if (_or_cond247) {
              ;
              var _1216 = _1194 - _1211;
              var _1217 = _1178 - _1211;
              var _1218 = _1216 / _1217;
              FHEAP[_1213] = _1218;
              ;
            }
            var _1219 = _1194 - _1211;
            var _1220 = _this+496;
            FHEAP[_1220] = _1219;
            var _1221 = 0 - _twistAxis_0_2_0;
            var _1222 = 0 - _twistAxis_0_1_0;
            var _1223 = 0 - _twistAxis_0_0_0;
            var _1224 = _twistAxis_0_0_0 * _554;
            var _1225 = _547 * _1222;
            var _1226 = _1224 - _1225;
            var _1227 = _540 * _1221;
            var _1228 = _1226 - _1227;
            var _1229 = _533 * _1221;
            var _1230 = _554 * _1222;
            var _1231 = _1229 + _1230;
            var _1232 = _547 * _1223;
            var _1233 = _1231 - _1232;
            var _1234 = _533 * _1222;
            var _1235 = _540 * _1223;
            var _1236 = _1234 + _1235;
            var _1237 = _554 * _1221;
            var _1238 = _1236 - _1237;
            var _1239 = _533 * _1223;
            var _1240 = _547 * _1221;
            var _1241 = _1239 + _1240;
            var _1242 = _540 * _1222;
            var _1243 = _1241 - _1242;
            var _1244 = _1228 * _555;
            var _1245 = _1233 * _533;
            var _1246 = _1244 + _1245;
            var _1247 = _1243 * _556;
            var _1248 = _1246 + _1247;
            var _1249 = _1238 * _557;
            var _1250 = _1248 - _1249;
            var _1251 = _1228 * _556;
            var _1252 = _1238 * _533;
            var _1253 = _1251 + _1252;
            var _1254 = _1233 * _557;
            var _1255 = _1253 + _1254;
            var _1256 = _1243 * _555;
            var _1257 = _1255 - _1256;
            var _1258 = _1228 * _557;
            var _1259 = _1243 * _533;
            var _1260 = _1258 + _1259;
            var _1261 = _1238 * _555;
            var _1262 = _1260 + _1261;
            var _1263 = _1233 * _556;
            var _1264 = _1262 - _1263;
            var _1265 = _this+464;
            FHEAP[_1265] = _1264;
            var _1266 = _this+464+4;
            FHEAP[_1266] = _1257;
            var _1267 = _this+464+8;
            FHEAP[_1267] = _1250;
            var _1268 = _this+464+12;
            FHEAP[_1268] = 0;
            var _1269 = _invInertiaWorldA+8;
            var _1270 = FHEAP[_1269];
            var _1271 = _1270 * _1264;
            var _1272 = _invInertiaWorldA+16+8;
            var _1273 = FHEAP[_1272];
            var _1274 = _1273 * _1257;
            var _1275 = _1271 + _1274;
            var _1276 = _invInertiaWorldA+32+8;
            var _1277 = FHEAP[_1276];
            var _1278 = _1277 * _1250;
            var _1279 = _1275 + _1278;
            var _1280 = _invInertiaWorldA+4;
            var _1281 = FHEAP[_1280];
            var _1282 = _1281 * _1264;
            var _1283 = _invInertiaWorldA+16+4;
            var _1284 = FHEAP[_1283];
            var _1285 = _1284 * _1257;
            var _1286 = _1282 + _1285;
            var _1287 = _invInertiaWorldA+32+4;
            var _1288 = FHEAP[_1287];
            var _1289 = _1288 * _1250;
            var _1290 = _1286 + _1289;
            var _1291 = _invInertiaWorldA;
            var _1292 = FHEAP[_1291];
            var _1293 = _1292 * _1264;
            var _1294 = _invInertiaWorldA+16;
            var _1295 = FHEAP[_1294];
            var _1296 = _1295 * _1257;
            var _1297 = _1293 + _1296;
            var _1298 = _invInertiaWorldA+32;
            var _1299 = FHEAP[_1298];
            var _1300 = _1299 * _1250;
            var _1301 = _1297 + _1300;
            var _1302 = _1264 * _1301;
            var _1303 = _1257 * _1290;
            var _1304 = _1302 + _1303;
            var _1305 = _1250 * _1279;
            var _1306 = _1304 + _1305;
            var _1307 = _invInertiaWorldB+8;
            var _1308 = FHEAP[_1307];
            var _1309 = _1308 * _1264;
            var _1310 = _invInertiaWorldB+16+8;
            var _1311 = FHEAP[_1310];
            var _1312 = _1311 * _1257;
            var _1313 = _1309 + _1312;
            var _1314 = _invInertiaWorldB+32+8;
            var _1315 = FHEAP[_1314];
            var _1316 = _1315 * _1250;
            var _1317 = _1313 + _1316;
            var _1318 = _invInertiaWorldB+4;
            var _1319 = FHEAP[_1318];
            var _1320 = _1319 * _1264;
            var _1321 = _invInertiaWorldB+16+4;
            var _1322 = FHEAP[_1321];
            var _1323 = _1322 * _1257;
            var _1324 = _1320 + _1323;
            var _1325 = _invInertiaWorldB+32+4;
            var _1326 = FHEAP[_1325];
            var _1327 = _1326 * _1250;
            var _1328 = _1324 + _1327;
            var _1329 = _invInertiaWorldB;
            var _1330 = FHEAP[_1329];
            var _1331 = _1330 * _1264;
            var _1332 = _invInertiaWorldB+16;
            var _1333 = FHEAP[_1332];
            var _1334 = _1333 * _1257;
            var _1335 = _1331 + _1334;
            var _1336 = _invInertiaWorldB+32;
            var _1337 = FHEAP[_1336];
            var _1338 = _1337 * _1250;
            var _1339 = _1335 + _1338;
            var _1340 = _1264 * _1339;
            var _1341 = _1257 * _1328;
            var _1342 = _1340 + _1341;
            var _1343 = _1250 * _1317;
            var _1344 = _1342 + _1343;
            var _1345 = _1306 + _1344;
            var _1346 = 1 / _1345;
            var _1347 = _this+484;
            FHEAP[_1347] = _1346;
            ;
          }
          var _1348 = IHEAP[_7];
          var _toBool76 = _1348 == 0;
          if (_toBool76) { __label__ = 44; /* _return */ break _bb10$_return$14659; }
          var _1349 = 0 - _twistAxis_0_2_0;
          var _1350 = 0 - _twistAxis_0_1_0;
          var _1351 = 0 - _twistAxis_0_0_0;
          var _1352 = 0 - _508;
          var _1353 = _twistAxis_0_0_0 * _508;
          var _1354 = _501 * _1350;
          var _1355 = _1353 - _1354;
          var _1356 = _494 * _1349;
          var _1357 = _1355 - _1356;
          var _1358 = _487 * _1349;
          var _1359 = _508 * _1350;
          var _1360 = _1358 + _1359;
          var _1361 = _501 * _1351;
          var _1362 = _1360 - _1361;
          var _1363 = _487 * _1350;
          var _1364 = _494 * _1351;
          var _1365 = _1363 + _1364;
          var _1366 = _508 * _1349;
          var _1367 = _1365 - _1366;
          var _1368 = _487 * _1351;
          var _1369 = _501 * _1349;
          var _1370 = _1368 + _1369;
          var _1371 = _494 * _1350;
          var _1372 = _1370 - _1371;
          var _1373 = 0 - _494;
          var _1374 = 0 - _501;
          var _1375 = _1357 * _1373;
          var _1376 = _1362 * _487;
          var _1377 = _1375 + _1376;
          var _1378 = _1372 * _1374;
          var _1379 = _1377 + _1378;
          var _1380 = _1367 * _1352;
          var _1381 = _1379 - _1380;
          var _1382 = _1357 * _1374;
          var _1383 = _1367 * _487;
          var _1384 = _1382 + _1383;
          var _1385 = _1362 * _1352;
          var _1386 = _1384 + _1385;
          var _1387 = _1372 * _1373;
          var _1388 = _1386 - _1387;
          var _1389 = _1357 * _1352;
          var _1390 = _1372 * _487;
          var _1391 = _1389 + _1390;
          var _1392 = _1367 * _1373;
          var _1393 = _1391 + _1392;
          var _1394 = _1362 * _1374;
          var _1395 = _1393 - _1394;
          var _1396 = _this+524;
          FHEAP[_1396] = _1395;
          var _1397 = _this+524+4;
          FHEAP[_1397] = _1388;
          var _1398 = _this+524+8;
          FHEAP[_1398] = _1381;
          var _1399 = _this+524+12;
          FHEAP[_1399] = 0;
          STACKTOP = __stackBase__;
          return;
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN21btConeTwistConstraint14calcAngleInfo2ERK11btTransformS2_RK11btMatrix3x3S5_.__index__ = Runtime.getFunctionIndex(__ZN21btConeTwistConstraint14calcAngleInfo2ERK11btTransformS2_RK11btMatrix3x3S5_, "__ZN21btConeTwistConstraint14calcAngleInfo2ERK11btTransformS2_RK11btMatrix3x3S5_");
  
  
  function __ZNK23btGeneric6DofConstraint9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = __ZNK17btTypedConstraint9serializeEPvP12btSerializer(_0, _dataBuffer, _serializer);
    var _2 = _dataBuffer+44;
    var _scevgep_i_i_i = _this+36;
    var _scevgep4_i_i_i = _2;
    var _scevgep_1_i_i_i = _this+36+4;
    var _scevgep4_1_i_i_i = _dataBuffer+48;
    var _3 = _scevgep4_1_i_i_i;
    var _scevgep_2_i_i_i = _this+36+8;
    var _scevgep4_2_i_i_i = _dataBuffer+52;
    var _4 = _scevgep4_2_i_i_i;
    var _scevgep_3_i_i_i = _this+36+12;
    var _scevgep4_3_i_i_i = _dataBuffer+56;
    var _5 = _scevgep4_3_i_i_i;
    var _6 = FHEAP[_scevgep_i_i_i];
    FHEAP[_scevgep4_i_i_i] = _6;
    var _7 = FHEAP[_scevgep_1_i_i_i];
    FHEAP[_3] = _7;
    var _8 = FHEAP[_scevgep_2_i_i_i];
    FHEAP[_4] = _8;
    var _9 = FHEAP[_scevgep_3_i_i_i];
    FHEAP[_5] = _9;
    var _scevgep_i_1_i_i = _this+36+16;
    var _scevgep4_i_1_i_i = _dataBuffer+60;
    var _10 = _scevgep4_i_1_i_i;
    var _scevgep_1_i_1_i_i = _this+36+16+4;
    var _scevgep4_1_i_1_i_i = _dataBuffer+64;
    var _11 = _scevgep4_1_i_1_i_i;
    var _scevgep_2_i_1_i_i = _this+36+16+8;
    var _scevgep4_2_i_1_i_i = _dataBuffer+68;
    var _12 = _scevgep4_2_i_1_i_i;
    var _scevgep_3_i_1_i_i = _this+36+16+12;
    var _scevgep4_3_i_1_i_i = _dataBuffer+72;
    var _13 = _scevgep4_3_i_1_i_i;
    var _14 = FHEAP[_scevgep_i_1_i_i];
    FHEAP[_10] = _14;
    var _15 = FHEAP[_scevgep_1_i_1_i_i];
    FHEAP[_11] = _15;
    var _16 = FHEAP[_scevgep_2_i_1_i_i];
    FHEAP[_12] = _16;
    var _17 = FHEAP[_scevgep_3_i_1_i_i];
    FHEAP[_13] = _17;
    var _scevgep_i_2_i_i = _this+36+32;
    var _scevgep4_i_2_i_i = _dataBuffer+76;
    var _18 = _scevgep4_i_2_i_i;
    var _scevgep_1_i_2_i_i = _this+36+32+4;
    var _scevgep4_1_i_2_i_i = _dataBuffer+80;
    var _19 = _scevgep4_1_i_2_i_i;
    var _scevgep_2_i_2_i_i = _this+36+32+8;
    var _scevgep4_2_i_2_i_i = _dataBuffer+84;
    var _20 = _scevgep4_2_i_2_i_i;
    var _scevgep_3_i_2_i_i = _this+36+32+12;
    var _scevgep4_3_i_2_i_i = _dataBuffer+88;
    var _21 = _scevgep4_3_i_2_i_i;
    var _22 = FHEAP[_scevgep_i_2_i_i];
    FHEAP[_18] = _22;
    var _23 = FHEAP[_scevgep_1_i_2_i_i];
    FHEAP[_19] = _23;
    var _24 = FHEAP[_scevgep_2_i_2_i_i];
    FHEAP[_20] = _24;
    var _25 = FHEAP[_scevgep_3_i_2_i_i];
    FHEAP[_21] = _25;
    var _scevgep_i_i = _this+36+48;
    var _scevgep4_i_i = _dataBuffer+92;
    var _26 = _scevgep4_i_i;
    var _27 = FHEAP[_scevgep_i_i];
    FHEAP[_26] = _27;
    var _scevgep_1_i_i = _this+36+48+4;
    var _scevgep4_1_i_i = _dataBuffer+96;
    var _28 = _scevgep4_1_i_i;
    var _29 = FHEAP[_scevgep_1_i_i];
    FHEAP[_28] = _29;
    var _scevgep_2_i_i = _this+36+48+8;
    var _scevgep4_2_i_i = _dataBuffer+100;
    var _30 = _scevgep4_2_i_i;
    var _31 = FHEAP[_scevgep_2_i_i];
    FHEAP[_30] = _31;
    var _scevgep_3_i_i = _this+36+48+12;
    var _scevgep4_3_i_i = _dataBuffer+104;
    var _32 = _scevgep4_3_i_i;
    var _33 = FHEAP[_scevgep_3_i_i];
    FHEAP[_32] = _33;
    var _34 = _dataBuffer+108;
    var _scevgep_i_i_i11 = _this+100;
    var _scevgep4_i_i_i12 = _34;
    var _scevgep_1_i_i_i13 = _this+100+4;
    var _scevgep4_1_i_i_i14 = _dataBuffer+112;
    var _35 = _scevgep4_1_i_i_i14;
    var _scevgep_2_i_i_i15 = _this+100+8;
    var _scevgep4_2_i_i_i16 = _dataBuffer+116;
    var _36 = _scevgep4_2_i_i_i16;
    var _scevgep_3_i_i_i17 = _this+100+12;
    var _scevgep4_3_i_i_i18 = _dataBuffer+120;
    var _37 = _scevgep4_3_i_i_i18;
    var _38 = FHEAP[_scevgep_i_i_i11];
    FHEAP[_scevgep4_i_i_i12] = _38;
    var _39 = FHEAP[_scevgep_1_i_i_i13];
    FHEAP[_35] = _39;
    var _40 = FHEAP[_scevgep_2_i_i_i15];
    FHEAP[_36] = _40;
    var _41 = FHEAP[_scevgep_3_i_i_i17];
    FHEAP[_37] = _41;
    var _scevgep_i_1_i_i19 = _this+100+16;
    var _scevgep4_i_1_i_i20 = _dataBuffer+124;
    var _42 = _scevgep4_i_1_i_i20;
    var _scevgep_1_i_1_i_i21 = _this+100+16+4;
    var _scevgep4_1_i_1_i_i22 = _dataBuffer+128;
    var _43 = _scevgep4_1_i_1_i_i22;
    var _scevgep_2_i_1_i_i23 = _this+100+16+8;
    var _scevgep4_2_i_1_i_i24 = _dataBuffer+132;
    var _44 = _scevgep4_2_i_1_i_i24;
    var _scevgep_3_i_1_i_i25 = _this+100+16+12;
    var _scevgep4_3_i_1_i_i26 = _dataBuffer+136;
    var _45 = _scevgep4_3_i_1_i_i26;
    var _46 = FHEAP[_scevgep_i_1_i_i19];
    FHEAP[_42] = _46;
    var _47 = FHEAP[_scevgep_1_i_1_i_i21];
    FHEAP[_43] = _47;
    var _48 = FHEAP[_scevgep_2_i_1_i_i23];
    FHEAP[_44] = _48;
    var _49 = FHEAP[_scevgep_3_i_1_i_i25];
    FHEAP[_45] = _49;
    var _scevgep_i_2_i_i27 = _this+100+32;
    var _scevgep4_i_2_i_i28 = _dataBuffer+140;
    var _50 = _scevgep4_i_2_i_i28;
    var _scevgep_1_i_2_i_i29 = _this+100+32+4;
    var _scevgep4_1_i_2_i_i30 = _dataBuffer+144;
    var _51 = _scevgep4_1_i_2_i_i30;
    var _scevgep_2_i_2_i_i31 = _this+100+32+8;
    var _scevgep4_2_i_2_i_i32 = _dataBuffer+148;
    var _52 = _scevgep4_2_i_2_i_i32;
    var _scevgep_3_i_2_i_i33 = _this+100+32+12;
    var _scevgep4_3_i_2_i_i34 = _dataBuffer+152;
    var _53 = _scevgep4_3_i_2_i_i34;
    var _54 = FHEAP[_scevgep_i_2_i_i27];
    FHEAP[_50] = _54;
    var _55 = FHEAP[_scevgep_1_i_2_i_i29];
    FHEAP[_51] = _55;
    var _56 = FHEAP[_scevgep_2_i_2_i_i31];
    FHEAP[_52] = _56;
    var _57 = FHEAP[_scevgep_3_i_2_i_i33];
    FHEAP[_53] = _57;
    var _scevgep_i_i35 = _this+100+48;
    var _scevgep4_i_i36 = _dataBuffer+156;
    var _58 = _scevgep4_i_i36;
    var _59 = FHEAP[_scevgep_i_i35];
    FHEAP[_58] = _59;
    var _scevgep_1_i_i37 = _this+100+48+4;
    var _scevgep4_1_i_i38 = _dataBuffer+160;
    var _60 = _scevgep4_1_i_i38;
    var _61 = FHEAP[_scevgep_1_i_i37];
    FHEAP[_60] = _61;
    var _scevgep_2_i_i39 = _this+100+48+8;
    var _scevgep4_2_i_i40 = _dataBuffer+164;
    var _62 = _scevgep4_2_i_i40;
    var _63 = FHEAP[_scevgep_2_i_i39];
    FHEAP[_62] = _63;
    var _scevgep_3_i_i41 = _this+100+48+12;
    var _scevgep4_3_i_i42 = _dataBuffer+168;
    var _64 = _scevgep4_3_i_i42;
    var _65 = FHEAP[_scevgep_3_i_i41];
    FHEAP[_64] = _65;
    var _scevgep = _dataBuffer+220;
    var _scevgep45 = _scevgep;
    var _scevgep47 = _dataBuffer+204;
    var _scevgep4748 = _scevgep47;
    var _scevgep50 = _dataBuffer+188;
    var _scevgep5051 = _scevgep50;
    var _scevgep53 = _dataBuffer+172;
    var _scevgep5354 = _scevgep53;
    var _scevgep5556 = _this+856;
    var _scevgep57 = _this+856+4;
    var _scevgep58 = _this+668;
    var _scevgep59 = _this+668+16;
    var _66 = FHEAP[_scevgep5556];
    FHEAP[_scevgep45] = _66;
    var _67 = FHEAP[_scevgep57];
    FHEAP[_scevgep4748] = _67;
    var _68 = FHEAP[_scevgep58];
    FHEAP[_scevgep5051] = _68;
    var _69 = FHEAP[_scevgep59];
    FHEAP[_scevgep5354] = _69;
    var _scevgep_1 = _dataBuffer+224;
    var _scevgep45_1 = _scevgep_1;
    var _scevgep47_1 = _dataBuffer+208;
    var _scevgep4748_1 = _scevgep47_1;
    var _scevgep50_1 = _dataBuffer+192;
    var _scevgep5051_1 = _scevgep50_1;
    var _scevgep53_1 = _dataBuffer+176;
    var _scevgep5354_1 = _scevgep53_1;
    var _scevgep5556_1 = _this+856+64;
    var _scevgep57_1 = _this+856+64+4;
    var _scevgep58_1 = _this+668+4;
    var _scevgep59_1 = _this+668+16+4;
    var _70 = FHEAP[_scevgep5556_1];
    FHEAP[_scevgep45_1] = _70;
    var _71 = FHEAP[_scevgep57_1];
    FHEAP[_scevgep4748_1] = _71;
    var _72 = FHEAP[_scevgep58_1];
    FHEAP[_scevgep5051_1] = _72;
    var _73 = FHEAP[_scevgep59_1];
    FHEAP[_scevgep5354_1] = _73;
    var _scevgep_2 = _dataBuffer+228;
    var _scevgep45_2 = _scevgep_2;
    var _scevgep47_2 = _dataBuffer+212;
    var _scevgep4748_2 = _scevgep47_2;
    var _scevgep50_2 = _dataBuffer+196;
    var _scevgep5051_2 = _scevgep50_2;
    var _scevgep53_2 = _dataBuffer+180;
    var _scevgep5354_2 = _scevgep53_2;
    var _scevgep5556_2 = _this+856+128;
    var _scevgep57_2 = _this+856+128+4;
    var _scevgep58_2 = _this+668+8;
    var _scevgep59_2 = _this+668+16+8;
    var _74 = FHEAP[_scevgep5556_2];
    FHEAP[_scevgep45_2] = _74;
    var _75 = FHEAP[_scevgep57_2];
    FHEAP[_scevgep4748_2] = _75;
    var _76 = FHEAP[_scevgep58_2];
    FHEAP[_scevgep5051_2] = _76;
    var _77 = FHEAP[_scevgep59_2];
    FHEAP[_scevgep5354_2] = _77;
    var _78 = _this+1288;
    var _79 = IHEAP[_78];
    var _not_toBool = _79 != 0;
    var _iftmp_186_0 = _not_toBool;
    var _80 = _dataBuffer+236;
    var _81 = _80;
    IHEAP[_81] = _iftmp_186_0;
    var _82 = _this+1289;
    var _83 = IHEAP[_82];
    var _not_toBool6 = _83 != 0;
    var _iftmp_187_0 = _not_toBool6;
    var _84 = _dataBuffer+240;
    var _85 = _84;
    IHEAP[_85] = _iftmp_187_0;
    ;
    return __str114;
  }
  __ZNK23btGeneric6DofConstraint9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK23btGeneric6DofConstraint9serializeEPvP12btSerializer, "__ZNK23btGeneric6DofConstraint9serializeEPvP12btSerializer");
  
  
  function __ZN23btGeneric6DofConstraint13buildJacobianEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 48;
    var __label__;
    var __lastLabel__ = null;
    var _pivotAInW = __stackBase__;
    var _pivotBInW = __stackBase__+16;
    var _normalWorld = __stackBase__+32;
    var _0 = _this+1296;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    ;
    _return$_bb_nph30$14927: do { 
      if (!_toBool) {
        ;
        var _2 = _this+668+32;
        FHEAP[_2] = 0;
        var _3 = _this+668+32+4;
        FHEAP[_3] = 0;
        var _4 = _this+668+32+8;
        FHEAP[_4] = 0;
        var _5 = _this+668+32+12;
        FHEAP[_5] = 0;
        var _scevgep57 = _this+856+60;
        FHEAP[_scevgep57] = 0;
        var _scevgep57_1 = _this+856+64+60;
        FHEAP[_scevgep57_1] = 0;
        var _scevgep57_2 = _this+856+128+60;
        FHEAP[_scevgep57_2] = 0;
        var _6 = _this+24;
        var _7 = IHEAP[_6];
        var _8 = _7+4;
        var _9 = _this+20;
        var _10 = IHEAP[_9];
        var _11 = _10+4;
        __ZN23btGeneric6DofConstraint19calculateTransformsERK11btTransformS2_(_this, _11, _8);
        var _12 = _this;
        var _13 = IHEAP[_12];
        var _14 = _13+44;
        var _15 = IHEAP[_14];
        var _16 = _15;
        FUNCTION_TABLE[_16](_this);
        var _17 = _pivotAInW;
        var _18 = _this+1272;
        var _19 = FHEAP[_18];
        FHEAP[_17] = _19;
        var _20 = _pivotAInW+4;
        var _21 = _this+1272+4;
        var _22 = FHEAP[_21];
        FHEAP[_20] = _22;
        var _23 = _pivotAInW+8;
        var _24 = _this+1272+8;
        var _25 = FHEAP[_24];
        FHEAP[_23] = _25;
        var _26 = _pivotAInW+12;
        var _27 = _this+1272+12;
        var _28 = FHEAP[_27];
        FHEAP[_26] = _28;
        var _29 = _pivotBInW;
        FHEAP[_29] = _19;
        var _30 = _pivotBInW+4;
        FHEAP[_30] = _22;
        var _31 = _pivotBInW+8;
        FHEAP[_31] = _25;
        var _32 = _pivotBInW+12;
        FHEAP[_32] = _28;
        var _33 = _this+1288;
        var _34 = _normalWorld;
        var _35 = _normalWorld+4;
        var _36 = _normalWorld+8;
        var _37 = _normalWorld+12;
        __lastLabel__ = 2173; ;
        _bb4$14929: while(1) { // _bb4
          var _i_129 = __lastLabel__ == 2173 ? 0 : (_42);
          var _scevgep47 = _this+164+_i_129*84;
          var _scevgep48 = _this+668+16+_i_129*4;
          var _scevgep49 = _this+668+_i_129*4;
          var _scevgep50 = _this+1052+32+_i_129*4;
          var _scevgep51 = _this+1052+16+_i_129*4;
          var _scevgep52 = _this+1052+_i_129*4;
          var _scevgep53 = _this+1116+32+_i_129*4;
          var _scevgep54 = _this+1116+16+_i_129*4;
          var _scevgep55 = _this+1116+_i_129*4;
          var _38 = FHEAP[_scevgep48];
          var _39 = FHEAP[_scevgep49];
          var _40 = _38 < _39;
          ;
          if (!_40) {
            ;
            var _41 = IHEAP[_33];
            var _toBool7 = _41 == 0;
            var _storemerge59_in = _toBool7 ? _scevgep55 : _scevgep52;
            var _storemerge58_in = _toBool7 ? _scevgep54 : _scevgep51;
            var _storemerge_in = _toBool7 ? _scevgep53 : _scevgep50;
            var _storemerge = FHEAP[_storemerge_in];
            var _storemerge58 = FHEAP[_storemerge58_in];
            var _storemerge59 = FHEAP[_storemerge59_in];
            FHEAP[_34] = _storemerge59;
            FHEAP[_35] = _storemerge58;
            FHEAP[_36] = _storemerge;
            FHEAP[_37] = 0;
            __ZN23btGeneric6DofConstraint19buildLinearJacobianER15btJacobianEntryRK9btVector3S4_S4_(_this, _scevgep47, _normalWorld, _pivotAInW, _pivotBInW);
            ;
          }
          var _42 = _i_129 + 1;
          var _exitcond46 = _42 == 3;
          if (_exitcond46) { __lastLabel__ = 3; __label__ = 130; /* _bb_nph */ break _bb4$14929; } else { __lastLabel__ = 3; __label__ = 61; /* _bb4 */ continue _bb4$14929; }
        }
        var _43 = _normalWorld;
        var _44 = _normalWorld+4;
        var _45 = _normalWorld+8;
        var _46 = _normalWorld+12;
        __lastLabel__ = 130; ;
        _bb15$14935: while(1) { // _bb15
          var _i_228 = __lastLabel__ == 130 ? 0 : (_61);
          var _scevgep = _this+416+_i_228*84;
          var _scevgep3334 = _this+1196+_i_228*16;
          var _scevgep35 = _this+1196+_i_228*16+4;
          var _scevgep36 = _this+1196+_i_228*16+8;
          var _scevgep37 = _this+1196+_i_228*16+12;
          var _scevgep38 = _this+1180+_i_228*4;
          var _scevgep39 = _this+856+_i_228*64+4;
          var _scevgep4041 = _this+856+_i_228*64;
          var _scevgep42 = _this+856+_i_228*64+52;
          var _scevgep43 = _this+856+_i_228*64+56;
          var _scevgep44 = _this+856+_i_228*64+48;
          var _scevgep45 = _this+856+_i_228*64+44;
          var _47 = FHEAP[_scevgep38];
          var _48 = FHEAP[_scevgep39];
          var _49 = FHEAP[_scevgep4041];
          var _50 = __Z21btAdjustAngleToLimitsfff(_47, _49, _48);
          FHEAP[_scevgep42] = _50;
          var _51 = _49 > _48;
          ;
          __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi_exit$_bb1_i_i$14937: do { 
            if (_51) {
              __label__ = 2733; /* __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi_exit */ 
            }
            else {
              ;
              var _52 = _49 > _50;
              ;
              if (_52) {
                ;
                IHEAP[_scevgep43] = 1;
                var _53 = _50 - _49;
                FHEAP[_scevgep44] = _53;
                __label__ = 4; /* _bb17 */ break __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi_exit$_bb1_i_i$14937;
              }
              else {
                ;
                var _54 = _48 < _50;
                if (!(_54)) { __label__ = 2733; /* __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi_exit */ break __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi_exit$_bb1_i_i$14937; }
                IHEAP[_scevgep43] = 2;
                var _55 = _50 - _48;
                FHEAP[_scevgep44] = _55;
                __label__ = 4; /* _bb17 */ break __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi_exit$_bb1_i_i$14937;
              }
            }
          } while(0);
          __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi_exit$_bb17$14943: do { 
            if (__label__ == 2733) {
              IHEAP[_scevgep43] = 0;
              var _56 = IHEAP[_scevgep45];
              var _phitmp = _56 == 0;
              if (_phitmp) { __label__ = 64; /* _bb19 */ break __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi_exit$_bb17$14943; } else { __label__ = 4; /* _bb17 */ break __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi_exit$_bb17$14943; }
            }
          } while(0);
          if (__label__ == 4) {
            var _57 = FHEAP[_scevgep3334];
            var _58 = FHEAP[_scevgep35];
            var _59 = FHEAP[_scevgep36];
            var _60 = FHEAP[_scevgep37];
            FHEAP[_43] = _57;
            FHEAP[_44] = _58;
            FHEAP[_45] = _59;
            FHEAP[_46] = _60;
            __ZN23btGeneric6DofConstraint20buildAngularJacobianER15btJacobianEntryRK9btVector3(_this, _scevgep, _normalWorld);
            ;
          }
          var _61 = _i_228 + 1;
          var _exitcond = _61 == 3;
          if (_exitcond) { __lastLabel__ = 64; __label__ = 44; /* _return */ break _return$_bb_nph30$14927; } else { __lastLabel__ = 64; __label__ = 153; /* _bb15 */ continue _bb15$14935; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN23btGeneric6DofConstraint13buildJacobianEv.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraint13buildJacobianEv, "__ZN23btGeneric6DofConstraint13buildJacobianEv");
  
  
  function __ZN23btGeneric6DofConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E(_this, _info) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+1296;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    ;
    if (_toBool) {
      ;
      var _4 = _this+24;
      var _5 = IHEAP[_4];
      var _6 = _5+4;
      var _7 = _this+20;
      var _8 = IHEAP[_7];
      var _9 = _8+4;
      __ZN23btGeneric6DofConstraint19calculateTransformsERK11btTransformS2_(_this, _9, _6);
      var _10 = _info;
      IHEAP[_10] = 0;
      var _11 = _info+4;
      IHEAP[_11] = 6;
      var _scevgep26 = _this+668+176;
      var _12 = IHEAP[_scevgep26];
      var _13 = _12 == 0;
      ;
      __ZN25btTranslationalLimitMotor14needApplyForceEi_exit$_bb4$14952: do { 
        if (_13) {
          ;
          var _scevgep27 = _this+668+108;
          var _14 = IHEAP[_scevgep27];
          var _phitmp14 = _14 == 0;
          if (_phitmp14) { __lastLabel__ = 2735; __label__ = 82; /* _bb5 */ break __ZN25btTranslationalLimitMotor14needApplyForceEi_exit$_bb4$14952; } else { __lastLabel__ = 2735; __label__ = 61; /* _bb4 */ break __ZN25btTranslationalLimitMotor14needApplyForceEi_exit$_bb4$14952; }
        }
        else {
          __label__ = 61; /* _bb4 */ 
        }
      } while(0);
      if (__label__ == 61) {
        IHEAP[_10] = 1;
        IHEAP[_11] = 5;
        __lastLabel__ = 61; ;
      }
      var _15 = __lastLabel__ == 2735 ? 6 : (5);
      var _16 = __lastLabel__ == 2735 ? 0 : (1);
      var _scevgep26_1 = _this+668+176+4;
      var _17 = IHEAP[_scevgep26_1];
      var _18 = _17 == 0;
      ;
      __ZN25btTranslationalLimitMotor14needApplyForceEi_exit_1$_bb4_1$14957: do { 
        if (_18) {
          ;
          var _scevgep27_1 = _this+668+108+1;
          var _40 = IHEAP[_scevgep27_1];
          var _phitmp14_1 = _40 == 0;
          if (_phitmp14_1) { __lastLabel__ = 2739; __label__ = 1372; /* _bb5_1 */ break __ZN25btTranslationalLimitMotor14needApplyForceEi_exit_1$_bb4_1$14957; } else { __lastLabel__ = 2739; __label__ = 1369; /* _bb4_1 */ break __ZN25btTranslationalLimitMotor14needApplyForceEi_exit_1$_bb4_1$14957; }
        }
        else {
          __label__ = 1369; /* _bb4_1 */ 
        }
      } while(0);
      if (__label__ == 1369) {
        var _38 = _16 + 1;
        IHEAP[_10] = _38;
        var _39 = _15 + -1;
        IHEAP[_11] = _39;
        __lastLabel__ = 1369; ;
      }
      var _34 = __lastLabel__ == 2739 ? _15 : (_39);
      var _35 = __lastLabel__ == 2739 ? _16 : (_38);
      var _scevgep26_2 = _this+668+176+8;
      var _36 = IHEAP[_scevgep26_2];
      var _37 = _36 == 0;
      ;
      __ZN25btTranslationalLimitMotor14needApplyForceEi_exit_2$_bb4_2$14962: do { 
        if (_37) {
          ;
          var _scevgep27_2 = _this+668+108+2;
          var _43 = IHEAP[_scevgep27_2];
          var _phitmp14_2 = _43 == 0;
          if (_phitmp14_2) { __lastLabel__ = 2741; __label__ = 148; /* _bb8 */ break __ZN25btTranslationalLimitMotor14needApplyForceEi_exit_2$_bb4_2$14962; } else { __lastLabel__ = 2741; __label__ = 1374; /* _bb4_2 */ break __ZN25btTranslationalLimitMotor14needApplyForceEi_exit_2$_bb4_2$14962; }
        }
        else {
          __label__ = 1374; /* _bb4_2 */ 
        }
      } while(0);
      if (__label__ == 1374) {
        var _41 = _35 + 1;
        IHEAP[_10] = _41;
        var _42 = _34 + -1;
        IHEAP[_11] = _42;
        __lastLabel__ = 1374; ;
      }
      _bb8$14966: while(1) { // _bb8
        var _i_115 = __lastLabel__ == 292 ? _33 : (__lastLabel__ == 2741 ? 0 : (0));
        var _scevgep = _this+1180+_i_115*4;
        var _scevgep18 = _this+856+_i_115*64+4;
        var _scevgep1920 = _this+856+_i_115*64;
        var _scevgep21 = _this+856+_i_115*64+52;
        var _scevgep22 = _this+856+_i_115*64+56;
        var _scevgep23 = _this+856+_i_115*64+48;
        var _scevgep24 = _this+856+_i_115*64+44;
        var _19 = FHEAP[_scevgep];
        var _20 = FHEAP[_scevgep18];
        var _21 = FHEAP[_scevgep1920];
        var _22 = __Z21btAdjustAngleToLimitsfff(_19, _21, _20);
        FHEAP[_scevgep21] = _22;
        var _23 = _21 > _20;
        ;
        __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi_exit$_bb1_i_i$14968: do { 
          if (_23) {
            __label__ = 2733; /* __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi_exit */ 
          }
          else {
            ;
            var _24 = _21 > _22;
            ;
            if (_24) {
              ;
              IHEAP[_scevgep22] = 1;
              var _25 = _22 - _21;
              FHEAP[_scevgep23] = _25;
              __label__ = 150; /* _bb10 */ break __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi_exit$_bb1_i_i$14968;
            }
            else {
              ;
              var _26 = _20 < _22;
              if (!(_26)) { __label__ = 2733; /* __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi_exit */ break __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi_exit$_bb1_i_i$14968; }
              IHEAP[_scevgep22] = 2;
              var _27 = _22 - _20;
              FHEAP[_scevgep23] = _27;
              __label__ = 150; /* _bb10 */ break __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi_exit$_bb1_i_i$14968;
            }
          }
        } while(0);
        __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi_exit$_bb10$14974: do { 
          if (__label__ == 2733) {
            IHEAP[_scevgep22] = 0;
            var _28 = IHEAP[_scevgep24];
            var _phitmp = _28 == 0;
            if (_phitmp) { __label__ = 292; /* _bb11 */ break __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi_exit$_bb10$14974; } else { __label__ = 150; /* _bb10 */ break __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi_exit$_bb10$14974; }
          }
        } while(0);
        if (__label__ == 150) {
          var _29 = IHEAP[_10];
          var _30 = _29 + 1;
          IHEAP[_10] = _30;
          var _31 = IHEAP[_11];
          var _32 = _31 + -1;
          IHEAP[_11] = _32;
          ;
        }
        var _33 = _i_115 + 1;
        var _exitcond = _33 == 3;
        if (_exitcond) { __lastLabel__ = 292; __label__ = 44; /* _return */ break _bb8$14966; } else { __lastLabel__ = 292; __label__ = 148; /* _bb8 */ continue _bb8$14966; }
      }
      ;
      return;
    }
    else {
      ;
      var _2 = _info;
      IHEAP[_2] = 0;
      var _3 = _info+4;
      IHEAP[_3] = 0;
      ;
      return;
    }
  }
  __ZN23btGeneric6DofConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E, "__ZN23btGeneric6DofConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E");
  
  
  function __ZN23btGeneric6DofConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E(_this, _info) {
    ;
    var __label__;
    var _0 = _this+20;
    var _1 = IHEAP[_0];
    var _2 = _1+4;
    var _3 = _this+24;
    var _4 = IHEAP[_3];
    var _5 = _4+4;
    var _6 = _1+304;
    var _7 = _4+304;
    var _8 = _1+320;
    var _9 = _4+320;
    var _10 = _this+1289;
    var _11 = IHEAP[_10];
    var _toBool = _11 == 0;
    ;
    if (_toBool) {
      ;
      var _14 = __ZN23btGeneric6DofConstraint15setLinearLimitsEPN17btTypedConstraint17btConstraintInfo2EiRK11btTransformS5_RK9btVector3S8_S8_S8_(_this, _info, 0, _2, _5, _6, _7, _8, _9);
      var _15 = __ZN23btGeneric6DofConstraint16setAngularLimitsEPN17btTypedConstraint17btConstraintInfo2EiRK11btTransformS5_RK9btVector3S8_S8_S8_(_this, _info, _14, _2, _5, _6, _7, _8, _9);
      ;
      return;
    }
    else {
      ;
      var _12 = __ZN23btGeneric6DofConstraint16setAngularLimitsEPN17btTypedConstraint17btConstraintInfo2EiRK11btTransformS5_RK9btVector3S8_S8_S8_(_this, _info, 0, _2, _5, _6, _7, _8, _9);
      var _13 = __ZN23btGeneric6DofConstraint15setLinearLimitsEPN17btTypedConstraint17btConstraintInfo2EiRK11btTransformS5_RK9btVector3S8_S8_S8_(_this, _info, _12, _2, _5, _6, _7, _8, _9);
      ;
      return;
    }
  }
  __ZN23btGeneric6DofConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E, "__ZN23btGeneric6DofConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E");
  
  
  function __ZN23btGeneric6DofConstraint21get_limit_motor_info2EP22btRotationalLimitMotorRK11btTransformS4_RK9btVector3S7_S7_S7_PN17btTypedConstraint17btConstraintInfo2EiRS5_ii(_this, _limot, _transA, _transB, _linVelA, _linVelB, _angVelA, _angVelB, _info, _row, _ax1, _rotational, _rotAllowed) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _tmpA = __stackBase__;
    var _tmpB = __stackBase__+16;
    var _0 = _info+24;
    var _1 = IHEAP[_0];
    var _2 = _1 * _row;
    var _3 = _limot+44;
    var _4 = IHEAP[_3];
    var _5 = _4;
    var _6 = _limot+56;
    var _7 = IHEAP[_6];
    var _8 = _5 | _7;
    var _9 = _8 == 0;
    ;
    _bb69$_bb$14986: do { 
      if (_9) {
        __lastLabel__ = -1; ;
      }
      else {
        __lastLabel__ = -1; ;
        var _10 = _rotational == 0;
        ;
        if (_10) {
          ;
          var _11 = _info+8;
          __lastLabel__ = 2722; ;
        }
        else {
          ;
          var _12 = _info+12;
          var _13 = _info+20;
          var _14 = IHEAP[_13];
          __lastLabel__ = 61; ;
        }
        var _iftmp_244_0141_in = __lastLabel__ == 61 ? _12 : (_11);
        var _iftmp_245_0 = __lastLabel__ == 61 ? _14 : (0);
        var _iftmp_244_0141 = IHEAP[_iftmp_244_0141_in];
        var _15 = _ax1;
        var _16 = FHEAP[_15];
        var _17 = _iftmp_244_0141+4*_2;
        FHEAP[_17] = _16;
        var _18 = _2 + 1;
        var _19 = _ax1+4;
        var _20 = FHEAP[_19];
        var _21 = _iftmp_244_0141+4*_18;
        FHEAP[_21] = _20;
        var _22 = _2 + 2;
        var _23 = _ax1+8;
        var _24 = FHEAP[_23];
        var _25 = _iftmp_244_0141+4*_22;
        FHEAP[_25] = _24;
        ;
        if (_10) {
          ;
          var _35 = _this+1289;
          var _36 = IHEAP[_35];
          var _toBool = _36 == 0;
          var _37 = _this+1116+48+8;
          var _38 = FHEAP[_37];
          ;
          if (_toBool) {
            ;
            var _157 = _transA+48+8;
            var _158 = FHEAP[_157];
            var _159 = _38 - _158;
            var _160 = _this+1116+48+4;
            var _161 = FHEAP[_160];
            var _162 = _transA+48+4;
            var _163 = FHEAP[_162];
            var _164 = _161 - _163;
            var _165 = _this+1116+48;
            var _166 = FHEAP[_165];
            var _167 = _transA+48;
            var _168 = FHEAP[_167];
            var _169 = _166 - _168;
            var _170 = FHEAP[_19];
            var _171 = _169 * _170;
            var _172 = FHEAP[_15];
            var _173 = _164 * _172;
            var _174 = _171 - _173;
            var _175 = _159 * _172;
            var _176 = FHEAP[_23];
            var _177 = _169 * _176;
            var _178 = _175 - _177;
            var _179 = _164 * _176;
            var _180 = _159 * _170;
            var _181 = _179 - _180;
            var _182 = _info+12;
            var _183 = IHEAP[_182];
            var _184 = _183+4*_2;
            FHEAP[_184] = _181;
            var _185 = IHEAP[_182];
            var _186 = _185+4*_18;
            FHEAP[_186] = _178;
            var _187 = IHEAP[_182];
            var _188 = _187+4*_22;
            FHEAP[_188] = _174;
            var _189 = FHEAP[_37];
            var _190 = _transB+48+8;
            var _191 = FHEAP[_190];
            var _192 = _189 - _191;
            var _193 = FHEAP[_160];
            var _194 = _transB+48+4;
            var _195 = FHEAP[_194];
            var _196 = _193 - _195;
            var _197 = FHEAP[_165];
            var _198 = _transB+48;
            var _199 = FHEAP[_198];
            var _200 = _197 - _199;
            var _201 = FHEAP[_19];
            var _202 = _200 * _201;
            var _203 = FHEAP[_15];
            var _204 = _196 * _203;
            var _205 = _202 - _204;
            var _206 = _192 * _203;
            var _207 = FHEAP[_23];
            var _208 = _200 * _207;
            var _209 = _206 - _208;
            var _210 = _196 * _207;
            var _211 = _192 * _201;
            var _212 = _210 - _211;
            var _213 = 0 - _205;
            var _214 = 0 - _209;
            var _215 = 0 - _212;
            var _216 = _info+20;
            var _217 = IHEAP[_216];
            var _218 = _217+4*_2;
            FHEAP[_218] = _215;
            var _219 = IHEAP[_216];
            var _220 = _219+4*_18;
            FHEAP[_220] = _214;
            var _221 = IHEAP[_216];
            var _222 = _221+4*_22;
            FHEAP[_222] = _213;
            ;
          }
          else {
            ;
            var _39 = _transB+48+8;
            var _40 = FHEAP[_39];
            var _41 = _38 - _40;
            var _42 = _this+1116+48+4;
            var _43 = FHEAP[_42];
            var _44 = _transB+48+4;
            var _45 = FHEAP[_44];
            var _46 = _43 - _45;
            var _47 = _this+1116+48;
            var _48 = FHEAP[_47];
            var _49 = _transB+48;
            var _50 = FHEAP[_49];
            var _51 = _48 - _50;
            var _52 = FHEAP[_15];
            var _53 = _51 * _52;
            var _54 = FHEAP[_19];
            var _55 = _46 * _54;
            var _56 = _53 + _55;
            var _57 = FHEAP[_23];
            var _58 = _41 * _57;
            var _59 = _56 + _58;
            var _60 = _57 * _59;
            var _61 = _54 * _59;
            var _62 = _52 * _59;
            var _63 = _41 - _60;
            var _64 = _46 - _61;
            var _65 = _51 - _62;
            var _66 = _this+1052+48+8;
            var _67 = FHEAP[_66];
            var _68 = _transA+48+8;
            var _69 = FHEAP[_68];
            var _70 = _67 - _69;
            var _71 = _this+1052+48+4;
            var _72 = FHEAP[_71];
            var _73 = _transA+48+4;
            var _74 = FHEAP[_73];
            var _75 = _72 - _74;
            var _76 = _this+1052+48;
            var _77 = FHEAP[_76];
            var _78 = _transA+48;
            var _79 = FHEAP[_78];
            var _80 = _77 - _79;
            var _81 = _80 * _52;
            var _82 = _75 * _54;
            var _83 = _81 + _82;
            var _84 = _70 * _57;
            var _85 = _83 + _84;
            var _86 = _57 * _85;
            var _87 = _54 * _85;
            var _88 = _52 * _85;
            var _89 = _70 - _86;
            var _90 = _75 - _87;
            var _91 = _80 - _88;
            var _92 = _limot+52;
            var _93 = FHEAP[_92];
            var _94 = _limot+48;
            var _95 = FHEAP[_94];
            var _96 = _93 - _95;
            var _97 = _57 * _96;
            var _98 = _54 * _96;
            var _99 = _52 * _96;
            var _100 = _86 + _97;
            var _101 = _87 + _98;
            var _102 = _88 + _99;
            var _103 = _100 - _60;
            var _104 = _101 - _61;
            var _105 = _102 - _62;
            var _106 = _this+1260;
            var _107 = FHEAP[_106];
            var _108 = _103 * _107;
            var _109 = _104 * _107;
            var _110 = _105 * _107;
            var _111 = _89 + _108;
            var _112 = _90 + _109;
            var _113 = _91 + _110;
            var _114 = _this+1264;
            var _115 = FHEAP[_114];
            var _116 = _103 * _115;
            var _117 = _104 * _115;
            var _118 = _105 * _115;
            var _119 = _63 - _116;
            var _120 = _64 - _117;
            var _121 = _65 - _118;
            var _122 = _113 * _54;
            var _123 = _112 * _52;
            var _124 = _122 - _123;
            var _125 = _111 * _52;
            var _126 = _113 * _57;
            var _127 = _125 - _126;
            var _128 = _112 * _57;
            var _129 = _111 * _54;
            var _130 = _128 - _129;
            var _131 = _tmpA;
            FHEAP[_131] = _130;
            var _132 = _tmpA+4;
            FHEAP[_132] = _127;
            var _133 = _tmpA+8;
            FHEAP[_133] = _124;
            var _134 = _tmpA+12;
            FHEAP[_134] = 0;
            var _135 = _121 * _54;
            var _136 = _120 * _52;
            var _137 = _135 - _136;
            var _138 = _119 * _52;
            var _139 = _121 * _57;
            var _140 = _138 - _139;
            var _141 = _120 * _57;
            var _142 = _119 * _54;
            var _143 = _141 - _142;
            var _144 = _tmpB;
            FHEAP[_144] = _143;
            var _145 = _tmpB+4;
            FHEAP[_145] = _140;
            var _146 = _tmpB+8;
            FHEAP[_146] = _137;
            var _147 = _tmpB+12;
            FHEAP[_147] = 0;
            var _148 = _this+1268;
            var _149 = IHEAP[_148];
            var _toBool16_not = _149 != 0;
            var _150 = _rotAllowed == 0;
            var _or_cond = _toBool16_not & _150;
            ;
            if (_or_cond) {
              __lastLabel__ = 150; ;
              var _151 = _130 * _107;
              FHEAP[_131] = _151;
              var _152 = _127 * _107;
              FHEAP[_132] = _152;
              var _153 = _124 * _107;
              FHEAP[_133] = _153;
              var _154 = _143 * _115;
              FHEAP[_144] = _154;
              var _155 = _140 * _115;
              FHEAP[_145] = _155;
              var _156 = _137 * _115;
              FHEAP[_146] = _156;
              __lastLabel__ = 86; ;
            }
            else {
              __lastLabel__ = 150; ;
            }
            var _223 = __lastLabel__ == 150 ? _130 : (_151);
            var _224 = __lastLabel__ == 150 ? _127 : (_152);
            var _225 = __lastLabel__ == 150 ? _124 : (_153);
            var _226 = __lastLabel__ == 150 ? _143 : (_154);
            var _227 = __lastLabel__ == 150 ? _140 : (_155);
            var _228 = __lastLabel__ == 150 ? _137 : (_156);
            var _229 = _info+12;
            var _230 = IHEAP[_229];
            var _scevgep151 = _230+4*_2;
            FHEAP[_scevgep151] = _223;
            var _231 = IHEAP[_229];
            var _scevgep151_1 = _231+4*_18;
            FHEAP[_scevgep151_1] = _224;
            var _232 = IHEAP[_229];
            var _scevgep151_2 = _232+4*_22;
            FHEAP[_scevgep151_2] = _225;
            var _233 = _info+20;
            var _234 = IHEAP[_233];
            var _235 = 0 - _226;
            var _scevgep147 = _234+4*_2;
            FHEAP[_scevgep147] = _235;
            var _236 = IHEAP[_233];
            var _237 = 0 - _227;
            var _scevgep147_1 = _236+4*_18;
            FHEAP[_scevgep147_1] = _237;
            var _238 = IHEAP[_233];
            var _239 = 0 - _228;
            var _scevgep147_2 = _238+4*_22;
            FHEAP[_scevgep147_2] = _239;
            ;
          }
        }
        else {
          ;
          var _26 = FHEAP[_15];
          var _27 = 0 - _26;
          var _28 = _iftmp_245_0+4*_2;
          FHEAP[_28] = _27;
          var _29 = FHEAP[_19];
          var _30 = 0 - _29;
          var _31 = _iftmp_245_0+4*_18;
          FHEAP[_31] = _30;
          var _32 = FHEAP[_23];
          var _33 = 0 - _32;
          var _34 = _iftmp_245_0+4*_22;
          FHEAP[_34] = _33;
          ;
        }
        var _240 = _7 == 0;
        ;
        _bb34$_bb32$15002: do { 
          if (_240) {
            __label__ = 250; /* _bb34 */ 
          }
          else {
            ;
            var _241 = _limot;
            var _242 = FHEAP[_241];
            var _243 = _limot+4;
            var _244 = FHEAP[_243];
            var _245 = _242 == _244;
            if (!(_245)) { __label__ = 250; /* _bb34 */ break _bb34$_bb32$15002; }
            var _246 = _info+28;
            var _247 = IHEAP[_246];
            var _248 = _247+4*_2;
            FHEAP[_248] = 0;
            __label__ = 8; /* _bb43 */ break _bb34$_bb32$15002;
          }
        } while(0);
        _bb34$_bb43$15005: do { 
          if (__label__ == 250) {
            var _249 = _info+28;
            var _250 = IHEAP[_249];
            var _251 = _250+4*_2;
            FHEAP[_251] = 0;
            var _252 = _4 == 0;
            ;
            if (_252) {
              ;
              if (_240) { __lastLabel__ = 69; __label__ = 2552; /* _bb69 */ break _bb69$_bb$14986; } else { __lastLabel__ = 69; ; }
            }
            else {
              ;
              var _253 = _info+32;
              var _254 = IHEAP[_253];
              var _255 = _limot+28;
              var _256 = FHEAP[_255];
              var _257 = _254+4*_2;
              FHEAP[_257] = _256;
              if (!(_240)) { __label__ = 8; /* _bb43 */ break _bb34$_bb43$15005; }
              var _258 = _limot+8;
              var _259 = FHEAP[_258];
              ;
              if (_10) {
                __lastLabel__ = 251; ;
                var _260 = 0 - _259;
                __lastLabel__ = 1015; ;
              }
              else {
                __lastLabel__ = 251; ;
              }
              var _iftmp_246_0 = __lastLabel__ == 1015 ? _260 : (_259);
              var _261 = _info;
              var _262 = FHEAP[_261];
              var _263 = _limot+32;
              var _264 = FHEAP[_263];
              var _265 = _262 * _264;
              var _266 = _limot+4;
              var _267 = FHEAP[_266];
              var _268 = _limot;
              var _269 = FHEAP[_268];
              var _270 = _limot+52;
              var _271 = FHEAP[_270];
              var _272 = _this;
              var _273 = __ZN17btTypedConstraint14getMotorFactorEfffff(_272, _271, _269, _267, _iftmp_246_0, _265);
              var _274 = IHEAP[_249];
              var _275 = _274+4*_2;
              var _276 = FHEAP[_275];
              var _277 = FHEAP[_258];
              var _278 = _277 * _273;
              var _279 = _276 + _278;
              FHEAP[_275] = _279;
              var _280 = _info+36;
              var _281 = IHEAP[_280];
              var _282 = _limot+12;
              var _283 = FHEAP[_282];
              var _284 = 0 - _283;
              var _285 = _281+4*_2;
              FHEAP[_285] = _284;
              var _286 = _info+40;
              var _287 = IHEAP[_286];
              var _288 = FHEAP[_282];
              var _289 = _287+4*_2;
              FHEAP[_289] = _288;
              STACKTOP = __stackBase__;
              return 1;
            }
          }
        } while(0);
        var _290 = _info;
        var _291 = FHEAP[_290];
        var _292 = _limot+32;
        var _293 = FHEAP[_292];
        var _294 = _291 * _293;
        var _295 = _info+28;
        var _296 = IHEAP[_295];
        var _297 = _296+4*_2;
        var _298 = FHEAP[_297];
        ;
        if (_10) {
          ;
          var _299 = _limot+48;
          var _300 = FHEAP[_299];
          var _301 = _300 * _294;
          __lastLabel__ = 95; ;
        }
        else {
          ;
          var _302 = 0 - _294;
          var _303 = _limot+48;
          var _304 = FHEAP[_303];
          var _305 = _304 * _302;
          __lastLabel__ = 635; ;
        }
        var __pn = __lastLabel__ == 635 ? _305 : (_301);
        var _storemerge = _298 + __pn;
        FHEAP[_297] = _storemerge;
        var _306 = _info+32;
        var _307 = IHEAP[_306];
        var _308 = _limot+36;
        var _309 = FHEAP[_308];
        var _310 = _307+4*_2;
        FHEAP[_310] = _309;
        var _311 = _limot;
        var _312 = FHEAP[_311];
        var _313 = _limot+4;
        var _314 = FHEAP[_313];
        var _315 = _312 == _314;
        ;
        if (_315) {
          ;
          var _316 = _info+36;
          var _317 = IHEAP[_316];
          var _318 = _317+4*_2;
          FHEAP[_318] = -3.4028234663852886e+38;
          var _319 = _info+40;
          var _320 = IHEAP[_319];
          var _321 = _320+4*_2;
          FHEAP[_321] = 3.4028234663852886e+38;
          STACKTOP = __stackBase__;
          return 1;
        }
        else {
          ;
          var _322 = _7 == 1;
          var _323 = _info+36;
          var _324 = IHEAP[_323];
          var _325 = _324+4*_2;
          ;
          if (_322) {
            ;
            FHEAP[_325] = 0;
            var _326 = _info+40;
            var _327 = IHEAP[_326];
            var _328 = _327+4*_2;
            FHEAP[_328] = 3.4028234663852886e+38;
            ;
          }
          else {
            ;
            FHEAP[_325] = -3.4028234663852886e+38;
            var _329 = _info+40;
            var _330 = IHEAP[_329];
            var _331 = _330+4*_2;
            FHEAP[_331] = 0;
            ;
          }
          var _332 = _limot+40;
          var _333 = FHEAP[_332];
          var _334 = _333 > 0;
          if (_334) { __lastLabel__ = 478; ; } else { __lastLabel__ = 478; __label__ = 2552; /* _bb69 */ break _bb69$_bb$14986; }
          ;
          if (_10) {
            ;
            var _361 = _linVelA;
            var _362 = FHEAP[_361];
            var _363 = FHEAP[_15];
            var _364 = _362 * _363;
            var _365 = _linVelA+4;
            var _366 = FHEAP[_365];
            var _367 = FHEAP[_19];
            var _368 = _366 * _367;
            var _369 = _364 + _368;
            var _370 = _linVelA+8;
            var _371 = FHEAP[_370];
            var _372 = FHEAP[_23];
            var _373 = _371 * _372;
            var _374 = _369 + _373;
            var _375 = _linVelB;
            var _376 = FHEAP[_375];
            var _377 = _376 * _363;
            var _378 = _linVelB+4;
            var _379 = FHEAP[_378];
            var _380 = _379 * _367;
            var _381 = _377 + _380;
            var _382 = _linVelB+8;
            var _383 = FHEAP[_382];
            var _384 = _383 * _372;
            var _385 = _381 + _384;
            var _386 = _374 - _385;
            __lastLabel__ = 1307; ;
          }
          else {
            ;
            var _335 = _angVelA;
            var _336 = FHEAP[_335];
            var _337 = FHEAP[_15];
            var _338 = _336 * _337;
            var _339 = _angVelA+4;
            var _340 = FHEAP[_339];
            var _341 = FHEAP[_19];
            var _342 = _340 * _341;
            var _343 = _338 + _342;
            var _344 = _angVelA+8;
            var _345 = FHEAP[_344];
            var _346 = FHEAP[_23];
            var _347 = _345 * _346;
            var _348 = _343 + _347;
            var _349 = _angVelB;
            var _350 = FHEAP[_349];
            var _351 = _350 * _337;
            var _352 = _angVelB+4;
            var _353 = FHEAP[_352];
            var _354 = _353 * _341;
            var _355 = _351 + _354;
            var _356 = _angVelB+8;
            var _357 = FHEAP[_356];
            var _358 = _357 * _346;
            var _359 = _355 + _358;
            var _360 = _348 - _359;
            __lastLabel__ = 1022; ;
          }
          var _vel_0 = __lastLabel__ == 1022 ? _360 : (_386);
          ;
          if (_322) {
            ;
            var _387 = _vel_0 < 0;
            if (_387) { __lastLabel__ = 10; ; } else { __lastLabel__ = 10; __label__ = 2552; /* _bb69 */ break _bb69$_bb$14986; }
            var _388 = 0 - _333;
            var _389 = _vel_0 * _388;
            var _390 = IHEAP[_295];
            var _391 = _390+4*_2;
            var _392 = FHEAP[_391];
            var _393 = _392 < _389;
            if (_393) { __lastLabel__ = 1024; ; } else { __lastLabel__ = 1024; __label__ = 2552; /* _bb69 */ break _bb69$_bb$14986; }
            FHEAP[_391] = _389;
            STACKTOP = __stackBase__;
            return 1;
          }
          else {
            ;
            var _394 = _vel_0 > 0;
            if (_394) { __lastLabel__ = 1027; ; } else { __lastLabel__ = 1027; __label__ = 2552; /* _bb69 */ break _bb69$_bb$14986; }
            var _395 = 0 - _333;
            var _396 = _vel_0 * _395;
            var _397 = IHEAP[_295];
            var _398 = _397+4*_2;
            var _399 = FHEAP[_398];
            var _400 = _399 > _396;
            if (_400) { __lastLabel__ = 1028; ; } else { __lastLabel__ = 1028; __label__ = 2552; /* _bb69 */ break _bb69$_bb$14986; }
            FHEAP[_398] = _396;
            STACKTOP = __stackBase__;
            return 1;
          }
        }
      }
    } while(0);
    var __0 = __lastLabel__ == 69 ? 1 : (__lastLabel__ == 1028 ? 1 : (__lastLabel__ == 1027 ? 1 : (__lastLabel__ == 1024 ? 1 : (__lastLabel__ == 10 ? 1 : (__lastLabel__ == 478 ? 1 : (0))))));
    STACKTOP = __stackBase__;
    return __0;
  }
  __ZN23btGeneric6DofConstraint21get_limit_motor_info2EP22btRotationalLimitMotorRK11btTransformS4_RK9btVector3S7_S7_S7_PN17btTypedConstraint17btConstraintInfo2EiRS5_ii.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraint21get_limit_motor_info2EP22btRotationalLimitMotorRK11btTransformS4_RK9btVector3S7_S7_S7_PN17btTypedConstraint17btConstraintInfo2EiRS5_ii, "__ZN23btGeneric6DofConstraint21get_limit_motor_info2EP22btRotationalLimitMotorRK11btTransformS4_RK9btVector3S7_S7_S7_PN17btTypedConstraint17btConstraintInfo2EiRS5_ii");
  
  
  function __ZN23btGeneric6DofConstraint16setAngularLimitsEPN17btTypedConstraint17btConstraintInfo2EiRK11btTransformS5_RK9btVector3S8_S8_S8_(_this, _info, _row_offset, _transA, _transB, _linVelA, _linVelB, _angVelA, _angVelB) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var __lastLabel__ = null;
    var _axis = __stackBase__;
    var _0 = _axis;
    var _1 = _axis+4;
    var _2 = _axis+8;
    var _3 = _axis+12;
    var _4 = _this+1292;
    var _5 = _info+32;
    var _6 = _info+4;
    __lastLabel__ = 130; ;
    _bb$15040: while(1) { // _bb
      var _i_017 = __lastLabel__ == 130 ? 0 : (_28);
      var _row_116 = __lastLabel__ == 130 ? _row_offset : (_row_0);
      var _scevgep = _this+856+_i_017*64+32;
      var _scevgep18 = _this+856+_i_017*64+36;
      var _scevgep19 = _this+856+_i_017*64+28;
      var _scevgep20 = _this+856+_i_017*64;
      var _scevgep2122 = _this+1196+_i_017*16;
      var _scevgep23 = _this+1196+_i_017*16+4;
      var _scevgep24 = _this+1196+_i_017*16+8;
      var _scevgep25 = _this+1196+_i_017*16+12;
      var _scevgep26 = _this+856+_i_017*64+56;
      var _tmp = _i_017 * 3;
      var _tmp28 = _tmp + 9;
      var _7 = IHEAP[_scevgep26];
      var _8 = _7 == 0;
      ;
      __ZN22btRotationalLimitMotor16needApplyTorquesEv_exit$_bb1$15042: do { 
        if (_8) {
          ;
          var _scevgep27 = _this+856+_i_017*64+44;
          var _9 = IHEAP[_scevgep27];
          var _phitmp = _9 == 0;
          if (_phitmp) { __lastLabel__ = 2751; __label__ = 3; /* _bb12 */ break __ZN22btRotationalLimitMotor16needApplyTorquesEv_exit$_bb1$15042; } else { __lastLabel__ = 2751; __label__ = 75; /* _bb1 */ break __ZN22btRotationalLimitMotor16needApplyTorquesEv_exit$_bb1$15042; }
        }
        else {
          __label__ = 75; /* _bb1 */ 
        }
      } while(0);
      if (__label__ == 75) {
        var _10 = FHEAP[_scevgep2122];
        FHEAP[_0] = _10;
        var _11 = FHEAP[_scevgep23];
        FHEAP[_1] = _11;
        var _12 = FHEAP[_scevgep24];
        FHEAP[_2] = _12;
        var _13 = FHEAP[_scevgep25];
        FHEAP[_3] = _13;
        var _14 = IHEAP[_4];
        var _15 = _14 >> _tmp28;
        var _16 = _15 & 1;
        var _toBool5 = _16 == 0;
        ;
        if (_toBool5) {
          ;
          var _17 = IHEAP[_5];
          var _18 = FHEAP[_17];
          FHEAP[_scevgep19] = _18;
          ;
        }
        var _19 = _15 & 2;
        var _20 = _19 == 0;
        ;
        if (_20) {
          ;
          var _21 = IHEAP[_5];
          var _22 = FHEAP[_21];
          FHEAP[_scevgep18] = _22;
          ;
        }
        var _23 = _15 & 4;
        var _24 = _23 == 0;
        ;
        if (_24) {
          ;
          var _25 = FHEAP[_6];
          FHEAP[_scevgep] = _25;
          ;
        }
        var _26 = __ZN23btGeneric6DofConstraint21get_limit_motor_info2EP22btRotationalLimitMotorRK11btTransformS4_RK9btVector3S7_S7_S7_PN17btTypedConstraint17btConstraintInfo2EiRS5_ii(_this, _scevgep20, _transA, _transB, _linVelA, _linVelB, _angVelA, _angVelB, _info, _row_116, _axis, 1, 0);
        var _27 = _26 + _row_116;
        __lastLabel__ = 292; ;
      }
      var _row_0 = __lastLabel__ == 292 ? _27 : (_row_116);
      var _28 = _i_017 + 1;
      var _exitcond = _28 == 3;
      if (_exitcond) { __lastLabel__ = 3; __label__ = 63; /* _bb14 */ break _bb$15040; } else { __lastLabel__ = 3; __label__ = 60; /* _bb */ continue _bb$15040; }
    }
    STACKTOP = __stackBase__;
    return _row_0;
  }
  __ZN23btGeneric6DofConstraint16setAngularLimitsEPN17btTypedConstraint17btConstraintInfo2EiRK11btTransformS5_RK9btVector3S8_S8_S8_.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraint16setAngularLimitsEPN17btTypedConstraint17btConstraintInfo2EiRK11btTransformS5_RK9btVector3S8_S8_S8_, "__ZN23btGeneric6DofConstraint16setAngularLimitsEPN17btTypedConstraint17btConstraintInfo2EiRK11btTransformS5_RK9btVector3S8_S8_S8_");
  
  
  function __ZN23btGeneric6DofConstraint15setLinearLimitsEPN17btTypedConstraint17btConstraintInfo2EiRK11btTransformS5_RK9btVector3S8_S8_S8_(_this, _info, _row, _transA, _transB, _linVelA, _linVelB, _angVelA, _angVelB) {
    var __stackBase__  = STACKTOP; STACKTOP += 80;
    var __label__;
    var __lastLabel__ = null;
    var _limot = __stackBase__;
    var _axis = __stackBase__+64;
    var _0 = _limot+60;
    FHEAP[_0] = 0;
    var _1 = _limot+8;
    FHEAP[_1] = 0;
    var _2 = _limot+12;
    FHEAP[_2] = 0.10000000149011612;
    var _3 = _limot+16;
    FHEAP[_3] = 300;
    var _4 = _limot;
    FHEAP[_4] = 1;
    var _5 = _limot+4;
    FHEAP[_5] = -1;
    var _6 = _limot+28;
    FHEAP[_6] = 0;
    var _7 = _limot+32;
    FHEAP[_7] = 0.20000000298023224;
    var _8 = _limot+36;
    FHEAP[_8] = 0;
    var _9 = _limot+40;
    FHEAP[_9] = 0;
    var _10 = _limot+20;
    FHEAP[_10] = 1;
    var _11 = _limot+24;
    FHEAP[_11] = 0.5;
    var _12 = _limot+56;
    IHEAP[_12] = 0;
    var _13 = _limot+48;
    FHEAP[_13] = 0;
    var _14 = _limot+44;
    IHEAP[_14] = 0;
    var _15 = _limot+52;
    var _16 = _this+668+52;
    var _17 = _this+668+48;
    var _18 = _axis;
    var _19 = _axis+4;
    var _20 = _axis+8;
    var _21 = _axis+12;
    var _22 = _this+1292;
    var _23 = _info+32;
    var _24 = _info+4;
    var _25 = _this+1289;
    __lastLabel__ = 130; ;
    _bb$15058: while(1) { // _bb
      var _i_023 = __lastLabel__ == 130 ? 0 : (_62);
      var _row_addr_122 = __lastLabel__ == 130 ? _row : (_row_addr_0);
      var _scevgep = _this+668+176+_i_023*4;
      var _scevgep25 = _this+668+108+_i_023;
      var _scevgep26 = _this+668+160+_i_023*4;
      var _scevgep27 = _this+668+144+_i_023*4;
      var _scevgep28 = _this+668+16+_i_023*4;
      var _scevgep29 = _this+668+_i_023*4;
      var _scevgep30 = _this+668+128+_i_023*4;
      var _scevgep31 = _this+668+112+_i_023*4;
      var _scevgep32 = _this+1052+32+_i_023*4;
      var _scevgep33 = _this+1052+16+_i_023*4;
      var _scevgep34 = _this+1052+_i_023*4;
      var _scevgep35 = _this+668+60+_i_023*4;
      var _scevgep36 = _this+668+92+_i_023*4;
      var _scevgep37 = _this+668+76+_i_023*4;
      var _tmp38 = _i_023 * 3;
      var _tmp39 = _i_023 + 2;
      var _26 = IHEAP[_scevgep];
      var _27 = _26 == 0;
      var _28 = IHEAP[_scevgep25];
      var _phitmp = _28 == 0;
      var _or_cond = _27 & _phitmp;
      ;
      if (_or_cond) {
        __lastLabel__ = 60; ;
      }
      else {
        __lastLabel__ = 60; ;
        FHEAP[_9] = 0;
        IHEAP[_12] = _26;
        var _29 = FHEAP[_scevgep26];
        FHEAP[_15] = _29;
        var _30 = FHEAP[_scevgep27];
        FHEAP[_13] = _30;
        var _31 = FHEAP[_16];
        FHEAP[_10] = _31;
        IHEAP[_14] = _28;
        var _32 = FHEAP[_scevgep28];
        FHEAP[_5] = _32;
        var _33 = FHEAP[_17];
        FHEAP[_11] = _33;
        var _34 = FHEAP[_scevgep29];
        FHEAP[_4] = _34;
        FHEAP[_3] = 0;
        var _35 = FHEAP[_scevgep30];
        FHEAP[_2] = _35;
        var _36 = FHEAP[_scevgep31];
        FHEAP[_1] = _36;
        var _37 = FHEAP[_scevgep34];
        FHEAP[_18] = _37;
        var _38 = FHEAP[_scevgep33];
        FHEAP[_19] = _38;
        var _39 = FHEAP[_scevgep32];
        FHEAP[_20] = _39;
        FHEAP[_21] = 0;
        var _40 = IHEAP[_22];
        var _41 = _40 >> _tmp38;
        var _42 = _41 & 1;
        var _toBool2 = _42 == 0;
        ;
        if (_toBool2) {
          __lastLabel__ = 75; ;
          var _43 = IHEAP[_23];
          __lastLabel__ = 61; ;
        }
        else {
          __lastLabel__ = 75; ;
        }
        var _iftmp_233_0_in = __lastLabel__ == 61 ? _43 : (_scevgep35);
        var _iftmp_233_0 = FHEAP[_iftmp_233_0_in];
        FHEAP[_6] = _iftmp_233_0;
        var _44 = _41 & 2;
        var _45 = _44 == 0;
        ;
        if (_45) {
          __lastLabel__ = 82; ;
          var _46 = IHEAP[_23];
          __lastLabel__ = 2; ;
        }
        else {
          __lastLabel__ = 82; ;
        }
        var _iftmp_234_0_in = __lastLabel__ == 2 ? _46 : (_scevgep36);
        var _iftmp_234_0 = FHEAP[_iftmp_234_0_in];
        FHEAP[_8] = _iftmp_234_0;
        var _47 = _41 & 4;
        var _48 = _47 == 0;
        var _iftmp_235_0_in = _48 ? _24 : _scevgep37;
        var _iftmp_235_0 = FHEAP[_iftmp_235_0_in];
        FHEAP[_7] = _iftmp_235_0;
        var _49 = IHEAP[_25];
        var _toBool12 = _49 == 0;
        ;
        if (_toBool12) {
          ;
          var _60 = __ZN23btGeneric6DofConstraint21get_limit_motor_info2EP22btRotationalLimitMotorRK11btTransformS4_RK9btVector3S7_S7_S7_PN17btTypedConstraint17btConstraintInfo2EiRS5_ii(_this, _limot, _transA, _transB, _linVelA, _linVelB, _angVelA, _angVelB, _info, _row_addr_122, _axis, 0, 0);
          var _61 = _60 + _row_addr_122;
          __lastLabel__ = 4; ;
        }
        else {
          ;
          var _50 = _i_023 + 1;
          var _tmp = _50 == 3;
          var _tmp24 = _tmp ? 0 : _50;
          var _51 = _this+856+_tmp24*64+56;
          var _52 = IHEAP[_51];
          var _53 = _52 == 0;
          ;
          _bb16$_bb14$15071: do { 
            if (_53) {
              __lastLabel__ = 108; ;
            }
            else {
              __lastLabel__ = 108; ;
              var _54 = Math.floor(_tmp39 % 3);
              var _55 = _this+856+_54*64+56;
              var _56 = IHEAP[_55];
              var _57 = _56 == 0;
              if (_57) { __lastLabel__ = 63; __label__ = 154; /* _bb16 */ break _bb16$_bb14$15071; } else { __lastLabel__ = 63; ; }
              __lastLabel__ = 153; ;
            }
          } while(0);
          var _rotAllowed_0 = __lastLabel__ == 153 ? 0 : (__lastLabel__ == 63 ? 1 : (1));
          var _58 = __ZN23btGeneric6DofConstraint21get_limit_motor_info2EP22btRotationalLimitMotorRK11btTransformS4_RK9btVector3S7_S7_S7_PN17btTypedConstraint17btConstraintInfo2EiRS5_ii(_this, _limot, _transA, _transB, _linVelA, _linVelB, _angVelA, _angVelB, _info, _row_addr_122, _axis, 0, _rotAllowed_0);
          var _59 = _58 + _row_addr_122;
          __lastLabel__ = 154; ;
        }
      }
      var _row_addr_0 = __lastLabel__ == 154 ? _59 : (__lastLabel__ == 4 ? _61 : (_row_addr_122));
      var _62 = _i_023 + 1;
      var _exitcond = _62 == 3;
      if (_exitcond) { __lastLabel__ = 86; __label__ = 117; /* _bb20 */ break _bb$15058; } else { __lastLabel__ = 86; __label__ = 60; /* _bb */ continue _bb$15058; }
    }
    STACKTOP = __stackBase__;
    return _row_addr_0;
  }
  __ZN23btGeneric6DofConstraint15setLinearLimitsEPN17btTypedConstraint17btConstraintInfo2EiRK11btTransformS5_RK9btVector3S8_S8_S8_.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraint15setLinearLimitsEPN17btTypedConstraint17btConstraintInfo2EiRK11btTransformS5_RK9btVector3S8_S8_S8_, "__ZN23btGeneric6DofConstraint15setLinearLimitsEPN17btTypedConstraint17btConstraintInfo2EiRK11btTransformS5_RK9btVector3S8_S8_S8_");
  
  
  function __Z21btAdjustAngleToLimitsfff(_angleInRadians, _angleLowerLimitInRadians, _angleUpperLimitInRadians) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _angleLowerLimitInRadians < _angleUpperLimitInRadians;
    ;
    _bb1$_bb14$15078: do { 
      if (_0) {
        ;
        var _1 = _angleInRadians < _angleLowerLimitInRadians;
        ;
        if (_1) {
          ;
          var _2 = _angleLowerLimitInRadians - _angleInRadians;
          var _3 = _fmodf(_2, 6.2831854820251465);
          var _4 = _3 < -3.1415927410125732;
          ;
          _bb_i$_bb1_i$15082: do { 
            if (_4) {
              ;
              var _5 = _3 + 6.2831854820251465;
              __lastLabel__ = 131; ;
            }
            else {
              ;
              var _6 = _3 > 3.1415927410125732;
              if (_6) { __lastLabel__ = 159; ; } else { __lastLabel__ = 159; __label__ = 2761; /* __Z16btNormalizeAnglef_exit */ break _bb_i$_bb1_i$15082; }
              var _7 = _3 + -6.2831854820251465;
              __lastLabel__ = 132; ;
            }
          } while(0);
          var _8 = __lastLabel__ == 132 ? _7 : (__lastLabel__ == 131 ? _5 : (_3));
          var _9 = _fabsf(_8);
          var _10 = _angleUpperLimitInRadians - _angleInRadians;
          var _11 = _fmodf(_10, 6.2831854820251465);
          var _12 = _11 < -3.1415927410125732;
          ;
          _bb_i16$_bb1_i17$15087: do { 
            if (_12) {
              ;
              var _13 = _11 + 6.2831854820251465;
              __lastLabel__ = 846; ;
            }
            else {
              ;
              var _14 = _11 > 3.1415927410125732;
              if (_14) { __lastLabel__ = 2763; ; } else { __lastLabel__ = 2763; __label__ = 2765; /* __Z16btNormalizeAnglef_exit20 */ break _bb_i16$_bb1_i17$15087; }
              var _15 = _11 + -6.2831854820251465;
              __lastLabel__ = 2764; ;
            }
          } while(0);
          var _16 = __lastLabel__ == 2764 ? _15 : (__lastLabel__ == 846 ? _13 : (_11));
          var _17 = _fabsf(_16);
          var _18 = _9 >= _17;
          if (!(_18)) { __label__ = 63; /* _bb14 */ break _bb1$_bb14$15078; }
          var _19 = _angleInRadians + 6.2831854820251465;
          ;
          return _19;
        }
        else {
          ;
          var _20 = _angleInRadians > _angleUpperLimitInRadians;
          if (!(_20)) { __label__ = 63; /* _bb14 */ break _bb1$_bb14$15078; }
          var _21 = _angleInRadians - _angleUpperLimitInRadians;
          var _22 = _fmodf(_21, 6.2831854820251465);
          var _23 = _22 < -3.1415927410125732;
          ;
          _bb_i21$_bb1_i22$15095: do { 
            if (_23) {
              ;
              var _24 = _22 + 6.2831854820251465;
              __lastLabel__ = 1303; ;
            }
            else {
              ;
              var _25 = _22 > 3.1415927410125732;
              if (_25) { __lastLabel__ = 2049; ; } else { __lastLabel__ = 2049; __label__ = 2768; /* __Z16btNormalizeAnglef_exit25 */ break _bb_i21$_bb1_i22$15095; }
              var _26 = _22 + -6.2831854820251465;
              __lastLabel__ = 2767; ;
            }
          } while(0);
          var _27 = __lastLabel__ == 2767 ? _26 : (__lastLabel__ == 1303 ? _24 : (_22));
          var _28 = _fabsf(_27);
          var _29 = _angleInRadians - _angleLowerLimitInRadians;
          var _30 = _fmodf(_29, 6.2831854820251465);
          var _31 = _30 < -3.1415927410125732;
          ;
          _bb_i26$_bb1_i27$15100: do { 
            if (_31) {
              ;
              var _32 = _30 + 6.2831854820251465;
              __lastLabel__ = 2769; ;
            }
            else {
              ;
              var _33 = _30 > 3.1415927410125732;
              if (_33) { __lastLabel__ = 2771; ; } else { __lastLabel__ = 2771; __label__ = 2773; /* __Z16btNormalizeAnglef_exit30 */ break _bb_i26$_bb1_i27$15100; }
              var _34 = _30 + -6.2831854820251465;
              __lastLabel__ = 2772; ;
            }
          } while(0);
          var _35 = __lastLabel__ == 2772 ? _34 : (__lastLabel__ == 2769 ? _32 : (_30));
          var _36 = _fabsf(_35);
          var _37 = _36 < _28;
          if (!(_37)) { __label__ = 63; /* _bb14 */ break _bb1$_bb14$15078; }
          var _38 = _angleInRadians + -6.2831854820251465;
          ;
          return _38;
        }
      }
    } while(0);
    ;
    return _angleInRadians;
  }
  __Z21btAdjustAngleToLimitsfff.__index__ = Runtime.getFunctionIndex(__Z21btAdjustAngleToLimitsfff, "__Z21btAdjustAngleToLimitsfff");
  
  
  function __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi(_this, _axis_index) {
    ;
    var __label__;
    var _0 = _this+1180+_axis_index*4;
    var _1 = FHEAP[_0];
    var _2 = _this+856+_axis_index*64+4;
    var _3 = FHEAP[_2];
    var _4 = _this+856+_axis_index*64;
    var _5 = FHEAP[_4];
    var _6 = __Z21btAdjustAngleToLimitsfff(_1, _5, _3);
    var _7 = _this+856+_axis_index*64+52;
    FHEAP[_7] = _6;
    var _8 = _5 > _3;
    ;
    if (_8) {
      ;
      var _9 = _this+856+_axis_index*64+56;
      IHEAP[_9] = 0;
      ;
    }
    else {
      ;
      var _10 = _5 > _6;
      ;
      if (_10) {
        ;
        var _11 = _this+856+_axis_index*64+56;
        IHEAP[_11] = 1;
        var _12 = _6 - _5;
        var _13 = _this+856+_axis_index*64+48;
        FHEAP[_13] = _12;
        ;
        return 1;
      }
      else {
        ;
        var _14 = _3 < _6;
        var _15 = _this+856+_axis_index*64+56;
        ;
        if (_14) {
          ;
          IHEAP[_15] = 2;
          var _16 = _6 - _3;
          var _17 = _this+856+_axis_index*64+48;
          FHEAP[_17] = _16;
          ;
          return 1;
        }
        else {
          ;
          IHEAP[_15] = 0;
          ;
        }
      }
    }
    var _18 = _this+856+_axis_index*64+44;
    var _19 = IHEAP[_18];
    var _not_toBoolnot_i = _19 != 0;
    var _retval_i = _not_toBoolnot_i;
    ;
    return _retval_i;
  }
  __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraint21testAngularLimitMotorEi, "__ZN23btGeneric6DofConstraint21testAngularLimitMotorEi");
  
  
  function __Z16matrixToEulerXYZRK11btMatrix3x3R9btVector3(_mat, _xyz) {
    ;
    var __label__;
    var _0 = _mat+32;
    var _1 = FHEAP[_0];
    var _2 = _1 < 1;
    ;
    if (_2) {
      ;
      var _3 = _1 > -1;
      var _4 = _xyz;
      ;
      if (_3) {
        ;
        var _5 = _mat+32+8;
        var _6 = FHEAP[_5];
        var _7 = _mat+32+4;
        var _8 = FHEAP[_7];
        var _9 = 0 - _8;
        var _10 = _atan2f(_9, _6);
        FHEAP[_4] = _10;
        var _11 = FHEAP[_0];
        var _12 = _11 < -1;
        var _x_addr_0_i = _12 ? -1 : _11;
        var _13 = _x_addr_0_i > 1;
        var _x_addr_1_i = _13 ? 1 : _x_addr_0_i;
        var _14 = _asinf(_x_addr_1_i);
        var _15 = _xyz+4;
        FHEAP[_15] = _14;
        var _16 = _mat;
        var _17 = FHEAP[_16];
        var _18 = _mat+16;
        var _19 = FHEAP[_18];
        var _20 = 0 - _19;
        var _21 = _atan2f(_20, _17);
        var _22 = _xyz+8;
        FHEAP[_22] = _21;
        ;
        return 1;
      }
      else {
        ;
        var _23 = _mat+16+4;
        var _24 = FHEAP[_23];
        var _25 = _mat+4;
        var _26 = FHEAP[_25];
        var _27 = _atan2f(_26, _24);
        var _28 = 0 - _27;
        FHEAP[_4] = _28;
        var _29 = _xyz+4;
        FHEAP[_29] = -1.5707963705062866;
        var _30 = _xyz+8;
        FHEAP[_30] = 0;
        ;
        return 0;
      }
    }
    else {
      ;
      var _31 = _xyz;
      var _32 = _mat+16+4;
      var _33 = FHEAP[_32];
      var _34 = _mat+4;
      var _35 = FHEAP[_34];
      var _36 = _atan2f(_35, _33);
      FHEAP[_31] = _36;
      var _37 = _xyz+4;
      FHEAP[_37] = 1.5707963705062866;
      var _38 = _xyz+8;
      FHEAP[_38] = 0;
      ;
      return 0;
    }
  }
  __Z16matrixToEulerXYZRK11btMatrix3x3R9btVector3.__index__ = Runtime.getFunctionIndex(__Z16matrixToEulerXYZRK11btMatrix3x3R9btVector3, "__Z16matrixToEulerXYZRK11btMatrix3x3R9btVector3");
  
  
  function __ZN23btGeneric6DofConstraint18calculateAngleInfoEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 48;
    var __label__;
    var _relative_frame = __stackBase__;
    var _0 = _this+1052+16;
    var _1 = FHEAP[_0];
    var _2 = _this+1052+32+4;
    var _3 = FHEAP[_2];
    var _4 = _1 * _3;
    var _5 = _this+1052+16+4;
    var _6 = FHEAP[_5];
    var _7 = _this+1052+32;
    var _8 = FHEAP[_7];
    var _9 = _6 * _8;
    var _10 = _4 - _9;
    var _11 = _this+1052+16+8;
    var _12 = FHEAP[_11];
    var _13 = _12 * _8;
    var _14 = _this+1052+32+8;
    var _15 = FHEAP[_14];
    var _16 = _1 * _15;
    var _17 = _13 - _16;
    var _18 = _6 * _15;
    var _19 = _12 * _3;
    var _20 = _18 - _19;
    var _21 = _this+1052;
    var _22 = FHEAP[_21];
    var _23 = _22 * _20;
    var _24 = _this+1052+4;
    var _25 = FHEAP[_24];
    var _26 = _25 * _17;
    var _27 = _23 + _26;
    var _28 = _this+1052+8;
    var _29 = FHEAP[_28];
    var _30 = _29 * _10;
    var _31 = _27 + _30;
    var _32 = 1 / _31;
    var _33 = _22 * _6;
    var _34 = _25 * _1;
    var _35 = _33 - _34;
    var _36 = _35 * _32;
    var _37 = _25 * _8;
    var _38 = _22 * _3;
    var _39 = _37 - _38;
    var _40 = _39 * _32;
    var _41 = _10 * _32;
    var _42 = _29 * _1;
    var _43 = _22 * _12;
    var _44 = _42 - _43;
    var _45 = _44 * _32;
    var _46 = _22 * _15;
    var _47 = _29 * _8;
    var _48 = _46 - _47;
    var _49 = _48 * _32;
    var _50 = _17 * _32;
    var _51 = _25 * _12;
    var _52 = _29 * _6;
    var _53 = _51 - _52;
    var _54 = _53 * _32;
    var _55 = _29 * _3;
    var _56 = _25 * _15;
    var _57 = _55 - _56;
    var _58 = _57 * _32;
    var _59 = _20 * _32;
    var _60 = _this+1116+8;
    var _61 = FHEAP[_60];
    var _62 = _61 * _41;
    var _63 = _this+1116+16+8;
    var _64 = FHEAP[_63];
    var _65 = _64 * _40;
    var _66 = _62 + _65;
    var _67 = _this+1116+32+8;
    var _68 = FHEAP[_67];
    var _69 = _68 * _36;
    var _70 = _66 + _69;
    var _71 = _this+1116+4;
    var _72 = FHEAP[_71];
    var _73 = _72 * _41;
    var _74 = _this+1116+16+4;
    var _75 = FHEAP[_74];
    var _76 = _75 * _40;
    var _77 = _73 + _76;
    var _78 = _this+1116+32+4;
    var _79 = FHEAP[_78];
    var _80 = _79 * _36;
    var _81 = _77 + _80;
    var _82 = _this+1116;
    var _83 = FHEAP[_82];
    var _84 = _83 * _41;
    var _85 = _this+1116+16;
    var _86 = FHEAP[_85];
    var _87 = _86 * _40;
    var _88 = _84 + _87;
    var _89 = _this+1116+32;
    var _90 = FHEAP[_89];
    var _91 = _90 * _36;
    var _92 = _88 + _91;
    var _93 = _61 * _50;
    var _94 = _64 * _49;
    var _95 = _93 + _94;
    var _96 = _68 * _45;
    var _97 = _95 + _96;
    var _98 = _72 * _50;
    var _99 = _75 * _49;
    var _100 = _98 + _99;
    var _101 = _79 * _45;
    var _102 = _100 + _101;
    var _103 = _83 * _50;
    var _104 = _86 * _49;
    var _105 = _103 + _104;
    var _106 = _90 * _45;
    var _107 = _105 + _106;
    var _108 = _61 * _59;
    var _109 = _64 * _58;
    var _110 = _108 + _109;
    var _111 = _68 * _54;
    var _112 = _110 + _111;
    var _113 = _72 * _59;
    var _114 = _75 * _58;
    var _115 = _113 + _114;
    var _116 = _79 * _54;
    var _117 = _115 + _116;
    var _118 = _83 * _59;
    var _119 = _86 * _58;
    var _120 = _118 + _119;
    var _121 = _90 * _54;
    var _122 = _120 + _121;
    var _123 = _relative_frame;
    FHEAP[_123] = _122;
    var _124 = _relative_frame+4;
    FHEAP[_124] = _117;
    var _125 = _relative_frame+8;
    FHEAP[_125] = _112;
    var _126 = _relative_frame+12;
    FHEAP[_126] = 0;
    var _127 = _relative_frame+16;
    FHEAP[_127] = _107;
    var _128 = _relative_frame+16+4;
    FHEAP[_128] = _102;
    var _129 = _relative_frame+16+8;
    FHEAP[_129] = _97;
    var _130 = _relative_frame+16+12;
    FHEAP[_130] = 0;
    var _131 = _relative_frame+32;
    FHEAP[_131] = _92;
    var _132 = _relative_frame+32+4;
    FHEAP[_132] = _81;
    var _133 = _relative_frame+32+8;
    FHEAP[_133] = _70;
    var _134 = _relative_frame+32+12;
    FHEAP[_134] = 0;
    var _135 = _this+1180;
    var _136 = __Z16matrixToEulerXYZRK11btMatrix3x3R9btVector3(_relative_frame, _135);
    var _137 = FHEAP[_82];
    var _138 = FHEAP[_85];
    var _139 = FHEAP[_89];
    var _140 = FHEAP[_28];
    var _141 = FHEAP[_11];
    var _142 = FHEAP[_14];
    var _143 = _140 * _138;
    var _144 = _141 * _137;
    var _145 = _143 - _144;
    var _146 = _142 * _137;
    var _147 = _140 * _139;
    var _148 = _146 - _147;
    var _149 = _141 * _139;
    var _150 = _142 * _138;
    var _151 = _149 - _150;
    var _152 = _this+1196+16;
    FHEAP[_152] = _151;
    var _153 = _this+1196+16+4;
    FHEAP[_153] = _148;
    var _154 = _this+1196+16+8;
    FHEAP[_154] = _145;
    var _155 = _this+1196+16+12;
    FHEAP[_155] = 0;
    var _156 = _151 * _141;
    var _157 = _148 * _140;
    var _158 = _156 - _157;
    var _159 = _145 * _140;
    var _160 = _151 * _142;
    var _161 = _159 - _160;
    var _162 = _148 * _142;
    var _163 = _145 * _141;
    var _164 = _162 - _163;
    var _165 = _this+1196;
    FHEAP[_165] = _164;
    var _166 = _this+1196+4;
    FHEAP[_166] = _161;
    var _167 = _this+1196+8;
    FHEAP[_167] = _158;
    var _168 = _this+1196+12;
    FHEAP[_168] = 0;
    var _169 = _137 * _148;
    var _170 = _138 * _151;
    var _171 = _169 - _170;
    var _172 = _139 * _151;
    var _173 = _137 * _145;
    var _174 = _172 - _173;
    var _175 = _138 * _145;
    var _176 = _139 * _148;
    var _177 = _175 - _176;
    var _178 = _this+1196+32;
    FHEAP[_178] = _177;
    var _179 = _this+1196+32+4;
    FHEAP[_179] = _174;
    var _180 = _this+1196+32+8;
    FHEAP[_180] = _171;
    var _181 = _this+1196+32+12;
    FHEAP[_181] = 0;
    var _182 = _164 * _164;
    var _183 = _161 * _161;
    var _184 = _182 + _183;
    var _185 = _158 * _158;
    var _186 = _184 + _185;
    var _187 = _sqrtf(_186);
    var _188 = 1 / _187;
    var _189 = _164 * _188;
    FHEAP[_165] = _189;
    var _190 = _161 * _188;
    FHEAP[_166] = _190;
    var _191 = _158 * _188;
    FHEAP[_167] = _191;
    var _192 = _151 * _151;
    var _193 = _148 * _148;
    var _194 = _192 + _193;
    var _195 = _145 * _145;
    var _196 = _194 + _195;
    var _197 = _sqrtf(_196);
    var _198 = 1 / _197;
    var _199 = _151 * _198;
    FHEAP[_152] = _199;
    var _200 = _148 * _198;
    FHEAP[_153] = _200;
    var _201 = _145 * _198;
    FHEAP[_154] = _201;
    var _202 = _177 * _177;
    var _203 = _174 * _174;
    var _204 = _202 + _203;
    var _205 = _171 * _171;
    var _206 = _204 + _205;
    var _207 = _sqrtf(_206);
    var _208 = 1 / _207;
    var _209 = _177 * _208;
    FHEAP[_178] = _209;
    var _210 = _174 * _208;
    FHEAP[_179] = _210;
    var _211 = _171 * _208;
    FHEAP[_180] = _211;
    STACKTOP = __stackBase__;
    return;
  }
  __ZN23btGeneric6DofConstraint18calculateAngleInfoEv.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraint18calculateAngleInfoEv, "__ZN23btGeneric6DofConstraint18calculateAngleInfoEv");
  
  
  function __ZN23btGeneric6DofConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_S8_S8_(_this, _info, _transA, _transB, _linVelA, _linVelB, _angVelA, _angVelB) {
    ;
    var __label__;
    var __lastLabel__ = null;
    __ZN23btGeneric6DofConstraint19calculateTransformsERK11btTransformS2_(_this, _transA, _transB);
    __lastLabel__ = 130; ;
    _bb$15135: while(1) { // _bb
      var _i_07 = __lastLabel__ == 130 ? 0 : (_9);
      var _scevgep = _this+1180+_i_07*4;
      var _scevgep8 = _this+856+_i_07*64+4;
      var _scevgep910 = _this+856+_i_07*64;
      var _scevgep11 = _this+856+_i_07*64+52;
      var _scevgep12 = _this+856+_i_07*64+56;
      var _scevgep13 = _this+856+_i_07*64+48;
      var _0 = FHEAP[_scevgep];
      var _1 = FHEAP[_scevgep8];
      var _2 = FHEAP[_scevgep910];
      var _3 = __Z21btAdjustAngleToLimitsfff(_0, _2, _1);
      FHEAP[_scevgep11] = _3;
      var _4 = _2 > _1;
      ;
      if (_4) {
        ;
        IHEAP[_scevgep12] = 0;
        ;
      }
      else {
        ;
        var _5 = _2 > _3;
        ;
        if (_5) {
          ;
          IHEAP[_scevgep12] = 1;
          var _6 = _3 - _2;
          FHEAP[_scevgep13] = _6;
          ;
        }
        else {
          ;
          var _7 = _1 < _3;
          ;
          if (_7) {
            ;
            IHEAP[_scevgep12] = 2;
            var _8 = _3 - _1;
            FHEAP[_scevgep13] = _8;
            ;
          }
          else {
            ;
            IHEAP[_scevgep12] = 0;
            ;
          }
        }
      }
      var _9 = _i_07 + 1;
      var _exitcond = _9 == 3;
      if (_exitcond) { __lastLabel__ = 2733; __label__ = 0; /* _bb2 */ break _bb$15135; } else { __lastLabel__ = 2733; __label__ = 60; /* _bb */ continue _bb$15135; }
    }
    var _10 = _this+1289;
    var _11 = IHEAP[_10];
    var _toBool = _11 == 0;
    ;
    if (_toBool) {
      ;
      var _14 = __ZN23btGeneric6DofConstraint15setLinearLimitsEPN17btTypedConstraint17btConstraintInfo2EiRK11btTransformS5_RK9btVector3S8_S8_S8_(_this, _info, 0, _transA, _transB, _linVelA, _linVelB, _angVelA, _angVelB);
      var _15 = __ZN23btGeneric6DofConstraint16setAngularLimitsEPN17btTypedConstraint17btConstraintInfo2EiRK11btTransformS5_RK9btVector3S8_S8_S8_(_this, _info, _14, _transA, _transB, _linVelA, _linVelB, _angVelA, _angVelB);
      ;
      return;
    }
    else {
      ;
      var _12 = __ZN23btGeneric6DofConstraint16setAngularLimitsEPN17btTypedConstraint17btConstraintInfo2EiRK11btTransformS5_RK9btVector3S8_S8_S8_(_this, _info, 0, _transA, _transB, _linVelA, _linVelB, _angVelA, _angVelB);
      var _13 = __ZN23btGeneric6DofConstraint15setLinearLimitsEPN17btTypedConstraint17btConstraintInfo2EiRK11btTransformS5_RK9btVector3S8_S8_S8_(_this, _info, _12, _transA, _transB, _linVelA, _linVelB, _angVelA, _angVelB);
      ;
      return;
    }
  }
  __ZN23btGeneric6DofConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_S8_S8_.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_S8_S8_, "__ZN23btGeneric6DofConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_S8_S8_");
  
  
  function __ZN23btGeneric6DofConstraintC2ER11btRigidBodyRK11btTransformb(_this, _rbB, _frameInB, _useLinearReferenceFrameB) {
    ;
    var __label__;
    var _0 = __ZN17btTypedConstraint12getFixedBodyEv();
    var _1 = _this;
    __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBodyS2_(_1, 6, _0, _rbB);
    var _2 = _this;
    IHEAP[_2] = __ZTV23btGeneric6DofConstraint+8;
    var _3 = _this+100;
    var _4 = _frameInB;
    var _5 = FHEAP[_4];
    FHEAP[_3] = _5;
    var _6 = _this+100+4;
    var _7 = _frameInB+4;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+100+8;
    var _10 = _frameInB+8;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _this+100+12;
    var _13 = _frameInB+12;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _this+100+16;
    var _16 = _frameInB+16;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _this+100+16+4;
    var _19 = _frameInB+16+4;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _this+100+16+8;
    var _22 = _frameInB+16+8;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    var _24 = _this+100+16+12;
    var _25 = _frameInB+16+12;
    var _26 = FHEAP[_25];
    FHEAP[_24] = _26;
    var _27 = _this+100+32;
    var _28 = _frameInB+32;
    var _29 = FHEAP[_28];
    FHEAP[_27] = _29;
    var _30 = _this+100+32+4;
    var _31 = _frameInB+32+4;
    var _32 = FHEAP[_31];
    FHEAP[_30] = _32;
    var _33 = _this+100+32+8;
    var _34 = _frameInB+32+8;
    var _35 = FHEAP[_34];
    FHEAP[_33] = _35;
    var _36 = _this+100+32+12;
    var _37 = _frameInB+32+12;
    var _38 = FHEAP[_37];
    FHEAP[_36] = _38;
    var _39 = _this+100+48;
    var _40 = _frameInB+48;
    var _41 = FHEAP[_40];
    FHEAP[_39] = _41;
    var _42 = _this+100+48+4;
    var _43 = _frameInB+48+4;
    var _44 = FHEAP[_43];
    FHEAP[_42] = _44;
    var _45 = _this+100+48+8;
    var _46 = _frameInB+48+8;
    var _47 = FHEAP[_46];
    FHEAP[_45] = _47;
    var _48 = _this+100+48+12;
    var _49 = _frameInB+48+12;
    var _50 = FHEAP[_49];
    FHEAP[_48] = _50;
    var _51 = _this+668;
    var _52 = _this+668+60;
    FHEAP[_52] = 0;
    var _53 = _this+668+60+4;
    FHEAP[_53] = 0;
    var _54 = _this+668+60+8;
    FHEAP[_54] = 0;
    var _55 = _this+668+60+12;
    FHEAP[_55] = 0;
    var _56 = _this+668+76;
    var _57 = _51;
    _llvm_memset_p0i8_i64(_57, 0, 48, 4, false);
    FHEAP[_56] = 0.20000000298023224;
    var _58 = _this+668+76+4;
    FHEAP[_58] = 0.20000000298023224;
    var _59 = _this+668+76+8;
    FHEAP[_59] = 0.20000000298023224;
    var _60 = _this+668+76+12;
    FHEAP[_60] = 0;
    var _61 = _this+668+92;
    FHEAP[_61] = 0;
    var _62 = _this+668+92+4;
    FHEAP[_62] = 0;
    var _63 = _this+668+92+8;
    FHEAP[_63] = 0;
    var _64 = _this+668+92+12;
    FHEAP[_64] = 0;
    var _65 = _this+668+48;
    FHEAP[_65] = 0.699999988079071;
    var _66 = _this+668+52;
    FHEAP[_66] = 1;
    var _67 = _this+668+56;
    FHEAP[_67] = 0.5;
    var _scevgep_i_i = _this+668+108;
    var _scevgep4_i_i = _this+668+112;
    var _scevgep5_i_i = _this+668+128;
    IHEAP[_scevgep_i_i] = 0;
    FHEAP[_scevgep4_i_i] = 0;
    FHEAP[_scevgep5_i_i] = 0;
    var _scevgep_1_i_i = _this+668+108+1;
    var _scevgep4_1_i_i = _this+668+112+4;
    var _scevgep5_1_i_i = _this+668+128+4;
    IHEAP[_scevgep_1_i_i] = 0;
    FHEAP[_scevgep4_1_i_i] = 0;
    FHEAP[_scevgep5_1_i_i] = 0;
    var _scevgep_2_i_i = _this+668+108+2;
    var _scevgep4_2_i_i = _this+668+112+8;
    var _scevgep5_2_i_i = _this+668+128+8;
    IHEAP[_scevgep_2_i_i] = 0;
    FHEAP[_scevgep4_2_i_i] = 0;
    FHEAP[_scevgep5_2_i_i] = 0;
    var _scevgep = _this+856+60;
    var _scevgep38 = _this+856+8;
    var _scevgep39 = _this+856+12;
    var _scevgep40 = _this+856+16;
    var _scevgep4142 = _this+856;
    var _scevgep43 = _this+856+4;
    var _scevgep44 = _this+856+28;
    var _scevgep45 = _this+856+32;
    var _scevgep46 = _this+856+36;
    var _scevgep47 = _this+856+40;
    var _scevgep48 = _this+856+20;
    var _scevgep49 = _this+856+24;
    var _scevgep50 = _this+856+56;
    var _scevgep51 = _this+856+48;
    var _scevgep52 = _this+856+44;
    FHEAP[_scevgep] = 0;
    FHEAP[_scevgep38] = 0;
    FHEAP[_scevgep39] = 0.10000000149011612;
    FHEAP[_scevgep40] = 300;
    FHEAP[_scevgep4142] = 1;
    FHEAP[_scevgep43] = -1;
    FHEAP[_scevgep44] = 0;
    FHEAP[_scevgep45] = 0.20000000298023224;
    FHEAP[_scevgep46] = 0;
    FHEAP[_scevgep47] = 0;
    FHEAP[_scevgep48] = 1;
    FHEAP[_scevgep49] = 0.5;
    IHEAP[_scevgep50] = 0;
    FHEAP[_scevgep51] = 0;
    IHEAP[_scevgep52] = 0;
    var _scevgep_1 = _this+856+64+60;
    var _scevgep38_1 = _this+856+64+8;
    var _scevgep39_1 = _this+856+64+12;
    var _scevgep40_1 = _this+856+64+16;
    var _scevgep4142_1 = _this+856+64;
    var _scevgep43_1 = _this+856+64+4;
    var _scevgep44_1 = _this+856+64+28;
    var _scevgep45_1 = _this+856+64+32;
    var _scevgep46_1 = _this+856+64+36;
    var _scevgep47_1 = _this+856+64+40;
    var _scevgep48_1 = _this+856+64+20;
    var _scevgep49_1 = _this+856+64+24;
    var _scevgep50_1 = _this+856+64+56;
    var _scevgep51_1 = _this+856+64+48;
    var _scevgep52_1 = _this+856+64+44;
    FHEAP[_scevgep_1] = 0;
    FHEAP[_scevgep38_1] = 0;
    FHEAP[_scevgep39_1] = 0.10000000149011612;
    FHEAP[_scevgep40_1] = 300;
    FHEAP[_scevgep4142_1] = 1;
    FHEAP[_scevgep43_1] = -1;
    FHEAP[_scevgep44_1] = 0;
    FHEAP[_scevgep45_1] = 0.20000000298023224;
    FHEAP[_scevgep46_1] = 0;
    FHEAP[_scevgep47_1] = 0;
    FHEAP[_scevgep48_1] = 1;
    FHEAP[_scevgep49_1] = 0.5;
    IHEAP[_scevgep50_1] = 0;
    FHEAP[_scevgep51_1] = 0;
    IHEAP[_scevgep52_1] = 0;
    var _scevgep_2 = _this+856+128+60;
    var _scevgep38_2 = _this+856+128+8;
    var _scevgep39_2 = _this+856+128+12;
    var _scevgep40_2 = _this+856+128+16;
    var _scevgep4142_2 = _this+856+128;
    var _scevgep43_2 = _this+856+128+4;
    var _scevgep44_2 = _this+856+128+28;
    var _scevgep45_2 = _this+856+128+32;
    var _scevgep46_2 = _this+856+128+36;
    var _scevgep47_2 = _this+856+128+40;
    var _scevgep48_2 = _this+856+128+20;
    var _scevgep49_2 = _this+856+128+24;
    var _scevgep50_2 = _this+856+128+56;
    var _scevgep51_2 = _this+856+128+48;
    var _scevgep52_2 = _this+856+128+44;
    FHEAP[_scevgep_2] = 0;
    FHEAP[_scevgep38_2] = 0;
    FHEAP[_scevgep39_2] = 0.10000000149011612;
    FHEAP[_scevgep40_2] = 300;
    FHEAP[_scevgep4142_2] = 1;
    FHEAP[_scevgep43_2] = -1;
    FHEAP[_scevgep44_2] = 0;
    FHEAP[_scevgep45_2] = 0.20000000298023224;
    FHEAP[_scevgep46_2] = 0;
    FHEAP[_scevgep47_2] = 0;
    FHEAP[_scevgep48_2] = 1;
    FHEAP[_scevgep49_2] = 0.5;
    IHEAP[_scevgep50_2] = 0;
    FHEAP[_scevgep51_2] = 0;
    IHEAP[_scevgep52_2] = 0;
    var _68 = _this+1288;
    IHEAP[_68] = _useLinearReferenceFrameB;
    var _69 = _this+1289;
    IHEAP[_69] = 1;
    var _70 = _this+1292;
    IHEAP[_70] = 0;
    var _71 = _this+1296;
    IHEAP[_71] = 0;
    var _72 = _rbB+4+32;
    var _73 = FHEAP[_72];
    var _74 = _rbB+4+32+4;
    var _75 = FHEAP[_74];
    var _76 = _rbB+4+32+8;
    var _77 = FHEAP[_76];
    var _78 = _rbB+4+16;
    var _79 = FHEAP[_78];
    var _80 = _rbB+4+16+4;
    var _81 = FHEAP[_80];
    var _82 = _rbB+4+16+8;
    var _83 = FHEAP[_82];
    var _84 = _rbB+4;
    var _85 = FHEAP[_84];
    var _86 = _rbB+4+4;
    var _87 = FHEAP[_86];
    var _88 = _rbB+4+8;
    var _89 = FHEAP[_88];
    var _90 = _87 * _44;
    var _91 = _85 * _41;
    var _92 = _81 * _44;
    var _93 = _79 * _41;
    var _94 = _75 * _44;
    var _95 = _73 * _41;
    var _96 = _17 * _87;
    var _97 = _5 * _85;
    var _98 = _20 * _87;
    var _99 = _8 * _85;
    var _100 = _23 * _87;
    var _101 = _11 * _85;
    var _102 = _17 * _81;
    var _103 = _5 * _79;
    var _104 = _20 * _81;
    var _105 = _8 * _79;
    var _106 = _23 * _81;
    var _107 = _11 * _79;
    var _108 = _17 * _75;
    var _109 = _5 * _73;
    var _110 = _20 * _75;
    var _111 = _8 * _73;
    var _112 = _23 * _75;
    var _113 = _11 * _73;
    var _114 = _rbB+4+48;
    var _115 = _89 * _47;
    var _116 = _91 + _90;
    var _117 = _rbB+4+48+4;
    var _118 = _83 * _47;
    var _119 = _93 + _92;
    var _120 = _rbB+4+48+8;
    var _121 = _77 * _47;
    var _122 = _95 + _94;
    var _123 = _29 * _89;
    var _124 = _97 + _96;
    var _125 = _32 * _89;
    var _126 = _99 + _98;
    var _127 = _35 * _89;
    var _128 = _101 + _100;
    var _129 = _29 * _83;
    var _130 = _103 + _102;
    var _131 = _32 * _83;
    var _132 = _105 + _104;
    var _133 = _35 * _83;
    var _134 = _107 + _106;
    var _135 = _29 * _77;
    var _136 = _109 + _108;
    var _137 = _32 * _77;
    var _138 = _111 + _110;
    var _139 = _35 * _77;
    var _140 = _113 + _112;
    var _141 = FHEAP[_114];
    var _142 = _116 + _115;
    var _143 = FHEAP[_117];
    var _144 = _119 + _118;
    var _145 = FHEAP[_120];
    var _146 = _122 + _121;
    var _147 = _124 + _123;
    var _148 = _126 + _125;
    var _149 = _128 + _127;
    var _150 = _130 + _129;
    var _151 = _132 + _131;
    var _152 = _134 + _133;
    var _153 = _136 + _135;
    var _154 = _138 + _137;
    var _155 = _140 + _139;
    var _156 = _142 + _141;
    var _157 = _144 + _143;
    var _158 = _146 + _145;
    var _159 = _this+36;
    FHEAP[_159] = _147;
    var _160 = _this+36+4;
    FHEAP[_160] = _148;
    var _161 = _this+36+8;
    FHEAP[_161] = _149;
    var _162 = _this+36+12;
    FHEAP[_162] = 0;
    var _163 = _this+36+16;
    FHEAP[_163] = _150;
    var _164 = _this+36+16+4;
    FHEAP[_164] = _151;
    var _165 = _this+36+16+8;
    FHEAP[_165] = _152;
    var _166 = _this+36+16+12;
    FHEAP[_166] = 0;
    var _167 = _this+36+32;
    FHEAP[_167] = _153;
    var _168 = _this+36+32+4;
    FHEAP[_168] = _154;
    var _169 = _this+36+32+8;
    FHEAP[_169] = _155;
    var _170 = _this+36+32+12;
    FHEAP[_170] = 0;
    var _171 = _this+36+48;
    FHEAP[_171] = _156;
    var _172 = _this+36+48+4;
    FHEAP[_172] = _157;
    var _173 = _this+36+48+8;
    FHEAP[_173] = _158;
    var _174 = _this+36+48+12;
    FHEAP[_174] = 0;
    var _175 = _this+24;
    var _176 = IHEAP[_175];
    var _177 = _176+4;
    var _178 = _this+20;
    var _179 = IHEAP[_178];
    var _180 = _179+4;
    __ZN23btGeneric6DofConstraint19calculateTransformsERK11btTransformS2_(_this, _180, _177);
    ;
    return;
  }
  __ZN23btGeneric6DofConstraintC2ER11btRigidBodyRK11btTransformb.__index__ = Runtime.getFunctionIndex(__ZN23btGeneric6DofConstraintC2ER11btRigidBodyRK11btTransformb, "__ZN23btGeneric6DofConstraintC2ER11btRigidBodyRK11btTransformb");
  
  
  function __ZN29btGeneric6DofSpringConstraint21internalUpdateSpringsEPN17btTypedConstraint17btConstraintInfo2E(_this, _info) {
    ;
    var __label__;
    var _0 = _info;
    var _1 = _info+48;
    var _scevgep42 = _this+1300;
    var _2 = IHEAP[_scevgep42];
    var _toBool = _2 == 0;
    ;
    if (!_toBool) {
      ;
      var _scevgep40 = _this+796;
      var _scevgep37 = _this+780;
      var _scevgep34 = _this+1244;
      var _scevgep45 = _this+1356;
      var _scevgep44 = _this+1332;
      var _scevgep43 = _this+1308;
      var _scevgep4041 = _scevgep40;
      var _scevgep3738 = _scevgep37;
      var _scevgep3435 = _scevgep34;
      var _3 = FHEAP[_scevgep3435];
      var _4 = FHEAP[_scevgep43];
      var _5 = _3 - _4;
      var _6 = FHEAP[_scevgep44];
      var _7 = _6 * _5;
      var _8 = FHEAP[_0];
      var _9 = FHEAP[_scevgep45];
      var _10 = _8 * _9;
      var _11 = IHEAP[_1];
      var _12 = _11;
      var _13 = _10 / _12;
      var _14 = _13 * _7;
      FHEAP[_scevgep3738] = _14;
      var _15 = _fabsf(_7);
      var _16 = FHEAP[_0];
      var _17 = _15 / _16;
      FHEAP[_scevgep4041] = _17;
      ;
    }
    var _scevgep42_1 = _this+1300+1;
    var _18 = IHEAP[_scevgep42_1];
    var _toBool_1 = _18 == 0;
    ;
    if (!_toBool_1) {
      ;
      var _scevgep40_1 = _this+800;
      var _scevgep37_1 = _this+784;
      var _scevgep34_1 = _this+1248;
      var _scevgep45_1 = _this+1356+4;
      var _scevgep44_1 = _this+1332+4;
      var _scevgep43_1 = _this+1308+4;
      var _scevgep4041_1 = _scevgep40_1;
      var _scevgep3738_1 = _scevgep37_1;
      var _scevgep3435_1 = _scevgep34_1;
      var _73 = FHEAP[_scevgep3435_1];
      var _74 = FHEAP[_scevgep43_1];
      var _75 = _73 - _74;
      var _76 = FHEAP[_scevgep44_1];
      var _77 = _76 * _75;
      var _78 = FHEAP[_0];
      var _79 = FHEAP[_scevgep45_1];
      var _80 = _78 * _79;
      var _81 = IHEAP[_1];
      var _82 = _81;
      var _83 = _80 / _82;
      var _84 = _83 * _77;
      FHEAP[_scevgep3738_1] = _84;
      var _85 = _fabsf(_77);
      var _86 = FHEAP[_0];
      var _87 = _85 / _86;
      FHEAP[_scevgep4041_1] = _87;
      ;
    }
    var _scevgep42_2 = _this+1300+2;
    var _72 = IHEAP[_scevgep42_2];
    var _toBool_2 = _72 == 0;
    ;
    if (!_toBool_2) {
      ;
      var _scevgep40_2 = _this+804;
      var _scevgep37_2 = _this+788;
      var _scevgep34_2 = _this+1252;
      var _scevgep45_2 = _this+1356+8;
      var _scevgep44_2 = _this+1332+8;
      var _scevgep43_2 = _this+1308+8;
      var _scevgep4041_2 = _scevgep40_2;
      var _scevgep3738_2 = _scevgep37_2;
      var _scevgep3435_2 = _scevgep34_2;
      var _88 = FHEAP[_scevgep3435_2];
      var _89 = FHEAP[_scevgep43_2];
      var _90 = _88 - _89;
      var _91 = FHEAP[_scevgep44_2];
      var _92 = _91 * _90;
      var _93 = FHEAP[_0];
      var _94 = FHEAP[_scevgep45_2];
      var _95 = _93 * _94;
      var _96 = IHEAP[_1];
      var _97 = _96;
      var _98 = _95 / _97;
      var _99 = _98 * _92;
      FHEAP[_scevgep3738_2] = _99;
      var _100 = _fabsf(_92);
      var _101 = FHEAP[_0];
      var _102 = _100 / _101;
      FHEAP[_scevgep4041_2] = _102;
      ;
    }
    var _19 = _info;
    var _20 = _info+48;
    var _scevgep29 = _this+1300+3;
    var _21 = IHEAP[_scevgep29];
    var _toBool6 = _21 == 0;
    ;
    if (!_toBool6) {
      ;
      var _scevgep26 = _this+868;
      var _scevgep23 = _this+864;
      var _scevgep = _this+1180;
      var _scevgep32 = _this+1356+12;
      var _scevgep31 = _this+1332+12;
      var _scevgep30 = _this+1308+12;
      var _scevgep2627 = _scevgep26;
      var _scevgep2324 = _scevgep23;
      var _scevgep20 = _scevgep;
      var _22 = FHEAP[_scevgep20];
      var _23 = FHEAP[_scevgep30];
      var _24 = _22 - _23;
      var _25 = 0 - _24;
      var _26 = FHEAP[_scevgep31];
      var _27 = _26 * _25;
      var _28 = FHEAP[_19];
      var _29 = FHEAP[_scevgep32];
      var _30 = _28 * _29;
      var _31 = IHEAP[_20];
      var _32 = _31;
      var _33 = _30 / _32;
      var _34 = _33 * _27;
      FHEAP[_scevgep2324] = _34;
      var _35 = _fabsf(_27);
      var _36 = FHEAP[_19];
      var _37 = _35 / _36;
      FHEAP[_scevgep2627] = _37;
      ;
    }
    var _scevgep29_1 = _this+1300+4;
    var _38 = IHEAP[_scevgep29_1];
    var _toBool6_1 = _38 == 0;
    ;
    if (!_toBool6_1) {
      ;
      var _scevgep26_1 = _this+932;
      var _scevgep23_1 = _this+928;
      var _scevgep_1 = _this+1184;
      var _scevgep32_1 = _this+1356+16;
      var _scevgep31_1 = _this+1332+16;
      var _scevgep30_1 = _this+1308+16;
      var _scevgep2627_1 = _scevgep26_1;
      var _scevgep2324_1 = _scevgep23_1;
      var _scevgep20_1 = _scevgep_1;
      var _40 = FHEAP[_scevgep20_1];
      var _41 = FHEAP[_scevgep30_1];
      var _42 = _40 - _41;
      var _43 = 0 - _42;
      var _44 = FHEAP[_scevgep31_1];
      var _45 = _44 * _43;
      var _46 = FHEAP[_19];
      var _47 = FHEAP[_scevgep32_1];
      var _48 = _46 * _47;
      var _49 = IHEAP[_20];
      var _50 = _49;
      var _51 = _48 / _50;
      var _52 = _51 * _45;
      FHEAP[_scevgep2324_1] = _52;
      var _53 = _fabsf(_45);
      var _54 = FHEAP[_19];
      var _55 = _53 / _54;
      FHEAP[_scevgep2627_1] = _55;
      ;
    }
    var _scevgep29_2 = _this+1300+5;
    var _39 = IHEAP[_scevgep29_2];
    var _toBool6_2 = _39 == 0;
    ;
    if (_toBool6_2) {
      ;
      ;
      return;
    }
    else {
      ;
      var _scevgep26_2 = _this+996;
      var _scevgep23_2 = _this+992;
      var _scevgep_2 = _this+1188;
      var _scevgep32_2 = _this+1356+20;
      var _scevgep31_2 = _this+1332+20;
      var _scevgep30_2 = _this+1308+20;
      var _scevgep2627_2 = _scevgep26_2;
      var _scevgep2324_2 = _scevgep23_2;
      var _scevgep20_2 = _scevgep_2;
      var _56 = FHEAP[_scevgep20_2];
      var _57 = FHEAP[_scevgep30_2];
      var _58 = _56 - _57;
      var _59 = 0 - _58;
      var _60 = FHEAP[_scevgep31_2];
      var _61 = _60 * _59;
      var _62 = FHEAP[_19];
      var _63 = FHEAP[_scevgep32_2];
      var _64 = _62 * _63;
      var _65 = IHEAP[_20];
      var _66 = _65;
      var _67 = _64 / _66;
      var _68 = _67 * _61;
      FHEAP[_scevgep2324_2] = _68;
      var _69 = _fabsf(_61);
      var _70 = FHEAP[_19];
      var _71 = _69 / _70;
      FHEAP[_scevgep2627_2] = _71;
      ;
      return;
    }
  }
  __ZN29btGeneric6DofSpringConstraint21internalUpdateSpringsEPN17btTypedConstraint17btConstraintInfo2E.__index__ = Runtime.getFunctionIndex(__ZN29btGeneric6DofSpringConstraint21internalUpdateSpringsEPN17btTypedConstraint17btConstraintInfo2E, "__ZN29btGeneric6DofSpringConstraint21internalUpdateSpringsEPN17btTypedConstraint17btConstraintInfo2E");
  
  
  function __ZN18btHinge2ConstraintC2ER11btRigidBodyS1_R9btVector3S3_S3_(_this, _rbA, _rbB, _anchor, _axis1, _axis2) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __ZN11btTransform11getIdentityEv();
    var _3 = __ZN11btTransform11getIdentityEv();
    var _4 = _this;
    __ZN29btGeneric6DofSpringConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b(_4, _rbA, _rbB, __ZZN11btTransform11getIdentityEvE17identityTransform, __ZZN11btTransform11getIdentityEvE17identityTransform, 1);
    var _5 = _this;
    IHEAP[_5] = __ZTV18btHinge2Constraint+8;
    var _6 = _this+1380;
    var _7 = _anchor;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+1380+4;
    var _10 = _anchor+4;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _this+1380+8;
    var _13 = _anchor+8;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _this+1380+12;
    var _16 = _anchor+12;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _this+1396;
    var _19 = _axis1;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _this+1396+4;
    var _22 = _axis1+4;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    var _24 = _this+1396+8;
    var _25 = _axis1+8;
    var _26 = FHEAP[_25];
    FHEAP[_24] = _26;
    var _27 = _this+1396+12;
    var _28 = _axis1+12;
    var _29 = FHEAP[_28];
    FHEAP[_27] = _29;
    var _30 = _this+1412;
    var _31 = _axis2;
    var _32 = FHEAP[_31];
    FHEAP[_30] = _32;
    var _33 = _this+1412+4;
    var _34 = _axis2+4;
    var _35 = FHEAP[_34];
    FHEAP[_33] = _35;
    var _36 = _this+1412+8;
    var _37 = _axis2+8;
    var _38 = FHEAP[_37];
    FHEAP[_36] = _38;
    var _39 = _this+1412+12;
    var _40 = _axis2+12;
    var _41 = FHEAP[_40];
    FHEAP[_39] = _41;
    var _42 = FHEAP[_19];
    var _43 = _42 * _42;
    var _44 = FHEAP[_22];
    var _45 = _44 * _44;
    var _46 = _43 + _45;
    var _47 = FHEAP[_25];
    var _48 = _47 * _47;
    var _49 = _46 + _48;
    var _50 = _sqrtf(_49);
    var _51 = 1 / _50;
    var _52 = _42 * _51;
    FHEAP[_19] = _52;
    var _53 = _44 * _51;
    FHEAP[_22] = _53;
    var _54 = _47 * _51;
    FHEAP[_25] = _54;
    var _55 = FHEAP[_31];
    var _56 = _55 * _55;
    var _57 = FHEAP[_34];
    var _58 = _57 * _57;
    var _59 = _56 + _58;
    var _60 = FHEAP[_37];
    var _61 = _60 * _60;
    var _62 = _59 + _61;
    var _63 = _sqrtf(_62);
    var _64 = 1 / _63;
    var _65 = _55 * _64;
    FHEAP[_31] = _65;
    var _66 = _57 * _64;
    FHEAP[_34] = _66;
    var _67 = _60 * _64;
    FHEAP[_37] = _67;
    var _68 = _52 * _66;
    var _69 = _53 * _65;
    var _70 = _68 - _69;
    var _71 = _54 * _65;
    var _72 = _52 * _67;
    var _73 = _71 - _72;
    var _74 = _53 * _67;
    var _75 = _54 * _66;
    var _76 = _74 - _75;
    var _77 = FHEAP[_7];
    var _78 = FHEAP[_10];
    var _79 = FHEAP[_13];
    var _80 = _rbA+4+32+8;
    var _81 = _rbA+4+16+8;
    var _82 = _rbA+4+8;
    var _83 = _rbA+4+32+4;
    var _84 = _rbA+4+16+4;
    var _85 = _rbA+4+4;
    var _86 = _rbA+4+32;
    var _87 = _rbA+4+16;
    var _88 = _rbA+4;
    var _89 = FHEAP[_88];
    var _90 = FHEAP[_87];
    var _91 = FHEAP[_86];
    var _92 = FHEAP[_85];
    var _93 = FHEAP[_84];
    var _94 = FHEAP[_83];
    var _95 = FHEAP[_82];
    var _96 = FHEAP[_81];
    var _97 = FHEAP[_80];
    var _98 = _rbA+4+48+8;
    var _99 = FHEAP[_98];
    var _100 = 0 - _99;
    var _101 = _rbA+4+48+4;
    var _102 = FHEAP[_101];
    var _103 = 0 - _102;
    var _104 = _rbA+4+48;
    var _105 = FHEAP[_104];
    var _106 = 0 - _105;
    var _107 = _90 * _78;
    var _108 = _89 * _77;
    var _109 = _93 * _78;
    var _110 = _92 * _77;
    var _111 = _96 * _78;
    var _112 = _95 * _77;
    var _113 = _95 * _106;
    var _114 = _96 * _103;
    var _115 = _92 * _106;
    var _116 = _93 * _103;
    var _117 = _89 * _106;
    var _118 = _90 * _103;
    var _119 = _66 * _90;
    var _120 = _65 * _89;
    var _121 = _73 * _90;
    var _122 = _76 * _89;
    var _123 = _53 * _90;
    var _124 = _52 * _89;
    var _125 = _66 * _93;
    var _126 = _65 * _92;
    var _127 = _73 * _93;
    var _128 = _76 * _92;
    var _129 = _53 * _93;
    var _130 = _52 * _92;
    var _131 = _66 * _96;
    var _132 = _65 * _95;
    var _133 = _73 * _96;
    var _134 = _76 * _95;
    var _135 = _53 * _96;
    var _136 = _52 * _95;
    var _137 = _91 * _79;
    var _138 = _108 + _107;
    var _139 = _94 * _79;
    var _140 = _110 + _109;
    var _141 = _97 * _79;
    var _142 = _112 + _111;
    var _143 = _113 + _114;
    var _144 = _97 * _100;
    var _145 = _115 + _116;
    var _146 = _94 * _100;
    var _147 = _117 + _118;
    var _148 = _91 * _100;
    var _149 = _67 * _91;
    var _150 = _120 + _119;
    var _151 = _70 * _91;
    var _152 = _122 + _121;
    var _153 = _54 * _91;
    var _154 = _124 + _123;
    var _155 = _67 * _94;
    var _156 = _126 + _125;
    var _157 = _70 * _94;
    var _158 = _128 + _127;
    var _159 = _54 * _94;
    var _160 = _130 + _129;
    var _161 = _67 * _97;
    var _162 = _132 + _131;
    var _163 = _70 * _97;
    var _164 = _134 + _133;
    var _165 = _54 * _97;
    var _166 = _136 + _135;
    var _167 = _138 + _137;
    var _168 = _140 + _139;
    var _169 = _142 + _141;
    var _170 = _143 + _144;
    var _171 = _145 + _146;
    var _172 = _147 + _148;
    var _173 = _150 + _149;
    var _174 = _152 + _151;
    var _175 = _154 + _153;
    var _176 = _156 + _155;
    var _177 = _158 + _157;
    var _178 = _160 + _159;
    var _179 = _162 + _161;
    var _180 = _164 + _163;
    var _181 = _166 + _165;
    var _182 = _167 + _172;
    var _183 = _168 + _171;
    var _184 = _169 + _170;
    var _185 = _this+36;
    var _186 = _185;
    FHEAP[_186] = _173;
    var _187 = _this+40;
    var _188 = _187;
    FHEAP[_188] = _174;
    var _189 = _this+44;
    var _190 = _189;
    FHEAP[_190] = _175;
    var _191 = _this+48;
    var _192 = _191;
    FHEAP[_192] = 0;
    var _193 = _this+52;
    var _194 = _193;
    FHEAP[_194] = _176;
    var _195 = _this+56;
    var _196 = _195;
    FHEAP[_196] = _177;
    var _197 = _this+60;
    var _198 = _197;
    FHEAP[_198] = _178;
    var _199 = _this+64;
    var _200 = _199;
    FHEAP[_200] = 0;
    var _201 = _this+68;
    var _202 = _201;
    FHEAP[_202] = _179;
    var _203 = _this+72;
    var _204 = _203;
    FHEAP[_204] = _180;
    var _205 = _this+76;
    var _206 = _205;
    FHEAP[_206] = _181;
    var _207 = _this+80;
    var _208 = _207;
    FHEAP[_208] = 0;
    var _209 = _this+84;
    var _210 = _209;
    FHEAP[_210] = _182;
    var _211 = _this+88;
    var _212 = _211;
    FHEAP[_212] = _183;
    var _213 = _this+92;
    var _214 = _213;
    FHEAP[_214] = _184;
    var _215 = _this+96;
    var _216 = _215;
    FHEAP[_216] = 0;
    var _217 = _rbB+4+32+8;
    var _218 = _rbB+4+16+8;
    var _219 = _rbB+4+8;
    var _220 = _rbB+4+32+4;
    var _221 = _rbB+4+16+4;
    var _222 = _rbB+4+4;
    var _223 = _rbB+4+32;
    var _224 = _rbB+4+16;
    var _225 = _rbB+4;
    var _226 = FHEAP[_225];
    var _227 = FHEAP[_224];
    var _228 = FHEAP[_223];
    var _229 = FHEAP[_222];
    var _230 = FHEAP[_221];
    var _231 = FHEAP[_220];
    var _232 = FHEAP[_219];
    var _233 = FHEAP[_218];
    var _234 = FHEAP[_217];
    var _235 = _rbB+4+48+8;
    var _236 = FHEAP[_235];
    var _237 = 0 - _236;
    var _238 = _rbB+4+48+4;
    var _239 = FHEAP[_238];
    var _240 = 0 - _239;
    var _241 = _rbB+4+48;
    var _242 = FHEAP[_241];
    var _243 = 0 - _242;
    var _244 = _227 * _78;
    var _245 = _226 * _77;
    var _246 = _230 * _78;
    var _247 = _229 * _77;
    var _248 = _233 * _78;
    var _249 = _232 * _77;
    var _250 = _232 * _243;
    var _251 = _233 * _240;
    var _252 = _229 * _243;
    var _253 = _230 * _240;
    var _254 = _226 * _243;
    var _255 = _227 * _240;
    var _256 = _66 * _227;
    var _257 = _65 * _226;
    var _258 = _73 * _227;
    var _259 = _76 * _226;
    var _260 = _53 * _227;
    var _261 = _52 * _226;
    var _262 = _66 * _230;
    var _263 = _65 * _229;
    var _264 = _73 * _230;
    var _265 = _76 * _229;
    var _266 = _53 * _230;
    var _267 = _52 * _229;
    var _268 = _66 * _233;
    var _269 = _65 * _232;
    var _270 = _73 * _233;
    var _271 = _76 * _232;
    var _272 = _53 * _233;
    var _273 = _52 * _232;
    var _274 = _228 * _79;
    var _275 = _245 + _244;
    var _276 = _231 * _79;
    var _277 = _247 + _246;
    var _278 = _234 * _79;
    var _279 = _249 + _248;
    var _280 = _250 + _251;
    var _281 = _234 * _237;
    var _282 = _252 + _253;
    var _283 = _231 * _237;
    var _284 = _254 + _255;
    var _285 = _228 * _237;
    var _286 = _67 * _228;
    var _287 = _257 + _256;
    var _288 = _70 * _228;
    var _289 = _259 + _258;
    var _290 = _54 * _228;
    var _291 = _261 + _260;
    var _292 = _67 * _231;
    var _293 = _263 + _262;
    var _294 = _70 * _231;
    var _295 = _265 + _264;
    var _296 = _54 * _231;
    var _297 = _267 + _266;
    var _298 = _67 * _234;
    var _299 = _269 + _268;
    var _300 = _70 * _234;
    var _301 = _271 + _270;
    var _302 = _54 * _234;
    var _303 = _273 + _272;
    var _304 = _275 + _274;
    var _305 = _277 + _276;
    var _306 = _279 + _278;
    var _307 = _280 + _281;
    var _308 = _282 + _283;
    var _309 = _284 + _285;
    var _310 = _287 + _286;
    var _311 = _289 + _288;
    var _312 = _291 + _290;
    var _313 = _293 + _292;
    var _314 = _295 + _294;
    var _315 = _297 + _296;
    var _316 = _299 + _298;
    var _317 = _301 + _300;
    var _318 = _303 + _302;
    var _319 = _304 + _309;
    var _320 = _305 + _308;
    var _321 = _306 + _307;
    var _322 = _this+100;
    var _323 = _322;
    FHEAP[_323] = _310;
    var _324 = _this+104;
    var _325 = _324;
    FHEAP[_325] = _311;
    var _326 = _this+108;
    var _327 = _326;
    FHEAP[_327] = _312;
    var _328 = _this+112;
    var _329 = _328;
    FHEAP[_329] = 0;
    var _330 = _this+116;
    var _331 = _330;
    FHEAP[_331] = _313;
    var _332 = _this+120;
    var _333 = _332;
    FHEAP[_333] = _314;
    var _334 = _this+124;
    var _335 = _334;
    FHEAP[_335] = _315;
    var _336 = _this+128;
    var _337 = _336;
    FHEAP[_337] = 0;
    var _338 = _this+132;
    var _339 = _338;
    FHEAP[_339] = _316;
    var _340 = _this+136;
    var _341 = _340;
    FHEAP[_341] = _317;
    var _342 = _this+140;
    var _343 = _342;
    FHEAP[_343] = _318;
    var _344 = _this+144;
    var _345 = _344;
    FHEAP[_345] = 0;
    var _346 = _this+148;
    var _347 = _346;
    FHEAP[_347] = _319;
    var _348 = _this+152;
    var _349 = _348;
    FHEAP[_349] = _320;
    var _350 = _this+156;
    var _351 = _350;
    FHEAP[_351] = _321;
    var _352 = _this+160;
    var _353 = _352;
    FHEAP[_353] = 0;
    var _354 = _this+668;
    var _355 = _354;
    FHEAP[_355] = 0;
    var _356 = _this+672;
    var _357 = _356;
    FHEAP[_357] = 0;
    var _358 = _this+676;
    var _359 = _358;
    FHEAP[_359] = -1;
    var _360 = _this+680;
    var _361 = _360;
    FHEAP[_361] = 0;
    var _362 = _this+684;
    var _363 = _362;
    FHEAP[_363] = 0;
    var _364 = _this+688;
    var _365 = _364;
    FHEAP[_365] = 0;
    var _366 = _this+692;
    var _367 = _366;
    FHEAP[_367] = 1;
    var _368 = _this+696;
    var _369 = _368;
    FHEAP[_369] = 0;
    var _370 = _1;
    FHEAP[_370] = 1;
    var _371 = _1+4;
    FHEAP[_371] = 0;
    var _372 = _1+8;
    FHEAP[_372] = -0.7853981852531433;
    var _373 = _1+12;
    FHEAP[_373] = 0;
    __lastLabel__ = 759; ;
    _bb_i14$15192: while(1) { // _bb_i14
      var _374 = __lastLabel__ == 759 ? 1 : (__pre);
      var _i_03_i12 = __lastLabel__ == 759 ? 0 : (_381);
      var _tmp118 = _i_03_i12 << 6;
      var _tmp119 = _tmp118 + 856;
      var _scevgep120 = _this+_tmp119;
      var _scevgep4_i13 = _scevgep120;
      var _375 = _fmodf(_374, 6.2831854820251465);
      var _376 = _375 < -3.1415927410125732;
      ;
      _bb_i_i15$_bb1_i_i16$15194: do { 
        if (_376) {
          ;
          var _377 = _375 + 6.2831854820251465;
          __lastLabel__ = 2783; ;
        }
        else {
          ;
          var _378 = _375 > 3.1415927410125732;
          if (_378) { __lastLabel__ = 2785; ; } else { __lastLabel__ = 2785; __label__ = 2787; /* __Z16btNormalizeAnglef_exit_i19 */ break _bb_i_i15$_bb1_i_i16$15194; }
          var _379 = _375 + -6.2831854820251465;
          __lastLabel__ = 2786; ;
        }
      } while(0);
      var _380 = __lastLabel__ == 2786 ? _379 : (__lastLabel__ == 2783 ? _377 : (_375));
      FHEAP[_scevgep4_i13] = _380;
      var _381 = _i_03_i12 + 1;
      var _exitcond116 = _381 == 3;
      if (_exitcond116) { __label__ = 2788; /* __ZN23btGeneric6DofConstraint20setAngularLowerLimitERK9btVector3_exit */ break _bb_i14$15192; }
      var _scevgep5_i_phi_trans_insert = _1+_381*4;
      var __pre = FHEAP[_scevgep5_i_phi_trans_insert];
      __lastLabel__ = 2789; __label__ = 2782; /* _bb_i14 */ continue _bb_i14$15192;
    }
    var _382 = _0;
    FHEAP[_382] = -1;
    var _383 = _0+4;
    FHEAP[_383] = 0;
    var _384 = _0+8;
    FHEAP[_384] = 0.7853981852531433;
    var _385 = _0+12;
    FHEAP[_385] = 0;
    __lastLabel__ = 2788; ;
    _bb_i$15201: while(1) { // _bb_i
      var _386 = __lastLabel__ == 2788 ? -1 : (__pre122);
      var _i_03_i = __lastLabel__ == 2788 ? 0 : (_393);
      var _tmp = _i_03_i << 6;
      var _tmp114 = _tmp + 860;
      var _scevgep = _this+_tmp114;
      var _scevgep_i = _scevgep;
      var _387 = _fmodf(_386, 6.2831854820251465);
      var _388 = _387 < -3.1415927410125732;
      ;
      _bb_i_i$_bb1_i_i$15203: do { 
        if (_388) {
          ;
          var _389 = _387 + 6.2831854820251465;
          __lastLabel__ = 263; ;
        }
        else {
          ;
          var _390 = _387 > 3.1415927410125732;
          if (_390) { __lastLabel__ = 265; ; } else { __lastLabel__ = 265; __label__ = 2791; /* __Z16btNormalizeAnglef_exit_i */ break _bb_i_i$_bb1_i_i$15203; }
          var _391 = _387 + -6.2831854820251465;
          __lastLabel__ = 628; ;
        }
      } while(0);
      var _392 = __lastLabel__ == 628 ? _391 : (__lastLabel__ == 263 ? _389 : (_387));
      FHEAP[_scevgep_i] = _392;
      var _393 = _i_03_i + 1;
      var _exitcond = _393 == 3;
      if (_exitcond) { __label__ = 2792; /* __ZN23btGeneric6DofConstraint20setAngularUpperLimitERK9btVector3_exit */ break _bb_i$15201; }
      var _scevgep4_i_phi_trans_insert = _0+_393*4;
      var __pre122 = FHEAP[_scevgep4_i_phi_trans_insert];
      __lastLabel__ = 2793; __label__ = 131; /* _bb_i */ continue _bb_i$15201;
    }
    (function() { try { __THREW__ = false; return __ZN29btGeneric6DofSpringConstraint12enableSpringEib(_4, 2, 1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 514; /* _invcont4 */  } else { __label__ = 254; /* _lpad */  }
    _invcont4$_lpad$15210: do { 
      if (__label__ == 514) {
        (function() { try { __THREW__ = false; return __ZN29btGeneric6DofSpringConstraint12setStiffnessEif(_4, 2, 39.47842025756836) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont4$_lpad$15210; }
        (function() { try { __THREW__ = false; return __ZN29btGeneric6DofSpringConstraint10setDampingEif(_4, 2, 0.009999999776482582) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont4$_lpad$15210; }
        (function() { try { __THREW__ = false; return __ZN29btGeneric6DofSpringConstraint19setEquilibriumPointEv(_4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont4$_lpad$15210; }
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select10 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    IHEAP[_5] = __ZTV23btGeneric6DofConstraint+8;
    __Unwind_Resume_or_Rethrow(_eh_ptr);
    // unreachable
  }
  __ZN18btHinge2ConstraintC2ER11btRigidBodyS1_R9btVector3S3_S3_.__index__ = Runtime.getFunctionIndex(__ZN18btHinge2ConstraintC2ER11btRigidBodyS1_R9btVector3S3_S3_, "__ZN18btHinge2ConstraintC2ER11btRigidBodyS1_R9btVector3S3_S3_");
  
  
  function __ZN17btHingeConstraintC2ER11btRigidBodyS1_RK9btVector3S4_S4_S4_b(_this, _rbA, _rbB, _pivotInA, _pivotInB, _axisInA, _axisInB, _useReferenceFrameA) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBodyS2_(_0, 4, _rbA, _rbB);
    var _1 = _this;
    IHEAP[_1] = __ZTV17btHingeConstraint+8;
    var _2 = _this+720;
    IHEAP[_2] = 0;
    var _3 = _this+721;
    IHEAP[_3] = 0;
    var _4 = _this+723;
    IHEAP[_4] = 0;
    var _5 = _this+724;
    IHEAP[_5] = 1;
    var _6 = _this+725;
    IHEAP[_6] = _useReferenceFrameA;
    var _7 = _this+732;
    IHEAP[_7] = 0;
    var _8 = _this+540+48;
    var _9 = _pivotInA;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _this+540+48+4;
    var _12 = _pivotInA+4;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _this+540+48+8;
    var _15 = _pivotInA+8;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _this+540+48+12;
    var _18 = _pivotInA+12;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _rbA+4+32;
    var _21 = _rbA+4+16;
    var _22 = _rbA+4;
    var _23 = FHEAP[_22];
    var _24 = FHEAP[_21];
    var _25 = FHEAP[_20];
    var _26 = _axisInA;
    var _27 = FHEAP[_26];
    var _28 = _27 * _23;
    var _29 = _axisInA+4;
    var _30 = FHEAP[_29];
    var _31 = _30 * _24;
    var _32 = _28 + _31;
    var _33 = _axisInA+8;
    var _34 = FHEAP[_33];
    var _35 = _34 * _25;
    var _36 = _32 + _35;
    var _37 = _36 < 0.9999998807907104;
    ;
    if (_37) {
      ;
      var _53 = _36 > -0.9999998807907104;
      ;
      if (_53) {
        ;
        var _66 = _27 * _24;
        var _67 = _30 * _23;
        var _68 = _66 - _67;
        var _69 = _34 * _23;
        var _70 = _27 * _25;
        var _71 = _69 - _70;
        var _72 = _30 * _25;
        var _73 = _34 * _24;
        var _74 = _72 - _73;
        var _75 = _74 * _30;
        var _76 = _71 * _27;
        var _77 = _75 - _76;
        var _78 = _68 * _27;
        var _79 = _74 * _34;
        var _80 = _78 - _79;
        var _81 = _71 * _34;
        var _82 = _68 * _30;
        var _83 = _81 - _82;
        __lastLabel__ = 3; ;
      }
      else {
        ;
        var _54 = _rbA+4+32+8;
        var _55 = _rbA+4+16+8;
        var _56 = _rbA+4+8;
        var _57 = FHEAP[_56];
        var _58 = FHEAP[_55];
        var _59 = FHEAP[_54];
        var _60 = _rbA+4+32+4;
        var _61 = _rbA+4+16+4;
        var _62 = _rbA+4+4;
        var _63 = FHEAP[_62];
        var _64 = FHEAP[_61];
        var _65 = FHEAP[_60];
        __lastLabel__ = 62; ;
      }
    }
    else {
      ;
      var _38 = _rbA+4+32+8;
      var _39 = _rbA+4+16+8;
      var _40 = _rbA+4+8;
      var _41 = FHEAP[_40];
      var _42 = FHEAP[_39];
      var _43 = FHEAP[_38];
      var _44 = 0 - _43;
      var _45 = 0 - _42;
      var _46 = 0 - _41;
      var _47 = _rbA+4+32+4;
      var _48 = _rbA+4+16+4;
      var _49 = _rbA+4+4;
      var _50 = FHEAP[_49];
      var _51 = FHEAP[_48];
      var _52 = FHEAP[_47];
      __lastLabel__ = 83; ;
    }
    var _rbAxisA2_0_2_0 = __lastLabel__ == 3 ? _68 : (__lastLabel__ == 62 ? _65 : (_52));
    var _rbAxisA2_0_1_0 = __lastLabel__ == 3 ? _71 : (__lastLabel__ == 62 ? _64 : (_51));
    var _rbAxisA2_0_0_0 = __lastLabel__ == 3 ? _74 : (__lastLabel__ == 62 ? _63 : (_50));
    var _rbAxisA1_0_2_0 = __lastLabel__ == 3 ? _77 : (__lastLabel__ == 62 ? _59 : (_44));
    var _rbAxisA1_0_1_0 = __lastLabel__ == 3 ? _80 : (__lastLabel__ == 62 ? _58 : (_45));
    var _rbAxisA1_0_0_0 = __lastLabel__ == 3 ? _83 : (__lastLabel__ == 62 ? _57 : (_46));
    var _84 = _this+540;
    FHEAP[_84] = _rbAxisA1_0_0_0;
    var _85 = _this+540+4;
    FHEAP[_85] = _rbAxisA2_0_0_0;
    var _86 = FHEAP[_26];
    var _87 = _this+540+8;
    FHEAP[_87] = _86;
    var _88 = _this+540+12;
    FHEAP[_88] = 0;
    var _89 = _this+540+16;
    FHEAP[_89] = _rbAxisA1_0_1_0;
    var _90 = _this+540+16+4;
    FHEAP[_90] = _rbAxisA2_0_1_0;
    var _91 = FHEAP[_29];
    var _92 = _this+540+16+8;
    FHEAP[_92] = _91;
    var _93 = _this+540+16+12;
    FHEAP[_93] = 0;
    var _94 = _this+540+32;
    FHEAP[_94] = _rbAxisA1_0_2_0;
    var _95 = _this+540+32+4;
    FHEAP[_95] = _rbAxisA2_0_2_0;
    var _96 = FHEAP[_33];
    var _97 = _this+540+32+8;
    FHEAP[_97] = _96;
    var _98 = _this+540+32+12;
    FHEAP[_98] = 0;
    var _99 = FHEAP[_26];
    var _100 = _axisInB+4;
    var _101 = FHEAP[_100];
    var _102 = FHEAP[_29];
    var _103 = _axisInB;
    var _104 = FHEAP[_103];
    var _105 = FHEAP[_33];
    var _106 = _axisInB+8;
    var _107 = FHEAP[_106];
    var _108 = _99 * _104;
    var _109 = _102 * _101;
    var _110 = _108 + _109;
    var _111 = _105 * _107;
    var _112 = _110 + _111;
    var _113 = _112 < -0.9999998807907104;
    ;
    if (_113) {
      ;
      var _114 = _fabsf(_105);
      var _115 = _114 > 0.7071067690849304;
      ;
      if (_115) {
        ;
        var _116 = _102 * _102;
        var _117 = _105 * _105;
        var _118 = _116 + _117;
        var _119 = _sqrtf(_118);
        var _120 = 1 / _119;
        var _121 = 0 - _105;
        var _122 = _120 * _121;
        var _123 = _102 * _120;
        __lastLabel__ = 263; ;
      }
      else {
        ;
        var _124 = _99 * _99;
        var _125 = _102 * _102;
        var _126 = _124 + _125;
        var _127 = _sqrtf(_126);
        var _128 = 1 / _127;
        var _129 = 0 - _102;
        var _130 = _128 * _129;
        var _131 = _99 * _128;
        __lastLabel__ = 265; ;
      }
    }
    else {
      ;
      var _132 = _105 * _101;
      var _133 = _102 * _107;
      var _134 = _99 * _107;
      var _135 = _105 * _104;
      var _136 = _102 * _104;
      var _137 = _99 * _101;
      var _138 = _133 - _132;
      var _139 = _135 - _134;
      var _140 = _137 - _136;
      var _141 = _112 + 1;
      var _142 = _141 * 2;
      var _143 = _sqrtf(_142);
      var _144 = 1 / _143;
      var _145 = _143 * 0.5;
      var _146 = _140 * _144;
      var _147 = _139 * _144;
      var _148 = _138 * _144;
      __lastLabel__ = 159; ;
    }
    var _rotationArc_0_0_3_0 = __lastLabel__ == 159 ? _145 : (__lastLabel__ == 265 ? 0 : (0));
    var _rotationArc_0_0_2_0 = __lastLabel__ == 159 ? _146 : (__lastLabel__ == 265 ? 0 : (_123));
    var _rotationArc_0_0_1_0 = __lastLabel__ == 159 ? _147 : (__lastLabel__ == 265 ? _131 : (_122));
    var _rotationArc_0_0_0_0 = __lastLabel__ == 159 ? _148 : (__lastLabel__ == 265 ? _130 : (0));
    var _149 = 0 - _rotationArc_0_0_0_0;
    var _150 = _rbAxisA1_0_0_0 * _149;
    var _151 = _rotationArc_0_0_1_0 * _rbAxisA1_0_1_0;
    var _152 = _150 - _151;
    var _153 = _rotationArc_0_0_2_0 * _rbAxisA1_0_2_0;
    var _154 = _152 - _153;
    var _155 = _rotationArc_0_0_3_0 * _rbAxisA1_0_2_0;
    var _156 = _rotationArc_0_0_0_0 * _rbAxisA1_0_1_0;
    var _157 = _155 + _156;
    var _158 = _rotationArc_0_0_1_0 * _rbAxisA1_0_0_0;
    var _159 = _157 - _158;
    var _160 = _rotationArc_0_0_3_0 * _rbAxisA1_0_1_0;
    var _161 = _rotationArc_0_0_2_0 * _rbAxisA1_0_0_0;
    var _162 = _160 + _161;
    var _163 = _rotationArc_0_0_0_0 * _rbAxisA1_0_2_0;
    var _164 = _162 - _163;
    var _165 = _rotationArc_0_0_3_0 * _rbAxisA1_0_0_0;
    var _166 = _rotationArc_0_0_1_0 * _rbAxisA1_0_2_0;
    var _167 = _165 + _166;
    var _168 = _rotationArc_0_0_2_0 * _rbAxisA1_0_1_0;
    var _169 = _167 - _168;
    var _170 = 0 - _rotationArc_0_0_2_0;
    var _171 = 0 - _rotationArc_0_0_1_0;
    var _172 = _154 * _170;
    var _173 = _159 * _rotationArc_0_0_3_0;
    var _174 = _172 + _173;
    var _175 = _169 * _171;
    var _176 = _174 + _175;
    var _177 = _164 * _149;
    var _178 = _176 - _177;
    var _179 = _154 * _171;
    var _180 = _164 * _rotationArc_0_0_3_0;
    var _181 = _179 + _180;
    var _182 = _159 * _149;
    var _183 = _181 + _182;
    var _184 = _169 * _170;
    var _185 = _183 - _184;
    var _186 = _154 * _149;
    var _187 = _169 * _rotationArc_0_0_3_0;
    var _188 = _186 + _187;
    var _189 = _164 * _170;
    var _190 = _188 + _189;
    var _191 = _159 * _171;
    var _192 = _190 - _191;
    var _193 = _104 * _185;
    var _194 = _101 * _192;
    var _195 = _193 - _194;
    var _196 = _107 * _192;
    var _197 = _104 * _178;
    var _198 = _196 - _197;
    var _199 = _101 * _178;
    var _200 = _107 * _185;
    var _201 = _199 - _200;
    var _202 = _this+604+48;
    var _203 = _pivotInB;
    var _204 = FHEAP[_203];
    FHEAP[_202] = _204;
    var _205 = _this+604+48+4;
    var _206 = _pivotInB+4;
    var _207 = FHEAP[_206];
    FHEAP[_205] = _207;
    var _208 = _this+604+48+8;
    var _209 = _pivotInB+8;
    var _210 = FHEAP[_209];
    FHEAP[_208] = _210;
    var _211 = _this+604+48+12;
    var _212 = _pivotInB+12;
    var _213 = FHEAP[_212];
    FHEAP[_211] = _213;
    var _214 = _this+604;
    FHEAP[_214] = _192;
    var _215 = _this+604+4;
    FHEAP[_215] = _201;
    var _216 = FHEAP[_103];
    var _217 = _this+604+8;
    FHEAP[_217] = _216;
    var _218 = _this+604+12;
    FHEAP[_218] = 0;
    var _219 = _this+604+16;
    FHEAP[_219] = _185;
    var _220 = _this+604+16+4;
    FHEAP[_220] = _198;
    var _221 = FHEAP[_100];
    var _222 = _this+604+16+8;
    FHEAP[_222] = _221;
    var _223 = _this+604+16+12;
    FHEAP[_223] = 0;
    var _224 = _this+604+32;
    FHEAP[_224] = _178;
    var _225 = _this+604+32+4;
    FHEAP[_225] = _195;
    var _226 = FHEAP[_106];
    var _227 = _this+604+32+8;
    FHEAP[_227] = _226;
    var _228 = _this+604+32+12;
    FHEAP[_228] = 0;
    var _229 = _this+688;
    FHEAP[_229] = 1;
    var _230 = _this+692;
    FHEAP[_230] = -1;
    var _231 = _this+680;
    FHEAP[_231] = 0.30000001192092896;
    var _232 = _this+684;
    FHEAP[_232] = 1;
    var _233 = _this+676;
    FHEAP[_233] = 0.8999999761581421;
    var _234 = _this+722;
    IHEAP[_234] = 0;
    var _toBool = _useReferenceFrameA == 0;
    var _iftmp_174_0 = _toBool ? 1 : -1;
    var _235 = _this+716;
    FHEAP[_235] = _iftmp_174_0;
    ;
    return;
  }
  __ZN17btHingeConstraintC2ER11btRigidBodyS1_RK9btVector3S4_S4_S4_b.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraintC2ER11btRigidBodyS1_RK9btVector3S4_S4_S4_b, "__ZN17btHingeConstraintC2ER11btRigidBodyS1_RK9btVector3S4_S4_S4_b");
  
  
  function __ZNK17btHingeConstraint9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = __ZNK17btTypedConstraint9serializeEPvP12btSerializer(_0, _dataBuffer, _serializer);
    var _2 = _dataBuffer+44;
    var _scevgep_i_i_i = _this+540;
    var _scevgep4_i_i_i = _2;
    var _scevgep_1_i_i_i = _this+540+4;
    var _scevgep4_1_i_i_i = _dataBuffer+48;
    var _3 = _scevgep4_1_i_i_i;
    var _scevgep_2_i_i_i = _this+540+8;
    var _scevgep4_2_i_i_i = _dataBuffer+52;
    var _4 = _scevgep4_2_i_i_i;
    var _scevgep_3_i_i_i = _this+540+12;
    var _scevgep4_3_i_i_i = _dataBuffer+56;
    var _5 = _scevgep4_3_i_i_i;
    var _6 = FHEAP[_scevgep_i_i_i];
    FHEAP[_scevgep4_i_i_i] = _6;
    var _7 = FHEAP[_scevgep_1_i_i_i];
    FHEAP[_3] = _7;
    var _8 = FHEAP[_scevgep_2_i_i_i];
    FHEAP[_4] = _8;
    var _9 = FHEAP[_scevgep_3_i_i_i];
    FHEAP[_5] = _9;
    var _scevgep_i_1_i_i = _this+540+16;
    var _scevgep4_i_1_i_i = _dataBuffer+60;
    var _10 = _scevgep4_i_1_i_i;
    var _scevgep_1_i_1_i_i = _this+540+16+4;
    var _scevgep4_1_i_1_i_i = _dataBuffer+64;
    var _11 = _scevgep4_1_i_1_i_i;
    var _scevgep_2_i_1_i_i = _this+540+16+8;
    var _scevgep4_2_i_1_i_i = _dataBuffer+68;
    var _12 = _scevgep4_2_i_1_i_i;
    var _scevgep_3_i_1_i_i = _this+540+16+12;
    var _scevgep4_3_i_1_i_i = _dataBuffer+72;
    var _13 = _scevgep4_3_i_1_i_i;
    var _14 = FHEAP[_scevgep_i_1_i_i];
    FHEAP[_10] = _14;
    var _15 = FHEAP[_scevgep_1_i_1_i_i];
    FHEAP[_11] = _15;
    var _16 = FHEAP[_scevgep_2_i_1_i_i];
    FHEAP[_12] = _16;
    var _17 = FHEAP[_scevgep_3_i_1_i_i];
    FHEAP[_13] = _17;
    var _scevgep_i_2_i_i = _this+540+32;
    var _scevgep4_i_2_i_i = _dataBuffer+76;
    var _18 = _scevgep4_i_2_i_i;
    var _scevgep_1_i_2_i_i = _this+540+32+4;
    var _scevgep4_1_i_2_i_i = _dataBuffer+80;
    var _19 = _scevgep4_1_i_2_i_i;
    var _scevgep_2_i_2_i_i = _this+540+32+8;
    var _scevgep4_2_i_2_i_i = _dataBuffer+84;
    var _20 = _scevgep4_2_i_2_i_i;
    var _scevgep_3_i_2_i_i = _this+540+32+12;
    var _scevgep4_3_i_2_i_i = _dataBuffer+88;
    var _21 = _scevgep4_3_i_2_i_i;
    var _22 = FHEAP[_scevgep_i_2_i_i];
    FHEAP[_18] = _22;
    var _23 = FHEAP[_scevgep_1_i_2_i_i];
    FHEAP[_19] = _23;
    var _24 = FHEAP[_scevgep_2_i_2_i_i];
    FHEAP[_20] = _24;
    var _25 = FHEAP[_scevgep_3_i_2_i_i];
    FHEAP[_21] = _25;
    var _scevgep_i_i = _this+540+48;
    var _scevgep4_i_i = _dataBuffer+92;
    var _26 = _scevgep4_i_i;
    var _27 = FHEAP[_scevgep_i_i];
    FHEAP[_26] = _27;
    var _scevgep_1_i_i = _this+540+48+4;
    var _scevgep4_1_i_i = _dataBuffer+96;
    var _28 = _scevgep4_1_i_i;
    var _29 = FHEAP[_scevgep_1_i_i];
    FHEAP[_28] = _29;
    var _scevgep_2_i_i = _this+540+48+8;
    var _scevgep4_2_i_i = _dataBuffer+100;
    var _30 = _scevgep4_2_i_i;
    var _31 = FHEAP[_scevgep_2_i_i];
    FHEAP[_30] = _31;
    var _scevgep_3_i_i = _this+540+48+12;
    var _scevgep4_3_i_i = _dataBuffer+104;
    var _32 = _scevgep4_3_i_i;
    var _33 = FHEAP[_scevgep_3_i_i];
    FHEAP[_32] = _33;
    var _34 = _dataBuffer+108;
    var _scevgep_i_i_i2 = _this+604;
    var _scevgep4_i_i_i3 = _34;
    var _scevgep_1_i_i_i4 = _this+604+4;
    var _scevgep4_1_i_i_i5 = _dataBuffer+112;
    var _35 = _scevgep4_1_i_i_i5;
    var _scevgep_2_i_i_i6 = _this+604+8;
    var _scevgep4_2_i_i_i7 = _dataBuffer+116;
    var _36 = _scevgep4_2_i_i_i7;
    var _scevgep_3_i_i_i8 = _this+604+12;
    var _scevgep4_3_i_i_i9 = _dataBuffer+120;
    var _37 = _scevgep4_3_i_i_i9;
    var _38 = FHEAP[_scevgep_i_i_i2];
    FHEAP[_scevgep4_i_i_i3] = _38;
    var _39 = FHEAP[_scevgep_1_i_i_i4];
    FHEAP[_35] = _39;
    var _40 = FHEAP[_scevgep_2_i_i_i6];
    FHEAP[_36] = _40;
    var _41 = FHEAP[_scevgep_3_i_i_i8];
    FHEAP[_37] = _41;
    var _scevgep_i_1_i_i10 = _this+604+16;
    var _scevgep4_i_1_i_i11 = _dataBuffer+124;
    var _42 = _scevgep4_i_1_i_i11;
    var _scevgep_1_i_1_i_i12 = _this+604+16+4;
    var _scevgep4_1_i_1_i_i13 = _dataBuffer+128;
    var _43 = _scevgep4_1_i_1_i_i13;
    var _scevgep_2_i_1_i_i14 = _this+604+16+8;
    var _scevgep4_2_i_1_i_i15 = _dataBuffer+132;
    var _44 = _scevgep4_2_i_1_i_i15;
    var _scevgep_3_i_1_i_i16 = _this+604+16+12;
    var _scevgep4_3_i_1_i_i17 = _dataBuffer+136;
    var _45 = _scevgep4_3_i_1_i_i17;
    var _46 = FHEAP[_scevgep_i_1_i_i10];
    FHEAP[_42] = _46;
    var _47 = FHEAP[_scevgep_1_i_1_i_i12];
    FHEAP[_43] = _47;
    var _48 = FHEAP[_scevgep_2_i_1_i_i14];
    FHEAP[_44] = _48;
    var _49 = FHEAP[_scevgep_3_i_1_i_i16];
    FHEAP[_45] = _49;
    var _scevgep_i_2_i_i18 = _this+604+32;
    var _scevgep4_i_2_i_i19 = _dataBuffer+140;
    var _50 = _scevgep4_i_2_i_i19;
    var _scevgep_1_i_2_i_i20 = _this+604+32+4;
    var _scevgep4_1_i_2_i_i21 = _dataBuffer+144;
    var _51 = _scevgep4_1_i_2_i_i21;
    var _scevgep_2_i_2_i_i22 = _this+604+32+8;
    var _scevgep4_2_i_2_i_i23 = _dataBuffer+148;
    var _52 = _scevgep4_2_i_2_i_i23;
    var _scevgep_3_i_2_i_i24 = _this+604+32+12;
    var _scevgep4_3_i_2_i_i25 = _dataBuffer+152;
    var _53 = _scevgep4_3_i_2_i_i25;
    var _54 = FHEAP[_scevgep_i_2_i_i18];
    FHEAP[_50] = _54;
    var _55 = FHEAP[_scevgep_1_i_2_i_i20];
    FHEAP[_51] = _55;
    var _56 = FHEAP[_scevgep_2_i_2_i_i22];
    FHEAP[_52] = _56;
    var _57 = FHEAP[_scevgep_3_i_2_i_i24];
    FHEAP[_53] = _57;
    var _scevgep_i_i26 = _this+604+48;
    var _scevgep4_i_i27 = _dataBuffer+156;
    var _58 = _scevgep4_i_i27;
    var _59 = FHEAP[_scevgep_i_i26];
    FHEAP[_58] = _59;
    var _scevgep_1_i_i28 = _this+604+48+4;
    var _scevgep4_1_i_i29 = _dataBuffer+160;
    var _60 = _scevgep4_1_i_i29;
    var _61 = FHEAP[_scevgep_1_i_i28];
    FHEAP[_60] = _61;
    var _scevgep_2_i_i30 = _this+604+48+8;
    var _scevgep4_2_i_i31 = _dataBuffer+164;
    var _62 = _scevgep4_2_i_i31;
    var _63 = FHEAP[_scevgep_2_i_i30];
    FHEAP[_62] = _63;
    var _scevgep_3_i_i32 = _this+604+48+12;
    var _scevgep4_3_i_i33 = _dataBuffer+168;
    var _64 = _scevgep4_3_i_i33;
    var _65 = FHEAP[_scevgep_3_i_i32];
    FHEAP[_64] = _65;
    var _66 = _this+720;
    var _67 = IHEAP[_66];
    var _68 = _67;
    var _69 = _dataBuffer+176;
    var _70 = _69;
    IHEAP[_70] = _68;
    var _71 = _this+721;
    var _72 = IHEAP[_71];
    var _73 = _72;
    var _74 = _dataBuffer+180;
    var _75 = _74;
    IHEAP[_75] = _73;
    var _76 = _this+672;
    var _77 = FHEAP[_76];
    var _78 = _dataBuffer+188;
    var _79 = _78;
    FHEAP[_79] = _77;
    var _80 = _this+668;
    var _81 = FHEAP[_80];
    var _82 = _dataBuffer+184;
    var _83 = _82;
    FHEAP[_83] = _81;
    var _84 = _this+725;
    var _85 = IHEAP[_84];
    var _86 = _85;
    var _87 = _dataBuffer+172;
    var _88 = _87;
    IHEAP[_88] = _86;
    var _89 = _this+688;
    var _90 = FHEAP[_89];
    var _91 = _dataBuffer+192;
    var _92 = _91;
    FHEAP[_92] = _90;
    var _93 = _this+692;
    var _94 = FHEAP[_93];
    var _95 = _dataBuffer+196;
    var _96 = _95;
    FHEAP[_96] = _94;
    var _97 = _this+676;
    var _98 = FHEAP[_97];
    var _99 = _dataBuffer+200;
    var _100 = _99;
    FHEAP[_100] = _98;
    var _101 = _this+680;
    var _102 = FHEAP[_101];
    var _103 = _dataBuffer+204;
    var _104 = _103;
    FHEAP[_104] = _102;
    var _105 = _this+684;
    var _106 = FHEAP[_105];
    var _107 = _dataBuffer+208;
    var _108 = _107;
    FHEAP[_108] = _106;
    ;
    return __str417;
  }
  __ZNK17btHingeConstraint9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK17btHingeConstraint9serializeEPvP12btSerializer, "__ZNK17btHingeConstraint9serializeEPvP12btSerializer");
  
  
  function __ZN17btHingeConstraint13buildJacobianEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 176;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _3 = __stackBase__+80;
    var _normal = __stackBase__+128;
    var _4 = _this+723;
    var _5 = IHEAP[_4];
    var _toBool = _5 == 0;
    ;
    if (_toBool) {
      ;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      var _6 = _this+28;
      FHEAP[_6] = 0;
      var _7 = _this+728;
      FHEAP[_7] = 0;
      var _8 = _this+720;
      var _9 = IHEAP[_8];
      var _toBool1not = _9 == 0;
      ;
      _bb8$_bb19$15263: do { 
        if (_toBool1not) {
          ;
          var _10 = _this+20;
          var _11 = IHEAP[_10];
          var _12 = _11+4+32;
          var _13 = FHEAP[_12];
          var _14 = _this+540+48;
          var _15 = FHEAP[_14];
          var _16 = _13 * _15;
          var _17 = _11+4+32+4;
          var _18 = FHEAP[_17];
          var _19 = _this+540+48+4;
          var _20 = FHEAP[_19];
          var _21 = _18 * _20;
          var _22 = _16 + _21;
          var _23 = _11+4+32+8;
          var _24 = FHEAP[_23];
          var _25 = _this+540+48+8;
          var _26 = FHEAP[_25];
          var _27 = _24 * _26;
          var _28 = _22 + _27;
          var _29 = _11+4+48+8;
          var _30 = FHEAP[_29];
          var _31 = _28 + _30;
          var _32 = _11+4+16;
          var _33 = FHEAP[_32];
          var _34 = _33 * _15;
          var _35 = _11+4+16+4;
          var _36 = FHEAP[_35];
          var _37 = _36 * _20;
          var _38 = _34 + _37;
          var _39 = _11+4+16+8;
          var _40 = FHEAP[_39];
          var _41 = _40 * _26;
          var _42 = _38 + _41;
          var _43 = _11+4+48+4;
          var _44 = FHEAP[_43];
          var _45 = _42 + _44;
          var _46 = _11+4;
          var _47 = FHEAP[_46];
          var _48 = _47 * _15;
          var _49 = _11+4+4;
          var _50 = FHEAP[_49];
          var _51 = _50 * _20;
          var _52 = _48 + _51;
          var _53 = _11+4+8;
          var _54 = FHEAP[_53];
          var _55 = _54 * _26;
          var _56 = _52 + _55;
          var _57 = _11+4+48;
          var _58 = FHEAP[_57];
          var _59 = _56 + _58;
          var _60 = _this+24;
          var _61 = IHEAP[_60];
          var _62 = _61+4+32;
          var _63 = FHEAP[_62];
          var _64 = _this+604+48;
          var _65 = FHEAP[_64];
          var _66 = _63 * _65;
          var _67 = _61+4+32+4;
          var _68 = FHEAP[_67];
          var _69 = _this+604+48+4;
          var _70 = FHEAP[_69];
          var _71 = _68 * _70;
          var _72 = _66 + _71;
          var _73 = _61+4+32+8;
          var _74 = FHEAP[_73];
          var _75 = _this+604+48+8;
          var _76 = FHEAP[_75];
          var _77 = _74 * _76;
          var _78 = _72 + _77;
          var _79 = _61+4+48+8;
          var _80 = FHEAP[_79];
          var _81 = _78 + _80;
          var _82 = _61+4+16;
          var _83 = FHEAP[_82];
          var _84 = _83 * _65;
          var _85 = _61+4+16+4;
          var _86 = FHEAP[_85];
          var _87 = _86 * _70;
          var _88 = _84 + _87;
          var _89 = _61+4+16+8;
          var _90 = FHEAP[_89];
          var _91 = _90 * _76;
          var _92 = _88 + _91;
          var _93 = _61+4+48+4;
          var _94 = FHEAP[_93];
          var _95 = _92 + _94;
          var _96 = _61+4;
          var _97 = FHEAP[_96];
          var _98 = _97 * _65;
          var _99 = _61+4+4;
          var _100 = FHEAP[_99];
          var _101 = _100 * _70;
          var _102 = _98 + _101;
          var _103 = _61+4+8;
          var _104 = FHEAP[_103];
          var _105 = _104 * _76;
          var _106 = _102 + _105;
          var _107 = _61+4+48;
          var _108 = FHEAP[_107];
          var _109 = _106 + _108;
          var _110 = _81 - _31;
          var _111 = _95 - _45;
          var _112 = _109 - _59;
          var _113 = _112 * _112;
          var _114 = _111 * _111;
          var _115 = _113 + _114;
          var _116 = _110 * _110;
          var _117 = _115 + _116;
          var _118 = _117 > 1.1920928955078125e-7;
          ;
          if (_118) {
            ;
            var _119 = _sqrtf(_117);
            var _120 = 1 / _119;
            var _121 = _110 * _120;
            var _122 = _111 * _120;
            var _123 = _112 * _120;
            var _124 = _normal;
            FHEAP[_124] = _123;
            var _125 = _normal+4;
            FHEAP[_125] = _122;
            var _126 = _normal+8;
            FHEAP[_126] = _121;
            var _127 = _normal+12;
            FHEAP[_127] = 0;
            __lastLabel__ = 150; ;
          }
          else {
            ;
            var _128 = _normal;
            FHEAP[_128] = 1;
            var _129 = _normal+4;
            FHEAP[_129] = 0;
            var _130 = _normal+8;
            FHEAP[_130] = 0;
            var _131 = _normal+12;
            FHEAP[_131] = 0;
            __lastLabel__ = 292; ;
          }
          var _132 = __lastLabel__ == 292 ? 1 : (_123);
          var _133 = __lastLabel__ == 292 ? 0 : (_122);
          var _134 = __lastLabel__ == 292 ? 0 : (_121);
          var _135 = _fabsf(_134);
          var _136 = _135 > 0.7071067690849304;
          ;
          if (_136) {
            ;
            var _137 = _133 * _133;
            var _138 = _134 * _134;
            var _139 = _137 + _138;
            var _140 = _sqrtf(_139);
            var _141 = 1 / _140;
            var _142 = _normal+16;
            FHEAP[_142] = 0;
            var _143 = 0 - _134;
            var _144 = _141 * _143;
            var _145 = _normal+16+4;
            FHEAP[_145] = _144;
            var _146 = _133 * _141;
            var _147 = _normal+16+8;
            FHEAP[_147] = _146;
            var _148 = _normal+32;
            var _149 = _139 * _141;
            FHEAP[_148] = _149;
            var _150 = 0 - _132;
            var _151 = _146 * _150;
            var _152 = _normal+32+4;
            FHEAP[_152] = _151;
            var _153 = _132 * _144;
            var _154 = _normal+32+8;
            FHEAP[_154] = _153;
            ;
          }
          else {
            ;
            var _155 = _132 * _132;
            var _156 = _133 * _133;
            var _157 = _155 + _156;
            var _158 = _sqrtf(_157);
            var _159 = 1 / _158;
            var _160 = _normal+16;
            var _161 = 0 - _133;
            var _162 = _159 * _161;
            FHEAP[_160] = _162;
            var _163 = _132 * _159;
            var _164 = _normal+16+4;
            FHEAP[_164] = _163;
            var _165 = _normal+16+8;
            FHEAP[_165] = 0;
            var _166 = _normal+32;
            var _167 = 0 - _134;
            var _168 = _163 * _167;
            FHEAP[_166] = _168;
            var _169 = _134 * _162;
            var _170 = _normal+32+4;
            FHEAP[_170] = _169;
            var _171 = _157 * _159;
            var _172 = _normal+32+8;
            FHEAP[_172] = _171;
            ;
          }
          var _173 = _3;
          var _174 = _3+4;
          var _175 = _3+8;
          var _176 = _3+12;
          var _177 = _3+16;
          var _178 = _3+16+4;
          var _179 = _3+16+8;
          var _180 = _3+16+12;
          var _181 = _3+32;
          var _182 = _3+32+4;
          var _183 = _3+32+8;
          var _184 = _3+32+12;
          var _185 = _2;
          var _186 = _2+4;
          var _187 = _2+8;
          var _188 = _2+12;
          var _189 = _2+16;
          var _190 = _2+16+4;
          var _191 = _2+16+8;
          var _192 = _2+16+12;
          var _193 = _2+32;
          var _194 = _2+32+4;
          var _195 = _2+32+8;
          var _196 = _2+32+12;
          var _197 = _1;
          var _198 = _1+4;
          var _199 = _1+8;
          var _200 = _1+12;
          var _201 = _0;
          var _202 = _0+4;
          var _203 = _0+8;
          var _204 = _0+12;
          __lastLabel__ = 130; ;
          _bb14$15273: while(1) { // _bb14
            var _i_090 = __lastLabel__ == 130 ? 0 : (_268);
            var _scevgep93 = _this+36+_i_090*84;
            var _205 = IHEAP[_10];
            var _206 = _205+4+32+8;
            var _207 = _205+4+16+8;
            var _208 = _205+4+8;
            var _209 = _205+4+32+4;
            var _210 = _205+4+16+4;
            var _211 = _205+4+4;
            var _212 = _205+4+32;
            var _213 = _205+4+16;
            var _214 = _205+4;
            var _215 = FHEAP[_214];
            FHEAP[_173] = _215;
            var _216 = FHEAP[_213];
            FHEAP[_174] = _216;
            var _217 = FHEAP[_212];
            FHEAP[_175] = _217;
            FHEAP[_176] = 0;
            var _218 = FHEAP[_211];
            FHEAP[_177] = _218;
            var _219 = FHEAP[_210];
            FHEAP[_178] = _219;
            var _220 = FHEAP[_209];
            FHEAP[_179] = _220;
            FHEAP[_180] = 0;
            var _221 = FHEAP[_208];
            FHEAP[_181] = _221;
            var _222 = FHEAP[_207];
            FHEAP[_182] = _222;
            var _223 = FHEAP[_206];
            FHEAP[_183] = _223;
            FHEAP[_184] = 0;
            var _224 = IHEAP[_60];
            var _225 = _224+4+32+8;
            var _226 = _224+4+16+8;
            var _227 = _224+4+8;
            var _228 = _224+4+32+4;
            var _229 = _224+4+16+4;
            var _230 = _224+4+4;
            var _231 = _224+4+32;
            var _232 = _224+4+16;
            var _233 = _224+4;
            var _234 = FHEAP[_233];
            FHEAP[_185] = _234;
            var _235 = FHEAP[_232];
            FHEAP[_186] = _235;
            var _236 = FHEAP[_231];
            FHEAP[_187] = _236;
            FHEAP[_188] = 0;
            var _237 = FHEAP[_230];
            FHEAP[_189] = _237;
            var _238 = FHEAP[_229];
            FHEAP[_190] = _238;
            var _239 = FHEAP[_228];
            FHEAP[_191] = _239;
            FHEAP[_192] = 0;
            var _240 = FHEAP[_227];
            FHEAP[_193] = _240;
            var _241 = FHEAP[_226];
            FHEAP[_194] = _241;
            var _242 = FHEAP[_225];
            FHEAP[_195] = _242;
            FHEAP[_196] = 0;
            var _243 = _205+4+48+8;
            var _244 = FHEAP[_243];
            var _245 = _31 - _244;
            var _246 = _205+4+48+4;
            var _247 = FHEAP[_246];
            var _248 = _45 - _247;
            var _249 = _205+4+48;
            var _250 = FHEAP[_249];
            var _251 = _59 - _250;
            FHEAP[_197] = _251;
            FHEAP[_198] = _248;
            FHEAP[_199] = _245;
            FHEAP[_200] = 0;
            var _252 = _224+4+48+8;
            var _253 = FHEAP[_252];
            var _254 = _81 - _253;
            var _255 = _224+4+48+4;
            var _256 = FHEAP[_255];
            var _257 = _95 - _256;
            var _258 = _224+4+48;
            var _259 = FHEAP[_258];
            var _260 = _109 - _259;
            FHEAP[_201] = _260;
            FHEAP[_202] = _257;
            FHEAP[_203] = _254;
            FHEAP[_204] = 0;
            var _261 = _scevgep93 == 0;
            ;
            if (!_261) {
              ;
              var _scevgep = _normal+_i_090*16;
              var _262 = _224+336;
              var _263 = _205+336;
              var _264 = FHEAP[_262];
              var _265 = _224+388;
              var _266 = FHEAP[_263];
              var _267 = _205+388;
              __ZN15btJacobianEntryC2ERK11btMatrix3x3S2_RK9btVector3S5_S5_S5_fS5_f(_scevgep93, _3, _2, _1, _0, _scevgep, _267, _266, _265, _264);
              ;
            }
            var _268 = _i_090 + 1;
            var _exitcond = _268 == 3;
            if (_exitcond) { __lastLabel__ = 4; __label__ = 64; /* _bb19 */ break _bb8$_bb19$15263; } else { __lastLabel__ = 4; __label__ = 63; /* _bb14 */ continue _bb14$15273; }
          }
        }
      } while(0);
      var _269 = _this+540+32+8;
      var _270 = _this+540+16+8;
      var _271 = _this+540+8;
      var _272 = FHEAP[_271];
      var _273 = FHEAP[_270];
      var _274 = FHEAP[_269];
      var _275 = _fabsf(_274);
      var _276 = _275 > 0.7071067690849304;
      ;
      if (_276) {
        ;
        var _277 = _273 * _273;
        var _278 = _274 * _274;
        var _279 = _277 + _278;
        var _280 = _sqrtf(_279);
        var _281 = 1 / _280;
        var _282 = 0 - _274;
        var _283 = _281 * _282;
        var _284 = _273 * _281;
        var _285 = _279 * _281;
        var _286 = 0 - _272;
        var _287 = _284 * _286;
        var _288 = _272 * _283;
        __lastLabel__ = 406; ;
      }
      else {
        ;
        var _289 = _272 * _272;
        var _290 = _273 * _273;
        var _291 = _289 + _290;
        var _292 = _sqrtf(_291);
        var _293 = 1 / _292;
        var _294 = 0 - _273;
        var _295 = _293 * _294;
        var _296 = _272 * _293;
        var _297 = 0 - _274;
        var _298 = _296 * _297;
        var _299 = _274 * _295;
        var _300 = _291 * _293;
        __lastLabel__ = 2800; ;
      }
      var _jointAxis0local_0_0_0 = __lastLabel__ == 406 ? 0 : (_295);
      var _jointAxis0local_0_1_0 = __lastLabel__ == 406 ? _283 : (_296);
      var _jointAxis0local_0_2_0 = __lastLabel__ == 406 ? _284 : (0);
      var _jointAxis1local_0_0_0 = __lastLabel__ == 406 ? _285 : (_298);
      var _jointAxis1local_0_1_0 = __lastLabel__ == 406 ? _287 : (_299);
      var _jointAxis1local_0_2_0 = __lastLabel__ == 406 ? _288 : (_300);
      var _301 = _this+20;
      var _302 = IHEAP[_301];
      var _303 = _302+4+32;
      var _304 = FHEAP[_303];
      var _305 = _304 * _jointAxis0local_0_0_0;
      var _306 = _302+4+32+4;
      var _307 = FHEAP[_306];
      var _308 = _307 * _jointAxis0local_0_1_0;
      var _309 = _305 + _308;
      var _310 = _302+4+32+8;
      var _311 = FHEAP[_310];
      var _312 = _311 * _jointAxis0local_0_2_0;
      var _313 = _309 + _312;
      var _314 = _302+4+16;
      var _315 = FHEAP[_314];
      var _316 = _315 * _jointAxis0local_0_0_0;
      var _317 = _302+4+16+4;
      var _318 = FHEAP[_317];
      var _319 = _318 * _jointAxis0local_0_1_0;
      var _320 = _316 + _319;
      var _321 = _302+4+16+8;
      var _322 = FHEAP[_321];
      var _323 = _322 * _jointAxis0local_0_2_0;
      var _324 = _320 + _323;
      var _325 = _302+4;
      var _326 = FHEAP[_325];
      var _327 = _326 * _jointAxis0local_0_0_0;
      var _328 = _302+4+4;
      var _329 = FHEAP[_328];
      var _330 = _329 * _jointAxis0local_0_1_0;
      var _331 = _327 + _330;
      var _332 = _302+4+8;
      var _333 = FHEAP[_332];
      var _334 = _333 * _jointAxis0local_0_2_0;
      var _335 = _331 + _334;
      var _336 = _304 * _jointAxis1local_0_0_0;
      var _337 = _307 * _jointAxis1local_0_1_0;
      var _338 = _336 + _337;
      var _339 = _311 * _jointAxis1local_0_2_0;
      var _340 = _338 + _339;
      var _341 = _315 * _jointAxis1local_0_0_0;
      var _342 = _318 * _jointAxis1local_0_1_0;
      var _343 = _341 + _342;
      var _344 = _322 * _jointAxis1local_0_2_0;
      var _345 = _343 + _344;
      var _346 = _326 * _jointAxis1local_0_0_0;
      var _347 = _329 * _jointAxis1local_0_1_0;
      var _348 = _346 + _347;
      var _349 = _333 * _jointAxis1local_0_2_0;
      var _350 = _348 + _349;
      var _351 = _304 * _272;
      var _352 = _307 * _273;
      var _353 = _351 + _352;
      var _354 = _311 * _274;
      var _355 = _353 + _354;
      var _356 = _315 * _272;
      var _357 = _318 * _273;
      var _358 = _356 + _357;
      var _359 = _322 * _274;
      var _360 = _358 + _359;
      var _361 = _326 * _272;
      var _362 = _329 * _273;
      var _363 = _361 + _362;
      var _364 = _333 * _274;
      var _365 = _363 + _364;
      var _366 = _this+24;
      var _367 = IHEAP[_366];
      var _368 = _this+288;
      var _369 = _368 == 0;
      ;
      if (!_369) {
        ;
        var _370 = _367+4;
        var _371 = _367+4+16;
        var _372 = _367+4+32;
        var _373 = _367+4+4;
        var _374 = _367+4+16+4;
        var _375 = _367+4+32+4;
        var _376 = _367+4+8;
        var _377 = _367+4+16+8;
        var _378 = _367+4+32+8;
        var _379 = FHEAP[_378];
        var _380 = FHEAP[_377];
        var _381 = FHEAP[_376];
        var _382 = FHEAP[_375];
        var _383 = FHEAP[_374];
        var _384 = FHEAP[_373];
        var _385 = FHEAP[_372];
        var _386 = FHEAP[_371];
        var _387 = FHEAP[_370];
        var _388 = _this+288;
        FHEAP[_388] = 0;
        var _389 = _this+288+4;
        FHEAP[_389] = 0;
        var _390 = _this+288+8;
        FHEAP[_390] = 0;
        var _391 = _this+288+12;
        FHEAP[_391] = 0;
        var _392 = _333 * _335;
        var _393 = _322 * _324;
        var _394 = _392 + _393;
        var _395 = _311 * _313;
        var _396 = _394 + _395;
        var _397 = _329 * _335;
        var _398 = _318 * _324;
        var _399 = _397 + _398;
        var _400 = _307 * _313;
        var _401 = _399 + _400;
        var _402 = _326 * _335;
        var _403 = _315 * _324;
        var _404 = _402 + _403;
        var _405 = _304 * _313;
        var _406 = _404 + _405;
        var _407 = _this+288+16;
        FHEAP[_407] = _406;
        var _408 = _this+288+16+4;
        FHEAP[_408] = _401;
        var _409 = _this+288+16+8;
        FHEAP[_409] = _396;
        var _410 = _this+288+16+12;
        FHEAP[_410] = 0;
        var _411 = 0 - _313;
        var _412 = 0 - _324;
        var _413 = 0 - _335;
        var _414 = _381 * _413;
        var _415 = _380 * _412;
        var _416 = _414 + _415;
        var _417 = _379 * _411;
        var _418 = _416 + _417;
        var _419 = _384 * _413;
        var _420 = _383 * _412;
        var _421 = _419 + _420;
        var _422 = _382 * _411;
        var _423 = _421 + _422;
        var _424 = _387 * _413;
        var _425 = _386 * _412;
        var _426 = _424 + _425;
        var _427 = _385 * _411;
        var _428 = _426 + _427;
        var _429 = _this+288+32;
        FHEAP[_429] = _428;
        var _430 = _this+288+32+4;
        FHEAP[_430] = _423;
        var _431 = _this+288+32+8;
        FHEAP[_431] = _418;
        var _432 = _this+288+32+12;
        FHEAP[_432] = 0;
        var _433 = _302+388+8;
        var _434 = FHEAP[_433];
        var _435 = _434 * _396;
        var _436 = _302+388+4;
        var _437 = FHEAP[_436];
        var _438 = _437 * _401;
        var _439 = _302+388;
        var _440 = FHEAP[_439];
        var _441 = _440 * _406;
        var _442 = _this+288+48;
        FHEAP[_442] = _441;
        var _443 = _this+288+48+4;
        FHEAP[_443] = _438;
        var _444 = _this+288+48+8;
        FHEAP[_444] = _435;
        var _445 = _this+288+48+12;
        FHEAP[_445] = 0;
        var _446 = _367+388+8;
        var _447 = FHEAP[_446];
        var _448 = _447 * _418;
        var _449 = _367+388+4;
        var _450 = FHEAP[_449];
        var _451 = _450 * _423;
        var _452 = _367+388;
        var _453 = FHEAP[_452];
        var _454 = _453 * _428;
        var _455 = _this+288+64;
        FHEAP[_455] = _454;
        var _456 = _this+288+64+4;
        FHEAP[_456] = _451;
        var _457 = _this+288+64+8;
        FHEAP[_457] = _448;
        var _458 = _this+288+64+12;
        FHEAP[_458] = 0;
        var _459 = _441 * _406;
        var _460 = _438 * _401;
        var _461 = _459 + _460;
        var _462 = _435 * _396;
        var _463 = _461 + _462;
        var _464 = _454 * _428;
        var _465 = _451 * _423;
        var _466 = _464 + _465;
        var _467 = _448 * _418;
        var _468 = _466 + _467;
        var _469 = _463 + _468;
        var _470 = _this+288+80;
        FHEAP[_470] = _469;
        ;
      }
      var _471 = _this+288+84;
      var _472 = _471 == 0;
      ;
      if (!_472) {
        ;
        var _473 = _367+4;
        var _474 = _367+4+16;
        var _475 = _367+4+32;
        var _476 = _367+4+4;
        var _477 = _367+4+16+4;
        var _478 = _367+4+32+4;
        var _479 = _367+4+8;
        var _480 = _367+4+16+8;
        var _481 = _367+4+32+8;
        var _482 = FHEAP[_481];
        var _483 = FHEAP[_480];
        var _484 = FHEAP[_479];
        var _485 = FHEAP[_478];
        var _486 = FHEAP[_477];
        var _487 = FHEAP[_476];
        var _488 = FHEAP[_475];
        var _489 = FHEAP[_474];
        var _490 = FHEAP[_473];
        var _491 = FHEAP[_310];
        var _492 = FHEAP[_321];
        var _493 = FHEAP[_332];
        var _494 = FHEAP[_306];
        var _495 = FHEAP[_317];
        var _496 = FHEAP[_328];
        var _497 = FHEAP[_303];
        var _498 = FHEAP[_314];
        var _499 = FHEAP[_325];
        var _500 = _this+288+84;
        FHEAP[_500] = 0;
        var _501 = _this+288+84+4;
        FHEAP[_501] = 0;
        var _502 = _this+288+84+8;
        FHEAP[_502] = 0;
        var _503 = _this+288+84+12;
        FHEAP[_503] = 0;
        var _504 = _493 * _350;
        var _505 = _492 * _345;
        var _506 = _504 + _505;
        var _507 = _491 * _340;
        var _508 = _506 + _507;
        var _509 = _496 * _350;
        var _510 = _495 * _345;
        var _511 = _509 + _510;
        var _512 = _494 * _340;
        var _513 = _511 + _512;
        var _514 = _499 * _350;
        var _515 = _498 * _345;
        var _516 = _514 + _515;
        var _517 = _497 * _340;
        var _518 = _516 + _517;
        var _519 = _this+288+84+16;
        FHEAP[_519] = _518;
        var _520 = _this+288+84+16+4;
        FHEAP[_520] = _513;
        var _521 = _this+288+84+16+8;
        FHEAP[_521] = _508;
        var _522 = _this+288+84+16+12;
        FHEAP[_522] = 0;
        var _523 = 0 - _340;
        var _524 = 0 - _345;
        var _525 = 0 - _350;
        var _526 = _484 * _525;
        var _527 = _483 * _524;
        var _528 = _526 + _527;
        var _529 = _482 * _523;
        var _530 = _528 + _529;
        var _531 = _487 * _525;
        var _532 = _486 * _524;
        var _533 = _531 + _532;
        var _534 = _485 * _523;
        var _535 = _533 + _534;
        var _536 = _490 * _525;
        var _537 = _489 * _524;
        var _538 = _536 + _537;
        var _539 = _488 * _523;
        var _540 = _538 + _539;
        var _541 = _this+288+84+32;
        FHEAP[_541] = _540;
        var _542 = _this+288+84+32+4;
        FHEAP[_542] = _535;
        var _543 = _this+288+84+32+8;
        FHEAP[_543] = _530;
        var _544 = _this+288+84+32+12;
        FHEAP[_544] = 0;
        var _545 = _302+388+8;
        var _546 = FHEAP[_545];
        var _547 = _546 * _508;
        var _548 = _302+388+4;
        var _549 = FHEAP[_548];
        var _550 = _549 * _513;
        var _551 = _302+388;
        var _552 = FHEAP[_551];
        var _553 = _552 * _518;
        var _554 = _this+288+84+48;
        FHEAP[_554] = _553;
        var _555 = _this+288+84+48+4;
        FHEAP[_555] = _550;
        var _556 = _this+288+84+48+8;
        FHEAP[_556] = _547;
        var _557 = _this+288+84+48+12;
        FHEAP[_557] = 0;
        var _558 = _367+388+8;
        var _559 = FHEAP[_558];
        var _560 = _559 * _530;
        var _561 = _367+388+4;
        var _562 = FHEAP[_561];
        var _563 = _562 * _535;
        var _564 = _367+388;
        var _565 = FHEAP[_564];
        var _566 = _565 * _540;
        var _567 = _this+288+84+64;
        FHEAP[_567] = _566;
        var _568 = _this+288+84+64+4;
        FHEAP[_568] = _563;
        var _569 = _this+288+84+64+8;
        FHEAP[_569] = _560;
        var _570 = _this+288+84+64+12;
        FHEAP[_570] = 0;
        var _571 = _553 * _518;
        var _572 = _550 * _513;
        var _573 = _571 + _572;
        var _574 = _547 * _508;
        var _575 = _573 + _574;
        var _576 = _566 * _540;
        var _577 = _563 * _535;
        var _578 = _576 + _577;
        var _579 = _560 * _530;
        var _580 = _578 + _579;
        var _581 = _575 + _580;
        var _582 = _this+288+84+80;
        FHEAP[_582] = _581;
        ;
      }
      var _583 = _this+288+168;
      var _584 = _583 == 0;
      ;
      if (!_584) {
        ;
        var _585 = _367+4;
        var _586 = _367+4+16;
        var _587 = _367+4+32;
        var _588 = _367+4+4;
        var _589 = _367+4+16+4;
        var _590 = _367+4+32+4;
        var _591 = _367+4+8;
        var _592 = _367+4+16+8;
        var _593 = _367+4+32+8;
        var _594 = FHEAP[_593];
        var _595 = FHEAP[_592];
        var _596 = FHEAP[_591];
        var _597 = FHEAP[_590];
        var _598 = FHEAP[_589];
        var _599 = FHEAP[_588];
        var _600 = FHEAP[_587];
        var _601 = FHEAP[_586];
        var _602 = FHEAP[_585];
        var _603 = FHEAP[_310];
        var _604 = FHEAP[_321];
        var _605 = FHEAP[_332];
        var _606 = FHEAP[_306];
        var _607 = FHEAP[_317];
        var _608 = FHEAP[_328];
        var _609 = FHEAP[_303];
        var _610 = FHEAP[_314];
        var _611 = FHEAP[_325];
        var _612 = _this+288+168;
        FHEAP[_612] = 0;
        var _613 = _this+288+168+4;
        FHEAP[_613] = 0;
        var _614 = _this+288+168+8;
        FHEAP[_614] = 0;
        var _615 = _this+288+168+12;
        FHEAP[_615] = 0;
        var _616 = _605 * _365;
        var _617 = _604 * _360;
        var _618 = _616 + _617;
        var _619 = _603 * _355;
        var _620 = _618 + _619;
        var _621 = _608 * _365;
        var _622 = _607 * _360;
        var _623 = _621 + _622;
        var _624 = _606 * _355;
        var _625 = _623 + _624;
        var _626 = _611 * _365;
        var _627 = _610 * _360;
        var _628 = _626 + _627;
        var _629 = _609 * _355;
        var _630 = _628 + _629;
        var _631 = _this+288+168+16;
        FHEAP[_631] = _630;
        var _632 = _this+288+168+16+4;
        FHEAP[_632] = _625;
        var _633 = _this+288+168+16+8;
        FHEAP[_633] = _620;
        var _634 = _this+288+168+16+12;
        FHEAP[_634] = 0;
        var _635 = 0 - _355;
        var _636 = 0 - _360;
        var _637 = 0 - _365;
        var _638 = _596 * _637;
        var _639 = _595 * _636;
        var _640 = _638 + _639;
        var _641 = _594 * _635;
        var _642 = _640 + _641;
        var _643 = _599 * _637;
        var _644 = _598 * _636;
        var _645 = _643 + _644;
        var _646 = _597 * _635;
        var _647 = _645 + _646;
        var _648 = _602 * _637;
        var _649 = _601 * _636;
        var _650 = _648 + _649;
        var _651 = _600 * _635;
        var _652 = _650 + _651;
        var _653 = _this+288+168+32;
        FHEAP[_653] = _652;
        var _654 = _this+288+168+32+4;
        FHEAP[_654] = _647;
        var _655 = _this+288+168+32+8;
        FHEAP[_655] = _642;
        var _656 = _this+288+168+32+12;
        FHEAP[_656] = 0;
        var _657 = _302+388+8;
        var _658 = FHEAP[_657];
        var _659 = _658 * _620;
        var _660 = _302+388+4;
        var _661 = FHEAP[_660];
        var _662 = _661 * _625;
        var _663 = _302+388;
        var _664 = FHEAP[_663];
        var _665 = _664 * _630;
        var _666 = _this+288+168+48;
        FHEAP[_666] = _665;
        var _667 = _this+288+168+48+4;
        FHEAP[_667] = _662;
        var _668 = _this+288+168+48+8;
        FHEAP[_668] = _659;
        var _669 = _this+288+168+48+12;
        FHEAP[_669] = 0;
        var _670 = _367+388+8;
        var _671 = FHEAP[_670];
        var _672 = _671 * _642;
        var _673 = _367+388+4;
        var _674 = FHEAP[_673];
        var _675 = _674 * _647;
        var _676 = _367+388;
        var _677 = FHEAP[_676];
        var _678 = _677 * _652;
        var _679 = _this+288+168+64;
        FHEAP[_679] = _678;
        var _680 = _this+288+168+64+4;
        FHEAP[_680] = _675;
        var _681 = _this+288+168+64+8;
        FHEAP[_681] = _672;
        var _682 = _this+288+168+64+12;
        FHEAP[_682] = 0;
        var _683 = _665 * _630;
        var _684 = _662 * _625;
        var _685 = _683 + _684;
        var _686 = _659 * _620;
        var _687 = _685 + _686;
        var _688 = _678 * _652;
        var _689 = _675 * _647;
        var _690 = _688 + _689;
        var _691 = _672 * _642;
        var _692 = _690 + _691;
        var _693 = _687 + _692;
        var _694 = _this+288+168+80;
        FHEAP[_694] = _693;
        ;
      }
      var _695 = _this+708;
      FHEAP[_695] = 0;
      var _696 = _367+4;
      var _697 = _302+4;
      var _698 = __ZN17btHingeConstraint13getHingeAngleERK11btTransformS2_(_this, _697, _696);
      var _699 = _this+712;
      FHEAP[_699] = _698;
      var _700 = _this+704;
      FHEAP[_700] = 0;
      var _701 = _this+700;
      FHEAP[_701] = 0;
      var _702 = _this+722;
      IHEAP[_702] = 0;
      var _703 = _this+688;
      var _704 = FHEAP[_703];
      var _705 = _this+692;
      var _706 = FHEAP[_705];
      var _707 = _704 > _706;
      ;
      __ZN17btHingeConstraint9testLimitERK11btTransformS2__exit$_bb_i$15292: do { 
        if (!_707) {
          ;
          var _708 = __Z21btAdjustAngleToLimitsfff(_698, _704, _706);
          FHEAP[_699] = _708;
          var _709 = _708 > _704;
          ;
          if (_709) {
            ;
            var _711 = _708 < _706;
            if (_711) { __label__ = 2805; /* __ZN17btHingeConstraint9testLimitERK11btTransformS2__exit */ break __ZN17btHingeConstraint9testLimitERK11btTransformS2__exit$_bb_i$15292; }
            var _712 = _706 - _708;
            FHEAP[_700] = _712;
            FHEAP[_701] = -1;
            IHEAP[_702] = 1;
            ;
          }
          else {
            ;
            var _710 = _704 - _708;
            FHEAP[_700] = _710;
            FHEAP[_701] = 1;
            IHEAP[_702] = 1;
            ;
          }
        }
      } while(0);
      var _713 = FHEAP[_303];
      var _714 = _713 * _272;
      var _715 = FHEAP[_306];
      var _716 = _715 * _273;
      var _717 = _714 + _716;
      var _718 = FHEAP[_310];
      var _719 = _718 * _274;
      var _720 = _717 + _719;
      var _721 = FHEAP[_314];
      var _722 = _721 * _272;
      var _723 = FHEAP[_317];
      var _724 = _723 * _273;
      var _725 = _722 + _724;
      var _726 = FHEAP[_321];
      var _727 = _726 * _274;
      var _728 = _725 + _727;
      var _729 = FHEAP[_325];
      var _730 = _729 * _272;
      var _731 = FHEAP[_328];
      var _732 = _731 * _273;
      var _733 = _730 + _732;
      var _734 = FHEAP[_332];
      var _735 = _734 * _274;
      var _736 = _733 + _735;
      var _737 = _302+256+8;
      var _738 = FHEAP[_737];
      var _739 = _738 * _736;
      var _740 = _302+256+16+8;
      var _741 = FHEAP[_740];
      var _742 = _741 * _728;
      var _743 = _739 + _742;
      var _744 = _302+256+32+8;
      var _745 = FHEAP[_744];
      var _746 = _745 * _720;
      var _747 = _743 + _746;
      var _748 = _302+256+4;
      var _749 = FHEAP[_748];
      var _750 = _749 * _736;
      var _751 = _302+256+16+4;
      var _752 = FHEAP[_751];
      var _753 = _752 * _728;
      var _754 = _750 + _753;
      var _755 = _302+256+32+4;
      var _756 = FHEAP[_755];
      var _757 = _756 * _720;
      var _758 = _754 + _757;
      var _759 = _302+256;
      var _760 = FHEAP[_759];
      var _761 = _760 * _736;
      var _762 = _302+256+16;
      var _763 = FHEAP[_762];
      var _764 = _763 * _728;
      var _765 = _761 + _764;
      var _766 = _302+256+32;
      var _767 = FHEAP[_766];
      var _768 = _767 * _720;
      var _769 = _765 + _768;
      var _770 = _736 * _769;
      var _771 = _728 * _758;
      var _772 = _770 + _771;
      var _773 = _720 * _747;
      var _774 = _772 + _773;
      var _775 = _367+256+8;
      var _776 = FHEAP[_775];
      var _777 = _776 * _736;
      var _778 = _367+256+16+8;
      var _779 = FHEAP[_778];
      var _780 = _779 * _728;
      var _781 = _777 + _780;
      var _782 = _367+256+32+8;
      var _783 = FHEAP[_782];
      var _784 = _783 * _720;
      var _785 = _781 + _784;
      var _786 = _367+256+4;
      var _787 = FHEAP[_786];
      var _788 = _787 * _736;
      var _789 = _367+256+16+4;
      var _790 = FHEAP[_789];
      var _791 = _790 * _728;
      var _792 = _788 + _791;
      var _793 = _367+256+32+4;
      var _794 = FHEAP[_793];
      var _795 = _794 * _720;
      var _796 = _792 + _795;
      var _797 = _367+256;
      var _798 = FHEAP[_797];
      var _799 = _798 * _736;
      var _800 = _367+256+16;
      var _801 = FHEAP[_800];
      var _802 = _801 * _728;
      var _803 = _799 + _802;
      var _804 = _367+256+32;
      var _805 = FHEAP[_804];
      var _806 = _805 * _720;
      var _807 = _803 + _806;
      var _808 = _736 * _807;
      var _809 = _728 * _796;
      var _810 = _808 + _809;
      var _811 = _720 * _785;
      var _812 = _810 + _811;
      var _813 = _774 + _812;
      var _814 = 1 / _813;
      var _815 = _this+696;
      FHEAP[_815] = _814;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN17btHingeConstraint13buildJacobianEv.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraint13buildJacobianEv, "__ZN17btHingeConstraint13buildJacobianEv");
  
  
  function __ZN17btHingeConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E(_this, _info) {
    ;
    var __label__;
    var _0 = _this+723;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    var _2 = _info;
    ;
    if (_toBool) {
      ;
      IHEAP[_2] = 5;
      var _4 = _info+4;
      IHEAP[_4] = 1;
      var _5 = _this+24;
      var _6 = IHEAP[_5];
      var _7 = _6+4;
      var _8 = _this+20;
      var _9 = IHEAP[_8];
      var _10 = _9+4;
      var _11 = __ZN17btHingeConstraint13getHingeAngleERK11btTransformS2_(_this, _10, _7);
      var _12 = _this+712;
      FHEAP[_12] = _11;
      var _13 = _this+704;
      FHEAP[_13] = 0;
      var _14 = _this+700;
      FHEAP[_14] = 0;
      var _15 = _this+722;
      IHEAP[_15] = 0;
      var _16 = _this+688;
      var _17 = FHEAP[_16];
      var _18 = _this+692;
      var _19 = FHEAP[_18];
      var _20 = _17 > _19;
      ;
      _bb2$_bb_i$15302: do { 
        if (_20) {
          __label__ = 0; /* _bb2 */ 
        }
        else {
          ;
          var _21 = __Z21btAdjustAngleToLimitsfff(_11, _17, _19);
          FHEAP[_12] = _21;
          var _22 = _21 > _17;
          ;
          if (_22) {
            ;
            var _24 = _21 < _19;
            if (_24) { __label__ = 0; /* _bb2 */ break _bb2$_bb_i$15302; }
            var _25 = _19 - _21;
            FHEAP[_13] = _25;
            FHEAP[_14] = -1;
            IHEAP[_15] = 1;
            __label__ = 148; /* _bb8 */ break _bb2$_bb_i$15302;
          }
          else {
            ;
            var _23 = _17 - _21;
            FHEAP[_13] = _23;
            FHEAP[_14] = 1;
            IHEAP[_15] = 1;
            __label__ = 148; /* _bb8 */ break _bb2$_bb_i$15302;
          }
        }
      } while(0);
      _bb2$_bb8$15308: do { 
        if (__label__ == 0) {
          var _26 = _this+721;
          var _27 = IHEAP[_26];
          var _toBool3 = _27 == 0;
          if (!(_toBool3)) { __label__ = 148; /* _bb8 */ break _bb2$_bb8$15308; }
          ;
          return;
        }
      } while(0);
      var _28 = IHEAP[_2];
      var _29 = _28 + 1;
      IHEAP[_2] = _29;
      var _30 = IHEAP[_4];
      var _31 = _30 + -1;
      IHEAP[_4] = _31;
      ;
      return;
    }
    else {
      ;
      IHEAP[_2] = 0;
      var _3 = _info+4;
      IHEAP[_3] = 0;
      ;
      return;
    }
  }
  __ZN17btHingeConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E, "__ZN17btHingeConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E");
  
  
  function __ZN17btHingeConstraint16getInfo2InternalEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_(_this, _info, _transA, _transB, _angVelA, _angVelB) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _pivotAInW = __stackBase__;
    var _pivotBInW = __stackBase__+16;
    var _0 = _info+24;
    var _1 = IHEAP[_0];
    var _2 = _transA+32;
    var _3 = FHEAP[_2];
    var _4 = _this+540+48;
    var _5 = FHEAP[_4];
    var _6 = _3 * _5;
    var _7 = _transA+32+4;
    var _8 = FHEAP[_7];
    var _9 = _this+540+48+4;
    var _10 = FHEAP[_9];
    var _11 = _8 * _10;
    var _12 = _6 + _11;
    var _13 = _transA+32+8;
    var _14 = FHEAP[_13];
    var _15 = _this+540+48+8;
    var _16 = FHEAP[_15];
    var _17 = _14 * _16;
    var _18 = _12 + _17;
    var _19 = _transA+48+8;
    var _20 = FHEAP[_19];
    var _21 = _18 + _20;
    var _22 = _transA+16;
    var _23 = FHEAP[_22];
    var _24 = _23 * _5;
    var _25 = _transA+16+4;
    var _26 = FHEAP[_25];
    var _27 = _26 * _10;
    var _28 = _24 + _27;
    var _29 = _transA+16+8;
    var _30 = FHEAP[_29];
    var _31 = _30 * _16;
    var _32 = _28 + _31;
    var _33 = _transA+48+4;
    var _34 = FHEAP[_33];
    var _35 = _32 + _34;
    var _36 = _transA;
    var _37 = FHEAP[_36];
    var _38 = _37 * _5;
    var _39 = _transA+4;
    var _40 = FHEAP[_39];
    var _41 = _40 * _10;
    var _42 = _38 + _41;
    var _43 = _transA+8;
    var _44 = FHEAP[_43];
    var _45 = _44 * _16;
    var _46 = _42 + _45;
    var _47 = _transA+48;
    var _48 = FHEAP[_47];
    var _49 = _46 + _48;
    var _50 = _this+540+8;
    var _51 = FHEAP[_50];
    var _52 = _51 * _3;
    var _53 = _this+540+16+8;
    var _54 = FHEAP[_53];
    var _55 = _54 * _8;
    var _56 = _52 + _55;
    var _57 = _this+540+32+8;
    var _58 = FHEAP[_57];
    var _59 = _58 * _14;
    var _60 = _56 + _59;
    var _61 = _this+540+4;
    var _62 = FHEAP[_61];
    var _63 = _62 * _3;
    var _64 = _this+540+16+4;
    var _65 = FHEAP[_64];
    var _66 = _65 * _8;
    var _67 = _63 + _66;
    var _68 = _this+540+32+4;
    var _69 = FHEAP[_68];
    var _70 = _69 * _14;
    var _71 = _67 + _70;
    var _72 = _this+540;
    var _73 = FHEAP[_72];
    var _74 = _73 * _3;
    var _75 = _this+540+16;
    var _76 = FHEAP[_75];
    var _77 = _76 * _8;
    var _78 = _74 + _77;
    var _79 = _this+540+32;
    var _80 = FHEAP[_79];
    var _81 = _80 * _14;
    var _82 = _78 + _81;
    var _83 = _51 * _23;
    var _84 = _54 * _26;
    var _85 = _83 + _84;
    var _86 = _58 * _30;
    var _87 = _85 + _86;
    var _88 = _62 * _23;
    var _89 = _65 * _26;
    var _90 = _88 + _89;
    var _91 = _69 * _30;
    var _92 = _90 + _91;
    var _93 = _73 * _23;
    var _94 = _76 * _26;
    var _95 = _93 + _94;
    var _96 = _80 * _30;
    var _97 = _95 + _96;
    var _98 = _51 * _37;
    var _99 = _54 * _40;
    var _100 = _98 + _99;
    var _101 = _58 * _44;
    var _102 = _100 + _101;
    var _103 = _62 * _37;
    var _104 = _65 * _40;
    var _105 = _103 + _104;
    var _106 = _69 * _44;
    var _107 = _105 + _106;
    var _108 = _73 * _37;
    var _109 = _76 * _40;
    var _110 = _108 + _109;
    var _111 = _80 * _44;
    var _112 = _110 + _111;
    var _113 = _transB+32;
    var _114 = FHEAP[_113];
    var _115 = _this+604+48;
    var _116 = FHEAP[_115];
    var _117 = _114 * _116;
    var _118 = _transB+32+4;
    var _119 = FHEAP[_118];
    var _120 = _this+604+48+4;
    var _121 = FHEAP[_120];
    var _122 = _119 * _121;
    var _123 = _117 + _122;
    var _124 = _transB+32+8;
    var _125 = FHEAP[_124];
    var _126 = _this+604+48+8;
    var _127 = FHEAP[_126];
    var _128 = _125 * _127;
    var _129 = _123 + _128;
    var _130 = _transB+48+8;
    var _131 = FHEAP[_130];
    var _132 = _129 + _131;
    var _133 = _transB+16;
    var _134 = FHEAP[_133];
    var _135 = _134 * _116;
    var _136 = _transB+16+4;
    var _137 = FHEAP[_136];
    var _138 = _137 * _121;
    var _139 = _135 + _138;
    var _140 = _transB+16+8;
    var _141 = FHEAP[_140];
    var _142 = _141 * _127;
    var _143 = _139 + _142;
    var _144 = _transB+48+4;
    var _145 = FHEAP[_144];
    var _146 = _143 + _145;
    var _147 = _transB;
    var _148 = FHEAP[_147];
    var _149 = _148 * _116;
    var _150 = _transB+4;
    var _151 = FHEAP[_150];
    var _152 = _151 * _121;
    var _153 = _149 + _152;
    var _154 = _transB+8;
    var _155 = FHEAP[_154];
    var _156 = _155 * _127;
    var _157 = _153 + _156;
    var _158 = _transB+48;
    var _159 = FHEAP[_158];
    var _160 = _157 + _159;
    var _161 = _this+604+8;
    var _162 = FHEAP[_161];
    var _163 = _162 * _114;
    var _164 = _this+604+16+8;
    var _165 = FHEAP[_164];
    var _166 = _165 * _119;
    var _167 = _163 + _166;
    var _168 = _this+604+32+8;
    var _169 = FHEAP[_168];
    var _170 = _169 * _125;
    var _171 = _167 + _170;
    var _172 = _162 * _134;
    var _173 = _165 * _137;
    var _174 = _172 + _173;
    var _175 = _169 * _141;
    var _176 = _174 + _175;
    var _177 = _162 * _148;
    var _178 = _165 * _151;
    var _179 = _177 + _178;
    var _180 = _169 * _155;
    var _181 = _179 + _180;
    var _182 = _pivotAInW;
    FHEAP[_182] = _49;
    var _183 = _pivotAInW+4;
    FHEAP[_183] = _35;
    var _184 = _pivotAInW+8;
    FHEAP[_184] = _21;
    var _185 = _pivotAInW+12;
    FHEAP[_185] = 0;
    var _186 = _pivotBInW;
    FHEAP[_186] = _160;
    var _187 = _pivotBInW+4;
    FHEAP[_187] = _146;
    var _188 = _pivotBInW+8;
    FHEAP[_188] = _132;
    var _189 = _pivotBInW+12;
    FHEAP[_189] = 0;
    var _190 = _this+720;
    var _191 = IHEAP[_190];
    var _toBoolnot = _191 == 0;
    ;
    if (_toBoolnot) {
      __lastLabel__ = -1; ;
      var _192 = _info+8;
      var _193 = IHEAP[_192];
      FHEAP[_193] = 1;
      var _194 = IHEAP[_192];
      var _195 = _1 + 1;
      var _196 = _194+4*_195;
      FHEAP[_196] = 1;
      var _197 = IHEAP[_192];
      var _198 = _1 << 1;
      var _199 = _198 + 2;
      var _200 = _197+4*_199;
      FHEAP[_200] = 1;
      var __pre = FHEAP[_19];
      var __pre115 = FHEAP[_33];
      var __pre116 = FHEAP[_47];
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _201 = __lastLabel__ == 60 ? __pre116 : (_48);
    var _202 = __lastLabel__ == 60 ? __pre115 : (_34);
    var _203 = __lastLabel__ == 60 ? __pre : (_20);
    var _204 = _21 - _203;
    var _205 = _35 - _202;
    var _206 = _49 - _201;
    var _207 = _info+12;
    var _208 = IHEAP[_207];
    var _209 = _208+4*_1;
    var _210 = _1 << 1;
    var _211 = _208+4*_210;
    var _212 = 0 - _204;
    var _213 = 0 - _205;
    var _214 = 0 - _206;
    FHEAP[_208] = 0;
    var _215 = _208+4;
    FHEAP[_215] = _204;
    var _216 = _208+8;
    FHEAP[_216] = _213;
    var _217 = _208+12;
    FHEAP[_217] = 0;
    FHEAP[_209] = _212;
    var __sum = _1 + 1;
    var _218 = _208+4*__sum;
    FHEAP[_218] = 0;
    var __sum99 = _1 + 2;
    var _219 = _208+4*__sum99;
    FHEAP[_219] = _206;
    var __sum100 = _1 + 3;
    var _220 = _208+4*__sum100;
    FHEAP[_220] = 0;
    FHEAP[_211] = _205;
    var __sum101102 = _210 | 1;
    var _221 = _208+4*__sum101102;
    FHEAP[_221] = _214;
    var __sum103 = _210 + 2;
    var _222 = _208+4*__sum103;
    FHEAP[_222] = 0;
    var __sum104 = _210 + 3;
    var _223 = _208+4*__sum104;
    FHEAP[_223] = 0;
    var _224 = FHEAP[_130];
    var _225 = _132 - _224;
    var _226 = FHEAP[_144];
    var _227 = _146 - _226;
    var _228 = FHEAP[_158];
    var _229 = _160 - _228;
    var _230 = _info+20;
    var _231 = IHEAP[_230];
    var _232 = _231+4*_1;
    var _233 = _231+4*_210;
    var _234 = 0 - _225;
    FHEAP[_231] = 0;
    var _235 = _231+4;
    FHEAP[_235] = _234;
    var _236 = _231+8;
    FHEAP[_236] = _227;
    var _237 = _231+12;
    FHEAP[_237] = 0;
    var _238 = 0 - _229;
    FHEAP[_232] = _225;
    var _239 = _231+4*__sum;
    FHEAP[_239] = 0;
    var _240 = _231+4*__sum99;
    FHEAP[_240] = _238;
    var _241 = _231+4*__sum100;
    FHEAP[_241] = 0;
    var _242 = 0 - _227;
    FHEAP[_233] = _242;
    var _243 = _231+4*__sum101102;
    FHEAP[_243] = _229;
    var _244 = _231+4*__sum103;
    FHEAP[_244] = 0;
    var _245 = _231+4*__sum104;
    FHEAP[_245] = 0;
    var _246 = _info;
    var _247 = FHEAP[_246];
    var _248 = _info+4;
    var _249 = FHEAP[_248];
    var _250 = _247 * _249;
    var _251 = IHEAP[_190];
    var _toBool8not = _251 == 0;
    ;
    if (_toBool8not) {
      ;
      var _252 = _info+28;
      var _253 = IHEAP[_252];
      var _254 = _160 - _49;
      var _255 = _254 * _250;
      FHEAP[_253] = _255;
      var _256 = IHEAP[_252];
      var _257 = _146 - _35;
      var _258 = _257 * _250;
      var _scevgep114_1 = _256+4*_1;
      FHEAP[_scevgep114_1] = _258;
      var _259 = IHEAP[_252];
      var _260 = _132 - _21;
      var _261 = _260 * _250;
      var _scevgep114_2 = _259+4*_210;
      FHEAP[_scevgep114_2] = _261;
      ;
    }
    var _262 = IHEAP[_0];
    var _263 = _262 * 3;
    var _264 = _262 << 2;
    var _265 = IHEAP[_207];
    var _266 = _265+4*_263;
    FHEAP[_266] = _112;
    var _267 = IHEAP[_207];
    var _268 = _263 + 1;
    var _269 = _267+4*_268;
    FHEAP[_269] = _97;
    var _270 = IHEAP[_207];
    var _271 = _263 + 2;
    var _272 = _270+4*_271;
    FHEAP[_272] = _82;
    var _273 = IHEAP[_207];
    var _274 = _273+4*_264;
    FHEAP[_274] = _107;
    var _275 = IHEAP[_207];
    var _276 = _264 | 1;
    var _277 = _275+4*_276;
    FHEAP[_277] = _92;
    var _278 = IHEAP[_207];
    var _279 = _264 | 2;
    var _280 = _278+4*_279;
    FHEAP[_280] = _71;
    var _281 = IHEAP[_230];
    var _282 = 0 - _112;
    var _283 = _281+4*_263;
    FHEAP[_283] = _282;
    var _284 = IHEAP[_230];
    var _285 = 0 - _97;
    var _286 = _284+4*_268;
    FHEAP[_286] = _285;
    var _287 = IHEAP[_230];
    var _288 = 0 - _82;
    var _289 = _287+4*_271;
    FHEAP[_289] = _288;
    var _290 = IHEAP[_230];
    var _291 = 0 - _107;
    var _292 = _290+4*_264;
    FHEAP[_292] = _291;
    var _293 = IHEAP[_230];
    var _294 = 0 - _92;
    var _295 = _293+4*_276;
    FHEAP[_295] = _294;
    var _296 = IHEAP[_230];
    var _297 = 0 - _71;
    var _298 = _296+4*_279;
    FHEAP[_298] = _297;
    var _299 = _102 * _176;
    var _300 = _87 * _181;
    var _301 = _299 - _300;
    var _302 = _60 * _181;
    var _303 = _102 * _171;
    var _304 = _302 - _303;
    var _305 = _87 * _171;
    var _306 = _60 * _176;
    var _307 = _305 - _306;
    var _308 = _info+28;
    var _309 = IHEAP[_308];
    var _310 = _307 * _112;
    var _311 = _304 * _97;
    var _312 = _310 + _311;
    var _313 = _301 * _82;
    var _314 = _312 + _313;
    var _315 = _314 * _250;
    var _316 = _309+4*_263;
    FHEAP[_316] = _315;
    var _317 = IHEAP[_308];
    var _318 = _307 * _107;
    var _319 = _304 * _92;
    var _320 = _318 + _319;
    var _321 = _301 * _71;
    var _322 = _320 + _321;
    var _323 = _322 * _250;
    var _324 = _317+4*_264;
    FHEAP[_324] = _323;
    var _325 = _this+722;
    var _326 = IHEAP[_325];
    var _327 = _326 == 0;
    ;
    if (_327) {
      __lastLabel__ = 153; ;
    }
    else {
      __lastLabel__ = 153; ;
      var _328 = _this+704;
      var _329 = FHEAP[_328];
      var _330 = _this+716;
      var _331 = FHEAP[_330];
      var _332 = _329 * _331;
      var _333 = _332 > 0;
      var _iftmp_200_0 = _333 ? 1 : 2;
      __lastLabel__ = 4; ;
    }
    var _limit_err_0 = __lastLabel__ == 4 ? _332 : (0);
    var _limit_0 = __lastLabel__ == 4 ? _iftmp_200_0 : (0);
    var _334 = _this+721;
    var _335 = IHEAP[_334];
    var _not_toBool22 = _335 != 0;
    var _powered_0 = _not_toBool22;
    var _336 = _powered_0 | _limit_0;
    var _337 = _336 == 0;
    ;
    _return$_bb25$15327: do { 
      if (!_337) {
        ;
        var _338 = IHEAP[_0];
        var _339 = _338 * 5;
        var _340 = IHEAP[_207];
        var _341 = _340+4*_339;
        FHEAP[_341] = _102;
        var _342 = IHEAP[_207];
        var _343 = _339 + 1;
        var _344 = _342+4*_343;
        FHEAP[_344] = _87;
        var _345 = IHEAP[_207];
        var _346 = _339 + 2;
        var _347 = _345+4*_346;
        FHEAP[_347] = _60;
        var _348 = IHEAP[_230];
        var _349 = 0 - _102;
        var _350 = _348+4*_339;
        FHEAP[_350] = _349;
        var _351 = IHEAP[_230];
        var _352 = 0 - _87;
        var _353 = _351+4*_343;
        FHEAP[_353] = _352;
        var _354 = IHEAP[_230];
        var _355 = 0 - _60;
        var _356 = _354+4*_346;
        FHEAP[_356] = _355;
        var _357 = _this+688;
        var _358 = FHEAP[_357];
        var _359 = _this+692;
        var _360 = FHEAP[_359];
        var __not = _limit_0 != 0;
        var _361 = _358 == _360;
        var _or_cond = __not & _361;
        var _362 = IHEAP[_308];
        var _363 = _362+4*_339;
        FHEAP[_363] = 0;
        var _364 = _this+732;
        var _365 = IHEAP[_364];
        var _366 = _365 & 2;
        var _367 = _366 == 0;
        ;
        if (_367) {
          __lastLabel__ = 540; ;
        }
        else {
          __lastLabel__ = 540; ;
          var _368 = _this+744;
          __lastLabel__ = 6; ;
        }
        var _iftmp_202_0_in = __lastLabel__ == 6 ? _368 : (_248);
        var _iftmp_202_0 = FHEAP[_iftmp_202_0_in];
        var _369 = _not_toBool22 ^ true;
        var _370 = _or_cond | _369;
        ;
        if (!_370) {
          ;
          var _371 = _365 & 4;
          var _372 = _371 == 0;
          ;
          if (!_372) {
            ;
            var _373 = _info+32;
            var _374 = IHEAP[_373];
            var _375 = _this+736;
            var _376 = FHEAP[_375];
            var _377 = _374+4*_339;
            FHEAP[_377] = _376;
            ;
          }
          var _378 = FHEAP[_246];
          var _379 = _378 * _iftmp_202_0;
          var _380 = _this+668;
          var _381 = FHEAP[_380];
          var _382 = _this+712;
          var _383 = FHEAP[_382];
          var _384 = _this;
          var _385 = __ZN17btTypedConstraint14getMotorFactorEfffff(_384, _383, _358, _360, _381, _379);
          var _386 = IHEAP[_308];
          var _387 = _386+4*_339;
          var _388 = FHEAP[_387];
          var _389 = FHEAP[_380];
          var _390 = _389 * _385;
          var _391 = _this+716;
          var _392 = FHEAP[_391];
          var _393 = _390 * _392;
          var _394 = _388 + _393;
          FHEAP[_387] = _394;
          var _395 = _info+36;
          var _396 = IHEAP[_395];
          var _397 = _this+672;
          var _398 = FHEAP[_397];
          var _399 = 0 - _398;
          var _400 = _396+4*_339;
          FHEAP[_400] = _399;
          var _401 = _info+40;
          var _402 = IHEAP[_401];
          var _403 = FHEAP[_397];
          var _404 = _402+4*_339;
          FHEAP[_404] = _403;
          ;
        }
        var _405 = _limit_0 == 0;
        if (_405) { __label__ = 44; /* _return */ break _return$_bb25$15327; }
        var _406 = FHEAP[_246];
        var _407 = _406 * _iftmp_202_0;
        var _408 = IHEAP[_308];
        var _409 = _408+4*_339;
        var _410 = FHEAP[_409];
        var _411 = _407 * _limit_err_0;
        var _412 = _410 + _411;
        FHEAP[_409] = _412;
        var _413 = IHEAP[_364];
        var _414 = _413 & 1;
        var _toBool37 = _414 == 0;
        ;
        if (!_toBool37) {
          ;
          var _415 = _info+32;
          var _416 = IHEAP[_415];
          var _417 = _this+740;
          var _418 = FHEAP[_417];
          var _419 = _416+4*_339;
          FHEAP[_419] = _418;
          ;
        }
        ;
        if (_361) {
          ;
          var _420 = _info+36;
          var _421 = IHEAP[_420];
          var _422 = _421+4*_339;
          FHEAP[_422] = -3.4028234663852886e+38;
          var _423 = _info+40;
          var _424 = IHEAP[_423];
          var _425 = _424+4*_339;
          FHEAP[_425] = 3.4028234663852886e+38;
          ;
        }
        else {
          ;
          var _426 = _limit_0 == 1;
          var _427 = _info+36;
          var _428 = IHEAP[_427];
          var _429 = _428+4*_339;
          ;
          if (_426) {
            ;
            FHEAP[_429] = 0;
            var _430 = _info+40;
            var _431 = IHEAP[_430];
            var _432 = _431+4*_339;
            FHEAP[_432] = 3.4028234663852886e+38;
            ;
          }
          else {
            ;
            FHEAP[_429] = -3.4028234663852886e+38;
            var _433 = _info+40;
            var _434 = IHEAP[_433];
            var _435 = _434+4*_339;
            FHEAP[_435] = 0;
            ;
          }
        }
        var _436 = _this+684;
        var _437 = FHEAP[_436];
        var _438 = _437 > 0;
        ;
        _bb45$_bb53$15349: do { 
          if (_438) {
            ;
            var _439 = _angVelA;
            var _440 = FHEAP[_439];
            var _441 = _440 * _102;
            var _442 = _angVelA+4;
            var _443 = FHEAP[_442];
            var _444 = _443 * _87;
            var _445 = _441 + _444;
            var _446 = _angVelA+8;
            var _447 = FHEAP[_446];
            var _448 = _447 * _60;
            var _449 = _445 + _448;
            var _450 = _angVelB;
            var _451 = FHEAP[_450];
            var _452 = _451 * _102;
            var _453 = _angVelB+4;
            var _454 = FHEAP[_453];
            var _455 = _454 * _87;
            var _456 = _452 + _455;
            var _457 = _angVelB+8;
            var _458 = FHEAP[_457];
            var _459 = _458 * _60;
            var _460 = _456 + _459;
            var _461 = _449 - _460;
            var _462 = _limit_0 == 1;
            ;
            if (_462) {
              ;
              var _463 = _461 < 0;
              if (!(_463)) { __label__ = 70; /* _bb53 */ break _bb45$_bb53$15349; }
              var _464 = 0 - _437;
              var _465 = _461 * _464;
              var _466 = IHEAP[_308];
              var _467 = _466+4*_339;
              var _468 = FHEAP[_467];
              var _469 = _468 < _465;
              if (!(_469)) { __label__ = 70; /* _bb53 */ break _bb45$_bb53$15349; }
              FHEAP[_467] = _465;
              ;
            }
            else {
              ;
              var _470 = _461 > 0;
              if (!(_470)) { __label__ = 70; /* _bb53 */ break _bb45$_bb53$15349; }
              var _471 = 0 - _437;
              var _472 = _461 * _471;
              var _473 = IHEAP[_308];
              var _474 = _473+4*_339;
              var _475 = FHEAP[_474];
              var _476 = _475 > _472;
              if (!(_476)) { __label__ = 70; /* _bb53 */ break _bb45$_bb53$15349; }
              FHEAP[_474] = _472;
              ;
            }
          }
        } while(0);
        var _477 = IHEAP[_308];
        var _478 = _477+4*_339;
        var _479 = FHEAP[_478];
        var _480 = _this+680;
        var _481 = FHEAP[_480];
        var _482 = _479 * _481;
        FHEAP[_478] = _482;
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN17btHingeConstraint16getInfo2InternalEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraint16getInfo2InternalEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_, "__ZN17btHingeConstraint16getInfo2InternalEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_");
  
  
  function __ZN17btHingeConstraint32getInfo2InternalUsingFrameOffsetEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_(_this, _info, _transA, _transB, _angVelA, _angVelB) {
    var __stackBase__  = STACKTOP; STACKTOP += 80;
    var __label__;
    var __lastLabel__ = null;
    var _ax1 = __stackBase__;
    var _tmpA = __stackBase__+16;
    var _tmpB = __stackBase__+32;
    var _p = __stackBase__+48;
    var _q = __stackBase__+64;
    var _0 = _info+24;
    var _1 = IHEAP[_0];
    var _2 = _transA+32;
    var _3 = FHEAP[_2];
    var _4 = _this+540+48;
    var _5 = FHEAP[_4];
    var _6 = _3 * _5;
    var _7 = _transA+32+4;
    var _8 = FHEAP[_7];
    var _9 = _this+540+48+4;
    var _10 = FHEAP[_9];
    var _11 = _8 * _10;
    var _12 = _6 + _11;
    var _13 = _transA+32+8;
    var _14 = FHEAP[_13];
    var _15 = _this+540+48+8;
    var _16 = FHEAP[_15];
    var _17 = _14 * _16;
    var _18 = _12 + _17;
    var _19 = _transA+48+8;
    var _20 = FHEAP[_19];
    var _21 = _18 + _20;
    var _22 = _transA+16;
    var _23 = FHEAP[_22];
    var _24 = _23 * _5;
    var _25 = _transA+16+4;
    var _26 = FHEAP[_25];
    var _27 = _26 * _10;
    var _28 = _24 + _27;
    var _29 = _transA+16+8;
    var _30 = FHEAP[_29];
    var _31 = _30 * _16;
    var _32 = _28 + _31;
    var _33 = _transA+48+4;
    var _34 = FHEAP[_33];
    var _35 = _32 + _34;
    var _36 = _transA;
    var _37 = FHEAP[_36];
    var _38 = _37 * _5;
    var _39 = _transA+4;
    var _40 = FHEAP[_39];
    var _41 = _40 * _10;
    var _42 = _38 + _41;
    var _43 = _transA+8;
    var _44 = FHEAP[_43];
    var _45 = _44 * _16;
    var _46 = _42 + _45;
    var _47 = _transA+48;
    var _48 = FHEAP[_47];
    var _49 = _46 + _48;
    var _50 = _this+540+8;
    var _51 = FHEAP[_50];
    var _52 = _51 * _3;
    var _53 = _this+540+16+8;
    var _54 = FHEAP[_53];
    var _55 = _54 * _8;
    var _56 = _52 + _55;
    var _57 = _this+540+32+8;
    var _58 = FHEAP[_57];
    var _59 = _58 * _14;
    var _60 = _56 + _59;
    var _61 = _this+540+4;
    var _62 = FHEAP[_61];
    var _63 = _62 * _3;
    var _64 = _this+540+16+4;
    var _65 = FHEAP[_64];
    var _66 = _65 * _8;
    var _67 = _63 + _66;
    var _68 = _this+540+32+4;
    var _69 = FHEAP[_68];
    var _70 = _69 * _14;
    var _71 = _67 + _70;
    var _72 = _51 * _23;
    var _73 = _54 * _26;
    var _74 = _72 + _73;
    var _75 = _58 * _30;
    var _76 = _74 + _75;
    var _77 = _62 * _23;
    var _78 = _65 * _26;
    var _79 = _77 + _78;
    var _80 = _69 * _30;
    var _81 = _79 + _80;
    var _82 = _51 * _37;
    var _83 = _54 * _40;
    var _84 = _82 + _83;
    var _85 = _58 * _44;
    var _86 = _84 + _85;
    var _87 = _62 * _37;
    var _88 = _65 * _40;
    var _89 = _87 + _88;
    var _90 = _69 * _44;
    var _91 = _89 + _90;
    var _92 = _transB+32;
    var _93 = FHEAP[_92];
    var _94 = _this+604+48;
    var _95 = FHEAP[_94];
    var _96 = _93 * _95;
    var _97 = _transB+32+4;
    var _98 = FHEAP[_97];
    var _99 = _this+604+48+4;
    var _100 = FHEAP[_99];
    var _101 = _98 * _100;
    var _102 = _96 + _101;
    var _103 = _transB+32+8;
    var _104 = FHEAP[_103];
    var _105 = _this+604+48+8;
    var _106 = FHEAP[_105];
    var _107 = _104 * _106;
    var _108 = _102 + _107;
    var _109 = _transB+48+8;
    var _110 = FHEAP[_109];
    var _111 = _108 + _110;
    var _112 = _transB+16;
    var _113 = FHEAP[_112];
    var _114 = _113 * _95;
    var _115 = _transB+16+4;
    var _116 = FHEAP[_115];
    var _117 = _116 * _100;
    var _118 = _114 + _117;
    var _119 = _transB+16+8;
    var _120 = FHEAP[_119];
    var _121 = _120 * _106;
    var _122 = _118 + _121;
    var _123 = _transB+48+4;
    var _124 = FHEAP[_123];
    var _125 = _122 + _124;
    var _126 = _transB;
    var _127 = FHEAP[_126];
    var _128 = _127 * _95;
    var _129 = _transB+4;
    var _130 = FHEAP[_129];
    var _131 = _130 * _100;
    var _132 = _128 + _131;
    var _133 = _transB+8;
    var _134 = FHEAP[_133];
    var _135 = _134 * _106;
    var _136 = _132 + _135;
    var _137 = _transB+48;
    var _138 = FHEAP[_137];
    var _139 = _136 + _138;
    var _140 = _this+604+8;
    var _141 = FHEAP[_140];
    var _142 = _141 * _93;
    var _143 = _this+604+16+8;
    var _144 = FHEAP[_143];
    var _145 = _144 * _98;
    var _146 = _142 + _145;
    var _147 = _this+604+32+8;
    var _148 = FHEAP[_147];
    var _149 = _148 * _104;
    var _150 = _146 + _149;
    var _151 = _141 * _113;
    var _152 = _144 * _116;
    var _153 = _151 + _152;
    var _154 = _148 * _120;
    var _155 = _153 + _154;
    var _156 = _141 * _127;
    var _157 = _144 * _130;
    var _158 = _156 + _157;
    var _159 = _148 * _134;
    var _160 = _158 + _159;
    var _161 = _111 - _21;
    var _162 = _125 - _35;
    var _163 = _139 - _49;
    var _164 = _this+20;
    var _165 = IHEAP[_164];
    var _166 = _165+336;
    var _167 = FHEAP[_166];
    var _168 = _this+24;
    var _169 = IHEAP[_168];
    var _170 = _169+336;
    var _171 = FHEAP[_170];
    var _172 = _167 < 1.1920928955078125e-7;
    var _173 = _171 < 1.1920928955078125e-7;
    var _or_cond = _172 | _173;
    var _174 = _167 + _171;
    var _175 = _174 > 0;
    ;
    if (_175) {
      __lastLabel__ = -1; ;
      var _176 = _171 / _174;
      __lastLabel__ = 61; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _storemerge = __lastLabel__ == 61 ? _176 : (0.5);
    var _177 = 1 - _storemerge;
    var _178 = _150 * _177;
    var _179 = _155 * _177;
    var _180 = _160 * _177;
    var _181 = _60 * _storemerge;
    var _182 = _76 * _storemerge;
    var _183 = _86 * _storemerge;
    var _184 = _181 + _178;
    var _185 = _182 + _179;
    var _186 = _183 + _180;
    var _187 = _ax1;
    var _188 = _ax1+4;
    var _189 = _ax1+8;
    var _190 = _ax1+12;
    FHEAP[_190] = 0;
    var _191 = _186 * _186;
    var _192 = _185 * _185;
    var _193 = _191 + _192;
    var _194 = _184 * _184;
    var _195 = _193 + _194;
    var _196 = _sqrtf(_195);
    var _197 = 1 / _196;
    var _198 = _186 * _197;
    FHEAP[_187] = _198;
    var _199 = _185 * _197;
    FHEAP[_188] = _199;
    var _200 = _184 * _197;
    FHEAP[_189] = _200;
    var _201 = _1 << 1;
    var _202 = _111 - _110;
    var _203 = _125 - _124;
    var _204 = _139 - _138;
    var _205 = _204 * _198;
    var _206 = _203 * _199;
    var _207 = _205 + _206;
    var _208 = _202 * _200;
    var _209 = _207 + _208;
    var _210 = _200 * _209;
    var _211 = _199 * _209;
    var _212 = _198 * _209;
    var _213 = _202 - _210;
    var _214 = _203 - _211;
    var _215 = _204 - _212;
    var _216 = _21 - _20;
    var _217 = _35 - _34;
    var _218 = _49 - _48;
    var _219 = _218 * _198;
    var _220 = _217 * _199;
    var _221 = _219 + _220;
    var _222 = _216 * _200;
    var _223 = _221 + _222;
    var _224 = _200 * _223;
    var _225 = _199 * _223;
    var _226 = _198 * _223;
    var _227 = _216 - _224;
    var _228 = _217 - _225;
    var _229 = _218 - _226;
    var _230 = _224 - _210;
    var _231 = _225 - _211;
    var _232 = _226 - _212;
    var _233 = _230 * _storemerge;
    var _234 = _231 * _storemerge;
    var _235 = _232 * _storemerge;
    var _236 = _227 + _233;
    var _237 = _228 + _234;
    var _238 = _229 + _235;
    var _239 = _230 * _177;
    var _240 = _231 * _177;
    var _241 = _232 * _177;
    var _242 = _213 - _239;
    var _243 = _214 - _240;
    var _244 = _215 - _241;
    var _245 = _227 * _177;
    var _246 = _228 * _177;
    var _247 = _229 * _177;
    var _248 = _213 * _storemerge;
    var _249 = _214 * _storemerge;
    var _250 = _215 * _storemerge;
    var _251 = _248 + _245;
    var _252 = _249 + _246;
    var _253 = _250 + _247;
    var _254 = _p;
    FHEAP[_254] = _253;
    var _255 = _p+4;
    FHEAP[_255] = _252;
    var _256 = _p+8;
    FHEAP[_256] = _251;
    var _257 = _p+12;
    FHEAP[_257] = 0;
    var _258 = _253 * _253;
    var _259 = _252 * _252;
    var _260 = _258 + _259;
    var _261 = _251 * _251;
    var _262 = _260 + _261;
    var _263 = _262 > 1.1920928955078125e-7;
    ;
    if (_263) {
      ;
      var _264 = _sqrtf(_262);
      var _265 = 1 / _264;
      var _266 = _253 * _265;
      FHEAP[_254] = _266;
      var _267 = _252 * _265;
      FHEAP[_255] = _267;
      var _268 = _251 * _265;
      FHEAP[_256] = _268;
      __lastLabel__ = 292; ;
    }
    else {
      ;
      FHEAP[_254] = _91;
      FHEAP[_255] = _81;
      FHEAP[_256] = _71;
      FHEAP[_257] = 0;
      __lastLabel__ = 3; ;
    }
    var _269 = __lastLabel__ == 3 ? _71 : (_268);
    var _270 = __lastLabel__ == 3 ? _91 : (_266);
    var _271 = __lastLabel__ == 3 ? _81 : (_267);
    var _272 = _198 * _271;
    var _273 = _199 * _270;
    var _274 = _272 - _273;
    var _275 = _200 * _270;
    var _276 = _198 * _269;
    var _277 = _275 - _276;
    var _278 = _199 * _269;
    var _279 = _200 * _271;
    var _280 = _278 - _279;
    var _281 = _q;
    FHEAP[_281] = _280;
    var _282 = _q+4;
    FHEAP[_282] = _277;
    var _283 = _q+8;
    FHEAP[_283] = _274;
    var _284 = _q+12;
    FHEAP[_284] = 0;
    var _285 = _238 * _271;
    var _286 = _237 * _270;
    var _287 = _285 - _286;
    var _288 = _236 * _270;
    var _289 = _238 * _269;
    var _290 = _288 - _289;
    var _291 = _237 * _269;
    var _292 = _236 * _271;
    var _293 = _291 - _292;
    var _294 = _tmpA;
    var _295 = _tmpA+4;
    FHEAP[_295] = _290;
    var _296 = _tmpA+8;
    FHEAP[_296] = _287;
    var _297 = _tmpA+12;
    var _298 = _244 * _271;
    var _299 = _243 * _270;
    var _300 = _298 - _299;
    var _301 = _242 * _270;
    var _302 = _244 * _269;
    var _303 = _301 - _302;
    var _304 = _243 * _269;
    var _305 = _242 * _271;
    var _306 = _304 - _305;
    var _307 = _tmpB;
    var _308 = _tmpB+4;
    FHEAP[_308] = _303;
    var _309 = _tmpB+8;
    FHEAP[_309] = _300;
    var _310 = _tmpB+12;
    var _311 = _info+12;
    var _312 = IHEAP[_311];
    FHEAP[_312] = _293;
    var _313 = IHEAP[_311];
    var _314 = FHEAP[_295];
    var _scevgep271_1 = _313+4;
    FHEAP[_scevgep271_1] = _314;
    var _315 = IHEAP[_311];
    var _316 = FHEAP[_296];
    var _scevgep271_2 = _315+8;
    FHEAP[_scevgep271_2] = _316;
    var _317 = _info+20;
    var _318 = IHEAP[_317];
    var _319 = 0 - _306;
    FHEAP[_318] = _319;
    var _320 = IHEAP[_317];
    var _321 = FHEAP[_308];
    var _322 = 0 - _321;
    var _scevgep269_1 = _320+4;
    FHEAP[_scevgep269_1] = _322;
    var _323 = IHEAP[_317];
    var _324 = FHEAP[_309];
    var _325 = 0 - _324;
    var _scevgep269_2 = _323+8;
    FHEAP[_scevgep269_2] = _325;
    var _326 = _238 * _277;
    var _327 = _237 * _280;
    var _328 = _326 - _327;
    var _329 = _236 * _280;
    var _330 = _238 * _274;
    var _331 = _329 - _330;
    var _332 = _237 * _274;
    var _333 = _236 * _277;
    var _334 = _332 - _333;
    FHEAP[_294] = _334;
    FHEAP[_295] = _331;
    FHEAP[_296] = _328;
    FHEAP[_297] = 0;
    var _335 = _244 * _277;
    var _336 = _243 * _280;
    var _337 = _335 - _336;
    var _338 = _242 * _280;
    var _339 = _244 * _274;
    var _340 = _338 - _339;
    var _341 = _243 * _274;
    var _342 = _242 * _277;
    var _343 = _341 - _342;
    FHEAP[_307] = _343;
    FHEAP[_308] = _340;
    FHEAP[_309] = _337;
    FHEAP[_310] = 0;
    ;
    _bb29$_bb41$15368: do { 
      if (_or_cond) {
        __lastLabel__ = 419; ;
        var _344 = _this+722;
        var _345 = IHEAP[_344];
        var _346 = _345 == 0;
        if (_346) { __lastLabel__ = 6; __label__ = 253; /* _bb41 */ break _bb29$_bb41$15368; } else { __lastLabel__ = 6; ; }
        var _347 = _343 * _177;
        FHEAP[_307] = _347;
        var _348 = _340 * _177;
        FHEAP[_308] = _348;
        var _349 = _337 * _177;
        FHEAP[_309] = _349;
        var _350 = _334 * _storemerge;
        FHEAP[_294] = _350;
        var _351 = _331 * _storemerge;
        FHEAP[_295] = _351;
        var _352 = _328 * _storemerge;
        FHEAP[_296] = _352;
        __lastLabel__ = 250; ;
      }
      else {
        __lastLabel__ = 419; ;
      }
    } while(0);
    var _353 = __lastLabel__ == 250 ? _350 : (__lastLabel__ == 419 ? _334 : (_334));
    var _354 = __lastLabel__ == 250 ? _351 : (__lastLabel__ == 419 ? _331 : (_331));
    var _355 = __lastLabel__ == 250 ? _352 : (__lastLabel__ == 419 ? _328 : (_328));
    var _356 = __lastLabel__ == 250 ? _347 : (__lastLabel__ == 419 ? _343 : (_343));
    var _357 = __lastLabel__ == 250 ? _348 : (__lastLabel__ == 419 ? _340 : (_340));
    var _358 = __lastLabel__ == 250 ? _349 : (__lastLabel__ == 419 ? _337 : (_337));
    var _359 = _info+12;
    var _360 = IHEAP[_359];
    var _scevgep268 = _360+4*_1;
    FHEAP[_scevgep268] = _353;
    var _tmp267_1 = _1 + 1;
    var _361 = IHEAP[_359];
    var _scevgep268_1 = _361+4*_tmp267_1;
    FHEAP[_scevgep268_1] = _354;
    var _tmp267_2 = _1 + 2;
    var _362 = IHEAP[_359];
    var _scevgep268_2 = _362+4*_tmp267_2;
    FHEAP[_scevgep268_2] = _355;
    var _363 = _info+20;
    var _364 = IHEAP[_363];
    var _365 = 0 - _356;
    var _scevgep265 = _364+4*_1;
    FHEAP[_scevgep265] = _365;
    var _tmp264_1 = _1 + 1;
    var _366 = IHEAP[_363];
    var _367 = 0 - _357;
    var _scevgep265_1 = _366+4*_tmp264_1;
    FHEAP[_scevgep265_1] = _367;
    var _tmp264_2 = _1 + 2;
    var _368 = IHEAP[_363];
    var _369 = 0 - _358;
    var _scevgep265_2 = _368+4*_tmp264_2;
    FHEAP[_scevgep265_2] = _369;
    var _370 = _238 * _199;
    var _371 = _237 * _198;
    var _372 = _370 - _371;
    var _373 = _236 * _198;
    var _374 = _238 * _200;
    var _375 = _373 - _374;
    var _376 = _237 * _200;
    var _377 = _236 * _199;
    var _378 = _376 - _377;
    FHEAP[_294] = _378;
    FHEAP[_295] = _375;
    FHEAP[_296] = _372;
    FHEAP[_297] = 0;
    var _379 = _244 * _199;
    var _380 = _243 * _198;
    var _381 = _379 - _380;
    var _382 = _242 * _198;
    var _383 = _244 * _200;
    var _384 = _382 - _383;
    var _385 = _243 * _200;
    var _386 = _242 * _199;
    var _387 = _385 - _386;
    FHEAP[_307] = _387;
    FHEAP[_308] = _384;
    FHEAP[_309] = _381;
    FHEAP[_310] = 0;
    ;
    if (_or_cond) {
      __lastLabel__ = 253; ;
      var _388 = _387 * _177;
      FHEAP[_307] = _388;
      var _389 = _384 * _177;
      FHEAP[_308] = _389;
      var _390 = _381 * _177;
      FHEAP[_309] = _390;
      var _391 = _378 * _storemerge;
      FHEAP[_294] = _391;
      var _392 = _375 * _storemerge;
      FHEAP[_295] = _392;
      var _393 = _372 * _storemerge;
      FHEAP[_296] = _393;
      __lastLabel__ = 95; ;
    }
    else {
      __lastLabel__ = 253; ;
    }
    var _394 = __lastLabel__ == 95 ? _391 : (_378);
    var _395 = __lastLabel__ == 95 ? _392 : (_375);
    var _396 = __lastLabel__ == 95 ? _393 : (_372);
    var _397 = __lastLabel__ == 95 ? _388 : (_387);
    var _398 = __lastLabel__ == 95 ? _389 : (_384);
    var _399 = __lastLabel__ == 95 ? _390 : (_381);
    var _400 = _info+12;
    var _401 = IHEAP[_400];
    var _scevgep262 = _401+4*_201;
    FHEAP[_scevgep262] = _394;
    var _tmp261_1273 = _201 | 1;
    var _402 = IHEAP[_400];
    var _scevgep262_1 = _402+4*_tmp261_1273;
    FHEAP[_scevgep262_1] = _395;
    var _tmp261_2 = _201 + 2;
    var _403 = IHEAP[_400];
    var _scevgep262_2 = _403+4*_tmp261_2;
    FHEAP[_scevgep262_2] = _396;
    var _404 = _info+20;
    var _405 = IHEAP[_404];
    var _406 = 0 - _397;
    var _scevgep258 = _405+4*_201;
    FHEAP[_scevgep258] = _406;
    var _tmp257_1274 = _201 | 1;
    var _407 = IHEAP[_404];
    var _408 = 0 - _398;
    var _scevgep258_1 = _407+4*_tmp257_1274;
    FHEAP[_scevgep258_1] = _408;
    var _tmp257_2 = _201 + 2;
    var _409 = IHEAP[_404];
    var _410 = 0 - _399;
    var _scevgep258_2 = _409+4*_tmp257_2;
    FHEAP[_scevgep258_2] = _410;
    var _411 = _info;
    var _412 = FHEAP[_411];
    var _413 = _info+4;
    var _414 = FHEAP[_413];
    var _415 = _412 * _414;
    var _416 = _this+720;
    var _417 = IHEAP[_416];
    var _toBool53not = _417 == 0;
    ;
    if (_toBool53not) {
      __lastLabel__ = 478; ;
      var _418 = _info+8;
      var _419 = IHEAP[_418];
      FHEAP[_419] = _270;
      var _420 = IHEAP[_418];
      var _421 = FHEAP[_255];
      var _scevgep253_1 = _420+4;
      FHEAP[_scevgep253_1] = _421;
      var _422 = IHEAP[_418];
      var _scevgep253_2 = _422+8;
      FHEAP[_scevgep253_2] = _269;
      var _423 = _info+8;
      var _424 = IHEAP[_423];
      var _scevgep252 = _424+4*_1;
      FHEAP[_scevgep252] = _280;
      var _tmp251_1 = _1 + 1;
      var _425 = IHEAP[_423];
      var _scevgep252_1 = _425+4*_tmp251_1;
      FHEAP[_scevgep252_1] = _277;
      var _tmp251_2 = _1 + 2;
      var _426 = IHEAP[_423];
      var _scevgep252_2 = _426+4*_tmp251_2;
      FHEAP[_scevgep252_2] = _274;
      var _427 = _info+8;
      var _428 = IHEAP[_427];
      var _scevgep249 = _428+4*_201;
      FHEAP[_scevgep249] = _198;
      var _tmp248_1275 = _201 | 1;
      var _429 = IHEAP[_427];
      var _scevgep249_1 = _429+4*_tmp248_1275;
      FHEAP[_scevgep249_1] = _199;
      var _tmp248_2 = _201 + 2;
      var _430 = IHEAP[_427];
      var _scevgep249_2 = _430+4*_tmp248_2;
      FHEAP[_scevgep249_2] = _200;
      var _431 = _270 * _163;
      var _432 = _421 * _162;
      var _433 = _431 + _432;
      var _434 = _269 * _161;
      var _435 = _433 + _434;
      var _436 = _435 * _415;
      var _437 = _info+28;
      var _438 = IHEAP[_437];
      FHEAP[_438] = _436;
      var _439 = _280 * _163;
      var _440 = _277 * _162;
      var _441 = _439 + _440;
      var _442 = _274 * _161;
      var _443 = _441 + _442;
      var _444 = _443 * _415;
      var _445 = IHEAP[_437];
      var _446 = _445+4*_1;
      FHEAP[_446] = _444;
      var _447 = _198 * _163;
      var _448 = _199 * _162;
      var _449 = _447 + _448;
      var _450 = _200 * _161;
      var _451 = _449 + _450;
      var _452 = _451 * _415;
      var _453 = IHEAP[_437];
      var _454 = _453+4*_201;
      FHEAP[_454] = _452;
      __lastLabel__ = 1032; ;
    }
    else {
      __lastLabel__ = 478; ;
    }
    var _455 = __lastLabel__ == 1032 ? _421 : (_271);
    var _456 = _1 * 3;
    var _457 = _1 << 2;
    var _458 = _info+12;
    var _459 = IHEAP[_458];
    var _460 = _459+4*_456;
    FHEAP[_460] = _270;
    var _461 = IHEAP[_458];
    var _462 = _456 + 1;
    var _463 = _461+4*_462;
    FHEAP[_463] = _455;
    var _464 = IHEAP[_458];
    var _465 = _456 + 2;
    var _466 = _464+4*_465;
    FHEAP[_466] = _269;
    var _467 = IHEAP[_458];
    var _468 = _467+4*_457;
    FHEAP[_468] = _280;
    var _469 = IHEAP[_458];
    var _470 = _457 | 1;
    var _471 = _469+4*_470;
    FHEAP[_471] = _277;
    var _472 = IHEAP[_458];
    var _473 = _457 | 2;
    var _474 = _472+4*_473;
    FHEAP[_474] = _274;
    var _475 = _info+20;
    var _476 = IHEAP[_475];
    var _477 = 0 - _270;
    var _478 = _476+4*_456;
    FHEAP[_478] = _477;
    var _479 = IHEAP[_475];
    var _480 = 0 - _455;
    var _481 = _479+4*_462;
    FHEAP[_481] = _480;
    var _482 = IHEAP[_475];
    var _483 = 0 - _269;
    var _484 = _482+4*_465;
    FHEAP[_484] = _483;
    var _485 = IHEAP[_475];
    var _486 = 0 - _280;
    var _487 = _485+4*_457;
    FHEAP[_487] = _486;
    var _488 = IHEAP[_475];
    var _489 = 0 - _277;
    var _490 = _488+4*_470;
    FHEAP[_490] = _489;
    var _491 = IHEAP[_475];
    var _492 = 0 - _274;
    var _493 = _491+4*_473;
    FHEAP[_493] = _492;
    var _494 = FHEAP[_411];
    var _495 = FHEAP[_413];
    var _496 = _494 * _495;
    var _497 = _86 * _155;
    var _498 = _76 * _160;
    var _499 = _497 - _498;
    var _500 = _60 * _160;
    var _501 = _86 * _150;
    var _502 = _500 - _501;
    var _503 = _76 * _150;
    var _504 = _60 * _155;
    var _505 = _503 - _504;
    var _506 = _info+28;
    var _507 = IHEAP[_506];
    var _508 = _505 * _270;
    var _509 = _502 * _455;
    var _510 = _508 + _509;
    var _511 = _499 * _269;
    var _512 = _510 + _511;
    var _513 = _512 * _496;
    var _514 = _507+4*_456;
    FHEAP[_514] = _513;
    var _515 = IHEAP[_506];
    var _516 = _505 * _280;
    var _517 = _502 * _277;
    var _518 = _516 + _517;
    var _519 = _499 * _274;
    var _520 = _518 + _519;
    var _521 = _520 * _496;
    var _522 = _515+4*_457;
    FHEAP[_522] = _521;
    var _523 = _this+722;
    var _524 = IHEAP[_523];
    var _525 = _524 == 0;
    ;
    if (_525) {
      __lastLabel__ = 72; ;
    }
    else {
      __lastLabel__ = 72; ;
      var _526 = _this+704;
      var _527 = FHEAP[_526];
      var _528 = _this+716;
      var _529 = FHEAP[_528];
      var _530 = _527 * _529;
      var _531 = _530 > 0;
      var _iftmp_209_0 = _531 ? 1 : 2;
      __lastLabel__ = 1034; ;
    }
    var _limit_err_0 = __lastLabel__ == 1034 ? _530 : (0);
    var _limit_0 = __lastLabel__ == 1034 ? _iftmp_209_0 : (0);
    var _532 = _this+721;
    var _533 = IHEAP[_532];
    var _not_toBool75 = _533 != 0;
    var _powered_0 = _not_toBool75;
    var _534 = _powered_0 | _limit_0;
    var _535 = _534 == 0;
    ;
    _return$_bb78$15381: do { 
      if (!_535) {
        ;
        var _536 = IHEAP[_0];
        var _537 = _536 * 5;
        var _538 = IHEAP[_458];
        var _539 = _538+4*_537;
        FHEAP[_539] = _198;
        var _540 = IHEAP[_458];
        var _541 = _537 + 1;
        var _542 = _540+4*_541;
        FHEAP[_542] = _199;
        var _543 = IHEAP[_458];
        var _544 = _537 + 2;
        var _545 = _543+4*_544;
        FHEAP[_545] = _200;
        var _546 = IHEAP[_475];
        var _547 = 0 - _198;
        var _548 = _546+4*_537;
        FHEAP[_548] = _547;
        var _549 = IHEAP[_475];
        var _550 = 0 - _199;
        var _551 = _549+4*_541;
        FHEAP[_551] = _550;
        var _552 = IHEAP[_475];
        var _553 = 0 - _200;
        var _554 = _552+4*_544;
        FHEAP[_554] = _553;
        var _555 = _this+688;
        var _556 = FHEAP[_555];
        var _557 = _this+692;
        var _558 = FHEAP[_557];
        var __not = _limit_0 != 0;
        var _559 = _556 == _558;
        var _or_cond116 = __not & _559;
        var _560 = IHEAP[_506];
        var _561 = _560+4*_537;
        FHEAP[_561] = 0;
        var _562 = _this+732;
        var _563 = IHEAP[_562];
        var _564 = _563 & 2;
        var _565 = _564 == 0;
        ;
        if (_565) {
          __lastLabel__ = 1350; ;
        }
        else {
          __lastLabel__ = 1350; ;
          var _566 = _this+744;
          __lastLabel__ = 1349; ;
        }
        var _iftmp_211_0_in = __lastLabel__ == 1349 ? _566 : (_413);
        var _iftmp_211_0 = FHEAP[_iftmp_211_0_in];
        var _567 = _not_toBool75 ^ true;
        var _568 = _or_cond116 | _567;
        ;
        if (!_568) {
          ;
          var _569 = _563 & 4;
          var _570 = _569 == 0;
          ;
          if (!_570) {
            ;
            var _571 = _info+32;
            var _572 = IHEAP[_571];
            var _573 = _this+736;
            var _574 = FHEAP[_573];
            var _575 = _572+4*_537;
            FHEAP[_575] = _574;
            ;
          }
          var _576 = FHEAP[_411];
          var _577 = _576 * _iftmp_211_0;
          var _578 = _this+668;
          var _579 = FHEAP[_578];
          var _580 = _this+712;
          var _581 = FHEAP[_580];
          var _582 = _this;
          var _583 = __ZN17btTypedConstraint14getMotorFactorEfffff(_582, _581, _556, _558, _579, _577);
          var _584 = IHEAP[_506];
          var _585 = _584+4*_537;
          var _586 = FHEAP[_585];
          var _587 = FHEAP[_578];
          var _588 = _587 * _583;
          var _589 = _this+716;
          var _590 = FHEAP[_589];
          var _591 = _588 * _590;
          var _592 = _586 + _591;
          FHEAP[_585] = _592;
          var _593 = _info+36;
          var _594 = IHEAP[_593];
          var _595 = _this+672;
          var _596 = FHEAP[_595];
          var _597 = 0 - _596;
          var _598 = _594+4*_537;
          FHEAP[_598] = _597;
          var _599 = _info+40;
          var _600 = IHEAP[_599];
          var _601 = FHEAP[_595];
          var _602 = _600+4*_537;
          FHEAP[_602] = _601;
          ;
        }
        var _603 = _limit_0 == 0;
        if (_603) { __label__ = 44; /* _return */ break _return$_bb78$15381; }
        var _604 = FHEAP[_411];
        var _605 = _604 * _iftmp_211_0;
        var _606 = IHEAP[_506];
        var _607 = _606+4*_537;
        var _608 = FHEAP[_607];
        var _609 = _605 * _limit_err_0;
        var _610 = _608 + _609;
        FHEAP[_607] = _610;
        var _611 = IHEAP[_562];
        var _612 = _611 & 1;
        var _toBool95 = _612 == 0;
        ;
        if (!_toBool95) {
          ;
          var _613 = _info+32;
          var _614 = IHEAP[_613];
          var _615 = _this+740;
          var _616 = FHEAP[_615];
          var _617 = _614+4*_537;
          FHEAP[_617] = _616;
          ;
        }
        ;
        if (_559) {
          ;
          var _618 = _info+36;
          var _619 = IHEAP[_618];
          var _620 = _619+4*_537;
          FHEAP[_620] = -3.4028234663852886e+38;
          var _621 = _info+40;
          var _622 = IHEAP[_621];
          var _623 = _622+4*_537;
          FHEAP[_623] = 3.4028234663852886e+38;
          ;
        }
        else {
          ;
          var _624 = _limit_0 == 1;
          var _625 = _info+36;
          var _626 = IHEAP[_625];
          var _627 = _626+4*_537;
          ;
          if (_624) {
            ;
            FHEAP[_627] = 0;
            var _628 = _info+40;
            var _629 = IHEAP[_628];
            var _630 = _629+4*_537;
            FHEAP[_630] = 3.4028234663852886e+38;
            ;
          }
          else {
            ;
            FHEAP[_627] = -3.4028234663852886e+38;
            var _631 = _info+40;
            var _632 = IHEAP[_631];
            var _633 = _632+4*_537;
            FHEAP[_633] = 0;
            ;
          }
        }
        var _634 = _this+684;
        var _635 = FHEAP[_634];
        var _636 = _635 > 0;
        ;
        _bb103$_bb114$15403: do { 
          if (_636) {
            ;
            var _637 = _angVelA;
            var _638 = FHEAP[_637];
            var _639 = _638 * _198;
            var _640 = _angVelA+4;
            var _641 = FHEAP[_640];
            var _642 = _641 * _199;
            var _643 = _639 + _642;
            var _644 = _angVelA+8;
            var _645 = FHEAP[_644];
            var _646 = _645 * _200;
            var _647 = _643 + _646;
            var _648 = _angVelB;
            var _649 = FHEAP[_648];
            var _650 = _649 * _198;
            var _651 = _angVelB+4;
            var _652 = FHEAP[_651];
            var _653 = _652 * _199;
            var _654 = _650 + _653;
            var _655 = _angVelB+8;
            var _656 = FHEAP[_655];
            var _657 = _656 * _200;
            var _658 = _654 + _657;
            var _659 = _647 - _658;
            var _660 = _limit_0 == 1;
            ;
            if (_660) {
              ;
              var _661 = _659 < 0;
              if (!(_661)) { __label__ = 2826; /* _bb114 */ break _bb103$_bb114$15403; }
              var _662 = 0 - _635;
              var _663 = _659 * _662;
              var _664 = IHEAP[_506];
              var _665 = _664+4*_537;
              var _666 = FHEAP[_665];
              var _667 = _666 < _663;
              if (!(_667)) { __label__ = 2826; /* _bb114 */ break _bb103$_bb114$15403; }
              FHEAP[_665] = _663;
              ;
            }
            else {
              ;
              var _668 = _659 > 0;
              if (!(_668)) { __label__ = 2826; /* _bb114 */ break _bb103$_bb114$15403; }
              var _669 = 0 - _635;
              var _670 = _659 * _669;
              var _671 = IHEAP[_506];
              var _672 = _671+4*_537;
              var _673 = FHEAP[_672];
              var _674 = _673 > _670;
              if (!(_674)) { __label__ = 2826; /* _bb114 */ break _bb103$_bb114$15403; }
              FHEAP[_672] = _670;
              ;
            }
          }
        } while(0);
        var _675 = IHEAP[_506];
        var _676 = _675+4*_537;
        var _677 = FHEAP[_676];
        var _678 = _this+680;
        var _679 = FHEAP[_678];
        var _680 = _677 * _679;
        FHEAP[_676] = _680;
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN17btHingeConstraint32getInfo2InternalUsingFrameOffsetEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraint32getInfo2InternalUsingFrameOffsetEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_, "__ZN17btHingeConstraint32getInfo2InternalUsingFrameOffsetEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_");
  
  
  function __ZN17btHingeConstraint13getHingeAngleERK11btTransformS2_(_this, _transA, _transB) {
    ;
    var __label__;
    var _0 = _this+540+32;
    var _1 = _this+540+16;
    var _2 = _this+540;
    var _3 = FHEAP[_2];
    var _4 = FHEAP[_1];
    var _5 = FHEAP[_0];
    var _6 = _transA+32;
    var _7 = FHEAP[_6];
    var _8 = _7 * _3;
    var _9 = _transA+32+4;
    var _10 = FHEAP[_9];
    var _11 = _10 * _4;
    var _12 = _8 + _11;
    var _13 = _transA+32+8;
    var _14 = FHEAP[_13];
    var _15 = _14 * _5;
    var _16 = _12 + _15;
    var _17 = _transA+16;
    var _18 = FHEAP[_17];
    var _19 = _18 * _3;
    var _20 = _transA+16+4;
    var _21 = FHEAP[_20];
    var _22 = _21 * _4;
    var _23 = _19 + _22;
    var _24 = _transA+16+8;
    var _25 = FHEAP[_24];
    var _26 = _25 * _5;
    var _27 = _23 + _26;
    var _28 = _transA;
    var _29 = FHEAP[_28];
    var _30 = _29 * _3;
    var _31 = _transA+4;
    var _32 = FHEAP[_31];
    var _33 = _32 * _4;
    var _34 = _30 + _33;
    var _35 = _transA+8;
    var _36 = FHEAP[_35];
    var _37 = _36 * _5;
    var _38 = _34 + _37;
    var _39 = _this+540+32+4;
    var _40 = _this+540+16+4;
    var _41 = _this+540+4;
    var _42 = FHEAP[_41];
    var _43 = FHEAP[_40];
    var _44 = FHEAP[_39];
    var _45 = _7 * _42;
    var _46 = _10 * _43;
    var _47 = _45 + _46;
    var _48 = _14 * _44;
    var _49 = _47 + _48;
    var _50 = _18 * _42;
    var _51 = _21 * _43;
    var _52 = _50 + _51;
    var _53 = _25 * _44;
    var _54 = _52 + _53;
    var _55 = _29 * _42;
    var _56 = _32 * _43;
    var _57 = _55 + _56;
    var _58 = _36 * _44;
    var _59 = _57 + _58;
    var _60 = _this+604+32+4;
    var _61 = _this+604+16+4;
    var _62 = _this+604+4;
    var _63 = FHEAP[_62];
    var _64 = FHEAP[_61];
    var _65 = FHEAP[_60];
    var _66 = _transB+32;
    var _67 = FHEAP[_66];
    var _68 = _67 * _63;
    var _69 = _transB+32+4;
    var _70 = FHEAP[_69];
    var _71 = _70 * _64;
    var _72 = _68 + _71;
    var _73 = _transB+32+8;
    var _74 = FHEAP[_73];
    var _75 = _74 * _65;
    var _76 = _72 + _75;
    var _77 = _transB+16;
    var _78 = FHEAP[_77];
    var _79 = _78 * _63;
    var _80 = _transB+16+4;
    var _81 = FHEAP[_80];
    var _82 = _81 * _64;
    var _83 = _79 + _82;
    var _84 = _transB+16+8;
    var _85 = FHEAP[_84];
    var _86 = _85 * _65;
    var _87 = _83 + _86;
    var _88 = _transB;
    var _89 = FHEAP[_88];
    var _90 = _89 * _63;
    var _91 = _transB+4;
    var _92 = FHEAP[_91];
    var _93 = _92 * _64;
    var _94 = _90 + _93;
    var _95 = _transB+8;
    var _96 = FHEAP[_95];
    var _97 = _96 * _65;
    var _98 = _94 + _97;
    var _99 = _98 * _59;
    var _100 = _87 * _54;
    var _101 = _99 + _100;
    var _102 = _76 * _49;
    var _103 = _101 + _102;
    var _104 = _98 * _38;
    var _105 = _87 * _27;
    var _106 = _104 + _105;
    var _107 = _76 * _16;
    var _108 = _106 + _107;
    var _109 = _atan2f(_108, _103);
    var _110 = _this+716;
    var _111 = FHEAP[_110];
    var _112 = _111 * _109;
    ;
    return _112;
  }
  __ZN17btHingeConstraint13getHingeAngleERK11btTransformS2_.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraint13getHingeAngleERK11btTransformS2_, "__ZN17btHingeConstraint13getHingeAngleERK11btTransformS2_");
  
  
  function __ZN17btHingeConstraint14setMotorTargetEff(_this, _targetAngle, _dt) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+688;
    var _1 = FHEAP[_0];
    var _2 = _this+692;
    var _3 = FHEAP[_2];
    var _4 = _1 < _3;
    ;
    _bb$_bb4$15416: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 > _targetAngle;
        if (_5) { __lastLabel__ = 60; __label__ = 61; /* _bb4 */ break _bb$_bb4$15416; } else { __lastLabel__ = 60; ; }
        var _6 = _3 < _targetAngle;
        if (_6) { __lastLabel__ = 0; ; } else { __lastLabel__ = 0; __label__ = 61; /* _bb4 */ break _bb$_bb4$15416; }
        __lastLabel__ = 116; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _targetAngle_addr_0 = __lastLabel__ == 116 ? _3 : (__lastLabel__ == 0 ? _targetAngle : (__lastLabel__ == -1 ? _targetAngle : (_1)));
    var _7 = _this+24;
    var _8 = IHEAP[_7];
    var _9 = _8+4;
    var _10 = _this+20;
    var _11 = IHEAP[_10];
    var _12 = _11+4;
    var _13 = __ZN17btHingeConstraint13getHingeAngleERK11btTransformS2_(_this, _12, _9);
    var _14 = _targetAngle_addr_0 - _13;
    var _15 = _14 / _dt;
    var _16 = _this+668;
    FHEAP[_16] = _15;
    ;
    return;
  }
  __ZN17btHingeConstraint14setMotorTargetEff.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraint14setMotorTargetEff, "__ZN17btHingeConstraint14setMotorTargetEff");
  
  
  function __ZN17btHingeConstraint14setMotorTargetERK12btQuaternionf(_this, _qAinB, _dt) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = _this+540;
    __ZNK11btMatrix3x311getRotationER12btQuaternion(_2, _1);
    var _3 = _this+604;
    __ZNK11btMatrix3x311getRotationER12btQuaternion(_3, _0);
    var _4 = _0+12;
    var _5 = _0+8;
    var _6 = FHEAP[_5];
    var _7 = 0 - _6;
    var _8 = _0+4;
    var _9 = FHEAP[_8];
    var _10 = 0 - _9;
    var _11 = _0;
    var _12 = FHEAP[_11];
    var _13 = 0 - _12;
    var _14 = FHEAP[_4];
    var _15 = _qAinB+12;
    var _16 = FHEAP[_15];
    var _17 = _14 * _16;
    var _18 = _qAinB;
    var _19 = FHEAP[_18];
    var _20 = _19 * _13;
    var _21 = _17 - _20;
    var _22 = _qAinB+4;
    var _23 = FHEAP[_22];
    var _24 = _23 * _10;
    var _25 = _21 - _24;
    var _26 = _qAinB+8;
    var _27 = FHEAP[_26];
    var _28 = _27 * _7;
    var _29 = _25 - _28;
    var _30 = _14 * _27;
    var _31 = _16 * _7;
    var _32 = _30 + _31;
    var _33 = _23 * _13;
    var _34 = _32 + _33;
    var _35 = _19 * _10;
    var _36 = _34 - _35;
    var _37 = _14 * _23;
    var _38 = _16 * _10;
    var _39 = _37 + _38;
    var _40 = _19 * _7;
    var _41 = _39 + _40;
    var _42 = _27 * _13;
    var _43 = _41 - _42;
    var _44 = _14 * _19;
    var _45 = _16 * _13;
    var _46 = _44 + _45;
    var _47 = _27 * _10;
    var _48 = _46 + _47;
    var _49 = _23 * _7;
    var _50 = _48 - _49;
    var _51 = _1+12;
    var _52 = FHEAP[_51];
    var _53 = _29 * _52;
    var _54 = _1;
    var _55 = FHEAP[_54];
    var _56 = _50 * _55;
    var _57 = _53 - _56;
    var _58 = _1+4;
    var _59 = FHEAP[_58];
    var _60 = _43 * _59;
    var _61 = _57 - _60;
    var _62 = _1+8;
    var _63 = FHEAP[_62];
    var _64 = _36 * _63;
    var _65 = _61 - _64;
    var _66 = _29 * _63;
    var _67 = _36 * _52;
    var _68 = _66 + _67;
    var _69 = _50 * _59;
    var _70 = _68 + _69;
    var _71 = _43 * _55;
    var _72 = _70 - _71;
    var _73 = _29 * _59;
    var _74 = _43 * _52;
    var _75 = _73 + _74;
    var _76 = _36 * _55;
    var _77 = _75 + _76;
    var _78 = _50 * _63;
    var _79 = _77 - _78;
    var _80 = _29 * _55;
    var _81 = _50 * _52;
    var _82 = _80 + _81;
    var _83 = _43 * _63;
    var _84 = _82 + _83;
    var _85 = _36 * _59;
    var _86 = _84 - _85;
    var _87 = _86 * _86;
    var _88 = _79 * _79;
    var _89 = _87 + _88;
    var _90 = _72 * _72;
    var _91 = _89 + _90;
    var _92 = _65 * _65;
    var _93 = _91 + _92;
    var _94 = _sqrtf(_93);
    var _95 = 1 / _94;
    var _96 = _86 * _95;
    var _97 = _79 * _95;
    var _98 = _72 * _95;
    var _99 = _65 * _95;
    var _100 = 0 - _96;
    var _101 = FHEAP[__ZL6vHinge];
    var _102 = _101 * _100;
    var _103 = FHEAP[__ZL6vHinge+4];
    var _104 = _97 * _103;
    var _105 = _102 - _104;
    var _106 = FHEAP[__ZL6vHinge+8];
    var _107 = _98 * _106;
    var _108 = _105 - _107;
    var _109 = _99 * _106;
    var _110 = _96 * _103;
    var _111 = _109 + _110;
    var _112 = _97 * _101;
    var _113 = _111 - _112;
    var _114 = _99 * _103;
    var _115 = _98 * _101;
    var _116 = _114 + _115;
    var _117 = _96 * _106;
    var _118 = _116 - _117;
    var _119 = _99 * _101;
    var _120 = _97 * _106;
    var _121 = _119 + _120;
    var _122 = _98 * _103;
    var _123 = _121 - _122;
    var _124 = 0 - _98;
    var _125 = 0 - _97;
    var _126 = _108 * _124;
    var _127 = _113 * _99;
    var _128 = _126 + _127;
    var _129 = _123 * _125;
    var _130 = _128 + _129;
    var _131 = _118 * _100;
    var _132 = _130 - _131;
    var _133 = _108 * _125;
    var _134 = _118 * _99;
    var _135 = _133 + _134;
    var _136 = _113 * _100;
    var _137 = _135 + _136;
    var _138 = _123 * _124;
    var _139 = _137 - _138;
    var _140 = _108 * _100;
    var _141 = _123 * _99;
    var _142 = _140 + _141;
    var _143 = _118 * _124;
    var _144 = _142 + _143;
    var _145 = _113 * _125;
    var _146 = _144 - _145;
    var _147 = _146 * _146;
    var _148 = _139 * _139;
    var _149 = _147 + _148;
    var _150 = _132 * _132;
    var _151 = _149 + _150;
    var _152 = _sqrtf(_151);
    var _153 = 1 / _152;
    var _154 = _146 * _153;
    var _155 = _139 * _153;
    var _156 = _132 * _153;
    var _157 = _101 * _154;
    var _158 = _103 * _155;
    var _159 = _157 + _158;
    var _160 = _106 * _156;
    var _161 = _159 + _160;
    var _162 = _161 < -0.9999998807907104;
    ;
    if (_162) {
      ;
      var _163 = _fabsf(_106);
      var _164 = _163 > 0.7071067690849304;
      ;
      if (_164) {
        ;
        var _165 = _103 * _103;
        var _166 = _106 * _106;
        var _167 = _165 + _166;
        var _168 = _sqrtf(_167);
        var _169 = 1 / _168;
        var _170 = 0 - _106;
        var _171 = _169 * _170;
        var _172 = _103 * _169;
        __lastLabel__ = 263; ;
      }
      else {
        ;
        var _173 = _101 * _101;
        var _174 = _103 * _103;
        var _175 = _173 + _174;
        var _176 = _sqrtf(_175);
        var _177 = 1 / _176;
        var _178 = 0 - _103;
        var _179 = _177 * _178;
        var _180 = _101 * _177;
        __lastLabel__ = 265; ;
      }
    }
    else {
      ;
      var _181 = _106 * _155;
      var _182 = _103 * _156;
      var _183 = _101 * _156;
      var _184 = _106 * _154;
      var _185 = _103 * _154;
      var _186 = _101 * _155;
      var _187 = _182 - _181;
      var _188 = _184 - _183;
      var _189 = _186 - _185;
      var _190 = _161 + 1;
      var _191 = _190 * 2;
      var _192 = _sqrtf(_191);
      var _193 = 1 / _192;
      var _194 = _192 * 0.5;
      var _195 = _189 * _193;
      var _196 = _188 * _193;
      var _197 = _187 * _193;
      __lastLabel__ = 159; ;
    }
    var _qNoHinge_0_0_0_0 = __lastLabel__ == 159 ? _197 : (__lastLabel__ == 263 ? 0 : (_179));
    var _qNoHinge_0_0_1_0 = __lastLabel__ == 159 ? _196 : (__lastLabel__ == 263 ? _171 : (_180));
    var _qNoHinge_0_0_2_0 = __lastLabel__ == 159 ? _195 : (__lastLabel__ == 263 ? _172 : (0));
    var _qNoHinge_0_0_3_0 = __lastLabel__ == 159 ? _194 : (__lastLabel__ == 263 ? 0 : (0));
    var _198 = 0 - _qNoHinge_0_0_2_0;
    var _199 = 0 - _qNoHinge_0_0_1_0;
    var _200 = 0 - _qNoHinge_0_0_0_0;
    var _201 = _qNoHinge_0_0_3_0 * _99;
    var _202 = _96 * _200;
    var _203 = _201 - _202;
    var _204 = _97 * _199;
    var _205 = _203 - _204;
    var _206 = _98 * _198;
    var _207 = _205 - _206;
    var _208 = _qNoHinge_0_0_3_0 * _98;
    var _209 = _99 * _198;
    var _210 = _208 + _209;
    var _211 = _97 * _200;
    var _212 = _210 + _211;
    var _213 = _96 * _199;
    var _214 = _212 - _213;
    var _215 = _qNoHinge_0_0_3_0 * _97;
    var _216 = _99 * _199;
    var _217 = _215 + _216;
    var _218 = _96 * _198;
    var _219 = _217 + _218;
    var _220 = _98 * _200;
    var _221 = _219 - _220;
    var _222 = _qNoHinge_0_0_3_0 * _96;
    var _223 = _99 * _200;
    var _224 = _222 + _223;
    var _225 = _98 * _199;
    var _226 = _224 + _225;
    var _227 = _97 * _198;
    var _228 = _226 - _227;
    var _229 = _228 * _228;
    var _230 = _221 * _221;
    var _231 = _229 + _230;
    var _232 = _214 * _214;
    var _233 = _231 + _232;
    var _234 = _207 * _207;
    var _235 = _233 + _234;
    var _236 = _sqrtf(_235);
    var _237 = 1 / _236;
    var _238 = _214 * _237;
    var _239 = _207 * _237;
    var _240 = _239 < -1;
    var _x_addr_0_i_i4 = _240 ? -1 : _239;
    var _241 = _x_addr_0_i_i4 > 1;
    var _x_addr_1_i_i5 = _241 ? 1 : _x_addr_0_i_i4;
    var _242 = _acosf(_x_addr_1_i_i5);
    var _243 = _242 * 2;
    var _244 = _243 > 3.1415927410125732;
    ;
    if (_244) {
      __lastLabel__ = 4094; ;
      var _245 = 0 - _239;
      var _246 = 0 - _238;
      var _247 = _245 < -1;
      var _x_addr_0_i_i = _247 ? -1 : _245;
      var _248 = _x_addr_0_i_i > 1;
      var _x_addr_1_i_i = _248 ? 1 : _x_addr_0_i_i;
      var _249 = _acosf(_x_addr_1_i_i);
      var _250 = _249 * 2;
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = 4094; ;
    }
    var _qHinge_0_0_2_0 = __lastLabel__ == 60 ? _246 : (_238);
    var _targetAngle_0 = __lastLabel__ == 60 ? _250 : (_243);
    var _251 = _qHinge_0_0_2_0 < 0;
    ;
    if (_251) {
      __lastLabel__ = 75; ;
      var _252 = 0 - _targetAngle_0;
      __lastLabel__ = 0; ;
    }
    else {
      __lastLabel__ = 75; ;
    }
    var _targetAngle_1 = __lastLabel__ == 0 ? _252 : (_targetAngle_0);
    var _253 = _this+688;
    var _254 = FHEAP[_253];
    var _255 = _this+692;
    var _256 = FHEAP[_255];
    var _257 = _254 < _256;
    ;
    _bb_i$__ZN17btHingeConstraint14setMotorTargetEff_exit$15435: do { 
      if (_257) {
        __lastLabel__ = 116; ;
        var _258 = _254 > _targetAngle_1;
        if (_258) { __lastLabel__ = 131; __label__ = 2833; /* __ZN17btHingeConstraint14setMotorTargetEff_exit */ break _bb_i$__ZN17btHingeConstraint14setMotorTargetEff_exit$15435; } else { __lastLabel__ = 131; ; }
        var _259 = _256 < _targetAngle_1;
        if (_259) { __lastLabel__ = 132; ; } else { __lastLabel__ = 132; __label__ = 2833; /* __ZN17btHingeConstraint14setMotorTargetEff_exit */ break _bb_i$__ZN17btHingeConstraint14setMotorTargetEff_exit$15435; }
        __lastLabel__ = 133; ;
      }
      else {
        __lastLabel__ = 116; ;
      }
    } while(0);
    var _targetAngle_addr_0_i = __lastLabel__ == 133 ? _256 : (__lastLabel__ == 132 ? _targetAngle_1 : (__lastLabel__ == 116 ? _targetAngle_1 : (_254)));
    var _260 = _this+24;
    var _261 = IHEAP[_260];
    var _262 = _261+4;
    var _263 = _this+20;
    var _264 = IHEAP[_263];
    var _265 = _264+4;
    var _266 = __ZN17btHingeConstraint13getHingeAngleERK11btTransformS2_(_this, _265, _262);
    var _267 = _targetAngle_addr_0_i - _266;
    var _268 = _267 / _dt;
    var _269 = _this+668;
    FHEAP[_269] = _268;
    STACKTOP = __stackBase__;
    return;
  }
  __ZN17btHingeConstraint14setMotorTargetERK12btQuaternionf.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraint14setMotorTargetERK12btQuaternionf, "__ZN17btHingeConstraint14setMotorTargetERK12btQuaternionf");
  
  
  function __ZN17btHingeConstraint9testLimitERK11btTransformS2_(_this, _transA, _transB) {
    ;
    var __label__;
    var _0 = __ZN17btHingeConstraint13getHingeAngleERK11btTransformS2_(_this, _transA, _transB);
    var _1 = _this+712;
    FHEAP[_1] = _0;
    var _2 = _this+704;
    FHEAP[_2] = 0;
    var _3 = _this+700;
    FHEAP[_3] = 0;
    var _4 = _this+722;
    IHEAP[_4] = 0;
    var _5 = _this+688;
    var _6 = FHEAP[_5];
    var _7 = _this+692;
    var _8 = FHEAP[_7];
    var _9 = _6 > _8;
    ;
    _return$_bb$15441: do { 
      if (!_9) {
        ;
        var _10 = __Z21btAdjustAngleToLimitsfff(_0, _6, _8);
        FHEAP[_1] = _10;
        var _11 = _10 > _6;
        ;
        if (_11) {
          ;
          var _13 = _10 < _8;
          if (_13) { __label__ = 44; /* _return */ break _return$_bb$15441; }
          var _14 = _8 - _10;
          FHEAP[_2] = _14;
          FHEAP[_3] = -1;
          IHEAP[_4] = 1;
          ;
          return;
        }
        else {
          ;
          var _12 = _6 - _10;
          FHEAP[_2] = _12;
          FHEAP[_3] = 1;
          IHEAP[_4] = 1;
          ;
          return;
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN17btHingeConstraint9testLimitERK11btTransformS2_.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraint9testLimitERK11btTransformS2_, "__ZN17btHingeConstraint9testLimitERK11btTransformS2_");
  
  
  function __ZN17btHingeConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_(_this, _info, _transA, _transB, _angVelA, _angVelB) {
    ;
    var __label__;
    var _0 = __ZN17btHingeConstraint13getHingeAngleERK11btTransformS2_(_this, _transA, _transB);
    var _1 = _this+712;
    FHEAP[_1] = _0;
    var _2 = _this+704;
    FHEAP[_2] = 0;
    var _3 = _this+700;
    FHEAP[_3] = 0;
    var _4 = _this+722;
    IHEAP[_4] = 0;
    var _5 = _this+688;
    var _6 = FHEAP[_5];
    var _7 = _this+692;
    var _8 = FHEAP[_7];
    var _9 = _6 > _8;
    ;
    __ZN17btHingeConstraint9testLimitERK11btTransformS2__exit$_bb_i$15449: do { 
      if (!_9) {
        ;
        var _10 = __Z21btAdjustAngleToLimitsfff(_0, _6, _8);
        FHEAP[_1] = _10;
        var _11 = _10 > _6;
        ;
        if (_11) {
          ;
          var _13 = _10 < _8;
          if (_13) { __label__ = 2805; /* __ZN17btHingeConstraint9testLimitERK11btTransformS2__exit */ break __ZN17btHingeConstraint9testLimitERK11btTransformS2__exit$_bb_i$15449; }
          var _14 = _8 - _10;
          FHEAP[_2] = _14;
          FHEAP[_3] = -1;
          IHEAP[_4] = 1;
          ;
        }
        else {
          ;
          var _12 = _6 - _10;
          FHEAP[_2] = _12;
          FHEAP[_3] = 1;
          IHEAP[_4] = 1;
          ;
        }
      }
    } while(0);
    __ZN17btHingeConstraint16getInfo2InternalEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_(_this, _info, _transA, _transB, _angVelA, _angVelB);
    ;
    return;
  }
  __ZN17btHingeConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_, "__ZN17btHingeConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_");
  
  
  function __ZN17btHingeConstraint13getHingeAngleEv(_this) {
    ;
    var __label__;
    var _0 = _this+24;
    var _1 = IHEAP[_0];
    var _2 = _1+4;
    var _3 = _this+20;
    var _4 = IHEAP[_3];
    var _5 = _4+4;
    var _6 = __ZN17btHingeConstraint13getHingeAngleERK11btTransformS2_(_this, _5, _2);
    ;
    return _6;
  }
  __ZN17btHingeConstraint13getHingeAngleEv.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraint13getHingeAngleEv, "__ZN17btHingeConstraint13getHingeAngleEv");
  
  
  function __ZN17btHingeConstraintC2ER11btRigidBodyRK9btVector3S4_b(_this, _rbA, _pivotInA, _axisInA, _useReferenceFrameA) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBody(_0, 4, _rbA);
    var _1 = _this;
    IHEAP[_1] = __ZTV17btHingeConstraint+8;
    var _2 = _this+720;
    IHEAP[_2] = 0;
    var _3 = _this+721;
    IHEAP[_3] = 0;
    var _4 = _this+723;
    IHEAP[_4] = 0;
    var _5 = _this+724;
    IHEAP[_5] = 1;
    var _6 = _this+725;
    IHEAP[_6] = _useReferenceFrameA;
    var _7 = _this+732;
    IHEAP[_7] = 0;
    var _8 = _axisInA+8;
    var _9 = FHEAP[_8];
    var _10 = _fabsf(_9);
    var _11 = _10 > 0.7071067690849304;
    ;
    if (_11) {
      ;
      var _12 = _axisInA+4;
      var _13 = FHEAP[_12];
      var _14 = _13 * _13;
      var _15 = _9 * _9;
      var _16 = _14 + _15;
      var _17 = _sqrtf(_16);
      var _18 = 1 / _17;
      var _19 = 0 - _9;
      var _20 = _18 * _19;
      var _21 = _13 * _18;
      var _22 = _16 * _18;
      var _23 = _axisInA;
      var _24 = FHEAP[_23];
      var _25 = 0 - _24;
      var _26 = _21 * _25;
      var _27 = _24 * _20;
      __lastLabel__ = 2694; ;
    }
    else {
      ;
      var _28 = _axisInA;
      var _29 = FHEAP[_28];
      var _30 = _29 * _29;
      var _31 = _axisInA+4;
      var _32 = FHEAP[_31];
      var _33 = _32 * _32;
      var _34 = _30 + _33;
      var _35 = _sqrtf(_34);
      var _36 = 1 / _35;
      var _37 = 0 - _32;
      var _38 = _36 * _37;
      var _39 = _29 * _36;
      var _40 = 0 - _9;
      var _41 = _39 * _40;
      var _42 = _9 * _38;
      var _43 = _34 * _36;
      __lastLabel__ = 2837; ;
    }
    var _rbAxisA2_0_2_0 = __lastLabel__ == 2694 ? _27 : (_43);
    var _rbAxisA2_0_1_0 = __lastLabel__ == 2694 ? _26 : (_42);
    var _rbAxisA2_0_0_0 = __lastLabel__ == 2694 ? _22 : (_41);
    var _rbAxisA1_0_2_0 = __lastLabel__ == 2694 ? _21 : (0);
    var _rbAxisA1_0_1_0 = __lastLabel__ == 2694 ? _20 : (_39);
    var _rbAxisA1_0_0_0 = __lastLabel__ == 2694 ? 0 : (_38);
    var _44 = _this+540+48;
    var _45 = _pivotInA;
    var _46 = FHEAP[_45];
    FHEAP[_44] = _46;
    var _47 = _this+540+48+4;
    var _48 = _pivotInA+4;
    var _49 = FHEAP[_48];
    FHEAP[_47] = _49;
    var _50 = _this+540+48+8;
    var _51 = _pivotInA+8;
    var _52 = FHEAP[_51];
    FHEAP[_50] = _52;
    var _53 = _this+540+48+12;
    var _54 = _pivotInA+12;
    var _55 = FHEAP[_54];
    FHEAP[_53] = _55;
    var _56 = _axisInA+4;
    var _57 = _axisInA;
    var _58 = _this+540;
    FHEAP[_58] = _rbAxisA1_0_0_0;
    var _59 = _this+540+4;
    FHEAP[_59] = _rbAxisA2_0_0_0;
    var _60 = FHEAP[_57];
    var _61 = _this+540+8;
    FHEAP[_61] = _60;
    var _62 = _this+540+12;
    FHEAP[_62] = 0;
    var _63 = _this+540+16;
    FHEAP[_63] = _rbAxisA1_0_1_0;
    var _64 = _this+540+16+4;
    FHEAP[_64] = _rbAxisA2_0_1_0;
    var _65 = FHEAP[_56];
    var _66 = _this+540+16+8;
    FHEAP[_66] = _65;
    var _67 = _this+540+16+12;
    FHEAP[_67] = 0;
    var _68 = _this+540+32;
    FHEAP[_68] = _rbAxisA1_0_2_0;
    var _69 = _this+540+32+4;
    FHEAP[_69] = _rbAxisA2_0_2_0;
    var _70 = FHEAP[_8];
    var _71 = _this+540+32+8;
    FHEAP[_71] = _70;
    var _72 = _this+540+32+12;
    FHEAP[_72] = 0;
    var _73 = _rbA+4+32;
    var _74 = FHEAP[_73];
    var _75 = FHEAP[_57];
    var _76 = _74 * _75;
    var _77 = _rbA+4+32+4;
    var _78 = FHEAP[_77];
    var _79 = FHEAP[_56];
    var _80 = _78 * _79;
    var _81 = _76 + _80;
    var _82 = _rbA+4+32+8;
    var _83 = FHEAP[_82];
    var _84 = FHEAP[_8];
    var _85 = _83 * _84;
    var _86 = _81 + _85;
    var _87 = _rbA+4+16;
    var _88 = FHEAP[_87];
    var _89 = _88 * _75;
    var _90 = _rbA+4+16+4;
    var _91 = FHEAP[_90];
    var _92 = _91 * _79;
    var _93 = _89 + _92;
    var _94 = _rbA+4+16+8;
    var _95 = FHEAP[_94];
    var _96 = _95 * _84;
    var _97 = _93 + _96;
    var _98 = _rbA+4;
    var _99 = FHEAP[_98];
    var _100 = _99 * _75;
    var _101 = _rbA+4+4;
    var _102 = FHEAP[_101];
    var _103 = _102 * _79;
    var _104 = _100 + _103;
    var _105 = _rbA+4+8;
    var _106 = FHEAP[_105];
    var _107 = _106 * _84;
    var _108 = _104 + _107;
    var _109 = _75 * _108;
    var _110 = _79 * _97;
    var _111 = _109 + _110;
    var _112 = _84 * _86;
    var _113 = _111 + _112;
    var _114 = _113 < -0.9999998807907104;
    ;
    if (_114) {
      ;
      var _115 = _fabsf(_84);
      var _116 = _115 > 0.7071067690849304;
      ;
      if (_116) {
        ;
        var _117 = _79 * _79;
        var _118 = _84 * _84;
        var _119 = _117 + _118;
        var _120 = _sqrtf(_119);
        var _121 = 1 / _120;
        var _122 = 0 - _84;
        var _123 = _121 * _122;
        var _124 = _79 * _121;
        __lastLabel__ = 263; ;
      }
      else {
        ;
        var _125 = _75 * _75;
        var _126 = _79 * _79;
        var _127 = _125 + _126;
        var _128 = _sqrtf(_127);
        var _129 = 1 / _128;
        var _130 = 0 - _79;
        var _131 = _129 * _130;
        var _132 = _75 * _129;
        __lastLabel__ = 265; ;
      }
    }
    else {
      ;
      var _133 = _84 * _97;
      var _134 = _79 * _86;
      var _135 = _75 * _86;
      var _136 = _84 * _108;
      var _137 = _79 * _108;
      var _138 = _75 * _97;
      var _139 = _134 - _133;
      var _140 = _136 - _135;
      var _141 = _138 - _137;
      var _142 = _113 + 1;
      var _143 = _142 * 2;
      var _144 = _sqrtf(_143);
      var _145 = 1 / _144;
      var _146 = _144 * 0.5;
      var _147 = _141 * _145;
      var _148 = _140 * _145;
      var _149 = _139 * _145;
      __lastLabel__ = 159; ;
    }
    var _rotationArc_0_0_3_0 = __lastLabel__ == 159 ? _146 : (__lastLabel__ == 265 ? 0 : (0));
    var _rotationArc_0_0_2_0 = __lastLabel__ == 159 ? _147 : (__lastLabel__ == 265 ? 0 : (_124));
    var _rotationArc_0_0_1_0 = __lastLabel__ == 159 ? _148 : (__lastLabel__ == 265 ? _132 : (_123));
    var _rotationArc_0_0_0_0 = __lastLabel__ == 159 ? _149 : (__lastLabel__ == 265 ? _131 : (0));
    var _150 = 0 - _rotationArc_0_0_0_0;
    var _151 = _rbAxisA1_0_0_0 * _150;
    var _152 = _rotationArc_0_0_1_0 * _rbAxisA1_0_1_0;
    var _153 = _151 - _152;
    var _154 = _rotationArc_0_0_2_0 * _rbAxisA1_0_2_0;
    var _155 = _153 - _154;
    var _156 = _rotationArc_0_0_3_0 * _rbAxisA1_0_2_0;
    var _157 = _rotationArc_0_0_0_0 * _rbAxisA1_0_1_0;
    var _158 = _156 + _157;
    var _159 = _rotationArc_0_0_1_0 * _rbAxisA1_0_0_0;
    var _160 = _158 - _159;
    var _161 = _rotationArc_0_0_3_0 * _rbAxisA1_0_1_0;
    var _162 = _rotationArc_0_0_2_0 * _rbAxisA1_0_0_0;
    var _163 = _161 + _162;
    var _164 = _rotationArc_0_0_0_0 * _rbAxisA1_0_2_0;
    var _165 = _163 - _164;
    var _166 = _rotationArc_0_0_3_0 * _rbAxisA1_0_0_0;
    var _167 = _rotationArc_0_0_1_0 * _rbAxisA1_0_2_0;
    var _168 = _166 + _167;
    var _169 = _rotationArc_0_0_2_0 * _rbAxisA1_0_1_0;
    var _170 = _168 - _169;
    var _171 = 0 - _rotationArc_0_0_2_0;
    var _172 = 0 - _rotationArc_0_0_1_0;
    var _173 = _155 * _171;
    var _174 = _160 * _rotationArc_0_0_3_0;
    var _175 = _173 + _174;
    var _176 = _170 * _172;
    var _177 = _175 + _176;
    var _178 = _165 * _150;
    var _179 = _177 - _178;
    var _180 = _155 * _172;
    var _181 = _165 * _rotationArc_0_0_3_0;
    var _182 = _180 + _181;
    var _183 = _160 * _150;
    var _184 = _182 + _183;
    var _185 = _170 * _171;
    var _186 = _184 - _185;
    var _187 = _155 * _150;
    var _188 = _170 * _rotationArc_0_0_3_0;
    var _189 = _187 + _188;
    var _190 = _165 * _171;
    var _191 = _189 + _190;
    var _192 = _160 * _172;
    var _193 = _191 - _192;
    var _194 = _108 * _186;
    var _195 = _97 * _193;
    var _196 = _194 - _195;
    var _197 = _86 * _193;
    var _198 = _108 * _179;
    var _199 = _197 - _198;
    var _200 = _97 * _179;
    var _201 = _86 * _186;
    var _202 = _200 - _201;
    var _203 = FHEAP[_45];
    var _204 = _74 * _203;
    var _205 = FHEAP[_48];
    var _206 = _78 * _205;
    var _207 = _204 + _206;
    var _208 = FHEAP[_51];
    var _209 = _83 * _208;
    var _210 = _207 + _209;
    var _211 = _rbA+4+48+8;
    var _212 = FHEAP[_211];
    var _213 = _210 + _212;
    var _214 = _88 * _203;
    var _215 = _91 * _205;
    var _216 = _214 + _215;
    var _217 = _95 * _208;
    var _218 = _216 + _217;
    var _219 = _rbA+4+48+4;
    var _220 = FHEAP[_219];
    var _221 = _218 + _220;
    var _222 = _99 * _203;
    var _223 = _102 * _205;
    var _224 = _222 + _223;
    var _225 = _106 * _208;
    var _226 = _224 + _225;
    var _227 = _rbA+4+48;
    var _228 = FHEAP[_227];
    var _229 = _226 + _228;
    var _230 = _this+604+48;
    FHEAP[_230] = _229;
    var _231 = _this+604+48+4;
    FHEAP[_231] = _221;
    var _232 = _this+604+48+8;
    FHEAP[_232] = _213;
    var _233 = _this+604+48+12;
    FHEAP[_233] = 0;
    var _234 = _this+604;
    FHEAP[_234] = _193;
    var _235 = _this+604+4;
    FHEAP[_235] = _202;
    var _236 = _this+604+8;
    FHEAP[_236] = _108;
    var _237 = _this+604+12;
    FHEAP[_237] = 0;
    var _238 = _this+604+16;
    FHEAP[_238] = _186;
    var _239 = _this+604+16+4;
    FHEAP[_239] = _199;
    var _240 = _this+604+16+8;
    FHEAP[_240] = _97;
    var _241 = _this+604+16+12;
    FHEAP[_241] = 0;
    var _242 = _this+604+32;
    FHEAP[_242] = _179;
    var _243 = _this+604+32+4;
    FHEAP[_243] = _196;
    var _244 = _this+604+32+8;
    FHEAP[_244] = _86;
    var _245 = _this+604+32+12;
    FHEAP[_245] = 0;
    var _246 = _this+688;
    FHEAP[_246] = 1;
    var _247 = _this+692;
    FHEAP[_247] = -1;
    var _248 = _this+680;
    FHEAP[_248] = 0.30000001192092896;
    var _249 = _this+684;
    FHEAP[_249] = 1;
    var _250 = _this+676;
    FHEAP[_250] = 0.8999999761581421;
    var _251 = _this+722;
    IHEAP[_251] = 0;
    var _toBool = _useReferenceFrameA == 0;
    var _iftmp_178_0 = _toBool ? 1 : -1;
    var _252 = _this+716;
    FHEAP[_252] = _iftmp_178_0;
    ;
    return;
  }
  __ZN17btHingeConstraintC2ER11btRigidBodyRK9btVector3S4_b.__index__ = Runtime.getFunctionIndex(__ZN17btHingeConstraintC2ER11btRigidBodyRK9btVector3S4_b, "__ZN17btHingeConstraintC2ER11btRigidBodyRK9btVector3S4_b");
  
  
  function __ZNK23btPoint2PointConstraint9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = __ZNK17btTypedConstraint9serializeEPvP12btSerializer(_0, _dataBuffer, _serializer);
    var _2 = _dataBuffer+44;
    var _scevgep_i = _this+288;
    var _scevgep4_i = _2;
    var _3 = FHEAP[_scevgep_i];
    FHEAP[_scevgep4_i] = _3;
    var _scevgep_1_i = _this+288+4;
    var _scevgep4_1_i = _dataBuffer+48;
    var _4 = _scevgep4_1_i;
    var _5 = FHEAP[_scevgep_1_i];
    FHEAP[_4] = _5;
    var _scevgep_2_i = _this+288+8;
    var _scevgep4_2_i = _dataBuffer+52;
    var _6 = _scevgep4_2_i;
    var _7 = FHEAP[_scevgep_2_i];
    FHEAP[_6] = _7;
    var _scevgep_3_i = _this+288+12;
    var _scevgep4_3_i = _dataBuffer+56;
    var _8 = _scevgep4_3_i;
    var _9 = FHEAP[_scevgep_3_i];
    FHEAP[_8] = _9;
    var _10 = _dataBuffer+60;
    var _scevgep_i2 = _this+304;
    var _scevgep4_i3 = _10;
    var _11 = FHEAP[_scevgep_i2];
    FHEAP[_scevgep4_i3] = _11;
    var _scevgep_1_i4 = _this+304+4;
    var _scevgep4_1_i5 = _dataBuffer+64;
    var _12 = _scevgep4_1_i5;
    var _13 = FHEAP[_scevgep_1_i4];
    FHEAP[_12] = _13;
    var _scevgep_2_i6 = _this+304+8;
    var _scevgep4_2_i7 = _dataBuffer+68;
    var _14 = _scevgep4_2_i7;
    var _15 = FHEAP[_scevgep_2_i6];
    FHEAP[_14] = _15;
    var _scevgep_3_i8 = _this+304+12;
    var _scevgep4_3_i9 = _dataBuffer+72;
    var _16 = _scevgep4_3_i9;
    var _17 = FHEAP[_scevgep_3_i8];
    FHEAP[_16] = _17;
    ;
    return __str518;
  }
  __ZNK23btPoint2PointConstraint9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK23btPoint2PointConstraint9serializeEPvP12btSerializer, "__ZNK23btPoint2PointConstraint9serializeEPvP12btSerializer");
  
  
  function __ZN35btSequentialImpulseConstraintSolver12getFixedBodyEv() {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = IHEAP[__ZGVZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed];
    var _3 = _2 == 0;
    ;
    _bb$_bb9$15772: do { 
      if (_3) {
        ;
        var _4 = ___cxa_guard_acquire(__ZGVZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed);
        var _5 = _4 == 0;
        if (_5) { __label__ = 62; /* _bb9 */ break _bb$_bb9$15772; }
        var _6 = _1;
        FHEAP[_6] = 0;
        var _7 = _1+4;
        FHEAP[_7] = 0;
        var _8 = _1+8;
        FHEAP[_8] = 0;
        var _9 = _1+12;
        FHEAP[_9] = 0;
        (function() { try { __THREW__ = false; return __ZN11btRigidBodyC1EfP13btMotionStateP16btCollisionShapeRK9btVector3(__ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed, 0, 0, 0, _1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        if (__label__ == 345) {
          ___cxa_guard_release(__ZGVZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed);
          var _10 = ___cxa_atexit(___tcf_026.__index__, 0, ___dso_handle);
          ;
        }
        else if (__label__ == 254) {
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select12 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          ___cxa_guard_abort(__ZGVZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed);
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
      }
    } while(0);
    var _11 = _0;
    FHEAP[_11] = 0;
    var _12 = _0+4;
    FHEAP[_12] = 0;
    var _13 = _0+8;
    FHEAP[_13] = 0;
    var _14 = _0+12;
    FHEAP[_14] = 0;
    __ZN11btRigidBody12setMassPropsEfRK9btVector3(__ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed, 0, _0);
    STACKTOP = __stackBase__;
    return __ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed;
  }
  __ZN35btSequentialImpulseConstraintSolver12getFixedBodyEv.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver12getFixedBodyEv, "__ZN35btSequentialImpulseConstraintSolver12getFixedBodyEv");
  
  
  function ___tcf_026(_unnamed_arg) {
    ;
    var __label__;
    IHEAP[__ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed] = __ZTV11btRigidBody+8;
    var _0 = IHEAP[__ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed+476+12];
    var _1 = _0 == 0;
    ;
    if (!_1) {
      ;
      var _2 = IHEAP[__ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed+476+16];
      var _toBool_i_i_i_i = _2 == 0;
      ;
      _bb2_i_i_i_i$_bb1_i_i_i_i$15782: do { 
        if (!_toBool_i_i_i_i) {
          ;
          var _3 = _0;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_3) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3769; /* _bb2_i_i_i_i */ break _bb2_i_i_i_i$_bb1_i_i_i_i$15782; } else { ; }
          var _eh_ptr_i = _llvm_eh_exception();
          var _eh_select8_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
          (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(__ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3823; /* _invcont1_i */  } else { __label__ = 3824; /* _lpad9_i */  }
          if (__label__ == 3823) {
            __Unwind_Resume_or_Rethrow(_eh_ptr_i);
            // unreachable
          }
          else if (__label__ == 3824) {
            var _eh_ptr10_i = _llvm_eh_exception();
            var _eh_select12_i = _llvm_eh_selector(_eh_ptr10_i, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[__ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed+476+12] = 0;
      ;
    }
    IHEAP[__ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed+476+16] = 1;
    IHEAP[__ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed+476+12] = 0;
    IHEAP[__ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed+476+4] = 0;
    IHEAP[__ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed+476+8] = 0;
    __ZN17btCollisionObjectD2Ev(__ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed);
    ;
    return;
  }
  ___tcf_026.__index__ = Runtime.getFunctionIndex(___tcf_026, "___tcf_026");
  
  
  function __ZN35btSequentialImpulseConstraintSolver23setupFrictionConstraintER18btSolverConstraintRK9btVector3P11btRigidBodyS6_R15btManifoldPointS4_S4_P17btCollisionObjectSA_fff(_this, _solverConstraint, _normalAxis, _solverBodyA, _solverBodyB, _cp, _rel_pos1, _rel_pos2, _colObj0, _colObj1, _relaxation, _desiredVelocity, _cfmSlip) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _colObj0+232;
    var _1 = IHEAP[_0];
    var __lobit_i = _1 & 2;
    var _toBool_i = __lobit_i == 0;
    ;
    if (_toBool_i) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _2 = _colObj0;
      __lastLabel__ = 131; ;
    }
    var _3 = __lastLabel__ == 131 ? _2 : (0);
    var _4 = _colObj1+232;
    var _5 = IHEAP[_4];
    var __lobit_i38 = _5 & 2;
    var _toBool_i39 = __lobit_i38 == 0;
    ;
    if (_toBool_i39) {
      __lastLabel__ = 3289; ;
    }
    else {
      __lastLabel__ = 3289; ;
      var _6 = _colObj1;
      __lastLabel__ = 2387; ;
    }
    var _7 = __lastLabel__ == 2387 ? _6 : (0);
    var _8 = _solverConstraint+16;
    var _9 = _normalAxis;
    var _10 = FHEAP[_9];
    FHEAP[_8] = _10;
    var _11 = _solverConstraint+16+4;
    var _12 = _normalAxis+4;
    var _13 = FHEAP[_12];
    FHEAP[_11] = _13;
    var _14 = _solverConstraint+16+8;
    var _15 = _normalAxis+8;
    var _16 = FHEAP[_15];
    FHEAP[_14] = _16;
    var _17 = _solverConstraint+16+12;
    var _18 = _normalAxis+12;
    var _19 = FHEAP[_18];
    FHEAP[_17] = _19;
    var _20 = _3 == 0;
    ;
    if (_20) {
      __lastLabel__ = 4589; ;
      var _21 = __ZN35btSequentialImpulseConstraintSolver12getFixedBodyEv();
      __lastLabel__ = 60; ;
    }
    else {
      __lastLabel__ = 4589; ;
    }
    var _iftmp_180_0 = __lastLabel__ == 60 ? __ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed : (_3);
    var _22 = _solverConstraint+104;
    IHEAP[_22] = _iftmp_180_0;
    var _23 = _7 == 0;
    ;
    if (_23) {
      __lastLabel__ = 0; ;
      var _24 = __ZN35btSequentialImpulseConstraintSolver12getFixedBodyEv();
      __lastLabel__ = 116; ;
    }
    else {
      __lastLabel__ = 0; ;
    }
    var _iftmp_181_0 = __lastLabel__ == 116 ? __ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed : (_7);
    var _25 = _solverConstraint+108;
    IHEAP[_25] = _iftmp_181_0;
    var _26 = _cp+84;
    var _27 = FHEAP[_26];
    var _28 = _solverConstraint+88;
    FHEAP[_28] = _27;
    var _29 = _solverConstraint+112;
    IHEAP[_29] = 0;
    var _30 = _solverConstraint+84;
    FHEAP[_30] = 0;
    var _31 = _solverConstraint+80;
    FHEAP[_31] = 0;
    var _32 = _rel_pos1;
    var _33 = FHEAP[_32];
    var _34 = FHEAP[_11];
    var _35 = _33 * _34;
    var _36 = _rel_pos1+4;
    var _37 = FHEAP[_36];
    var _38 = FHEAP[_8];
    var _39 = _37 * _38;
    var _40 = _35 - _39;
    var _41 = _rel_pos1+8;
    var _42 = FHEAP[_41];
    var _43 = _42 * _38;
    var _44 = FHEAP[_14];
    var _45 = _33 * _44;
    var _46 = _43 - _45;
    var _47 = _37 * _44;
    var _48 = _42 * _34;
    var _49 = _47 - _48;
    var _50 = _solverConstraint;
    FHEAP[_50] = _49;
    var _51 = _solverConstraint+4;
    FHEAP[_51] = _46;
    var _52 = _solverConstraint+8;
    FHEAP[_52] = _40;
    var _53 = _solverConstraint+12;
    FHEAP[_53] = 0;
    ;
    if (_20) {
      ;
      var _100 = _solverConstraint+48;
      FHEAP[_100] = 0;
      var _101 = _solverConstraint+48+4;
      FHEAP[_101] = 0;
      var _102 = _solverConstraint+48+8;
      FHEAP[_102] = 0;
      var _103 = _solverConstraint+48+12;
      FHEAP[_103] = 0;
      __lastLabel__ = 2; ;
    }
    else {
      ;
      var _54 = _3+256+32;
      var _55 = FHEAP[_54];
      var _56 = _55 * _49;
      var _57 = _3+256+32+4;
      var _58 = FHEAP[_57];
      var _59 = _58 * _46;
      var _60 = _56 + _59;
      var _61 = _3+256+32+8;
      var _62 = FHEAP[_61];
      var _63 = _62 * _40;
      var _64 = _60 + _63;
      var _65 = _3+256+16;
      var _66 = FHEAP[_65];
      var _67 = _66 * _49;
      var _68 = _3+256+16+4;
      var _69 = FHEAP[_68];
      var _70 = _69 * _46;
      var _71 = _67 + _70;
      var _72 = _3+256+16+8;
      var _73 = FHEAP[_72];
      var _74 = _73 * _40;
      var _75 = _71 + _74;
      var _76 = _3+256;
      var _77 = FHEAP[_76];
      var _78 = _77 * _49;
      var _79 = _3+256+4;
      var _80 = FHEAP[_79];
      var _81 = _80 * _46;
      var _82 = _78 + _81;
      var _83 = _3+256+8;
      var _84 = FHEAP[_83];
      var _85 = _84 * _40;
      var _86 = _82 + _85;
      var _87 = _3+536+8;
      var _88 = FHEAP[_87];
      var _89 = _64 * _88;
      var _90 = _3+536+4;
      var _91 = FHEAP[_90];
      var _92 = _75 * _91;
      var _93 = _3+536;
      var _94 = FHEAP[_93];
      var _95 = _86 * _94;
      var _96 = _solverConstraint+48;
      FHEAP[_96] = _95;
      var _97 = _solverConstraint+48+4;
      FHEAP[_97] = _92;
      var _98 = _solverConstraint+48+8;
      FHEAP[_98] = _89;
      var _99 = _solverConstraint+48+12;
      FHEAP[_99] = 0;
      __lastLabel__ = 83; ;
    }
    var _104 = __lastLabel__ == 2 ? 0 : (_89);
    var _105 = __lastLabel__ == 2 ? 0 : (_92);
    var _106 = __lastLabel__ == 2 ? 0 : (_95);
    var _107 = 0 - _44;
    var _108 = 0 - _34;
    var _109 = 0 - _38;
    var _110 = _rel_pos2;
    var _111 = FHEAP[_110];
    var _112 = _111 * _108;
    var _113 = _rel_pos2+4;
    var _114 = FHEAP[_113];
    var _115 = _114 * _109;
    var _116 = _112 - _115;
    var _117 = _rel_pos2+8;
    var _118 = FHEAP[_117];
    var _119 = _118 * _109;
    var _120 = _111 * _107;
    var _121 = _119 - _120;
    var _122 = _114 * _107;
    var _123 = _118 * _108;
    var _124 = _122 - _123;
    var _125 = _solverConstraint+32;
    FHEAP[_125] = _124;
    var _126 = _solverConstraint+32+4;
    FHEAP[_126] = _121;
    var _127 = _solverConstraint+32+8;
    FHEAP[_127] = _116;
    var _128 = _solverConstraint+32+12;
    FHEAP[_128] = 0;
    ;
    if (_23) {
      ;
      var _175 = _solverConstraint+64;
      FHEAP[_175] = 0;
      var _176 = _solverConstraint+64+4;
      FHEAP[_176] = 0;
      var _177 = _solverConstraint+64+8;
      FHEAP[_177] = 0;
      var _178 = _solverConstraint+64+12;
      FHEAP[_178] = 0;
      __lastLabel__ = 108; ;
    }
    else {
      ;
      var _129 = _7+256+32;
      var _130 = FHEAP[_129];
      var _131 = _130 * _124;
      var _132 = _7+256+32+4;
      var _133 = FHEAP[_132];
      var _134 = _133 * _121;
      var _135 = _131 + _134;
      var _136 = _7+256+32+8;
      var _137 = FHEAP[_136];
      var _138 = _137 * _116;
      var _139 = _135 + _138;
      var _140 = _7+256+16;
      var _141 = FHEAP[_140];
      var _142 = _141 * _124;
      var _143 = _7+256+16+4;
      var _144 = FHEAP[_143];
      var _145 = _144 * _121;
      var _146 = _142 + _145;
      var _147 = _7+256+16+8;
      var _148 = FHEAP[_147];
      var _149 = _148 * _116;
      var _150 = _146 + _149;
      var _151 = _7+256;
      var _152 = FHEAP[_151];
      var _153 = _152 * _124;
      var _154 = _7+256+4;
      var _155 = FHEAP[_154];
      var _156 = _155 * _121;
      var _157 = _153 + _156;
      var _158 = _7+256+8;
      var _159 = FHEAP[_158];
      var _160 = _159 * _116;
      var _161 = _157 + _160;
      var _162 = _7+536+8;
      var _163 = FHEAP[_162];
      var _164 = _139 * _163;
      var _165 = _7+536+4;
      var _166 = FHEAP[_165];
      var _167 = _150 * _166;
      var _168 = _7+536;
      var _169 = FHEAP[_168];
      var _170 = _161 * _169;
      var _171 = _solverConstraint+64;
      FHEAP[_171] = _170;
      var _172 = _solverConstraint+64+4;
      FHEAP[_172] = _167;
      var _173 = _solverConstraint+64+8;
      FHEAP[_173] = _164;
      var _174 = _solverConstraint+64+12;
      FHEAP[_174] = 0;
      __lastLabel__ = 292; ;
    }
    var _179 = __lastLabel__ == 108 ? 0 : (_170);
    var _180 = __lastLabel__ == 108 ? 0 : (_167);
    var _181 = __lastLabel__ == 108 ? 0 : (_164);
    ;
    if (_20) {
      __lastLabel__ = 63; ;
    }
    else {
      __lastLabel__ = 63; ;
      var _182 = FHEAP[_36];
      var _183 = _106 * _182;
      var _184 = FHEAP[_32];
      var _185 = _105 * _184;
      var _186 = _183 - _185;
      var _187 = _104 * _184;
      var _188 = FHEAP[_41];
      var _189 = _106 * _188;
      var _190 = _187 - _189;
      var _191 = _105 * _188;
      var _192 = _104 * _182;
      var _193 = _191 - _192;
      var _194 = _3+336;
      var _195 = FHEAP[_194];
      var _196 = FHEAP[_9];
      var _197 = _196 * _193;
      var _198 = FHEAP[_12];
      var _199 = _198 * _190;
      var _200 = _197 + _199;
      var _201 = FHEAP[_15];
      var _202 = _201 * _186;
      var _203 = _200 + _202;
      var _204 = _195 + _203;
      __lastLabel__ = 153; ;
    }
    var _denom0_0 = __lastLabel__ == 153 ? _204 : (0);
    ;
    if (_23) {
      __lastLabel__ = 4; ;
    }
    else {
      __lastLabel__ = 4; ;
      var _205 = 0 - _181;
      var _206 = 0 - _180;
      var _207 = 0 - _179;
      var _208 = FHEAP[_113];
      var _209 = _208 * _207;
      var _210 = FHEAP[_110];
      var _211 = _210 * _206;
      var _212 = _209 - _211;
      var _213 = _210 * _205;
      var _214 = FHEAP[_117];
      var _215 = _214 * _207;
      var _216 = _213 - _215;
      var _217 = _214 * _206;
      var _218 = _208 * _205;
      var _219 = _217 - _218;
      var _220 = _7+336;
      var _221 = FHEAP[_220];
      var _222 = FHEAP[_9];
      var _223 = _222 * _219;
      var _224 = FHEAP[_12];
      var _225 = _224 * _216;
      var _226 = _223 + _225;
      var _227 = FHEAP[_15];
      var _228 = _227 * _212;
      var _229 = _226 + _228;
      var _230 = _221 + _229;
      __lastLabel__ = 86; ;
    }
    var _denom1_0 = __lastLabel__ == 86 ? _230 : (0);
    var _231 = _denom0_0 + _denom1_0;
    var _232 = _relaxation / _231;
    var _233 = _solverConstraint+92;
    FHEAP[_233] = _232;
    ;
    if (_20) {
      ;
      var _234 = _38 * 0;
      var _235 = _34 * 0;
      var _236 = _234 + _235;
      var _237 = _44 * 0;
      var _238 = _236 + _237;
      __lastLabel__ = 2906; ;
    }
    else {
      ;
      var _239 = _3+304;
      var _240 = FHEAP[_239];
      var _241 = _3+304+4;
      var _242 = FHEAP[_241];
      var _243 = _3+304+8;
      var _244 = FHEAP[_243];
      var _245 = _38 * _240;
      var _246 = _34 * _242;
      var _247 = _245 + _246;
      var _248 = _44 * _244;
      var _249 = _247 + _248;
      var _250 = _3+320;
      var _251 = FHEAP[_250];
      var _252 = _3+320+4;
      var _253 = FHEAP[_252];
      var _254 = _3+320+8;
      var _255 = FHEAP[_254];
      __lastLabel__ = 6; ;
    }
    var _256 = __lastLabel__ == 6 ? _249 : (_238);
    var __0_2105_0 = __lastLabel__ == 6 ? _255 : (0);
    var __0_1104_0 = __lastLabel__ == 6 ? _253 : (0);
    var __0_0103_0 = __lastLabel__ == 6 ? _251 : (0);
    var _257 = _49 * __0_0103_0;
    var _258 = _46 * __0_1104_0;
    var _259 = _257 + _258;
    var _260 = _40 * __0_2105_0;
    var _261 = _259 + _260;
    var _262 = _256 + _261;
    ;
    if (_23) {
      ;
      var _263 = _124 * 0;
      var _264 = _121 * 0;
      var _265 = _263 + _264;
      var _266 = _116 * 0;
      var _267 = _265 + _266;
      __lastLabel__ = 2908; ;
    }
    else {
      ;
      var _268 = _7+320;
      var _269 = FHEAP[_268];
      var _270 = _7+320+4;
      var _271 = FHEAP[_270];
      var _272 = _7+320+8;
      var _273 = FHEAP[_272];
      var _274 = _124 * _269;
      var _275 = _121 * _271;
      var _276 = _274 + _275;
      var _277 = _116 * _273;
      var _278 = _276 + _277;
      var _279 = _7+304;
      var _280 = FHEAP[_279];
      var _281 = _7+304+4;
      var _282 = FHEAP[_281];
      var _283 = _7+304+8;
      var _284 = FHEAP[_283];
      __lastLabel__ = 518; ;
    }
    var _285 = __lastLabel__ == 518 ? _278 : (_267);
    var __0_2119_0 = __lastLabel__ == 518 ? _284 : (0);
    var __0_1118_0 = __lastLabel__ == 518 ? _282 : (0);
    var __0_0117_0 = __lastLabel__ == 518 ? _280 : (0);
    var _286 = _38 * __0_0117_0;
    var _287 = _34 * __0_1118_0;
    var _288 = _286 + _287;
    var _289 = _44 * __0_2119_0;
    var _290 = _288 + _289;
    var _291 = _285 - _290;
    var _292 = _262 + _291;
    var _293 = _desiredVelocity - _292;
    var _294 = _232 * _293;
    var _295 = _solverConstraint+116;
    FHEAP[_295] = _294;
    var _296 = _solverConstraint+120;
    FHEAP[_296] = _cfmSlip;
    var _297 = _solverConstraint+124;
    FHEAP[_297] = 0;
    var _298 = _solverConstraint+128;
    FHEAP[_298] = 10000000000;
    ;
    return;
  }
  __ZN35btSequentialImpulseConstraintSolver23setupFrictionConstraintER18btSolverConstraintRK9btVector3P11btRigidBodyS6_R15btManifoldPointS4_S4_P17btCollisionObjectSA_fff.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver23setupFrictionConstraintER18btSolverConstraintRK9btVector3P11btRigidBodyS6_R15btManifoldPointS4_S4_P17btCollisionObjectSA_fff, "__ZN35btSequentialImpulseConstraintSolver23setupFrictionConstraintER18btSolverConstraintRK9btVector3P11btRigidBodyS6_R15btManifoldPointS4_S4_P17btCollisionObjectSA_fff");
  
  
  function __ZN35btSequentialImpulseConstraintSolverD0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV35btSequentialImpulseConstraintSolver+8;
    var _1 = _this+104+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$15826: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+104+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$15828: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$15828; } else { ; }
            var _eh_ptr58 = _llvm_eh_exception();
            var _eh_select60 = _llvm_eh_selector(_eh_ptr58, ___gxx_personality_v0, 0);
            var _59 = _this+84+12;
            var _60 = IHEAP[_59];
            var _61 = _60 == 0;
            ;
            if (!_61) {
              ;
              var _62 = _this+84+16;
              var _63 = IHEAP[_62];
              var _toBool_i_i_i118 = _63 == 0;
              ;
              _bb2_i_i_i121$_bb1_i_i_i120$15833: do { 
                if (!_toBool_i_i_i118) {
                  ;
                  var _64 = _60;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_64) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4000; /* _bb2_i_i_i121 */ break _bb2_i_i_i121$_bb1_i_i_i120$15833; } else { ; }
                  var _eh_ptr62 = _llvm_eh_exception();
                  var _eh_select64 = _llvm_eh_selector(_eh_ptr62, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_59] = 0;
              ;
            }
            var _65 = _this+84+16;
            IHEAP[_65] = 1;
            IHEAP[_59] = 0;
            var _66 = _this+84+4;
            IHEAP[_66] = 0;
            var _67 = _this+84+8;
            IHEAP[_67] = 0;
            __lastLabel__ = 2923; __label__ = 2921; /* _ppad83 */ break _bb3$_bb_i_i_i$15826;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$15826;
      }
    } while(0);
    _bb3$_ppad83$15839: do { 
      if (__label__ == 116) {
        var _7 = _this+104+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+104+4;
        IHEAP[_8] = 0;
        var _9 = _this+104+8;
        IHEAP[_9] = 0;
        var _10 = _this+84+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+84+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i91 = _14 == 0;
          ;
          _bb2_i_i_i94$_bb1_i_i_i93$15843: do { 
            if (!_toBool_i_i_i91) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3996; /* _bb2_i_i_i94 */ break _bb2_i_i_i94$_bb1_i_i_i93$15843; } else { ; }
              var _eh_ptr54 = _llvm_eh_exception();
              var _eh_select56 = _llvm_eh_selector(_eh_ptr54, ___gxx_personality_v0, 0);
              __lastLabel__ = 2920; __label__ = 2921; /* _ppad83 */ break _bb3$_ppad83$15839;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _16 = _this+84+16;
        IHEAP[_16] = 1;
        IHEAP[_10] = 0;
        var _17 = _this+84+4;
        IHEAP[_17] = 0;
        var _18 = _this+84+8;
        IHEAP[_18] = 0;
        var _19 = _this+64+12;
        var _20 = IHEAP[_19];
        var _21 = _20 == 0;
        ;
        if (!_21) {
          ;
          var _22 = _this+64+16;
          var _23 = IHEAP[_22];
          var _toBool_i_i_i96 = _23 == 0;
          ;
          _bb2_i_i_i99$_bb1_i_i_i98$15850: do { 
            if (!_toBool_i_i_i96) {
              ;
              var _24 = _20;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_24) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3997; /* _bb2_i_i_i99 */ break _bb2_i_i_i99$_bb1_i_i_i98$15850; } else { ; }
              var _eh_ptr50 = _llvm_eh_exception();
              var _eh_select52 = _llvm_eh_selector(_eh_ptr50, ___gxx_personality_v0, 0);
              __lastLabel__ = 2918; __label__ = 2919; /* _ppad82 */ break _bb3$_ppad83$15839;
            }
          } while(0);
          IHEAP[_19] = 0;
          ;
        }
        var _25 = _this+64+16;
        IHEAP[_25] = 1;
        IHEAP[_19] = 0;
        var _26 = _this+64+4;
        IHEAP[_26] = 0;
        var _27 = _this+64+8;
        IHEAP[_27] = 0;
        var _28 = _this+44+12;
        var _29 = IHEAP[_28];
        var _30 = _29 == 0;
        ;
        if (!_30) {
          ;
          var _31 = _this+44+16;
          var _32 = IHEAP[_31];
          var _toBool_i_i_i102 = _32 == 0;
          ;
          _bb2_i_i_i105$_bb1_i_i_i104$15857: do { 
            if (!_toBool_i_i_i102) {
              ;
              var _33 = _29;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_33) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3998; /* _bb2_i_i_i105 */ break _bb2_i_i_i105$_bb1_i_i_i104$15857; } else { ; }
              var _eh_ptr46 = _llvm_eh_exception();
              var _eh_select48 = _llvm_eh_selector(_eh_ptr46, ___gxx_personality_v0, 0);
              __lastLabel__ = 2916; __label__ = 2917; /* _ppad81 */ break _bb3$_ppad83$15839;
            }
          } while(0);
          IHEAP[_28] = 0;
          ;
        }
        var _34 = _this+44+16;
        IHEAP[_34] = 1;
        IHEAP[_28] = 0;
        var _35 = _this+44+4;
        IHEAP[_35] = 0;
        var _36 = _this+44+8;
        IHEAP[_36] = 0;
        var _37 = _this+24+12;
        var _38 = IHEAP[_37];
        var _39 = _38 == 0;
        ;
        if (!_39) {
          ;
          var _40 = _this+24+16;
          var _41 = IHEAP[_40];
          var _toBool_i_i_i107 = _41 == 0;
          ;
          _bb2_i_i_i110$_bb1_i_i_i109$15864: do { 
            if (!_toBool_i_i_i107) {
              ;
              var _42 = _38;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_42) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3999; /* _bb2_i_i_i110 */ break _bb2_i_i_i110$_bb1_i_i_i109$15864; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select44 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad83$15839;
            }
          } while(0);
          IHEAP[_37] = 0;
          ;
        }
        var _46 = _this+24+16;
        IHEAP[_46] = 1;
        IHEAP[_37] = 0;
        var _47 = _this+24+4;
        IHEAP[_47] = 0;
        var _48 = _this+24+8;
        IHEAP[_48] = 0;
        var _49 = _this+4+12;
        var _50 = IHEAP[_49];
        var _51 = _50 == 0;
        ;
        if (!_51) {
          ;
          var _52 = _this+4+16;
          var _53 = IHEAP[_52];
          var _toBool_i_i_i113 = _53 == 0;
          ;
          if (!_toBool_i_i_i113) {
            ;
            var _54 = _50;
            __Z21btAlignedFreeInternalPv(_54);
            ;
          }
          IHEAP[_49] = 0;
          ;
        }
        var _55 = _this+4+16;
        IHEAP[_55] = 1;
        IHEAP[_49] = 0;
        var _56 = _this+4+4;
        IHEAP[_56] = 0;
        var _57 = _this+4+8;
        IHEAP[_57] = 0;
        var _58 = _this;
        __ZdlPv(_58);
        ;
        return;
      }
    } while(0);
    _ppad$_ppad81$_ppad82$_ppad83$15875: do { 
      if (__label__ == 2921) {
        var _eh_exception_0 = __lastLabel__ == 2920 ? _eh_ptr54 : (_eh_ptr58);
        var _92 = _this+64+12;
        var _93 = IHEAP[_92];
        var _94 = _93 == 0;
        ;
        if (!_94) {
          ;
          var _95 = _this+64+16;
          var _96 = IHEAP[_95];
          var _toBool_i_i_i142 = _96 == 0;
          ;
          _bb2_i_i_i145$_bb1_i_i_i144$15879: do { 
            if (!_toBool_i_i_i142) {
              ;
              var _97 = _93;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_97) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4005; /* _bb2_i_i_i145 */ break _bb2_i_i_i145$_bb1_i_i_i144$15879; } else { ; }
              var _eh_ptr66 = _llvm_eh_exception();
              var _eh_select68 = _llvm_eh_selector(_eh_ptr66, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_92] = 0;
          ;
        }
        var _98 = _this+64+16;
        IHEAP[_98] = 1;
        IHEAP[_92] = 0;
        var _99 = _this+64+4;
        IHEAP[_99] = 0;
        var _100 = _this+64+8;
        IHEAP[_100] = 0;
        __lastLabel__ = 2931; __label__ = 2919; /* _ppad82 */ break _ppad$_ppad81$_ppad82$_ppad83$15875;
      }
    } while(0);
    _ppad$_ppad81$_ppad82$15884: do { 
      if (__label__ == 2919) {
        var _eh_exception_1 = __lastLabel__ == 2918 ? _eh_ptr50 : (_eh_exception_0);
        var _83 = _this+44+12;
        var _84 = IHEAP[_83];
        var _85 = _84 == 0;
        ;
        if (!_85) {
          ;
          var _86 = _this+44+16;
          var _87 = IHEAP[_86];
          var _toBool_i_i_i136 = _87 == 0;
          ;
          _bb2_i_i_i139$_bb1_i_i_i138$15888: do { 
            if (!_toBool_i_i_i136) {
              ;
              var _88 = _84;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_88) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4004; /* _bb2_i_i_i139 */ break _bb2_i_i_i139$_bb1_i_i_i138$15888; } else { ; }
              var _eh_ptr70 = _llvm_eh_exception();
              var _eh_select72 = _llvm_eh_selector(_eh_ptr70, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_83] = 0;
          ;
        }
        var _89 = _this+44+16;
        IHEAP[_89] = 1;
        IHEAP[_83] = 0;
        var _90 = _this+44+4;
        IHEAP[_90] = 0;
        var _91 = _this+44+8;
        IHEAP[_91] = 0;
        __lastLabel__ = 2929; __label__ = 2917; /* _ppad81 */ break _ppad$_ppad81$_ppad82$15884;
      }
    } while(0);
    if (__label__ == 2917) {
      var _eh_exception_2 = __lastLabel__ == 2916 ? _eh_ptr46 : (_eh_exception_1);
      var _74 = _this+24+12;
      var _75 = IHEAP[_74];
      var _76 = _75 == 0;
      ;
      if (!_76) {
        ;
        var _77 = _this+24+16;
        var _78 = IHEAP[_77];
        var _toBool_i_i_i130 = _78 == 0;
        ;
        _bb2_i_i_i133$_bb1_i_i_i132$15897: do { 
          if (!_toBool_i_i_i130) {
            ;
            var _79 = _75;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_79) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4003; /* _bb2_i_i_i133 */ break _bb2_i_i_i133$_bb1_i_i_i132$15897; } else { ; }
            var _eh_ptr74 = _llvm_eh_exception();
            var _eh_select76 = _llvm_eh_selector(_eh_ptr74, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_74] = 0;
        ;
      }
      var _80 = _this+24+16;
      IHEAP[_80] = 1;
      IHEAP[_74] = 0;
      var _81 = _this+24+4;
      IHEAP[_81] = 0;
      var _82 = _this+24+8;
      IHEAP[_82] = 0;
      __lastLabel__ = 2926; ;
    }
    var _eh_exception_3 = __lastLabel__ == 254 ? _eh_ptr : (_eh_exception_2);
    var _68 = _this+4+12;
    var _69 = IHEAP[_68];
    var _70 = _69 == 0;
    ;
    if (!_70) {
      ;
      var _71 = _this+4+16;
      var _72 = IHEAP[_71];
      var _toBool_i_i_i124 = _72 == 0;
      ;
      _bb2_i_i_i127$_bb1_i_i_i126$15905: do { 
        if (!_toBool_i_i_i124) {
          ;
          var _73 = _69;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_73) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4001; /* _bb2_i_i_i127 */ break _bb2_i_i_i127$_bb1_i_i_i126$15905; } else { ; }
          var _eh_ptr78 = _llvm_eh_exception();
          var _eh_select80 = _llvm_eh_selector(_eh_ptr78, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_68] = 0;
      ;
    }
    var _43 = _this+4+16;
    IHEAP[_43] = 1;
    IHEAP[_68] = 0;
    var _44 = _this+4+4;
    IHEAP[_44] = 0;
    var _45 = _this+4+8;
    IHEAP[_45] = 0;
    __Unwind_Resume_or_Rethrow(_eh_exception_3);
    // unreachable
  }
  __ZN35btSequentialImpulseConstraintSolverD0Ev.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolverD0Ev, "__ZN35btSequentialImpulseConstraintSolverD0Ev");
  
  
  function __ZN35btSequentialImpulseConstraintSolver10solveGroupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAllocP12btDispatcher(_this, _bodies, _numBodies, _manifoldPtr, _numManifolds, _constraints, _numConstraints, _infoGlobal, _debugDrawer, _stackAlloc, _unnamed_arg) {
    ;
    var __label__;
    __ZN15CProfileManager13Start_ProfileEPKc(__str619);
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1+32;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_4](_this, _bodies, _numBodies, _manifoldPtr, _numManifolds, _constraints, _numConstraints, _infoGlobal, _debugDrawer, _stackAlloc) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
    _invcont$_lpad$15912: do { 
      if (__label__ == 345) {
        var _6 = IHEAP[_0];
        var _7 = _6+36;
        var _8 = IHEAP[_7];
        var _9 = _8;
        var _10 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_9](_this, _bodies, _numBodies, _manifoldPtr, _numManifolds, _constraints, _numConstraints, _infoGlobal, _debugDrawer, _stackAlloc) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$15912; };
        var _11 = IHEAP[_0];
        var _12 = _11+28;
        var _13 = IHEAP[_12];
        var _14 = _13;
        var _15 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_14](_this, _bodies, _numBodies, _manifoldPtr, _numManifolds, _constraints, _numConstraints, _infoGlobal, _debugDrawer, _stackAlloc) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$15912; };
        __ZN15CProfileManager12Stop_ProfileEv();
        ;
        return 0;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select7 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 4006; /* _lpad8 */  }
    if (__label__ == 759) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 4006) {
      var _eh_ptr9 = _llvm_eh_exception();
      var _eh_select11 = _llvm_eh_selector(_eh_ptr9, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN35btSequentialImpulseConstraintSolver10solveGroupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAllocP12btDispatcher.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver10solveGroupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAllocP12btDispatcher, "__ZN35btSequentialImpulseConstraintSolver10solveGroupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAllocP12btDispatcher");
  
  
  function __ZN35btSequentialImpulseConstraintSolver28solveGroupCacheFriendlySetupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc(_this, _bodies, _numBodies, _manifoldPtr, _numManifolds, _constraints, _numConstraints, _infoGlobal, _debugDrawer, _stackAlloc) {
    var __stackBase__  = STACKTOP; STACKTOP += 202;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+1;
    var _2 = __stackBase__+2;
    var _3 = __stackBase__+138;
    var _info2 = __stackBase__+146;
    __ZN15CProfileManager13Start_ProfileEPKc(__str28);
    var _4 = 0 - _numManifolds;
    var _5 = _numConstraints == _4;
    ;
    _bb77$_bb1$15993: do { 
      if (!_5) {
        ;
        var _6 = _infoGlobal+44;
        var _7 = IHEAP[_6];
        var _8 = _7 == 0;
        var _9 = _numBodies > 0;
        ;
        _bb13_preheader$_bb6_preheader$15995: do { 
          if (_8) {
            ;
            if (_9) { __lastLabel__ = 2875; ; } else { __lastLabel__ = 2875; __label__ = 154; /* _bb16 */ break _bb13_preheader$_bb6_preheader$15995; }
            _bb9$15997: while(1) { // _bb9
              var _i8_0181 = __lastLabel__ == 3 ? _41 : (0);
              var _scevgep253 = _bodies+4*_i8_0181;
              var _27 = IHEAP[_scevgep253];
              var _28 = _27+232;
              var _29 = IHEAP[_28];
              var __lobit_i108 = _29 & 2;
              var _toBool_i109 = __lobit_i108 == 0;
              var _30 = _27 == 0;
              var _or_cond167 = _toBool_i109 | _30;
              ;
              if (!_or_cond167) {
                ;
                var _31 = _27+256+248;
                FHEAP[_31] = 0;
                var _32 = _27+256+252;
                var _33 = _32;
                FHEAP[_33] = 0;
                var _34 = _27+512;
                var _35 = _34;
                FHEAP[_35] = 0;
                var _36 = _27+512+4;
                FHEAP[_36] = 0;
                var _37 = _27+512+4+4;
                FHEAP[_37] = 0;
                var _38 = _27+512+4+8;
                FHEAP[_38] = 0;
                var _39 = _27+512+4+12;
                FHEAP[_39] = 0;
                var _40 = _27+512+4+16;
                FHEAP[_40] = 0;
                ;
              }
              var _41 = _i8_0181 + 1;
              var _exitcond252 = _41 == _numBodies;
              if (_exitcond252) { __lastLabel__ = 3; __label__ = 154; /* _bb16 */ break _bb13_preheader$_bb6_preheader$15995; } else { __lastLabel__ = 3; __label__ = 62; /* _bb9 */ continue _bb9$15997; }
            }
          }
          else {
            ;
            if (_9) { __lastLabel__ = 1257; ; } else { __lastLabel__ = 1257; __label__ = 154; /* _bb16 */ break _bb13_preheader$_bb6_preheader$15995; }
            _bb3$16003: while(1) { // _bb3
              var _i_0168 = __lastLabel__ == 82 ? _26 : (0);
              var _scevgep = _bodies+4*_i_0168;
              var _10 = IHEAP[_scevgep];
              var _11 = _10+232;
              var _12 = IHEAP[_11];
              var __lobit_i = _12 & 2;
              var _toBool_i = __lobit_i == 0;
              var _13 = _10 == 0;
              var _or_cond = _toBool_i | _13;
              ;
              if (!_or_cond) {
                ;
                var _14 = _10+256+248;
                FHEAP[_14] = 0;
                var _15 = _10+256+252;
                var _16 = _15;
                FHEAP[_16] = 0;
                var _17 = _10+512;
                var _18 = _17;
                FHEAP[_18] = 0;
                var _19 = _10+512+4;
                FHEAP[_19] = 0;
                var _20 = _10+512+4+4;
                FHEAP[_20] = 0;
                var _21 = _10+512+4+8;
                FHEAP[_21] = 0;
                var _22 = _10+512+4+12;
                FHEAP[_22] = 0;
                var _23 = _10+512+4+16;
                FHEAP[_23] = 0;
                var _24 = _10+512+4+48+4;
                var _25 = _24;
                _llvm_memset_p0i8_i64(_25, 0, 32, 4, false);
                ;
              }
              var _26 = _i_0168 + 1;
              var _exitcond = _26 == _numBodies;
              if (_exitcond) { __lastLabel__ = 82; __label__ = 154; /* _bb16 */ break _bb13_preheader$_bb6_preheader$15995; } else { __lastLabel__ = 82; __label__ = 116; /* _bb3 */ continue _bb3$16003; }
            }
          }
        } while(0);
        _bb16$16008: while(1) { // _bb16
          var _49 = __lastLabel__ == 345 ? _48 : (__lastLabel__ == 2875 ? 0 : (__lastLabel__ == 3 ? 0 : (__lastLabel__ == 1257 ? 0 : (0))));
          var _50 = _49 < _numConstraints;
          if (!(_50)) { __label__ = 4; /* _bb17 */ break _bb16$16008; }
          var _scevgep251 = _constraints+4*_49;
          var _42 = IHEAP[_scevgep251];
          var _43 = _42;
          var _44 = IHEAP[_43];
          var _45 = _44+8;
          var _46 = IHEAP[_45];
          var _47 = _46;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_47](_42) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb16$16008; }
          var _48 = _49 + 1;
          __lastLabel__ = 345; __label__ = 154; /* _bb16 */ continue _bb16$16008;
        }
        _bb17$_lpad$16012: do { 
          if (__label__ == 4) {
            var _51 = _3;
            IHEAP[_51] = 0;
            var _52 = _3+4;
            IHEAP[_52] = 0;
            var _53 = _this+104;
            (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIN17btTypedConstraint17btConstraintInfo1EE6resizeEiRKS1_(_53, _numConstraints, _3) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb17$_lpad$16012; }
            var _54 = _this+104+12;
            __lastLabel__ = 2956; ;
            _bb22$16015: while(1) { // _bb22
              var _totalNumRows_0 = __lastLabel__ == 2957 ? _63 : (0);
              var _65 = __lastLabel__ == 2957 ? _64 : (0);
              var _66 = _65 < _numConstraints;
              if (!(_66)) { __label__ = 419; /* _bb23 */ break _bb22$16015; }
              var _scevgep250 = _constraints+4*_65;
              var _55 = IHEAP[_54];
              var _56 = IHEAP[_scevgep250];
              var _57 = _56;
              var _58 = IHEAP[_57];
              var _59 = _58+16;
              var _60 = IHEAP[_59];
              var _61 = _60;
              var _scevgep249 = _55+8*_65;
              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_61](_56, _scevgep249) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb17$_lpad$16012; }
              var _scevgep247248 = _55+8*_65;
              var _62 = IHEAP[_scevgep247248];
              var _63 = _62 + _totalNumRows_0;
              var _64 = _65 + 1;
              __lastLabel__ = 2957; __label__ = 5; /* _bb22 */ continue _bb22$16015;
            }
            var _67 = _this+24+4;
            var _68 = IHEAP[_67];
            var _69 = _68 > _totalNumRows_0;
            ;
            __ZN20btAlignedObjectArrayI18btSolverConstraintE6resizeEiRKS0__exit$_bb3_i$16020: do { 
              if (!_69) {
                ;
                var _70 = _68 < _totalNumRows_0;
                if (!(_70)) { __label__ = 2953; /* __ZN20btAlignedObjectArrayI18btSolverConstraintE6resizeEiRKS0__exit */ break __ZN20btAlignedObjectArrayI18btSolverConstraintE6resizeEiRKS0__exit$_bb3_i$16020; }
                var _71 = _this+24+8;
                var _72 = IHEAP[_71];
                var _73 = _72 < _totalNumRows_0;
                ;
                if (_73) {
                  ;
                  var _74 = _totalNumRows_0 == 0;
                  ;
                  if (_74) {
                    __lastLabel__ = 263; ;
                  }
                  else {
                    __lastLabel__ = 263; ;
                    var _75 = _totalNumRows_0 * 136;
                    var _76 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_75, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb17$_lpad$16012; };
                    var _phitmp_i_i = _76;
                    var __pre_i = IHEAP[_67];
                    __lastLabel__ = 1865; ;
                  }
                  var _77 = __lastLabel__ == 1865 ? __pre_i : (_68);
                  var _78 = __lastLabel__ == 1865 ? _phitmp_i_i : (0);
                  var _79 = _77 > 0;
                  ;
                  _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayI18btSolverConstraintE4copyEiiPS0__exit_i_i$16029: do { 
                    if (_79) {
                      ;
                      var _80 = _this+24+12;
                      __lastLabel__ = 276; ;
                      _bb_i4_i_i$16031: while(1) { // _bb_i4_i_i
                        var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
                        var _scevgep191 = _78+136*_indvar_i_i_i;
                        var _scevgep5_i_i_i = _scevgep191;
                        var _81 = IHEAP[_80];
                        var _scevgep189 = _81+136*_indvar_i_i_i;
                        var _scevgep67_i_i_i = _scevgep189;
                        _llvm_memcpy_p0i8_p0i8_i32(_scevgep5_i_i_i, _scevgep67_i_i_i, 136, 4, false);
                        var _indvar_next_i_i_i = _indvar_i_i_i + 1;
                        var _exitcond188 = _indvar_next_i_i_i == _77;
                        if (_exitcond188) { __lastLabel__ = 277; __label__ = 2959; /* __ZNK20btAlignedObjectArrayI18btSolverConstraintE4copyEiiPS0__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayI18btSolverConstraintE4copyEiiPS0__exit_i_i$16029; } else { __lastLabel__ = 277; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$16031; }
                      }
                    }
                  } while(0);
                  var _82 = _this+24+12;
                  var _83 = IHEAP[_82];
                  var _84 = _83 == 0;
                  ;
                  if (!_84) {
                    ;
                    var _85 = _this+24+16;
                    var _86 = IHEAP[_85];
                    var _toBool_i_i_i = _86 == 0;
                    ;
                    if (!_toBool_i_i_i) {
                      ;
                      var _87 = _83;
                      (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_87) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb17$_lpad$16012; }
                    }
                    IHEAP[_82] = 0;
                    ;
                  }
                  var _88 = _this+24+16;
                  IHEAP[_88] = 1;
                  IHEAP[_82] = _78;
                  IHEAP[_71] = _totalNumRows_0;
                  if (!(_70)) { __label__ = 2953; /* __ZN20btAlignedObjectArrayI18btSolverConstraintE6resizeEiRKS0__exit */ break __ZN20btAlignedObjectArrayI18btSolverConstraintE6resizeEiRKS0__exit$_bb3_i$16020; }
                }
                var _89 = _this+24+12;
                var _90 = _2;
                var _tmp183 = _totalNumRows_0 - _68;
                __lastLabel__ = 418; ;
                _bb7_i$16041: while(1) { // _bb7_i
                  var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
                  var _tmp185 = _68 + _indvar_i;
                  var _91 = IHEAP[_89];
                  var _scevgep186 = _91+136*_tmp185;
                  var _scevgep15_i = _scevgep186;
                  _llvm_memcpy_p0i8_p0i8_i32(_scevgep15_i, _90, 136, 4, false);
                  var _indvar_next_i = _indvar_i + 1;
                  var _exitcond184 = _indvar_next_i == _tmp183;
                  if (_exitcond184) { __lastLabel__ = 137; __label__ = 2953; /* __ZN20btAlignedObjectArrayI18btSolverConstraintE6resizeEiRKS0__exit */ break __ZN20btAlignedObjectArrayI18btSolverConstraintE6resizeEiRKS0__exit$_bb3_i$16020; } else { __lastLabel__ = 137; __label__ = 137; /* _bb7_i */ continue _bb7_i$16041; }
                }
              }
            } while(0);
            IHEAP[_67] = _totalNumRows_0;
            var _92 = _this+24+12;
            var _93 = _infoGlobal+12;
            var _94 = _info2;
            var _95 = _infoGlobal+32;
            var _96 = _info2+4;
            var _97 = _info2+8;
            var _98 = _info2+12;
            var _99 = _info2+16;
            var _100 = _info2+20;
            var _101 = _info2+24;
            var _102 = _info2+28;
            var _103 = _infoGlobal+40;
            var _104 = _infoGlobal+4;
            var _105 = _info2+52;
            var _106 = _info2+32;
            var _107 = _info2+36;
            var _108 = _info2+40;
            var _109 = _infoGlobal+20;
            var _110 = _info2+48;
            __lastLabel__ = 2953; ;
            _bb52$16044: while(1) { // _bb52
              var _405 = __lastLabel__ == 1276 ? _404 : (0);
              var _currentRow_0 = __lastLabel__ == 1276 ? _403 : (0);
              var _scevgep244 = _constraints+4*_405;
              var _406 = _405 < _numConstraints;
              if (_406) { __lastLabel__ = 478; ; } else { __lastLabel__ = 478; __label__ = 1024; /* _bb59 */ break _bb52$16044; }
              var _111 = IHEAP[_54];
              var _scevgep242243 = _111+8*_405;
              var _112 = IHEAP[_scevgep242243];
              var _113 = _112 == 0;
              ;
              if (_113) {
                __lastLabel__ = 540; ;
              }
              else {
                __lastLabel__ = 540; ;
                var _114 = IHEAP[_92];
                var _115 = IHEAP[_scevgep244];
                var _116 = _115+20;
                var _117 = IHEAP[_116];
                var _118 = _115+24;
                var _119 = IHEAP[_118];
                var _120 = _112 > 0;
                if (_120) { __lastLabel__ = 515; __label__ = 90; /* _bb30 */  } else { __lastLabel__ = 515; __label__ = 91; /* _bb32 */  }
                _bb30$_bb32$16049: while(1) { // _bb30,_bb32
                  if (__label__ == 90) {
                    var _j29_0173 = __lastLabel__ == 90 ? _121 : (0);
                    var _tmp198 = _currentRow_0 + _j29_0173;
                    var _scevgep199 = _114+136*_tmp198;
                    var _scevgep199200 = _scevgep199;
                    var _scevgep201 = _114+136*_tmp198+124;
                    var _scevgep202 = _114+136*_tmp198+128;
                    var _scevgep203 = _114+136*_tmp198+84;
                    var _scevgep204 = _114+136*_tmp198+80;
                    var _scevgep205 = _114+136*_tmp198+104;
                    var _scevgep206 = _114+136*_tmp198+108;
                    _llvm_memset_p0i8_i32(_scevgep199200, 0, 136, 4, false);
                    FHEAP[_scevgep201] = -3.4028234663852886e+38;
                    FHEAP[_scevgep202] = 3.4028234663852886e+38;
                    FHEAP[_scevgep203] = 0;
                    FHEAP[_scevgep204] = 0;
                    IHEAP[_scevgep205] = _117;
                    IHEAP[_scevgep206] = _119;
                    var _121 = _j29_0173 + 1;
                    var _122 = IHEAP[_scevgep242243];
                    var _123 = _122 > _121;
                    if (_123) { __lastLabel__ = 90; __label__ = 90; /* _bb30 */ continue _bb30$_bb32$16049; } else { __lastLabel__ = 90; __label__ = 91; /* _bb32 */ continue _bb30$_bb32$16049; }
                  }
                  else if (__label__ == 91) {
                    var _124 = _117+504;
                    var _125 = _119+504;
                    var _126 = _124;
                    _llvm_memset_p0i8_i64(_126, 0, 32, 4, false);
                    var _127 = _125;
                    _llvm_memset_p0i8_i64(_127, 0, 32, 4, false);
                    var _128 = FHEAP[_93];
                    var _129 = 1 / _128;
                    FHEAP[_94] = _129;
                    var _130 = FHEAP[_95];
                    FHEAP[_96] = _130;
                    var _131 = _114+136*_currentRow_0+16;
                    IHEAP[_97] = _131;
                    var _132 = _114+136*_currentRow_0;
                    IHEAP[_98] = _132;
                    IHEAP[_99] = 0;
                    var _133 = _114+136*_currentRow_0+32;
                    IHEAP[_100] = _133;
                    IHEAP[_101] = 34;
                    var _134 = _114+136*_currentRow_0+116;
                    IHEAP[_102] = _134;
                    var _135 = FHEAP[_103];
                    var _136 = _114+136*_currentRow_0+120;
                    FHEAP[_136] = _135;
                    var _137 = FHEAP[_104];
                    FHEAP[_105] = _137;
                    IHEAP[_106] = _136;
                    var _138 = _114+136*_currentRow_0+124;
                    IHEAP[_107] = _138;
                    var _139 = _114+136*_currentRow_0+128;
                    IHEAP[_108] = _139;
                    var _140 = IHEAP[_109];
                    IHEAP[_110] = _140;
                    var _141 = IHEAP[_scevgep244];
                    var _142 = _141;
                    var _143 = IHEAP[_142];
                    var _144 = _143+20;
                    var _145 = IHEAP[_144];
                    var _146 = _145;
                    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_146](_141, _info2) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4008; /* _bb50_preheader */ break _bb30$_bb32$16049; } else { __label__ = 254; /* _lpad */ break _bb17$_lpad$16012; }
                  }
                }
                var _147 = IHEAP[_scevgep242243];
                var _148 = _147 > 0;
                ;
                _bb_nph176$_bb51_loopexit$16054: do { 
                  if (_148) {
                    ;
                    var _149 = _115;
                    var _150 = _117+336;
                    var _151 = _117+256+32;
                    var _152 = _117+256+32+4;
                    var _153 = _117+256+32+8;
                    var _154 = _117+256+16;
                    var _155 = _117+256+16+4;
                    var _156 = _117+256+16+8;
                    var _157 = _117+256;
                    var _158 = _117+256+4;
                    var _159 = _117+256+8;
                    var _160 = _119+336;
                    var _161 = _119+256+32;
                    var _162 = _119+256+32+4;
                    var _163 = _119+256+32+8;
                    var _164 = _119+256+16;
                    var _165 = _119+256+16+4;
                    var _166 = _119+256+16+8;
                    var _167 = _119+256;
                    var _168 = _119+256+4;
                    var _169 = _119+256+8;
                    var _170 = _117+304;
                    var _171 = _117+304+4;
                    var _172 = _117+304+8;
                    var _173 = _117+320;
                    var _174 = _117+320+4;
                    var _175 = _117+320+8;
                    var _176 = _119+320;
                    var _177 = _119+320+4;
                    var _178 = _119+320+8;
                    var _179 = _119+304;
                    var _180 = _119+304+4;
                    var _181 = _119+304+8;
                    __lastLabel__ = 2962; ;
                    _bb34$16056: while(1) { // _bb34
                      var _j29_1175 = __lastLabel__ == 2962 ? 0 : (_399);
                      var _tmp208 = _currentRow_0 + _j29_1175;
                      var _scevgep209 = _114+136*_tmp208+112;
                      var _scevgep210 = _114+136*_tmp208+8;
                      var _scevgep211 = _114+136*_tmp208+4;
                      var _scevgep212213 = _114+136*_tmp208;
                      var _scevgep214 = _114+136*_tmp208+48;
                      var _scevgep215 = _114+136*_tmp208+48+4;
                      var _scevgep216 = _114+136*_tmp208+48+8;
                      var _scevgep217 = _114+136*_tmp208+48+12;
                      var _scevgep218 = _114+136*_tmp208+32+8;
                      var _scevgep219 = _114+136*_tmp208+32+4;
                      var _scevgep220 = _114+136*_tmp208+32;
                      var _scevgep221 = _114+136*_tmp208+64;
                      var _scevgep222 = _114+136*_tmp208+64+4;
                      var _scevgep223 = _114+136*_tmp208+64+8;
                      var _scevgep224 = _114+136*_tmp208+64+12;
                      var _scevgep225 = _114+136*_tmp208+16;
                      var _scevgep226 = _114+136*_tmp208+16+4;
                      var _scevgep227 = _114+136*_tmp208+16+8;
                      var _scevgep228 = _114+136*_tmp208+92;
                      var _scevgep229 = _114+136*_tmp208+116;
                      var _scevgep230 = _114+136*_tmp208+84;
                      IHEAP[_scevgep209] = _149;
                      var _182 = IHEAP[_116];
                      var _183 = _182+256+32;
                      var _184 = FHEAP[_183];
                      var _185 = FHEAP[_scevgep212213];
                      var _186 = _184 * _185;
                      var _187 = _182+256+32+4;
                      var _188 = FHEAP[_187];
                      var _189 = FHEAP[_scevgep211];
                      var _190 = _188 * _189;
                      var _191 = _186 + _190;
                      var _192 = _182+256+32+8;
                      var _193 = FHEAP[_192];
                      var _194 = FHEAP[_scevgep210];
                      var _195 = _193 * _194;
                      var _196 = _191 + _195;
                      var _197 = _182+256+16;
                      var _198 = FHEAP[_197];
                      var _199 = _198 * _185;
                      var _200 = _182+256+16+4;
                      var _201 = FHEAP[_200];
                      var _202 = _201 * _189;
                      var _203 = _199 + _202;
                      var _204 = _182+256+16+8;
                      var _205 = FHEAP[_204];
                      var _206 = _205 * _194;
                      var _207 = _203 + _206;
                      var _208 = _182+256;
                      var _209 = FHEAP[_208];
                      var _210 = _209 * _185;
                      var _211 = _182+256+4;
                      var _212 = FHEAP[_211];
                      var _213 = _212 * _189;
                      var _214 = _210 + _213;
                      var _215 = _182+256+8;
                      var _216 = FHEAP[_215];
                      var _217 = _216 * _194;
                      var _218 = _214 + _217;
                      var _219 = _182+536+8;
                      var _220 = FHEAP[_219];
                      var _221 = _196 * _220;
                      var _222 = _182+536+4;
                      var _223 = FHEAP[_222];
                      var _224 = _207 * _223;
                      var _225 = _182+536;
                      var _226 = FHEAP[_225];
                      var _227 = _218 * _226;
                      FHEAP[_scevgep214] = _227;
                      FHEAP[_scevgep215] = _224;
                      FHEAP[_scevgep216] = _221;
                      FHEAP[_scevgep217] = 0;
                      var _228 = IHEAP[_118];
                      var _229 = _228+256+32;
                      var _230 = FHEAP[_229];
                      var _231 = FHEAP[_scevgep220];
                      var _232 = _230 * _231;
                      var _233 = _228+256+32+4;
                      var _234 = FHEAP[_233];
                      var _235 = FHEAP[_scevgep219];
                      var _236 = _234 * _235;
                      var _237 = _232 + _236;
                      var _238 = _228+256+32+8;
                      var _239 = FHEAP[_238];
                      var _240 = FHEAP[_scevgep218];
                      var _241 = _239 * _240;
                      var _242 = _237 + _241;
                      var _243 = _228+256+16;
                      var _244 = FHEAP[_243];
                      var _245 = _244 * _231;
                      var _246 = _228+256+16+4;
                      var _247 = FHEAP[_246];
                      var _248 = _247 * _235;
                      var _249 = _245 + _248;
                      var _250 = _228+256+16+8;
                      var _251 = FHEAP[_250];
                      var _252 = _251 * _240;
                      var _253 = _249 + _252;
                      var _254 = _228+256;
                      var _255 = FHEAP[_254];
                      var _256 = _255 * _231;
                      var _257 = _228+256+4;
                      var _258 = FHEAP[_257];
                      var _259 = _258 * _235;
                      var _260 = _256 + _259;
                      var _261 = _228+256+8;
                      var _262 = FHEAP[_261];
                      var _263 = _262 * _240;
                      var _264 = _260 + _263;
                      var _265 = _228+536+8;
                      var _266 = FHEAP[_265];
                      var _267 = _242 * _266;
                      var _268 = _228+536+4;
                      var _269 = FHEAP[_268];
                      var _270 = _253 * _269;
                      var _271 = _228+536;
                      var _272 = FHEAP[_271];
                      var _273 = _264 * _272;
                      FHEAP[_scevgep221] = _273;
                      FHEAP[_scevgep222] = _270;
                      FHEAP[_scevgep223] = _267;
                      FHEAP[_scevgep224] = 0;
                      var _274 = FHEAP[_150];
                      var _275 = FHEAP[_scevgep227];
                      var _276 = _275 * _274;
                      var _277 = FHEAP[_scevgep226];
                      var _278 = _277 * _274;
                      var _279 = FHEAP[_scevgep225];
                      var _280 = _279 * _274;
                      var _281 = FHEAP[_151];
                      var _282 = _281 * _185;
                      var _283 = FHEAP[_152];
                      var _284 = _283 * _189;
                      var _285 = _282 + _284;
                      var _286 = FHEAP[_153];
                      var _287 = _286 * _194;
                      var _288 = _285 + _287;
                      var _289 = FHEAP[_154];
                      var _290 = _289 * _185;
                      var _291 = FHEAP[_155];
                      var _292 = _291 * _189;
                      var _293 = _290 + _292;
                      var _294 = FHEAP[_156];
                      var _295 = _294 * _194;
                      var _296 = _293 + _295;
                      var _297 = FHEAP[_157];
                      var _298 = _297 * _185;
                      var _299 = FHEAP[_158];
                      var _300 = _299 * _189;
                      var _301 = _298 + _300;
                      var _302 = FHEAP[_159];
                      var _303 = _302 * _194;
                      var _304 = _301 + _303;
                      var _305 = FHEAP[_160];
                      var _306 = _275 * _305;
                      var _307 = _277 * _305;
                      var _308 = _279 * _305;
                      var _309 = FHEAP[_161];
                      var _310 = _309 * _231;
                      var _311 = FHEAP[_162];
                      var _312 = _311 * _235;
                      var _313 = _310 + _312;
                      var _314 = FHEAP[_163];
                      var _315 = _314 * _240;
                      var _316 = _313 + _315;
                      var _317 = FHEAP[_164];
                      var _318 = _317 * _231;
                      var _319 = FHEAP[_165];
                      var _320 = _319 * _235;
                      var _321 = _318 + _320;
                      var _322 = FHEAP[_166];
                      var _323 = _322 * _240;
                      var _324 = _321 + _323;
                      var _325 = FHEAP[_167];
                      var _326 = _325 * _231;
                      var _327 = FHEAP[_168];
                      var _328 = _327 * _235;
                      var _329 = _326 + _328;
                      var _330 = FHEAP[_169];
                      var _331 = _330 * _240;
                      var _332 = _329 + _331;
                      var _333 = _280 * _279;
                      var _334 = _278 * _277;
                      var _335 = _333 + _334;
                      var _336 = _276 * _275;
                      var _337 = _335 + _336;
                      var _338 = _304 * _185;
                      var _339 = _296 * _189;
                      var _340 = _338 + _339;
                      var _341 = _288 * _194;
                      var _342 = _340 + _341;
                      var _343 = _342 + _337;
                      var _344 = _308 * _279;
                      var _345 = _307 * _277;
                      var _346 = _344 + _345;
                      var _347 = _306 * _275;
                      var _348 = _346 + _347;
                      var _349 = _348 + _343;
                      var _350 = _332 * _231;
                      var _351 = _324 * _235;
                      var _352 = _350 + _351;
                      var _353 = _316 * _240;
                      var _354 = _352 + _353;
                      var _355 = _354 + _349;
                      var _356 = 1 / _355;
                      FHEAP[_scevgep228] = _356;
                      var _357 = FHEAP[_170];
                      var _358 = _279 * _357;
                      var _359 = FHEAP[_171];
                      var _360 = _277 * _359;
                      var _361 = _358 + _360;
                      var _362 = FHEAP[_172];
                      var _363 = _275 * _362;
                      var _364 = _361 + _363;
                      var _365 = FHEAP[_173];
                      var _366 = _185 * _365;
                      var _367 = FHEAP[_174];
                      var _368 = _189 * _367;
                      var _369 = _366 + _368;
                      var _370 = FHEAP[_175];
                      var _371 = _194 * _370;
                      var _372 = _369 + _371;
                      var _373 = _364 + _372;
                      var _374 = FHEAP[_176];
                      var _375 = _231 * _374;
                      var _376 = FHEAP[_177];
                      var _377 = _235 * _376;
                      var _378 = _375 + _377;
                      var _379 = FHEAP[_178];
                      var _380 = _240 * _379;
                      var _381 = _378 + _380;
                      var _382 = FHEAP[_179];
                      var _383 = _279 * _382;
                      var _384 = FHEAP[_180];
                      var _385 = _277 * _384;
                      var _386 = _383 + _385;
                      var _387 = FHEAP[_181];
                      var _388 = _275 * _387;
                      var _389 = _386 + _388;
                      var _390 = _381 - _389;
                      var _391 = _373 + _390;
                      var _392 = FHEAP[_scevgep229];
                      var _393 = FHEAP[_105];
                      var _394 = _393 * _391;
                      var _395 = 0 - _394;
                      var _396 = _356 * _392;
                      var _397 = _356 * _395;
                      var _398 = _396 + _397;
                      FHEAP[_scevgep229] = _398;
                      FHEAP[_scevgep230] = 0;
                      var _399 = _j29_1175 + 1;
                      var _400 = IHEAP[_scevgep242243];
                      var _401 = _400 > _399;
                      if (_401) { __lastLabel__ = 250; __label__ = 250; /* _bb34 */ continue _bb34$16056; } else { __lastLabel__ = 250; __label__ = 2963; /* _bb51_loopexit */ break _bb_nph176$_bb51_loopexit$16054; }
                    }
                  }
                } while(0);
                var __pre = IHEAP[_54];
                var _scevgep236237_phi_trans_insert = __pre+8*_405;
                var __pre254 = IHEAP[_scevgep236237_phi_trans_insert];
                __lastLabel__ = 2963; ;
              }
              var _402 = __lastLabel__ == 2963 ? __pre254 : (0);
              var _403 = _402 + _currentRow_0;
              var _404 = _405 + 1;
              __lastLabel__ = 1276; __label__ = 478; /* _bb52 */ continue _bb52$16044;
            }
            _bb59$16060: while(1) { // _bb59
              var _409 = __lastLabel__ == 2965 ? _408 : (0);
              var _410 = _409 < _numManifolds;
              if (!(_410)) { __label__ = 1025; /* _bb60 */ break _bb59$16060; }
              var _scevgep197 = _manifoldPtr+4*_409;
              var _407 = IHEAP[_scevgep197];
              (function() { try { __THREW__ = false; return __ZN35btSequentialImpulseConstraintSolver14convertContactEP20btPersistentManifoldRK19btContactSolverInfo(_this, _407, _infoGlobal) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb17$_lpad$16012; }
              var _408 = _409 + 1;
              __lastLabel__ = 2965; __label__ = 1024; /* _bb59 */ continue _bb59$16060;
            }
            var _411 = _this+4+4;
            var _412 = IHEAP[_411];
            var _413 = _this+44+4;
            var _414 = IHEAP[_413];
            IHEAP[_1] = 0;
            var _415 = _this+64;
            (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIiE6resizeEiRKi(_415, _412, _1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb17$_lpad$16012; }
            IHEAP[_0] = 0;
            var _416 = _this+84;
            (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIiE6resizeEiRKi(_416, _414, _0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb17$_lpad$16012; }
            var _417 = _412 > 0;
            ;
            _bb_nph172$_bb70_preheader$16067: do { 
              if (_417) {
                ;
                var _418 = _this+64+12;
                __lastLabel__ = 2279; ;
                _bb66$16069: while(1) { // _bb66
                  var _419 = __lastLabel__ == 2279 ? 0 : (_421);
                  var _420 = IHEAP[_418];
                  var _scevgep196 = _420+4*_419;
                  IHEAP[_scevgep196] = _419;
                  var _421 = _419 + 1;
                  var _exitcond195 = _421 == _412;
                  if (_exitcond195) { __lastLabel__ = 1348; __label__ = 2966; /* _bb70_preheader */ break _bb_nph172$_bb70_preheader$16067; } else { __lastLabel__ = 1348; __label__ = 1348; /* _bb66 */ continue _bb66$16069; }
                }
              }
            } while(0);
            var _422 = _414 > 0;
            if (!(_422)) { __label__ = 20; /* _bb77 */ break _bb77$_bb1$15993; }
            var _423 = _this+84+12;
            __lastLabel__ = 2967; ;
            _bb69$16073: while(1) { // _bb69
              var _424 = __lastLabel__ == 2967 ? 0 : (_426);
              var _425 = IHEAP[_423];
              var _scevgep194 = _425+4*_424;
              IHEAP[_scevgep194] = _424;
              var _426 = _424 + 1;
              var _exitcond193 = _426 == _414;
              if (_exitcond193) { __lastLabel__ = 2552; __label__ = 20; /* _bb77 */ break _bb77$_bb1$15993; } else { __lastLabel__ = 2552; __label__ = 2552; /* _bb69 */ continue _bb69$16073; }
            }
          }
        } while(0);
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select80 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4011; /* _invcont75 */  } else { __label__ = 4012; /* _lpad81 */  }
        if (__label__ == 4011) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 4012) {
          var _eh_ptr82 = _llvm_eh_exception();
          var _eh_select84 = _llvm_eh_selector(_eh_ptr82, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    __ZN15CProfileManager12Stop_ProfileEv();
    STACKTOP = __stackBase__;
    return 0;
  }
  __ZN35btSequentialImpulseConstraintSolver28solveGroupCacheFriendlySetupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver28solveGroupCacheFriendlySetupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc, "__ZN35btSequentialImpulseConstraintSolver28solveGroupCacheFriendlySetupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc");
  
  
  function __ZN35btSequentialImpulseConstraintSolver33solveGroupCacheFriendlyIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc(_this, _bodies, _numBodies, _manifoldPtr, _numManifolds, _constraints, _numConstraints, _infoGlobal, _debugDrawer, _stackAlloc) {
    ;
    var __label__;
    var __lastLabel__ = null;
    __ZN15CProfileManager13Start_ProfileEPKc(__str17);
    var _0 = _infoGlobal+20;
    __lastLabel__ = -1; ;
    _bb1$16081: while(1) { // _bb1
      var _3 = __lastLabel__ == -1 ? 0 : (_2);
      var _4 = IHEAP[_0];
      var _5 = _4 > _3;
      if (!(_5)) { __label__ = 0; /* _bb2 */ break _bb1$16081; }
      var _1 = (function() { try { __THREW__ = false; return __ZN35btSequentialImpulseConstraintSolver20solveSingleIterationEiPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc(_this, _3, _bodies, _numBodies, _manifoldPtr, _numManifolds, _constraints, _numConstraints, _infoGlobal, _debugDrawer, _stackAlloc) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb1$16081; };
      var _2 = _3 + 1;
      __lastLabel__ = 345; __label__ = 75; /* _bb1 */ continue _bb1$16081;
    }
    _lpad$_bb2$16085: do { 
      if (__label__ == 0) {
        var _6 = _this;
        var _7 = IHEAP[_6];
        var _8 = _7+24;
        var _9 = IHEAP[_8];
        var _10 = _9;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_10](_this, _bodies, _numBodies, _manifoldPtr, _numManifolds, _constraints, _numConstraints, _infoGlobal, _debugDrawer, _stackAlloc) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _lpad$_bb2$16085; }
        __ZN15CProfileManager12Stop_ProfileEv();
        ;
        return 0;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select9 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2109; /* _invcont5 */  } else { __label__ = 3802; /* _lpad10 */  }
    if (__label__ == 2109) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 3802) {
      var _eh_ptr11 = _llvm_eh_exception();
      var _eh_select13 = _llvm_eh_selector(_eh_ptr11, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN35btSequentialImpulseConstraintSolver33solveGroupCacheFriendlyIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver33solveGroupCacheFriendlyIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc, "__ZN35btSequentialImpulseConstraintSolver33solveGroupCacheFriendlyIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc");
  
  
  function __ZN35btSequentialImpulseConstraintSolverD2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV35btSequentialImpulseConstraintSolver+8;
    var _1 = _this+104+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$16093: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+104+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$16095: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$16095; } else { ; }
            var _eh_ptr58 = _llvm_eh_exception();
            var _eh_select60 = _llvm_eh_selector(_eh_ptr58, ___gxx_personality_v0, 0);
            var _58 = _this+84+12;
            var _59 = IHEAP[_58];
            var _60 = _59 == 0;
            ;
            if (!_60) {
              ;
              var _61 = _this+84+16;
              var _62 = IHEAP[_61];
              var _toBool_i_i_i118 = _62 == 0;
              ;
              _bb2_i_i_i121$_bb1_i_i_i120$16100: do { 
                if (!_toBool_i_i_i118) {
                  ;
                  var _63 = _59;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_63) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4000; /* _bb2_i_i_i121 */ break _bb2_i_i_i121$_bb1_i_i_i120$16100; } else { ; }
                  var _eh_ptr62 = _llvm_eh_exception();
                  var _eh_select64 = _llvm_eh_selector(_eh_ptr62, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_58] = 0;
              ;
            }
            var _64 = _this+84+16;
            IHEAP[_64] = 1;
            IHEAP[_58] = 0;
            var _65 = _this+84+4;
            IHEAP[_65] = 0;
            var _66 = _this+84+8;
            IHEAP[_66] = 0;
            __lastLabel__ = 2923; __label__ = 2921; /* _ppad83 */ break _bb3$_bb_i_i_i$16093;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$16093;
      }
    } while(0);
    _bb3$_ppad83$16106: do { 
      if (__label__ == 116) {
        var _7 = _this+104+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+104+4;
        IHEAP[_8] = 0;
        var _9 = _this+104+8;
        IHEAP[_9] = 0;
        var _10 = _this+84+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+84+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i91 = _14 == 0;
          ;
          _bb2_i_i_i94$_bb1_i_i_i93$16110: do { 
            if (!_toBool_i_i_i91) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3996; /* _bb2_i_i_i94 */ break _bb2_i_i_i94$_bb1_i_i_i93$16110; } else { ; }
              var _eh_ptr54 = _llvm_eh_exception();
              var _eh_select56 = _llvm_eh_selector(_eh_ptr54, ___gxx_personality_v0, 0);
              __lastLabel__ = 2920; __label__ = 2921; /* _ppad83 */ break _bb3$_ppad83$16106;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _16 = _this+84+16;
        IHEAP[_16] = 1;
        IHEAP[_10] = 0;
        var _17 = _this+84+4;
        IHEAP[_17] = 0;
        var _18 = _this+84+8;
        IHEAP[_18] = 0;
        var _19 = _this+64+12;
        var _20 = IHEAP[_19];
        var _21 = _20 == 0;
        ;
        if (!_21) {
          ;
          var _22 = _this+64+16;
          var _23 = IHEAP[_22];
          var _toBool_i_i_i96 = _23 == 0;
          ;
          _bb2_i_i_i99$_bb1_i_i_i98$16117: do { 
            if (!_toBool_i_i_i96) {
              ;
              var _24 = _20;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_24) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3997; /* _bb2_i_i_i99 */ break _bb2_i_i_i99$_bb1_i_i_i98$16117; } else { ; }
              var _eh_ptr50 = _llvm_eh_exception();
              var _eh_select52 = _llvm_eh_selector(_eh_ptr50, ___gxx_personality_v0, 0);
              __lastLabel__ = 2918; __label__ = 2919; /* _ppad82 */ break _bb3$_ppad83$16106;
            }
          } while(0);
          IHEAP[_19] = 0;
          ;
        }
        var _25 = _this+64+16;
        IHEAP[_25] = 1;
        IHEAP[_19] = 0;
        var _26 = _this+64+4;
        IHEAP[_26] = 0;
        var _27 = _this+64+8;
        IHEAP[_27] = 0;
        var _28 = _this+44+12;
        var _29 = IHEAP[_28];
        var _30 = _29 == 0;
        ;
        if (!_30) {
          ;
          var _31 = _this+44+16;
          var _32 = IHEAP[_31];
          var _toBool_i_i_i102 = _32 == 0;
          ;
          _bb2_i_i_i105$_bb1_i_i_i104$16124: do { 
            if (!_toBool_i_i_i102) {
              ;
              var _33 = _29;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_33) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3998; /* _bb2_i_i_i105 */ break _bb2_i_i_i105$_bb1_i_i_i104$16124; } else { ; }
              var _eh_ptr46 = _llvm_eh_exception();
              var _eh_select48 = _llvm_eh_selector(_eh_ptr46, ___gxx_personality_v0, 0);
              __lastLabel__ = 2916; __label__ = 2917; /* _ppad81 */ break _bb3$_ppad83$16106;
            }
          } while(0);
          IHEAP[_28] = 0;
          ;
        }
        var _34 = _this+44+16;
        IHEAP[_34] = 1;
        IHEAP[_28] = 0;
        var _35 = _this+44+4;
        IHEAP[_35] = 0;
        var _36 = _this+44+8;
        IHEAP[_36] = 0;
        var _37 = _this+24+12;
        var _38 = IHEAP[_37];
        var _39 = _38 == 0;
        ;
        if (!_39) {
          ;
          var _40 = _this+24+16;
          var _41 = IHEAP[_40];
          var _toBool_i_i_i107 = _41 == 0;
          ;
          _bb2_i_i_i110$_bb1_i_i_i109$16131: do { 
            if (!_toBool_i_i_i107) {
              ;
              var _42 = _38;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_42) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3999; /* _bb2_i_i_i110 */ break _bb2_i_i_i110$_bb1_i_i_i109$16131; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select44 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad83$16106;
            }
          } while(0);
          IHEAP[_37] = 0;
          ;
        }
        var _46 = _this+24+16;
        IHEAP[_46] = 1;
        IHEAP[_37] = 0;
        var _47 = _this+24+4;
        IHEAP[_47] = 0;
        var _48 = _this+24+8;
        IHEAP[_48] = 0;
        var _49 = _this+4+12;
        var _50 = IHEAP[_49];
        var _51 = _50 == 0;
        ;
        if (!_51) {
          ;
          var _52 = _this+4+16;
          var _53 = IHEAP[_52];
          var _toBool_i_i_i113 = _53 == 0;
          ;
          if (!_toBool_i_i_i113) {
            ;
            var _54 = _50;
            __Z21btAlignedFreeInternalPv(_54);
            ;
          }
          IHEAP[_49] = 0;
          ;
        }
        var _55 = _this+4+16;
        IHEAP[_55] = 1;
        IHEAP[_49] = 0;
        var _56 = _this+4+4;
        IHEAP[_56] = 0;
        var _57 = _this+4+8;
        IHEAP[_57] = 0;
        ;
        return;
      }
    } while(0);
    _ppad$_ppad81$_ppad82$_ppad83$16142: do { 
      if (__label__ == 2921) {
        var _eh_exception_0 = __lastLabel__ == 2920 ? _eh_ptr54 : (_eh_ptr58);
        var _91 = _this+64+12;
        var _92 = IHEAP[_91];
        var _93 = _92 == 0;
        ;
        if (!_93) {
          ;
          var _94 = _this+64+16;
          var _95 = IHEAP[_94];
          var _toBool_i_i_i142 = _95 == 0;
          ;
          _bb2_i_i_i145$_bb1_i_i_i144$16146: do { 
            if (!_toBool_i_i_i142) {
              ;
              var _96 = _92;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_96) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4005; /* _bb2_i_i_i145 */ break _bb2_i_i_i145$_bb1_i_i_i144$16146; } else { ; }
              var _eh_ptr66 = _llvm_eh_exception();
              var _eh_select68 = _llvm_eh_selector(_eh_ptr66, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_91] = 0;
          ;
        }
        var _97 = _this+64+16;
        IHEAP[_97] = 1;
        IHEAP[_91] = 0;
        var _98 = _this+64+4;
        IHEAP[_98] = 0;
        var _99 = _this+64+8;
        IHEAP[_99] = 0;
        __lastLabel__ = 2931; __label__ = 2919; /* _ppad82 */ break _ppad$_ppad81$_ppad82$_ppad83$16142;
      }
    } while(0);
    _ppad$_ppad81$_ppad82$16151: do { 
      if (__label__ == 2919) {
        var _eh_exception_1 = __lastLabel__ == 2918 ? _eh_ptr50 : (_eh_exception_0);
        var _82 = _this+44+12;
        var _83 = IHEAP[_82];
        var _84 = _83 == 0;
        ;
        if (!_84) {
          ;
          var _85 = _this+44+16;
          var _86 = IHEAP[_85];
          var _toBool_i_i_i136 = _86 == 0;
          ;
          _bb2_i_i_i139$_bb1_i_i_i138$16155: do { 
            if (!_toBool_i_i_i136) {
              ;
              var _87 = _83;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_87) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4004; /* _bb2_i_i_i139 */ break _bb2_i_i_i139$_bb1_i_i_i138$16155; } else { ; }
              var _eh_ptr70 = _llvm_eh_exception();
              var _eh_select72 = _llvm_eh_selector(_eh_ptr70, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_82] = 0;
          ;
        }
        var _88 = _this+44+16;
        IHEAP[_88] = 1;
        IHEAP[_82] = 0;
        var _89 = _this+44+4;
        IHEAP[_89] = 0;
        var _90 = _this+44+8;
        IHEAP[_90] = 0;
        __lastLabel__ = 2929; __label__ = 2917; /* _ppad81 */ break _ppad$_ppad81$_ppad82$16151;
      }
    } while(0);
    if (__label__ == 2917) {
      var _eh_exception_2 = __lastLabel__ == 2916 ? _eh_ptr46 : (_eh_exception_1);
      var _73 = _this+24+12;
      var _74 = IHEAP[_73];
      var _75 = _74 == 0;
      ;
      if (!_75) {
        ;
        var _76 = _this+24+16;
        var _77 = IHEAP[_76];
        var _toBool_i_i_i130 = _77 == 0;
        ;
        _bb2_i_i_i133$_bb1_i_i_i132$16164: do { 
          if (!_toBool_i_i_i130) {
            ;
            var _78 = _74;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_78) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4003; /* _bb2_i_i_i133 */ break _bb2_i_i_i133$_bb1_i_i_i132$16164; } else { ; }
            var _eh_ptr74 = _llvm_eh_exception();
            var _eh_select76 = _llvm_eh_selector(_eh_ptr74, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_73] = 0;
        ;
      }
      var _79 = _this+24+16;
      IHEAP[_79] = 1;
      IHEAP[_73] = 0;
      var _80 = _this+24+4;
      IHEAP[_80] = 0;
      var _81 = _this+24+8;
      IHEAP[_81] = 0;
      __lastLabel__ = 2926; ;
    }
    var _eh_exception_3 = __lastLabel__ == 254 ? _eh_ptr : (_eh_exception_2);
    var _67 = _this+4+12;
    var _68 = IHEAP[_67];
    var _69 = _68 == 0;
    ;
    if (!_69) {
      ;
      var _70 = _this+4+16;
      var _71 = IHEAP[_70];
      var _toBool_i_i_i124 = _71 == 0;
      ;
      _bb2_i_i_i127$_bb1_i_i_i126$16172: do { 
        if (!_toBool_i_i_i124) {
          ;
          var _72 = _68;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_72) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4001; /* _bb2_i_i_i127 */ break _bb2_i_i_i127$_bb1_i_i_i126$16172; } else { ; }
          var _eh_ptr78 = _llvm_eh_exception();
          var _eh_select80 = _llvm_eh_selector(_eh_ptr78, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_67] = 0;
      ;
    }
    var _43 = _this+4+16;
    IHEAP[_43] = 1;
    IHEAP[_67] = 0;
    var _44 = _this+4+4;
    IHEAP[_44] = 0;
    var _45 = _this+4+8;
    IHEAP[_45] = 0;
    __Unwind_Resume_or_Rethrow(_eh_exception_3);
    // unreachable
  }
  __ZN35btSequentialImpulseConstraintSolverD2Ev.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolverD2Ev, "__ZN35btSequentialImpulseConstraintSolverD2Ev");
  
  
  function __ZN35btSequentialImpulseConstraintSolver21addFrictionConstraintERK9btVector3P11btRigidBodyS4_iR15btManifoldPointS2_S2_P17btCollisionObjectS8_fff(_this, _normalAxis, _solverBodyA, _solverBodyB, _frictionIndex, _cp, _rel_pos1, _rel_pos2, _colObj0, _colObj1, _relaxation, _desiredVelocity, _cfmSlip) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+44+4;
    var _1 = IHEAP[_0];
    var _2 = _this+44+8;
    var _3 = IHEAP[_2];
    var _4 = _3 == _1;
    ;
    _bb_i$__ZN20btAlignedObjectArrayI18btSolverConstraintE21expandNonInitializingEv_exit$16180: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 == 0;
        var _6 = _1 << 1;
        var _iftmp_207_0_i_i = _5 ? 1 : _6;
        var _7 = _3 < _iftmp_207_0_i_i;
        if (_7) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 2980; /* __ZN20btAlignedObjectArrayI18btSolverConstraintE21expandNonInitializingEv_exit */ break _bb_i$__ZN20btAlignedObjectArrayI18btSolverConstraintE21expandNonInitializingEv_exit$16180; }
        var _8 = _iftmp_207_0_i_i == 0;
        ;
        if (_8) {
          __lastLabel__ = 263; ;
        }
        else {
          __lastLabel__ = 263; ;
          var _9 = _iftmp_207_0_i_i * 136;
          var _10 = __Z22btAlignedAllocInternalji(_9, 16);
          var _phitmp_i_i = _10;
          var __pre_i = IHEAP[_0];
          __lastLabel__ = 274; ;
        }
        var _11 = __lastLabel__ == 274 ? __pre_i : (_1);
        var _12 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
        var _13 = _11 > 0;
        ;
        _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayI18btSolverConstraintE4copyEiiPS0__exit_i_i$16186: do { 
          if (_13) {
            ;
            var _14 = _this+44+12;
            __lastLabel__ = 276; ;
            _bb_i4_i_i$16188: while(1) { // _bb_i4_i_i
              var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
              var _scevgep3 = _12+136*_indvar_i_i_i;
              var _scevgep5_i_i_i = _scevgep3;
              var _15 = IHEAP[_14];
              var _scevgep = _15+136*_indvar_i_i_i;
              var _scevgep67_i_i_i = _scevgep;
              _llvm_memcpy_p0i8_p0i8_i32(_scevgep5_i_i_i, _scevgep67_i_i_i, 136, 4, false);
              var _indvar_next_i_i_i = _indvar_i_i_i + 1;
              var _exitcond = _indvar_next_i_i_i == _11;
              if (_exitcond) { __lastLabel__ = 277; __label__ = 2959; /* __ZNK20btAlignedObjectArrayI18btSolverConstraintE4copyEiiPS0__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayI18btSolverConstraintE4copyEiiPS0__exit_i_i$16186; } else { __lastLabel__ = 277; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$16188; }
            }
          }
        } while(0);
        var _16 = _this+44+12;
        var _17 = IHEAP[_16];
        var _18 = _17 == 0;
        ;
        if (!_18) {
          ;
          var _19 = _this+44+16;
          var _20 = IHEAP[_19];
          var _toBool_i_i_i = _20 == 0;
          ;
          if (!_toBool_i_i_i) {
            ;
            var _21 = _17;
            __Z21btAlignedFreeInternalPv(_21);
            ;
          }
          IHEAP[_16] = 0;
          ;
        }
        var _22 = _this+44+16;
        IHEAP[_22] = 1;
        IHEAP[_16] = _12;
        IHEAP[_2] = _iftmp_207_0_i_i;
        var __pre6_i = IHEAP[_0];
        __lastLabel__ = 2984; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _23 = __lastLabel__ == 2984 ? __pre6_i : (__lastLabel__ == -1 ? _1 : (_1));
    var _24 = _23 + 1;
    IHEAP[_0] = _24;
    var _25 = _this+44+12;
    var _26 = IHEAP[_25];
    var _27 = _26+136*_1;
    var _28 = _26+136*_1+100;
    IHEAP[_28] = _frictionIndex;
    __ZN35btSequentialImpulseConstraintSolver23setupFrictionConstraintER18btSolverConstraintRK9btVector3P11btRigidBodyS6_R15btManifoldPointS4_S4_P17btCollisionObjectSA_fff(_this, _27, _normalAxis, _solverBodyA, _solverBodyB, _cp, _rel_pos1, _rel_pos2, _colObj0, _colObj1, _relaxation, _desiredVelocity, _cfmSlip);
    ;
    return _27;
  }
  __ZN35btSequentialImpulseConstraintSolver21addFrictionConstraintERK9btVector3P11btRigidBodyS4_iR15btManifoldPointS2_S2_P17btCollisionObjectS8_fff.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver21addFrictionConstraintERK9btVector3P11btRigidBodyS4_iR15btManifoldPointS2_S2_P17btCollisionObjectS8_fff, "__ZN35btSequentialImpulseConstraintSolver21addFrictionConstraintERK9btVector3P11btRigidBodyS4_iR15btManifoldPointS2_S2_P17btCollisionObjectS8_fff");
  
  
  function __ZN20btAlignedObjectArrayIN17btTypedConstraint17btConstraintInfo1EE6resizeEiRKS1_(_this, _newsize, _fillData) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > _newsize;
    ;
    _bb12$_bb3$16199: do { 
      if (!_2) {
        ;
        var _3 = _1 < _newsize;
        if (!(_3)) { __label__ = 3; /* _bb12 */ break _bb12$_bb3$16199; }
        var _4 = _this+8;
        var _5 = IHEAP[_4];
        var _6 = _5 < _newsize;
        ;
        if (_6) {
          ;
          var _7 = _newsize == 0;
          ;
          if (_7) {
            __lastLabel__ = 131; ;
          }
          else {
            __lastLabel__ = 131; ;
            var _8 = _newsize << 3;
            var _9 = __Z22btAlignedAllocInternalji(_8, 16);
            var _phitmp_i = _9;
            var __pre = IHEAP[_0];
            __lastLabel__ = 215; ;
          }
          var _10 = __lastLabel__ == 215 ? __pre : (_1);
          var _11 = __lastLabel__ == 215 ? _phitmp_i : (0);
          var _12 = _10 > 0;
          ;
          _bb_nph_i_i$__ZNK20btAlignedObjectArrayIN17btTypedConstraint17btConstraintInfo1EE4copyEiiPS1__exit_i$16207: do { 
            if (_12) {
              ;
              var _13 = _this+12;
              __lastLabel__ = 217; ;
              _bb_i4_i$16209: while(1) { // _bb_i4_i
                var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
                var _scevgep_i_i = _11+8*_indvar_i_i;
                var _14 = _scevgep_i_i == 0;
                ;
                if (!_14) {
                  ;
                  var _scevgep12_i_i = _11+8*_indvar_i_i+4;
                  var _scevgep11_i_i = _11+8*_indvar_i_i;
                  var _15 = IHEAP[_13];
                  var _scevgep89_i_i = _15+8*_indvar_i_i;
                  var _16 = IHEAP[_scevgep89_i_i];
                  var _scevgep10_i_i = _15+8*_indvar_i_i+4;
                  var _17 = IHEAP[_scevgep10_i_i];
                  IHEAP[_scevgep11_i_i] = _16;
                  IHEAP[_scevgep12_i_i] = _17;
                  ;
                }
                var _indvar_next_i_i = _indvar_i_i + 1;
                var _exitcond21 = _indvar_next_i_i == _10;
                if (_exitcond21) { __lastLabel__ = 324; __label__ = 2988; /* __ZNK20btAlignedObjectArrayIN17btTypedConstraint17btConstraintInfo1EE4copyEiiPS1__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayIN17btTypedConstraint17btConstraintInfo1EE4copyEiiPS1__exit_i$16207; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$16209; }
              }
            }
          } while(0);
          var _18 = _this+12;
          var _19 = IHEAP[_18];
          var _20 = _19 == 0;
          ;
          if (!_20) {
            ;
            var _21 = _this+16;
            var _22 = IHEAP[_21];
            var _toBool_i_i = _22 == 0;
            ;
            if (!_toBool_i_i) {
              ;
              var _23 = _19;
              __Z21btAlignedFreeInternalPv(_23);
              ;
            }
            IHEAP[_18] = 0;
            ;
          }
          var _24 = _this+16;
          IHEAP[_24] = 1;
          IHEAP[_18] = _11;
          IHEAP[_4] = _newsize;
          if (!(_3)) { __label__ = 3; /* _bb12 */ break _bb12$_bb3$16199; }
        }
        var _25 = _this+12;
        var _26 = _fillData;
        var _27 = _fillData+4;
        var _tmp = _newsize - _1;
        __lastLabel__ = 130; ;
        _bb7$16222: while(1) { // _bb7
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp17 = _1 + _indvar;
          var _28 = IHEAP[_25];
          var _scevgep = _28+8*_tmp17;
          var _29 = _scevgep == 0;
          ;
          if (!_29) {
            ;
            var _30 = IHEAP[_26];
            var _31 = IHEAP[_27];
            var _scevgep1819 = _28+8*_tmp17;
            IHEAP[_scevgep1819] = _30;
            var _scevgep20 = _28+8*_tmp17+4;
            IHEAP[_scevgep20] = _31;
            ;
          }
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _tmp;
          if (_exitcond) { __lastLabel__ = 150; __label__ = 3; /* _bb12 */ break _bb12$_bb3$16199; } else { __lastLabel__ = 150; __label__ = 2; /* _bb7 */ continue _bb7$16222; }
        }
      }
    } while(0);
    IHEAP[_0] = _newsize;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIN17btTypedConstraint17btConstraintInfo1EE6resizeEiRKS1_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIN17btTypedConstraint17btConstraintInfo1EE6resizeEiRKS1_, "__ZN20btAlignedObjectArrayIN17btTypedConstraint17btConstraintInfo1EE6resizeEiRKS1_");
  
  
  function __ZN35btSequentialImpulseConstraintSolver14convertContactEP20btPersistentManifoldRK19btContactSolverInfo(_this, _manifold, _infoGlobal) {
    var __stackBase__  = STACKTOP; STACKTOP += 50;
    var __label__;
    var __lastLabel__ = null;
    var _rel_pos1 = __stackBase__;
    var _rel_pos2 = __stackBase__+16;
    var _relaxation = __stackBase__+32;
    var _rel_vel = __stackBase__+33;
    var _vel = __stackBase__+34;
    var _0 = _manifold+1108;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = _manifold+1112;
    var _4 = IHEAP[_3];
    var _5 = _4;
    var _6 = _1+232;
    var _7 = _6;
    var _8 = IHEAP[_7];
    var __lobit_i = _8 & 2;
    var _toBool_i = __lobit_i == 0;
    ;
    if (_toBool_i) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _9 = _1;
      __lastLabel__ = 131; ;
    }
    var _10 = __lastLabel__ == 131 ? _9 : (0);
    var _11 = _4+232;
    var _12 = _11;
    var _13 = IHEAP[_12];
    var __lobit_i37 = _13 & 2;
    var _toBool_i38 = __lobit_i37 == 0;
    ;
    if (_toBool_i38) {
      __lastLabel__ = 3289; ;
    }
    else {
      __lastLabel__ = 3289; ;
      var _14 = _4;
      __lastLabel__ = 412; ;
    }
    var _15 = __lastLabel__ == 412 ? _14 : (0);
    var _16 = _10 == 0;
    ;
    _bb1$_bb$16235: do { 
      if (_16) {
        __label__ = 75; /* _bb1 */ 
      }
      else {
        ;
        var _17 = _10+336;
        var _18 = FHEAP[_17];
        var _19 = _18 == 0;
        if (_19) { __label__ = 75; /* _bb1 */ break _bb1$_bb$16235; } else { __label__ = 2995; /* _bb34_preheader */ break _bb1$_bb$16235; }
      }
    } while(0);
    _bb1$_bb34_preheader$16237: do { 
      if (__label__ == 75) {
        var _20 = _15 == 0;
        if (_20) { __label__ = 44; /* _return */ break _bb1$_bb34_preheader$16237; }
        var _21 = _15+336;
        var _22 = FHEAP[_21];
        var _23 = _22 == 0;
        if (_23) { __label__ = 44; /* _return */ break _bb1$_bb34_preheader$16237; } else { __label__ = 2995; /* _bb34_preheader */ break _bb1$_bb34_preheader$16237; }
      }
    } while(0);
    _return$_bb34_preheader$16240: do { 
      if (__label__ == 2995) {
        var _24 = _manifold+1116;
        var _25 = IHEAP[_24];
        var _26 = _25 > 0;
        if (!(_26)) { __label__ = 44; /* _return */ break _return$_bb34_preheader$16240; }
        var _27 = _manifold+1124;
        var _28 = _this+4+4;
        var _29 = _this+4+8;
        var _30 = _this+4+12;
        var _31 = _this+4+16;
        var _32 = _this+44+4;
        var _33 = _infoGlobal+60;
        var _34 = _vel+8;
        var _35 = _vel+4;
        var _36 = _vel;
        var _37 = _4;
        var _38 = _1;
        __lastLabel__ = 130; ;
        _bb7$16243: while(1) { // _bb7
          var _j_061 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _scevgep65 = _manifold+4+_j_061*276;
          var _scevgep6566 = _scevgep65;
          var _scevgep67 = _manifold+4+_j_061*276+80;
          var _scevgep68 = _manifold+4+_j_061*276+116;
          var _scevgep69 = _manifold+4+_j_061*276+136;
          var _scevgep70 = _manifold+4+_j_061*276+128;
          var _scevgep71 = _manifold+4+_j_061*276+148;
          var _scevgep7172 = _scevgep71;
          var _scevgep73 = _manifold+4+_j_061*276+140;
          var _scevgep74 = _manifold+4+_j_061*276+132;
          var _scevgep75 = _manifold+4+_j_061*276+164;
          var _scevgep7576 = _scevgep75;
          var _scevgep77 = _manifold+4+_j_061*276+64+8;
          var _scevgep78 = _manifold+4+_j_061*276+64+4;
          var _scevgep79 = _manifold+4+_j_061*276+64;
          var _scevgep80 = _manifold+4+_j_061*276+148+4;
          var _scevgep81 = _manifold+4+_j_061*276+148+8;
          var _scevgep82 = _manifold+4+_j_061*276+148+12;
          var _scevgep83 = _manifold+4+_j_061*276+164+4;
          var _scevgep84 = _manifold+4+_j_061*276+164+8;
          var _scevgep85 = _manifold+4+_j_061*276+164+12;
          var _tmp = _j_061 + 1;
          var _39 = FHEAP[_scevgep67];
          var _40 = FHEAP[_27];
          var _41 = _39 > _40;
          ;
          if (!_41) {
            ;
            var _42 = IHEAP[_28];
            var _43 = IHEAP[_29];
            var _44 = _43 == _42;
            ;
            _bb_i43$__ZN20btAlignedObjectArrayI18btSolverConstraintE21expandNonInitializingEv_exit$16247: do { 
              if (_44) {
                __lastLabel__ = 62; ;
                var _45 = _42 == 0;
                var _46 = _42 << 1;
                var _iftmp_207_0_i_i = _45 ? 1 : _46;
                var _47 = _43 < _iftmp_207_0_i_i;
                if (_47) { __lastLabel__ = 2996; ; } else { __lastLabel__ = 2996; __label__ = 2980; /* __ZN20btAlignedObjectArrayI18btSolverConstraintE21expandNonInitializingEv_exit */ break _bb_i43$__ZN20btAlignedObjectArrayI18btSolverConstraintE21expandNonInitializingEv_exit$16247; }
                var _48 = _iftmp_207_0_i_i == 0;
                ;
                if (_48) {
                  __lastLabel__ = 263; ;
                }
                else {
                  __lastLabel__ = 263; ;
                  var _49 = _iftmp_207_0_i_i * 136;
                  var _50 = __Z22btAlignedAllocInternalji(_49, 16);
                  var _phitmp_i_i = _50;
                  var __pre_i = IHEAP[_28];
                  __lastLabel__ = 274; ;
                }
                var _51 = __lastLabel__ == 274 ? __pre_i : (_42);
                var _52 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
                var _53 = _51 > 0;
                if (_53) { __lastLabel__ = 2998; __label__ = 277; /* _bb_i4_i_i */  } else { __lastLabel__ = 2998; __label__ = 2959; /* __ZNK20btAlignedObjectArrayI18btSolverConstraintE4copyEiiPS0__exit_i_i */  }
                _bb_i4_i_i$__ZNK20btAlignedObjectArrayI18btSolverConstraintE4copyEiiPS0__exit_i_i$16253: while(1) { // _bb_i4_i_i,__ZNK20btAlignedObjectArrayI18btSolverConstraintE4copyEiiPS0__exit_i_i
                  if (__label__ == 277) {
                    var _indvar_i_i_i = __lastLabel__ == 277 ? _indvar_next_i_i_i : (0);
                    var _scevgep63 = _52+136*_indvar_i_i_i;
                    var _scevgep5_i_i_i = _scevgep63;
                    var _54 = IHEAP[_30];
                    var _scevgep = _54+136*_indvar_i_i_i;
                    var _scevgep67_i_i_i = _scevgep;
                    _llvm_memcpy_p0i8_p0i8_i32(_scevgep5_i_i_i, _scevgep67_i_i_i, 136, 4, false);
                    var _indvar_next_i_i_i = _indvar_i_i_i + 1;
                    var _exitcond = _indvar_next_i_i_i == _51;
                    if (_exitcond) { __lastLabel__ = 277; __label__ = 2959; /* __ZNK20btAlignedObjectArrayI18btSolverConstraintE4copyEiiPS0__exit_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayI18btSolverConstraintE4copyEiiPS0__exit_i_i$16253; } else { __lastLabel__ = 277; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayI18btSolverConstraintE4copyEiiPS0__exit_i_i$16253; }
                  }
                  else if (__label__ == 2959) {
                    var _55 = IHEAP[_30];
                    var _56 = _55 == 0;
                    if (_56) { __label__ = 2984; /* __ZN20btAlignedObjectArrayI18btSolverConstraintE10deallocateEv_exit_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayI18btSolverConstraintE4copyEiiPS0__exit_i_i$16253; } else { __label__ = 1387; /* _bb_i_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayI18btSolverConstraintE4copyEiiPS0__exit_i_i$16253; }
                  }
                }
                if (__label__ == 1387) {
                  var _57 = IHEAP[_31];
                  var _toBool_i_i_i = _57 == 0;
                  ;
                  if (!_toBool_i_i_i) {
                    ;
                    var _58 = _55;
                    __Z21btAlignedFreeInternalPv(_58);
                    ;
                  }
                  IHEAP[_30] = 0;
                  ;
                }
                IHEAP[_31] = 1;
                IHEAP[_30] = _52;
                IHEAP[_29] = _iftmp_207_0_i_i;
                var __pre6_i = IHEAP[_28];
                __lastLabel__ = 2984; ;
              }
              else {
                __lastLabel__ = 62; ;
              }
            } while(0);
            var _59 = __lastLabel__ == 2984 ? __pre6_i : (__lastLabel__ == 62 ? _42 : (_42));
            var _60 = _59 + 1;
            IHEAP[_28] = _60;
            var _61 = IHEAP[_30];
            var _62 = _61+136*_42;
            var _63 = IHEAP[_7];
            var __lobit_i45 = _63 & 2;
            var _toBool_i46 = __lobit_i45 == 0;
            var _64 = _toBool_i46 ? 0 : _38;
            var _65 = IHEAP[_12];
            var __lobit_i50 = _65 & 2;
            var _toBool_i51 = __lobit_i50 == 0;
            var _66 = _toBool_i51 ? 0 : _37;
            var _67 = _64 == 0;
            ;
            if (_67) {
              __lastLabel__ = 2980; ;
              var _68 = __ZN35btSequentialImpulseConstraintSolver12getFixedBodyEv();
              __lastLabel__ = 150; ;
            }
            else {
              __lastLabel__ = 2980; ;
            }
            var _iftmp_186_0 = __lastLabel__ == 150 ? __ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed : (_64);
            var _69 = _61+136*_42+104;
            IHEAP[_69] = _iftmp_186_0;
            var _70 = _66 == 0;
            ;
            if (_70) {
              __lastLabel__ = 3; ;
              var _71 = __ZN35btSequentialImpulseConstraintSolver12getFixedBodyEv();
              __lastLabel__ = 108; ;
            }
            else {
              __lastLabel__ = 3; ;
            }
            var _iftmp_187_0 = __lastLabel__ == 108 ? __ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed : (_66);
            var _72 = _61+136*_42+108;
            IHEAP[_72] = _iftmp_187_0;
            var _73 = _61+136*_42+112;
            IHEAP[_73] = _scevgep6566;
            __ZN35btSequentialImpulseConstraintSolver22setupContactConstraintER18btSolverConstraintP17btCollisionObjectS3_R15btManifoldPointRK19btContactSolverInfoR9btVector3RfSB_SA_SA_(_this, _62, _2, _5, _scevgep65, _infoGlobal, _vel, _rel_vel, _relaxation, _rel_pos1, _rel_pos2);
            var _74 = IHEAP[_32];
            var _75 = _61+136*_42+100;
            IHEAP[_75] = _74;
            var _76 = IHEAP[_33];
            var _77 = _76 & 32;
            var _78 = _77 == 0;
            ;
            _bb21$_bb16$16270: do { 
              if (_78) {
                __label__ = 110; /* _bb21 */ 
              }
              else {
                ;
                var _79 = IHEAP[_scevgep68];
                var _toBool17not = _79 == 0;
                if (_toBool17not) { __label__ = 110; /* _bb21 */ break _bb21$_bb16$16270; }
                var _165 = FHEAP[_scevgep69];
                var _166 = FHEAP[_scevgep70];
                var _167 = FHEAP[_relaxation];
                var _168 = __ZN35btSequentialImpulseConstraintSolver21addFrictionConstraintERK9btVector3P11btRigidBodyS4_iR15btManifoldPointS2_S2_P17btCollisionObjectS8_fff(_this, _scevgep7172, _10, _15, _42, _scevgep65, _rel_pos1, _rel_pos2, _2, _5, _167, _166, _165);
                var _169 = IHEAP[_33];
                var _170 = _169 & 16;
                var _171 = _170 == 0;
                if (_171) { __label__ = 91; /* _bb32 */ break _bb21$_bb16$16270; }
                var _172 = FHEAP[_scevgep73];
                var _173 = FHEAP[_scevgep74];
                var _174 = __ZN35btSequentialImpulseConstraintSolver21addFrictionConstraintERK9btVector3P11btRigidBodyS4_iR15btManifoldPointS2_S2_P17btCollisionObjectS8_fff(_this, _scevgep7576, _10, _15, _42, _scevgep65, _rel_pos1, _rel_pos2, _2, _5, _167, _173, _172);
                __label__ = 91; /* _bb32 */ break _bb21$_bb16$16270;
              }
            } while(0);
            if (__label__ == 110) {
              var _80 = FHEAP[_scevgep77];
              var _81 = FHEAP[_rel_vel];
              var _82 = _80 * _81;
              var _83 = FHEAP[_scevgep78];
              var _84 = _83 * _81;
              var _85 = FHEAP[_scevgep79];
              var _86 = _85 * _81;
              var _87 = FHEAP[_34];
              var _88 = _87 - _82;
              var _89 = FHEAP[_35];
              var _90 = _89 - _84;
              var _91 = FHEAP[_36];
              var _92 = _91 - _86;
              FHEAP[_scevgep71] = _92;
              FHEAP[_scevgep80] = _90;
              FHEAP[_scevgep81] = _88;
              FHEAP[_scevgep82] = 0;
              var _93 = _92 * _92;
              var _94 = _90 * _90;
              var _95 = _93 + _94;
              var _96 = _88 * _88;
              var _97 = _95 + _96;
              var _98 = IHEAP[_33];
              var _99 = _98 & 64;
              var __not = _99 != 0;
              var _100 = _97 <= 1.1920928955078125e-7;
              var _or_cond = __not | _100;
              ;
              if (_or_cond) {
                ;
                var _132 = _fabsf(_80);
                var _133 = _132 > 0.7071067690849304;
                ;
                if (_133) {
                  ;
                  var _134 = _83 * _83;
                  var _135 = _80 * _80;
                  var _136 = _134 + _135;
                  var _137 = _sqrtf(_136);
                  var _138 = 1 / _137;
                  FHEAP[_scevgep71] = 0;
                  var _139 = 0 - _80;
                  var _140 = _138 * _139;
                  FHEAP[_scevgep80] = _140;
                  var _141 = _83 * _138;
                  FHEAP[_scevgep81] = _141;
                  var _142 = _136 * _138;
                  FHEAP[_scevgep75] = _142;
                  var _143 = 0 - _85;
                  var _144 = _141 * _143;
                  FHEAP[_scevgep83] = _144;
                  var _145 = _85 * _140;
                  __lastLabel__ = 3007; ;
                }
                else {
                  ;
                  var _146 = _85 * _85;
                  var _147 = _83 * _83;
                  var _148 = _146 + _147;
                  var _149 = _sqrtf(_148);
                  var _150 = 1 / _149;
                  var _151 = 0 - _83;
                  var _152 = _150 * _151;
                  FHEAP[_scevgep71] = _152;
                  var _153 = _85 * _150;
                  FHEAP[_scevgep80] = _153;
                  FHEAP[_scevgep81] = 0;
                  var _154 = 0 - _80;
                  var _155 = _153 * _154;
                  FHEAP[_scevgep75] = _155;
                  var _156 = _80 * _152;
                  FHEAP[_scevgep83] = _156;
                  var _157 = _148 * _150;
                  __lastLabel__ = 159; ;
                }
                var _storemerge = __lastLabel__ == 159 ? _157 : (_145);
                FHEAP[_scevgep84] = _storemerge;
                var _158 = IHEAP[_33];
                var _159 = _158 & 16;
                var _160 = _159 == 0;
                ;
                if (_160) {
                  ;
                  var __pre = FHEAP[_relaxation];
                  __lastLabel__ = 3009; ;
                }
                else {
                  ;
                  __Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3(_2, _scevgep7576);
                  __Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3(_5, _scevgep7576);
                  var _161 = FHEAP[_relaxation];
                  var _162 = __ZN35btSequentialImpulseConstraintSolver21addFrictionConstraintERK9btVector3P11btRigidBodyS4_iR15btManifoldPointS2_S2_P17btCollisionObjectS8_fff(_this, _scevgep7576, _10, _15, _42, _scevgep65, _rel_pos1, _rel_pos2, _2, _5, _161, 0, 0);
                  __lastLabel__ = 66; ;
                }
                var _163 = __lastLabel__ == 3009 ? __pre : (_161);
                __Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3(_2, _scevgep7172);
                __Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3(_5, _scevgep7172);
                var _164 = __ZN35btSequentialImpulseConstraintSolver21addFrictionConstraintERK9btVector3P11btRigidBodyS4_iR15btManifoldPointS2_S2_P17btCollisionObjectS8_fff(_this, _scevgep7172, _10, _15, _42, _scevgep65, _rel_pos1, _rel_pos2, _2, _5, _163, 0, 0);
                IHEAP[_scevgep68] = 1;
                ;
              }
              else {
                ;
                var _101 = _sqrtf(_97);
                var _102 = 1 / _101;
                var _103 = _92 * _102;
                FHEAP[_scevgep71] = _103;
                var _104 = _90 * _102;
                FHEAP[_scevgep80] = _104;
                var _105 = _88 * _102;
                FHEAP[_scevgep81] = _105;
                var _106 = IHEAP[_33];
                var _107 = _106 & 16;
                var _108 = _107 == 0;
                ;
                if (_108) {
                  ;
                  var __pre86 = FHEAP[_relaxation];
                  __lastLabel__ = 3004; ;
                }
                else {
                  ;
                  var _109 = _103 * _83;
                  var _110 = _104 * _85;
                  var _111 = _109 - _110;
                  var _112 = _105 * _85;
                  var _113 = _103 * _80;
                  var _114 = _112 - _113;
                  var _115 = _104 * _80;
                  var _116 = _105 * _83;
                  var _117 = _115 - _116;
                  FHEAP[_scevgep75] = _117;
                  FHEAP[_scevgep83] = _114;
                  FHEAP[_scevgep84] = _111;
                  FHEAP[_scevgep85] = 0;
                  var _118 = _117 * _117;
                  var _119 = _114 * _114;
                  var _120 = _118 + _119;
                  var _121 = _111 * _111;
                  var _122 = _120 + _121;
                  var _123 = _sqrtf(_122);
                  var _124 = 1 / _123;
                  var _125 = _117 * _124;
                  FHEAP[_scevgep75] = _125;
                  var _126 = _114 * _124;
                  FHEAP[_scevgep83] = _126;
                  var _127 = _111 * _124;
                  FHEAP[_scevgep84] = _127;
                  __Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3(_2, _scevgep7576);
                  __Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3(_5, _scevgep7576);
                  var _128 = FHEAP[_relaxation];
                  var _129 = __ZN35btSequentialImpulseConstraintSolver21addFrictionConstraintERK9btVector3P11btRigidBodyS4_iR15btManifoldPointS2_S2_P17btCollisionObjectS8_fff(_this, _scevgep7576, _10, _15, _42, _scevgep65, _rel_pos1, _rel_pos2, _2, _5, _128, 0, 0);
                  __lastLabel__ = 65; ;
                }
                var _130 = __lastLabel__ == 3004 ? __pre86 : (_128);
                __Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3(_2, _scevgep7172);
                __Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3(_5, _scevgep7172);
                var _131 = __ZN35btSequentialImpulseConstraintSolver21addFrictionConstraintERK9btVector3P11btRigidBodyS4_iR15btManifoldPointS2_S2_P17btCollisionObjectS8_fff(_this, _scevgep7172, _10, _15, _42, _scevgep65, _rel_pos1, _rel_pos2, _2, _5, _130, 0, 0);
                IHEAP[_scevgep68] = 1;
                ;
              }
            }
            __ZN35btSequentialImpulseConstraintSolver28setFrictionConstraintImpulseER18btSolverConstraintP11btRigidBodyS3_R15btManifoldPointRK19btContactSolverInfo(_this, _62, _64, _66, _scevgep65, _infoGlobal);
            ;
          }
          var _175 = IHEAP[_24];
          var _176 = _175 > _tmp;
          if (_176) { __lastLabel__ = 422; __label__ = 2; /* _bb7 */ continue _bb7$16243; } else { __lastLabel__ = 422; __label__ = 44; /* _return */ break _return$_bb34_preheader$16240; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN35btSequentialImpulseConstraintSolver14convertContactEP20btPersistentManifoldRK19btContactSolverInfo.__index__ = Runtime.getFunctionIndex(__ZN35btSequentialImpulseConstraintSolver14convertContactEP20btPersistentManifoldRK19btContactSolverInfo, "__ZN35btSequentialImpulseConstraintSolver14convertContactEP20btPersistentManifoldRK19btContactSolverInfo");
  
  
  function __ZNK18btSliderConstraint9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = __ZNK17btTypedConstraint9serializeEPvP12btSerializer(_0, _dataBuffer, _serializer);
    var _2 = _dataBuffer+44;
    var _scevgep_i_i_i = _this+40;
    var _scevgep4_i_i_i = _2;
    var _scevgep_1_i_i_i = _this+40+4;
    var _scevgep4_1_i_i_i = _dataBuffer+48;
    var _3 = _scevgep4_1_i_i_i;
    var _scevgep_2_i_i_i = _this+40+8;
    var _scevgep4_2_i_i_i = _dataBuffer+52;
    var _4 = _scevgep4_2_i_i_i;
    var _scevgep_3_i_i_i = _this+40+12;
    var _scevgep4_3_i_i_i = _dataBuffer+56;
    var _5 = _scevgep4_3_i_i_i;
    var _6 = FHEAP[_scevgep_i_i_i];
    FHEAP[_scevgep4_i_i_i] = _6;
    var _7 = FHEAP[_scevgep_1_i_i_i];
    FHEAP[_3] = _7;
    var _8 = FHEAP[_scevgep_2_i_i_i];
    FHEAP[_4] = _8;
    var _9 = FHEAP[_scevgep_3_i_i_i];
    FHEAP[_5] = _9;
    var _scevgep_i_1_i_i = _this+40+16;
    var _scevgep4_i_1_i_i = _dataBuffer+60;
    var _10 = _scevgep4_i_1_i_i;
    var _scevgep_1_i_1_i_i = _this+40+16+4;
    var _scevgep4_1_i_1_i_i = _dataBuffer+64;
    var _11 = _scevgep4_1_i_1_i_i;
    var _scevgep_2_i_1_i_i = _this+40+16+8;
    var _scevgep4_2_i_1_i_i = _dataBuffer+68;
    var _12 = _scevgep4_2_i_1_i_i;
    var _scevgep_3_i_1_i_i = _this+40+16+12;
    var _scevgep4_3_i_1_i_i = _dataBuffer+72;
    var _13 = _scevgep4_3_i_1_i_i;
    var _14 = FHEAP[_scevgep_i_1_i_i];
    FHEAP[_10] = _14;
    var _15 = FHEAP[_scevgep_1_i_1_i_i];
    FHEAP[_11] = _15;
    var _16 = FHEAP[_scevgep_2_i_1_i_i];
    FHEAP[_12] = _16;
    var _17 = FHEAP[_scevgep_3_i_1_i_i];
    FHEAP[_13] = _17;
    var _scevgep_i_2_i_i = _this+40+32;
    var _scevgep4_i_2_i_i = _dataBuffer+76;
    var _18 = _scevgep4_i_2_i_i;
    var _scevgep_1_i_2_i_i = _this+40+32+4;
    var _scevgep4_1_i_2_i_i = _dataBuffer+80;
    var _19 = _scevgep4_1_i_2_i_i;
    var _scevgep_2_i_2_i_i = _this+40+32+8;
    var _scevgep4_2_i_2_i_i = _dataBuffer+84;
    var _20 = _scevgep4_2_i_2_i_i;
    var _scevgep_3_i_2_i_i = _this+40+32+12;
    var _scevgep4_3_i_2_i_i = _dataBuffer+88;
    var _21 = _scevgep4_3_i_2_i_i;
    var _22 = FHEAP[_scevgep_i_2_i_i];
    FHEAP[_18] = _22;
    var _23 = FHEAP[_scevgep_1_i_2_i_i];
    FHEAP[_19] = _23;
    var _24 = FHEAP[_scevgep_2_i_2_i_i];
    FHEAP[_20] = _24;
    var _25 = FHEAP[_scevgep_3_i_2_i_i];
    FHEAP[_21] = _25;
    var _scevgep_i_i = _this+40+48;
    var _scevgep4_i_i = _dataBuffer+92;
    var _26 = _scevgep4_i_i;
    var _27 = FHEAP[_scevgep_i_i];
    FHEAP[_26] = _27;
    var _scevgep_1_i_i = _this+40+48+4;
    var _scevgep4_1_i_i = _dataBuffer+96;
    var _28 = _scevgep4_1_i_i;
    var _29 = FHEAP[_scevgep_1_i_i];
    FHEAP[_28] = _29;
    var _scevgep_2_i_i = _this+40+48+8;
    var _scevgep4_2_i_i = _dataBuffer+100;
    var _30 = _scevgep4_2_i_i;
    var _31 = FHEAP[_scevgep_2_i_i];
    FHEAP[_30] = _31;
    var _scevgep_3_i_i = _this+40+48+12;
    var _scevgep4_3_i_i = _dataBuffer+104;
    var _32 = _scevgep4_3_i_i;
    var _33 = FHEAP[_scevgep_3_i_i];
    FHEAP[_32] = _33;
    var _34 = _dataBuffer+108;
    var _scevgep_i_i_i2 = _this+104;
    var _scevgep4_i_i_i3 = _34;
    var _scevgep_1_i_i_i4 = _this+104+4;
    var _scevgep4_1_i_i_i5 = _dataBuffer+112;
    var _35 = _scevgep4_1_i_i_i5;
    var _scevgep_2_i_i_i6 = _this+104+8;
    var _scevgep4_2_i_i_i7 = _dataBuffer+116;
    var _36 = _scevgep4_2_i_i_i7;
    var _scevgep_3_i_i_i8 = _this+104+12;
    var _scevgep4_3_i_i_i9 = _dataBuffer+120;
    var _37 = _scevgep4_3_i_i_i9;
    var _38 = FHEAP[_scevgep_i_i_i2];
    FHEAP[_scevgep4_i_i_i3] = _38;
    var _39 = FHEAP[_scevgep_1_i_i_i4];
    FHEAP[_35] = _39;
    var _40 = FHEAP[_scevgep_2_i_i_i6];
    FHEAP[_36] = _40;
    var _41 = FHEAP[_scevgep_3_i_i_i8];
    FHEAP[_37] = _41;
    var _scevgep_i_1_i_i10 = _this+104+16;
    var _scevgep4_i_1_i_i11 = _dataBuffer+124;
    var _42 = _scevgep4_i_1_i_i11;
    var _scevgep_1_i_1_i_i12 = _this+104+16+4;
    var _scevgep4_1_i_1_i_i13 = _dataBuffer+128;
    var _43 = _scevgep4_1_i_1_i_i13;
    var _scevgep_2_i_1_i_i14 = _this+104+16+8;
    var _scevgep4_2_i_1_i_i15 = _dataBuffer+132;
    var _44 = _scevgep4_2_i_1_i_i15;
    var _scevgep_3_i_1_i_i16 = _this+104+16+12;
    var _scevgep4_3_i_1_i_i17 = _dataBuffer+136;
    var _45 = _scevgep4_3_i_1_i_i17;
    var _46 = FHEAP[_scevgep_i_1_i_i10];
    FHEAP[_42] = _46;
    var _47 = FHEAP[_scevgep_1_i_1_i_i12];
    FHEAP[_43] = _47;
    var _48 = FHEAP[_scevgep_2_i_1_i_i14];
    FHEAP[_44] = _48;
    var _49 = FHEAP[_scevgep_3_i_1_i_i16];
    FHEAP[_45] = _49;
    var _scevgep_i_2_i_i18 = _this+104+32;
    var _scevgep4_i_2_i_i19 = _dataBuffer+140;
    var _50 = _scevgep4_i_2_i_i19;
    var _scevgep_1_i_2_i_i20 = _this+104+32+4;
    var _scevgep4_1_i_2_i_i21 = _dataBuffer+144;
    var _51 = _scevgep4_1_i_2_i_i21;
    var _scevgep_2_i_2_i_i22 = _this+104+32+8;
    var _scevgep4_2_i_2_i_i23 = _dataBuffer+148;
    var _52 = _scevgep4_2_i_2_i_i23;
    var _scevgep_3_i_2_i_i24 = _this+104+32+12;
    var _scevgep4_3_i_2_i_i25 = _dataBuffer+152;
    var _53 = _scevgep4_3_i_2_i_i25;
    var _54 = FHEAP[_scevgep_i_2_i_i18];
    FHEAP[_50] = _54;
    var _55 = FHEAP[_scevgep_1_i_2_i_i20];
    FHEAP[_51] = _55;
    var _56 = FHEAP[_scevgep_2_i_2_i_i22];
    FHEAP[_52] = _56;
    var _57 = FHEAP[_scevgep_3_i_2_i_i24];
    FHEAP[_53] = _57;
    var _scevgep_i_i26 = _this+104+48;
    var _scevgep4_i_i27 = _dataBuffer+156;
    var _58 = _scevgep4_i_i27;
    var _59 = FHEAP[_scevgep_i_i26];
    FHEAP[_58] = _59;
    var _scevgep_1_i_i28 = _this+104+48+4;
    var _scevgep4_1_i_i29 = _dataBuffer+160;
    var _60 = _scevgep4_1_i_i29;
    var _61 = FHEAP[_scevgep_1_i_i28];
    FHEAP[_60] = _61;
    var _scevgep_2_i_i30 = _this+104+48+8;
    var _scevgep4_2_i_i31 = _dataBuffer+164;
    var _62 = _scevgep4_2_i_i31;
    var _63 = FHEAP[_scevgep_2_i_i30];
    FHEAP[_62] = _63;
    var _scevgep_3_i_i32 = _this+104+48+12;
    var _scevgep4_3_i_i33 = _dataBuffer+168;
    var _64 = _scevgep4_3_i_i33;
    var _65 = FHEAP[_scevgep_3_i_i32];
    FHEAP[_64] = _65;
    var _66 = _this+176;
    var _67 = FHEAP[_66];
    var _68 = _dataBuffer+172;
    var _69 = _68;
    FHEAP[_69] = _67;
    var _70 = _this+172;
    var _71 = FHEAP[_70];
    var _72 = _dataBuffer+176;
    var _73 = _72;
    FHEAP[_73] = _71;
    var _74 = _this+184;
    var _75 = FHEAP[_74];
    var _76 = _dataBuffer+180;
    var _77 = _76;
    FHEAP[_77] = _75;
    var _78 = _this+180;
    var _79 = FHEAP[_78];
    var _80 = _dataBuffer+184;
    var _81 = _80;
    FHEAP[_81] = _79;
    var _82 = _this+168;
    var _83 = IHEAP[_82];
    var _84 = _83;
    var _85 = _dataBuffer+188;
    var _86 = _85;
    IHEAP[_86] = _84;
    var _87 = _this+37;
    var _88 = IHEAP[_87];
    var _89 = _88;
    var _90 = _dataBuffer+192;
    var _91 = _90;
    IHEAP[_91] = _89;
    ;
    return __str920;
  }
  __ZNK18btSliderConstraint9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK18btSliderConstraint9serializeEPvP12btSerializer, "__ZNK18btSliderConstraint9serializeEPvP12btSerializer");
  
  
  function __ZN18btSliderConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_ff(_this, _info, _transA, _transB, _linVelA, _linVelB, _rbAinvMass, _rbBinvMass) {
    var __stackBase__  = STACKTOP; STACKTOP += 80;
    var __label__;
    var __lastLabel__ = null;
    var _p = __stackBase__;
    var _q = __stackBase__+16;
    var _tmpA = __stackBase__+32;
    var _tmpB = __stackBase__+48;
    var _tmp = __stackBase__+64;
    var _0 = _info+24;
    var _1 = IHEAP[_0];
    var _2 = _this+168;
    var _3 = IHEAP[_2];
    var _toBool = _3 == 0;
    var _iftmp_184_0 = _toBool ? -1 : 1;
    var _4 = _this+876+48+8;
    var _5 = FHEAP[_4];
    var _6 = _this+812+48+8;
    var _7 = FHEAP[_6];
    var _8 = _5 - _7;
    var _9 = _this+876+48+4;
    var _10 = FHEAP[_9];
    var _11 = _this+812+48+4;
    var _12 = FHEAP[_11];
    var _13 = _10 - _12;
    var _14 = _this+876+48;
    var _15 = FHEAP[_14];
    var _16 = _this+812+48;
    var _17 = FHEAP[_16];
    var _18 = _15 - _17;
    var _19 = _rbAinvMass < 1.1920928955078125e-7;
    var _20 = _rbBinvMass < 1.1920928955078125e-7;
    var _or_cond = _19 | _20;
    var _21 = _rbAinvMass + _rbBinvMass;
    var _22 = _21 > 0;
    ;
    if (_22) {
      __lastLabel__ = -1; ;
      var _23 = _rbBinvMass / _21;
      __lastLabel__ = 2; ;
    }
    else {
      __lastLabel__ = -1; ;
    }
    var _storemerge = __lastLabel__ == 2 ? _23 : (0.5);
    var _24 = 1 - _storemerge;
    var _25 = _this+812+32;
    var _26 = _this+812+16;
    var _27 = _this+812;
    var _28 = FHEAP[_27];
    var _29 = FHEAP[_26];
    var _30 = FHEAP[_25];
    var _31 = _this+876+32;
    var _32 = _this+876+16;
    var _33 = _this+876;
    var _34 = FHEAP[_33];
    var _35 = FHEAP[_32];
    var _36 = FHEAP[_31];
    var _37 = _this+37;
    var _38 = IHEAP[_37];
    var _toBool10 = _38 == 0;
    ;
    if (_toBool10) {
      ;
      var _96 = _this+812+32+4;
      var _97 = _this+812+16+4;
      var _98 = _this+812+4;
      var _99 = FHEAP[_98];
      var _100 = FHEAP[_97];
      var _101 = FHEAP[_96];
      var _102 = _p;
      FHEAP[_102] = _99;
      var _103 = _p+4;
      FHEAP[_103] = _100;
      var _104 = _p+8;
      FHEAP[_104] = _101;
      var _105 = _p+12;
      FHEAP[_105] = 0;
      var _106 = _this+812+32+8;
      var _107 = _this+812+16+8;
      var _108 = _this+812+8;
      var _109 = FHEAP[_108];
      var _110 = FHEAP[_107];
      var _111 = FHEAP[_106];
      var _112 = _q;
      FHEAP[_112] = _109;
      var _113 = _q+4;
      FHEAP[_113] = _110;
      var _114 = _q+8;
      FHEAP[_114] = _111;
      var _115 = _q+12;
      FHEAP[_115] = 0;
      __lastLabel__ = 3; ;
    }
    else {
      ;
      var _39 = _36 * _24;
      var _40 = _35 * _24;
      var _41 = _34 * _24;
      var _42 = _30 * _storemerge;
      var _43 = _29 * _storemerge;
      var _44 = _28 * _storemerge;
      var _45 = _42 + _39;
      var _46 = _43 + _40;
      var _47 = _44 + _41;
      var _48 = _47 * _47;
      var _49 = _46 * _46;
      var _50 = _48 + _49;
      var _51 = _45 * _45;
      var _52 = _50 + _51;
      var _53 = _sqrtf(_52);
      var _54 = 1 / _53;
      var _55 = _47 * _54;
      var _56 = _46 * _54;
      var _57 = _45 * _54;
      var _58 = _fabsf(_57);
      var _59 = _58 > 0.7071067690849304;
      ;
      if (_59) {
        ;
        var _60 = _56 * _56;
        var _61 = _57 * _57;
        var _62 = _60 + _61;
        var _63 = _sqrtf(_62);
        var _64 = 1 / _63;
        var _65 = _p;
        FHEAP[_65] = 0;
        var _66 = 0 - _57;
        var _67 = _64 * _66;
        var _68 = _p+4;
        FHEAP[_68] = _67;
        var _69 = _56 * _64;
        var _70 = _p+8;
        FHEAP[_70] = _69;
        var _71 = _q;
        var _72 = _62 * _64;
        FHEAP[_71] = _72;
        var _73 = 0 - _55;
        var _74 = _69 * _73;
        var _75 = _q+4;
        FHEAP[_75] = _74;
        var _76 = _55 * _67;
        var _77 = _q+8;
        FHEAP[_77] = _76;
        __lastLabel__ = 131; ;
      }
      else {
        ;
        var _78 = _55 * _55;
        var _79 = _56 * _56;
        var _80 = _78 + _79;
        var _81 = _sqrtf(_80);
        var _82 = 1 / _81;
        var _83 = _p;
        var _84 = 0 - _56;
        var _85 = _82 * _84;
        FHEAP[_83] = _85;
        var _86 = _55 * _82;
        var _87 = _p+4;
        FHEAP[_87] = _86;
        var _88 = _p+8;
        FHEAP[_88] = 0;
        var _89 = _q;
        var _90 = 0 - _57;
        var _91 = _86 * _90;
        FHEAP[_89] = _91;
        var _92 = _57 * _85;
        var _93 = _q+4;
        FHEAP[_93] = _92;
        var _94 = _80 * _82;
        var _95 = _q+8;
        FHEAP[_95] = _94;
        __lastLabel__ = 159; ;
      }
    }
    var _116 = __lastLabel__ == 3 ? _99 : (__lastLabel__ == 131 ? 0 : (_85));
    var _ax1_0_0_0 = __lastLabel__ == 3 ? _28 : (__lastLabel__ == 131 ? _55 : (_55));
    var _ax1_0_1_0 = __lastLabel__ == 3 ? _29 : (__lastLabel__ == 131 ? _56 : (_56));
    var _ax1_0_2_0 = __lastLabel__ == 3 ? _30 : (__lastLabel__ == 131 ? _57 : (_57));
    var _117 = _info+12;
    var _118 = IHEAP[_117];
    var _119 = _p;
    FHEAP[_118] = _116;
    var _120 = IHEAP[_117];
    var _121 = _p+4;
    var _122 = FHEAP[_121];
    var _123 = _120+4;
    FHEAP[_123] = _122;
    var _124 = IHEAP[_117];
    var _125 = _p+8;
    var _126 = FHEAP[_125];
    var _127 = _124+8;
    FHEAP[_127] = _126;
    var _128 = IHEAP[_117];
    var _129 = _q;
    var _130 = FHEAP[_129];
    var _131 = _128+4*_1;
    FHEAP[_131] = _130;
    var _132 = IHEAP[_117];
    var _133 = _1 + 1;
    var _134 = _q+4;
    var _135 = FHEAP[_134];
    var _136 = _132+4*_133;
    FHEAP[_136] = _135;
    var _137 = IHEAP[_117];
    var _138 = _1 + 2;
    var _139 = _q+8;
    var _140 = FHEAP[_139];
    var _141 = _137+4*_138;
    FHEAP[_141] = _140;
    var _142 = _info+20;
    var _143 = IHEAP[_142];
    var _144 = FHEAP[_119];
    var _145 = 0 - _144;
    FHEAP[_143] = _145;
    var _146 = IHEAP[_142];
    var _147 = FHEAP[_121];
    var _148 = 0 - _147;
    var _149 = _146+4;
    FHEAP[_149] = _148;
    var _150 = IHEAP[_142];
    var _151 = FHEAP[_125];
    var _152 = 0 - _151;
    var _153 = _150+8;
    FHEAP[_153] = _152;
    var _154 = IHEAP[_142];
    var _155 = FHEAP[_129];
    var _156 = 0 - _155;
    var _157 = _154+4*_1;
    FHEAP[_157] = _156;
    var _158 = IHEAP[_142];
    var _159 = FHEAP[_134];
    var _160 = 0 - _159;
    var _161 = _158+4*_133;
    FHEAP[_161] = _160;
    var _162 = IHEAP[_142];
    var _163 = FHEAP[_139];
    var _164 = 0 - _163;
    var _165 = _162+4*_138;
    FHEAP[_165] = _164;
    var _166 = _this+288;
    var _167 = IHEAP[_166];
    var _168 = _167 & 128;
    var _169 = _168 == 0;
    var _170 = _this+268;
    var _171 = FHEAP[_170];
    ;
    if (_169) {
      __lastLabel__ = 154; ;
      var _172 = _info+4;
      var _173 = FHEAP[_172];
      var _174 = _171 * _173;
      __lastLabel__ = 86; ;
    }
    else {
      __lastLabel__ = 154; ;
    }
    var _iftmp_187_0 = __lastLabel__ == 86 ? _174 : (_171);
    var _175 = _info;
    var _176 = FHEAP[_175];
    var _177 = _176 * _iftmp_187_0;
    var _178 = _28 * _35;
    var _179 = _29 * _34;
    var _180 = _178 - _179;
    var _181 = _30 * _34;
    var _182 = _28 * _36;
    var _183 = _181 - _182;
    var _184 = _29 * _36;
    var _185 = _30 * _35;
    var _186 = _184 - _185;
    var _187 = _info+28;
    var _188 = IHEAP[_187];
    var _189 = _186 * _144;
    var _190 = _183 * _147;
    var _191 = _189 + _190;
    var _192 = _180 * _151;
    var _193 = _191 + _192;
    var _194 = _193 * _177;
    FHEAP[_188] = _194;
    var _195 = IHEAP[_187];
    var _196 = FHEAP[_129];
    var _197 = _186 * _196;
    var _198 = FHEAP[_134];
    var _199 = _183 * _198;
    var _200 = _197 + _199;
    var _201 = FHEAP[_139];
    var _202 = _180 * _201;
    var _203 = _200 + _202;
    var _204 = _203 * _177;
    var _205 = _195+4*_1;
    FHEAP[_205] = _204;
    var _206 = IHEAP[_166];
    var _207 = _206 & 64;
    var _208 = _207 == 0;
    ;
    if (!_208) {
      ;
      var _209 = _info+32;
      var _210 = IHEAP[_209];
      var _211 = _this+280;
      var _212 = FHEAP[_211];
      FHEAP[_210] = _212;
      var _213 = IHEAP[_209];
      var _214 = FHEAP[_211];
      var _215 = _213+4*_1;
      FHEAP[_215] = _214;
      ;
    }
    var _216 = _transA+48;
    var _217 = FHEAP[_216];
    var _218 = _transA+48+4;
    var _219 = FHEAP[_218];
    var _220 = _transA+48+8;
    var _221 = FHEAP[_220];
    var _222 = _transB+48;
    var _223 = FHEAP[_222];
    var _224 = _transB+48+4;
    var _225 = FHEAP[_224];
    var _226 = _transB+48+8;
    var _227 = FHEAP[_226];
    var _228 = _1 << 1;
    var _229 = _1 * 3;
    var _230 = _tmpA;
    FHEAP[_230] = 0;
    var _231 = _tmpA+4;
    FHEAP[_231] = 0;
    var _232 = _tmpA+8;
    FHEAP[_232] = 0;
    var _233 = _tmpA+12;
    FHEAP[_233] = 0;
    var _234 = _tmpB;
    FHEAP[_234] = 0;
    var _235 = _tmpB+4;
    FHEAP[_235] = 0;
    var _236 = _tmpB+8;
    FHEAP[_236] = 0;
    var _237 = _tmpB+12;
    FHEAP[_237] = 0;
    var _238 = IHEAP[_37];
    var _toBool22 = _238 == 0;
    ;
    if (_toBool22) {
      ;
      var _415 = _227 - _221;
      var _416 = _225 - _219;
      var _417 = _223 - _217;
      var _418 = _417 * _147;
      var _419 = _416 * _144;
      var _420 = _418 - _419;
      var _421 = _415 * _144;
      var _422 = _417 * _151;
      var _423 = _421 - _422;
      var _424 = _416 * _151;
      var _425 = _415 * _147;
      var _426 = _424 - _425;
      var _427 = _tmp;
      var _428 = _tmp+4;
      var _429 = _tmp+8;
      var _430 = _tmp+12;
      var _431 = IHEAP[_117];
      var _432 = _426 * _storemerge;
      var _scevgep466 = _431+4*_228;
      FHEAP[_scevgep466] = _432;
      var _tmp465_1470 = _228 | 1;
      var _433 = IHEAP[_117];
      var _434 = _423 * _storemerge;
      var _scevgep466_1 = _433+4*_tmp465_1470;
      FHEAP[_scevgep466_1] = _434;
      var _tmp465_2 = _228 + 2;
      var _435 = IHEAP[_117];
      var _436 = _420 * _storemerge;
      var _scevgep466_2 = _435+4*_tmp465_2;
      FHEAP[_scevgep466_2] = _436;
      var _437 = IHEAP[_142];
      var _438 = _426 * _24;
      var _scevgep462 = _437+4*_228;
      FHEAP[_scevgep462] = _438;
      var _tmp461_1471 = _228 | 1;
      var _439 = IHEAP[_142];
      var _440 = _423 * _24;
      var _scevgep462_1 = _439+4*_tmp461_1471;
      FHEAP[_scevgep462_1] = _440;
      var _tmp461_2 = _228 + 2;
      var _441 = IHEAP[_142];
      var _442 = _420 * _24;
      var _scevgep462_2 = _441+4*_tmp461_2;
      FHEAP[_scevgep462_2] = _442;
      var _443 = _417 * _198;
      var _444 = _416 * _196;
      var _445 = _443 - _444;
      var _446 = _415 * _196;
      var _447 = _417 * _201;
      var _448 = _446 - _447;
      var _449 = _416 * _201;
      var _450 = _415 * _198;
      var _451 = _449 - _450;
      FHEAP[_427] = _451;
      FHEAP[_428] = _448;
      FHEAP[_429] = _445;
      FHEAP[_430] = 0;
      var _452 = IHEAP[_117];
      var _453 = _451 * _storemerge;
      var _scevgep458 = _452+4*_229;
      FHEAP[_scevgep458] = _453;
      var _tmp457_1 = _229 + 1;
      var _454 = IHEAP[_117];
      var _455 = _448 * _storemerge;
      var _scevgep458_1 = _454+4*_tmp457_1;
      FHEAP[_scevgep458_1] = _455;
      var _tmp457_2 = _229 + 2;
      var _456 = IHEAP[_117];
      var _457 = _445 * _storemerge;
      var _scevgep458_2 = _456+4*_tmp457_2;
      FHEAP[_scevgep458_2] = _457;
      var _458 = IHEAP[_142];
      var _459 = _451 * _24;
      var _scevgep454 = _458+4*_229;
      FHEAP[_scevgep454] = _459;
      var _tmp453_1 = _229 + 1;
      var _460 = IHEAP[_142];
      var _461 = _448 * _24;
      var _scevgep454_1 = _460+4*_tmp453_1;
      FHEAP[_scevgep454_1] = _461;
      var _tmp453_2 = _229 + 2;
      var _462 = IHEAP[_142];
      var _463 = _445 * _24;
      var _scevgep454_2 = _462+4*_tmp453_2;
      FHEAP[_scevgep454_2] = _463;
      var _464 = _info+8;
      var _465 = IHEAP[_464];
      var _scevgep450 = _465+4*_228;
      FHEAP[_scevgep450] = _144;
      var _tmp449_1472 = _228 | 1;
      var _466 = IHEAP[_464];
      var _467 = FHEAP[_121];
      var _scevgep450_1 = _466+4*_tmp449_1472;
      FHEAP[_scevgep450_1] = _467;
      var _tmp449_2 = _228 + 2;
      var _468 = IHEAP[_464];
      var _469 = FHEAP[_125];
      var _scevgep450_2 = _468+4*_tmp449_2;
      FHEAP[_scevgep450_2] = _469;
      var _470 = _info+8;
      var _471 = IHEAP[_470];
      var _scevgep446 = _471+4*_229;
      FHEAP[_scevgep446] = _196;
      var _tmp445_1 = _229 + 1;
      var _472 = IHEAP[_470];
      var _473 = FHEAP[_134];
      var _scevgep446_1 = _472+4*_tmp445_1;
      FHEAP[_scevgep446_1] = _473;
      var _tmp445_2 = _229 + 2;
      var _474 = IHEAP[_470];
      var _475 = FHEAP[_139];
      var _scevgep446_2 = _474+4*_tmp445_2;
      FHEAP[_scevgep446_2] = _475;
      __lastLabel__ = 3023; ;
    }
    else {
      ;
      var _239 = FHEAP[_4];
      var _240 = _239 - _227;
      var _241 = FHEAP[_9];
      var _242 = _241 - _225;
      var _243 = FHEAP[_14];
      var _244 = _243 - _223;
      var _245 = _244 * _ax1_0_0_0;
      var _246 = _242 * _ax1_0_1_0;
      var _247 = _245 + _246;
      var _248 = _240 * _ax1_0_2_0;
      var _249 = _247 + _248;
      var _250 = _ax1_0_2_0 * _249;
      var _251 = _ax1_0_1_0 * _249;
      var _252 = _ax1_0_0_0 * _249;
      var _253 = _240 - _250;
      var _254 = _242 - _251;
      var _255 = _244 - _252;
      var _256 = FHEAP[_6];
      var _257 = _256 - _221;
      var _258 = FHEAP[_11];
      var _259 = _258 - _219;
      var _260 = FHEAP[_16];
      var _261 = _260 - _217;
      var _262 = _261 * _ax1_0_0_0;
      var _263 = _259 * _ax1_0_1_0;
      var _264 = _262 + _263;
      var _265 = _257 * _ax1_0_2_0;
      var _266 = _264 + _265;
      var _267 = _ax1_0_2_0 * _266;
      var _268 = _ax1_0_1_0 * _266;
      var _269 = _ax1_0_0_0 * _266;
      var _270 = _257 - _267;
      var _271 = _259 - _268;
      var _272 = _261 - _269;
      var _273 = _this+1068;
      var _274 = FHEAP[_273];
      var _275 = _this+1020;
      var _276 = FHEAP[_275];
      var _277 = _274 - _276;
      var _278 = _ax1_0_2_0 * _277;
      var _279 = _ax1_0_1_0 * _277;
      var _280 = _ax1_0_0_0 * _277;
      var _281 = _267 + _278;
      var _282 = _268 + _279;
      var _283 = _269 + _280;
      var _284 = _281 - _250;
      var _285 = _282 - _251;
      var _286 = _283 - _252;
      var _287 = _284 * _storemerge;
      var _288 = _285 * _storemerge;
      var _289 = _286 * _storemerge;
      var _290 = _270 + _287;
      var _291 = _271 + _288;
      var _292 = _272 + _289;
      var _293 = _284 * _24;
      var _294 = _285 * _24;
      var _295 = _286 * _24;
      var _296 = _253 - _293;
      var _297 = _254 - _294;
      var _298 = _255 - _295;
      var _299 = _270 * _24;
      var _300 = _271 * _24;
      var _301 = _272 * _24;
      var _302 = _253 * _storemerge;
      var _303 = _254 * _storemerge;
      var _304 = _255 * _storemerge;
      var _305 = _302 + _299;
      var _306 = _303 + _300;
      var _307 = _304 + _301;
      FHEAP[_119] = _307;
      FHEAP[_121] = _306;
      FHEAP[_125] = _305;
      var _308 = _p+12;
      FHEAP[_308] = 0;
      var _309 = _307 * _307;
      var _310 = _306 * _306;
      var _311 = _309 + _310;
      var _312 = _305 * _305;
      var _313 = _311 + _312;
      var _314 = _313 > 1.1920928955078125e-7;
      ;
      if (_314) {
        ;
        var _315 = _sqrtf(_313);
        var _316 = 1 / _315;
        var _317 = _307 * _316;
        FHEAP[_119] = _317;
        var _318 = _306 * _316;
        FHEAP[_121] = _318;
        var _319 = _305 * _316;
        FHEAP[_125] = _319;
        __lastLabel__ = 251; ;
      }
      else {
        ;
        var _320 = _this+812+32+4;
        var _321 = _this+812+16+4;
        var _322 = _this+812+4;
        var _323 = FHEAP[_322];
        var _324 = FHEAP[_321];
        var _325 = FHEAP[_320];
        FHEAP[_119] = _323;
        FHEAP[_121] = _324;
        FHEAP[_125] = _325;
        FHEAP[_308] = 0;
        __lastLabel__ = 1014; ;
      }
      var _326 = __lastLabel__ == 1014 ? _325 : (_319);
      var _327 = __lastLabel__ == 1014 ? _323 : (_317);
      var _328 = __lastLabel__ == 1014 ? _324 : (_318);
      var _329 = _ax1_0_0_0 * _328;
      var _330 = _ax1_0_1_0 * _327;
      var _331 = _329 - _330;
      var _332 = _ax1_0_2_0 * _327;
      var _333 = _ax1_0_0_0 * _326;
      var _334 = _332 - _333;
      var _335 = _ax1_0_1_0 * _326;
      var _336 = _ax1_0_2_0 * _328;
      var _337 = _335 - _336;
      FHEAP[_129] = _337;
      FHEAP[_134] = _334;
      FHEAP[_139] = _331;
      var _338 = _q+12;
      FHEAP[_338] = 0;
      var _339 = _292 * _328;
      var _340 = _291 * _327;
      var _341 = _339 - _340;
      var _342 = _290 * _327;
      var _343 = _292 * _326;
      var _344 = _342 - _343;
      var _345 = _291 * _326;
      var _346 = _290 * _328;
      var _347 = _345 - _346;
      var _348 = _298 * _328;
      var _349 = _297 * _327;
      var _350 = _348 - _349;
      var _351 = _296 * _327;
      var _352 = _298 * _326;
      var _353 = _351 - _352;
      var _354 = _297 * _326;
      var _355 = _296 * _328;
      var _356 = _354 - _355;
      var _357 = IHEAP[_117];
      var _scevgep442 = _357+4*_228;
      FHEAP[_scevgep442] = _347;
      var _tmp441_1467 = _228 | 1;
      var _358 = IHEAP[_117];
      var _scevgep442_1 = _358+4*_tmp441_1467;
      FHEAP[_scevgep442_1] = _344;
      var _tmp441_2 = _228 + 2;
      var _359 = IHEAP[_117];
      var _scevgep442_2 = _359+4*_tmp441_2;
      FHEAP[_scevgep442_2] = _341;
      var _360 = IHEAP[_142];
      var _361 = 0 - _356;
      var _scevgep438 = _360+4*_228;
      FHEAP[_scevgep438] = _361;
      var _tmp437_1468 = _228 | 1;
      var _362 = IHEAP[_142];
      var _363 = 0 - _353;
      var _scevgep438_1 = _362+4*_tmp437_1468;
      FHEAP[_scevgep438_1] = _363;
      var _tmp437_2 = _228 + 2;
      var _364 = IHEAP[_142];
      var _365 = 0 - _350;
      var _scevgep438_2 = _364+4*_tmp437_2;
      FHEAP[_scevgep438_2] = _365;
      var _366 = _292 * _334;
      var _367 = _291 * _337;
      var _368 = _366 - _367;
      var _369 = _290 * _337;
      var _370 = _292 * _331;
      var _371 = _369 - _370;
      var _372 = _291 * _331;
      var _373 = _290 * _334;
      var _374 = _372 - _373;
      FHEAP[_230] = _374;
      FHEAP[_231] = _371;
      FHEAP[_232] = _368;
      FHEAP[_233] = 0;
      var _375 = _298 * _334;
      var _376 = _297 * _337;
      var _377 = _375 - _376;
      var _378 = _296 * _337;
      var _379 = _298 * _331;
      var _380 = _378 - _379;
      var _381 = _297 * _331;
      var _382 = _296 * _334;
      var _383 = _381 - _382;
      FHEAP[_234] = _383;
      FHEAP[_235] = _380;
      FHEAP[_236] = _377;
      FHEAP[_237] = 0;
      ;
      _bb55$_bb98_loopexit$16432: do { 
        if (_or_cond) {
          __lastLabel__ = 1018; ;
          var _384 = _this+285;
          var _385 = IHEAP[_384];
          var _toBool56not = _385 == 0;
          if (_toBool56not) { __lastLabel__ = 1022; __label__ = 3020; /* _bb98_loopexit */ break _bb55$_bb98_loopexit$16432; } else { __lastLabel__ = 1022; ; }
          var _386 = _383 * _24;
          FHEAP[_234] = _386;
          var _387 = _380 * _24;
          FHEAP[_235] = _387;
          var _388 = _377 * _24;
          FHEAP[_236] = _388;
          var _389 = _374 * _storemerge;
          FHEAP[_230] = _389;
          var _390 = _371 * _storemerge;
          FHEAP[_231] = _390;
          var _391 = _368 * _storemerge;
          FHEAP[_232] = _391;
          __lastLabel__ = 1029; ;
        }
        else {
          __lastLabel__ = 1018; ;
        }
      } while(0);
      var _392 = __lastLabel__ == 1029 ? _389 : (__lastLabel__ == 1018 ? _374 : (_374));
      var _393 = __lastLabel__ == 1029 ? _390 : (__lastLabel__ == 1018 ? _371 : (_371));
      var _394 = __lastLabel__ == 1029 ? _391 : (__lastLabel__ == 1018 ? _368 : (_368));
      var _395 = __lastLabel__ == 1029 ? _386 : (__lastLabel__ == 1018 ? _383 : (_383));
      var _396 = __lastLabel__ == 1029 ? _387 : (__lastLabel__ == 1018 ? _380 : (_380));
      var _397 = __lastLabel__ == 1029 ? _388 : (__lastLabel__ == 1018 ? _377 : (_377));
      var _398 = IHEAP[_117];
      var _scevgep434 = _398+4*_229;
      FHEAP[_scevgep434] = _392;
      var _tmp433_1 = _229 + 1;
      var _399 = IHEAP[_117];
      var _scevgep434_1 = _399+4*_tmp433_1;
      FHEAP[_scevgep434_1] = _393;
      var _tmp433_2 = _229 + 2;
      var _400 = IHEAP[_117];
      var _scevgep434_2 = _400+4*_tmp433_2;
      FHEAP[_scevgep434_2] = _394;
      var _401 = IHEAP[_142];
      var _402 = 0 - _395;
      var _scevgep430 = _401+4*_229;
      FHEAP[_scevgep430] = _402;
      var _tmp429_1 = _229 + 1;
      var _403 = IHEAP[_142];
      var _404 = 0 - _396;
      var _scevgep430_1 = _403+4*_tmp429_1;
      FHEAP[_scevgep430_1] = _404;
      var _tmp429_2 = _229 + 2;
      var _405 = IHEAP[_142];
      var _406 = 0 - _397;
      var _scevgep430_2 = _405+4*_tmp429_2;
      FHEAP[_scevgep430_2] = _406;
      var _407 = _info+8;
      var _408 = IHEAP[_407];
      var _scevgep426 = _408+4*_228;
      FHEAP[_scevgep426] = _327;
      var _tmp425_1469 = _228 | 1;
      var _409 = IHEAP[_407];
      var _scevgep426_1 = _409+4*_tmp425_1469;
      FHEAP[_scevgep426_1] = _328;
      var _tmp425_2 = _228 + 2;
      var _410 = IHEAP[_407];
      var _scevgep426_2 = _410+4*_tmp425_2;
      FHEAP[_scevgep426_2] = _326;
      var _411 = _info+8;
      var _412 = IHEAP[_411];
      var _scevgep422 = _412+4*_229;
      FHEAP[_scevgep422] = _337;
      var _tmp421_1 = _229 + 1;
      var _413 = IHEAP[_411];
      var _scevgep422_1 = _413+4*_tmp421_1;
      FHEAP[_scevgep422_1] = _334;
      var _tmp421_2 = _229 + 2;
      var _414 = IHEAP[_411];
      var _scevgep422_2 = _414+4*_tmp421_2;
      FHEAP[_scevgep422_2] = _331;
      __lastLabel__ = 3020; ;
    }
    var _476 = __lastLabel__ == 3020 ? _326 : (_469);
    var _477 = __lastLabel__ == 3020 ? _328 : (_467);
    var _478 = __lastLabel__ == 3020 ? _327 : (_144);
    var _relA_0_0_0 = __lastLabel__ == 3020 ? _292 : (0);
    var _relA_0_1_0 = __lastLabel__ == 3020 ? _291 : (0);
    var _relA_0_2_0 = __lastLabel__ == 3020 ? _290 : (0);
    var _relB_0_0_0 = __lastLabel__ == 3020 ? _298 : (0);
    var _relB_0_1_0 = __lastLabel__ == 3020 ? _297 : (0);
    var _relB_0_2_0 = __lastLabel__ == 3020 ? _296 : (0);
    var _c_0_0_0 = __lastLabel__ == 3020 ? 0 : (_417);
    var _c_0_1_0 = __lastLabel__ == 3020 ? 0 : (_416);
    var _c_0_2_0 = __lastLabel__ == 3020 ? 0 : (_415);
    var _479 = IHEAP[_166];
    var _480 = _479 & 32;
    var _481 = _480 == 0;
    var _482 = _this+252;
    var _483 = FHEAP[_482];
    ;
    if (_481) {
      __lastLabel__ = 25; ;
      var _484 = _info+4;
      var _485 = FHEAP[_484];
      var _486 = _483 * _485;
      __lastLabel__ = 1567; ;
    }
    else {
      __lastLabel__ = 25; ;
    }
    var _iftmp_194_0 = __lastLabel__ == 1567 ? _486 : (_483);
    var _487 = FHEAP[_175];
    var _488 = _487 * _iftmp_194_0;
    var _489 = _478 * _18;
    var _490 = _477 * _13;
    var _491 = _489 + _490;
    var _492 = _476 * _8;
    var _493 = _491 + _492;
    var _494 = _493 * _488;
    var _495 = IHEAP[_187];
    var _496 = _495+4*_228;
    FHEAP[_496] = _494;
    var _497 = FHEAP[_129];
    var _498 = _497 * _18;
    var _499 = FHEAP[_134];
    var _500 = _499 * _13;
    var _501 = _498 + _500;
    var _502 = FHEAP[_139];
    var _503 = _502 * _8;
    var _504 = _501 + _503;
    var _505 = _504 * _488;
    var _506 = IHEAP[_187];
    var _507 = _506+4*_229;
    FHEAP[_507] = _505;
    var _508 = IHEAP[_166];
    var _509 = _508 & 16;
    var _510 = _509 == 0;
    ;
    if (!_510) {
      ;
      var _511 = _info+32;
      var _512 = IHEAP[_511];
      var _513 = _this+264;
      var _514 = FHEAP[_513];
      var _515 = _512+4*_228;
      FHEAP[_515] = _514;
      var _516 = IHEAP[_511];
      var _517 = FHEAP[_513];
      var _518 = _516+4*_229;
      FHEAP[_518] = _517;
      ;
    }
    var _519 = _this+284;
    var _520 = IHEAP[_519];
    var _toBool104 = _520 == 0;
    ;
    if (_toBool104) {
      __lastLabel__ = 4587; ;
    }
    else {
      __lastLabel__ = 4587; ;
      var _521 = _this+1020;
      var _522 = FHEAP[_521];
      var _523 = _522 * _iftmp_184_0;
      var _524 = _523 > 0;
      var _iftmp_196_0 = _524 ? 2 : 1;
      __lastLabel__ = 1568; ;
    }
    var _limit_err_0 = __lastLabel__ == 1568 ? _523 : (0);
    var _limit_0 = __lastLabel__ == 1568 ? _iftmp_196_0 : (0);
    var _525 = _this+1084;
    var _526 = IHEAP[_525];
    var _not_toBool110 = _526 != 0;
    var _powered_0 = _not_toBool110;
    var _527 = _powered_0 | _limit_0;
    var _528 = _527 == 0;
    ;
    _bb163$_bb113$16446: do { 
      if (_528) {
        __lastLabel__ = 24; ;
      }
      else {
        __lastLabel__ = 24; ;
        var _529 = IHEAP[_0];
        var _530 = _529 << 2;
        var _531 = _info+8;
        var _532 = IHEAP[_531];
        var _533 = _532+4*_530;
        FHEAP[_533] = _ax1_0_0_0;
        var _534 = IHEAP[_531];
        var _535 = _530 | 1;
        var _536 = _534+4*_535;
        FHEAP[_536] = _ax1_0_1_0;
        var _537 = IHEAP[_531];
        var _538 = _530 | 2;
        var _539 = _537+4*_538;
        FHEAP[_539] = _ax1_0_2_0;
        var _540 = IHEAP[_37];
        var _toBool116 = _540 == 0;
        ;
        _bb125$_bb117$16448: do { 
          if (_toBool116) {
            ;
            var _579 = _c_0_0_0 * _ax1_0_1_0;
            var _580 = _c_0_1_0 * _ax1_0_0_0;
            var _581 = _579 - _580;
            var _582 = _c_0_2_0 * _ax1_0_0_0;
            var _583 = _c_0_0_0 * _ax1_0_2_0;
            var _584 = _582 - _583;
            var _585 = _c_0_1_0 * _ax1_0_2_0;
            var _586 = _c_0_2_0 * _ax1_0_1_0;
            var _587 = _585 - _586;
            var _588 = IHEAP[_117];
            var _589 = _587 * _storemerge;
            var _590 = _588+4*_530;
            FHEAP[_590] = _589;
            var _591 = IHEAP[_117];
            var _592 = _584 * _storemerge;
            var _593 = _591+4*_535;
            FHEAP[_593] = _592;
            var _594 = IHEAP[_117];
            var _595 = _581 * _storemerge;
            var _596 = _594+4*_538;
            FHEAP[_596] = _595;
            var _597 = IHEAP[_142];
            var _598 = _587 * _24;
            var _599 = _597+4*_530;
            FHEAP[_599] = _598;
            var _600 = IHEAP[_142];
            var _601 = _584 * _24;
            var _602 = _600+4*_535;
            FHEAP[_602] = _601;
            var _603 = IHEAP[_142];
            var _604 = _581 * _24;
            var _605 = _603+4*_538;
            FHEAP[_605] = _604;
            ;
          }
          else {
            ;
            if (_or_cond) { __label__ = 1495; /* _bb128 */ break _bb125$_bb117$16448; }
            var _541 = _relA_0_0_0 * _ax1_0_1_0;
            var _542 = _relA_0_1_0 * _ax1_0_0_0;
            var _543 = _541 - _542;
            var _544 = _relA_0_2_0 * _ax1_0_0_0;
            var _545 = _relA_0_0_0 * _ax1_0_2_0;
            var _546 = _544 - _545;
            var _547 = _relA_0_1_0 * _ax1_0_2_0;
            var _548 = _relA_0_2_0 * _ax1_0_1_0;
            var _549 = _547 - _548;
            FHEAP[_230] = _549;
            FHEAP[_231] = _546;
            FHEAP[_232] = _543;
            FHEAP[_233] = 0;
            var _550 = _relB_0_0_0 * _ax1_0_1_0;
            var _551 = _relB_0_1_0 * _ax1_0_0_0;
            var _552 = _550 - _551;
            var _553 = _relB_0_2_0 * _ax1_0_0_0;
            var _554 = _relB_0_0_0 * _ax1_0_2_0;
            var _555 = _553 - _554;
            var _556 = _relB_0_1_0 * _ax1_0_2_0;
            var _557 = _relB_0_2_0 * _ax1_0_1_0;
            var _558 = _556 - _557;
            FHEAP[_234] = _558;
            FHEAP[_235] = _555;
            FHEAP[_236] = _552;
            FHEAP[_237] = 0;
            var _559 = IHEAP[_117];
            var _560 = _559+4*_530;
            FHEAP[_560] = _549;
            var _561 = IHEAP[_117];
            var _562 = FHEAP[_231];
            var _563 = _561+4*_535;
            FHEAP[_563] = _562;
            var _564 = IHEAP[_117];
            var _565 = FHEAP[_232];
            var _566 = _564+4*_538;
            FHEAP[_566] = _565;
            var _567 = IHEAP[_142];
            var _568 = FHEAP[_234];
            var _569 = 0 - _568;
            var _570 = _567+4*_530;
            FHEAP[_570] = _569;
            var _571 = IHEAP[_142];
            var _572 = FHEAP[_235];
            var _573 = 0 - _572;
            var _574 = _571+4*_535;
            FHEAP[_574] = _573;
            var _575 = IHEAP[_142];
            var _576 = FHEAP[_236];
            var _577 = 0 - _576;
            var _578 = _575+4*_538;
            FHEAP[_578] = _577;
            ;
          }
        } while(0);
        var _606 = _this+172;
        var _607 = FHEAP[_606];
        var _608 = _this+176;
        var _609 = FHEAP[_608];
        var __not = _limit_0 != 0;
        var _610 = _607 == _609;
        var _or_cond217 = __not & _610;
        var _611 = IHEAP[_187];
        var _612 = _611+4*_530;
        FHEAP[_612] = 0;
        var _613 = _info+36;
        var _614 = IHEAP[_613];
        var _615 = _614+4*_530;
        FHEAP[_615] = 0;
        var _616 = _info+40;
        var _617 = IHEAP[_616];
        var _618 = _617+4*_530;
        FHEAP[_618] = 0;
        var _619 = IHEAP[_166];
        var _620 = _619 & 512;
        var _621 = _620 == 0;
        ;
        if (_621) {
          ;
          var _623 = _info+4;
          __lastLabel__ = 2461; ;
        }
        else {
          ;
          var _622 = _this+220;
          __lastLabel__ = 1042; ;
        }
        var _iftmp_204_0_in = __lastLabel__ == 1042 ? _622 : (_623);
        var _iftmp_204_0 = FHEAP[_iftmp_204_0_in];
        var _624 = _not_toBool110 ^ true;
        var _625 = _or_cond217 | _624;
        ;
        if (!_625) {
          ;
          var _626 = _619 & 1;
          var _toBool138 = _626 == 0;
          ;
          if (!_toBool138) {
            ;
            var _627 = _info+32;
            var _628 = IHEAP[_627];
            var _629 = _this+200;
            var _630 = FHEAP[_629];
            var _631 = _628+4*_530;
            FHEAP[_631] = _630;
            ;
          }
          var _632 = _this+1088;
          var _633 = FHEAP[_632];
          var _634 = FHEAP[_175];
          var _635 = _634 * _iftmp_204_0;
          var _636 = FHEAP[_608];
          var _637 = FHEAP[_606];
          var _638 = _this+1068;
          var _639 = FHEAP[_638];
          var _640 = _this;
          var _641 = __ZN17btTypedConstraint14getMotorFactorEfffff(_640, _639, _637, _636, _633, _635);
          var _642 = IHEAP[_187];
          var _643 = _642+4*_530;
          var _644 = FHEAP[_643];
          var _645 = _iftmp_184_0 * _641;
          var _646 = FHEAP[_632];
          var _647 = _645 * _646;
          var _648 = _644 - _647;
          FHEAP[_643] = _648;
          var _649 = IHEAP[_613];
          var _650 = _649+4*_530;
          var _651 = FHEAP[_650];
          var _652 = _this+1092;
          var _653 = FHEAP[_652];
          var _654 = 0 - _653;
          var _655 = FHEAP[_175];
          var _656 = _655 * _654;
          var _657 = _651 + _656;
          FHEAP[_650] = _657;
          var _658 = IHEAP[_616];
          var _659 = _658+4*_530;
          var _660 = FHEAP[_659];
          var _661 = FHEAP[_652];
          var _662 = FHEAP[_175];
          var _663 = _661 * _662;
          var _664 = _660 + _663;
          FHEAP[_659] = _664;
          ;
        }
        var _665 = _limit_0 == 0;
        if (_665) { __lastLabel__ = 3032; __label__ = 3033; /* _bb163 */ break _bb163$_bb113$16446; } else { __lastLabel__ = 3032; ; }
        var _666 = FHEAP[_175];
        var _667 = _666 * _iftmp_204_0;
        var _668 = IHEAP[_187];
        var _669 = _668+4*_530;
        var _670 = FHEAP[_669];
        var _671 = _667 * _limit_err_0;
        var _672 = _670 + _671;
        FHEAP[_669] = _672;
        var _673 = IHEAP[_166];
        var _674 = _673 & 256;
        var _675 = _674 == 0;
        ;
        if (!_675) {
          ;
          var _676 = _info+32;
          var _677 = IHEAP[_676];
          var _678 = _this+232;
          var _679 = FHEAP[_678];
          var _680 = _677+4*_530;
          FHEAP[_680] = _679;
          ;
        }
        ;
        if (_610) {
          ;
          var _681 = IHEAP[_613];
          var _682 = _681+4*_530;
          FHEAP[_682] = -3.4028234663852886e+38;
          var _683 = IHEAP[_616];
          var _684 = _683+4*_530;
          FHEAP[_684] = 3.4028234663852886e+38;
          ;
        }
        else {
          ;
          var _685 = _limit_0 == 1;
          var _686 = IHEAP[_613];
          var _687 = _686+4*_530;
          ;
          if (_685) {
            ;
            FHEAP[_687] = -3.4028234663852886e+38;
            var _688 = IHEAP[_616];
            var _689 = _688+4*_530;
            FHEAP[_689] = 0;
            ;
          }
          else {
            ;
            FHEAP[_687] = 0;
            var _690 = IHEAP[_616];
            var _691 = _690+4*_530;
            FHEAP[_691] = 3.4028234663852886e+38;
            ;
          }
        }
        var _692 = _this+228;
        var _693 = FHEAP[_692];
        var _694 = 1 - _693;
        var _695 = _fabsf(_694);
        var _696 = _695 > 0;
        ;
        _bb151$_bb162$16474: do { 
          if (_696) {
            ;
            var _697 = _linVelA;
            var _698 = FHEAP[_697];
            var _699 = _698 * _ax1_0_0_0;
            var _700 = _linVelA+4;
            var _701 = FHEAP[_700];
            var _702 = _701 * _ax1_0_1_0;
            var _703 = _699 + _702;
            var _704 = _linVelA+8;
            var _705 = FHEAP[_704];
            var _706 = _705 * _ax1_0_2_0;
            var _707 = _703 + _706;
            var _708 = _linVelB;
            var _709 = FHEAP[_708];
            var _710 = _709 * _ax1_0_0_0;
            var _711 = _linVelB+4;
            var _712 = FHEAP[_711];
            var _713 = _712 * _ax1_0_1_0;
            var _714 = _710 + _713;
            var _715 = _linVelB+8;
            var _716 = FHEAP[_715];
            var _717 = _716 * _ax1_0_2_0;
            var _718 = _714 + _717;
            var _719 = _707 - _718;
            var _720 = _719 * _iftmp_184_0;
            var _721 = _limit_0 == 1;
            ;
            if (_721) {
              ;
              var _722 = _720 < 0;
              if (!(_722)) { __label__ = 3037; /* _bb162 */ break _bb151$_bb162$16474; }
              var _723 = 0 - _695;
              var _724 = _720 * _723;
              var _725 = IHEAP[_187];
              var _726 = _725+4*_530;
              var _727 = FHEAP[_726];
              var _728 = _727 < _724;
              if (!(_728)) { __label__ = 3037; /* _bb162 */ break _bb151$_bb162$16474; }
              FHEAP[_726] = _724;
              ;
            }
            else {
              ;
              var _729 = _720 > 0;
              if (!(_729)) { __label__ = 3037; /* _bb162 */ break _bb151$_bb162$16474; }
              var _730 = 0 - _695;
              var _731 = _720 * _730;
              var _732 = IHEAP[_187];
              var _733 = _732+4*_530;
              var _734 = FHEAP[_733];
              var _735 = _734 > _731;
              if (!(_735)) { __label__ = 3037; /* _bb162 */ break _bb151$_bb162$16474; }
              FHEAP[_733] = _731;
              ;
            }
          }
        } while(0);
        var _736 = IHEAP[_187];
        var _737 = _736+4*_530;
        var _738 = FHEAP[_737];
        var _739 = _this+220;
        var _740 = FHEAP[_739];
        var _741 = _738 * _740;
        FHEAP[_737] = _741;
        __lastLabel__ = 3037; ;
      }
    } while(0);
    var _nrow_0 = __lastLabel__ == 3037 ? 5 : (__lastLabel__ == 3032 ? 5 : (4));
    var _742 = _this+285;
    var _743 = IHEAP[_742];
    var _toBool164 = _743 == 0;
    ;
    if (_toBool164) {
      __lastLabel__ = 3033; ;
    }
    else {
      __lastLabel__ = 3033; ;
      var _744 = _this+1076;
      var _745 = FHEAP[_744];
      var _746 = _745 > 0;
      var _iftmp_206_0 = _746 ? 1 : 2;
      __lastLabel__ = 3042; ;
    }
    var _limit_err_1 = __lastLabel__ == 3042 ? _745 : (0);
    var _limit_1 = __lastLabel__ == 3042 ? _iftmp_206_0 : (0);
    var _747 = _this+1100;
    var _748 = IHEAP[_747];
    var _not_toBool170 = _748 != 0;
    var _powered_2 = _not_toBool170;
    var _749 = _powered_2 | _limit_1;
    var _750 = _749 == 0;
    ;
    _return$_bb173$16488: do { 
      if (!_750) {
        ;
        var _751 = IHEAP[_0];
        var _752 = _751 * _nrow_0;
        var _753 = IHEAP[_117];
        var _754 = _753+4*_752;
        FHEAP[_754] = _ax1_0_0_0;
        var _755 = IHEAP[_117];
        var _756 = _752 + 1;
        var _757 = _755+4*_756;
        FHEAP[_757] = _ax1_0_1_0;
        var _758 = IHEAP[_117];
        var _759 = _752 + 2;
        var _760 = _758+4*_759;
        FHEAP[_760] = _ax1_0_2_0;
        var _761 = IHEAP[_142];
        var _762 = 0 - _ax1_0_0_0;
        var _763 = _761+4*_752;
        FHEAP[_763] = _762;
        var _764 = IHEAP[_142];
        var _765 = 0 - _ax1_0_1_0;
        var _766 = _764+4*_756;
        FHEAP[_766] = _765;
        var _767 = IHEAP[_142];
        var _768 = 0 - _ax1_0_2_0;
        var _769 = _767+4*_759;
        FHEAP[_769] = _768;
        var _770 = _this+180;
        var _771 = FHEAP[_770];
        var _772 = _this+184;
        var _773 = FHEAP[_772];
        var __not218 = _limit_1 != 0;
        var _774 = _771 == _773;
        var _or_cond219 = __not218 & _774;
        var _775 = IHEAP[_166];
        var _776 = _775 & 2048;
        var _777 = _776 == 0;
        ;
        if (_777) {
          ;
          var _779 = _info+4;
          __lastLabel__ = 3046; ;
        }
        else {
          ;
          var _778 = _this+236;
          __lastLabel__ = 3044; ;
        }
        var _iftmp_208_0_in = __lastLabel__ == 3044 ? _778 : (_779);
        var _iftmp_208_0 = FHEAP[_iftmp_208_0_in];
        var _780 = _not_toBool170 ^ true;
        var _781 = _or_cond219 | _780;
        ;
        if (!_781) {
          ;
          var _782 = _775 & 4;
          var _783 = _782 == 0;
          ;
          if (_783) {
            __lastLabel__ = 4095; ;
          }
          else {
            __lastLabel__ = 4095; ;
            var _784 = _info+32;
            var _785 = IHEAP[_784];
            var _786 = _this+216;
            var _787 = FHEAP[_786];
            var _788 = _785+4*_752;
            FHEAP[_788] = _787;
            var __pre = FHEAP[_772];
            var __pre473 = FHEAP[_770];
            __lastLabel__ = 3047; ;
          }
          var _789 = __lastLabel__ == 4095 ? _771 : (__pre473);
          var _790 = __lastLabel__ == 4095 ? _773 : (__pre);
          var _791 = FHEAP[_175];
          var _792 = _791 * _iftmp_208_0;
          var _793 = _this+1104;
          var _794 = FHEAP[_793];
          var _795 = _this+1072;
          var _796 = FHEAP[_795];
          var _797 = _this;
          var _798 = __ZN17btTypedConstraint14getMotorFactorEfffff(_797, _796, _789, _790, _794, _792);
          var _799 = IHEAP[_187];
          var _800 = FHEAP[_793];
          var _801 = _800 * _798;
          var _802 = _799+4*_752;
          FHEAP[_802] = _801;
          var _803 = _info+36;
          var _804 = IHEAP[_803];
          var _805 = _this+1108;
          var _806 = FHEAP[_805];
          var _807 = 0 - _806;
          var _808 = FHEAP[_175];
          var _809 = _808 * _807;
          var _810 = _804+4*_752;
          FHEAP[_810] = _809;
          var _811 = _info+40;
          var _812 = IHEAP[_811];
          var _813 = FHEAP[_805];
          var _814 = FHEAP[_175];
          var _815 = _813 * _814;
          var _816 = _812+4*_752;
          FHEAP[_816] = _815;
          ;
        }
        var _817 = _limit_1 == 0;
        if (_817) { __label__ = 44; /* _return */ break _return$_bb173$16488; }
        var _818 = FHEAP[_175];
        var _819 = _818 * _iftmp_208_0;
        var _820 = IHEAP[_187];
        var _821 = _820+4*_752;
        var _822 = FHEAP[_821];
        var _823 = _819 * _limit_err_1;
        var _824 = _822 + _823;
        FHEAP[_821] = _824;
        var _825 = IHEAP[_166];
        var _826 = _825 & 1024;
        var _827 = _826 == 0;
        ;
        if (!_827) {
          ;
          var _828 = _info+32;
          var _829 = IHEAP[_828];
          var _830 = _this+248;
          var _831 = FHEAP[_830];
          var _832 = _829+4*_752;
          FHEAP[_832] = _831;
          ;
        }
        ;
        if (_774) {
          ;
          var _833 = _info+36;
          var _834 = IHEAP[_833];
          var _835 = _834+4*_752;
          FHEAP[_835] = -3.4028234663852886e+38;
          var _836 = _info+40;
          var _837 = IHEAP[_836];
          var _838 = _837+4*_752;
          FHEAP[_838] = 3.4028234663852886e+38;
          ;
        }
        else {
          ;
          var _839 = _limit_1 == 1;
          var _840 = _info+36;
          var _841 = IHEAP[_840];
          var _842 = _841+4*_752;
          ;
          if (_839) {
            ;
            FHEAP[_842] = 0;
            var _843 = _info+40;
            var _844 = IHEAP[_843];
            var _845 = _844+4*_752;
            FHEAP[_845] = 3.4028234663852886e+38;
            ;
          }
          else {
            ;
            FHEAP[_842] = -3.4028234663852886e+38;
            var _846 = _info+40;
            var _847 = IHEAP[_846];
            var _848 = _847+4*_752;
            FHEAP[_848] = 0;
            ;
          }
        }
        var _849 = _this+244;
        var _850 = FHEAP[_849];
        var _851 = 1 - _850;
        var _852 = _fabsf(_851);
        var _853 = _852 > 0;
        ;
        _bb200$_bb213$16511: do { 
          if (_853) {
            ;
            var _854 = _this+20;
            var _855 = IHEAP[_854];
            var _856 = _855+320;
            var _857 = FHEAP[_856];
            var _858 = _857 * _ax1_0_0_0;
            var _859 = _855+320+4;
            var _860 = FHEAP[_859];
            var _861 = _860 * _ax1_0_1_0;
            var _862 = _858 + _861;
            var _863 = _855+320+8;
            var _864 = FHEAP[_863];
            var _865 = _864 * _ax1_0_2_0;
            var _866 = _862 + _865;
            var _867 = _this+24;
            var _868 = IHEAP[_867];
            var _869 = _868+320;
            var _870 = FHEAP[_869];
            var _871 = _870 * _ax1_0_0_0;
            var _872 = _868+320+4;
            var _873 = FHEAP[_872];
            var _874 = _873 * _ax1_0_1_0;
            var _875 = _871 + _874;
            var _876 = _868+320+8;
            var _877 = FHEAP[_876];
            var _878 = _877 * _ax1_0_2_0;
            var _879 = _875 + _878;
            var _880 = _866 - _879;
            var _881 = _limit_1 == 1;
            ;
            if (_881) {
              ;
              var _882 = _880 < 0;
              if (!(_882)) { __label__ = 3054; /* _bb213 */ break _bb200$_bb213$16511; }
              var _883 = 0 - _852;
              var _884 = _880 * _883;
              var _885 = IHEAP[_187];
              var _886 = _885+4*_752;
              var _887 = FHEAP[_886];
              var _888 = _887 < _884;
              if (!(_888)) { __label__ = 3054; /* _bb213 */ break _bb200$_bb213$16511; }
              FHEAP[_886] = _884;
              ;
            }
            else {
              ;
              var _889 = _880 > 0;
              if (!(_889)) { __label__ = 3054; /* _bb213 */ break _bb200$_bb213$16511; }
              var _890 = 0 - _852;
              var _891 = _880 * _890;
              var _892 = IHEAP[_187];
              var _893 = _892+4*_752;
              var _894 = FHEAP[_893];
              var _895 = _894 > _891;
              if (!(_895)) { __label__ = 3054; /* _bb213 */ break _bb200$_bb213$16511; }
              FHEAP[_893] = _891;
              ;
            }
          }
        } while(0);
        var _896 = IHEAP[_187];
        var _897 = _896+4*_752;
        var _898 = FHEAP[_897];
        var _899 = _this+236;
        var _900 = FHEAP[_899];
        var _901 = _898 * _900;
        FHEAP[_897] = _901;
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN18btSliderConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_ff.__index__ = Runtime.getFunctionIndex(__ZN18btSliderConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_ff, "__ZN18btSliderConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_ff");
  
  
  function __ZN18btSliderConstraint13testAngLimitsEv(_this) {
    ;
    var __label__;
    var _0 = _this+1076;
    FHEAP[_0] = 0;
    var _1 = _this+285;
    IHEAP[_1] = 0;
    var _2 = _this+180;
    var _3 = FHEAP[_2];
    var _4 = _this+184;
    var _5 = FHEAP[_4];
    var _6 = _3 > _5;
    ;
    _return$_bb$16523: do { 
      if (!_6) {
        ;
        var _7 = _this+812+32+4;
        var _8 = _this+812+16+4;
        var _9 = _this+812+4;
        var _10 = FHEAP[_9];
        var _11 = FHEAP[_8];
        var _12 = FHEAP[_7];
        var _13 = _this+812+32+8;
        var _14 = _this+812+16+8;
        var _15 = _this+812+8;
        var _16 = FHEAP[_15];
        var _17 = FHEAP[_14];
        var _18 = FHEAP[_13];
        var _19 = _this+876+32+4;
        var _20 = _this+876+16+4;
        var _21 = _this+876+4;
        var _22 = FHEAP[_21];
        var _23 = FHEAP[_20];
        var _24 = FHEAP[_19];
        var _25 = _22 * _10;
        var _26 = _23 * _11;
        var _27 = _25 + _26;
        var _28 = _24 * _12;
        var _29 = _27 + _28;
        var _30 = _22 * _16;
        var _31 = _23 * _17;
        var _32 = _30 + _31;
        var _33 = _24 * _18;
        var _34 = _32 + _33;
        var _35 = _atan2f(_34, _29);
        var _36 = __Z21btAdjustAngleToLimitsfff(_35, _3, _5);
        var _37 = _this+1072;
        FHEAP[_37] = _36;
        var _38 = _3 > _36;
        ;
        if (_38) {
          ;
          var _39 = _36 - _3;
          FHEAP[_0] = _39;
          IHEAP[_1] = 1;
          ;
          return;
        }
        else {
          ;
          var _40 = _5 < _36;
          if (!(_40)) { __label__ = 44; /* _return */ break _return$_bb$16523; }
          var _41 = _36 - _5;
          FHEAP[_0] = _41;
          IHEAP[_1] = 1;
          ;
          return;
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN18btSliderConstraint13testAngLimitsEv.__index__ = Runtime.getFunctionIndex(__ZN18btSliderConstraint13testAngLimitsEv, "__ZN18btSliderConstraint13testAngLimitsEv");
  
  
  function __ZN18btSliderConstraintC2ER11btRigidBodyRK11btTransformb(_this, _rbB, _frameInB, _useLinearReferenceFrameA) {
    ;
    var __label__;
    var _0 = __ZN17btTypedConstraint12getFixedBodyEv();
    var _1 = _this;
    __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBodyS2_(_1, 7, _0, _rbB);
    var _2 = _this;
    IHEAP[_2] = __ZTV18btSliderConstraint+8;
    var _3 = _this+36;
    IHEAP[_3] = 0;
    var _4 = _this+104;
    var _5 = _frameInB;
    var _6 = FHEAP[_5];
    FHEAP[_4] = _6;
    var _7 = _this+104+4;
    var _8 = _frameInB+4;
    var _9 = FHEAP[_8];
    FHEAP[_7] = _9;
    var _10 = _this+104+8;
    var _11 = _frameInB+8;
    var _12 = FHEAP[_11];
    FHEAP[_10] = _12;
    var _13 = _this+104+12;
    var _14 = _frameInB+12;
    var _15 = FHEAP[_14];
    FHEAP[_13] = _15;
    var _16 = _this+104+16;
    var _17 = _frameInB+16;
    var _18 = FHEAP[_17];
    FHEAP[_16] = _18;
    var _19 = _this+104+16+4;
    var _20 = _frameInB+16+4;
    var _21 = FHEAP[_20];
    FHEAP[_19] = _21;
    var _22 = _this+104+16+8;
    var _23 = _frameInB+16+8;
    var _24 = FHEAP[_23];
    FHEAP[_22] = _24;
    var _25 = _this+104+16+12;
    var _26 = _frameInB+16+12;
    var _27 = FHEAP[_26];
    FHEAP[_25] = _27;
    var _28 = _this+104+32;
    var _29 = _frameInB+32;
    var _30 = FHEAP[_29];
    FHEAP[_28] = _30;
    var _31 = _this+104+32+4;
    var _32 = _frameInB+32+4;
    var _33 = FHEAP[_32];
    FHEAP[_31] = _33;
    var _34 = _this+104+32+8;
    var _35 = _frameInB+32+8;
    var _36 = FHEAP[_35];
    FHEAP[_34] = _36;
    var _37 = _this+104+32+12;
    var _38 = _frameInB+32+12;
    var _39 = FHEAP[_38];
    FHEAP[_37] = _39;
    var _40 = _this+104+48;
    var _41 = _frameInB+48;
    var _42 = FHEAP[_41];
    FHEAP[_40] = _42;
    var _43 = _this+104+48+4;
    var _44 = _frameInB+48+4;
    var _45 = FHEAP[_44];
    FHEAP[_43] = _45;
    var _46 = _this+104+48+8;
    var _47 = _frameInB+48+8;
    var _48 = FHEAP[_47];
    FHEAP[_46] = _48;
    var _49 = _this+104+48+12;
    var _50 = _frameInB+48+12;
    var _51 = FHEAP[_50];
    FHEAP[_49] = _51;
    var _52 = _this+168;
    IHEAP[_52] = _useLinearReferenceFrameA;
    var _53 = _rbB+4+32;
    var _54 = FHEAP[_53];
    var _55 = _rbB+4+32+4;
    var _56 = FHEAP[_55];
    var _57 = _rbB+4+32+8;
    var _58 = FHEAP[_57];
    var _59 = _rbB+4+16;
    var _60 = FHEAP[_59];
    var _61 = _rbB+4+16+4;
    var _62 = FHEAP[_61];
    var _63 = _rbB+4+16+8;
    var _64 = FHEAP[_63];
    var _65 = _rbB+4;
    var _66 = FHEAP[_65];
    var _67 = _rbB+4+4;
    var _68 = FHEAP[_67];
    var _69 = _rbB+4+8;
    var _70 = FHEAP[_69];
    var _71 = _68 * _45;
    var _72 = _66 * _42;
    var _73 = _62 * _45;
    var _74 = _60 * _42;
    var _75 = _56 * _45;
    var _76 = _54 * _42;
    var _77 = _18 * _68;
    var _78 = _6 * _66;
    var _79 = _21 * _68;
    var _80 = _9 * _66;
    var _81 = _24 * _68;
    var _82 = _12 * _66;
    var _83 = _18 * _62;
    var _84 = _6 * _60;
    var _85 = _21 * _62;
    var _86 = _9 * _60;
    var _87 = _24 * _62;
    var _88 = _12 * _60;
    var _89 = _18 * _56;
    var _90 = _6 * _54;
    var _91 = _21 * _56;
    var _92 = _9 * _54;
    var _93 = _24 * _56;
    var _94 = _12 * _54;
    var _95 = _rbB+4+48;
    var _96 = _70 * _48;
    var _97 = _72 + _71;
    var _98 = _rbB+4+48+4;
    var _99 = _64 * _48;
    var _100 = _74 + _73;
    var _101 = _rbB+4+48+8;
    var _102 = _58 * _48;
    var _103 = _76 + _75;
    var _104 = _30 * _70;
    var _105 = _78 + _77;
    var _106 = _33 * _70;
    var _107 = _80 + _79;
    var _108 = _36 * _70;
    var _109 = _82 + _81;
    var _110 = _30 * _64;
    var _111 = _84 + _83;
    var _112 = _33 * _64;
    var _113 = _86 + _85;
    var _114 = _36 * _64;
    var _115 = _88 + _87;
    var _116 = _30 * _58;
    var _117 = _90 + _89;
    var _118 = _33 * _58;
    var _119 = _92 + _91;
    var _120 = _36 * _58;
    var _121 = _94 + _93;
    var _122 = FHEAP[_95];
    var _123 = _97 + _96;
    var _124 = FHEAP[_98];
    var _125 = _100 + _99;
    var _126 = FHEAP[_101];
    var _127 = _103 + _102;
    var _128 = _105 + _104;
    var _129 = _107 + _106;
    var _130 = _109 + _108;
    var _131 = _111 + _110;
    var _132 = _113 + _112;
    var _133 = _115 + _114;
    var _134 = _117 + _116;
    var _135 = _119 + _118;
    var _136 = _121 + _120;
    var _137 = _123 + _122;
    var _138 = _125 + _124;
    var _139 = _127 + _126;
    var _140 = _this+40;
    FHEAP[_140] = _128;
    var _141 = _this+40+4;
    FHEAP[_141] = _129;
    var _142 = _this+40+8;
    FHEAP[_142] = _130;
    var _143 = _this+40+12;
    FHEAP[_143] = 0;
    var _144 = _this+40+16;
    FHEAP[_144] = _131;
    var _145 = _this+40+16+4;
    FHEAP[_145] = _132;
    var _146 = _this+40+16+8;
    FHEAP[_146] = _133;
    var _147 = _this+40+16+12;
    FHEAP[_147] = 0;
    var _148 = _this+40+32;
    FHEAP[_148] = _134;
    var _149 = _this+40+32+4;
    FHEAP[_149] = _135;
    var _150 = _this+40+32+8;
    FHEAP[_150] = _136;
    var _151 = _this+40+32+12;
    FHEAP[_151] = 0;
    var _152 = _this+40+48;
    FHEAP[_152] = _137;
    var _153 = _this+40+48+4;
    FHEAP[_153] = _138;
    var _154 = _this+40+48+8;
    FHEAP[_154] = _139;
    var _155 = _this+40+48+12;
    FHEAP[_155] = 0;
    var _156 = _this+172;
    FHEAP[_156] = 1;
    var _157 = _this+176;
    FHEAP[_157] = -1;
    var _158 = _this+180;
    FHEAP[_158] = 0;
    var _159 = _this+184;
    FHEAP[_159] = 0;
    var _160 = _this+188;
    FHEAP[_160] = 1;
    var _161 = _this+192;
    FHEAP[_161] = 0.699999988079071;
    var _162 = _this+196;
    FHEAP[_162] = 0;
    var _163 = _this+200;
    FHEAP[_163] = 0;
    var _164 = _this+204;
    FHEAP[_164] = 1;
    var _165 = _this+208;
    FHEAP[_165] = 0.699999988079071;
    var _166 = _this+212;
    FHEAP[_166] = 0;
    var _167 = _this+216;
    FHEAP[_167] = 0;
    var _168 = _this+252;
    FHEAP[_168] = 1;
    var _169 = _this+256;
    FHEAP[_169] = 0.699999988079071;
    var _170 = _this+260;
    FHEAP[_170] = 1;
    var _171 = _this+264;
    FHEAP[_171] = 0;
    var _172 = _this+268;
    FHEAP[_172] = 1;
    var _173 = _this+272;
    FHEAP[_173] = 0.699999988079071;
    var _174 = _this+276;
    FHEAP[_174] = 1;
    var _175 = _this+280;
    FHEAP[_175] = 0;
    var _176 = _this+220;
    FHEAP[_176] = 1;
    var _177 = _this+224;
    FHEAP[_177] = 0.699999988079071;
    var _178 = _this+228;
    FHEAP[_178] = 1;
    var _179 = _this+232;
    FHEAP[_179] = 0;
    var _180 = _this+236;
    FHEAP[_180] = 1;
    var _181 = _this+240;
    FHEAP[_181] = 0.699999988079071;
    var _182 = _this+244;
    FHEAP[_182] = 1;
    var _183 = _this+248;
    FHEAP[_183] = 0;
    var _184 = _this+1084;
    IHEAP[_184] = 0;
    var _185 = _this+1088;
    FHEAP[_185] = 0;
    var _186 = _this+1092;
    FHEAP[_186] = 0;
    var _187 = _this+1096;
    FHEAP[_187] = 0;
    var _188 = _this+1100;
    IHEAP[_188] = 0;
    var _189 = _this+1104;
    FHEAP[_189] = 0;
    var _190 = _this+1108;
    FHEAP[_190] = 0;
    var _191 = _this+1112;
    FHEAP[_191] = 0;
    var _192 = _this+288;
    IHEAP[_192] = 0;
    var _193 = _this+37;
    IHEAP[_193] = 1;
    var _194 = _this+24;
    var _195 = IHEAP[_194];
    var _196 = _195+4;
    var _197 = _this+20;
    var _198 = IHEAP[_197];
    var _199 = _198+4;
    __ZN18btSliderConstraint19calculateTransformsERK11btTransformS2_(_this, _199, _196);
    ;
    return;
  }
  __ZN18btSliderConstraintC2ER11btRigidBodyRK11btTransformb.__index__ = Runtime.getFunctionIndex(__ZN18btSliderConstraintC2ER11btRigidBodyRK11btTransformb, "__ZN18btSliderConstraintC2ER11btRigidBodyRK11btTransformb");
  
  
  function __ZN24btSolve2LinearConstraint31resolveUnilateralPairConstraintEP11btRigidBodyS1_RK11btMatrix3x3S4_RK9btVector3fS7_S7_S7_S7_fS7_S7_S7_fS7_S7_S7_fS7_RfS8_(_this, _body1, _body2, _world2A, _world2B, _invInertiaADiag, _invMassA, _linvelA, _angvelA, _rel_posA1, _invInertiaBDiag, _invMassB, _linvelB, _angvelB, _rel_posA2, _depthA, _normalA, _rel_posB1, _rel_posB2, _depthB, _normalB, _imp0, _imp1) {
    var __stackBase__  = STACKTOP; STACKTOP += 168;
    var __label__;
    var _jacA = __stackBase__;
    var _jacB = __stackBase__+84;
    FHEAP[_imp0] = 0;
    FHEAP[_imp1] = 0;
    var _0 = _normalA;
    var _1 = FHEAP[_0];
    var _2 = _1 * _1;
    var _3 = _normalA+4;
    var _4 = FHEAP[_3];
    var _5 = _4 * _4;
    var _6 = _2 + _5;
    var _7 = _normalA+8;
    var _8 = FHEAP[_7];
    var _9 = _8 * _8;
    var _10 = _6 + _9;
    var _11 = _sqrtf(_10);
    var _12 = _fabsf(_11);
    var _13 = _12 + -1;
    var _14 = _fabsf(_13);
    var _15 = _14 < 1.1920928955078125e-7;
    ;
    if (_15) {
      ;
      __ZN15btJacobianEntryC2ERK11btMatrix3x3S2_RK9btVector3S5_S5_S5_fS5_f(_jacA, _world2A, _world2B, _rel_posA1, _rel_posA2, _normalA, _invInertiaADiag, _invMassA, _invInertiaBDiag, _invMassB);
      __ZN15btJacobianEntryC2ERK11btMatrix3x3S2_RK9btVector3S5_S5_S5_fS5_f(_jacB, _world2A, _world2B, _rel_posB1, _rel_posB2, _normalB, _invInertiaADiag, _invMassA, _invInertiaBDiag, _invMassB);
      var _16 = _body2+320;
      var _17 = FHEAP[_16];
      var _18 = _rel_posA1+4;
      var _19 = FHEAP[_18];
      var _20 = _17 * _19;
      var _21 = _body2+320+4;
      var _22 = FHEAP[_21];
      var _23 = _rel_posA1;
      var _24 = FHEAP[_23];
      var _25 = _22 * _24;
      var _26 = _20 - _25;
      var _27 = _body2+320+8;
      var _28 = FHEAP[_27];
      var _29 = _28 * _24;
      var _30 = _rel_posA1+8;
      var _31 = FHEAP[_30];
      var _32 = _17 * _31;
      var _33 = _29 - _32;
      var _34 = _22 * _31;
      var _35 = _28 * _19;
      var _36 = _34 - _35;
      var _37 = _body2+304+8;
      var _38 = FHEAP[_37];
      var _39 = _38 + _26;
      var _40 = _body2+304+4;
      var _41 = FHEAP[_40];
      var _42 = _41 + _33;
      var _43 = _body2+304;
      var _44 = FHEAP[_43];
      var _45 = _44 + _36;
      var _46 = _body1+320;
      var _47 = FHEAP[_46];
      var _48 = _47 * _19;
      var _49 = _body1+320+4;
      var _50 = FHEAP[_49];
      var _51 = _50 * _24;
      var _52 = _48 - _51;
      var _53 = _body1+320+8;
      var _54 = FHEAP[_53];
      var _55 = _54 * _24;
      var _56 = _47 * _31;
      var _57 = _55 - _56;
      var _58 = _50 * _31;
      var _59 = _54 * _19;
      var _60 = _58 - _59;
      var _61 = _body1+304+8;
      var _62 = FHEAP[_61];
      var _63 = _62 + _52;
      var _64 = _body1+304+4;
      var _65 = FHEAP[_64];
      var _66 = _65 + _57;
      var _67 = _body1+304;
      var _68 = FHEAP[_67];
      var _69 = _68 + _60;
      var _70 = _63 - _39;
      var _71 = _66 - _42;
      var _72 = _69 - _45;
      var _73 = FHEAP[_0];
      var _74 = _73 * _72;
      var _75 = FHEAP[_3];
      var _76 = _75 * _71;
      var _77 = _74 + _76;
      var _78 = FHEAP[_7];
      var _79 = _78 * _70;
      var _80 = _77 + _79;
      var _81 = _rel_posB1+4;
      var _82 = FHEAP[_81];
      var _83 = _17 * _82;
      var _84 = _rel_posB1;
      var _85 = FHEAP[_84];
      var _86 = _22 * _85;
      var _87 = _83 - _86;
      var _88 = _28 * _85;
      var _89 = _rel_posB1+8;
      var _90 = FHEAP[_89];
      var _91 = _17 * _90;
      var _92 = _88 - _91;
      var _93 = _22 * _90;
      var _94 = _28 * _82;
      var _95 = _93 - _94;
      var _96 = _38 + _87;
      var _97 = _41 + _92;
      var _98 = _44 + _95;
      var _99 = _47 * _82;
      var _100 = _50 * _85;
      var _101 = _99 - _100;
      var _102 = _54 * _85;
      var _103 = _47 * _90;
      var _104 = _102 - _103;
      var _105 = _50 * _90;
      var _106 = _54 * _82;
      var _107 = _105 - _106;
      var _108 = _62 + _101;
      var _109 = _65 + _104;
      var _110 = _68 + _107;
      var _111 = _108 - _96;
      var _112 = _109 - _97;
      var _113 = _110 - _98;
      var _114 = _normalB;
      var _115 = FHEAP[_114];
      var _116 = _115 * _113;
      var _117 = _normalB+4;
      var _118 = FHEAP[_117];
      var _119 = _118 * _112;
      var _120 = _116 + _119;
      var _121 = _normalB+8;
      var _122 = FHEAP[_121];
      var _123 = _122 * _111;
      var _124 = _120 + _123;
      var _125 = _invMassA + _invMassB;
      var _126 = 1 / _125;
      var _127 = _this;
      var _128 = FHEAP[_127];
      var _129 = _128 * _depthA;
      var _130 = _129 * _126;
      var _131 = _this+4;
      var _132 = FHEAP[_131];
      var _133 = _132 * _80;
      var _134 = _130 - _133;
      var _135 = _128 * _depthB;
      var _136 = _135 * _126;
      var _137 = _132 * _124;
      var _138 = _136 - _137;
      var _139 = _jacA+8;
      var _140 = FHEAP[_139];
      var _141 = _jacB+8;
      var _142 = FHEAP[_141];
      var _143 = _140 * _142;
      var _144 = _jacA+4;
      var _145 = FHEAP[_144];
      var _146 = _jacB+4;
      var _147 = FHEAP[_146];
      var _148 = _145 * _147;
      var _149 = _jacA;
      var _150 = FHEAP[_149];
      var _151 = _jacB;
      var _152 = FHEAP[_151];
      var _153 = _150 * _152;
      var _154 = _jacA+48+8;
      var _155 = FHEAP[_154];
      var _156 = _jacB+16+8;
      var _157 = FHEAP[_156];
      var _158 = _155 * _157;
      var _159 = _jacA+48+4;
      var _160 = FHEAP[_159];
      var _161 = _jacB+16+4;
      var _162 = FHEAP[_161];
      var _163 = _160 * _162;
      var _164 = _jacA+48;
      var _165 = FHEAP[_164];
      var _166 = _jacB+16;
      var _167 = FHEAP[_166];
      var _168 = _165 * _167;
      var _169 = _jacA+64+8;
      var _170 = FHEAP[_169];
      var _171 = _jacB+32+8;
      var _172 = FHEAP[_171];
      var _173 = _170 * _172;
      var _174 = _jacA+64+4;
      var _175 = FHEAP[_174];
      var _176 = _jacB+32+4;
      var _177 = FHEAP[_176];
      var _178 = _175 * _177;
      var _179 = _jacA+64;
      var _180 = FHEAP[_179];
      var _181 = _jacB+32;
      var _182 = FHEAP[_181];
      var _183 = _180 * _182;
      var _184 = _143 * _invMassA;
      var _185 = _148 * _invMassA;
      var _186 = _153 * _invMassA;
      var _187 = _143 * _invMassB;
      var _188 = _148 * _invMassB;
      var _189 = _153 * _invMassB;
      var _190 = _158 + _173;
      var _191 = _163 + _178;
      var _192 = _168 + _183;
      var _193 = _190 + _184;
      var _194 = _191 + _185;
      var _195 = _192 + _186;
      var _196 = _193 + _187;
      var _197 = _194 + _188;
      var _198 = _195 + _189;
      var _199 = _198 + _197;
      var _200 = _199 + _196;
      var _201 = _jacA+80;
      var _202 = FHEAP[_201];
      var _203 = _jacB+80;
      var _204 = FHEAP[_203];
      var _205 = _202 * _204;
      var _206 = _200 * _200;
      var _207 = _205 - _206;
      var _208 = 1 / _207;
      var _209 = _202 * _134;
      var _210 = _209 * _208;
      var _211 = 0 - _200;
      var _212 = _138 * _211;
      var _213 = _212 * _208;
      var _214 = _210 + _213;
      FHEAP[_imp0] = _214;
      var _215 = _204 * _138;
      var _216 = _215 * _208;
      var _217 = _134 * _211;
      var _218 = _217 * _208;
      var _219 = _216 + _218;
      FHEAP[_imp1] = _219;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN24btSolve2LinearConstraint31resolveUnilateralPairConstraintEP11btRigidBodyS1_RK11btMatrix3x3S4_RK9btVector3fS7_S7_S7_S7_fS7_S7_S7_fS7_S7_S7_fS7_RfS8_.__index__ = Runtime.getFunctionIndex(__ZN24btSolve2LinearConstraint31resolveUnilateralPairConstraintEP11btRigidBodyS1_RK11btMatrix3x3S4_RK9btVector3fS7_S7_S7_S7_fS7_S7_S7_fS7_S7_S7_fS7_RfS8_, "__ZN24btSolve2LinearConstraint31resolveUnilateralPairConstraintEP11btRigidBodyS1_RK11btMatrix3x3S4_RK9btVector3fS7_S7_S7_S7_fS7_S7_S7_fS7_S7_S7_fS7_RfS8_");
  
  
  function __ZN24btSolve2LinearConstraint30resolveBilateralPairConstraintEP11btRigidBodyS1_RK11btMatrix3x3S4_RK9btVector3fS7_S7_S7_S7_fS7_S7_S7_fS7_S7_S7_fS7_RfS8_(_this, _body1, _body2, _world2A, _world2B, _invInertiaADiag, _invMassA, _linvelA, _angvelA, _rel_posA1, _invInertiaBDiag, _invMassB, _linvelB, _angvelB, _rel_posA2, _depthA, _normalA, _rel_posB1, _rel_posB2, _depthB, _normalB, _imp0, _imp1) {
    var __stackBase__  = STACKTOP; STACKTOP += 168;
    var __label__;
    var _jacA = __stackBase__;
    var _jacB = __stackBase__+84;
    FHEAP[_imp0] = 0;
    FHEAP[_imp1] = 0;
    var _0 = _normalA;
    var _1 = FHEAP[_0];
    var _2 = _1 * _1;
    var _3 = _normalA+4;
    var _4 = FHEAP[_3];
    var _5 = _4 * _4;
    var _6 = _2 + _5;
    var _7 = _normalA+8;
    var _8 = FHEAP[_7];
    var _9 = _8 * _8;
    var _10 = _6 + _9;
    var _11 = _sqrtf(_10);
    var _12 = _fabsf(_11);
    var _13 = _12 + -1;
    var _14 = _fabsf(_13);
    var _15 = _14 < 1.1920928955078125e-7;
    ;
    _bb$_return$16539: do { 
      if (_15) {
        ;
        __ZN15btJacobianEntryC2ERK11btMatrix3x3S2_RK9btVector3S5_S5_S5_fS5_f(_jacA, _world2A, _world2B, _rel_posA1, _rel_posA2, _normalA, _invInertiaADiag, _invMassA, _invInertiaBDiag, _invMassB);
        __ZN15btJacobianEntryC2ERK11btMatrix3x3S2_RK9btVector3S5_S5_S5_fS5_f(_jacB, _world2A, _world2B, _rel_posB1, _rel_posB2, _normalB, _invInertiaADiag, _invMassA, _invInertiaBDiag, _invMassB);
        var _16 = _body2+320;
        var _17 = FHEAP[_16];
        var _18 = _rel_posA1+4;
        var _19 = FHEAP[_18];
        var _20 = _17 * _19;
        var _21 = _body2+320+4;
        var _22 = FHEAP[_21];
        var _23 = _rel_posA1;
        var _24 = FHEAP[_23];
        var _25 = _22 * _24;
        var _26 = _20 - _25;
        var _27 = _body2+320+8;
        var _28 = FHEAP[_27];
        var _29 = _28 * _24;
        var _30 = _rel_posA1+8;
        var _31 = FHEAP[_30];
        var _32 = _17 * _31;
        var _33 = _29 - _32;
        var _34 = _22 * _31;
        var _35 = _28 * _19;
        var _36 = _34 - _35;
        var _37 = _body2+304+8;
        var _38 = FHEAP[_37];
        var _39 = _38 + _26;
        var _40 = _body2+304+4;
        var _41 = FHEAP[_40];
        var _42 = _41 + _33;
        var _43 = _body2+304;
        var _44 = FHEAP[_43];
        var _45 = _44 + _36;
        var _46 = _body1+320;
        var _47 = FHEAP[_46];
        var _48 = _47 * _19;
        var _49 = _body1+320+4;
        var _50 = FHEAP[_49];
        var _51 = _50 * _24;
        var _52 = _48 - _51;
        var _53 = _body1+320+8;
        var _54 = FHEAP[_53];
        var _55 = _54 * _24;
        var _56 = _47 * _31;
        var _57 = _55 - _56;
        var _58 = _50 * _31;
        var _59 = _54 * _19;
        var _60 = _58 - _59;
        var _61 = _body1+304+8;
        var _62 = FHEAP[_61];
        var _63 = _62 + _52;
        var _64 = _body1+304+4;
        var _65 = FHEAP[_64];
        var _66 = _65 + _57;
        var _67 = _body1+304;
        var _68 = FHEAP[_67];
        var _69 = _68 + _60;
        var _70 = _63 - _39;
        var _71 = _66 - _42;
        var _72 = _69 - _45;
        var _73 = FHEAP[_0];
        var _74 = _73 * _72;
        var _75 = FHEAP[_3];
        var _76 = _75 * _71;
        var _77 = _74 + _76;
        var _78 = FHEAP[_7];
        var _79 = _78 * _70;
        var _80 = _77 + _79;
        var _81 = _rel_posB1+4;
        var _82 = FHEAP[_81];
        var _83 = _17 * _82;
        var _84 = _rel_posB1;
        var _85 = FHEAP[_84];
        var _86 = _22 * _85;
        var _87 = _83 - _86;
        var _88 = _28 * _85;
        var _89 = _rel_posB1+8;
        var _90 = FHEAP[_89];
        var _91 = _17 * _90;
        var _92 = _88 - _91;
        var _93 = _22 * _90;
        var _94 = _28 * _82;
        var _95 = _93 - _94;
        var _96 = _38 + _87;
        var _97 = _41 + _92;
        var _98 = _44 + _95;
        var _99 = _47 * _82;
        var _100 = _50 * _85;
        var _101 = _99 - _100;
        var _102 = _54 * _85;
        var _103 = _47 * _90;
        var _104 = _102 - _103;
        var _105 = _50 * _90;
        var _106 = _54 * _82;
        var _107 = _105 - _106;
        var _108 = _62 + _101;
        var _109 = _65 + _104;
        var _110 = _68 + _107;
        var _111 = _108 - _96;
        var _112 = _109 - _97;
        var _113 = _110 - _98;
        var _114 = _normalB;
        var _115 = FHEAP[_114];
        var _116 = _115 * _113;
        var _117 = _normalB+4;
        var _118 = FHEAP[_117];
        var _119 = _118 * _112;
        var _120 = _116 + _119;
        var _121 = _normalB+8;
        var _122 = FHEAP[_121];
        var _123 = _122 * _111;
        var _124 = _120 + _123;
        var _125 = _this;
        var _126 = FHEAP[_125];
        var _127 = _126 * _depthA;
        var _128 = _this+4;
        var _129 = FHEAP[_128];
        var _130 = _129 * _80;
        var _131 = _127 - _130;
        var _132 = _126 * _depthB;
        var _133 = _129 * _124;
        var _134 = _132 - _133;
        var _135 = _jacA+8;
        var _136 = FHEAP[_135];
        var _137 = _jacB+8;
        var _138 = FHEAP[_137];
        var _139 = _136 * _138;
        var _140 = _jacA+4;
        var _141 = FHEAP[_140];
        var _142 = _jacB+4;
        var _143 = FHEAP[_142];
        var _144 = _141 * _143;
        var _145 = _jacA;
        var _146 = FHEAP[_145];
        var _147 = _jacB;
        var _148 = FHEAP[_147];
        var _149 = _146 * _148;
        var _150 = _jacA+48+8;
        var _151 = FHEAP[_150];
        var _152 = _jacB+16+8;
        var _153 = FHEAP[_152];
        var _154 = _151 * _153;
        var _155 = _jacA+48+4;
        var _156 = FHEAP[_155];
        var _157 = _jacB+16+4;
        var _158 = FHEAP[_157];
        var _159 = _156 * _158;
        var _160 = _jacA+48;
        var _161 = FHEAP[_160];
        var _162 = _jacB+16;
        var _163 = FHEAP[_162];
        var _164 = _161 * _163;
        var _165 = _jacA+64+8;
        var _166 = FHEAP[_165];
        var _167 = _jacB+32+8;
        var _168 = FHEAP[_167];
        var _169 = _166 * _168;
        var _170 = _jacA+64+4;
        var _171 = FHEAP[_170];
        var _172 = _jacB+32+4;
        var _173 = FHEAP[_172];
        var _174 = _171 * _173;
        var _175 = _jacA+64;
        var _176 = FHEAP[_175];
        var _177 = _jacB+32;
        var _178 = FHEAP[_177];
        var _179 = _176 * _178;
        var _180 = _139 * _invMassA;
        var _181 = _144 * _invMassA;
        var _182 = _149 * _invMassA;
        var _183 = _139 * _invMassB;
        var _184 = _144 * _invMassB;
        var _185 = _149 * _invMassB;
        var _186 = _154 + _169;
        var _187 = _159 + _174;
        var _188 = _164 + _179;
        var _189 = _186 + _180;
        var _190 = _187 + _181;
        var _191 = _188 + _182;
        var _192 = _189 + _183;
        var _193 = _190 + _184;
        var _194 = _191 + _185;
        var _195 = _194 + _193;
        var _196 = _195 + _192;
        var _197 = _jacA+80;
        var _198 = FHEAP[_197];
        var _199 = _jacB+80;
        var _200 = FHEAP[_199];
        var _201 = _198 * _200;
        var _202 = _196 * _196;
        var _203 = _201 - _202;
        var _204 = 1 / _203;
        var _205 = _198 * _131;
        var _206 = _205 * _204;
        var _207 = 0 - _196;
        var _208 = _134 * _207;
        var _209 = _208 * _204;
        var _210 = _206 + _209;
        FHEAP[_imp0] = _210;
        var _211 = _200 * _134;
        var _212 = _211 * _204;
        var _213 = _131 * _207;
        var _214 = _213 * _204;
        var _215 = _212 + _214;
        FHEAP[_imp1] = _215;
        var _216 = FHEAP[_imp0];
        var _217 = _216 > 0;
        ;
        if (_217) {
          ;
          var _218 = _215 <= 0;
          if (!(_218)) { __label__ = 44; /* _return */ break _bb$_return$16539; }
          FHEAP[_imp1] = 0;
          var _219 = _131 / _198;
          FHEAP[_imp0] = _219;
          var _220 = _219 <= 0;
          if (!(_220)) { __label__ = 44; /* _return */ break _bb$_return$16539; }
          FHEAP[_imp0] = 0;
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          FHEAP[_imp0] = 0;
          var _221 = _134 / _200;
          FHEAP[_imp1] = _221;
          var _222 = _221 > 0;
          if (_222) { __label__ = 44; /* _return */ break _bb$_return$16539; }
          FHEAP[_imp1] = 0;
          var _223 = _131 / _198;
          FHEAP[_imp0] = _223;
          var _224 = _223 <= 0;
          if (!(_224)) { __label__ = 44; /* _return */ break _bb$_return$16539; }
          FHEAP[_imp0] = 0;
          STACKTOP = __stackBase__;
          return;
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN24btSolve2LinearConstraint30resolveBilateralPairConstraintEP11btRigidBodyS1_RK11btMatrix3x3S4_RK9btVector3fS7_S7_S7_S7_fS7_S7_S7_fS7_S7_S7_fS7_RfS8_.__index__ = Runtime.getFunctionIndex(__ZN24btSolve2LinearConstraint30resolveBilateralPairConstraintEP11btRigidBodyS1_RK11btMatrix3x3S4_RK9btVector3fS7_S7_S7_S7_fS7_S7_S7_fS7_S7_S7_fS7_RfS8_, "__ZN24btSolve2LinearConstraint30resolveBilateralPairConstraintEP11btRigidBodyS1_RK11btMatrix3x3S4_RK9btVector3fS7_S7_S7_S7_fS7_S7_S7_fS7_S7_S7_fS7_RfS8_");
  
  
  function __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBody(_this, _type, _rbA) {
    ;
    var __label__;
    var _0 = _this+4;
    IHEAP[_0] = _type;
    var _1 = _this;
    IHEAP[_1] = __ZTV17btTypedConstraint+8;
    var _2 = _this+8;
    IHEAP[_2] = -1;
    var _3 = _this+12;
    IHEAP[_3] = -1;
    var _4 = _this+16;
    IHEAP[_4] = 0;
    var _5 = _this+20;
    IHEAP[_5] = _rbA;
    var _6 = __ZN17btTypedConstraint12getFixedBodyEv();
    var _7 = _this+24;
    IHEAP[_7] = __ZZN17btTypedConstraint12getFixedBodyEvE7s_fixed;
    var _8 = _this+28;
    FHEAP[_8] = 0;
    var _9 = _this+32;
    FHEAP[_9] = 0.30000001192092896;
    ;
    return;
  }
  __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBody.__index__ = Runtime.getFunctionIndex(__ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBody, "__ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBody");
  
  
  function __ZNK17btTypedConstraint9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _serializer;
    var _1 = IHEAP[_0];
    var _2 = _1+28;
    var _3 = IHEAP[_2];
    var _4 = _this+20;
    var _5 = IHEAP[_4];
    var _6 = _3;
    var _7 = _5;
    var _8 = FUNCTION_TABLE[_6](_serializer, _7);
    var _9 = _8;
    var _10 = _dataBuffer;
    IHEAP[_10] = _9;
    var _11 = IHEAP[_0];
    var _12 = _11+28;
    var _13 = IHEAP[_12];
    var _14 = _this+24;
    var _15 = IHEAP[_14];
    var _16 = _13;
    var _17 = _15;
    var _18 = FUNCTION_TABLE[_16](_serializer, _17);
    var _19 = _18;
    var _20 = _dataBuffer+4;
    var _21 = _20;
    IHEAP[_21] = _19;
    var _22 = IHEAP[_0];
    var _23 = _22+40;
    var _24 = IHEAP[_23];
    var _25 = _24;
    var _26 = _this;
    var _27 = FUNCTION_TABLE[_25](_serializer, _26);
    var _28 = IHEAP[_0];
    var _29 = _28+28;
    var _30 = IHEAP[_29];
    var _31 = _30;
    var _32 = FUNCTION_TABLE[_31](_serializer, _27);
    var _33 = _dataBuffer+8;
    var _34 = _33;
    IHEAP[_34] = _32;
    var _35 = _32 == 0;
    ;
    if (!_35) {
      ;
      var _36 = IHEAP[_0];
      var _37 = _36+48;
      var _38 = IHEAP[_37];
      var _39 = _38;
      FUNCTION_TABLE[_39](_serializer, _27);
      ;
    }
    var _40 = _this+4;
    var _41 = IHEAP[_40];
    var _42 = _dataBuffer+12;
    var _43 = _42;
    IHEAP[_43] = _41;
    var _44 = _this+16;
    var _45 = IHEAP[_44];
    var _46 = _45;
    var _47 = _dataBuffer+24;
    var _48 = _47;
    IHEAP[_48] = _46;
    var _49 = _this+12;
    var _50 = IHEAP[_49];
    var _51 = _dataBuffer+20;
    var _52 = _51;
    IHEAP[_52] = _50;
    var _53 = _this+8;
    var _54 = IHEAP[_53];
    var _55 = _dataBuffer+16;
    var _56 = _55;
    IHEAP[_56] = _54;
    var _57 = _this+28;
    var _58 = FHEAP[_57];
    var _59 = _dataBuffer+28;
    var _60 = _59;
    FHEAP[_60] = _58;
    var _61 = _this+32;
    var _62 = FHEAP[_61];
    var _63 = _dataBuffer+32;
    var _64 = _63;
    FHEAP[_64] = _62;
    var _65 = _dataBuffer+36;
    var _66 = _65;
    IHEAP[_66] = 0;
    var _67 = IHEAP[_4];
    var _68 = _67+476+4;
    var _69 = IHEAP[_68];
    var _70 = _69 > 0;
    if (_70) { __lastLabel__ = 75; __label__ = 0; /* _bb2 */  } else { __lastLabel__ = 75; __label__ = 3060; /* _bb12_preheader */  }
    _bb2$_bb12_preheader$16555: while(1) { // _bb2,_bb12_preheader
      if (__label__ == 0) {
        var _71 = __lastLabel__ == 61 ? _76 : (_67);
        var _i_017 = __lastLabel__ == 61 ? _tmp20 : (0);
        var _tmp20 = _i_017 + 1;
        var _72 = _71+476+12;
        var _73 = IHEAP[_72];
        var _scevgep19 = _73+4*_i_017;
        var _74 = IHEAP[_scevgep19];
        var _75 = _74 == _this;
        ;
        if (_75) {
          ;
          IHEAP[_66] = 1;
          ;
        }
        var _76 = IHEAP[_4];
        var _77 = _76+476+4;
        var _78 = IHEAP[_77];
        var _79 = _78 > _tmp20;
        if (_79) { __lastLabel__ = 61; __label__ = 0; /* _bb2 */ continue _bb2$_bb12_preheader$16555; } else { __lastLabel__ = 61; __label__ = 3060; /* _bb12_preheader */ continue _bb2$_bb12_preheader$16555; }
      }
      else if (__label__ == 3060) {
        var _80 = IHEAP[_14];
        var _81 = _80+476+4;
        var _82 = IHEAP[_81];
        var _83 = _82 > 0;
        if (_83) { __lastLabel__ = 3060; __label__ = 148; /* _bb8 */ break _bb2$_bb12_preheader$16555; } else { __lastLabel__ = 3060; __label__ = 63; /* _bb14 */ break _bb2$_bb12_preheader$16555; }
      }
    }
    _bb8$_bb14$16562: while(1) { // _bb8,_bb14
      if (__label__ == 148) {
        var _84 = __lastLabel__ == 292 ? _89 : (_80);
        var _i_116 = __lastLabel__ == 292 ? _tmp : (0);
        var _tmp = _i_116 + 1;
        var _85 = _84+476+12;
        var _86 = IHEAP[_85];
        var _scevgep = _86+4*_i_116;
        var _87 = IHEAP[_scevgep];
        var _88 = _87 == _this;
        ;
        if (_88) {
          ;
          IHEAP[_66] = 1;
          ;
        }
        var _89 = IHEAP[_14];
        var _90 = _89+476+4;
        var _91 = IHEAP[_90];
        var _92 = _91 > _tmp;
        if (_92) { __lastLabel__ = 292; __label__ = 148; /* _bb8 */ continue _bb8$_bb14$16562; } else { __lastLabel__ = 292; __label__ = 63; /* _bb14 */ continue _bb8$_bb14$16562; }
      }
      else if (__label__ == 63) {
        ;
        return __str1021;
      }
    }
  }
  __ZNK17btTypedConstraint9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK17btTypedConstraint9serializeEPvP12btSerializer, "__ZNK17btTypedConstraint9serializeEPvP12btSerializer");
  
  
  function __ZN17btTypedConstraint12getFixedBodyEv() {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = IHEAP[__ZGVZN17btTypedConstraint12getFixedBodyEvE7s_fixed];
    var _3 = _2 == 0;
    ;
    _bb$_bb9$16588: do { 
      if (_3) {
        ;
        var _4 = ___cxa_guard_acquire(__ZGVZN17btTypedConstraint12getFixedBodyEvE7s_fixed);
        var _5 = _4 == 0;
        if (_5) { __label__ = 62; /* _bb9 */ break _bb$_bb9$16588; }
        var _6 = _1;
        FHEAP[_6] = 0;
        var _7 = _1+4;
        FHEAP[_7] = 0;
        var _8 = _1+8;
        FHEAP[_8] = 0;
        var _9 = _1+12;
        FHEAP[_9] = 0;
        (function() { try { __THREW__ = false; return __ZN11btRigidBodyC1EfP13btMotionStateP16btCollisionShapeRK9btVector3(__ZZN17btTypedConstraint12getFixedBodyEvE7s_fixed, 0, 0, 0, _1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        if (__label__ == 345) {
          ___cxa_guard_release(__ZGVZN17btTypedConstraint12getFixedBodyEvE7s_fixed);
          var _10 = ___cxa_atexit(___tcf_016.__index__, 0, ___dso_handle);
          ;
        }
        else if (__label__ == 254) {
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select12 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          ___cxa_guard_abort(__ZGVZN17btTypedConstraint12getFixedBodyEvE7s_fixed);
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
      }
    } while(0);
    var _11 = _0;
    FHEAP[_11] = 0;
    var _12 = _0+4;
    FHEAP[_12] = 0;
    var _13 = _0+8;
    FHEAP[_13] = 0;
    var _14 = _0+12;
    FHEAP[_14] = 0;
    __ZN11btRigidBody12setMassPropsEfRK9btVector3(__ZZN17btTypedConstraint12getFixedBodyEvE7s_fixed, 0, _0);
    STACKTOP = __stackBase__;
    return __ZZN17btTypedConstraint12getFixedBodyEvE7s_fixed;
  }
  __ZN17btTypedConstraint12getFixedBodyEv.__index__ = Runtime.getFunctionIndex(__ZN17btTypedConstraint12getFixedBodyEv, "__ZN17btTypedConstraint12getFixedBodyEv");
  
  
  function ___tcf_016(_unnamed_arg) {
    ;
    var __label__;
    IHEAP[__ZZN17btTypedConstraint12getFixedBodyEvE7s_fixed] = __ZTV11btRigidBody+8;
    var _0 = IHEAP[__ZZN17btTypedConstraint12getFixedBodyEvE7s_fixed+476+12];
    var _1 = _0 == 0;
    ;
    if (!_1) {
      ;
      var _2 = IHEAP[__ZZN17btTypedConstraint12getFixedBodyEvE7s_fixed+476+16];
      var _toBool_i_i_i_i = _2 == 0;
      ;
      _bb2_i_i_i_i$_bb1_i_i_i_i$16598: do { 
        if (!_toBool_i_i_i_i) {
          ;
          var _3 = _0;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_3) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3769; /* _bb2_i_i_i_i */ break _bb2_i_i_i_i$_bb1_i_i_i_i$16598; } else { ; }
          var _eh_ptr_i = _llvm_eh_exception();
          var _eh_select8_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
          (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(__ZZN17btTypedConstraint12getFixedBodyEvE7s_fixed) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3823; /* _invcont1_i */  } else { __label__ = 3824; /* _lpad9_i */  }
          if (__label__ == 3823) {
            __Unwind_Resume_or_Rethrow(_eh_ptr_i);
            // unreachable
          }
          else if (__label__ == 3824) {
            var _eh_ptr10_i = _llvm_eh_exception();
            var _eh_select12_i = _llvm_eh_selector(_eh_ptr10_i, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[__ZZN17btTypedConstraint12getFixedBodyEvE7s_fixed+476+12] = 0;
      ;
    }
    IHEAP[__ZZN17btTypedConstraint12getFixedBodyEvE7s_fixed+476+16] = 1;
    IHEAP[__ZZN17btTypedConstraint12getFixedBodyEvE7s_fixed+476+12] = 0;
    IHEAP[__ZZN17btTypedConstraint12getFixedBodyEvE7s_fixed+476+4] = 0;
    IHEAP[__ZZN17btTypedConstraint12getFixedBodyEvE7s_fixed+476+8] = 0;
    __ZN17btCollisionObjectD2Ev(__ZZN17btTypedConstraint12getFixedBodyEvE7s_fixed);
    ;
    return;
  }
  ___tcf_016.__index__ = Runtime.getFunctionIndex(___tcf_016, "___tcf_016");
  
  
  function __ZN17btTypedConstraintC1E21btTypedConstraintTypeR11btRigidBody(_this, _type, _rbA) {
    ;
    var __label__;
    var _0 = _this+4;
    IHEAP[_0] = _type;
    var _1 = _this;
    IHEAP[_1] = __ZTV17btTypedConstraint+8;
    var _2 = _this+8;
    IHEAP[_2] = -1;
    var _3 = _this+12;
    IHEAP[_3] = -1;
    var _4 = _this+16;
    IHEAP[_4] = 0;
    var _5 = _this+20;
    IHEAP[_5] = _rbA;
    var _6 = __ZN17btTypedConstraint12getFixedBodyEv();
    var _7 = _this+24;
    IHEAP[_7] = __ZZN17btTypedConstraint12getFixedBodyEvE7s_fixed;
    var _8 = _this+28;
    FHEAP[_8] = 0;
    var _9 = _this+32;
    FHEAP[_9] = 0.30000001192092896;
    ;
    return;
  }
  __ZN17btTypedConstraintC1E21btTypedConstraintTypeR11btRigidBody.__index__ = Runtime.getFunctionIndex(__ZN17btTypedConstraintC1E21btTypedConstraintTypeR11btRigidBody, "__ZN17btTypedConstraintC1E21btTypedConstraintTypeR11btRigidBody");
  
  
  function __ZN21btUniversalConstraintC2ER11btRigidBodyS1_R9btVector3S3_S3_(_this, _rbA, _rbB, _anchor, _axis1, _axis2) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __ZN11btTransform11getIdentityEv();
    var _3 = __ZN11btTransform11getIdentityEv();
    var _4 = _this;
    __ZN23btGeneric6DofConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b(_4, _rbA, _rbB, __ZZN11btTransform11getIdentityEvE17identityTransform, __ZZN11btTransform11getIdentityEvE17identityTransform, 1);
    var _5 = _this;
    IHEAP[_5] = __ZTV21btUniversalConstraint+8;
    var _6 = _this+1300;
    var _7 = _anchor;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _this+1300+4;
    var _10 = _anchor+4;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _this+1300+8;
    var _13 = _anchor+8;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _this+1300+12;
    var _16 = _anchor+12;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _this+1316;
    var _19 = _axis1;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _this+1316+4;
    var _22 = _axis1+4;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    var _24 = _this+1316+8;
    var _25 = _axis1+8;
    var _26 = FHEAP[_25];
    FHEAP[_24] = _26;
    var _27 = _this+1316+12;
    var _28 = _axis1+12;
    var _29 = FHEAP[_28];
    FHEAP[_27] = _29;
    var _30 = _this+1332;
    var _31 = _axis2;
    var _32 = FHEAP[_31];
    FHEAP[_30] = _32;
    var _33 = _this+1332+4;
    var _34 = _axis2+4;
    var _35 = FHEAP[_34];
    FHEAP[_33] = _35;
    var _36 = _this+1332+8;
    var _37 = _axis2+8;
    var _38 = FHEAP[_37];
    FHEAP[_36] = _38;
    var _39 = _this+1332+12;
    var _40 = _axis2+12;
    var _41 = FHEAP[_40];
    FHEAP[_39] = _41;
    var _42 = FHEAP[_19];
    var _43 = _42 * _42;
    var _44 = FHEAP[_22];
    var _45 = _44 * _44;
    var _46 = _43 + _45;
    var _47 = FHEAP[_25];
    var _48 = _47 * _47;
    var _49 = _46 + _48;
    var _50 = _sqrtf(_49);
    var _51 = 1 / _50;
    var _52 = _42 * _51;
    FHEAP[_19] = _52;
    var _53 = _44 * _51;
    FHEAP[_22] = _53;
    var _54 = _47 * _51;
    FHEAP[_25] = _54;
    var _55 = FHEAP[_31];
    var _56 = _55 * _55;
    var _57 = FHEAP[_34];
    var _58 = _57 * _57;
    var _59 = _56 + _58;
    var _60 = FHEAP[_37];
    var _61 = _60 * _60;
    var _62 = _59 + _61;
    var _63 = _sqrtf(_62);
    var _64 = 1 / _63;
    var _65 = _55 * _64;
    FHEAP[_31] = _65;
    var _66 = _57 * _64;
    FHEAP[_34] = _66;
    var _67 = _60 * _64;
    FHEAP[_37] = _67;
    var _68 = _65 * _53;
    var _69 = _66 * _52;
    var _70 = _68 - _69;
    var _71 = _67 * _52;
    var _72 = _65 * _54;
    var _73 = _71 - _72;
    var _74 = _66 * _54;
    var _75 = _67 * _53;
    var _76 = _74 - _75;
    var _77 = FHEAP[_7];
    var _78 = FHEAP[_10];
    var _79 = FHEAP[_13];
    var _80 = _rbA+4+32+8;
    var _81 = _rbA+4+16+8;
    var _82 = _rbA+4+8;
    var _83 = _rbA+4+32+4;
    var _84 = _rbA+4+16+4;
    var _85 = _rbA+4+4;
    var _86 = _rbA+4+32;
    var _87 = _rbA+4+16;
    var _88 = _rbA+4;
    var _89 = FHEAP[_88];
    var _90 = FHEAP[_87];
    var _91 = FHEAP[_86];
    var _92 = FHEAP[_85];
    var _93 = FHEAP[_84];
    var _94 = FHEAP[_83];
    var _95 = FHEAP[_82];
    var _96 = FHEAP[_81];
    var _97 = FHEAP[_80];
    var _98 = _rbA+4+48+8;
    var _99 = FHEAP[_98];
    var _100 = 0 - _99;
    var _101 = _rbA+4+48+4;
    var _102 = FHEAP[_101];
    var _103 = 0 - _102;
    var _104 = _rbA+4+48;
    var _105 = FHEAP[_104];
    var _106 = 0 - _105;
    var _107 = _90 * _78;
    var _108 = _89 * _77;
    var _109 = _93 * _78;
    var _110 = _92 * _77;
    var _111 = _96 * _78;
    var _112 = _95 * _77;
    var _113 = _95 * _106;
    var _114 = _96 * _103;
    var _115 = _92 * _106;
    var _116 = _93 * _103;
    var _117 = _89 * _106;
    var _118 = _90 * _103;
    var _119 = _73 * _90;
    var _120 = _76 * _89;
    var _121 = _66 * _90;
    var _122 = _65 * _89;
    var _123 = _53 * _90;
    var _124 = _52 * _89;
    var _125 = _73 * _93;
    var _126 = _76 * _92;
    var _127 = _66 * _93;
    var _128 = _65 * _92;
    var _129 = _53 * _93;
    var _130 = _52 * _92;
    var _131 = _73 * _96;
    var _132 = _76 * _95;
    var _133 = _66 * _96;
    var _134 = _65 * _95;
    var _135 = _53 * _96;
    var _136 = _52 * _95;
    var _137 = _91 * _79;
    var _138 = _108 + _107;
    var _139 = _94 * _79;
    var _140 = _110 + _109;
    var _141 = _97 * _79;
    var _142 = _112 + _111;
    var _143 = _113 + _114;
    var _144 = _97 * _100;
    var _145 = _115 + _116;
    var _146 = _94 * _100;
    var _147 = _117 + _118;
    var _148 = _91 * _100;
    var _149 = _70 * _91;
    var _150 = _120 + _119;
    var _151 = _67 * _91;
    var _152 = _122 + _121;
    var _153 = _54 * _91;
    var _154 = _124 + _123;
    var _155 = _70 * _94;
    var _156 = _126 + _125;
    var _157 = _67 * _94;
    var _158 = _128 + _127;
    var _159 = _54 * _94;
    var _160 = _130 + _129;
    var _161 = _70 * _97;
    var _162 = _132 + _131;
    var _163 = _67 * _97;
    var _164 = _134 + _133;
    var _165 = _54 * _97;
    var _166 = _136 + _135;
    var _167 = _138 + _137;
    var _168 = _140 + _139;
    var _169 = _142 + _141;
    var _170 = _143 + _144;
    var _171 = _145 + _146;
    var _172 = _147 + _148;
    var _173 = _150 + _149;
    var _174 = _152 + _151;
    var _175 = _154 + _153;
    var _176 = _156 + _155;
    var _177 = _158 + _157;
    var _178 = _160 + _159;
    var _179 = _162 + _161;
    var _180 = _164 + _163;
    var _181 = _166 + _165;
    var _182 = _167 + _172;
    var _183 = _168 + _171;
    var _184 = _169 + _170;
    var _185 = _this+36;
    FHEAP[_185] = _173;
    var _186 = _this+36+4;
    FHEAP[_186] = _174;
    var _187 = _this+36+8;
    FHEAP[_187] = _175;
    var _188 = _this+36+12;
    FHEAP[_188] = 0;
    var _189 = _this+36+16;
    FHEAP[_189] = _176;
    var _190 = _this+36+16+4;
    FHEAP[_190] = _177;
    var _191 = _this+36+16+8;
    FHEAP[_191] = _178;
    var _192 = _this+36+16+12;
    FHEAP[_192] = 0;
    var _193 = _this+36+32;
    FHEAP[_193] = _179;
    var _194 = _this+36+32+4;
    FHEAP[_194] = _180;
    var _195 = _this+36+32+8;
    FHEAP[_195] = _181;
    var _196 = _this+36+32+12;
    FHEAP[_196] = 0;
    var _197 = _this+36+48;
    FHEAP[_197] = _182;
    var _198 = _this+36+48+4;
    FHEAP[_198] = _183;
    var _199 = _this+36+48+8;
    FHEAP[_199] = _184;
    var _200 = _this+36+48+12;
    FHEAP[_200] = 0;
    var _201 = _rbB+4+32+8;
    var _202 = _rbB+4+16+8;
    var _203 = _rbB+4+8;
    var _204 = _rbB+4+32+4;
    var _205 = _rbB+4+16+4;
    var _206 = _rbB+4+4;
    var _207 = _rbB+4+32;
    var _208 = _rbB+4+16;
    var _209 = _rbB+4;
    var _210 = FHEAP[_209];
    var _211 = FHEAP[_208];
    var _212 = FHEAP[_207];
    var _213 = FHEAP[_206];
    var _214 = FHEAP[_205];
    var _215 = FHEAP[_204];
    var _216 = FHEAP[_203];
    var _217 = FHEAP[_202];
    var _218 = FHEAP[_201];
    var _219 = _rbB+4+48+8;
    var _220 = FHEAP[_219];
    var _221 = 0 - _220;
    var _222 = _rbB+4+48+4;
    var _223 = FHEAP[_222];
    var _224 = 0 - _223;
    var _225 = _rbB+4+48;
    var _226 = FHEAP[_225];
    var _227 = 0 - _226;
    var _228 = _211 * _78;
    var _229 = _210 * _77;
    var _230 = _214 * _78;
    var _231 = _213 * _77;
    var _232 = _217 * _78;
    var _233 = _216 * _77;
    var _234 = _216 * _227;
    var _235 = _217 * _224;
    var _236 = _213 * _227;
    var _237 = _214 * _224;
    var _238 = _210 * _227;
    var _239 = _211 * _224;
    var _240 = _73 * _211;
    var _241 = _76 * _210;
    var _242 = _66 * _211;
    var _243 = _65 * _210;
    var _244 = _53 * _211;
    var _245 = _52 * _210;
    var _246 = _73 * _214;
    var _247 = _76 * _213;
    var _248 = _66 * _214;
    var _249 = _65 * _213;
    var _250 = _53 * _214;
    var _251 = _52 * _213;
    var _252 = _73 * _217;
    var _253 = _76 * _216;
    var _254 = _66 * _217;
    var _255 = _65 * _216;
    var _256 = _53 * _217;
    var _257 = _52 * _216;
    var _258 = _212 * _79;
    var _259 = _229 + _228;
    var _260 = _215 * _79;
    var _261 = _231 + _230;
    var _262 = _218 * _79;
    var _263 = _233 + _232;
    var _264 = _234 + _235;
    var _265 = _218 * _221;
    var _266 = _236 + _237;
    var _267 = _215 * _221;
    var _268 = _238 + _239;
    var _269 = _212 * _221;
    var _270 = _70 * _212;
    var _271 = _241 + _240;
    var _272 = _67 * _212;
    var _273 = _243 + _242;
    var _274 = _54 * _212;
    var _275 = _245 + _244;
    var _276 = _70 * _215;
    var _277 = _247 + _246;
    var _278 = _67 * _215;
    var _279 = _249 + _248;
    var _280 = _54 * _215;
    var _281 = _251 + _250;
    var _282 = _70 * _218;
    var _283 = _253 + _252;
    var _284 = _67 * _218;
    var _285 = _255 + _254;
    var _286 = _54 * _218;
    var _287 = _257 + _256;
    var _288 = _259 + _258;
    var _289 = _261 + _260;
    var _290 = _263 + _262;
    var _291 = _264 + _265;
    var _292 = _266 + _267;
    var _293 = _268 + _269;
    var _294 = _271 + _270;
    var _295 = _273 + _272;
    var _296 = _275 + _274;
    var _297 = _277 + _276;
    var _298 = _279 + _278;
    var _299 = _281 + _280;
    var _300 = _283 + _282;
    var _301 = _285 + _284;
    var _302 = _287 + _286;
    var _303 = _288 + _293;
    var _304 = _289 + _292;
    var _305 = _290 + _291;
    var _306 = _this+100;
    FHEAP[_306] = _294;
    var _307 = _this+100+4;
    FHEAP[_307] = _295;
    var _308 = _this+100+8;
    FHEAP[_308] = _296;
    var _309 = _this+100+12;
    FHEAP[_309] = 0;
    var _310 = _this+100+16;
    FHEAP[_310] = _297;
    var _311 = _this+100+16+4;
    FHEAP[_311] = _298;
    var _312 = _this+100+16+8;
    FHEAP[_312] = _299;
    var _313 = _this+100+16+12;
    FHEAP[_313] = 0;
    var _314 = _this+100+32;
    FHEAP[_314] = _300;
    var _315 = _this+100+32+4;
    FHEAP[_315] = _301;
    var _316 = _this+100+32+8;
    FHEAP[_316] = _302;
    var _317 = _this+100+32+12;
    FHEAP[_317] = 0;
    var _318 = _this+100+48;
    FHEAP[_318] = _303;
    var _319 = _this+100+48+4;
    FHEAP[_319] = _304;
    var _320 = _this+100+48+8;
    FHEAP[_320] = _305;
    var _321 = _this+100+48+12;
    FHEAP[_321] = 0;
    var _322 = _this+668;
    var _323 = _1;
    var _324 = _322;
    _llvm_memset_p0i8_i64(_324, 0, 32, 4, false);
    FHEAP[_323] = 0;
    var _325 = _1+4;
    FHEAP[_325] = -1.5607963800430298;
    var _326 = _1+8;
    FHEAP[_326] = -3.1315927505493164;
    var _327 = _1+12;
    FHEAP[_327] = 0;
    __lastLabel__ = 759; ;
    _bb_i9$16608: while(1) { // _bb_i9
      var _328 = __lastLabel__ == 759 ? 0 : (__pre);
      var _i_03_i7 = __lastLabel__ == 759 ? 0 : (_335);
      var _scevgep4_i8 = _this+856+_i_03_i7*64;
      var _329 = _fmodf(_328, 6.2831854820251465);
      var _330 = _329 < -3.1415927410125732;
      ;
      _bb_i_i10$_bb1_i_i11$16610: do { 
        if (_330) {
          ;
          var _331 = _329 + 6.2831854820251465;
          __lastLabel__ = 2237; ;
        }
        else {
          ;
          var _332 = _329 > 3.1415927410125732;
          if (_332) { __lastLabel__ = 3067; ; } else { __lastLabel__ = 3067; __label__ = 3069; /* __Z16btNormalizeAnglef_exit_i14 */ break _bb_i_i10$_bb1_i_i11$16610; }
          var _333 = _329 + -6.2831854820251465;
          __lastLabel__ = 3068; ;
        }
      } while(0);
      var _334 = __lastLabel__ == 3068 ? _333 : (__lastLabel__ == 2237 ? _331 : (_329));
      FHEAP[_scevgep4_i8] = _334;
      var _335 = _i_03_i7 + 1;
      var _exitcond109 = _335 == 3;
      if (_exitcond109) { __label__ = 2788; /* __ZN23btGeneric6DofConstraint20setAngularLowerLimitERK9btVector3_exit */ break _bb_i9$16608; }
      var _scevgep5_i_phi_trans_insert = _1+_335*4;
      var __pre = FHEAP[_scevgep5_i_phi_trans_insert];
      __lastLabel__ = 3070; __label__ = 3065; /* _bb_i9 */ continue _bb_i9$16608;
    }
    var _336 = _0;
    FHEAP[_336] = 0;
    var _337 = _0+4;
    FHEAP[_337] = 1.5607963800430298;
    var _338 = _0+8;
    FHEAP[_338] = 3.1315927505493164;
    var _339 = _0+12;
    FHEAP[_339] = 0;
    __lastLabel__ = 2788; ;
    _bb_i$16617: while(1) { // _bb_i
      var _340 = __lastLabel__ == 2788 ? 0 : (__pre112);
      var _i_03_i = __lastLabel__ == 2788 ? 0 : (_347);
      var _scevgep_i = _this+856+_i_03_i*64+4;
      var _341 = _fmodf(_340, 6.2831854820251465);
      var _342 = _341 < -3.1415927410125732;
      ;
      _bb_i_i$_bb1_i_i$16619: do { 
        if (_342) {
          ;
          var _343 = _341 + 6.2831854820251465;
          __lastLabel__ = 263; ;
        }
        else {
          ;
          var _344 = _341 > 3.1415927410125732;
          if (_344) { __lastLabel__ = 265; ; } else { __lastLabel__ = 265; __label__ = 2791; /* __Z16btNormalizeAnglef_exit_i */ break _bb_i_i$_bb1_i_i$16619; }
          var _345 = _341 + -6.2831854820251465;
          __lastLabel__ = 628; ;
        }
      } while(0);
      var _346 = __lastLabel__ == 628 ? _345 : (__lastLabel__ == 263 ? _343 : (_341));
      FHEAP[_scevgep_i] = _346;
      var _347 = _i_03_i + 1;
      var _exitcond = _347 == 3;
      if (_exitcond) { __label__ = 2792; /* __ZN23btGeneric6DofConstraint20setAngularUpperLimitERK9btVector3_exit */ break _bb_i$16617; }
      var _scevgep4_i_phi_trans_insert = _0+_347*4;
      var __pre112 = FHEAP[_scevgep4_i_phi_trans_insert];
      __lastLabel__ = 2793; __label__ = 131; /* _bb_i */ continue _bb_i$16617;
    }
    STACKTOP = __stackBase__;
    return;
  }
  __ZN21btUniversalConstraintC2ER11btRigidBodyS1_R9btVector3S3_S3_.__index__ = Runtime.getFunctionIndex(__ZN21btUniversalConstraintC2ER11btRigidBodyS1_R9btVector3S3_S3_, "__ZN21btUniversalConstraintC2ER11btRigidBodyS1_R9btVector3S3_S3_");
  
  
  function __ZN25btContinuousDynamicsWorld22calculateTimeOfImpactsEf(_this, _timeStep) {
    ;
    var __label__;
    __ZN25btContinuousDynamicsWorld19updateTemporalAabbsEf(_this, _timeStep);
    var _0 = _this+28;
    FHEAP[_0] = _timeStep;
    var _1 = _this+28+12;
    FHEAP[_1] = 1;
    var _2 = _this+28+4;
    IHEAP[_2] = 0;
    var _3 = _this+28+8;
    IHEAP[_3] = 2;
    var _4 = _this+24;
    var _5 = IHEAP[_4];
    var _6 = _5 == 0;
    ;
    if (!_6) {
      ;
      var _7 = _this+28;
      var _8 = _5;
      var _9 = IHEAP[_8];
      var _10 = _9+32;
      var _11 = IHEAP[_10];
      var _12 = _this+80;
      var _13 = IHEAP[_12];
      var _14 = _13;
      var _15 = IHEAP[_14];
      var _16 = _15+36;
      var _17 = IHEAP[_16];
      var _18 = _17;
      var _19 = FUNCTION_TABLE[_18](_13);
      var _20 = _11;
      FUNCTION_TABLE[_20](_5, _19, _7, _5);
      ;
    }
    IHEAP[_3] = 1;
    ;
    return;
  }
  __ZN25btContinuousDynamicsWorld22calculateTimeOfImpactsEf.__index__ = Runtime.getFunctionIndex(__ZN25btContinuousDynamicsWorld22calculateTimeOfImpactsEf, "__ZN25btContinuousDynamicsWorld22calculateTimeOfImpactsEf");
  
  
  function __ZN25btContinuousDynamicsWorld28internalSingleStepSimulationEf(_this, _timeStep) {
    ;
    var __label__;
    var _0 = _this;
    __ZN23btDiscreteDynamicsWorld14startProfilingEf(_0, _timeStep);
    var _1 = _this+96;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this;
      FUNCTION_TABLE[_2](_4, _timeStep);
      ;
    }
    var _5 = _this;
    var _6 = IHEAP[_5];
    var _7 = _6+8;
    var _8 = IHEAP[_7];
    var _9 = _this;
    var _10 = _8;
    FUNCTION_TABLE[_10](_9);
    var _11 = IHEAP[_5];
    var _12 = _11+132;
    var _13 = IHEAP[_12];
    var _14 = _13;
    FUNCTION_TABLE[_14](_0, _timeStep);
    var _15 = _this+28;
    FHEAP[_15] = _timeStep;
    var _16 = _this+28+4;
    IHEAP[_16] = 0;
    var _17 = IHEAP[_5];
    var _18 = _17+16;
    var _19 = IHEAP[_18];
    var _20 = _19;
    var _21 = FUNCTION_TABLE[_20](_9);
    var _22 = _this+28+20;
    IHEAP[_22] = _21;
    var _23 = IHEAP[_5];
    var _24 = _23+40;
    var _25 = IHEAP[_24];
    var _26 = _25;
    FUNCTION_TABLE[_26](_9);
    var _27 = IHEAP[_5];
    var _28 = _27+140;
    var _29 = IHEAP[_28];
    var _30 = _29;
    FUNCTION_TABLE[_30](_0);
    var _31 = _this+104+12;
    FHEAP[_31] = _timeStep;
    var _32 = IHEAP[_5];
    var _33 = _32+144;
    var _34 = IHEAP[_33];
    var _35 = _this+104;
    var _36 = _34;
    FUNCTION_TABLE[_36](_0, _35);
    var _37 = IHEAP[_5];
    var _38 = _37+172;
    var _39 = IHEAP[_38];
    var _40 = _39;
    FUNCTION_TABLE[_40](_this, _timeStep);
    var _41 = _this+28+12;
    var _42 = FHEAP[_41];
    var _43 = _42 < 0;
    ;
    if (_43) {
      ;
      var _44 = _42;
      var _45 = _printf(__str19, _44);
      ;
    }
    var _46 = IHEAP[_5];
    var _47 = _46+136;
    var _48 = IHEAP[_47];
    var _49 = _42 * _timeStep;
    var _50 = _48;
    FUNCTION_TABLE[_50](_0, _49);
    __ZN23btDiscreteDynamicsWorld13updateActionsEf(_0, _timeStep);
    __ZN23btDiscreteDynamicsWorld21updateActivationStateEf(_0, _timeStep);
    var _51 = _this+92;
    var _52 = IHEAP[_51];
    var _53 = _52 == 0;
    ;
    if (_53) {
      ;
      ;
      return;
    }
    else {
      ;
      var _54 = _this;
      FUNCTION_TABLE[_52](_54, _timeStep);
      ;
      return;
    }
  }
  __ZN25btContinuousDynamicsWorld28internalSingleStepSimulationEf.__index__ = Runtime.getFunctionIndex(__ZN25btContinuousDynamicsWorld28internalSingleStepSimulationEf, "__ZN25btContinuousDynamicsWorld28internalSingleStepSimulationEf");
  
  
  function __ZN23btDiscreteDynamicsWorldC2EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration(_this, _dispatcher, _pairCache, _constraintSolver, _collisionConfiguration) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    __ZN16btCollisionWorldC2EP12btDispatcherP21btBroadphaseInterfaceP24btCollisionConfiguration(_0, _dispatcher, _pairCache, _collisionConfiguration);
    var _1 = _this;
    var _2 = _this+92;
    IHEAP[_2] = 0;
    var _3 = _this+96;
    IHEAP[_3] = 0;
    var _4 = _this+100;
    IHEAP[_4] = 0;
    var _5 = _this+104;
    FHEAP[_5] = 0.6000000238418579;
    var _6 = _this+104+4;
    FHEAP[_6] = 1;
    var _7 = _this+104+8;
    FHEAP[_7] = 0.30000001192092896;
    var _8 = _this+104+16;
    FHEAP[_8] = 0;
    var _9 = _this+104+24;
    FHEAP[_9] = 20;
    var _10 = _this+104+20;
    IHEAP[_10] = 10;
    var _11 = _this+104+32;
    FHEAP[_11] = 0.20000000298023224;
    var _12 = _this+104+36;
    FHEAP[_12] = 0.10000000149011612;
    var _13 = _this+104+40;
    FHEAP[_13] = 0;
    var _14 = _this+104+28;
    FHEAP[_14] = 1;
    var _15 = _this+104+44;
    IHEAP[_15] = 0;
    var _16 = _this+104+48;
    FHEAP[_16] = -0.019999999552965164;
    var _17 = _this+104+52;
    FHEAP[_17] = 0;
    var _18 = _this+104+56;
    FHEAP[_18] = 0.8500000238418579;
    var _19 = _this+104+60;
    IHEAP[_19] = 260;
    var _20 = _this+104+64;
    IHEAP[_20] = 2;
    var _21 = _this+104+68;
    IHEAP[_21] = 128;
    IHEAP[_1] = __ZTV23btDiscreteDynamicsWorld+8;
    var _22 = _this+176;
    IHEAP[_22] = _constraintSolver;
    var _23 = _this+184+16;
    IHEAP[_23] = 1;
    var _24 = _this+184+12;
    IHEAP[_24] = 0;
    var _25 = _this+184+4;
    IHEAP[_25] = 0;
    var _26 = _this+184+8;
    IHEAP[_26] = 0;
    var _27 = _this+204+16;
    IHEAP[_27] = 1;
    var _28 = _this+204+12;
    IHEAP[_28] = 0;
    var _29 = _this+204+4;
    IHEAP[_29] = 0;
    var _30 = _this+204+8;
    IHEAP[_30] = 0;
    var _31 = _this+224;
    FHEAP[_31] = 0;
    var _32 = _this+224+4;
    FHEAP[_32] = -10;
    var _33 = _this+224+8;
    FHEAP[_33] = 0;
    var _34 = _this+224+12;
    FHEAP[_34] = 0;
    var _35 = _this+240;
    FHEAP[_35] = 0;
    var _36 = _this+246;
    IHEAP[_36] = 0;
    var _37 = _this+248+16;
    IHEAP[_37] = 1;
    var _38 = _this+248+12;
    IHEAP[_38] = 0;
    var _39 = _this+248+4;
    IHEAP[_39] = 0;
    var _40 = _this+248+8;
    IHEAP[_40] = 0;
    var _41 = _this+268;
    IHEAP[_41] = 0;
    var _42 = _constraintSolver == 0;
    ;
    _bb$_bb10$16673: do { 
      if (_42) {
        ;
        var _43 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(128, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3079; /* _lpad52 */ break _bb$_bb10$16673; };
        var _44 = _43 == 0;
        ;
        _bb9$_bb4$16676: do { 
          if (!_44) {
            ;
            var _45 = _43;
            (function() { try { __THREW__ = false; return __ZN35btSequentialImpulseConstraintSolverC1Ev(_45) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 62; /* _bb9 */ break _bb9$_bb4$16676; } else { ; }
            var _eh_ptr57 = _llvm_eh_exception();
            var _eh_select59 = _llvm_eh_selector(_eh_ptr57, ___gxx_personality_v0, 0);
            __lastLabel__ = 3081; __label__ = 2919; /* _ppad82 */ break _bb$_bb10$16673;
          }
        } while(0);
        var _46 = _43;
        IHEAP[_22] = _46;
        var _47 = _this+245;
        IHEAP[_47] = 1;
        __label__ = 292; /* _bb11 */ break _bb$_bb10$16673;
      }
      else {
        ;
        var _48 = _this+245;
        IHEAP[_48] = 0;
        __label__ = 292; /* _bb11 */ break _bb$_bb10$16673;
      }
    } while(0);
    _bb11$_ppad82$_lpad52$16681: do { 
      if (__label__ == 292) {
        var _49 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(68, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3079; /* _lpad52 */ break _bb11$_ppad82$_lpad52$16681; };
        var _50 = _49;
        var _51 = _49 == 0;
        ;
        _bb21$_bb14$16684: do { 
          if (!_51) {
            ;
            (function() { try { __THREW__ = false; return __ZN25btSimulationIslandManagerC1Ev(_50) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 110; /* _bb21 */ break _bb21$_bb14$16684; } else { ; }
            var _eh_ptr61 = _llvm_eh_exception();
            var _eh_select63 = _llvm_eh_selector(_eh_ptr61, ___gxx_personality_v0, 0);
            __lastLabel__ = 3082; __label__ = 2919; /* _ppad82 */ break _bb11$_ppad82$_lpad52$16681;
          }
        } while(0);
        var _52 = _this+180;
        IHEAP[_52] = _50;
        var _53 = _this+244;
        IHEAP[_53] = 1;
        ;
        return;
      }
    } while(0);
    if (__label__ == 3079) {
      var _eh_ptr53 = _llvm_eh_exception();
      var _eh_select55 = _llvm_eh_selector(_eh_ptr53, ___gxx_personality_v0, 0);
      __lastLabel__ = 3079; ;
    }
    var _eh_exception_0 = __lastLabel__ == 3082 ? _eh_ptr61 : (__lastLabel__ == 3079 ? _eh_ptr53 : (_eh_ptr57));
    var _62 = IHEAP[_38];
    var _63 = _62 == 0;
    ;
    if (!_63) {
      ;
      var _64 = IHEAP[_37];
      var _toBool_i_i_i = _64 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$16693: do { 
        if (!_toBool_i_i_i) {
          ;
          var _65 = _62;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_65) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$16693; } else { ; }
          var _eh_ptr65 = _llvm_eh_exception();
          var _eh_select67 = _llvm_eh_selector(_eh_ptr65, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_38] = 0;
      ;
    }
    IHEAP[_37] = 1;
    IHEAP[_38] = 0;
    IHEAP[_39] = 0;
    IHEAP[_40] = 0;
    var _58 = IHEAP[_28];
    var _59 = _58 == 0;
    ;
    if (!_59) {
      ;
      var _60 = IHEAP[_27];
      var _toBool_i_i_i90 = _60 == 0;
      ;
      _bb2_i_i_i93$_bb1_i_i_i92$16700: do { 
        if (!_toBool_i_i_i90) {
          ;
          var _61 = _58;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_61) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4014; /* _bb2_i_i_i93 */ break _bb2_i_i_i93$_bb1_i_i_i92$16700; } else { ; }
          var _eh_ptr69 = _llvm_eh_exception();
          var _eh_select71 = _llvm_eh_selector(_eh_ptr69, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_28] = 0;
      ;
    }
    IHEAP[_27] = 1;
    IHEAP[_28] = 0;
    IHEAP[_29] = 0;
    IHEAP[_30] = 0;
    var _54 = IHEAP[_24];
    var _55 = _54 == 0;
    ;
    if (!_55) {
      ;
      var _56 = IHEAP[_23];
      var _toBool_i_i_i95 = _56 == 0;
      ;
      _bb2_i_i_i98$_bb1_i_i_i97$16707: do { 
        if (!_toBool_i_i_i95) {
          ;
          var _57 = _54;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_57) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4013; /* _bb2_i_i_i98 */ break _bb2_i_i_i98$_bb1_i_i_i97$16707; } else { ; }
          var _eh_ptr73 = _llvm_eh_exception();
          var _eh_select75 = _llvm_eh_selector(_eh_ptr73, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_24] = 0;
      ;
    }
    IHEAP[_23] = 1;
    IHEAP[_24] = 0;
    IHEAP[_25] = 0;
    IHEAP[_26] = 0;
    IHEAP[_1] = __ZTV15btDynamicsWorld+8;
    (function() { try { __THREW__ = false; return __ZN16btCollisionWorldD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 472; /* _invcont40 */  } else { __label__ = 3870; /* _lpad76 */  }
    if (__label__ == 472) {
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
    else if (__label__ == 3870) {
      var _eh_ptr77 = _llvm_eh_exception();
      var _eh_select79 = _llvm_eh_selector(_eh_ptr77, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN23btDiscreteDynamicsWorldC2EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorldC2EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration, "__ZN23btDiscreteDynamicsWorldC2EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration");
  
  
  function __ZNK34btClosestNotMeConvexResultCallback14needsCollisionEP17btBroadphaseProxy(_this, _proxy0) {
    var __stackBase__  = STACKTOP; STACKTOP += 20;
    var __label__;
    var __lastLabel__ = null;
    var _manifoldArray = __stackBase__;
    var _0 = _proxy0;
    var _1 = IHEAP[_0];
    var _2 = _this+80;
    var _3 = IHEAP[_2];
    var _4 = _3;
    var _5 = _1 == _4;
    ;
    _bb24$_bb1$16735: do { 
      if (_5) {
        __lastLabel__ = -1; ;
      }
      else {
        __lastLabel__ = -1; ;
        var _6 = _proxy0+4;
        var _7 = IHEAP[_6];
        var _8 = _this+10;
        var _9 = IHEAP[_8];
        var _10 = _9 & _7;
        var _toBoolnot_i = _10 == 0;
        if (_toBoolnot_i) { __lastLabel__ = 75; __label__ = 65; /* _bb24 */ break _bb24$_bb1$16735; } else { __lastLabel__ = 75; ; }
        var _11 = _this+8;
        var _12 = IHEAP[_11];
        var _13 = _proxy0+6;
        var _14 = IHEAP[_13];
        var _15 = _14 & _12;
        var _phitmp = _15 == 0;
        if (_phitmp) { __lastLabel__ = 3086; __label__ = 65; /* _bb24 */ break _bb24$_bb1$16735; } else { __lastLabel__ = 3086; ; }
        var _16 = _1;
        var _17 = _this+92;
        var _18 = IHEAP[_17];
        var _19 = _18;
        var _20 = IHEAP[_19];
        var _21 = _20+28;
        var _22 = IHEAP[_21];
        var _23 = _22;
        var _24 = FUNCTION_TABLE[_23](_18, _3, _16);
        var _toBool6 = _24 == 0;
        if (_toBool6) { __lastLabel__ = 82; __label__ = 65; /* _bb24 */ break _bb24$_bb1$16735; } else { __lastLabel__ = 82; ; }
        var _25 = _manifoldArray+16;
        IHEAP[_25] = 1;
        var _26 = _manifoldArray+12;
        IHEAP[_26] = 0;
        var _27 = _manifoldArray+4;
        IHEAP[_27] = 0;
        var _28 = _manifoldArray+8;
        IHEAP[_28] = 0;
        var _29 = _this+88;
        var _30 = IHEAP[_29];
        var _31 = _30;
        var _32 = IHEAP[_31];
        var _33 = _32+52;
        var _34 = IHEAP[_33];
        var _35 = IHEAP[_2];
        var _36 = _35+188;
        var _37 = IHEAP[_36];
        var _38 = _34;
        var _39 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_38](_30, _37, _proxy0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
        _invcont$_lpad$16740: do { 
          if (__label__ == 345) {
            var _40 = _39 == 0;
            ;
            _bb22$_bb8$16742: do { 
              if (!_40) {
                ;
                var _41 = _39+8;
                var _42 = IHEAP[_41];
                var _43 = _42 == 0;
                if (_43) { __label__ = 5; /* _bb22 */ break _bb22$_bb8$16742; }
                var _44 = IHEAP[_27];
                var _45 = _44 > 0;
                var __not = _45 ^ true;
                var _46 = _44 < 0;
                var _or_cond = __not & _46;
                ;
                _bb4_i$_invcont10$16745: do { 
                  if (_or_cond) {
                    ;
                    var _47 = IHEAP[_28];
                    var _48 = _47 < 0;
                    ;
                    if (_48) {
                      ;
                      var _49 = IHEAP[_26];
                      var _50 = _49 == 0;
                      ;
                      if (!_50) {
                        ;
                        var _51 = IHEAP[_25];
                        var _toBool_i_i_i45 = _51 == 0;
                        ;
                        if (!_toBool_i_i_i45) {
                          ;
                          var _52 = _49;
                          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_52) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$16740; }
                        }
                        IHEAP[_26] = 0;
                        ;
                      }
                      IHEAP[_25] = 1;
                      IHEAP[_26] = 0;
                      IHEAP[_28] = 0;
                      ;
                    }
                    var _tmp_i = 0 - _44;
                    __lastLabel__ = 418; ;
                    _bb7_i$16756: while(1) { // _bb7_i
                      var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
                      var _tmp = _44 + _indvar_i;
                      var _53 = IHEAP[_26];
                      var _scevgep = _53+4*_tmp;
                      var _54 = _scevgep == 0;
                      ;
                      if (!_54) {
                        ;
                        IHEAP[_scevgep] = 0;
                        ;
                      }
                      var _indvar_next_i = _indvar_i + 1;
                      var _exitcond = _indvar_next_i == _tmp_i;
                      if (_exitcond) { __lastLabel__ = 581; __label__ = 2405; /* _invcont10 */ break _bb4_i$_invcont10$16745; } else { __lastLabel__ = 581; __label__ = 137; /* _bb7_i */ continue _bb7_i$16756; }
                    }
                  }
                } while(0);
                IHEAP[_27] = 0;
                var _55 = IHEAP[_41];
                var _56 = _55;
                var _57 = IHEAP[_56];
                var _58 = _57+16;
                var _59 = IHEAP[_58];
                var _60 = _59;
                (function() { try { __THREW__ = false; return FUNCTION_TABLE[_60](_55, _manifoldArray) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$16740; }
                var _61 = IHEAP[_27];
                __lastLabel__ = 964; ;
                _bb16$16763: while(1) { // _bb16
                  var _68 = __lastLabel__ == 153 ? _67 : (0);
                  var _69 = _61 > _68;
                  if (!(_69)) { __label__ = 5; /* _bb22 */ break _bb22$_bb8$16742; }
                  var _62 = IHEAP[_26];
                  var _scevgep50 = _62+4*_68;
                  var _63 = IHEAP[_scevgep50];
                  var _64 = _63+1116;
                  var _65 = IHEAP[_64];
                  var _66 = _65 > 0;
                  if (_66) { __label__ = 3090; /* _bb24_critedge */ break _bb16$16763; }
                  var _67 = _68 + 1;
                  __lastLabel__ = 153; __label__ = 154; /* _bb16 */ continue _bb16$16763;
                }
                var _74 = _62 == 0;
                ;
                if (_74) {
                  ;
                  STACKTOP = __stackBase__;
                  return 0;
                }
                else {
                  ;
                  var _75 = IHEAP[_25];
                  var _toBool_i_i_i35 = _75 == 0;
                  ;
                  if (!_toBool_i_i_i35) {
                    ;
                    var _76 = _62;
                    __Z21btAlignedFreeInternalPv(_76);
                    ;
                  }
                  IHEAP[_26] = 0;
                  STACKTOP = __stackBase__;
                  return 0;
                }
              }
            } while(0);
            var _70 = IHEAP[_26];
            var _71 = _70 == 0;
            ;
            if (_71) {
              ;
              STACKTOP = __stackBase__;
              return 1;
            }
            else {
              ;
              var _72 = IHEAP[_25];
              var _toBool_i_i_i40 = _72 == 0;
              ;
              if (!_toBool_i_i_i40) {
                ;
                var _73 = _70;
                __Z21btAlignedFreeInternalPv(_73);
                ;
              }
              IHEAP[_26] = 0;
              STACKTOP = __stackBase__;
              return 1;
            }
          }
        } while(0);
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select28 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        var _77 = IHEAP[_26];
        var _78 = _77 == 0;
        ;
        if (!_78) {
          ;
          var _79 = IHEAP[_25];
          var _toBool_i_i_i = _79 == 0;
          ;
          _bb2_i_i_i$_bb1_i_i_i$16784: do { 
            if (!_toBool_i_i_i) {
              ;
              var _80 = _77;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_80) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$16784; } else { ; }
              var _eh_ptr30 = _llvm_eh_exception();
              var _eh_select32 = _llvm_eh_selector(_eh_ptr30, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_26] = 0;
          ;
        }
        IHEAP[_25] = 1;
        IHEAP[_26] = 0;
        IHEAP[_27] = 0;
        IHEAP[_28] = 0;
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
    } while(0);
    var __0 = __lastLabel__ == -1 ? 0 : (__lastLabel__ == 3086 ? 0 : (__lastLabel__ == 82 ? 1 : (0)));
    STACKTOP = __stackBase__;
    return __0;
  }
  __ZNK34btClosestNotMeConvexResultCallback14needsCollisionEP17btBroadphaseProxy.__index__ = Runtime.getFunctionIndex(__ZNK34btClosestNotMeConvexResultCallback14needsCollisionEP17btBroadphaseProxy, "__ZNK34btClosestNotMeConvexResultCallback14needsCollisionEP17btBroadphaseProxy");
  
  
  function __ZN23btDiscreteDynamicsWorld20serializeRigidBodiesEP12btSerializer(_this, _serializer) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph14$_bb9_preheader$16804: do { 
      if (_2) {
        ;
        var _3 = _this+4+12;
        var _4 = _serializer;
        __lastLabel__ = 750; ;
        _bb$16806: while(1) { // _bb
          var _i_013 = __lastLabel__ == 750 ? 0 : (_tmp16);
          var _tmp16 = _i_013 + 1;
          var _5 = IHEAP[_3];
          var _scevgep15 = _5+4*_i_013;
          var _6 = IHEAP[_scevgep15];
          var _7 = _6+232;
          var _8 = IHEAP[_7];
          var __lobit = _8 & 2;
          var _toBool = __lobit == 0;
          ;
          if (!_toBool) {
            ;
            var _9 = _6;
            var _10 = IHEAP[_9];
            var _11 = _10+16;
            var _12 = IHEAP[_11];
            var _13 = _12;
            var _14 = FUNCTION_TABLE[_13](_6);
            var _15 = IHEAP[_4];
            var _16 = _15+16;
            var _17 = IHEAP[_16];
            var _18 = _17;
            var _19 = FUNCTION_TABLE[_18](_serializer, _14, 1);
            var _20 = IHEAP[_9];
            var _21 = _20+20;
            var _22 = IHEAP[_21];
            var _23 = _19+8;
            var _24 = IHEAP[_23];
            var _25 = _22;
            var _26 = FUNCTION_TABLE[_25](_6, _24, _serializer);
            var _27 = IHEAP[_4];
            var _28 = _27+20;
            var _29 = IHEAP[_28];
            var _30 = _29;
            var _31 = _6;
            FUNCTION_TABLE[_30](_serializer, _19, _26, 1497645650, _31);
            ;
          }
          var _32 = IHEAP[_0];
          var _33 = _32 > _tmp16;
          if (_33) { __lastLabel__ = 0; __label__ = 60; /* _bb */ continue _bb$16806; } else { __lastLabel__ = 0; __label__ = 720; /* _bb9_preheader */ break _bb_nph14$_bb9_preheader$16804; }
        }
      }
    } while(0);
    var _34 = _this+184+4;
    var _35 = IHEAP[_34];
    var _36 = _35 > 0;
    ;
    _bb_nph$_return$16812: do { 
      if (_36) {
        ;
        var _37 = _this+184+12;
        var _38 = _serializer;
        __lastLabel__ = 130; ;
        _bb6$16814: while(1) { // _bb6
          var _i_112 = __lastLabel__ == 130 ? 0 : (_64);
          var _39 = IHEAP[_37];
          var _scevgep = _39+4*_i_112;
          var _40 = IHEAP[_scevgep];
          var _41 = _40;
          var _42 = IHEAP[_41];
          var _43 = _42+36;
          var _44 = IHEAP[_43];
          var _45 = _44;
          var _46 = FUNCTION_TABLE[_45](_40);
          var _47 = IHEAP[_38];
          var _48 = _47+16;
          var _49 = IHEAP[_48];
          var _50 = _49;
          var _51 = FUNCTION_TABLE[_50](_serializer, _46, 1);
          var _52 = IHEAP[_41];
          var _53 = _52+40;
          var _54 = IHEAP[_53];
          var _55 = _51+8;
          var _56 = IHEAP[_55];
          var _57 = _54;
          var _58 = FUNCTION_TABLE[_57](_40, _56, _serializer);
          var _59 = IHEAP[_38];
          var _60 = _59+20;
          var _61 = IHEAP[_60];
          var _62 = _61;
          var _63 = _40;
          FUNCTION_TABLE[_62](_serializer, _51, _58, 1397641027, _63);
          var _64 = _i_112 + 1;
          var _65 = IHEAP[_34];
          var _66 = _65 > _64;
          if (_66) { __lastLabel__ = 83; __label__ = 83; /* _bb6 */ continue _bb6$16814; } else { __lastLabel__ = 83; __label__ = 44; /* _return */ break _bb_nph$_return$16812; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorld20serializeRigidBodiesEP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld20serializeRigidBodiesEP12btSerializer, "__ZN23btDiscreteDynamicsWorld20serializeRigidBodiesEP12btSerializer");
  
  
  function __ZN23btDiscreteDynamicsWorld19debugDrawConstraintEP17btTypedConstraint(_this, _constraint) {
    var __stackBase__  = STACKTOP; STACKTOP += 752;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _3 = __stackBase__+48;
    var _4 = __stackBase__+64;
    var _5 = __stackBase__+80;
    var _6 = __stackBase__+96;
    var _7 = __stackBase__+112;
    var _8 = __stackBase__+128;
    var _9 = __stackBase__+144;
    var _tr = __stackBase__+160;
    var _tr7 = __stackBase__+224;
    var _normal = __stackBase__+288;
    var _axis = __stackBase__+304;
    var _tr28 = __stackBase__+320;
    var _pPrev = __stackBase__+384;
    var _pivot44 = __stackBase__+400;
    var _normal46 = __stackBase__+416;
    var _axis1 = __stackBase__+432;
    var _pCur = __stackBase__+448;
    var _tr64 = __stackBase__+464;
    var _up = __stackBase__+528;
    var _axis77 = __stackBase__+544;
    var _ref = __stackBase__+560;
    var _normal90 = __stackBase__+576;
    var _bbMin = __stackBase__+592;
    var _bbMax = __stackBase__+608;
    var _tr103 = __stackBase__+624;
    var _li_min = __stackBase__+688;
    var _li_max = __stackBase__+704;
    var _normal117 = __stackBase__+720;
    var _axis119 = __stackBase__+736;
    var _10 = _this;
    var _11 = IHEAP[_10];
    var _12 = _11+16;
    var _13 = IHEAP[_12];
    var _14 = _this;
    var _15 = _13;
    var _16 = FUNCTION_TABLE[_15](_14);
    var _17 = _16;
    var _18 = IHEAP[_17];
    var _19 = _18+48;
    var _20 = IHEAP[_19];
    var _21 = _20;
    var _22 = FUNCTION_TABLE[_21](_16);
    var _23 = _22 >> 11;
    var __lobit = _23 & 1;
    var _24 = __lobit;
    var _25 = IHEAP[_10];
    var _26 = _25+16;
    var _27 = IHEAP[_26];
    var _28 = _27;
    var _29 = FUNCTION_TABLE[_28](_14);
    var _30 = _29;
    var _31 = IHEAP[_30];
    var _32 = _31+48;
    var _33 = IHEAP[_32];
    var _34 = _33;
    var _35 = FUNCTION_TABLE[_34](_29);
    var _36 = _35 >> 12;
    var __lobit129 = _36 & 1;
    var _37 = __lobit129;
    var _38 = _constraint+32;
    var _39 = FHEAP[_38];
    var _40 = _39 > 0;
    ;
    _bb$_return$16878: do { 
      if (_40) {
        ;
        var _41 = _constraint+4;
        var _42 = IHEAP[_41];
        if (_42 == 3) {
          __label__ = 75; /* _bb1 */ 
        }
        else if (_42 == 4) {
          __label__ = 61; /* _bb4 */ 
        }
        else if (_42 == 5) {
          __label__ = 540; /* _bb25 */ 
        }
        else if (_42 == 6) {
          __label__ = 482; /* _bb61 */ 
        }
        else if (_42 == 7) {
          __label__ = 1567; /* _bb100 */ 
        }
        else {
        __label__ = 44; /* _return */ break _bb$_return$16878;
        }
        
        if (__label__ == 75) {
          var _43 = _tr;
          FHEAP[_43] = 1;
          var _44 = _tr+4;
          FHEAP[_44] = 0;
          var _45 = _tr+8;
          FHEAP[_45] = 0;
          var _46 = _tr+12;
          FHEAP[_46] = 0;
          var _47 = _tr+16;
          FHEAP[_47] = 0;
          var _48 = _tr+16+4;
          FHEAP[_48] = 1;
          var _49 = _tr+16+8;
          FHEAP[_49] = 0;
          var _50 = _tr+16+12;
          FHEAP[_50] = 0;
          var _51 = _tr+32;
          FHEAP[_51] = 0;
          var _52 = _tr+32+4;
          FHEAP[_52] = 0;
          var _53 = _tr+32+8;
          FHEAP[_53] = 1;
          var _54 = _tr+32+12;
          FHEAP[_54] = 0;
          var _55 = _tr+48;
          FHEAP[_55] = 0;
          var _56 = _tr+48+4;
          FHEAP[_56] = 0;
          var _57 = _tr+48+8;
          FHEAP[_57] = 0;
          var _58 = _tr+48+12;
          FHEAP[_58] = 0;
          var _59 = _constraint+288;
          var _60 = _59;
          var _61 = FHEAP[_60];
          var _62 = _constraint+288+4;
          var _63 = _62;
          var _64 = FHEAP[_63];
          var _65 = _constraint+288+8;
          var _66 = _65;
          var _67 = FHEAP[_66];
          var _68 = _constraint+20;
          var _69 = IHEAP[_68];
          var _70 = _69+4+32;
          var _71 = FHEAP[_70];
          var _72 = _71 * _61;
          var _73 = _69+4+32+4;
          var _74 = FHEAP[_73];
          var _75 = _74 * _64;
          var _76 = _72 + _75;
          var _77 = _69+4+32+8;
          var _78 = FHEAP[_77];
          var _79 = _78 * _67;
          var _80 = _76 + _79;
          var _81 = _69+4+48+8;
          var _82 = FHEAP[_81];
          var _83 = _80 + _82;
          var _84 = _69+4+16;
          var _85 = FHEAP[_84];
          var _86 = _85 * _61;
          var _87 = _69+4+16+4;
          var _88 = FHEAP[_87];
          var _89 = _88 * _64;
          var _90 = _86 + _89;
          var _91 = _69+4+16+8;
          var _92 = FHEAP[_91];
          var _93 = _92 * _67;
          var _94 = _90 + _93;
          var _95 = _69+4+48+4;
          var _96 = FHEAP[_95];
          var _97 = _94 + _96;
          var _98 = _69+4;
          var _99 = FHEAP[_98];
          var _100 = _99 * _61;
          var _101 = _69+4+4;
          var _102 = FHEAP[_101];
          var _103 = _102 * _64;
          var _104 = _100 + _103;
          var _105 = _69+4+8;
          var _106 = FHEAP[_105];
          var _107 = _106 * _67;
          var _108 = _104 + _107;
          var _109 = _69+4+48;
          var _110 = FHEAP[_109];
          var _111 = _108 + _110;
          FHEAP[_55] = _111;
          FHEAP[_56] = _97;
          FHEAP[_57] = _83;
          FHEAP[_58] = 0;
          var _112 = IHEAP[_10];
          var _113 = _112+16;
          var _114 = IHEAP[_113];
          var _115 = _114;
          var _116 = FUNCTION_TABLE[_115](_14);
          var _117 = _116;
          var _118 = IHEAP[_117];
          var _119 = _118+56;
          var _120 = IHEAP[_119];
          var _121 = _120;
          FUNCTION_TABLE[_121](_116, _tr, _39);
          var _122 = _constraint+288+16;
          var _123 = _122;
          var _124 = FHEAP[_123];
          var _125 = _122+4;
          var _126 = _125;
          var _127 = FHEAP[_126];
          var _128 = _122+8;
          var _129 = _128;
          var _130 = FHEAP[_129];
          var _131 = _constraint+24;
          var _132 = IHEAP[_131];
          var _133 = _132+4+32;
          var _134 = FHEAP[_133];
          var _135 = _134 * _124;
          var _136 = _132+4+32+4;
          var _137 = FHEAP[_136];
          var _138 = _137 * _127;
          var _139 = _135 + _138;
          var _140 = _132+4+32+8;
          var _141 = FHEAP[_140];
          var _142 = _141 * _130;
          var _143 = _139 + _142;
          var _144 = _132+4+48+8;
          var _145 = FHEAP[_144];
          var _146 = _143 + _145;
          var _147 = _132+4+16;
          var _148 = FHEAP[_147];
          var _149 = _148 * _124;
          var _150 = _132+4+16+4;
          var _151 = FHEAP[_150];
          var _152 = _151 * _127;
          var _153 = _149 + _152;
          var _154 = _132+4+16+8;
          var _155 = FHEAP[_154];
          var _156 = _155 * _130;
          var _157 = _153 + _156;
          var _158 = _132+4+48+4;
          var _159 = FHEAP[_158];
          var _160 = _157 + _159;
          var _161 = _132+4;
          var _162 = FHEAP[_161];
          var _163 = _162 * _124;
          var _164 = _132+4+4;
          var _165 = FHEAP[_164];
          var _166 = _165 * _127;
          var _167 = _163 + _166;
          var _168 = _132+4+8;
          var _169 = FHEAP[_168];
          var _170 = _169 * _130;
          var _171 = _167 + _170;
          var _172 = _132+4+48;
          var _173 = FHEAP[_172];
          var _174 = _171 + _173;
          FHEAP[_55] = _174;
          FHEAP[_56] = _160;
          FHEAP[_57] = _146;
          FHEAP[_58] = 0;
          var _toBool = _24 == 0;
          if (_toBool) { __label__ = 44; /* _return */ break _bb$_return$16878; }
          var _175 = IHEAP[_10];
          var _176 = _175+16;
          var _177 = IHEAP[_176];
          var _178 = _177;
          var _179 = FUNCTION_TABLE[_178](_14);
          var _180 = _179;
          var _181 = IHEAP[_180];
          var _182 = _181+56;
          var _183 = IHEAP[_182];
          var _184 = _183;
          FUNCTION_TABLE[_184](_179, _tr, _39);
          STACKTOP = __stackBase__;
          return;
        }
        else if (__label__ == 61) {
          var _185 = _constraint+540;
          var _186 = _constraint+20;
          var _187 = IHEAP[_186];
          var _188 = _187+4+32;
          var _189 = FHEAP[_188];
          var _190 = _constraint+576+12;
          var _191 = _190;
          var _192 = FHEAP[_191];
          var _193 = _189 * _192;
          var _194 = _187+4+32+4;
          var _195 = FHEAP[_194];
          var _196 = _constraint+576+16;
          var _197 = _196;
          var _198 = FHEAP[_197];
          var _199 = _195 * _198;
          var _200 = _193 + _199;
          var _201 = _187+4+32+8;
          var _202 = FHEAP[_201];
          var _203 = _constraint+576+20;
          var _204 = _203;
          var _205 = FHEAP[_204];
          var _206 = _202 * _205;
          var _207 = _200 + _206;
          var _208 = _187+4+48+8;
          var _209 = FHEAP[_208];
          var _210 = _207 + _209;
          var _211 = _187+4+16;
          var _212 = FHEAP[_211];
          var _213 = _212 * _192;
          var _214 = _187+4+16+4;
          var _215 = FHEAP[_214];
          var _216 = _215 * _198;
          var _217 = _213 + _216;
          var _218 = _187+4+16+8;
          var _219 = FHEAP[_218];
          var _220 = _219 * _205;
          var _221 = _217 + _220;
          var _222 = _187+4+48+4;
          var _223 = FHEAP[_222];
          var _224 = _221 + _223;
          var _225 = _187+4;
          var _226 = FHEAP[_225];
          var _227 = _226 * _192;
          var _228 = _187+4+4;
          var _229 = FHEAP[_228];
          var _230 = _229 * _198;
          var _231 = _227 + _230;
          var _232 = _187+4+8;
          var _233 = FHEAP[_232];
          var _234 = _233 * _205;
          var _235 = _231 + _234;
          var _236 = _187+4+48;
          var _237 = FHEAP[_236];
          var _238 = _235 + _237;
          var _239 = _constraint+540+8;
          var _240 = _239;
          var _241 = FHEAP[_240];
          var _242 = _241 * _189;
          var _243 = _constraint+540+24;
          var _244 = _243;
          var _245 = FHEAP[_244];
          var _246 = _245 * _195;
          var _247 = _242 + _246;
          var _248 = _constraint+576+4;
          var _249 = _248;
          var _250 = FHEAP[_249];
          var _251 = _250 * _202;
          var _252 = _247 + _251;
          var _253 = _constraint+540+4;
          var _254 = _253;
          var _255 = FHEAP[_254];
          var _256 = _255 * _189;
          var _257 = _constraint+540+20;
          var _258 = _257;
          var _259 = FHEAP[_258];
          var _260 = _259 * _195;
          var _261 = _256 + _260;
          var _262 = _constraint+576;
          var _263 = _262;
          var _264 = FHEAP[_263];
          var _265 = _264 * _202;
          var _266 = _261 + _265;
          var _267 = _185;
          var _268 = FHEAP[_267];
          var _269 = _268 * _189;
          var _270 = _constraint+540+16;
          var _271 = _270;
          var _272 = FHEAP[_271];
          var _273 = _272 * _195;
          var _274 = _269 + _273;
          var _275 = _constraint+540+32;
          var _276 = FHEAP[_275];
          var _277 = _276 * _202;
          var _278 = _274 + _277;
          var _279 = _241 * _212;
          var _280 = _245 * _215;
          var _281 = _279 + _280;
          var _282 = _250 * _219;
          var _283 = _281 + _282;
          var _284 = _255 * _212;
          var _285 = _259 * _215;
          var _286 = _284 + _285;
          var _287 = _264 * _219;
          var _288 = _286 + _287;
          var _289 = _268 * _212;
          var _290 = _272 * _215;
          var _291 = _289 + _290;
          var _292 = _276 * _219;
          var _293 = _291 + _292;
          var _294 = _241 * _226;
          var _295 = _245 * _229;
          var _296 = _294 + _295;
          var _297 = _250 * _233;
          var _298 = _296 + _297;
          var _299 = _255 * _226;
          var _300 = _259 * _229;
          var _301 = _299 + _300;
          var _302 = _264 * _233;
          var _303 = _301 + _302;
          var _304 = _268 * _226;
          var _305 = _272 * _229;
          var _306 = _304 + _305;
          var _307 = _276 * _233;
          var _308 = _306 + _307;
          var _309 = _tr7;
          FHEAP[_309] = _308;
          var _310 = _tr7+4;
          FHEAP[_310] = _303;
          var _311 = _tr7+8;
          FHEAP[_311] = _298;
          var _312 = _tr7+12;
          FHEAP[_312] = 0;
          var _313 = _tr7+16;
          FHEAP[_313] = _293;
          var _314 = _tr7+16+4;
          FHEAP[_314] = _288;
          var _315 = _tr7+16+8;
          FHEAP[_315] = _283;
          var _316 = _tr7+16+12;
          FHEAP[_316] = 0;
          var _317 = _tr7+32;
          FHEAP[_317] = _278;
          var _318 = _tr7+32+4;
          FHEAP[_318] = _266;
          var _319 = _tr7+32+8;
          FHEAP[_319] = _252;
          var _320 = _tr7+32+12;
          FHEAP[_320] = 0;
          var _321 = _tr7+48;
          FHEAP[_321] = _238;
          var _322 = _tr7+48+4;
          FHEAP[_322] = _224;
          var _323 = _tr7+48+8;
          FHEAP[_323] = _210;
          var _324 = _tr7+48+12;
          FHEAP[_324] = 0;
          var _toBool11 = _24 == 0;
          ;
          if (!_toBool11) {
            ;
            var _325 = IHEAP[_10];
            var _326 = _325+16;
            var _327 = IHEAP[_326];
            var _328 = _327;
            var _329 = FUNCTION_TABLE[_328](_14);
            var _330 = _329;
            var _331 = IHEAP[_330];
            var _332 = _331+56;
            var _333 = IHEAP[_332];
            var _334 = _333;
            FUNCTION_TABLE[_334](_329, _tr7, _39);
            ;
          }
          var _335 = _constraint+576+28;
          var _336 = _constraint+24;
          var _337 = IHEAP[_336];
          var _338 = _337+4+32;
          var _339 = FHEAP[_338];
          var _340 = _335+48;
          var _341 = FHEAP[_340];
          var _342 = _339 * _341;
          var _343 = _337+4+32+4;
          var _344 = FHEAP[_343];
          var _345 = _335+52;
          var _346 = FHEAP[_345];
          var _347 = _344 * _346;
          var _348 = _342 + _347;
          var _349 = _337+4+32+8;
          var _350 = FHEAP[_349];
          var _351 = _335+56;
          var _352 = FHEAP[_351];
          var _353 = _350 * _352;
          var _354 = _348 + _353;
          var _355 = _337+4+48+8;
          var _356 = FHEAP[_355];
          var _357 = _354 + _356;
          var _358 = _337+4+16;
          var _359 = FHEAP[_358];
          var _360 = _359 * _341;
          var _361 = _337+4+16+4;
          var _362 = FHEAP[_361];
          var _363 = _362 * _346;
          var _364 = _360 + _363;
          var _365 = _337+4+16+8;
          var _366 = FHEAP[_365];
          var _367 = _366 * _352;
          var _368 = _364 + _367;
          var _369 = _337+4+48+4;
          var _370 = FHEAP[_369];
          var _371 = _368 + _370;
          var _372 = _337+4;
          var _373 = FHEAP[_372];
          var _374 = _373 * _341;
          var _375 = _337+4+4;
          var _376 = FHEAP[_375];
          var _377 = _376 * _346;
          var _378 = _374 + _377;
          var _379 = _337+4+8;
          var _380 = FHEAP[_379];
          var _381 = _380 * _352;
          var _382 = _378 + _381;
          var _383 = _337+4+48;
          var _384 = FHEAP[_383];
          var _385 = _382 + _384;
          var _386 = _335+8;
          var _387 = FHEAP[_386];
          var _388 = _387 * _339;
          var _389 = _335+24;
          var _390 = FHEAP[_389];
          var _391 = _390 * _344;
          var _392 = _388 + _391;
          var _393 = _335+40;
          var _394 = FHEAP[_393];
          var _395 = _394 * _350;
          var _396 = _392 + _395;
          var _397 = _335+4;
          var _398 = FHEAP[_397];
          var _399 = _398 * _339;
          var _400 = _335+20;
          var _401 = FHEAP[_400];
          var _402 = _401 * _344;
          var _403 = _399 + _402;
          var _404 = _335+36;
          var _405 = FHEAP[_404];
          var _406 = _405 * _350;
          var _407 = _403 + _406;
          var _408 = FHEAP[_335];
          var _409 = _408 * _339;
          var _410 = _335+16;
          var _411 = FHEAP[_410];
          var _412 = _411 * _344;
          var _413 = _409 + _412;
          var _414 = _335+32;
          var _415 = FHEAP[_414];
          var _416 = _415 * _350;
          var _417 = _413 + _416;
          var _418 = _387 * _359;
          var _419 = _390 * _362;
          var _420 = _418 + _419;
          var _421 = _394 * _366;
          var _422 = _420 + _421;
          var _423 = _398 * _359;
          var _424 = _401 * _362;
          var _425 = _423 + _424;
          var _426 = _405 * _366;
          var _427 = _425 + _426;
          var _428 = _408 * _359;
          var _429 = _411 * _362;
          var _430 = _428 + _429;
          var _431 = _415 * _366;
          var _432 = _430 + _431;
          var _433 = _387 * _373;
          var _434 = _390 * _376;
          var _435 = _433 + _434;
          var _436 = _394 * _380;
          var _437 = _435 + _436;
          var _438 = _398 * _373;
          var _439 = _401 * _376;
          var _440 = _438 + _439;
          var _441 = _405 * _380;
          var _442 = _440 + _441;
          var _443 = _408 * _373;
          var _444 = _411 * _376;
          var _445 = _443 + _444;
          var _446 = _415 * _380;
          var _447 = _445 + _446;
          FHEAP[_309] = _447;
          FHEAP[_310] = _442;
          FHEAP[_311] = _437;
          FHEAP[_312] = 0;
          FHEAP[_313] = _432;
          FHEAP[_314] = _427;
          FHEAP[_315] = _422;
          FHEAP[_316] = 0;
          FHEAP[_317] = _417;
          FHEAP[_318] = _407;
          FHEAP[_319] = _396;
          FHEAP[_320] = 0;
          FHEAP[_321] = _385;
          FHEAP[_322] = _371;
          FHEAP[_323] = _357;
          FHEAP[_324] = 0;
          ;
          if (!_toBool11) {
            ;
            var _448 = IHEAP[_10];
            var _449 = _448+16;
            var _450 = IHEAP[_449];
            var _451 = _450;
            var _452 = FUNCTION_TABLE[_451](_14);
            var _453 = _452;
            var _454 = IHEAP[_453];
            var _455 = _454+56;
            var _456 = IHEAP[_455];
            var _457 = _456;
            FUNCTION_TABLE[_457](_452, _tr7, _39);
            ;
          }
          var _458 = _constraint+684+4;
          var _459 = _458;
          var _460 = FHEAP[_459];
          var _461 = _constraint+684+8;
          var _462 = _461;
          var _463 = FHEAP[_462];
          var _464 = _460 == _463;
          if (_464) { __label__ = 44; /* _return */ break _bb$_return$16878; }
          var _465 = _460 > _463;
          var _toBool20 = _37 == 0;
          if (_toBool20) { __label__ = 44; /* _return */ break _bb$_return$16878; }
          var _466 = _465;
          var _drawSect_0 = _466 ^ 1;
          var _maxAng_0 = _465 ? 6.2831854820251465 : _463;
          var _minAng_0 = _465 ? 0 : _460;
          var _467 = _tr7+48;
          var _468 = FHEAP[_311];
          var _469 = _normal;
          FHEAP[_469] = _468;
          var _470 = FHEAP[_315];
          var _471 = _normal+4;
          FHEAP[_471] = _470;
          var _472 = FHEAP[_319];
          var _473 = _normal+8;
          FHEAP[_473] = _472;
          var _474 = _normal+12;
          FHEAP[_474] = 0;
          var _475 = FHEAP[_309];
          var _476 = _axis;
          FHEAP[_476] = _475;
          var _477 = FHEAP[_313];
          var _478 = _axis+4;
          FHEAP[_478] = _477;
          var _479 = FHEAP[_317];
          var _480 = _axis+8;
          FHEAP[_480] = _479;
          var _481 = _axis+12;
          FHEAP[_481] = 0;
          var _482 = IHEAP[_10];
          var _483 = _482+16;
          var _484 = IHEAP[_483];
          var _485 = _484;
          var _486 = FUNCTION_TABLE[_485](_14);
          var _487 = _486;
          var _488 = IHEAP[_487];
          var _489 = _488+60;
          var _490 = IHEAP[_489];
          var _491 = _9;
          FHEAP[_491] = 0;
          var _492 = _9+4;
          FHEAP[_492] = 0;
          var _493 = _9+8;
          FHEAP[_493] = 0;
          var _494 = _9+12;
          FHEAP[_494] = 0;
          var _495 = _490;
          FUNCTION_TABLE[_495](_486, _467, _normal, _axis, _39, _39, _minAng_0, _maxAng_0, _9, _drawSect_0, 10);
          STACKTOP = __stackBase__;
          return;
        }
        else if (__label__ == 540) {
          var _496 = _constraint;
          var _497 = _constraint+288;
          var _498 = _constraint+20;
          var _499 = IHEAP[_498];
          var _500 = _499+4+32;
          var _501 = FHEAP[_500];
          var _502 = _constraint+324+12;
          var _503 = _502;
          var _504 = FHEAP[_503];
          var _505 = _501 * _504;
          var _506 = _499+4+32+4;
          var _507 = FHEAP[_506];
          var _508 = _constraint+324+16;
          var _509 = _508;
          var _510 = FHEAP[_509];
          var _511 = _507 * _510;
          var _512 = _505 + _511;
          var _513 = _499+4+32+8;
          var _514 = FHEAP[_513];
          var _515 = _constraint+324+20;
          var _516 = _515;
          var _517 = FHEAP[_516];
          var _518 = _514 * _517;
          var _519 = _512 + _518;
          var _520 = _499+4+48+8;
          var _521 = FHEAP[_520];
          var _522 = _519 + _521;
          var _523 = _499+4+16;
          var _524 = FHEAP[_523];
          var _525 = _524 * _504;
          var _526 = _499+4+16+4;
          var _527 = FHEAP[_526];
          var _528 = _527 * _510;
          var _529 = _525 + _528;
          var _530 = _499+4+16+8;
          var _531 = FHEAP[_530];
          var _532 = _531 * _517;
          var _533 = _529 + _532;
          var _534 = _499+4+48+4;
          var _535 = FHEAP[_534];
          var _536 = _533 + _535;
          var _537 = _499+4;
          var _538 = FHEAP[_537];
          var _539 = _538 * _504;
          var _540 = _499+4+4;
          var _541 = FHEAP[_540];
          var _542 = _541 * _510;
          var _543 = _539 + _542;
          var _544 = _499+4+8;
          var _545 = FHEAP[_544];
          var _546 = _545 * _517;
          var _547 = _543 + _546;
          var _548 = _499+4+48;
          var _549 = FHEAP[_548];
          var _550 = _547 + _549;
          var _551 = _constraint+288+8;
          var _552 = _551;
          var _553 = FHEAP[_552];
          var _554 = _553 * _501;
          var _555 = _constraint+288+24;
          var _556 = _555;
          var _557 = FHEAP[_556];
          var _558 = _557 * _507;
          var _559 = _554 + _558;
          var _560 = _constraint+324+4;
          var _561 = _560;
          var _562 = FHEAP[_561];
          var _563 = _562 * _514;
          var _564 = _559 + _563;
          var _565 = _constraint+288+4;
          var _566 = _565;
          var _567 = FHEAP[_566];
          var _568 = _567 * _501;
          var _569 = _constraint+288+20;
          var _570 = _569;
          var _571 = FHEAP[_570];
          var _572 = _571 * _507;
          var _573 = _568 + _572;
          var _574 = _constraint+324;
          var _575 = _574;
          var _576 = FHEAP[_575];
          var _577 = _576 * _514;
          var _578 = _573 + _577;
          var _579 = _497;
          var _580 = FHEAP[_579];
          var _581 = _580 * _501;
          var _582 = _constraint+288+16;
          var _583 = _582;
          var _584 = FHEAP[_583];
          var _585 = _584 * _507;
          var _586 = _581 + _585;
          var _587 = _constraint+288+32;
          var _588 = FHEAP[_587];
          var _589 = _588 * _514;
          var _590 = _586 + _589;
          var _591 = _553 * _524;
          var _592 = _557 * _527;
          var _593 = _591 + _592;
          var _594 = _562 * _531;
          var _595 = _593 + _594;
          var _596 = _567 * _524;
          var _597 = _571 * _527;
          var _598 = _596 + _597;
          var _599 = _576 * _531;
          var _600 = _598 + _599;
          var _601 = _580 * _524;
          var _602 = _584 * _527;
          var _603 = _601 + _602;
          var _604 = _588 * _531;
          var _605 = _603 + _604;
          var _606 = _553 * _538;
          var _607 = _557 * _541;
          var _608 = _606 + _607;
          var _609 = _562 * _545;
          var _610 = _608 + _609;
          var _611 = _567 * _538;
          var _612 = _571 * _541;
          var _613 = _611 + _612;
          var _614 = _576 * _545;
          var _615 = _613 + _614;
          var _616 = _580 * _538;
          var _617 = _584 * _541;
          var _618 = _616 + _617;
          var _619 = _588 * _545;
          var _620 = _618 + _619;
          var _621 = _tr28;
          FHEAP[_621] = _620;
          var _622 = _tr28+4;
          FHEAP[_622] = _615;
          var _623 = _tr28+8;
          FHEAP[_623] = _610;
          var _624 = _tr28+12;
          FHEAP[_624] = 0;
          var _625 = _tr28+16;
          FHEAP[_625] = _605;
          var _626 = _tr28+16+4;
          FHEAP[_626] = _600;
          var _627 = _tr28+16+8;
          FHEAP[_627] = _595;
          var _628 = _tr28+16+12;
          FHEAP[_628] = 0;
          var _629 = _tr28+32;
          FHEAP[_629] = _590;
          var _630 = _tr28+32+4;
          FHEAP[_630] = _578;
          var _631 = _tr28+32+8;
          FHEAP[_631] = _564;
          var _632 = _tr28+32+12;
          FHEAP[_632] = 0;
          var _633 = _tr28+48;
          FHEAP[_633] = _550;
          var _634 = _tr28+48+4;
          FHEAP[_634] = _536;
          var _635 = _tr28+48+8;
          FHEAP[_635] = _522;
          var _636 = _tr28+48+12;
          FHEAP[_636] = 0;
          var _toBool29 = _24 == 0;
          ;
          if (!_toBool29) {
            ;
            var _637 = IHEAP[_10];
            var _638 = _637+16;
            var _639 = IHEAP[_638];
            var _640 = _639;
            var _641 = FUNCTION_TABLE[_640](_14);
            var _642 = _641;
            var _643 = IHEAP[_642];
            var _644 = _643+56;
            var _645 = IHEAP[_644];
            var _646 = _645;
            FUNCTION_TABLE[_646](_641, _tr28, _39);
            ;
          }
          var _647 = _constraint+324+28;
          var _648 = _constraint+24;
          var _649 = IHEAP[_648];
          var _650 = _649+4+32;
          var _651 = FHEAP[_650];
          var _652 = _647+48;
          var _653 = FHEAP[_652];
          var _654 = _651 * _653;
          var _655 = _649+4+32+4;
          var _656 = FHEAP[_655];
          var _657 = _647+52;
          var _658 = FHEAP[_657];
          var _659 = _656 * _658;
          var _660 = _654 + _659;
          var _661 = _649+4+32+8;
          var _662 = FHEAP[_661];
          var _663 = _647+56;
          var _664 = FHEAP[_663];
          var _665 = _662 * _664;
          var _666 = _660 + _665;
          var _667 = _649+4+48+8;
          var _668 = FHEAP[_667];
          var _669 = _666 + _668;
          var _670 = _649+4+16;
          var _671 = FHEAP[_670];
          var _672 = _671 * _653;
          var _673 = _649+4+16+4;
          var _674 = FHEAP[_673];
          var _675 = _674 * _658;
          var _676 = _672 + _675;
          var _677 = _649+4+16+8;
          var _678 = FHEAP[_677];
          var _679 = _678 * _664;
          var _680 = _676 + _679;
          var _681 = _649+4+48+4;
          var _682 = FHEAP[_681];
          var _683 = _680 + _682;
          var _684 = _649+4;
          var _685 = FHEAP[_684];
          var _686 = _685 * _653;
          var _687 = _649+4+4;
          var _688 = FHEAP[_687];
          var _689 = _688 * _658;
          var _690 = _686 + _689;
          var _691 = _649+4+8;
          var _692 = FHEAP[_691];
          var _693 = _692 * _664;
          var _694 = _690 + _693;
          var _695 = _649+4+48;
          var _696 = FHEAP[_695];
          var _697 = _694 + _696;
          var _698 = _647+8;
          var _699 = FHEAP[_698];
          var _700 = _699 * _651;
          var _701 = _647+24;
          var _702 = FHEAP[_701];
          var _703 = _702 * _656;
          var _704 = _700 + _703;
          var _705 = _647+40;
          var _706 = FHEAP[_705];
          var _707 = _706 * _662;
          var _708 = _704 + _707;
          var _709 = _647+4;
          var _710 = FHEAP[_709];
          var _711 = _710 * _651;
          var _712 = _647+20;
          var _713 = FHEAP[_712];
          var _714 = _713 * _656;
          var _715 = _711 + _714;
          var _716 = _647+36;
          var _717 = FHEAP[_716];
          var _718 = _717 * _662;
          var _719 = _715 + _718;
          var _720 = FHEAP[_647];
          var _721 = _720 * _651;
          var _722 = _647+16;
          var _723 = FHEAP[_722];
          var _724 = _723 * _656;
          var _725 = _721 + _724;
          var _726 = _647+32;
          var _727 = FHEAP[_726];
          var _728 = _727 * _662;
          var _729 = _725 + _728;
          var _730 = _699 * _671;
          var _731 = _702 * _674;
          var _732 = _730 + _731;
          var _733 = _706 * _678;
          var _734 = _732 + _733;
          var _735 = _710 * _671;
          var _736 = _713 * _674;
          var _737 = _735 + _736;
          var _738 = _717 * _678;
          var _739 = _737 + _738;
          var _740 = _720 * _671;
          var _741 = _723 * _674;
          var _742 = _740 + _741;
          var _743 = _727 * _678;
          var _744 = _742 + _743;
          var _745 = _699 * _685;
          var _746 = _702 * _688;
          var _747 = _745 + _746;
          var _748 = _706 * _692;
          var _749 = _747 + _748;
          var _750 = _710 * _685;
          var _751 = _713 * _688;
          var _752 = _750 + _751;
          var _753 = _717 * _692;
          var _754 = _752 + _753;
          var _755 = _720 * _685;
          var _756 = _723 * _688;
          var _757 = _755 + _756;
          var _758 = _727 * _692;
          var _759 = _757 + _758;
          FHEAP[_621] = _759;
          FHEAP[_622] = _754;
          FHEAP[_623] = _749;
          FHEAP[_624] = 0;
          FHEAP[_625] = _744;
          FHEAP[_626] = _739;
          FHEAP[_627] = _734;
          FHEAP[_628] = 0;
          FHEAP[_629] = _729;
          FHEAP[_630] = _719;
          FHEAP[_631] = _708;
          FHEAP[_632] = 0;
          FHEAP[_633] = _697;
          FHEAP[_634] = _683;
          FHEAP[_635] = _669;
          FHEAP[_636] = 0;
          ;
          if (!_toBool29) {
            ;
            var _760 = IHEAP[_10];
            var _761 = _760+16;
            var _762 = IHEAP[_761];
            var _763 = _762;
            var _764 = FUNCTION_TABLE[_763](_14);
            var _765 = _764;
            var _766 = IHEAP[_765];
            var _767 = _766+56;
            var _768 = IHEAP[_767];
            var _769 = _768;
            FUNCTION_TABLE[_769](_764, _tr28, _39);
            ;
          }
          var _toBool35 = _37 == 0;
          if (_toBool35) { __label__ = 44; /* _return */ break _bb$_return$16878; }
          __ZNK21btConeTwistConstraint16GetPointForAngleEff(_pPrev, _496, 6.0868353843688965, _39);
          var _770 = FHEAP[_629];
          var _771 = _pPrev;
          var _772 = FHEAP[_771];
          var _773 = _770 * _772;
          var _774 = FHEAP[_630];
          var _775 = _pPrev+4;
          var _776 = FHEAP[_775];
          var _777 = _774 * _776;
          var _778 = _773 + _777;
          var _779 = FHEAP[_631];
          var _780 = _pPrev+8;
          var _781 = FHEAP[_780];
          var _782 = _779 * _781;
          var _783 = _778 + _782;
          var _784 = FHEAP[_635];
          var _785 = _783 + _784;
          var _786 = FHEAP[_625];
          var _787 = _786 * _772;
          var _788 = FHEAP[_626];
          var _789 = _788 * _776;
          var _790 = _787 + _789;
          var _791 = FHEAP[_627];
          var _792 = _791 * _781;
          var _793 = _790 + _792;
          var _794 = FHEAP[_634];
          var _795 = _793 + _794;
          var _796 = FHEAP[_621];
          var _797 = _796 * _772;
          var _798 = FHEAP[_622];
          var _799 = _798 * _776;
          var _800 = _797 + _799;
          var _801 = FHEAP[_623];
          var _802 = _801 * _781;
          var _803 = _800 + _802;
          var _804 = FHEAP[_633];
          var _805 = _803 + _804;
          FHEAP[_771] = _805;
          FHEAP[_775] = _795;
          FHEAP[_780] = _785;
          var _806 = _pPrev+12;
          FHEAP[_806] = 0;
          var _807 = _pCur;
          var _808 = _pCur+4;
          var _809 = _pCur+8;
          var _810 = _pCur+12;
          var _811 = _8;
          var _812 = _8+4;
          var _813 = _8+8;
          var _814 = _8+12;
          var _815 = _7;
          var _816 = _7+4;
          var _817 = _7+8;
          var _818 = _7+12;
          var _819 = _tr28+48;
          __lastLabel__ = 130; ;
          _bb50$16900: while(1) { // _bb50
            var _820 = __lastLabel__ == 130 ? 0 : (_883);
            var _821 = _820;
            var _822 = _821 * 6.283185005187988;
            var _823 = _822 / 32;
            __ZNK21btConeTwistConstraint16GetPointForAngleEff(_pCur, _496, _823, _39);
            var _824 = FHEAP[_629];
            var _825 = FHEAP[_807];
            var _826 = _824 * _825;
            var _827 = FHEAP[_630];
            var _828 = FHEAP[_808];
            var _829 = _827 * _828;
            var _830 = _826 + _829;
            var _831 = FHEAP[_631];
            var _832 = FHEAP[_809];
            var _833 = _831 * _832;
            var _834 = _830 + _833;
            var _835 = FHEAP[_635];
            var _836 = _834 + _835;
            var _837 = FHEAP[_625];
            var _838 = _837 * _825;
            var _839 = FHEAP[_626];
            var _840 = _839 * _828;
            var _841 = _838 + _840;
            var _842 = FHEAP[_627];
            var _843 = _842 * _832;
            var _844 = _841 + _843;
            var _845 = FHEAP[_634];
            var _846 = _844 + _845;
            var _847 = FHEAP[_621];
            var _848 = _847 * _825;
            var _849 = FHEAP[_622];
            var _850 = _849 * _828;
            var _851 = _848 + _850;
            var _852 = FHEAP[_623];
            var _853 = _852 * _832;
            var _854 = _851 + _853;
            var _855 = FHEAP[_633];
            var _856 = _854 + _855;
            FHEAP[_807] = _856;
            FHEAP[_808] = _846;
            FHEAP[_809] = _836;
            FHEAP[_810] = 0;
            var _857 = IHEAP[_10];
            var _858 = _857+16;
            var _859 = IHEAP[_858];
            var _860 = _859;
            var _861 = FUNCTION_TABLE[_860](_14);
            var _862 = _861;
            var _863 = IHEAP[_862];
            var _864 = _863+8;
            var _865 = IHEAP[_864];
            FHEAP[_811] = 0;
            FHEAP[_812] = 0;
            FHEAP[_813] = 0;
            FHEAP[_814] = 0;
            var _866 = _865;
            FUNCTION_TABLE[_866](_861, _pPrev, _pCur, _8);
            var _867 = _820 & 3;
            var _868 = _867 == 0;
            ;
            if (_868) {
              ;
              var _869 = IHEAP[_10];
              var _870 = _869+16;
              var _871 = IHEAP[_870];
              var _872 = _871;
              var _873 = FUNCTION_TABLE[_872](_14);
              var _874 = _873;
              var _875 = IHEAP[_874];
              var _876 = _875+8;
              var _877 = IHEAP[_876];
              FHEAP[_815] = 0;
              FHEAP[_816] = 0;
              FHEAP[_817] = 0;
              FHEAP[_818] = 0;
              var _878 = _877;
              FUNCTION_TABLE[_878](_873, _819, _pCur, _7);
              ;
            }
            var _879 = FHEAP[_807];
            FHEAP[_771] = _879;
            var _880 = FHEAP[_808];
            FHEAP[_775] = _880;
            var _881 = FHEAP[_809];
            FHEAP[_780] = _881;
            var _882 = FHEAP[_810];
            FHEAP[_806] = _882;
            var _883 = _820 + 1;
            var _exitcond = _883 == 32;
            if (_exitcond) { __lastLabel__ = 1021; __label__ = 1307; /* _bb56 */ break _bb50$16900; } else { __lastLabel__ = 1021; __label__ = 975; /* _bb50 */ continue _bb50$16900; }
          }
          var _884 = _constraint+432+8;
          var _885 = _884;
          var _886 = FHEAP[_885];
          var _887 = _constraint+468+32;
          var _888 = FHEAP[_887];
          var _889 = IHEAP[_648];
          var _890 = _889+336;
          var _891 = FHEAP[_890];
          var _892 = _891 > 0;
          ;
          if (_892) {
            ;
            var _893 = _889+4+32;
            var _894 = FHEAP[_893];
            var _895 = FHEAP[_652];
            var _896 = _894 * _895;
            var _897 = _889+4+32+4;
            var _898 = FHEAP[_897];
            var _899 = FHEAP[_657];
            var _900 = _898 * _899;
            var _901 = _896 + _900;
            var _902 = _889+4+32+8;
            var _903 = FHEAP[_902];
            var _904 = FHEAP[_663];
            var _905 = _903 * _904;
            var _906 = _901 + _905;
            var _907 = _889+4+48+8;
            var _908 = FHEAP[_907];
            var _909 = _906 + _908;
            var _910 = _889+4+16;
            var _911 = FHEAP[_910];
            var _912 = _911 * _895;
            var _913 = _889+4+16+4;
            var _914 = FHEAP[_913];
            var _915 = _914 * _899;
            var _916 = _912 + _915;
            var _917 = _889+4+16+8;
            var _918 = FHEAP[_917];
            var _919 = _918 * _904;
            var _920 = _916 + _919;
            var _921 = _889+4+48+4;
            var _922 = FHEAP[_921];
            var _923 = _920 + _922;
            var _924 = _889+4;
            var _925 = FHEAP[_924];
            var _926 = _925 * _895;
            var _927 = _889+4+4;
            var _928 = FHEAP[_927];
            var _929 = _928 * _899;
            var _930 = _926 + _929;
            var _931 = _889+4+8;
            var _932 = FHEAP[_931];
            var _933 = _932 * _904;
            var _934 = _930 + _933;
            var _935 = _889+4+48;
            var _936 = FHEAP[_935];
            var _937 = _934 + _936;
            var _938 = FHEAP[_698];
            var _939 = _938 * _894;
            var _940 = FHEAP[_701];
            var _941 = _940 * _898;
            var _942 = _939 + _941;
            var _943 = FHEAP[_705];
            var _944 = _943 * _903;
            var _945 = _942 + _944;
            var _946 = FHEAP[_709];
            var _947 = _946 * _894;
            var _948 = FHEAP[_712];
            var _949 = _948 * _898;
            var _950 = _947 + _949;
            var _951 = FHEAP[_716];
            var _952 = _951 * _903;
            var _953 = _950 + _952;
            var _954 = FHEAP[_647];
            var _955 = _954 * _894;
            var _956 = FHEAP[_722];
            var _957 = _956 * _898;
            var _958 = _955 + _957;
            var _959 = FHEAP[_726];
            var _960 = _959 * _903;
            var _961 = _958 + _960;
            var _962 = _938 * _911;
            var _963 = _940 * _914;
            var _964 = _962 + _963;
            var _965 = _943 * _918;
            var _966 = _964 + _965;
            var _967 = _946 * _911;
            var _968 = _948 * _914;
            var _969 = _967 + _968;
            var _970 = _951 * _918;
            var _971 = _969 + _970;
            var _972 = _954 * _911;
            var _973 = _956 * _914;
            var _974 = _972 + _973;
            var _975 = _959 * _918;
            var _976 = _974 + _975;
            var _977 = _938 * _925;
            var _978 = _940 * _928;
            var _979 = _977 + _978;
            var _980 = _943 * _932;
            var _981 = _979 + _980;
            var _982 = _946 * _925;
            var _983 = _948 * _928;
            var _984 = _982 + _983;
            var _985 = _951 * _932;
            var _986 = _984 + _985;
            var _987 = _954 * _925;
            var _988 = _956 * _928;
            var _989 = _987 + _988;
            var _990 = _959 * _932;
            var _991 = _989 + _990;
            __lastLabel__ = 10; ;
          }
          else {
            ;
            var _992 = IHEAP[_498];
            var _993 = _992+4+32;
            var _994 = FHEAP[_993];
            var _995 = FHEAP[_503];
            var _996 = _994 * _995;
            var _997 = _992+4+32+4;
            var _998 = FHEAP[_997];
            var _999 = FHEAP[_509];
            var _1000 = _998 * _999;
            var _1001 = _996 + _1000;
            var _1002 = _992+4+32+8;
            var _1003 = FHEAP[_1002];
            var _1004 = FHEAP[_516];
            var _1005 = _1003 * _1004;
            var _1006 = _1001 + _1005;
            var _1007 = _992+4+48+8;
            var _1008 = FHEAP[_1007];
            var _1009 = _1006 + _1008;
            var _1010 = _992+4+16;
            var _1011 = FHEAP[_1010];
            var _1012 = _1011 * _995;
            var _1013 = _992+4+16+4;
            var _1014 = FHEAP[_1013];
            var _1015 = _1014 * _999;
            var _1016 = _1012 + _1015;
            var _1017 = _992+4+16+8;
            var _1018 = FHEAP[_1017];
            var _1019 = _1018 * _1004;
            var _1020 = _1016 + _1019;
            var _1021 = _992+4+48+4;
            var _1022 = FHEAP[_1021];
            var _1023 = _1020 + _1022;
            var _1024 = _992+4;
            var _1025 = FHEAP[_1024];
            var _1026 = _1025 * _995;
            var _1027 = _992+4+4;
            var _1028 = FHEAP[_1027];
            var _1029 = _1028 * _999;
            var _1030 = _1026 + _1029;
            var _1031 = _992+4+8;
            var _1032 = FHEAP[_1031];
            var _1033 = _1032 * _1004;
            var _1034 = _1030 + _1033;
            var _1035 = _992+4+48;
            var _1036 = FHEAP[_1035];
            var _1037 = _1034 + _1036;
            var _1038 = FHEAP[_552];
            var _1039 = _1038 * _994;
            var _1040 = FHEAP[_556];
            var _1041 = _1040 * _998;
            var _1042 = _1039 + _1041;
            var _1043 = FHEAP[_561];
            var _1044 = _1043 * _1003;
            var _1045 = _1042 + _1044;
            var _1046 = FHEAP[_566];
            var _1047 = _1046 * _994;
            var _1048 = FHEAP[_570];
            var _1049 = _1048 * _998;
            var _1050 = _1047 + _1049;
            var _1051 = FHEAP[_575];
            var _1052 = _1051 * _1003;
            var _1053 = _1050 + _1052;
            var _1054 = FHEAP[_579];
            var _1055 = _1054 * _994;
            var _1056 = FHEAP[_583];
            var _1057 = _1056 * _998;
            var _1058 = _1055 + _1057;
            var _1059 = FHEAP[_587];
            var _1060 = _1059 * _1003;
            var _1061 = _1058 + _1060;
            var _1062 = _1038 * _1011;
            var _1063 = _1040 * _1014;
            var _1064 = _1062 + _1063;
            var _1065 = _1043 * _1018;
            var _1066 = _1064 + _1065;
            var _1067 = _1046 * _1011;
            var _1068 = _1048 * _1014;
            var _1069 = _1067 + _1068;
            var _1070 = _1051 * _1018;
            var _1071 = _1069 + _1070;
            var _1072 = _1054 * _1011;
            var _1073 = _1056 * _1014;
            var _1074 = _1072 + _1073;
            var _1075 = _1059 * _1018;
            var _1076 = _1074 + _1075;
            var _1077 = _1038 * _1025;
            var _1078 = _1040 * _1028;
            var _1079 = _1077 + _1078;
            var _1080 = _1043 * _1032;
            var _1081 = _1079 + _1080;
            var _1082 = _1046 * _1025;
            var _1083 = _1048 * _1028;
            var _1084 = _1082 + _1083;
            var _1085 = _1051 * _1032;
            var _1086 = _1084 + _1085;
            var _1087 = _1054 * _1025;
            var _1088 = _1056 * _1028;
            var _1089 = _1087 + _1088;
            var _1090 = _1059 * _1032;
            var _1091 = _1089 + _1090;
            __lastLabel__ = 1024; ;
          }
          var _storemerge244 = __lastLabel__ == 10 ? _991 : (_1091);
          var _storemerge243 = __lastLabel__ == 10 ? _986 : (_1086);
          var _storemerge242 = __lastLabel__ == 10 ? _981 : (_1081);
          var _storemerge241 = __lastLabel__ == 10 ? _976 : (_1076);
          var _storemerge240 = __lastLabel__ == 10 ? _971 : (_1071);
          var _storemerge239 = __lastLabel__ == 10 ? _966 : (_1066);
          var _storemerge238 = __lastLabel__ == 10 ? _961 : (_1061);
          var _storemerge237 = __lastLabel__ == 10 ? _953 : (_1053);
          var _storemerge236 = __lastLabel__ == 10 ? _945 : (_1045);
          var _storemerge235 = __lastLabel__ == 10 ? _937 : (_1037);
          var _storemerge234 = __lastLabel__ == 10 ? _923 : (_1023);
          var _storemerge = __lastLabel__ == 10 ? _909 : (_1009);
          FHEAP[_621] = _storemerge244;
          FHEAP[_622] = _storemerge243;
          FHEAP[_623] = _storemerge242;
          FHEAP[_624] = 0;
          FHEAP[_625] = _storemerge241;
          FHEAP[_626] = _storemerge240;
          FHEAP[_627] = _storemerge239;
          FHEAP[_628] = 0;
          FHEAP[_629] = _storemerge238;
          FHEAP[_630] = _storemerge237;
          FHEAP[_631] = _storemerge236;
          FHEAP[_632] = 0;
          FHEAP[_633] = _storemerge235;
          FHEAP[_634] = _storemerge234;
          FHEAP[_635] = _storemerge;
          FHEAP[_636] = 0;
          var _1092 = _pivot44;
          FHEAP[_1092] = _storemerge235;
          var _1093 = _pivot44+4;
          FHEAP[_1093] = _storemerge234;
          var _1094 = _pivot44+8;
          FHEAP[_1094] = _storemerge;
          var _1095 = _pivot44+12;
          FHEAP[_1095] = 0;
          var _1096 = _normal46;
          FHEAP[_1096] = _storemerge244;
          var _1097 = _normal46+4;
          FHEAP[_1097] = _storemerge241;
          var _1098 = _normal46+8;
          FHEAP[_1098] = _storemerge238;
          var _1099 = _normal46+12;
          FHEAP[_1099] = 0;
          var _1100 = _axis1;
          FHEAP[_1100] = _storemerge243;
          var _1101 = _axis1+4;
          FHEAP[_1101] = _storemerge240;
          var _1102 = _axis1+8;
          FHEAP[_1102] = _storemerge237;
          var _1103 = _axis1+12;
          FHEAP[_1103] = 0;
          var _1104 = IHEAP[_10];
          var _1105 = _1104+16;
          var _1106 = IHEAP[_1105];
          var _1107 = _1106;
          var _1108 = FUNCTION_TABLE[_1107](_14);
          var _1109 = _1108;
          var _1110 = IHEAP[_1109];
          var _1111 = _1110+60;
          var _1112 = IHEAP[_1111];
          var _1113 = _6;
          FHEAP[_1113] = 0;
          var _1114 = _6+4;
          FHEAP[_1114] = 0;
          var _1115 = _6+8;
          FHEAP[_1115] = 0;
          var _1116 = _6+12;
          FHEAP[_1116] = 0;
          var _1117 = _886 - _888;
          var _1118 = 0 - _888;
          var _1119 = _1118 - _886;
          var _1120 = _1112;
          FUNCTION_TABLE[_1120](_1108, _pivot44, _normal46, _axis1, _39, _39, _1119, _1117, _6, 1, 10);
          STACKTOP = __stackBase__;
          return;
        }
        else if (__label__ == 482) {
          var _1121 = _constraint;
          var _1122 = _constraint+1044+8;
          var _1123 = _tr64;
          var _1124 = _1122;
          var _1125 = FHEAP[_1124];
          FHEAP[_1123] = _1125;
          var _1126 = _tr64+4;
          var _1127 = _1122+4;
          var _1128 = _1127;
          var _1129 = FHEAP[_1128];
          FHEAP[_1126] = _1129;
          var _1130 = _tr64+8;
          var _1131 = _1122+8;
          var _1132 = _1131;
          var _1133 = FHEAP[_1132];
          FHEAP[_1130] = _1133;
          var _1134 = _tr64+12;
          var _1135 = _1122+12;
          var _1136 = _1135;
          var _1137 = FHEAP[_1136];
          FHEAP[_1134] = _1137;
          var _1138 = _tr64+16;
          var _1139 = _1122+16;
          var _1140 = _1139;
          var _1141 = FHEAP[_1140];
          FHEAP[_1138] = _1141;
          var _1142 = _tr64+16+4;
          var _1143 = _1122+20;
          var _1144 = _1143;
          var _1145 = FHEAP[_1144];
          FHEAP[_1142] = _1145;
          var _1146 = _tr64+16+8;
          var _1147 = _1122+24;
          var _1148 = _1147;
          var _1149 = FHEAP[_1148];
          FHEAP[_1146] = _1149;
          var _1150 = _tr64+16+12;
          var _1151 = _1122+28;
          var _1152 = _1151;
          var _1153 = FHEAP[_1152];
          FHEAP[_1150] = _1153;
          var _1154 = _tr64+32;
          var _1155 = _1122+32;
          var _1156 = _1155;
          var _1157 = FHEAP[_1156];
          FHEAP[_1154] = _1157;
          var _1158 = _tr64+32+4;
          var _1159 = _1122+36;
          var _1160 = _1159;
          var _1161 = FHEAP[_1160];
          FHEAP[_1158] = _1161;
          var _1162 = _tr64+32+8;
          var _1163 = _1122+40;
          var _1164 = _1163;
          var _1165 = FHEAP[_1164];
          FHEAP[_1162] = _1165;
          var _1166 = _tr64+32+12;
          var _1167 = _1122+44;
          var _1168 = _1167;
          var _1169 = FHEAP[_1168];
          FHEAP[_1166] = _1169;
          var _1170 = _tr64+48;
          var _1171 = _1122+48;
          var _1172 = _1171;
          var _1173 = FHEAP[_1172];
          FHEAP[_1170] = _1173;
          var _1174 = _tr64+48+4;
          var _1175 = _1122+52;
          var _1176 = _1175;
          var _1177 = FHEAP[_1176];
          FHEAP[_1174] = _1177;
          var _1178 = _tr64+48+8;
          var _1179 = _1122+56;
          var _1180 = _1179;
          var _1181 = FHEAP[_1180];
          FHEAP[_1178] = _1181;
          var _1182 = _tr64+48+12;
          var _1183 = _1122+60;
          var _1184 = _1183;
          var _1185 = FHEAP[_1184];
          FHEAP[_1182] = _1185;
          var _toBool65 = _24 == 0;
          ;
          if (!_toBool65) {
            ;
            var _1186 = IHEAP[_10];
            var _1187 = _1186+16;
            var _1188 = IHEAP[_1187];
            var _1189 = _1188;
            var _1190 = FUNCTION_TABLE[_1189](_14);
            var _1191 = _1190;
            var _1192 = IHEAP[_1191];
            var _1193 = _1192+56;
            var _1194 = IHEAP[_1193];
            var _1195 = _1194;
            FUNCTION_TABLE[_1195](_1190, _tr64, _39);
            ;
          }
          var _1196 = _constraint+1116;
          var _1197 = _1196;
          var _1198 = FHEAP[_1197];
          FHEAP[_1123] = _1198;
          var _1199 = _constraint+1116+4;
          var _1200 = _1199;
          var _1201 = FHEAP[_1200];
          FHEAP[_1126] = _1201;
          var _1202 = _constraint+1116+8;
          var _1203 = _1202;
          var _1204 = FHEAP[_1203];
          FHEAP[_1130] = _1204;
          var _1205 = _constraint+1116+12;
          var _1206 = _1205;
          var _1207 = FHEAP[_1206];
          FHEAP[_1134] = _1207;
          var _1208 = _constraint+1116+16;
          var _1209 = _1208;
          var _1210 = FHEAP[_1209];
          FHEAP[_1138] = _1210;
          var _1211 = _constraint+1116+20;
          var _1212 = _1211;
          var _1213 = FHEAP[_1212];
          FHEAP[_1142] = _1213;
          var _1214 = _constraint+1116+24;
          var _1215 = _1214;
          var _1216 = FHEAP[_1215];
          FHEAP[_1146] = _1216;
          var _1217 = _constraint+1116+28;
          var _1218 = FHEAP[_1217];
          FHEAP[_1150] = _1218;
          var _1219 = _constraint+1116+32;
          var _1220 = FHEAP[_1219];
          FHEAP[_1154] = _1220;
          var _1221 = _constraint+1152;
          var _1222 = _1221;
          var _1223 = FHEAP[_1222];
          FHEAP[_1158] = _1223;
          var _1224 = _constraint+1152+4;
          var _1225 = _1224;
          var _1226 = FHEAP[_1225];
          FHEAP[_1162] = _1226;
          var _1227 = _constraint+1152+8;
          var _1228 = _1227;
          var _1229 = FHEAP[_1228];
          FHEAP[_1166] = _1229;
          var _1230 = _constraint+1152+12;
          var _1231 = _1230;
          var _1232 = FHEAP[_1231];
          FHEAP[_1170] = _1232;
          var _1233 = _constraint+1152+16;
          var _1234 = _1233;
          var _1235 = FHEAP[_1234];
          FHEAP[_1174] = _1235;
          var _1236 = _constraint+1152+20;
          var _1237 = _1236;
          var _1238 = FHEAP[_1237];
          FHEAP[_1178] = _1238;
          var _1239 = _constraint+1152+24;
          var _1240 = _1239;
          var _1241 = FHEAP[_1240];
          FHEAP[_1182] = _1241;
          ;
          if (!_toBool65) {
            ;
            var _1242 = IHEAP[_10];
            var _1243 = _1242+16;
            var _1244 = IHEAP[_1243];
            var _1245 = _1244;
            var _1246 = FUNCTION_TABLE[_1245](_14);
            var _1247 = _1246;
            var _1248 = IHEAP[_1247];
            var _1249 = _1248+56;
            var _1250 = IHEAP[_1249];
            var _1251 = _1250;
            FUNCTION_TABLE[_1251](_1246, _tr64, _39);
            ;
          }
          var _toBool71 = _37 == 0;
          if (_toBool71) { __label__ = 44; /* _return */ break _bb$_return$16878; }
          var _1252 = FHEAP[_1124];
          FHEAP[_1123] = _1252;
          var _1253 = FHEAP[_1128];
          FHEAP[_1126] = _1253;
          var _1254 = FHEAP[_1132];
          FHEAP[_1130] = _1254;
          var _1255 = FHEAP[_1136];
          FHEAP[_1134] = _1255;
          var _1256 = FHEAP[_1140];
          FHEAP[_1138] = _1256;
          var _1257 = FHEAP[_1144];
          FHEAP[_1142] = _1257;
          var _1258 = FHEAP[_1148];
          FHEAP[_1146] = _1258;
          var _1259 = FHEAP[_1152];
          FHEAP[_1150] = _1259;
          var _1260 = FHEAP[_1156];
          FHEAP[_1154] = _1260;
          var _1261 = FHEAP[_1160];
          FHEAP[_1158] = _1261;
          var _1262 = FHEAP[_1164];
          FHEAP[_1162] = _1262;
          var _1263 = FHEAP[_1168];
          FHEAP[_1166] = _1263;
          var _1264 = FHEAP[_1172];
          FHEAP[_1170] = _1264;
          var _1265 = FHEAP[_1176];
          FHEAP[_1174] = _1265;
          var _1266 = FHEAP[_1180];
          FHEAP[_1178] = _1266;
          var _1267 = FHEAP[_1184];
          FHEAP[_1182] = _1267;
          var _1268 = _1230;
          var _1269 = _up;
          FHEAP[_1269] = _1254;
          var _1270 = _up+4;
          FHEAP[_1270] = _1258;
          var _1271 = _up+8;
          FHEAP[_1271] = _1262;
          var _1272 = _up+12;
          FHEAP[_1272] = 0;
          var _1273 = _axis77;
          FHEAP[_1273] = _1252;
          var _1274 = _axis77+4;
          FHEAP[_1274] = _1256;
          var _1275 = _axis77+8;
          FHEAP[_1275] = _1260;
          var _1276 = _axis77+12;
          FHEAP[_1276] = 0;
          var _1277 = _constraint+900+20;
          var _1278 = _1277;
          var _1279 = FHEAP[_1278];
          var _1280 = _1277+4;
          var _1281 = _1280;
          var _1282 = FHEAP[_1281];
          var _1283 = _constraint+972+12;
          var _1284 = _1283;
          var _1285 = FHEAP[_1284];
          var _1286 = _1283+4;
          var _1287 = _1286;
          var _1288 = FHEAP[_1287];
          var _1289 = IHEAP[_10];
          var _1290 = _1289+16;
          var _1291 = IHEAP[_1290];
          var _1292 = _1291;
          var _1293 = FUNCTION_TABLE[_1292](_14);
          var _1294 = _1293;
          var _1295 = IHEAP[_1294];
          var _1296 = _1295+64;
          var _1297 = IHEAP[_1296];
          var _1298 = _5;
          FHEAP[_1298] = 0;
          var _1299 = _5+4;
          FHEAP[_1299] = 0;
          var _1300 = _5+8;
          FHEAP[_1300] = 0;
          var _1301 = _5+12;
          FHEAP[_1301] = 0;
          var _1302 = _39 * 0.8999999761581421;
          var _1303 = _1297;
          FUNCTION_TABLE[_1303](_1293, _1268, _up, _axis77, _1302, _1279, _1282, _1285, _1288, _5, 10);
          var _1304 = FHEAP[_1126];
          var _1305 = FHEAP[_1142];
          var _1306 = FHEAP[_1158];
          FHEAP[_1273] = _1304;
          FHEAP[_1274] = _1305;
          FHEAP[_1275] = _1306;
          FHEAP[_1276] = 0;
          var _1307 = __ZNK23btGeneric6DofConstraint8getAngleEi(_1121, 1);
          var _1308 = __ZNK23btGeneric6DofConstraint8getAngleEi(_1121, 2);
          var _1309 = _cosf(_1307);
          var _1310 = _sinf(_1307);
          var _1311 = _cosf(_1308);
          var _1312 = _sinf(_1308);
          var _1313 = _ref;
          var _1314 = _1309 * _1311;
          var _1315 = FHEAP[_1273];
          var _1316 = _1314 * _1315;
          var _1317 = _1309 * _1312;
          var _1318 = FHEAP[_1274];
          var _1319 = _1317 * _1318;
          var _1320 = _1316 + _1319;
          var _1321 = FHEAP[_1275];
          var _1322 = _1321 * _1310;
          var _1323 = _1320 - _1322;
          FHEAP[_1313] = _1323;
          var _1324 = 0 - _1312;
          var _1325 = _1315 * _1324;
          var _1326 = _1318 * _1311;
          var _1327 = _1325 + _1326;
          var _1328 = _ref+4;
          FHEAP[_1328] = _1327;
          var _1329 = _1311 * _1310;
          var _1330 = _1329 * _1315;
          var _1331 = _1312 * _1310;
          var _1332 = _1331 * _1318;
          var _1333 = _1330 + _1332;
          var _1334 = _1321 * _1309;
          var _1335 = _1333 + _1334;
          var _1336 = _ref+8;
          FHEAP[_1336] = _1335;
          var _1337 = FHEAP[_1197];
          FHEAP[_1123] = _1337;
          var _1338 = FHEAP[_1200];
          FHEAP[_1126] = _1338;
          var _1339 = FHEAP[_1203];
          FHEAP[_1130] = _1339;
          var _1340 = FHEAP[_1206];
          FHEAP[_1134] = _1340;
          var _1341 = FHEAP[_1209];
          FHEAP[_1138] = _1341;
          var _1342 = FHEAP[_1212];
          FHEAP[_1142] = _1342;
          var _1343 = FHEAP[_1215];
          FHEAP[_1146] = _1343;
          var _1344 = FHEAP[_1217];
          FHEAP[_1150] = _1344;
          var _1345 = FHEAP[_1219];
          FHEAP[_1154] = _1345;
          var _1346 = FHEAP[_1222];
          FHEAP[_1158] = _1346;
          var _1347 = FHEAP[_1225];
          FHEAP[_1162] = _1347;
          var _1348 = FHEAP[_1228];
          FHEAP[_1166] = _1348;
          var _1349 = FHEAP[_1231];
          FHEAP[_1170] = _1349;
          var _1350 = FHEAP[_1234];
          FHEAP[_1174] = _1350;
          var _1351 = FHEAP[_1237];
          FHEAP[_1178] = _1351;
          var _1352 = FHEAP[_1240];
          FHEAP[_1182] = _1352;
          var _1353 = 0 - _1345;
          var _1354 = 0 - _1341;
          var _1355 = 0 - _1337;
          var _1356 = _normal90;
          FHEAP[_1356] = _1355;
          var _1357 = _normal90+4;
          FHEAP[_1357] = _1354;
          var _1358 = _normal90+8;
          FHEAP[_1358] = _1353;
          var _1359 = _normal90+12;
          FHEAP[_1359] = 0;
          var _1360 = _constraint+828+28;
          var _1361 = FHEAP[_1360];
          var _1362 = _1360+4;
          var _1363 = FHEAP[_1362];
          var _1364 = _1361 > _1363;
          ;
          _bb96$_bb97$16918: do { 
            if (_1364) {
              ;
              var _1365 = IHEAP[_10];
              var _1366 = _1365+16;
              var _1367 = IHEAP[_1366];
              var _1368 = _1367;
              var _1369 = FUNCTION_TABLE[_1368](_14);
              var _1370 = _1369;
              var _1371 = IHEAP[_1370];
              var _1372 = _1371+60;
              var _1373 = IHEAP[_1372];
              var _1374 = _4;
              FHEAP[_1374] = 0;
              var _1375 = _4+4;
              FHEAP[_1375] = 0;
              var _1376 = _4+8;
              FHEAP[_1376] = 0;
              var _1377 = _4+12;
              FHEAP[_1377] = 0;
              var _1378 = _1373;
              FUNCTION_TABLE[_1378](_1369, _1268, _normal90, _ref, _39, _39, -3.1415927410125732, 3.1415927410125732, _4, 0, 10);
              ;
            }
            else {
              ;
              var _1379 = _1361 < _1363;
              if (!(_1379)) { __label__ = 27; /* _bb99 */ break _bb96$_bb97$16918; }
              var _1380 = IHEAP[_10];
              var _1381 = _1380+16;
              var _1382 = IHEAP[_1381];
              var _1383 = _1382;
              var _1384 = FUNCTION_TABLE[_1383](_14);
              var _1385 = _1384;
              var _1386 = IHEAP[_1385];
              var _1387 = _1386+60;
              var _1388 = IHEAP[_1387];
              var _1389 = _3;
              FHEAP[_1389] = 0;
              var _1390 = _3+4;
              FHEAP[_1390] = 0;
              var _1391 = _3+8;
              FHEAP[_1391] = 0;
              var _1392 = _3+12;
              FHEAP[_1392] = 0;
              var _1393 = _1388;
              FUNCTION_TABLE[_1393](_1384, _1268, _normal90, _ref, _39, _39, _1361, _1363, _3, 1, 10);
              ;
            }
          } while(0);
          var _1394 = FHEAP[_1124];
          FHEAP[_1123] = _1394;
          var _1395 = FHEAP[_1128];
          FHEAP[_1126] = _1395;
          var _1396 = FHEAP[_1132];
          FHEAP[_1130] = _1396;
          var _1397 = FHEAP[_1136];
          FHEAP[_1134] = _1397;
          var _1398 = FHEAP[_1140];
          FHEAP[_1138] = _1398;
          var _1399 = FHEAP[_1144];
          FHEAP[_1142] = _1399;
          var _1400 = FHEAP[_1148];
          FHEAP[_1146] = _1400;
          var _1401 = FHEAP[_1152];
          FHEAP[_1150] = _1401;
          var _1402 = FHEAP[_1156];
          FHEAP[_1154] = _1402;
          var _1403 = FHEAP[_1160];
          FHEAP[_1158] = _1403;
          var _1404 = FHEAP[_1164];
          FHEAP[_1162] = _1404;
          var _1405 = FHEAP[_1168];
          FHEAP[_1166] = _1405;
          var _1406 = FHEAP[_1172];
          FHEAP[_1170] = _1406;
          var _1407 = FHEAP[_1176];
          FHEAP[_1174] = _1407;
          var _1408 = FHEAP[_1180];
          FHEAP[_1178] = _1408;
          var _1409 = FHEAP[_1184];
          FHEAP[_1182] = _1409;
          var _1410 = _constraint+648+20;
          var _1411 = _bbMin;
          var _1412 = _1410;
          var _1413 = FHEAP[_1412];
          FHEAP[_1411] = _1413;
          var _1414 = _bbMin+4;
          var _1415 = _1410+4;
          var _1416 = _1415;
          var _1417 = FHEAP[_1416];
          FHEAP[_1414] = _1417;
          var _1418 = _bbMin+8;
          var _1419 = _1410+8;
          var _1420 = _1419;
          var _1421 = FHEAP[_1420];
          FHEAP[_1418] = _1421;
          var _1422 = _bbMin+12;
          var _1423 = _1410+12;
          var _1424 = _1423;
          var _1425 = FHEAP[_1424];
          FHEAP[_1422] = _1425;
          var _1426 = _bbMax;
          var _1427 = _1410+16;
          var _1428 = _1427;
          var _1429 = FHEAP[_1428];
          FHEAP[_1426] = _1429;
          var _1430 = _bbMax+4;
          var _1431 = _1410+20;
          var _1432 = _1431;
          var _1433 = FHEAP[_1432];
          FHEAP[_1430] = _1433;
          var _1434 = _bbMax+8;
          var _1435 = _1410+24;
          var _1436 = _1435;
          var _1437 = FHEAP[_1436];
          FHEAP[_1434] = _1437;
          var _1438 = _bbMax+12;
          var _1439 = _1410+28;
          var _1440 = _1439;
          var _1441 = FHEAP[_1440];
          FHEAP[_1438] = _1441;
          var _1442 = IHEAP[_10];
          var _1443 = _1442+16;
          var _1444 = IHEAP[_1443];
          var _1445 = _1444;
          var _1446 = FUNCTION_TABLE[_1445](_14);
          var _1447 = _1446;
          var _1448 = IHEAP[_1447];
          var _1449 = _1448+72;
          var _1450 = IHEAP[_1449];
          var _1451 = _2;
          FHEAP[_1451] = 0;
          var _1452 = _2+4;
          FHEAP[_1452] = 0;
          var _1453 = _2+8;
          FHEAP[_1453] = 0;
          var _1454 = _2+12;
          FHEAP[_1454] = 0;
          var _1455 = _1450;
          FUNCTION_TABLE[_1455](_1446, _bbMin, _bbMax, _tr64, _2);
          STACKTOP = __stackBase__;
          return;
        }
        else if (__label__ == 1567) {
          var _1456 = _constraint+792+20;
          var _1457 = _tr103;
          var _1458 = _1456;
          var _1459 = FHEAP[_1458];
          FHEAP[_1457] = _1459;
          var _1460 = _tr103+4;
          var _1461 = _1456+4;
          var _1462 = _1461;
          var _1463 = FHEAP[_1462];
          FHEAP[_1460] = _1463;
          var _1464 = _tr103+8;
          var _1465 = _1456+8;
          var _1466 = _1465;
          var _1467 = FHEAP[_1466];
          FHEAP[_1464] = _1467;
          var _1468 = _tr103+12;
          var _1469 = _1456+12;
          var _1470 = _1469;
          var _1471 = FHEAP[_1470];
          FHEAP[_1468] = _1471;
          var _1472 = _tr103+16;
          var _1473 = _1456+16;
          var _1474 = _1473;
          var _1475 = FHEAP[_1474];
          FHEAP[_1472] = _1475;
          var _1476 = _tr103+16+4;
          var _1477 = _1456+20;
          var _1478 = _1477;
          var _1479 = FHEAP[_1478];
          FHEAP[_1476] = _1479;
          var _1480 = _tr103+16+8;
          var _1481 = _1456+24;
          var _1482 = _1481;
          var _1483 = FHEAP[_1482];
          FHEAP[_1480] = _1483;
          var _1484 = _tr103+16+12;
          var _1485 = _1456+28;
          var _1486 = _1485;
          var _1487 = FHEAP[_1486];
          FHEAP[_1484] = _1487;
          var _1488 = _tr103+32;
          var _1489 = _1456+32;
          var _1490 = _1489;
          var _1491 = FHEAP[_1490];
          FHEAP[_1488] = _1491;
          var _1492 = _tr103+32+4;
          var _1493 = _1456+36;
          var _1494 = _1493;
          var _1495 = FHEAP[_1494];
          FHEAP[_1492] = _1495;
          var _1496 = _tr103+32+8;
          var _1497 = _1456+40;
          var _1498 = _1497;
          var _1499 = FHEAP[_1498];
          FHEAP[_1496] = _1499;
          var _1500 = _tr103+32+12;
          var _1501 = _1456+44;
          var _1502 = _1501;
          var _1503 = FHEAP[_1502];
          FHEAP[_1500] = _1503;
          var _1504 = _tr103+48;
          var _1505 = _1456+48;
          var _1506 = _1505;
          var _1507 = FHEAP[_1506];
          FHEAP[_1504] = _1507;
          var _1508 = _tr103+48+4;
          var _1509 = _1456+52;
          var _1510 = _1509;
          var _1511 = FHEAP[_1510];
          FHEAP[_1508] = _1511;
          var _1512 = _tr103+48+8;
          var _1513 = _1456+56;
          var _1514 = _1513;
          var _1515 = FHEAP[_1514];
          FHEAP[_1512] = _1515;
          var _1516 = _tr103+48+12;
          var _1517 = _1456+60;
          var _1518 = _1517;
          var _1519 = FHEAP[_1518];
          FHEAP[_1516] = _1519;
          var _toBool104 = _24 == 0;
          ;
          if (!_toBool104) {
            ;
            var _1520 = IHEAP[_10];
            var _1521 = _1520+16;
            var _1522 = IHEAP[_1521];
            var _1523 = _1522;
            var _1524 = FUNCTION_TABLE[_1523](_14);
            var _1525 = _1524;
            var _1526 = IHEAP[_1525];
            var _1527 = _1526+56;
            var _1528 = IHEAP[_1527];
            var _1529 = _1528;
            FUNCTION_TABLE[_1529](_1524, _tr103, _39);
            ;
          }
          var _1530 = _constraint+864+12;
          var _1531 = _1530;
          var _1532 = FHEAP[_1531];
          FHEAP[_1457] = _1532;
          var _1533 = _1530+4;
          var _1534 = _1533;
          var _1535 = FHEAP[_1534];
          FHEAP[_1460] = _1535;
          var _1536 = _1530+8;
          var _1537 = _1536;
          var _1538 = FHEAP[_1537];
          FHEAP[_1464] = _1538;
          var _1539 = _1530+12;
          var _1540 = _1539;
          var _1541 = FHEAP[_1540];
          FHEAP[_1468] = _1541;
          var _1542 = _1530+16;
          var _1543 = _1542;
          var _1544 = FHEAP[_1543];
          FHEAP[_1472] = _1544;
          var _1545 = _1530+20;
          var _1546 = _1545;
          var _1547 = FHEAP[_1546];
          FHEAP[_1476] = _1547;
          var _1548 = _1530+24;
          var _1549 = _1548;
          var _1550 = FHEAP[_1549];
          FHEAP[_1480] = _1550;
          var _1551 = _1530+28;
          var _1552 = _1551;
          var _1553 = FHEAP[_1552];
          FHEAP[_1484] = _1553;
          var _1554 = _1530+32;
          var _1555 = _1554;
          var _1556 = FHEAP[_1555];
          FHEAP[_1488] = _1556;
          var _1557 = _1530+36;
          var _1558 = _1557;
          var _1559 = FHEAP[_1558];
          FHEAP[_1492] = _1559;
          var _1560 = _1530+40;
          var _1561 = _1560;
          var _1562 = FHEAP[_1561];
          FHEAP[_1496] = _1562;
          var _1563 = _1530+44;
          var _1564 = _1563;
          var _1565 = FHEAP[_1564];
          FHEAP[_1500] = _1565;
          var _1566 = _1530+48;
          var _1567 = _1566;
          var _1568 = FHEAP[_1567];
          FHEAP[_1504] = _1568;
          var _1569 = _1530+52;
          var _1570 = _1569;
          var _1571 = FHEAP[_1570];
          FHEAP[_1508] = _1571;
          var _1572 = _1530+56;
          var _1573 = _1572;
          var _1574 = FHEAP[_1573];
          FHEAP[_1512] = _1574;
          var _1575 = _1530+60;
          var _1576 = _1575;
          var _1577 = FHEAP[_1576];
          FHEAP[_1516] = _1577;
          ;
          if (!_toBool104) {
            ;
            var _1578 = IHEAP[_10];
            var _1579 = _1578+16;
            var _1580 = IHEAP[_1579];
            var _1581 = _1580;
            var _1582 = FUNCTION_TABLE[_1581](_14);
            var _1583 = _1582;
            var _1584 = IHEAP[_1583];
            var _1585 = _1584+56;
            var _1586 = IHEAP[_1585];
            var _1587 = _1586;
            FUNCTION_TABLE[_1587](_1582, _tr103, _39);
            ;
          }
          var _toBool110 = _37 == 0;
          if (_toBool110) { __label__ = 44; /* _return */ break _bb$_return$16878; }
          var _1588 = _constraint+144+24;
          var _1589 = _1588;
          var _1590 = IHEAP[_1589];
          var _toBool124 = _1590 == 0;
          ;
          if (_toBool124) {
            ;
            var _1592 = _1530;
            __lastLabel__ = 3128; ;
          }
          else {
            ;
            var _1591 = _1456;
            __lastLabel__ = 1494; ;
          }
          var _iftmp_430_0 = __lastLabel__ == 1494 ? _1591 : (_1592);
          var _1593 = _iftmp_430_0;
          var _1594 = FHEAP[_1593];
          var _1595 = _iftmp_430_0+4;
          var _1596 = FHEAP[_1595];
          var _1597 = _iftmp_430_0+8;
          var _1598 = FHEAP[_1597];
          var _1599 = _iftmp_430_0+16;
          var _1600 = FHEAP[_1599];
          var _1601 = _iftmp_430_0+16+4;
          var _1602 = FHEAP[_1601];
          var _1603 = _iftmp_430_0+16+8;
          var _1604 = FHEAP[_1603];
          var _1605 = _iftmp_430_0+32;
          var _1606 = FHEAP[_1605];
          var _1607 = _iftmp_430_0+32+4;
          var _1608 = FHEAP[_1607];
          var _1609 = _iftmp_430_0+32+8;
          var _1610 = FHEAP[_1609];
          var _1611 = _iftmp_430_0+48;
          var _1612 = FHEAP[_1611];
          var _1613 = _iftmp_430_0+48+4;
          var _1614 = FHEAP[_1613];
          var _1615 = _iftmp_430_0+48+8;
          var _1616 = FHEAP[_1615];
          var _1617 = _constraint+144+28;
          var _1618 = FHEAP[_1617];
          var _1619 = _1606 * _1618;
          var _1620 = _1608 * 0;
          var _1621 = _1619 + _1620;
          var _1622 = _1610 * 0;
          var _1623 = _1621 + _1622;
          var _1624 = _1623 + _1616;
          var _1625 = _1600 * _1618;
          var _1626 = _1602 * 0;
          var _1627 = _1625 + _1626;
          var _1628 = _1604 * 0;
          var _1629 = _1627 + _1628;
          var _1630 = _1629 + _1614;
          var _1631 = _1594 * _1618;
          var _1632 = _1596 * 0;
          var _1633 = _1631 + _1632;
          var _1634 = _1598 * 0;
          var _1635 = _1633 + _1634;
          var _1636 = _1635 + _1612;
          var _1637 = _li_min;
          FHEAP[_1637] = _1636;
          var _1638 = _li_min+4;
          FHEAP[_1638] = _1630;
          var _1639 = _li_min+8;
          FHEAP[_1639] = _1624;
          var _1640 = _li_min+12;
          FHEAP[_1640] = 0;
          var _1641 = _constraint+144+32;
          var _1642 = FHEAP[_1641];
          var _1643 = _1606 * _1642;
          var _1644 = _1643 + _1620;
          var _1645 = _1644 + _1622;
          var _1646 = _1645 + _1616;
          var _1647 = _1600 * _1642;
          var _1648 = _1647 + _1626;
          var _1649 = _1648 + _1628;
          var _1650 = _1649 + _1614;
          var _1651 = _1594 * _1642;
          var _1652 = _1651 + _1632;
          var _1653 = _1652 + _1634;
          var _1654 = _1653 + _1612;
          var _1655 = _li_max;
          FHEAP[_1655] = _1654;
          var _1656 = _li_max+4;
          FHEAP[_1656] = _1650;
          var _1657 = _li_max+8;
          FHEAP[_1657] = _1646;
          var _1658 = _li_max+12;
          FHEAP[_1658] = 0;
          var _1659 = IHEAP[_10];
          var _1660 = _1659+16;
          var _1661 = IHEAP[_1660];
          var _1662 = _1661;
          var _1663 = FUNCTION_TABLE[_1662](_14);
          var _1664 = _1663;
          var _1665 = IHEAP[_1664];
          var _1666 = _1665+8;
          var _1667 = IHEAP[_1666];
          var _1668 = _1;
          FHEAP[_1668] = 0;
          var _1669 = _1+4;
          FHEAP[_1669] = 0;
          var _1670 = _1+8;
          FHEAP[_1670] = 0;
          var _1671 = _1+12;
          FHEAP[_1671] = 0;
          var _1672 = _1667;
          FUNCTION_TABLE[_1672](_1663, _li_min, _li_max, _1);
          var _1673 = _normal117;
          FHEAP[_1673] = _1594;
          var _1674 = _normal117+4;
          FHEAP[_1674] = _1600;
          var _1675 = _normal117+8;
          FHEAP[_1675] = _1606;
          var _1676 = _normal117+12;
          FHEAP[_1676] = 0;
          var _1677 = _axis119;
          FHEAP[_1677] = _1596;
          var _1678 = _axis119+4;
          FHEAP[_1678] = _1602;
          var _1679 = _axis119+8;
          FHEAP[_1679] = _1608;
          var _1680 = _axis119+12;
          FHEAP[_1680] = 0;
          var _1681 = _constraint+180;
          var _1682 = _1681;
          var _1683 = FHEAP[_1682];
          var _1684 = _constraint+180+4;
          var _1685 = _1684;
          var _1686 = FHEAP[_1685];
          var _1687 = _1566;
          var _1688 = IHEAP[_10];
          var _1689 = _1688+16;
          var _1690 = IHEAP[_1689];
          var _1691 = _1690;
          var _1692 = FUNCTION_TABLE[_1691](_14);
          var _1693 = _1692;
          var _1694 = IHEAP[_1693];
          var _1695 = _1694+60;
          var _1696 = IHEAP[_1695];
          var _1697 = _0;
          FHEAP[_1697] = 0;
          var _1698 = _0+4;
          FHEAP[_1698] = 0;
          var _1699 = _0+8;
          FHEAP[_1699] = 0;
          var _1700 = _0+12;
          FHEAP[_1700] = 0;
          var _1701 = _1696;
          FUNCTION_TABLE[_1701](_1692, _1687, _normal117, _axis119, _39, _39, _1683, _1686, _0, 1, 10);
          STACKTOP = __stackBase__;
          return;
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN23btDiscreteDynamicsWorld19debugDrawConstraintEP17btTypedConstraint.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld19debugDrawConstraintEP17btTypedConstraint, "__ZN23btDiscreteDynamicsWorld19debugDrawConstraintEP17btTypedConstraint");
  
  
  function __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD1Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback+8;
    var _1 = _this+72+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$16938: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+72+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$16940: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$16940; } else { ; }
            var _eh_ptr19 = _llvm_eh_exception();
            var _eh_select21 = _llvm_eh_selector(_eh_ptr19, ___gxx_personality_v0, 0);
            var _31 = _this+52+12;
            var _32 = IHEAP[_31];
            var _33 = _32 == 0;
            ;
            if (!_33) {
              ;
              var _34 = _this+52+16;
              var _35 = IHEAP[_34];
              var _toBool_i_i_i43 = _35 == 0;
              ;
              _bb2_i_i_i46$_bb1_i_i_i45$16945: do { 
                if (!_toBool_i_i_i43) {
                  ;
                  var _36 = _32;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_36) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3931; /* _bb2_i_i_i46 */ break _bb2_i_i_i46$_bb1_i_i_i45$16945; } else { ; }
                  var _eh_ptr23 = _llvm_eh_exception();
                  var _eh_select25 = _llvm_eh_selector(_eh_ptr23, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_31] = 0;
              ;
            }
            var _37 = _this+52+16;
            IHEAP[_37] = 1;
            IHEAP[_31] = 0;
            var _38 = _this+52+4;
            IHEAP[_38] = 0;
            var _39 = _this+52+8;
            IHEAP[_39] = 0;
            __lastLabel__ = 3133; __label__ = 45; /* _ppad */ break _bb3$_bb_i_i_i$16938;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$16938;
      }
    } while(0);
    _bb3$_ppad$16951: do { 
      if (__label__ == 116) {
        var _7 = _this+72+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+72+4;
        IHEAP[_8] = 0;
        var _9 = _this+72+8;
        IHEAP[_9] = 0;
        var _10 = _this+52+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+52+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i34 = _14 == 0;
          ;
          _bb2_i_i_i37$_bb1_i_i_i36$16955: do { 
            if (!_toBool_i_i_i34) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3797; /* _bb2_i_i_i37 */ break _bb2_i_i_i37$_bb1_i_i_i36$16955; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select17 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad$16951;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _19 = _this+52+16;
        IHEAP[_19] = 1;
        IHEAP[_10] = 0;
        var _20 = _this+52+4;
        IHEAP[_20] = 0;
        var _21 = _this+52+8;
        IHEAP[_21] = 0;
        var _22 = _this+32+12;
        var _23 = IHEAP[_22];
        var _24 = _23 == 0;
        ;
        if (!_24) {
          ;
          var _25 = _this+32+16;
          var _26 = IHEAP[_25];
          var _toBool_i_i_i39 = _26 == 0;
          ;
          if (!_toBool_i_i_i39) {
            ;
            var _27 = _23;
            __Z21btAlignedFreeInternalPv(_27);
            ;
          }
          IHEAP[_22] = 0;
          ;
        }
        var _28 = _this+32+16;
        IHEAP[_28] = 1;
        IHEAP[_22] = 0;
        var _29 = _this+32+4;
        IHEAP[_29] = 0;
        var _30 = _this+32+8;
        IHEAP[_30] = 0;
        ;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr19);
    var _40 = _this+32+12;
    var _41 = IHEAP[_40];
    var _42 = _41 == 0;
    ;
    if (!_42) {
      ;
      var _43 = _this+32+16;
      var _44 = IHEAP[_43];
      var _toBool_i_i_i49 = _44 == 0;
      ;
      _bb2_i_i_i52$_bb1_i_i_i51$16969: do { 
        if (!_toBool_i_i_i49) {
          ;
          var _45 = _41;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_45) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3932; /* _bb2_i_i_i52 */ break _bb2_i_i_i52$_bb1_i_i_i51$16969; } else { ; }
          var _eh_ptr27 = _llvm_eh_exception();
          var _eh_select29 = _llvm_eh_selector(_eh_ptr27, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_40] = 0;
      ;
    }
    var _16 = _this+32+16;
    IHEAP[_16] = 1;
    IHEAP[_40] = 0;
    var _17 = _this+32+4;
    IHEAP[_17] = 0;
    var _18 = _this+32+8;
    IHEAP[_18] = 0;
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD1Ev.__index__ = Runtime.getFunctionIndex(__ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD1Ev, "__ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD1Ev");
  
  
  function __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback+8;
    var _1 = _this+72+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$16975: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+72+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$16977: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$16977; } else { ; }
            var _eh_ptr19 = _llvm_eh_exception();
            var _eh_select21 = _llvm_eh_selector(_eh_ptr19, ___gxx_personality_v0, 0);
            var _32 = _this+52+12;
            var _33 = IHEAP[_32];
            var _34 = _33 == 0;
            ;
            if (!_34) {
              ;
              var _35 = _this+52+16;
              var _36 = IHEAP[_35];
              var _toBool_i_i_i43 = _36 == 0;
              ;
              _bb2_i_i_i46$_bb1_i_i_i45$16982: do { 
                if (!_toBool_i_i_i43) {
                  ;
                  var _37 = _33;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_37) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3931; /* _bb2_i_i_i46 */ break _bb2_i_i_i46$_bb1_i_i_i45$16982; } else { ; }
                  var _eh_ptr23 = _llvm_eh_exception();
                  var _eh_select25 = _llvm_eh_selector(_eh_ptr23, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_32] = 0;
              ;
            }
            var _38 = _this+52+16;
            IHEAP[_38] = 1;
            IHEAP[_32] = 0;
            var _39 = _this+52+4;
            IHEAP[_39] = 0;
            var _40 = _this+52+8;
            IHEAP[_40] = 0;
            __lastLabel__ = 3133; __label__ = 45; /* _ppad */ break _bb3$_bb_i_i_i$16975;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$16975;
      }
    } while(0);
    _bb3$_ppad$16988: do { 
      if (__label__ == 116) {
        var _7 = _this+72+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+72+4;
        IHEAP[_8] = 0;
        var _9 = _this+72+8;
        IHEAP[_9] = 0;
        var _10 = _this+52+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+52+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i34 = _14 == 0;
          ;
          _bb2_i_i_i37$_bb1_i_i_i36$16992: do { 
            if (!_toBool_i_i_i34) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3797; /* _bb2_i_i_i37 */ break _bb2_i_i_i37$_bb1_i_i_i36$16992; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select17 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad$16988;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _19 = _this+52+16;
        IHEAP[_19] = 1;
        IHEAP[_10] = 0;
        var _20 = _this+52+4;
        IHEAP[_20] = 0;
        var _21 = _this+52+8;
        IHEAP[_21] = 0;
        var _22 = _this+32+12;
        var _23 = IHEAP[_22];
        var _24 = _23 == 0;
        ;
        if (!_24) {
          ;
          var _25 = _this+32+16;
          var _26 = IHEAP[_25];
          var _toBool_i_i_i39 = _26 == 0;
          ;
          if (!_toBool_i_i_i39) {
            ;
            var _27 = _23;
            __Z21btAlignedFreeInternalPv(_27);
            ;
          }
          IHEAP[_22] = 0;
          ;
        }
        var _28 = _this+32+16;
        IHEAP[_28] = 1;
        IHEAP[_22] = 0;
        var _29 = _this+32+4;
        IHEAP[_29] = 0;
        var _30 = _this+32+8;
        IHEAP[_30] = 0;
        var _31 = _this;
        __ZdlPv(_31);
        ;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr19);
    var _41 = _this+32+12;
    var _42 = IHEAP[_41];
    var _43 = _42 == 0;
    ;
    if (!_43) {
      ;
      var _44 = _this+32+16;
      var _45 = IHEAP[_44];
      var _toBool_i_i_i49 = _45 == 0;
      ;
      _bb2_i_i_i52$_bb1_i_i_i51$17006: do { 
        if (!_toBool_i_i_i49) {
          ;
          var _46 = _42;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_46) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3932; /* _bb2_i_i_i52 */ break _bb2_i_i_i52$_bb1_i_i_i51$17006; } else { ; }
          var _eh_ptr27 = _llvm_eh_exception();
          var _eh_select29 = _llvm_eh_selector(_eh_ptr27, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_41] = 0;
      ;
    }
    var _16 = _this+32+16;
    IHEAP[_16] = 1;
    IHEAP[_41] = 0;
    var _17 = _this+32+4;
    IHEAP[_17] = 0;
    var _18 = _this+32+8;
    IHEAP[_18] = 0;
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD0Ev.__index__ = Runtime.getFunctionIndex(__ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD0Ev, "__ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD0Ev");
  
  
  function __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback13ProcessIslandEPP17btCollisionObjectiPP20btPersistentManifoldii(_this, _bodies, _numBodies, _manifolds, _numManifolds, _islandId) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _islandId < 0;
    var _1 = _this+16;
    var _2 = IHEAP[_1];
    ;
    _bb$_bb6_preheader$17012: do { 
      if (_0) {
        ;
        var _4 = 0 - _numManifolds;
        var _5 = _2 == _4;
        if (_5) { __label__ = 44; /* _return */ break _bb$_bb6_preheader$17012; }
        var _6 = _this+8;
        var _7 = IHEAP[_6];
        var _8 = _7;
        var _9 = IHEAP[_8];
        var _10 = _9+12;
        var _11 = IHEAP[_10];
        var _12 = _this+28;
        var _13 = IHEAP[_12];
        var _14 = _this+24;
        var _15 = IHEAP[_14];
        var _16 = _this+20;
        var _17 = IHEAP[_16];
        var _18 = _this+4;
        var _19 = IHEAP[_18];
        var _20 = _this+12;
        var _21 = IHEAP[_20];
        var _22 = _11;
        var _23 = FUNCTION_TABLE[_22](_7, _bodies, _numBodies, _manifolds, _numManifolds, _21, _2, _19, _17, _15, _13);
        ;
        return;
      }
      else {
        ;
        var _3 = _this+12;
        __lastLabel__ = 1257; ;
        _bb6$17016: while(1) { // _bb6
          var _38 = __lastLabel__ == 82 ? _37 : (0);
          var _39 = _2 > _38;
          if (_39) { __lastLabel__ = 83; ; } else { __lastLabel__ = 83; __label__ = 3; /* _bb12 */ break _bb6$17016; }
          var _24 = IHEAP[_3];
          var _scevgep53 = _24+4*_38;
          var _25 = IHEAP[_scevgep53];
          var _26 = _25+20;
          var _27 = IHEAP[_26];
          var _28 = _27+208;
          var _29 = IHEAP[_28];
          var _30 = _29 > -1;
          ;
          if (_30) {
            __lastLabel__ = 116; ;
          }
          else {
            __lastLabel__ = 116; ;
            var _31 = _25+24;
            var _32 = IHEAP[_31];
            var _33 = _32+208;
            var _34 = IHEAP[_33];
            __lastLabel__ = 159; ;
          }
          var _35 = __lastLabel__ == 159 ? _34 : (_29);
          var _36 = _35 == _islandId;
          if (_36) { __label__ = 1825; /* _bb_nph38 */ break _bb6$17016; }
          var _37 = _38 + 1;
          __lastLabel__ = 82; __label__ = 83; /* _bb6 */ continue _bb6$17016;
        }
        _bb12$_bb_nph38$17023: do { 
          if (__label__ == 1825) {
            var _40 = IHEAP[_3];
            var _tmp = _38 + 1;
            var _tmp45 = _2 > _tmp;
            var _smax = _tmp45 ? _2 : _tmp;
            var _tmp47 = _smax - _38;
            __lastLabel__ = 1825; ;
            _bb7$17025: while(1) { // _bb7
              var _indvar = __lastLabel__ == 1825 ? 0 : (_indvar_next);
              var _numCurConstraints_136 = __lastLabel__ == 1825 ? 0 : (__numCurConstraints_1);
              var _tmp49 = _38 + _indvar;
              var _scevgep50 = _40+4*_tmp49;
              var _41 = IHEAP[_scevgep50];
              var _42 = _41+20;
              var _43 = IHEAP[_42];
              var _44 = _43+208;
              var _45 = IHEAP[_44];
              var _46 = _45 > -1;
              ;
              if (_46) {
                __lastLabel__ = 2; ;
              }
              else {
                __lastLabel__ = 2; ;
                var _47 = _41+24;
                var _48 = IHEAP[_47];
                var _49 = _48+208;
                var _50 = IHEAP[_49];
                __lastLabel__ = 2615; ;
              }
              var _51 = __lastLabel__ == 2615 ? _50 : (_45);
              var _52 = _51 == _islandId;
              var _53 = _52;
              var __numCurConstraints_1 = _53 + _numCurConstraints_136;
              var _indvar_next = _indvar + 1;
              var _exitcond48 = _indvar_next == _tmp47;
              if (_exitcond48) { __lastLabel__ = 3142; __label__ = 3; /* _bb12 */ break _bb12$_bb_nph38$17023; } else { __lastLabel__ = 3142; __label__ = 2; /* _bb7 */ continue _bb7$17025; }
            }
          }
        } while(0);
        var _startConstraint_0_ph54 = __lastLabel__ == 3142 ? _scevgep53 : (0);
        var _numCurConstraints_1_lcssa = __lastLabel__ == 3142 ? __numCurConstraints_1 : (0);
        var _54 = _this+4;
        var _55 = IHEAP[_54];
        var _56 = _55+68;
        var _57 = IHEAP[_56];
        var _58 = _57 < 2;
        ;
        if (_58) {
          ;
          var _60 = 0 - _numManifolds;
          var _61 = _numCurConstraints_1_lcssa == _60;
          if (_61) { __label__ = 44; /* _return */ break _bb$_bb6_preheader$17012; }
          var _62 = _this+8;
          var _63 = IHEAP[_62];
          var _64 = _63;
          var _65 = IHEAP[_64];
          var _66 = _65+12;
          var _67 = IHEAP[_66];
          var _68 = _this+28;
          var _69 = IHEAP[_68];
          var _70 = _this+24;
          var _71 = IHEAP[_70];
          var _72 = _this+20;
          var _73 = IHEAP[_72];
          var _74 = _67;
          var _75 = FUNCTION_TABLE[_74](_63, _bodies, _numBodies, _manifolds, _numManifolds, _startConstraint_0_ph54, _numCurConstraints_1_lcssa, _55, _73, _71, _69);
          ;
          return;
        }
        else {
          ;
          var _59 = _numBodies > 0;
          ;
          _bb_nph35$_bb20_preheader$17035: do { 
            if (_59) {
              ;
              var _76 = _this+32;
              __lastLabel__ = 1001; ;
              _bb16$17037: while(1) { // _bb16
                var _i_234 = __lastLabel__ == 1001 ? 0 : (_77);
                var _scevgep44 = _bodies+4*_i_234;
                __ZN20btAlignedObjectArrayIP17btCollisionObjectE9push_backERKS1_(_76, _scevgep44);
                var _77 = _i_234 + 1;
                var _exitcond43 = _77 == _numBodies;
                if (_exitcond43) { __lastLabel__ = 154; __label__ = 3143; /* _bb20_preheader */ break _bb_nph35$_bb20_preheader$17035; } else { __lastLabel__ = 154; __label__ = 154; /* _bb16 */ continue _bb16$17037; }
              }
            }
          } while(0);
          var _78 = _numManifolds > 0;
          ;
          _bb_nph33$_bb23_preheader$17040: do { 
            if (_78) {
              ;
              var _79 = _this+52;
              __lastLabel__ = 3144; ;
              _bb19$17042: while(1) { // _bb19
                var _i_332 = __lastLabel__ == 3144 ? 0 : (_80);
                var _scevgep42 = _manifolds+4*_i_332;
                __ZN20btAlignedObjectArrayIP20btPersistentManifoldE9push_backERKS1_(_79, _scevgep42);
                var _80 = _i_332 + 1;
                var _exitcond41 = _80 == _numManifolds;
                if (_exitcond41) { __lastLabel__ = 64; __label__ = 3145; /* _bb23_preheader */ break _bb_nph33$_bb23_preheader$17040; } else { __lastLabel__ = 64; __label__ = 64; /* _bb19 */ continue _bb19$17042; }
              }
            }
          } while(0);
          var _81 = _numCurConstraints_1_lcssa > 0;
          ;
          _bb_nph$_bb24$17045: do { 
            if (_81) {
              ;
              var _82 = _this+72;
              __lastLabel__ = 130; ;
              _bb22$17047: while(1) { // _bb22
                var _i_431 = __lastLabel__ == 130 ? 0 : (_83);
                var _scevgep = _startConstraint_0_ph54+4*_i_431;
                __ZN20btAlignedObjectArrayIP17btTypedConstraintE9push_backERKS1_(_82, _scevgep);
                var _83 = _i_431 + 1;
                var _exitcond = _83 == _numCurConstraints_1_lcssa;
                if (_exitcond) { __lastLabel__ = 5; __label__ = 65; /* _bb24 */ break _bb_nph$_bb24$17045; } else { __lastLabel__ = 5; __label__ = 5; /* _bb22 */ continue _bb22$17047; }
              }
            }
          } while(0);
          var _84 = _this+72+4;
          var _85 = IHEAP[_84];
          var _86 = _this+52+4;
          var _87 = IHEAP[_86];
          var _88 = _87 + _85;
          var _89 = IHEAP[_54];
          var _90 = _89+68;
          var _91 = IHEAP[_90];
          var _92 = _88 > _91;
          if (!(_92)) { __label__ = 44; /* _return */ break _bb$_bb6_preheader$17012; }
          __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback18processConstraintsEv(_this);
          ;
          return;
        }
      }
    } while(0);
    ;
    return;
  }
  __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback13ProcessIslandEPP17btCollisionObjectiPP20btPersistentManifoldii.__index__ = Runtime.getFunctionIndex(__ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback13ProcessIslandEPP17btCollisionObjectiPP20btPersistentManifoldii, "__ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback13ProcessIslandEPP17btCollisionObjectiPP20btPersistentManifoldii");
  
  
  function __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTVZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback+8;
    var _1 = _this+72+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$17053: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+72+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$17055: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$17055; } else { ; }
            var _eh_ptr19 = _llvm_eh_exception();
            var _eh_select21 = _llvm_eh_selector(_eh_ptr19, ___gxx_personality_v0, 0);
            var _31 = _this+52+12;
            var _32 = IHEAP[_31];
            var _33 = _32 == 0;
            ;
            if (!_33) {
              ;
              var _34 = _this+52+16;
              var _35 = IHEAP[_34];
              var _toBool_i_i_i43 = _35 == 0;
              ;
              _bb2_i_i_i46$_bb1_i_i_i45$17060: do { 
                if (!_toBool_i_i_i43) {
                  ;
                  var _36 = _32;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_36) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3931; /* _bb2_i_i_i46 */ break _bb2_i_i_i46$_bb1_i_i_i45$17060; } else { ; }
                  var _eh_ptr23 = _llvm_eh_exception();
                  var _eh_select25 = _llvm_eh_selector(_eh_ptr23, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_31] = 0;
              ;
            }
            var _37 = _this+52+16;
            IHEAP[_37] = 1;
            IHEAP[_31] = 0;
            var _38 = _this+52+4;
            IHEAP[_38] = 0;
            var _39 = _this+52+8;
            IHEAP[_39] = 0;
            __lastLabel__ = 3133; __label__ = 45; /* _ppad */ break _bb3$_bb_i_i_i$17053;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$17053;
      }
    } while(0);
    _bb3$_ppad$17066: do { 
      if (__label__ == 116) {
        var _7 = _this+72+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+72+4;
        IHEAP[_8] = 0;
        var _9 = _this+72+8;
        IHEAP[_9] = 0;
        var _10 = _this+52+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+52+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i34 = _14 == 0;
          ;
          _bb2_i_i_i37$_bb1_i_i_i36$17070: do { 
            if (!_toBool_i_i_i34) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3797; /* _bb2_i_i_i37 */ break _bb2_i_i_i37$_bb1_i_i_i36$17070; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select17 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad$17066;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _19 = _this+52+16;
        IHEAP[_19] = 1;
        IHEAP[_10] = 0;
        var _20 = _this+52+4;
        IHEAP[_20] = 0;
        var _21 = _this+52+8;
        IHEAP[_21] = 0;
        var _22 = _this+32+12;
        var _23 = IHEAP[_22];
        var _24 = _23 == 0;
        ;
        if (!_24) {
          ;
          var _25 = _this+32+16;
          var _26 = IHEAP[_25];
          var _toBool_i_i_i39 = _26 == 0;
          ;
          if (!_toBool_i_i_i39) {
            ;
            var _27 = _23;
            __Z21btAlignedFreeInternalPv(_27);
            ;
          }
          IHEAP[_22] = 0;
          ;
        }
        var _28 = _this+32+16;
        IHEAP[_28] = 1;
        IHEAP[_22] = 0;
        var _29 = _this+32+4;
        IHEAP[_29] = 0;
        var _30 = _this+32+8;
        IHEAP[_30] = 0;
        ;
        return;
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr19);
    var _40 = _this+32+12;
    var _41 = IHEAP[_40];
    var _42 = _41 == 0;
    ;
    if (!_42) {
      ;
      var _43 = _this+32+16;
      var _44 = IHEAP[_43];
      var _toBool_i_i_i49 = _44 == 0;
      ;
      _bb2_i_i_i52$_bb1_i_i_i51$17084: do { 
        if (!_toBool_i_i_i49) {
          ;
          var _45 = _41;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_45) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3932; /* _bb2_i_i_i52 */ break _bb2_i_i_i52$_bb1_i_i_i51$17084; } else { ; }
          var _eh_ptr27 = _llvm_eh_exception();
          var _eh_select29 = _llvm_eh_selector(_eh_ptr27, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_40] = 0;
      ;
    }
    var _16 = _this+32+16;
    IHEAP[_16] = 1;
    IHEAP[_40] = 0;
    var _17 = _this+32+4;
    IHEAP[_17] = 0;
    var _18 = _this+32+8;
    IHEAP[_18] = 0;
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD2Ev.__index__ = Runtime.getFunctionIndex(__ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD2Ev, "__ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD2Ev");
  
  
  function __ZN23btDiscreteDynamicsWorld25predictUnconstraintMotionEf(_this, _timeStep) {
    ;
    var __label__;
    var __lastLabel__ = null;
    __ZN15CProfileManager13Start_ProfileEPKc(__str20);
    var _0 = _this+204+4;
    var _1 = _this+204+12;
    __lastLabel__ = -1; ;
    _bb7$17090: while(1) { // _bb7
      var _10 = __lastLabel__ == -1 ? 0 : (_9);
      var _11 = IHEAP[_0];
      var _12 = _11 > _10;
      if (!(_12)) { __label__ = 3; /* _bb12 */ break _bb7$17090; }
      var _2 = IHEAP[_1];
      var _scevgep = _2+4*_10;
      var _3 = IHEAP[_scevgep];
      var _4 = _3+204;
      var _5 = IHEAP[_4];
      var _6 = _5 & 3;
      var _7 = _6 == 0;
      ;
      if (_7) {
        ;
        (function() { try { __THREW__ = false; return __ZN11btRigidBody19integrateVelocitiesEf(_3, _timeStep) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb7$17090; }
        (function() { try { __THREW__ = false; return __ZN11btRigidBody12applyDampingEf(_3, _timeStep) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb7$17090; }
        var _8 = _3+68;
        (function() { try { __THREW__ = false; return __ZN11btRigidBody26predictIntegratedTransformEfR11btTransform(_3, _timeStep, _8) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb7$17090; }
      }
      var _9 = _10 + 1;
      __lastLabel__ = 83; __label__ = 2; /* _bb7 */ continue _bb7$17090;
    }
    if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select14 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2405; /* _invcont10 */  } else { __label__ = 3852; /* _lpad15 */  }
      if (__label__ == 2405) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3852) {
        var _eh_ptr16 = _llvm_eh_exception();
        var _eh_select18 = _llvm_eh_selector(_eh_ptr16, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
    else if (__label__ == 3) {
      __ZN15CProfileManager12Stop_ProfileEv();
      ;
      return;
    }
  }
  __ZN23btDiscreteDynamicsWorld25predictUnconstraintMotionEf.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld25predictUnconstraintMotionEf, "__ZN23btDiscreteDynamicsWorld25predictUnconstraintMotionEf");
  
  
  function __ZN23btDiscreteDynamicsWorld26calculateSimulationIslandsEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    __ZN15CProfileManager13Start_ProfileEPKc(__str121);
    var _0 = _this+180;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = IHEAP[_2];
    var _4 = _3+8;
    var _5 = IHEAP[_4];
    var _6 = _this+24;
    var _7 = IHEAP[_6];
    var _8 = _this;
    var _9 = _5;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_9](_1, _8, _7) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    _invcont$_lpad$17105: do { 
      if (__label__ == 345) {
        var _10 = _this+184+4;
        var _11 = IHEAP[_10];
        var _12 = _11 > 0;
        ;
        _bb_nph$_bb33$17107: do { 
          if (_12) {
            ;
            var _13 = _this+184+12;
            __lastLabel__ = 130; ;
            _bb$17109: while(1) { // _bb
              var _i_059 = __lastLabel__ == 130 ? 0 : (_77);
              var _14 = IHEAP[_13];
              var _scevgep = _14+4*_i_059;
              var _15 = IHEAP[_scevgep];
              var _16 = _15+20;
              var _17 = IHEAP[_16];
              var _18 = _15+24;
              var _19 = IHEAP[_18];
              var _20 = _17 == 0;
              ;
              _bb31$_bb1$17111: do { 
                if (!_20) {
                  ;
                  var _21 = _17+204;
                  var _22 = IHEAP[_21];
                  var _23 = _22 & 3;
                  var _24 = _23 != 0;
                  var _25 = _19 == 0;
                  var _or_cond = _24 | _25;
                  if (_or_cond) { __label__ = 89; /* _bb31 */ break _bb31$_bb1$17111; }
                  var _26 = _19+204;
                  var _27 = IHEAP[_26];
                  var _28 = _27 & 3;
                  var _29 = _28 == 0;
                  if (!(_29)) { __label__ = 89; /* _bb31 */ break _bb31$_bb1$17111; }
                  var _30 = _17+216;
                  var _31 = IHEAP[_30];
                  if (_31 == 2) {
                    __label__ = 419; /* _bb23 */ 
                  }
                  else if (_31 == 5) {
                    __label__ = 419; /* _bb23 */ 
                  }
                  else {
                  __label__ = 6; /* _bb29 */ 
                  }
                  
                  if (__label__ == 419) {
                    var _32 = _19+216;
                    var _33 = IHEAP[_32];
                    if (_33 == 2) {
                      __label__ = 89; /* _bb31 */ break _bb31$_bb1$17111;
                    }
                    else if (_33 == 5) {
                      __label__ = 89; /* _bb31 */ break _bb31$_bb1$17111;
                    }
                    else {
                    ;
                    }
                    
                  }
                  var _34 = _19+208;
                  var _35 = IHEAP[_34];
                  var _36 = _17+208;
                  var _37 = IHEAP[_36];
                  var _38 = IHEAP[_0];
                  var _39 = _38+4+12;
                  var _40 = IHEAP[_39];
                  var _41 = _40+8*_37;
                  var _42 = IHEAP[_41];
                  var _43 = _42 == _37;
                  if (_43) { __lastLabel__ = 6; __label__ = 1527; /* __ZN11btUnionFind4findEi_exit_i */  } else { __lastLabel__ = 6; __label__ = 263; /* _bb_i_i */  }
                  __ZN11btUnionFind4findEi_exit_i$_bb_i_i$17118: while(1) { // __ZN11btUnionFind4findEi_exit_i,_bb_i_i
                    if (__label__ == 1527) {
                      var _54 = __lastLabel__ == 6 ? _40 : (_50);
                      var _x_addr_0_lcssa_i_i = __lastLabel__ == 6 ? _37 : (_49);
                      var _55 = _54+8*_35;
                      var _56 = IHEAP[_55];
                      var _57 = _56 == _35;
                      if (_57) { __lastLabel__ = 1527; __label__ = 1528; /* __ZN11btUnionFind4findEi_exit5_i */ break __ZN11btUnionFind4findEi_exit_i$_bb_i_i$17118; } else { __lastLabel__ = 1527; __label__ = 1529; /* _bb_i3_i */ break __ZN11btUnionFind4findEi_exit_i$_bb_i_i$17118; }
                    }
                    else if (__label__ == 263) {
                      var _44 = __lastLabel__ == 263 ? _52 : (_42);
                      var _45 = __lastLabel__ == 263 ? _50 : (_40);
                      var _x_addr_04_i_i = __lastLabel__ == 263 ? _49 : (_37);
                      var _46 = _45+8*_x_addr_04_i_i;
                      var _47 = _45+8*_44;
                      var _48 = IHEAP[_47];
                      IHEAP[_46] = _48;
                      var _49 = IHEAP[_47];
                      var _50 = IHEAP[_39];
                      var _51 = _50+8*_49;
                      var _52 = IHEAP[_51];
                      var _53 = _52 == _49;
                      if (_53) { __lastLabel__ = 263; __label__ = 1527; /* __ZN11btUnionFind4findEi_exit_i */ continue __ZN11btUnionFind4findEi_exit_i$_bb_i_i$17118; } else { __lastLabel__ = 263; __label__ = 263; /* _bb_i_i */ continue __ZN11btUnionFind4findEi_exit_i$_bb_i_i$17118; }
                    }
                  }
                  __ZN11btUnionFind4findEi_exit5_i$_bb_i3_i$17122: while(1) { // __ZN11btUnionFind4findEi_exit5_i,_bb_i3_i
                    if (__label__ == 1528) {
                      var _68 = __lastLabel__ == 1527 ? _54 : (_64);
                      var _x_addr_0_lcssa_i4_i = __lastLabel__ == 1527 ? _35 : (_63);
                      var _69 = _x_addr_0_lcssa_i_i == _x_addr_0_lcssa_i4_i;
                      if (_69) { __label__ = 89; /* _bb31 */ break _bb31$_bb1$17111; } else { __label__ = 131; /* _bb_i */ break __ZN11btUnionFind4findEi_exit5_i$_bb_i3_i$17122; }
                    }
                    else if (__label__ == 1529) {
                      var _58 = __lastLabel__ == 1529 ? _66 : (_56);
                      var _59 = __lastLabel__ == 1529 ? _64 : (_54);
                      var _x_addr_04_i2_i = __lastLabel__ == 1529 ? _63 : (_35);
                      var _60 = _59+8*_x_addr_04_i2_i;
                      var _61 = _59+8*_58;
                      var _62 = IHEAP[_61];
                      IHEAP[_60] = _62;
                      var _63 = IHEAP[_61];
                      var _64 = IHEAP[_39];
                      var _65 = _64+8*_63;
                      var _66 = IHEAP[_65];
                      var _67 = _66 == _63;
                      if (_67) { __lastLabel__ = 1529; __label__ = 1528; /* __ZN11btUnionFind4findEi_exit5_i */ continue __ZN11btUnionFind4findEi_exit5_i$_bb_i3_i$17122; } else { __lastLabel__ = 1529; __label__ = 1529; /* _bb_i3_i */ continue __ZN11btUnionFind4findEi_exit5_i$_bb_i3_i$17122; }
                    }
                  }
                  var _70 = _68+8*_x_addr_0_lcssa_i_i;
                  IHEAP[_70] = _x_addr_0_lcssa_i4_i;
                  var _71 = IHEAP[_39];
                  var _72 = _71+8*_x_addr_0_lcssa_i4_i+4;
                  var _73 = IHEAP[_72];
                  var _74 = _71+8*_x_addr_0_lcssa_i_i+4;
                  var _75 = IHEAP[_74];
                  var _76 = _75 + _73;
                  IHEAP[_72] = _76;
                  ;
                }
              } while(0);
              var _77 = _i_059 + 1;
              var _exitcond = _77 == _11;
              if (_exitcond) { __lastLabel__ = 89; __label__ = 422; /* _bb33 */ break _bb_nph$_bb33$17107; } else { __lastLabel__ = 89; __label__ = 60; /* _bb */ continue _bb$17109; }
            }
          }
        } while(0);
        var _78 = IHEAP[_0];
        var _79 = _78;
        var _80 = IHEAP[_79];
        var _81 = _80+12;
        var _82 = IHEAP[_81];
        var _83 = _82;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_83](_78, _8) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17105; }
        __ZN15CProfileManager12Stop_ProfileEv();
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select40 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3724; /* _invcont36 */  } else { __label__ = 3339; /* _lpad41 */  }
    if (__label__ == 3724) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 3339) {
      var _eh_ptr42 = _llvm_eh_exception();
      var _eh_select44 = _llvm_eh_selector(_eh_ptr42, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN23btDiscreteDynamicsWorld26calculateSimulationIslandsEv.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld26calculateSimulationIslandsEv, "__ZN23btDiscreteDynamicsWorld26calculateSimulationIslandsEv");
  
  
  function __ZN23btDiscreteDynamicsWorld13updateActionsEf(_this, _timeStep) {
    ;
    var __label__;
    var __lastLabel__ = null;
    __ZN15CProfileManager13Start_ProfileEPKc(__str222);
    var _0 = _this+248+4;
    var _1 = _this+248+12;
    var _2 = _this;
    __lastLabel__ = -1; ;
    _bb1$17135: while(1) { // _bb1
      var _11 = __lastLabel__ == -1 ? 0 : (_10);
      var _12 = IHEAP[_0];
      var _13 = _12 > _11;
      if (!(_13)) { __label__ = 82; /* _bb5 */ break _bb1$17135; }
      var _3 = IHEAP[_1];
      var _scevgep = _3+4*_11;
      var _4 = IHEAP[_scevgep];
      var _5 = _4;
      var _6 = IHEAP[_5];
      var _7 = _6+8;
      var _8 = IHEAP[_7];
      var _9 = _8;
      (function() { try { __THREW__ = false; return FUNCTION_TABLE[_9](_4, _2, _timeStep) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb1$17135; }
      var _10 = _11 + 1;
      __lastLabel__ = 345; __label__ = 75; /* _bb1 */ continue _bb1$17135;
    }
    if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select7 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 759; /* _invcont3 */  } else { __label__ = 4006; /* _lpad8 */  }
      if (__label__ == 759) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 4006) {
        var _eh_ptr9 = _llvm_eh_exception();
        var _eh_select11 = _llvm_eh_selector(_eh_ptr9, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
    else if (__label__ == 82) {
      __ZN15CProfileManager12Stop_ProfileEv();
      ;
      return;
    }
  }
  __ZN23btDiscreteDynamicsWorld13updateActionsEf.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld13updateActionsEf, "__ZN23btDiscreteDynamicsWorld13updateActionsEf");
  
  
  function __ZN20btAlignedObjectArrayIP17btTypedConstraintE9push_backERKS1_(_this, __Val) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _this+8;
    var _3 = IHEAP[_2];
    var _4 = _3 == _1;
    ;
    _bb$_bb1$17146: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 == 0;
        var _6 = _1 << 1;
        var _iftmp_528_0_i = _5 ? 1 : _6;
        var _7 = _3 < _iftmp_528_0_i;
        if (_7) { __lastLabel__ = 60; ; } else { __lastLabel__ = 60; __label__ = 75; /* _bb1 */ break _bb$_bb1$17146; }
        var _8 = _iftmp_528_0_i == 0;
        ;
        if (_8) {
          __lastLabel__ = 131; ;
        }
        else {
          __lastLabel__ = 131; ;
          var _9 = _iftmp_528_0_i << 2;
          var _10 = __Z22btAlignedAllocInternalji(_9, 16);
          var _phitmp_i = _10;
          var __pre = IHEAP[_0];
          __lastLabel__ = 215; ;
        }
        var _11 = __lastLabel__ == 215 ? __pre : (_1);
        var _12 = __lastLabel__ == 215 ? _phitmp_i : (0);
        var _13 = _11 > 0;
        ;
        _bb_nph_i_i$__ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i$17152: do { 
          if (_13) {
            ;
            var _14 = _this+12;
            __lastLabel__ = 217; ;
            _bb_i4_i$17154: while(1) { // _bb_i4_i
              var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
              var _scevgep_i_i = _12+4*_indvar_i_i;
              var _15 = _scevgep_i_i == 0;
              ;
              if (!_15) {
                ;
                var _16 = IHEAP[_14];
                var _scevgep8_i_i = _16+4*_indvar_i_i;
                var _17 = IHEAP[_scevgep8_i_i];
                IHEAP[_scevgep_i_i] = _17;
                ;
              }
              var _indvar_next_i_i = _indvar_i_i + 1;
              var _exitcond = _indvar_next_i_i == _11;
              if (_exitcond) { __lastLabel__ = 324; __label__ = 3154; /* __ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i$17152; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$17154; }
            }
          }
        } while(0);
        var _18 = _this+12;
        var _19 = IHEAP[_18];
        var _20 = _19 == 0;
        ;
        if (!_20) {
          ;
          var _21 = _this+16;
          var _22 = IHEAP[_21];
          var _toBool_i_i = _22 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _23 = _19;
            __Z21btAlignedFreeInternalPv(_23);
            ;
          }
          IHEAP[_18] = 0;
          ;
        }
        var _24 = _this+16;
        IHEAP[_24] = 1;
        IHEAP[_18] = _12;
        IHEAP[_2] = _iftmp_528_0_i;
        var __pre5 = IHEAP[_0];
        __lastLabel__ = 3157; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _25 = __lastLabel__ == 3157 ? __pre5 : (__lastLabel__ == -1 ? _1 : (_1));
    var _26 = _this+12;
    var _27 = IHEAP[_26];
    var _28 = _27+4*_25;
    var _29 = _28 == 0;
    ;
    if (_29) {
      __lastLabel__ = 75; ;
    }
    else {
      __lastLabel__ = 75; ;
      var _30 = IHEAP[__Val];
      IHEAP[_28] = _30;
      var __pre6 = IHEAP[_0];
      __lastLabel__ = 0; ;
    }
    var _31 = __lastLabel__ == 75 ? _25 : (__pre6);
    var _32 = _31 + 1;
    IHEAP[_0] = _32;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIP17btTypedConstraintE9push_backERKS1_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIP17btTypedConstraintE9push_backERKS1_, "__ZN20btAlignedObjectArrayIP17btTypedConstraintE9push_backERKS1_");
  
  
  function __ZN20btAlignedObjectArrayIP17btCollisionObjectE9push_backERKS1_(_this, __Val) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _this+8;
    var _3 = IHEAP[_2];
    var _4 = _3 == _1;
    ;
    _bb$_bb1$17171: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 == 0;
        var _6 = _1 << 1;
        var _iftmp_472_0_i = _5 ? 1 : _6;
        var _7 = _3 < _iftmp_472_0_i;
        if (_7) { __lastLabel__ = 60; ; } else { __lastLabel__ = 60; __label__ = 75; /* _bb1 */ break _bb$_bb1$17171; }
        var _8 = _iftmp_472_0_i == 0;
        ;
        if (_8) {
          __lastLabel__ = 131; ;
        }
        else {
          __lastLabel__ = 131; ;
          var _9 = _iftmp_472_0_i << 2;
          var _10 = __Z22btAlignedAllocInternalji(_9, 16);
          var _phitmp_i = _10;
          var __pre = IHEAP[_0];
          __lastLabel__ = 215; ;
        }
        var _11 = __lastLabel__ == 215 ? __pre : (_1);
        var _12 = __lastLabel__ == 215 ? _phitmp_i : (0);
        var _13 = _11 > 0;
        ;
        _bb_nph_i_i$__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i$17177: do { 
          if (_13) {
            ;
            var _14 = _this+12;
            __lastLabel__ = 217; ;
            _bb_i4_i$17179: while(1) { // _bb_i4_i
              var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
              var _scevgep_i_i = _12+4*_indvar_i_i;
              var _15 = _scevgep_i_i == 0;
              ;
              if (!_15) {
                ;
                var _16 = IHEAP[_14];
                var _scevgep8_i_i = _16+4*_indvar_i_i;
                var _17 = IHEAP[_scevgep8_i_i];
                IHEAP[_scevgep_i_i] = _17;
                ;
              }
              var _indvar_next_i_i = _indvar_i_i + 1;
              var _exitcond = _indvar_next_i_i == _11;
              if (_exitcond) { __lastLabel__ = 324; __label__ = 3162; /* __ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayIP17btCollisionObjectE4copyEiiPS1__exit_i$17177; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$17179; }
            }
          }
        } while(0);
        var _18 = _this+12;
        var _19 = IHEAP[_18];
        var _20 = _19 == 0;
        ;
        if (!_20) {
          ;
          var _21 = _this+16;
          var _22 = IHEAP[_21];
          var _toBool_i_i = _22 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _23 = _19;
            __Z21btAlignedFreeInternalPv(_23);
            ;
          }
          IHEAP[_18] = 0;
          ;
        }
        var _24 = _this+16;
        IHEAP[_24] = 1;
        IHEAP[_18] = _12;
        IHEAP[_2] = _iftmp_472_0_i;
        var __pre5 = IHEAP[_0];
        __lastLabel__ = 3165; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _25 = __lastLabel__ == 3165 ? __pre5 : (__lastLabel__ == -1 ? _1 : (_1));
    var _26 = _this+12;
    var _27 = IHEAP[_26];
    var _28 = _27+4*_25;
    var _29 = _28 == 0;
    ;
    if (_29) {
      __lastLabel__ = 75; ;
    }
    else {
      __lastLabel__ = 75; ;
      var _30 = IHEAP[__Val];
      IHEAP[_28] = _30;
      var __pre6 = IHEAP[_0];
      __lastLabel__ = 0; ;
    }
    var _31 = __lastLabel__ == 75 ? _25 : (__pre6);
    var _32 = _31 + 1;
    IHEAP[_0] = _32;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIP17btCollisionObjectE9push_backERKS1_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIP17btCollisionObjectE9push_backERKS1_, "__ZN20btAlignedObjectArrayIP17btCollisionObjectE9push_backERKS1_");
  
  
  function __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback18processConstraintsEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+52+4;
    var _1 = IHEAP[_0];
    var _2 = _this+72+4;
    var _3 = IHEAP[_2];
    var _4 = _3 + _1;
    var _5 = _4 > 0;
    ;
    if (_5) {
      ;
      var _6 = _this+8;
      var _7 = IHEAP[_6];
      var _8 = _7;
      var _9 = IHEAP[_8];
      var _10 = _9+12;
      var _11 = IHEAP[_10];
      var _12 = _this+28;
      var _13 = IHEAP[_12];
      var _14 = _this+24;
      var _15 = IHEAP[_14];
      var _16 = _this+20;
      var _17 = IHEAP[_16];
      var _18 = _this+4;
      var _19 = IHEAP[_18];
      var _20 = _this+72+12;
      var _21 = IHEAP[_20];
      var _22 = _this+52+12;
      var _23 = IHEAP[_22];
      var _24 = _this+32+4;
      var _25 = IHEAP[_24];
      var _26 = _this+32+12;
      var _27 = IHEAP[_26];
      var _28 = _11;
      var _29 = FUNCTION_TABLE[_28](_7, _27, _25, _23, _1, _21, _3, _19, _17, _15, _13);
      ;
    }
    var _30 = _this+32+4;
    var _31 = IHEAP[_30];
    var _32 = _31 > 0;
    var __not = _32 ^ true;
    var _33 = _31 < 0;
    var _or_cond = __not & _33;
    ;
    _bb4_i30$__ZN20btAlignedObjectArrayIP17btCollisionObjectE6resizeEiRKS1__exit$17199: do { 
      if (_or_cond) {
        ;
        var _34 = _this+32+8;
        var _35 = IHEAP[_34];
        var _36 = _35 < 0;
        ;
        if (_36) {
          ;
          var _37 = _this+32+12;
          var _38 = IHEAP[_37];
          var _39 = _38 == 0;
          ;
          if (!_39) {
            ;
            var _40 = _this+32+16;
            var _41 = IHEAP[_40];
            var _toBool_i_i_i41 = _41 == 0;
            ;
            if (!_toBool_i_i_i41) {
              ;
              var _42 = _38;
              __Z21btAlignedFreeInternalPv(_42);
              ;
            }
            IHEAP[_37] = 0;
            ;
          }
          var _43 = _this+32+16;
          IHEAP[_43] = 1;
          IHEAP[_37] = 0;
          IHEAP[_34] = 0;
          ;
        }
        var _44 = _this+32+12;
        var _tmp_i46 = 0 - _31;
        __lastLabel__ = 3172; ;
        _bb7_i51$17210: while(1) { // _bb7_i51
          var _indvar_i48 = __lastLabel__ == 3172 ? 0 : (_indvar_next_i53);
          var _tmp = _31 + _indvar_i48;
          var _45 = IHEAP[_44];
          var _scevgep = _45+4*_tmp;
          var _46 = _scevgep == 0;
          ;
          if (!_46) {
            ;
            IHEAP[_scevgep] = 0;
            ;
          }
          var _indvar_next_i53 = _indvar_i48 + 1;
          var _exitcond = _indvar_next_i53 == _tmp_i46;
          if (_exitcond) { __lastLabel__ = 3175; __label__ = 1613; /* __ZN20btAlignedObjectArrayIP17btCollisionObjectE6resizeEiRKS1__exit */ break _bb4_i30$__ZN20btAlignedObjectArrayIP17btCollisionObjectE6resizeEiRKS1__exit$17199; } else { __lastLabel__ = 3175; __label__ = 3173; /* _bb7_i51 */ continue _bb7_i51$17210; }
        }
      }
    } while(0);
    IHEAP[_30] = 0;
    var _47 = IHEAP[_0];
    var _48 = _47 > 0;
    var __not64 = _48 ^ true;
    var _49 = _47 < 0;
    var _or_cond65 = __not64 & _49;
    ;
    _bb4_i3$__ZN20btAlignedObjectArrayIP20btPersistentManifoldE6resizeEiRKS1__exit$17216: do { 
      if (_or_cond65) {
        ;
        var _50 = _this+52+8;
        var _51 = IHEAP[_50];
        var _52 = _51 < 0;
        ;
        if (_52) {
          ;
          var _53 = _this+52+12;
          var _54 = IHEAP[_53];
          var _55 = _54 == 0;
          ;
          if (!_55) {
            ;
            var _56 = _this+52+16;
            var _57 = IHEAP[_56];
            var _toBool_i_i_i14 = _57 == 0;
            ;
            if (!_toBool_i_i_i14) {
              ;
              var _58 = _54;
              __Z21btAlignedFreeInternalPv(_58);
              ;
            }
            IHEAP[_53] = 0;
            ;
          }
          var _59 = _this+52+16;
          IHEAP[_59] = 1;
          IHEAP[_53] = 0;
          IHEAP[_50] = 0;
          ;
        }
        var _60 = _this+52+12;
        var _tmp_i19 = 0 - _47;
        __lastLabel__ = 3179; ;
        _bb7_i24$17227: while(1) { // _bb7_i24
          var _indvar_i21 = __lastLabel__ == 3179 ? 0 : (_indvar_next_i26);
          var _tmp57 = _47 + _indvar_i21;
          var _61 = IHEAP[_60];
          var _scevgep59 = _61+4*_tmp57;
          var _62 = _scevgep59 == 0;
          ;
          if (!_62) {
            ;
            IHEAP[_scevgep59] = 0;
            ;
          }
          var _indvar_next_i26 = _indvar_i21 + 1;
          var _exitcond56 = _indvar_next_i26 == _tmp_i19;
          if (_exitcond56) { __lastLabel__ = 3182; __label__ = 2634; /* __ZN20btAlignedObjectArrayIP20btPersistentManifoldE6resizeEiRKS1__exit */ break _bb4_i3$__ZN20btAlignedObjectArrayIP20btPersistentManifoldE6resizeEiRKS1__exit$17216; } else { __lastLabel__ = 3182; __label__ = 3180; /* _bb7_i24 */ continue _bb7_i24$17227; }
        }
      }
    } while(0);
    IHEAP[_0] = 0;
    var _63 = IHEAP[_2];
    var _64 = _63 > 0;
    var __not66 = _64 ^ true;
    var _65 = _63 < 0;
    var _or_cond67 = __not66 & _65;
    ;
    _bb4_i$__ZN20btAlignedObjectArrayIP17btTypedConstraintE6resizeEiRKS1__exit$17233: do { 
      if (_or_cond67) {
        ;
        var _66 = _this+72+8;
        var _67 = IHEAP[_66];
        var _68 = _67 < 0;
        ;
        if (_68) {
          ;
          var _69 = _this+72+12;
          var _70 = IHEAP[_69];
          var _71 = _70 == 0;
          ;
          if (!_71) {
            ;
            var _72 = _this+72+16;
            var _73 = IHEAP[_72];
            var _toBool_i_i_i = _73 == 0;
            ;
            if (!_toBool_i_i_i) {
              ;
              var _74 = _70;
              __Z21btAlignedFreeInternalPv(_74);
              ;
            }
            IHEAP[_69] = 0;
            ;
          }
          var _75 = _this+72+16;
          IHEAP[_75] = 1;
          IHEAP[_69] = 0;
          IHEAP[_66] = 0;
          ;
        }
        var _76 = _this+72+12;
        var _tmp_i = 0 - _63;
        __lastLabel__ = 418; ;
        _bb7_i$17244: while(1) { // _bb7_i
          var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
          var _tmp61 = _63 + _indvar_i;
          var _77 = IHEAP[_76];
          var _scevgep63 = _77+4*_tmp61;
          var _78 = _scevgep63 == 0;
          ;
          if (!_78) {
            ;
            IHEAP[_scevgep63] = 0;
            ;
          }
          var _indvar_next_i = _indvar_i + 1;
          var _exitcond60 = _indvar_next_i == _tmp_i;
          if (_exitcond60) { __lastLabel__ = 581; __label__ = 3187; /* __ZN20btAlignedObjectArrayIP17btTypedConstraintE6resizeEiRKS1__exit */ break _bb4_i$__ZN20btAlignedObjectArrayIP17btTypedConstraintE6resizeEiRKS1__exit$17233; } else { __lastLabel__ = 581; __label__ = 137; /* _bb7_i */ continue _bb7_i$17244; }
        }
      }
    } while(0);
    IHEAP[_2] = 0;
    ;
    return;
  }
  __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback18processConstraintsEv.__index__ = Runtime.getFunctionIndex(__ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback18processConstraintsEv, "__ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback18processConstraintsEv");
  
  
  function __ZN23btDiscreteDynamicsWorld9addActionEP17btActionInterface(_this, _action) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+248+4;
    var _1 = IHEAP[_0];
    var _2 = _this+248+8;
    var _3 = IHEAP[_2];
    var _4 = _3 == _1;
    ;
    _bb_i$_bb1_i$17251: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 == 0;
        var _6 = _1 << 1;
        var _iftmp_531_0_i_i = _5 ? 1 : _6;
        var _7 = _3 < _iftmp_531_0_i_i;
        if (_7) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$17251; }
        var _8 = _iftmp_531_0_i_i == 0;
        ;
        if (_8) {
          __lastLabel__ = 263; ;
        }
        else {
          __lastLabel__ = 263; ;
          var _9 = _iftmp_531_0_i_i << 2;
          var _10 = __Z22btAlignedAllocInternalji(_9, 16);
          var _phitmp_i_i = _10;
          var __pre_i = IHEAP[_0];
          __lastLabel__ = 274; ;
        }
        var _11 = __lastLabel__ == 274 ? __pre_i : (_1);
        var _12 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
        var _13 = _11 > 0;
        ;
        _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIP17btActionInterfaceE4copyEiiPS1__exit_i_i$17257: do { 
          if (_13) {
            ;
            var _14 = _this+248+12;
            __lastLabel__ = 276; ;
            _bb_i4_i_i$17259: while(1) { // _bb_i4_i_i
              var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
              var _scevgep_i_i_i = _12+4*_indvar_i_i_i;
              var _15 = _scevgep_i_i_i == 0;
              ;
              if (!_15) {
                ;
                var _16 = IHEAP[_14];
                var _scevgep8_i_i_i = _16+4*_indvar_i_i_i;
                var _17 = IHEAP[_scevgep8_i_i_i];
                IHEAP[_scevgep_i_i_i] = _17;
                ;
              }
              var _indvar_next_i_i_i = _indvar_i_i_i + 1;
              var _exitcond = _indvar_next_i_i_i == _11;
              if (_exitcond) { __lastLabel__ = 279; __label__ = 3190; /* __ZNK20btAlignedObjectArrayIP17btActionInterfaceE4copyEiiPS1__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIP17btActionInterfaceE4copyEiiPS1__exit_i_i$17257; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$17259; }
            }
          }
        } while(0);
        var _18 = _this+248+12;
        var _19 = IHEAP[_18];
        var _20 = _19 == 0;
        ;
        if (!_20) {
          ;
          var _21 = _this+248+16;
          var _22 = IHEAP[_21];
          var _toBool_i_i_i = _22 == 0;
          ;
          if (!_toBool_i_i_i) {
            ;
            var _23 = _19;
            __Z21btAlignedFreeInternalPv(_23);
            ;
          }
          IHEAP[_18] = 0;
          ;
        }
        var _24 = _this+248+16;
        IHEAP[_24] = 1;
        IHEAP[_18] = _12;
        IHEAP[_2] = _iftmp_531_0_i_i;
        var __pre5_i = IHEAP[_0];
        __lastLabel__ = 3193; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _25 = __lastLabel__ == 3193 ? __pre5_i : (__lastLabel__ == -1 ? _1 : (_1));
    var _26 = _this+248+12;
    var _27 = IHEAP[_26];
    var _28 = _27+4*_25;
    var _29 = _28 == 0;
    ;
    if (_29) {
      __lastLabel__ = 159; ;
    }
    else {
      __lastLabel__ = 159; ;
      IHEAP[_28] = _action;
      var __pre6_i = IHEAP[_0];
      __lastLabel__ = 132; ;
    }
    var _30 = __lastLabel__ == 159 ? _25 : (__pre6_i);
    var _31 = _30 + 1;
    IHEAP[_0] = _31;
    ;
    return;
  }
  __ZN23btDiscreteDynamicsWorld9addActionEP17btActionInterface.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld9addActionEP17btActionInterface, "__ZN23btDiscreteDynamicsWorld9addActionEP17btActionInterface");
  
  
  function __ZN23btDiscreteDynamicsWorld19integrateTransformsEf(_this, _timeStep) {
    var __stackBase__  = STACKTOP; STACKTOP += 212;
    var __label__;
    var __lastLabel__ = null;
    var _predictedTrans = __stackBase__;
    var _sweepResults = __stackBase__+64;
    var _tmpSphere = __stackBase__+160;
    __ZN15CProfileManager13Start_ProfileEPKc(__str323);
    var _0 = _this+204+4;
    var _1 = _this+204+12;
    var _2 = _predictedTrans+48+8;
    var _3 = _predictedTrans+48+4;
    var _4 = _predictedTrans+48;
    var _5 = _this+24;
    var _6 = _this+80;
    var _7 = _sweepResults;
    var _8 = _sweepResults+4;
    var _9 = _sweepResults+8;
    var _10 = _sweepResults+10;
    var _11 = _sweepResults+12;
    var _12 = _sweepResults+12+4;
    var _13 = _sweepResults+12+8;
    var _14 = _sweepResults+12+12;
    var _15 = _sweepResults+28;
    var _16 = _sweepResults+28+4;
    var _17 = _sweepResults+28+8;
    var _18 = _sweepResults+28+12;
    var _19 = _predictedTrans+48+12;
    var _20 = _sweepResults+76;
    var _21 = _sweepResults+80;
    var _22 = _sweepResults+84;
    var _23 = _sweepResults+88;
    var _24 = _sweepResults+92;
    var _25 = _tmpSphere;
    var _26 = _tmpSphere;
    var _27 = _tmpSphere+4;
    var _28 = _tmpSphere+28;
    var _29 = _tmpSphere+44;
    var _30 = _this;
    var _31 = _tmpSphere;
    var _32 = _sweepResults;
    __lastLabel__ = -1; ;
    _bb61$17276: while(1) { // _bb61
      var _104 = __lastLabel__ == -1 ? 0 : (_103);
      var _105 = IHEAP[_0];
      var _106 = _105 > _104;
      if (!(_106)) { __label__ = 72; /* _bb68 */ break _bb61$17276; }
      var _33 = IHEAP[_1];
      var _scevgep = _33+4*_104;
      var _34 = IHEAP[_scevgep];
      var _35 = _34+240;
      FHEAP[_35] = 1;
      var _36 = _34+216;
      var _37 = IHEAP[_36];
      if (_37 == 2) {
        __label__ = 1025; /* _bb60 */ 
      }
      else if (_37 == 5) {
        __label__ = 1025; /* _bb60 */ 
      }
      else {
      __label__ = 61; /* _bb4 */ 
      }
      
      _bb4$_bb60$17279: do { 
        if (__label__ == 61) {
          var _38 = _34+204;
          var _39 = IHEAP[_38];
          var _40 = _39 & 3;
          var _41 = _40 == 0;
          if (!(_41)) { __label__ = 1025; /* _bb60 */ break _bb4$_bb60$17279; }
          (function() { try { __THREW__ = false; return __ZN11btRigidBody26predictIntegratedTransformEfR11btTransform(_34, _timeStep, _predictedTrans) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb61$17276; }
          var _42 = FHEAP[_2];
          var _43 = _34+4+48+8;
          var _44 = FHEAP[_43];
          var _45 = _42 - _44;
          var _46 = FHEAP[_3];
          var _47 = _34+4+48+4;
          var _48 = FHEAP[_47];
          var _49 = _46 - _48;
          var _50 = FHEAP[_4];
          var _51 = _34+4+48;
          var _52 = FHEAP[_51];
          var _53 = _50 - _52;
          var _54 = _34+248;
          var _55 = FHEAP[_54];
          var _56 = _55 * _55;
          var _57 = _56 == 0;
          ;
          _bb58$_bb17$17283: do { 
            if (!_57) {
              ;
              var _58 = _49 * _49;
              var _59 = _53 * _53;
              var _60 = _45 * _45;
              var _61 = _59 + _58;
              var _62 = _61 + _60;
              var _63 = _56 >= _62;
              if (_63) { __label__ = 10; /* _bb58 */ break _bb58$_bb17$17283; }
              (function() { try { __THREW__ = false; return __ZN15CProfileManager13Start_ProfileEPKc(__str424) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb61$17276; }
              var _64 = _34+192;
              var _65 = IHEAP[_64];
              var _66 = _65+4;
              var _67 = IHEAP[_66];
              var _68 = _67 < 20;
              ;
              if (_68) {
                ;
                var _69 = IHEAP[_gNumClampedCcdMotions];
                var _70 = _69 + 1;
                IHEAP[_gNumClampedCcdMotions] = _70;
                var _71 = IHEAP[_5];
                var _72 = IHEAP[_6];
                var _73 = _72;
                var _74 = IHEAP[_73];
                var _75 = _74+36;
                var _76 = IHEAP[_75];
                var _77 = _76;
                var _78 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_77](_72) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3198; /* _lpad71 */ break _bb61$17276; };
                var _79 = _34;
                FHEAP[_8] = 1;
                IHEAP[_9] = 1;
                IHEAP[_10] = -1;
                IHEAP[_7] = __ZTVN16btCollisionWorld27ClosestConvexResultCallbackE+8;
                var _80 = FHEAP[_51];
                FHEAP[_11] = _80;
                var _81 = FHEAP[_47];
                FHEAP[_12] = _81;
                var _82 = FHEAP[_43];
                FHEAP[_13] = _82;
                var _83 = _34+4+48+12;
                var _84 = FHEAP[_83];
                FHEAP[_14] = _84;
                var _85 = FHEAP[_4];
                FHEAP[_15] = _85;
                var _86 = FHEAP[_3];
                FHEAP[_16] = _86;
                var _87 = FHEAP[_2];
                FHEAP[_17] = _87;
                var _88 = FHEAP[_19];
                FHEAP[_18] = _88;
                IHEAP[_20] = 0;
                IHEAP[_7] = __ZTV34btClosestNotMeConvexResultCallback+8;
                IHEAP[_21] = _79;
                FHEAP[_22] = 0;
                IHEAP[_23] = _78;
                IHEAP[_24] = _71;
                var _89 = _34+244;
                var _90 = FHEAP[_89];
                (function() { try { __THREW__ = false; return __ZN21btConvexInternalShapeC2Ev(_25) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 1278; /* _lpad75 */ break _bb61$17276; }
                IHEAP[_26] = __ZTV13btSphereShape+8;
                IHEAP[_27] = 8;
                FHEAP[_28] = _90;
                FHEAP[_29] = _90;
                var _91 = _34+188;
                var _92 = IHEAP[_91];
                var _93 = _92+4;
                var _94 = IHEAP[_93];
                IHEAP[_9] = _94;
                var _95 = IHEAP[_91];
                var _96 = _95+6;
                var _97 = IHEAP[_96];
                IHEAP[_10] = _97;
                var _98 = _34+4;
                (function() { try { __THREW__ = false; return __ZNK16btCollisionWorld15convexSweepTestEPK13btConvexShapeRK11btTransformS5_RNS_20ConvexResultCallbackEf(_30, _31, _98, _predictedTrans, _32, 0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3854; /* _lpad79 */ break _bb61$17276; }
                var _99 = FHEAP[_8];
                var _100 = _99 < 1;
                var __not = _100 ^ true;
                var _101 = _99 >= 1;
                var _or_cond = __not | _101;
                ;
                if (!_or_cond) {
                  ;
                  FHEAP[_35] = _99;
                  var _102 = _99 * _timeStep;
                  (function() { try { __THREW__ = false; return __ZN11btRigidBody26predictIntegratedTransformEfR11btTransform(_34, _102, _predictedTrans) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3854; /* _lpad79 */ break _bb61$17276; }
                  FHEAP[_35] = 0;
                  ;
                }
                IHEAP[_26] = __ZTV21btConvexInternalShape+8;
                (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_31) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 1278; /* _lpad75 */ break _bb61$17276; }
                IHEAP[_7] = __ZTVN16btCollisionWorld27ClosestConvexResultCallbackE+8;
                ;
              }
              (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb61$17276; }
            }
          } while(0);
          (function() { try { __THREW__ = false; return __ZN11btRigidBody18proceedToTransformERK11btTransform(_34, _predictedTrans) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb61$17276; }
        }
      } while(0);
      var _103 = _104 + 1;
      __lastLabel__ = 1025; __label__ = 482; /* _bb61 */ continue _bb61$17276;
    }
    _lpad$_lpad71$_lpad75$_lpad79$_bb68$17300: do { 
      if (__label__ == 254) {
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select70 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _lpad$_lpad71$_lpad75$_lpad79$_bb68$17300;
      }
      else if (__label__ == 3198) {
        var _eh_ptr72 = _llvm_eh_exception();
        var _eh_select74 = _llvm_eh_selector(_eh_ptr72, ___gxx_personality_v0, 0);
        __lastLabel__ = 3198; __label__ = 3199; /* _ppad95 */ break _lpad$_lpad71$_lpad75$_lpad79$_bb68$17300;
      }
      else if (__label__ == 1278) {
        var _eh_ptr76 = _llvm_eh_exception();
        var _eh_select78 = _llvm_eh_selector(_eh_ptr76, ___gxx_personality_v0, 0);
        __lastLabel__ = 1278; __label__ = 3200; /* _ppad96 */ break _lpad$_lpad71$_lpad75$_lpad79$_bb68$17300;
      }
      else if (__label__ == 3854) {
        var _eh_ptr80 = _llvm_eh_exception();
        var _eh_select82 = _llvm_eh_selector(_eh_ptr80, ___gxx_personality_v0, 0);
        IHEAP[_26] = __ZTV21btConvexInternalShape+8;
        (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_31) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3854; __label__ = 3200; /* _ppad96 */ break _lpad$_lpad71$_lpad75$_lpad79$_bb68$17300; } else { __lastLabel__ = 3854; ; }
        var _eh_ptr84 = _llvm_eh_exception();
        var _eh_select86 = _llvm_eh_selector(_eh_ptr84, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
      else if (__label__ == 72) {
        __ZN15CProfileManager12Stop_ProfileEv();
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    _ppad$_ppad95$_ppad96$17307: do { 
      if (__label__ == 3200) {
        var _eh_exception_0 = __lastLabel__ == 1278 ? _eh_ptr76 : (_eh_ptr80);
        IHEAP[_7] = __ZTVN16btCollisionWorld27ClosestConvexResultCallbackE+8;
        __lastLabel__ = 3200; __label__ = 3199; /* _ppad95 */ break _ppad$_ppad95$_ppad96$17307;
      }
    } while(0);
    _ppad$_ppad95$17309: do { 
      if (__label__ == 3199) {
        var _eh_exception_1 = __lastLabel__ == 3200 ? _eh_exception_0 : (_eh_ptr72);
        (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3199; __label__ = 45; /* _ppad */ break _ppad$_ppad95$17309; } else { __lastLabel__ = 3199; ; }
        var _eh_ptr88 = _llvm_eh_exception();
        var _eh_select90 = _llvm_eh_selector(_eh_ptr88, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    } while(0);
    var _eh_exception_2 = __lastLabel__ == 254 ? _eh_ptr : (_eh_exception_1);
    (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3735; /* _invcont66 */  } else { __label__ = 3859; /* _lpad91 */  }
    if (__label__ == 3735) {
      __Unwind_Resume_or_Rethrow(_eh_exception_2);
      // unreachable
    }
    else if (__label__ == 3859) {
      var _eh_ptr92 = _llvm_eh_exception();
      var _eh_select94 = _llvm_eh_selector(_eh_ptr92, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN23btDiscreteDynamicsWorld19integrateTransformsEf.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld19integrateTransformsEf, "__ZN23btDiscreteDynamicsWorld19integrateTransformsEf");
  
  
  function __ZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfo(_this, _solverInfo) {
    var __stackBase__  = STACKTOP; STACKTOP += 113;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _sortedConstraints = __stackBase__+1;
    var _solverCallback = __stackBase__+21;
    __ZN15CProfileManager13Start_ProfileEPKc(__str525);
    var _1 = _sortedConstraints+16;
    IHEAP[_1] = 1;
    var _2 = _sortedConstraints+12;
    IHEAP[_2] = 0;
    var _3 = _sortedConstraints+4;
    IHEAP[_3] = 0;
    var _4 = _sortedConstraints+8;
    IHEAP[_4] = 0;
    var _5 = _this+184+4;
    var _6 = IHEAP[_5];
    var _7 = _6 < 0;
    ;
    __ZN20btAlignedObjectArrayIP17btTypedConstraintE6resizeEiRKS1__exit$_bb3_i$17317: do { 
      if (_7) {
        __label__ = 3187; /* __ZN20btAlignedObjectArrayIP17btTypedConstraintE6resizeEiRKS1__exit */ 
      }
      else {
        ;
        var _8 = _6 > 0;
        if (!(_8)) { __label__ = 3187; /* __ZN20btAlignedObjectArrayIP17btTypedConstraintE6resizeEiRKS1__exit */ break __ZN20btAlignedObjectArrayIP17btTypedConstraintE6resizeEiRKS1__exit$_bb3_i$17317; }
        var _9 = _6 << 2;
        var _10 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_9, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3211; /* _lpad37 */ break __ZN20btAlignedObjectArrayIP17btTypedConstraintE6resizeEiRKS1__exit$_bb3_i$17317; };
        var _phitmp_i_i = _10;
        var __pre_i = IHEAP[_3];
        var _11 = __pre_i > 0;
        if (_11) { __lastLabel__ = 3201; __label__ = 277; /* _bb_i4_i_i */  } else { __lastLabel__ = 3201; __label__ = 3202; /* __ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i_i */  }
        _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i_i$17321: while(1) { // _bb_i4_i_i,__ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i_i
          if (__label__ == 277) {
            var _indvar_i_i_i = __lastLabel__ == 279 ? _indvar_next_i_i_i : (0);
            var _scevgep_i_i_i = _phitmp_i_i+4*_indvar_i_i_i;
            var _12 = _scevgep_i_i_i == 0;
            ;
            if (!_12) {
              ;
              var _13 = IHEAP[_2];
              var _scevgep8_i_i_i = _13+4*_indvar_i_i_i;
              var _14 = IHEAP[_scevgep8_i_i_i];
              IHEAP[_scevgep_i_i_i] = _14;
              ;
            }
            var _indvar_next_i_i_i = _indvar_i_i_i + 1;
            var _exitcond79 = _indvar_next_i_i_i == __pre_i;
            if (_exitcond79) { __lastLabel__ = 279; __label__ = 3202; /* __ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i_i$17321; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i_i$17321; }
          }
          else if (__label__ == 3202) {
            var _15 = IHEAP[_2];
            var _16 = _15 == 0;
            if (_16) { __label__ = 3204; /* _bb11_preheader_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i_i$17321; } else { __label__ = 3205; /* _bb_i_i_i65 */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i_i$17321; }
          }
        }
        if (__label__ == 3205) {
          var _17 = IHEAP[_1];
          var _toBool_i_i_i64 = _17 == 0;
          ;
          if (!_toBool_i_i_i64) {
            ;
            var _18 = _15;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_18) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3211; /* _lpad37 */ break __ZN20btAlignedObjectArrayIP17btTypedConstraintE6resizeEiRKS1__exit$_bb3_i$17317; }
          }
          IHEAP[_2] = 0;
          ;
        }
        IHEAP[_1] = 1;
        IHEAP[_2] = _phitmp_i_i;
        IHEAP[_4] = _6;
        if (_8) { __lastLabel__ = 3204; ; } else { __lastLabel__ = 3204; __label__ = 3187; /* __ZN20btAlignedObjectArrayIP17btTypedConstraintE6resizeEiRKS1__exit */ break __ZN20btAlignedObjectArrayIP17btTypedConstraintE6resizeEiRKS1__exit$_bb3_i$17317; }
        _bb7_i$17334: while(1) { // _bb7_i
          var _indvar_i = __lastLabel__ == 581 ? _indvar_next_i : (0);
          var _19 = IHEAP[_2];
          var _scevgep = _19+4*_indvar_i;
          var _20 = _scevgep == 0;
          ;
          if (!_20) {
            ;
            IHEAP[_scevgep] = 0;
            ;
          }
          var _indvar_next_i = _indvar_i + 1;
          var _exitcond = _indvar_next_i == _6;
          if (_exitcond) { __lastLabel__ = 581; __label__ = 3187; /* __ZN20btAlignedObjectArrayIP17btTypedConstraintE6resizeEiRKS1__exit */ break __ZN20btAlignedObjectArrayIP17btTypedConstraintE6resizeEiRKS1__exit$_bb3_i$17317; } else { __lastLabel__ = 581; __label__ = 137; /* _bb7_i */ continue _bb7_i$17334; }
        }
      }
    } while(0);
    __ZN20btAlignedObjectArrayIP17btTypedConstraintE6resizeEiRKS1__exit$_lpad37$17339: do { 
      if (__label__ == 3187) {
        IHEAP[_3] = _6;
        var _21 = _this;
        var _22 = _this+184+12;
        __lastLabel__ = 3187; ;
        _bb2$17341: while(1) { // _bb2
          var _27 = __lastLabel__ == 60 ? _26 : (0);
          var _28 = IHEAP[_21];
          var _29 = _28+96;
          var _30 = IHEAP[_29];
          var _31 = _30;
          var _32 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_31](_this) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3211; /* _lpad37 */ break __ZN20btAlignedObjectArrayIP17btTypedConstraintE6resizeEiRKS1__exit$_lpad37$17339; };
          var _33 = _32 > _27;
          if (!(_33)) { __label__ = 61; /* _bb4 */ break _bb2$17341; }
          var _23 = IHEAP[_2];
          var _24 = IHEAP[_22];
          var _scevgep82 = _24+4*_27;
          var _25 = IHEAP[_scevgep82];
          var _scevgep83 = _23+4*_27;
          IHEAP[_scevgep83] = _25;
          var _26 = _27 + 1;
          __lastLabel__ = 60; __label__ = 0; /* _bb2 */ continue _bb2$17341;
        }
        var _34 = IHEAP[_3];
        var _35 = _34 > 1;
        ;
        if (_35) {
          ;
          var _36 = _34 + -1;
          __ZN20btAlignedObjectArrayIP17btTypedConstraintE17quickSortInternalI33btSortConstraintOnIslandPredicateEEvT_ii(_sortedConstraints, _0, 0, _36);
          ;
        }
        var _37 = IHEAP[_21];
        var _38 = _37+96;
        var _39 = IHEAP[_38];
        var _40 = _39;
        var _41 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_40](_this) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3211; /* _lpad37 */ break __ZN20btAlignedObjectArrayIP17btTypedConstraintE6resizeEiRKS1__exit$_lpad37$17339; };
        var _42 = _41 == 0;
        ;
        if (_42) {
          __lastLabel__ = 3894; ;
        }
        else {
          __lastLabel__ = 3894; ;
          var _43 = IHEAP[_2];
          __lastLabel__ = 2; ;
        }
        var _iftmp_398_0 = __lastLabel__ == 2 ? _43 : (0);
        var _44 = _this+24;
        var _45 = IHEAP[_44];
        var _46 = _this+76;
        var _47 = IHEAP[_46];
        var _48 = _this+84;
        var _49 = IHEAP[_48];
        var _50 = IHEAP[_3];
        var _51 = _this+176;
        var _52 = IHEAP[_51];
        var _53 = _solverCallback;
        IHEAP[_53] = __ZTVZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback+8;
        var _54 = _solverCallback+4;
        IHEAP[_54] = _solverInfo;
        var _55 = _solverCallback+8;
        IHEAP[_55] = _52;
        var _56 = _solverCallback+12;
        IHEAP[_56] = _iftmp_398_0;
        var _57 = _solverCallback+16;
        IHEAP[_57] = _50;
        var _58 = _solverCallback+20;
        IHEAP[_58] = _49;
        var _59 = _solverCallback+24;
        IHEAP[_59] = _47;
        var _60 = _solverCallback+28;
        IHEAP[_60] = _45;
        var _61 = _solverCallback+32+16;
        IHEAP[_61] = 1;
        var _62 = _solverCallback+32+12;
        IHEAP[_62] = 0;
        var _63 = _solverCallback+32+4;
        IHEAP[_63] = 0;
        var _64 = _solverCallback+32+8;
        IHEAP[_64] = 0;
        var _65 = _solverCallback+52+16;
        IHEAP[_65] = 1;
        var _66 = _solverCallback+52+12;
        IHEAP[_66] = 0;
        var _67 = _solverCallback+52+4;
        IHEAP[_67] = 0;
        var _68 = _solverCallback+52+8;
        IHEAP[_68] = 0;
        var _69 = _solverCallback+72+16;
        IHEAP[_69] = 1;
        var _70 = _solverCallback+72+12;
        IHEAP[_70] = 0;
        var _71 = _solverCallback+72+4;
        IHEAP[_71] = 0;
        var _72 = _solverCallback+72+8;
        IHEAP[_72] = 0;
        var _73 = _52;
        var _74 = IHEAP[_73];
        var _75 = _74+8;
        var _76 = IHEAP[_75];
        var _77 = _45;
        var _78 = IHEAP[_77];
        var _79 = _78+36;
        var _80 = IHEAP[_79];
        var _81 = _80;
        var _82 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_81](_45) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2531; /* _invcont12 */  } else { __label__ = 3339; /* _lpad41 */  };
        _invcont12$_lpad41$17353: do { 
          if (__label__ == 2531) {
            var _83 = _this+4+4;
            var _84 = IHEAP[_83];
            var _85 = IHEAP[_51];
            var _86 = _76;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_86](_85, _84, _82) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3339; /* _lpad41 */ break _invcont12$_lpad41$17353; }
            var _87 = _this;
            var _88 = IHEAP[_44];
            var _89 = _this+180;
            var _90 = IHEAP[_89];
            var _91 = _solverCallback;
            (function() { try { __THREW__ = false; return __ZN25btSimulationIslandManager22buildAndProcessIslandsEP12btDispatcherP16btCollisionWorldPNS_14IslandCallbackE(_90, _88, _87, _91) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3339; /* _lpad41 */ break _invcont12$_lpad41$17353; }
            (function() { try { __THREW__ = false; return __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback18processConstraintsEv(_solverCallback) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3339; /* _lpad41 */ break _invcont12$_lpad41$17353; }
            var _92 = IHEAP[_51];
            var _93 = _92;
            var _94 = IHEAP[_93];
            var _95 = _94+16;
            var _96 = IHEAP[_95];
            var _97 = IHEAP[_46];
            var _98 = IHEAP[_48];
            var _99 = _96;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_99](_92, _solverInfo, _98, _97) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3339; /* _lpad41 */ break _invcont12$_lpad41$17353; }
            (function() { try { __THREW__ = false; return __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD1Ev(_solverCallback) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3211; /* _lpad37 */ break __ZN20btAlignedObjectArrayIP17btTypedConstraintE6resizeEiRKS1__exit$_lpad37$17339; }
            var _100 = IHEAP[_2];
            var _101 = _100 == 0;
            ;
            if (!_101) {
              ;
              var _102 = IHEAP[_1];
              var _toBool_i_i_i71 = _102 == 0;
              ;
              _bb2_i_i_i74$_bb1_i_i_i73$17362: do { 
                if (!_toBool_i_i_i71) {
                  ;
                  var _103 = _100;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_103) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4020; /* _bb2_i_i_i74 */ break _bb2_i_i_i74$_bb1_i_i_i73$17362; } else { ; }
                  var _eh_ptr = _llvm_eh_exception();
                  var _eh_select36 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
                  __lastLabel__ = 254; __label__ = 45; /* _ppad */ break __ZN20btAlignedObjectArrayIP17btTypedConstraintE6resizeEiRKS1__exit$_lpad37$17339;
                }
              } while(0);
              IHEAP[_2] = 0;
              ;
            }
            IHEAP[_1] = 1;
            IHEAP[_2] = 0;
            IHEAP[_3] = 0;
            IHEAP[_4] = 0;
            __ZN15CProfileManager12Stop_ProfileEv();
            STACKTOP = __stackBase__;
            return;
          }
        } while(0);
        var _eh_ptr42 = _llvm_eh_exception();
        var _eh_select44 = _llvm_eh_selector(_eh_ptr42, ___gxx_personality_v0, 0);
        (function() { try { __THREW__ = false; return __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD1Ev(_solverCallback) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3339; __label__ = 497; /* _ppad57 */ break __ZN20btAlignedObjectArrayIP17btTypedConstraintE6resizeEiRKS1__exit$_lpad37$17339; } else { __lastLabel__ = 3339; ; }
        var _eh_ptr46 = _llvm_eh_exception();
        var _eh_select48 = _llvm_eh_selector(_eh_ptr46, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    } while(0);
    _ppad$_lpad37$_ppad57$17369: do { 
      if (__label__ == 3211) {
        var _eh_ptr38 = _llvm_eh_exception();
        var _eh_select40 = _llvm_eh_selector(_eh_ptr38, ___gxx_personality_v0, 0);
        __lastLabel__ = 3211; __label__ = 497; /* _ppad57 */ break _ppad$_lpad37$_ppad57$17369;
      }
    } while(0);
    if (__label__ == 497) {
      var _eh_exception_0 = __lastLabel__ == 3211 ? _eh_ptr38 : (_eh_ptr42);
      var _104 = IHEAP[_2];
      var _105 = _104 == 0;
      ;
      if (!_105) {
        ;
        var _106 = IHEAP[_1];
        var _toBool_i_i_i = _106 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$17375: do { 
          if (!_toBool_i_i_i) {
            ;
            var _107 = _104;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_107) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$17375; } else { ; }
            var _eh_ptr50 = _llvm_eh_exception();
            var _eh_select52 = _llvm_eh_selector(_eh_ptr50, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_2] = 0;
        ;
      }
      IHEAP[_1] = 1;
      IHEAP[_2] = 0;
      IHEAP[_3] = 0;
      IHEAP[_4] = 0;
      __lastLabel__ = 3213; ;
    }
    var _eh_exception_1 = __lastLabel__ == 254 ? _eh_ptr : (_eh_exception_0);
    (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3895; /* _invcont32 */  } else { __label__ = 2920; /* _lpad53 */  }
    if (__label__ == 3895) {
      __Unwind_Resume_or_Rethrow(_eh_exception_1);
      // unreachable
    }
    else if (__label__ == 2920) {
      var _eh_ptr54 = _llvm_eh_exception();
      var _eh_select56 = _llvm_eh_selector(_eh_ptr54, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfo.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfo, "__ZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfo");
  
  
  function __ZN23btDiscreteDynamicsWorld13addConstraintEP17btTypedConstraintb(_this, _constraint, _disableCollisionsBetweenLinkedBodies) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+184+4;
    var _1 = IHEAP[_0];
    var _2 = _this+184+8;
    var _3 = IHEAP[_2];
    var _4 = _3 == _1;
    ;
    _bb_i$_bb1_i$17394: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 == 0;
        var _6 = _1 << 1;
        var _iftmp_528_0_i_i = _5 ? 1 : _6;
        var _7 = _3 < _iftmp_528_0_i_i;
        if (_7) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$17394; }
        var _8 = _iftmp_528_0_i_i == 0;
        ;
        if (_8) {
          __lastLabel__ = 263; ;
        }
        else {
          __lastLabel__ = 263; ;
          var _9 = _iftmp_528_0_i_i << 2;
          var _10 = __Z22btAlignedAllocInternalji(_9, 16);
          var _phitmp_i_i = _10;
          var __pre_i = IHEAP[_0];
          __lastLabel__ = 274; ;
        }
        var _11 = __lastLabel__ == 274 ? __pre_i : (_1);
        var _12 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
        var _13 = _11 > 0;
        ;
        _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i_i$17400: do { 
          if (_13) {
            ;
            var _14 = _this+184+12;
            __lastLabel__ = 276; ;
            _bb_i4_i_i$17402: while(1) { // _bb_i4_i_i
              var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
              var _scevgep_i_i_i = _12+4*_indvar_i_i_i;
              var _15 = _scevgep_i_i_i == 0;
              ;
              if (!_15) {
                ;
                var _16 = IHEAP[_14];
                var _scevgep8_i_i_i = _16+4*_indvar_i_i_i;
                var _17 = IHEAP[_scevgep8_i_i_i];
                IHEAP[_scevgep_i_i_i] = _17;
                ;
              }
              var _indvar_next_i_i_i = _indvar_i_i_i + 1;
              var _exitcond = _indvar_next_i_i_i == _11;
              if (_exitcond) { __lastLabel__ = 279; __label__ = 3202; /* __ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i_i$17400; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$17402; }
            }
          }
        } while(0);
        var _18 = _this+184+12;
        var _19 = IHEAP[_18];
        var _20 = _19 == 0;
        ;
        if (!_20) {
          ;
          var _21 = _this+184+16;
          var _22 = IHEAP[_21];
          var _toBool_i_i_i = _22 == 0;
          ;
          if (!_toBool_i_i_i) {
            ;
            var _23 = _19;
            __Z21btAlignedFreeInternalPv(_23);
            ;
          }
          IHEAP[_18] = 0;
          ;
        }
        var _24 = _this+184+16;
        IHEAP[_24] = 1;
        IHEAP[_18] = _12;
        IHEAP[_2] = _iftmp_528_0_i_i;
        var __pre5_i = IHEAP[_0];
        __lastLabel__ = 3221; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _25 = __lastLabel__ == 3221 ? __pre5_i : (__lastLabel__ == -1 ? _1 : (_1));
    var _26 = _this+184+12;
    var _27 = IHEAP[_26];
    var _28 = _27+4*_25;
    var _29 = _28 == 0;
    ;
    if (_29) {
      __lastLabel__ = 159; ;
    }
    else {
      __lastLabel__ = 159; ;
      IHEAP[_28] = _constraint;
      var __pre6_i = IHEAP[_0];
      __lastLabel__ = 132; ;
    }
    var _30 = __lastLabel__ == 159 ? _25 : (__pre6_i);
    var _31 = _30 + 1;
    IHEAP[_0] = _31;
    var _toBool = _disableCollisionsBetweenLinkedBodies == 0;
    ;
    if (_toBool) {
      ;
      ;
      return;
    }
    else {
      ;
      var _32 = _constraint+20;
      var _33 = IHEAP[_32];
      __ZN11btRigidBody16addConstraintRefEP17btTypedConstraint(_33, _constraint);
      var _34 = _constraint+24;
      var _35 = IHEAP[_34];
      __ZN11btRigidBody16addConstraintRefEP17btTypedConstraint(_35, _constraint);
      ;
      return;
    }
  }
  __ZN23btDiscreteDynamicsWorld13addConstraintEP17btTypedConstraintb.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld13addConstraintEP17btTypedConstraintb, "__ZN23btDiscreteDynamicsWorld13addConstraintEP17btTypedConstraintb");
  
  
  function __ZN23btDiscreteDynamicsWorld21updateActivationStateEf(_this, _timeStep) {
    ;
    var __label__;
    var __lastLabel__ = null;
    __ZN15CProfileManager13Start_ProfileEPKc(__str626);
    var _0 = _this+204+4;
    var _1 = _this+204+12;
    __lastLabel__ = -1; ;
    _bb18$17422: while(1) { // _bb18
      var _63 = __lastLabel__ == -1 ? 0 : (_62);
      var _64 = IHEAP[_0];
      var _65 = _64 > _63;
      if (!(_65)) { __label__ = 419; /* _bb23 */ break _bb18$17422; }
      var _2 = IHEAP[_1];
      var _scevgep = _2+4*_63;
      var _3 = IHEAP[_scevgep];
      var _4 = _3 == 0;
      ;
      _bb17$_bb1$17425: do { 
        if (!_4) {
          ;
          var _5 = _3+216;
          var _6 = IHEAP[_5];
          if (_6 == 2) {
            __lastLabel__ = 75; __label__ = 345; /* _invcont */ 
          }
          else if (_6 == 4) {
            __lastLabel__ = 75; __label__ = 345; /* _invcont */ 
          }
          else {
          __lastLabel__ = 75; __label__ = 3713; /* _bb4_critedge_i */ 
          }
          
          _bb4_critedge_i$_invcont$17427: do { 
            if (__label__ == 3713) {
              var _7 = _3+304;
              var _8 = FHEAP[_7];
              var _9 = _8 * _8;
              var _10 = _3+304+4;
              var _11 = FHEAP[_10];
              var _12 = _11 * _11;
              var _13 = _9 + _12;
              var _14 = _3+304+8;
              var _15 = FHEAP[_14];
              var _16 = _15 * _15;
              var _17 = _13 + _16;
              var _18 = _3+464;
              var _19 = FHEAP[_18];
              var _20 = _19 * _19;
              var _21 = _17 >= _20;
              ;
              _bb11_i$_bb5_i$17429: do { 
                if (!_21) {
                  ;
                  var _22 = _3+320;
                  var _23 = FHEAP[_22];
                  var _24 = _23 * _23;
                  var _25 = _3+320+4;
                  var _26 = FHEAP[_25];
                  var _27 = _26 * _26;
                  var _28 = _24 + _27;
                  var _29 = _3+320+8;
                  var _30 = FHEAP[_29];
                  var _31 = _30 * _30;
                  var _32 = _28 + _31;
                  var _33 = _3+468;
                  var _34 = FHEAP[_33];
                  var _35 = _34 * _34;
                  var _36 = _32 >= _35;
                  if (_36) { __label__ = 1057; /* _bb11_i */ break _bb11_i$_bb5_i$17429; }
                  var _37 = _3+220;
                  var _38 = FHEAP[_37];
                  var _39 = _38 + _timeStep;
                  FHEAP[_37] = _39;
                  __lastLabel__ = 581; __label__ = 345; /* _invcont */ break _bb4_critedge_i$_invcont$17427;
                }
              } while(0);
              var _40 = _3+220;
              FHEAP[_40] = 0;
              var _41 = _3;
              (function() { try { __THREW__ = false; return __ZN17btCollisionObject18setActivationStateEi(_41, 0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb18$17422; }
              var __pre = IHEAP[_5];
              __lastLabel__ = 3224; ;
            }
          } while(0);
          var _42 = __lastLabel__ == 3224 ? __pre : (__lastLabel__ == 581 ? _6 : (__lastLabel__ == 75 ? _6 : (_6)));
          var _43 = _42 == 4;
          if (_43) { __label__ = 4; /* _bb17 */ break _bb17$_bb1$17425; }
          var _44 = IHEAP[_gDisableDeactivation];
          var _toBool2_i = _44 != 0;
          var _45 = FHEAP[_gDeactivationTime];
          var _46 = _45 == 0;
          var _or_cond_i = _toBool2_i | _46;
          ;
          _bb15$_bb5_i32$17436: do { 
            if (!_or_cond_i) {
              ;
              if (_42 == 2) {
                __label__ = 0; /* _bb2 */ 
              }
              else if (_42 == 3) {
                __label__ = 0; /* _bb2 */ 
              }
              else {
              __label__ = 3714; /* __ZN11btRigidBody13wantsSleepingEv_exit */ 
              }
              
              if (__label__ == 3714) {
                var _47 = _3+220;
                var _48 = FHEAP[_47];
                var _49 = _48 > _45;
                if (!(_49)) { __label__ = 153; /* _bb15 */ break _bb15$_bb5_i32$17436; }
              }
              var _50 = _3+204;
              var _51 = IHEAP[_50];
              var _52 = _51 & 3;
              var _53 = _52 == 0;
              ;
              if (_53) {
                ;
                var _55 = _42 == 1;
                ;
                if (_55) {
                  __lastLabel__ = 83; ;
                  var _56 = _3;
                  (function() { try { __THREW__ = false; return __ZN17btCollisionObject18setActivationStateEi(_56, 3) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb18$17422; }
                  var __pre45 = IHEAP[_5];
                  __lastLabel__ = 3227; ;
                }
                else {
                  __lastLabel__ = 83; ;
                }
                var _57 = __lastLabel__ == 3227 ? __pre45 : (_42);
                var _58 = _57 == 2;
                if (!(_58)) { __label__ = 4; /* _bb17 */ break _bb17$_bb1$17425; }
                var _59 = _3+304;
                var _60 = _59;
                _llvm_memset_p0i8_i64(_60, 0, 32, 4, false);
                __label__ = 4; /* _bb17 */ break _bb17$_bb1$17425;
              }
              else {
                ;
                var _54 = _3;
                (function() { try { __THREW__ = false; return __ZN17btCollisionObject18setActivationStateEi(_54, 2) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4; /* _bb17 */ break _bb17$_bb1$17425; } else { __label__ = 254; /* _lpad */ break _bb18$17422; }
              }
            }
          } while(0);
          var _61 = _3;
          (function() { try { __THREW__ = false; return __ZN17btCollisionObject18setActivationStateEi(_61, 1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb18$17422; }
        }
      } while(0);
      var _62 = _63 + 1;
      __lastLabel__ = 4; __label__ = 86; /* _bb18 */ continue _bb18$17422;
    }
    if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select25 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2957; /* _invcont21 */  } else { __label__ = 3800; /* _lpad26 */  }
      if (__label__ == 2957) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 3800) {
        var _eh_ptr27 = _llvm_eh_exception();
        var _eh_select29 = _llvm_eh_selector(_eh_ptr27, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
    else if (__label__ == 419) {
      __ZN15CProfileManager12Stop_ProfileEv();
      ;
      return;
    }
  }
  __ZN23btDiscreteDynamicsWorld21updateActivationStateEf.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld21updateActivationStateEf, "__ZN23btDiscreteDynamicsWorld21updateActivationStateEf");
  
  
  function __ZN23btDiscreteDynamicsWorld28internalSingleStepSimulationEf(_this, _timeStep) {
    ;
    var __label__;
    __ZN15CProfileManager13Start_ProfileEPKc(__str723);
    var _0 = _this+96;
    var _1 = IHEAP[_0];
    var _2 = _1 == 0;
    ;
    _bb1$_bb$17458: do { 
      if (_2) {
        __label__ = 75; /* _bb1 */ 
      }
      else {
        ;
        var _3 = _this;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_1](_3, _timeStep) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 75; /* _bb1 */ break _bb1$_bb$17458; } else { __label__ = 254; /* _lpad */ break _bb1$_bb$17458; }
      }
    } while(0);
    _bb1$_lpad$17460: do { 
      if (__label__ == 75) {
        var _4 = _this;
        var _5 = IHEAP[_4];
        var _6 = _5+132;
        var _7 = IHEAP[_6];
        var _8 = _7;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_8](_this, _timeStep) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb1$_lpad$17460; }
        var _9 = _this+28;
        FHEAP[_9] = _timeStep;
        var _10 = _this+28+4;
        IHEAP[_10] = 0;
        var _11 = IHEAP[_4];
        var _12 = _11+16;
        var _13 = IHEAP[_12];
        var _14 = _this;
        var _15 = _13;
        var _16 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_15](_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb1$_lpad$17460; };
        var _17 = _this+28+20;
        IHEAP[_17] = _16;
        var _18 = IHEAP[_4];
        var _19 = _18+40;
        var _20 = IHEAP[_19];
        var _21 = _20;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_21](_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb1$_lpad$17460; }
        var _22 = IHEAP[_4];
        var _23 = _22+140;
        var _24 = IHEAP[_23];
        var _25 = _24;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_25](_this) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb1$_lpad$17460; }
        var _26 = _this+104+12;
        FHEAP[_26] = _timeStep;
        var _27 = IHEAP[_4];
        var _28 = _27+144;
        var _29 = IHEAP[_28];
        var _30 = _this+104;
        var _31 = _29;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_31](_this, _30) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb1$_lpad$17460; }
        var _32 = IHEAP[_4];
        var _33 = _32+136;
        var _34 = IHEAP[_33];
        var _35 = _34;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_35](_this, _timeStep) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb1$_lpad$17460; }
        (function() { try { __THREW__ = false; return __ZN23btDiscreteDynamicsWorld13updateActionsEf(_this, _timeStep) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb1$_lpad$17460; }
        (function() { try { __THREW__ = false; return __ZN23btDiscreteDynamicsWorld21updateActivationStateEf(_this, _timeStep) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb1$_lpad$17460; }
        var _36 = _this+92;
        var _37 = IHEAP[_36];
        var _38 = _37 == 0;
        ;
        if (!_38) {
          ;
          var _39 = _this;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_37](_39, _timeStep) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb1$_lpad$17460; }
        }
        __ZN15CProfileManager12Stop_ProfileEv();
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select17 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2115; /* _invcont13 */  } else { __label__ = 3770; /* _lpad18 */  }
    if (__label__ == 2115) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 3770) {
      var _eh_ptr19 = _llvm_eh_exception();
      var _eh_select21 = _llvm_eh_selector(_eh_ptr19, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN23btDiscreteDynamicsWorld28internalSingleStepSimulationEf.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld28internalSingleStepSimulationEf, "__ZN23btDiscreteDynamicsWorld28internalSingleStepSimulationEf");
  
  
  function __ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBodyss(_this, _body, _group, _mask) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _body+204;
    var _1 = IHEAP[_0];
    var _2 = _1 & 3;
    var _3 = _2 == 0;
    ;
    _bb$_bb19$17478: do { 
      if (_3) {
        ;
        var _4 = _body+496;
        var _5 = IHEAP[_4];
        var _6 = _5 & 1;
        var _toBool13 = _6 == 0;
        if (!(_toBool13)) { __label__ = 64; /* _bb19 */ break _bb$_bb19$17478; }
        var _7 = _this+224;
        __ZN11btRigidBody10setGravityERK9btVector3(_body, _7);
        ;
      }
    } while(0);
    var _8 = _body+192;
    var _9 = IHEAP[_8];
    var _10 = _9 == 0;
    ;
    if (_10) {
      ;
      ;
      return;
    }
    else {
      ;
      var _11 = IHEAP[_0];
      var _12 = _11 & 1;
      var _toBool22not = _12 == 0;
      ;
      if (_toBool22not) {
        ;
        var _13 = _this+204+4;
        var _14 = IHEAP[_13];
        var _15 = _this+204+8;
        var _16 = IHEAP[_15];
        var _17 = _16 == _14;
        ;
        _bb_i$_bb1_i$17487: do { 
          if (_17) {
            __lastLabel__ = 540; ;
            var _18 = _14 == 0;
            var _19 = _14 << 1;
            var _iftmp_526_0_i_i = _18 ? 1 : _19;
            var _20 = _16 < _iftmp_526_0_i_i;
            if (_20) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$17487; }
            var _21 = _iftmp_526_0_i_i == 0;
            ;
            if (_21) {
              __lastLabel__ = 263; ;
            }
            else {
              __lastLabel__ = 263; ;
              var _22 = _iftmp_526_0_i_i << 2;
              var _23 = __Z22btAlignedAllocInternalji(_22, 16);
              var _phitmp_i_i = _23;
              var __pre_i = IHEAP[_13];
              __lastLabel__ = 274; ;
            }
            var _24 = __lastLabel__ == 274 ? __pre_i : (_14);
            var _25 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
            var _26 = _24 > 0;
            ;
            _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIP11btRigidBodyE4copyEiiPS1__exit_i_i$17493: do { 
              if (_26) {
                ;
                var _27 = _this+204+12;
                __lastLabel__ = 276; ;
                _bb_i4_i_i$17495: while(1) { // _bb_i4_i_i
                  var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
                  var _scevgep_i_i_i = _25+4*_indvar_i_i_i;
                  var _28 = _scevgep_i_i_i == 0;
                  ;
                  if (!_28) {
                    ;
                    var _29 = IHEAP[_27];
                    var _scevgep8_i_i_i = _29+4*_indvar_i_i_i;
                    var _30 = IHEAP[_scevgep8_i_i_i];
                    IHEAP[_scevgep_i_i_i] = _30;
                    ;
                  }
                  var _indvar_next_i_i_i = _indvar_i_i_i + 1;
                  var _exitcond = _indvar_next_i_i_i == _24;
                  if (_exitcond) { __lastLabel__ = 279; __label__ = 3232; /* __ZNK20btAlignedObjectArrayIP11btRigidBodyE4copyEiiPS1__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIP11btRigidBodyE4copyEiiPS1__exit_i_i$17493; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$17495; }
                }
              }
            } while(0);
            var _31 = _this+204+12;
            var _32 = IHEAP[_31];
            var _33 = _32 == 0;
            ;
            if (!_33) {
              ;
              var _34 = _this+204+16;
              var _35 = IHEAP[_34];
              var _toBool_i_i_i = _35 == 0;
              ;
              if (!_toBool_i_i_i) {
                ;
                var _36 = _32;
                __Z21btAlignedFreeInternalPv(_36);
                ;
              }
              IHEAP[_31] = 0;
              ;
            }
            var _37 = _this+204+16;
            IHEAP[_37] = 1;
            IHEAP[_31] = _25;
            IHEAP[_15] = _iftmp_526_0_i_i;
            var __pre5_i = IHEAP[_13];
            __lastLabel__ = 3235; ;
          }
          else {
            __lastLabel__ = 540; ;
          }
        } while(0);
        var _38 = __lastLabel__ == 3235 ? __pre5_i : (__lastLabel__ == 540 ? _14 : (_14));
        var _39 = _this+204+12;
        var _40 = IHEAP[_39];
        var _41 = _40+4*_38;
        var _42 = _41 == 0;
        ;
        if (_42) {
          __lastLabel__ = 159; ;
        }
        else {
          __lastLabel__ = 159; ;
          IHEAP[_41] = _body;
          var __pre6_i = IHEAP[_13];
          __lastLabel__ = 132; ;
        }
        var _43 = __lastLabel__ == 159 ? _38 : (__pre6_i);
        var _44 = _43 + 1;
        IHEAP[_13] = _44;
        var __pre = _body;
        __lastLabel__ = 3238; ;
      }
      else {
        ;
        var _45 = _body;
        __ZN17btCollisionObject18setActivationStateEi(_45, 2);
        __lastLabel__ = 626; ;
      }
      var __pre_phi = __lastLabel__ == 626 ? _45 : (__pre);
      var _46 = _this;
      var _47 = IHEAP[_46];
      var _48 = _47+32;
      var _49 = IHEAP[_48];
      var _50 = _49;
      FUNCTION_TABLE[_50](_this, __pre_phi, _group, _mask);
      ;
      return;
    }
  }
  __ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBodyss.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBodyss, "__ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBodyss");
  
  
  function __ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBody(_this, _body) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _body+204;
    var _1 = IHEAP[_0];
    var _2 = _1 & 3;
    var _3 = _2 == 0;
    ;
    _bb$_bb19$17514: do { 
      if (_3) {
        ;
        var _4 = _body+496;
        var _5 = IHEAP[_4];
        var _6 = _5 & 1;
        var _toBool13 = _6 == 0;
        if (!(_toBool13)) { __label__ = 64; /* _bb19 */ break _bb$_bb19$17514; }
        var _7 = _this+224;
        __ZN11btRigidBody10setGravityERK9btVector3(_body, _7);
        ;
      }
    } while(0);
    var _8 = _body+192;
    var _9 = IHEAP[_8];
    var _10 = _9 == 0;
    ;
    if (_10) {
      ;
      ;
      return;
    }
    else {
      ;
      var _11 = IHEAP[_0];
      var _12 = _11 & 1;
      var _toBool22not = _12 == 0;
      ;
      if (_toBool22not) {
        ;
        var _13 = _this+204+4;
        var _14 = IHEAP[_13];
        var _15 = _this+204+8;
        var _16 = IHEAP[_15];
        var _17 = _16 == _14;
        ;
        _bb_i$_bb1_i$17523: do { 
          if (_17) {
            __lastLabel__ = 540; ;
            var _18 = _14 == 0;
            var _19 = _14 << 1;
            var _iftmp_526_0_i_i = _18 ? 1 : _19;
            var _20 = _16 < _iftmp_526_0_i_i;
            if (_20) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$17523; }
            var _21 = _iftmp_526_0_i_i == 0;
            ;
            if (_21) {
              __lastLabel__ = 263; ;
            }
            else {
              __lastLabel__ = 263; ;
              var _22 = _iftmp_526_0_i_i << 2;
              var _23 = __Z22btAlignedAllocInternalji(_22, 16);
              var _phitmp_i_i = _23;
              var __pre_i = IHEAP[_13];
              __lastLabel__ = 274; ;
            }
            var _24 = __lastLabel__ == 274 ? __pre_i : (_14);
            var _25 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
            var _26 = _24 > 0;
            ;
            _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIP11btRigidBodyE4copyEiiPS1__exit_i_i$17529: do { 
              if (_26) {
                ;
                var _27 = _this+204+12;
                __lastLabel__ = 276; ;
                _bb_i4_i_i$17531: while(1) { // _bb_i4_i_i
                  var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
                  var _scevgep_i_i_i = _25+4*_indvar_i_i_i;
                  var _28 = _scevgep_i_i_i == 0;
                  ;
                  if (!_28) {
                    ;
                    var _29 = IHEAP[_27];
                    var _scevgep8_i_i_i = _29+4*_indvar_i_i_i;
                    var _30 = IHEAP[_scevgep8_i_i_i];
                    IHEAP[_scevgep_i_i_i] = _30;
                    ;
                  }
                  var _indvar_next_i_i_i = _indvar_i_i_i + 1;
                  var _exitcond = _indvar_next_i_i_i == _24;
                  if (_exitcond) { __lastLabel__ = 279; __label__ = 3232; /* __ZNK20btAlignedObjectArrayIP11btRigidBodyE4copyEiiPS1__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIP11btRigidBodyE4copyEiiPS1__exit_i_i$17529; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$17531; }
                }
              }
            } while(0);
            var _31 = _this+204+12;
            var _32 = IHEAP[_31];
            var _33 = _32 == 0;
            ;
            if (!_33) {
              ;
              var _34 = _this+204+16;
              var _35 = IHEAP[_34];
              var _toBool_i_i_i = _35 == 0;
              ;
              if (!_toBool_i_i_i) {
                ;
                var _36 = _32;
                __Z21btAlignedFreeInternalPv(_36);
                ;
              }
              IHEAP[_31] = 0;
              ;
            }
            var _37 = _this+204+16;
            IHEAP[_37] = 1;
            IHEAP[_31] = _25;
            IHEAP[_15] = _iftmp_526_0_i_i;
            var __pre5_i = IHEAP[_13];
            __lastLabel__ = 3235; ;
          }
          else {
            __lastLabel__ = 540; ;
          }
        } while(0);
        var _38 = __lastLabel__ == 3235 ? __pre5_i : (__lastLabel__ == 540 ? _14 : (_14));
        var _39 = _this+204+12;
        var _40 = IHEAP[_39];
        var _41 = _40+4*_38;
        var _42 = _41 == 0;
        ;
        if (_42) {
          __lastLabel__ = 159; ;
        }
        else {
          __lastLabel__ = 159; ;
          IHEAP[_41] = _body;
          var __pre6_i = IHEAP[_13];
          __lastLabel__ = 132; ;
        }
        var _43 = __lastLabel__ == 159 ? _38 : (__pre6_i);
        var _44 = _43 + 1;
        IHEAP[_13] = _44;
        ;
      }
      else {
        ;
        var _45 = _body;
        __ZN17btCollisionObject18setActivationStateEi(_45, 2);
        ;
      }
      var _46 = IHEAP[_0];
      var _47 = _46 & 1;
      var _toBool31not = _47 == 0;
      var __lobit_i = _46 & 2;
      var _toBool39not = __lobit_i == 0;
      var _or_cond = _toBool31not & _toBool39not;
      var _iftmp_357_0 = _or_cond ? false : true;
      var _iftmp_360_0 = _iftmp_357_0 ? 2 : 1;
      var _iftmp_361_0 = _iftmp_357_0 ? -3 : -1;
      var _48 = _this;
      var _49 = IHEAP[_48];
      var _50 = _49+32;
      var _51 = IHEAP[_50];
      var _52 = _body;
      var _53 = _51;
      FUNCTION_TABLE[_53](_this, _52, _iftmp_360_0, _iftmp_361_0);
      ;
      return;
    }
  }
  __ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBody.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBody, "__ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBody");
  
  
  function __ZN23btDiscreteDynamicsWorld14stepSimulationEfif(_this, _timeStep, _maxSubSteps, _fixedTimeStep) {
    ;
    var __label__;
    var __lastLabel__ = null;
    __ZN15CProfileManager5ResetEv();
    __ZN15CProfileManager13Start_ProfileEPKc(__str824);
    var _0 = _maxSubSteps == 0;
    var _1 = _this+240;
    ;
    _bb2$_bb$17574: do { 
      if (_0) {
        ;
        FHEAP[_1] = _timeStep;
        var _10 = _fabsf(_timeStep);
        var _11 = _10 < 1.1920928955078125e-7;
        if (_11) { __lastLabel__ = 0; __label__ = 82; /* _bb5 */ break _bb2$_bb$17574; } else { __lastLabel__ = 0; ; }
        __lastLabel__ = 61; ;
      }
      else {
        ;
        var _2 = FHEAP[_1];
        var _3 = _2 + _timeStep;
        FHEAP[_1] = _3;
        var _4 = _3 < _fixedTimeStep;
        if (_4) { __lastLabel__ = 60; __label__ = 82; /* _bb5 */ break _bb2$_bb$17574; } else { __lastLabel__ = 60; ; }
        var _5 = _3 / _fixedTimeStep;
        var _6 = Math.floor(_5);
        var _7 = _6;
        var _8 = _7 * _fixedTimeStep;
        var _9 = _3 - _8;
        FHEAP[_1] = _9;
        __lastLabel__ = 75; ;
      }
    } while(0);
    var _numSimulationSubSteps_0 = __lastLabel__ == 75 ? _6 : (__lastLabel__ == 60 ? 0 : (__lastLabel__ == 61 ? 1 : (0)));
    var _fixedTimeStep_addr_0 = __lastLabel__ == 75 ? _fixedTimeStep : (__lastLabel__ == 60 ? _fixedTimeStep : (__lastLabel__ == 61 ? _timeStep : (_timeStep)));
    var _maxSubSteps_addr_0 = __lastLabel__ == 75 ? _maxSubSteps : (__lastLabel__ == 60 ? _maxSubSteps : (__lastLabel__ == 61 ? 1 : (0)));
    var _12 = _this;
    var _13 = IHEAP[_12];
    var _14 = _13+16;
    var _15 = IHEAP[_14];
    var _16 = _this;
    var _17 = _15;
    var _18 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_17](_16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  };
    _invcont$_lpad$17580: do { 
      if (__label__ == 345) {
        var _19 = _18 == 0;
        ;
        if (!_19) {
          ;
          var _20 = IHEAP[_12];
          var _21 = _20+16;
          var _22 = IHEAP[_21];
          var _23 = _22;
          var _24 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_23](_16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17580; };
          var _25 = _24;
          var _26 = IHEAP[_25];
          var _27 = _26+48;
          var _28 = IHEAP[_27];
          var _29 = _28;
          var _30 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_29](_24) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17580; };
          var _31 = _30 >> 4;
          var __lobit = _31 & 1;
          var _32 = __lobit;
          IHEAP[_gDisableDeactivation] = _32;
          ;
        }
        var _33 = _numSimulationSubSteps_0 == 0;
        ;
        _bb21$_bb11$17587: do { 
          if (_33) {
            ;
            var _56 = IHEAP[_12];
            var _57 = _56+76;
            var _58 = IHEAP[_57];
            var _59 = _58;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_59](_this) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17580; }
          }
          else {
            ;
            var _34 = _numSimulationSubSteps_0 > _maxSubSteps_addr_0;
            var _iftmp_341_0 = _34 ? _maxSubSteps_addr_0 : _numSimulationSubSteps_0;
            var _35 = IHEAP[_12];
            var _36 = _35+152;
            var _37 = IHEAP[_36];
            var _38 = _iftmp_341_0;
            var _39 = _38 * _fixedTimeStep_addr_0;
            var _40 = _37;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_40](_this, _39) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17580; }
            var _41 = IHEAP[_12];
            var _42 = _41+160;
            var _43 = IHEAP[_42];
            var _44 = _43;
            (function() { try { __THREW__ = false; return FUNCTION_TABLE[_44](_this) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 385; ; } else { __lastLabel__ = 385; __label__ = 254; /* _lpad */ break _invcont$_lpad$17580; }
            _bb20$17591: while(1) { // _bb20
              var _54 = __lastLabel__ == 3253 ? _53 : (0);
              var _55 = _54 < _iftmp_341_0;
              if (!(_55)) { __label__ = 419; /* _bb23 */ break _bb21$_bb11$17587; }
              var _45 = IHEAP[_12];
              var _46 = _45+148;
              var _47 = IHEAP[_46];
              var _48 = _47;
              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_48](_this, _fixedTimeStep_addr_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17580; }
              var _49 = IHEAP[_12];
              var _50 = _49+76;
              var _51 = IHEAP[_50];
              var _52 = _51;
              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_52](_this) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17580; }
              var _53 = _54 + 1;
              __lastLabel__ = 3253; __label__ = 117; /* _bb20 */ continue _bb20$17591;
            }
          }
        } while(0);
        var _60 = IHEAP[_12];
        var _61 = _60+112;
        var _62 = IHEAP[_61];
        var _63 = _62;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_63](_this) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17580; }
        (function() { try { __THREW__ = false; return __ZN15CProfileManager23Increment_Frame_CounterEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17580; }
        __ZN15CProfileManager12Stop_ProfileEv();
        ;
        return _numSimulationSubSteps_0;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select31 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2266; /* _invcont27 */  } else { __label__ = 3755; /* _lpad32 */  }
    if (__label__ == 2266) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 3755) {
      var _eh_ptr33 = _llvm_eh_exception();
      var _eh_select35 = _llvm_eh_selector(_eh_ptr33, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN23btDiscreteDynamicsWorld14stepSimulationEfif.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld14stepSimulationEfif, "__ZN23btDiscreteDynamicsWorld14stepSimulationEfif");
  
  
  function __ZN23btDiscreteDynamicsWorld23synchronizeMotionStatesEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 128;
    var __label__;
    var __lastLabel__ = null;
    var _interpolatedTransform_i29 = __stackBase__;
    var _interpolatedTransform_i = __stackBase__+64;
    __ZN15CProfileManager13Start_ProfileEPKc(__str927);
    var _0 = _this+246;
    var _1 = IHEAP[_0];
    var _toBool = _1 == 0;
    ;
    _bb14_preheader$_bb4_preheader$17609: do { 
      if (_toBool) {
        ;
        var _2 = _this+204+4;
        var _3 = _this+204+12;
        var _4 = _this+240;
        __lastLabel__ = 3254; ;
        _bb14$17611: while(1) { // _bb14
          var _63 = __lastLabel__ == 108 ? _62 : (0);
          var _64 = IHEAP[_2];
          var _65 = _64 > _63;
          if (!(_65)) { __label__ = 64; /* _bb19 */ break _bb14_preheader$_bb4_preheader$17609; }
          var _38 = IHEAP[_3];
          var _scevgep39 = _38+4*_63;
          var _39 = IHEAP[_scevgep39];
          var _40 = _39+216;
          var _41 = IHEAP[_40];
          if (_41 == 2) {
            __label__ = 108; /* _bb13 */ 
          }
          else if (_41 == 5) {
            __label__ = 108; /* _bb13 */ 
          }
          else {
          __label__ = 292; /* _bb11 */ 
          }
          
          _bb11$_bb13$17614: do { 
            if (__label__ == 292) {
              var _42 = _39+472;
              var _43 = IHEAP[_42];
              var _44 = _43 == 0;
              if (_44) { __label__ = 108; /* _bb13 */ break _bb11$_bb13$17614; }
              var _45 = _39+204;
              var _46 = IHEAP[_45];
              var _47 = _46 & 3;
              var _48 = _47 == 0;
              if (!(_48)) { __label__ = 108; /* _bb13 */ break _bb11$_bb13$17614; }
              var _49 = FHEAP[_4];
              var _50 = _39+240;
              var _51 = FHEAP[_50];
              var _52 = _49 * _51;
              var _53 = _39+148;
              var _54 = _39+132;
              var _55 = _39+68;
              __ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(_55, _54, _53, _52, _interpolatedTransform_i29);
              var _56 = IHEAP[_42];
              var _57 = _56;
              var _58 = IHEAP[_57];
              var _59 = _58+12;
              var _60 = IHEAP[_59];
              var _61 = _60;
              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_61](_56, _interpolatedTransform_i29) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb14_preheader$_bb4_preheader$17609; }
            }
          } while(0);
          var _62 = _63 + 1;
          __lastLabel__ = 108; __label__ = 63; /* _bb14 */ continue _bb14$17611;
        }
      }
      else {
        ;
        var _5 = _this+4+4;
        var _6 = _this+4+12;
        var _7 = _this+240;
        __lastLabel__ = 262; ;
        _bb4$17620: while(1) { // _bb4
          var _35 = __lastLabel__ == 116 ? _34 : (0);
          var _36 = IHEAP[_5];
          var _37 = _36 > _35;
          if (!(_37)) { __label__ = 64; /* _bb19 */ break _bb14_preheader$_bb4_preheader$17609; }
          var _8 = IHEAP[_6];
          var _scevgep = _8+4*_35;
          var _9 = IHEAP[_scevgep];
          var _10 = _9+232;
          var _11 = IHEAP[_10];
          var __lobit_i = _11 & 2;
          var _toBool_i = __lobit_i == 0;
          var _12 = _9 == 0;
          var _or_cond = _toBool_i | _12;
          ;
          _bb3$_bb2$17623: do { 
            if (!_or_cond) {
              ;
              var _13 = _9+256+216;
              var _14 = _13;
              var _15 = IHEAP[_14];
              var _16 = _15 == 0;
              if (_16) { __label__ = 116; /* _bb3 */ break _bb3$_bb2$17623; }
              var _17 = _9+204;
              var _18 = IHEAP[_17];
              var _19 = _18 & 3;
              var _20 = _19 == 0;
              if (!(_20)) { __label__ = 116; /* _bb3 */ break _bb3$_bb2$17623; }
              var _21 = FHEAP[_7];
              var _22 = _9+240;
              var _23 = FHEAP[_22];
              var _24 = _21 * _23;
              var _25 = _9+148;
              var _26 = _9+132;
              var _27 = _9+68;
              __ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_(_27, _26, _25, _24, _interpolatedTransform_i);
              var _28 = IHEAP[_14];
              var _29 = _28;
              var _30 = IHEAP[_29];
              var _31 = _30+12;
              var _32 = IHEAP[_31];
              var _33 = _32;
              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_33](_28, _interpolatedTransform_i) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _bb14_preheader$_bb4_preheader$17609; }
            }
          } while(0);
          var _34 = _35 + 1;
          __lastLabel__ = 116; __label__ = 61; /* _bb4 */ continue _bb4$17620;
        }
      }
    } while(0);
    if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select21 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 604; /* _invcont17 */  } else { __label__ = 1346; /* _lpad22 */  }
      if (__label__ == 604) {
        __Unwind_Resume_or_Rethrow(_eh_ptr);
        // unreachable
      }
      else if (__label__ == 1346) {
        var _eh_ptr23 = _llvm_eh_exception();
        var _eh_select25 = _llvm_eh_selector(_eh_ptr23, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
    else if (__label__ == 64) {
      __ZN15CProfileManager12Stop_ProfileEv();
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN23btDiscreteDynamicsWorld23synchronizeMotionStatesEv.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld23synchronizeMotionStatesEv, "__ZN23btDiscreteDynamicsWorld23synchronizeMotionStatesEv");
  
  
  function __ZN23btDiscreteDynamicsWorld14debugDrawWorldEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    __ZN15CProfileManager13Start_ProfileEPKc(__str1028);
    var _0 = _this;
    (function() { try { __THREW__ = false; return __ZN16btCollisionWorld14debugDrawWorldEv(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    _invcont$_lpad$17644: do { 
      if (__label__ == 345) {
        var _1 = _this;
        var _2 = IHEAP[_1];
        var _3 = _2+16;
        var _4 = IHEAP[_3];
        var _5 = _4;
        var _6 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_5](_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17644; };
        var _7 = _6 == 0;
        ;
        _bb13$_bb$17647: do { 
          if (!_7) {
            ;
            var _8 = IHEAP[_1];
            var _9 = _8+16;
            var _10 = IHEAP[_9];
            var _11 = _10;
            var _12 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_11](_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17644; };
            var _13 = _12;
            var _14 = IHEAP[_13];
            var _15 = _14+48;
            var _16 = IHEAP[_15];
            var _17 = _16;
            var _18 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_17](_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17644; };
            var _19 = _18 & 6144;
            var _20 = _19 == 0;
            if (_20) { __label__ = 108; /* _bb13 */ break _bb13$_bb$17647; }
            var _21 = IHEAP[_1];
            var _22 = _21+96;
            var _23 = IHEAP[_22];
            var _24 = _23;
            var _25 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_24](_this) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17644; };
            var _tmp51 = _25 + -1;
            __lastLabel__ = 3060; ;
            _bb12$17653: while(1) { // _bb12
              var _indvar = __lastLabel__ == 3060 ? 0 : (_indvar_next);
              var _i_0 = _tmp51 - _indvar;
              var _31 = _i_0 > -1;
              if (!(_31)) { __label__ = 108; /* _bb13 */ break _bb13$_bb$17647; }
              var _26 = IHEAP[_1];
              var _27 = _26+100;
              var _28 = IHEAP[_27];
              var _29 = _28;
              var _30 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_29](_this, _i_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17644; };
              var _indvar_next = _indvar + 1;
              (function() { try { __THREW__ = false; return __ZN23btDiscreteDynamicsWorld19debugDrawConstraintEP17btTypedConstraint(_this, _30) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 2405; __label__ = 3; /* _bb12 */ continue _bb12$17653; } else { __lastLabel__ = 2405; __label__ = 254; /* _lpad */ break _invcont$_lpad$17644; }
            }
          }
        } while(0);
        var _32 = IHEAP[_1];
        var _33 = _32+16;
        var _34 = IHEAP[_33];
        var _35 = _34;
        var _36 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_35](_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17644; };
        var _37 = _36 == 0;
        ;
        _bb40$_bb15$17659: do { 
          if (!_37) {
            ;
            var _38 = IHEAP[_1];
            var _39 = _38+16;
            var _40 = IHEAP[_39];
            var _41 = _40;
            var _42 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_41](_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17644; };
            var _43 = _42;
            var _44 = IHEAP[_43];
            var _45 = _44+48;
            var _46 = IHEAP[_45];
            var _47 = _46;
            var _48 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_47](_42) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17644; };
            var _49 = _48 & 3;
            var _50 = _49 == 0;
            if (_50) { __label__ = 1015; /* _bb40 */ break _bb40$_bb15$17659; }
            var _51 = IHEAP[_1];
            var _52 = _51+16;
            var _53 = IHEAP[_52];
            var _54 = _53;
            var _55 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_54](_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17644; };
            var _56 = _55 == 0;
            if (_56) { __label__ = 1015; /* _bb40 */ break _bb40$_bb15$17659; }
            var _57 = IHEAP[_1];
            var _58 = _57+16;
            var _59 = IHEAP[_58];
            var _60 = _59;
            var _61 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_60](_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17644; };
            var _62 = _61;
            var _63 = IHEAP[_62];
            var _64 = _63+48;
            var _65 = IHEAP[_64];
            var _66 = _65;
            var _67 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[_66](_61) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17644; };
            var _68 = _67 == 0;
            if (_68) { __label__ = 1015; /* _bb40 */ break _bb40$_bb15$17659; }
            var _69 = _this+248+4;
            var _70 = _this+248+12;
            var _71 = _this+84;
            __lastLabel__ = 3259; ;
            _bb35$17669: while(1) { // _bb35
              var _81 = __lastLabel__ == 3260 ? _80 : (0);
              var _82 = IHEAP[_69];
              var _83 = _82 > _81;
              if (!(_83)) { __label__ = 1015; /* _bb40 */ break _bb40$_bb15$17659; }
              var _72 = IHEAP[_70];
              var _scevgep = _72+4*_81;
              var _73 = IHEAP[_scevgep];
              var _74 = _73;
              var _75 = IHEAP[_74];
              var _76 = _75+12;
              var _77 = IHEAP[_76];
              var _78 = IHEAP[_71];
              var _79 = _77;
              (function() { try { __THREW__ = false; return FUNCTION_TABLE[_79](_73, _78) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$17644; }
              var _80 = _81 + 1;
              __lastLabel__ = 3260; __label__ = 518; /* _bb35 */ continue _bb35$17669;
            }
          }
        } while(0);
        __ZN15CProfileManager12Stop_ProfileEv();
        ;
        return;
      }
    } while(0);
    var _eh_ptr = _llvm_eh_exception();
    var _eh_select42 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
    (function() { try { __THREW__ = false; return __ZN15CProfileManager12Stop_ProfileEv() } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3855; /* _invcont38 */  } else { __label__ = 494; /* _lpad43 */  }
    if (__label__ == 3855) {
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
    else if (__label__ == 494) {
      var _eh_ptr44 = _llvm_eh_exception();
      var _eh_select46 = _llvm_eh_selector(_eh_ptr44, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN23btDiscreteDynamicsWorld14debugDrawWorldEv.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorld14debugDrawWorldEv, "__ZN23btDiscreteDynamicsWorld14debugDrawWorldEv");
  
  
  function __ZN23btDiscreteDynamicsWorldD0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btDiscreteDynamicsWorld+8;
    var _1 = _this+244;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb2$_bb$17693: do { 
      if (_toBool) {
        __label__ = 0; /* _bb2 */ 
      }
      else {
        ;
        var _3 = _this+180;
        var _4 = IHEAP[_3];
        var _5 = _4;
        var _6 = IHEAP[_5];
        var _7 = IHEAP[_6];
        var _8 = _7;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_8](_4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3079; /* _lpad52 */ break _bb2$_bb$17693; }
        var _9 = IHEAP[_3];
        var _10 = _9;
        (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_10) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 0; /* _bb2 */ break _bb2$_bb$17693; } else { __label__ = 3079; /* _lpad52 */ break _bb2$_bb$17693; }
      }
    } while(0);
    _bb2$_lpad52$17696: do { 
      if (__label__ == 0) {
        var _11 = _this+245;
        var _12 = IHEAP[_11];
        var _toBool3 = _12 == 0;
        ;
        if (!_toBool3) {
          ;
          var _13 = _this+176;
          var _14 = IHEAP[_13];
          var _15 = _14;
          var _16 = IHEAP[_15];
          var _17 = IHEAP[_16];
          var _18 = _17;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_18](_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3079; /* _lpad52 */ break _bb2$_lpad52$17696; }
          var _19 = IHEAP[_13];
          var _20 = _19;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_20) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3079; /* _lpad52 */ break _bb2$_lpad52$17696; }
        }
        var _21 = _this+248+12;
        var _22 = IHEAP[_21];
        var _23 = _22 == 0;
        ;
        if (!_23) {
          ;
          var _24 = _this+248+16;
          var _25 = IHEAP[_24];
          var _toBool_i_i_i = _25 == 0;
          ;
          _bb2_i_i_i$_bb1_i_i_i$17704: do { 
            if (!_toBool_i_i_i) {
              ;
              var _26 = _22;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_26) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$17704; } else { ; }
              var _eh_ptr49 = _llvm_eh_exception();
              var _eh_select51 = _llvm_eh_selector(_eh_ptr49, ___gxx_personality_v0, 0);
              __lastLabel__ = 3267; __label__ = 3268; /* _ppad73 */ break _bb2$_lpad52$17696;
            }
          } while(0);
          IHEAP[_21] = 0;
          ;
        }
        var _27 = _this+248+16;
        IHEAP[_27] = 1;
        IHEAP[_21] = 0;
        var _28 = _this+248+4;
        IHEAP[_28] = 0;
        var _29 = _this+248+8;
        IHEAP[_29] = 0;
        var _30 = _this+204+12;
        var _31 = IHEAP[_30];
        var _32 = _31 == 0;
        ;
        if (!_32) {
          ;
          var _33 = _this+204+16;
          var _34 = IHEAP[_33];
          var _toBool_i_i_i80 = _34 == 0;
          ;
          _bb2_i_i_i83$_bb1_i_i_i82$17711: do { 
            if (!_toBool_i_i_i80) {
              ;
              var _35 = _31;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_35) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4027; /* _bb2_i_i_i83 */ break _bb2_i_i_i83$_bb1_i_i_i82$17711; } else { ; }
              var _eh_ptr45 = _llvm_eh_exception();
              var _eh_select47 = _llvm_eh_selector(_eh_ptr45, ___gxx_personality_v0, 0);
              __lastLabel__ = 3265; __label__ = 3266; /* _ppad72 */ break _bb2$_lpad52$17696;
            }
          } while(0);
          IHEAP[_30] = 0;
          ;
        }
        var _36 = _this+204+16;
        IHEAP[_36] = 1;
        IHEAP[_30] = 0;
        var _37 = _this+204+4;
        IHEAP[_37] = 0;
        var _38 = _this+204+8;
        IHEAP[_38] = 0;
        var _39 = _this+184+12;
        var _40 = IHEAP[_39];
        var _41 = _40 == 0;
        ;
        if (!_41) {
          ;
          var _42 = _this+184+16;
          var _43 = IHEAP[_42];
          var _toBool_i_i_i85 = _43 == 0;
          ;
          _bb2_i_i_i88$_bb1_i_i_i87$17718: do { 
            if (!_toBool_i_i_i85) {
              ;
              var _44 = _40;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_44) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4028; /* _bb2_i_i_i88 */ break _bb2_i_i_i88$_bb1_i_i_i87$17718; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select43 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb2$_lpad52$17696;
            }
          } while(0);
          IHEAP[_39] = 0;
          ;
        }
        var _45 = _this+184+16;
        IHEAP[_45] = 1;
        IHEAP[_39] = 0;
        var _46 = _this+184+4;
        IHEAP[_46] = 0;
        var _47 = _this+184+8;
        IHEAP[_47] = 0;
        IHEAP[_0] = __ZTV15btDynamicsWorld+8;
        var _48 = _this;
        __ZN16btCollisionWorldD2Ev(_48);
        var _49 = _this;
        __ZdlPv(_49);
        ;
        return;
      }
    } while(0);
    _ppad$_ppad72$_ppad73$_lpad52$17723: do { 
      if (__label__ == 3079) {
        var _eh_ptr53 = _llvm_eh_exception();
        var _eh_select55 = _llvm_eh_selector(_eh_ptr53, ___gxx_personality_v0, 0);
        var _50 = _this+248+12;
        var _51 = IHEAP[_50];
        var _52 = _51 == 0;
        ;
        if (!_52) {
          ;
          var _53 = _this+248+16;
          var _54 = IHEAP[_53];
          var _toBool_i_i_i90 = _54 == 0;
          ;
          _bb2_i_i_i93$_bb1_i_i_i92$17727: do { 
            if (!_toBool_i_i_i90) {
              ;
              var _55 = _51;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_55) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4014; /* _bb2_i_i_i93 */ break _bb2_i_i_i93$_bb1_i_i_i92$17727; } else { ; }
              var _eh_ptr57 = _llvm_eh_exception();
              var _eh_select59 = _llvm_eh_selector(_eh_ptr57, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_50] = 0;
          ;
        }
        var _56 = _this+248+16;
        IHEAP[_56] = 1;
        IHEAP[_50] = 0;
        var _57 = _this+248+4;
        IHEAP[_57] = 0;
        var _58 = _this+248+8;
        IHEAP[_58] = 0;
        __lastLabel__ = 3270; __label__ = 3268; /* _ppad73 */ break _ppad$_ppad72$_ppad73$_lpad52$17723;
      }
    } while(0);
    _ppad$_ppad72$_ppad73$17732: do { 
      if (__label__ == 3268) {
        var _eh_exception_0 = __lastLabel__ == 3267 ? _eh_ptr49 : (_eh_ptr53);
        var _69 = _this+204+12;
        var _70 = IHEAP[_69];
        var _71 = _70 == 0;
        ;
        if (!_71) {
          ;
          var _72 = _this+204+16;
          var _73 = IHEAP[_72];
          var _toBool_i_i_i103 = _73 == 0;
          ;
          _bb2_i_i_i106$_bb1_i_i_i105$17736: do { 
            if (!_toBool_i_i_i103) {
              ;
              var _74 = _70;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_74) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4029; /* _bb2_i_i_i106 */ break _bb2_i_i_i106$_bb1_i_i_i105$17736; } else { ; }
              var _eh_ptr61 = _llvm_eh_exception();
              var _eh_select63 = _llvm_eh_selector(_eh_ptr61, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_69] = 0;
          ;
        }
        var _75 = _this+204+16;
        IHEAP[_75] = 1;
        IHEAP[_69] = 0;
        var _76 = _this+204+4;
        IHEAP[_76] = 0;
        var _77 = _this+204+8;
        IHEAP[_77] = 0;
        __lastLabel__ = 3275; __label__ = 3266; /* _ppad72 */ break _ppad$_ppad72$_ppad73$17732;
      }
    } while(0);
    if (__label__ == 3266) {
      var _eh_exception_1 = __lastLabel__ == 3265 ? _eh_ptr45 : (_eh_exception_0);
      var _60 = _this+184+12;
      var _61 = IHEAP[_60];
      var _62 = _61 == 0;
      ;
      if (!_62) {
        ;
        var _63 = _this+184+16;
        var _64 = IHEAP[_63];
        var _toBool_i_i_i97 = _64 == 0;
        ;
        _bb2_i_i_i100$_bb1_i_i_i99$17745: do { 
          if (!_toBool_i_i_i97) {
            ;
            var _65 = _61;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_65) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3875; /* _bb2_i_i_i100 */ break _bb2_i_i_i100$_bb1_i_i_i99$17745; } else { ; }
            var _eh_ptr65 = _llvm_eh_exception();
            var _eh_select67 = _llvm_eh_selector(_eh_ptr65, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_60] = 0;
        ;
      }
      var _66 = _this+184+16;
      IHEAP[_66] = 1;
      IHEAP[_60] = 0;
      var _67 = _this+184+4;
      IHEAP[_67] = 0;
      var _68 = _this+184+8;
      IHEAP[_68] = 0;
      __lastLabel__ = 3272; ;
    }
    var _eh_exception_2 = __lastLabel__ == 254 ? _eh_ptr : (_eh_exception_1);
    IHEAP[_0] = __ZTV15btDynamicsWorld+8;
    var _59 = _this;
    (function() { try { __THREW__ = false; return __ZN16btCollisionWorldD2Ev(_59) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3934; /* _invcont33 */  } else { __label__ = 3898; /* _lpad68 */  }
    if (__label__ == 3934) {
      __Unwind_Resume_or_Rethrow(_eh_exception_2);
      // unreachable
    }
    else if (__label__ == 3898) {
      var _eh_ptr69 = _llvm_eh_exception();
      var _eh_select71 = _llvm_eh_selector(_eh_ptr69, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN23btDiscreteDynamicsWorldD0Ev.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorldD0Ev, "__ZN23btDiscreteDynamicsWorldD0Ev");
  
  
  function __ZN23btDiscreteDynamicsWorldD2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV23btDiscreteDynamicsWorld+8;
    var _1 = _this+244;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb2$_bb$17756: do { 
      if (_toBool) {
        __label__ = 0; /* _bb2 */ 
      }
      else {
        ;
        var _3 = _this+180;
        var _4 = IHEAP[_3];
        var _5 = _4;
        var _6 = IHEAP[_5];
        var _7 = IHEAP[_6];
        var _8 = _7;
        (function() { try { __THREW__ = false; return FUNCTION_TABLE[_8](_4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3079; /* _lpad52 */ break _bb2$_bb$17756; }
        var _9 = IHEAP[_3];
        var _10 = _9;
        (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_10) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 0; /* _bb2 */ break _bb2$_bb$17756; } else { __label__ = 3079; /* _lpad52 */ break _bb2$_bb$17756; }
      }
    } while(0);
    _bb2$_lpad52$17759: do { 
      if (__label__ == 0) {
        var _11 = _this+245;
        var _12 = IHEAP[_11];
        var _toBool3 = _12 == 0;
        ;
        if (!_toBool3) {
          ;
          var _13 = _this+176;
          var _14 = IHEAP[_13];
          var _15 = _14;
          var _16 = IHEAP[_15];
          var _17 = IHEAP[_16];
          var _18 = _17;
          (function() { try { __THREW__ = false; return FUNCTION_TABLE[_18](_14) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3079; /* _lpad52 */ break _bb2$_lpad52$17759; }
          var _19 = IHEAP[_13];
          var _20 = _19;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_20) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3079; /* _lpad52 */ break _bb2$_lpad52$17759; }
        }
        var _21 = _this+248+12;
        var _22 = IHEAP[_21];
        var _23 = _22 == 0;
        ;
        if (!_23) {
          ;
          var _24 = _this+248+16;
          var _25 = IHEAP[_24];
          var _toBool_i_i_i = _25 == 0;
          ;
          _bb2_i_i_i$_bb1_i_i_i$17767: do { 
            if (!_toBool_i_i_i) {
              ;
              var _26 = _22;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_26) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$17767; } else { ; }
              var _eh_ptr49 = _llvm_eh_exception();
              var _eh_select51 = _llvm_eh_selector(_eh_ptr49, ___gxx_personality_v0, 0);
              __lastLabel__ = 3267; __label__ = 3268; /* _ppad73 */ break _bb2$_lpad52$17759;
            }
          } while(0);
          IHEAP[_21] = 0;
          ;
        }
        var _27 = _this+248+16;
        IHEAP[_27] = 1;
        IHEAP[_21] = 0;
        var _28 = _this+248+4;
        IHEAP[_28] = 0;
        var _29 = _this+248+8;
        IHEAP[_29] = 0;
        var _30 = _this+204+12;
        var _31 = IHEAP[_30];
        var _32 = _31 == 0;
        ;
        if (!_32) {
          ;
          var _33 = _this+204+16;
          var _34 = IHEAP[_33];
          var _toBool_i_i_i80 = _34 == 0;
          ;
          _bb2_i_i_i83$_bb1_i_i_i82$17774: do { 
            if (!_toBool_i_i_i80) {
              ;
              var _35 = _31;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_35) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4027; /* _bb2_i_i_i83 */ break _bb2_i_i_i83$_bb1_i_i_i82$17774; } else { ; }
              var _eh_ptr45 = _llvm_eh_exception();
              var _eh_select47 = _llvm_eh_selector(_eh_ptr45, ___gxx_personality_v0, 0);
              __lastLabel__ = 3265; __label__ = 3266; /* _ppad72 */ break _bb2$_lpad52$17759;
            }
          } while(0);
          IHEAP[_30] = 0;
          ;
        }
        var _36 = _this+204+16;
        IHEAP[_36] = 1;
        IHEAP[_30] = 0;
        var _37 = _this+204+4;
        IHEAP[_37] = 0;
        var _38 = _this+204+8;
        IHEAP[_38] = 0;
        var _39 = _this+184+12;
        var _40 = IHEAP[_39];
        var _41 = _40 == 0;
        ;
        if (!_41) {
          ;
          var _42 = _this+184+16;
          var _43 = IHEAP[_42];
          var _toBool_i_i_i85 = _43 == 0;
          ;
          _bb2_i_i_i88$_bb1_i_i_i87$17781: do { 
            if (!_toBool_i_i_i85) {
              ;
              var _44 = _40;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_44) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4028; /* _bb2_i_i_i88 */ break _bb2_i_i_i88$_bb1_i_i_i87$17781; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select43 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb2$_lpad52$17759;
            }
          } while(0);
          IHEAP[_39] = 0;
          ;
        }
        var _45 = _this+184+16;
        IHEAP[_45] = 1;
        IHEAP[_39] = 0;
        var _46 = _this+184+4;
        IHEAP[_46] = 0;
        var _47 = _this+184+8;
        IHEAP[_47] = 0;
        IHEAP[_0] = __ZTV15btDynamicsWorld+8;
        var _48 = _this;
        __ZN16btCollisionWorldD2Ev(_48);
        ;
        return;
      }
    } while(0);
    _ppad$_ppad72$_ppad73$_lpad52$17786: do { 
      if (__label__ == 3079) {
        var _eh_ptr53 = _llvm_eh_exception();
        var _eh_select55 = _llvm_eh_selector(_eh_ptr53, ___gxx_personality_v0, 0);
        var _49 = _this+248+12;
        var _50 = IHEAP[_49];
        var _51 = _50 == 0;
        ;
        if (!_51) {
          ;
          var _52 = _this+248+16;
          var _53 = IHEAP[_52];
          var _toBool_i_i_i90 = _53 == 0;
          ;
          _bb2_i_i_i93$_bb1_i_i_i92$17790: do { 
            if (!_toBool_i_i_i90) {
              ;
              var _54 = _50;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_54) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4014; /* _bb2_i_i_i93 */ break _bb2_i_i_i93$_bb1_i_i_i92$17790; } else { ; }
              var _eh_ptr57 = _llvm_eh_exception();
              var _eh_select59 = _llvm_eh_selector(_eh_ptr57, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_49] = 0;
          ;
        }
        var _55 = _this+248+16;
        IHEAP[_55] = 1;
        IHEAP[_49] = 0;
        var _56 = _this+248+4;
        IHEAP[_56] = 0;
        var _57 = _this+248+8;
        IHEAP[_57] = 0;
        __lastLabel__ = 3270; __label__ = 3268; /* _ppad73 */ break _ppad$_ppad72$_ppad73$_lpad52$17786;
      }
    } while(0);
    _ppad$_ppad72$_ppad73$17795: do { 
      if (__label__ == 3268) {
        var _eh_exception_0 = __lastLabel__ == 3267 ? _eh_ptr49 : (_eh_ptr53);
        var _68 = _this+204+12;
        var _69 = IHEAP[_68];
        var _70 = _69 == 0;
        ;
        if (!_70) {
          ;
          var _71 = _this+204+16;
          var _72 = IHEAP[_71];
          var _toBool_i_i_i103 = _72 == 0;
          ;
          _bb2_i_i_i106$_bb1_i_i_i105$17799: do { 
            if (!_toBool_i_i_i103) {
              ;
              var _73 = _69;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_73) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4029; /* _bb2_i_i_i106 */ break _bb2_i_i_i106$_bb1_i_i_i105$17799; } else { ; }
              var _eh_ptr61 = _llvm_eh_exception();
              var _eh_select63 = _llvm_eh_selector(_eh_ptr61, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_68] = 0;
          ;
        }
        var _74 = _this+204+16;
        IHEAP[_74] = 1;
        IHEAP[_68] = 0;
        var _75 = _this+204+4;
        IHEAP[_75] = 0;
        var _76 = _this+204+8;
        IHEAP[_76] = 0;
        __lastLabel__ = 3275; __label__ = 3266; /* _ppad72 */ break _ppad$_ppad72$_ppad73$17795;
      }
    } while(0);
    if (__label__ == 3266) {
      var _eh_exception_1 = __lastLabel__ == 3265 ? _eh_ptr45 : (_eh_exception_0);
      var _59 = _this+184+12;
      var _60 = IHEAP[_59];
      var _61 = _60 == 0;
      ;
      if (!_61) {
        ;
        var _62 = _this+184+16;
        var _63 = IHEAP[_62];
        var _toBool_i_i_i97 = _63 == 0;
        ;
        _bb2_i_i_i100$_bb1_i_i_i99$17808: do { 
          if (!_toBool_i_i_i97) {
            ;
            var _64 = _60;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_64) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3875; /* _bb2_i_i_i100 */ break _bb2_i_i_i100$_bb1_i_i_i99$17808; } else { ; }
            var _eh_ptr65 = _llvm_eh_exception();
            var _eh_select67 = _llvm_eh_selector(_eh_ptr65, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_59] = 0;
        ;
      }
      var _65 = _this+184+16;
      IHEAP[_65] = 1;
      IHEAP[_59] = 0;
      var _66 = _this+184+4;
      IHEAP[_66] = 0;
      var _67 = _this+184+8;
      IHEAP[_67] = 0;
      __lastLabel__ = 3272; ;
    }
    var _eh_exception_2 = __lastLabel__ == 254 ? _eh_ptr : (_eh_exception_1);
    IHEAP[_0] = __ZTV15btDynamicsWorld+8;
    var _58 = _this;
    (function() { try { __THREW__ = false; return __ZN16btCollisionWorldD2Ev(_58) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3934; /* _invcont33 */  } else { __label__ = 3898; /* _lpad68 */  }
    if (__label__ == 3934) {
      __Unwind_Resume_or_Rethrow(_eh_exception_2);
      // unreachable
    }
    else if (__label__ == 3898) {
      var _eh_ptr69 = _llvm_eh_exception();
      var _eh_select71 = _llvm_eh_selector(_eh_ptr69, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  __ZN23btDiscreteDynamicsWorldD2Ev.__index__ = Runtime.getFunctionIndex(__ZN23btDiscreteDynamicsWorldD2Ev, "__ZN23btDiscreteDynamicsWorldD2Ev");
  
  
  function __ZNK11btRigidBody21serializeSingleObjectEP12btSerializer(_this, _serializer) {
    ;
    var __label__;
    var _0 = _serializer;
    var _1 = IHEAP[_0];
    var _2 = _1+16;
    var _3 = IHEAP[_2];
    var _4 = _this;
    var _5 = IHEAP[_4];
    var _6 = _5+16;
    var _7 = IHEAP[_6];
    var _8 = _7;
    var _9 = FUNCTION_TABLE[_8](_this);
    var _10 = _3;
    var _11 = FUNCTION_TABLE[_10](_serializer, _9, 1);
    var _12 = IHEAP[_4];
    var _13 = _12+20;
    var _14 = IHEAP[_13];
    var _15 = _11+8;
    var _16 = IHEAP[_15];
    var _17 = _14;
    var _18 = FUNCTION_TABLE[_17](_this, _16, _serializer);
    var _19 = IHEAP[_0];
    var _20 = _19+20;
    var _21 = IHEAP[_20];
    var _22 = _this;
    var _23 = _21;
    FUNCTION_TABLE[_23](_serializer, _11, _18, 1497645650, _22);
    ;
    return;
  }
  __ZNK11btRigidBody21serializeSingleObjectEP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK11btRigidBody21serializeSingleObjectEP12btSerializer, "__ZNK11btRigidBody21serializeSingleObjectEP12btSerializer");
  
  
  function __ZN11btRigidBodyD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV11btRigidBody+8;
    var _1 = _this+476+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+476+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$17903: do { 
        if (!_toBool_i_i_i) {
          ;
          var _6 = _2;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$17903; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _12 = _this;
          (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(_12) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
          if (__label__ == 1554) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 3761) {
            var _eh_ptr10 = _llvm_eh_exception();
            var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+476+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+476+4;
    IHEAP[_8] = 0;
    var _9 = _this+476+8;
    IHEAP[_9] = 0;
    var _10 = _this;
    __ZN17btCollisionObjectD2Ev(_10);
    var _11 = _this;
    __Z21btAlignedFreeInternalPv(_11);
    ;
    return;
  }
  __ZN11btRigidBodyD0Ev.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBodyD0Ev, "__ZN11btRigidBodyD0Ev");
  
  
  function __ZN11btRigidBodyD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV11btRigidBody+8;
    var _1 = _this+476+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    if (!_3) {
      ;
      var _4 = _this+476+16;
      var _5 = IHEAP[_4];
      var _toBool_i_i_i = _5 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$17914: do { 
        if (!_toBool_i_i_i) {
          ;
          var _6 = _2;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$17914; } else { ; }
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select8 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _11 = _this;
          (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(_11) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1554; /* _invcont1 */  } else { __label__ = 3761; /* _lpad9 */  }
          if (__label__ == 1554) {
            __Unwind_Resume_or_Rethrow(_eh_ptr);
            // unreachable
          }
          else if (__label__ == 3761) {
            var _eh_ptr10 = _llvm_eh_exception();
            var _eh_select12 = _llvm_eh_selector(_eh_ptr10, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[_1] = 0;
      ;
    }
    var _7 = _this+476+16;
    IHEAP[_7] = 1;
    IHEAP[_1] = 0;
    var _8 = _this+476+4;
    IHEAP[_8] = 0;
    var _9 = _this+476+8;
    IHEAP[_9] = 0;
    var _10 = _this;
    __ZN17btCollisionObjectD2Ev(_10);
    ;
    return;
  }
  __ZN11btRigidBodyD1Ev.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBodyD1Ev, "__ZN11btRigidBodyD1Ev");
  
  
  function __ZNK11btRigidBody9serializeEPvP12btSerializer(_this, _dataBuffer, _serializer) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = __ZNK17btCollisionObject9serializeEPvP12btSerializer(_0, _dataBuffer, _serializer);
    var _2 = _dataBuffer+248;
    var _scevgep_i_i = _this+256;
    var _scevgep4_i_i = _2;
    var _scevgep_1_i_i = _this+256+4;
    var _scevgep4_1_i_i = _dataBuffer+252;
    var _3 = _scevgep4_1_i_i;
    var _scevgep_2_i_i = _this+256+8;
    var _scevgep4_2_i_i = _dataBuffer+256;
    var _4 = _scevgep4_2_i_i;
    var _scevgep_3_i_i = _this+256+12;
    var _scevgep4_3_i_i = _dataBuffer+260;
    var _5 = _scevgep4_3_i_i;
    var _6 = FHEAP[_scevgep_i_i];
    FHEAP[_scevgep4_i_i] = _6;
    var _7 = FHEAP[_scevgep_1_i_i];
    FHEAP[_3] = _7;
    var _8 = FHEAP[_scevgep_2_i_i];
    FHEAP[_4] = _8;
    var _9 = FHEAP[_scevgep_3_i_i];
    FHEAP[_5] = _9;
    var _scevgep_i_1_i = _this+256+16;
    var _scevgep4_i_1_i = _dataBuffer+264;
    var _10 = _scevgep4_i_1_i;
    var _scevgep_1_i_1_i = _this+256+16+4;
    var _scevgep4_1_i_1_i = _dataBuffer+268;
    var _11 = _scevgep4_1_i_1_i;
    var _scevgep_2_i_1_i = _this+256+16+8;
    var _scevgep4_2_i_1_i = _dataBuffer+272;
    var _12 = _scevgep4_2_i_1_i;
    var _scevgep_3_i_1_i = _this+256+16+12;
    var _scevgep4_3_i_1_i = _dataBuffer+276;
    var _13 = _scevgep4_3_i_1_i;
    var _14 = FHEAP[_scevgep_i_1_i];
    FHEAP[_10] = _14;
    var _15 = FHEAP[_scevgep_1_i_1_i];
    FHEAP[_11] = _15;
    var _16 = FHEAP[_scevgep_2_i_1_i];
    FHEAP[_12] = _16;
    var _17 = FHEAP[_scevgep_3_i_1_i];
    FHEAP[_13] = _17;
    var _scevgep_i_2_i = _this+256+32;
    var _scevgep4_i_2_i = _dataBuffer+280;
    var _18 = _scevgep4_i_2_i;
    var _scevgep_1_i_2_i = _this+256+32+4;
    var _scevgep4_1_i_2_i = _dataBuffer+284;
    var _19 = _scevgep4_1_i_2_i;
    var _scevgep_2_i_2_i = _this+256+32+8;
    var _scevgep4_2_i_2_i = _dataBuffer+288;
    var _20 = _scevgep4_2_i_2_i;
    var _scevgep_3_i_2_i = _this+256+32+12;
    var _scevgep4_3_i_2_i = _dataBuffer+292;
    var _21 = _scevgep4_3_i_2_i;
    var _22 = FHEAP[_scevgep_i_2_i];
    FHEAP[_18] = _22;
    var _23 = FHEAP[_scevgep_1_i_2_i];
    FHEAP[_19] = _23;
    var _24 = FHEAP[_scevgep_2_i_2_i];
    FHEAP[_20] = _24;
    var _25 = FHEAP[_scevgep_3_i_2_i];
    FHEAP[_21] = _25;
    var _26 = _dataBuffer+296;
    var _scevgep_i58 = _this+304;
    var _scevgep4_i59 = _26;
    var _27 = FHEAP[_scevgep_i58];
    FHEAP[_scevgep4_i59] = _27;
    var _scevgep_1_i60 = _this+304+4;
    var _scevgep4_1_i61 = _dataBuffer+300;
    var _28 = _scevgep4_1_i61;
    var _29 = FHEAP[_scevgep_1_i60];
    FHEAP[_28] = _29;
    var _scevgep_2_i62 = _this+304+8;
    var _scevgep4_2_i63 = _dataBuffer+304;
    var _30 = _scevgep4_2_i63;
    var _31 = FHEAP[_scevgep_2_i62];
    FHEAP[_30] = _31;
    var _scevgep_3_i64 = _this+304+12;
    var _scevgep4_3_i65 = _dataBuffer+308;
    var _32 = _scevgep4_3_i65;
    var _33 = FHEAP[_scevgep_3_i64];
    FHEAP[_32] = _33;
    var _34 = _dataBuffer+312;
    var _scevgep_i50 = _this+320;
    var _scevgep4_i51 = _34;
    var _35 = FHEAP[_scevgep_i50];
    FHEAP[_scevgep4_i51] = _35;
    var _scevgep_1_i52 = _this+320+4;
    var _scevgep4_1_i53 = _dataBuffer+316;
    var _36 = _scevgep4_1_i53;
    var _37 = FHEAP[_scevgep_1_i52];
    FHEAP[_36] = _37;
    var _scevgep_2_i54 = _this+320+8;
    var _scevgep4_2_i55 = _dataBuffer+320;
    var _38 = _scevgep4_2_i55;
    var _39 = FHEAP[_scevgep_2_i54];
    FHEAP[_38] = _39;
    var _scevgep_3_i56 = _this+320+12;
    var _scevgep4_3_i57 = _dataBuffer+324;
    var _40 = _scevgep4_3_i57;
    var _41 = FHEAP[_scevgep_3_i56];
    FHEAP[_40] = _41;
    var _42 = _this+336;
    var _43 = FHEAP[_42];
    var _44 = _dataBuffer+440;
    var _45 = _44;
    FHEAP[_45] = _43;
    var _46 = _dataBuffer+328;
    var _scevgep_i42 = _this+536;
    var _scevgep4_i43 = _46;
    var _47 = FHEAP[_scevgep_i42];
    FHEAP[_scevgep4_i43] = _47;
    var _scevgep_1_i44 = _this+536+4;
    var _scevgep4_1_i45 = _dataBuffer+332;
    var _48 = _scevgep4_1_i45;
    var _49 = FHEAP[_scevgep_1_i44];
    FHEAP[_48] = _49;
    var _scevgep_2_i46 = _this+536+8;
    var _scevgep4_2_i47 = _dataBuffer+336;
    var _50 = _scevgep4_2_i47;
    var _51 = FHEAP[_scevgep_2_i46];
    FHEAP[_50] = _51;
    var _scevgep_3_i48 = _this+536+12;
    var _scevgep4_3_i49 = _dataBuffer+340;
    var _52 = _scevgep4_3_i49;
    var _53 = FHEAP[_scevgep_3_i48];
    FHEAP[_52] = _53;
    var _54 = _dataBuffer+344;
    var _scevgep_i34 = _this+340;
    var _scevgep4_i35 = _54;
    var _55 = FHEAP[_scevgep_i34];
    FHEAP[_scevgep4_i35] = _55;
    var _scevgep_1_i36 = _this+340+4;
    var _scevgep4_1_i37 = _dataBuffer+348;
    var _56 = _scevgep4_1_i37;
    var _57 = FHEAP[_scevgep_1_i36];
    FHEAP[_56] = _57;
    var _scevgep_2_i38 = _this+340+8;
    var _scevgep4_2_i39 = _dataBuffer+352;
    var _58 = _scevgep4_2_i39;
    var _59 = FHEAP[_scevgep_2_i38];
    FHEAP[_58] = _59;
    var _scevgep_3_i40 = _this+340+12;
    var _scevgep4_3_i41 = _dataBuffer+356;
    var _60 = _scevgep4_3_i41;
    var _61 = FHEAP[_scevgep_3_i40];
    FHEAP[_60] = _61;
    var _62 = _dataBuffer+360;
    var _scevgep_i26 = _this+356;
    var _scevgep4_i27 = _62;
    var _63 = FHEAP[_scevgep_i26];
    FHEAP[_scevgep4_i27] = _63;
    var _scevgep_1_i28 = _this+356+4;
    var _scevgep4_1_i29 = _dataBuffer+364;
    var _64 = _scevgep4_1_i29;
    var _65 = FHEAP[_scevgep_1_i28];
    FHEAP[_64] = _65;
    var _scevgep_2_i30 = _this+356+8;
    var _scevgep4_2_i31 = _dataBuffer+368;
    var _66 = _scevgep4_2_i31;
    var _67 = FHEAP[_scevgep_2_i30];
    FHEAP[_66] = _67;
    var _scevgep_3_i32 = _this+356+12;
    var _scevgep4_3_i33 = _dataBuffer+372;
    var _68 = _scevgep4_3_i33;
    var _69 = FHEAP[_scevgep_3_i32];
    FHEAP[_68] = _69;
    var _70 = _dataBuffer+376;
    var _scevgep_i18 = _this+372;
    var _scevgep4_i19 = _70;
    var _71 = FHEAP[_scevgep_i18];
    FHEAP[_scevgep4_i19] = _71;
    var _scevgep_1_i20 = _this+372+4;
    var _scevgep4_1_i21 = _dataBuffer+380;
    var _72 = _scevgep4_1_i21;
    var _73 = FHEAP[_scevgep_1_i20];
    FHEAP[_72] = _73;
    var _scevgep_2_i22 = _this+372+8;
    var _scevgep4_2_i23 = _dataBuffer+384;
    var _74 = _scevgep4_2_i23;
    var _75 = FHEAP[_scevgep_2_i22];
    FHEAP[_74] = _75;
    var _scevgep_3_i24 = _this+372+12;
    var _scevgep4_3_i25 = _dataBuffer+388;
    var _76 = _scevgep4_3_i25;
    var _77 = FHEAP[_scevgep_3_i24];
    FHEAP[_76] = _77;
    var _78 = _dataBuffer+392;
    var _scevgep_i10 = _this+388;
    var _scevgep4_i11 = _78;
    var _79 = FHEAP[_scevgep_i10];
    FHEAP[_scevgep4_i11] = _79;
    var _scevgep_1_i12 = _this+388+4;
    var _scevgep4_1_i13 = _dataBuffer+396;
    var _80 = _scevgep4_1_i13;
    var _81 = FHEAP[_scevgep_1_i12];
    FHEAP[_80] = _81;
    var _scevgep_2_i14 = _this+388+8;
    var _scevgep4_2_i15 = _dataBuffer+400;
    var _82 = _scevgep4_2_i15;
    var _83 = FHEAP[_scevgep_2_i14];
    FHEAP[_82] = _83;
    var _scevgep_3_i16 = _this+388+12;
    var _scevgep4_3_i17 = _dataBuffer+404;
    var _84 = _scevgep4_3_i17;
    var _85 = FHEAP[_scevgep_3_i16];
    FHEAP[_84] = _85;
    var _86 = _dataBuffer+408;
    var _scevgep_i2 = _this+404;
    var _scevgep4_i3 = _86;
    var _87 = FHEAP[_scevgep_i2];
    FHEAP[_scevgep4_i3] = _87;
    var _scevgep_1_i4 = _this+404+4;
    var _scevgep4_1_i5 = _dataBuffer+412;
    var _88 = _scevgep4_1_i5;
    var _89 = FHEAP[_scevgep_1_i4];
    FHEAP[_88] = _89;
    var _scevgep_2_i6 = _this+404+8;
    var _scevgep4_2_i7 = _dataBuffer+416;
    var _90 = _scevgep4_2_i7;
    var _91 = FHEAP[_scevgep_2_i6];
    FHEAP[_90] = _91;
    var _scevgep_3_i8 = _this+404+12;
    var _scevgep4_3_i9 = _dataBuffer+420;
    var _92 = _scevgep4_3_i9;
    var _93 = FHEAP[_scevgep_3_i8];
    FHEAP[_92] = _93;
    var _94 = _dataBuffer+424;
    var _scevgep_i = _this+420;
    var _scevgep4_i = _94;
    var _95 = FHEAP[_scevgep_i];
    FHEAP[_scevgep4_i] = _95;
    var _scevgep_1_i = _this+420+4;
    var _scevgep4_1_i = _dataBuffer+428;
    var _96 = _scevgep4_1_i;
    var _97 = FHEAP[_scevgep_1_i];
    FHEAP[_96] = _97;
    var _scevgep_2_i = _this+420+8;
    var _scevgep4_2_i = _dataBuffer+432;
    var _98 = _scevgep4_2_i;
    var _99 = FHEAP[_scevgep_2_i];
    FHEAP[_98] = _99;
    var _scevgep_3_i = _this+420+12;
    var _scevgep4_3_i = _dataBuffer+436;
    var _100 = _scevgep4_3_i;
    var _101 = FHEAP[_scevgep_3_i];
    FHEAP[_100] = _101;
    var _102 = _this+436;
    var _103 = FHEAP[_102];
    var _104 = _dataBuffer+444;
    var _105 = _104;
    FHEAP[_105] = _103;
    var _106 = _this+440;
    var _107 = FHEAP[_106];
    var _108 = _dataBuffer+448;
    var _109 = _108;
    FHEAP[_109] = _107;
    var _110 = _this+444;
    var _111 = IHEAP[_110];
    var _112 = _111;
    var _113 = _dataBuffer+476;
    var _114 = _113;
    IHEAP[_114] = _112;
    var _115 = _this+448;
    var _116 = FHEAP[_115];
    var _117 = _dataBuffer+452;
    var _118 = _117;
    FHEAP[_118] = _116;
    var _119 = _this+452;
    var _120 = FHEAP[_119];
    var _121 = _dataBuffer+456;
    var _122 = _121;
    FHEAP[_122] = _120;
    var _123 = _this+456;
    var _124 = FHEAP[_123];
    var _125 = _dataBuffer+460;
    var _126 = _125;
    FHEAP[_126] = _124;
    var _127 = _this+460;
    var _128 = FHEAP[_127];
    var _129 = _dataBuffer+464;
    var _130 = _129;
    FHEAP[_130] = _128;
    var _131 = _this+464;
    var _132 = FHEAP[_131];
    var _133 = _dataBuffer+468;
    var _134 = _133;
    FHEAP[_134] = _132;
    var _135 = _this+468;
    var _136 = FHEAP[_135];
    var _137 = _dataBuffer+472;
    var _138 = _137;
    FHEAP[_138] = _136;
    ;
    return __str68;
  }
  __ZNK11btRigidBody9serializeEPvP12btSerializer.__index__ = Runtime.getFunctionIndex(__ZNK11btRigidBody9serializeEPvP12btSerializer, "__ZNK11btRigidBody9serializeEPvP12btSerializer");
  
  
  function __ZN11btRigidBody16addConstraintRefEP17btTypedConstraint(_this, _c) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+476+4;
    var _1 = IHEAP[_0];
    var _2 = _this+476+12;
    __lastLabel__ = -1; ;
    _bb3_i$17924: while(1) { // _bb3_i
      var _7 = __lastLabel__ == -1 ? 0 : (_6);
      var _8 = _1 > _7;
      if (_8) { __lastLabel__ = 133; ; } else { __lastLabel__ = 133; __label__ = 3302; /* __ZNK20btAlignedObjectArrayIP17btTypedConstraintE16findLinearSearchERKS1__exit */ break _bb3_i$17924; }
      var _3 = IHEAP[_2];
      var _scevgep_i = _3+4*_7;
      var _4 = IHEAP[_scevgep_i];
      var _5 = _4 == _c;
      if (_5) { __lastLabel__ = 131; __label__ = 3302; /* __ZNK20btAlignedObjectArrayIP17btTypedConstraintE16findLinearSearchERKS1__exit */ break _bb3_i$17924; } else { __lastLabel__ = 131; ; }
      var _6 = _7 + 1;
      __lastLabel__ = 132; __label__ = 133; /* _bb3_i */ continue _bb3_i$17924;
    }
    var _index_0_i = __lastLabel__ == 133 ? _1 : (_7);
    var _9 = _1 == _index_0_i;
    ;
    if (_9) {
      ;
      var _10 = _this+476+8;
      var _11 = IHEAP[_10];
      var _12 = _11 == _1;
      ;
      _bb_i2$_bb1_i$17931: do { 
        if (_12) {
          __lastLabel__ = 60; ;
          var _13 = _1 == 0;
          var _14 = _1 << 1;
          var _iftmp_341_0_i_i = _13 ? 1 : _14;
          var _15 = _11 < _iftmp_341_0_i_i;
          if (_15) { __lastLabel__ = 654; ; } else { __lastLabel__ = 654; __label__ = 159; /* _bb1_i */ break _bb_i2$_bb1_i$17931; }
          var _16 = _iftmp_341_0_i_i == 0;
          ;
          if (_16) {
            __lastLabel__ = 263; ;
          }
          else {
            __lastLabel__ = 263; ;
            var _17 = _iftmp_341_0_i_i << 2;
            var _18 = __Z22btAlignedAllocInternalji(_17, 16);
            var _phitmp_i_i = _18;
            var __pre_i = IHEAP[_0];
            __lastLabel__ = 274; ;
          }
          var _19 = __lastLabel__ == 274 ? __pre_i : (_1);
          var _20 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
          var _21 = _19 > 0;
          if (_21) { __lastLabel__ = 3201; __label__ = 277; /* _bb_i4_i_i */  } else { __lastLabel__ = 3201; __label__ = 3202; /* __ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i_i */  }
          _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i_i$17937: while(1) { // _bb_i4_i_i,__ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i_i
            if (__label__ == 277) {
              var _indvar_i_i_i = __lastLabel__ == 279 ? _indvar_next_i_i_i : (0);
              var _scevgep_i_i_i = _20+4*_indvar_i_i_i;
              var _22 = _scevgep_i_i_i == 0;
              ;
              if (!_22) {
                ;
                var _23 = IHEAP[_2];
                var _scevgep8_i_i_i = _23+4*_indvar_i_i_i;
                var _24 = IHEAP[_scevgep8_i_i_i];
                IHEAP[_scevgep_i_i_i] = _24;
                ;
              }
              var _indvar_next_i_i_i = _indvar_i_i_i + 1;
              var _exitcond = _indvar_next_i_i_i == _19;
              if (_exitcond) { __lastLabel__ = 279; __label__ = 3202; /* __ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i_i$17937; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i_i$17937; }
            }
            else if (__label__ == 3202) {
              var _25 = IHEAP[_2];
              var _26 = _25 == 0;
              if (_26) { __label__ = 3221; /* __ZN20btAlignedObjectArrayIP17btTypedConstraintE10deallocateEv_exit_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i_i$17937; } else { __label__ = 1387; /* _bb_i_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIP17btTypedConstraintE4copyEiiPS1__exit_i_i$17937; }
            }
          }
          if (__label__ == 1387) {
            var _27 = _this+476+16;
            var _28 = IHEAP[_27];
            var _toBool_i_i_i = _28 == 0;
            ;
            if (!_toBool_i_i_i) {
              ;
              var _29 = _25;
              __Z21btAlignedFreeInternalPv(_29);
              ;
            }
            IHEAP[_2] = 0;
            ;
          }
          var _30 = _this+476+16;
          IHEAP[_30] = 1;
          IHEAP[_2] = _20;
          IHEAP[_10] = _iftmp_341_0_i_i;
          var __pre5_i = IHEAP[_0];
          __lastLabel__ = 3221; ;
        }
        else {
          __lastLabel__ = 60; ;
        }
      } while(0);
      var _31 = __lastLabel__ == 3221 ? __pre5_i : (__lastLabel__ == 60 ? _1 : (_1));
      var _32 = IHEAP[_2];
      var _33 = _32+4*_31;
      var _34 = _33 == 0;
      ;
      if (_34) {
        __lastLabel__ = 159; ;
      }
      else {
        __lastLabel__ = 159; ;
        IHEAP[_33] = _c;
        var __pre6_i = IHEAP[_0];
        __lastLabel__ = 1397; ;
      }
      var _35 = __lastLabel__ == 159 ? _31 : (__pre6_i);
      var _36 = _35 + 1;
      IHEAP[_0] = _36;
      ;
    }
    var _37 = _this+252;
    IHEAP[_37] = 1;
    ;
    return;
  }
  __ZN11btRigidBody16addConstraintRefEP17btTypedConstraint.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody16addConstraintRefEP17btTypedConstraint, "__ZN11btRigidBody16addConstraintRefEP17btTypedConstraint");
  
  
  function __ZN11btRigidBody19integrateVelocitiesEf(_this, _step) {
    ;
    var __label__;
    var _0 = _this+204;
    var _1 = IHEAP[_0];
    var _2 = _1 & 3;
    var _3 = _2 == 0;
    ;
    _bb$_return$17956: do { 
      if (_3) {
        ;
        var _4 = _this+336;
        var _5 = FHEAP[_4];
        var _6 = _5 * _step;
        var _7 = _this+404+8;
        var _8 = FHEAP[_7];
        var _9 = _8 * _6;
        var _10 = _this+404+4;
        var _11 = FHEAP[_10];
        var _12 = _11 * _6;
        var _13 = _this+404;
        var _14 = FHEAP[_13];
        var _15 = _14 * _6;
        var _16 = _this+304;
        var _17 = FHEAP[_16];
        var _18 = _17 + _15;
        FHEAP[_16] = _18;
        var _19 = _this+304+4;
        var _20 = FHEAP[_19];
        var _21 = _20 + _12;
        FHEAP[_19] = _21;
        var _22 = _this+304+8;
        var _23 = FHEAP[_22];
        var _24 = _23 + _9;
        FHEAP[_22] = _24;
        var _25 = _this+256+32;
        var _26 = FHEAP[_25];
        var _27 = _this+420;
        var _28 = FHEAP[_27];
        var _29 = _26 * _28;
        var _30 = _this+256+32+4;
        var _31 = FHEAP[_30];
        var _32 = _this+420+4;
        var _33 = FHEAP[_32];
        var _34 = _31 * _33;
        var _35 = _29 + _34;
        var _36 = _this+256+32+8;
        var _37 = FHEAP[_36];
        var _38 = _this+420+8;
        var _39 = FHEAP[_38];
        var _40 = _37 * _39;
        var _41 = _35 + _40;
        var _42 = _this+256+16;
        var _43 = FHEAP[_42];
        var _44 = _43 * _28;
        var _45 = _this+256+16+4;
        var _46 = FHEAP[_45];
        var _47 = _46 * _33;
        var _48 = _44 + _47;
        var _49 = _this+256+16+8;
        var _50 = FHEAP[_49];
        var _51 = _50 * _39;
        var _52 = _48 + _51;
        var _53 = _this+256;
        var _54 = FHEAP[_53];
        var _55 = _54 * _28;
        var _56 = _this+256+4;
        var _57 = FHEAP[_56];
        var _58 = _57 * _33;
        var _59 = _55 + _58;
        var _60 = _this+256+8;
        var _61 = FHEAP[_60];
        var _62 = _61 * _39;
        var _63 = _59 + _62;
        var _64 = _41 * _step;
        var _65 = _52 * _step;
        var _66 = _63 * _step;
        var _67 = _this+320;
        var _68 = FHEAP[_67];
        var _69 = _68 + _66;
        FHEAP[_67] = _69;
        var _70 = _this+320+4;
        var _71 = FHEAP[_70];
        var _72 = _71 + _65;
        FHEAP[_70] = _72;
        var _73 = _this+320+8;
        var _74 = FHEAP[_73];
        var _75 = _74 + _64;
        FHEAP[_73] = _75;
        var _76 = _69 * _69;
        var _77 = _72 * _72;
        var _78 = _76 + _77;
        var _79 = _75 * _75;
        var _80 = _78 + _79;
        var _81 = _sqrtf(_80);
        var _82 = _81 * _step;
        var _83 = _82 > 1.5707963705062866;
        if (!(_83)) { __label__ = 44; /* _return */ break _bb$_return$17956; }
        var _84 = 1.5707963705062866 / _step;
        var _85 = _84 / _81;
        var _86 = _69 * _85;
        FHEAP[_67] = _86;
        var _87 = _72 * _85;
        FHEAP[_70] = _87;
        var _88 = _75 * _85;
        FHEAP[_73] = _88;
        ;
        return;
      }
    } while(0);
    ;
    return;
  }
  __ZN11btRigidBody19integrateVelocitiesEf.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody19integrateVelocitiesEf, "__ZN11btRigidBody19integrateVelocitiesEf");
  
  
  function __ZN11btRigidBody12applyDampingEf(_this, _timeStep) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+436;
    var _1 = FHEAP[_0];
    var _2 = 1 - _1;
    var _3 = _llvm_pow_f32(_2, _timeStep);
    var _4 = _this+304;
    var _5 = FHEAP[_4];
    var _6 = _5 * _3;
    FHEAP[_4] = _6;
    var _7 = _this+304+4;
    var _8 = FHEAP[_7];
    var _9 = _8 * _3;
    FHEAP[_7] = _9;
    var _10 = _this+304+8;
    var _11 = FHEAP[_10];
    var _12 = _11 * _3;
    FHEAP[_10] = _12;
    var _13 = _this+440;
    var _14 = FHEAP[_13];
    var _15 = 1 - _14;
    var _16 = _llvm_pow_f32(_15, _timeStep);
    var _17 = _this+320;
    var _18 = FHEAP[_17];
    var _19 = _18 * _16;
    FHEAP[_17] = _19;
    var _20 = _this+320+4;
    var _21 = FHEAP[_20];
    var _22 = _21 * _16;
    FHEAP[_20] = _22;
    var _23 = _this+320+8;
    var _24 = FHEAP[_23];
    var _25 = _24 * _16;
    FHEAP[_23] = _25;
    var _26 = _this+444;
    var _27 = IHEAP[_26];
    var _toBool = _27 == 0;
    ;
    _return$_bb$17967: do { 
      if (!_toBool) {
        ;
        var _28 = _19 * _19;
        var _29 = _22 * _22;
        var _30 = _28 + _29;
        var _31 = _25 * _25;
        var _32 = _30 + _31;
        var _33 = _this+456;
        var _34 = FHEAP[_33];
        var _35 = _32 >= _34;
        ;
        _bb7$_bb1$17969: do { 
          if (_35) {
            __lastLabel__ = 60; ;
          }
          else {
            __lastLabel__ = 60; ;
            var _36 = _6 * _6;
            var _37 = _9 * _9;
            var _38 = _36 + _37;
            var _39 = _12 * _12;
            var _40 = _38 + _39;
            var _41 = _this+452;
            var _42 = FHEAP[_41];
            var _43 = _40 >= _42;
            if (_43) { __lastLabel__ = 75; __label__ = 2; /* _bb7 */ break _bb7$_bb1$17969; } else { __lastLabel__ = 75; ; }
            var _44 = _this+448;
            var _45 = FHEAP[_44];
            var _46 = _19 * _45;
            FHEAP[_17] = _46;
            var _47 = _22 * _45;
            FHEAP[_20] = _47;
            var _48 = _25 * _45;
            FHEAP[_23] = _48;
            var _49 = _6 * _45;
            FHEAP[_4] = _49;
            var _50 = _9 * _45;
            FHEAP[_7] = _50;
            var _51 = _12 * _45;
            FHEAP[_10] = _51;
            __lastLabel__ = 83; ;
          }
        } while(0);
        var _52 = __lastLabel__ == 60 ? _25 : (__lastLabel__ == 75 ? _25 : (_48));
        var _53 = __lastLabel__ == 60 ? _22 : (__lastLabel__ == 75 ? _22 : (_47));
        var _54 = __lastLabel__ == 60 ? _19 : (__lastLabel__ == 75 ? _19 : (_46));
        var _55 = __lastLabel__ == 60 ? _12 : (__lastLabel__ == 75 ? _12 : (_51));
        var _56 = __lastLabel__ == 60 ? _9 : (__lastLabel__ == 75 ? _9 : (_50));
        var _57 = __lastLabel__ == 60 ? _6 : (__lastLabel__ == 75 ? _6 : (_49));
        var _58 = _57 * _57;
        var _59 = _56 * _56;
        var _60 = _58 + _59;
        var _61 = _55 * _55;
        var _62 = _60 + _61;
        var _63 = _sqrtf(_62);
        var _64 = _1 > _63;
        ;
        if (_64) {
          ;
          var _65 = _63 > 0.004999999888241291;
          ;
          if (_65) {
            ;
            var _66 = 1 / _63;
            var _67 = _55 * _66;
            var _68 = _56 * _66;
            var _69 = _57 * _66;
            var _70 = _67 * 0.004999999888241291;
            var _71 = _68 * 0.004999999888241291;
            var _72 = _69 * 0.004999999888241291;
            var _73 = _57 - _72;
            FHEAP[_4] = _73;
            var _74 = _56 - _71;
            FHEAP[_7] = _74;
            var _75 = _55 - _70;
            FHEAP[_10] = _75;
            ;
          }
          else {
            ;
            FHEAP[_4] = 0;
            FHEAP[_7] = 0;
            FHEAP[_10] = 0;
            var _76 = _this+304+12;
            FHEAP[_76] = 0;
            ;
          }
        }
        var _77 = _54 * _54;
        var _78 = _53 * _53;
        var _79 = _77 + _78;
        var _80 = _52 * _52;
        var _81 = _79 + _80;
        var _82 = _sqrtf(_81);
        var _83 = _14 > _82;
        if (!(_83)) { __label__ = 44; /* _return */ break _return$_bb$17967; }
        var _84 = _82 > 0.004999999888241291;
        ;
        if (_84) {
          ;
          var _85 = 1 / _82;
          var _86 = _52 * _85;
          var _87 = _53 * _85;
          var _88 = _54 * _85;
          var _89 = _86 * 0.004999999888241291;
          var _90 = _87 * 0.004999999888241291;
          var _91 = _88 * 0.004999999888241291;
          var _92 = _54 - _91;
          FHEAP[_17] = _92;
          var _93 = _53 - _90;
          FHEAP[_20] = _93;
          var _94 = _52 - _89;
          FHEAP[_23] = _94;
          ;
          return;
        }
        else {
          ;
          FHEAP[_17] = 0;
          FHEAP[_20] = 0;
          FHEAP[_23] = 0;
          var _95 = _this+320+12;
          FHEAP[_95] = 0;
          ;
          return;
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN11btRigidBody12applyDampingEf.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBody12applyDampingEf, "__ZN11btRigidBody12applyDampingEf");
  
  
  function __ZN11btRigidBodyC2EfP13btMotionStateP16btCollisionShapeRK9btVector3(_this, _mass, _motionState, _collisionShape, _localInertia) {
    var __stackBase__  = STACKTOP; STACKTOP += 136;
    var __label__;
    var _cinfo = __stackBase__;
    var _0 = _this;
    __ZN17btCollisionObjectC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV11btRigidBody+8;
    var _2 = _this+476+16;
    IHEAP[_2] = 1;
    var _3 = _this+476+12;
    IHEAP[_3] = 0;
    var _4 = _this+476+4;
    IHEAP[_4] = 0;
    var _5 = _this+476+8;
    IHEAP[_5] = 0;
    var _6 = _cinfo;
    FHEAP[_6] = _mass;
    var _7 = _cinfo+4;
    IHEAP[_7] = _motionState;
    var _8 = _cinfo+72;
    IHEAP[_8] = _collisionShape;
    var _9 = _cinfo+76;
    var _10 = _localInertia;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _cinfo+76+4;
    var _13 = _localInertia+4;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _cinfo+76+8;
    var _16 = _localInertia+8;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _cinfo+76+12;
    var _19 = _localInertia+12;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _cinfo+92;
    FHEAP[_21] = 0;
    var _22 = _cinfo+96;
    FHEAP[_22] = 0;
    var _23 = _cinfo+100;
    FHEAP[_23] = 0.5;
    var _24 = _cinfo+104;
    FHEAP[_24] = 0;
    var _25 = _cinfo+108;
    FHEAP[_25] = 0.800000011920929;
    var _26 = _cinfo+112;
    FHEAP[_26] = 1;
    var _27 = _cinfo+116;
    IHEAP[_27] = 0;
    var _28 = _cinfo+120;
    FHEAP[_28] = 0.004999999888241291;
    var _29 = _cinfo+124;
    FHEAP[_29] = 0.009999999776482582;
    var _30 = _cinfo+128;
    FHEAP[_30] = 0.009999999776482582;
    var _31 = _cinfo+132;
    FHEAP[_31] = 0.009999999776482582;
    var _32 = _cinfo+8;
    FHEAP[_32] = 1;
    var _33 = _cinfo+8+4;
    FHEAP[_33] = 0;
    var _34 = _cinfo+8+8;
    FHEAP[_34] = 0;
    var _35 = _cinfo+8+12;
    FHEAP[_35] = 0;
    var _36 = _cinfo+8+16;
    FHEAP[_36] = 0;
    var _37 = _cinfo+8+16+4;
    FHEAP[_37] = 1;
    var _38 = _cinfo+8+16+8;
    FHEAP[_38] = 0;
    var _39 = _cinfo+8+16+12;
    FHEAP[_39] = 0;
    var _40 = _cinfo+8+32;
    FHEAP[_40] = 0;
    var _41 = _cinfo+8+32+4;
    FHEAP[_41] = 0;
    var _42 = _cinfo+8+32+8;
    FHEAP[_42] = 1;
    var _43 = _cinfo+8+32+12;
    FHEAP[_43] = 0;
    var _44 = _cinfo+8+48;
    FHEAP[_44] = 0;
    var _45 = _cinfo+8+48+4;
    FHEAP[_45] = 0;
    var _46 = _cinfo+8+48+8;
    FHEAP[_46] = 0;
    var _47 = _cinfo+8+48+12;
    FHEAP[_47] = 0;
    (function() { try { __THREW__ = false; return __ZN11btRigidBody14setupRigidBodyERKNS_27btRigidBodyConstructionInfoE(_this, _cinfo) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 44; /* _return */  } else { __label__ = 3817; /* _lpad12 */  }
    if (__label__ == 44) {
      STACKTOP = __stackBase__;
      return;
    }
    else if (__label__ == 3817) {
      var _eh_ptr13 = _llvm_eh_exception();
      var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 0);
      var _48 = IHEAP[_3];
      var _49 = _48 == 0;
      ;
      if (!_49) {
        ;
        var _50 = IHEAP[_2];
        var _toBool_i_i_i = _50 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$17997: do { 
          if (!_toBool_i_i_i) {
            ;
            var _51 = _48;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_51) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$17997; } else { ; }
            var _eh_ptr17 = _llvm_eh_exception();
            var _eh_select19 = _llvm_eh_selector(_eh_ptr17, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_3] = 0;
        ;
      }
      IHEAP[_2] = 1;
      IHEAP[_3] = 0;
      IHEAP[_4] = 0;
      IHEAP[_5] = 0;
      (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1555; /* _invcont7 */  } else { __label__ = 981; /* _lpad20 */  }
      if (__label__ == 1555) {
        __Unwind_Resume_or_Rethrow(_eh_ptr13);
        // unreachable
      }
      else if (__label__ == 981) {
        var _eh_ptr21 = _llvm_eh_exception();
        var _eh_select23 = _llvm_eh_selector(_eh_ptr21, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZN11btRigidBodyC2EfP13btMotionStateP16btCollisionShapeRK9btVector3.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBodyC2EfP13btMotionStateP16btCollisionShapeRK9btVector3, "__ZN11btRigidBodyC2EfP13btMotionStateP16btCollisionShapeRK9btVector3");
  
  
  function __ZN11btRigidBodyC2ERKNS_27btRigidBodyConstructionInfoE(_this, _constructionInfo) {
    ;
    var __label__;
    var _0 = _this;
    __ZN17btCollisionObjectC2Ev(_0);
    var _1 = _this;
    IHEAP[_1] = __ZTV11btRigidBody+8;
    var _2 = _this+476+16;
    IHEAP[_2] = 1;
    var _3 = _this+476+12;
    IHEAP[_3] = 0;
    var _4 = _this+476+4;
    IHEAP[_4] = 0;
    var _5 = _this+476+8;
    IHEAP[_5] = 0;
    (function() { try { __THREW__ = false; return __ZN11btRigidBody14setupRigidBodyERKNS_27btRigidBodyConstructionInfoE(_this, _constructionInfo) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 44; /* _return */  } else { __label__ = 3817; /* _lpad12 */  }
    if (__label__ == 44) {
      ;
      return;
    }
    else if (__label__ == 3817) {
      var _eh_ptr13 = _llvm_eh_exception();
      var _eh_select15 = _llvm_eh_selector(_eh_ptr13, ___gxx_personality_v0, 0);
      var _6 = IHEAP[_3];
      var _7 = _6 == 0;
      ;
      if (!_7) {
        ;
        var _8 = IHEAP[_2];
        var _toBool_i_i_i = _8 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$18012: do { 
          if (!_toBool_i_i_i) {
            ;
            var _9 = _6;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_9) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$18012; } else { ; }
            var _eh_ptr17 = _llvm_eh_exception();
            var _eh_select19 = _llvm_eh_selector(_eh_ptr17, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_3] = 0;
        ;
      }
      IHEAP[_2] = 1;
      IHEAP[_3] = 0;
      IHEAP[_4] = 0;
      IHEAP[_5] = 0;
      (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(_0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1555; /* _invcont7 */  } else { __label__ = 981; /* _lpad20 */  }
      if (__label__ == 1555) {
        __Unwind_Resume_or_Rethrow(_eh_ptr13);
        // unreachable
      }
      else if (__label__ == 981) {
        var _eh_ptr21 = _llvm_eh_exception();
        var _eh_select23 = _llvm_eh_selector(_eh_ptr21, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    }
  }
  __ZN11btRigidBodyC2ERKNS_27btRigidBodyConstructionInfoE.__index__ = Runtime.getFunctionIndex(__ZN11btRigidBodyC2ERKNS_27btRigidBodyConstructionInfoE, "__ZN11btRigidBodyC2ERKNS_27btRigidBodyConstructionInfoE");
  
  
  function __ZN21btSimpleDynamicsWorld14stepSimulationEfif(_this, _timeStep, _maxSubSteps, _fixedTimeStep) {
    var __stackBase__  = STACKTOP; STACKTOP += 136;
    var __label__;
    var __lastLabel__ = null;
    var _predictedTrans_i = __stackBase__;
    var _infoGlobal = __stackBase__+64;
    var _0 = _this+4+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph_i$__ZN21btSimpleDynamicsWorld25predictUnconstraintMotionEf_exit$18085: do { 
      if (_2) {
        ;
        var _3 = _this+4+12;
        __lastLabel__ = 418; ;
        _bb_i$18087: while(1) { // _bb_i
          var _i_013_i = __lastLabel__ == 418 ? 0 : (_tmp_i);
          var _tmp_i = _i_013_i + 1;
          var _4 = IHEAP[_3];
          var _scevgep_i = _4+4*_i_013_i;
          var _5 = IHEAP[_scevgep_i];
          var _6 = _5+232;
          var _7 = IHEAP[_6];
          var __lobit_i_i = _7 & 2;
          var _toBool_i_i = __lobit_i_i == 0;
          ;
          _bb7_i$__ZN11btRigidBody6upcastEP17btCollisionObject_exit_i$18089: do { 
            if (!_toBool_i_i) {
              ;
              var _8 = _5;
              var _9 = _5 == 0;
              if (_9) { __label__ = 137; /* _bb7_i */ break _bb7_i$__ZN11btRigidBody6upcastEP17btCollisionObject_exit_i$18089; }
              var _10 = _5+204;
              var _11 = IHEAP[_10];
              var _12 = _11 & 1;
              var _toBoolnot_i = _12 == 0;
              if (!(_toBoolnot_i)) { __label__ = 137; /* _bb7_i */ break _bb7_i$__ZN11btRigidBody6upcastEP17btCollisionObject_exit_i$18089; }
              var _13 = _5+216;
              var _14 = IHEAP[_13];
              if (_14 == 2) {
                __label__ = 137; /* _bb7_i */ break _bb7_i$__ZN11btRigidBody6upcastEP17btCollisionObject_exit_i$18089;
              }
              else if (_14 == 5) {
                __label__ = 137; /* _bb7_i */ break _bb7_i$__ZN11btRigidBody6upcastEP17btCollisionObject_exit_i$18089;
              }
              else {
              ;
              }
              
              __ZN11btRigidBody12applyGravityEv(_8);
              __ZN11btRigidBody19integrateVelocitiesEf(_8, _timeStep);
              __ZN11btRigidBody12applyDampingEf(_8, _timeStep);
              var _15 = _5+68;
              __ZN11btRigidBody26predictIntegratedTransformEfR11btTransform(_8, _timeStep, _15);
              ;
            }
          } while(0);
          var _16 = IHEAP[_0];
          var _17 = _16 > _tmp_i;
          if (_17) { __lastLabel__ = 137; __label__ = 131; /* _bb_i */ continue _bb_i$18087; } else { __lastLabel__ = 137; __label__ = 3322; /* __ZN21btSimpleDynamicsWorld25predictUnconstraintMotionEf_exit */ break _bb_nph_i$__ZN21btSimpleDynamicsWorld25predictUnconstraintMotionEf_exit$18085; }
        }
      }
    } while(0);
    var _18 = _this+28;
    FHEAP[_18] = _timeStep;
    var _19 = _this+28+4;
    IHEAP[_19] = 0;
    var _20 = _this;
    var _21 = IHEAP[_20];
    var _22 = _21+16;
    var _23 = IHEAP[_22];
    var _24 = _this;
    var _25 = _23;
    var _26 = FUNCTION_TABLE[_25](_24);
    var _27 = _this+28+20;
    IHEAP[_27] = _26;
    var _28 = IHEAP[_20];
    var _29 = _28+40;
    var _30 = IHEAP[_29];
    var _31 = _30;
    FUNCTION_TABLE[_31](_24);
    var _32 = _this+24;
    var _33 = IHEAP[_32];
    var _34 = _33;
    var _35 = IHEAP[_34];
    var _36 = _35+36;
    var _37 = IHEAP[_36];
    var _38 = _37;
    var _39 = FUNCTION_TABLE[_38](_33);
    var _40 = _39 == 0;
    ;
    if (!_40) {
      ;
      var _41 = IHEAP[_32];
      var _42 = _41;
      var _43 = IHEAP[_42];
      var _44 = _43+44;
      var _45 = IHEAP[_44];
      var _46 = _41;
      var _47 = _45;
      var _48 = FUNCTION_TABLE[_47](_46);
      var _49 = _infoGlobal;
      FHEAP[_49] = 0.6000000238418579;
      var _50 = _infoGlobal+4;
      FHEAP[_50] = 1;
      var _51 = _infoGlobal+8;
      FHEAP[_51] = 0.30000001192092896;
      var _52 = _infoGlobal+16;
      FHEAP[_52] = 0;
      var _53 = _infoGlobal+24;
      FHEAP[_53] = 20;
      var _54 = _infoGlobal+20;
      IHEAP[_54] = 10;
      var _55 = _infoGlobal+32;
      FHEAP[_55] = 0.20000000298023224;
      var _56 = _infoGlobal+36;
      FHEAP[_56] = 0.10000000149011612;
      var _57 = _infoGlobal+40;
      FHEAP[_57] = 0;
      var _58 = _infoGlobal+28;
      FHEAP[_58] = 1;
      var _59 = _infoGlobal+44;
      IHEAP[_59] = 0;
      var _60 = _infoGlobal+48;
      FHEAP[_60] = -0.019999999552965164;
      var _61 = _infoGlobal+52;
      FHEAP[_61] = 0;
      var _62 = _infoGlobal+56;
      FHEAP[_62] = 0.8500000238418579;
      var _63 = _infoGlobal+60;
      IHEAP[_63] = 260;
      var _64 = _infoGlobal+64;
      IHEAP[_64] = 2;
      var _65 = _infoGlobal+68;
      IHEAP[_65] = 128;
      var _66 = _infoGlobal+12;
      FHEAP[_66] = _timeStep;
      var _67 = _this+176;
      var _68 = IHEAP[_67];
      var _69 = _68;
      var _70 = IHEAP[_69];
      var _71 = _70+8;
      var _72 = IHEAP[_71];
      var _73 = _72;
      FUNCTION_TABLE[_73](_68, 0, _39);
      var _74 = IHEAP[_67];
      var _75 = _74;
      var _76 = IHEAP[_75];
      var _77 = _76+12;
      var _78 = IHEAP[_77];
      var _79 = IHEAP[_32];
      var _80 = _this+76;
      var _81 = IHEAP[_80];
      var _82 = _this+84;
      var _83 = IHEAP[_82];
      var _84 = _78;
      var _85 = FUNCTION_TABLE[_84](_74, 0, 0, _48, _39, 0, 0, _infoGlobal, _83, _81, _79);
      var _86 = IHEAP[_67];
      var _87 = _86;
      var _88 = IHEAP[_87];
      var _89 = _88+16;
      var _90 = IHEAP[_89];
      var _91 = IHEAP[_80];
      var _92 = IHEAP[_82];
      var _93 = _90;
      FUNCTION_TABLE[_93](_86, _infoGlobal, _92, _91);
      ;
    }
    var _94 = IHEAP[_0];
    var _95 = _94 > 0;
    ;
    _bb_nph_i3$__ZN21btSimpleDynamicsWorld19integrateTransformsEf_exit$18099: do { 
      if (_95) {
        ;
        var _96 = _this+4+12;
        __lastLabel__ = 3324; ;
        _bb_i8$18101: while(1) { // _bb_i8
          var _i_024_i = __lastLabel__ == 3324 ? 0 : (_tmp_i4);
          var _tmp_i4 = _i_024_i + 1;
          var _97 = IHEAP[_96];
          var _scevgep_i5 = _97+4*_i_024_i;
          var _98 = IHEAP[_scevgep_i5];
          var _99 = _98+232;
          var _100 = IHEAP[_99];
          var __lobit_i_i6 = _100 & 2;
          var _toBool_i_i7 = __lobit_i_i6 == 0;
          ;
          _bb18_i$__ZN11btRigidBody6upcastEP17btCollisionObject_exit_i9$18103: do { 
            if (!_toBool_i_i7) {
              ;
              var _101 = _98;
              var _102 = _98 == 0;
              if (_102) { __label__ = 3325; /* _bb18_i */ break _bb18_i$__ZN11btRigidBody6upcastEP17btCollisionObject_exit_i9$18103; }
              var _103 = _98+216;
              var _104 = IHEAP[_103];
              if (_104 == 2) {
                __label__ = 3325; /* _bb18_i */ break _bb18_i$__ZN11btRigidBody6upcastEP17btCollisionObject_exit_i9$18103;
              }
              else if (_104 == 5) {
                __label__ = 3325; /* _bb18_i */ break _bb18_i$__ZN11btRigidBody6upcastEP17btCollisionObject_exit_i9$18103;
              }
              else {
              ;
              }
              
              var _105 = _98+204;
              var _106 = IHEAP[_105];
              var _107 = _106 & 1;
              var _toBool9not_i = _107 == 0;
              if (!(_toBool9not_i)) { __label__ = 3325; /* _bb18_i */ break _bb18_i$__ZN11btRigidBody6upcastEP17btCollisionObject_exit_i9$18103; }
              __ZN11btRigidBody26predictIntegratedTransformEfR11btTransform(_101, _timeStep, _predictedTrans_i);
              __ZN11btRigidBody18proceedToTransformERK11btTransform(_101, _predictedTrans_i);
              ;
            }
          } while(0);
          var _108 = IHEAP[_0];
          var _109 = _108 > _tmp_i4;
          if (_109) { __lastLabel__ = 3325; __label__ = 797; /* _bb_i8 */ continue _bb_i8$18101; } else { __lastLabel__ = 3325; __label__ = 3329; /* __ZN21btSimpleDynamicsWorld19integrateTransformsEf_exit */ break _bb_nph_i3$__ZN21btSimpleDynamicsWorld19integrateTransformsEf_exit$18099; }
        }
      }
    } while(0);
    var _110 = IHEAP[_20];
    var _111 = _110+8;
    var _112 = IHEAP[_111];
    var _113 = _112;
    FUNCTION_TABLE[_113](_this);
    var _114 = IHEAP[_20];
    var _115 = _114+76;
    var _116 = IHEAP[_115];
    var _117 = _116;
    FUNCTION_TABLE[_117](_this);
    var _118 = IHEAP[_20];
    var _119 = _118+112;
    var _120 = IHEAP[_119];
    var _121 = _120;
    FUNCTION_TABLE[_121](_this);
    STACKTOP = __stackBase__;
    return 1;
  }
  __ZN21btSimpleDynamicsWorld14stepSimulationEfif.__index__ = Runtime.getFunctionIndex(__ZN21btSimpleDynamicsWorld14stepSimulationEfif, "__ZN21btSimpleDynamicsWorld14stepSimulationEfif");
  
  
  function __ZN21btSimpleDynamicsWorldD0Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btSimpleDynamicsWorld+8;
    var _1 = _this+180;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb4$_bb$18129: do { 
      if (!_toBool) {
        ;
        var _3 = _this+176;
        var _4 = IHEAP[_3];
        var _5 = _4;
        (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 61; /* _bb4 */ break _bb4$_bb$18129; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select10 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        IHEAP[_0] = __ZTV15btDynamicsWorld+8;
        var _8 = _this;
        (function() { try { __THREW__ = false; return __ZN16btCollisionWorldD2Ev(_8) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 1175; /* _lpad11 */  }
        if (__label__ == 1102) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 1175) {
          var _eh_ptr12 = _llvm_eh_exception();
          var _eh_select14 = _llvm_eh_selector(_eh_ptr12, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    IHEAP[_0] = __ZTV15btDynamicsWorld+8;
    var _6 = _this;
    __ZN16btCollisionWorldD2Ev(_6);
    var _7 = _this;
    __ZdlPv(_7);
    ;
    return;
  }
  __ZN21btSimpleDynamicsWorldD0Ev.__index__ = Runtime.getFunctionIndex(__ZN21btSimpleDynamicsWorldD0Ev, "__ZN21btSimpleDynamicsWorldD0Ev");
  
  
  function __ZN21btSimpleDynamicsWorldD1Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btSimpleDynamicsWorld+8;
    var _1 = _this+180;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb4$_bb$18137: do { 
      if (!_toBool) {
        ;
        var _3 = _this+176;
        var _4 = IHEAP[_3];
        var _5 = _4;
        (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 61; /* _bb4 */ break _bb4$_bb$18137; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select10 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        IHEAP[_0] = __ZTV15btDynamicsWorld+8;
        var _7 = _this;
        (function() { try { __THREW__ = false; return __ZN16btCollisionWorldD2Ev(_7) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 1175; /* _lpad11 */  }
        if (__label__ == 1102) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 1175) {
          var _eh_ptr12 = _llvm_eh_exception();
          var _eh_select14 = _llvm_eh_selector(_eh_ptr12, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    IHEAP[_0] = __ZTV15btDynamicsWorld+8;
    var _6 = _this;
    __ZN16btCollisionWorldD2Ev(_6);
    ;
    return;
  }
  __ZN21btSimpleDynamicsWorldD1Ev.__index__ = Runtime.getFunctionIndex(__ZN21btSimpleDynamicsWorldD1Ev, "__ZN21btSimpleDynamicsWorldD1Ev");
  
  
  function __ZN21btSimpleDynamicsWorldD2Ev(_this) {
    ;
    var __label__;
    var _0 = _this;
    IHEAP[_0] = __ZTV21btSimpleDynamicsWorld+8;
    var _1 = _this+180;
    var _2 = IHEAP[_1];
    var _toBool = _2 == 0;
    ;
    _bb4$_bb$18145: do { 
      if (!_toBool) {
        ;
        var _3 = _this+176;
        var _4 = IHEAP[_3];
        var _5 = _4;
        (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 61; /* _bb4 */ break _bb4$_bb$18145; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select10 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        IHEAP[_0] = __ZTV15btDynamicsWorld+8;
        var _7 = _this;
        (function() { try { __THREW__ = false; return __ZN16btCollisionWorldD2Ev(_7) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 1175; /* _lpad11 */  }
        if (__label__ == 1102) {
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
        else if (__label__ == 1175) {
          var _eh_ptr12 = _llvm_eh_exception();
          var _eh_select14 = _llvm_eh_selector(_eh_ptr12, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      }
    } while(0);
    IHEAP[_0] = __ZTV15btDynamicsWorld+8;
    var _6 = _this;
    __ZN16btCollisionWorldD2Ev(_6);
    ;
    return;
  }
  __ZN21btSimpleDynamicsWorldD2Ev.__index__ = Runtime.getFunctionIndex(__ZN21btSimpleDynamicsWorldD2Ev, "__ZN21btSimpleDynamicsWorldD2Ev");
  
  
  function _plNewBulletSdk() {
    ;
    var __label__;
    var _0 = __Z22btAlignedAllocInternalji(32, 16);
    var _1 = _0 == 0;
    ;
    if (!_1) {
      ;
      var _2 = _0;
      FHEAP[_2] = -1000;
      var _3 = _0+4;
      var _4 = _3;
      FHEAP[_4] = -1000;
      var _5 = _0+8;
      var _6 = _5;
      FHEAP[_6] = -1000;
      var _7 = _0+12;
      var _8 = _7;
      FHEAP[_8] = 0;
      var _9 = _0+16;
      var _10 = _9;
      FHEAP[_10] = 1000;
      var _11 = _0+20;
      var _12 = _11;
      FHEAP[_12] = 1000;
      var _13 = _0+24;
      var _14 = _13;
      FHEAP[_14] = 1000;
      var _15 = _0+28;
      var _16 = _15;
      FHEAP[_16] = 0;
      ;
    }
    var _iftmp_454_0 = _0;
    ;
    return _iftmp_454_0;
  }
  _plNewBulletSdk.__index__ = Runtime.getFunctionIndex(_plNewBulletSdk, "_plNewBulletSdk");
  
  
  function _plStepSimulation(_world, _timeStep) {
    ;
    var __label__;
    var _0 = _world;
    var _1 = _world;
    var _2 = IHEAP[_1];
    var _3 = _2+48;
    var _4 = IHEAP[_3];
    var _5 = _4;
    var _6 = FUNCTION_TABLE[_5](_0, _timeStep, 1, 0.01666666753590107);
    ;
    return;
  }
  _plStepSimulation.__index__ = Runtime.getFunctionIndex(_plStepSimulation, "_plStepSimulation");
  
  
  function _plNearestPoints(_p1, _p2, _p3, _q1, _q2, _q3, _pa, _pb, _normal) {
    var __stackBase__  = STACKTOP; STACKTOP += 456;
    var __label__;
    var __lastLabel__ = null;
    var _trishapeA = __stackBase__;
    var _trishapeB = __stackBase__+100;
    var _convexConvex = __stackBase__+200;
    var _gjkOutput = __stackBase__+276;
    var _input = __stackBase__+320;
    var _0 = _p1+8;
    var _1 = _p1+4;
    var _2 = FHEAP[_p1];
    var _3 = FHEAP[_1];
    var _4 = FHEAP[_0];
    var _5 = _p3+8;
    var _6 = _p3+4;
    var _7 = FHEAP[_p3];
    var _8 = FHEAP[_6];
    var _9 = FHEAP[_5];
    var _10 = _p2+8;
    var _11 = _p2+4;
    var _12 = FHEAP[_p2];
    var _13 = FHEAP[_11];
    var _14 = FHEAP[_10];
    var _15 = _trishapeA;
    __ZN23btPolyhedralConvexShapeC2Ev(_15);
    var _16 = _trishapeA;
    IHEAP[_16] = __ZTV15btTriangleShape+8;
    var _17 = _trishapeA+4;
    IHEAP[_17] = 1;
    var _18 = _trishapeA+52;
    FHEAP[_18] = _2;
    var _19 = _trishapeA+52+4;
    FHEAP[_19] = _3;
    var _20 = _trishapeA+52+8;
    FHEAP[_20] = _4;
    var _21 = _trishapeA+52+12;
    FHEAP[_21] = 0;
    var _22 = _trishapeA+52+16;
    FHEAP[_22] = _12;
    var _23 = _trishapeA+52+16+4;
    FHEAP[_23] = _13;
    var _24 = _trishapeA+52+16+8;
    FHEAP[_24] = _14;
    var _25 = _trishapeA+52+16+12;
    FHEAP[_25] = 0;
    var _26 = _trishapeA+52+32;
    FHEAP[_26] = _7;
    var _27 = _trishapeA+52+32+4;
    FHEAP[_27] = _8;
    var _28 = _trishapeA+52+32+8;
    FHEAP[_28] = _9;
    var _29 = _trishapeA+52+32+12;
    FHEAP[_29] = 0;
    var _30 = _trishapeA+44;
    FHEAP[_30] = 9.999999974752427e-7;
    var _31 = _q1+8;
    var _32 = _q1+4;
    var _33 = FHEAP[_q1];
    var _34 = FHEAP[_32];
    var _35 = FHEAP[_31];
    var _36 = _q3+8;
    var _37 = _q3+4;
    var _38 = FHEAP[_q3];
    var _39 = FHEAP[_37];
    var _40 = FHEAP[_36];
    var _41 = _q2+8;
    var _42 = _q2+4;
    var _43 = FHEAP[_q2];
    var _44 = FHEAP[_42];
    var _45 = FHEAP[_41];
    var _46 = _trishapeB;
    (function() { try { __THREW__ = false; return __ZN23btPolyhedralConvexShapeC2Ev(_46) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    _invcont$_lpad$18176: do { 
      if (__label__ == 345) {
        var _47 = _trishapeB;
        IHEAP[_47] = __ZTV15btTriangleShape+8;
        var _48 = _trishapeB+4;
        IHEAP[_48] = 1;
        var _49 = _trishapeB+52;
        FHEAP[_49] = _33;
        var _50 = _trishapeB+52+4;
        FHEAP[_50] = _34;
        var _51 = _trishapeB+52+8;
        FHEAP[_51] = _35;
        var _52 = _trishapeB+52+12;
        FHEAP[_52] = 0;
        var _53 = _trishapeB+52+16;
        FHEAP[_53] = _43;
        var _54 = _trishapeB+52+16+4;
        FHEAP[_54] = _44;
        var _55 = _trishapeB+52+16+8;
        FHEAP[_55] = _45;
        var _56 = _trishapeB+52+16+12;
        FHEAP[_56] = 0;
        var _57 = _trishapeB+52+32;
        FHEAP[_57] = _38;
        var _58 = _trishapeB+52+32+4;
        FHEAP[_58] = _39;
        var _59 = _trishapeB+52+32+8;
        FHEAP[_59] = _40;
        var _60 = _trishapeB+52+32+12;
        FHEAP[_60] = 0;
        var _61 = _trishapeB+44;
        FHEAP[_61] = 9.999999974752427e-7;
        var _62 = IHEAP[__ZGVZ15plNearestPointsE17sGjkSimplexSolver];
        var _63 = _62 == 0;
        ;
        _bb$_bb10$18178: do { 
          if (_63) {
            ;
            var _64 = ___cxa_guard_acquire(__ZGVZ15plNearestPointsE17sGjkSimplexSolver);
            var _65 = _64 == 0;
            if (_65) { __label__ = 150; /* _bb10 */ break _bb$_bb10$18178; }
            FHEAP[__ZZ15plNearestPointsE17sGjkSimplexSolver+308] = 0.00009999999747378752;
            var _66 = IHEAP[__ZZ15plNearestPointsE17sGjkSimplexSolver+316+16];
            var _67 = _66 & -16;
            IHEAP[__ZZ15plNearestPointsE17sGjkSimplexSolver+316+16] = _67;
            ___cxa_guard_release(__ZGVZ15plNearestPointsE17sGjkSimplexSolver);
            ;
          }
        } while(0);
        (function() { try { __THREW__ = false; return __ZN22btVoronoiSimplexSolver5resetEv(__ZZ15plNearestPointsE17sGjkSimplexSolver) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1603; /* _invcont11 */  } else { __label__ = 3265; /* _lpad44 */  }
        _invcont11$_lpad44$18182: do { 
          if (__label__ == 1603) {
            var _68 = IHEAP[__ZGVZ15plNearestPointsE7Solver0];
            var _69 = _68 == 0;
            ;
            _bb12$_bb15$18184: do { 
              if (_69) {
                ;
                var _70 = ___cxa_guard_acquire(__ZGVZ15plNearestPointsE7Solver0);
                var _71 = _70 == 0;
                if (_71) { __label__ = 153; /* _bb15 */ break _bb12$_bb15$18184; }
                IHEAP[__ZZ15plNearestPointsE7Solver0] = __ZTV30btGjkEpaPenetrationDepthSolver+8;
                ___cxa_guard_release(__ZGVZ15plNearestPointsE7Solver0);
                var _72 = ___cxa_atexit(___tcf_087.__index__, 0, ___dso_handle);
                ;
              }
            } while(0);
            var _73 = IHEAP[__ZGVZ15plNearestPointsE7Solver1];
            var _74 = _73 == 0;
            ;
            _bb16$_bb19$18188: do { 
              if (_74) {
                ;
                var _75 = ___cxa_guard_acquire(__ZGVZ15plNearestPointsE7Solver1);
                var _76 = _75 == 0;
                if (_76) { __label__ = 64; /* _bb19 */ break _bb16$_bb19$18188; }
                IHEAP[__ZZ15plNearestPointsE7Solver1] = __ZTV33btMinkowskiPenetrationDepthSolver+8;
                ___cxa_guard_release(__ZGVZ15plNearestPointsE7Solver1);
                var _77 = ___cxa_atexit(___tcf_1.__index__, 0, ___dso_handle);
                ;
              }
            } while(0);
            var _78 = _trishapeA;
            var _79 = _trishapeB;
            (function() { try { __THREW__ = false; return __ZN17btGjkPairDetectorC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver(_convexConvex, _78, _79, __ZZ15plNearestPointsE17sGjkSimplexSolver, __ZZ15plNearestPointsE7Solver1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3265; /* _lpad44 */ break _invcont11$_lpad44$18182; }
            var _80 = _convexConvex+72;
            IHEAP[_80] = 1;
            var _81 = _gjkOutput;
            IHEAP[_81] = __ZTV16btPointCollector+8;
            var _82 = _gjkOutput+36;
            FHEAP[_82] = 999999984306749400;
            var _83 = _gjkOutput+40;
            IHEAP[_83] = 0;
            var _84 = _input+128;
            FHEAP[_84] = 999999984306749400;
            var _85 = _input+132;
            IHEAP[_85] = 0;
            var _86 = _input;
            FHEAP[_86] = 1;
            var _87 = _input+4;
            FHEAP[_87] = 0;
            var _88 = _input+8;
            FHEAP[_88] = 0;
            var _89 = _input+12;
            FHEAP[_89] = 0;
            var _90 = _input+16;
            FHEAP[_90] = 0;
            var _91 = _input+16+4;
            FHEAP[_91] = 1;
            var _92 = _input+16+8;
            FHEAP[_92] = 0;
            var _93 = _input+16+12;
            FHEAP[_93] = 0;
            var _94 = _input+32;
            FHEAP[_94] = 0;
            var _95 = _input+32+4;
            FHEAP[_95] = 0;
            var _96 = _input+32+8;
            FHEAP[_96] = 1;
            var _97 = _input+32+12;
            FHEAP[_97] = 0;
            var _98 = _input+48;
            FHEAP[_98] = 0;
            var _99 = _input+48+4;
            FHEAP[_99] = 0;
            var _100 = _input+48+8;
            FHEAP[_100] = 0;
            var _101 = _input+48+12;
            FHEAP[_101] = 0;
            var _102 = _input+64;
            FHEAP[_102] = 1;
            var _103 = _input+64+4;
            FHEAP[_103] = 0;
            var _104 = _input+64+8;
            FHEAP[_104] = 0;
            var _105 = _input+64+12;
            FHEAP[_105] = 0;
            var _106 = _input+64+16;
            FHEAP[_106] = 0;
            var _107 = _input+64+16+4;
            FHEAP[_107] = 1;
            var _108 = _input+64+16+8;
            FHEAP[_108] = 0;
            var _109 = _input+64+16+12;
            FHEAP[_109] = 0;
            var _110 = _input+64+32;
            FHEAP[_110] = 0;
            var _111 = _input+64+32+4;
            FHEAP[_111] = 0;
            var _112 = _input+64+32+8;
            FHEAP[_112] = 1;
            var _113 = _input+64+32+12;
            FHEAP[_113] = 0;
            var _114 = _input+64+48;
            FHEAP[_114] = 0;
            var _115 = _input+64+48+4;
            FHEAP[_115] = 0;
            var _116 = _input+64+48+8;
            FHEAP[_116] = 0;
            var _117 = _input+64+48+12;
            FHEAP[_117] = 0;
            var _118 = _gjkOutput;
            (function() { try { __THREW__ = false; return __ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb(_convexConvex, _input, _118, 0, 0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2957; /* _invcont21 */  } else { __label__ = 3079; /* _lpad52 */  }
            if (__label__ == 2957) {
              var _119 = IHEAP[_83];
              var _toBool22 = _119 == 0;
              ;
              if (_toBool22) {
                __lastLabel__ = 2957; ;
              }
              else {
                __lastLabel__ = 2957; ;
                var _120 = _gjkOutput+20;
                var _121 = FHEAP[_120];
                FHEAP[_pa] = _121;
                FHEAP[_pb] = _121;
                var _122 = _gjkOutput+20+4;
                var _123 = FHEAP[_122];
                var _124 = _pa+4;
                FHEAP[_124] = _123;
                var _125 = _pb+4;
                FHEAP[_125] = _123;
                var _126 = _gjkOutput+20+8;
                var _127 = FHEAP[_126];
                var _128 = _pa+8;
                FHEAP[_128] = _127;
                var _129 = _pb+8;
                var _130 = FHEAP[_pb];
                var _131 = _gjkOutput+4;
                var _132 = FHEAP[_131];
                var _133 = FHEAP[_82];
                var _134 = _132 * _133;
                var _135 = _130 + _134;
                FHEAP[_pb] = _135;
                var _136 = FHEAP[_125];
                var _137 = _gjkOutput+4+4;
                var _138 = FHEAP[_137];
                var _139 = _138 * _133;
                var _140 = _136 + _139;
                FHEAP[_125] = _140;
                var _141 = _gjkOutput+4+8;
                var _142 = FHEAP[_141];
                var _143 = _142 * _133;
                var _144 = _127 + _143;
                FHEAP[_129] = _144;
                FHEAP[_normal] = _132;
                var _145 = _normal+4;
                FHEAP[_145] = _138;
                var _146 = _normal+8;
                FHEAP[_146] = _142;
                var _147 = _133;
                __lastLabel__ = 419; ;
              }
              var __0 = __lastLabel__ == 419 ? _147 : (-1);
              IHEAP[_81] = __ZTV16btPointCollector+8;
              IHEAP[_47] = __ZTV21btConvexInternalShape+8;
              (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_79) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 254; /* _lpad */ break _invcont$_lpad$18176; }
              IHEAP[_16] = __ZTV21btConvexInternalShape+8;
              __ZN13btConvexShapeD2Ev(_78);
              STACKTOP = __stackBase__;
              return __0;
            }
            else if (__label__ == 3079) {
              var _eh_ptr53 = _llvm_eh_exception();
              var _eh_select55 = _llvm_eh_selector(_eh_ptr53, ___gxx_personality_v0, 0);
              IHEAP[_81] = __ZTV16btPointCollector+8;
              __lastLabel__ = 3079; __label__ = 886; /* _ppad64 */ break _invcont11$_lpad44$18182;
            }
          }
        } while(0);
        if (__label__ == 3265) {
          var _eh_ptr45 = _llvm_eh_exception();
          var _eh_select47 = _llvm_eh_selector(_eh_ptr45, ___gxx_personality_v0, 0);
          __lastLabel__ = 3265; ;
        }
        var _eh_exception_0 = __lastLabel__ == 3079 ? _eh_ptr53 : (_eh_ptr45);
        IHEAP[_47] = __ZTV21btConvexInternalShape+8;
        var _149 = _trishapeB;
        (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_149) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 886; __label__ = 45; /* _ppad */ break _invcont$_lpad$18176; } else { __lastLabel__ = 886; ; }
        var _eh_ptr57 = _llvm_eh_exception();
        var _eh_select59 = _llvm_eh_selector(_eh_ptr57, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    } while(0);
    if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select43 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __lastLabel__ = 254; ;
    }
    var _eh_exception_1 = __lastLabel__ == 254 ? _eh_ptr : (_eh_exception_0);
    IHEAP[_16] = __ZTV21btConvexInternalShape+8;
    var _148 = _trishapeA;
    (function() { try { __THREW__ = false; return __ZN13btConvexShapeD2Ev(_148) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3855; /* _invcont38 */  } else { __label__ = 3082; /* _lpad60 */  }
    if (__label__ == 3855) {
      __Unwind_Resume_or_Rethrow(_eh_exception_1);
      // unreachable
    }
    else if (__label__ == 3082) {
      var _eh_ptr61 = _llvm_eh_exception();
      var _eh_select63 = _llvm_eh_selector(_eh_ptr61, ___gxx_personality_v0, 1);
      __ZSt9terminatev();
      // unreachable
    }
  }
  _plNearestPoints.__index__ = Runtime.getFunctionIndex(_plNearestPoints, "_plNearestPoints");
  
  
  function _plSetEuler(_yaw, _pitch, _roll, _orient) {
    ;
    var __label__;
    var _0 = _yaw * 0.5;
    var _1 = _pitch * 0.5;
    var _2 = _roll * 0.5;
    var _3 = _cosf(_0);
    var _4 = _sinf(_0);
    var _5 = _cosf(_1);
    var _6 = _sinf(_1);
    var _7 = _cosf(_2);
    var _8 = _sinf(_2);
    var _9 = _7 * _5;
    var _10 = _9 * _3;
    var _11 = _8 * _6;
    var _12 = _11 * _4;
    var _13 = _10 + _12;
    var _14 = _8 * _5;
    var _15 = _14 * _3;
    var _16 = _7 * _6;
    var _17 = _16 * _4;
    var _18 = _15 - _17;
    var _19 = _9 * _4;
    var _20 = _11 * _3;
    var _21 = _19 - _20;
    var _22 = _16 * _3;
    var _23 = _14 * _4;
    var _24 = _22 + _23;
    FHEAP[_orient] = _24;
    var _25 = _orient+4;
    FHEAP[_25] = _21;
    var _26 = _orient+8;
    FHEAP[_26] = _18;
    var _27 = _orient+12;
    FHEAP[_27] = _13;
    ;
    return;
  }
  _plSetEuler.__index__ = Runtime.getFunctionIndex(_plSetEuler, "_plSetEuler");
  
  
  function _plNewBoxShape(_x, _y, _z) {
    ;
    var __label__;
    var _0 = __Z22btAlignedAllocInternalji(52, 16);
    var _1 = _0;
    (function() { try { __THREW__ = false; return __ZN23btPolyhedralConvexShapeC2Ev(_1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 75; /* _bb1 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 75) {
      var _2 = _0;
      IHEAP[_2] = __ZTV10btBoxShape+8;
      var _3 = _0+4;
      var _4 = _3;
      IHEAP[_4] = 0;
      var _5 = _0+44;
      var _6 = _5;
      var _7 = FHEAP[_6];
      var _8 = _0+20;
      var _9 = _8;
      var _10 = FHEAP[_9];
      var _11 = _10 * _z;
      var _12 = _0+16;
      var _13 = _12;
      var _14 = FHEAP[_13];
      var _15 = _14 * _y;
      var _16 = _0+12;
      var _17 = _16;
      var _18 = FHEAP[_17];
      var _19 = _18 * _x;
      var _20 = _11 - _7;
      var _21 = _15 - _7;
      var _22 = _19 - _7;
      var _23 = _0+28;
      var _24 = _23;
      FHEAP[_24] = _22;
      var _25 = _0+32;
      var _26 = _25;
      FHEAP[_26] = _21;
      var _27 = _0+36;
      var _28 = _27;
      FHEAP[_28] = _20;
      var _29 = _0+40;
      var _30 = _29;
      FHEAP[_30] = 0;
      var _31 = _0;
      ;
      return _31;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select4 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  _plNewBoxShape.__index__ = Runtime.getFunctionIndex(_plNewBoxShape, "_plNewBoxShape");
  
  
  function _plNewCompoundShape() {
    ;
    var __label__;
    var _0 = __Z22btAlignedAllocInternalji(92, 16);
    var _1 = _0;
    (function() { try { __THREW__ = false; return __ZN15btCompoundShapeC1Eb(_1, 1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 75; /* _bb1 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 75) {
      var _2 = _0;
      ;
      return _2;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select4 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  _plNewCompoundShape.__index__ = Runtime.getFunctionIndex(_plNewCompoundShape, "_plNewCompoundShape");
  
  
  function _plNewConvexHullShape() {
    ;
    var __label__;
    var _0 = __Z22btAlignedAllocInternalji(108, 16);
    var _1 = _0;
    (function() { try { __THREW__ = false; return __ZN17btConvexHullShapeC1EPKfii(_1, 0, 0, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 75; /* _bb1 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 75) {
      var _2 = _0;
      ;
      return _2;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select4 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  _plNewConvexHullShape.__index__ = Runtime.getFunctionIndex(_plNewConvexHullShape, "_plNewConvexHullShape");
  
  
  function _plNewCylinderShape(_radius, _height) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var _0 = __stackBase__;
    var _1 = __Z22btAlignedAllocInternalji(56, 16);
    var _2 = _0;
    FHEAP[_2] = _radius;
    var _3 = _0+4;
    FHEAP[_3] = _height;
    var _4 = _0+8;
    FHEAP[_4] = _radius;
    var _5 = _0+12;
    FHEAP[_5] = 0;
    var _6 = _1;
    (function() { try { __THREW__ = false; return __ZN15btCylinderShapeC1ERK9btVector3(_6, _0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 75; /* _bb1 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 75) {
      var _7 = _1;
      STACKTOP = __stackBase__;
      return _7;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select4 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  _plNewCylinderShape.__index__ = Runtime.getFunctionIndex(_plNewCylinderShape, "_plNewCylinderShape");
  
  
  function _plNewConeShape(_radius, _height) {
    ;
    var __label__;
    var _0 = __Z22btAlignedAllocInternalji(76, 16);
    var _1 = _0;
    (function() { try { __THREW__ = false; return __ZN11btConeShapeC1Eff(_1, _radius, _height) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 75; /* _bb1 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 75) {
      var _2 = _0;
      ;
      return _2;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select4 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  _plNewConeShape.__index__ = Runtime.getFunctionIndex(_plNewConeShape, "_plNewConeShape");
  
  
  function _plNewCapsuleShape(_radius, _height) {
    var __stackBase__  = STACKTOP; STACKTOP += 40;
    var __label__;
    var _positions = __stackBase__;
    var _radi = __stackBase__+32;
    var _0 = _positions;
    FHEAP[_0] = 0;
    var _1 = _positions+4;
    FHEAP[_1] = _height;
    var _2 = _positions+8;
    FHEAP[_2] = 0;
    var _3 = _positions+12;
    FHEAP[_3] = 0;
    var _4 = 0 - _height;
    var _5 = _positions+16;
    FHEAP[_5] = 0;
    var _6 = _positions+16+4;
    FHEAP[_6] = _4;
    var _7 = _positions+16+8;
    FHEAP[_7] = 0;
    var _8 = _positions+16+12;
    FHEAP[_8] = 0;
    var _9 = _radi;
    var _10 = _radi+4;
    FHEAP[_9] = _radius;
    FHEAP[_10] = _radius;
    var _11 = __Z22btAlignedAllocInternalji(128, 16);
    var _12 = _11;
    var _13 = _positions;
    (function() { try { __THREW__ = false; return __ZN18btMultiSphereShapeC1EPK9btVector3PKfi(_12, _13, _9, 2) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 75; /* _bb1 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 75) {
      var _14 = _11;
      STACKTOP = __stackBase__;
      return _14;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select4 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  _plNewCapsuleShape.__index__ = Runtime.getFunctionIndex(_plNewCapsuleShape, "_plNewCapsuleShape");
  
  
  function _plNewSphereShape(_radius) {
    ;
    var __label__;
    var _0 = __Z22btAlignedAllocInternalji(52, 16);
    var _1 = _0;
    (function() { try { __THREW__ = false; return __ZN21btConvexInternalShapeC2Ev(_1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 75; /* _bb1 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 75) {
      var _2 = _0;
      IHEAP[_2] = __ZTV13btSphereShape+8;
      var _3 = _0+4;
      var _4 = _3;
      IHEAP[_4] = 8;
      var _5 = _0+28;
      var _6 = _5;
      FHEAP[_6] = _radius;
      var _7 = _0+44;
      var _8 = _7;
      FHEAP[_8] = _radius;
      var _9 = _0;
      ;
      return _9;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select4 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  _plNewSphereShape.__index__ = Runtime.getFunctionIndex(_plNewSphereShape, "_plNewSphereShape");
  
  
  function _plCreateRigidBody(_user_data, _mass, _cshape) {
    var __stackBase__  = STACKTOP; STACKTOP += 152;
    var __label__;
    var _localInertia = __stackBase__;
    var _rbci = __stackBase__+16;
    var _0 = _localInertia;
    FHEAP[_0] = 0;
    var _1 = _localInertia+4;
    FHEAP[_1] = 0;
    var _2 = _localInertia+8;
    FHEAP[_2] = 0;
    var _3 = _localInertia+12;
    FHEAP[_3] = 0;
    var _4 = _cshape;
    var _5 = _mass != 0;
    ;
    if (_5) {
      ;
      var _6 = _cshape;
      var _7 = IHEAP[_6];
      var _8 = _7+32;
      var _9 = IHEAP[_8];
      var _10 = _9;
      FUNCTION_TABLE[_10](_4, _mass, _localInertia);
      ;
    }
    var _11 = __Z22btAlignedAllocInternalji(608, 16);
    var _12 = _rbci;
    FHEAP[_12] = _mass;
    var _13 = _rbci+4;
    IHEAP[_13] = 0;
    var _14 = _rbci+72;
    IHEAP[_14] = _4;
    var _15 = _rbci+76;
    var _16 = FHEAP[_0];
    FHEAP[_15] = _16;
    var _17 = _rbci+76+4;
    var _18 = FHEAP[_1];
    FHEAP[_17] = _18;
    var _19 = _rbci+76+8;
    var _20 = FHEAP[_2];
    FHEAP[_19] = _20;
    var _21 = _rbci+76+12;
    var _22 = FHEAP[_3];
    FHEAP[_21] = _22;
    var _23 = _rbci+92;
    FHEAP[_23] = 0;
    var _24 = _rbci+96;
    FHEAP[_24] = 0;
    var _25 = _rbci+100;
    FHEAP[_25] = 0.5;
    var _26 = _rbci+104;
    FHEAP[_26] = 0;
    var _27 = _rbci+108;
    FHEAP[_27] = 0.800000011920929;
    var _28 = _rbci+112;
    FHEAP[_28] = 1;
    var _29 = _rbci+116;
    IHEAP[_29] = 0;
    var _30 = _rbci+120;
    FHEAP[_30] = 0.004999999888241291;
    var _31 = _rbci+124;
    FHEAP[_31] = 0.009999999776482582;
    var _32 = _rbci+128;
    FHEAP[_32] = 0.009999999776482582;
    var _33 = _rbci+132;
    FHEAP[_33] = 0.009999999776482582;
    var _34 = _rbci+8;
    FHEAP[_34] = 1;
    var _35 = _rbci+8+4;
    FHEAP[_35] = 0;
    var _36 = _rbci+8+8;
    FHEAP[_36] = 0;
    var _37 = _rbci+8+12;
    FHEAP[_37] = 0;
    var _38 = _rbci+8+16;
    FHEAP[_38] = 0;
    var _39 = _rbci+8+16+4;
    FHEAP[_39] = 1;
    var _40 = _rbci+8+16+8;
    FHEAP[_40] = 0;
    var _41 = _rbci+8+16+12;
    FHEAP[_41] = 0;
    var _42 = _rbci+8+32;
    FHEAP[_42] = 0;
    var _43 = _rbci+8+32+4;
    FHEAP[_43] = 0;
    var _44 = _rbci+8+32+8;
    FHEAP[_44] = 1;
    var _45 = _rbci+8+32+12;
    FHEAP[_45] = 0;
    var _46 = _rbci+8+48;
    FHEAP[_46] = 0;
    var _47 = _rbci+8+48+4;
    FHEAP[_47] = 0;
    var _48 = _rbci+8+48+8;
    FHEAP[_48] = 0;
    var _49 = _rbci+8+48+12;
    FHEAP[_49] = 0;
    var _50 = _11;
    (function() { try { __THREW__ = false; return __ZN11btRigidBodyC1ERKNS_27btRigidBodyConstructionInfoE(_50, _rbci) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 116; /* _bb3 */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 116) {
      var _51 = _11+4;
      var _52 = _51;
      FHEAP[_52] = 1;
      var _53 = _11+8;
      var _54 = _53;
      FHEAP[_54] = 0;
      var _55 = _11+12;
      var _56 = _55;
      FHEAP[_56] = 0;
      var _57 = _11+16;
      var _58 = _57;
      FHEAP[_58] = 0;
      var _59 = _11+20;
      var _60 = _59;
      FHEAP[_60] = 0;
      var _61 = _11+24;
      var _62 = _61;
      FHEAP[_62] = 1;
      var _63 = _11+28;
      var _64 = _63;
      FHEAP[_64] = 0;
      var _65 = _11+32;
      var _66 = _65;
      FHEAP[_66] = 0;
      var _67 = _11+36;
      var _68 = _67;
      FHEAP[_68] = 0;
      var _69 = _11+40;
      var _70 = _69;
      FHEAP[_70] = 0;
      var _71 = _11+44;
      var _72 = _71;
      FHEAP[_72] = 1;
      var _73 = _11+48;
      var _74 = _73;
      FHEAP[_74] = 0;
      var _75 = _11+52;
      var _76 = _75;
      FHEAP[_76] = 0;
      var _77 = _11+56;
      var _78 = _77;
      FHEAP[_78] = 0;
      var _79 = _11+60;
      var _80 = _79;
      FHEAP[_80] = 0;
      var _81 = _11+64;
      var _82 = _81;
      FHEAP[_82] = 0;
      var _83 = _11+236;
      var _84 = _83;
      IHEAP[_84] = _user_data;
      var _85 = _11;
      STACKTOP = __stackBase__;
      return _85;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select6 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  _plCreateRigidBody.__index__ = Runtime.getFunctionIndex(_plCreateRigidBody, "_plCreateRigidBody");
  
  
  function _plCreateDynamicsWorld(_physicsSdkHandle) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __Z22btAlignedAllocInternalji(88, 16);
    var _2 = _0;
    IHEAP[_2] = 0;
    var _3 = _0+4;
    IHEAP[_3] = 0;
    var _4 = _0+8;
    IHEAP[_4] = 0;
    var _5 = _0+12;
    IHEAP[_5] = 4096;
    var _6 = _0+16;
    IHEAP[_6] = 4096;
    var _7 = _0+20;
    IHEAP[_7] = 0;
    var _8 = _0+24;
    IHEAP[_8] = 0;
    var _9 = _0+28;
    IHEAP[_9] = 1;
    var _10 = _1 == 0;
    ;
    _bb4$_bb$18249: do { 
      if (_10) {
        __label__ = 61; /* _bb4 */ 
      }
      else {
        ;
        var _11 = _1;
        (function() { try { __THREW__ = false; return __ZN31btDefaultCollisionConfigurationC1ERK34btDefaultCollisionConstructionInfo(_11, _0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 61; /* _bb4 */ break _bb4$_bb$18249; } else { ; }
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select36 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __lastLabel__ = 254; __label__ = 111; /* _Unwind */ break _bb4$_bb$18249;
      }
    } while(0);
    _bb4$_Unwind$18252: do { 
      if (__label__ == 61) {
        var _12 = __Z22btAlignedAllocInternalji(5388, 16);
        var _13 = _12 == 0;
        ;
        _bb12$_bb5$18254: do { 
          if (!_13) {
            ;
            var _14 = _12;
            var _15 = _1;
            (function() { try { __THREW__ = false; return __ZN21btCollisionDispatcherC1EP24btCollisionConfiguration(_14, _15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3; /* _bb12 */ break _bb12$_bb5$18254; } else { ; }
            var _eh_ptr38 = _llvm_eh_exception();
            var _eh_select40 = _llvm_eh_selector(_eh_ptr38, ___gxx_personality_v0, 0);
            __lastLabel__ = 3211; __label__ = 111; /* _Unwind */ break _bb4$_Unwind$18252;
          }
        } while(0);
        var _16 = _12;
        var _17 = __Z22btAlignedAllocInternalji(116, 16);
        var _18 = _17;
        var _19 = _physicsSdkHandle+16;
        var _20 = _19;
        var _21 = _physicsSdkHandle;
        (function() { try { __THREW__ = false; return __ZN12btAxisSweep3C1ERK9btVector3S2_tP22btOverlappingPairCacheb(_18, _21, _20, 16384, 0, 0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4; /* _bb17 */  } else { __label__ = 3339; /* _lpad41 */  }
        if (__label__ == 4) {
          var _22 = _17;
          var _23 = __Z22btAlignedAllocInternalji(128, 16);
          var _24 = _23 == 0;
          ;
          _bb25$_bb18$18260: do { 
            if (!_24) {
              ;
              var _25 = _23;
              (function() { try { __THREW__ = false; return __ZN35btSequentialImpulseConstraintSolverC1Ev(_25) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 540; /* _bb25 */ break _bb25$_bb18$18260; } else { ; }
              var _eh_ptr46 = _llvm_eh_exception();
              var _eh_select48 = _llvm_eh_selector(_eh_ptr46, ___gxx_personality_v0, 0);
              __lastLabel__ = 2916; __label__ = 111; /* _Unwind */ break _bb4$_Unwind$18252;
            }
          } while(0);
          var _26 = __Z22btAlignedAllocInternalji(272, 16);
          var _27 = _26 == 0;
          ;
          _bb33$_bb26$18264: do { 
            if (!_27) {
              ;
              var _28 = _26;
              var _29 = _23;
              var _30 = _1;
              (function() { try { __THREW__ = false; return __ZN23btDiscreteDynamicsWorldC1EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration(_28, _16, _22, _29, _30) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 422; /* _bb33 */ break _bb33$_bb26$18264; } else { ; }
              var _eh_ptr50 = _llvm_eh_exception();
              var _eh_select52 = _llvm_eh_selector(_eh_ptr50, ___gxx_personality_v0, 0);
              __lastLabel__ = 2918; __label__ = 111; /* _Unwind */ break _bb4$_Unwind$18252;
            }
          } while(0);
          var _iftmp_459_0 = _26;
          STACKTOP = __stackBase__;
          return _iftmp_459_0;
        }
        else if (__label__ == 3339) {
          var _eh_ptr42 = _llvm_eh_exception();
          var _eh_select44 = _llvm_eh_selector(_eh_ptr42, ___gxx_personality_v0, 0);
          __lastLabel__ = 3339; ;
        }
      }
    } while(0);
    var _eh_exception_0 = __lastLabel__ == 2918 ? _eh_ptr50 : (__lastLabel__ == 2916 ? _eh_ptr46 : (__lastLabel__ == 3339 ? _eh_ptr42 : (__lastLabel__ == 3211 ? _eh_ptr38 : (_eh_ptr))));
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  _plCreateDynamicsWorld.__index__ = Runtime.getFunctionIndex(_plCreateDynamicsWorld, "_plCreateDynamicsWorld");
  
  
  function __ZN17btActionInterface12getFixedBodyEv() {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = IHEAP[__ZGVZN17btActionInterface12getFixedBodyEvE7s_fixed];
    var _3 = _2 == 0;
    ;
    _bb$_bb9$18271: do { 
      if (_3) {
        ;
        var _4 = ___cxa_guard_acquire(__ZGVZN17btActionInterface12getFixedBodyEvE7s_fixed);
        var _5 = _4 == 0;
        if (_5) { __label__ = 62; /* _bb9 */ break _bb$_bb9$18271; }
        var _6 = _1;
        FHEAP[_6] = 0;
        var _7 = _1+4;
        FHEAP[_7] = 0;
        var _8 = _1+8;
        FHEAP[_8] = 0;
        var _9 = _1+12;
        FHEAP[_9] = 0;
        (function() { try { __THREW__ = false; return __ZN11btRigidBodyC1EfP13btMotionStateP16btCollisionShapeRK9btVector3(__ZZN17btActionInterface12getFixedBodyEvE7s_fixed, 0, 0, 0, _1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
        if (__label__ == 345) {
          ___cxa_guard_release(__ZGVZN17btActionInterface12getFixedBodyEvE7s_fixed);
          var _10 = ___cxa_atexit(___tcf_088.__index__, 0, ___dso_handle);
          ;
        }
        else if (__label__ == 254) {
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select12 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          ___cxa_guard_abort(__ZGVZN17btActionInterface12getFixedBodyEvE7s_fixed);
          __Unwind_Resume_or_Rethrow(_eh_ptr);
          // unreachable
        }
      }
    } while(0);
    var _11 = _0;
    FHEAP[_11] = 0;
    var _12 = _0+4;
    FHEAP[_12] = 0;
    var _13 = _0+8;
    FHEAP[_13] = 0;
    var _14 = _0+12;
    FHEAP[_14] = 0;
    __ZN11btRigidBody12setMassPropsEfRK9btVector3(__ZZN17btActionInterface12getFixedBodyEvE7s_fixed, 0, _0);
    STACKTOP = __stackBase__;
    return __ZZN17btActionInterface12getFixedBodyEvE7s_fixed;
  }
  __ZN17btActionInterface12getFixedBodyEv.__index__ = Runtime.getFunctionIndex(__ZN17btActionInterface12getFixedBodyEv, "__ZN17btActionInterface12getFixedBodyEv");
  
  
  function __ZN25btDefaultVehicleRaycaster7castRayERK9btVector3S2_RN18btVehicleRaycaster24btVehicleRaycasterResultE(_this, _from, _to, _result) {
    var __stackBase__  = STACKTOP; STACKTOP += 84;
    var __label__;
    var _rayCallback = __stackBase__;
    var _0 = _rayCallback;
    var _1 = _rayCallback+4;
    FHEAP[_1] = 1;
    var _2 = _rayCallback+8;
    IHEAP[_2] = 0;
    var _3 = _rayCallback+12;
    IHEAP[_3] = 1;
    var _4 = _rayCallback+14;
    IHEAP[_4] = -1;
    var _5 = _rayCallback+16;
    IHEAP[_5] = 0;
    IHEAP[_0] = __ZTVN16btCollisionWorld24ClosestRayResultCallbackE+8;
    var _6 = _rayCallback+20;
    var _7 = _from;
    var _8 = FHEAP[_7];
    FHEAP[_6] = _8;
    var _9 = _rayCallback+20+4;
    var _10 = _from+4;
    var _11 = FHEAP[_10];
    FHEAP[_9] = _11;
    var _12 = _rayCallback+20+8;
    var _13 = _from+8;
    var _14 = FHEAP[_13];
    FHEAP[_12] = _14;
    var _15 = _rayCallback+20+12;
    var _16 = _from+12;
    var _17 = FHEAP[_16];
    FHEAP[_15] = _17;
    var _18 = _rayCallback+36;
    var _19 = _to;
    var _20 = FHEAP[_19];
    FHEAP[_18] = _20;
    var _21 = _rayCallback+36+4;
    var _22 = _to+4;
    var _23 = FHEAP[_22];
    FHEAP[_21] = _23;
    var _24 = _rayCallback+36+8;
    var _25 = _to+8;
    var _26 = FHEAP[_25];
    FHEAP[_24] = _26;
    var _27 = _rayCallback+36+12;
    var _28 = _to+12;
    var _29 = FHEAP[_28];
    FHEAP[_27] = _29;
    var _30 = _this+4;
    var _31 = IHEAP[_30];
    var _32 = _31;
    var _33 = IHEAP[_32];
    var _34 = _33+28;
    var _35 = IHEAP[_34];
    var _36 = _31;
    var _37 = _35;
    var _38 = _rayCallback;
    (function() { try { __THREW__ = false; return FUNCTION_TABLE[_37](_36, _from, _to, _38) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 345; /* _invcont */  } else { __label__ = 254; /* _lpad */  }
    if (__label__ == 345) {
      var _39 = IHEAP[_2];
      var _40 = _39 == 0;
      ;
      _bb13$_bb$18320: do { 
        if (!_40) {
          ;
          var _41 = _39+232;
          var _42 = IHEAP[_41];
          var __lobit_i19 = _42 & 2;
          var _toBool_i = __lobit_i19 == 0;
          if (_toBool_i) { __label__ = 108; /* _bb13 */ break _bb13$_bb$18320; }
          var _43 = _39+204;
          var _44 = IHEAP[_43];
          var __lobit_i = _44 & 4;
          var _toBool2not = __lobit_i == 0;
          if (!(_toBool2not)) { __label__ = 108; /* _bb13 */ break _bb13$_bb$18320; }
          var _45 = _result;
          var _46 = _rayCallback+68;
          var _47 = FHEAP[_46];
          FHEAP[_45] = _47;
          var _48 = _result+4;
          var _49 = _rayCallback+68+4;
          var _50 = FHEAP[_49];
          FHEAP[_48] = _50;
          var _51 = _result+8;
          var _52 = _rayCallback+68+8;
          var _53 = FHEAP[_52];
          FHEAP[_51] = _53;
          var _54 = _result+12;
          var _55 = _rayCallback+68+12;
          var _56 = FHEAP[_55];
          FHEAP[_54] = _56;
          var _57 = _result+16;
          var _58 = _rayCallback+52;
          var _59 = FHEAP[_58];
          FHEAP[_57] = _59;
          var _60 = _result+16+4;
          var _61 = _rayCallback+52+4;
          var _62 = FHEAP[_61];
          FHEAP[_60] = _62;
          var _63 = _result+16+8;
          var _64 = _rayCallback+52+8;
          var _65 = FHEAP[_64];
          FHEAP[_63] = _65;
          var _66 = _result+16+12;
          var _67 = _rayCallback+52+12;
          var _68 = FHEAP[_67];
          FHEAP[_66] = _68;
          var _69 = _59 * _59;
          var _70 = _62 * _62;
          var _71 = _69 + _70;
          var _72 = _65 * _65;
          var _73 = _71 + _72;
          var _74 = _sqrtf(_73);
          var _75 = 1 / _74;
          var _76 = _59 * _75;
          FHEAP[_57] = _76;
          var _77 = _62 * _75;
          FHEAP[_60] = _77;
          var _78 = _65 * _75;
          FHEAP[_63] = _78;
          var _79 = FHEAP[_1];
          var _80 = _result+32;
          FHEAP[_80] = _79;
          var _81 = _39;
          STACKTOP = __stackBase__;
          return _81;
        }
      } while(0);
      STACKTOP = __stackBase__;
      return 0;
    }
    else if (__label__ == 254) {
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select16 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      IHEAP[_0] = __ZTVN16btCollisionWorld24ClosestRayResultCallbackE+8;
      __Unwind_Resume_or_Rethrow(_eh_ptr);
      // unreachable
    }
  }
  __ZN25btDefaultVehicleRaycaster7castRayERK9btVector3S2_RN18btVehicleRaycaster24btVehicleRaycasterResultE.__index__ = Runtime.getFunctionIndex(__ZN25btDefaultVehicleRaycaster7castRayERK9btVector3S2_RN18btVehicleRaycaster24btVehicleRaycasterResultE, "__ZN25btDefaultVehicleRaycaster7castRayERK9btVector3S2_RN18btVehicleRaycaster24btVehicleRaycasterResultE");
  
  
  function __ZN16btRaycastVehicle14updateFrictionEf(_this, _timeStep) {
    var __stackBase__  = STACKTOP; STACKTOP += 210;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _3 = __stackBase__+33;
    var _4 = __stackBase__+34;
    var _5 = __stackBase__+50;
    var _wheelBasis0 = __stackBase__+66;
    var _contactPt = __stackBase__+114;
    var _rel_pos = __stackBase__+162;
    var _rel_pos2 = __stackBase__+178;
    var _sideImp = __stackBase__+194;
    var _6 = _this+132+4;
    var _7 = IHEAP[_6];
    var _8 = _7 == 0;
    ;
    _return$_bb$18327: do { 
      if (!_8) {
        ;
        var _9 = _this+4;
        __ZN20btAlignedObjectArrayI9btVector3E6resizeEiRKS0_(_9, _7, _5);
        var _10 = _this+24;
        __ZN20btAlignedObjectArrayI9btVector3E6resizeEiRKS0_(_10, _7, _4);
        FHEAP[_3] = 0;
        var _11 = _this+44;
        __ZN20btAlignedObjectArrayIfE6resizeEiRKf(_11, _7, _3);
        FHEAP[_2] = 0;
        var _12 = _this+64;
        __ZN20btAlignedObjectArrayIfE6resizeEiRKf(_12, _7, _2);
        var _13 = IHEAP[_6];
        var _14 = _13 > 0;
        if (!(_14)) { __label__ = 44; /* _return */ break _return$_bb$18327; }
        var _15 = _this+64+12;
        var _16 = _this+44+12;
        __lastLabel__ = 3344; ;
        _bb1$18330: while(1) { // _bb1
          var _i_095 = __lastLabel__ == 3344 ? 0 : (_19);
          var _17 = IHEAP[_15];
          var _scevgep220 = _17+4*_i_095;
          FHEAP[_scevgep220] = 0;
          var _18 = IHEAP[_16];
          var _scevgep221 = _18+4*_i_095;
          FHEAP[_scevgep221] = 0;
          var _19 = _i_095 + 1;
          var _20 = IHEAP[_6];
          var _21 = _20 > _19;
          if (_21) { __lastLabel__ = 75; __label__ = 75; /* _bb1 */ continue _bb1$18330; } else { __lastLabel__ = 75; __label__ = 3060; /* _bb12_preheader */ break _bb1$18330; }
        }
        var _22 = _20 > 0;
        if (!(_22)) { __label__ = 44; /* _return */ break _return$_bb$18327; }
        var _23 = _this+132+12;
        var _24 = _wheelBasis0;
        var _25 = _wheelBasis0+4;
        var _26 = _wheelBasis0+8;
        var _27 = _wheelBasis0+12;
        var _28 = _wheelBasis0+16;
        var _29 = _wheelBasis0+16+4;
        var _30 = _wheelBasis0+16+8;
        var _31 = _wheelBasis0+16+12;
        var _32 = _wheelBasis0+32;
        var _33 = _wheelBasis0+32+4;
        var _34 = _wheelBasis0+32+8;
        var _35 = _wheelBasis0+32+12;
        var _36 = _this+24+12;
        var _37 = _this+120;
        var _38 = _this+4+12;
        var _39 = _this+64+12;
        var _40 = _this+116;
        __lastLabel__ = 3345; ;
        _bb7$18334: while(1) { // _bb7
          var _i6_093 = __lastLabel__ == 3345 ? 0 : (_tmp219);
          var _tmp219 = _i6_093 + 1;
          var _41 = IHEAP[_23];
          var _scevgep148 = _41+284*_i6_093+88;
          var _42 = IHEAP[_scevgep148];
          var _43 = _42 == 0;
          ;
          if (!_43) {
            ;
            var _44 = _42;
            var _scevgep149150 = _41+284*_i6_093+92;
            var _45 = FHEAP[_scevgep149150];
            FHEAP[_24] = _45;
            var _scevgep151 = _41+284*_i6_093+92+4;
            var _46 = FHEAP[_scevgep151];
            FHEAP[_25] = _46;
            var _scevgep152 = _41+284*_i6_093+92+8;
            var _47 = FHEAP[_scevgep152];
            FHEAP[_26] = _47;
            var _scevgep153 = _41+284*_i6_093+92+12;
            var _48 = FHEAP[_scevgep153];
            FHEAP[_27] = _48;
            var _scevgep154155 = _41+284*_i6_093+92+16;
            var _49 = FHEAP[_scevgep154155];
            FHEAP[_28] = _49;
            var _scevgep156 = _41+284*_i6_093+92+16+4;
            var _50 = FHEAP[_scevgep156];
            FHEAP[_29] = _50;
            var _scevgep157 = _41+284*_i6_093+92+16+8;
            var _51 = FHEAP[_scevgep157];
            FHEAP[_30] = _51;
            var _scevgep158 = _41+284*_i6_093+92+16+12;
            var _52 = FHEAP[_scevgep158];
            FHEAP[_31] = _52;
            var _scevgep159160 = _41+284*_i6_093+92+32;
            var _53 = FHEAP[_scevgep159160];
            FHEAP[_32] = _53;
            var _scevgep161 = _41+284*_i6_093+92+32+4;
            var _54 = FHEAP[_scevgep161];
            FHEAP[_33] = _54;
            var _scevgep162 = _41+284*_i6_093+92+32+8;
            var _55 = FHEAP[_scevgep162];
            FHEAP[_34] = _55;
            var _scevgep163 = _41+284*_i6_093+92+32+12;
            var _56 = FHEAP[_scevgep163];
            FHEAP[_35] = _56;
            var _57 = IHEAP[_36];
            var _58 = IHEAP[_37];
            var _59 = _wheelBasis0+32+_58*4;
            var _60 = _wheelBasis0+16+_58*4;
            var _61 = _wheelBasis0+_58*4;
            var _62 = FHEAP[_61];
            var _63 = FHEAP[_60];
            var _64 = FHEAP[_59];
            var _scevgep164165 = _57+16*_i6_093;
            FHEAP[_scevgep164165] = _62;
            var _scevgep166 = _57+16*_i6_093+4;
            FHEAP[_scevgep166] = _63;
            var _scevgep167 = _57+16*_i6_093+8;
            FHEAP[_scevgep167] = _64;
            var _scevgep168 = _57+16*_i6_093+12;
            FHEAP[_scevgep168] = 0;
            var _65 = IHEAP[_36];
            var _scevgep169170 = _65+16*_i6_093;
            var _66 = FHEAP[_scevgep169170];
            var _scevgep171172 = _41+284*_i6_093;
            var _67 = FHEAP[_scevgep171172];
            var _68 = _66 * _67;
            var _scevgep173 = _65+16*_i6_093+4;
            var _69 = FHEAP[_scevgep173];
            var _scevgep174 = _41+284*_i6_093+4;
            var _70 = FHEAP[_scevgep174];
            var _71 = _69 * _70;
            var _72 = _68 + _71;
            var _scevgep175 = _65+16*_i6_093+8;
            var _73 = FHEAP[_scevgep175];
            var _scevgep176 = _41+284*_i6_093+8;
            var _74 = FHEAP[_scevgep176];
            var _75 = _73 * _74;
            var _76 = _72 + _75;
            var _77 = _74 * _76;
            var _78 = _70 * _76;
            var _79 = _67 * _76;
            var _80 = _66 - _79;
            FHEAP[_scevgep169170] = _80;
            var _81 = _69 - _78;
            FHEAP[_scevgep173] = _81;
            var _82 = _73 - _77;
            FHEAP[_scevgep175] = _82;
            var _83 = IHEAP[_36];
            var _scevgep190191 = _83+16*_i6_093;
            var _84 = FHEAP[_scevgep190191];
            var _85 = _84 * _84;
            var _scevgep193 = _83+16*_i6_093+4;
            var _86 = FHEAP[_scevgep193];
            var _87 = _86 * _86;
            var _88 = _85 + _87;
            var _scevgep194 = _83+16*_i6_093+8;
            var _89 = FHEAP[_scevgep194];
            var _90 = _89 * _89;
            var _91 = _88 + _90;
            var _92 = _sqrtf(_91);
            var _93 = 1 / _92;
            var _94 = _84 * _93;
            FHEAP[_scevgep190191] = _94;
            var _95 = _86 * _93;
            FHEAP[_scevgep193] = _95;
            var _96 = _89 * _93;
            FHEAP[_scevgep194] = _96;
            var _97 = IHEAP[_38];
            var _98 = IHEAP[_36];
            var _99 = FHEAP[_scevgep171172];
            var _scevgep198 = _98+16*_i6_093+4;
            var _100 = FHEAP[_scevgep198];
            var _101 = _99 * _100;
            var _102 = FHEAP[_scevgep174];
            var _scevgep200201 = _98+16*_i6_093;
            var _103 = FHEAP[_scevgep200201];
            var _104 = _102 * _103;
            var _105 = _101 - _104;
            var _106 = FHEAP[_scevgep176];
            var _107 = _106 * _103;
            var _scevgep203 = _98+16*_i6_093+8;
            var _108 = FHEAP[_scevgep203];
            var _109 = _99 * _108;
            var _110 = _107 - _109;
            var _111 = _102 * _108;
            var _112 = _106 * _100;
            var _113 = _111 - _112;
            var _scevgep204205 = _97+16*_i6_093;
            FHEAP[_scevgep204205] = _113;
            var _scevgep206 = _97+16*_i6_093+4;
            FHEAP[_scevgep206] = _110;
            var _scevgep207 = _97+16*_i6_093+8;
            FHEAP[_scevgep207] = _105;
            var _scevgep208 = _97+16*_i6_093+12;
            FHEAP[_scevgep208] = 0;
            var _114 = IHEAP[_38];
            var _scevgep211212 = _114+16*_i6_093;
            var _115 = FHEAP[_scevgep211212];
            var _116 = _115 * _115;
            var _scevgep214 = _114+16*_i6_093+4;
            var _117 = FHEAP[_scevgep214];
            var _118 = _117 * _117;
            var _119 = _116 + _118;
            var _scevgep216 = _114+16*_i6_093+8;
            var _120 = FHEAP[_scevgep216];
            var _121 = _120 * _120;
            var _122 = _119 + _121;
            var _123 = _sqrtf(_122);
            var _124 = 1 / _123;
            var _125 = _115 * _124;
            FHEAP[_scevgep211212] = _125;
            var _126 = _117 * _124;
            FHEAP[_scevgep214] = _126;
            var _127 = _120 * _124;
            FHEAP[_scevgep216] = _127;
            var _128 = IHEAP[_39];
            var _129 = IHEAP[_36];
            var _130 = IHEAP[_40];
            var _scevgep146 = _129+16*_i6_093;
            var _scevgep147 = _128+4*_i6_093;
            var _scevgep217 = _41+284*_i6_093+16;
            var _scevgep217218 = _scevgep217;
            __Z22resolveSingleBilateralR11btRigidBodyRK9btVector3S0_S3_fS3_Rff(_130, _scevgep217218, _44, _scevgep217218, 0, _scevgep146, _scevgep147, _timeStep);
            var _131 = IHEAP[_39];
            var _scevgep145 = _131+4*_i6_093;
            var _132 = FHEAP[_scevgep145];
            var _133 = FHEAP[_sideFrictionStiffness2];
            var _134 = _132 * _133;
            FHEAP[_scevgep145] = _134;
            ;
          }
          var _135 = IHEAP[_6];
          var _136 = _135 > _tmp219;
          if (_136) { __lastLabel__ = 292; __label__ = 2; /* _bb7 */ continue _bb7$18334; } else { __lastLabel__ = 292; __label__ = 3347; /* _bb42_preheader */ break _bb7$18334; }
        }
        var _137 = _135 > 0;
        if (!(_137)) { __label__ = 44; /* _return */ break _return$_bb$18327; }
        var _138 = _this+132+12;
        var _139 = _this+44+12;
        var _140 = _this+64+12;
        var _141 = _this+4+12;
        var _142 = _this+116;
        var _143 = _contactPt;
        var _144 = _contactPt+8+8;
        var _145 = _contactPt+8+4;
        var _146 = _contactPt+8;
        var _147 = _contactPt+4;
        var _148 = _contactPt+44;
        var _149 = _contactPt+24;
        var _150 = _contactPt+24+4;
        var _151 = _contactPt+24+8;
        var _152 = _contactPt+40;
        __lastLabel__ = 3348; ;
        _bb16$18341: while(1) { // _bb16
          var _wheel_091 = __lastLabel__ == 3348 ? 0 : (_tmp143);
          var _sliding_190 = __lastLabel__ == 3348 ? 0 : (_sliding_0);
          var _tmp143 = _wheel_091 + 1;
          var _153 = IHEAP[_138];
          var _scevgep130 = _153+284*_wheel_091+88;
          var _154 = IHEAP[_scevgep130];
          var _155 = _154;
          var _156 = _154 == 0;
          ;
          _bb31$_bb22$18343: do { 
            if (_156) {
              ;
              var _253 = IHEAP[_139];
              var _scevgep128 = _253+4*_wheel_091;
              FHEAP[_scevgep128] = 0;
              var _254 = IHEAP[_138];
              var _scevgep135 = _254+284*_wheel_091+280;
              FHEAP[_scevgep135] = 1;
              __lastLabel__ = 89; ;
            }
            else {
              ;
              var _scevgep131 = _153+284*_wheel_091+252;
              var _157 = FHEAP[_scevgep131];
              var _158 = _157 != 0;
              ;
              if (_158) {
                ;
                var _159 = _157 * _timeStep;
                __lastLabel__ = 419; ;
              }
              else {
                ;
                var _scevgep132 = _153+284*_wheel_091+256;
                var _160 = FHEAP[_scevgep132];
                var _161 = _160 != 0;
                var _iftmp_218_0 = _161 ? _160 : 0;
                var _162 = IHEAP[_141];
                var _163 = IHEAP[_142];
                var _scevgep129 = _162+16*_wheel_091;
                var _scevgep133 = _153+284*_wheel_091+16;
                var _scevgep133134 = _scevgep133;
                __ZN19btWheelContactPointC1EP11btRigidBodyS1_RK9btVector3S4_f(_contactPt, _163, _155, _scevgep133134, _scevgep129, _iftmp_218_0);
                var _164 = IHEAP[_143];
                var _165 = FHEAP[_144];
                var _166 = _164+4+48+8;
                var _167 = FHEAP[_166];
                var _168 = _165 - _167;
                var _169 = FHEAP[_145];
                var _170 = _164+4+48+4;
                var _171 = FHEAP[_170];
                var _172 = _169 - _171;
                var _173 = FHEAP[_146];
                var _174 = _164+4+48;
                var _175 = FHEAP[_174];
                var _176 = _173 - _175;
                var _177 = IHEAP[_147];
                var _178 = _177+4+48+8;
                var _179 = FHEAP[_178];
                var _180 = _165 - _179;
                var _181 = _177+4+48+4;
                var _182 = FHEAP[_181];
                var _183 = _169 - _182;
                var _184 = _177+4+48;
                var _185 = FHEAP[_184];
                var _186 = _173 - _185;
                var _187 = FHEAP[_148];
                var _188 = _164+320;
                var _189 = FHEAP[_188];
                var _190 = _189 * _172;
                var _191 = _164+320+4;
                var _192 = FHEAP[_191];
                var _193 = _192 * _176;
                var _194 = _190 - _193;
                var _195 = _164+320+8;
                var _196 = FHEAP[_195];
                var _197 = _196 * _176;
                var _198 = _189 * _168;
                var _199 = _197 - _198;
                var _200 = _192 * _168;
                var _201 = _196 * _172;
                var _202 = _200 - _201;
                var _203 = _164+304+8;
                var _204 = FHEAP[_203];
                var _205 = _204 + _194;
                var _206 = _164+304+4;
                var _207 = FHEAP[_206];
                var _208 = _207 + _199;
                var _209 = _164+304;
                var _210 = FHEAP[_209];
                var _211 = _210 + _202;
                var _212 = _177+320;
                var _213 = FHEAP[_212];
                var _214 = _213 * _183;
                var _215 = _177+320+4;
                var _216 = FHEAP[_215];
                var _217 = _216 * _186;
                var _218 = _214 - _217;
                var _219 = _177+320+8;
                var _220 = FHEAP[_219];
                var _221 = _220 * _186;
                var _222 = _213 * _180;
                var _223 = _221 - _222;
                var _224 = _216 * _180;
                var _225 = _220 * _183;
                var _226 = _224 - _225;
                var _227 = _177+304+8;
                var _228 = FHEAP[_227];
                var _229 = _228 + _218;
                var _230 = _177+304+4;
                var _231 = FHEAP[_230];
                var _232 = _231 + _223;
                var _233 = _177+304;
                var _234 = FHEAP[_233];
                var _235 = _234 + _226;
                var _236 = _205 - _229;
                var _237 = _208 - _232;
                var _238 = _211 - _235;
                var _239 = FHEAP[_149];
                var _240 = _239 * _238;
                var _241 = FHEAP[_150];
                var _242 = _241 * _237;
                var _243 = _240 + _242;
                var _244 = FHEAP[_151];
                var _245 = _244 * _236;
                var _246 = _243 + _245;
                var _247 = 0 - _246;
                var _248 = FHEAP[_152];
                var _249 = _248 * _247;
                var _250 = _187 < _249;
                var _j1_1_i = _250 ? _187 : _249;
                var _251 = 0 - _187;
                var _252 = _j1_1_i < _251;
                var _j1_0_i = _252 ? _251 : _j1_1_i;
                __lastLabel__ = 65; ;
              }
              var _rollingFriction_0_ph = __lastLabel__ == 65 ? _j1_0_i : (_159);
              var _255 = IHEAP[_139];
              var _scevgep128223 = _255+4*_wheel_091;
              FHEAP[_scevgep128223] = 0;
              var _256 = IHEAP[_138];
              var _scevgep135224 = _256+284*_wheel_091+280;
              FHEAP[_scevgep135224] = 1;
              var _257 = IHEAP[_138];
              var _scevgep136 = _257+284*_wheel_091+280;
              FHEAP[_scevgep136] = 1;
              var _scevgep137 = _153+284*_wheel_091+276;
              var _258 = FHEAP[_scevgep137];
              var _259 = _258 * _timeStep;
              var _scevgep138 = _153+284*_wheel_091+228;
              var _260 = FHEAP[_scevgep138];
              var _261 = _259 * _260;
              var _262 = _261 * _261;
              var _263 = IHEAP[_139];
              var _scevgep127 = _263+4*_wheel_091;
              FHEAP[_scevgep127] = _rollingFriction_0_ph;
              var _264 = IHEAP[_139];
              var _scevgep126 = _264+4*_wheel_091;
              var _265 = FHEAP[_scevgep126];
              var _266 = _265 * 0.5;
              var _267 = IHEAP[_140];
              var _scevgep125 = _267+4*_wheel_091;
              var _268 = FHEAP[_scevgep125];
              var _269 = _266 * _266;
              var _270 = _268 * _268;
              var _271 = _269 + _270;
              var _272 = _271 > _262;
              if (_272) { __lastLabel__ = 91; ; } else { __lastLabel__ = 91; __label__ = 253; /* _bb41 */ break _bb31$_bb22$18343; }
              var _273 = _sqrtf(_271);
              var _274 = _261 / _273;
              var _275 = IHEAP[_138];
              var _scevgep139 = _275+284*_wheel_091+280;
              var _276 = FHEAP[_scevgep139];
              var _277 = _276 * _274;
              FHEAP[_scevgep139] = _277;
              __lastLabel__ = 971; ;
            }
          } while(0);
          var _sliding_0 = __lastLabel__ == 971 ? 1 : (__lastLabel__ == 91 ? _sliding_190 : (_sliding_190));
          var _278 = IHEAP[_6];
          var _279 = _278 > _tmp143;
          if (_279) { __lastLabel__ = 253; __label__ = 154; /* _bb16 */ continue _bb16$18341; } else { __lastLabel__ = 253; __label__ = 94; /* _bb44 */ break _bb16$18341; }
        }
        var _toBool45 = _sliding_0 == 0;
        ;
        _bb74_preheader$_bb55_preheader$18353: do { 
          if (_toBool45) {
            __lastLabel__ = 94; ;
          }
          else {
            __lastLabel__ = 94; ;
            var _280 = _278 > 0;
            if (!(_280)) { __label__ = 44; /* _return */ break _return$_bb$18327; }
            var _281 = _this+64+12;
            var _282 = _this+132+12;
            var _283 = _this+44+12;
            __lastLabel__ = 130; ;
            _bb49$18356: while(1) { // _bb49
              var _wheel48_087 = __lastLabel__ == 130 ? 0 : (_tmp);
              var _tmp = _wheel48_087 + 1;
              var _284 = IHEAP[_281];
              var _scevgep100 = _284+4*_wheel48_087;
              var _285 = FHEAP[_scevgep100];
              var _286 = _285 != 0;
              ;
              _bb51$_bb54$18358: do { 
                if (_286) {
                  ;
                  var _287 = IHEAP[_282];
                  var _scevgep101 = _287+284*_wheel48_087+280;
                  var _288 = FHEAP[_scevgep101];
                  var _289 = _288 < 1;
                  if (!(_289)) { __label__ = 1021; /* _bb54 */ break _bb51$_bb54$18358; }
                  var _290 = IHEAP[_283];
                  var _scevgep99 = _290+4*_wheel48_087;
                  var _291 = FHEAP[_scevgep99];
                  var _292 = _291 * _288;
                  FHEAP[_scevgep99] = _292;
                  var _293 = IHEAP[_281];
                  var _scevgep97 = _293+4*_wheel48_087;
                  var _294 = FHEAP[_scevgep97];
                  var _295 = IHEAP[_282];
                  var _scevgep103 = _295+284*_wheel48_087+280;
                  var _296 = FHEAP[_scevgep103];
                  var _297 = _294 * _296;
                  FHEAP[_scevgep97] = _297;
                  ;
                }
              } while(0);
              var _298 = IHEAP[_6];
              var _299 = _298 > _tmp;
              if (_299) { __lastLabel__ = 1021; __label__ = 1019; /* _bb49 */ continue _bb49$18356; } else { __lastLabel__ = 1021; __label__ = 3352; /* _bb74_preheader */ break _bb74_preheader$_bb55_preheader$18353; }
            }
          }
        } while(0);
        var _393 = __lastLabel__ == 94 ? _278 : (_298);
        var _394 = _393 > 0;
        if (!(_394)) { __label__ = 44; /* _return */ break _return$_bb$18327; }
        var _300 = _this+132+12;
        var _301 = _this+116;
        var _302 = _rel_pos;
        var _303 = _rel_pos+4;
        var _304 = _rel_pos+8;
        var _305 = _rel_pos+12;
        var _306 = _this+44+12;
        var _307 = _this+4+12;
        var _308 = _1;
        var _309 = _1+4;
        var _310 = _1+8;
        var _311 = _1+12;
        var _312 = _this+64+12;
        var _313 = _rel_pos2;
        var _314 = _rel_pos2+4;
        var _315 = _rel_pos2+8;
        var _316 = _rel_pos2+12;
        var _317 = _this+24+12;
        var _318 = _sideImp;
        var _319 = _sideImp+4;
        var _320 = _sideImp+8;
        var _321 = _sideImp+12;
        var _322 = _this+124;
        var _323 = _0;
        var _324 = _0+4;
        var _325 = _0+8;
        var _326 = _0+12;
        __lastLabel__ = 1698; ;
        _bb60$18364: while(1) { // _bb60
          var _wheel59_088 = __lastLabel__ == 1698 ? 0 : (_tmp124);
          var _tmp124 = _wheel59_088 + 1;
          var _327 = IHEAP[_300];
          var _328 = IHEAP[_301];
          var _scevgep108 = _327+284*_wheel59_088+16+8;
          var _329 = FHEAP[_scevgep108];
          var _330 = _328+4+48+8;
          var _331 = FHEAP[_330];
          var _332 = _329 - _331;
          var _scevgep109 = _327+284*_wheel59_088+16+4;
          var _333 = FHEAP[_scevgep109];
          var _334 = _328+4+48+4;
          var _335 = FHEAP[_334];
          var _336 = _333 - _335;
          var _scevgep110 = _327+284*_wheel59_088+16;
          var _337 = FHEAP[_scevgep110];
          var _338 = _328+4+48;
          var _339 = FHEAP[_338];
          var _340 = _337 - _339;
          FHEAP[_302] = _340;
          FHEAP[_303] = _336;
          FHEAP[_304] = _332;
          FHEAP[_305] = 0;
          var _341 = IHEAP[_306];
          var _scevgep107 = _341+4*_wheel59_088;
          var _342 = FHEAP[_scevgep107];
          var _343 = _342 != 0;
          ;
          if (_343) {
            ;
            var _344 = IHEAP[_307];
            var _scevgep120 = _344+16*_wheel59_088+8;
            var _345 = FHEAP[_scevgep120];
            var _346 = _345 * _342;
            var _scevgep121 = _344+16*_wheel59_088+4;
            var _347 = FHEAP[_scevgep121];
            var _348 = _347 * _342;
            var _scevgep122123 = _344+16*_wheel59_088;
            var _349 = FHEAP[_scevgep122123];
            var _350 = _349 * _342;
            FHEAP[_308] = _350;
            FHEAP[_309] = _348;
            FHEAP[_310] = _346;
            FHEAP[_311] = 0;
            __ZN11btRigidBody12applyImpulseERK9btVector3S2_(_328, _1, _rel_pos);
            ;
          }
          var _351 = IHEAP[_312];
          var _scevgep105 = _351+4*_wheel59_088;
          var _352 = FHEAP[_scevgep105];
          var _353 = _352 != 0;
          ;
          if (_353) {
            ;
            var _354 = IHEAP[_300];
            var _scevgep111 = _354+284*_wheel59_088+88;
            var _355 = IHEAP[_scevgep111];
            var _356 = _355;
            var _357 = _355+52;
            var _358 = FHEAP[_scevgep108];
            var _359 = _355+60;
            var _360 = _359;
            var _361 = FHEAP[_360];
            var _362 = _358 - _361;
            var _363 = FHEAP[_scevgep109];
            var _364 = _355+56;
            var _365 = _364;
            var _366 = FHEAP[_365];
            var _367 = _363 - _366;
            var _368 = FHEAP[_scevgep110];
            var _369 = _357;
            var _370 = FHEAP[_369];
            var _371 = _368 - _370;
            FHEAP[_313] = _371;
            FHEAP[_314] = _367;
            FHEAP[_315] = _362;
            FHEAP[_316] = 0;
            var _372 = IHEAP[_317];
            var _scevgep115 = _372+16*_wheel59_088+8;
            var _373 = FHEAP[_scevgep115];
            var _374 = _373 * _352;
            var _scevgep116 = _372+16*_wheel59_088+4;
            var _375 = FHEAP[_scevgep116];
            var _376 = _375 * _352;
            var _scevgep117118 = _372+16*_wheel59_088;
            var _377 = FHEAP[_scevgep117118];
            var _378 = _377 * _352;
            FHEAP[_318] = _378;
            FHEAP[_319] = _376;
            FHEAP[_320] = _374;
            FHEAP[_321] = 0;
            var _379 = IHEAP[_322];
            var _380 = _rel_pos+_379*4;
            var _381 = FHEAP[_380];
            var _scevgep119 = _327+284*_wheel59_088+244;
            var _382 = FHEAP[_scevgep119];
            var _383 = _381 * _382;
            FHEAP[_380] = _383;
            var _384 = IHEAP[_301];
            __ZN11btRigidBody12applyImpulseERK9btVector3S2_(_384, _sideImp, _rel_pos);
            var _385 = FHEAP[_320];
            var _386 = 0 - _385;
            var _387 = FHEAP[_319];
            var _388 = 0 - _387;
            var _389 = FHEAP[_318];
            var _390 = 0 - _389;
            FHEAP[_323] = _390;
            FHEAP[_324] = _388;
            FHEAP[_325] = _386;
            FHEAP[_326] = 0;
            __ZN11btRigidBody12applyImpulseERK9btVector3S2_(_356, _0, _rel_pos2);
            ;
          }
          var _391 = IHEAP[_6];
          var _392 = _391 > _tmp124;
          if (_392) { __lastLabel__ = 12; __label__ = 1025; /* _bb60 */ continue _bb60$18364; } else { __lastLabel__ = 12; __label__ = 44; /* _return */ break _return$_bb$18327; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN16btRaycastVehicle14updateFrictionEf.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicle14updateFrictionEf, "__ZN16btRaycastVehicle14updateFrictionEf");
  
  
  function __ZN20btAlignedObjectArrayI11btWheelInfoE9push_backERKS0_(_this, __Val) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _this+8;
    var _3 = IHEAP[_2];
    var _4 = _3 == _1;
    ;
    _bb$_bb1$18374: do { 
      if (_4) {
        __lastLabel__ = -1; ;
        var _5 = _1 == 0;
        var _6 = _1 << 1;
        var _iftmp_250_0_i = _5 ? 1 : _6;
        var _7 = _3 < _iftmp_250_0_i;
        if (_7) { __lastLabel__ = 60; ; } else { __lastLabel__ = 60; __label__ = 75; /* _bb1 */ break _bb$_bb1$18374; }
        var _8 = _iftmp_250_0_i == 0;
        ;
        if (_8) {
          __lastLabel__ = 131; ;
        }
        else {
          __lastLabel__ = 131; ;
          var _9 = _iftmp_250_0_i * 284;
          var _10 = __Z22btAlignedAllocInternalji(_9, 16);
          var _phitmp_i = _10;
          var __pre = IHEAP[_0];
          __lastLabel__ = 215; ;
        }
        var _11 = __lastLabel__ == 215 ? __pre : (_1);
        var _12 = __lastLabel__ == 215 ? _phitmp_i : (0);
        var _13 = _11 > 0;
        ;
        _bb_nph_i_i$__ZNK20btAlignedObjectArrayI11btWheelInfoE4copyEiiPS0__exit_i$18380: do { 
          if (_13) {
            ;
            var _14 = _this+12;
            __lastLabel__ = 217; ;
            _bb_i4_i$18382: while(1) { // _bb_i4_i
              var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
              var _scevgep_i_i = _12+284*_indvar_i_i;
              var _15 = _scevgep_i_i == 0;
              ;
              if (!_15) {
                ;
                var _16 = IHEAP[_14];
                var _scevgep8_i_i = _16+284*_indvar_i_i;
                __ZN11btWheelInfoC1ERKS_(_scevgep_i_i, _scevgep8_i_i);
                ;
              }
              var _indvar_next_i_i = _indvar_i_i + 1;
              var _exitcond = _indvar_next_i_i == _11;
              if (_exitcond) { __lastLabel__ = 324; __label__ = 3357; /* __ZNK20btAlignedObjectArrayI11btWheelInfoE4copyEiiPS0__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayI11btWheelInfoE4copyEiiPS0__exit_i$18380; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$18382; }
            }
          }
        } while(0);
        var _17 = _this+12;
        var _18 = IHEAP[_17];
        var _19 = _18 == 0;
        ;
        if (!_19) {
          ;
          var _20 = _this+16;
          var _21 = IHEAP[_20];
          var _toBool_i_i = _21 == 0;
          ;
          if (!_toBool_i_i) {
            ;
            var _22 = _18;
            __Z21btAlignedFreeInternalPv(_22);
            ;
          }
          IHEAP[_17] = 0;
          ;
        }
        var _23 = _this+16;
        IHEAP[_23] = 1;
        IHEAP[_17] = _12;
        IHEAP[_2] = _iftmp_250_0_i;
        var __pre5 = IHEAP[_0];
        __lastLabel__ = 3360; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _24 = __lastLabel__ == 3360 ? __pre5 : (__lastLabel__ == -1 ? _1 : (_1));
    var _25 = _this+12;
    var _26 = IHEAP[_25];
    var _27 = _26+284*_24;
    var _28 = _27 == 0;
    ;
    if (_28) {
      __lastLabel__ = 75; ;
    }
    else {
      __lastLabel__ = 75; ;
      __ZN11btWheelInfoC1ERKS_(_27, __Val);
      var __pre6 = IHEAP[_0];
      __lastLabel__ = 0; ;
    }
    var _29 = __lastLabel__ == 75 ? _24 : (__pre6);
    var _30 = _29 + 1;
    IHEAP[_0] = _30;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayI11btWheelInfoE9push_backERKS0_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI11btWheelInfoE9push_backERKS0_, "__ZN20btAlignedObjectArrayI11btWheelInfoE9push_backERKS0_");
  
  
  function __ZN16btRaycastVehicle16updateSuspensionEf(_this, _deltaTime) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+116;
    var _1 = IHEAP[_0];
    var _2 = _1+336;
    var _3 = FHEAP[_2];
    var _4 = 1 / _3;
    var _5 = _this+132+4;
    var _6 = IHEAP[_5];
    var _7 = _6 > 0;
    ;
    _bb_nph$_return$18399: do { 
      if (_7) {
        ;
        var _8 = _this+132+12;
        __lastLabel__ = 130; ;
        _bb$18401: while(1) { // _bb
          var _w_it_011 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _w_it_011 + 1;
          var _9 = IHEAP[_8];
          var _scevgep12 = _9+284*_w_it_011+84;
          var _10 = IHEAP[_scevgep12];
          var _toBool = _10 == 0;
          ;
          _bb6$_bb1$18403: do { 
            if (_toBool) {
              ;
              var _scevgep20 = _9+284*_w_it_011+276;
              FHEAP[_scevgep20] = 0;
              ;
            }
            else {
              ;
              var _scevgep = _9+284*_w_it_011;
              var _11 = __ZNK11btWheelInfo23getSuspensionRestLengthEv(_scevgep);
              var _scevgep13 = _9+284*_w_it_011+32;
              var _12 = FHEAP[_scevgep13];
              var _13 = _11 - _12;
              var _scevgep14 = _9+284*_w_it_011+216;
              var _14 = FHEAP[_scevgep14];
              var _15 = _14 * _13;
              var _scevgep15 = _9+284*_w_it_011+268;
              var _16 = FHEAP[_scevgep15];
              var _17 = _15 * _16;
              var _scevgep16 = _9+284*_w_it_011+272;
              var _18 = FHEAP[_scevgep16];
              var _19 = _18 < 0;
              ;
              if (_19) {
                ;
                var _20 = _9+284*_w_it_011+220;
                __lastLabel__ = 0; ;
              }
              else {
                ;
                var _scevgep17 = _9+284*_w_it_011+224;
                __lastLabel__ = 116; ;
              }
              var _susp_damping_0_in = __lastLabel__ == 0 ? _20 : (_scevgep17);
              var _susp_damping_0 = FHEAP[_susp_damping_0_in];
              var _21 = _susp_damping_0 * _18;
              var _22 = _17 - _21;
              var _23 = _22 * _4;
              var _scevgep18 = _9+284*_w_it_011+276;
              FHEAP[_scevgep18] = _23;
              var _24 = _23 < 0;
              if (!(_24)) { __label__ = 2; /* _bb7 */ break _bb6$_bb1$18403; }
              FHEAP[_scevgep18] = 0;
              ;
            }
          } while(0);
          var _25 = IHEAP[_5];
          var _26 = _25 > _tmp;
          if (_26) { __lastLabel__ = 2; __label__ = 60; /* _bb */ continue _bb$18401; } else { __lastLabel__ = 2; __label__ = 44; /* _return */ break _bb_nph$_return$18399; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN16btRaycastVehicle16updateSuspensionEf.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicle16updateSuspensionEf, "__ZN16btRaycastVehicle16updateSuspensionEf");
  
  
  function __ZN16btRaycastVehicle15resetSuspensionEv(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+132+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph$_return$18414: do { 
      if (_2) {
        ;
        var _3 = _this+132+12;
        __lastLabel__ = 130; ;
        _bb$18416: while(1) { // _bb
          var _i_05 = __lastLabel__ == 130 ? 0 : (_12);
          var _4 = IHEAP[_3];
          var _scevgep = _4+284*_i_05;
          var _5 = __ZNK11btWheelInfo23getSuspensionRestLengthEv(_scevgep);
          var _scevgep6 = _4+284*_i_05+32;
          FHEAP[_scevgep6] = _5;
          var _scevgep7 = _4+284*_i_05+272;
          FHEAP[_scevgep7] = 0;
          var _scevgep8 = _4+284*_i_05+52+8;
          var _6 = FHEAP[_scevgep8];
          var _7 = 0 - _6;
          var _scevgep9 = _4+284*_i_05+52+4;
          var _8 = FHEAP[_scevgep9];
          var _9 = 0 - _8;
          var _scevgep10 = _4+284*_i_05+52;
          var _10 = FHEAP[_scevgep10];
          var _11 = 0 - _10;
          var _scevgep1112 = _4+284*_i_05;
          FHEAP[_scevgep1112] = _11;
          var _scevgep13 = _4+284*_i_05+4;
          FHEAP[_scevgep13] = _9;
          var _scevgep14 = _4+284*_i_05+8;
          FHEAP[_scevgep14] = _7;
          var _scevgep15 = _4+284*_i_05+12;
          FHEAP[_scevgep15] = 0;
          var _scevgep16 = _4+284*_i_05+268;
          FHEAP[_scevgep16] = 1;
          var _12 = _i_05 + 1;
          var _13 = IHEAP[_0];
          var _14 = _13 > _12;
          if (_14) { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$18416; } else { __lastLabel__ = 60; __label__ = 44; /* _return */ break _bb_nph$_return$18414; }
        }
      }
    } while(0);
    ;
    return;
  }
  __ZN16btRaycastVehicle15resetSuspensionEv.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicle15resetSuspensionEv, "__ZN16btRaycastVehicle15resetSuspensionEv");
  
  
  function __ZN16btRaycastVehicle20updateWheelTransformEib(_this, _wheelIndex, _interpolatedTransform) {
    ;
    var __label__;
    var _0 = _this+132+12;
    var _1 = IHEAP[_0];
    var _2 = _1+284*_wheelIndex;
    __ZN16btRaycastVehicle23updateWheelTransformsWSER11btWheelInfob(_this, _2, _interpolatedTransform);
    var _3 = _1+284*_wheelIndex+52+8;
    var _4 = FHEAP[_3];
    var _5 = 0 - _4;
    var _6 = _1+284*_wheelIndex+52+4;
    var _7 = FHEAP[_6];
    var _8 = 0 - _7;
    var _9 = _1+284*_wheelIndex+52;
    var _10 = FHEAP[_9];
    var _11 = 0 - _10;
    var _12 = _1+284*_wheelIndex+68+4;
    var _13 = FHEAP[_12];
    var _14 = _13 * _11;
    var _15 = _1+284*_wheelIndex+68;
    var _16 = FHEAP[_15];
    var _17 = _16 * _8;
    var _18 = _14 - _17;
    var _19 = _16 * _5;
    var _20 = _1+284*_wheelIndex+68+8;
    var _21 = FHEAP[_20];
    var _22 = _21 * _11;
    var _23 = _19 - _22;
    var _24 = _21 * _8;
    var _25 = _13 * _5;
    var _26 = _24 - _25;
    var _27 = _26 * _26;
    var _28 = _23 * _23;
    var _29 = _27 + _28;
    var _30 = _18 * _18;
    var _31 = _29 + _30;
    var _32 = _sqrtf(_31);
    var _33 = 1 / _32;
    var _34 = _26 * _33;
    var _35 = _23 * _33;
    var _36 = _18 * _33;
    var _37 = _1+284*_wheelIndex+232;
    var _38 = FHEAP[_37];
    var _39 = _10 * _10;
    var _40 = _7 * _7;
    var _41 = _39 + _40;
    var _42 = _4 * _4;
    var _43 = _41 + _42;
    var _44 = _sqrtf(_43);
    var _45 = _38 * 0.5;
    var _46 = _sinf(_45);
    var _47 = _46 / _44;
    var _48 = _cosf(_45);
    var _49 = _47 * _5;
    var _50 = _47 * _8;
    var _51 = _47 * _11;
    var _52 = _51 * _51;
    var _53 = _50 * _50;
    var _54 = _52 + _53;
    var _55 = _49 * _49;
    var _56 = _54 + _55;
    var _57 = _48 * _48;
    var _58 = _56 + _57;
    var _59 = 2 / _58;
    var _60 = _51 * _59;
    var _61 = _50 * _59;
    var _62 = _49 * _59;
    var _63 = _48 * _60;
    var _64 = _48 * _61;
    var _65 = _48 * _62;
    var _66 = _51 * _60;
    var _67 = _51 * _61;
    var _68 = _51 * _62;
    var _69 = _50 * _61;
    var _70 = _50 * _62;
    var _71 = _49 * _62;
    var _72 = _66 + _69;
    var _73 = 1 - _72;
    var _74 = _70 + _63;
    var _75 = _68 - _64;
    var _76 = _70 - _63;
    var _77 = _66 + _71;
    var _78 = 1 - _77;
    var _79 = _67 + _65;
    var _80 = _68 + _64;
    var _81 = _67 - _65;
    var _82 = _69 + _71;
    var _83 = 1 - _82;
    var _84 = _1+284*_wheelIndex+236;
    var _85 = FHEAP[_84];
    var _86 = _16 * _16;
    var _87 = _13 * _13;
    var _88 = _86 + _87;
    var _89 = _21 * _21;
    var _90 = _88 + _89;
    var _91 = _sqrtf(_90);
    var _92 = _85 * -0.5;
    var _93 = _sinf(_92);
    var _94 = _93 / _91;
    var _95 = _cosf(_92);
    var _96 = _21 * _94;
    var _97 = _13 * _94;
    var _98 = _16 * _94;
    var _99 = _98 * _98;
    var _100 = _97 * _97;
    var _101 = _99 + _100;
    var _102 = _96 * _96;
    var _103 = _101 + _102;
    var _104 = _95 * _95;
    var _105 = _103 + _104;
    var _106 = 2 / _105;
    var _107 = _98 * _106;
    var _108 = _97 * _106;
    var _109 = _96 * _106;
    var _110 = _95 * _107;
    var _111 = _95 * _108;
    var _112 = _95 * _109;
    var _113 = _98 * _107;
    var _114 = _98 * _108;
    var _115 = _98 * _109;
    var _116 = _97 * _108;
    var _117 = _97 * _109;
    var _118 = _96 * _109;
    var _119 = _113 + _116;
    var _120 = 1 - _119;
    var _121 = _117 + _110;
    var _122 = _115 - _111;
    var _123 = _117 - _110;
    var _124 = _113 + _118;
    var _125 = 1 - _124;
    var _126 = _114 + _112;
    var _127 = _115 + _111;
    var _128 = _114 - _112;
    var _129 = _116 + _118;
    var _130 = 1 - _129;
    var _131 = _127 * _75;
    var _132 = _123 * _74;
    var _133 = _131 + _132;
    var _134 = _120 * _73;
    var _135 = _133 + _134;
    var _136 = _128 * _75;
    var _137 = _125 * _74;
    var _138 = _136 + _137;
    var _139 = _121 * _73;
    var _140 = _138 + _139;
    var _141 = _130 * _75;
    var _142 = _126 * _74;
    var _143 = _141 + _142;
    var _144 = _122 * _73;
    var _145 = _143 + _144;
    var _146 = _127 * _79;
    var _147 = _123 * _78;
    var _148 = _146 + _147;
    var _149 = _120 * _76;
    var _150 = _148 + _149;
    var _151 = _128 * _79;
    var _152 = _125 * _78;
    var _153 = _151 + _152;
    var _154 = _121 * _76;
    var _155 = _153 + _154;
    var _156 = _130 * _79;
    var _157 = _126 * _78;
    var _158 = _156 + _157;
    var _159 = _122 * _76;
    var _160 = _158 + _159;
    var _161 = _127 * _83;
    var _162 = _123 * _81;
    var _163 = _161 + _162;
    var _164 = _120 * _80;
    var _165 = _163 + _164;
    var _166 = _128 * _83;
    var _167 = _125 * _81;
    var _168 = _166 + _167;
    var _169 = _121 * _80;
    var _170 = _168 + _169;
    var _171 = _130 * _83;
    var _172 = _126 * _81;
    var _173 = _171 + _172;
    var _174 = _122 * _80;
    var _175 = _173 + _174;
    var _176 = _145 * _11;
    var _177 = _140 * _8;
    var _178 = _176 + _177;
    var _179 = _135 * _5;
    var _180 = _178 + _179;
    var _181 = _34 * _145;
    var _182 = _35 * _140;
    var _183 = _181 + _182;
    var _184 = _36 * _135;
    var _185 = _183 + _184;
    var _186 = _16 * _145;
    var _187 = _13 * _140;
    var _188 = _186 + _187;
    var _189 = _21 * _135;
    var _190 = _188 + _189;
    var _191 = _160 * _11;
    var _192 = _155 * _8;
    var _193 = _191 + _192;
    var _194 = _150 * _5;
    var _195 = _193 + _194;
    var _196 = _34 * _160;
    var _197 = _35 * _155;
    var _198 = _196 + _197;
    var _199 = _36 * _150;
    var _200 = _198 + _199;
    var _201 = _16 * _160;
    var _202 = _13 * _155;
    var _203 = _201 + _202;
    var _204 = _21 * _150;
    var _205 = _203 + _204;
    var _206 = _175 * _11;
    var _207 = _170 * _8;
    var _208 = _206 + _207;
    var _209 = _165 * _5;
    var _210 = _208 + _209;
    var _211 = _34 * _175;
    var _212 = _35 * _170;
    var _213 = _211 + _212;
    var _214 = _36 * _165;
    var _215 = _213 + _214;
    var _216 = _16 * _175;
    var _217 = _13 * _170;
    var _218 = _216 + _217;
    var _219 = _21 * _165;
    var _220 = _218 + _219;
    var _221 = _1+284*_wheelIndex+92;
    FHEAP[_221] = _220;
    var _222 = _1+284*_wheelIndex+92+4;
    FHEAP[_222] = _215;
    var _223 = _1+284*_wheelIndex+92+8;
    FHEAP[_223] = _210;
    var _224 = _1+284*_wheelIndex+92+12;
    FHEAP[_224] = 0;
    var _225 = _1+284*_wheelIndex+92+16;
    FHEAP[_225] = _205;
    var _226 = _1+284*_wheelIndex+92+16+4;
    FHEAP[_226] = _200;
    var _227 = _1+284*_wheelIndex+92+16+8;
    FHEAP[_227] = _195;
    var _228 = _1+284*_wheelIndex+92+16+12;
    FHEAP[_228] = 0;
    var _229 = _1+284*_wheelIndex+92+32;
    FHEAP[_229] = _190;
    var _230 = _1+284*_wheelIndex+92+32+4;
    FHEAP[_230] = _185;
    var _231 = _1+284*_wheelIndex+92+32+8;
    FHEAP[_231] = _180;
    var _232 = _1+284*_wheelIndex+92+32+12;
    FHEAP[_232] = 0;
    var _233 = _1+284*_wheelIndex+32;
    var _234 = FHEAP[_233];
    var _235 = _4 * _234;
    var _236 = _7 * _234;
    var _237 = _10 * _234;
    var _238 = _1+284*_wheelIndex+36+8;
    var _239 = FHEAP[_238];
    var _240 = _239 + _235;
    var _241 = _1+284*_wheelIndex+36+4;
    var _242 = FHEAP[_241];
    var _243 = _242 + _236;
    var _244 = _1+284*_wheelIndex+36;
    var _245 = FHEAP[_244];
    var _246 = _245 + _237;
    var _247 = _1+284*_wheelIndex+92+48;
    FHEAP[_247] = _246;
    var _248 = _1+284*_wheelIndex+92+48+4;
    FHEAP[_248] = _243;
    var _249 = _1+284*_wheelIndex+92+48+8;
    FHEAP[_249] = _240;
    var _250 = _1+284*_wheelIndex+92+48+12;
    FHEAP[_250] = 0;
    ;
    return;
  }
  __ZN16btRaycastVehicle20updateWheelTransformEib.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicle20updateWheelTransformEib, "__ZN16btRaycastVehicle20updateWheelTransformEib");
  
  
  function __ZN16btRaycastVehicleD0Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btRaycastVehicle+8;
    var _1 = _this+132+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$18422: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+132+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$18424: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$18424; } else { ; }
            var _eh_ptr45 = _llvm_eh_exception();
            var _eh_select47 = _llvm_eh_selector(_eh_ptr45, ___gxx_personality_v0, 0);
            var _50 = _this+64+12;
            var _51 = IHEAP[_50];
            var _52 = _51 == 0;
            ;
            if (!_52) {
              ;
              var _53 = _this+64+16;
              var _54 = IHEAP[_53];
              var _toBool_i_i_i93 = _54 == 0;
              ;
              _bb2_i_i_i96$_bb1_i_i_i95$18429: do { 
                if (!_toBool_i_i_i93) {
                  ;
                  var _55 = _51;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_55) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3812; /* _bb2_i_i_i96 */ break _bb2_i_i_i96$_bb1_i_i_i95$18429; } else { ; }
                  var _eh_ptr49 = _llvm_eh_exception();
                  var _eh_select51 = _llvm_eh_selector(_eh_ptr49, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_50] = 0;
              ;
            }
            var _56 = _this+64+16;
            IHEAP[_56] = 1;
            IHEAP[_50] = 0;
            var _57 = _this+64+4;
            IHEAP[_57] = 0;
            var _58 = _this+64+8;
            IHEAP[_58] = 0;
            __lastLabel__ = 3371; __label__ = 887; /* _ppad65 */ break _bb3$_bb_i_i_i$18422;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$18422;
      }
    } while(0);
    _bb3$_ppad65$18435: do { 
      if (__label__ == 116) {
        var _7 = _this+132+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+132+4;
        IHEAP[_8] = 0;
        var _9 = _this+132+8;
        IHEAP[_9] = 0;
        var _10 = _this+64+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+64+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i72 = _14 == 0;
          ;
          _bb2_i_i_i75$_bb1_i_i_i74$18439: do { 
            if (!_toBool_i_i_i72) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3809; /* _bb2_i_i_i75 */ break _bb2_i_i_i75$_bb1_i_i_i74$18439; } else { ; }
              var _eh_ptr41 = _llvm_eh_exception();
              var _eh_select43 = _llvm_eh_selector(_eh_ptr41, ___gxx_personality_v0, 0);
              __lastLabel__ = 520; __label__ = 887; /* _ppad65 */ break _bb3$_ppad65$18435;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _16 = _this+64+16;
        IHEAP[_16] = 1;
        IHEAP[_10] = 0;
        var _17 = _this+64+4;
        IHEAP[_17] = 0;
        var _18 = _this+64+8;
        IHEAP[_18] = 0;
        var _19 = _this+44+12;
        var _20 = IHEAP[_19];
        var _21 = _20 == 0;
        ;
        if (!_21) {
          ;
          var _22 = _this+44+16;
          var _23 = IHEAP[_22];
          var _toBool_i_i_i77 = _23 == 0;
          ;
          _bb2_i_i_i80$_bb1_i_i_i79$18446: do { 
            if (!_toBool_i_i_i77) {
              ;
              var _24 = _20;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_24) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3810; /* _bb2_i_i_i80 */ break _bb2_i_i_i80$_bb1_i_i_i79$18446; } else { ; }
              var _eh_ptr37 = _llvm_eh_exception();
              var _eh_select39 = _llvm_eh_selector(_eh_ptr37, ___gxx_personality_v0, 0);
              __lastLabel__ = 680; __label__ = 886; /* _ppad64 */ break _bb3$_ppad65$18435;
            }
          } while(0);
          IHEAP[_19] = 0;
          ;
        }
        var _25 = _this+44+16;
        IHEAP[_25] = 1;
        IHEAP[_19] = 0;
        var _26 = _this+44+4;
        IHEAP[_26] = 0;
        var _27 = _this+44+8;
        IHEAP[_27] = 0;
        var _28 = _this+24+12;
        var _29 = IHEAP[_28];
        var _30 = _29 == 0;
        ;
        if (!_30) {
          ;
          var _31 = _this+24+16;
          var _32 = IHEAP[_31];
          var _toBool_i_i_i83 = _32 == 0;
          ;
          _bb2_i_i_i86$_bb1_i_i_i85$18453: do { 
            if (!_toBool_i_i_i83) {
              ;
              var _33 = _29;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_33) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3811; /* _bb2_i_i_i86 */ break _bb2_i_i_i86$_bb1_i_i_i85$18453; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select35 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad65$18435;
            }
          } while(0);
          IHEAP[_28] = 0;
          ;
        }
        var _37 = _this+24+16;
        IHEAP[_37] = 1;
        IHEAP[_28] = 0;
        var _38 = _this+24+4;
        IHEAP[_38] = 0;
        var _39 = _this+24+8;
        IHEAP[_39] = 0;
        var _40 = _this+4+12;
        var _41 = IHEAP[_40];
        var _42 = _41 == 0;
        ;
        if (!_42) {
          ;
          var _43 = _this+4+16;
          var _44 = IHEAP[_43];
          var _toBool_i_i_i88 = _44 == 0;
          ;
          if (!_toBool_i_i_i88) {
            ;
            var _45 = _41;
            __Z21btAlignedFreeInternalPv(_45);
            ;
          }
          IHEAP[_40] = 0;
          ;
        }
        var _46 = _this+4+16;
        IHEAP[_46] = 1;
        IHEAP[_40] = 0;
        var _47 = _this+4+4;
        IHEAP[_47] = 0;
        var _48 = _this+4+8;
        IHEAP[_48] = 0;
        var _49 = _this;
        __ZdlPv(_49);
        ;
        return;
      }
    } while(0);
    _ppad$_ppad64$_ppad65$18464: do { 
      if (__label__ == 887) {
        var _eh_exception_0 = __lastLabel__ == 520 ? _eh_ptr41 : (_eh_ptr45);
        var _74 = _this+44+12;
        var _75 = IHEAP[_74];
        var _76 = _75 == 0;
        ;
        if (!_76) {
          ;
          var _77 = _this+44+16;
          var _78 = IHEAP[_77];
          var _toBool_i_i_i111 = _78 == 0;
          ;
          _bb2_i_i_i114$_bb1_i_i_i113$18468: do { 
            if (!_toBool_i_i_i111) {
              ;
              var _79 = _75;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_79) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3815; /* _bb2_i_i_i114 */ break _bb2_i_i_i114$_bb1_i_i_i113$18468; } else { ; }
              var _eh_ptr53 = _llvm_eh_exception();
              var _eh_select55 = _llvm_eh_selector(_eh_ptr53, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_74] = 0;
          ;
        }
        var _80 = _this+44+16;
        IHEAP[_80] = 1;
        IHEAP[_74] = 0;
        var _81 = _this+44+4;
        IHEAP[_81] = 0;
        var _82 = _this+44+8;
        IHEAP[_82] = 0;
        __lastLabel__ = 3377; __label__ = 886; /* _ppad64 */ break _ppad$_ppad64$_ppad65$18464;
      }
    } while(0);
    if (__label__ == 886) {
      var _eh_exception_1 = __lastLabel__ == 680 ? _eh_ptr37 : (_eh_exception_0);
      var _65 = _this+24+12;
      var _66 = IHEAP[_65];
      var _67 = _66 == 0;
      ;
      if (!_67) {
        ;
        var _68 = _this+24+16;
        var _69 = IHEAP[_68];
        var _toBool_i_i_i105 = _69 == 0;
        ;
        _bb2_i_i_i108$_bb1_i_i_i107$18477: do { 
          if (!_toBool_i_i_i105) {
            ;
            var _70 = _66;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_70) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3814; /* _bb2_i_i_i108 */ break _bb2_i_i_i108$_bb1_i_i_i107$18477; } else { ; }
            var _eh_ptr57 = _llvm_eh_exception();
            var _eh_select59 = _llvm_eh_selector(_eh_ptr57, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_65] = 0;
        ;
      }
      var _71 = _this+24+16;
      IHEAP[_71] = 1;
      IHEAP[_65] = 0;
      var _72 = _this+24+4;
      IHEAP[_72] = 0;
      var _73 = _this+24+8;
      IHEAP[_73] = 0;
      __lastLabel__ = 3374; ;
    }
    var _eh_exception_2 = __lastLabel__ == 254 ? _eh_ptr : (_eh_exception_1);
    var _59 = _this+4+12;
    var _60 = IHEAP[_59];
    var _61 = _60 == 0;
    ;
    if (!_61) {
      ;
      var _62 = _this+4+16;
      var _63 = IHEAP[_62];
      var _toBool_i_i_i99 = _63 == 0;
      ;
      _bb2_i_i_i102$_bb1_i_i_i101$18485: do { 
        if (!_toBool_i_i_i99) {
          ;
          var _64 = _60;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_64) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3813; /* _bb2_i_i_i102 */ break _bb2_i_i_i102$_bb1_i_i_i101$18485; } else { ; }
          var _eh_ptr61 = _llvm_eh_exception();
          var _eh_select63 = _llvm_eh_selector(_eh_ptr61, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_59] = 0;
      ;
    }
    var _34 = _this+4+16;
    IHEAP[_34] = 1;
    IHEAP[_59] = 0;
    var _35 = _this+4+4;
    IHEAP[_35] = 0;
    var _36 = _this+4+8;
    IHEAP[_36] = 0;
    __Unwind_Resume_or_Rethrow(_eh_exception_2);
    // unreachable
  }
  __ZN16btRaycastVehicleD0Ev.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicleD0Ev, "__ZN16btRaycastVehicleD0Ev");
  
  
  function __ZN16btRaycastVehicle13updateVehicleEf(_this, _step) {
    var __stackBase__  = STACKTOP; STACKTOP += 32;
    var __label__;
    var __lastLabel__ = null;
    var _impulse = __stackBase__;
    var _relpos = __stackBase__+16;
    var _0 = _this+132+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    if (_2) { __lastLabel__ = -1; __label__ = 60; /* _bb */  } else { __lastLabel__ = -1; __label__ = 116; /* _bb3 */  }
    _bb$_bb3$18492: while(1) { // _bb,_bb3
      if (__label__ == 60) {
        var _3 = __lastLabel__ == 60 ? _4 : (0);
        __ZN16btRaycastVehicle20updateWheelTransformEib(_this, _3, 0);
        var _4 = _3 + 1;
        var _5 = IHEAP[_0];
        var _6 = _5 > _4;
        if (_6) { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$_bb3$18492; } else { __lastLabel__ = 60; __label__ = 116; /* _bb3 */ continue _bb$_bb3$18492; }
      }
      else if (__label__ == 116) {
        var _7 = __lastLabel__ == -1 ? _1 : (_5);
        var _8 = _this+116;
        var _9 = IHEAP[_8];
        var _10 = _9+304;
        var _11 = FHEAP[_10];
        var _12 = _11 * _11;
        var _13 = _9+304+4;
        var _14 = FHEAP[_13];
        var _15 = _14 * _14;
        var _16 = _12 + _15;
        var _17 = _9+304+8;
        var _18 = FHEAP[_17];
        var _19 = _18 * _18;
        var _20 = _16 + _19;
        var _21 = _sqrtf(_20);
        var _22 = _21 * 3.5999999046325684;
        var _23 = _this+112;
        FHEAP[_23] = _22;
        var _24 = _this+128;
        var _25 = IHEAP[_24];
        var _26 = _9+4+32+_25*4;
        var _27 = _9+4+16+_25*4;
        var _28 = _9+4+_25*4;
        var _29 = FHEAP[_28];
        var _30 = FHEAP[_27];
        var _31 = FHEAP[_26];
        var _32 = FHEAP[_10];
        var _33 = _29 * _32;
        var _34 = FHEAP[_13];
        var _35 = _30 * _34;
        var _36 = _33 + _35;
        var _37 = FHEAP[_17];
        var _38 = _31 * _37;
        var _39 = _36 + _38;
        var _40 = _39 < 0;
        if (_40) { __label__ = 82; /* _bb5 */ break _bb$_bb3$18492; } else { __label__ = 752; /* _bb8_preheader */ break _bb$_bb3$18492; }
      }
    }
    if (__label__ == 82) {
      var _41 = 0 - _22;
      FHEAP[_23] = _41;
      ;
    }
    var _42 = _7 > 0;
    ;
    _bb_nph49$_bb16$18499: do { 
      if (_42) {
        ;
        var _43 = _this+132+12;
        __lastLabel__ = 273; ;
        _bb7$18501: while(1) { // _bb7
          var _i_048 = __lastLabel__ == 273 ? 0 : (_46);
          var _44 = IHEAP[_43];
          var _scevgep93 = _44+284*_i_048;
          var _45 = __ZN16btRaycastVehicle7rayCastER11btWheelInfo(_this, _scevgep93);
          var _46 = _i_048 + 1;
          var _47 = IHEAP[_0];
          var _48 = _47 > _46;
          if (_48) { __lastLabel__ = 2; __label__ = 2; /* _bb7 */ continue _bb7$18501; } else { __lastLabel__ = 2; __label__ = 150; /* _bb10 */ break _bb7$18501; }
        }
        var __pre = IHEAP[_8];
        var _49 = __pre+336;
        var _50 = FHEAP[_49];
        var _51 = 1 / _50;
        var _52 = _47 > 0;
        if (!(_52)) { __label__ = 154; /* _bb16 */ break _bb_nph49$_bb16$18499; }
        var _53 = _this+132+12;
        __lastLabel__ = 418; ;
        _bb_i$18505: while(1) { // _bb_i
          var _w_it_011_i = __lastLabel__ == 418 ? 0 : (_tmp_i);
          var _tmp_i = _w_it_011_i + 1;
          var _54 = IHEAP[_53];
          var _scevgep12_i = _54+284*_w_it_011_i+84;
          var _55 = IHEAP[_scevgep12_i];
          var _toBool_i = _55 == 0;
          ;
          _bb6_i$_bb1_i$18507: do { 
            if (_toBool_i) {
              ;
              var _scevgep20_i = _54+284*_w_it_011_i+276;
              FHEAP[_scevgep20_i] = 0;
              ;
            }
            else {
              ;
              var _scevgep_i = _54+284*_w_it_011_i;
              var _56 = __ZNK11btWheelInfo23getSuspensionRestLengthEv(_scevgep_i);
              var _scevgep13_i = _54+284*_w_it_011_i+32;
              var _57 = FHEAP[_scevgep13_i];
              var _58 = _56 - _57;
              var _scevgep14_i = _54+284*_w_it_011_i+216;
              var _59 = FHEAP[_scevgep14_i];
              var _60 = _59 * _58;
              var _scevgep15_i = _54+284*_w_it_011_i+268;
              var _61 = FHEAP[_scevgep15_i];
              var _62 = _60 * _61;
              var _scevgep16_i = _54+284*_w_it_011_i+272;
              var _63 = FHEAP[_scevgep16_i];
              var _64 = _63 < 0;
              ;
              if (_64) {
                ;
                var _65 = _54+284*_w_it_011_i+220;
                __lastLabel__ = 132; ;
              }
              else {
                ;
                var _scevgep17_i = _54+284*_w_it_011_i+224;
                __lastLabel__ = 133; ;
              }
              var _susp_damping_0_in_i = __lastLabel__ == 132 ? _65 : (_scevgep17_i);
              var _susp_damping_0_i = FHEAP[_susp_damping_0_in_i];
              var _66 = _susp_damping_0_i * _63;
              var _67 = _62 - _66;
              var _68 = _67 * _51;
              var _scevgep85 = _54+284*_w_it_011_i+276;
              FHEAP[_scevgep85] = _68;
              var _69 = _68 < 0;
              if (!(_69)) { __label__ = 137; /* _bb7_i */ break _bb6_i$_bb1_i$18507; }
              FHEAP[_scevgep85] = 0;
              ;
            }
          } while(0);
          var _70 = IHEAP[_0];
          var _71 = _70 > _tmp_i;
          if (_71) { __lastLabel__ = 137; __label__ = 131; /* _bb_i */ continue _bb_i$18505; } else { __lastLabel__ = 137; __label__ = 3254; /* _bb14_preheader */ break _bb_i$18505; }
        }
        var _72 = _70 > 0;
        if (!(_72)) { __label__ = 154; /* _bb16 */ break _bb_nph49$_bb16$18499; }
        var _73 = _this+132+12;
        var _74 = _impulse;
        var _75 = _impulse+4;
        var _76 = _impulse+8;
        var _77 = _impulse+12;
        var _78 = _relpos;
        var _79 = _relpos+4;
        var _80 = _relpos+8;
        var _81 = _relpos+12;
        __lastLabel__ = 3381; ;
        _bb11$18518: while(1) { // _bb11
          var _i_146 = __lastLabel__ == 3381 ? 0 : (_tmp81);
          var _tmp81 = _i_146 + 1;
          var _82 = IHEAP[_73];
          var _scevgep71 = _82+284*_i_146+276;
          var _83 = FHEAP[_scevgep71];
          var _scevgep72 = _82+284*_i_146+248;
          var _84 = FHEAP[_scevgep72];
          var _85 = _84 < _83;
          var _suspensionForce_0 = _85 ? _84 : _83;
          var _scevgep73 = _82+284*_i_146+8;
          var _86 = FHEAP[_scevgep73];
          var _87 = _86 * _suspensionForce_0;
          var _scevgep74 = _82+284*_i_146+4;
          var _88 = FHEAP[_scevgep74];
          var _89 = _88 * _suspensionForce_0;
          var _scevgep7576 = _82+284*_i_146;
          var _90 = FHEAP[_scevgep7576];
          var _91 = _90 * _suspensionForce_0;
          var _92 = _87 * _step;
          var _93 = _89 * _step;
          var _94 = _91 * _step;
          FHEAP[_74] = _94;
          FHEAP[_75] = _93;
          FHEAP[_76] = _92;
          FHEAP[_77] = 0;
          var _95 = IHEAP[_8];
          var _scevgep77 = _82+284*_i_146+16+8;
          var _96 = FHEAP[_scevgep77];
          var _97 = _95+4+48+8;
          var _98 = FHEAP[_97];
          var _99 = _96 - _98;
          var _scevgep78 = _82+284*_i_146+16+4;
          var _100 = FHEAP[_scevgep78];
          var _101 = _95+4+48+4;
          var _102 = FHEAP[_101];
          var _103 = _100 - _102;
          var _scevgep79 = _82+284*_i_146+16;
          var _104 = FHEAP[_scevgep79];
          var _105 = _95+4+48;
          var _106 = FHEAP[_105];
          var _107 = _104 - _106;
          FHEAP[_78] = _107;
          FHEAP[_79] = _103;
          FHEAP[_80] = _99;
          FHEAP[_81] = 0;
          __ZN11btRigidBody12applyImpulseERK9btVector3S2_(_95, _impulse, _relpos);
          var _108 = IHEAP[_0];
          var _109 = _108 > _tmp81;
          if (_109) { __lastLabel__ = 292; __label__ = 292; /* _bb11 */ continue _bb11$18518; } else { __lastLabel__ = 292; __label__ = 154; /* _bb16 */ break _bb_nph49$_bb16$18499; }
        }
      }
    } while(0);
    var _110 = _this;
    var _111 = IHEAP[_110];
    var _112 = _111+20;
    var _113 = IHEAP[_112];
    var _114 = _113;
    FUNCTION_TABLE[_114](_this, _step);
    var _115 = IHEAP[_0];
    var _116 = _115 > 0;
    ;
    _bb_nph$_return$18521: do { 
      if (_116) {
        ;
        var _117 = _this+132+12;
        __lastLabel__ = 130; ;
        _bb17$18523: while(1) { // _bb17
          var _i_245 = __lastLabel__ == 130 ? 0 : (_tmp);
          var _tmp = _i_245 + 1;
          var _118 = IHEAP[_117];
          var _119 = IHEAP[_8];
          var _scevgep = _118+284*_i_245+36+8;
          var _120 = FHEAP[_scevgep];
          var _121 = _119+4+48+8;
          var _122 = FHEAP[_121];
          var _123 = _120 - _122;
          var _scevgep52 = _118+284*_i_245+36+4;
          var _124 = FHEAP[_scevgep52];
          var _125 = _119+4+48+4;
          var _126 = FHEAP[_125];
          var _127 = _124 - _126;
          var _scevgep53 = _118+284*_i_245+36;
          var _128 = FHEAP[_scevgep53];
          var _129 = _119+4+48;
          var _130 = FHEAP[_129];
          var _131 = _128 - _130;
          var _132 = _119+320;
          var _133 = FHEAP[_132];
          var _134 = _119+320+4;
          var _135 = FHEAP[_134];
          var _136 = _119+320+8;
          var _137 = FHEAP[_136];
          var _scevgep54 = _118+284*_i_245+84;
          var _138 = IHEAP[_scevgep54];
          var _toBool20 = _138 == 0;
          ;
          if (_toBool20) {
            ;
            var _scevgep68 = _118+284*_i_245+236;
            var _188 = FHEAP[_scevgep68];
            var _scevgep69 = _118+284*_i_245+240;
            var _189 = FHEAP[_scevgep69];
            var _190 = _188 + _189;
            FHEAP[_scevgep68] = _190;
            __lastLabel__ = 5; ;
          }
          else {
            ;
            var _139 = _119+304;
            var _140 = _119+304+4;
            var _141 = _119+304+8;
            var _142 = _137 * _127;
            var _143 = _135 * _123;
            var _144 = _133 * _123;
            var _145 = _137 * _131;
            var _146 = _135 * _131;
            var _147 = _133 * _127;
            var _148 = FHEAP[_139];
            var _149 = FHEAP[_140];
            var _150 = FHEAP[_141];
            var _151 = _143 - _142;
            var _152 = _145 - _144;
            var _153 = _147 - _146;
            var _154 = _148 + _151;
            var _155 = _149 + _152;
            var _156 = _150 + _153;
            var _157 = IHEAP[_24];
            var _158 = _119+4+32+_157*4;
            var _159 = _119+4+16+_157*4;
            var _160 = _119+4+_157*4;
            var _161 = FHEAP[_160];
            var _162 = FHEAP[_159];
            var _163 = FHEAP[_158];
            var _scevgep5556 = _118+284*_i_245;
            var _164 = FHEAP[_scevgep5556];
            var _165 = _161 * _164;
            var _scevgep57 = _118+284*_i_245+4;
            var _166 = FHEAP[_scevgep57];
            var _167 = _162 * _166;
            var _168 = _165 + _167;
            var _scevgep58 = _118+284*_i_245+8;
            var _169 = FHEAP[_scevgep58];
            var _170 = _163 * _169;
            var _171 = _168 + _170;
            var _172 = _169 * _171;
            var _173 = _166 * _171;
            var _174 = _164 * _171;
            var _175 = _161 - _174;
            var _176 = _162 - _173;
            var _177 = _163 - _172;
            var _178 = _175 * _154;
            var _179 = _176 * _155;
            var _180 = _178 + _179;
            var _181 = _177 * _156;
            var _182 = _180 + _181;
            var _183 = _182 * _step;
            var _scevgep62 = _118+284*_i_245+212;
            var _184 = FHEAP[_scevgep62];
            var _185 = _183 / _184;
            var _scevgep63 = _118+284*_i_245+240;
            FHEAP[_scevgep63] = _185;
            var _scevgep64 = _118+284*_i_245+236;
            var _186 = FHEAP[_scevgep64];
            var _187 = _186 + _185;
            FHEAP[_scevgep64] = _187;
            __lastLabel__ = 110; ;
          }
          var _191 = __lastLabel__ == 5 ? _189 : (_185);
          var _scevgep66 = _118+284*_i_245+240;
          var _192 = _191 * 0.9900000095367432;
          FHEAP[_scevgep66] = _192;
          var _193 = IHEAP[_0];
          var _194 = _193 > _tmp;
          if (_194) { __lastLabel__ = 419; __label__ = 4; /* _bb17 */ continue _bb17$18523; } else { __lastLabel__ = 419; __label__ = 44; /* _return */ break _bb_nph$_return$18521; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN16btRaycastVehicle13updateVehicleEf.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicle13updateVehicleEf, "__ZN16btRaycastVehicle13updateVehicleEf");
  
  
  function __ZN16btRaycastVehicleD2Ev(_this) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this;
    IHEAP[_0] = __ZTV16btRaycastVehicle+8;
    var _1 = _this+132+12;
    var _2 = IHEAP[_1];
    var _3 = _2 == 0;
    ;
    _bb3$_bb_i_i_i$18531: do { 
      if (_3) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _4 = _this+132+16;
        var _5 = IHEAP[_4];
        var _toBool_i_i_i = _5 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$18533: do { 
          if (!_toBool_i_i_i) {
            ;
            var _6 = _2;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_6) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$18533; } else { ; }
            var _eh_ptr45 = _llvm_eh_exception();
            var _eh_select47 = _llvm_eh_selector(_eh_ptr45, ___gxx_personality_v0, 0);
            var _49 = _this+64+12;
            var _50 = IHEAP[_49];
            var _51 = _50 == 0;
            ;
            if (!_51) {
              ;
              var _52 = _this+64+16;
              var _53 = IHEAP[_52];
              var _toBool_i_i_i93 = _53 == 0;
              ;
              _bb2_i_i_i96$_bb1_i_i_i95$18538: do { 
                if (!_toBool_i_i_i93) {
                  ;
                  var _54 = _50;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_54) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3812; /* _bb2_i_i_i96 */ break _bb2_i_i_i96$_bb1_i_i_i95$18538; } else { ; }
                  var _eh_ptr49 = _llvm_eh_exception();
                  var _eh_select51 = _llvm_eh_selector(_eh_ptr49, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_49] = 0;
              ;
            }
            var _55 = _this+64+16;
            IHEAP[_55] = 1;
            IHEAP[_49] = 0;
            var _56 = _this+64+4;
            IHEAP[_56] = 0;
            var _57 = _this+64+8;
            IHEAP[_57] = 0;
            __lastLabel__ = 3371; __label__ = 887; /* _ppad65 */ break _bb3$_bb_i_i_i$18531;
          }
        } while(0);
        IHEAP[_1] = 0;
        __label__ = 116; /* _bb3 */ break _bb3$_bb_i_i_i$18531;
      }
    } while(0);
    _bb3$_ppad65$18544: do { 
      if (__label__ == 116) {
        var _7 = _this+132+16;
        IHEAP[_7] = 1;
        IHEAP[_1] = 0;
        var _8 = _this+132+4;
        IHEAP[_8] = 0;
        var _9 = _this+132+8;
        IHEAP[_9] = 0;
        var _10 = _this+64+12;
        var _11 = IHEAP[_10];
        var _12 = _11 == 0;
        ;
        if (!_12) {
          ;
          var _13 = _this+64+16;
          var _14 = IHEAP[_13];
          var _toBool_i_i_i72 = _14 == 0;
          ;
          _bb2_i_i_i75$_bb1_i_i_i74$18548: do { 
            if (!_toBool_i_i_i72) {
              ;
              var _15 = _11;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_15) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3809; /* _bb2_i_i_i75 */ break _bb2_i_i_i75$_bb1_i_i_i74$18548; } else { ; }
              var _eh_ptr41 = _llvm_eh_exception();
              var _eh_select43 = _llvm_eh_selector(_eh_ptr41, ___gxx_personality_v0, 0);
              __lastLabel__ = 520; __label__ = 887; /* _ppad65 */ break _bb3$_ppad65$18544;
            }
          } while(0);
          IHEAP[_10] = 0;
          ;
        }
        var _16 = _this+64+16;
        IHEAP[_16] = 1;
        IHEAP[_10] = 0;
        var _17 = _this+64+4;
        IHEAP[_17] = 0;
        var _18 = _this+64+8;
        IHEAP[_18] = 0;
        var _19 = _this+44+12;
        var _20 = IHEAP[_19];
        var _21 = _20 == 0;
        ;
        if (!_21) {
          ;
          var _22 = _this+44+16;
          var _23 = IHEAP[_22];
          var _toBool_i_i_i77 = _23 == 0;
          ;
          _bb2_i_i_i80$_bb1_i_i_i79$18555: do { 
            if (!_toBool_i_i_i77) {
              ;
              var _24 = _20;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_24) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3810; /* _bb2_i_i_i80 */ break _bb2_i_i_i80$_bb1_i_i_i79$18555; } else { ; }
              var _eh_ptr37 = _llvm_eh_exception();
              var _eh_select39 = _llvm_eh_selector(_eh_ptr37, ___gxx_personality_v0, 0);
              __lastLabel__ = 680; __label__ = 886; /* _ppad64 */ break _bb3$_ppad65$18544;
            }
          } while(0);
          IHEAP[_19] = 0;
          ;
        }
        var _25 = _this+44+16;
        IHEAP[_25] = 1;
        IHEAP[_19] = 0;
        var _26 = _this+44+4;
        IHEAP[_26] = 0;
        var _27 = _this+44+8;
        IHEAP[_27] = 0;
        var _28 = _this+24+12;
        var _29 = IHEAP[_28];
        var _30 = _29 == 0;
        ;
        if (!_30) {
          ;
          var _31 = _this+24+16;
          var _32 = IHEAP[_31];
          var _toBool_i_i_i83 = _32 == 0;
          ;
          _bb2_i_i_i86$_bb1_i_i_i85$18562: do { 
            if (!_toBool_i_i_i83) {
              ;
              var _33 = _29;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_33) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3811; /* _bb2_i_i_i86 */ break _bb2_i_i_i86$_bb1_i_i_i85$18562; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select35 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _bb3$_ppad65$18544;
            }
          } while(0);
          IHEAP[_28] = 0;
          ;
        }
        var _37 = _this+24+16;
        IHEAP[_37] = 1;
        IHEAP[_28] = 0;
        var _38 = _this+24+4;
        IHEAP[_38] = 0;
        var _39 = _this+24+8;
        IHEAP[_39] = 0;
        var _40 = _this+4+12;
        var _41 = IHEAP[_40];
        var _42 = _41 == 0;
        ;
        if (!_42) {
          ;
          var _43 = _this+4+16;
          var _44 = IHEAP[_43];
          var _toBool_i_i_i88 = _44 == 0;
          ;
          if (!_toBool_i_i_i88) {
            ;
            var _45 = _41;
            __Z21btAlignedFreeInternalPv(_45);
            ;
          }
          IHEAP[_40] = 0;
          ;
        }
        var _46 = _this+4+16;
        IHEAP[_46] = 1;
        IHEAP[_40] = 0;
        var _47 = _this+4+4;
        IHEAP[_47] = 0;
        var _48 = _this+4+8;
        IHEAP[_48] = 0;
        ;
        return;
      }
    } while(0);
    _ppad$_ppad64$_ppad65$18573: do { 
      if (__label__ == 887) {
        var _eh_exception_0 = __lastLabel__ == 520 ? _eh_ptr41 : (_eh_ptr45);
        var _73 = _this+44+12;
        var _74 = IHEAP[_73];
        var _75 = _74 == 0;
        ;
        if (!_75) {
          ;
          var _76 = _this+44+16;
          var _77 = IHEAP[_76];
          var _toBool_i_i_i111 = _77 == 0;
          ;
          _bb2_i_i_i114$_bb1_i_i_i113$18577: do { 
            if (!_toBool_i_i_i111) {
              ;
              var _78 = _74;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_78) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3815; /* _bb2_i_i_i114 */ break _bb2_i_i_i114$_bb1_i_i_i113$18577; } else { ; }
              var _eh_ptr53 = _llvm_eh_exception();
              var _eh_select55 = _llvm_eh_selector(_eh_ptr53, ___gxx_personality_v0, 1);
              __ZSt9terminatev();
              // unreachable
            }
          } while(0);
          IHEAP[_73] = 0;
          ;
        }
        var _79 = _this+44+16;
        IHEAP[_79] = 1;
        IHEAP[_73] = 0;
        var _80 = _this+44+4;
        IHEAP[_80] = 0;
        var _81 = _this+44+8;
        IHEAP[_81] = 0;
        __lastLabel__ = 3377; __label__ = 886; /* _ppad64 */ break _ppad$_ppad64$_ppad65$18573;
      }
    } while(0);
    if (__label__ == 886) {
      var _eh_exception_1 = __lastLabel__ == 680 ? _eh_ptr37 : (_eh_exception_0);
      var _64 = _this+24+12;
      var _65 = IHEAP[_64];
      var _66 = _65 == 0;
      ;
      if (!_66) {
        ;
        var _67 = _this+24+16;
        var _68 = IHEAP[_67];
        var _toBool_i_i_i105 = _68 == 0;
        ;
        _bb2_i_i_i108$_bb1_i_i_i107$18586: do { 
          if (!_toBool_i_i_i105) {
            ;
            var _69 = _65;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_69) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3814; /* _bb2_i_i_i108 */ break _bb2_i_i_i108$_bb1_i_i_i107$18586; } else { ; }
            var _eh_ptr57 = _llvm_eh_exception();
            var _eh_select59 = _llvm_eh_selector(_eh_ptr57, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_64] = 0;
        ;
      }
      var _70 = _this+24+16;
      IHEAP[_70] = 1;
      IHEAP[_64] = 0;
      var _71 = _this+24+4;
      IHEAP[_71] = 0;
      var _72 = _this+24+8;
      IHEAP[_72] = 0;
      __lastLabel__ = 3374; ;
    }
    var _eh_exception_2 = __lastLabel__ == 254 ? _eh_ptr : (_eh_exception_1);
    var _58 = _this+4+12;
    var _59 = IHEAP[_58];
    var _60 = _59 == 0;
    ;
    if (!_60) {
      ;
      var _61 = _this+4+16;
      var _62 = IHEAP[_61];
      var _toBool_i_i_i99 = _62 == 0;
      ;
      _bb2_i_i_i102$_bb1_i_i_i101$18594: do { 
        if (!_toBool_i_i_i99) {
          ;
          var _63 = _59;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_63) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3813; /* _bb2_i_i_i102 */ break _bb2_i_i_i102$_bb1_i_i_i101$18594; } else { ; }
          var _eh_ptr61 = _llvm_eh_exception();
          var _eh_select63 = _llvm_eh_selector(_eh_ptr61, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_58] = 0;
      ;
    }
    var _34 = _this+4+16;
    IHEAP[_34] = 1;
    IHEAP[_58] = 0;
    var _35 = _this+4+4;
    IHEAP[_35] = 0;
    var _36 = _this+4+8;
    IHEAP[_36] = 0;
    __Unwind_Resume_or_Rethrow(_eh_exception_2);
    // unreachable
  }
  __ZN16btRaycastVehicleD2Ev.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicleD2Ev, "__ZN16btRaycastVehicleD2Ev");
  
  
  function ___tcf_088(_unnamed_arg) {
    ;
    var __label__;
    IHEAP[__ZZN17btActionInterface12getFixedBodyEvE7s_fixed] = __ZTV11btRigidBody+8;
    var _0 = IHEAP[__ZZN17btActionInterface12getFixedBodyEvE7s_fixed+476+12];
    var _1 = _0 == 0;
    ;
    if (!_1) {
      ;
      var _2 = IHEAP[__ZZN17btActionInterface12getFixedBodyEvE7s_fixed+476+16];
      var _toBool_i_i_i_i = _2 == 0;
      ;
      _bb2_i_i_i_i$_bb1_i_i_i_i$18604: do { 
        if (!_toBool_i_i_i_i) {
          ;
          var _3 = _0;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_3) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3769; /* _bb2_i_i_i_i */ break _bb2_i_i_i_i$_bb1_i_i_i_i$18604; } else { ; }
          var _eh_ptr_i = _llvm_eh_exception();
          var _eh_select8_i = _llvm_eh_selector(_eh_ptr_i, ___gxx_personality_v0, 0);
          (function() { try { __THREW__ = false; return __ZN17btCollisionObjectD2Ev(__ZZN17btActionInterface12getFixedBodyEvE7s_fixed) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3823; /* _invcont1_i */  } else { __label__ = 3824; /* _lpad9_i */  }
          if (__label__ == 3823) {
            __Unwind_Resume_or_Rethrow(_eh_ptr_i);
            // unreachable
          }
          else if (__label__ == 3824) {
            var _eh_ptr10_i = _llvm_eh_exception();
            var _eh_select12_i = _llvm_eh_selector(_eh_ptr10_i, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        }
      } while(0);
      IHEAP[__ZZN17btActionInterface12getFixedBodyEvE7s_fixed+476+12] = 0;
      ;
    }
    IHEAP[__ZZN17btActionInterface12getFixedBodyEvE7s_fixed+476+16] = 1;
    IHEAP[__ZZN17btActionInterface12getFixedBodyEvE7s_fixed+476+12] = 0;
    IHEAP[__ZZN17btActionInterface12getFixedBodyEvE7s_fixed+476+4] = 0;
    IHEAP[__ZZN17btActionInterface12getFixedBodyEvE7s_fixed+476+8] = 0;
    __ZN17btCollisionObjectD2Ev(__ZZN17btActionInterface12getFixedBodyEvE7s_fixed);
    ;
    return;
  }
  ___tcf_088.__index__ = Runtime.getFunctionIndex(___tcf_088, "___tcf_088");
  
  
  function __ZN16btRaycastVehicle7rayCastER11btWheelInfo(_this, _wheel) {
    var __stackBase__  = STACKTOP; STACKTOP += 36;
    var __label__;
    var __lastLabel__ = null;
    var _rayResults = __stackBase__;
    __ZN16btRaycastVehicle23updateWheelTransformsWSER11btWheelInfob(_this, _wheel, 0);
    var _0 = __ZNK11btWheelInfo23getSuspensionRestLengthEv(_wheel);
    var _1 = _wheel+212;
    var _2 = FHEAP[_1];
    var _3 = _0 + _2;
    var _4 = _wheel+52+8;
    var _5 = FHEAP[_4];
    var _6 = _5 * _3;
    var _7 = _wheel+52+4;
    var _8 = FHEAP[_7];
    var _9 = _8 * _3;
    var _10 = _wheel+52;
    var _11 = FHEAP[_10];
    var _12 = _11 * _3;
    var _13 = _wheel+36;
    var _14 = _wheel+36+8;
    var _15 = FHEAP[_14];
    var _16 = _15 + _6;
    var _17 = _wheel+36+4;
    var _18 = FHEAP[_17];
    var _19 = _18 + _9;
    var _20 = _wheel+36;
    var _21 = FHEAP[_20];
    var _22 = _21 + _12;
    var _23 = _wheel+16;
    FHEAP[_23] = _22;
    var _24 = _wheel+16+4;
    FHEAP[_24] = _19;
    var _25 = _wheel+16+8;
    FHEAP[_25] = _16;
    var _26 = _wheel+16+12;
    FHEAP[_26] = 0;
    var _27 = _wheel+16;
    var _28 = _rayResults+32;
    FHEAP[_28] = -1;
    var _29 = _this+100;
    var _30 = IHEAP[_29];
    var _31 = _30;
    var _32 = IHEAP[_31];
    var _33 = _32+8;
    var _34 = IHEAP[_33];
    var _35 = _34;
    var _36 = FUNCTION_TABLE[_35](_30, _13, _27, _rayResults);
    var _37 = _wheel+88;
    IHEAP[_37] = 0;
    var _38 = _36 == 0;
    ;
    if (_38) {
      ;
      var _137 = __ZNK11btWheelInfo23getSuspensionRestLengthEv(_wheel);
      var _138 = _wheel+32;
      FHEAP[_138] = _137;
      var _139 = _wheel+272;
      FHEAP[_139] = 0;
      var _140 = FHEAP[_4];
      var _141 = 0 - _140;
      var _142 = FHEAP[_7];
      var _143 = 0 - _142;
      var _144 = FHEAP[_10];
      var _145 = 0 - _144;
      var _146 = _wheel;
      FHEAP[_146] = _145;
      var _147 = _wheel+4;
      FHEAP[_147] = _143;
      var _148 = _wheel+8;
      FHEAP[_148] = _141;
      var _149 = _wheel+12;
      FHEAP[_149] = 0;
      var _150 = _wheel+268;
      FHEAP[_150] = 1;
      STACKTOP = __stackBase__;
      return -1;
    }
    else {
      ;
      var _39 = FHEAP[_28];
      var _40 = _39 * _3;
      var _41 = _wheel;
      var _42 = _rayResults+16;
      var _43 = FHEAP[_42];
      FHEAP[_41] = _43;
      var _44 = _wheel+4;
      var _45 = _rayResults+16+4;
      var _46 = FHEAP[_45];
      FHEAP[_44] = _46;
      var _47 = _wheel+8;
      var _48 = _rayResults+16+8;
      var _49 = FHEAP[_48];
      FHEAP[_47] = _49;
      var _50 = _wheel+12;
      var _51 = _rayResults+16+12;
      var _52 = FHEAP[_51];
      FHEAP[_50] = _52;
      var _53 = _wheel+84;
      IHEAP[_53] = 1;
      var _54 = __ZN17btActionInterface12getFixedBodyEv();
      IHEAP[_37] = __ZZN17btActionInterface12getFixedBodyEvE7s_fixed;
      var _55 = FHEAP[_1];
      var _56 = _40 - _55;
      var _57 = _wheel+32;
      FHEAP[_57] = _56;
      var _58 = __ZNK11btWheelInfo23getSuspensionRestLengthEv(_wheel);
      var _59 = _wheel+208;
      var _60 = FHEAP[_59];
      var _61 = _60 * -0.009999999776482582;
      var _62 = _58 + _61;
      var _63 = __ZNK11btWheelInfo23getSuspensionRestLengthEv(_wheel);
      var _64 = FHEAP[_59];
      var _65 = _64 * 0.009999999776482582;
      var _66 = _63 + _65;
      var _67 = FHEAP[_57];
      var _68 = _67 < _62;
      ;
      if (_68) {
        __lastLabel__ = 60; ;
        FHEAP[_57] = _62;
        __lastLabel__ = 148; ;
      }
      else {
        __lastLabel__ = 60; ;
      }
      var _69 = __lastLabel__ == 148 ? _62 : (_67);
      var _70 = _69 > _66;
      ;
      if (_70) {
        ;
        FHEAP[_57] = _66;
        ;
      }
      var _71 = _rayResults;
      var _72 = FHEAP[_71];
      FHEAP[_23] = _72;
      var _73 = _rayResults+4;
      var _74 = FHEAP[_73];
      FHEAP[_24] = _74;
      var _75 = _rayResults+8;
      var _76 = FHEAP[_75];
      FHEAP[_25] = _76;
      var _77 = _rayResults+12;
      var _78 = FHEAP[_77];
      FHEAP[_26] = _78;
      var _79 = FHEAP[_41];
      var _80 = FHEAP[_10];
      var _81 = _79 * _80;
      var _82 = FHEAP[_44];
      var _83 = FHEAP[_7];
      var _84 = _82 * _83;
      var _85 = _81 + _84;
      var _86 = FHEAP[_47];
      var _87 = FHEAP[_4];
      var _88 = _86 * _87;
      var _89 = _85 + _88;
      var _90 = _this+116;
      var _91 = IHEAP[_90];
      var _92 = _91+4+48+8;
      var _93 = FHEAP[_92];
      var _94 = _76 - _93;
      var _95 = _91+4+48+4;
      var _96 = FHEAP[_95];
      var _97 = _74 - _96;
      var _98 = _91+4+48;
      var _99 = FHEAP[_98];
      var _100 = _72 - _99;
      var _101 = _91+320;
      var _102 = FHEAP[_101];
      var _103 = _91+320+4;
      var _104 = FHEAP[_103];
      var _105 = _91+320+8;
      var _106 = FHEAP[_105];
      var _107 = _89 < -0.10000000149011612;
      ;
      if (_107) {
        ;
        var _110 = _91+304;
        var _111 = _91+304+4;
        var _112 = _106 * _97;
        var _113 = _104 * _94;
        var _114 = _102 * _94;
        var _115 = _106 * _100;
        var _116 = FHEAP[_110];
        var _117 = FHEAP[_111];
        var _118 = _91+304+8;
        var _119 = _113 - _112;
        var _120 = _115 - _114;
        var _121 = _104 * _100;
        var _122 = _102 * _97;
        var _123 = _116 + _119;
        var _124 = _117 + _120;
        var _125 = FHEAP[_118];
        var _126 = _122 - _121;
        var _127 = _82 * _124;
        var _128 = _79 * _123;
        var _129 = _125 + _126;
        var _130 = _86 * _129;
        var _131 = _128 + _127;
        var _132 = _131 + _130;
        var _133 = -1 / _89;
        var _134 = _132 * _133;
        var _135 = _wheel+272;
        FHEAP[_135] = _134;
        var _136 = _wheel+268;
        FHEAP[_136] = _133;
        STACKTOP = __stackBase__;
        return _40;
      }
      else {
        ;
        var _108 = _wheel+272;
        FHEAP[_108] = 0;
        var _109 = _wheel+268;
        FHEAP[_109] = 10;
        STACKTOP = __stackBase__;
        return _40;
      }
    }
  }
  __ZN16btRaycastVehicle7rayCastER11btWheelInfo.__index__ = Runtime.getFunctionIndex(__ZN16btRaycastVehicle7rayCastER11btWheelInfo, "__ZN16btRaycastVehicle7rayCastER11btWheelInfo");
  
  
  function __ZL21btAlignedAllocDefaultji(_size, _alignment) {
    ;
    var __label__;
    var _0 = IHEAP[__ZL10sAllocFunc];
    var _1 = _size + 3;
    var _2 = _1 + _alignment;
    var _3 = FUNCTION_TABLE[_0](_2);
    var _4 = _3 == 0;
    ;
    if (_4) {
      ;
      ;
      return _3;
    }
    else {
      ;
      var _5 = _3+4;
      var _6 = _5;
      var _7 = _alignment - _6;
      var _8 = _alignment + -1;
      var _9 = _7 & _8;
      var __sum = _9 + 4;
      var _10 = _3+__sum;
      var _11 = _3+_9;
      var _12 = _11;
      IHEAP[_12] = _3;
      ;
      return _10;
    }
  }
  __ZL21btAlignedAllocDefaultji.__index__ = Runtime.getFunctionIndex(__ZL21btAlignedAllocDefaultji, "__ZL21btAlignedAllocDefaultji");
  
  
  function __ZL14btAllocDefaultj(_size) {
    ;
    var __label__;
    var _0 = _malloc(_size);
    ;
    return _0;
  }
  __ZL14btAllocDefaultj.__index__ = Runtime.getFunctionIndex(__ZL14btAllocDefaultj, "__ZL14btAllocDefaultj");
  
  
  function __Z22btAlignedAllocInternalji(_size, _alignment) {
    ;
    var __label__;
    var _0 = IHEAP[_gNumAlignedAllocs];
    var _1 = _0 + 1;
    IHEAP[_gNumAlignedAllocs] = _1;
    var _2 = IHEAP[__ZL17sAlignedAllocFunc];
    var _3 = FUNCTION_TABLE[_2](_size, _alignment);
    ;
    return _3;
  }
  __Z22btAlignedAllocInternalji.__index__ = Runtime.getFunctionIndex(__Z22btAlignedAllocInternalji, "__Z22btAlignedAllocInternalji");
  
  
  function __ZN11HullLibrary15CleanupVerticesEjPK9btVector3jRjPS0_fRS0_(_this, _svcount, _svertices, _stride, _vcount, _vertices, _normalepsilon, _scale) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _svertices;
    var _bmin = STACKTOP; STACKTOP += 12;STACKTOP = Math.ceil(STACKTOP/4)*4;;
    var _bmax = STACKTOP; STACKTOP += 12;STACKTOP = Math.ceil(STACKTOP/4)*4;;
    var _bmin63 = STACKTOP; STACKTOP += 12;STACKTOP = Math.ceil(STACKTOP/4)*4;;
    var _bmax64 = STACKTOP; STACKTOP += 12;STACKTOP = Math.ceil(STACKTOP/4)*4;;
    var _1 = _svcount == 0;
    ;
    _bb112$_bb1$18788: do { 
      if (_1) {
        __lastLabel__ = -1; ;
      }
      else {
        __lastLabel__ = -1; ;
        var _2 = _this+20+4;
        var _3 = IHEAP[_2];
        var _4 = _3 > 0;
        var __not224 = _4 ^ true;
        var _5 = _3 < 0;
        var _or_cond225 = __not224 & _5;
        ;
        _bb4_i$__ZN20btAlignedObjectArrayIiE6resizeEiRKi_exit$18790: do { 
          if (_or_cond225) {
            ;
            var _6 = _this+20+8;
            var _7 = IHEAP[_6];
            var _8 = _7 < 0;
            ;
            if (_8) {
              ;
              var _9 = _this+20+12;
              var _10 = IHEAP[_9];
              var _11 = _10 == 0;
              ;
              if (!_11) {
                ;
                var _12 = _this+20+16;
                var _13 = IHEAP[_12];
                var _toBool_i_i_i = _13 == 0;
                ;
                if (!_toBool_i_i_i) {
                  ;
                  var _14 = _10;
                  __Z21btAlignedFreeInternalPv(_14);
                  ;
                }
                IHEAP[_9] = 0;
                ;
              }
              var _15 = _this+20+16;
              IHEAP[_15] = 1;
              IHEAP[_9] = 0;
              IHEAP[_6] = 0;
              ;
            }
            var _16 = _this+20+12;
            var _tmp_i = 0 - _3;
            __lastLabel__ = 418; ;
            _bb7_i$18801: while(1) { // _bb7_i
              var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
              var _tmp = _3 + _indvar_i;
              var _17 = IHEAP[_16];
              var _scevgep = _17+4*_tmp;
              var _18 = _scevgep == 0;
              ;
              if (!_18) {
                ;
                IHEAP[_scevgep] = 0;
                ;
              }
              var _indvar_next_i = _indvar_i + 1;
              var _exitcond = _indvar_next_i == _tmp_i;
              if (_exitcond) { __lastLabel__ = 581; __label__ = 3447; /* __ZN20btAlignedObjectArrayIiE6resizeEiRKi_exit */ break _bb4_i$__ZN20btAlignedObjectArrayIiE6resizeEiRKi_exit$18790; } else { __lastLabel__ = 581; __label__ = 137; /* _bb7_i */ continue _bb7_i$18801; }
            }
          }
        } while(0);
        IHEAP[_2] = 0;
        IHEAP[_vcount] = 0;
        var _19 = _scale == 0;
        ;
        if (!_19) {
          ;
          var _20 = _scale;
          FHEAP[_20] = 1;
          var _21 = _scale+4;
          FHEAP[_21] = 1;
          var _22 = _scale+8;
          FHEAP[_22] = 1;
          ;
        }
        var _23 = _bmin;
        FHEAP[_23] = 3.4028234663852886e+38;
        var _24 = _bmin+4;
        FHEAP[_24] = 3.4028234663852886e+38;
        var _25 = _bmin+8;
        FHEAP[_25] = 3.4028234663852886e+38;
        var _26 = _bmax;
        FHEAP[_26] = -3.4028234663852886e+38;
        var _27 = _bmax+4;
        FHEAP[_27] = -3.4028234663852886e+38;
        var _28 = _bmax+8;
        FHEAP[_28] = -3.4028234663852886e+38;
        var _scevgep213 = _svertices+8;
        var _scevgep213214 = _scevgep213;
        var _scevgep218 = _svertices+4;
        var _scevgep218219 = _scevgep218;
        __lastLabel__ = 3449; ;
        _bb_nph170$18810: while(1) { // _bb_nph170
          var _29 = __lastLabel__ == 3449 ? 3.4028234663852886e+38 : (_307);
          var _30 = __lastLabel__ == 3449 ? -3.4028234663852886e+38 : (_42);
          var _31 = __lastLabel__ == 3449 ? 3.4028234663852886e+38 : (_305);
          var _32 = __lastLabel__ == 3449 ? -3.4028234663852886e+38 : (_302);
          var _33 = __lastLabel__ == 3449 ? 3.4028234663852886e+38 : (_37);
          var _34 = __lastLabel__ == 3449 ? -3.4028234663852886e+38 : (_39);
          var _i_0172 = __lastLabel__ == 3449 ? 0 : (_43);
          var _tmp215 = _i_0172 * _stride;
          var _uglygep216 = _scevgep213214+_tmp215;
          var _uglygep208209_2 = _uglygep216;
          var _uglygep220 = _scevgep218219+_tmp215;
          var _uglygep208209_1 = _uglygep220;
          var _uglygep222 = _0+_tmp215;
          var _uglygep208209 = _uglygep222;
          var _35 = FHEAP[_uglygep208209];
          var _36 = _35 < _33;
          ;
          if (_36) {
            __lastLabel__ = 2967; ;
            FHEAP[_23] = _35;
            __lastLabel__ = 83; ;
          }
          else {
            __lastLabel__ = 2967; ;
          }
          var _37 = __lastLabel__ == 83 ? _35 : (_33);
          var _38 = _35 > _34;
          ;
          if (_38) {
            __lastLabel__ = 2; ;
            FHEAP[_26] = _35;
            __lastLabel__ = 148; ;
          }
          else {
            __lastLabel__ = 2; ;
          }
          var _39 = __lastLabel__ == 148 ? _35 : (_34);
          var _40 = FHEAP[_uglygep208209_1];
          var _41 = _40 < _31;
          ;
          if (_41) {
            __lastLabel__ = 62; ;
            FHEAP[_24] = _40;
            __lastLabel__ = 778; ;
          }
          else {
            __lastLabel__ = 62; ;
          }
          var _305 = __lastLabel__ == 778 ? _40 : (_31);
          var _306 = _40 > _32;
          ;
          if (_306) {
            __lastLabel__ = 4118; ;
            FHEAP[_27] = _40;
            __lastLabel__ = 1371; ;
          }
          else {
            __lastLabel__ = 4118; ;
          }
          var _302 = __lastLabel__ == 1371 ? _40 : (_32);
          var _303 = FHEAP[_uglygep208209_2];
          var _304 = _303 < _29;
          ;
          if (_304) {
            __lastLabel__ = 4671; ;
            FHEAP[_25] = _303;
            __lastLabel__ = 780; ;
          }
          else {
            __lastLabel__ = 4671; ;
          }
          var _307 = __lastLabel__ == 780 ? _303 : (_29);
          var _308 = _303 > _30;
          ;
          if (_308) {
            __lastLabel__ = 4165; ;
            FHEAP[_28] = _303;
            __lastLabel__ = 3489; ;
          }
          else {
            __lastLabel__ = 4165; ;
          }
          var _42 = __lastLabel__ == 3489 ? _303 : (_30);
          var _43 = _i_0172 + 1;
          var _exitcond212 = _43 == _svcount;
          if (_exitcond212) { __lastLabel__ = 292; __label__ = 108; /* _bb13 */ break _bb_nph170$18810; } else { __lastLabel__ = 292; __label__ = 2967; /* _bb_nph170 */ continue _bb_nph170$18810; }
        }
        var _44 = _39 - _37;
        var _45 = _302 - _305;
        var _46 = _42 - _307;
        var _47 = _44 * 0.5;
        var _48 = _47 + _37;
        var _49 = _45 * 0.5;
        var _50 = _49 + _305;
        var _51 = _46 * 0.5;
        var _52 = _51 + _307;
        var _53 = _44 < 9.999999974752427e-7;
        var _54 = _45 < 9.999999974752427e-7;
        var _or_cond = _53 | _54;
        ;
        _bb19$_bb15$18831: do { 
          if (!_or_cond) {
            ;
            var _55 = _46 < 9.999999974752427e-7;
            var _56 = unSign(_svcount, 32) < unSign(3, 32);
            var _57 = _55 | _56;
            if (_57) { __label__ = 64; /* _bb19 */ break _bb19$_bb15$18831; }
            ;
            if (_19) {
              __lastLabel__ = 1014; ;
            }
            else {
              __lastLabel__ = 1014; ;
              var _116 = _scale;
              FHEAP[_116] = _44;
              var _117 = _scale+4;
              FHEAP[_117] = _45;
              var _118 = _scale+8;
              FHEAP[_118] = _46;
              var _119 = 1 / _44;
              var _120 = 1 / _45;
              var _121 = 1 / _46;
              var _122 = _48 * _119;
              var _123 = _50 * _120;
              var _124 = _52 * _121;
              __lastLabel__ = 971; ;
            }
            var _recip_0_0 = __lastLabel__ == 1014 ? 0 : (_119);
            var _recip_1_0 = __lastLabel__ == 1014 ? 0 : (_120);
            var _recip_2_0 = __lastLabel__ == 1014 ? 0 : (_121);
            var _center_0_0_0 = __lastLabel__ == 1014 ? _48 : (_122);
            var _center_0_1_0 = __lastLabel__ == 1014 ? _50 : (_123);
            var _center_0_2_0 = __lastLabel__ == 1014 ? _52 : (_124);
            var _125 = _this+20+8;
            var _126 = _this+20+12;
            var _127 = _this+20+16;
            var _scevgep196 = _svertices+4;
            var _scevgep196197 = _scevgep196;
            var _scevgep200 = _svertices+8;
            var _scevgep200201 = _scevgep200;
            __lastLabel__ = 3456; ;
            _bb42$18837: while(1) { // _bb42
              var _i41_0167 = __lastLabel__ == 3456 ? 0 : (_199);
              var _tmp194 = _i41_0167 * _stride;
              var _uglygep = _0+_tmp194;
              var _uglygep195 = _uglygep;
              var _uglygep198 = _scevgep196197+_tmp194;
              var _uglygep198199 = _uglygep198;
              var _uglygep202 = _scevgep200201+_tmp194;
              var _uglygep202203 = _uglygep202;
              var _128 = FHEAP[_uglygep195];
              var _129 = FHEAP[_uglygep198199];
              var _130 = FHEAP[_uglygep202203];
              ;
              if (_19) {
                __lastLabel__ = 69; ;
              }
              else {
                __lastLabel__ = 69; ;
                var _131 = _recip_0_0 * _128;
                var _132 = _recip_1_0 * _129;
                var _133 = _recip_2_0 * _130;
                __lastLabel__ = 95; ;
              }
              var _px_0 = __lastLabel__ == 95 ? _131 : (_128);
              var _py_0 = __lastLabel__ == 95 ? _132 : (_129);
              var _pz_0 = __lastLabel__ == 95 ? _133 : (_130);
              var _134 = IHEAP[_vcount];
              __lastLabel__ = 635; ;
              _bb57$18842: while(1) { // _bb57
                var _165 = __lastLabel__ == 635 ? 0 : (_164);
                var _166 = unSign(_134, 32) > unSign(_165, 32);
                if (_166) { __lastLabel__ = 71; ; } else { __lastLabel__ = 71; __label__ = 10; /* _bb58 */ break _bb57$18842; }
                var _scevgep191192 = _vertices+16*_165;
                var _scevgep190 = _vertices+16*_165+4;
                var _scevgep189 = _vertices+16*_165+8;
                var _135 = FHEAP[_scevgep191192];
                var _136 = FHEAP[_scevgep190];
                var _137 = FHEAP[_scevgep189];
                var _138 = _135 - _px_0;
                var _139 = _fabsf(_138);
                var _140 = _136 - _py_0;
                var _141 = _fabsf(_140);
                var _142 = _137 - _pz_0;
                var _143 = _fabsf(_142);
                var _144 = _139 < _normalepsilon;
                var _145 = _141 < _normalepsilon;
                var _or_cond118 = _144 & _145;
                var _146 = _143 < _normalepsilon;
                var _or_cond119 = _or_cond118 & _146;
                if (_or_cond119) { __label__ = 1021; /* _bb54 */ break _bb57$18842; }
                var _164 = _165 + 1;
                __lastLabel__ = 1307; __label__ = 71; /* _bb57 */ continue _bb57$18842;
              }
              _bb58$_bb54$18846: do { 
                if (__label__ == 1021) {
                  var _147 = _px_0 - _center_0_0_0;
                  var _148 = _py_0 - _center_0_1_0;
                  var _149 = _pz_0 - _center_0_2_0;
                  var _150 = _147 * _147;
                  var _151 = _148 * _148;
                  var _152 = _150 + _151;
                  var _153 = _149 * _149;
                  var _154 = _152 + _153;
                  var _155 = _135 - _center_0_0_0;
                  var _156 = _136 - _center_0_1_0;
                  var _157 = _137 - _center_0_2_0;
                  var _158 = _155 * _155;
                  var _159 = _156 * _156;
                  var _160 = _158 + _159;
                  var _161 = _157 * _157;
                  var _162 = _160 + _161;
                  var _163 = _154 > _162;
                  if (_163) { __lastLabel__ = 1021; ; } else { __lastLabel__ = 1021; __label__ = 10; /* _bb58 */ break _bb58$_bb54$18846; }
                  FHEAP[_scevgep191192] = _px_0;
                  FHEAP[_scevgep190] = _py_0;
                  FHEAP[_scevgep189] = _pz_0;
                  var __pre = IHEAP[_vcount];
                  __lastLabel__ = 1022; ;
                }
              } while(0);
              var _167 = __lastLabel__ == 1022 ? __pre : (__lastLabel__ == 1021 ? _134 : (_134));
              var _168 = _167 == _165;
              ;
              if (_168) {
                ;
                var _169 = _vertices+16*_167;
                FHEAP[_169] = _px_0;
                var _170 = _vertices+16*_167+4;
                FHEAP[_170] = _py_0;
                var _171 = _vertices+16*_167+8;
                FHEAP[_171] = _pz_0;
                var _172 = IHEAP[_vcount];
                var _173 = _172 + 1;
                IHEAP[_vcount] = _173;
                ;
              }
              var _174 = IHEAP[_2];
              var _175 = IHEAP[_125];
              var _176 = _175 == _174;
              ;
              _bb_i$_bb1_i$18853: do { 
                if (_176) {
                  __lastLabel__ = 1025; ;
                  var _177 = _174 == 0;
                  var _178 = _174 << 1;
                  var _iftmp_190_0_i_i = _177 ? 1 : _178;
                  var _179 = _175 < _iftmp_190_0_i_i;
                  if (_179) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$18853; }
                  var _180 = _iftmp_190_0_i_i == 0;
                  ;
                  if (_180) {
                    __lastLabel__ = 3460; ;
                  }
                  else {
                    __lastLabel__ = 3460; ;
                    var _181 = _iftmp_190_0_i_i << 2;
                    var _182 = __Z22btAlignedAllocInternalji(_181, 16);
                    var _phitmp_i_i = _182;
                    var __pre_i = IHEAP[_2];
                    __lastLabel__ = 274; ;
                  }
                  var _183 = __lastLabel__ == 274 ? __pre_i : (_174);
                  var _184 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
                  var _185 = _183 > 0;
                  if (_185) { __lastLabel__ = 3462; __label__ = 3463; /* _bb_i4_i_i132 */  } else { __lastLabel__ = 3462; __label__ = 3464; /* __ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i138 */  }
                  _bb_i4_i_i132$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i138$18859: while(1) { // _bb_i4_i_i132,__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i138
                    if (__label__ == 3463) {
                      var _indvar_i_i_i130 = __lastLabel__ == 3466 ? _indvar_next_i_i_i135 : (0);
                      var _scevgep_i_i_i131 = _184+4*_indvar_i_i_i130;
                      var _186 = _scevgep_i_i_i131 == 0;
                      ;
                      if (!_186) {
                        ;
                        var _187 = IHEAP[_126];
                        var _scevgep8_i_i_i133 = _187+4*_indvar_i_i_i130;
                        var _188 = IHEAP[_scevgep8_i_i_i133];
                        IHEAP[_scevgep_i_i_i131] = _188;
                        ;
                      }
                      var _indvar_next_i_i_i135 = _indvar_i_i_i130 + 1;
                      var _exitcond184 = _indvar_next_i_i_i135 == _183;
                      if (_exitcond184) { __lastLabel__ = 3466; __label__ = 3464; /* __ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i138 */ continue _bb_i4_i_i132$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i138$18859; } else { __lastLabel__ = 3466; __label__ = 3463; /* _bb_i4_i_i132 */ continue _bb_i4_i_i132$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i138$18859; }
                    }
                    else if (__label__ == 3464) {
                      var _189 = IHEAP[_126];
                      var _190 = _189 == 0;
                      if (_190) { __label__ = 2189; /* __ZN20btAlignedObjectArrayIiE10deallocateEv_exit_i_i */ break _bb_i4_i_i132$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i138$18859; } else { __label__ = 3467; /* _bb_i_i_i140 */ break _bb_i4_i_i132$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i138$18859; }
                    }
                  }
                  if (__label__ == 3467) {
                    var _191 = IHEAP[_127];
                    var _toBool_i_i_i139 = _191 == 0;
                    ;
                    if (!_toBool_i_i_i139) {
                      ;
                      var _192 = _189;
                      __Z21btAlignedFreeInternalPv(_192);
                      ;
                    }
                    IHEAP[_126] = 0;
                    ;
                  }
                  IHEAP[_127] = 1;
                  IHEAP[_126] = _184;
                  IHEAP[_125] = _iftmp_190_0_i_i;
                  var __pre5_i = IHEAP[_2];
                  __lastLabel__ = 2189; ;
                }
                else {
                  __lastLabel__ = 1025; ;
                }
              } while(0);
              var _193 = __lastLabel__ == 2189 ? __pre5_i : (__lastLabel__ == 1025 ? _174 : (_174));
              var _194 = IHEAP[_126];
              var _195 = _194+4*_193;
              var _196 = _195 == 0;
              ;
              if (_196) {
                __lastLabel__ = 159; ;
              }
              else {
                __lastLabel__ = 159; ;
                IHEAP[_195] = _165;
                var __pre6_i = IHEAP[_2];
                __lastLabel__ = 132; ;
              }
              var _197 = __lastLabel__ == 159 ? _193 : (__pre6_i);
              var _198 = _197 + 1;
              IHEAP[_2] = _198;
              var _199 = _i41_0167 + 1;
              var _exitcond193 = _199 == _svcount;
              if (_exitcond193) { __lastLabel__ = 2208; __label__ = 1027; /* _bb62 */ break _bb42$18837; } else { __lastLabel__ = 2208; __label__ = 69; /* _bb42 */ continue _bb42$18837; }
            }
            var _200 = _bmin63;
            FHEAP[_200] = 3.4028234663852886e+38;
            var _201 = _bmin63+4;
            FHEAP[_201] = 3.4028234663852886e+38;
            var _202 = _bmin63+8;
            FHEAP[_202] = 3.4028234663852886e+38;
            var _203 = _bmax64;
            FHEAP[_203] = -3.4028234663852886e+38;
            var _204 = _bmax64+4;
            FHEAP[_204] = -3.4028234663852886e+38;
            var _205 = _bmax64+8;
            FHEAP[_205] = -3.4028234663852886e+38;
            var _206 = IHEAP[_vcount];
            var _207 = _206 == 0;
            ;
            _bb82$_bb_nph163$18877: do { 
              if (_207) {
                __lastLabel__ = 1027; ;
              }
              else {
                __lastLabel__ = 1027; ;
                var _tmp178 = unSign(_206, 32) > unSign(1, 32);
                var _umax = _tmp178 ? _206 : 1;
                __lastLabel__ = 3474; ;
                _bb_nph$18879: while(1) { // _bb_nph
                  var _208 = __lastLabel__ == 3474 ? 3.4028234663852886e+38 : (_300);
                  var _209 = __lastLabel__ == 3474 ? -3.4028234663852886e+38 : (_221);
                  var _210 = __lastLabel__ == 3474 ? 3.4028234663852886e+38 : (_298);
                  var _211 = __lastLabel__ == 3474 ? -3.4028234663852886e+38 : (_295);
                  var _212 = __lastLabel__ == 3474 ? 3.4028234663852886e+38 : (_216);
                  var _213 = __lastLabel__ == 3474 ? -3.4028234663852886e+38 : (_218);
                  var _i68_0162 = __lastLabel__ == 3474 ? 0 : (_222);
                  var _scevgep177_2 = _vertices+16*_i68_0162+8;
                  var _scevgep177_1 = _vertices+16*_i68_0162+4;
                  var _scevgep177 = _vertices+16*_i68_0162;
                  var _214 = FHEAP[_scevgep177];
                  var _215 = _214 < _212;
                  ;
                  if (_215) {
                    __lastLabel__ = 130; ;
                    FHEAP[_200] = _214;
                    __lastLabel__ = 22; ;
                  }
                  else {
                    __lastLabel__ = 130; ;
                  }
                  var _216 = __lastLabel__ == 22 ? _214 : (_212);
                  var _217 = _214 > _213;
                  ;
                  if (_217) {
                    __lastLabel__ = 1035; ;
                    FHEAP[_203] = _214;
                    __lastLabel__ = 20; ;
                  }
                  else {
                    __lastLabel__ = 1035; ;
                  }
                  var _218 = __lastLabel__ == 20 ? _214 : (_213);
                  var _219 = FHEAP[_scevgep177_1];
                  var _220 = _219 < _210;
                  ;
                  if (_220) {
                    __lastLabel__ = 1350; ;
                    FHEAP[_201] = _219;
                    __lastLabel__ = 3478; ;
                  }
                  else {
                    __lastLabel__ = 1350; ;
                  }
                  var _298 = __lastLabel__ == 3478 ? _219 : (_210);
                  var _299 = _219 > _211;
                  ;
                  if (_299) {
                    __lastLabel__ = 4675; ;
                    FHEAP[_204] = _219;
                    __lastLabel__ = 3480; ;
                  }
                  else {
                    __lastLabel__ = 4675; ;
                  }
                  var _295 = __lastLabel__ == 3480 ? _219 : (_211);
                  var _296 = FHEAP[_scevgep177_2];
                  var _297 = _296 < _208;
                  ;
                  if (_297) {
                    __lastLabel__ = 4676; ;
                    FHEAP[_202] = _296;
                    __lastLabel__ = 3482; ;
                  }
                  else {
                    __lastLabel__ = 4676; ;
                  }
                  var _300 = __lastLabel__ == 3482 ? _296 : (_208);
                  var _301 = _296 > _209;
                  ;
                  if (_301) {
                    __lastLabel__ = 4677; ;
                    FHEAP[_205] = _296;
                    __lastLabel__ = 3484; ;
                  }
                  else {
                    __lastLabel__ = 4677; ;
                  }
                  var _221 = __lastLabel__ == 3484 ? _296 : (_209);
                  var _222 = _i68_0162 + 1;
                  var _exitcond179 = _222 == _umax;
                  if (_exitcond179) { __lastLabel__ = 16; __label__ = 17; /* _bb82 */ break _bb82$_bb_nph163$18877; } else { __lastLabel__ = 16; __label__ = 130; /* _bb_nph */ continue _bb_nph$18879; }
                }
              }
            } while(0);
            var _223 = __lastLabel__ == 1027 ? 3.4028234663852886e+38 : (_300);
            var _224 = __lastLabel__ == 1027 ? -3.4028234663852886e+38 : (_221);
            var _225 = __lastLabel__ == 1027 ? 3.4028234663852886e+38 : (_298);
            var _226 = __lastLabel__ == 1027 ? -3.4028234663852886e+38 : (_295);
            var _227 = __lastLabel__ == 1027 ? 3.4028234663852886e+38 : (_216);
            var _228 = __lastLabel__ == 1027 ? -3.4028234663852886e+38 : (_218);
            var _229 = _228 - _227;
            var _230 = _226 - _225;
            var _231 = _224 - _223;
            var _232 = _229 < 9.999999974752427e-7;
            var _233 = _230 < 9.999999974752427e-7;
            var _or_cond120 = _232 | _233;
            var _234 = _231 < 9.999999974752427e-7;
            var _or_cond121 = _or_cond120 | _234;
            var _235 = unSign(_206, 32) < unSign(3, 32);
            var _or_cond226 = _or_cond121 | _235;
            if (_or_cond226) { __lastLabel__ = 17; ; } else { __lastLabel__ = 17; __label__ = 37; /* _bb112 */ break _bb112$_bb1$18788; }
            var _236 = _229 * 0.5;
            var _237 = _236 + _227;
            var _238 = _230 * 0.5;
            var _239 = _238 + _225;
            var _240 = _231 * 0.5;
            var _241 = _240 + _223;
            var __not = _229 >= 9.999999974752427e-7;
            var _242 = _229 < 3.4028234663852886e+38;
            var _or_cond122 = __not & _242;
            var _len87_0 = _or_cond122 ? _229 : 3.4028234663852886e+38;
            var __not123 = _230 >= 9.999999974752427e-7;
            var _243 = _230 < _len87_0;
            var _or_cond124 = __not123 & _243;
            var _len87_1 = _or_cond124 ? _230 : _len87_0;
            var __not125 = _231 >= 9.999999974752427e-7;
            var _244 = _231 < _len87_1;
            var _or_cond126 = __not125 & _244;
            var _len87_2 = _or_cond126 ? _231 : _len87_1;
            var _245 = _len87_2 == 3.4028234663852886e+38;
            ;
            _bb110$_bb104$18901: do { 
              if (_245) {
                __lastLabel__ = 1566; ;
              }
              else {
                __lastLabel__ = 1566; ;
                ;
                if (_232) {
                  __lastLabel__ = 30; ;
                  var _246 = _len87_2 * 0.05000000074505806;
                  __lastLabel__ = 1568; ;
                }
                else {
                  __lastLabel__ = 30; ;
                }
                var _dx65_1 = __lastLabel__ == 1568 ? _246 : (_229);
                ;
                if (_233) {
                  __lastLabel__ = 2540; ;
                  var _247 = _len87_2 * 0.05000000074505806;
                  __lastLabel__ = 1564; ;
                }
                else {
                  __lastLabel__ = 2540; ;
                }
                var _dy66_1 = __lastLabel__ == 1564 ? _247 : (_230);
                if (_234) { __lastLabel__ = 1562; ; } else { __lastLabel__ = 1562; __label__ = 34; /* _bb110 */ break _bb110$_bb104$18901; }
                var _248 = _len87_2 * 0.05000000074505806;
                __lastLabel__ = 24; ;
              }
            } while(0);
            var _dx65_0 = __lastLabel__ == 24 ? _dx65_1 : (__lastLabel__ == 1562 ? _dx65_1 : (0.009999999776482582));
            var _dy66_0 = __lastLabel__ == 24 ? _dy66_1 : (__lastLabel__ == 1562 ? _dy66_1 : (0.009999999776482582));
            var _dz67_0 = __lastLabel__ == 24 ? _248 : (__lastLabel__ == 1562 ? _231 : (0.009999999776482582));
            var _249 = _237 - _dx65_0;
            var _250 = _237 + _dx65_0;
            var _251 = _239 - _dy66_0;
            var _252 = _239 + _dy66_0;
            var _253 = _241 - _dz67_0;
            var _254 = _241 + _dz67_0;
            IHEAP[_vcount] = 0;
            var _255 = _vertices;
            FHEAP[_255] = _249;
            var _256 = _vertices+4;
            FHEAP[_256] = _251;
            var _257 = _vertices+8;
            FHEAP[_257] = _253;
            var _258 = IHEAP[_vcount];
            var _259 = _258 + 1;
            IHEAP[_vcount] = _259;
            var _260 = _vertices+16*_259;
            FHEAP[_260] = _250;
            var _261 = _vertices+16*_259+4;
            FHEAP[_261] = _251;
            var _262 = _vertices+16*_259+8;
            FHEAP[_262] = _253;
            var _263 = IHEAP[_vcount];
            var _264 = _263 + 1;
            IHEAP[_vcount] = _264;
            var _265 = _vertices+16*_264;
            FHEAP[_265] = _250;
            var _266 = _vertices+16*_264+4;
            FHEAP[_266] = _252;
            var _267 = _vertices+16*_264+8;
            FHEAP[_267] = _253;
            var _268 = IHEAP[_vcount];
            var _269 = _268 + 1;
            IHEAP[_vcount] = _269;
            var _270 = _vertices+16*_269;
            FHEAP[_270] = _249;
            var _271 = _vertices+16*_269+4;
            FHEAP[_271] = _252;
            var _272 = _vertices+16*_269+8;
            FHEAP[_272] = _253;
            var _273 = IHEAP[_vcount];
            var _274 = _273 + 1;
            IHEAP[_vcount] = _274;
            var _275 = _vertices+16*_274;
            FHEAP[_275] = _249;
            var _276 = _vertices+16*_274+4;
            FHEAP[_276] = _251;
            var _277 = _vertices+16*_274+8;
            FHEAP[_277] = _254;
            var _278 = IHEAP[_vcount];
            var _279 = _278 + 1;
            IHEAP[_vcount] = _279;
            var _280 = _vertices+16*_279;
            FHEAP[_280] = _250;
            var _281 = _vertices+16*_279+4;
            FHEAP[_281] = _251;
            var _282 = _vertices+16*_279+8;
            FHEAP[_282] = _254;
            var _283 = IHEAP[_vcount];
            var _284 = _283 + 1;
            IHEAP[_vcount] = _284;
            var _285 = _vertices+16*_284;
            FHEAP[_285] = _250;
            var _286 = _vertices+16*_284+4;
            FHEAP[_286] = _252;
            var _287 = _vertices+16*_284+8;
            FHEAP[_287] = _254;
            var _288 = IHEAP[_vcount];
            var _289 = _288 + 1;
            IHEAP[_vcount] = _289;
            var _290 = _vertices+16*_289;
            FHEAP[_290] = _249;
            var _291 = _vertices+16*_289+4;
            FHEAP[_291] = _252;
            var _292 = _vertices+16*_289+8;
            FHEAP[_292] = _254;
            var _293 = IHEAP[_vcount];
            var _294 = _293 + 1;
            IHEAP[_vcount] = _294;
            ;
            return 1;
          }
        } while(0);
        var _58 = _44 > 9.999999974752427e-7;
        var _59 = _44 < 3.4028234663852886e+38;
        var _or_cond115 = _58 & _59;
        var _len_0 = _or_cond115 ? _44 : 3.4028234663852886e+38;
        var _60 = _45 > 9.999999974752427e-7;
        var _61 = _45 < _len_0;
        var _or_cond116 = _60 & _61;
        var _len_1 = _or_cond116 ? _45 : _len_0;
        var _62 = _46 > 9.999999974752427e-7;
        var _63 = _46 < _len_1;
        var _or_cond117 = _62 & _63;
        var _len_2 = _or_cond117 ? _46 : _len_1;
        var _64 = _len_2 == 3.4028234663852886e+38;
        ;
        _bb36$_bb30$18912: do { 
          if (_64) {
            __lastLabel__ = 64; ;
          }
          else {
            __lastLabel__ = 64; ;
            ;
            if (_53) {
              __lastLabel__ = 90; ;
              var _65 = _len_2 * 0.05000000074505806;
              __lastLabel__ = 89; ;
            }
            else {
              __lastLabel__ = 90; ;
            }
            var _dx_1 = __lastLabel__ == 89 ? _65 : (_44);
            ;
            if (_54) {
              __lastLabel__ = 91; ;
              var _66 = _len_2 * 0.05000000074505806;
              __lastLabel__ = 422; ;
            }
            else {
              __lastLabel__ = 91; ;
            }
            var _dy_1 = __lastLabel__ == 422 ? _66 : (_45);
            var _67 = _46 < 9.999999974752427e-7;
            if (_67) { __lastLabel__ = 250; ; } else { __lastLabel__ = 250; __label__ = 251; /* _bb36 */ break _bb36$_bb30$18912; }
            var _68 = _len_2 * 0.05000000074505806;
            __lastLabel__ = 518; ;
          }
        } while(0);
        var _dz_0 = __lastLabel__ == 518 ? _68 : (__lastLabel__ == 64 ? 0.009999999776482582 : (_46));
        var _dy_0 = __lastLabel__ == 518 ? _dy_1 : (__lastLabel__ == 64 ? 0.009999999776482582 : (_dy_1));
        var _dx_0 = __lastLabel__ == 518 ? _dx_1 : (__lastLabel__ == 64 ? 0.009999999776482582 : (_dx_1));
        var _69 = _48 - _dx_0;
        var _70 = _48 + _dx_0;
        var _71 = _50 - _dy_0;
        var _72 = _50 + _dy_0;
        var _73 = _52 - _dz_0;
        var _74 = _52 + _dz_0;
        var _75 = IHEAP[_vcount];
        var _76 = _vertices+16*_75;
        FHEAP[_76] = _69;
        var _77 = _vertices+16*_75+4;
        FHEAP[_77] = _71;
        var _78 = _vertices+16*_75+8;
        FHEAP[_78] = _73;
        var _79 = IHEAP[_vcount];
        var _80 = _79 + 1;
        IHEAP[_vcount] = _80;
        var _81 = _vertices+16*_80;
        FHEAP[_81] = _70;
        var _82 = _vertices+16*_80+4;
        FHEAP[_82] = _71;
        var _83 = _vertices+16*_80+8;
        FHEAP[_83] = _73;
        var _84 = IHEAP[_vcount];
        var _85 = _84 + 1;
        IHEAP[_vcount] = _85;
        var _86 = _vertices+16*_85;
        FHEAP[_86] = _70;
        var _87 = _vertices+16*_85+4;
        FHEAP[_87] = _72;
        var _88 = _vertices+16*_85+8;
        FHEAP[_88] = _73;
        var _89 = IHEAP[_vcount];
        var _90 = _89 + 1;
        IHEAP[_vcount] = _90;
        var _91 = _vertices+16*_90;
        FHEAP[_91] = _69;
        var _92 = _vertices+16*_90+4;
        FHEAP[_92] = _72;
        var _93 = _vertices+16*_90+8;
        FHEAP[_93] = _73;
        var _94 = IHEAP[_vcount];
        var _95 = _94 + 1;
        IHEAP[_vcount] = _95;
        var _96 = _vertices+16*_95;
        FHEAP[_96] = _69;
        var _97 = _vertices+16*_95+4;
        FHEAP[_97] = _71;
        var _98 = _vertices+16*_95+8;
        FHEAP[_98] = _74;
        var _99 = IHEAP[_vcount];
        var _100 = _99 + 1;
        IHEAP[_vcount] = _100;
        var _101 = _vertices+16*_100;
        FHEAP[_101] = _70;
        var _102 = _vertices+16*_100+4;
        FHEAP[_102] = _71;
        var _103 = _vertices+16*_100+8;
        FHEAP[_103] = _74;
        var _104 = IHEAP[_vcount];
        var _105 = _104 + 1;
        IHEAP[_vcount] = _105;
        var _106 = _vertices+16*_105;
        FHEAP[_106] = _70;
        var _107 = _vertices+16*_105+4;
        FHEAP[_107] = _72;
        var _108 = _vertices+16*_105+8;
        FHEAP[_108] = _74;
        var _109 = IHEAP[_vcount];
        var _110 = _109 + 1;
        IHEAP[_vcount] = _110;
        var _111 = _vertices+16*_110;
        FHEAP[_111] = _69;
        var _112 = _vertices+16*_110+4;
        FHEAP[_112] = _72;
        var _113 = _vertices+16*_110+8;
        FHEAP[_113] = _74;
        var _114 = IHEAP[_vcount];
        var _115 = _114 + 1;
        IHEAP[_vcount] = _115;
        ;
        return 1;
      }
    } while(0);
    var __0 = __lastLabel__ == -1 ? 0 : (1);
    ;
    return __0;
  }
  __ZN11HullLibrary15CleanupVerticesEjPK9btVector3jRjPS0_fRS0_.__index__ = Runtime.getFunctionIndex(__ZN11HullLibrary15CleanupVerticesEjPK9btVector3jRjPS0_fRS0_, "__ZN11HullLibrary15CleanupVerticesEjPK9btVector3jRjPS0_fRS0_");
  
  
  function __ZN11HullLibrary16BringOutYourDeadEPK9btVector3jPS0_RjPjj(_this, _verts, _vcount, _overts, _ocount, _indices, _indexcount) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+20+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_i2_i_i$_invcont3$18924: do { 
      if (_2) {
        __lastLabel__ = -1; ;
        var _3 = _1 << 2;
        var _4 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_3, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 274; ; } else { __lastLabel__ = 274; __label__ = 254; /* _lpad */ break _bb_i2_i_i$_invcont3$18924; };
        _bb7_i$18926: while(1) { // _bb7_i
          var _indvar_i = __lastLabel__ == 581 ? _indvar_next_i : (0);
          var _tmp118 = _indvar_i << 2;
          var _scevgep119 = _4+_tmp118;
          var _5 = _scevgep119 == 0;
          ;
          if (!_5) {
            ;
            var _scevgep18_i = _scevgep119;
            IHEAP[_scevgep18_i] = 0;
            ;
          }
          var _indvar_next_i = _indvar_i + 1;
          var _exitcond117 = _indvar_next_i == _1;
          if (_exitcond117) { __lastLabel__ = 581; __label__ = 3447; /* __ZN20btAlignedObjectArrayIiE6resizeEiRKi_exit */ break _bb7_i$18926; } else { __lastLabel__ = 581; __label__ = 137; /* _bb7_i */ continue _bb7_i$18926; }
        }
        var _phitmp_i_i = _4;
        var __pre = IHEAP[_0];
        var _6 = __pre > 0;
        if (_6) { __lastLabel__ = 3447; ; } else { __lastLabel__ = 3447; __label__ = 759; /* _invcont3 */ break _bb_i2_i_i$_invcont3$18924; }
        var _7 = _this+20+12;
        __lastLabel__ = 3492; ;
        _bb$18933: while(1) { // _bb
          var _i_0106 = __lastLabel__ == 3492 ? 0 : (_10);
          var _scevgep114 = _phitmp_i_i+4*_i_0106;
          var _8 = IHEAP[_7];
          var _scevgep115 = _8+4*_i_0106;
          var _9 = IHEAP[_scevgep115];
          IHEAP[_scevgep114] = _9;
          var _10 = _i_0106 + 1;
          var _11 = IHEAP[_0];
          var _12 = _11 > _10;
          if (_12) { __lastLabel__ = 60; __label__ = 60; /* _bb */ continue _bb$18933; } else { __lastLabel__ = 60; __label__ = 759; /* _invcont3 */ break _bb_i2_i_i$_invcont3$18924; }
        }
      }
      else {
        __lastLabel__ = -1; __label__ = 759; /* _invcont3 */ 
      }
    } while(0);
    _invcont3$_lpad$18935: do { 
      if (__label__ == 759) {
        var _tmpIndices_3_1121 = __lastLabel__ == 3447 ? _phitmp_i_i : (__lastLabel__ == 60 ? _phitmp_i_i : (0));
        var _13 = _vcount > 0;
        ;
        if (_13) {
          __lastLabel__ = 759; ;
          var _14 = _vcount << 2;
          var _15 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_14, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 4077; __label__ = 3496; /* _bb7_i94 */  } else { __lastLabel__ = 4077; __label__ = 3502; /* __ZN20btAlignedObjectArrayIjED1Ev_exit */  };
          if (__label__ == 3496) {
            _bb7_i94$18940: while(1) { // _bb7_i94
              var _indvar_i91 = __lastLabel__ == 3494 ? _indvar_next_i96 : (0);
              var _tmp111 = _indvar_i91 << 2;
              var _scevgep112 = _15+_tmp111;
              var _16 = _scevgep112 == 0;
              ;
              if (!_16) {
                ;
                var _scevgep18_i93 = _scevgep112;
                IHEAP[_scevgep18_i93] = 0;
                ;
              }
              var _indvar_next_i96 = _indvar_i91 + 1;
              var _exitcond110 = _indvar_next_i96 == _vcount;
              if (_exitcond110) { __lastLabel__ = 3494; __label__ = 3495; /* _invcont4_loopexit */ break _bb7_i94$18940; } else { __lastLabel__ = 3494; __label__ = 3496; /* _bb7_i94 */ continue _bb7_i94$18940; }
            }
            var _phitmp_i_i72 = _15;
            __lastLabel__ = 3495; ;
          }
          else if (__label__ == 3502) {
            var _eh_ptr32 = _llvm_eh_exception();
            var _eh_select34 = _llvm_eh_selector(_eh_ptr32, ___gxx_personality_v0, 0);
            __lastLabel__ = 3502; __label__ = 45; /* _ppad */ break _invcont3$_lpad$18935;
          }
        }
        else {
          __lastLabel__ = 759; ;
        }
        var _usedIndices_3_1 = __lastLabel__ == 759 ? 0 : (_phitmp_i_i72);
        var _17 = _vcount << 2;
        var _18 = _usedIndices_3_1;
        _llvm_memset_p0i8_i32(_18, 0, _17, 4, false);
        IHEAP[_ocount] = 0;
        var _19 = _indexcount > 0;
        ;
        _bb_nph105$_bb21$18948: do { 
          if (_19) {
            ;
            var _20 = _this+20+12;
            __lastLabel__ = 3498; ;
            _bb5$18950: while(1) { // _bb5
              var _i_1104 = __lastLabel__ == 3498 ? 0 : (_49);
              var _scevgep109 = _indices+4*_i_1104;
              var _21 = IHEAP[_scevgep109];
              var _22 = _usedIndices_3_1+4*_21;
              var _23 = IHEAP[_22];
              var _24 = _23 == 0;
              ;
              _bb8$_bb7$18952: do { 
                if (_24) {
                  ;
                  var _26 = IHEAP[_ocount];
                  IHEAP[_scevgep109] = _26;
                  var _27 = IHEAP[_ocount];
                  var _28 = _overts+16*_27;
                  var _29 = _verts+16*_21;
                  var _30 = FHEAP[_29];
                  FHEAP[_28] = _30;
                  var _31 = IHEAP[_ocount];
                  var _32 = _verts+16*_21+4;
                  var _33 = FHEAP[_32];
                  var _34 = _overts+16*_31+4;
                  FHEAP[_34] = _33;
                  var _35 = IHEAP[_ocount];
                  var _36 = _verts+16*_21+8;
                  var _37 = FHEAP[_36];
                  var _38 = _overts+16*_35+8;
                  FHEAP[_38] = _37;
                  var _39 = IHEAP[_0];
                  var _40 = _39 > 0;
                  if (_40) { __lastLabel__ = 148; __label__ = 62; /* _bb9 */  } else { __lastLabel__ = 148; __label__ = 153; /* _bb15 */  }
                  _bb9$_bb15$18954: while(1) { // _bb9,_bb15
                    if (__label__ == 62) {
                      var _k_0103 = __lastLabel__ == 3 ? _tmp : (0);
                      var _scevgep108 = _tmpIndices_3_1121+4*_k_0103;
                      var _tmp = _k_0103 + 1;
                      var _41 = IHEAP[_scevgep108];
                      var _42 = _41 == _21;
                      ;
                      if (_42) {
                        ;
                        var _43 = IHEAP[_20];
                        var _44 = IHEAP[_ocount];
                        var _scevgep = _43+4*_k_0103;
                        IHEAP[_scevgep] = _44;
                        ;
                      }
                      var _45 = IHEAP[_0];
                      var _46 = _45 > _tmp;
                      if (_46) { __lastLabel__ = 3; __label__ = 62; /* _bb9 */ continue _bb9$_bb15$18954; } else { __lastLabel__ = 3; __label__ = 153; /* _bb15 */ continue _bb9$_bb15$18954; }
                    }
                    else if (__label__ == 153) {
                      var _47 = IHEAP[_ocount];
                      var _48 = _47 + 1;
                      IHEAP[_ocount] = _48;
                      IHEAP[_22] = _48;
                      __label__ = 154; /* _bb16 */ break _bb8$_bb7$18952;
                    }
                  }
                }
                else {
                  ;
                  var _25 = _23 + -1;
                  IHEAP[_scevgep109] = _25;
                  ;
                }
              } while(0);
              var _49 = _i_1104 + 1;
              var _exitcond = _49 == _indexcount;
              if (_exitcond) { __lastLabel__ = 154; __label__ = 110; /* _bb21 */ break _bb_nph105$_bb21$18948; } else { __lastLabel__ = 154; __label__ = 82; /* _bb5 */ continue _bb5$18950; }
            }
          }
        } while(0);
        var _50 = _usedIndices_3_1 == 0;
        ;
        if (!_50) {
          ;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_18) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 4031; ; } else { __lastLabel__ = 4031; __label__ = 254; /* _lpad */ break _invcont3$_lpad$18935; }
        }
        var _51 = _tmpIndices_3_1121 == 0;
        ;
        if (_51) {
          ;
          ;
          return;
        }
        else {
          ;
          var _52 = _tmpIndices_3_1121;
          __Z21btAlignedFreeInternalPv(_52);
          ;
          return;
        }
      }
    } while(0);
    if (__label__ == 254) {
      var _tmpIndices_3_2 = __lastLabel__ == 4031 ? _tmpIndices_3_1121 : (0);
      var _eh_ptr = _llvm_eh_exception();
      var _eh_select30 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
      __lastLabel__ = 254; ;
    }
    var _tmpIndices_3_3 = __lastLabel__ == 254 ? _tmpIndices_3_2 : (_tmpIndices_3_1121);
    var _eh_exception_0 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr32);
    var _53 = _tmpIndices_3_3 == 0;
    ;
    _invcont26$_bb1_i_i_i$18973: do { 
      if (!_53) {
        ;
        var _54 = _tmpIndices_3_3;
        (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_54) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3938; /* _invcont26 */ break _invcont26$_bb1_i_i_i$18973; } else { ; }
        var _eh_ptr40 = _llvm_eh_exception();
        var _eh_select42 = _llvm_eh_selector(_eh_ptr40, ___gxx_personality_v0, 1);
        __ZSt9terminatev();
        // unreachable
      }
    } while(0);
    __Unwind_Resume_or_Rethrow(_eh_exception_0);
    // unreachable
  }
  __ZN11HullLibrary16BringOutYourDeadEPK9btVector3jPS0_RjPjj.__index__ = Runtime.getFunctionIndex(__ZN11HullLibrary16BringOutYourDeadEPK9btVector3jPS0_RjPjj, "__ZN11HullLibrary16BringOutYourDeadEPK9btVector3jPS0_RjPjj");
  
  
  function __ZN11HullLibrary16allocateTriangleEiii(_this, _a, _b, _c) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __Z22btAlignedAllocInternalji(36, 16);
    var _1 = _0;
    var _2 = _0 == 0;
    ;
    if (!_2) {
      ;
      var _3 = _0;
      IHEAP[_3] = _a;
      var _4 = _0+4;
      var _5 = _4;
      IHEAP[_5] = _b;
      var _6 = _0+8;
      var _7 = _6;
      IHEAP[_7] = _c;
      var _8 = _0+12;
      var _9 = _8;
      IHEAP[_9] = -1;
      var _10 = _0+16;
      var _11 = _10;
      IHEAP[_11] = -1;
      var _12 = _0+20;
      var _13 = _12;
      IHEAP[_13] = -1;
      var _14 = _0+28;
      var _15 = _14;
      IHEAP[_15] = -1;
      var _16 = _0+32;
      var _17 = _16;
      FHEAP[_17] = 0;
      ;
    }
    var _18 = _this+4;
    var _19 = IHEAP[_18];
    var _20 = _0+24;
    var _21 = _20;
    IHEAP[_21] = _19;
    var _22 = IHEAP[_18];
    var _23 = _this+8;
    var _24 = IHEAP[_23];
    var _25 = _24 == _22;
    ;
    _bb_i$_bb1_i$19010: do { 
      if (_25) {
        __lastLabel__ = 0; ;
        var _26 = _22 == 0;
        var _27 = _22 << 1;
        var _iftmp_185_0_i_i = _26 ? 1 : _27;
        var _28 = _24 < _iftmp_185_0_i_i;
        if (_28) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$19010; }
        var _29 = _iftmp_185_0_i_i == 0;
        ;
        if (_29) {
          __lastLabel__ = 263; ;
        }
        else {
          __lastLabel__ = 263; ;
          var _30 = _iftmp_185_0_i_i << 2;
          var _31 = __Z22btAlignedAllocInternalji(_30, 16);
          var _phitmp_i_i = _31;
          var __pre_i = IHEAP[_18];
          __lastLabel__ = 274; ;
        }
        var _32 = __lastLabel__ == 274 ? __pre_i : (_22);
        var _33 = __lastLabel__ == 274 ? _phitmp_i_i : (0);
        var _34 = _32 > 0;
        ;
        _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIP14btHullTriangleE4copyEiiPS1__exit_i_i$19016: do { 
          if (_34) {
            ;
            var _35 = _this+12;
            __lastLabel__ = 276; ;
            _bb_i4_i_i$19018: while(1) { // _bb_i4_i_i
              var _indvar_i_i_i = __lastLabel__ == 276 ? 0 : (_indvar_next_i_i_i);
              var _scevgep_i_i_i = _33+4*_indvar_i_i_i;
              var _36 = _scevgep_i_i_i == 0;
              ;
              if (!_36) {
                ;
                var _37 = IHEAP[_35];
                var _scevgep8_i_i_i = _37+4*_indvar_i_i_i;
                var _38 = IHEAP[_scevgep8_i_i_i];
                IHEAP[_scevgep_i_i_i] = _38;
                ;
              }
              var _indvar_next_i_i_i = _indvar_i_i_i + 1;
              var _exitcond = _indvar_next_i_i_i == _32;
              if (_exitcond) { __lastLabel__ = 279; __label__ = 3514; /* __ZNK20btAlignedObjectArrayIP14btHullTriangleE4copyEiiPS1__exit_i_i */ break _bb_nph_i_i_i$__ZNK20btAlignedObjectArrayIP14btHullTriangleE4copyEiiPS1__exit_i_i$19016; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$19018; }
            }
          }
        } while(0);
        var _39 = _this+12;
        var _40 = IHEAP[_39];
        var _41 = _40 == 0;
        ;
        if (!_41) {
          ;
          var _42 = _this+16;
          var _43 = IHEAP[_42];
          var _toBool_i_i_i = _43 == 0;
          ;
          if (!_toBool_i_i_i) {
            ;
            var _44 = _40;
            __Z21btAlignedFreeInternalPv(_44);
            ;
          }
          IHEAP[_39] = 0;
          ;
        }
        var _45 = _this+16;
        IHEAP[_45] = 1;
        IHEAP[_39] = _33;
        IHEAP[_23] = _iftmp_185_0_i_i;
        var __pre5_i = IHEAP[_18];
        __lastLabel__ = 3517; ;
      }
      else {
        __lastLabel__ = 0; ;
      }
    } while(0);
    var _46 = __lastLabel__ == 3517 ? __pre5_i : (__lastLabel__ == 0 ? _22 : (_22));
    var _47 = _this+12;
    var _48 = IHEAP[_47];
    var _49 = _48+4*_46;
    var _50 = _49 == 0;
    ;
    if (_50) {
      __lastLabel__ = 159; ;
    }
    else {
      __lastLabel__ = 159; ;
      IHEAP[_49] = _1;
      var __pre6_i = IHEAP[_18];
      __lastLabel__ = 132; ;
    }
    var _51 = __lastLabel__ == 159 ? _46 : (__pre6_i);
    var _52 = _51 + 1;
    IHEAP[_18] = _52;
    ;
    return _1;
  }
  __ZN11HullLibrary16allocateTriangleEiii.__index__ = Runtime.getFunctionIndex(__ZN11HullLibrary16allocateTriangleEiii, "__ZN11HullLibrary16allocateTriangleEiii");
  
  
  function __ZN11HullLibrary7extrudeEP14btHullTrianglei(_this, _t0, _v) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _t0;
    var _1 = IHEAP[_0];
    var _2 = _t0+4;
    var _3 = IHEAP[_2];
    var _4 = _t0+8;
    var _5 = IHEAP[_4];
    var _6 = _this+4;
    var _7 = IHEAP[_6];
    var _8 = __ZN11HullLibrary16allocateTriangleEiii(_this, _v, _3, _5);
    var _9 = _7 + 2;
    var _10 = _7 + 1;
    var _11 = _t0+12;
    var _12 = IHEAP[_11];
    var _13 = _8+12;
    IHEAP[_13] = _12;
    var _14 = _8+12+4;
    IHEAP[_14] = _10;
    var _15 = _8+12+8;
    IHEAP[_15] = _9;
    var _16 = IHEAP[_11];
    var _17 = _this+12;
    var _18 = IHEAP[_17];
    var _19 = _18+4*_16;
    var _20 = IHEAP[_19];
    var _this21_i = _20;
    var _21 = _20;
    __lastLabel__ = -1; ;
    _bb14_i$19037: while(1) { // _bb14_i
      var _37 = __lastLabel__ == -1 ? 0 : (__lastLabel__ == 133 ? _tmp20_i : (_tmp20_i));
      var _38 = _37 < 3;
      if (_38) { __lastLabel__ = 1060; ; } else { __lastLabel__ = 1060; __label__ = 3441; /* __ZN14btHullTriangle4neibEii_exit */ break _bb14_i$19037; }
      var _tmp79 = _37 << 2;
      var _uglygep80 = _this21_i+_tmp79;
      var _uglygep23_i = _uglygep80;
      var _tmp20_i = _37 + 1;
      var _tmp_i = _37 + 2;
      var _22 = Math.floor(_tmp20_i % 3);
      var _23 = Math.floor(_tmp_i % 3);
      var _24 = IHEAP[_uglygep23_i];
      var _25 = _24 == _3;
      ;
      if (_25) {
        ;
        var _26 = _21+4*_22;
        var _27 = IHEAP[_26];
        var _28 = _27 == _5;
        if (_28) { __label__ = 300; /* _bb5_i */ break _bb14_i$19037; }
      }
      var _29 = _24 == _5;
      if (_29) { __lastLabel__ = 133; ; } else { __lastLabel__ = 133; __label__ = 1060; /* _bb14_i */ continue _bb14_i$19037; }
      var _32 = _21+4*_22;
      var _33 = IHEAP[_32];
      var _34 = _33 == _3;
      if (_34) { __lastLabel__ = 137; __label__ = 3440; /* _bb12_i */ break _bb14_i$19037; } else { __lastLabel__ = 137; __label__ = 1060; /* _bb14_i */ continue _bb14_i$19037; }
    }
    if (__label__ == 300) {
      var _30 = _20+12;
      var _31 = _30+4*_23;
      __lastLabel__ = 300; ;
    }
    else if (__label__ == 3440) {
      var _35 = _20+12;
      var _36 = _35+4*_23;
      __lastLabel__ = 3440; ;
    }
    var _39 = __lastLabel__ == 3440 ? _36 : (__lastLabel__ == 300 ? _31 : (__ZZN14btHullTriangle4neibEiiE2er));
    IHEAP[_39] = _7;
    var _40 = __ZN11HullLibrary16allocateTriangleEiii(_this, _v, _5, _1);
    var _41 = _11+4;
    var _42 = IHEAP[_41];
    var _43 = _40+12;
    IHEAP[_43] = _42;
    var _44 = _40+12+4;
    IHEAP[_44] = _9;
    var _45 = _40+12+8;
    IHEAP[_45] = _7;
    var _46 = IHEAP[_41];
    var _47 = IHEAP[_17];
    var _48 = _47+4*_46;
    var _49 = IHEAP[_48];
    var _this21_i35 = _49;
    var _50 = _49;
    __lastLabel__ = 3441; ;
    _bb14_i47$19048: while(1) { // _bb14_i47
      var _66 = __lastLabel__ == 3441 ? 0 : (__lastLabel__ == 3525 ? _tmp20_i39 : (_tmp20_i39));
      var _67 = _66 < 3;
      if (_67) { __lastLabel__ = 3522; ; } else { __lastLabel__ = 3522; __label__ = 3530; /* __ZN14btHullTriangle4neibEii_exit49 */ break _bb14_i47$19048; }
      var _tmp72 = _66 << 2;
      var _uglygep73 = _this21_i35+_tmp72;
      var _uglygep23_i38 = _uglygep73;
      var _tmp20_i39 = _66 + 1;
      var _tmp_i40 = _66 + 2;
      var _51 = Math.floor(_tmp20_i39 % 3);
      var _52 = Math.floor(_tmp_i40 % 3);
      var _53 = IHEAP[_uglygep23_i38];
      var _54 = _53 == _5;
      ;
      if (_54) {
        ;
        var _55 = _50+4*_51;
        var _56 = IHEAP[_55];
        var _57 = _56 == _1;
        if (_57) { __label__ = 3523; /* _bb5_i44 */ break _bb14_i47$19048; }
      }
      var _58 = _53 == _1;
      if (_58) { __lastLabel__ = 3525; ; } else { __lastLabel__ = 3525; __label__ = 3522; /* _bb14_i47 */ continue _bb14_i47$19048; }
      var _61 = _50+4*_51;
      var _62 = IHEAP[_61];
      var _63 = _62 == _5;
      if (_63) { __lastLabel__ = 3526; __label__ = 3528; /* _bb12_i46 */ break _bb14_i47$19048; } else { __lastLabel__ = 3526; __label__ = 3522; /* _bb14_i47 */ continue _bb14_i47$19048; }
    }
    if (__label__ == 3523) {
      var _59 = _49+12;
      var _60 = _59+4*_52;
      __lastLabel__ = 3523; ;
    }
    else if (__label__ == 3528) {
      var _64 = _49+12;
      var _65 = _64+4*_52;
      __lastLabel__ = 3528; ;
    }
    var _68 = __lastLabel__ == 3528 ? _65 : (__lastLabel__ == 3523 ? _60 : (__ZZN14btHullTriangle4neibEiiE2er));
    IHEAP[_68] = _10;
    var _69 = __ZN11HullLibrary16allocateTriangleEiii(_this, _v, _1, _3);
    var _70 = _11+8;
    var _71 = IHEAP[_70];
    var _72 = _69+12;
    IHEAP[_72] = _71;
    var _73 = _69+12+4;
    IHEAP[_73] = _7;
    var _74 = _69+12+8;
    IHEAP[_74] = _10;
    var _75 = IHEAP[_70];
    var _76 = IHEAP[_17];
    var _77 = _76+4*_75;
    var _78 = IHEAP[_77];
    var _this21_i20 = _78;
    var _79 = _78;
    __lastLabel__ = 3530; ;
    _bb14_i32$19059: while(1) { // _bb14_i32
      var _95 = __lastLabel__ == 3530 ? 0 : (__lastLabel__ == 3534 ? _tmp20_i24 : (_tmp20_i24));
      var _96 = _95 < 3;
      if (_96) { __lastLabel__ = 3531; ; } else { __lastLabel__ = 3531; __label__ = 3538; /* __ZN14btHullTriangle4neibEii_exit34 */ break _bb14_i32$19059; }
      var _tmp = _95 << 2;
      var _uglygep = _this21_i20+_tmp;
      var _uglygep23_i23 = _uglygep;
      var _tmp20_i24 = _95 + 1;
      var _tmp_i25 = _95 + 2;
      var _80 = Math.floor(_tmp20_i24 % 3);
      var _81 = Math.floor(_tmp_i25 % 3);
      var _82 = IHEAP[_uglygep23_i23];
      var _83 = _82 == _1;
      ;
      if (_83) {
        ;
        var _84 = _79+4*_80;
        var _85 = IHEAP[_84];
        var _86 = _85 == _3;
        if (_86) { __label__ = 3532; /* _bb5_i29 */ break _bb14_i32$19059; }
      }
      var _87 = _82 == _3;
      if (_87) { __lastLabel__ = 3534; ; } else { __lastLabel__ = 3534; __label__ = 3531; /* _bb14_i32 */ continue _bb14_i32$19059; }
      var _90 = _79+4*_80;
      var _91 = IHEAP[_90];
      var _92 = _91 == _1;
      if (_92) { __lastLabel__ = 3535; __label__ = 3537; /* _bb12_i31 */ break _bb14_i32$19059; } else { __lastLabel__ = 3535; __label__ = 3531; /* _bb14_i32 */ continue _bb14_i32$19059; }
    }
    if (__label__ == 3532) {
      var _88 = _78+12;
      var _89 = _88+4*_81;
      __lastLabel__ = 3532; ;
    }
    else if (__label__ == 3537) {
      var _93 = _78+12;
      var _94 = _93+4*_81;
      __lastLabel__ = 3537; ;
    }
    var _97 = __lastLabel__ == 3537 ? _94 : (__lastLabel__ == 3532 ? _89 : (__ZZN14btHullTriangle4neibEiiE2er));
    IHEAP[_97] = _9;
    var _98 = IHEAP[_13];
    var _99 = IHEAP[_17];
    var _100 = _99+4*_98;
    var _101 = IHEAP[_100];
    var _102 = _101;
    var _103 = IHEAP[_102];
    var _104 = _103 == _v;
    ;
    _bb$_bb_i15$19070: do { 
      if (_104) {
        __label__ = 60; /* _bb */ 
      }
      else {
        ;
        var _105 = _102+4;
        var _106 = IHEAP[_105];
        var _107 = _106 == _v;
        if (_107) { __label__ = 60; /* _bb */ break _bb$_bb_i15$19070; }
        var _108 = _102+8;
        var _109 = IHEAP[_108];
        var _phitmp = _109 == _v;
        if (_phitmp) { __lastLabel__ = 3539; __label__ = 60; /* _bb */ break _bb$_bb_i15$19070; } else { __lastLabel__ = 3539; __label__ = 75; /* _bb1 */ break _bb$_bb_i15$19070; }
      }
    } while(0);
    if (__label__ == 60) {
      __ZN11HullLibrary6b2bfixEP14btHullTriangleS1_(_this, _8, _101);
      var _110 = _8+24;
      var _111 = IHEAP[_110];
      var _112 = IHEAP[_17];
      var _113 = _112+4*_111;
      IHEAP[_113] = 0;
      var _114 = _8;
      __Z21btAlignedFreeInternalPv(_114);
      var _115 = _101+24;
      var _116 = IHEAP[_115];
      var _117 = IHEAP[_17];
      var _118 = _117+4*_116;
      IHEAP[_118] = 0;
      var _119 = _101;
      __Z21btAlignedFreeInternalPv(_119);
      var __pre = IHEAP[_17];
      __lastLabel__ = 60; ;
    }
    var _120 = __lastLabel__ == 3539 ? _99 : (__pre);
    var _121 = IHEAP[_43];
    var _122 = _120+4*_121;
    var _123 = IHEAP[_122];
    var _124 = _123;
    var _125 = IHEAP[_124];
    var _126 = _125 == _v;
    ;
    _bb3$_bb_i8$19076: do { 
      if (_126) {
        __label__ = 116; /* _bb3 */ 
      }
      else {
        ;
        var _127 = _124+4;
        var _128 = IHEAP[_127];
        var _129 = _128 == _v;
        if (_129) { __label__ = 116; /* _bb3 */ break _bb3$_bb_i8$19076; }
        var _130 = _124+8;
        var _131 = IHEAP[_130];
        var _phitmp59 = _131 == _v;
        if (_phitmp59) { __lastLabel__ = 3541; __label__ = 116; /* _bb3 */ break _bb3$_bb_i8$19076; } else { __lastLabel__ = 3541; __label__ = 61; /* _bb4 */ break _bb3$_bb_i8$19076; }
      }
    } while(0);
    if (__label__ == 116) {
      __ZN11HullLibrary6b2bfixEP14btHullTriangleS1_(_this, _40, _123);
      var _132 = _40+24;
      var _133 = IHEAP[_132];
      var _134 = IHEAP[_17];
      var _135 = _134+4*_133;
      IHEAP[_135] = 0;
      var _136 = _40;
      __Z21btAlignedFreeInternalPv(_136);
      var _137 = _123+24;
      var _138 = IHEAP[_137];
      var _139 = IHEAP[_17];
      var _140 = _139+4*_138;
      IHEAP[_140] = 0;
      var _141 = _123;
      __Z21btAlignedFreeInternalPv(_141);
      var __pre82 = IHEAP[_17];
      __lastLabel__ = 116; ;
    }
    var _142 = __lastLabel__ == 3541 ? _120 : (__pre82);
    var _143 = IHEAP[_72];
    var _144 = _142+4*_143;
    var _145 = IHEAP[_144];
    var _146 = _145;
    var _147 = IHEAP[_146];
    var _148 = _147 == _v;
    ;
    _bb6$_bb_i$19082: do { 
      if (_148) {
        __label__ = 83; /* _bb6 */ 
      }
      else {
        ;
        var _149 = _146+4;
        var _150 = IHEAP[_149];
        var _151 = _150 == _v;
        if (_151) { __label__ = 83; /* _bb6 */ break _bb6$_bb_i$19082; }
        var _152 = _146+8;
        var _153 = IHEAP[_152];
        var _phitmp60 = _153 == _v;
        if (_phitmp60) { __lastLabel__ = 3543; __label__ = 83; /* _bb6 */ break _bb6$_bb_i$19082; } else { __lastLabel__ = 3543; __label__ = 2; /* _bb7 */ break _bb6$_bb_i$19082; }
      }
    } while(0);
    if (__label__ == 83) {
      __ZN11HullLibrary6b2bfixEP14btHullTriangleS1_(_this, _69, _145);
      var _154 = _69+24;
      var _155 = IHEAP[_154];
      var _156 = IHEAP[_17];
      var _157 = _156+4*_155;
      IHEAP[_157] = 0;
      var _158 = _69;
      __Z21btAlignedFreeInternalPv(_158);
      var _159 = _145+24;
      var _160 = IHEAP[_159];
      var _161 = IHEAP[_17];
      var _162 = _161+4*_160;
      IHEAP[_162] = 0;
      var _163 = _145;
      __Z21btAlignedFreeInternalPv(_163);
      var __pre83 = IHEAP[_17];
      __lastLabel__ = 83; ;
    }
    var _164 = __lastLabel__ == 3543 ? _142 : (__pre83);
    var _165 = _t0+24;
    var _166 = IHEAP[_165];
    var _167 = _164+4*_166;
    IHEAP[_167] = 0;
    var _168 = _t0;
    __Z21btAlignedFreeInternalPv(_168);
    ;
    return;
  }
  __ZN11HullLibrary7extrudeEP14btHullTrianglei.__index__ = Runtime.getFunctionIndex(__ZN11HullLibrary7extrudeEP14btHullTrianglei, "__ZN11HullLibrary7extrudeEP14btHullTrianglei");
  
  
  function __ZN20btAlignedObjectArrayIN7ConvexH8HalfEdgeEE6resizeEiRKS1_(_this, _newsize, _fillData) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > _newsize;
    ;
    _bb12$_bb3$19089: do { 
      if (!_2) {
        ;
        var _3 = _1 < _newsize;
        if (!(_3)) { __label__ = 3; /* _bb12 */ break _bb12$_bb3$19089; }
        var _4 = _this+8;
        var _5 = IHEAP[_4];
        var _6 = _5 < _newsize;
        ;
        if (_6) {
          ;
          var _7 = _newsize == 0;
          ;
          if (_7) {
            __lastLabel__ = 131; ;
          }
          else {
            __lastLabel__ = 131; ;
            var _8 = _newsize << 2;
            var _9 = __Z22btAlignedAllocInternalji(_8, 16);
            var _phitmp_i = _9;
            var __pre = IHEAP[_0];
            __lastLabel__ = 215; ;
          }
          var _10 = __lastLabel__ == 215 ? __pre : (_1);
          var _11 = __lastLabel__ == 215 ? _phitmp_i : (0);
          var _12 = _10 > 0;
          ;
          _bb_nph_i_i$__ZNK20btAlignedObjectArrayIN7ConvexH8HalfEdgeEE4copyEiiPS1__exit_i$19097: do { 
            if (_12) {
              ;
              var _13 = _this+12;
              __lastLabel__ = 217; ;
              _bb_i4_i$19099: while(1) { // _bb_i4_i
                var _indvar_i_i = __lastLabel__ == 217 ? 0 : (_indvar_next_i_i);
                var _scevgep_i_i = _11+4*_indvar_i_i;
                var _14 = _scevgep_i_i == 0;
                ;
                if (!_14) {
                  ;
                  var _scevgep13_i_i = _11+4*_indvar_i_i+2;
                  var _scevgep14_i_i = _11+4*_indvar_i_i+3;
                  var _scevgep12_i_i = _11+4*_indvar_i_i;
                  var _15 = IHEAP[_13];
                  var _scevgep89_i_i = _15+4*_indvar_i_i;
                  var _16 = IHEAP[_scevgep89_i_i];
                  var _scevgep10_i_i = _15+4*_indvar_i_i+2;
                  var _17 = IHEAP[_scevgep10_i_i];
                  var _scevgep11_i_i = _15+4*_indvar_i_i+3;
                  var _18 = IHEAP[_scevgep11_i_i];
                  IHEAP[_scevgep12_i_i] = _16;
                  IHEAP[_scevgep13_i_i] = _17;
                  IHEAP[_scevgep14_i_i] = _18;
                  ;
                }
                var _indvar_next_i_i = _indvar_i_i + 1;
                var _exitcond22 = _indvar_next_i_i == _10;
                if (_exitcond22) { __lastLabel__ = 324; __label__ = 3547; /* __ZNK20btAlignedObjectArrayIN7ConvexH8HalfEdgeEE4copyEiiPS1__exit_i */ break _bb_nph_i_i$__ZNK20btAlignedObjectArrayIN7ConvexH8HalfEdgeEE4copyEiiPS1__exit_i$19097; } else { __lastLabel__ = 324; __label__ = 218; /* _bb_i4_i */ continue _bb_i4_i$19099; }
              }
            }
          } while(0);
          var _19 = _this+12;
          var _20 = IHEAP[_19];
          var _21 = _20 == 0;
          ;
          if (!_21) {
            ;
            var _22 = _this+16;
            var _23 = IHEAP[_22];
            var _toBool_i_i = _23 == 0;
            ;
            if (!_toBool_i_i) {
              ;
              var _24 = _20;
              __Z21btAlignedFreeInternalPv(_24);
              ;
            }
            IHEAP[_19] = 0;
            ;
          }
          var _25 = _this+16;
          IHEAP[_25] = 1;
          IHEAP[_19] = _11;
          IHEAP[_4] = _newsize;
          if (!(_3)) { __label__ = 3; /* _bb12 */ break _bb12$_bb3$19089; }
        }
        var _26 = _this+12;
        var _27 = _fillData;
        var _28 = _fillData+2;
        var _29 = _fillData+3;
        var _tmp = _newsize - _1;
        __lastLabel__ = 130; ;
        _bb7$19112: while(1) { // _bb7
          var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
          var _tmp17 = _1 + _indvar;
          var _30 = IHEAP[_26];
          var _scevgep = _30+4*_tmp17;
          var _31 = _scevgep == 0;
          ;
          if (!_31) {
            ;
            var _32 = IHEAP[_27];
            var _33 = IHEAP[_28];
            var _34 = IHEAP[_29];
            var _scevgep1819 = _30+4*_tmp17;
            IHEAP[_scevgep1819] = _32;
            var _scevgep20 = _30+4*_tmp17+2;
            IHEAP[_scevgep20] = _33;
            var _scevgep21 = _30+4*_tmp17+3;
            IHEAP[_scevgep21] = _34;
            ;
          }
          var _indvar_next = _indvar + 1;
          var _exitcond = _indvar_next == _tmp;
          if (_exitcond) { __lastLabel__ = 150; __label__ = 3; /* _bb12 */ break _bb12$_bb3$19089; } else { __lastLabel__ = 150; __label__ = 2; /* _bb7 */ continue _bb7$19112; }
        }
      }
    } while(0);
    IHEAP[_0] = _newsize;
    ;
    return;
  }
  __ZN20btAlignedObjectArrayIN7ConvexH8HalfEdgeEE6resizeEiRKS1_.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayIN7ConvexH8HalfEdgeEE6resizeEiRKS1_, "__ZN20btAlignedObjectArrayIN7ConvexH8HalfEdgeEE6resizeEiRKS1_");
  
  
  function __ZN20btAlignedObjectArrayI7btPlaneE7reserveEi(_this, __Count) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+8;
    var _1 = IHEAP[_0];
    var _2 = _1 < __Count;
    ;
    if (_2) {
      ;
      var _3 = __Count == 0;
      ;
      if (_3) {
        __lastLabel__ = 60; ;
      }
      else {
        __lastLabel__ = 60; ;
        var _4 = __Count * 20;
        var _5 = __Z22btAlignedAllocInternalji(_4, 16);
        var _phitmp = _5;
        __lastLabel__ = 654; ;
      }
      var _6 = __lastLabel__ == 654 ? _phitmp : (0);
      var _7 = _this+4;
      var _8 = IHEAP[_7];
      var _9 = _8 > 0;
      ;
      _bb_nph_i$__ZNK20btAlignedObjectArrayI7btPlaneE4copyEiiPS0__exit$19124: do { 
        if (_9) {
          ;
          var _10 = _this+12;
          __lastLabel__ = 418; ;
          _bb_i4$19126: while(1) { // _bb_i4
            var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
            var _scevgep_i = _6+20*_indvar_i;
            var _11 = _scevgep_i == 0;
            ;
            if (!_11) {
              ;
              var _scevgep15_i = _6+20*_indvar_i+4;
              var _scevgep16_i = _6+20*_indvar_i+8;
              var _scevgep17_i = _6+20*_indvar_i+12;
              var _scevgep18_i = _6+20*_indvar_i+16;
              var _scevgep14_i = _6+20*_indvar_i;
              var _12 = IHEAP[_10];
              var _scevgep89_i = _12+20*_indvar_i;
              var _13 = FHEAP[_scevgep89_i];
              FHEAP[_scevgep14_i] = _13;
              var _scevgep10_i = _12+20*_indvar_i+4;
              var _14 = FHEAP[_scevgep10_i];
              FHEAP[_scevgep15_i] = _14;
              var _scevgep11_i = _12+20*_indvar_i+8;
              var _15 = FHEAP[_scevgep11_i];
              FHEAP[_scevgep16_i] = _15;
              var _scevgep12_i = _12+20*_indvar_i+12;
              var _16 = FHEAP[_scevgep12_i];
              FHEAP[_scevgep17_i] = _16;
              var _scevgep13_i = _12+20*_indvar_i+16;
              var _17 = FHEAP[_scevgep13_i];
              FHEAP[_scevgep18_i] = _17;
              ;
            }
            var _indvar_next_i = _indvar_i + 1;
            var _exitcond = _indvar_next_i == _8;
            if (_exitcond) { __lastLabel__ = 133; __label__ = 3554; /* __ZNK20btAlignedObjectArrayI7btPlaneE4copyEiiPS0__exit */ break _bb_nph_i$__ZNK20btAlignedObjectArrayI7btPlaneE4copyEiiPS0__exit$19124; } else { __lastLabel__ = 133; __label__ = 656; /* _bb_i4 */ continue _bb_i4$19126; }
          }
        }
      } while(0);
      var _18 = _this+12;
      var _19 = IHEAP[_18];
      var _20 = _19 == 0;
      ;
      if (!_20) {
        ;
        var _21 = _this+16;
        var _22 = IHEAP[_21];
        var _toBool_i = _22 == 0;
        ;
        if (!_toBool_i) {
          ;
          var _23 = _19;
          __Z21btAlignedFreeInternalPv(_23);
          ;
        }
        IHEAP[_18] = 0;
        ;
      }
      var _24 = _this+16;
      IHEAP[_24] = 1;
      IHEAP[_18] = _6;
      IHEAP[_0] = __Count;
      ;
      return;
    }
    else {
      ;
      ;
      return;
    }
  }
  __ZN20btAlignedObjectArrayI7btPlaneE7reserveEi.__index__ = Runtime.getFunctionIndex(__ZN20btAlignedObjectArrayI7btPlaneE7reserveEi, "__ZN20btAlignedObjectArrayI7btPlaneE7reserveEi");
  
  
  function __ZN7ConvexHC2Eiii(_this, _vertices_size, _edges_size, _facets_size) {
    var __stackBase__  = STACKTOP; STACKTOP += 20;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+4;
    var _2 = _this+16;
    IHEAP[_2] = 1;
    var _3 = _this+12;
    IHEAP[_3] = 0;
    var _4 = _this+4;
    IHEAP[_4] = 0;
    var _5 = _this+8;
    IHEAP[_5] = 0;
    var _6 = _this+20+16;
    IHEAP[_6] = 1;
    var _7 = _this+20+12;
    IHEAP[_7] = 0;
    var _8 = _this+20+4;
    IHEAP[_8] = 0;
    var _9 = _this+20+8;
    IHEAP[_9] = 0;
    var _10 = _this+40+16;
    IHEAP[_10] = 1;
    var _11 = _this+40+12;
    IHEAP[_11] = 0;
    var _12 = _this+40+4;
    IHEAP[_12] = 0;
    var _13 = _this+40+8;
    IHEAP[_13] = 0;
    var _14 = _this;
    (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI9btVector3E6resizeEiRKS0_(_14, _vertices_size, _1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 3754; /* _lpad24 */  }
    _invcont2$_lpad24$19140: do { 
      if (__label__ == 1102) {
        var _15 = _this+20;
        (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIN7ConvexH8HalfEdgeEE6resizeEiRKS1_(_15, _edges_size, _0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3754; /* _lpad24 */ break _invcont2$_lpad24$19140; }
        var _16 = IHEAP[_12];
        var _17 = _16 < _facets_size;
        ;
        _bb_nph_i$_return$19143: do { 
          if (_17) {
            ;
            var _18 = _this+40;
            (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI7btPlaneE7reserveEi(_18, _facets_size) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { ; } else { __label__ = 3754; /* _lpad24 */ break _invcont2$_lpad24$19140; }
            var _tmp_i = _facets_size - _16;
            __lastLabel__ = 3557; ;
            _bb7_i$19146: while(1) { // _bb7_i
              var _indvar_i = __lastLabel__ == 3557 ? 0 : (_indvar_next_i);
              var _tmp = _16 + _indvar_i;
              var _19 = IHEAP[_11];
              var _scevgep_i = _19+20*_tmp;
              var _20 = _scevgep_i == 0;
              ;
              if (!_20) {
                ;
                var _scevgep23_i = _19+20*_tmp+16;
                FHEAP[_scevgep23_i] = 0;
                ;
              }
              var _indvar_next_i = _indvar_i + 1;
              var _exitcond = _indvar_next_i == _tmp_i;
              if (_exitcond) { __lastLabel__ = 581; __label__ = 44; /* _return */ break _bb_nph_i$_return$19143; } else { __lastLabel__ = 581; __label__ = 137; /* _bb7_i */ continue _bb7_i$19146; }
            }
          }
        } while(0);
        IHEAP[_12] = _facets_size;
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    var _eh_ptr25 = _llvm_eh_exception();
    var _eh_select27 = _llvm_eh_selector(_eh_ptr25, ___gxx_personality_v0, 0);
    var _21 = IHEAP[_11];
    var _22 = _21 == 0;
    ;
    if (!_22) {
      ;
      var _23 = IHEAP[_10];
      var _toBool_i_i_i51 = _23 == 0;
      ;
      _bb2_i_i_i54$_bb1_i_i_i53$19155: do { 
        if (!_toBool_i_i_i51) {
          ;
          var _24 = _21;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_24) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3826; /* _bb2_i_i_i54 */ break _bb2_i_i_i54$_bb1_i_i_i53$19155; } else { ; }
          var _eh_ptr29 = _llvm_eh_exception();
          var _eh_select31 = _llvm_eh_selector(_eh_ptr29, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_11] = 0;
      ;
    }
    IHEAP[_10] = 1;
    IHEAP[_11] = 0;
    IHEAP[_12] = 0;
    IHEAP[_13] = 0;
    var _29 = IHEAP[_7];
    var _30 = _29 == 0;
    ;
    if (!_30) {
      ;
      var _31 = IHEAP[_6];
      var _toBool_i_i_i = _31 == 0;
      ;
      _bb2_i_i_i$_bb1_i_i_i$19162: do { 
        if (!_toBool_i_i_i) {
          ;
          var _32 = _29;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_32) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$19162; } else { ; }
          var _eh_ptr33 = _llvm_eh_exception();
          var _eh_select35 = _llvm_eh_selector(_eh_ptr33, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_7] = 0;
      ;
    }
    IHEAP[_6] = 1;
    IHEAP[_7] = 0;
    IHEAP[_8] = 0;
    IHEAP[_9] = 0;
    var _25 = IHEAP[_3];
    var _26 = _25 == 0;
    ;
    if (!_26) {
      ;
      var _27 = IHEAP[_2];
      var _toBool_i_i_i46 = _27 == 0;
      ;
      _bb2_i_i_i49$_bb1_i_i_i48$19169: do { 
        if (!_toBool_i_i_i46) {
          ;
          var _28 = _25;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_28) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4033; /* _bb2_i_i_i49 */ break _bb2_i_i_i49$_bb1_i_i_i48$19169; } else { ; }
          var _eh_ptr37 = _llvm_eh_exception();
          var _eh_select39 = _llvm_eh_selector(_eh_ptr37, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_3] = 0;
      ;
    }
    IHEAP[_2] = 1;
    IHEAP[_3] = 0;
    IHEAP[_4] = 0;
    IHEAP[_5] = 0;
    __Unwind_Resume_or_Rethrow(_eh_ptr25);
    // unreachable
  }
  __ZN7ConvexHC2Eiii.__index__ = Runtime.getFunctionIndex(__ZN7ConvexHC2Eiii, "__ZN7ConvexHC2Eiii");
  
  
  function __Z4orthRK9btVector3(_agg_result, _v) {
    ;
    var __label__;
    var _0 = _v;
    var _1 = FHEAP[_0];
    var _2 = _1 * 0;
    var _3 = _v+4;
    var _4 = FHEAP[_3];
    var _5 = _4 * 0;
    var _6 = _2 - _5;
    var _7 = _v+8;
    var _8 = FHEAP[_7];
    var _9 = _8 * 0;
    var _10 = _9 - _1;
    var _11 = _4 - _9;
    var _12 = _1 - _5;
    var _13 = _9 - _2;
    var _14 = _5 - _8;
    var _15 = _11 * _11;
    var _16 = _10 * _10;
    var _17 = _15 + _16;
    var _18 = _6 * _6;
    var _19 = _17 + _18;
    var _20 = _sqrtf(_19);
    var _21 = _14 * _14;
    var _22 = _13 * _13;
    var _23 = _21 + _22;
    var _24 = _12 * _12;
    var _25 = _23 + _24;
    var _26 = _sqrtf(_25);
    var _27 = _20 > _26;
    ;
    if (_27) {
      ;
      var _28 = 1 / _20;
      var _29 = _6 * _28;
      var _30 = _10 * _28;
      var _31 = _11 * _28;
      var _32 = _agg_result;
      FHEAP[_32] = _31;
      var _33 = _agg_result+4;
      FHEAP[_33] = _30;
      var _34 = _agg_result+8;
      FHEAP[_34] = _29;
      var _35 = _agg_result+12;
      FHEAP[_35] = 0;
      ;
      return;
    }
    else {
      ;
      var _36 = 1 / _26;
      var _37 = _12 * _36;
      var _38 = _13 * _36;
      var _39 = _14 * _36;
      var _40 = _agg_result;
      FHEAP[_40] = _39;
      var _41 = _agg_result+4;
      FHEAP[_41] = _38;
      var _42 = _agg_result+8;
      FHEAP[_42] = _37;
      var _43 = _agg_result+12;
      FHEAP[_43] = 0;
      ;
      return;
    }
  }
  __Z4orthRK9btVector3.__index__ = Runtime.getFunctionIndex(__Z4orthRK9btVector3, "__Z4orthRK9btVector3");
  
  
  function __Z9TriNormalRK9btVector3S1_S1_(_agg_result, _v0, _v1, _v2) {
    ;
    var __label__;
    var _0 = _v2+8;
    var _1 = FHEAP[_0];
    var _2 = _v1+8;
    var _3 = FHEAP[_2];
    var _4 = _1 - _3;
    var _5 = _v2+4;
    var _6 = FHEAP[_5];
    var _7 = _v1+4;
    var _8 = FHEAP[_7];
    var _9 = _6 - _8;
    var _10 = _v2;
    var _11 = FHEAP[_10];
    var _12 = _v1;
    var _13 = FHEAP[_12];
    var _14 = _11 - _13;
    var _15 = _v0+8;
    var _16 = FHEAP[_15];
    var _17 = _3 - _16;
    var _18 = _v0+4;
    var _19 = FHEAP[_18];
    var _20 = _8 - _19;
    var _21 = _v0;
    var _22 = FHEAP[_21];
    var _23 = _13 - _22;
    var _24 = _23 * _9;
    var _25 = _20 * _14;
    var _26 = _24 - _25;
    var _27 = _17 * _14;
    var _28 = _23 * _4;
    var _29 = _27 - _28;
    var _30 = _20 * _4;
    var _31 = _17 * _9;
    var _32 = _30 - _31;
    var _33 = _32 * _32;
    var _34 = _29 * _29;
    var _35 = _33 + _34;
    var _36 = _26 * _26;
    var _37 = _35 + _36;
    var _38 = _sqrtf(_37);
    var _39 = _38 == 0;
    ;
    if (_39) {
      ;
      var _40 = _agg_result;
      FHEAP[_40] = 1;
      var _41 = _agg_result+4;
      FHEAP[_41] = 0;
      var _42 = _agg_result+8;
      FHEAP[_42] = 0;
      var _43 = _agg_result+12;
      FHEAP[_43] = 0;
      ;
      return;
    }
    else {
      ;
      var _44 = 1 / _38;
      var _45 = _26 * _44;
      var _46 = _29 * _44;
      var _47 = _32 * _44;
      var _48 = _agg_result;
      FHEAP[_48] = _47;
      var _49 = _agg_result+4;
      FHEAP[_49] = _46;
      var _50 = _agg_result+8;
      FHEAP[_50] = _45;
      var _51 = _agg_result+12;
      FHEAP[_51] = 0;
      ;
      return;
    }
  }
  __Z9TriNormalRK9btVector3S1_S1_.__index__ = Runtime.getFunctionIndex(__Z9TriNormalRK9btVector3S1_S1_, "__Z9TriNormalRK9btVector3S1_S1_");
  
  
  function __Z5aboveP9btVector3RK4int3RKS_f(_vertices, _t, _p, _epsilon) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _t;
    var _1 = _0+8;
    var _2 = IHEAP[_1];
    var _3 = _0+4;
    var _4 = IHEAP[_3];
    var _5 = IHEAP[_0];
    var _6 = _vertices+16*_2+8;
    var _7 = FHEAP[_6];
    var _8 = _vertices+16*_4+8;
    var _9 = FHEAP[_8];
    var _10 = _7 - _9;
    var _11 = _vertices+16*_2+4;
    var _12 = FHEAP[_11];
    var _13 = _vertices+16*_4+4;
    var _14 = FHEAP[_13];
    var _15 = _12 - _14;
    var _16 = _vertices+16*_2;
    var _17 = FHEAP[_16];
    var _18 = _vertices+16*_4;
    var _19 = FHEAP[_18];
    var _20 = _17 - _19;
    var _21 = _vertices+16*_5+8;
    var _22 = FHEAP[_21];
    var _23 = _9 - _22;
    var _24 = _vertices+16*_5+4;
    var _25 = FHEAP[_24];
    var _26 = _14 - _25;
    var _27 = _vertices+16*_5;
    var _28 = FHEAP[_27];
    var _29 = _19 - _28;
    var _30 = _29 * _15;
    var _31 = _26 * _20;
    var _32 = _30 - _31;
    var _33 = _23 * _20;
    var _34 = _29 * _10;
    var _35 = _33 - _34;
    var _36 = _26 * _10;
    var _37 = _23 * _15;
    var _38 = _36 - _37;
    var _39 = _38 * _38;
    var _40 = _35 * _35;
    var _41 = _39 + _40;
    var _42 = _32 * _32;
    var _43 = _41 + _42;
    var _44 = _sqrtf(_43);
    var _45 = _44 == 0;
    ;
    if (_45) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _46 = 1 / _44;
      var _47 = _32 * _46;
      var _48 = _35 * _46;
      var _49 = _38 * _46;
      __lastLabel__ = 159; ;
    }
    var _n_0_0_0 = __lastLabel__ == 159 ? _49 : (1);
    var _n_0_1_0 = __lastLabel__ == 159 ? _48 : (0);
    var _n_0_2_0 = __lastLabel__ == 159 ? _47 : (0);
    var _50 = _p+8;
    var _51 = FHEAP[_50];
    var _52 = _51 - _22;
    var _53 = _p+4;
    var _54 = FHEAP[_53];
    var _55 = _54 - _25;
    var _56 = _p;
    var _57 = FHEAP[_56];
    var _58 = _57 - _28;
    var _59 = _n_0_0_0 * _58;
    var _60 = _n_0_1_0 * _55;
    var _61 = _59 + _60;
    var _62 = _n_0_2_0 * _52;
    var _63 = _61 + _62;
    var _64 = _63 > _epsilon;
    var _65 = _64;
    ;
    return _65;
  }
  __Z5aboveP9btVector3RK4int3RKS_f.__index__ = Runtime.getFunctionIndex(__Z5aboveP9btVector3RK4int3RKS_f, "__Z5aboveP9btVector3RK4int3RKS_f");
  
  
  function __Z12maxdirsteridI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE(_p, _count, _dir, _allow) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _count > 0;
    var _1 = _allow+12;
    var _2 = _dir;
    var _3 = _dir+4;
    var _4 = _dir+8;
    ;
    _bb25$19188: while(1) { // _bb25
      var _149 = IHEAP[_1];
      if (_0) { __lastLabel__ = 540; __label__ = 3579; /* _bb_i29 */  } else { __lastLabel__ = 540; __label__ = 3580; /* __Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit */  }
      _bb_i29$__Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit$19190: while(1) { // _bb_i29,__Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit
        if (__label__ == 3579) {
          var _150 = __lastLabel__ == 2429 ? _177 : (0);
          var _m_112_i = __lastLabel__ == 2429 ? _m_0_i : (-1);
          var _scevgep17_i = _p+16*_150+8;
          var _scevgep16_i = _p+16*_150+4;
          var _scevgep1415_i = _p+16*_150;
          var _scevgep_i = _149+4*_150;
          var _151 = IHEAP[_scevgep_i];
          var _152 = _151 == 0;
          ;
          _bb8_i$_bb1_i30$19193: do { 
            if (_152) {
              __lastLabel__ = 3579; ;
            }
            else {
              __lastLabel__ = 3579; ;
              var _153 = _m_112_i == -1;
              if (_153) { __lastLabel__ = 3581; __label__ = 2429; /* _bb8_i */ break _bb8_i$_bb1_i30$19193; } else { __lastLabel__ = 3581; ; }
              var _154 = FHEAP[_scevgep1415_i];
              var _155 = FHEAP[_2];
              var _156 = _154 * _155;
              var _157 = FHEAP[_scevgep16_i];
              var _158 = FHEAP[_3];
              var _159 = _157 * _158;
              var _160 = _156 + _159;
              var _161 = FHEAP[_scevgep17_i];
              var _162 = FHEAP[_4];
              var _163 = _161 * _162;
              var _164 = _160 + _163;
              var _165 = _p+16*_m_112_i;
              var _166 = FHEAP[_165];
              var _167 = _166 * _155;
              var _168 = _p+16*_m_112_i+4;
              var _169 = FHEAP[_168];
              var _170 = _169 * _158;
              var _171 = _167 + _170;
              var _172 = _p+16*_m_112_i+8;
              var _173 = FHEAP[_172];
              var _174 = _173 * _162;
              var _175 = _171 + _174;
              var _176 = _164 > _175;
              if (_176) { __lastLabel__ = 132; __label__ = 2429; /* _bb8_i */ break _bb8_i$_bb1_i30$19193; } else { __lastLabel__ = 132; ; }
              __lastLabel__ = 135; ;
            }
          } while(0);
          var _m_0_i = __lastLabel__ == 3579 ? _m_112_i : (__lastLabel__ == 132 ? _150 : (__lastLabel__ == 3581 ? _150 : (_m_112_i)));
          var _177 = _150 + 1;
          var _exitcond = _177 == _count;
          if (_exitcond) { __lastLabel__ = 2429; __label__ = 3580; /* __Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit */ continue _bb_i29$__Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit$19190; } else { __lastLabel__ = 2429; __label__ = 3579; /* _bb_i29 */ continue _bb_i29$__Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit$19190; }
        }
        else if (__label__ == 3580) {
          var _178 = __lastLabel__ == 2429 ? _149 : (_149);
          var _m_1_lcssa_i = __lastLabel__ == 2429 ? _m_0_i : (-1);
          var _179 = _178+4*_m_1_lcssa_i;
          var _180 = IHEAP[_179];
          var _181 = _180 == 3;
          if (_181) { __label__ = 515; /* _bb27 */ break _bb25$19188; } else { __label__ = 0; /* _bb2 */ break _bb_i29$__Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit$19190; }
        }
      }
      var _5 = FHEAP[_2];
      var _6 = _5 * 0;
      var _7 = FHEAP[_3];
      var _8 = _7 * 0;
      var _9 = _6 - _8;
      var _10 = FHEAP[_4];
      var _11 = _10 * 0;
      var _12 = _11 - _5;
      var _13 = _7 - _11;
      var _14 = _5 - _8;
      var _15 = _11 - _6;
      var _16 = _8 - _10;
      var _17 = _13 * _13;
      var _18 = _12 * _12;
      var _19 = _17 + _18;
      var _20 = _9 * _9;
      var _21 = _19 + _20;
      var _22 = _sqrtf(_21);
      var _23 = _16 * _16;
      var _24 = _15 * _15;
      var _25 = _23 + _24;
      var _26 = _14 * _14;
      var _27 = _25 + _26;
      var _28 = _sqrtf(_27);
      var _29 = _22 > _28;
      ;
      if (_29) {
        ;
        var _30 = 1 / _22;
        var _31 = _9 * _30;
        var _32 = _12 * _30;
        var _33 = _13 * _30;
        __lastLabel__ = 131; ;
      }
      else {
        ;
        var _34 = 1 / _28;
        var _35 = _14 * _34;
        var _36 = _15 * _34;
        var _37 = _16 * _34;
        __lastLabel__ = 159; ;
      }
      var _u_0_0_0 = __lastLabel__ == 131 ? _33 : (_37);
      var _u_0_1_0 = __lastLabel__ == 131 ? _32 : (_36);
      var _u_0_2_0 = __lastLabel__ == 131 ? _31 : (_35);
      var _38 = _u_0_0_0 * _7;
      var _39 = _u_0_1_0 * _5;
      var _40 = _38 - _39;
      var _41 = _u_0_2_0 * _5;
      var _42 = _u_0_0_0 * _10;
      var _43 = _41 - _42;
      var _44 = _u_0_1_0 * _10;
      var _45 = _u_0_2_0 * _7;
      var _46 = _44 - _45;
      __lastLabel__ = 3564; ;
      _bb23$19204: while(1) { // _bb23
        var _ma_0 = __lastLabel__ == 3564 ? -1 : (_m_1_lcssa_i59);
        var _x_0 = __lastLabel__ == 3564 ? 0 : (_146);
        var _147 = _x_0 > 360;
        if (_147) { __label__ = 65; /* _bb24 */ break _bb23$19204; }
        var _47 = _x_0 * 0.01745329238474369;
        var _48 = _sinf(_47);
        var _49 = _cosf(_47);
        var _50 = _40 * _49;
        var _51 = _43 * _49;
        var _52 = _46 * _49;
        var _53 = _u_0_2_0 * _48;
        var _54 = _u_0_1_0 * _48;
        var _55 = _u_0_0_0 * _48;
        var _56 = _53 + _50;
        var _57 = _54 + _51;
        var _58 = _55 + _52;
        var _59 = _56 * 0.02500000037252903;
        var _60 = _57 * 0.02500000037252903;
        var _61 = _58 * 0.02500000037252903;
        var _62 = _10 + _59;
        var _63 = _7 + _60;
        var _64 = _5 + _61;
        if (_0) { __lastLabel__ = 116; __label__ = 3565; /* _bb_i52 */  } else { __lastLabel__ = 116; __label__ = 3566; /* __Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit60 */  }
        _bb_i52$__Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit60$19207: while(1) { // _bb_i52,__Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit60
          if (__label__ == 3565) {
            var _65 = __lastLabel__ == 3568 ? _89 : (0);
            var _m_112_i47 = __lastLabel__ == 3568 ? _m_0_i56 : (-1);
            var _scevgep17_i51 = _p+16*_65+8;
            var _scevgep16_i50 = _p+16*_65+4;
            var _scevgep1415_i49 = _p+16*_65;
            var _scevgep_i48 = _178+4*_65;
            var _66 = IHEAP[_scevgep_i48];
            var _67 = _66 == 0;
            ;
            _bb8_i58$_bb1_i53$19210: do { 
              if (_67) {
                __lastLabel__ = 3565; ;
              }
              else {
                __lastLabel__ = 3565; ;
                var _68 = _m_112_i47 == -1;
                if (_68) { __lastLabel__ = 3567; __label__ = 3568; /* _bb8_i58 */ break _bb8_i58$_bb1_i53$19210; } else { __lastLabel__ = 3567; ; }
                var _69 = FHEAP[_scevgep1415_i49];
                var _70 = _69 * _64;
                var _71 = FHEAP[_scevgep16_i50];
                var _72 = _71 * _63;
                var _73 = _70 + _72;
                var _74 = FHEAP[_scevgep17_i51];
                var _75 = _74 * _62;
                var _76 = _73 + _75;
                var _77 = _p+16*_m_112_i47;
                var _78 = FHEAP[_77];
                var _79 = _78 * _64;
                var _80 = _p+16*_m_112_i47+4;
                var _81 = FHEAP[_80];
                var _82 = _81 * _63;
                var _83 = _79 + _82;
                var _84 = _p+16*_m_112_i47+8;
                var _85 = FHEAP[_84];
                var _86 = _85 * _62;
                var _87 = _83 + _86;
                var _88 = _76 > _87;
                if (_88) { __lastLabel__ = 3569; __label__ = 3568; /* _bb8_i58 */ break _bb8_i58$_bb1_i53$19210; } else { __lastLabel__ = 3569; ; }
                __lastLabel__ = 3570; ;
              }
            } while(0);
            var _m_0_i56 = __lastLabel__ == 3565 ? _m_112_i47 : (__lastLabel__ == 3569 ? _65 : (__lastLabel__ == 3567 ? _65 : (_m_112_i47)));
            var _89 = _65 + 1;
            var _exitcond135 = _89 == _count;
            if (_exitcond135) { __lastLabel__ = 3568; __label__ = 3566; /* __Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit60 */ continue _bb_i52$__Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit60$19207; } else { __lastLabel__ = 3568; __label__ = 3565; /* _bb_i52 */ continue _bb_i52$__Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit60$19207; }
          }
          else if (__label__ == 3566) {
            var _m_1_lcssa_i59 = __lastLabel__ == 116 ? -1 : (_m_0_i56);
            var _90 = _ma_0 == _m_1_lcssa_i;
            var _91 = _m_1_lcssa_i59 == _m_1_lcssa_i;
            var _92 = _90 & _91;
            if (_92) { __label__ = 2; /* _bb7 */ break _bb25$19188; } else { __label__ = 148; /* _bb8 */ break _bb_i52$__Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit60$19207; }
          }
        }
        var _94 = _ma_0 != -1;
        var _95 = _ma_0 != _m_1_lcssa_i59;
        var _96 = _94 & _95;
        ;
        _bb12$_bb22$19217: do { 
          if (_96) {
            ;
            var _97 = _x_0 + -40;
            __lastLabel__ = 3; ;
            _bb21$19219: while(1) { // _bb21
              var _mc_0 = __lastLabel__ == 3 ? _ma_0 : (_m_1_lcssa_i44);
              var _xx_0 = __lastLabel__ == 3 ? _97 : (_144);
              var _145 = _xx_0 > _x_0;
              if (_145) { __label__ = 5; /* _bb22 */ break _bb12$_bb22$19217; }
              var _98 = _xx_0 * 0.01745329238474369;
              var _99 = _sinf(_98);
              var _100 = _cosf(_98);
              var _101 = _40 * _100;
              var _102 = _43 * _100;
              var _103 = _46 * _100;
              var _104 = _u_0_2_0 * _99;
              var _105 = _u_0_1_0 * _99;
              var _106 = _u_0_0_0 * _99;
              var _107 = _104 + _101;
              var _108 = _105 + _102;
              var _109 = _106 + _103;
              var _110 = _107 * 0.02500000037252903;
              var _111 = _108 * 0.02500000037252903;
              var _112 = _109 * 0.02500000037252903;
              var _113 = _10 + _110;
              var _114 = _7 + _111;
              var _115 = _5 + _112;
              if (_0) { __lastLabel__ = 108; __label__ = 3572; /* _bb_i37 */  } else { __lastLabel__ = 108; __label__ = 3573; /* __Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit45 */  }
              _bb_i37$__Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit45$19222: while(1) { // _bb_i37,__Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit45
                if (__label__ == 3572) {
                  var _116 = __lastLabel__ == 3575 ? _140 : (0);
                  var _m_112_i32 = __lastLabel__ == 3575 ? _m_0_i41 : (-1);
                  var _scevgep17_i36 = _p+16*_116+8;
                  var _scevgep16_i35 = _p+16*_116+4;
                  var _scevgep1415_i34 = _p+16*_116;
                  var _scevgep_i33 = _178+4*_116;
                  var _117 = IHEAP[_scevgep_i33];
                  var _118 = _117 == 0;
                  ;
                  _bb8_i43$_bb1_i38$19225: do { 
                    if (_118) {
                      __lastLabel__ = 3572; ;
                    }
                    else {
                      __lastLabel__ = 3572; ;
                      var _119 = _m_112_i32 == -1;
                      if (_119) { __lastLabel__ = 3574; __label__ = 3575; /* _bb8_i43 */ break _bb8_i43$_bb1_i38$19225; } else { __lastLabel__ = 3574; ; }
                      var _120 = FHEAP[_scevgep1415_i34];
                      var _121 = _120 * _115;
                      var _122 = FHEAP[_scevgep16_i35];
                      var _123 = _122 * _114;
                      var _124 = _121 + _123;
                      var _125 = FHEAP[_scevgep17_i36];
                      var _126 = _125 * _113;
                      var _127 = _124 + _126;
                      var _128 = _p+16*_m_112_i32;
                      var _129 = FHEAP[_128];
                      var _130 = _129 * _115;
                      var _131 = _p+16*_m_112_i32+4;
                      var _132 = FHEAP[_131];
                      var _133 = _132 * _114;
                      var _134 = _130 + _133;
                      var _135 = _p+16*_m_112_i32+8;
                      var _136 = FHEAP[_135];
                      var _137 = _136 * _113;
                      var _138 = _134 + _137;
                      var _139 = _127 > _138;
                      if (_139) { __lastLabel__ = 3576; __label__ = 3575; /* _bb8_i43 */ break _bb8_i43$_bb1_i38$19225; } else { __lastLabel__ = 3576; ; }
                      __lastLabel__ = 3577; ;
                    }
                  } while(0);
                  var _m_0_i41 = __lastLabel__ == 3572 ? _m_112_i32 : (__lastLabel__ == 3576 ? _116 : (__lastLabel__ == 3574 ? _116 : (_m_112_i32)));
                  var _140 = _116 + 1;
                  var _exitcond129 = _140 == _count;
                  if (_exitcond129) { __lastLabel__ = 3575; __label__ = 3573; /* __Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit45 */ continue _bb_i37$__Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit45$19222; } else { __lastLabel__ = 3575; __label__ = 3572; /* _bb_i37 */ continue _bb_i37$__Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit45$19222; }
                }
                else if (__label__ == 3573) {
                  var _m_1_lcssa_i44 = __lastLabel__ == 108 ? -1 : (_m_0_i41);
                  var _141 = _mc_0 == _m_1_lcssa_i;
                  var _142 = _m_1_lcssa_i44 == _m_1_lcssa_i;
                  var _143 = _141 & _142;
                  if (_143) { __label__ = 64; /* _bb19 */ break _bb25$19188; } else { __label__ = 117; /* _bb20 */ break _bb_i37$__Z14maxdirfilteredI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE_exit45$19222; }
                }
              }
              var _144 = _xx_0 + 5;
              __lastLabel__ = 117; __label__ = 110; /* _bb21 */ continue _bb21$19219;
            }
          }
        } while(0);
        var _146 = _x_0 + 45;
        __lastLabel__ = 5; __label__ = 419; /* _bb23 */ continue _bb23$19204;
      }
      var _148 = _178+4*_m_1_lcssa_i;
      IHEAP[_148] = 0;
      __label__ = 540; /* _bb25 */ continue _bb25$19188;
    }
    if (__label__ == 2) {
      var _93 = _178+4*_m_1_lcssa_i;
      IHEAP[_93] = 3;
      ;
      return _m_1_lcssa_i;
    }
    else if (__label__ == 64) {
      IHEAP[_179] = 3;
      ;
      return _m_1_lcssa_i;
    }
    else if (__label__ == 515) {
      ;
      return _m_1_lcssa_i;
    }
  }
  __Z12maxdirsteridI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE.__index__ = Runtime.getFunctionIndex(__Z12maxdirsteridI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE, "__Z12maxdirsteridI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE");
  
  
  function __ZN11HullLibrary11FindSimplexEP9btVector3iR20btAlignedObjectArrayIiE(_agg_result, _this, _verts, _verts_count, _allow) {
    var __stackBase__  = STACKTOP; STACKTOP += 96;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __stackBase__+16;
    var _2 = __stackBase__+32;
    var _basis = __stackBase__+48;
    var _3 = _basis;
    FHEAP[_3] = 0.009999999776482582;
    var _4 = _basis+4;
    FHEAP[_4] = 0.019999999552965164;
    var _5 = _basis+8;
    FHEAP[_5] = 1;
    var _6 = _basis+12;
    FHEAP[_6] = 0;
    var _7 = _basis;
    var _8 = __Z12maxdirsteridI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE(_verts, _verts_count, _7, _allow);
    var _9 = FHEAP[_5];
    var _10 = 0 - _9;
    var _11 = FHEAP[_4];
    var _12 = 0 - _11;
    var _13 = FHEAP[_3];
    var _14 = 0 - _13;
    var _15 = _2;
    FHEAP[_15] = _14;
    var _16 = _2+4;
    FHEAP[_16] = _12;
    var _17 = _2+8;
    FHEAP[_17] = _10;
    var _18 = _2+12;
    FHEAP[_18] = 0;
    var _19 = __Z12maxdirsteridI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE(_verts, _verts_count, _2, _allow);
    var _20 = _verts+16*_8+8;
    var _21 = FHEAP[_20];
    var _22 = _verts+16*_19+8;
    var _23 = FHEAP[_22];
    var _24 = _21 - _23;
    var _25 = _verts+16*_8+4;
    var _26 = FHEAP[_25];
    var _27 = _verts+16*_19+4;
    var _28 = FHEAP[_27];
    var _29 = _26 - _28;
    var _30 = _verts+16*_8;
    var _31 = FHEAP[_30];
    var _32 = _verts+16*_19;
    var _33 = FHEAP[_32];
    var _34 = _31 - _33;
    FHEAP[_3] = _34;
    FHEAP[_4] = _29;
    FHEAP[_5] = _24;
    FHEAP[_6] = 0;
    var _35 = _8 == _19;
    ;
    _bb8$_bb_i$19239: do { 
      if (!_35) {
        ;
        var _36 = _24 != 0;
        var _37 = _29 != 0;
        var _or_cond84 = _36 | _37;
        var _phitmp = _34 != 0;
        var _or_cond85 = _or_cond84 | _phitmp;
        if (!(_or_cond85)) { __label__ = 148; /* _bb8 */ break _bb8$_bb_i$19239; }
        var _38 = _34 * 0.019999999552965164;
        var _39 = _29 - _38;
        var _40 = _34 * 0;
        var _41 = _40 - _24;
        var _42 = _24 * 0.019999999552965164;
        var _43 = _29 * 0;
        var _44 = _42 - _43;
        var _45 = _basis+16;
        FHEAP[_45] = _44;
        var _46 = _basis+16+4;
        FHEAP[_46] = _41;
        var _47 = _basis+16+8;
        FHEAP[_47] = _39;
        var _48 = _basis+16+12;
        FHEAP[_48] = 0;
        var _49 = _29 * -0.019999999552965164;
        var _50 = _49 - _34;
        var _51 = _24 * -0.019999999552965164;
        var _52 = _40 - _51;
        var _53 = _24 - _43;
        var _54 = _basis+32;
        FHEAP[_54] = _53;
        var _55 = _basis+32+4;
        FHEAP[_55] = _52;
        var _56 = _basis+32+8;
        FHEAP[_56] = _50;
        var _57 = _basis+32+12;
        FHEAP[_57] = 0;
        var _58 = _44 * _44;
        var _59 = _41 * _41;
        var _60 = _58 + _59;
        var _61 = _39 * _39;
        var _62 = _60 + _61;
        var _63 = _sqrtf(_62);
        var _64 = _53 * _53;
        var _65 = _52 * _52;
        var _66 = _64 + _65;
        var _67 = _50 * _50;
        var _68 = _66 + _67;
        var _69 = _sqrtf(_68);
        var _70 = _63 > _69;
        ;
        if (_70) {
          ;
          var _75 = 1 / _63;
          var _76 = _44 * _75;
          FHEAP[_45] = _76;
          var _77 = _41 * _75;
          FHEAP[_46] = _77;
          var _78 = _39 * _75;
          __lastLabel__ = 108; ;
        }
        else {
          ;
          FHEAP[_47] = _50;
          FHEAP[_48] = 0;
          var _79 = 1 / _69;
          var _80 = _53 * _79;
          FHEAP[_45] = _80;
          var _81 = _52 * _79;
          FHEAP[_46] = _81;
          var _82 = _50 * _79;
          __lastLabel__ = 63; ;
        }
        var _storemerge = __lastLabel__ == 63 ? _82 : (_78);
        FHEAP[_47] = _storemerge;
        var _83 = _basis+16;
        var _84 = __Z12maxdirsteridI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE(_verts, _verts_count, _83, _allow);
        var _85 = _84 == _8;
        var _86 = _84 == _19;
        var _87 = _85 | _86;
        ;
        if (_87) {
          __lastLabel__ = 153; ;
          var _88 = FHEAP[_47];
          var _89 = 0 - _88;
          var _90 = FHEAP[_46];
          var _91 = 0 - _90;
          var _92 = FHEAP[_45];
          var _93 = 0 - _92;
          var _94 = _1;
          FHEAP[_94] = _93;
          var _95 = _1+4;
          FHEAP[_95] = _91;
          var _96 = _1+8;
          FHEAP[_96] = _89;
          var _97 = _1+12;
          FHEAP[_97] = 0;
          var _98 = __Z12maxdirsteridI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE(_verts, _verts_count, _1, _allow);
          __lastLabel__ = 64; ;
        }
        else {
          __lastLabel__ = 153; ;
        }
        var _p2_0 = __lastLabel__ == 64 ? _98 : (_84);
        var _99 = _p2_0 == _8;
        var _100 = _p2_0 == _19;
        var _101 = _99 | _100;
        ;
        if (_101) {
          ;
          var _102 = _agg_result;
          IHEAP[_102] = -1;
          var _103 = _agg_result+4;
          IHEAP[_103] = -1;
          var _104 = _agg_result+8;
          IHEAP[_104] = -1;
          var _105 = _agg_result+12;
          IHEAP[_105] = -1;
          STACKTOP = __stackBase__;
          return;
        }
        else {
          ;
          var _106 = _verts+16*_p2_0+8;
          var _107 = FHEAP[_106];
          var _108 = FHEAP[_20];
          var _109 = _107 - _108;
          var _110 = _verts+16*_p2_0+4;
          var _111 = FHEAP[_110];
          var _112 = FHEAP[_25];
          var _113 = _111 - _112;
          var _114 = _verts+16*_p2_0;
          var _115 = FHEAP[_114];
          var _116 = FHEAP[_30];
          var _117 = _115 - _116;
          FHEAP[_45] = _117;
          FHEAP[_46] = _113;
          FHEAP[_47] = _109;
          FHEAP[_48] = 0;
          var _118 = FHEAP[_4];
          var _119 = _117 * _118;
          var _120 = FHEAP[_3];
          var _121 = _113 * _120;
          var _122 = _119 - _121;
          var _123 = _109 * _120;
          var _124 = FHEAP[_5];
          var _125 = _117 * _124;
          var _126 = _123 - _125;
          var _127 = _113 * _124;
          var _128 = _109 * _118;
          var _129 = _127 - _128;
          var _130 = _129 * _129;
          var _131 = _126 * _126;
          var _132 = _130 + _131;
          var _133 = _122 * _122;
          var _134 = _132 + _133;
          var _135 = _sqrtf(_134);
          var _136 = 1 / _135;
          var _137 = _122 * _136;
          var _138 = _126 * _136;
          var _139 = _129 * _136;
          FHEAP[_54] = _139;
          FHEAP[_55] = _138;
          FHEAP[_56] = _137;
          FHEAP[_57] = 0;
          var _140 = _basis+32;
          var _141 = __Z12maxdirsteridI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE(_verts, _verts_count, _140, _allow);
          var _142 = _141 == _8;
          var _143 = _141 == _19;
          var _144 = _142 | _143;
          var _145 = _141 == _p2_0;
          var _or_cond = _144 | _145;
          ;
          if (_or_cond) {
            __lastLabel__ = 540; ;
            var _146 = FHEAP[_56];
            var _147 = 0 - _146;
            var _148 = FHEAP[_55];
            var _149 = 0 - _148;
            var _150 = FHEAP[_54];
            var _151 = 0 - _150;
            var _152 = _0;
            FHEAP[_152] = _151;
            var _153 = _0+4;
            FHEAP[_153] = _149;
            var _154 = _0+8;
            FHEAP[_154] = _147;
            var _155 = _0+12;
            FHEAP[_155] = 0;
            var _156 = __Z12maxdirsteridI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE(_verts, _verts_count, _0, _allow);
            __lastLabel__ = 91; ;
          }
          else {
            __lastLabel__ = 540; ;
          }
          var _p3_0 = __lastLabel__ == 91 ? _156 : (_141);
          var _157 = _p3_0 == _8;
          var _158 = _p3_0 == _19;
          var _159 = _157 | _158;
          var _160 = _p3_0 == _p2_0;
          var _or_cond82 = _159 | _160;
          ;
          if (_or_cond82) {
            ;
            var _161 = _agg_result;
            IHEAP[_161] = -1;
            var _162 = _agg_result+4;
            IHEAP[_162] = -1;
            var _163 = _agg_result+8;
            IHEAP[_163] = -1;
            var _164 = _agg_result+12;
            IHEAP[_164] = -1;
            STACKTOP = __stackBase__;
            return;
          }
          else {
            ;
            var _165 = FHEAP[_106];
            var _166 = FHEAP[_20];
            var _167 = _165 - _166;
            var _168 = FHEAP[_110];
            var _169 = FHEAP[_25];
            var _170 = _168 - _169;
            var _171 = FHEAP[_114];
            var _172 = FHEAP[_30];
            var _173 = _171 - _172;
            var _174 = FHEAP[_22];
            var _175 = _174 - _166;
            var _176 = FHEAP[_27];
            var _177 = _176 - _169;
            var _178 = FHEAP[_32];
            var _179 = _178 - _172;
            var _180 = _179 * _170;
            var _181 = _177 * _173;
            var _182 = _180 - _181;
            var _183 = _175 * _173;
            var _184 = _179 * _167;
            var _185 = _183 - _184;
            var _186 = _177 * _167;
            var _187 = _175 * _170;
            var _188 = _186 - _187;
            var _189 = _verts+16*_p3_0+8;
            var _190 = FHEAP[_189];
            var _191 = _190 - _166;
            var _192 = _verts+16*_p3_0+4;
            var _193 = FHEAP[_192];
            var _194 = _193 - _169;
            var _195 = _verts+16*_p3_0;
            var _196 = FHEAP[_195];
            var _197 = _196 - _172;
            var _198 = _197 * _188;
            var _199 = _194 * _185;
            var _200 = _198 + _199;
            var _201 = _191 * _182;
            var _202 = _200 + _201;
            var _203 = _202 < 0;
            var _p2_1 = _203 ? _p3_0 : _p2_0;
            var _p3_1 = _203 ? _p2_0 : _p3_0;
            var _204 = _agg_result;
            IHEAP[_204] = _8;
            var _205 = _agg_result+4;
            IHEAP[_205] = _19;
            var _206 = _agg_result+8;
            IHEAP[_206] = _p2_1;
            var _207 = _agg_result+12;
            IHEAP[_207] = _p3_1;
            STACKTOP = __stackBase__;
            return;
          }
        }
      }
    } while(0);
    var _71 = _agg_result;
    IHEAP[_71] = -1;
    var _72 = _agg_result+4;
    IHEAP[_72] = -1;
    var _73 = _agg_result+8;
    IHEAP[_73] = -1;
    var _74 = _agg_result+12;
    IHEAP[_74] = -1;
    STACKTOP = __stackBase__;
    return;
  }
  __ZN11HullLibrary11FindSimplexEP9btVector3iR20btAlignedObjectArrayIiE.__index__ = Runtime.getFunctionIndex(__ZN11HullLibrary11FindSimplexEP9btVector3iR20btAlignedObjectArrayIiE, "__ZN11HullLibrary11FindSimplexEP9btVector3iR20btAlignedObjectArrayIiE");
  
  
  function __ZN11HullLibrary11calchullgenEP9btVector3ii(_this, _verts, _verts_count, _vlimit) {
    var __stackBase__  = STACKTOP; STACKTOP += 68;
    var __label__;
    var __lastLabel__ = null;
    var _allow = __stackBase__;
    var _p = __stackBase__+20;
    var _n = __stackBase__+36;
    var _n52 = __stackBase__+52;
    var _0 = _verts_count < 4;
    ;
    if (_0) {
      ;
      STACKTOP = __stackBase__;
      return 0;
    }
    else {
      ;
      var _1 = _vlimit == 0;
      var _2 = _verts;
      var _3 = FHEAP[_2];
      var _4 = _verts+4;
      var _5 = FHEAP[_4];
      var _6 = _verts+8;
      var _7 = FHEAP[_6];
      var _8 = _verts_count << 2;
      var _9 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_8, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 215; __label__ = 4078; /* _bb_i2_i105 */  } else { __lastLabel__ = 215; __label__ = 254; /* _lpad */  };
      _bb_i2_i105$_lpad$19263: do { 
        if (__label__ == 4078) {
          var _phitmp_i = _9;
          var _10 = _allow+16;
          IHEAP[_10] = 1;
          var _11 = _allow+12;
          IHEAP[_11] = 0;
          var _12 = _allow+4;
          IHEAP[_12] = 0;
          var _13 = _allow+8;
          IHEAP[_13] = 0;
          var _14 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_8, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 4078; __label__ = 1924; /* _bb11_preheader */  } else { __lastLabel__ = 4078; __label__ = 4036; /* _lpad85 */  };
          _bb11_preheader$_lpad85$19265: do { 
            if (__label__ == 1924) {
              var _phitmp_i104 = _14;
              IHEAP[_10] = 1;
              IHEAP[_11] = _phitmp_i104;
              IHEAP[_13] = _verts_count;
              __lastLabel__ = 1924; ;
              _bb11$19267: while(1) { // _bb11
                var __pre6_i = __lastLabel__ == 979 ? __pre : (0);
                var _bmin_0_0_1 = __lastLabel__ == 979 ? _bmin_0_0_0 : (_3);
                var _bmin_0_1_1 = __lastLabel__ == 979 ? _bmin_0_1_0 : (_5);
                var _bmin_0_2_1 = __lastLabel__ == 979 ? _bmin_0_2_0 : (_7);
                var _bmax_0_0_1 = __lastLabel__ == 979 ? _bmax_0_0_0 : (_3);
                var _bmax_0_1_1 = __lastLabel__ == 979 ? _bmax_0_1_0 : (_5);
                var _bmax_0_2_1 = __lastLabel__ == 979 ? _bmax_0_2_0 : (_7);
                var _j_0 = __lastLabel__ == 979 ? _49 : (0);
                var _isextreme_2_1 = __lastLabel__ == 979 ? _isextreme_2_0 : (_verts_count);
                var _isextreme_3_1 = __lastLabel__ == 979 ? _isextreme_3_0 : (_phitmp_i);
                var _tmp303 = _j_0 << 1;
                var _scevgep305 = _verts+16*_j_0+8;
                var _scevgep306 = _verts+16*_j_0+4;
                var _scevgep307308 = _verts+16*_j_0;
                var _59 = _j_0 < _verts_count;
                if (!(_59)) { __label__ = 2115; /* _invcont13 */ break _bb11$19267; }
                var _15 = IHEAP[_13];
                var _16 = _15 == __pre6_i;
                ;
                _bb_i126$_bb1_i$19270: do { 
                  if (_16) {
                    ;
                    var _17 = __pre6_i == 0;
                    var _18 = __pre6_i << 1;
                    var _iftmp_190_0_i_i = _17 ? 1 : _18;
                    var _19 = _15 < _iftmp_190_0_i_i;
                    if (!(_19)) { __label__ = 159; /* _bb1_i */ break _bb_i126$_bb1_i$19270; }
                    var _20 = _iftmp_190_0_i_i == 0;
                    ;
                    if (_20) {
                      __lastLabel__ = 3460; ;
                    }
                    else {
                      __lastLabel__ = 3460; ;
                      var _21 = _iftmp_190_0_i_i << 2;
                      var _22 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_21, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 274; ; } else { __lastLabel__ = 274; __label__ = 4036; /* _lpad85 */ break _bb11_preheader$_lpad85$19265; };
                      var _phitmp_i_i = _22;
                      __lastLabel__ = 3586; ;
                    }
                    var _23 = __lastLabel__ == 3586 ? _phitmp_i_i : (0);
                    var _24 = __pre6_i > 0;
                    if (_24) { __lastLabel__ = 2186; __label__ = 277; /* _bb_i4_i_i */  } else { __lastLabel__ = 2186; __label__ = 2187; /* __ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i */  }
                    _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$19277: while(1) { // _bb_i4_i_i,__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i
                      if (__label__ == 277) {
                        var _indvar_i_i_i = __lastLabel__ == 279 ? _indvar_next_i_i_i : (0);
                        var _scevgep_i_i_i = _23+4*_indvar_i_i_i;
                        var _25 = _scevgep_i_i_i == 0;
                        ;
                        if (!_25) {
                          ;
                          var _26 = IHEAP[_11];
                          var _scevgep8_i_i_i = _26+4*_indvar_i_i_i;
                          var _27 = IHEAP[_scevgep8_i_i_i];
                          IHEAP[_scevgep_i_i_i] = _27;
                          ;
                        }
                        var _indvar_next_i_i_i = _indvar_i_i_i + 1;
                        var _exitcond291 = _indvar_next_i_i_i == __pre6_i;
                        if (_exitcond291) { __lastLabel__ = 279; __label__ = 2187; /* __ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$19277; } else { __lastLabel__ = 279; __label__ = 277; /* _bb_i4_i_i */ continue _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$19277; }
                      }
                      else if (__label__ == 2187) {
                        var _28 = IHEAP[_11];
                        var _29 = _28 == 0;
                        if (_29) { __label__ = 2189; /* __ZN20btAlignedObjectArrayIiE10deallocateEv_exit_i_i */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$19277; } else { __label__ = 3589; /* _bb_i_i_i130 */ break _bb_i4_i_i$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$19277; }
                      }
                    }
                    if (__label__ == 3589) {
                      var _30 = IHEAP[_10];
                      var _toBool_i_i_i129 = _30 == 0;
                      ;
                      if (!_toBool_i_i_i129) {
                        ;
                        var _31 = _28;
                        (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_31) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 4034; ; } else { __lastLabel__ = 4034; __label__ = 4036; /* _lpad85 */ break _bb11_preheader$_lpad85$19265; }
                      }
                      IHEAP[_11] = 0;
                      ;
                    }
                    IHEAP[_10] = 1;
                    IHEAP[_11] = _23;
                    IHEAP[_13] = _iftmp_190_0_i_i;
                    ;
                  }
                } while(0);
                var _32 = IHEAP[_11];
                var _33 = _32+4*__pre6_i;
                var _34 = _33 == 0;
                ;
                if (!_34) {
                  ;
                  IHEAP[_33] = 1;
                  ;
                }
                var _35 = __pre6_i + 1;
                IHEAP[_12] = _35;
                var _36 = _isextreme_2_1 == _j_0;
                ;
                _bb_i136$_bb1_i158$19294: do { 
                  if (_36) {
                    __lastLabel__ = 1555; ;
                    var _37 = _j_0 == 0;
                    var _iftmp_190_0_i_i135 = _37 ? 1 : _tmp303;
                    var _38 = _isextreme_2_1 < _iftmp_190_0_i_i135;
                    if (_38) { __lastLabel__ = 3593; ; } else { __lastLabel__ = 3593; __label__ = 3595; /* _bb1_i158 */ break _bb_i136$_bb1_i158$19294; }
                    var _39 = _iftmp_190_0_i_i135 == 0;
                    ;
                    if (_39) {
                      __lastLabel__ = 3594; ;
                    }
                    else {
                      __lastLabel__ = 3594; ;
                      var _40 = _iftmp_190_0_i_i135 << 2;
                      var _41 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_40, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 4079; ; } else { __lastLabel__ = 4079; __label__ = 4036; /* _lpad85 */ break _bb11_preheader$_lpad85$19265; };
                      var _phitmp_i_i138 = _41;
                      __lastLabel__ = 3596; ;
                    }
                    var _42 = __lastLabel__ == 3596 ? _phitmp_i_i138 : (0);
                    var _43 = _j_0 > 0;
                    if (_43) { __lastLabel__ = 3598; __label__ = 3599; /* _bb_i4_i_i145 */  } else { __lastLabel__ = 3598; __label__ = 3600; /* __ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i151 */  }
                    _bb_i4_i_i145$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i151$19301: while(1) { // _bb_i4_i_i145,__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i151
                      if (__label__ == 3599) {
                        var _indvar_i_i_i143 = __lastLabel__ == 3602 ? _indvar_next_i_i_i148 : (0);
                        var _scevgep_i_i_i144 = _42+4*_indvar_i_i_i143;
                        var _44 = _scevgep_i_i_i144 == 0;
                        ;
                        if (!_44) {
                          ;
                          var _scevgep8_i_i_i146 = _isextreme_3_1+4*_indvar_i_i_i143;
                          var _45 = IHEAP[_scevgep8_i_i_i146];
                          IHEAP[_scevgep_i_i_i144] = _45;
                          ;
                        }
                        var _indvar_next_i_i_i148 = _indvar_i_i_i143 + 1;
                        var _exitcond288 = _indvar_next_i_i_i148 == _j_0;
                        if (_exitcond288) { __lastLabel__ = 3602; __label__ = 3600; /* __ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i151 */ continue _bb_i4_i_i145$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i151$19301; } else { __lastLabel__ = 3602; __label__ = 3599; /* _bb_i4_i_i145 */ continue _bb_i4_i_i145$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i151$19301; }
                      }
                      else if (__label__ == 3600) {
                        var _46 = _isextreme_3_1 == 0;
                        if (_46) { __lastLabel__ = 3600; __label__ = 3595; /* _bb1_i158 */ break _bb_i136$_bb1_i158$19294; } else { __lastLabel__ = 3600; __label__ = 3603; /* _bb1_i_i_i154 */ break _bb_i4_i_i145$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i151$19301; }
                      }
                    }
                    var _47 = _isextreme_3_1;
                    (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_47) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3603; ; } else { __lastLabel__ = 3603; __label__ = 4036; /* _lpad85 */ break _bb11_preheader$_lpad85$19265; }
                  }
                  else {
                    __lastLabel__ = 1555; ;
                  }
                } while(0);
                var _isextreme_2_0 = __lastLabel__ == 3593 ? _isextreme_2_1 : (__lastLabel__ == 1555 ? _isextreme_2_1 : (__lastLabel__ == 3603 ? _iftmp_190_0_i_i135 : (_iftmp_190_0_i_i135)));
                var _isextreme_3_0 = __lastLabel__ == 3593 ? _isextreme_3_1 : (__lastLabel__ == 1555 ? _isextreme_3_1 : (__lastLabel__ == 3603 ? _42 : (_42)));
                var _scevgep302 = _isextreme_3_0+4*_j_0;
                var _48 = _scevgep302 == 0;
                ;
                if (_48) {
                  __lastLabel__ = 3595; ;
                }
                else {
                  __lastLabel__ = 3595; ;
                  IHEAP[_scevgep302] = 0;
                  var __pre_pre = IHEAP[_12];
                  __lastLabel__ = 3604; ;
                }
                var __pre = __lastLabel__ == 3604 ? __pre_pre : (_35);
                var _49 = _j_0 + 1;
                var _50 = FHEAP[_scevgep307308];
                var _51 = _50 < _bmin_0_0_1;
                var _bmin_0_0_0 = _51 ? _50 : _bmin_0_0_1;
                var _52 = FHEAP[_scevgep306];
                var _53 = _52 < _bmin_0_1_1;
                var _bmin_0_1_0 = _53 ? _52 : _bmin_0_1_1;
                var _54 = FHEAP[_scevgep305];
                var _55 = _54 < _bmin_0_2_1;
                var _bmin_0_2_0 = _55 ? _54 : _bmin_0_2_1;
                var _56 = _bmax_0_0_1 < _50;
                var _bmax_0_0_0 = _56 ? _50 : _bmax_0_0_1;
                var _57 = _bmax_0_1_1 < _52;
                var _bmax_0_1_0 = _57 ? _52 : _bmax_0_1_1;
                var _58 = _bmax_0_2_1 < _54;
                var _bmax_0_2_0 = _58 ? _54 : _bmax_0_2_1;
                __lastLabel__ = 979; __label__ = 292; /* _bb11 */ continue _bb11$19267;
              }
              var _60 = _bmax_0_2_1 - _bmin_0_2_1;
              var _61 = _bmax_0_1_1 - _bmin_0_1_1;
              var _62 = _bmax_0_0_1 - _bmin_0_0_1;
              var _63 = _62 * _62;
              var _64 = _61 * _61;
              var _65 = _63 + _64;
              var _66 = _60 * _60;
              var _67 = _65 + _66;
              var _68 = _sqrtf(_67);
              var _69 = _68 * 0.0010000000474974513;
              __ZN11HullLibrary11FindSimplexEP9btVector3iR20btAlignedObjectArrayIiE(_p, _this, _verts, _verts_count, _allow);
              var _70 = _p;
              var _71 = IHEAP[_70];
              var _72 = _71 == -1;
              ;
              _bb73$_bb15$19314: do { 
                if (_72) {
                  __lastLabel__ = 2115; ;
                }
                else {
                  __lastLabel__ = 2115; ;
                  var _73 = _70+12;
                  var _74 = IHEAP[_73];
                  var _75 = _70+8;
                  var _76 = IHEAP[_75];
                  var _77 = _70+4;
                  var _78 = IHEAP[_77];
                  var _79 = _verts+16*_71+8;
                  var _80 = FHEAP[_79];
                  var _81 = _verts+16*_78+8;
                  var _82 = FHEAP[_81];
                  var _83 = _80 + _82;
                  var _84 = _verts+16*_71+4;
                  var _85 = FHEAP[_84];
                  var _86 = _verts+16*_78+4;
                  var _87 = FHEAP[_86];
                  var _88 = _85 + _87;
                  var _89 = _verts+16*_71;
                  var _90 = FHEAP[_89];
                  var _91 = _verts+16*_78;
                  var _92 = FHEAP[_91];
                  var _93 = _90 + _92;
                  var _94 = _verts+16*_76+8;
                  var _95 = FHEAP[_94];
                  var _96 = _83 + _95;
                  var _97 = _verts+16*_76+4;
                  var _98 = FHEAP[_97];
                  var _99 = _88 + _98;
                  var _100 = _verts+16*_76;
                  var _101 = FHEAP[_100];
                  var _102 = _93 + _101;
                  var _103 = _verts+16*_74+8;
                  var _104 = FHEAP[_103];
                  var _105 = _96 + _104;
                  var _106 = _verts+16*_74+4;
                  var _107 = FHEAP[_106];
                  var _108 = _99 + _107;
                  var _109 = _verts+16*_74;
                  var _110 = FHEAP[_109];
                  var _111 = _102 + _110;
                  var _112 = _105 * 0.25;
                  var _113 = _108 * 0.25;
                  var _114 = _111 * 0.25;
                  var _115 = (function() { try { __THREW__ = false; return __ZN11HullLibrary16allocateTriangleEiii(_this, _76, _74, _78) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 153; ; } else { __lastLabel__ = 153; __label__ = 4036; /* _lpad85 */ break _bb11_preheader$_lpad85$19265; };
                  var _116 = _115+12;
                  IHEAP[_116] = 2;
                  var _117 = _115+12+4;
                  IHEAP[_117] = 3;
                  var _118 = _115+12+8;
                  IHEAP[_118] = 1;
                  var _119 = (function() { try { __THREW__ = false; return __ZN11HullLibrary16allocateTriangleEiii(_this, _74, _76, _71) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 2533; ; } else { __lastLabel__ = 2533; __label__ = 4036; /* _lpad85 */ break _bb11_preheader$_lpad85$19265; };
                  var _120 = _119+12;
                  IHEAP[_120] = 3;
                  var _121 = _119+12+4;
                  IHEAP[_121] = 2;
                  var _122 = _119+12+8;
                  IHEAP[_122] = 0;
                  var _123 = (function() { try { __THREW__ = false; return __ZN11HullLibrary16allocateTriangleEiii(_this, _71, _78, _74) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 604; ; } else { __lastLabel__ = 604; __label__ = 4036; /* _lpad85 */ break _bb11_preheader$_lpad85$19265; };
                  var _124 = _123+12;
                  IHEAP[_124] = 0;
                  var _125 = _123+12+4;
                  IHEAP[_125] = 1;
                  var _126 = _123+12+8;
                  IHEAP[_126] = 3;
                  var _127 = (function() { try { __THREW__ = false; return __ZN11HullLibrary16allocateTriangleEiii(_this, _78, _71, _76) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3719; ; } else { __lastLabel__ = 3719; __label__ = 4036; /* _lpad85 */ break _bb11_preheader$_lpad85$19265; };
                  var _128 = _127+12;
                  IHEAP[_128] = 1;
                  var _129 = _127+12+4;
                  IHEAP[_129] = 0;
                  var _130 = _127+12+8;
                  IHEAP[_130] = 2;
                  var _131 = _isextreme_3_1+4*_71;
                  var _132 = _isextreme_3_1+4*_78;
                  var _133 = _isextreme_3_1+4*_76;
                  var _134 = _isextreme_3_1+4*_74;
                  IHEAP[_134] = 1;
                  IHEAP[_133] = 1;
                  IHEAP[_132] = 1;
                  IHEAP[_131] = 1;
                  var _135 = _this+4;
                  var _136 = IHEAP[_135];
                  var _137 = _136 > 0;
                  ;
                  _bb_nph$_bb23$19320: do { 
                    if (_137) {
                      ;
                      var _138 = _this+12;
                      var _139 = _n;
                      var _140 = _n+4;
                      var _141 = _n+8;
                      var _142 = _n+12;
                      __lastLabel__ = 130; ;
                      _bb20$19322: while(1) { // _bb20
                        var _j_1260 = __lastLabel__ == 130 ? 0 : (_tmp287);
                        var _tmp287 = _j_1260 + 1;
                        var _143 = IHEAP[_138];
                        var _scevgep286 = _143+4*_j_1260;
                        var _144 = IHEAP[_scevgep286];
                        var _145 = _144;
                        var _146 = _145+8;
                        var _147 = IHEAP[_146];
                        var _148 = _145+4;
                        var _149 = IHEAP[_148];
                        var _150 = IHEAP[_145];
                        var _151 = _verts+16*_147+8;
                        var _152 = FHEAP[_151];
                        var _153 = _verts+16*_149+8;
                        var _154 = FHEAP[_153];
                        var _155 = _152 - _154;
                        var _156 = _verts+16*_147+4;
                        var _157 = FHEAP[_156];
                        var _158 = _verts+16*_149+4;
                        var _159 = FHEAP[_158];
                        var _160 = _157 - _159;
                        var _161 = _verts+16*_147;
                        var _162 = FHEAP[_161];
                        var _163 = _verts+16*_149;
                        var _164 = FHEAP[_163];
                        var _165 = _162 - _164;
                        var _166 = _verts+16*_150+8;
                        var _167 = FHEAP[_166];
                        var _168 = _154 - _167;
                        var _169 = _verts+16*_150+4;
                        var _170 = FHEAP[_169];
                        var _171 = _159 - _170;
                        var _172 = _verts+16*_150;
                        var _173 = FHEAP[_172];
                        var _174 = _164 - _173;
                        var _175 = _174 * _160;
                        var _176 = _171 * _165;
                        var _177 = _175 - _176;
                        var _178 = _168 * _165;
                        var _179 = _174 * _155;
                        var _180 = _178 - _179;
                        var _181 = _171 * _155;
                        var _182 = _168 * _160;
                        var _183 = _181 - _182;
                        var _184 = _183 * _183;
                        var _185 = _180 * _180;
                        var _186 = _184 + _185;
                        var _187 = _177 * _177;
                        var _188 = _186 + _187;
                        var _189 = _sqrtf(_188);
                        var _190 = _189 == 0;
                        ;
                        if (_190) {
                          __lastLabel__ = 117; ;
                        }
                        else {
                          __lastLabel__ = 117; ;
                          var _191 = 1 / _189;
                          var _192 = _177 * _191;
                          var _193 = _180 * _191;
                          var _194 = _183 * _191;
                          __lastLabel__ = 3606; ;
                        }
                        var _storemerge320 = __lastLabel__ == 3606 ? _194 : (1);
                        var _storemerge319 = __lastLabel__ == 3606 ? _193 : (0);
                        var _storemerge316 = __lastLabel__ == 3606 ? _192 : (0);
                        FHEAP[_139] = _storemerge320;
                        FHEAP[_140] = _storemerge319;
                        FHEAP[_141] = _storemerge316;
                        FHEAP[_142] = 0;
                        var _195 = __Z12maxdirsteridI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE(_verts, _verts_count, _n, _allow);
                        var _196 = _144+28;
                        IHEAP[_196] = _195;
                        var _197 = IHEAP[_145];
                        var _198 = _verts+16*_195+8;
                        var _199 = FHEAP[_198];
                        var _200 = _verts+16*_197+8;
                        var _201 = FHEAP[_200];
                        var _202 = _199 - _201;
                        var _203 = _verts+16*_195+4;
                        var _204 = FHEAP[_203];
                        var _205 = _verts+16*_197+4;
                        var _206 = FHEAP[_205];
                        var _207 = _204 - _206;
                        var _208 = _verts+16*_195;
                        var _209 = FHEAP[_208];
                        var _210 = _verts+16*_197;
                        var _211 = FHEAP[_210];
                        var _212 = _209 - _211;
                        var _213 = FHEAP[_139];
                        var _214 = _213 * _212;
                        var _215 = FHEAP[_140];
                        var _216 = _215 * _207;
                        var _217 = _214 + _216;
                        var _218 = FHEAP[_141];
                        var _219 = _218 * _202;
                        var _220 = _217 + _219;
                        var _221 = _144+32;
                        FHEAP[_221] = _220;
                        var _222 = IHEAP[_135];
                        var _223 = _222 > _tmp287;
                        if (_223) { __lastLabel__ = 2957; __label__ = 117; /* _bb20 */ continue _bb20$19322; } else { __lastLabel__ = 2957; __label__ = 419; /* _bb23 */ break _bb_nph$_bb23$19320; }
                      }
                    }
                  } while(0);
                  var _vlimit_op = _vlimit + -4;
                  var _224 = _1 ? 999999996 : _vlimit_op;
                  var _225 = _this+12;
                  var _226 = _69 * 0.009999999776482582;
                  var _227 = _69 * _69;
                  var _228 = _227 * 0.10000000149011612;
                  var _229 = _n52;
                  var _230 = _n52+4;
                  var _231 = _n52+8;
                  var _232 = _n52+12;
                  __lastLabel__ = 419; ;
                  _bb62$19328: while(1) { // _bb62
                    var _indvar282 = __lastLabel__ == 482 ? _indvar_next283 : (0);
                    var _vlimit_addr_1 = _224 - _indvar282;
                    var _470 = _vlimit_addr_1 < 1;
                    if (_470) { __lastLabel__ = 1027; __label__ = 12; /* _bb73 */ break _bb73$_bb15$19314; } else { __lastLabel__ = 1027; ; }
                    var _471 = IHEAP[_135];
                    var _472 = _471 > 0;
                    ;
                    _bb_nph_i$_invcont64$19331: do { 
                      if (_472) {
                        __lastLabel__ = 1028; ;
                        var _tmp = _471 > 1;
                        var _smax = _tmp ? _471 : 1;
                        __lastLabel__ = 418; ;
                        _bb_i187$19333: while(1) { // _bb_i187
                          var _t_116_i = __lastLabel__ == 418 ? 0 : (_t_0_i);
                          var _i_015_i = __lastLabel__ == 418 ? 0 : (_484);
                          var _473 = _t_116_i == 0;
                          ;
                          _bb6_i$_bb1_i188$19335: do { 
                            if (_473) {
                              __label__ = 136; /* _bb6_i */ 
                            }
                            else {
                              ;
                              var _474 = IHEAP[_225];
                              var _scevgep_i = _474+4*_i_015_i;
                              var _475 = IHEAP[_scevgep_i];
                              var _476 = _475 == 0;
                              if (_476) { __lastLabel__ = 3622; __label__ = 137; /* _bb7_i */ break _bb6_i$_bb1_i188$19335; } else { __lastLabel__ = 3622; ; }
                              var _477 = _t_116_i+32;
                              var _478 = FHEAP[_477];
                              var _479 = _475+32;
                              var _480 = FHEAP[_479];
                              var _481 = _478 < _480;
                              if (_481) { __lastLabel__ = 3623; __label__ = 136; /* _bb6_i */ break _bb6_i$_bb1_i188$19335; } else { __lastLabel__ = 3623; __label__ = 137; /* _bb7_i */ break _bb6_i$_bb1_i188$19335; }
                            }
                          } while(0);
                          if (__label__ == 136) {
                            var _482 = IHEAP[_225];
                            var _scevgep17_i = _482+4*_i_015_i;
                            var _483 = IHEAP[_scevgep17_i];
                            __lastLabel__ = 136; ;
                          }
                          var _t_0_i = __lastLabel__ == 136 ? _483 : (__lastLabel__ == 3623 ? _t_116_i : (_t_116_i));
                          var _484 = _i_015_i + 1;
                          var _exitcond = _484 == _smax;
                          if (_exitcond) { __lastLabel__ = 137; __label__ = 3625; /* _invcont64 */ break _bb_nph_i$_invcont64$19331; } else { __lastLabel__ = 137; __label__ = 3621; /* _bb_i187 */ continue _bb_i187$19333; }
                        }
                      }
                      else {
                        __lastLabel__ = 1028; ;
                      }
                    } while(0);
                    var _t_1_lcssa_i = __lastLabel__ == 1028 ? 0 : (_t_0_i);
                    var _485 = _t_1_lcssa_i+32;
                    var _486 = FHEAP[_485];
                    var _487 = _486 > _69;
                    var _iftmp_70_0_i = _487 ? _t_1_lcssa_i : 0;
                    var _488 = _iftmp_70_0_i == 0;
                    if (_488) { __lastLabel__ = 3625; __label__ = 12; /* _bb73 */ break _bb73$_bb15$19314; } else { __lastLabel__ = 3625; ; }
                    var _233 = _iftmp_70_0_i+28;
                    var _234 = IHEAP[_233];
                    var _235 = _isextreme_3_1+4*_234;
                    IHEAP[_235] = 1;
                    var _236 = IHEAP[_135];
                    var _237 = _verts+16*_234+8;
                    var _238 = _verts+16*_234+4;
                    var _239 = _verts+16*_234;
                    var _tmp272 = _236 + -1;
                    __lastLabel__ = 65; ;
                    _bb32$19343: while(1) { // _bb32
                      var _indvar = __lastLabel__ == 3608 ? _indvar_next : (0);
                      var _tmp273 = _tmp272 - _indvar;
                      var _305 = _tmp273 == -1;
                      if (_305) { __label__ = 250; /* _bb34 */ break _bb32$19343; }
                      var _240 = IHEAP[_225];
                      var _scevgep = _240+4*_tmp273;
                      var _241 = IHEAP[_scevgep];
                      var _242 = _241 == 0;
                      ;
                      _bb32_backedge$_bb28$19346: do { 
                        if (!_242) {
                          ;
                          var _243 = _241;
                          var _244 = IHEAP[_243];
                          var _245 = _241+4;
                          var _246 = IHEAP[_245];
                          var _247 = _241+8;
                          var _248 = IHEAP[_247];
                          var _249 = _verts+16*_248+8;
                          var _250 = FHEAP[_249];
                          var _251 = _verts+16*_246+8;
                          var _252 = FHEAP[_251];
                          var _253 = _250 - _252;
                          var _254 = _verts+16*_248+4;
                          var _255 = FHEAP[_254];
                          var _256 = _verts+16*_246+4;
                          var _257 = FHEAP[_256];
                          var _258 = _255 - _257;
                          var _259 = _verts+16*_248;
                          var _260 = FHEAP[_259];
                          var _261 = _verts+16*_246;
                          var _262 = FHEAP[_261];
                          var _263 = _260 - _262;
                          var _264 = _verts+16*_244+8;
                          var _265 = FHEAP[_264];
                          var _266 = _252 - _265;
                          var _267 = _verts+16*_244+4;
                          var _268 = FHEAP[_267];
                          var _269 = _257 - _268;
                          var _270 = _verts+16*_244;
                          var _271 = FHEAP[_270];
                          var _272 = _262 - _271;
                          var _273 = _272 * _258;
                          var _274 = _269 * _263;
                          var _275 = _273 - _274;
                          var _276 = _266 * _263;
                          var _277 = _272 * _253;
                          var _278 = _276 - _277;
                          var _279 = _269 * _253;
                          var _280 = _266 * _258;
                          var _281 = _279 - _280;
                          var _282 = _281 * _281;
                          var _283 = _278 * _278;
                          var _284 = _282 + _283;
                          var _285 = _275 * _275;
                          var _286 = _284 + _285;
                          var _287 = _sqrtf(_286);
                          var _288 = _287 == 0;
                          ;
                          if (_288) {
                            __lastLabel__ = 66; ;
                          }
                          else {
                            __lastLabel__ = 66; ;
                            var _289 = 1 / _287;
                            var _290 = _275 * _289;
                            var _291 = _278 * _289;
                            var _292 = _281 * _289;
                            __lastLabel__ = 3609; ;
                          }
                          var _n_0_0_0_i197 = __lastLabel__ == 3609 ? _292 : (1);
                          var _n_0_1_0_i198 = __lastLabel__ == 3609 ? _291 : (0);
                          var _n_0_2_0_i199 = __lastLabel__ == 3609 ? _290 : (0);
                          var _293 = FHEAP[_237];
                          var _294 = _293 - _265;
                          var _295 = FHEAP[_238];
                          var _296 = _295 - _268;
                          var _297 = FHEAP[_239];
                          var _298 = _297 - _271;
                          var _299 = _n_0_0_0_i197 * _298;
                          var _300 = _n_0_1_0_i198 * _296;
                          var _301 = _299 + _300;
                          var _302 = _n_0_2_0_i199 * _294;
                          var _303 = _301 + _302;
                          var _304 = _303 > _226;
                          if (!(_304)) { __label__ = 3608; /* _bb32_backedge */ break _bb32_backedge$_bb28$19346; }
                          (function() { try { __THREW__ = false; return __ZN11HullLibrary7extrudeEP14btHullTrianglei(_this, _241, _234) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 90; ; } else { __lastLabel__ = 90; __label__ = 4036; /* _lpad85 */ break _bb11_preheader$_lpad85$19265; }
                        }
                      } while(0);
                      var _indvar_next = _indvar + 1;
                      __lastLabel__ = 3608; __label__ = 91; /* _bb32 */ continue _bb32$19343;
                    }
                    var _306 = IHEAP[_135];
                    __lastLabel__ = 250; ;
                    _bb47$19354: while(1) { // _bb47
                      var _381 = __lastLabel__ == 250 ? _306 : (__lastLabel__ == 518 ? _381 : (__lastLabel__ == 1232 ? _380 : (_381)));
                      var _j_3 = __lastLabel__ == 250 ? _306 : (__lastLabel__ == 518 ? _382 : (__lastLabel__ == 1232 ? _380 : (_382)));
                      var _382 = _j_3 + -1;
                      var _383 = _382 == -1;
                      if (_383) { __label__ = 1019; /* _bb49 */ break _bb47$19354; }
                      var _307 = IHEAP[_225];
                      var _308 = _307+4*_382;
                      var _309 = IHEAP[_308];
                      var _310 = _309 == 0;
                      if (_310) { __lastLabel__ = 518; __label__ = 973; /* _bb47 */ continue _bb47$19354; } else { __lastLabel__ = 518; ; }
                      var _311 = _309;
                      var _312 = IHEAP[_311];
                      var _313 = _312 == _234;
                      ;
                      _bb37_bb39_crit_edge$_bb_i194$19358: do { 
                        if (_313) {
                          ;
                          var __phi_trans_insert = _309+4;
                          var __pre315 = IHEAP[__phi_trans_insert];
                          __lastLabel__ = 3611; ;
                        }
                        else {
                          ;
                          var _314 = _311+4;
                          var _315 = IHEAP[_314];
                          var _316 = _315 == _234;
                          if (_316) { __lastLabel__ = 3613; __label__ = 971; /* _bb39 */ break _bb37_bb39_crit_edge$_bb_i194$19358; } else { __lastLabel__ = 3613; ; }
                          var _317 = _311+8;
                          var _318 = IHEAP[_317];
                          var _phitmp = _318 == _234;
                          if (_phitmp) { __lastLabel__ = 3543; ; } else { __lastLabel__ = 3543; __label__ = 1019; /* _bb49 */ break _bb47$19354; }
                        }
                      } while(0);
                      var _319 = __lastLabel__ == 3611 ? __pre315 : (__lastLabel__ == 3543 ? _315 : (_315));
                      var _320 = _309+8;
                      var _321 = IHEAP[_320];
                      var _322 = _verts+16*_321+8;
                      var _323 = FHEAP[_322];
                      var _324 = _verts+16*_319+8;
                      var _325 = FHEAP[_324];
                      var _326 = _323 - _325;
                      var _327 = _verts+16*_321+4;
                      var _328 = FHEAP[_327];
                      var _329 = _verts+16*_319+4;
                      var _330 = FHEAP[_329];
                      var _331 = _328 - _330;
                      var _332 = _verts+16*_321;
                      var _333 = FHEAP[_332];
                      var _334 = _verts+16*_319;
                      var _335 = FHEAP[_334];
                      var _336 = _333 - _335;
                      var _337 = _verts+16*_312+8;
                      var _338 = FHEAP[_337];
                      var _339 = _325 - _338;
                      var _340 = _verts+16*_312+4;
                      var _341 = FHEAP[_340];
                      var _342 = _330 - _341;
                      var _343 = _verts+16*_312;
                      var _344 = FHEAP[_343];
                      var _345 = _335 - _344;
                      var _346 = _345 * _331;
                      var _347 = _342 * _336;
                      var _348 = _346 - _347;
                      var _349 = _339 * _336;
                      var _350 = _345 * _326;
                      var _351 = _349 - _350;
                      var _352 = _342 * _326;
                      var _353 = _339 * _331;
                      var _354 = _352 - _353;
                      var _355 = _354 * _354;
                      var _356 = _351 * _351;
                      var _357 = _355 + _356;
                      var _358 = _348 * _348;
                      var _359 = _357 + _358;
                      var _360 = _sqrtf(_359);
                      var _361 = _360 == 0;
                      ;
                      if (_361) {
                        __lastLabel__ = 971; ;
                      }
                      else {
                        __lastLabel__ = 971; ;
                        var _362 = 1 / _360;
                        var _363 = _348 * _362;
                        var _364 = _351 * _362;
                        var _365 = _354 * _362;
                        __lastLabel__ = 3614; ;
                      }
                      var _n_0_0_0_i = __lastLabel__ == 3614 ? _365 : (1);
                      var _n_0_1_0_i = __lastLabel__ == 3614 ? _364 : (0);
                      var _n_0_2_0_i = __lastLabel__ == 3614 ? _363 : (0);
                      var _366 = _112 - _338;
                      var _367 = _113 - _341;
                      var _368 = _114 - _344;
                      var _369 = _n_0_0_0_i * _368;
                      var _370 = _n_0_1_0_i * _367;
                      var _371 = _369 + _370;
                      var _372 = _n_0_2_0_i * _366;
                      var _373 = _371 + _372;
                      var _374 = _373 > _226;
                      var _375 = _360 < _228;
                      var _or_cond = _374 | _375;
                      if (_or_cond) { __lastLabel__ = 3616; ; } else { __lastLabel__ = 3616; __label__ = 973; /* _bb47 */ continue _bb47$19354; }
                      var _376 = _309+12;
                      var _377 = IHEAP[_376];
                      var _378 = _307+4*_377;
                      var _379 = IHEAP[_378];
                      (function() { try { __THREW__ = false; return __ZN11HullLibrary7extrudeEP14btHullTrianglei(_this, _379, _234) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 95; ; } else { __lastLabel__ = 95; __label__ = 4036; /* _lpad85 */ break _bb11_preheader$_lpad85$19265; }
                      var _380 = IHEAP[_135];
                      __lastLabel__ = 1232; __label__ = 973; /* _bb47 */ continue _bb47$19354;
                    }
                    var _tmp279 = _381 + -1;
                    __lastLabel__ = 1019; ;
                    _bb59$19369: while(1) { // _bb59
                      var _indvar276 = __lastLabel__ == 3617 ? _indvar_next277 : (0);
                      var _tmp280 = _tmp279 - _indvar276;
                      var _469 = _tmp280 == -1;
                      if (_469) { __label__ = 482; /* _bb61 */ break _bb59$19369; }
                      var _384 = IHEAP[_225];
                      var _scevgep281 = _384+4*_tmp280;
                      var _385 = IHEAP[_scevgep281];
                      var _386 = _385 == 0;
                      ;
                      if (!_386) {
                        ;
                        var _387 = _385+28;
                        var _388 = IHEAP[_387];
                        var _389 = _388 > -1;
                        if (_389) { __label__ = 482; /* _bb61 */ break _bb59$19369; }
                        var _390 = _385;
                        var _391 = _390+8;
                        var _392 = IHEAP[_391];
                        var _393 = _390+4;
                        var _394 = IHEAP[_393];
                        var _395 = IHEAP[_390];
                        var _396 = _verts+16*_392+8;
                        var _397 = FHEAP[_396];
                        var _398 = _verts+16*_394+8;
                        var _399 = FHEAP[_398];
                        var _400 = _397 - _399;
                        var _401 = _verts+16*_392+4;
                        var _402 = FHEAP[_401];
                        var _403 = _verts+16*_394+4;
                        var _404 = FHEAP[_403];
                        var _405 = _402 - _404;
                        var _406 = _verts+16*_392;
                        var _407 = FHEAP[_406];
                        var _408 = _verts+16*_394;
                        var _409 = FHEAP[_408];
                        var _410 = _407 - _409;
                        var _411 = _verts+16*_395+8;
                        var _412 = FHEAP[_411];
                        var _413 = _399 - _412;
                        var _414 = _verts+16*_395+4;
                        var _415 = FHEAP[_414];
                        var _416 = _404 - _415;
                        var _417 = _verts+16*_395;
                        var _418 = FHEAP[_417];
                        var _419 = _409 - _418;
                        var _420 = _419 * _405;
                        var _421 = _416 * _410;
                        var _422 = _420 - _421;
                        var _423 = _413 * _410;
                        var _424 = _419 * _400;
                        var _425 = _423 - _424;
                        var _426 = _416 * _400;
                        var _427 = _413 * _405;
                        var _428 = _426 - _427;
                        var _429 = _428 * _428;
                        var _430 = _425 * _425;
                        var _431 = _429 + _430;
                        var _432 = _422 * _422;
                        var _433 = _431 + _432;
                        var _434 = _sqrtf(_433);
                        var _435 = _434 == 0;
                        ;
                        if (_435) {
                          __lastLabel__ = 1021; ;
                        }
                        else {
                          __lastLabel__ = 1021; ;
                          var _436 = 1 / _434;
                          var _437 = _422 * _436;
                          var _438 = _425 * _436;
                          var _439 = _428 * _436;
                          __lastLabel__ = 3618; ;
                        }
                        var _storemerge318 = __lastLabel__ == 3618 ? _439 : (1);
                        var _storemerge317 = __lastLabel__ == 3618 ? _438 : (0);
                        var _storemerge = __lastLabel__ == 3618 ? _437 : (0);
                        FHEAP[_229] = _storemerge318;
                        FHEAP[_230] = _storemerge317;
                        FHEAP[_231] = _storemerge;
                        FHEAP[_232] = 0;
                        var _440 = __Z12maxdirsteridI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE(_verts, _verts_count, _n52, _allow);
                        IHEAP[_387] = _440;
                        var _441 = _isextreme_3_1+4*_440;
                        var _442 = IHEAP[_441];
                        var _443 = _442 == 0;
                        ;
                        if (_443) {
                          ;
                          var _444 = IHEAP[_390];
                          var _445 = _verts+16*_440+8;
                          var _446 = FHEAP[_445];
                          var _447 = _verts+16*_444+8;
                          var _448 = FHEAP[_447];
                          var _449 = _446 - _448;
                          var _450 = _verts+16*_440+4;
                          var _451 = FHEAP[_450];
                          var _452 = _verts+16*_444+4;
                          var _453 = FHEAP[_452];
                          var _454 = _451 - _453;
                          var _455 = _verts+16*_440;
                          var _456 = FHEAP[_455];
                          var _457 = _verts+16*_444;
                          var _458 = FHEAP[_457];
                          var _459 = _456 - _458;
                          var _460 = FHEAP[_229];
                          var _461 = _460 * _459;
                          var _462 = FHEAP[_230];
                          var _463 = _462 * _454;
                          var _464 = _461 + _463;
                          var _465 = FHEAP[_231];
                          var _466 = _465 * _449;
                          var _467 = _464 + _466;
                          var _468 = _385+32;
                          FHEAP[_468] = _467;
                          ;
                        }
                        else {
                          ;
                          IHEAP[_387] = -1;
                          ;
                        }
                      }
                      var _indvar_next277 = _indvar276 + 1;
                      __lastLabel__ = 3617; __label__ = 1024; /* _bb59 */ continue _bb59$19369;
                    }
                    var _indvar_next283 = _indvar282 + 1;
                    __lastLabel__ = 482; __label__ = 1027; /* _bb62 */ continue _bb62$19328;
                  }
                }
              } while(0);
              var __1 = __lastLabel__ == 2115 ? 0 : (__lastLabel__ == 1027 ? 1 : (1));
              var _489 = IHEAP[_11];
              var _490 = _489 == 0;
              ;
              if (!_490) {
                ;
                var _491 = IHEAP[_10];
                var _toBool_i_i_i181 = _491 == 0;
                ;
                if (!_toBool_i_i_i181) {
                  ;
                  var _492 = _489;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_492) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 4039; ; } else { __lastLabel__ = 4039; __label__ = 254; /* _lpad */ break _bb_i2_i105$_lpad$19263; }
                }
                IHEAP[_11] = 0;
                ;
              }
              IHEAP[_10] = 1;
              IHEAP[_11] = 0;
              IHEAP[_12] = 0;
              IHEAP[_13] = 0;
              var _493 = _isextreme_3_1 == 0;
              ;
              if (_493) {
                ;
                STACKTOP = __stackBase__;
                return __1;
              }
              else {
                ;
                var _494 = _isextreme_3_1;
                __Z21btAlignedFreeInternalPv(_494);
                STACKTOP = __stackBase__;
                return __1;
              }
            }
          } while(0);
          var _isextreme_3_3 = __lastLabel__ == 3719 ? _isextreme_3_1 : (__lastLabel__ == 604 ? _isextreme_3_1 : (__lastLabel__ == 2533 ? _isextreme_3_1 : (__lastLabel__ == 153 ? _isextreme_3_1 : (__lastLabel__ == 4078 ? _phitmp_i : (__lastLabel__ == 90 ? _isextreme_3_1 : (__lastLabel__ == 95 ? _isextreme_3_1 : (__lastLabel__ == 274 ? _isextreme_3_1 : (__lastLabel__ == 4034 ? _isextreme_3_1 : (__lastLabel__ == 4079 ? _isextreme_3_1 : (_isextreme_3_1))))))))));
          var _eh_ptr86 = _llvm_eh_exception();
          var _eh_select88 = _llvm_eh_selector(_eh_ptr86, ___gxx_personality_v0, 0);
          var _495 = IHEAP[_11];
          var _496 = _495 == 0;
          ;
          if (!_496) {
            ;
            var _497 = IHEAP[_10];
            var _toBool_i_i_i170 = _497 == 0;
            ;
            _bb2_i_i_i173$_bb1_i_i_i172$19396: do { 
              if (!_toBool_i_i_i170) {
                ;
                var _498 = _495;
                (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_498) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4041; /* _bb2_i_i_i173 */ break _bb2_i_i_i173$_bb1_i_i_i172$19396; } else { ; }
                var _eh_ptr90 = _llvm_eh_exception();
                var _eh_select92 = _llvm_eh_selector(_eh_ptr90, ___gxx_personality_v0, 1);
                __ZSt9terminatev();
                // unreachable
              }
            } while(0);
            IHEAP[_11] = 0;
            ;
          }
          IHEAP[_10] = 1;
          IHEAP[_11] = 0;
          IHEAP[_12] = 0;
          IHEAP[_13] = 0;
          __lastLabel__ = 3629; __label__ = 45; /* _ppad */ break _bb_i2_i105$_lpad$19263;
        }
      } while(0);
      if (__label__ == 254) {
        var _isextreme_3_2 = __lastLabel__ == 4039 ? _isextreme_3_1 : (0);
        var _eh_ptr = _llvm_eh_exception();
        var _eh_select84 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
        __lastLabel__ = 254; ;
      }
      var _isextreme_3_4 = __lastLabel__ == 3629 ? _isextreme_3_3 : (_isextreme_3_2);
      var _eh_exception_0 = __lastLabel__ == 3629 ? _eh_ptr86 : (_eh_ptr);
      var _499 = _isextreme_3_4 == 0;
      ;
      _invcont78$_bb1_i_i_i$19404: do { 
        if (!_499) {
          ;
          var _500 = _isextreme_3_4;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_500) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4043; /* _invcont78 */ break _invcont78$_bb1_i_i_i$19404; } else { ; }
          var _eh_ptr94 = _llvm_eh_exception();
          var _eh_select96 = _llvm_eh_selector(_eh_ptr94, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      __Unwind_Resume_or_Rethrow(_eh_exception_0);
      // unreachable
    }
  }
  __ZN11HullLibrary11calchullgenEP9btVector3ii.__index__ = Runtime.getFunctionIndex(__ZN11HullLibrary11calchullgenEP9btVector3ii, "__ZN11HullLibrary11calchullgenEP9btVector3ii");
  
  
  function __ZN11HullLibrary8calchullEP9btVector3iR20btAlignedObjectArrayIjERii(_this, _verts, _verts_count, _tris_out, _tris_count, _vlimit) {
    var __stackBase__  = STACKTOP; STACKTOP += 1;
    var __label__;
    var __lastLabel__ = null;
    var _0 = __stackBase__;
    var _1 = __ZN11HullLibrary11calchullgenEP9btVector3ii(_this, _verts, _verts_count, _vlimit);
    var _2 = _1 == 0;
    ;
    if (_2) {
      ;
      STACKTOP = __stackBase__;
      return 0;
    }
    else {
      ;
      var _3 = _this+4;
      var _4 = _this+12;
      __lastLabel__ = 720; ;
      _bb9$19412: while(1) { // _bb9
        var _ts_3_4 = __lastLabel__ == 148 ? _ts_3_2 : (0);
        var _ts_2_3 = __lastLabel__ == 148 ? _ts_2_2 : (0);
        var _ts_1_2 = __lastLabel__ == 148 ? _ts_1_1 : (0);
        var _32 = __lastLabel__ == 148 ? _31 : (0);
        var _33 = IHEAP[_3];
        var _34 = _33 > _32;
        if (!(_34)) { __label__ = 292; /* _bb11 */ break _bb9$19412; }
        var _5 = IHEAP[_4];
        var _scevgep111 = _5+4*_32;
        var _6 = IHEAP[_scevgep111];
        var _7 = _6 == 0;
        ;
        if (_7) {
          __lastLabel__ = 0; ;
        }
        else {
          __lastLabel__ = 0; ;
          var _tmp99 = _ts_1_2 << 1;
          __lastLabel__ = 269; ;
          _bb5$19417: while(1) { // _bb5
            var _ts_3_1 = __lastLabel__ == 345 ? _ts_3_0 : (_ts_3_4);
            var _ts_2_1 = __lastLabel__ == 345 ? _ts_2_0 : (_ts_2_3);
            var _23 = __lastLabel__ == 345 ? _22 : (0);
            var _tmp83 = _ts_1_2 + _23;
            var _tmp98 = _23 << 1;
            var _tmp100 = _tmp99 + _tmp98;
            var _tmp101 = _23 << 2;
            var _24 = _23 < 3;
            var _25 = IHEAP[_4];
            var _scevgep110 = _25+4*_32;
            var _26 = IHEAP[_scevgep110];
            var _27 = _26;
            if (!(_24)) { __label__ = 83; /* _bb6 */ break _bb5$19417; }
            var _8 = _ts_2_1 == _tmp83;
            ;
            _bb_i$_bb1_i$19420: do { 
              if (_8) {
                __lastLabel__ = 61; ;
                var _9 = _tmp83 == 0;
                var _iftmp_190_0_i_i = _9 ? 1 : _tmp100;
                var _10 = _ts_2_1 < _iftmp_190_0_i_i;
                if (_10) { __lastLabel__ = 131; ; } else { __lastLabel__ = 131; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$19420; }
                var _11 = _iftmp_190_0_i_i == 0;
                ;
                if (_11) {
                  __lastLabel__ = 1433; ;
                }
                else {
                  __lastLabel__ = 1433; ;
                  var _12 = _iftmp_190_0_i_i << 2;
                  var _13 = (function() { try { __THREW__ = false; return __Z22btAlignedAllocInternalji(_12, 16) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 274; ; } else { __lastLabel__ = 274; __label__ = 254; /* _lpad */ break _bb9$19412; };
                  var _phitmp_i_i = _13;
                  __lastLabel__ = 3557; ;
                }
                var _14 = __lastLabel__ == 3557 ? _phitmp_i_i : (0);
                var _15 = _tmp83 > 0;
                if (_15) { __lastLabel__ = 2186; __label__ = 3631; /* _bb_i4_i_i45 */  } else { __lastLabel__ = 2186; __label__ = 2187; /* __ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i */  }
                _bb_i4_i_i45$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$19427: while(1) { // _bb_i4_i_i45,__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i
                  if (__label__ == 3631) {
                    var _indvar_i_i_i43 = __lastLabel__ == 3633 ? _indvar_next_i_i_i48 : (0);
                    var _scevgep_i_i_i44 = _14+4*_indvar_i_i_i43;
                    var _16 = _scevgep_i_i_i44 == 0;
                    ;
                    if (!_16) {
                      ;
                      var _scevgep8_i_i_i46 = _ts_3_1+4*_indvar_i_i_i43;
                      var _17 = IHEAP[_scevgep8_i_i_i46];
                      IHEAP[_scevgep_i_i_i44] = _17;
                      ;
                    }
                    var _indvar_next_i_i_i48 = _indvar_i_i_i43 + 1;
                    var _exitcond84 = _indvar_next_i_i_i48 == _tmp83;
                    if (_exitcond84) { __lastLabel__ = 3633; __label__ = 2187; /* __ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i */ continue _bb_i4_i_i45$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$19427; } else { __lastLabel__ = 3633; __label__ = 3631; /* _bb_i4_i_i45 */ continue _bb_i4_i_i45$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$19427; }
                  }
                  else if (__label__ == 2187) {
                    var _18 = _ts_3_1 == 0;
                    if (_18) { __lastLabel__ = 2187; __label__ = 159; /* _bb1_i */ break _bb_i$_bb1_i$19420; } else { __lastLabel__ = 2187; __label__ = 3634; /* _bb1_i_i_i53 */ break _bb_i4_i_i45$__ZNK20btAlignedObjectArrayIiE4copyEiiPi_exit_i_i$19427; }
                  }
                }
                var _19 = _ts_3_1;
                (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_19) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 3634; ; } else { __lastLabel__ = 3634; __label__ = 381; /* _lpad_thread */ break _bb9$19412; }
              }
              else {
                __lastLabel__ = 61; ;
              }
            } while(0);
            var _ts_3_0 = __lastLabel__ == 131 ? _ts_3_1 : (__lastLabel__ == 61 ? _ts_3_1 : (__lastLabel__ == 3634 ? _14 : (_14)));
            var _ts_2_0 = __lastLabel__ == 131 ? _ts_2_1 : (__lastLabel__ == 61 ? _ts_2_1 : (__lastLabel__ == 3634 ? _iftmp_190_0_i_i : (_iftmp_190_0_i_i)));
            var _scevgep97 = _ts_3_0+4*_tmp83;
            var _20 = _scevgep97 == 0;
            ;
            if (!_20) {
              ;
              var _uglygep = _27+_tmp101;
              var _uglygep102 = _uglygep;
              var _21 = IHEAP[_uglygep102];
              IHEAP[_scevgep97] = _21;
              ;
            }
            var _22 = _23 + 1;
            __lastLabel__ = 345; __label__ = 82; /* _bb5 */ continue _bb5$19417;
          }
          var _28 = _26+24;
          var _29 = IHEAP[_28];
          var _30 = _25+4*_29;
          IHEAP[_30] = 0;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_27) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 83; ; } else { __lastLabel__ = 83; __label__ = 254; /* _lpad */ break _bb9$19412; }
        }
        var _ts_3_2 = __lastLabel__ == 0 ? _ts_3_4 : (_ts_3_1);
        var _ts_2_2 = __lastLabel__ == 0 ? _ts_2_3 : (_ts_2_1);
        var _ts_1_1 = __lastLabel__ == 0 ? _ts_1_2 : (_tmp83);
        var _31 = _32 + 1;
        __lastLabel__ = 148; __label__ = 62; /* _bb9 */ continue _bb9$19412;
      }
      _bb11$_lpad_thread$_lpad$19441: do { 
        if (__label__ == 292) {
          var _35 = Math.floor(_ts_1_2 / 3);
          IHEAP[_tris_count] = _35;
          IHEAP[_0] = 0;
          (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIjE6resizeEiRKj(_tris_out, _ts_1_2, _0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 292; ; } else { __lastLabel__ = 292; __label__ = 254; /* _lpad */ break _bb11$_lpad_thread$_lpad$19441; }
          var _36 = _ts_1_2 > 0;
          ;
          _bb_nph$_bb16$19444: do { 
            if (_36) {
              ;
              var _37 = _tris_out+12;
              __lastLabel__ = 130; ;
              _bb13$19446: while(1) { // _bb13
                var _i_164 = __lastLabel__ == 130 ? 0 : (_40);
                var _scevgep81 = _ts_3_4+4*_i_164;
                var _38 = IHEAP[_37];
                var _39 = IHEAP[_scevgep81];
                var _scevgep82 = _38+4*_i_164;
                IHEAP[_scevgep82] = _39;
                var _40 = _i_164 + 1;
                var _exitcond80 = _40 == _ts_1_2;
                if (_exitcond80) { __lastLabel__ = 108; __label__ = 154; /* _bb16 */ break _bb_nph$_bb16$19444; } else { __lastLabel__ = 108; __label__ = 108; /* _bb13 */ continue _bb13$19446; }
              }
            }
          } while(0);
          var _41 = IHEAP[_3];
          var _42 = _41 > 0;
          var __not = _42 ^ true;
          var _43 = _41 < 0;
          var _or_cond = __not & _43;
          ;
          _bb4_i$_invcont17$19449: do { 
            if (_or_cond) {
              ;
              var _44 = _this+8;
              var _45 = IHEAP[_44];
              var _46 = _45 < 0;
              ;
              if (_46) {
                ;
                var _47 = IHEAP[_4];
                var _48 = _47 == 0;
                ;
                if (!_48) {
                  ;
                  var _49 = _this+16;
                  var _50 = IHEAP[_49];
                  var _toBool_i_i_i36 = _50 == 0;
                  ;
                  if (!_toBool_i_i_i36) {
                    ;
                    var _51 = _47;
                    (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_51) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 4047; ; } else { __lastLabel__ = 4047; __label__ = 254; /* _lpad */ break _bb11$_lpad_thread$_lpad$19441; }
                  }
                  IHEAP[_4] = 0;
                  ;
                }
                var _52 = _this+16;
                IHEAP[_52] = 1;
                IHEAP[_4] = 0;
                IHEAP[_44] = 0;
                ;
              }
              var _tmp_i = 0 - _41;
              __lastLabel__ = 418; ;
              _bb7_i$19460: while(1) { // _bb7_i
                var _indvar_i = __lastLabel__ == 418 ? 0 : (_indvar_next_i);
                var _tmp = _41 + _indvar_i;
                var _53 = IHEAP[_4];
                var _scevgep = _53+4*_tmp;
                var _54 = _scevgep == 0;
                ;
                if (!_54) {
                  ;
                  IHEAP[_scevgep] = 0;
                  ;
                }
                var _indvar_next_i = _indvar_i + 1;
                var _exitcond = _indvar_next_i == _tmp_i;
                if (_exitcond) { __lastLabel__ = 581; __label__ = 604; /* _invcont17 */ break _bb4_i$_invcont17$19449; } else { __lastLabel__ = 581; __label__ = 137; /* _bb7_i */ continue _bb7_i$19460; }
              }
            }
          } while(0);
          IHEAP[_3] = 0;
          var _55 = _ts_3_4 == 0;
          ;
          if (_55) {
            ;
            STACKTOP = __stackBase__;
            return 1;
          }
          else {
            ;
            var _56 = _ts_3_4;
            __Z21btAlignedFreeInternalPv(_56);
            STACKTOP = __stackBase__;
            return 1;
          }
        }
        else if (__label__ == 381) {
          var _eh_ptr59 = _llvm_eh_exception();
          var _eh_select2460 = _llvm_eh_selector(_eh_ptr59, ___gxx_personality_v0, 0);
          __lastLabel__ = 381; __label__ = 2160; /* _bb1_i_i_i */ break _bb11$_lpad_thread$_lpad$19441;
        }
      } while(0);
      _lpad$_bb1_i_i_i$19470: do { 
        if (__label__ == 254) {
          var _ts_3_3 = __lastLabel__ == 4047 ? _ts_3_4 : (__lastLabel__ == 292 ? _ts_3_4 : (__lastLabel__ == 274 ? _ts_3_1 : (_ts_3_1)));
          var _eh_ptr = _llvm_eh_exception();
          var _eh_select24 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
          var _57 = _ts_3_3 == 0;
          if (_57) { __lastLabel__ = 254; __label__ = 3253; /* _invcont19 */ break _lpad$_bb1_i_i_i$19470; } else { __lastLabel__ = 254; __label__ = 2160; /* _bb1_i_i_i */ break _lpad$_bb1_i_i_i$19470; }
        }
      } while(0);
      _invcont19$_bb1_i_i_i$19472: do { 
        if (__label__ == 2160) {
          var _ts_3_361 = __lastLabel__ == 381 ? _ts_3_1 : (_ts_3_3);
          var _eh_ptr62 = __lastLabel__ == 381 ? _eh_ptr59 : (_eh_ptr);
          var _58 = _ts_3_361;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_58) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 2160; __label__ = 3253; /* _invcont19 */ break _invcont19$_bb1_i_i_i$19472; } else { __lastLabel__ = 2160; ; }
          var _eh_ptr26 = _llvm_eh_exception();
          var _eh_select28 = _llvm_eh_selector(_eh_ptr26, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      var _eh_ptr63 = __lastLabel__ == 254 ? _eh_ptr : (_eh_ptr62);
      __Unwind_Resume_or_Rethrow(_eh_ptr63);
      // unreachable
    }
  }
  __ZN11HullLibrary8calchullEP9btVector3iR20btAlignedObjectArrayIjERii.__index__ = Runtime.getFunctionIndex(__ZN11HullLibrary8calchullEP9btVector3iR20btAlignedObjectArrayIjERii, "__ZN11HullLibrary8calchullEP9btVector3iR20btAlignedObjectArrayIjERii");
  
  
  function __ZN11HullLibrary11ComputeHullEjPK9btVector3R11PHullResultj(_this, _vcount, _vertices, _result, _vlimit) {
    var __stackBase__  = STACKTOP; STACKTOP += 1;
    var __label__;
    var _tris_count = __stackBase__;
    var _0 = _result+16;
    var _1 = __ZN11HullLibrary8calchullEP9btVector3iR20btAlignedObjectArrayIjERii(_this, _vertices, _vcount, _0, _tris_count, _vlimit);
    var _2 = _1 == 0;
    ;
    if (_2) {
      ;
      STACKTOP = __stackBase__;
      return 0;
    }
    else {
      ;
      var _3 = IHEAP[_tris_count];
      var _4 = _3 * 3;
      var _5 = _result+4;
      IHEAP[_5] = _4;
      var _6 = _result+8;
      IHEAP[_6] = _3;
      var _7 = _result+12;
      IHEAP[_7] = _vertices;
      var _8 = _result;
      IHEAP[_8] = _vcount;
      STACKTOP = __stackBase__;
      return 1;
    }
  }
  __ZN11HullLibrary11ComputeHullEjPK9btVector3R11PHullResultj.__index__ = Runtime.getFunctionIndex(__ZN11HullLibrary11ComputeHullEjPK9btVector3R11PHullResultj, "__ZN11HullLibrary11ComputeHullEjPK9btVector3R11PHullResultj");
  
  
  function __ZN11HullLibrary16CreateConvexHullERK8HullDescR10HullResult(_this, _desc, _result) {
    var __stackBase__  = STACKTOP; STACKTOP += 160;
    var __label__;
    var __lastLabel__ = null;
    var _tris_count_i = __stackBase__;
    var _0 = __stackBase__+1;
    var _1 = __stackBase__+2;
    var _2 = __stackBase__+18;
    var _3 = __stackBase__+19;
    var _4 = __stackBase__+35;
    var _5 = __stackBase__+51;
    var _hr = __stackBase__+67;
    var _vertexSource = __stackBase__+103;
    var _scale = __stackBase__+123;
    var _ovcount = __stackBase__+139;
    var _vertexScratch = __stackBase__+140;
    var _6 = _hr+16+16;
    IHEAP[_6] = 1;
    var _7 = _hr+16+12;
    IHEAP[_7] = 0;
    var _8 = _hr+16+4;
    IHEAP[_8] = 0;
    var _9 = _hr+16+8;
    IHEAP[_9] = 0;
    var _10 = _hr;
    IHEAP[_10] = 0;
    var _11 = _hr+4;
    IHEAP[_11] = 0;
    var _12 = _hr+8;
    IHEAP[_12] = 0;
    var _13 = _hr+12;
    IHEAP[_13] = 0;
    var _14 = _desc+4;
    var _15 = IHEAP[_14];
    var _16 = _vertexSource+16;
    IHEAP[_16] = 1;
    var _17 = _vertexSource+12;
    IHEAP[_17] = 0;
    var _18 = _vertexSource+4;
    IHEAP[_18] = 0;
    var _19 = _vertexSource+8;
    IHEAP[_19] = 0;
    var _20 = unSign(_15, 32) < unSign(8, 32);
    var _vcount_0 = _20 ? 8 : _15;
    (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI9btVector3E6resizeEiRKS0_(_vertexSource, _vcount_0, _5) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 1102; /* _invcont2 */  } else { __label__ = 3639; /* _invcont_lpad59_crit_edge */  }
    _invcont2$_invcont_lpad59_crit_edge$19481: do { 
      if (__label__ == 1102) {
        var _21 = _desc+16;
        var _22 = FHEAP[_21];
        var _23 = IHEAP[_17];
        var _24 = _desc+12;
        var _25 = IHEAP[_24];
        var _26 = _desc+8;
        var _27 = IHEAP[_26];
        var _28 = IHEAP[_14];
        var _29 = (function() { try { __THREW__ = false; return __ZN11HullLibrary15CleanupVerticesEjPK9btVector3jRjPS0_fRS0_(_this, _28, _27, _25, _ovcount, _23, _22, _scale) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 1102; ; } else { __lastLabel__ = 1102; __label__ = 3640; /* _lpad59 */ break _invcont2$_invcont_lpad59_crit_edge$19481; };
        var _toBool = _29 == 0;
        ;
        _bb43$_bb6_preheader$19484: do { 
          if (_toBool) {
            __lastLabel__ = 759; ;
          }
          else {
            __lastLabel__ = 759; ;
            var _30 = IHEAP[_ovcount];
            var _31 = _30 == 0;
            ;
            _bb7$_bb_nph130$19486: do { 
              if (_31) {
                __lastLabel__ = 1257; ;
              }
              else {
                __lastLabel__ = 1257; ;
                var _32 = _scale;
                var _33 = _scale+4;
                var _34 = _scale+8;
                __lastLabel__ = 3641; ;
                _bb5$19488: while(1) { // _bb5
                  var _i_0129 = __lastLabel__ == 3641 ? 0 : (_44);
                  var _scevgep154155 = _23+16*_i_0129;
                  var _scevgep156 = _23+16*_i_0129+4;
                  var _scevgep157 = _23+16*_i_0129+8;
                  var _35 = FHEAP[_scevgep154155];
                  var _36 = FHEAP[_32];
                  var _37 = _35 * _36;
                  FHEAP[_scevgep154155] = _37;
                  var _38 = FHEAP[_scevgep156];
                  var _39 = FHEAP[_33];
                  var _40 = _38 * _39;
                  FHEAP[_scevgep156] = _40;
                  var _41 = FHEAP[_scevgep157];
                  var _42 = FHEAP[_34];
                  var _43 = _41 * _42;
                  FHEAP[_scevgep157] = _43;
                  var _44 = _i_0129 + 1;
                  var _45 = IHEAP[_ovcount];
                  var _46 = unSign(_44, 32) < unSign(_45, 32);
                  if (_46) { __lastLabel__ = 82; __label__ = 82; /* _bb5 */ continue _bb5$19488; } else { __lastLabel__ = 82; __label__ = 2; /* _bb7 */ break _bb7$_bb_nph130$19486; }
                }
              }
            } while(0);
            var _47 = __lastLabel__ == 1257 ? 0 : (_45);
            var _48 = _desc+20;
            var _49 = IHEAP[_48];
            var _50 = _hr+16;
            var _51 = (function() { try { __THREW__ = false; return __ZN11HullLibrary8calchullEP9btVector3iR20btAlignedObjectArrayIjERii(_this, _23, _47, _50, _tris_count_i, _49) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 2; ; } else { __lastLabel__ = 2; __label__ = 3640; /* _lpad59 */ break _invcont2$_invcont_lpad59_crit_edge$19481; };
            var _52 = _51 == 0;
            if (_52) { __lastLabel__ = 3642; __label__ = 8; /* _bb43 */ break _bb43$_bb6_preheader$19484; } else { __lastLabel__ = 3642; ; }
            var _53 = IHEAP[_tris_count_i];
            var _54 = _53 * 3;
            IHEAP[_11] = _54;
            IHEAP[_12] = _53;
            IHEAP[_13] = _23;
            IHEAP[_10] = _47;
            var _55 = _vertexScratch+16;
            IHEAP[_55] = 1;
            var _56 = _vertexScratch+12;
            IHEAP[_56] = 0;
            var _57 = _vertexScratch+4;
            IHEAP[_57] = 0;
            var _58 = _vertexScratch+8;
            IHEAP[_58] = 0;
            (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI9btVector3E6resizeEiRKS0_(_vertexScratch, _47, _4) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2531; /* _invcont12 */  } else { __label__ = 3643; /* _invcont11_lpad63_crit_edge */  }
            _invcont12$_invcont11_lpad63_crit_edge$19493: do { 
              if (__label__ == 2531) {
                var _59 = IHEAP[_7];
                var _60 = IHEAP[_56];
                (function() { try { __THREW__ = false; return __ZN11HullLibrary16BringOutYourDeadEPK9btVector3jPS0_RjPjj(_this, _23, _47, _60, _ovcount, _59, _54) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 2531; ; } else { __lastLabel__ = 2531; __label__ = 3890; /* _lpad63 */ break _invcont12$_invcont11_lpad63_crit_edge$19493; }
                var _61 = _desc;
                var _62 = IHEAP[_61];
                var _63 = _62 & 1;
                var _toBool14 = _63 == 0;
                var _64 = _result;
                ;
                _bb24$_bb15$19496: do { 
                  if (_toBool14) {
                    ;
                    IHEAP[_64] = 1;
                    var _91 = IHEAP[_ovcount];
                    var _92 = _result+4;
                    IHEAP[_92] = _91;
                    var _93 = _result+8;
                    (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI9btVector3E6resizeEiRKS0_(_93, _91, _1) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 65; ; } else { __lastLabel__ = 65; __label__ = 3890; /* _lpad63 */ break _invcont12$_invcont11_lpad63_crit_edge$19493; }
                    var _94 = _result+28;
                    IHEAP[_94] = _53;
                    var _95 = _53 + _54;
                    var _96 = _result+32;
                    IHEAP[_96] = _95;
                    IHEAP[_0] = 0;
                    var _97 = _result+36;
                    (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIjE6resizeEiRKj(_97, _95, _0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 2420; ; } else { __lastLabel__ = 2420; __label__ = 3890; /* _lpad63 */ break _invcont12$_invcont11_lpad63_crit_edge$19493; }
                    var _98 = IHEAP[_ovcount];
                    var _99 = _98 << 4;
                    var _100 = _result+8+12;
                    var _101 = IHEAP[_100];
                    var _102 = _101;
                    var _103 = _60;
                    _llvm_memcpy_p0i8_p0i8_i32(_102, _103, _99, 4, false);
                    var _104 = IHEAP[_12];
                    var _105 = _104 == 0;
                    if (_105) { __label__ = 251; /* _bb36 */ break _bb24$_bb15$19496; }
                    var _106 = _result+36+12;
                    var _107 = IHEAP[_106];
                    __lastLabel__ = 3646; ;
                    _bb30$19501: while(1) { // _bb30
                      var _i29_0127 = __lastLabel__ == 3646 ? 0 : (_tmp139);
                      var _tmp139 = _i29_0127 + 1;
                      var _tmp140 = _i29_0127 << 2;
                      var _tmp141159 = _tmp140 | 1;
                      var _scevgep142 = _107+4*_tmp141159;
                      var _tmp143160 = _tmp140 | 2;
                      var _scevgep144 = _107+4*_tmp143160;
                      var _tmp145161 = _tmp140 | 3;
                      var _scevgep146 = _107+4*_tmp145161;
                      var _dest28_0126 = _107+4*_tmp140;
                      var _tmp148 = _i29_0127 * 3;
                      var _tmp149 = _tmp148 + 2;
                      var _scevgep150 = _59+4*_tmp149;
                      var _tmp151 = _tmp148 + 1;
                      var _scevgep152 = _59+4*_tmp151;
                      var _source27_0125 = _59+4*_tmp148;
                      IHEAP[_dest28_0126] = 3;
                      var _108 = IHEAP[_61];
                      var __lobit119 = _108 & 2;
                      var _toBool31 = __lobit119 == 0;
                      var _storemerge163_in = _toBool31 ? _source27_0125 : _scevgep150;
                      var _storemerge_in = _toBool31 ? _scevgep150 : _source27_0125;
                      var _storemerge163 = IHEAP[_storemerge163_in];
                      IHEAP[_scevgep142] = _storemerge163;
                      var _storemerge162 = IHEAP[_scevgep152];
                      IHEAP[_scevgep144] = _storemerge162;
                      var _storemerge = IHEAP[_storemerge_in];
                      IHEAP[_scevgep146] = _storemerge;
                      var _109 = IHEAP[_12];
                      var _110 = unSign(_109, 32) > unSign(_tmp139, 32);
                      if (_110) { __lastLabel__ = 90; __label__ = 90; /* _bb30 */ continue _bb30$19501; } else { __lastLabel__ = 90; __label__ = 251; /* _bb36 */ break _bb24$_bb15$19496; }
                    }
                  }
                  else {
                    ;
                    IHEAP[_64] = 0;
                    var _65 = IHEAP[_ovcount];
                    var _66 = _result+4;
                    IHEAP[_66] = _65;
                    var _67 = _result+8;
                    (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayI9btVector3E6resizeEiRKS0_(_67, _65, _3) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 153; ; } else { __lastLabel__ = 153; __label__ = 3890; /* _lpad63 */ break _invcont12$_invcont11_lpad63_crit_edge$19493; }
                    var _68 = _result+28;
                    IHEAP[_68] = _53;
                    var _69 = _result+32;
                    IHEAP[_69] = _54;
                    IHEAP[_2] = 0;
                    var _70 = _result+36;
                    (function() { try { __THREW__ = false; return __ZN20btAlignedObjectArrayIjE6resizeEiRKj(_70, _54, _2) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 2533; ; } else { __lastLabel__ = 2533; __label__ = 3890; /* _lpad63 */ break _invcont12$_invcont11_lpad63_crit_edge$19493; }
                    var _71 = IHEAP[_ovcount];
                    var _72 = _71 << 4;
                    var _73 = _result+8+12;
                    var _74 = IHEAP[_73];
                    var _75 = _74;
                    var _76 = _60;
                    _llvm_memcpy_p0i8_p0i8_i32(_75, _76, _72, 4, false);
                    var _77 = IHEAP[_61];
                    var __lobit = _77 & 2;
                    var _toBool18 = __lobit == 0;
                    ;
                    if (_toBool18) {
                      ;
                      var _86 = _53 * 12;
                      var _87 = _result+36+12;
                      var _88 = IHEAP[_87];
                      var _89 = _88;
                      var _90 = _59;
                      _llvm_memcpy_p0i8_p0i8_i32(_89, _90, _86, 4, false);
                      ;
                    }
                    else {
                      ;
                      var _78 = _53 == 0;
                      if (_78) { __label__ = 251; /* _bb36 */ break _bb24$_bb15$19496; }
                      var _79 = _result+36+12;
                      var _80 = IHEAP[_79];
                      __lastLabel__ = 130; ;
                      _bb21$19510: while(1) { // _bb21
                        var _i20_0123 = __lastLabel__ == 130 ? 0 : (_84);
                        var _tmp131 = _i20_0123 * 3;
                        var _tmp132 = _tmp131 + 1;
                        var _scevgep = _80+4*_tmp132;
                        var _tmp133 = _tmp131 + 2;
                        var _scevgep134 = _80+4*_tmp133;
                        var _dest_0122 = _80+4*_tmp131;
                        var _scevgep136 = _59+4*_tmp133;
                        var _scevgep137 = _59+4*_tmp132;
                        var _source_0121 = _59+4*_tmp131;
                        var _81 = IHEAP[_scevgep136];
                        IHEAP[_dest_0122] = _81;
                        var _82 = IHEAP[_scevgep137];
                        IHEAP[_scevgep] = _82;
                        var _83 = IHEAP[_source_0121];
                        IHEAP[_scevgep134] = _83;
                        var _84 = _i20_0123 + 1;
                        var _85 = unSign(_53, 32) > unSign(_84, 32);
                        if (_85) { __lastLabel__ = 110; __label__ = 110; /* _bb21 */ continue _bb21$19510; } else { __lastLabel__ = 110; __label__ = 251; /* _bb36 */ break _bb24$_bb15$19496; }
                      }
                    }
                  }
                } while(0);
                var _111 = IHEAP[_8];
                var _112 = _111 == 0;
                ;
                if (!_112) {
                  ;
                  var _113 = _59 == 0;
                  ;
                  if (!_113) {
                    ;
                    var _114 = IHEAP[_6];
                    var _toBool_i_i_i109 = _114 == 0;
                    ;
                    if (!_toBool_i_i_i109) {
                      ;
                      var _115 = _59;
                      (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_115) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 4049; ; } else { __lastLabel__ = 4049; __label__ = 3890; /* _lpad63 */ break _invcont12$_invcont11_lpad63_crit_edge$19493; }
                    }
                    IHEAP[_7] = 0;
                    ;
                  }
                  IHEAP[_6] = 1;
                  IHEAP[_7] = 0;
                  IHEAP[_8] = 0;
                  IHEAP[_9] = 0;
                  ;
                }
                IHEAP[_10] = 0;
                IHEAP[_11] = 0;
                IHEAP[_13] = 0;
                var _116 = _60 == 0;
                ;
                if (!_116) {
                  ;
                  var _117 = IHEAP[_55];
                  var _toBool_i_i_i103 = _117 == 0;
                  ;
                  if (!_toBool_i_i_i103) {
                    ;
                    var _118 = _60;
                    (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_118) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __lastLabel__ = 4051; ; } else { __lastLabel__ = 4051; __label__ = 3640; /* _lpad59 */ break _invcont2$_invcont_lpad59_crit_edge$19481; }
                  }
                  IHEAP[_56] = 0;
                  ;
                }
                IHEAP[_55] = 1;
                IHEAP[_56] = 0;
                IHEAP[_57] = 0;
                IHEAP[_58] = 0;
                __lastLabel__ = 3650; __label__ = 8; /* _bb43 */ break _bb43$_bb6_preheader$19484;
              }
              else if (__label__ == 3643) {
                var __pre164 = IHEAP[_56];
                __lastLabel__ = 3643; ;
              }
            } while(0);
            var _126 = __lastLabel__ == 3643 ? __pre164 : (__lastLabel__ == 4049 ? _60 : (__lastLabel__ == 2420 ? _60 : (__lastLabel__ == 65 ? _60 : (__lastLabel__ == 2533 ? _60 : (__lastLabel__ == 153 ? _60 : (_60))))));
            var _eh_ptr64 = _llvm_eh_exception();
            var _eh_select66 = _llvm_eh_selector(_eh_ptr64, ___gxx_personality_v0, 0);
            var _127 = _126 == 0;
            ;
            if (!_127) {
              ;
              var _128 = IHEAP[_55];
              var _toBool_i_i_i86 = _128 == 0;
              ;
              _bb2_i_i_i89$_bb1_i_i_i88$19532: do { 
                if (!_toBool_i_i_i86) {
                  ;
                  var _129 = _126;
                  (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_129) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 4053; /* _bb2_i_i_i89 */ break _bb2_i_i_i89$_bb1_i_i_i88$19532; } else { ; }
                  var _eh_ptr68 = _llvm_eh_exception();
                  var _eh_select70 = _llvm_eh_selector(_eh_ptr68, ___gxx_personality_v0, 1);
                  __ZSt9terminatev();
                  // unreachable
                }
              } while(0);
              IHEAP[_56] = 0;
              ;
            }
            IHEAP[_55] = 1;
            IHEAP[_56] = 0;
            IHEAP[_57] = 0;
            IHEAP[_58] = 0;
            __lastLabel__ = 3655; __label__ = 3653; /* _ppad79 */ break _invcont2$_invcont_lpad59_crit_edge$19481;
          }
        } while(0);
        var _ret_0 = __lastLabel__ == 3650 ? 0 : (__lastLabel__ == 759 ? 1 : (1));
        var _119 = _23 == 0;
        ;
        if (!_119) {
          ;
          var _120 = IHEAP[_16];
          var _toBool_i_i_i97 = _120 == 0;
          ;
          _bb2_i_i_i100$_bb1_i_i_i99$19540: do { 
            if (!_toBool_i_i_i97) {
              ;
              var _121 = _23;
              (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_121) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3875; /* _bb2_i_i_i100 */ break _bb2_i_i_i100$_bb1_i_i_i99$19540; } else { ; }
              var _eh_ptr = _llvm_eh_exception();
              var _eh_select58 = _llvm_eh_selector(_eh_ptr, ___gxx_personality_v0, 0);
              __lastLabel__ = 254; __label__ = 45; /* _ppad */ break _invcont2$_invcont_lpad59_crit_edge$19481;
            }
          } while(0);
          IHEAP[_17] = 0;
          ;
        }
        IHEAP[_16] = 1;
        IHEAP[_17] = 0;
        IHEAP[_18] = 0;
        IHEAP[_19] = 0;
        var _122 = IHEAP[_7];
        var _123 = _122 == 0;
        ;
        if (_123) {
          ;
          STACKTOP = __stackBase__;
          return _ret_0;
        }
        else {
          ;
          var _124 = IHEAP[_6];
          var _toBool_i_i_i_i92 = _124 == 0;
          ;
          if (!_toBool_i_i_i_i92) {
            ;
            var _125 = _122;
            __Z21btAlignedFreeInternalPv(_125);
            ;
          }
          IHEAP[_7] = 0;
          STACKTOP = __stackBase__;
          return _ret_0;
        }
      }
      else if (__label__ == 3639) {
        var __pre_pre = IHEAP[_17];
        __lastLabel__ = 3639; __label__ = 3640; /* _lpad59 */ break _invcont2$_invcont_lpad59_crit_edge$19481;
      }
    } while(0);
    _ppad$_lpad59$_ppad79$19552: do { 
      if (__label__ == 3640) {
        var __pre = __lastLabel__ == 3639 ? __pre_pre : (__lastLabel__ == 2 ? _23 : (__lastLabel__ == 4051 ? _23 : (_23)));
        var _eh_ptr60 = _llvm_eh_exception();
        var _eh_select62 = _llvm_eh_selector(_eh_ptr60, ___gxx_personality_v0, 0);
        __lastLabel__ = 3640; __label__ = 3653; /* _ppad79 */ break _ppad$_lpad59$_ppad79$19552;
      }
    } while(0);
    if (__label__ == 3653) {
      var _134 = __lastLabel__ == 3640 ? __pre : (_23);
      var _eh_exception_0 = __lastLabel__ == 3640 ? _eh_ptr60 : (_eh_ptr64);
      var _135 = _134 == 0;
      ;
      if (!_135) {
        ;
        var _136 = IHEAP[_16];
        var _toBool_i_i_i = _136 == 0;
        ;
        _bb2_i_i_i$_bb1_i_i_i$19558: do { 
          if (!_toBool_i_i_i) {
            ;
            var _137 = _134;
            (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_137) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 2159; /* _bb2_i_i_i */ break _bb2_i_i_i$_bb1_i_i_i$19558; } else { ; }
            var _eh_ptr72 = _llvm_eh_exception();
            var _eh_select74 = _llvm_eh_selector(_eh_ptr72, ___gxx_personality_v0, 1);
            __ZSt9terminatev();
            // unreachable
          }
        } while(0);
        IHEAP[_17] = 0;
        ;
      }
      IHEAP[_16] = 1;
      IHEAP[_17] = 0;
      IHEAP[_18] = 0;
      IHEAP[_19] = 0;
      __lastLabel__ = 1894; ;
    }
    var _eh_exception_1 = __lastLabel__ == 254 ? _eh_ptr : (_eh_exception_0);
    var _130 = IHEAP[_7];
    var _131 = _130 == 0;
    ;
    if (!_131) {
      ;
      var _132 = IHEAP[_6];
      var _toBool_i_i_i_i = _132 == 0;
      ;
      _bb2_i_i_i_i$_bb1_i_i_i_i$19566: do { 
        if (!_toBool_i_i_i_i) {
          ;
          var _133 = _130;
          (function() { try { __THREW__ = false; return __Z21btAlignedFreeInternalPv(_133) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 3769; /* _bb2_i_i_i_i */ break _bb2_i_i_i_i$_bb1_i_i_i_i$19566; } else { ; }
          var _eh_ptr76 = _llvm_eh_exception();
          var _eh_select78 = _llvm_eh_selector(_eh_ptr76, ___gxx_personality_v0, 1);
          __ZSt9terminatev();
          // unreachable
        }
      } while(0);
      IHEAP[_7] = 0;
      ;
    }
    __Unwind_Resume_or_Rethrow(_eh_exception_1);
    // unreachable
  }
  __ZN11HullLibrary16CreateConvexHullERK8HullDescR10HullResult.__index__ = Runtime.getFunctionIndex(__ZN11HullLibrary16CreateConvexHullERK8HullDescR10HullResult, "__ZN11HullLibrary16CreateConvexHullERK8HullDescR10HullResult");
  
  
  function __Z21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_(_agg_result, _plane, _p0, _p1) {
    ;
    var __label__;
    var _0 = IHEAP[__ZGVZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif];
    var _1 = _0 == 0;
    ;
    _bb$_bb2$19572: do { 
      if (_1) {
        ;
        var _2 = ___cxa_guard_acquire(__ZGVZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif);
        var _3 = _2 == 0;
        if (_3) { __label__ = 0; /* _bb2 */ break _bb$_bb2$19572; }
        ___cxa_guard_release(__ZGVZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif);
        ;
      }
    } while(0);
    var _4 = _p1+8;
    var _5 = FHEAP[_4];
    var _6 = _p0+8;
    var _7 = FHEAP[_6];
    var _8 = _5 - _7;
    var _9 = _p1+4;
    var _10 = FHEAP[_9];
    var _11 = _p0+4;
    var _12 = FHEAP[_11];
    var _13 = _10 - _12;
    var _14 = _p1;
    var _15 = FHEAP[_14];
    var _16 = _p0;
    var _17 = FHEAP[_16];
    var _18 = _15 - _17;
    FHEAP[__ZZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif] = _18;
    FHEAP[__ZZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif+4] = _13;
    FHEAP[__ZZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif+8] = _8;
    FHEAP[__ZZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif+12] = 0;
    var _19 = _plane;
    var _20 = FHEAP[_19];
    var _21 = _20 * _18;
    var _22 = _plane+4;
    var _23 = FHEAP[_22];
    var _24 = _23 * _13;
    var _25 = _21 + _24;
    var _26 = _plane+8;
    var _27 = FHEAP[_26];
    var _28 = _27 * _8;
    var _29 = _25 + _28;
    var _30 = _plane+16;
    var _31 = FHEAP[_30];
    var _32 = FHEAP[_16];
    var _33 = _20 * _32;
    var _34 = FHEAP[_11];
    var _35 = _23 * _34;
    var _36 = _33 + _35;
    var _37 = FHEAP[_6];
    var _38 = _27 * _37;
    var _39 = _36 + _38;
    var _40 = _31 + _39;
    var _41 = 0 - _40;
    var _42 = _41 / _29;
    var _43 = _8 * _42;
    var _44 = _13 * _42;
    var _45 = _18 * _42;
    var _46 = _37 + _43;
    var _47 = _34 + _44;
    var _48 = _32 + _45;
    var _49 = _agg_result;
    FHEAP[_49] = _48;
    var _50 = _agg_result+4;
    FHEAP[_50] = _47;
    var _51 = _agg_result+8;
    FHEAP[_51] = _46;
    var _52 = _agg_result+12;
    FHEAP[_52] = 0;
    ;
    return;
  }
  __Z21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_.__index__ = Runtime.getFunctionIndex(__Z21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_, "__Z21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_");
  
  
  function __Z20DistanceBetweenLinesRK9btVector3S1_S1_S1_PS_S2_(_ustart, _udir, _vstart, _vdir, _upoint, _vpoint) {
    ;
    var __label__;
    var _0 = IHEAP[__ZGVZ20DistanceBetweenLinesRK9btVector3S1_S1_S1_PS_S2_E2cp];
    var _1 = _0 == 0;
    ;
    _bb$_bb2$19577: do { 
      if (_1) {
        ;
        var _2 = ___cxa_guard_acquire(__ZGVZ20DistanceBetweenLinesRK9btVector3S1_S1_S1_PS_S2_E2cp);
        var _3 = _2 == 0;
        if (_3) { __label__ = 0; /* _bb2 */ break _bb$_bb2$19577; }
        ___cxa_guard_release(__ZGVZ20DistanceBetweenLinesRK9btVector3S1_S1_S1_PS_S2_E2cp);
        ;
      }
    } while(0);
    var _4 = _udir;
    var _5 = FHEAP[_4];
    var _6 = _vdir+4;
    var _7 = FHEAP[_6];
    var _8 = _5 * _7;
    var _9 = _udir+4;
    var _10 = FHEAP[_9];
    var _11 = _vdir;
    var _12 = FHEAP[_11];
    var _13 = _10 * _12;
    var _14 = _8 - _13;
    var _15 = _udir+8;
    var _16 = FHEAP[_15];
    var _17 = _16 * _12;
    var _18 = _vdir+8;
    var _19 = FHEAP[_18];
    var _20 = _5 * _19;
    var _21 = _17 - _20;
    var _22 = _10 * _19;
    var _23 = _16 * _7;
    var _24 = _22 - _23;
    var _25 = _24 * _24;
    var _26 = _21 * _21;
    var _27 = _25 + _26;
    var _28 = _14 * _14;
    var _29 = _27 + _28;
    var _30 = _sqrtf(_29);
    var _31 = 1 / _30;
    var _32 = _14 * _31;
    var _33 = _21 * _31;
    var _34 = _24 * _31;
    FHEAP[__ZZ20DistanceBetweenLinesRK9btVector3S1_S1_S1_PS_S2_E2cp] = _34;
    FHEAP[__ZZ20DistanceBetweenLinesRK9btVector3S1_S1_S1_PS_S2_E2cp+4] = _33;
    FHEAP[__ZZ20DistanceBetweenLinesRK9btVector3S1_S1_S1_PS_S2_E2cp+8] = _32;
    FHEAP[__ZZ20DistanceBetweenLinesRK9btVector3S1_S1_S1_PS_S2_E2cp+12] = 0;
    var _35 = _ustart;
    var _36 = FHEAP[_35];
    var _37 = _34 * _36;
    var _38 = _ustart+4;
    var _39 = FHEAP[_38];
    var _40 = _33 * _39;
    var _41 = _37 + _40;
    var _42 = _ustart+8;
    var _43 = FHEAP[_42];
    var _44 = _32 * _43;
    var _45 = _41 + _44;
    var _46 = _vstart;
    var _47 = FHEAP[_46];
    var _48 = _34 * _47;
    var _49 = _vstart+4;
    var _50 = FHEAP[_49];
    var _51 = _33 * _50;
    var _52 = _48 + _51;
    var _53 = _vstart+8;
    var _54 = FHEAP[_53];
    var _55 = _32 * _54;
    var _56 = _52 + _55;
    var _57 = _56 - _45;
    var _58 = _fabsf(_57);
    var _59 = _upoint == 0;
    ;
    if (!_59) {
      ;
      var _60 = FHEAP[_11];
      var _61 = _60 * _33;
      var _62 = FHEAP[_6];
      var _63 = _62 * _34;
      var _64 = _61 - _63;
      var _65 = FHEAP[_18];
      var _66 = _65 * _34;
      var _67 = _60 * _32;
      var _68 = _66 - _67;
      var _69 = _62 * _32;
      var _70 = _65 * _33;
      var _71 = _69 - _70;
      var _72 = _71 * _71;
      var _73 = _68 * _68;
      var _74 = _72 + _73;
      var _75 = _64 * _64;
      var _76 = _74 + _75;
      var _77 = _sqrtf(_76);
      var _78 = 1 / _77;
      var _79 = _64 * _78;
      var _80 = _68 * _78;
      var _81 = _71 * _78;
      var _82 = _81 * _47;
      var _83 = _80 * _50;
      var _84 = _82 + _83;
      var _85 = _79 * _54;
      var _86 = _84 + _85;
      var _87 = FHEAP[_15];
      var _88 = _43 + _87;
      var _89 = FHEAP[_9];
      var _90 = _39 + _89;
      var _91 = FHEAP[_4];
      var _92 = _36 + _91;
      var _93 = IHEAP[__ZGVZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif];
      var _94 = _93 == 0;
      ;
      _bb_i15$__Z21PlaneLineIntersectionRK7btPlaneRK9btVector3S4__exit17$19583: do { 
        if (_94) {
          ;
          var _95 = ___cxa_guard_acquire(__ZGVZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif);
          var _96 = _95 == 0;
          if (_96) { __label__ = 3661; /* __Z21PlaneLineIntersectionRK7btPlaneRK9btVector3S4__exit17 */ break _bb_i15$__Z21PlaneLineIntersectionRK7btPlaneRK9btVector3S4__exit17$19583; }
          ___cxa_guard_release(__ZGVZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif);
          ;
        }
      } while(0);
      var _97 = FHEAP[_42];
      var _98 = _88 - _97;
      var _99 = FHEAP[_38];
      var _100 = _90 - _99;
      var _101 = FHEAP[_35];
      var _102 = _92 - _101;
      FHEAP[__ZZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif] = _102;
      FHEAP[__ZZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif+4] = _100;
      FHEAP[__ZZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif+8] = _98;
      FHEAP[__ZZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif+12] = 0;
      var _103 = _81 * _102;
      var _104 = _80 * _100;
      var _105 = _103 + _104;
      var _106 = _79 * _98;
      var _107 = _105 + _106;
      var _108 = FHEAP[_35];
      var _109 = _81 * _108;
      var _110 = FHEAP[_38];
      var _111 = _80 * _110;
      var _112 = _109 + _111;
      var _113 = FHEAP[_42];
      var _114 = _79 * _113;
      var _115 = _112 + _114;
      var _116 = _115 - _86;
      var _117 = 0 - _116;
      var _118 = _117 / _107;
      var _119 = _98 * _118;
      var _120 = _100 * _118;
      var _121 = _102 * _118;
      var _122 = _113 + _119;
      var _123 = _110 + _120;
      var _124 = _108 + _121;
      var _125 = _upoint;
      FHEAP[_125] = _124;
      var _126 = _upoint+4;
      FHEAP[_126] = _123;
      var _127 = _upoint+8;
      FHEAP[_127] = _122;
      var _128 = _upoint+12;
      FHEAP[_128] = 0;
      ;
    }
    var _129 = _vpoint == 0;
    ;
    if (_129) {
      ;
      ;
      return _58;
    }
    else {
      ;
      var _130 = FHEAP[_4];
      var _131 = FHEAP[__ZZ20DistanceBetweenLinesRK9btVector3S1_S1_S1_PS_S2_E2cp+4];
      var _132 = _130 * _131;
      var _133 = FHEAP[_9];
      var _134 = FHEAP[__ZZ20DistanceBetweenLinesRK9btVector3S1_S1_S1_PS_S2_E2cp];
      var _135 = _133 * _134;
      var _136 = _132 - _135;
      var _137 = FHEAP[_15];
      var _138 = _137 * _134;
      var _139 = FHEAP[__ZZ20DistanceBetweenLinesRK9btVector3S1_S1_S1_PS_S2_E2cp+8];
      var _140 = _130 * _139;
      var _141 = _138 - _140;
      var _142 = _133 * _139;
      var _143 = _137 * _131;
      var _144 = _142 - _143;
      var _145 = _144 * _144;
      var _146 = _141 * _141;
      var _147 = _145 + _146;
      var _148 = _136 * _136;
      var _149 = _147 + _148;
      var _150 = _sqrtf(_149);
      var _151 = 1 / _150;
      var _152 = _136 * _151;
      var _153 = _141 * _151;
      var _154 = _144 * _151;
      var _155 = FHEAP[_35];
      var _156 = _154 * _155;
      var _157 = FHEAP[_38];
      var _158 = _153 * _157;
      var _159 = _156 + _158;
      var _160 = FHEAP[_42];
      var _161 = _152 * _160;
      var _162 = _159 + _161;
      var _163 = FHEAP[_53];
      var _164 = FHEAP[_18];
      var _165 = _163 + _164;
      var _166 = FHEAP[_49];
      var _167 = FHEAP[_6];
      var _168 = _166 + _167;
      var _169 = FHEAP[_46];
      var _170 = FHEAP[_11];
      var _171 = _169 + _170;
      var _172 = IHEAP[__ZGVZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif];
      var _173 = _172 == 0;
      ;
      _bb_i$__Z21PlaneLineIntersectionRK7btPlaneRK9btVector3S4__exit$19591: do { 
        if (_173) {
          ;
          var _174 = ___cxa_guard_acquire(__ZGVZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif);
          var _175 = _174 == 0;
          if (_175) { __label__ = 3665; /* __Z21PlaneLineIntersectionRK7btPlaneRK9btVector3S4__exit */ break _bb_i$__Z21PlaneLineIntersectionRK7btPlaneRK9btVector3S4__exit$19591; }
          ___cxa_guard_release(__ZGVZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif);
          ;
        }
      } while(0);
      var _176 = FHEAP[_53];
      var _177 = _165 - _176;
      var _178 = FHEAP[_49];
      var _179 = _168 - _178;
      var _180 = FHEAP[_46];
      var _181 = _171 - _180;
      FHEAP[__ZZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif] = _181;
      FHEAP[__ZZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif+4] = _179;
      FHEAP[__ZZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif+8] = _177;
      FHEAP[__ZZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif+12] = 0;
      var _182 = _154 * _181;
      var _183 = _153 * _179;
      var _184 = _182 + _183;
      var _185 = _152 * _177;
      var _186 = _184 + _185;
      var _187 = FHEAP[_46];
      var _188 = _154 * _187;
      var _189 = FHEAP[_49];
      var _190 = _153 * _189;
      var _191 = _188 + _190;
      var _192 = FHEAP[_53];
      var _193 = _152 * _192;
      var _194 = _191 + _193;
      var _195 = _194 - _162;
      var _196 = 0 - _195;
      var _197 = _196 / _186;
      var _198 = _177 * _197;
      var _199 = _179 * _197;
      var _200 = _181 * _197;
      var _201 = _192 + _198;
      var _202 = _189 + _199;
      var _203 = _187 + _200;
      var _204 = _vpoint;
      FHEAP[_204] = _203;
      var _205 = _vpoint+4;
      FHEAP[_205] = _202;
      var _206 = _vpoint+8;
      FHEAP[_206] = _201;
      var _207 = _vpoint+12;
      FHEAP[_207] = 0;
      ;
      return _58;
    }
  }
  __Z20DistanceBetweenLinesRK9btVector3S1_S1_S1_PS_S2_.__index__ = Runtime.getFunctionIndex(__Z20DistanceBetweenLinesRK9btVector3S1_S1_S1_PS_S2_, "__Z20DistanceBetweenLinesRK9btVector3S1_S1_S1_PS_S2_");
  
  
  function __ZN14btGeometryUtil29getVerticesFromPlaneEquationsERK20btAlignedObjectArrayI9btVector3ERS2_(_planeEquations, _verticesOut) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var __lastLabel__ = null;
    var _potentialVertex = __stackBase__;
    var _0 = _planeEquations+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph49$_return$19615: do { 
      if (_2) {
        ;
        var _3 = _planeEquations+12;
        var _4 = _potentialVertex;
        var _5 = _potentialVertex+4;
        var _6 = _potentialVertex+8;
        var _7 = _potentialVertex+12;
        var _tmp54 = _1 + -2;
        var _tmp70 = _1 + -1;
        __lastLabel__ = 273; ;
        _bb$19617: while(1) { // _bb
          var _i_048 = __lastLabel__ == 273 ? 0 : (_j_044);
          var _j_044 = _i_048 + 1;
          var _tmp102 = _i_048 + 2;
          var _tmp116 = _tmp54 - _i_048;
          var _tmp71 = _tmp70 - _i_048;
          var _8 = IHEAP[_3];
          var _9 = _j_044 < _1;
          ;
          _bb_nph47$_bb21$19619: do { 
            if (_9) {
              ;
              var _scevgep119 = _8+16*_i_048+4;
              var _scevgep120121 = _8+16*_i_048;
              var _scevgep122 = _8+16*_i_048+8;
              var _scevgep123 = _8+16*_i_048+12;
              __lastLabel__ = 3381; ;
              _bb1$19621: while(1) { // _bb1
                var _indvar51 = __lastLabel__ == 3381 ? 0 : (_indvar_next52);
                var _tmp96 = _j_044 + _indvar51;
                var _tmp74 = _tmp102 + _indvar51;
                var _tmp56 = _tmp116 - _indvar51;
                var _10 = IHEAP[_3];
                var _11 = _tmp74 < _1;
                ;
                _bb_nph$_bb20_loopexit$19623: do { 
                  if (_11) {
                    ;
                    var _scevgep94 = _10+16*_tmp96+12;
                    var _scevgep93 = _10+16*_tmp96+8;
                    var _scevgep92 = _10+16*_tmp96+4;
                    var _scevgep9091 = _10+16*_tmp96;
                    __lastLabel__ = 130; ;
                    _bb2$19625: while(1) { // _bb2
                      var _indvar = __lastLabel__ == 130 ? 0 : (_indvar_next);
                      var _tmp104 = _tmp74 + _indvar;
                      var _12 = IHEAP[_3];
                      var _13 = FHEAP[_scevgep9091];
                      var _scevgep60 = _12+16*_tmp104+4;
                      var _14 = FHEAP[_scevgep60];
                      var _15 = _13 * _14;
                      var _16 = FHEAP[_scevgep92];
                      var _scevgep6162 = _12+16*_tmp104;
                      var _17 = FHEAP[_scevgep6162];
                      var _18 = _16 * _17;
                      var _19 = _15 - _18;
                      var _20 = FHEAP[_scevgep93];
                      var _21 = _20 * _17;
                      var _scevgep63 = _12+16*_tmp104+8;
                      var _22 = FHEAP[_scevgep63];
                      var _23 = _13 * _22;
                      var _24 = _21 - _23;
                      var _25 = _16 * _22;
                      var _26 = _20 * _14;
                      var _27 = _25 - _26;
                      var _28 = FHEAP[_scevgep119];
                      var _29 = _17 * _28;
                      var _30 = FHEAP[_scevgep120121];
                      var _31 = _14 * _30;
                      var _32 = _29 - _31;
                      var _33 = _22 * _30;
                      var _34 = FHEAP[_scevgep122];
                      var _35 = _17 * _34;
                      var _36 = _33 - _35;
                      var _37 = _14 * _34;
                      var _38 = _22 * _28;
                      var _39 = _37 - _38;
                      var _40 = _30 * _16;
                      var _41 = _28 * _13;
                      var _42 = _40 - _41;
                      var _43 = _34 * _13;
                      var _44 = _30 * _20;
                      var _45 = _43 - _44;
                      var _46 = _28 * _20;
                      var _47 = _34 * _16;
                      var _48 = _46 - _47;
                      var _49 = _27 * _27;
                      var _50 = _24 * _24;
                      var _51 = _49 + _50;
                      var _52 = _19 * _19;
                      var _53 = _51 + _52;
                      var _54 = _53 <= 0.00009999999747378752;
                      ;
                      _bb17$_bb5$19627: do { 
                        if (!_54) {
                          ;
                          var _55 = _39 * _39;
                          var _56 = _36 * _36;
                          var _57 = _55 + _56;
                          var _58 = _32 * _32;
                          var _59 = _57 + _58;
                          var _60 = _59 <= 0.00009999999747378752;
                          if (_60) { __label__ = 4; /* _bb17 */ break _bb17$_bb5$19627; }
                          var _61 = _48 * _48;
                          var _62 = _45 * _45;
                          var _63 = _61 + _62;
                          var _64 = _42 * _42;
                          var _65 = _63 + _64;
                          var _66 = _65 <= 0.00009999999747378752;
                          if (_66) { __label__ = 4; /* _bb17 */ break _bb17$_bb5$19627; }
                          var _67 = _30 * _27;
                          var _68 = _28 * _24;
                          var _69 = _67 + _68;
                          var _70 = _34 * _19;
                          var _71 = _69 + _70;
                          var _72 = _fabsf(_71);
                          var _73 = _72 > 9.999999974752427e-7;
                          if (!(_73)) { __label__ = 4; /* _bb17 */ break _bb17$_bb5$19627; }
                          var _74 = -1 / _71;
                          var _75 = FHEAP[_scevgep123];
                          var _76 = _27 * _75;
                          var _77 = _24 * _75;
                          var _78 = _19 * _75;
                          var _79 = FHEAP[_scevgep94];
                          var _80 = _39 * _79;
                          var _81 = _36 * _79;
                          var _82 = _32 * _79;
                          var _scevgep68 = _12+16*_tmp104+12;
                          var _83 = FHEAP[_scevgep68];
                          var _84 = _48 * _83;
                          var _85 = _45 * _83;
                          var _86 = _42 * _83;
                          FHEAP[_7] = 0;
                          var _87 = _76 + _80;
                          var _88 = _77 + _81;
                          var _89 = _78 + _82;
                          var _90 = _87 + _84;
                          var _91 = _88 + _85;
                          var _92 = _89 + _86;
                          var _93 = _90 * _74;
                          FHEAP[_4] = _93;
                          var _94 = _91 * _74;
                          FHEAP[_5] = _94;
                          var _95 = _92 * _74;
                          FHEAP[_6] = _95;
                          var _96 = IHEAP[_0];
                          __lastLabel__ = 108; ;
                          _bb3_i$19632: while(1) { // _bb3_i
                            var _110 = __lastLabel__ == 108 ? 0 : (_109);
                            var _111 = _110 < _96;
                            if (!(_111)) { __label__ = 154; /* _bb16 */ break _bb3_i$19632; }
                            var _scevgep1011_i = _12+16*_110;
                            var _97 = FHEAP[_scevgep1011_i];
                            var _98 = _97 * _93;
                            var _scevgep9_i = _12+16*_110+4;
                            var _99 = FHEAP[_scevgep9_i];
                            var _100 = _99 * _94;
                            var _101 = _98 + _100;
                            var _scevgep8_i = _12+16*_110+8;
                            var _102 = FHEAP[_scevgep8_i];
                            var _103 = _102 * _95;
                            var _104 = _101 + _103;
                            var _scevgep_i = _12+16*_110+12;
                            var _105 = FHEAP[_scevgep_i];
                            var _106 = _104 + _105;
                            var _107 = _106 + -0.009999999776482582;
                            var _108 = _107 > 0;
                            if (_108) { __label__ = 4; /* _bb17 */ break _bb17$_bb5$19627; }
                            var _109 = _110 + 1;
                            __lastLabel__ = 132; __label__ = 133; /* _bb3_i */ continue _bb3_i$19632;
                          }
                          __ZN20btAlignedObjectArrayI9btVector3E9push_backERKS0_(_verticesOut, _potentialVertex);
                          ;
                        }
                      } while(0);
                      var _indvar_next = _indvar + 1;
                      var _exitcond = _indvar_next == _tmp56;
                      if (_exitcond) { __lastLabel__ = 4; __label__ = 1996; /* _bb20_loopexit */ break _bb_nph$_bb20_loopexit$19623; } else { __lastLabel__ = 4; __label__ = 0; /* _bb2 */ continue _bb2$19625; }
                    }
                  }
                } while(0);
                var _indvar_next52 = _indvar51 + 1;
                var _exitcond72 = _indvar_next52 == _tmp71;
                if (_exitcond72) { __lastLabel__ = 1996; __label__ = 110; /* _bb21 */ break _bb_nph47$_bb21$19619; } else { __lastLabel__ = 1996; __label__ = 75; /* _bb1 */ continue _bb1$19621; }
              }
            }
          } while(0);
          var _exitcond95 = _j_044 == _1;
          if (_exitcond95) { __lastLabel__ = 110; __label__ = 44; /* _return */ break _bb_nph49$_return$19615; } else { __lastLabel__ = 110; __label__ = 60; /* _bb */ continue _bb$19617; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN14btGeometryUtil29getVerticesFromPlaneEquationsERK20btAlignedObjectArrayI9btVector3ERS2_.__index__ = Runtime.getFunctionIndex(__ZN14btGeometryUtil29getVerticesFromPlaneEquationsERK20btAlignedObjectArrayI9btVector3ERS2_, "__ZN14btGeometryUtil29getVerticesFromPlaneEquationsERK20btAlignedObjectArrayI9btVector3ERS2_");
  
  
  function __ZN14btGeometryUtil29getPlaneEquationsFromVerticesER20btAlignedObjectArrayI9btVector3ES3_(_vertices, _planeEquationsOut) {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var __lastLabel__ = null;
    var _planeEquation = __stackBase__;
    var _0 = _vertices+4;
    var _1 = IHEAP[_0];
    var _2 = _1 > 0;
    ;
    _bb_nph50$_return$19642: do { 
      if (_2) {
        ;
        var _3 = _vertices+12;
        var _4 = _planeEquation;
        var _5 = _planeEquation+4;
        var _6 = _planeEquation+8;
        var _7 = _planeEquation+12;
        var _8 = _planeEquationsOut+4;
        var _9 = _planeEquationsOut+12;
        var _tmp59 = _1 + -2;
        var _tmp71 = _1 + -1;
        __lastLabel__ = 3668; ;
        _bb$19644: while(1) { // _bb
          var _i_049 = __lastLabel__ == 3668 ? 0 : (_j_045);
          var _j_045 = _i_049 + 1;
          var _tmp96 = _i_049 + 2;
          var _tmp105 = _tmp59 - _i_049;
          var _tmp72 = _tmp71 - _i_049;
          var _10 = IHEAP[_3];
          var _11 = _j_045 < _1;
          ;
          _bb_nph48$_bb18$19646: do { 
            if (_11) {
              ;
              var _scevgep108 = _10+16*_i_049+8;
              var _scevgep109 = _10+16*_i_049+4;
              var _scevgep110111 = _10+16*_i_049;
              __lastLabel__ = 3669; ;
              _bb1$19648: while(1) { // _bb1
                var _indvar56 = __lastLabel__ == 3669 ? 0 : (_indvar_next57);
                var _tmp91 = _j_045 + _indvar56;
                var _tmp75 = _tmp96 + _indvar56;
                var _tmp61 = _tmp105 - _indvar56;
                var _12 = IHEAP[_3];
                var _13 = _tmp75 < _1;
                ;
                _bb_nph44$_bb17_loopexit$19650: do { 
                  if (_13) {
                    ;
                    var _scevgep8889 = _12+16*_tmp91;
                    var _scevgep87 = _12+16*_tmp91+4;
                    var _scevgep86 = _12+16*_tmp91+8;
                    __lastLabel__ = 3670; ;
                    _bb_nph$19652: while(1) { // _bb_nph
                      var _indvar = __lastLabel__ == 3670 ? 0 : (_indvar_next);
                      var _tmp98 = _tmp75 + _indvar;
                      var _14 = IHEAP[_3];
                      var _15 = FHEAP[_scevgep86];
                      var _16 = FHEAP[_scevgep108];
                      var _17 = _15 - _16;
                      var _18 = FHEAP[_scevgep87];
                      var _19 = FHEAP[_scevgep109];
                      var _20 = _18 - _19;
                      var _21 = FHEAP[_scevgep8889];
                      var _22 = FHEAP[_scevgep110111];
                      var _23 = _21 - _22;
                      var _scevgep66 = _14+16*_tmp98+8;
                      var _24 = FHEAP[_scevgep66];
                      var _25 = _24 - _16;
                      var _scevgep67 = _14+16*_tmp98+4;
                      var _26 = FHEAP[_scevgep67];
                      var _27 = _26 - _19;
                      var _scevgep6869 = _14+16*_tmp98;
                      var _28 = FHEAP[_scevgep6869];
                      var _29 = _28 - _22;
                      var _30 = _23 * _27;
                      var _31 = _20 * _29;
                      var _32 = _30 - _31;
                      var _33 = _17 * _29;
                      var _34 = _23 * _25;
                      var _35 = _33 - _34;
                      var _36 = _20 * _25;
                      var _37 = _17 * _27;
                      var _38 = _36 - _37;
                      __lastLabel__ = 130; ;
                      _bb5$19654: while(1) { // _bb5
                        var _ww_042 = __lastLabel__ == 130 ? 0 : (_92);
                        var _normalSign_041 = __lastLabel__ == 130 ? 1 : (-1);
                        var _39 = _32 * _normalSign_041;
                        var _40 = _35 * _normalSign_041;
                        var _41 = _38 * _normalSign_041;
                        FHEAP[_4] = _41;
                        FHEAP[_5] = _40;
                        FHEAP[_6] = _39;
                        FHEAP[_7] = 0;
                        var _42 = _41 * _41;
                        var _43 = _40 * _40;
                        var _44 = _42 + _43;
                        var _45 = _39 * _39;
                        var _46 = _44 + _45;
                        var _47 = _46 > 0.00009999999747378752;
                        ;
                        _bb7$_bb12$19656: do { 
                          if (_47) {
                            ;
                            var _48 = _sqrtf(_46);
                            var _49 = 1 / _48;
                            var _50 = _41 * _49;
                            FHEAP[_4] = _50;
                            var _51 = _40 * _49;
                            FHEAP[_5] = _51;
                            var _52 = _39 * _49;
                            FHEAP[_6] = _52;
                            var _53 = IHEAP[_8];
                            __lastLabel__ = 2; ;
                            _bb3_i26$19658: while(1) { // _bb3_i26
                              var _65 = __lastLabel__ == 2 ? 0 : (_64);
                              var _66 = _65 < _53;
                              if (!(_66)) { __label__ = 62; /* _bb9 */ break _bb3_i26$19658; }
                              var _54 = IHEAP[_9];
                              var _scevgep910_i21 = _54+16*_65;
                              var _55 = FHEAP[_scevgep910_i21];
                              var _56 = _50 * _55;
                              var _scevgep8_i22 = _54+16*_65+4;
                              var _57 = FHEAP[_scevgep8_i22];
                              var _58 = _51 * _57;
                              var _59 = _56 + _58;
                              var _scevgep_i23 = _54+16*_65+8;
                              var _60 = FHEAP[_scevgep_i23];
                              var _61 = _52 * _60;
                              var _62 = _59 + _61;
                              var _63 = _62 > 0.9990000128746033;
                              if (_63) { __label__ = 3; /* _bb12 */ break _bb7$_bb12$19656; }
                              var _64 = _65 + 1;
                              __lastLabel__ = 3671; __label__ = 3425; /* _bb3_i26 */ continue _bb3_i26$19658;
                            }
                            var _67 = FHEAP[_scevgep110111];
                            var _68 = _50 * _67;
                            var _69 = FHEAP[_scevgep109];
                            var _70 = _51 * _69;
                            var _71 = _68 + _70;
                            var _72 = FHEAP[_scevgep108];
                            var _73 = _52 * _72;
                            var _74 = _71 + _73;
                            var _75 = 0 - _74;
                            FHEAP[_7] = _75;
                            var _76 = IHEAP[_0];
                            __lastLabel__ = 62; ;
                            _bb3_i$19663: while(1) { // _bb3_i
                              var _90 = __lastLabel__ == 62 ? 0 : (_89);
                              var _91 = _90 < _76;
                              if (!(_91)) { __label__ = 292; /* _bb11 */ break _bb3_i$19663; }
                              var _77 = IHEAP[_3];
                              var _scevgep910_i = _77+16*_90;
                              var _78 = FHEAP[_scevgep910_i];
                              var _79 = _50 * _78;
                              var _scevgep8_i = _77+16*_90+4;
                              var _80 = FHEAP[_scevgep8_i];
                              var _81 = _51 * _80;
                              var _82 = _79 + _81;
                              var _scevgep_i = _77+16*_90+8;
                              var _83 = FHEAP[_scevgep_i];
                              var _84 = _52 * _83;
                              var _85 = _82 + _84;
                              var _86 = _85 - _74;
                              var _87 = _86 + -0.009999999776482582;
                              var _88 = _87 > 0;
                              if (_88) { __label__ = 3; /* _bb12 */ break _bb7$_bb12$19656; }
                              var _89 = _90 + 1;
                              __lastLabel__ = 132; __label__ = 133; /* _bb3_i */ continue _bb3_i$19663;
                            }
                            __ZN20btAlignedObjectArrayI9btVector3E9push_backERKS0_(_planeEquationsOut, _planeEquation);
                            ;
                          }
                        } while(0);
                        var _92 = _ww_042 + 1;
                        var _exitcond = _92 == 2;
                        if (_exitcond) { __lastLabel__ = 3; __label__ = 63; /* _bb14 */ break _bb5$19654; } else { __lastLabel__ = 3; __label__ = 82; /* _bb5 */ continue _bb5$19654; }
                      }
                      var _indvar_next = _indvar + 1;
                      var _exitcond62 = _indvar_next == _tmp61;
                      if (_exitcond62) { __lastLabel__ = 63; __label__ = 3673; /* _bb17_loopexit */ break _bb_nph44$_bb17_loopexit$19650; } else { __lastLabel__ = 63; __label__ = 130; /* _bb_nph */ continue _bb_nph$19652; }
                    }
                  }
                } while(0);
                var _indvar_next57 = _indvar56 + 1;
                var _exitcond73 = _indvar_next57 == _tmp72;
                if (_exitcond73) { __lastLabel__ = 3673; __label__ = 86; /* _bb18 */ break _bb_nph48$_bb18$19646; } else { __lastLabel__ = 3673; __label__ = 75; /* _bb1 */ continue _bb1$19648; }
              }
            }
          } while(0);
          var _exitcond90 = _j_045 == _1;
          if (_exitcond90) { __lastLabel__ = 86; __label__ = 44; /* _return */ break _bb_nph50$_return$19642; } else { __lastLabel__ = 86; __label__ = 60; /* _bb */ continue _bb$19644; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN14btGeometryUtil29getPlaneEquationsFromVerticesER20btAlignedObjectArrayI9btVector3ES3_.__index__ = Runtime.getFunctionIndex(__ZN14btGeometryUtil29getPlaneEquationsFromVerticesER20btAlignedObjectArrayI9btVector3ES3_, "__ZN14btGeometryUtil29getPlaneEquationsFromVerticesER20btAlignedObjectArrayI9btVector3ES3_");
  
  
  function __ZN7btClockC2Ev(_this) {
    ;
    var __label__;
    var _0 = __Znwj(8);
    var _1 = _0;
    var _2 = _this;
    IHEAP[_2] = _1;
    var _3 = _0;
    var _4 = _gettimeofday(_3, 0);
    ;
    return;
  }
  __ZN7btClockC2Ev.__index__ = Runtime.getFunctionIndex(__ZN7btClockC2Ev, "__ZN7btClockC2Ev");
  
  
  function __GLOBAL__I__ZN7btClockC2Ev() {
    ;
    var __label__;
    var _0 = __Znwj(8);
    var _1 = _0;
    IHEAP[__ZL13gProfileClock] = _1;
    var _2 = _0;
    var _3 = _gettimeofday(_2, 0);
    var _4 = ___cxa_atexit(___tcf_040.__index__, 0, ___dso_handle);
    IHEAP[__ZN15CProfileManager4RootE] = __str633;
    IHEAP[__ZN15CProfileManager4RootE+4] = 0;
    FHEAP[__ZN15CProfileManager4RootE+8] = 0;
    IHEAP[__ZN15CProfileManager4RootE+12] = 0;
    IHEAP[__ZN15CProfileManager4RootE+16] = 0;
    IHEAP[__ZN15CProfileManager4RootE+20] = 0;
    IHEAP[__ZN15CProfileManager4RootE+24] = 0;
    IHEAP[__ZN15CProfileManager4RootE+28] = 0;
    __ZN12CProfileNode5ResetEv(__ZN15CProfileManager4RootE);
    var _5 = ___cxa_atexit(___tcf_139.__index__, 0, ___dso_handle);
    ;
    return;
  }
  __GLOBAL__I__ZN7btClockC2Ev.__index__ = Runtime.getFunctionIndex(__GLOBAL__I__ZN7btClockC2Ev, "__GLOBAL__I__ZN7btClockC2Ev");
  
  
  function __ZN7btClockC1ERKS_(_this, _other) {
    ;
    var __label__;
    var _0 = __Znwj(8);
    var _1 = _0;
    var _2 = _this;
    IHEAP[_2] = _1;
    var _3 = _other;
    var _4 = IHEAP[_3];
    var _5 = _4;
    var _6 = IHEAP[_5];
    var _7 = _4+4;
    var _8 = IHEAP[_7];
    var _9 = _0;
    IHEAP[_9] = _6;
    var _10 = _0+4;
    var _11 = _10;
    IHEAP[_11] = _8;
    ;
    return;
  }
  __ZN7btClockC1ERKS_.__index__ = Runtime.getFunctionIndex(__ZN7btClockC1ERKS_, "__ZN7btClockC1ERKS_");
  
  
  function __ZN7btClockC2ERKS_(_this, _other) {
    ;
    var __label__;
    var _0 = __Znwj(8);
    var _1 = _0;
    var _2 = _this;
    IHEAP[_2] = _1;
    var _3 = _other;
    var _4 = IHEAP[_3];
    var _5 = _4;
    var _6 = IHEAP[_5];
    var _7 = _4+4;
    var _8 = IHEAP[_7];
    var _9 = _0;
    IHEAP[_9] = _6;
    var _10 = _0+4;
    var _11 = _10;
    IHEAP[_11] = _8;
    ;
    return;
  }
  __ZN7btClockC2ERKS_.__index__ = Runtime.getFunctionIndex(__ZN7btClockC2ERKS_, "__ZN7btClockC2ERKS_");
  
  
  function __ZN12CProfileNode12Get_Sub_NodeEPKc(_this, _name) {
    ;
    var __label__;
    var __lastLabel__ = null;
    var _0 = _this+24;
    __lastLabel__ = -1; ;
    _bb3$19707: while(1) { // _bb3
      var _child_0_in = __lastLabel__ == -1 ? _0 : (_4);
      var _child_0 = IHEAP[_child_0_in];
      var _5 = _child_0 == 0;
      if (_5) { __label__ = 83; /* _bb6 */ break _bb3$19707; }
      var _1 = _child_0;
      var _2 = IHEAP[_1];
      var _3 = _2 == _name;
      if (_3) { __label__ = 2; /* _bb7 */ break _bb3$19707; }
      var _4 = _child_0+28;
      __lastLabel__ = 0; __label__ = 116; /* _bb3 */ continue _bb3$19707;
    }
    if (__label__ == 2) {
      ;
      return _child_0;
    }
    else if (__label__ == 83) {
      var _6 = __Znwj(32);
      var _7 = _6;
      var _8 = _6;
      IHEAP[_8] = _name;
      var _9 = _6+4;
      var _10 = _9;
      IHEAP[_10] = 0;
      var _11 = _6+8;
      var _12 = _11;
      FHEAP[_12] = 0;
      var _13 = _6+12;
      var _14 = _13;
      IHEAP[_14] = 0;
      var _15 = _6+16;
      var _16 = _15;
      IHEAP[_16] = 0;
      var _17 = _6+20;
      var _18 = _17;
      IHEAP[_18] = _this;
      var _19 = _6+24;
      var _20 = _19;
      IHEAP[_20] = 0;
      var _21 = _6+28;
      var _22 = _21;
      IHEAP[_22] = 0;
      __ZN12CProfileNode5ResetEv(_7);
      var _23 = IHEAP[_0];
      IHEAP[_22] = _23;
      IHEAP[_0] = _7;
      ;
      return _7;
    }
  }
  __ZN12CProfileNode12Get_Sub_NodeEPKc.__index__ = Runtime.getFunctionIndex(__ZN12CProfileNode12Get_Sub_NodeEPKc, "__ZN12CProfileNode12Get_Sub_NodeEPKc");
  
  
  function __ZN7btClock19getTimeMicrosecondsEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 8;
    var __label__;
    var _currentTime = __stackBase__;
    var _0 = _gettimeofday(_currentTime, 0);
    var _1 = _currentTime;
    var _2 = IHEAP[_1];
    var _3 = _this;
    var _4 = IHEAP[_3];
    var _5 = _4;
    var _6 = IHEAP[_5];
    var _7 = _2 - _6;
    var _8 = _7 * 1000000;
    var _9 = _currentTime+4;
    var _10 = IHEAP[_9];
    var _11 = _4+4;
    var _12 = IHEAP[_11];
    var _13 = _8 + _10;
    var _14 = _13 - _12;
    STACKTOP = __stackBase__;
    return _14;
  }
  __ZN7btClock19getTimeMicrosecondsEv.__index__ = Runtime.getFunctionIndex(__ZN7btClock19getTimeMicrosecondsEv, "__ZN7btClock19getTimeMicrosecondsEv");
  
  
  function __ZN15CProfileManager20Get_Time_Since_ResetEv() {
    var __stackBase__  = STACKTOP; STACKTOP += 8;
    var __label__;
    var _currentTime_i_i = __stackBase__;
    var _0 = _gettimeofday(_currentTime_i_i, 0);
    var _1 = _currentTime_i_i;
    var _2 = IHEAP[_1];
    var _3 = IHEAP[__ZL13gProfileClock];
    var _4 = _3;
    var _5 = IHEAP[_4];
    var _6 = _2 - _5;
    var _7 = _6 * 1000000;
    var _8 = _currentTime_i_i+4;
    var _9 = IHEAP[_8];
    var _10 = _3+4;
    var _11 = IHEAP[_10];
    var _12 = IHEAP[__ZN15CProfileManager9ResetTimeE];
    var _13 = _7 + _9;
    var _14 = _13 - _11;
    var _15 = _14 - _12;
    var _16 = unSign(_15, 32);
    var _17 = _16 / 1000;
    STACKTOP = __stackBase__;
    return _17;
  }
  __ZN15CProfileManager20Get_Time_Since_ResetEv.__index__ = Runtime.getFunctionIndex(__ZN15CProfileManager20Get_Time_Since_ResetEv, "__ZN15CProfileManager20Get_Time_Since_ResetEv");
  
  
  function __ZN15CProfileManager13dumpRecursiveEP16CProfileIteratori(_profileIterator, _spacing) {
    var __stackBase__  = STACKTOP; STACKTOP += 8;
    var __label__;
    var __lastLabel__ = null;
    var _currentTime_i_i_i = __stackBase__;
    var _0 = _profileIterator;
    var _1 = IHEAP[_0];
    var _2 = _1+24;
    var _3 = IHEAP[_2];
    var _4 = _profileIterator+4;
    IHEAP[_4] = _3;
    var _5 = _3 == 0;
    ;
    _return$_bb$19742: do { 
      if (!_5) {
        ;
        var _6 = _1+20;
        var _7 = IHEAP[_6];
        var _8 = _7 == 0;
        ;
        if (_8) {
          ;
          var _9 = _gettimeofday(_currentTime_i_i_i, 0);
          var _10 = _currentTime_i_i_i;
          var _11 = IHEAP[_10];
          var _12 = IHEAP[__ZL13gProfileClock];
          var _13 = _12;
          var _14 = IHEAP[_13];
          var _15 = _11 - _14;
          var _16 = _15 * 1000000;
          var _17 = _currentTime_i_i_i+4;
          var _18 = IHEAP[_17];
          var _19 = _12+4;
          var _20 = IHEAP[_19];
          var _21 = IHEAP[__ZN15CProfileManager9ResetTimeE];
          var _22 = _18 - _20;
          var _23 = _22 + _16;
          var _24 = _23 - _21;
          var _25 = unSign(_24, 32);
          var _26 = _25 / 1000;
          __lastLabel__ = 0; ;
        }
        else {
          ;
          var _27 = _1+8;
          var _28 = FHEAP[_27];
          __lastLabel__ = 116; ;
        }
        var _iftmp_33_0 = __lastLabel__ == 0 ? _26 : (_28);
        var _29 = IHEAP[__ZN15CProfileManager12FrameCounterE];
        var _30 = _spacing > 0;
        ;
        _bb5$_bb7_thread$19748: do { 
          if (_30) {
            __lastLabel__ = 61; ;
            _bb5$19749: while(1) { // _bb5
              var _i_067 = __lastLabel__ == 82 ? _33 : (0);
              var _32 = _putchar(46);
              var _33 = _i_067 + 1;
              var _exitcond85 = _33 == _spacing;
              if (_exitcond85) { __lastLabel__ = 82; __label__ = 2; /* _bb7 */ break _bb5$19749; } else { __lastLabel__ = 82; __label__ = 82; /* _bb5 */ continue _bb5$19749; }
            }
            var _34 = _puts(__str27);
            if (_30) { __lastLabel__ = 2; ; } else { __lastLabel__ = 2; __label__ = 150; /* _bb10 */ break _bb5$_bb7_thread$19748; }
            _bb8$19752: while(1) { // _bb8
              var _i_165 = __lastLabel__ == 148 ? _36 : (0);
              var _35 = _putchar(46);
              var _36 = _i_165 + 1;
              var _exitcond84 = _36 == _spacing;
              if (_exitcond84) { __lastLabel__ = 148; __label__ = 150; /* _bb10 */ break _bb5$_bb7_thread$19748; } else { __lastLabel__ = 148; __label__ = 148; /* _bb8 */ continue _bb8$19752; }
            }
          }
          else {
            __lastLabel__ = 61; ;
            var _31 = _puts(__str27);
            ;
          }
        } while(0);
        var _37 = _iftmp_33_0;
        var _38 = IHEAP[_0];
        var _39 = _38;
        var _40 = IHEAP[_39];
        var _41 = _printf(__str128, _40, _37);
        var _42 = IHEAP[_4];
        var _43 = _42 == 0;
        ;
        if (_43) {
          __lastLabel__ = 150; ;
        }
        else {
          __lastLabel__ = 150; ;
          var _44 = _iftmp_33_0 > 1.1920928955078125e-7;
          var _45 = _29;
          ;
          _bb_nph48_split_us$_bb_nph48_bb_nph48_split_crit_edge$19758: do { 
            if (_44) {
              ;
              if (_30) { __lastLabel__ = 3684; __label__ = 3685; /* _bb_nph44_us_us */  } else { __lastLabel__ = 3684; __label__ = 3686; /* _bb18_us */  }
              _bb_nph44_us_us$_bb18_us$19760: while(1) { // _bb_nph44_us_us,_bb18_us
                if (__label__ == 3685) {
                  var _57 = __lastLabel__ == 3687 ? _55 : (_42);
                  var _i_246_us_us = __lastLabel__ == 3687 ? _58 : (0);
                  var _accumulated_time_045_us_us = __lastLabel__ == 3687 ? _61 : (0);
                  var _58 = _i_246_us_us + 1;
                  var _59 = _57+8;
                  var _60 = FHEAP[_59];
                  var _61 = _accumulated_time_045_us_us + _60;
                  var _62 = _60 / _iftmp_33_0;
                  var _63 = _62 * 100;
                  var _phitmp35_us_us = _63;
                  __lastLabel__ = 3685; ;
                  _bb16_us_us$19763: while(1) { // _bb16_us_us
                    var _i15_043_us_us = __lastLabel__ == 3685 ? 0 : (_65);
                    var _64 = _putchar(46);
                    var _65 = _i15_043_us_us + 1;
                    var _exitcond = _65 == _spacing;
                    if (_exitcond) { __lastLabel__ = 3689; __label__ = 3687; /* _bb18_us_us */ break _bb16_us_us$19763; } else { __lastLabel__ = 3689; __label__ = 3689; /* _bb16_us_us */ continue _bb16_us_us$19763; }
                  }
                  var __pre86 = IHEAP[_4];
                  var _46 = __pre86+4;
                  var _47 = IHEAP[_46];
                  var _48 = _60;
                  var _49 = _48 / _45;
                  var _50 = __pre86;
                  var _51 = IHEAP[_50];
                  var _52 = _printf(__str229, _i_246_us_us, _51, _phitmp35_us_us, _49, _47);
                  var _53 = IHEAP[_4];
                  var _54 = _53+28;
                  var _55 = IHEAP[_54];
                  IHEAP[_4] = _55;
                  var _56 = _55 == 0;
                  if (_56) { __lastLabel__ = 3687; __label__ = 3688; /* _bb19_bb23_crit_edge */ break _bb_nph48_split_us$_bb_nph48_bb_nph48_split_crit_edge$19758; } else { __lastLabel__ = 3687; __label__ = 3685; /* _bb_nph44_us_us */ continue _bb_nph44_us_us$_bb18_us$19760; }
                }
                else if (__label__ == 3686) {
                  var _66 = __lastLabel__ == 3686 ? _82 : (_42);
                  var _i_246_us = __lastLabel__ == 3686 ? _67 : (0);
                  var _accumulated_time_045_us = __lastLabel__ == 3686 ? _70 : (0);
                  var _67 = _i_246_us + 1;
                  var _68 = _66+8;
                  var _69 = FHEAP[_68];
                  var _70 = _accumulated_time_045_us + _69;
                  var _71 = _69 / _iftmp_33_0;
                  var _72 = _71 * 100;
                  var _phitmp35_us = _72;
                  var _73 = _66+4;
                  var _74 = IHEAP[_73];
                  var _75 = _69;
                  var _76 = _75 / _45;
                  var _77 = _66;
                  var _78 = IHEAP[_77];
                  var _79 = _printf(__str229, _i_246_us, _78, _phitmp35_us, _76, _74);
                  var _80 = IHEAP[_4];
                  var _81 = _80+28;
                  var _82 = IHEAP[_81];
                  IHEAP[_4] = _82;
                  var _83 = _82 == 0;
                  if (_83) { __lastLabel__ = 3686; __label__ = 3688; /* _bb19_bb23_crit_edge */ break _bb_nph48_split_us$_bb_nph48_bb_nph48_split_crit_edge$19758; } else { __lastLabel__ = 3686; __label__ = 3686; /* _bb18_us */ continue _bb_nph44_us_us$_bb18_us$19760; }
                }
              }
            }
            else {
              ;
              if (_30) { __lastLabel__ = 3682; __label__ = 3683; /* _bb_nph44_us63 */  } else { __lastLabel__ = 3682; __label__ = 86; /* _bb18 */  }
              _bb_nph44_us63$_bb18$19768: while(1) { // _bb_nph44_us63,_bb18
                if (__label__ == 3683) {
                  var _97 = __lastLabel__ == 3690 ? _93 : (_42);
                  var _i_246_us52 = __lastLabel__ == 3690 ? _98 : (0);
                  var _accumulated_time_045_us53 = __lastLabel__ == 3690 ? _101 : (0);
                  var _98 = _i_246_us52 + 1;
                  var _99 = _97+8;
                  var _100 = FHEAP[_99];
                  var _101 = _accumulated_time_045_us53 + _100;
                  __lastLabel__ = 3683; ;
                  _bb16_us61$19771: while(1) { // _bb16_us61
                    var _i15_043_us62 = __lastLabel__ == 3683 ? 0 : (_96);
                    var _95 = _putchar(46);
                    var _96 = _i15_043_us62 + 1;
                    var _exitcond70 = _96 == _spacing;
                    if (_exitcond70) { __lastLabel__ = 3691; __label__ = 3690; /* _bb18_us54 */ break _bb16_us61$19771; } else { __lastLabel__ = 3691; __label__ = 3691; /* _bb16_us61 */ continue _bb16_us61$19771; }
                  }
                  var __pre87 = IHEAP[_4];
                  var _84 = __pre87+4;
                  var _85 = IHEAP[_84];
                  var _86 = _100;
                  var _87 = _86 / _45;
                  var _88 = __pre87;
                  var _89 = IHEAP[_88];
                  var _90 = _printf(__str229, _i_246_us52, _89, 0, _87, _85);
                  var _91 = IHEAP[_4];
                  var _92 = _91+28;
                  var _93 = IHEAP[_92];
                  IHEAP[_4] = _93;
                  var _94 = _93 == 0;
                  if (_94) { __lastLabel__ = 3690; __label__ = 3688; /* _bb19_bb23_crit_edge */ break _bb_nph48_split_us$_bb_nph48_bb_nph48_split_crit_edge$19758; } else { __lastLabel__ = 3690; __label__ = 3683; /* _bb_nph44_us63 */ continue _bb_nph44_us63$_bb18$19768; }
                }
                else if (__label__ == 86) {
                  var _102 = __lastLabel__ == 86 ? _116 : (_42);
                  var _i_246 = __lastLabel__ == 86 ? _103 : (0);
                  var _accumulated_time_045 = __lastLabel__ == 86 ? _106 : (0);
                  var _103 = _i_246 + 1;
                  var _104 = _102+8;
                  var _105 = FHEAP[_104];
                  var _106 = _accumulated_time_045 + _105;
                  var _107 = _102+4;
                  var _108 = IHEAP[_107];
                  var _109 = _105;
                  var _110 = _109 / _45;
                  var _111 = _102;
                  var _112 = IHEAP[_111];
                  var _113 = _printf(__str229, _i_246, _112, 0, _110, _108);
                  var _114 = IHEAP[_4];
                  var _115 = _114+28;
                  var _116 = IHEAP[_115];
                  IHEAP[_4] = _116;
                  var _117 = _116 == 0;
                  if (_117) { __lastLabel__ = 86; __label__ = 3688; /* _bb19_bb23_crit_edge */ break _bb_nph48_split_us$_bb_nph48_bb_nph48_split_crit_edge$19758; } else { __lastLabel__ = 86; __label__ = 86; /* _bb18 */ continue _bb_nph44_us63$_bb18$19768; }
                }
              }
            }
          } while(0);
          var _split_in = __lastLabel__ == 3687 ? _i_246_us_us : (__lastLabel__ == 3686 ? _i_246_us : (__lastLabel__ == 3690 ? _i_246_us52 : (_i_246)));
          var _split49 = __lastLabel__ == 3687 ? _61 : (__lastLabel__ == 3686 ? _70 : (__lastLabel__ == 3690 ? _101 : (_106)));
          var _split = _split_in + 1;
          __lastLabel__ = 3688; ;
        }
        var _numChildren_0_lcssa = __lastLabel__ == 3688 ? _split : (0);
        var _accumulated_time_0_lcssa = __lastLabel__ == 3688 ? _split49 : (0);
        var _118 = _iftmp_33_0 < _accumulated_time_0_lcssa;
        ;
        if (_118) {
          ;
          var _119 = _puts(__str330);
          ;
        }
        if (_30) { __lastLabel__ = 3694; __label__ = 626; /* _bb26 */  } else { __lastLabel__ = 3694; __label__ = 66; /* _bb28 */  }
        _bb26$_bb28$19780: while(1) { // _bb26,_bb28
          if (__label__ == 626) {
            var _i_341 = __lastLabel__ == 626 ? _121 : (0);
            var _120 = _putchar(46);
            var _121 = _i_341 + 1;
            var _exitcond80 = _121 == _spacing;
            if (_exitcond80) { __lastLabel__ = 626; __label__ = 66; /* _bb28 */ continue _bb26$_bb28$19780; } else { __lastLabel__ = 626; __label__ = 626; /* _bb26 */ continue _bb26$_bb28$19780; }
          }
          else if (__label__ == 66) {
            var _122 = _iftmp_33_0 - _accumulated_time_0_lcssa;
            var _123 = _122;
            var _124 = _iftmp_33_0 > 1.1920928955078125e-7;
            if (_124) { __lastLabel__ = 66; __label__ = 6; /* _bb29 */ break _bb26$_bb28$19780; } else { __lastLabel__ = 66; __label__ = 89; /* _bb31 */ break _bb26$_bb28$19780; }
          }
        }
        if (__label__ == 6) {
          var _125 = _122 / _iftmp_33_0;
          var _126 = _125 * 100;
          var _phitmp = _126;
          __lastLabel__ = 6; ;
        }
        var _iftmp_36_0 = __lastLabel__ == 6 ? _phitmp : (0);
        var _127 = _printf(__str431, __str532, _iftmp_36_0, _123);
        var _128 = _numChildren_0_lcssa > 0;
        if (!(_128)) { __label__ = 44; /* _return */ break _return$_bb$19742; }
        var _129 = _spacing + 3;
        var __pre = IHEAP[_0];
        __lastLabel__ = 130; ;
        _bb32$19788: while(1) { // _bb32
          var _130 = __lastLabel__ == 130 ? __pre : (_152);
          var _131 = __lastLabel__ == 130 ? 0 : (_155);
          var _tmp8_i = _131 + -1;
          var _132 = _130+24;
          var _133 = IHEAP[_132];
          IHEAP[_4] = _133;
          var _134 = _133 != 0;
          var _135 = _131 != 0;
          var _136 = _134 & _135;
          if (_136) { __lastLabel__ = 91; __label__ = 3696; /* _bb_i36 */  } else { __lastLabel__ = 91; __label__ = 135; /* _bb4_i */  }
          _bb_i36$_bb4_i$19790: while(1) { // _bb_i36,_bb4_i
            if (__label__ == 3696) {
              var _137 = __lastLabel__ == 3696 ? _140 : (_133);
              var _138 = __lastLabel__ == 3696 ? _indvar_next_i : (0);
              var _139 = _137+28;
              var _140 = IHEAP[_139];
              IHEAP[_4] = _140;
              var _141 = _140 != 0;
              var _142 = _tmp8_i != _138;
              var _143 = _141 & _142;
              var _indvar_next_i = _138 + 1;
              if (_143) { __lastLabel__ = 3696; __label__ = 3696; /* _bb_i36 */ continue _bb_i36$_bb4_i$19790; } else { __lastLabel__ = 3696; __label__ = 135; /* _bb4_i */ continue _bb_i36$_bb4_i$19790; }
            }
            else if (__label__ == 135) {
              var _144 = __lastLabel__ == 91 ? _133 : (_140);
              var _145 = _144 == 0;
              if (_145) { __label__ = 3697; /* __ZN16CProfileIterator11Enter_ChildEi_exit */ break _bb_i36$_bb4_i$19790; } else { __label__ = 300; /* _bb5_i */ break _bb_i36$_bb4_i$19790; }
            }
          }
          if (__label__ == 300) {
            IHEAP[_0] = _144;
            var _146 = _144+24;
            var _147 = IHEAP[_146];
            IHEAP[_4] = _147;
            ;
          }
          __ZN15CProfileManager13dumpRecursiveEP16CProfileIteratori(_profileIterator, _129);
          var _148 = IHEAP[_0];
          var _149 = _148+20;
          var _150 = IHEAP[_149];
          var _151 = _150 == 0;
          ;
          if (_151) {
            __lastLabel__ = 3697; ;
          }
          else {
            __lastLabel__ = 3697; ;
            IHEAP[_0] = _150;
            __lastLabel__ = 131; ;
          }
          var _152 = __lastLabel__ == 3697 ? _148 : (_150);
          var _153 = _152+24;
          var _154 = IHEAP[_153];
          IHEAP[_4] = _154;
          var _155 = _131 + 1;
          var _exitcond78 = _155 == _numChildren_0_lcssa;
          if (_exitcond78) { __lastLabel__ = 3700; __label__ = 44; /* _return */ break _return$_bb$19742; } else { __lastLabel__ = 3700; __label__ = 91; /* _bb32 */ continue _bb32$19788; }
        }
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN15CProfileManager13dumpRecursiveEP16CProfileIteratori.__index__ = Runtime.getFunctionIndex(__ZN15CProfileManager13dumpRecursiveEP16CProfileIteratori, "__ZN15CProfileManager13dumpRecursiveEP16CProfileIteratori");
  
  
  function __ZN15CProfileManager7dumpAllEv() {
    ;
    var __label__;
    var _0 = __Znwj(8);
    var _1 = _0;
    var _2 = _0;
    IHEAP[_2] = __ZN15CProfileManager4RootE;
    var _3 = IHEAP[__ZN15CProfileManager4RootE+24];
    var _4 = _0+4;
    var _5 = _4;
    IHEAP[_5] = _3;
    __ZN15CProfileManager13dumpRecursiveEP16CProfileIteratori(_1, 0);
    __ZdlPv(_0);
    ;
    return;
  }
  __ZN15CProfileManager7dumpAllEv.__index__ = Runtime.getFunctionIndex(__ZN15CProfileManager7dumpAllEv, "__ZN15CProfileManager7dumpAllEv");
  
  
  function __ZN12CProfileNode6ReturnEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 8;
    var __label__;
    var __lastLabel__ = null;
    var _currentTime_i_i = __stackBase__;
    var _0 = _this+16;
    var _1 = IHEAP[_0];
    var _2 = _1 + -1;
    IHEAP[_0] = _2;
    var _3 = _2 == 0;
    ;
    _bb$_bb5$19803: do { 
      if (_3) {
        __lastLabel__ = -1; ;
        var _4 = _this+4;
        var _5 = IHEAP[_4];
        var _6 = _5 == 0;
        if (_6) { __lastLabel__ = 60; __label__ = 82; /* _bb5 */ break _bb$_bb5$19803; } else { __lastLabel__ = 60; ; }
        var _7 = _gettimeofday(_currentTime_i_i, 0);
        var _8 = _currentTime_i_i;
        var _9 = IHEAP[_8];
        var _10 = IHEAP[__ZL13gProfileClock];
        var _11 = _10;
        var _12 = IHEAP[_11];
        var _13 = _9 - _12;
        var _14 = _13 * 1000000;
        var _15 = _currentTime_i_i+4;
        var _16 = IHEAP[_15];
        var _17 = _10+4;
        var _18 = IHEAP[_17];
        var _19 = _this+12;
        var _20 = IHEAP[_19];
        var _21 = _14 + _16;
        var _22 = _21 - _18;
        var _23 = _22 - _20;
        var _24 = _this+8;
        var _25 = FHEAP[_24];
        var _26 = unSign(_23, 32);
        var _27 = _26 / 1000;
        var _28 = _25 + _27;
        FHEAP[_24] = _28;
        var __pre = IHEAP[_0];
        __lastLabel__ = 61; ;
      }
      else {
        __lastLabel__ = -1; ;
      }
    } while(0);
    var _29 = __lastLabel__ == 60 ? 0 : (__lastLabel__ == -1 ? _2 : (__pre));
    var _30 = _29 == 0;
    var _retval67 = _30;
    STACKTOP = __stackBase__;
    return _retval67;
  }
  __ZN12CProfileNode6ReturnEv.__index__ = Runtime.getFunctionIndex(__ZN12CProfileNode6ReturnEv, "__ZN12CProfileNode6ReturnEv");
  
  
  function __ZN15CProfileManager12Stop_ProfileEv() {
    var __stackBase__  = STACKTOP; STACKTOP += 8;
    var __label__;
    var _currentTime_i_i_i = __stackBase__;
    var _0 = IHEAP[__ZN15CProfileManager11CurrentNodeE];
    var _1 = _0+16;
    var _2 = IHEAP[_1];
    var _3 = _2 + -1;
    IHEAP[_1] = _3;
    var _4 = _3 == 0;
    ;
    _bb_i$_return$19808: do { 
      if (_4) {
        ;
        var _5 = _0+4;
        var _6 = IHEAP[_5];
        var _7 = _6 == 0;
        ;
        if (!_7) {
          ;
          var _8 = _gettimeofday(_currentTime_i_i_i, 0);
          var _9 = _currentTime_i_i_i;
          var _10 = IHEAP[_9];
          var _11 = IHEAP[__ZL13gProfileClock];
          var _12 = _11;
          var _13 = IHEAP[_12];
          var _14 = _10 - _13;
          var _15 = _14 * 1000000;
          var _16 = _currentTime_i_i_i+4;
          var _17 = IHEAP[_16];
          var _18 = _11+4;
          var _19 = IHEAP[_18];
          var _20 = _0+12;
          var _21 = IHEAP[_20];
          var _22 = _17 - _19;
          var _23 = _22 + _15;
          var _24 = _23 - _21;
          var _25 = _0+8;
          var _26 = FHEAP[_25];
          var _27 = unSign(_24, 32);
          var _28 = _27 / 1000;
          var _29 = _26 + _28;
          FHEAP[_25] = _29;
          var __pre_i = IHEAP[_1];
          var _30 = __pre_i == 0;
          if (!(_30)) { __label__ = 44; /* _return */ break _bb_i$_return$19808; }
        }
        var _31 = IHEAP[__ZN15CProfileManager11CurrentNodeE];
        var _32 = _31+20;
        var _33 = IHEAP[_32];
        IHEAP[__ZN15CProfileManager11CurrentNodeE] = _33;
        STACKTOP = __stackBase__;
        return;
      }
    } while(0);
    STACKTOP = __stackBase__;
    return;
  }
  __ZN15CProfileManager12Stop_ProfileEv.__index__ = Runtime.getFunctionIndex(__ZN15CProfileManager12Stop_ProfileEv, "__ZN15CProfileManager12Stop_ProfileEv");
  
  
  function __ZN12CProfileNode4CallEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 8;
    var __label__;
    var _currentTime_i_i = __stackBase__;
    var _0 = _this+4;
    var _1 = IHEAP[_0];
    var _2 = _1 + 1;
    IHEAP[_0] = _2;
    var _3 = _this+16;
    var _4 = IHEAP[_3];
    var _5 = _4 + 1;
    IHEAP[_3] = _5;
    var _6 = _5 == 1;
    ;
    if (_6) {
      ;
      var _7 = _this+12;
      var _8 = _gettimeofday(_currentTime_i_i, 0);
      var _9 = _currentTime_i_i;
      var _10 = IHEAP[_9];
      var _11 = IHEAP[__ZL13gProfileClock];
      var _12 = _11;
      var _13 = IHEAP[_12];
      var _14 = _10 - _13;
      var _15 = _14 * 1000000;
      var _16 = _currentTime_i_i+4;
      var _17 = IHEAP[_16];
      var _18 = _11+4;
      var _19 = IHEAP[_18];
      var _20 = _15 + _17;
      var _21 = _20 - _19;
      IHEAP[_7] = _21;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN12CProfileNode4CallEv.__index__ = Runtime.getFunctionIndex(__ZN12CProfileNode4CallEv, "__ZN12CProfileNode4CallEv");
  
  
  function __ZN15CProfileManager13Start_ProfileEPKc(_name) {
    var __stackBase__  = STACKTOP; STACKTOP += 8;
    var __label__;
    var __lastLabel__ = null;
    var _currentTime_i_i_i = __stackBase__;
    var _0 = IHEAP[__ZN15CProfileManager11CurrentNodeE];
    var _1 = _0;
    var _2 = IHEAP[_1];
    var _3 = _2 == _name;
    ;
    if (_3) {
      __lastLabel__ = -1; ;
    }
    else {
      __lastLabel__ = -1; ;
      var _4 = _0+24;
      __lastLabel__ = 60; ;
      _bb3_i$19821: while(1) { // _bb3_i
        var _child_0_in_i = __lastLabel__ == 60 ? _4 : (_8);
        var _child_0_i = IHEAP[_child_0_in_i];
        var _9 = _child_0_i == 0;
        if (_9) { __label__ = 136; /* _bb6_i */ break _bb3_i$19821; }
        var _5 = _child_0_i;
        var _6 = IHEAP[_5];
        var _7 = _6 == _name;
        if (_7) { __lastLabel__ = 654; __label__ = 3703; /* __ZN12CProfileNode12Get_Sub_NodeEPKc_exit */ break _bb3_i$19821; } else { __lastLabel__ = 654; ; }
        var _8 = _child_0_i+28;
        __lastLabel__ = 132; __label__ = 133; /* _bb3_i */ continue _bb3_i$19821;
      }
      if (__label__ == 136) {
        var _10 = __Znwj(32);
        var _11 = _10;
        var _12 = _10;
        IHEAP[_12] = _name;
        var _13 = _10+4;
        var _14 = _13;
        IHEAP[_14] = 0;
        var _15 = _10+8;
        var _16 = _15;
        FHEAP[_16] = 0;
        var _17 = _10+12;
        var _18 = _17;
        IHEAP[_18] = 0;
        var _19 = _10+16;
        var _20 = _19;
        IHEAP[_20] = 0;
        var _21 = _10+20;
        var _22 = _21;
        IHEAP[_22] = _0;
        var _23 = _10+24;
        var _24 = _23;
        IHEAP[_24] = 0;
        var _25 = _10+28;
        var _26 = _25;
        IHEAP[_26] = 0;
        __ZN12CProfileNode5ResetEv(_11);
        var _27 = IHEAP[_4];
        IHEAP[_26] = _27;
        IHEAP[_4] = _11;
        __lastLabel__ = 136; ;
      }
      var _28 = __lastLabel__ == 136 ? _11 : (_child_0_i);
      IHEAP[__ZN15CProfileManager11CurrentNodeE] = _28;
      __lastLabel__ = 3703; ;
    }
    var _29 = __lastLabel__ == -1 ? _0 : (_28);
    var _30 = _29+4;
    var _31 = IHEAP[_30];
    var _32 = _31 + 1;
    IHEAP[_30] = _32;
    var _33 = _29+16;
    var _34 = IHEAP[_33];
    var _35 = _34 + 1;
    IHEAP[_33] = _35;
    var _36 = _35 == 1;
    ;
    if (_36) {
      ;
      var _37 = _29+12;
      var _38 = _gettimeofday(_currentTime_i_i_i, 0);
      var _39 = _currentTime_i_i_i;
      var _40 = IHEAP[_39];
      var _41 = IHEAP[__ZL13gProfileClock];
      var _42 = _41;
      var _43 = IHEAP[_42];
      var _44 = _40 - _43;
      var _45 = _44 * 1000000;
      var _46 = _currentTime_i_i_i+4;
      var _47 = IHEAP[_46];
      var _48 = _41+4;
      var _49 = IHEAP[_48];
      var _50 = _47 - _49;
      var _51 = _50 + _45;
      IHEAP[_37] = _51;
      STACKTOP = __stackBase__;
      return;
    }
    else {
      ;
      STACKTOP = __stackBase__;
      return;
    }
  }
  __ZN15CProfileManager13Start_ProfileEPKc.__index__ = Runtime.getFunctionIndex(__ZN15CProfileManager13Start_ProfileEPKc, "__ZN15CProfileManager13Start_ProfileEPKc");
  
  
  function __ZN7btClock19getTimeMillisecondsEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 8;
    var __label__;
    var _currentTime = __stackBase__;
    var _0 = _gettimeofday(_currentTime, 0);
    var _1 = _currentTime;
    var _2 = IHEAP[_1];
    var _3 = _this;
    var _4 = IHEAP[_3];
    var _5 = _4;
    var _6 = IHEAP[_5];
    var _7 = _2 - _6;
    var _8 = _7 * 1000;
    var _9 = _currentTime+4;
    var _10 = IHEAP[_9];
    var _11 = _4+4;
    var _12 = IHEAP[_11];
    var _13 = _10 - _12;
    var _14 = Math.floor(_13 / 1000);
    var _15 = _14 + _8;
    STACKTOP = __stackBase__;
    return _15;
  }
  __ZN7btClock19getTimeMillisecondsEv.__index__ = Runtime.getFunctionIndex(__ZN7btClock19getTimeMillisecondsEv, "__ZN7btClock19getTimeMillisecondsEv");
  
  
  function __ZN7btClock5resetEv(_this) {
    ;
    var __label__;
    var _0 = _this;
    var _1 = IHEAP[_0];
    var _2 = _1;
    var _3 = _gettimeofday(_2, 0);
    ;
    return;
  }
  __ZN7btClock5resetEv.__index__ = Runtime.getFunctionIndex(__ZN7btClock5resetEv, "__ZN7btClock5resetEv");
  
  
  function __ZN15CProfileManager5ResetEv() {
    var __stackBase__  = STACKTOP; STACKTOP += 16;
    var __label__;
    var _currentTime_i_i = __stackBase__;
    var _currentTime_i_i_i = __stackBase__+8;
    var _0 = IHEAP[__ZL13gProfileClock];
    var _1 = _0;
    var _2 = _gettimeofday(_1, 0);
    __ZN12CProfileNode5ResetEv(__ZN15CProfileManager4RootE);
    var _3 = IHEAP[__ZN15CProfileManager4RootE+4];
    var _4 = _3 + 1;
    IHEAP[__ZN15CProfileManager4RootE+4] = _4;
    var _5 = IHEAP[__ZN15CProfileManager4RootE+16];
    var _6 = _5 + 1;
    IHEAP[__ZN15CProfileManager4RootE+16] = _6;
    var _7 = _6 == 1;
    ;
    if (_7) {
      ;
      var _8 = _gettimeofday(_currentTime_i_i_i, 0);
      var _9 = _currentTime_i_i_i;
      var _10 = IHEAP[_9];
      var _11 = IHEAP[__ZL13gProfileClock];
      var _12 = _11;
      var _13 = IHEAP[_12];
      var _14 = _10 - _13;
      var _15 = _14 * 1000000;
      var _16 = _currentTime_i_i_i+4;
      var _17 = IHEAP[_16];
      var _18 = _11+4;
      var _19 = IHEAP[_18];
      var _20 = _17 - _19;
      var _21 = _20 + _15;
      IHEAP[__ZN15CProfileManager4RootE+12] = _21;
      ;
    }
    IHEAP[__ZN15CProfileManager12FrameCounterE] = 0;
    var _22 = _gettimeofday(_currentTime_i_i, 0);
    var _23 = _currentTime_i_i;
    var _24 = IHEAP[_23];
    var _25 = IHEAP[__ZL13gProfileClock];
    var _26 = _25;
    var _27 = IHEAP[_26];
    var _28 = _24 - _27;
    var _29 = _28 * 1000000;
    var _30 = _currentTime_i_i+4;
    var _31 = IHEAP[_30];
    var _32 = _25+4;
    var _33 = IHEAP[_32];
    var _34 = _29 + _31;
    var _35 = _34 - _33;
    IHEAP[__ZN15CProfileManager9ResetTimeE] = _35;
    STACKTOP = __stackBase__;
    return;
  }
  __ZN15CProfileManager5ResetEv.__index__ = Runtime.getFunctionIndex(__ZN15CProfileManager5ResetEv, "__ZN15CProfileManager5ResetEv");
  
  
  function __ZN7btClockC1Ev(_this) {
    ;
    var __label__;
    var _0 = __Znwj(8);
    var _1 = _0;
    var _2 = _this;
    IHEAP[_2] = _1;
    var _3 = _0;
    var _4 = _gettimeofday(_3, 0);
    ;
    return;
  }
  __ZN7btClockC1Ev.__index__ = Runtime.getFunctionIndex(__ZN7btClockC1Ev, "__ZN7btClockC1Ev");
  
  // === Auto-generated postamble setup entry stuff ===
  
  function run(args) {
    __initializeRuntime__();
  
    var globalFuncs = [];
  
      globalFuncs.push(function() { _llvm_used = Pointer_make([ _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0, _llvm_eh_catch_all_value, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _sBulletDNAlen = Pointer_make([5704], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _sBulletDNAstr = Pointer_make([83,68,78,65,78,65,77,69,177,0,0,0,109,95,115,105,122,101,0,109,95,99,97,112,97,99,105,116,121,0,42,109,95,100,97,116,97,0,109,95,99,111,108,108,105,115,105,111,110,83,104,97,112,101,115,0,109,95,99,111,108,108,105,115,105,111,110,79,98,106,101,99,116,115,0,109,95,99,111,110,115,116,114,97,105,110,116,115,0,42,102,105,114,115,116,0,42,108,97,115,116,0,109,95,102,108,111,97,116,115,91,52,93,0,109,95,101,108,91,51,93,0,109,95,98,97,115,105,115,0,109,95,111,114,105,103,105,110,0,109,95,114,111,111,116,78,111,100,101,73,110,100,101,120,0,109,95,115,117,98,116,114,101,101,83,105,122,101,0,109,95,113,117,97,110,116,105,122,101,100,65,97,98,98,77,105,110,91,51,93,0,109,95,113,117,97,110,116,105,122,101,100,65,97,98,98,77,97,120,91,51,93,0,109,95,97,97,98,98,77,105,110,79,114,103,0,109,95,97,97,98,98,77,97,120,79,114,103,0,109,95,101,115,99,97,112,101,73,110,100,101,120,0,109,95,115,117,98,80,97,114,116,0,109,95,116,114,105,97,110,103,108,101,73,110,100,101,120,0,109,95,112,97,100,91,52,93,0,109,95,101,115,99,97,112,101,73,110,100,101,120,79,114,84,114,105,97,110,103,108,101,73,110,100,101,120,0,109,95,98,118,104,65,97,98,98,77,105,110,0,109,95,98,118,104,65,97,98,98,77,97,120,0,109,95,98,118,104,81,117,97,110,116,105,122,97,116,105,111,110,0,109,95,99,117,114,78,111,100,101,73,110,100,101,120,0,109,95,117,115,101,81,117,97,110,116,105,122,97,116,105,111,110,0,109,95,110,117,109,67,111,110,116,105,103,117,111,117,115,76,101,97,102,78,111,100,101,115,0,109,95,110,117,109,81,117,97,110,116,105,122,101,100,67,111,110,116,105,103,117,111,117,115,78,111,100,101,115,0,42,109,95,99,111,110,116,105,103,117,111,117,115,78,111,100,101,115,80,116,114,0,42,109,95,113,117,97,110,116,105,122,101,100,67,111,110,116,105,103,117,111,117,115,78,111,100,101,115,80,116,114,0,42,109,95,115,117,98,84,114,101,101,73,110,102,111,80,116,114,0,109,95,116,114,97,118,101,114,115,97,108,77,111,100,101,0,109,95,110,117,109,83,117,98,116,114,101,101,72,101,97,100,101,114,115,0,42,109,95,110,97,109,101,0,109,95,115,104,97,112,101,84,121,112,101,0,109,95,112,97,100,100,105,110,103,91,52,93,0,109,95,99,111,108,108,105,115,105,111,110,83,104,97,112,101,68,97,116,97,0,109,95,108,111,99,97,108,83,99,97,108,105,110,103,0,109,95,112,108,97,110,101,78,111,114,109,97,108,0,109,95,112,108,97,110,101,67,111,110,115,116,97,110,116,0,109,95,105,109,112,108,105,99,105,116,83,104,97,112,101,68,105,109,101,110,115,105,111,110,115,0,109,95,99,111,108,108,105,115,105,111,110,77,97,114,103,105,110,0,109,95,112,97,100,100,105,110,103,0,109,95,112,111,115,0,109,95,114,97,100,105,117,115,0,109,95,99,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0,42,109,95,108,111,99,97,108,80,111,115,105,116,105,111,110,65,114,114,97,121,80,116,114,0,109,95,108,111,99,97,108,80,111,115,105,116,105,111,110,65,114,114,97,121,83,105,122,101,0,109,95,118,97,108,117,101,0,109,95,112,97,100,91,50,93,0,109,95,118,97,108,117,101,115,91,51,93,0,42,109,95,118,101,114,116,105,99,101,115,51,102,0,42,109,95,118,101,114,116,105,99,101,115,51,100,0,42,109,95,105,110,100,105,99,101,115,51,50,0,42,109,95,51,105,110,100,105,99,101,115,49,54,0,42,109,95,105,110,100,105,99,101,115,49,54,0,109,95,110,117,109,84,114,105,97,110,103,108,101,115,0,109,95,110,117,109,86,101,114,116,105,99,101,115,0,42,109,95,109,101,115,104,80,97,114,116,115,80,116,114,0,109,95,115,99,97,108,105,110,103,0,109,95,110,117,109,77,101,115,104,80,97,114,116,115,0,109,95,109,101,115,104,73,110,116,101,114,102,97,99,101,0,42,109,95,113,117,97,110,116,105,122,101,100,70,108,111,97,116,66,118,104,0,42,109,95,113,117,97,110,116,105,122,101,100,68,111,117,98,108,101,66,118,104,0,42,109,95,116,114,105,97,110,103,108,101,73,110,102,111,77,97,112,0,109,95,112,97,100,51,91,52,93,0,109,95,116,114,97,110,115,102,111,114,109,0,42,109,95,99,104,105,108,100,83,104,97,112,101,0,109,95,99,104,105,108,100,83,104,97,112,101,84,121,112,101,0,109,95,99,104,105,108,100,77,97,114,103,105,110,0,42,109,95,99,104,105,108,100,83,104,97,112,101,80,116,114,0,109,95,110,117,109,67,104,105,108,100,83,104,97,112,101,115,0,109,95,117,112,65,120,105,115,0,109,95,102,108,97,103,115,0,109,95,101,100,103,101,86,48,86,49,65,110,103,108,101,0,109,95,101,100,103,101,86,49,86,50,65,110,103,108,101,0,109,95,101,100,103,101,86,50,86,48,65,110,103,108,101,0,42,109,95,104,97,115,104,84,97,98,108,101,80,116,114,0,42,109,95,110,101,120,116,80,116,114,0,42,109,95,118,97,108,117,101,65,114,114,97,121,80,116,114,0,42,109,95,107,101,121,65,114,114,97,121,80,116,114,0,109,95,99,111,110,118,101,120,69,112,115,105,108,111,110,0,109,95,112,108,97,110,97,114,69,112,115,105,108,111,110,0,109,95,101,113,117,97,108,86,101,114,116,101,120,84,104,114,101,115,104,111,108,100,0,109,95,101,100,103,101,68,105,115,116,97,110,99,101,84,104,114,101,115,104,111,108,100,0,109,95,122,101,114,111,65,114,101,97,84,104,114,101,115,104,111,108,100,0,109,95,110,101,120,116,83,105,122,101,0,109,95,104,97,115,104,84,97,98,108,101,83,105,122,101,0,109,95,110,117,109,86,97,108,117,101,115,0,109,95,110,117,109,75,101,121,115,0,109,95,103,105,109,112,97,99,116,83,117,98,84,121,112,101,0,42,109,95,117,110,115,99,97,108,101,100,80,111,105,110,116,115,70,108,111,97,116,80,116,114,0,42,109,95,117,110,115,99,97,108,101,100,80,111,105,110,116,115,68,111,117,98,108,101,80,116,114,0,109,95,110,117,109,85,110,115,99,97,108,101,100,80,111,105,110,116,115,0,109,95,112,97,100,100,105,110,103,51,91,52,93,0,42,109,95,98,114,111,97,100,112,104,97,115,101,72,97,110,100,108,101,0,42,109,95,99,111,108,108,105,115,105,111,110,83,104,97,112,101,0,42,109,95,114,111,111,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,0,109,95,119,111,114,108,100,84,114,97,110,115,102,111,114,109,0,109,95,105,110,116,101,114,112,111,108,97,116,105,111,110,87,111,114,108,100,84,114,97,110,115,102,111,114,109,0,109,95,105,110,116,101,114,112,111,108,97,116,105,111,110,76,105,110,101,97,114,86,101,108,111,99,105,116,121,0,109,95,105,110,116,101,114,112,111,108,97,116,105,111,110,65,110,103,117,108,97,114,86,101,108,111,99,105,116,121,0,109,95,97,110,105,115,111,116,114,111,112,105,99,70,114,105,99,116,105,111,110,0,109,95,99,111,110,116,97,99,116,80,114,111,99,101,115,115,105,110,103,84,104,114,101,115,104,111,108,100,0,109,95,100,101,97,99,116,105,118,97,116,105,111,110,84,105,109,101,0,109,95,102,114,105,99,116,105,111,110,0,109,95,114,101,115,116,105,116,117,116,105,111,110,0,109,95,104,105,116,70,114,97,99,116,105,111,110,0,109,95,99,99,100,83,119,101,112,116,83,112,104,101,114,101,82,97,100,105,117,115,0,109,95,99,99,100,77,111,116,105,111,110,84,104,114,101,115,104,111,108,100,0,109,95,104,97,115,65,110,105,115,111,116,114,111,112,105,99,70,114,105,99,116,105,111,110,0,109,95,99,111,108,108,105,115,105,111,110,70,108,97,103,115,0,109,95,105,115,108,97,110,100,84,97,103,49,0,109,95,99,111,109,112,97,110,105,111,110,73,100,0,109,95,97,99,116,105,118,97,116,105,111,110,83,116,97,116,101,49,0,109,95,105,110,116,101,114,110,97,108,84,121,112,101,0,109,95,99,104,101,99,107,67,111,108,108,105,100,101,87,105,116,104,0,109,95,99,111,108,108,105,115,105,111,110,79,98,106,101,99,116,68,97,116,97,0,109,95,105,110,118,73,110,101,114,116,105,97,84,101,110,115,111,114,87,111,114,108,100,0,109,95,108,105,110,101,97,114,86,101,108,111,99,105,116,121,0,109,95,97,110,103,117,108,97,114,86,101,108,111,99,105,116,121,0,109,95,97,110,103,117,108,97,114,70,97,99,116,111,114,0,109,95,108,105,110,101,97,114,70,97,99,116,111,114,0,109,95,103,114,97,118,105,116,121,0,109,95,103,114,97,118,105,116,121,95,97,99,99,101,108,101,114,97,116,105,111,110,0,109,95,105,110,118,73,110,101,114,116,105,97,76,111,99,97,108,0,109,95,116,111,116,97,108,70,111,114,99,101,0,109,95,116,111,116,97,108,84,111,114,113,117,101,0,109,95,105,110,118,101,114,115,101,77,97,115,115,0,109,95,108,105,110,101,97,114,68,97,109,112,105,110,103,0,109,95,97,110,103,117,108,97,114,68,97,109,112,105,110,103,0,109,95,97,100,100,105,116,105,111,110,97,108,68,97,109,112,105,110,103,70,97,99,116,111,114,0,109,95,97,100,100,105,116,105,111,110,97,108,76,105,110,101,97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111,108,100,83,113,114,0,109,95,97,100,100,105,116,105,111,110,97,108,65,110,103,117,108,97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111,108,100,83,113,114,0,109,95,97,100,100,105,116,105,111,110,97,108,65,110,103,117,108,97,114,68,97,109,112,105,110,103,70,97,99,116,111,114,0,109,95,108,105,110,101,97,114,83,108,101,101,112,105,110,103,84,104,114,101,115,104,111,108,100,0,109,95,97,110,103,117,108,97,114,83,108,101,101,112,105,110,103,84,104,114,101,115,104,111,108,100,0,109,95,97,100,100,105,116,105,111,110,97,108,68,97,109,112,105,110,103,0,109,95,110,117,109,67,111,110,115,116,114,97,105,110,116,82,111,119,115,0,110,117,98,0,42,109,95,114,98,65,0,42,109,95,114,98,66,0,109,95,111,98,106,101,99,116,84,121,112,101,0,109,95,117,115,101,114,67,111,110,115,116,114,97,105,110,116,84,121,112,101,0,109,95,117,115,101,114,67,111,110,115,116,114,97,105,110,116,73,100,0,109,95,110,101,101,100,115,70,101,101,100,98,97,99,107,0,109,95,97,112,112,108,105,101,100,73,109,112,117,108,115,101,0,109,95,100,98,103,68,114,97,119,83,105,122,101,0,109,95,100,105,115,97,98,108,101,67,111,108,108,105,115,105,111,110,115,66,101,116,119,101,101,110,76,105,110,107,101,100,66,111,100,105,101,115,0,109,95,112,97,100,52,91,52,93,0,109,95,116,121,112,101,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,109,95,112,105,118,111,116,73,110,65,0,109,95,112,105,118,111,116,73,110,66,0,109,95,114,98,65,70,114,97,109,101,0,109,95,114,98,66,70,114,97,109,101,0,109,95,117,115,101,82,101,102,101,114,101,110,99,101,70,114,97,109,101,65,0,109,95,97,110,103,117,108,97,114,79,110,108,121,0,109,95,101,110,97,98,108,101,65,110,103,117,108,97,114,77,111,116,111,114,0,109,95,109,111,116,111,114,84,97,114,103,101,116,86,101,108,111,99,105,116,121,0,109,95,109,97,120,77,111,116,111,114,73,109,112,117,108,115,101,0,109,95,108,111,119,101,114,76,105,109,105,116,0,109,95,117,112,112,101,114,76,105,109,105,116,0,109,95,108,105,109,105,116,83,111,102,116,110,101,115,115,0,109,95,98,105,97,115,70,97,99,116,111,114,0,109,95,114,101,108,97,120,97,116,105,111,110,70,97,99,116,111,114,0,109,95,115,119,105,110,103,83,112,97,110,49,0,109,95,115,119,105,110,103,83,112,97,110,50,0,109,95,116,119,105,115,116,83,112,97,110,0,109,95,100,97,109,112,105,110,103,0,109,95,108,105,110,101,97,114,85,112,112,101,114,76,105,109,105,116,0,109,95,108,105,110,101,97,114,76,111,119,101,114,76,105,109,105,116,0,109,95,97,110,103,117,108,97,114,85,112,112,101,114,76,105,109,105,116,0,109,95,97,110,103,117,108,97,114,76,111,119,101,114,76,105,109,105,116,0,109,95,117,115,101,76,105,110,101,97,114,82,101,102,101,114,101,110,99,101,70,114,97,109,101,65,0,109,95,117,115,101,79,102,102,115,101,116,70,111,114,67,111,110,115,116,114,97,105,110,116,70,114,97,109,101,0,84,89,80,69,58,0,0,0,99,104,97,114,0,117,99,104,97,114,0,115,104,111,114,116,0,117,115,104,111,114,116,0,105,110,116,0,108,111,110,103,0,117,108,111,110,103,0,102,108,111,97,116,0,100,111,117,98,108,101,0,118,111,105,100,0,80,111,105,110,116,101,114,65,114,114,97,121,0,98,116,80,104,121,115,105,99,115,83,121,115,116,101,109,0,76,105,115,116,66,97,115,101,0,98,116,86,101,99,116,111,114,51,70,108,111,97,116,68,97,116,97,0,98,116,86,101,99,116,111,114,51,68,111,117,98,108,101,68,97,116,97,0,98,116,77,97,116,114,105,120,51,120,51,70,108,111,97,116,68,97,116,97,0,98,116,77,97,116,114,105,120,51,120,51,68,111,117,98,108,101,68,97,116,97,0,98,116,84,114,97,110,115,102,111,114,109,70,108,111,97,116,68,97,116,97,0,98,116,84,114,97,110,115,102,111,114,109,68,111,117,98,108,101,68,97,116,97,0,98,116,66,118,104,83,117,98,116,114,101,101,73,110,102,111,68,97,116,97,0,98,116,79,112,116,105,109,105,122,101,100,66,118,104,78,111,100,101,70,108,111,97,116,68,97,116,97,0,98,116,79,112,116,105,109,105,122,101,100,66,118,104,78,111,100,101,68,111,117,98,108,101,68,97,116,97,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,70,108,111,97,116,68,97,116,97,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,68,111,117,98,108,101,68,97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,68,97,116,97,0,98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,97,112,101,68,97,116,97,0,98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0,98,116,80,111,115,105,116,105,111,110,65,110,100,82,97,100,105,117,115,0,98,116,77,117,108,116,105,83,112,104,101,114,101,83,104,97,112,101,68,97,116,97,0,98,116,73,110,116,73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114,116,73,110,116,73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114,116,73,110,116,73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97,0,98,116,77,101,115,104,80,97,114,116,68,97,116,97,0,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108,101,73,110,102,111,77,97,112,68,97,116,97,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,67,104,105,108,100,68,97,116,97,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,68,97,116,97,0,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,68,97,116,97,0,98,116,67,97,112,115,117,108,101,83,104,97,112,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108,101,73,110,102,111,68,97,116,97,0,98,116,71,73,109,112,97,99,116,77,101,115,104,83,104,97,112,101,68,97,116,97,0,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112,101,68,97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,68,111,117,98,108,101,68,97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,70,108,111,97,116,68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121,70,108,111,97,116,68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121,68,111,117,98,108,101,68,97,116,97,0,98,116,67,111,110,115,116,114,97,105,110,116,73,110,102,111,49,0,98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121,68,97,116,97,0,98,116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0,98,116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,68,111,117,98,108,101,68,97,116,97,0,98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,68,111,117,98,108,101,68,97,116,97,0,98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0,98,116,67,111,110,101,84,119,105,115,116,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,71,101,110,101,114,105,99,54,68,111,102,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,83,108,105,100,101,114,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,0,84,76,69,78,1,0,1,0,2,0,2,0,4,0,4,0,4,0,4,0,8,0,0,0,12,0,36,0,8,0,16,0,32,0,48,0,96,0,64,0,128,0,20,0,48,0,80,0,16,0,84,0,132,0,12,0,52,0,52,0,20,0,64,0,4,0,4,0,8,0,28,0,28,0,60,0,56,0,76,0,24,0,60,0,60,0,16,0,64,0,68,0,200,1,248,0,224,1,152,3,8,0,44,0,0,0,76,0,108,0,84,1,212,0,204,0,244,0,196,0,83,84,82,67,47,0,0,0,10,0,3,0,4,0,0,0,4,0,1,0,9,0,2,0,11,0,3,0,10,0,3,0,10,0,4,0,10,0,5,0,12,0,2,0,9,0,6,0,9,0,7,0,13,0,1,0,7,0,8,0,14,0,1,0,8,0,8,0,15,0,1,0,13,0,9,0,16,0,1,0,14,0,9,0,17,0,2,0,15,0,10,0,13,0,11,0,18,0,2,0,16,0,10,0,14,0,11,0,19,0,4,0,4,0,12,0,4,0,13,0,2,0,14,0,2,0,15,0,20,0,6,0,13,0,16,0,13,0,17,0,4,0,18,0,4,0,19,0,4,0,20,0,0,0,21,0,21,0,6,0,14,0,16,0,14,0,17,0,4,0,18,0,4,0,19,0,4,0,20,0,0,0,21,0,22,0,3,0,2,0,14,0,2,0,15,0,4,0,22,0,23,0,12,0,13,0,23,0,13,0,24,0,13,0,25,0,4,0,26,0,4,0,27,0,4,0,28,0,4,0,29,0,20,0,30,0,22,0,31,0,19,0,32,0,4,0,33,0,4,0,34,0,24,0,12,0,14,0,23,0,14,0,24,0,14,0,25,0,4,0,26,0,4,0,27,0,4,0,28,0,4,0,29,0,21,0,30,0,22,0,31,0,4,0,33,0,4,0,34,0,19,0,32,0,25,0,3,0,0,0,35,0,4,0,36,0,0,0,37,0,26,0,5,0,25,0,38,0,13,0,39,0,13,0,40,0,7,0,41,0,0,0,21,0,27,0,5,0,25,0,38,0,13,0,39,0,13,0,42,0,7,0,43,0,4,0,44,0,28,0,2,0,13,0,45,0,7,0,46,0,29,0,4,0,27,0,47,0,28,0,48,0,4,0,49,0,0,0,37,0,30,0,1,0,4,0,50,0,31,0,2,0,2,0,50,0,0,0,51,0,32,0,2,0,2,0,52,0,0,0,51,0,33,0,7,0,13,0,53,0,14,0,54,0,30,0,55,0,32,0,56,0,31,0,57,0,4,0,58,0,4,0,59,0,34,0,4,0,33,0,60,0,13,0,61,0,4,0,62,0,0,0,37,0,35,0,7,0,25,0,38,0,34,0,63,0,23,0,64,0,24,0,65,0,36,0,66,0,7,0,43,0,0,0,67,0,37,0,4,0,17,0,68,0,25,0,69,0,4,0,70,0,7,0,71,0,38,0,4,0,25,0,38,0,37,0,72,0,4,0,73,0,7,0,43,0,39,0,3,0,27,0,47,0,4,0,74,0,0,0,37,0,40,0,3,0,27,0,47,0,4,0,74,0,0,0,37,0,41,0,4,0,4,0,75,0,7,0,76,0,7,0,77,0,7,0,78,0,36,0,14,0,4,0,79,0,4,0,80,0,41,0,81,0,4,0,82,0,7,0,83,0,7,0,84,0,7,0,85,0,7,0,86,0,7,0,87,0,4,0,88,0,4,0,89,0,4,0,90,0,4,0,91,0,0,0,37,0,42,0,5,0,25,0,38,0,34,0,63,0,13,0,39,0,7,0,43,0,4,0,92,0,43,0,5,0,27,0,47,0,13,0,93,0,14,0,94,0,4,0,95,0,0,0,96,0,44,0,24,0,9,0,97,0,9,0,98,0,25,0,99,0,0,0,35,0,18,0,100,0,18,0,101,0,14,0,102,0,14,0,103,0,14,0,104,0,8,0,105,0,8,0,106,0,8,0,107,0,8,0,108,0,8,0,109,0,8,0,110,0,8,0,111,0,4,0,112,0,4,0,113,0,4,0,114,0,4,0,115,0,4,0,116,0,4,0,117,0,4,0,118,0,0,0,37,0,45,0,23,0,9,0,97,0,9,0,98,0,25,0,99,0,0,0,35,0,17,0,100,0,17,0,101,0,13,0,102,0,13,0,103,0,13,0,104,0,7,0,105,0,7,0,106,0,7,0,107,0,7,0,108,0,7,0,109,0,7,0,110,0,7,0,111,0,4,0,112,0,4,0,113,0,4,0,114,0,4,0,115,0,4,0,116,0,4,0,117,0,4,0,118,0,46,0,21,0,45,0,119,0,15,0,120,0,13,0,121,0,13,0,122,0,13,0,123,0,13,0,124,0,13,0,125,0,13,0,126,0,13,0,127,0,13,0,128,0,13,0,129,0,7,0,130,0,7,0,131,0,7,0,132,0,7,0,133,0,7,0,134,0,7,0,135,0,7,0,136,0,7,0,137,0,7,0,138,0,4,0,139,0,47,0,22,0,44,0,119,0,16,0,120,0,14,0,121,0,14,0,122,0,14,0,123,0,14,0,124,0,14,0,125,0,14,0,126,0,14,0,127,0,14,0,128,0,14,0,129,0,8,0,130,0,8,0,131,0,8,0,132,0,8,0,133,0,8,0,134,0,8,0,135,0,8,0,136,0,8,0,137,0,8,0,138,0,4,0,139,0,0,0,37,0,48,0,2,0,4,0,140,0,4,0,141,0,49,0,11,0,50,0,142,0,50,0,143,0,0,0,35,0,4,0,144,0,4,0,145,0,4,0,146,0,4,0,147,0,7,0,148,0,7,0,149,0,4,0,150,0,0,0,151,0,51,0,3,0,49,0,152,0,13,0,153,0,13,0,154,0,52,0,3,0,49,0,152,0,14,0,153,0,14,0,154,0,53,0,13,0,49,0,152,0,18,0,155,0,18,0,156,0,4,0,157,0,4,0,158,0,4,0,159,0,7,0,160,0,7,0,161,0,7,0,162,0,7,0,163,0,7,0,164,0,7,0,165,0,7,0,166,0,54,0,13,0,49,0,152,0,17,0,155,0,17,0,156,0,4,0,157,0,4,0,158,0,4,0,159,0,7,0,160,0,7,0,161,0,7,0,162,0,7,0,163,0,7,0,164,0,7,0,165,0,7,0,166,0,55,0,11,0,49,0,152,0,17,0,155,0,17,0,156,0,7,0,167,0,7,0,168,0,7,0,169,0,7,0,164,0,7,0,165,0,7,0,166,0,7,0,170,0,0,0,21,0,56,0,9,0,49,0,152,0,17,0,155,0,17,0,156,0,13,0,171,0,13,0,172,0,13,0,173,0,13,0,174,0,4,0,175,0,4,0,176,0,57,0,9,0,49,0,152,0,17,0,155,0,17,0,156,0,7,0,171,0,7,0,172,0,7,0,173,0,7,0,174,0,4,0,175,0,4,0,176,0] /* SDNANAME\B1\00\00\00m_size\00m_capacity\00*m_data\00m_collisionShapes\00m_collisionObjects\00m_constraints\00*first\00*last\00m_floats[4]\00m_el[3]\00m_basis\00m_origin\00m_rootNodeIndex\00m_subtreeSize\00m_quantizedAabbMin[3]\00m_quantizedAabbMax[3]\00m_aabbMinOrg\00m_aabbMaxOrg\00m_escapeIndex\00m_subPart\00m_triangleIndex\00m_pad[4]\00m_escapeIndexOrTriangleIndex\00m_bvhAabbMin\00m_bvhAabbMax\00m_bvhQuantization\00m_curNodeIndex\00m_useQuantization\00m_numContiguousLeafNodes\00m_numQuantizedContiguousNodes\00*m_contiguousNodesPtr\00*m_quantizedContiguousNodesPtr\00*m_subTreeInfoPtr\00m_traversalMode\00m_numSubtreeHeaders\00*m_name\00m_shapeType\00m_padding[4]\00m_collisionShapeData\00m_localScaling\00m_planeNormal\00m_planeConstant\00m_implicitShapeDimensions\00m_collisionMargin\00m_padding\00m_pos\00m_radius\00m_convexInternalShapeData\00*m_localPositionArrayPtr\00m_localPositionArraySize\00m_value\00m_pad[2]\00m_values[3]\00*m_vertices3f\00*m_vertices3d\00*m_indices32\00*m_3indices16\00*m_indices16\00m_numTriangles\00m_numVertices\00*m_meshPartsPtr\00m_scaling\00m_numMeshParts\00m_meshInterface\00*m_quantizedFloatBvh\00*m_quantizedDoubleBvh\00*m_triangleInfoMap\00m_pad3[4]\00m_transform\00*m_childShape\00m_childShapeType\00m_childMargin\00*m_childShapePtr\00m_numChildShapes\00m_upAxis\00m_flags\00m_edgeV0V1Angle\00m_edgeV1V2Angle\00m_edgeV2V0Angle\00*m_hashTablePtr\00*m_nextPtr\00*m_valueArrayPtr\00*m_keyArrayPtr\00m_convexEpsilon\00m_planarEpsilon\00m_equalVertexThreshold\00m_edgeDistanceThreshold\00m_zeroAreaThreshold\00m_nextSize\00m_hashTableSize\00m_numValues\00m_numKeys\00m_gimpactSubType\00*m_unscaledPointsFloatPtr\00*m_unscaledPointsDoublePtr\00m_numUnscaledPoints\00m_padding3[4]\00*m_broadphaseHandle\00*m_collisionShape\00*m_rootCollisionShape\00m_worldTransform\00m_interpolationWorldTransform\00m_interpolationLinearVelocity\00m_interpolationAngularVelocity\00m_anisotropicFriction\00m_contactProcessingThreshold\00m_deactivationTime\00m_friction\00m_restitution\00m_hitFraction\00m_ccdSweptSphereRadius\00m_ccdMotionThreshold\00m_hasAnisotropicFriction\00m_collisionFlags\00m_islandTag1\00m_companionId\00m_activationState1\00m_internalType\00m_checkCollideWith\00m_collisionObjectData\00m_invInertiaTensorWorld\00m_linearVelocity\00m_angularVelocity\00m_angularFactor\00m_linearFactor\00m_gravity\00m_gravity_acceleration\00m_invInertiaLocal\00m_totalForce\00m_totalTorque\00m_inverseMass\00m_linearDamping\00m_angularDamping\00m_additionalDampingFactor\00m_additionalLinearDampingThresholdSqr\00m_additionalAngularDampingThresholdSqr\00m_additionalAngularDampingFactor\00m_linearSleepingThreshold\00m_angularSleepingThreshold\00m_additionalDamping\00m_numConstraintRows\00nub\00*m_rbA\00*m_rbB\00m_objectType\00m_userConstraintType\00m_userConstraintId\00m_needsFeedback\00m_appliedImpulse\00m_dbgDrawSize\00m_disableCollisionsBetweenLinkedBodies\00m_pad4[4]\00m_typeConstraintData\00m_pivotInA\00m_pivotInB\00m_rbAFrame\00m_rbBFrame\00m_useReferenceFrameA\00m_angularOnly\00m_enableAngularMotor\00m_motorTargetVelocity\00m_maxMotorImpulse\00m_lowerLimit\00m_upperLimit\00m_limitSoftness\00m_biasFactor\00m_relaxationFactor\00m_swingSpan1\00m_swingSpan2\00m_twistSpan\00m_damping\00m_linearUpperLimit\00m_linearLowerLimit\00m_angularUpperLimit\00m_angularLowerLimit\00m_useLinearReferenceFrameA\00m_useOffsetForConstraintFrame\00TYPE:\00\00\00char\00uchar\00short\00ushort\00int\00long\00ulong\00float\00double\00void\00PointerArray\00btPhysicsSystem\00ListBase\00btVector3FloatData\00btVector3DoubleData\00btMatrix3x3FloatData\00btMatrix3x3DoubleData\00btTransformFloatData\00btTransformDoubleData\00btBvhSubtreeInfoData\00btOptimizedBvhNodeFloatData\00btOptimizedBvhNodeDoubleData\00btQuantizedBvhNodeData\00btQuantizedBvhFloatData\00btQuantizedBvhDoubleData\00btCollisionShapeData\00btStaticPlaneShapeData\00btConvexInternalShapeData\00btPositionAndRadius\00btMultiSphereShapeData\00btIntIndexData\00btShortIntIndexData\00btShortIntIndexTripletData\00btMeshPartData\00btStridingMeshInterfaceData\00btTriangleMeshShapeData\00btTriangleInfoMapData\00btCompoundShapeChildData\00btCompoundShapeData\00btCylinderShapeData\00btCapsuleShapeData\00btTriangleInfoData\00btGImpactMeshShapeData\00btConvexHullShapeData\00btCollisionObjectDoubleData\00btCollisionObjectFloatData\00btRigidBodyFloatData\00btRigidBodyDoubleData\00btConstraintInfo1\00btTypedConstraintData\00btRigidBodyData\00btPoint2PointConstraintFloatData\00btPoint2PointConstraintDoubleData\00btHingeConstraintDoubleData\00btHingeConstraintFloatData\00btConeTwistConstraintData\00btGeneric6DofConstraintData\00btSliderConstraintData\00\00TLEN\01\00\01\00\02\00\02\00\04\00\04\00\04\00\04\00\08\00\00\00\0C\00$\00\08\00\10\00 \000\00`\00@\00\80\00\14\000\00P\00\10\00T\00\84\00\0C\004\004\00\14\00@\00\04\00\04\00\08\00\1C\00\1C\00<\008\00L\00\18\00<\00<\00\10\00@\00D\00\C8\01\F8\00\E0\01\98\03\08\00,\00\00\00L\00l\00T\01\D4\00\CC\00\F4\00\C4\00STRC/\00\00\00\0A\00\03\00\04\00\00\00\04\00\01\00\09\00\02\00\0B\00\03\00\0A\00\03\00\0A\00\04\00\0A\00\05\00\0C\00\02\00\09\00\06\00\09\00\07\00\0D\00\01\00\07\00\08\00\0E\00\01\00\08\00\08\00\0F\00\01\00\0D\00\09\00\10\00\01\00\0E\00\09\00\11\00\02\00\0F\00\0A\00\0D\00\0B\00\12\00\02\00\10\00\0A\00\0E\00\0B\00\13\00\04\00\04\00\0C\00\04\00\0D\00\02\00\0E\00\02\00\0F\00\14\00\06\00\0D\00\10\00\0D\00\11\00\04\00\12\00\04\00\13\00\04\00\14\00\00\00\15\00\15\00\06\00\0E\00\10\00\0E\00\11\00\04\00\12\00\04\00\13\00\04\00\14\00\00\00\15\00\16\00\03\00\02\00\0E\00\02\00\0F\00\04\00\16\00\17\00\0C\00\0D\00\17\00\0D\00\18\00\0D\00\19\00\04\00\1A\00\04\00\1B\00\04\00\1C\00\04\00\1D\00\14\00\1E\00\16\00\1F\00\13\00 \00\04\00!\00\04\00\22\00\18\00\0C\00\0E\00\17\00\0E\00\18\00\0E\00\19\00\04\00\1A\00\04\00\1B\00\04\00\1C\00\04\00\1D\00\15\00\1E\00\16\00\1F\00\04\00!\00\04\00\22\00\13\00 \00\19\00\03\00\00\00#\00\04\00$\00\00\00%\00\1A\00\05\00\19\00&\00\0D\00'\00\0D\00(\00\07\00)\00\00\00\15\00\1B\00\05\00\19\00&\00\0D\00'\00\0D\00*\00\07\00+\00\04\00,\00\1C\00\02\00\0D\00-\00\07\00.\00\1D\00\04\00\1B\00/\00\1C\000\00\04\001\00\00\00%\00\1E\00\01\00\04\002\00\1F\00\02\00\02\002\00\00\003\00 \00\02\00\02\004\00\00\003\00!\00\07\00\0D\005\00\0E\006\00\1E\007\00 \008\00\1F\009\00\04\00:\00\04\00;\00\22\00\04\00!\00<\00\0D\00=\00\04\00>\00\00\00%\00#\00\07\00\19\00&\00\22\00?\00\17\00@\00\18\00A\00$\00B\00\07\00+\00\00\00C\00%\00\04\00\11\00D\00\19\00E\00\04\00F\00\07\00G\00&\00\04\00\19\00&\00%\00H\00\04\00I\00\07\00+\00'\00\03\00\1B\00/\00\04\00J\00\00\00%\00(\00\03\00\1B\00/\00\04\00J\00\00\00%\00)\00\04\00\04\00K\00\07\00L\00\07\00M\00\07\00N\00$\00\0E\00\04\00O\00\04\00P\00)\00Q\00\04\00R\00\07\00S\00\07\00T\00\07\00U\00\07\00V\00\07\00W\00\04\00X\00\04\00Y\00\04\00Z\00\04\00[\00\00\00%\00*\00\05\00\19\00&\00\22\00?\00\0D\00'\00\07\00+\00\04\00\5C\00+\00\05\00\1B\00/\00\0D\00]\00\0E\00^\00\04\00_\00\00\00`\00,\00\18\00\09\00a\00\09\00b\00\19\00c\00\00\00#\00\12\00d\00\12\00e\00\0E\00f\00\0E\00g\00\0E\00h\00\08\00i\00\08\00j\00\08\00k\00\08\00l\00\08\00m\00\08\00n\00\08\00o\00\04\00p\00\04\00q\00\04\00r\00\04\00s\00\04\00t\00\04\00u\00\04\00v\00\00\00%\00-\00\17\00\09\00a\00\09\00b\00\19\00c\00\00\00#\00\11\00d\00\11\00e\00\0D\00f\00\0D\00g\00\0D\00h\00\07\00i\00\07\00j\00\07\00k\00\07\00l\00\07\00m\00\07\00n\00\07\00o\00\04\00p\00\04\00q\00\04\00r\00\04\00s\00\04\00t\00\04\00u\00\04\00v\00.\00\15\00-\00w\00\0F\00x\00\0D\00y\00\0D\00z\00\0D\00{\00\0D\00|\00\0D\00}\00\0D\00~\00\0D\00\7F\00\0D\00\80\00\0D\00\81\00\07\00\82\00\07\00\83\00\07\00\84\00\07\00\85\00\07\00\86\00\07\00\87\00\07\00\88\00\07\00\89\00\07\00\8A\00\04\00\8B\00/\00\16\00,\00w\00\10\00x\00\0E\00y\00\0E\00z\00\0E\00{\00\0E\00|\00\0E\00}\00\0E\00~\00\0E\00\7F\00\0E\00\80\00\0E\00\81\00\08\00\82\00\08\00\83\00\08\00\84\00\08\00\85\00\08\00\86\00\08\00\87\00\08\00\88\00\08\00\89\00\08\00\8A\00\04\00\8B\00\00\00%\000\00\02\00\04\00\8C\00\04\00\8D\001\00\0B\002\00\8E\002\00\8F\00\00\00#\00\04\00\90\00\04\00\91\00\04\00\92\00\04\00\93\00\07\00\94\00\07\00\95\00\04\00\96\00\00\00\97\003\00\03\001\00\98\00\0D\00\99\00\0D\00\9A\004\00\03\001\00\98\00\0E\00\99\00\0E\00\9A\005\00\0D\001\00\98\00\12\00\9B\00\12\00\9C\00\04\00\9D\00\04\00\9E\00\04\00\9F\00\07\00\A0\00\07\00\A1\00\07\00\A2\00\07\00\A3\00\07\00\A4\00\07\00\A5\00\07\00\A6\006\00\0D\001\00\98\00\11\00\9B\00\11\00\9C\00\04\00\9D\00\04\00\9E\00\04\00\9F\00\07\00\A0\00\07\00\A1\00\07\00\A2\00\07\00\A3\00\07\00\A4\00\07\00\A5\00\07\00\A6\007\00\0B\001\00\98\00\11\00\9B\00\11\00\9C\00\07\00\A7\00\07\00\A8\00\07\00\A9\00\07\00\A4\00\07\00\A5\00\07\00\A6\00\07\00\AA\00\00\00\15\008\00\09\001\00\98\00\11\00\9B\00\11\00\9C\00\0D\00\AB\00\0D\00\AC\00\0D\00\AD\00\0D\00\AE\00\04\00\AF\00\04\00\B0\009\00\09\001\00\98\00\11\00\9B\00\11\00\9C\00\07\00\AB\00\07\00\AC\00\07\00\AD\00\07\00\AE\00\04\00\AF\00\04\00\B0\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _sBulletDNAlen64 = Pointer_make([5704], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _sBulletDNAstr64 = Pointer_make([83,68,78,65,78,65,77,69,177,0,0,0,109,95,115,105,122,101,0,109,95,99,97,112,97,99,105,116,121,0,42,109,95,100,97,116,97,0,109,95,99,111,108,108,105,115,105,111,110,83,104,97,112,101,115,0,109,95,99,111,108,108,105,115,105,111,110,79,98,106,101,99,116,115,0,109,95,99,111,110,115,116,114,97,105,110,116,115,0,42,102,105,114,115,116,0,42,108,97,115,116,0,109,95,102,108,111,97,116,115,91,52,93,0,109,95,101,108,91,51,93,0,109,95,98,97,115,105,115,0,109,95,111,114,105,103,105,110,0,109,95,114,111,111,116,78,111,100,101,73,110,100,101,120,0,109,95,115,117,98,116,114,101,101,83,105,122,101,0,109,95,113,117,97,110,116,105,122,101,100,65,97,98,98,77,105,110,91,51,93,0,109,95,113,117,97,110,116,105,122,101,100,65,97,98,98,77,97,120,91,51,93,0,109,95,97,97,98,98,77,105,110,79,114,103,0,109,95,97,97,98,98,77,97,120,79,114,103,0,109,95,101,115,99,97,112,101,73,110,100,101,120,0,109,95,115,117,98,80,97,114,116,0,109,95,116,114,105,97,110,103,108,101,73,110,100,101,120,0,109,95,112,97,100,91,52,93,0,109,95,101,115,99,97,112,101,73,110,100,101,120,79,114,84,114,105,97,110,103,108,101,73,110,100,101,120,0,109,95,98,118,104,65,97,98,98,77,105,110,0,109,95,98,118,104,65,97,98,98,77,97,120,0,109,95,98,118,104,81,117,97,110,116,105,122,97,116,105,111,110,0,109,95,99,117,114,78,111,100,101,73,110,100,101,120,0,109,95,117,115,101,81,117,97,110,116,105,122,97,116,105,111,110,0,109,95,110,117,109,67,111,110,116,105,103,117,111,117,115,76,101,97,102,78,111,100,101,115,0,109,95,110,117,109,81,117,97,110,116,105,122,101,100,67,111,110,116,105,103,117,111,117,115,78,111,100,101,115,0,42,109,95,99,111,110,116,105,103,117,111,117,115,78,111,100,101,115,80,116,114,0,42,109,95,113,117,97,110,116,105,122,101,100,67,111,110,116,105,103,117,111,117,115,78,111,100,101,115,80,116,114,0,42,109,95,115,117,98,84,114,101,101,73,110,102,111,80,116,114,0,109,95,116,114,97,118,101,114,115,97,108,77,111,100,101,0,109,95,110,117,109,83,117,98,116,114,101,101,72,101,97,100,101,114,115,0,42,109,95,110,97,109,101,0,109,95,115,104,97,112,101,84,121,112,101,0,109,95,112,97,100,100,105,110,103,91,52,93,0,109,95,99,111,108,108,105,115,105,111,110,83,104,97,112,101,68,97,116,97,0,109,95,108,111,99,97,108,83,99,97,108,105,110,103,0,109,95,112,108,97,110,101,78,111,114,109,97,108,0,109,95,112,108,97,110,101,67,111,110,115,116,97,110,116,0,109,95,105,109,112,108,105,99,105,116,83,104,97,112,101,68,105,109,101,110,115,105,111,110,115,0,109,95,99,111,108,108,105,115,105,111,110,77,97,114,103,105,110,0,109,95,112,97,100,100,105,110,103,0,109,95,112,111,115,0,109,95,114,97,100,105,117,115,0,109,95,99,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0,42,109,95,108,111,99,97,108,80,111,115,105,116,105,111,110,65,114,114,97,121,80,116,114,0,109,95,108,111,99,97,108,80,111,115,105,116,105,111,110,65,114,114,97,121,83,105,122,101,0,109,95,118,97,108,117,101,0,109,95,112,97,100,91,50,93,0,109,95,118,97,108,117,101,115,91,51,93,0,42,109,95,118,101,114,116,105,99,101,115,51,102,0,42,109,95,118,101,114,116,105,99,101,115,51,100,0,42,109,95,105,110,100,105,99,101,115,51,50,0,42,109,95,51,105,110,100,105,99,101,115,49,54,0,42,109,95,105,110,100,105,99,101,115,49,54,0,109,95,110,117,109,84,114,105,97,110,103,108,101,115,0,109,95,110,117,109,86,101,114,116,105,99,101,115,0,42,109,95,109,101,115,104,80,97,114,116,115,80,116,114,0,109,95,115,99,97,108,105,110,103,0,109,95,110,117,109,77,101,115,104,80,97,114,116,115,0,109,95,109,101,115,104,73,110,116,101,114,102,97,99,101,0,42,109,95,113,117,97,110,116,105,122,101,100,70,108,111,97,116,66,118,104,0,42,109,95,113,117,97,110,116,105,122,101,100,68,111,117,98,108,101,66,118,104,0,42,109,95,116,114,105,97,110,103,108,101,73,110,102,111,77,97,112,0,109,95,112,97,100,51,91,52,93,0,109,95,116,114,97,110,115,102,111,114,109,0,42,109,95,99,104,105,108,100,83,104,97,112,101,0,109,95,99,104,105,108,100,83,104,97,112,101,84,121,112,101,0,109,95,99,104,105,108,100,77,97,114,103,105,110,0,42,109,95,99,104,105,108,100,83,104,97,112,101,80,116,114,0,109,95,110,117,109,67,104,105,108,100,83,104,97,112,101,115,0,109,95,117,112,65,120,105,115,0,109,95,102,108,97,103,115,0,109,95,101,100,103,101,86,48,86,49,65,110,103,108,101,0,109,95,101,100,103,101,86,49,86,50,65,110,103,108,101,0,109,95,101,100,103,101,86,50,86,48,65,110,103,108,101,0,42,109,95,104,97,115,104,84,97,98,108,101,80,116,114,0,42,109,95,110,101,120,116,80,116,114,0,42,109,95,118,97,108,117,101,65,114,114,97,121,80,116,114,0,42,109,95,107,101,121,65,114,114,97,121,80,116,114,0,109,95,99,111,110,118,101,120,69,112,115,105,108,111,110,0,109,95,112,108,97,110,97,114,69,112,115,105,108,111,110,0,109,95,101,113,117,97,108,86,101,114,116,101,120,84,104,114,101,115,104,111,108,100,0,109,95,101,100,103,101,68,105,115,116,97,110,99,101,84,104,114,101,115,104,111,108,100,0,109,95,122,101,114,111,65,114,101,97,84,104,114,101,115,104,111,108,100,0,109,95,110,101,120,116,83,105,122,101,0,109,95,104,97,115,104,84,97,98,108,101,83,105,122,101,0,109,95,110,117,109,86,97,108,117,101,115,0,109,95,110,117,109,75,101,121,115,0,109,95,103,105,109,112,97,99,116,83,117,98,84,121,112,101,0,42,109,95,117,110,115,99,97,108,101,100,80,111,105,110,116,115,70,108,111,97,116,80,116,114,0,42,109,95,117,110,115,99,97,108,101,100,80,111,105,110,116,115,68,111,117,98,108,101,80,116,114,0,109,95,110,117,109,85,110,115,99,97,108,101,100,80,111,105,110,116,115,0,109,95,112,97,100,100,105,110,103,51,91,52,93,0,42,109,95,98,114,111,97,100,112,104,97,115,101,72,97,110,100,108,101,0,42,109,95,99,111,108,108,105,115,105,111,110,83,104,97,112,101,0,42,109,95,114,111,111,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,0,109,95,119,111,114,108,100,84,114,97,110,115,102,111,114,109,0,109,95,105,110,116,101,114,112,111,108,97,116,105,111,110,87,111,114,108,100,84,114,97,110,115,102,111,114,109,0,109,95,105,110,116,101,114,112,111,108,97,116,105,111,110,76,105,110,101,97,114,86,101,108,111,99,105,116,121,0,109,95,105,110,116,101,114,112,111,108,97,116,105,111,110,65,110,103,117,108,97,114,86,101,108,111,99,105,116,121,0,109,95,97,110,105,115,111,116,114,111,112,105,99,70,114,105,99,116,105,111,110,0,109,95,99,111,110,116,97,99,116,80,114,111,99,101,115,115,105,110,103,84,104,114,101,115,104,111,108,100,0,109,95,100,101,97,99,116,105,118,97,116,105,111,110,84,105,109,101,0,109,95,102,114,105,99,116,105,111,110,0,109,95,114,101,115,116,105,116,117,116,105,111,110,0,109,95,104,105,116,70,114,97,99,116,105,111,110,0,109,95,99,99,100,83,119,101,112,116,83,112,104,101,114,101,82,97,100,105,117,115,0,109,95,99,99,100,77,111,116,105,111,110,84,104,114,101,115,104,111,108,100,0,109,95,104,97,115,65,110,105,115,111,116,114,111,112,105,99,70,114,105,99,116,105,111,110,0,109,95,99,111,108,108,105,115,105,111,110,70,108,97,103,115,0,109,95,105,115,108,97,110,100,84,97,103,49,0,109,95,99,111,109,112,97,110,105,111,110,73,100,0,109,95,97,99,116,105,118,97,116,105,111,110,83,116,97,116,101,49,0,109,95,105,110,116,101,114,110,97,108,84,121,112,101,0,109,95,99,104,101,99,107,67,111,108,108,105,100,101,87,105,116,104,0,109,95,99,111,108,108,105,115,105,111,110,79,98,106,101,99,116,68,97,116,97,0,109,95,105,110,118,73,110,101,114,116,105,97,84,101,110,115,111,114,87,111,114,108,100,0,109,95,108,105,110,101,97,114,86,101,108,111,99,105,116,121,0,109,95,97,110,103,117,108,97,114,86,101,108,111,99,105,116,121,0,109,95,97,110,103,117,108,97,114,70,97,99,116,111,114,0,109,95,108,105,110,101,97,114,70,97,99,116,111,114,0,109,95,103,114,97,118,105,116,121,0,109,95,103,114,97,118,105,116,121,95,97,99,99,101,108,101,114,97,116,105,111,110,0,109,95,105,110,118,73,110,101,114,116,105,97,76,111,99,97,108,0,109,95,116,111,116,97,108,70,111,114,99,101,0,109,95,116,111,116,97,108,84,111,114,113,117,101,0,109,95,105,110,118,101,114,115,101,77,97,115,115,0,109,95,108,105,110,101,97,114,68,97,109,112,105,110,103,0,109,95,97,110,103,117,108,97,114,68,97,109,112,105,110,103,0,109,95,97,100,100,105,116,105,111,110,97,108,68,97,109,112,105,110,103,70,97,99,116,111,114,0,109,95,97,100,100,105,116,105,111,110,97,108,76,105,110,101,97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111,108,100,83,113,114,0,109,95,97,100,100,105,116,105,111,110,97,108,65,110,103,117,108,97,114,68,97,109,112,105,110,103,84,104,114,101,115,104,111,108,100,83,113,114,0,109,95,97,100,100,105,116,105,111,110,97,108,65,110,103,117,108,97,114,68,97,109,112,105,110,103,70,97,99,116,111,114,0,109,95,108,105,110,101,97,114,83,108,101,101,112,105,110,103,84,104,114,101,115,104,111,108,100,0,109,95,97,110,103,117,108,97,114,83,108,101,101,112,105,110,103,84,104,114,101,115,104,111,108,100,0,109,95,97,100,100,105,116,105,111,110,97,108,68,97,109,112,105,110,103,0,109,95,110,117,109,67,111,110,115,116,114,97,105,110,116,82,111,119,115,0,110,117,98,0,42,109,95,114,98,65,0,42,109,95,114,98,66,0,109,95,111,98,106,101,99,116,84,121,112,101,0,109,95,117,115,101,114,67,111,110,115,116,114,97,105,110,116,84,121,112,101,0,109,95,117,115,101,114,67,111,110,115,116,114,97,105,110,116,73,100,0,109,95,110,101,101,100,115,70,101,101,100,98,97,99,107,0,109,95,97,112,112,108,105,101,100,73,109,112,117,108,115,101,0,109,95,100,98,103,68,114,97,119,83,105,122,101,0,109,95,100,105,115,97,98,108,101,67,111,108,108,105,115,105,111,110,115,66,101,116,119,101,101,110,76,105,110,107,101,100,66,111,100,105,101,115,0,109,95,112,97,100,52,91,52,93,0,109,95,116,121,112,101,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,109,95,112,105,118,111,116,73,110,65,0,109,95,112,105,118,111,116,73,110,66,0,109,95,114,98,65,70,114,97,109,101,0,109,95,114,98,66,70,114,97,109,101,0,109,95,117,115,101,82,101,102,101,114,101,110,99,101,70,114,97,109,101,65,0,109,95,97,110,103,117,108,97,114,79,110,108,121,0,109,95,101,110,97,98,108,101,65,110,103,117,108,97,114,77,111,116,111,114,0,109,95,109,111,116,111,114,84,97,114,103,101,116,86,101,108,111,99,105,116,121,0,109,95,109,97,120,77,111,116,111,114,73,109,112,117,108,115,101,0,109,95,108,111,119,101,114,76,105,109,105,116,0,109,95,117,112,112,101,114,76,105,109,105,116,0,109,95,108,105,109,105,116,83,111,102,116,110,101,115,115,0,109,95,98,105,97,115,70,97,99,116,111,114,0,109,95,114,101,108,97,120,97,116,105,111,110,70,97,99,116,111,114,0,109,95,115,119,105,110,103,83,112,97,110,49,0,109,95,115,119,105,110,103,83,112,97,110,50,0,109,95,116,119,105,115,116,83,112,97,110,0,109,95,100,97,109,112,105,110,103,0,109,95,108,105,110,101,97,114,85,112,112,101,114,76,105,109,105,116,0,109,95,108,105,110,101,97,114,76,111,119,101,114,76,105,109,105,116,0,109,95,97,110,103,117,108,97,114,85,112,112,101,114,76,105,109,105,116,0,109,95,97,110,103,117,108,97,114,76,111,119,101,114,76,105,109,105,116,0,109,95,117,115,101,76,105,110,101,97,114,82,101,102,101,114,101,110,99,101,70,114,97,109,101,65,0,109,95,117,115,101,79,102,102,115,101,116,70,111,114,67,111,110,115,116,114,97,105,110,116,70,114,97,109,101,0,84,89,80,69,58,0,0,0,99,104,97,114,0,117,99,104,97,114,0,115,104,111,114,116,0,117,115,104,111,114,116,0,105,110,116,0,108,111,110,103,0,117,108,111,110,103,0,102,108,111,97,116,0,100,111,117,98,108,101,0,118,111,105,100,0,80,111,105,110,116,101,114,65,114,114,97,121,0,98,116,80,104,121,115,105,99,115,83,121,115,116,101,109,0,76,105,115,116,66,97,115,101,0,98,116,86,101,99,116,111,114,51,70,108,111,97,116,68,97,116,97,0,98,116,86,101,99,116,111,114,51,68,111,117,98,108,101,68,97,116,97,0,98,116,77,97,116,114,105,120,51,120,51,70,108,111,97,116,68,97,116,97,0,98,116,77,97,116,114,105,120,51,120,51,68,111,117,98,108,101,68,97,116,97,0,98,116,84,114,97,110,115,102,111,114,109,70,108,111,97,116,68,97,116,97,0,98,116,84,114,97,110,115,102,111,114,109,68,111,117,98,108,101,68,97,116,97,0,98,116,66,118,104,83,117,98,116,114,101,101,73,110,102,111,68,97,116,97,0,98,116,79,112,116,105,109,105,122,101,100,66,118,104,78,111,100,101,70,108,111,97,116,68,97,116,97,0,98,116,79,112,116,105,109,105,122,101,100,66,118,104,78,111,100,101,68,111,117,98,108,101,68,97,116,97,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,70,108,111,97,116,68,97,116,97,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,68,111,117,98,108,101,68,97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,68,97,116,97,0,98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,97,112,101,68,97,116,97,0,98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0,98,116,80,111,115,105,116,105,111,110,65,110,100,82,97,100,105,117,115,0,98,116,77,117,108,116,105,83,112,104,101,114,101,83,104,97,112,101,68,97,116,97,0,98,116,73,110,116,73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114,116,73,110,116,73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114,116,73,110,116,73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97,0,98,116,77,101,115,104,80,97,114,116,68,97,116,97,0,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108,101,73,110,102,111,77,97,112,68,97,116,97,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,67,104,105,108,100,68,97,116,97,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,68,97,116,97,0,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,68,97,116,97,0,98,116,67,97,112,115,117,108,101,83,104,97,112,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108,101,73,110,102,111,68,97,116,97,0,98,116,71,73,109,112,97,99,116,77,101,115,104,83,104,97,112,101,68,97,116,97,0,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112,101,68,97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,68,111,117,98,108,101,68,97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,70,108,111,97,116,68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121,70,108,111,97,116,68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121,68,111,117,98,108,101,68,97,116,97,0,98,116,67,111,110,115,116,114,97,105,110,116,73,110,102,111,49,0,98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121,68,97,116,97,0,98,116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0,98,116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,68,111,117,98,108,101,68,97,116,97,0,98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,68,111,117,98,108,101,68,97,116,97,0,98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0,98,116,67,111,110,101,84,119,105,115,116,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,71,101,110,101,114,105,99,54,68,111,102,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,83,108,105,100,101,114,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,0,84,76,69,78,1,0,1,0,2,0,2,0,4,0,4,0,4,0,4,0,8,0,0,0,16,0,48,0,16,0,16,0,32,0,48,0,96,0,64,0,128,0,20,0,48,0,80,0,16,0,96,0,144,0,16,0,56,0,56,0,20,0,72,0,4,0,4,0,8,0,48,0,32,0,80,0,72,0,80,0,32,0,64,0,64,0,16,0,72,0,80,0,216,1,8,1,240,1,168,3,8,0,56,0,0,0,88,0,120,0,96,1,224,0,216,0,0,1,208,0,83,84,82,67,47,0,0,0,10,0,3,0,4,0,0,0,4,0,1,0,9,0,2,0,11,0,3,0,10,0,3,0,10,0,4,0,10,0,5,0,12,0,2,0,9,0,6,0,9,0,7,0,13,0,1,0,7,0,8,0,14,0,1,0,8,0,8,0,15,0,1,0,13,0,9,0,16,0,1,0,14,0,9,0,17,0,2,0,15,0,10,0,13,0,11,0,18,0,2,0,16,0,10,0,14,0,11,0,19,0,4,0,4,0,12,0,4,0,13,0,2,0,14,0,2,0,15,0,20,0,6,0,13,0,16,0,13,0,17,0,4,0,18,0,4,0,19,0,4,0,20,0,0,0,21,0,21,0,6,0,14,0,16,0,14,0,17,0,4,0,18,0,4,0,19,0,4,0,20,0,0,0,21,0,22,0,3,0,2,0,14,0,2,0,15,0,4,0,22,0,23,0,12,0,13,0,23,0,13,0,24,0,13,0,25,0,4,0,26,0,4,0,27,0,4,0,28,0,4,0,29,0,20,0,30,0,22,0,31,0,19,0,32,0,4,0,33,0,4,0,34,0,24,0,12,0,14,0,23,0,14,0,24,0,14,0,25,0,4,0,26,0,4,0,27,0,4,0,28,0,4,0,29,0,21,0,30,0,22,0,31,0,4,0,33,0,4,0,34,0,19,0,32,0,25,0,3,0,0,0,35,0,4,0,36,0,0,0,37,0,26,0,5,0,25,0,38,0,13,0,39,0,13,0,40,0,7,0,41,0,0,0,21,0,27,0,5,0,25,0,38,0,13,0,39,0,13,0,42,0,7,0,43,0,4,0,44,0,28,0,2,0,13,0,45,0,7,0,46,0,29,0,4,0,27,0,47,0,28,0,48,0,4,0,49,0,0,0,37,0,30,0,1,0,4,0,50,0,31,0,2,0,2,0,50,0,0,0,51,0,32,0,2,0,2,0,52,0,0,0,51,0,33,0,7,0,13,0,53,0,14,0,54,0,30,0,55,0,32,0,56,0,31,0,57,0,4,0,58,0,4,0,59,0,34,0,4,0,33,0,60,0,13,0,61,0,4,0,62,0,0,0,37,0,35,0,7,0,25,0,38,0,34,0,63,0,23,0,64,0,24,0,65,0,36,0,66,0,7,0,43,0,0,0,67,0,37,0,4,0,17,0,68,0,25,0,69,0,4,0,70,0,7,0,71,0,38,0,4,0,25,0,38,0,37,0,72,0,4,0,73,0,7,0,43,0,39,0,3,0,27,0,47,0,4,0,74,0,0,0,37,0,40,0,3,0,27,0,47,0,4,0,74,0,0,0,37,0,41,0,4,0,4,0,75,0,7,0,76,0,7,0,77,0,7,0,78,0,36,0,14,0,4,0,79,0,4,0,80,0,41,0,81,0,4,0,82,0,7,0,83,0,7,0,84,0,7,0,85,0,7,0,86,0,7,0,87,0,4,0,88,0,4,0,89,0,4,0,90,0,4,0,91,0,0,0,37,0,42,0,5,0,25,0,38,0,34,0,63,0,13,0,39,0,7,0,43,0,4,0,92,0,43,0,5,0,27,0,47,0,13,0,93,0,14,0,94,0,4,0,95,0,0,0,96,0,44,0,24,0,9,0,97,0,9,0,98,0,25,0,99,0,0,0,35,0,18,0,100,0,18,0,101,0,14,0,102,0,14,0,103,0,14,0,104,0,8,0,105,0,8,0,106,0,8,0,107,0,8,0,108,0,8,0,109,0,8,0,110,0,8,0,111,0,4,0,112,0,4,0,113,0,4,0,114,0,4,0,115,0,4,0,116,0,4,0,117,0,4,0,118,0,0,0,37,0,45,0,23,0,9,0,97,0,9,0,98,0,25,0,99,0,0,0,35,0,17,0,100,0,17,0,101,0,13,0,102,0,13,0,103,0,13,0,104,0,7,0,105,0,7,0,106,0,7,0,107,0,7,0,108,0,7,0,109,0,7,0,110,0,7,0,111,0,4,0,112,0,4,0,113,0,4,0,114,0,4,0,115,0,4,0,116,0,4,0,117,0,4,0,118,0,46,0,21,0,45,0,119,0,15,0,120,0,13,0,121,0,13,0,122,0,13,0,123,0,13,0,124,0,13,0,125,0,13,0,126,0,13,0,127,0,13,0,128,0,13,0,129,0,7,0,130,0,7,0,131,0,7,0,132,0,7,0,133,0,7,0,134,0,7,0,135,0,7,0,136,0,7,0,137,0,7,0,138,0,4,0,139,0,47,0,22,0,44,0,119,0,16,0,120,0,14,0,121,0,14,0,122,0,14,0,123,0,14,0,124,0,14,0,125,0,14,0,126,0,14,0,127,0,14,0,128,0,14,0,129,0,8,0,130,0,8,0,131,0,8,0,132,0,8,0,133,0,8,0,134,0,8,0,135,0,8,0,136,0,8,0,137,0,8,0,138,0,4,0,139,0,0,0,37,0,48,0,2,0,4,0,140,0,4,0,141,0,49,0,11,0,50,0,142,0,50,0,143,0,0,0,35,0,4,0,144,0,4,0,145,0,4,0,146,0,4,0,147,0,7,0,148,0,7,0,149,0,4,0,150,0,0,0,151,0,51,0,3,0,49,0,152,0,13,0,153,0,13,0,154,0,52,0,3,0,49,0,152,0,14,0,153,0,14,0,154,0,53,0,13,0,49,0,152,0,18,0,155,0,18,0,156,0,4,0,157,0,4,0,158,0,4,0,159,0,7,0,160,0,7,0,161,0,7,0,162,0,7,0,163,0,7,0,164,0,7,0,165,0,7,0,166,0,54,0,13,0,49,0,152,0,17,0,155,0,17,0,156,0,4,0,157,0,4,0,158,0,4,0,159,0,7,0,160,0,7,0,161,0,7,0,162,0,7,0,163,0,7,0,164,0,7,0,165,0,7,0,166,0,55,0,11,0,49,0,152,0,17,0,155,0,17,0,156,0,7,0,167,0,7,0,168,0,7,0,169,0,7,0,164,0,7,0,165,0,7,0,166,0,7,0,170,0,0,0,21,0,56,0,9,0,49,0,152,0,17,0,155,0,17,0,156,0,13,0,171,0,13,0,172,0,13,0,173,0,13,0,174,0,4,0,175,0,4,0,176,0,57,0,9,0,49,0,152,0,17,0,155,0,17,0,156,0,7,0,171,0,7,0,172,0,7,0,173,0,7,0,174,0,4,0,175,0,4,0,176,0] /* SDNANAME\B1\00\00\00m_size\00m_capacity\00*m_data\00m_collisionShapes\00m_collisionObjects\00m_constraints\00*first\00*last\00m_floats[4]\00m_el[3]\00m_basis\00m_origin\00m_rootNodeIndex\00m_subtreeSize\00m_quantizedAabbMin[3]\00m_quantizedAabbMax[3]\00m_aabbMinOrg\00m_aabbMaxOrg\00m_escapeIndex\00m_subPart\00m_triangleIndex\00m_pad[4]\00m_escapeIndexOrTriangleIndex\00m_bvhAabbMin\00m_bvhAabbMax\00m_bvhQuantization\00m_curNodeIndex\00m_useQuantization\00m_numContiguousLeafNodes\00m_numQuantizedContiguousNodes\00*m_contiguousNodesPtr\00*m_quantizedContiguousNodesPtr\00*m_subTreeInfoPtr\00m_traversalMode\00m_numSubtreeHeaders\00*m_name\00m_shapeType\00m_padding[4]\00m_collisionShapeData\00m_localScaling\00m_planeNormal\00m_planeConstant\00m_implicitShapeDimensions\00m_collisionMargin\00m_padding\00m_pos\00m_radius\00m_convexInternalShapeData\00*m_localPositionArrayPtr\00m_localPositionArraySize\00m_value\00m_pad[2]\00m_values[3]\00*m_vertices3f\00*m_vertices3d\00*m_indices32\00*m_3indices16\00*m_indices16\00m_numTriangles\00m_numVertices\00*m_meshPartsPtr\00m_scaling\00m_numMeshParts\00m_meshInterface\00*m_quantizedFloatBvh\00*m_quantizedDoubleBvh\00*m_triangleInfoMap\00m_pad3[4]\00m_transform\00*m_childShape\00m_childShapeType\00m_childMargin\00*m_childShapePtr\00m_numChildShapes\00m_upAxis\00m_flags\00m_edgeV0V1Angle\00m_edgeV1V2Angle\00m_edgeV2V0Angle\00*m_hashTablePtr\00*m_nextPtr\00*m_valueArrayPtr\00*m_keyArrayPtr\00m_convexEpsilon\00m_planarEpsilon\00m_equalVertexThreshold\00m_edgeDistanceThreshold\00m_zeroAreaThreshold\00m_nextSize\00m_hashTableSize\00m_numValues\00m_numKeys\00m_gimpactSubType\00*m_unscaledPointsFloatPtr\00*m_unscaledPointsDoublePtr\00m_numUnscaledPoints\00m_padding3[4]\00*m_broadphaseHandle\00*m_collisionShape\00*m_rootCollisionShape\00m_worldTransform\00m_interpolationWorldTransform\00m_interpolationLinearVelocity\00m_interpolationAngularVelocity\00m_anisotropicFriction\00m_contactProcessingThreshold\00m_deactivationTime\00m_friction\00m_restitution\00m_hitFraction\00m_ccdSweptSphereRadius\00m_ccdMotionThreshold\00m_hasAnisotropicFriction\00m_collisionFlags\00m_islandTag1\00m_companionId\00m_activationState1\00m_internalType\00m_checkCollideWith\00m_collisionObjectData\00m_invInertiaTensorWorld\00m_linearVelocity\00m_angularVelocity\00m_angularFactor\00m_linearFactor\00m_gravity\00m_gravity_acceleration\00m_invInertiaLocal\00m_totalForce\00m_totalTorque\00m_inverseMass\00m_linearDamping\00m_angularDamping\00m_additionalDampingFactor\00m_additionalLinearDampingThresholdSqr\00m_additionalAngularDampingThresholdSqr\00m_additionalAngularDampingFactor\00m_linearSleepingThreshold\00m_angularSleepingThreshold\00m_additionalDamping\00m_numConstraintRows\00nub\00*m_rbA\00*m_rbB\00m_objectType\00m_userConstraintType\00m_userConstraintId\00m_needsFeedback\00m_appliedImpulse\00m_dbgDrawSize\00m_disableCollisionsBetweenLinkedBodies\00m_pad4[4]\00m_typeConstraintData\00m_pivotInA\00m_pivotInB\00m_rbAFrame\00m_rbBFrame\00m_useReferenceFrameA\00m_angularOnly\00m_enableAngularMotor\00m_motorTargetVelocity\00m_maxMotorImpulse\00m_lowerLimit\00m_upperLimit\00m_limitSoftness\00m_biasFactor\00m_relaxationFactor\00m_swingSpan1\00m_swingSpan2\00m_twistSpan\00m_damping\00m_linearUpperLimit\00m_linearLowerLimit\00m_angularUpperLimit\00m_angularLowerLimit\00m_useLinearReferenceFrameA\00m_useOffsetForConstraintFrame\00TYPE:\00\00\00char\00uchar\00short\00ushort\00int\00long\00ulong\00float\00double\00void\00PointerArray\00btPhysicsSystem\00ListBase\00btVector3FloatData\00btVector3DoubleData\00btMatrix3x3FloatData\00btMatrix3x3DoubleData\00btTransformFloatData\00btTransformDoubleData\00btBvhSubtreeInfoData\00btOptimizedBvhNodeFloatData\00btOptimizedBvhNodeDoubleData\00btQuantizedBvhNodeData\00btQuantizedBvhFloatData\00btQuantizedBvhDoubleData\00btCollisionShapeData\00btStaticPlaneShapeData\00btConvexInternalShapeData\00btPositionAndRadius\00btMultiSphereShapeData\00btIntIndexData\00btShortIntIndexData\00btShortIntIndexTripletData\00btMeshPartData\00btStridingMeshInterfaceData\00btTriangleMeshShapeData\00btTriangleInfoMapData\00btCompoundShapeChildData\00btCompoundShapeData\00btCylinderShapeData\00btCapsuleShapeData\00btTriangleInfoData\00btGImpactMeshShapeData\00btConvexHullShapeData\00btCollisionObjectDoubleData\00btCollisionObjectFloatData\00btRigidBodyFloatData\00btRigidBodyDoubleData\00btConstraintInfo1\00btTypedConstraintData\00btRigidBodyData\00btPoint2PointConstraintFloatData\00btPoint2PointConstraintDoubleData\00btHingeConstraintDoubleData\00btHingeConstraintFloatData\00btConeTwistConstraintData\00btGeneric6DofConstraintData\00btSliderConstraintData\00\00TLEN\01\00\01\00\02\00\02\00\04\00\04\00\04\00\04\00\08\00\00\00\10\000\00\10\00\10\00 \000\00`\00@\00\80\00\14\000\00P\00\10\00`\00\90\00\10\008\008\00\14\00H\00\04\00\04\00\08\000\00 \00P\00H\00P\00 \00@\00@\00\10\00H\00P\00\D8\01\08\01\F0\01\A8\03\08\008\00\00\00X\00x\00`\01\E0\00\D8\00\00\01\D0\00STRC/\00\00\00\0A\00\03\00\04\00\00\00\04\00\01\00\09\00\02\00\0B\00\03\00\0A\00\03\00\0A\00\04\00\0A\00\05\00\0C\00\02\00\09\00\06\00\09\00\07\00\0D\00\01\00\07\00\08\00\0E\00\01\00\08\00\08\00\0F\00\01\00\0D\00\09\00\10\00\01\00\0E\00\09\00\11\00\02\00\0F\00\0A\00\0D\00\0B\00\12\00\02\00\10\00\0A\00\0E\00\0B\00\13\00\04\00\04\00\0C\00\04\00\0D\00\02\00\0E\00\02\00\0F\00\14\00\06\00\0D\00\10\00\0D\00\11\00\04\00\12\00\04\00\13\00\04\00\14\00\00\00\15\00\15\00\06\00\0E\00\10\00\0E\00\11\00\04\00\12\00\04\00\13\00\04\00\14\00\00\00\15\00\16\00\03\00\02\00\0E\00\02\00\0F\00\04\00\16\00\17\00\0C\00\0D\00\17\00\0D\00\18\00\0D\00\19\00\04\00\1A\00\04\00\1B\00\04\00\1C\00\04\00\1D\00\14\00\1E\00\16\00\1F\00\13\00 \00\04\00!\00\04\00\22\00\18\00\0C\00\0E\00\17\00\0E\00\18\00\0E\00\19\00\04\00\1A\00\04\00\1B\00\04\00\1C\00\04\00\1D\00\15\00\1E\00\16\00\1F\00\04\00!\00\04\00\22\00\13\00 \00\19\00\03\00\00\00#\00\04\00$\00\00\00%\00\1A\00\05\00\19\00&\00\0D\00'\00\0D\00(\00\07\00)\00\00\00\15\00\1B\00\05\00\19\00&\00\0D\00'\00\0D\00*\00\07\00+\00\04\00,\00\1C\00\02\00\0D\00-\00\07\00.\00\1D\00\04\00\1B\00/\00\1C\000\00\04\001\00\00\00%\00\1E\00\01\00\04\002\00\1F\00\02\00\02\002\00\00\003\00 \00\02\00\02\004\00\00\003\00!\00\07\00\0D\005\00\0E\006\00\1E\007\00 \008\00\1F\009\00\04\00:\00\04\00;\00\22\00\04\00!\00<\00\0D\00=\00\04\00>\00\00\00%\00#\00\07\00\19\00&\00\22\00?\00\17\00@\00\18\00A\00$\00B\00\07\00+\00\00\00C\00%\00\04\00\11\00D\00\19\00E\00\04\00F\00\07\00G\00&\00\04\00\19\00&\00%\00H\00\04\00I\00\07\00+\00'\00\03\00\1B\00/\00\04\00J\00\00\00%\00(\00\03\00\1B\00/\00\04\00J\00\00\00%\00)\00\04\00\04\00K\00\07\00L\00\07\00M\00\07\00N\00$\00\0E\00\04\00O\00\04\00P\00)\00Q\00\04\00R\00\07\00S\00\07\00T\00\07\00U\00\07\00V\00\07\00W\00\04\00X\00\04\00Y\00\04\00Z\00\04\00[\00\00\00%\00*\00\05\00\19\00&\00\22\00?\00\0D\00'\00\07\00+\00\04\00\5C\00+\00\05\00\1B\00/\00\0D\00]\00\0E\00^\00\04\00_\00\00\00`\00,\00\18\00\09\00a\00\09\00b\00\19\00c\00\00\00#\00\12\00d\00\12\00e\00\0E\00f\00\0E\00g\00\0E\00h\00\08\00i\00\08\00j\00\08\00k\00\08\00l\00\08\00m\00\08\00n\00\08\00o\00\04\00p\00\04\00q\00\04\00r\00\04\00s\00\04\00t\00\04\00u\00\04\00v\00\00\00%\00-\00\17\00\09\00a\00\09\00b\00\19\00c\00\00\00#\00\11\00d\00\11\00e\00\0D\00f\00\0D\00g\00\0D\00h\00\07\00i\00\07\00j\00\07\00k\00\07\00l\00\07\00m\00\07\00n\00\07\00o\00\04\00p\00\04\00q\00\04\00r\00\04\00s\00\04\00t\00\04\00u\00\04\00v\00.\00\15\00-\00w\00\0F\00x\00\0D\00y\00\0D\00z\00\0D\00{\00\0D\00|\00\0D\00}\00\0D\00~\00\0D\00\7F\00\0D\00\80\00\0D\00\81\00\07\00\82\00\07\00\83\00\07\00\84\00\07\00\85\00\07\00\86\00\07\00\87\00\07\00\88\00\07\00\89\00\07\00\8A\00\04\00\8B\00/\00\16\00,\00w\00\10\00x\00\0E\00y\00\0E\00z\00\0E\00{\00\0E\00|\00\0E\00}\00\0E\00~\00\0E\00\7F\00\0E\00\80\00\0E\00\81\00\08\00\82\00\08\00\83\00\08\00\84\00\08\00\85\00\08\00\86\00\08\00\87\00\08\00\88\00\08\00\89\00\08\00\8A\00\04\00\8B\00\00\00%\000\00\02\00\04\00\8C\00\04\00\8D\001\00\0B\002\00\8E\002\00\8F\00\00\00#\00\04\00\90\00\04\00\91\00\04\00\92\00\04\00\93\00\07\00\94\00\07\00\95\00\04\00\96\00\00\00\97\003\00\03\001\00\98\00\0D\00\99\00\0D\00\9A\004\00\03\001\00\98\00\0E\00\99\00\0E\00\9A\005\00\0D\001\00\98\00\12\00\9B\00\12\00\9C\00\04\00\9D\00\04\00\9E\00\04\00\9F\00\07\00\A0\00\07\00\A1\00\07\00\A2\00\07\00\A3\00\07\00\A4\00\07\00\A5\00\07\00\A6\006\00\0D\001\00\98\00\11\00\9B\00\11\00\9C\00\04\00\9D\00\04\00\9E\00\04\00\9F\00\07\00\A0\00\07\00\A1\00\07\00\A2\00\07\00\A3\00\07\00\A4\00\07\00\A5\00\07\00\A6\007\00\0B\001\00\98\00\11\00\9B\00\11\00\9C\00\07\00\A7\00\07\00\A8\00\07\00\A9\00\07\00\A4\00\07\00\A5\00\07\00\A6\00\07\00\AA\00\00\00\15\008\00\09\001\00\98\00\11\00\9B\00\11\00\9C\00\0D\00\AB\00\0D\00\AC\00\0D\00\AD\00\0D\00\AE\00\04\00\AF\00\04\00\B0\009\00\09\001\00\98\00\11\00\9B\00\11\00\9C\00\07\00\AB\00\07\00\AC\00\07\00\AD\00\07\00\AE\00\04\00\AF\00\04\00\B0\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str633 = Pointer_make([82,111,111,116,0] /* Root\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZN15CProfileManager11CurrentNodeE = Pointer_make([__ZN15CProfileManager4RootE], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str532 = Pointer_make([85,110,97,99,99,111,117,110,116,101,100,58,0] /* Unaccounted:\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str431 = Pointer_make([37,115,32,40,37,46,51,102,32,37,37,41,32,58,58,32,37,46,51,102,32,109,115,10,0] /* %s (%.3f %%) :: %.3f ms\0A\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str330 = Pointer_make([119,104,97,116,39,115,32,119,114,111,110,103,0] /* what's wrong\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str229 = Pointer_make([37,100,32,45,45,32,37,115,32,40,37,46,50,102,32,37,37,41,32,58,58,32,37,46,51,102,32,109,115,32,47,32,102,114,97,109,101,32,40,37,100,32,99,97,108,108,115,41,10,0] /* %d -- %s (%.2f %%) :: %.3f ms / frame (%d calls)\0A\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str128 = Pointer_make([80,114,111,102,105,108,105,110,103,58,32,37,115,32,40,116,111,116,97,108,32,114,117,110,110,105,110,103,32,116,105,109,101,58,32,37,46,51,102,32,109,115,41,32,45,45,45,10,0] /* Profiling: %s (total running time: %.3f ms) ---\0A\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str27 = Pointer_make([45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,0] /* ----------------------------------\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZN15CProfileManager9ResetTimeE = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZL13gProfileClock = Pointer_make([0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZN15CProfileManager4RootE = Pointer_make([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZN15CProfileManager12FrameCounterE = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZ20DistanceBetweenLinesRK9btVector3S1_S1_S1_PS_S2_E2cp = Pointer_make([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZGVZ20DistanceBetweenLinesRK9btVector3S1_S1_S1_PS_S2_E2cp = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif = Pointer_make([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZGVZ21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_E3dif = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZN14btHullTriangle4neibEiiE2er = Pointer_make([-1], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _planetestepsilon = Pointer_make([0.0010000000474974513], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _gTotalBytesAlignedAllocs = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _gNumAlignedFree = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZL16sAlignedFreeFunc = Pointer_make([__ZL20btAlignedFreeDefaultPv.__index__], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZL17sAlignedAllocFunc = Pointer_make([__ZL21btAlignedAllocDefaultji.__index__], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZL9sFreeFunc = Pointer_make([__ZL13btFreeDefaultPv.__index__], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZL10sAllocFunc = Pointer_make([__ZL14btAllocDefaultj.__index__], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _gNumAlignedAllocs = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZN17btActionInterface12getFixedBodyEvE7s_fixed = Pointer_make([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZGVZN17btActionInterface12getFixedBodyEvE7s_fixed = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS16btRaycastVehicle = Pointer_make([49,54,98,116,82,97,121,99,97,115,116,86,101,104,105,99,108,101,0] /* 16btRaycastVehicle\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI16btRaycastVehicle = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS16btRaycastVehicle, 0, 0, 0], __ZTI17btActionInterface, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV16btRaycastVehicle = Pointer_make([ 0, 0, 0, 0, __ZTI16btRaycastVehicle, 0, 0, 0, __ZN16btRaycastVehicleD1Ev.__index__, 0, 0, 0, __ZN16btRaycastVehicleD0Ev.__index__, 0, 0, 0, __ZN16btRaycastVehicle12updateActionEP16btCollisionWorldf.__index__, 0, 0, 0, __ZN16btRaycastVehicle9debugDrawEP12btIDebugDraw.__index__, 0, 0, 0, __ZN16btRaycastVehicle13updateVehicleEf.__index__, 0, 0, 0, __ZN16btRaycastVehicle14updateFrictionEf.__index__, 0, 0, 0, __ZN16btRaycastVehicle19setCoordinateSystemEiii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _sideFrictionStiffness2 = Pointer_make([1], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS18btVehicleRaycaster = Pointer_make([49,56,98,116,86,101,104,105,99,108,101,82,97,121,99,97,115,116,101,114,0] /* 18btVehicleRaycaster\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI18btVehicleRaycaster = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS18btVehicleRaycaster, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS25btDefaultVehicleRaycaster = Pointer_make([50,53,98,116,68,101,102,97,117,108,116,86,101,104,105,99,108,101,82,97,121,99,97,115,116,101,114,0] /* 25btDefaultVehicleRaycaster\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI25btDefaultVehicleRaycaster = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS25btDefaultVehicleRaycaster, 0, 0, 0], __ZTI18btVehicleRaycaster, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV25btDefaultVehicleRaycaster = Pointer_make([ 0, 0, 0, 0, __ZTI25btDefaultVehicleRaycaster, 0, 0, 0, __ZN25btDefaultVehicleRaycasterD1Ev.__index__, 0, 0, 0, __ZN25btDefaultVehicleRaycasterD0Ev.__index__, 0, 0, 0, __ZN25btDefaultVehicleRaycaster7castRayERK9btVector3S2_RN18btVehicleRaycaster24btVehicleRaycasterResultE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN16btCollisionWorld24ClosestRayResultCallbackE = Pointer_make([78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,52,67,108,111,115,101,115,116,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0] /* N16btCollisionWorld24ClosestRayResultCallbackE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN16btCollisionWorld24ClosestRayResultCallbackE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSN16btCollisionWorld24ClosestRayResultCallbackE, 0, 0, 0], __ZTIN16btCollisionWorld17RayResultCallbackE, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN16btCollisionWorld24ClosestRayResultCallbackE = Pointer_make([ 0, 0, 0, 0, __ZTIN16btCollisionWorld24ClosestRayResultCallbackE, 0, 0, 0, __ZN16btCollisionWorld24ClosestRayResultCallbackD1Ev.__index__, 0, 0, 0, __ZN16btCollisionWorld24ClosestRayResultCallbackD0Ev.__index__, 0, 0, 0, __ZNK16btCollisionWorld17RayResultCallback14needsCollisionEP17btBroadphaseProxy.__index__, 0, 0, 0, __ZN16btCollisionWorld24ClosestRayResultCallback15addSingleResultERNS_14LocalRayResultEb.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZGVZ15plNearestPointsE7Solver1 = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZGVZ15plNearestPointsE7Solver0 = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZ15plNearestPointsE17sGjkSimplexSolver = Pointer_make([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZGVZ15plNearestPointsE17sGjkSimplexSolver = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str486 = Pointer_make([98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0] /* btConvexInternalShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZ15plNearestPointsE7Solver0 = Pointer_make([0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZ15plNearestPointsE7Solver1 = Pointer_make([0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str385 = Pointer_make([98,116,84,114,105,97,110,103,108,101,73,110,102,111,77,97,112,68,97,116,97,0] /* btTriangleInfoMapData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str284 = Pointer_make([98,116,84,114,105,97,110,103,108,101,73,110,102,111,68,97,116,97,0] /* btTriangleInfoData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str183 = Pointer_make([105,110,116,0] /* int\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str8225 = Pointer_make([84,114,105,97,110,103,108,101,0] /* Triangle\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS21btSimpleDynamicsWorld = Pointer_make([50,49,98,116,83,105,109,112,108,101,68,121,110,97,109,105,99,115,87,111,114,108,100,0] /* 21btSimpleDynamicsWorld\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI21btSimpleDynamicsWorld = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS21btSimpleDynamicsWorld, 0, 0, 0], __ZTI15btDynamicsWorld, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV21btSimpleDynamicsWorld = Pointer_make([ 0, 0, 0, 0, __ZTI21btSimpleDynamicsWorld, 0, 0, 0, __ZN21btSimpleDynamicsWorldD1Ev.__index__, 0, 0, 0, __ZN21btSimpleDynamicsWorldD0Ev.__index__, 0, 0, 0, __ZN21btSimpleDynamicsWorld11updateAabbsEv.__index__, 0, 0, 0, __ZN16btCollisionWorld14setDebugDrawerEP12btIDebugDraw.__index__, 0, 0, 0, __ZN16btCollisionWorld14getDebugDrawerEv.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZN16btCollisionWorld15debugDrawObjectERK11btTransformPK16btCollisionShapeRK9btVector3.__index__, 0, 0, 0, __ZNK16btCollisionWorld7rayTestERK9btVector3S2_RNS_17RayResultCallbackE.__index__, 0, 0, 0, __ZN16btCollisionWorld18addCollisionObjectEP17btCollisionObjectss.__index__, 0, 0, 0, __ZN21btSimpleDynamicsWorld21removeCollisionObjectEP17btCollisionObject.__index__, 0, 0, 0, __ZN16btCollisionWorld33performDiscreteCollisionDetectionEv.__index__, 0, 0, 0, __ZN16btCollisionWorld9serializeEP12btSerializer.__index__, 0, 0, 0, __ZN21btSimpleDynamicsWorld14stepSimulationEfif.__index__, 0, 0, 0, __ZN15btDynamicsWorld13addConstraintEP17btTypedConstraintb.__index__, 0, 0, 0, __ZN15btDynamicsWorld16removeConstraintEP17btTypedConstraint.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZN21btSimpleDynamicsWorld10setGravityERK9btVector3.__index__, 0, 0, 0, __ZNK21btSimpleDynamicsWorld10getGravityEv.__index__, 0, 0, 0, __ZN21btSimpleDynamicsWorld23synchronizeMotionStatesEv.__index__, 0, 0, 0, __ZN21btSimpleDynamicsWorld12addRigidBodyEP11btRigidBody.__index__, 0, 0, 0, __ZN21btSimpleDynamicsWorld15removeRigidBodyEP11btRigidBody.__index__, 0, 0, 0, __ZN21btSimpleDynamicsWorld19setConstraintSolverEP18btConstraintSolver.__index__, 0, 0, 0, __ZN21btSimpleDynamicsWorld19getConstraintSolverEv.__index__, 0, 0, 0, __ZNK15btDynamicsWorld17getNumConstraintsEv.__index__, 0, 0, 0, __ZN15btDynamicsWorld13getConstraintEi.__index__, 0, 0, 0, __ZNK15btDynamicsWorld13getConstraintEi.__index__, 0, 0, 0, __ZNK21btSimpleDynamicsWorld12getWorldTypeEv.__index__, 0, 0, 0, __ZN21btSimpleDynamicsWorld11clearForcesEv.__index__, 0, 0, 0, __ZN15btDynamicsWorld10addVehicleEP17btActionInterface.__index__, 0, 0, 0, __ZN15btDynamicsWorld13removeVehicleEP17btActionInterface.__index__, 0, 0, 0, __ZN15btDynamicsWorld12addCharacterEP17btActionInterface.__index__, 0, 0, 0, __ZN15btDynamicsWorld15removeCharacterEP17btActionInterface.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _gDisableDeactivation = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str68 = Pointer_make([98,116,82,105,103,105,100,66,111,100,121,70,108,111,97,116,68,97,116,97,0] /* btRigidBodyFloatData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS11btRigidBody = Pointer_make([49,49,98,116,82,105,103,105,100,66,111,100,121,0] /* 11btRigidBody\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI11btRigidBody = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS11btRigidBody, 0, 0, 0], __ZTI17btCollisionObject, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV11btRigidBody = Pointer_make([ 0, 0, 0, 0, __ZTI11btRigidBody, 0, 0, 0, __ZN11btRigidBody24checkCollideWithOverrideEP17btCollisionObject.__index__, 0, 0, 0, __ZN11btRigidBodyD1Ev.__index__, 0, 0, 0, __ZN11btRigidBodyD0Ev.__index__, 0, 0, 0, __ZN17btCollisionObject17setCollisionShapeEP16btCollisionShape.__index__, 0, 0, 0, __ZNK11btRigidBody28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK11btRigidBody9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK11btRigidBody21serializeSingleObjectEP12btSerializer.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZL8uniqueId = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _gDeactivationTime = Pointer_make([2], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS23btDiscreteDynamicsWorld = Pointer_make([50,51,98,116,68,105,115,99,114,101,116,101,68,121,110,97,109,105,99,115,87,111,114,108,100,0] /* 23btDiscreteDynamicsWorld\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI23btDiscreteDynamicsWorld = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS23btDiscreteDynamicsWorld, 0, 0, 0], __ZTI15btDynamicsWorld, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV23btDiscreteDynamicsWorld = Pointer_make([ 0, 0, 0, 0, __ZTI23btDiscreteDynamicsWorld, 0, 0, 0, __ZN23btDiscreteDynamicsWorldD1Ev.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorldD0Ev.__index__, 0, 0, 0, __ZN16btCollisionWorld11updateAabbsEv.__index__, 0, 0, 0, __ZN16btCollisionWorld14setDebugDrawerEP12btIDebugDraw.__index__, 0, 0, 0, __ZN16btCollisionWorld14getDebugDrawerEv.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld14debugDrawWorldEv.__index__, 0, 0, 0, __ZN16btCollisionWorld15debugDrawObjectERK11btTransformPK16btCollisionShapeRK9btVector3.__index__, 0, 0, 0, __ZNK16btCollisionWorld7rayTestERK9btVector3S2_RNS_17RayResultCallbackE.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld18addCollisionObjectEP17btCollisionObjectss.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld21removeCollisionObjectEP17btCollisionObject.__index__, 0, 0, 0, __ZN16btCollisionWorld33performDiscreteCollisionDetectionEv.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld9serializeEP12btSerializer.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld14stepSimulationEfif.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld13addConstraintEP17btTypedConstraintb.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld16removeConstraintEP17btTypedConstraint.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld9addActionEP17btActionInterface.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld12removeActionEP17btActionInterface.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld10setGravityERK9btVector3.__index__, 0, 0, 0, __ZNK23btDiscreteDynamicsWorld10getGravityEv.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld23synchronizeMotionStatesEv.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBody.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld15removeRigidBodyEP11btRigidBody.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld19setConstraintSolverEP18btConstraintSolver.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld19getConstraintSolverEv.__index__, 0, 0, 0, __ZNK23btDiscreteDynamicsWorld17getNumConstraintsEv.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld13getConstraintEi.__index__, 0, 0, 0, __ZNK23btDiscreteDynamicsWorld13getConstraintEi.__index__, 0, 0, 0, __ZNK23btDiscreteDynamicsWorld12getWorldTypeEv.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld11clearForcesEv.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld10addVehicleEP17btActionInterface.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld13removeVehicleEP17btActionInterface.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld12addCharacterEP17btActionInterface.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld15removeCharacterEP17btActionInterface.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld25predictUnconstraintMotionEf.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld19integrateTransformsEf.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld26calculateSimulationIslandsEv.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfo.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld28internalSingleStepSimulationEf.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld18saveKinematicStateEf.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBodyss.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld12applyGravityEv.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld11setNumTasksEi.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld14updateVehiclesEf.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS15btDynamicsWorld = Pointer_make([49,53,98,116,68,121,110,97,109,105,99,115,87,111,114,108,100,0] /* 15btDynamicsWorld\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI15btDynamicsWorld = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS15btDynamicsWorld, 0, 0, 0], __ZTI16btCollisionWorld, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV15btDynamicsWorld = Pointer_make([ 0, 0, 0, 0, __ZTI15btDynamicsWorld, 0, 0, 0, __ZN15btDynamicsWorldD1Ev.__index__, 0, 0, 0, __ZN15btDynamicsWorldD0Ev.__index__, 0, 0, 0, __ZN16btCollisionWorld11updateAabbsEv.__index__, 0, 0, 0, __ZN16btCollisionWorld14setDebugDrawerEP12btIDebugDraw.__index__, 0, 0, 0, __ZN16btCollisionWorld14getDebugDrawerEv.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZN16btCollisionWorld15debugDrawObjectERK11btTransformPK16btCollisionShapeRK9btVector3.__index__, 0, 0, 0, __ZNK16btCollisionWorld7rayTestERK9btVector3S2_RNS_17RayResultCallbackE.__index__, 0, 0, 0, __ZN16btCollisionWorld18addCollisionObjectEP17btCollisionObjectss.__index__, 0, 0, 0, __ZN16btCollisionWorld21removeCollisionObjectEP17btCollisionObject.__index__, 0, 0, 0, __ZN16btCollisionWorld33performDiscreteCollisionDetectionEv.__index__, 0, 0, 0, __ZN16btCollisionWorld9serializeEP12btSerializer.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZN15btDynamicsWorld13addConstraintEP17btTypedConstraintb.__index__, 0, 0, 0, __ZN15btDynamicsWorld16removeConstraintEP17btTypedConstraint.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZNK15btDynamicsWorld17getNumConstraintsEv.__index__, 0, 0, 0, __ZN15btDynamicsWorld13getConstraintEi.__index__, 0, 0, 0, __ZNK15btDynamicsWorld13getConstraintEi.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZN15btDynamicsWorld10addVehicleEP17btActionInterface.__index__, 0, 0, 0, __ZN15btDynamicsWorld13removeVehicleEP17btActionInterface.__index__, 0, 0, 0, __ZN15btDynamicsWorld12addCharacterEP17btActionInterface.__index__, 0, 0, 0, __ZN15btDynamicsWorld15removeCharacterEP17btActionInterface.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str1028 = Pointer_make([100,101,98,117,103,68,114,97,119,87,111,114,108,100,0] /* debugDrawWorld\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str927 = Pointer_make([115,121,110,99,104,114,111,110,105,122,101,77,111,116,105,111,110,83,116,97,116,101,115,0] /* synchronizeMotionStates\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str824 = Pointer_make([115,116,101,112,83,105,109,117,108,97,116,105,111,110,0] /* stepSimulation\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str723 = Pointer_make([105,110,116,101,114,110,97,108,83,105,110,103,108,101,83,116,101,112,83,105,109,117,108,97,116,105,111,110,0] /* internalSingleStepSimulation\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str626 = Pointer_make([117,112,100,97,116,101,65,99,116,105,118,97,116,105,111,110,83,116,97,116,101,0] /* updateActivationState\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str525 = Pointer_make([115,111,108,118,101,67,111,110,115,116,114,97,105,110,116,115,0] /* solveConstraints\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _gNumClampedCcdMotions = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str424 = Pointer_make([67,67,68,32,109,111,116,105,111,110,32,99,108,97,109,112,105,110,103,0] /* CCD motion clamping\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str323 = Pointer_make([105,110,116,101,103,114,97,116,101,84,114,97,110,115,102,111,114,109,115,0] /* integrateTransforms\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str222 = Pointer_make([117,112,100,97,116,101,65,99,116,105,111,110,115,0] /* updateActions\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str121 = Pointer_make([99,97,108,99,117,108,97,116,101,83,105,109,117,108,97,116,105,111,110,73,115,108,97,110,100,115,0] /* calculateSimulationIslands\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str20 = Pointer_make([112,114,101,100,105,99,116,85,110,99,111,110,115,116,114,97,105,110,116,77,111,116,105,111,110,0] /* predictUnconstraintMotion\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback = Pointer_make([90,78,50,51,98,116,68,105,115,99,114,101,116,101,68,121,110,97,109,105,99,115,87,111,114,108,100,49,54,115,111,108,118,101,67,111,110,115,116,114,97,105,110,116,115,69,82,49,57,98,116,67,111,110,116,97,99,116,83,111,108,118,101,114,73,110,102,111,69,50,55,73,110,112,108,97,99,101,83,111,108,118,101,114,73,115,108,97,110,100,67,97,108,108,98,97,99,107,0] /* ZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback, 0, 0, 0], __ZTIN25btSimulationIslandManager14IslandCallbackE, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback = Pointer_make([ 0, 0, 0, 0, __ZTIZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoE27InplaceSolverIslandCallback, 0, 0, 0, __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD1Ev.__index__, 0, 0, 0, __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD0Ev.__index__, 0, 0, 0, __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback13ProcessIslandEPP17btCollisionObjectiPP20btPersistentManifoldii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS34btClosestNotMeConvexResultCallback = Pointer_make([51,52,98,116,67,108,111,115,101,115,116,78,111,116,77,101,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,0] /* 34btClosestNotMeConvexResultCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI34btClosestNotMeConvexResultCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS34btClosestNotMeConvexResultCallback, 0, 0, 0], __ZTIN16btCollisionWorld27ClosestConvexResultCallbackE, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV34btClosestNotMeConvexResultCallback = Pointer_make([ 0, 0, 0, 0, __ZTI34btClosestNotMeConvexResultCallback, 0, 0, 0, __ZN34btClosestNotMeConvexResultCallbackD1Ev.__index__, 0, 0, 0, __ZN34btClosestNotMeConvexResultCallbackD0Ev.__index__, 0, 0, 0, __ZNK34btClosestNotMeConvexResultCallback14needsCollisionEP17btBroadphaseProxy.__index__, 0, 0, 0, __ZN34btClosestNotMeConvexResultCallback15addSingleResultERN16btCollisionWorld17LocalConvexResultEb.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN25btSimulationIslandManager14IslandCallbackE = Pointer_make([78,50,53,98,116,83,105,109,117,108,97,116,105,111,110,73,115,108,97,110,100,77,97,110,97,103,101,114,49,52,73,115,108,97,110,100,67,97,108,108,98,97,99,107,69,0] /* N25btSimulationIslandManager14IslandCallbackE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN25btSimulationIslandManager14IslandCallbackE = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTSN25btSimulationIslandManager14IslandCallbackE, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN25btSimulationIslandManager14IslandCallbackE = Pointer_make([ 0, 0, 0, 0, __ZTIN25btSimulationIslandManager14IslandCallbackE, 0, 0, 0, __ZN25btSimulationIslandManager14IslandCallbackD1Ev.__index__, 0, 0, 0, __ZN25btSimulationIslandManager14IslandCallbackD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS25btContinuousDynamicsWorld = Pointer_make([50,53,98,116,67,111,110,116,105,110,117,111,117,115,68,121,110,97,109,105,99,115,87,111,114,108,100,0] /* 25btContinuousDynamicsWorld\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI25btContinuousDynamicsWorld = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS25btContinuousDynamicsWorld, 0, 0, 0], __ZTI23btDiscreteDynamicsWorld, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV25btContinuousDynamicsWorld = Pointer_make([ 0, 0, 0, 0, __ZTI25btContinuousDynamicsWorld, 0, 0, 0, __ZN25btContinuousDynamicsWorldD1Ev.__index__, 0, 0, 0, __ZN25btContinuousDynamicsWorldD0Ev.__index__, 0, 0, 0, __ZN16btCollisionWorld11updateAabbsEv.__index__, 0, 0, 0, __ZN16btCollisionWorld14setDebugDrawerEP12btIDebugDraw.__index__, 0, 0, 0, __ZN16btCollisionWorld14getDebugDrawerEv.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld14debugDrawWorldEv.__index__, 0, 0, 0, __ZN16btCollisionWorld15debugDrawObjectERK11btTransformPK16btCollisionShapeRK9btVector3.__index__, 0, 0, 0, __ZNK16btCollisionWorld7rayTestERK9btVector3S2_RNS_17RayResultCallbackE.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld18addCollisionObjectEP17btCollisionObjectss.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld21removeCollisionObjectEP17btCollisionObject.__index__, 0, 0, 0, __ZN16btCollisionWorld33performDiscreteCollisionDetectionEv.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld9serializeEP12btSerializer.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld14stepSimulationEfif.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld13addConstraintEP17btTypedConstraintb.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld16removeConstraintEP17btTypedConstraint.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld9addActionEP17btActionInterface.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld12removeActionEP17btActionInterface.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld10setGravityERK9btVector3.__index__, 0, 0, 0, __ZNK23btDiscreteDynamicsWorld10getGravityEv.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld23synchronizeMotionStatesEv.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBody.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld15removeRigidBodyEP11btRigidBody.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld19setConstraintSolverEP18btConstraintSolver.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld19getConstraintSolverEv.__index__, 0, 0, 0, __ZNK23btDiscreteDynamicsWorld17getNumConstraintsEv.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld13getConstraintEi.__index__, 0, 0, 0, __ZNK23btDiscreteDynamicsWorld13getConstraintEi.__index__, 0, 0, 0, __ZNK25btContinuousDynamicsWorld12getWorldTypeEv.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld11clearForcesEv.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld10addVehicleEP17btActionInterface.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld13removeVehicleEP17btActionInterface.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld12addCharacterEP17btActionInterface.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld15removeCharacterEP17btActionInterface.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld25predictUnconstraintMotionEf.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld19integrateTransformsEf.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld26calculateSimulationIslandsEv.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfo.__index__, 0, 0, 0, __ZN25btContinuousDynamicsWorld28internalSingleStepSimulationEf.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld18saveKinematicStateEf.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBodyss.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld12applyGravityEv.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld11setNumTasksEi.__index__, 0, 0, 0, __ZN23btDiscreteDynamicsWorld14updateVehiclesEf.__index__, 0, 0, 0, __ZN25btContinuousDynamicsWorld22calculateTimeOfImpactsEf.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str19 = Pointer_make([116,111,105,32,61,32,37,102,10,0] /* toi = %f\0A\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS21btUniversalConstraint = Pointer_make([50,49,98,116,85,110,105,118,101,114,115,97,108,67,111,110,115,116,114,97,105,110,116,0] /* 21btUniversalConstraint\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI21btUniversalConstraint = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS21btUniversalConstraint, 0, 0, 0], __ZTI23btGeneric6DofConstraint, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV21btUniversalConstraint = Pointer_make([ 0, 0, 0, 0, __ZTI21btUniversalConstraint, 0, 0, 0, __ZN21btUniversalConstraintD1Ev.__index__, 0, 0, 0, __ZN21btUniversalConstraintD0Ev.__index__, 0, 0, 0, __ZN23btGeneric6DofConstraint13buildJacobianEv.__index__, 0, 0, 0, __ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif.__index__, 0, 0, 0, __ZN23btGeneric6DofConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E.__index__, 0, 0, 0, __ZN23btGeneric6DofConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E.__index__, 0, 0, 0, __ZN17btTypedConstraint23solveConstraintObsoleteER11btRigidBodyS1_f.__index__, 0, 0, 0, __ZN23btGeneric6DofConstraint8setParamEifi.__index__, 0, 0, 0, __ZNK23btGeneric6DofConstraint8getParamEii.__index__, 0, 0, 0, __ZNK23btGeneric6DofConstraint28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK23btGeneric6DofConstraint9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZN23btGeneric6DofConstraint13calcAnchorPosEv.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str1822 = Pointer_make([98,116,71,101,110,101,114,105,99,54,68,111,102,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0] /* btGeneric6DofConstraintData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZN17btTypedConstraint12getFixedBodyEvE7s_fixed = Pointer_make([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZGVZN17btTypedConstraint12getFixedBodyEvE7s_fixed = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str1021 = Pointer_make([98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0] /* btTypedConstraintData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS18btSliderConstraint = Pointer_make([49,56,98,116,83,108,105,100,101,114,67,111,110,115,116,114,97,105,110,116,0] /* 18btSliderConstraint\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI18btSliderConstraint = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS18btSliderConstraint, 0, 0, 0], __ZTI17btTypedConstraint, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV18btSliderConstraint = Pointer_make([ 0, 0, 0, 0, __ZTI18btSliderConstraint, 0, 0, 0, __ZN18btSliderConstraintD1Ev.__index__, 0, 0, 0, __ZN18btSliderConstraintD0Ev.__index__, 0, 0, 0, __ZN17btTypedConstraint13buildJacobianEv.__index__, 0, 0, 0, __ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif.__index__, 0, 0, 0, __ZN18btSliderConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E.__index__, 0, 0, 0, __ZN18btSliderConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E.__index__, 0, 0, 0, __ZN17btTypedConstraint23solveConstraintObsoleteER11btRigidBodyS1_f.__index__, 0, 0, 0, __ZN18btSliderConstraint8setParamEifi.__index__, 0, 0, 0, __ZNK18btSliderConstraint8getParamEii.__index__, 0, 0, 0, __ZNK18btSliderConstraint28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK18btSliderConstraint9serializeEPvP12btSerializer.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str920 = Pointer_make([98,116,83,108,105,100,101,114,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0] /* btSliderConstraintData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str28 = Pointer_make([115,111,108,118,101,71,114,111,117,112,67,97,99,104,101,70,114,105,101,110,100,108,121,83,101,116,117,112,0] /* solveGroupCacheFriendlySetup\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str17 = Pointer_make([115,111,108,118,101,71,114,111,117,112,67,97,99,104,101,70,114,105,101,110,100,108,121,73,116,101,114,97,116,105,111,110,115,0] /* solveGroupCacheFriendlyIterations\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str619 = Pointer_make([115,111,108,118,101,71,114,111,117,112,0] /* solveGroup\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS35btSequentialImpulseConstraintSolver = Pointer_make([51,53,98,116,83,101,113,117,101,110,116,105,97,108,73,109,112,117,108,115,101,67,111,110,115,116,114,97,105,110,116,83,111,108,118,101,114,0] /* 35btSequentialImpulseConstraintSolver\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI35btSequentialImpulseConstraintSolver = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS35btSequentialImpulseConstraintSolver, 0, 0, 0], __ZTI18btConstraintSolver, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV35btSequentialImpulseConstraintSolver = Pointer_make([ 0, 0, 0, 0, __ZTI35btSequentialImpulseConstraintSolver, 0, 0, 0, __ZN35btSequentialImpulseConstraintSolverD1Ev.__index__, 0, 0, 0, __ZN35btSequentialImpulseConstraintSolverD0Ev.__index__, 0, 0, 0, __ZN18btConstraintSolver12prepareSolveEii.__index__, 0, 0, 0, __ZN35btSequentialImpulseConstraintSolver10solveGroupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAllocP12btDispatcher.__index__, 0, 0, 0, __ZN18btConstraintSolver9allSolvedERK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc.__index__, 0, 0, 0, __ZN35btSequentialImpulseConstraintSolver5resetEv.__index__, 0, 0, 0, __ZN35btSequentialImpulseConstraintSolver45solveGroupCacheFriendlySplitImpulseIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc.__index__, 0, 0, 0, __ZN35btSequentialImpulseConstraintSolver29solveGroupCacheFriendlyFinishEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc.__index__, 0, 0, 0, __ZN35btSequentialImpulseConstraintSolver28solveGroupCacheFriendlySetupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc.__index__, 0, 0, 0, __ZN35btSequentialImpulseConstraintSolver33solveGroupCacheFriendlyIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed = Pointer_make([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZGVZN35btSequentialImpulseConstraintSolver12getFixedBodyEvE7s_fixed = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS18btConstraintSolver = Pointer_make([49,56,98,116,67,111,110,115,116,114,97,105,110,116,83,111,108,118,101,114,0] /* 18btConstraintSolver\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI18btConstraintSolver = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS18btConstraintSolver, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV18btConstraintSolver = Pointer_make([ 0, 0, 0, 0, __ZTI18btConstraintSolver, 0, 0, 0, __ZN18btConstraintSolverD1Ev.__index__, 0, 0, 0, __ZN18btConstraintSolverD0Ev.__index__, 0, 0, 0, __ZN18btConstraintSolver12prepareSolveEii.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZN18btConstraintSolver9allSolvedERK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _gNumSplitImpulseRecoveries = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS23btPoint2PointConstraint = Pointer_make([50,51,98,116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,0] /* 23btPoint2PointConstraint\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI23btPoint2PointConstraint = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS23btPoint2PointConstraint, 0, 0, 0], __ZTI17btTypedConstraint, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV23btPoint2PointConstraint = Pointer_make([ 0, 0, 0, 0, __ZTI23btPoint2PointConstraint, 0, 0, 0, __ZN23btPoint2PointConstraintD1Ev.__index__, 0, 0, 0, __ZN23btPoint2PointConstraintD0Ev.__index__, 0, 0, 0, __ZN23btPoint2PointConstraint13buildJacobianEv.__index__, 0, 0, 0, __ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif.__index__, 0, 0, 0, __ZN23btPoint2PointConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E.__index__, 0, 0, 0, __ZN23btPoint2PointConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E.__index__, 0, 0, 0, __ZN17btTypedConstraint23solveConstraintObsoleteER11btRigidBodyS1_f.__index__, 0, 0, 0, __ZN23btPoint2PointConstraint8setParamEifi.__index__, 0, 0, 0, __ZNK23btPoint2PointConstraint8getParamEii.__index__, 0, 0, 0, __ZNK23btPoint2PointConstraint28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK23btPoint2PointConstraint9serializeEPvP12btSerializer.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str518 = Pointer_make([98,116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0] /* btPoint2PointConstraintFloatData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS17btHingeConstraint = Pointer_make([49,55,98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,0] /* 17btHingeConstraint\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI17btHingeConstraint = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS17btHingeConstraint, 0, 0, 0], __ZTI17btTypedConstraint, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV17btHingeConstraint = Pointer_make([ 0, 0, 0, 0, __ZTI17btHingeConstraint, 0, 0, 0, __ZN17btHingeConstraintD1Ev.__index__, 0, 0, 0, __ZN17btHingeConstraintD0Ev.__index__, 0, 0, 0, __ZN17btHingeConstraint13buildJacobianEv.__index__, 0, 0, 0, __ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif.__index__, 0, 0, 0, __ZN17btHingeConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E.__index__, 0, 0, 0, __ZN17btHingeConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E.__index__, 0, 0, 0, __ZN17btTypedConstraint23solveConstraintObsoleteER11btRigidBodyS1_f.__index__, 0, 0, 0, __ZN17btHingeConstraint8setParamEifi.__index__, 0, 0, 0, __ZNK17btHingeConstraint8getParamEii.__index__, 0, 0, 0, __ZNK17btHingeConstraint28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK17btHingeConstraint9serializeEPvP12btSerializer.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str417 = Pointer_make([98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0] /* btHingeConstraintFloatData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZL6vHinge = Pointer_make([ [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS18btHinge2Constraint = Pointer_make([49,56,98,116,72,105,110,103,101,50,67,111,110,115,116,114,97,105,110,116,0] /* 18btHinge2Constraint\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI18btHinge2Constraint = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS18btHinge2Constraint, 0, 0, 0], __ZTI29btGeneric6DofSpringConstraint, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV18btHinge2Constraint = Pointer_make([ 0, 0, 0, 0, __ZTI18btHinge2Constraint, 0, 0, 0, __ZN18btHinge2ConstraintD1Ev.__index__, 0, 0, 0, __ZN18btHinge2ConstraintD0Ev.__index__, 0, 0, 0, __ZN23btGeneric6DofConstraint13buildJacobianEv.__index__, 0, 0, 0, __ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif.__index__, 0, 0, 0, __ZN23btGeneric6DofConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E.__index__, 0, 0, 0, __ZN29btGeneric6DofSpringConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E.__index__, 0, 0, 0, __ZN17btTypedConstraint23solveConstraintObsoleteER11btRigidBodyS1_f.__index__, 0, 0, 0, __ZN23btGeneric6DofConstraint8setParamEifi.__index__, 0, 0, 0, __ZNK23btGeneric6DofConstraint8getParamEii.__index__, 0, 0, 0, __ZNK23btGeneric6DofConstraint28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK23btGeneric6DofConstraint9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZN23btGeneric6DofConstraint13calcAnchorPosEv.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str316 = Pointer_make([98,116,71,101,110,101,114,105,99,54,68,111,102,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0] /* btGeneric6DofConstraintData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS29btGeneric6DofSpringConstraint = Pointer_make([50,57,98,116,71,101,110,101,114,105,99,54,68,111,102,83,112,114,105,110,103,67,111,110,115,116,114,97,105,110,116,0] /* 29btGeneric6DofSpringConstraint\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI29btGeneric6DofSpringConstraint = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS29btGeneric6DofSpringConstraint, 0, 0, 0], __ZTI23btGeneric6DofConstraint, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV29btGeneric6DofSpringConstraint = Pointer_make([ 0, 0, 0, 0, __ZTI29btGeneric6DofSpringConstraint, 0, 0, 0, __ZN29btGeneric6DofSpringConstraintD1Ev.__index__, 0, 0, 0, __ZN29btGeneric6DofSpringConstraintD0Ev.__index__, 0, 0, 0, __ZN23btGeneric6DofConstraint13buildJacobianEv.__index__, 0, 0, 0, __ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif.__index__, 0, 0, 0, __ZN23btGeneric6DofConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E.__index__, 0, 0, 0, __ZN29btGeneric6DofSpringConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E.__index__, 0, 0, 0, __ZN17btTypedConstraint23solveConstraintObsoleteER11btRigidBodyS1_f.__index__, 0, 0, 0, __ZN23btGeneric6DofConstraint8setParamEifi.__index__, 0, 0, 0, __ZNK23btGeneric6DofConstraint8getParamEii.__index__, 0, 0, 0, __ZNK23btGeneric6DofConstraint28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK23btGeneric6DofConstraint9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZN23btGeneric6DofConstraint13calcAnchorPosEv.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str215 = Pointer_make([98,116,71,101,110,101,114,105,99,54,68,111,102,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0] /* btGeneric6DofConstraintData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS23btGeneric6DofConstraint = Pointer_make([50,51,98,116,71,101,110,101,114,105,99,54,68,111,102,67,111,110,115,116,114,97,105,110,116,0] /* 23btGeneric6DofConstraint\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI23btGeneric6DofConstraint = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS23btGeneric6DofConstraint, 0, 0, 0], __ZTI17btTypedConstraint, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV23btGeneric6DofConstraint = Pointer_make([ 0, 0, 0, 0, __ZTI23btGeneric6DofConstraint, 0, 0, 0, __ZN23btGeneric6DofConstraintD1Ev.__index__, 0, 0, 0, __ZN23btGeneric6DofConstraintD0Ev.__index__, 0, 0, 0, __ZN23btGeneric6DofConstraint13buildJacobianEv.__index__, 0, 0, 0, __ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif.__index__, 0, 0, 0, __ZN23btGeneric6DofConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E.__index__, 0, 0, 0, __ZN23btGeneric6DofConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E.__index__, 0, 0, 0, __ZN17btTypedConstraint23solveConstraintObsoleteER11btRigidBodyS1_f.__index__, 0, 0, 0, __ZN23btGeneric6DofConstraint8setParamEifi.__index__, 0, 0, 0, __ZNK23btGeneric6DofConstraint8getParamEii.__index__, 0, 0, 0, __ZNK23btGeneric6DofConstraint28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK23btGeneric6DofConstraint9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZN23btGeneric6DofConstraint13calcAnchorPosEv.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str114 = Pointer_make([98,116,71,101,110,101,114,105,99,54,68,111,102,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0] /* btGeneric6DofConstraintData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS19btContactConstraint = Pointer_make([49,57,98,116,67,111,110,116,97,99,116,67,111,110,115,116,114,97,105,110,116,0] /* 19btContactConstraint\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI19btContactConstraint = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS19btContactConstraint, 0, 0, 0], __ZTI17btTypedConstraint, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV19btContactConstraint = Pointer_make([ 0, 0, 0, 0, __ZTI19btContactConstraint, 0, 0, 0, __ZN19btContactConstraintD1Ev.__index__, 0, 0, 0, __ZN19btContactConstraintD0Ev.__index__, 0, 0, 0, __ZN19btContactConstraint13buildJacobianEv.__index__, 0, 0, 0, __ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif.__index__, 0, 0, 0, __ZN19btContactConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E.__index__, 0, 0, 0, __ZN19btContactConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E.__index__, 0, 0, 0, __ZN17btTypedConstraint23solveConstraintObsoleteER11btRigidBodyS1_f.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZNK17btTypedConstraint28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK17btTypedConstraint9serializeEPvP12btSerializer.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS21btConeTwistConstraint = Pointer_make([50,49,98,116,67,111,110,101,84,119,105,115,116,67,111,110,115,116,114,97,105,110,116,0] /* 21btConeTwistConstraint\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI21btConeTwistConstraint = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS21btConeTwistConstraint, 0, 0, 0], __ZTI17btTypedConstraint, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV21btConeTwistConstraint = Pointer_make([ 0, 0, 0, 0, __ZTI21btConeTwistConstraint, 0, 0, 0, __ZN21btConeTwistConstraintD1Ev.__index__, 0, 0, 0, __ZN21btConeTwistConstraintD0Ev.__index__, 0, 0, 0, __ZN21btConeTwistConstraint13buildJacobianEv.__index__, 0, 0, 0, __ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif.__index__, 0, 0, 0, __ZN21btConeTwistConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E.__index__, 0, 0, 0, __ZN21btConeTwistConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E.__index__, 0, 0, 0, __ZN21btConeTwistConstraint23solveConstraintObsoleteER11btRigidBodyS1_f.__index__, 0, 0, 0, __ZN21btConeTwistConstraint8setParamEifi.__index__, 0, 0, 0, __ZNK21btConeTwistConstraint8getParamEii.__index__, 0, 0, 0, __ZNK21btConeTwistConstraint28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK21btConeTwistConstraint9serializeEPvP12btSerializer.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str13 = Pointer_make([98,116,67,111,110,101,84,119,105,115,116,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0] /* btConeTwistConstraintData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZL6vTwist = Pointer_make([ [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS30btKinematicCharacterController = Pointer_make([51,48,98,116,75,105,110,101,109,97,116,105,99,67,104,97,114,97,99,116,101,114,67,111,110,116,114,111,108,108,101,114,0] /* 30btKinematicCharacterController\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI30btKinematicCharacterController = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS30btKinematicCharacterController, 0, 0, 0], __ZTI30btCharacterControllerInterface, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV30btKinematicCharacterController = Pointer_make([ 0, 0, 0, 0, __ZTI30btKinematicCharacterController, 0, 0, 0, __ZN30btKinematicCharacterControllerD1Ev.__index__, 0, 0, 0, __ZN30btKinematicCharacterControllerD0Ev.__index__, 0, 0, 0, __ZN30btKinematicCharacterController12updateActionEP16btCollisionWorldf.__index__, 0, 0, 0, __ZN30btKinematicCharacterController9debugDrawEP12btIDebugDraw.__index__, 0, 0, 0, __ZN30btKinematicCharacterController16setWalkDirectionERK9btVector3.__index__, 0, 0, 0, __ZN30btKinematicCharacterController26setVelocityForTimeIntervalERK9btVector3f.__index__, 0, 0, 0, __ZN30btKinematicCharacterController5resetEv.__index__, 0, 0, 0, __ZN30btKinematicCharacterController4warpERK9btVector3.__index__, 0, 0, 0, __ZN30btKinematicCharacterController7preStepEP16btCollisionWorld.__index__, 0, 0, 0, __ZN30btKinematicCharacterController10playerStepEP16btCollisionWorldf.__index__, 0, 0, 0, __ZNK30btKinematicCharacterController7canJumpEv.__index__, 0, 0, 0, __ZN30btKinematicCharacterController4jumpEv.__index__, 0, 0, 0, __ZNK30btKinematicCharacterController8onGroundEv.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection = Pointer_make([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZGVZN30btKinematicCharacterController19getUpAxisDirectionsEvE16sUpAxisDirection = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS43btKinematicClosestNotMeConvexResultCallback = Pointer_make([52,51,98,116,75,105,110,101,109,97,116,105,99,67,108,111,115,101,115,116,78,111,116,77,101,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,0] /* 43btKinematicClosestNotMeConvexResultCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI43btKinematicClosestNotMeConvexResultCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS43btKinematicClosestNotMeConvexResultCallback, 0, 0, 0], __ZTIN16btCollisionWorld27ClosestConvexResultCallbackE, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV43btKinematicClosestNotMeConvexResultCallback = Pointer_make([ 0, 0, 0, 0, __ZTI43btKinematicClosestNotMeConvexResultCallback, 0, 0, 0, __ZN43btKinematicClosestNotMeConvexResultCallbackD1Ev.__index__, 0, 0, 0, __ZN43btKinematicClosestNotMeConvexResultCallbackD0Ev.__index__, 0, 0, 0, __ZNK16btCollisionWorld20ConvexResultCallback14needsCollisionEP17btBroadphaseProxy.__index__, 0, 0, 0, __ZN43btKinematicClosestNotMeConvexResultCallback15addSingleResultERN16btCollisionWorld17LocalConvexResultEb.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS30btCharacterControllerInterface = Pointer_make([51,48,98,116,67,104,97,114,97,99,116,101,114,67,111,110,116,114,111,108,108,101,114,73,110,116,101,114,102,97,99,101,0] /* 30btCharacterControllerInterface\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI30btCharacterControllerInterface = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS30btCharacterControllerInterface, 0, 0, 0], __ZTI17btActionInterface, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV30btCharacterControllerInterface = Pointer_make([ 0, 0, 0, 0, __ZTI30btCharacterControllerInterface, 0, 0, 0, __ZN30btCharacterControllerInterfaceD1Ev.__index__, 0, 0, 0, __ZN30btCharacterControllerInterfaceD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS17btActionInterface = Pointer_make([49,55,98,116,65,99,116,105,111,110,73,110,116,101,114,102,97,99,101,0] /* 17btActionInterface\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI17btActionInterface = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS17btActionInterface, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV17btActionInterface = Pointer_make([ 0, 0, 0, 0, __ZTI17btActionInterface, 0, 0, 0, __ZN17btActionInterfaceD1Ev.__index__, 0, 0, 0, __ZN17btActionInterfaceD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN16btCollisionWorld27ClosestConvexResultCallbackE = Pointer_make([78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,55,67,108,111,115,101,115,116,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0] /* N16btCollisionWorld27ClosestConvexResultCallbackE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN16btCollisionWorld27ClosestConvexResultCallbackE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSN16btCollisionWorld27ClosestConvexResultCallbackE, 0, 0, 0], __ZTIN16btCollisionWorld20ConvexResultCallbackE, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN16btCollisionWorld27ClosestConvexResultCallbackE = Pointer_make([ 0, 0, 0, 0, __ZTIN16btCollisionWorld27ClosestConvexResultCallbackE, 0, 0, 0, __ZN16btCollisionWorld27ClosestConvexResultCallbackD1Ev.__index__, 0, 0, 0, __ZN16btCollisionWorld27ClosestConvexResultCallbackD0Ev.__index__, 0, 0, 0, __ZNK16btCollisionWorld20ConvexResultCallback14needsCollisionEP17btBroadphaseProxy.__index__, 0, 0, 0, __ZN16btCollisionWorld27ClosestConvexResultCallback15addSingleResultERNS_17LocalConvexResultEb.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS22btSubsimplexConvexCast = Pointer_make([50,50,98,116,83,117,98,115,105,109,112,108,101,120,67,111,110,118,101,120,67,97,115,116,0] /* 22btSubsimplexConvexCast\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI22btSubsimplexConvexCast = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS22btSubsimplexConvexCast, 0, 0, 0], __ZTI12btConvexCast, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV22btSubsimplexConvexCast = Pointer_make([ 0, 0, 0, 0, __ZTI22btSubsimplexConvexCast, 0, 0, 0, __ZN22btSubsimplexConvexCastD1Ev.__index__, 0, 0, 0, __ZN22btSubsimplexConvexCastD0Ev.__index__, 0, 0, 0, __ZN22btSubsimplexConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str1186 = Pointer_make([98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0] /* btConvexInternalShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS28btTriangleConvexcastCallback = Pointer_make([50,56,98,116,84,114,105,97,110,103,108,101,67,111,110,118,101,120,99,97,115,116,67,97,108,108,98,97,99,107,0] /* 28btTriangleConvexcastCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI28btTriangleConvexcastCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS28btTriangleConvexcastCallback, 0, 0, 0], __ZTI18btTriangleCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV28btTriangleConvexcastCallback = Pointer_make([ 0, 0, 0, 0, __ZTI28btTriangleConvexcastCallback, 0, 0, 0, __ZN28btTriangleConvexcastCallbackD1Ev.__index__, 0, 0, 0, __ZN28btTriangleConvexcastCallbackD0Ev.__index__, 0, 0, 0, __ZN28btTriangleConvexcastCallback15processTriangleEP9btVector3ii.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS25btTriangleRaycastCallback = Pointer_make([50,53,98,116,84,114,105,97,110,103,108,101,82,97,121,99,97,115,116,67,97,108,108,98,97,99,107,0] /* 25btTriangleRaycastCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI25btTriangleRaycastCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS25btTriangleRaycastCallback, 0, 0, 0], __ZTI18btTriangleCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV25btTriangleRaycastCallback = Pointer_make([ 0, 0, 0, 0, __ZTI25btTriangleRaycastCallback, 0, 0, 0, __ZN25btTriangleRaycastCallbackD1Ev.__index__, 0, 0, 0, __ZN25btTriangleRaycastCallbackD0Ev.__index__, 0, 0, 0, __ZN25btTriangleRaycastCallback15processTriangleEP9btVector3ii.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str181 = Pointer_make([84,114,105,97,110,103,108,101,0] /* Triangle\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _gContactProcessedCallback = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _gContactDestroyedCallback = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _gContactBreakingThreshold = Pointer_make([0.019999999552965164], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections = Pointer_make([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZGVZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEvE22sPenetrationDirections = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS33btMinkowskiPenetrationDepthSolver = Pointer_make([51,51,98,116,77,105,110,107,111,119,115,107,105,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,0] /* 33btMinkowskiPenetrationDepthSolver\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI33btMinkowskiPenetrationDepthSolver = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS33btMinkowskiPenetrationDepthSolver, 0, 0, 0], __ZTI30btConvexPenetrationDepthSolver, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV33btMinkowskiPenetrationDepthSolver = Pointer_make([ 0, 0, 0, 0, __ZTI33btMinkowskiPenetrationDepthSolver, 0, 0, 0, __ZN33btMinkowskiPenetrationDepthSolverD1Ev.__index__, 0, 0, 0, __ZN33btMinkowskiPenetrationDepthSolverD0Ev.__index__, 0, 0, 0, __ZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAlloc.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocE20btIntermediateResult = Pointer_make([90,78,51,51,98,116,77,105,110,107,111,119,115,107,105,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,49,50,99,97,108,99,80,101,110,68,101,112,116,104,69,82,50,50,98,116,86,111,114,111,110,111,105,83,105,109,112,108,101,120,83,111,108,118,101,114,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,83,52,95,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,55,95,82,57,98,116,86,101,99,116,111,114,51,83,57,95,83,57,95,80,49,50,98,116,73,68,101,98,117,103,68,114,97,119,80,49,50,98,116,83,116,97,99,107,65,108,108,111,99,69,50,48,98,116,73,110,116,101,114,109,101,100,105,97,116,101,82,101,115,117,108,116,0] /* ZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocE20btIntermediateResult\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocE20btIntermediateResult = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocE20btIntermediateResult, 0, 0, 0], __ZTIN36btDiscreteCollisionDetectorInterface6ResultE, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocE20btIntermediateResult = Pointer_make([ 0, 0, 0, 0, __ZTIZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocE20btIntermediateResult, 0, 0, 0, __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResultD1Ev.__index__, 0, 0, 0, __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResultD0Ev.__index__, 0, 0, 0, __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResult20setShapeIdentifiersAEii.__index__, 0, 0, 0, __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResult20setShapeIdentifiersBEii.__index__, 0, 0, 0, __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResult15addContactPointERKS8_SG_f.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _gNumGjkChecks = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS17btGjkPairDetector = Pointer_make([49,55,98,116,71,106,107,80,97,105,114,68,101,116,101,99,116,111,114,0] /* 17btGjkPairDetector\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI17btGjkPairDetector = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS17btGjkPairDetector, 0, 0, 0], __ZTI36btDiscreteCollisionDetectorInterface, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV17btGjkPairDetector = Pointer_make([ 0, 0, 0, 0, __ZTI17btGjkPairDetector, 0, 0, 0, __ZN17btGjkPairDetectorD1Ev.__index__, 0, 0, 0, __ZN17btGjkPairDetectorD0Ev.__index__, 0, 0, 0, __ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _gNumDeepPenetrationChecks = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS30btGjkEpaPenetrationDepthSolver = Pointer_make([51,48,98,116,71,106,107,69,112,97,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,0] /* 30btGjkEpaPenetrationDepthSolver\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI30btGjkEpaPenetrationDepthSolver = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS30btGjkEpaPenetrationDepthSolver, 0, 0, 0], __ZTI30btConvexPenetrationDepthSolver, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV30btGjkEpaPenetrationDepthSolver = Pointer_make([ 0, 0, 0, 0, __ZTI30btGjkEpaPenetrationDepthSolver, 0, 0, 0, __ZN30btGjkEpaPenetrationDepthSolverD1Ev.__index__, 0, 0, 0, __ZN30btGjkEpaPenetrationDepthSolverD0Ev.__index__, 0, 0, 0, __ZN30btGjkEpaPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAlloc.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonEE4i2m3 = Pointer_make([ 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonEE4i1m3 = Pointer_make([ 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_S3_PfRjE4imd3 = Pointer_make([ 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_PfRjE4imd3 = Pointer_make([ 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS15btGjkConvexCast = Pointer_make([49,53,98,116,71,106,107,67,111,110,118,101,120,67,97,115,116,0] /* 15btGjkConvexCast\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI15btGjkConvexCast = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS15btGjkConvexCast, 0, 0, 0], __ZTI12btConvexCast, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV15btGjkConvexCast = Pointer_make([ 0, 0, 0, 0, __ZTI15btGjkConvexCast, 0, 0, 0, __ZN15btGjkConvexCastD1Ev.__index__, 0, 0, 0, __ZN15btGjkConvexCastD0Ev.__index__, 0, 0, 0, __ZN15btGjkConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS12btConvexCast = Pointer_make([49,50,98,116,67,111,110,118,101,120,67,97,115,116,0] /* 12btConvexCast\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI12btConvexCast = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS12btConvexCast, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV12btConvexCast = Pointer_make([ 0, 0, 0, 0, __ZTI12btConvexCast, 0, 0, 0, __ZN12btConvexCastD1Ev.__index__, 0, 0, 0, __ZN12btConvexCastD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS27btContinuousConvexCollision = Pointer_make([50,55,98,116,67,111,110,116,105,110,117,111,117,115,67,111,110,118,101,120,67,111,108,108,105,115,105,111,110,0] /* 27btContinuousConvexCollision\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI27btContinuousConvexCollision = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS27btContinuousConvexCollision, 0, 0, 0], __ZTI12btConvexCast, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV27btContinuousConvexCollision = Pointer_make([ 0, 0, 0, 0, __ZTI27btContinuousConvexCollision, 0, 0, 0, __ZN27btContinuousConvexCollisionD1Ev.__index__, 0, 0, 0, __ZN27btContinuousConvexCollisionD0Ev.__index__, 0, 0, 0, __ZN27btContinuousConvexCollision16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS16btPointCollector = Pointer_make([49,54,98,116,80,111,105,110,116,67,111,108,108,101,99,116,111,114,0] /* 16btPointCollector\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI16btPointCollector = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS16btPointCollector, 0, 0, 0], __ZTIN36btDiscreteCollisionDetectorInterface6ResultE, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV16btPointCollector = Pointer_make([ 0, 0, 0, 0, __ZTI16btPointCollector, 0, 0, 0, __ZN16btPointCollectorD1Ev.__index__, 0, 0, 0, __ZN16btPointCollectorD0Ev.__index__, 0, 0, 0, __ZN16btPointCollector20setShapeIdentifiersAEii.__index__, 0, 0, 0, __ZN16btPointCollector20setShapeIdentifiersBEii.__index__, 0, 0, 0, __ZN16btPointCollector15addContactPointERK9btVector3S2_f.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZL8g_freefn = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZL11g_reallocfn = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZL10g_allocafn = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZL9g_allocfn = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZGVZN27GIM_BOX_BOX_TRANSFORM_CACHE20calc_absolute_matrixEvE5vepsi = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS18btGImpactMeshShape = Pointer_make([49,56,98,116,71,73,109,112,97,99,116,77,101,115,104,83,104,97,112,101,0] /* 18btGImpactMeshShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI18btGImpactMeshShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS18btGImpactMeshShape, 0, 0, 0], __ZTI23btGImpactShapeInterface, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV18btGImpactMeshShape = Pointer_make([ 0, 0, 0, 0, __ZTI18btGImpactMeshShape, 0, 0, 0, __ZN18btGImpactMeshShapeD1Ev.__index__, 0, 0, 0, __ZN18btGImpactMeshShapeD0Ev.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN18btGImpactMeshShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface15getLocalScalingEv.__index__, 0, 0, 0, __ZNK18btGImpactMeshShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK18btGImpactMeshShape7getNameEv.__index__, 0, 0, 0, __ZN18btGImpactMeshShape9setMarginEf.__index__, 0, 0, 0, __ZNK14btConcaveShape9getMarginEv.__index__, 0, 0, 0, __ZNK18btGImpactMeshShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK18btGImpactMeshShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK18btGImpactMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_.__index__, 0, 0, 0, __ZN18btGImpactMeshShape13calcLocalAABBEv.__index__, 0, 0, 0, __ZN18btGImpactMeshShape10postUpdateEv.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface12getShapeTypeEv.__index__, 0, 0, 0, __ZNK18btGImpactMeshShape19getGImpactShapeTypeEv.__index__, 0, 0, 0, __ZNK18btGImpactMeshShape19getPrimitiveManagerEv.__index__, 0, 0, 0, __ZNK18btGImpactMeshShape17getNumChildShapesEv.__index__, 0, 0, 0, __ZNK18btGImpactMeshShape20childrenHasTransformEv.__index__, 0, 0, 0, __ZNK18btGImpactMeshShape22needsRetrieveTrianglesEv.__index__, 0, 0, 0, __ZNK18btGImpactMeshShape25needsRetrieveTetrahedronsEv.__index__, 0, 0, 0, __ZNK18btGImpactMeshShape17getBulletTriangleEiR17btTriangleShapeEx.__index__, 0, 0, 0, __ZNK18btGImpactMeshShape20getBulletTetrahedronEiR20btTetrahedronShapeEx.__index__, 0, 0, 0, __ZNK18btGImpactMeshShape15lockChildShapesEv.__index__, 0, 0, 0, __ZNK18btGImpactMeshShape17unlockChildShapesEv.__index__, 0, 0, 0, __ZNK18btGImpactMeshShape12getChildAabbEiRK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZN18btGImpactMeshShape13getChildShapeEi.__index__, 0, 0, 0, __ZNK18btGImpactMeshShape13getChildShapeEi.__index__, 0, 0, 0, __ZNK18btGImpactMeshShape17getChildTransformEi.__index__, 0, 0, 0, __ZN18btGImpactMeshShape17setChildTransformEiRK11btTransform.__index__, 0, 0, 0, __ZNK18btGImpactMeshShape7rayTestERK9btVector3S2_RN16btCollisionWorld17RayResultCallbackE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS22btGImpactMeshShapePart = Pointer_make([50,50,98,116,71,73,109,112,97,99,116,77,101,115,104,83,104,97,112,101,80,97,114,116,0] /* 22btGImpactMeshShapePart\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI22btGImpactMeshShapePart = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS22btGImpactMeshShapePart, 0, 0, 0], __ZTI23btGImpactShapeInterface, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV22btGImpactMeshShapePart = Pointer_make([ 0, 0, 0, 0, __ZTI22btGImpactMeshShapePart, 0, 0, 0, __ZN22btGImpactMeshShapePartD1Ev.__index__, 0, 0, 0, __ZN22btGImpactMeshShapePartD0Ev.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN22btGImpactMeshShapePart15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart15getLocalScalingEv.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart7getNameEv.__index__, 0, 0, 0, __ZN22btGImpactMeshShapePart9setMarginEf.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart9getMarginEv.__index__, 0, 0, 0, __ZNK16btCollisionShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK16btCollisionShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_.__index__, 0, 0, 0, __ZN23btGImpactShapeInterface13calcLocalAABBEv.__index__, 0, 0, 0, __ZN23btGImpactShapeInterface10postUpdateEv.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface12getShapeTypeEv.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart19getGImpactShapeTypeEv.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart19getPrimitiveManagerEv.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart17getNumChildShapesEv.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart20childrenHasTransformEv.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart22needsRetrieveTrianglesEv.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart25needsRetrieveTetrahedronsEv.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart17getBulletTriangleEiR17btTriangleShapeEx.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart20getBulletTetrahedronEiR20btTetrahedronShapeEx.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart15lockChildShapesEv.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart17unlockChildShapesEv.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface12getChildAabbEiRK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZN22btGImpactMeshShapePart13getChildShapeEi.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart13getChildShapeEi.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart17getChildTransformEi.__index__, 0, 0, 0, __ZN22btGImpactMeshShapePart17setChildTransformEiRK11btTransform.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface7rayTestERK9btVector3S2_RN16btCollisionWorld17RayResultCallbackE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS22btGImpactCompoundShape = Pointer_make([50,50,98,116,71,73,109,112,97,99,116,67,111,109,112,111,117,110,100,83,104,97,112,101,0] /* 22btGImpactCompoundShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI22btGImpactCompoundShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS22btGImpactCompoundShape, 0, 0, 0], __ZTI23btGImpactShapeInterface, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV22btGImpactCompoundShape = Pointer_make([ 0, 0, 0, 0, __ZTI22btGImpactCompoundShape, 0, 0, 0, __ZN22btGImpactCompoundShapeD1Ev.__index__, 0, 0, 0, __ZN22btGImpactCompoundShapeD0Ev.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN23btGImpactShapeInterface15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface15getLocalScalingEv.__index__, 0, 0, 0, __ZNK22btGImpactCompoundShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK22btGImpactCompoundShape7getNameEv.__index__, 0, 0, 0, __ZN23btGImpactShapeInterface9setMarginEf.__index__, 0, 0, 0, __ZNK14btConcaveShape9getMarginEv.__index__, 0, 0, 0, __ZNK16btCollisionShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK16btCollisionShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_.__index__, 0, 0, 0, __ZN23btGImpactShapeInterface13calcLocalAABBEv.__index__, 0, 0, 0, __ZN23btGImpactShapeInterface10postUpdateEv.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface12getShapeTypeEv.__index__, 0, 0, 0, __ZNK22btGImpactCompoundShape19getGImpactShapeTypeEv.__index__, 0, 0, 0, __ZNK22btGImpactCompoundShape19getPrimitiveManagerEv.__index__, 0, 0, 0, __ZNK22btGImpactCompoundShape17getNumChildShapesEv.__index__, 0, 0, 0, __ZNK22btGImpactCompoundShape20childrenHasTransformEv.__index__, 0, 0, 0, __ZNK22btGImpactCompoundShape22needsRetrieveTrianglesEv.__index__, 0, 0, 0, __ZNK22btGImpactCompoundShape25needsRetrieveTetrahedronsEv.__index__, 0, 0, 0, __ZNK22btGImpactCompoundShape17getBulletTriangleEiR17btTriangleShapeEx.__index__, 0, 0, 0, __ZNK22btGImpactCompoundShape20getBulletTetrahedronEiR20btTetrahedronShapeEx.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface15lockChildShapesEv.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface17unlockChildShapesEv.__index__, 0, 0, 0, __ZNK22btGImpactCompoundShape12getChildAabbEiRK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZN22btGImpactCompoundShape13getChildShapeEi.__index__, 0, 0, 0, __ZNK22btGImpactCompoundShape13getChildShapeEi.__index__, 0, 0, 0, __ZNK22btGImpactCompoundShape17getChildTransformEi.__index__, 0, 0, 0, __ZN22btGImpactCompoundShape17setChildTransformEiRK11btTransform.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface7rayTestERK9btVector3S2_RN16btCollisionWorld17RayResultCallbackE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS23btGImpactShapeInterface = Pointer_make([50,51,98,116,71,73,109,112,97,99,116,83,104,97,112,101,73,110,116,101,114,102,97,99,101,0] /* 23btGImpactShapeInterface\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI23btGImpactShapeInterface = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS23btGImpactShapeInterface, 0, 0, 0], __ZTI14btConcaveShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV23btGImpactShapeInterface = Pointer_make([ 0, 0, 0, 0, __ZTI23btGImpactShapeInterface, 0, 0, 0, __ZN23btGImpactShapeInterfaceD1Ev.__index__, 0, 0, 0, __ZN23btGImpactShapeInterfaceD0Ev.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN23btGImpactShapeInterface15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface15getLocalScalingEv.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZN23btGImpactShapeInterface9setMarginEf.__index__, 0, 0, 0, __ZNK14btConcaveShape9getMarginEv.__index__, 0, 0, 0, __ZNK16btCollisionShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK16btCollisionShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_.__index__, 0, 0, 0, __ZN23btGImpactShapeInterface13calcLocalAABBEv.__index__, 0, 0, 0, __ZN23btGImpactShapeInterface10postUpdateEv.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface12getShapeTypeEv.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZNK23btGImpactShapeInterface15lockChildShapesEv.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface17unlockChildShapesEv.__index__, 0, 0, 0, __ZNK23btGImpactShapeInterface12getChildAabbEiRK11btTransformR9btVector3S4_.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZNK23btGImpactShapeInterface7rayTestERK9btVector3S2_RN16btCollisionWorld17RayResultCallbackE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN22btGImpactMeshShapePart23TrimeshPrimitiveManagerE = Pointer_make([78,50,50,98,116,71,73,109,112,97,99,116,77,101,115,104,83,104,97,112,101,80,97,114,116,50,51,84,114,105,109,101,115,104,80,114,105,109,105,116,105,118,101,77,97,110,97,103,101,114,69,0] /* N22btGImpactMeshShapePart23TrimeshPrimitiveManagerE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN22btGImpactMeshShapePart23TrimeshPrimitiveManagerE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSN22btGImpactMeshShapePart23TrimeshPrimitiveManagerE, 0, 0, 0], __ZTI22btPrimitiveManagerBase, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN22btGImpactMeshShapePart23TrimeshPrimitiveManagerE = Pointer_make([ 0, 0, 0, 0, __ZTIN22btGImpactMeshShapePart23TrimeshPrimitiveManagerE, 0, 0, 0, __ZN22btGImpactMeshShapePart23TrimeshPrimitiveManagerD1Ev.__index__, 0, 0, 0, __ZN22btGImpactMeshShapePart23TrimeshPrimitiveManagerD0Ev.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager10is_trimeshEv.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager19get_primitive_countEv.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager17get_primitive_boxEiR6btAABB.__index__, 0, 0, 0, __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager22get_primitive_triangleEiR19btPrimitiveTriangle.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS22btPrimitiveManagerBase = Pointer_make([50,50,98,116,80,114,105,109,105,116,105,118,101,77,97,110,97,103,101,114,66,97,115,101,0] /* 22btPrimitiveManagerBase\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI22btPrimitiveManagerBase = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS22btPrimitiveManagerBase, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN22btGImpactCompoundShape24CompoundPrimitiveManagerE = Pointer_make([78,50,50,98,116,71,73,109,112,97,99,116,67,111,109,112,111,117,110,100,83,104,97,112,101,50,52,67,111,109,112,111,117,110,100,80,114,105,109,105,116,105,118,101,77,97,110,97,103,101,114,69,0] /* N22btGImpactCompoundShape24CompoundPrimitiveManagerE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN22btGImpactCompoundShape24CompoundPrimitiveManagerE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSN22btGImpactCompoundShape24CompoundPrimitiveManagerE, 0, 0, 0], __ZTI22btPrimitiveManagerBase, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN22btGImpactCompoundShape24CompoundPrimitiveManagerE = Pointer_make([ 0, 0, 0, 0, __ZTIN22btGImpactCompoundShape24CompoundPrimitiveManagerE, 0, 0, 0, __ZN22btGImpactCompoundShape24CompoundPrimitiveManagerD1Ev.__index__, 0, 0, 0, __ZN22btGImpactCompoundShape24CompoundPrimitiveManagerD0Ev.__index__, 0, 0, 0, __ZNK22btGImpactCompoundShape24CompoundPrimitiveManager10is_trimeshEv.__index__, 0, 0, 0, __ZNK22btGImpactCompoundShape24CompoundPrimitiveManager19get_primitive_countEv.__index__, 0, 0, 0, __ZNK22btGImpactCompoundShape24CompoundPrimitiveManager17get_primitive_boxEiR6btAABB.__index__, 0, 0, 0, __ZNK22btGImpactCompoundShape24CompoundPrimitiveManager22get_primitive_triangleEiR19btPrimitiveTriangle.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str3156 = Pointer_make([98,116,71,73,109,112,97,99,116,77,101,115,104,83,104,97,112,101,68,97,116,97,0] /* btGImpactMeshShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str2155 = Pointer_make([71,73,109,112,97,99,116,77,101,115,104,0] /* GImpactMesh\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str1154 = Pointer_make([71,73,109,112,97,99,116,77,101,115,104,83,104,97,112,101,80,97,114,116,0] /* GImpactMeshShapePart\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str153 = Pointer_make([71,73,109,112,97,99,116,67,111,109,112,111,117,110,100,0] /* GImpactCompound\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS27btGImpactCollisionAlgorithm = Pointer_make([50,55,98,116,71,73,109,112,97,99,116,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0] /* 27btGImpactCollisionAlgorithm\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI27btGImpactCollisionAlgorithm = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS27btGImpactCollisionAlgorithm, 0, 0, 0], __ZTI30btActivatingCollisionAlgorithm, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV27btGImpactCollisionAlgorithm = Pointer_make([ 0, 0, 0, 0, __ZTI27btGImpactCollisionAlgorithm, 0, 0, 0, __ZN27btGImpactCollisionAlgorithmD1Ev.__index__, 0, 0, 0, __ZN27btGImpactCollisionAlgorithmD0Ev.__index__, 0, 0, 0, __ZN27btGImpactCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN27btGImpactCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN27btGImpactCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS20btTetrahedronShapeEx = Pointer_make([50,48,98,116,84,101,116,114,97,104,101,100,114,111,110,83,104,97,112,101,69,120,0] /* 20btTetrahedronShapeEx\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI20btTetrahedronShapeEx = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS20btTetrahedronShapeEx, 0, 0, 0], __ZTI16btBU_Simplex1to4, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV20btTetrahedronShapeEx = Pointer_make([ 0, 0, 0, 0, __ZTI20btTetrahedronShapeEx, 0, 0, 0, __ZN20btTetrahedronShapeExD1Ev.__index__, 0, 0, 0, __ZN20btTetrahedronShapeExD0Ev.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to47getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN34btPolyhedralConvexAabbCachingShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK23btPolyhedralConvexShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to47getNameEv.__index__, 0, 0, 0, __ZN21btConvexInternalShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK23btPolyhedralConvexShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK23btPolyhedralConvexShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to414getNumVerticesEv.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to411getNumEdgesEv.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to47getEdgeEiR9btVector3S1_.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to49getVertexEiR9btVector3.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to412getNumPlanesEv.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to48getPlaneER9btVector3S1_i.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to48isInsideERK9btVector3f.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to48getIndexEi.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS17btTriangleShapeEx = Pointer_make([49,55,98,116,84,114,105,97,110,103,108,101,83,104,97,112,101,69,120,0] /* 17btTriangleShapeEx\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI17btTriangleShapeEx = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS17btTriangleShapeEx, 0, 0, 0], __ZTI15btTriangleShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV17btTriangleShapeEx = Pointer_make([ 0, 0, 0, 0, __ZTI17btTriangleShapeEx, 0, 0, 0, __ZN17btTriangleShapeExD1Ev.__index__, 0, 0, 0, __ZN17btTriangleShapeExD0Ev.__index__, 0, 0, 0, __ZNK17btTriangleShapeEx7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN21btConvexInternalShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK15btTriangleShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK15btTriangleShape7getNameEv.__index__, 0, 0, 0, __ZN21btConvexInternalShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK15btTriangleShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK15btTriangleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK15btTriangleShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK15btTriangleShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0, __ZNK15btTriangleShape14getNumVerticesEv.__index__, 0, 0, 0, __ZNK15btTriangleShape11getNumEdgesEv.__index__, 0, 0, 0, __ZNK15btTriangleShape7getEdgeEiR9btVector3S1_.__index__, 0, 0, 0, __ZNK15btTriangleShape9getVertexEiR9btVector3.__index__, 0, 0, 0, __ZNK15btTriangleShape12getNumPlanesEv.__index__, 0, 0, 0, __ZNK15btTriangleShape8getPlaneER9btVector3S1_i.__index__, 0, 0, 0, __ZNK15btTriangleShape8isInsideERK9btVector3f.__index__, 0, 0, 0, __ZNK15btTriangleShape16getPlaneEquationEiR9btVector3S1_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str2149 = Pointer_make([98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0] /* btConvexInternalShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZN27btGImpactCollisionAlgorithm17registerAlgorithmEP21btCollisionDispatcherE12s_gimpact_cf = Pointer_make([0,0,0,0,0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZGVZN27btGImpactCollisionAlgorithm17registerAlgorithmEP21btCollisionDispatcherE12s_gimpact_cf = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN27btGImpactCollisionAlgorithm10CreateFuncE = Pointer_make([78,50,55,98,116,71,73,109,112,97,99,116,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0] /* N27btGImpactCollisionAlgorithm10CreateFuncE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN27btGImpactCollisionAlgorithm10CreateFuncE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSN27btGImpactCollisionAlgorithm10CreateFuncE, 0, 0, 0], __ZTI30btCollisionAlgorithmCreateFunc, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN27btGImpactCollisionAlgorithm10CreateFuncE = Pointer_make([ 0, 0, 0, 0, __ZTIN27btGImpactCollisionAlgorithm10CreateFuncE, 0, 0, 0, __ZN27btGImpactCollisionAlgorithm10CreateFuncD1Ev.__index__, 0, 0, 0, __ZN27btGImpactCollisionAlgorithm10CreateFuncD0Ev.__index__, 0, 0, 0, __ZN27btGImpactCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS25btGImpactTriangleCallback = Pointer_make([50,53,98,116,71,73,109,112,97,99,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0] /* 25btGImpactTriangleCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI25btGImpactTriangleCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS25btGImpactTriangleCallback, 0, 0, 0], __ZTI18btTriangleCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV25btGImpactTriangleCallback = Pointer_make([ 0, 0, 0, 0, __ZTI25btGImpactTriangleCallback, 0, 0, 0, __ZN25btGImpactTriangleCallbackD1Ev.__index__, 0, 0, 0, __ZN25btGImpactTriangleCallbackD0Ev.__index__, 0, 0, 0, __ZN25btGImpactTriangleCallback15processTriangleEP9btVector3ii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN18GIM_ShapeRetriever19TetraShapeRetrieverE = Pointer_make([78,49,56,71,73,77,95,83,104,97,112,101,82,101,116,114,105,101,118,101,114,49,57,84,101,116,114,97,83,104,97,112,101,82,101,116,114,105,101,118,101,114,69,0] /* N18GIM_ShapeRetriever19TetraShapeRetrieverE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN18GIM_ShapeRetriever19TetraShapeRetrieverE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSN18GIM_ShapeRetriever19TetraShapeRetrieverE, 0, 0, 0], __ZTIN18GIM_ShapeRetriever19ChildShapeRetrieverE, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN18GIM_ShapeRetriever19TetraShapeRetrieverE = Pointer_make([ 0, 0, 0, 0, __ZTIN18GIM_ShapeRetriever19TetraShapeRetrieverE, 0, 0, 0, __ZN18GIM_ShapeRetriever19TetraShapeRetriever13getChildShapeEi.__index__, 0, 0, 0, __ZN18GIM_ShapeRetriever19TetraShapeRetrieverD1Ev.__index__, 0, 0, 0, __ZN18GIM_ShapeRetriever19TetraShapeRetrieverD0Ev.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN18GIM_ShapeRetriever22TriangleShapeRetrieverE = Pointer_make([78,49,56,71,73,77,95,83,104,97,112,101,82,101,116,114,105,101,118,101,114,50,50,84,114,105,97,110,103,108,101,83,104,97,112,101,82,101,116,114,105,101,118,101,114,69,0] /* N18GIM_ShapeRetriever22TriangleShapeRetrieverE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN18GIM_ShapeRetriever22TriangleShapeRetrieverE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSN18GIM_ShapeRetriever22TriangleShapeRetrieverE, 0, 0, 0], __ZTIN18GIM_ShapeRetriever19ChildShapeRetrieverE, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN18GIM_ShapeRetriever22TriangleShapeRetrieverE = Pointer_make([ 0, 0, 0, 0, __ZTIN18GIM_ShapeRetriever22TriangleShapeRetrieverE, 0, 0, 0, __ZN18GIM_ShapeRetriever22TriangleShapeRetriever13getChildShapeEi.__index__, 0, 0, 0, __ZN18GIM_ShapeRetriever22TriangleShapeRetrieverD1Ev.__index__, 0, 0, 0, __ZN18GIM_ShapeRetriever22TriangleShapeRetrieverD0Ev.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN18GIM_ShapeRetriever19ChildShapeRetrieverE = Pointer_make([78,49,56,71,73,77,95,83,104,97,112,101,82,101,116,114,105,101,118,101,114,49,57,67,104,105,108,100,83,104,97,112,101,82,101,116,114,105,101,118,101,114,69,0] /* N18GIM_ShapeRetriever19ChildShapeRetrieverE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN18GIM_ShapeRetriever19ChildShapeRetrieverE = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTSN18GIM_ShapeRetriever19ChildShapeRetrieverE, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN18GIM_ShapeRetriever19ChildShapeRetrieverE = Pointer_make([ 0, 0, 0, 0, __ZTIN18GIM_ShapeRetriever19ChildShapeRetrieverE, 0, 0, 0, __ZN18GIM_ShapeRetriever19ChildShapeRetriever13getChildShapeEi.__index__, 0, 0, 0, __ZN18GIM_ShapeRetriever19ChildShapeRetrieverD1Ev.__index__, 0, 0, 0, __ZN18GIM_ShapeRetriever19ChildShapeRetrieverD0Ev.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str1148 = Pointer_make([98,116,66,85,95,83,105,109,112,108,101,120,49,116,111,52,0] /* btBU_Simplex1to4\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str147 = Pointer_make([84,114,105,97,110,103,108,101,0] /* Triangle\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _g_main_allocator = Pointer_make([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS22GIM_STANDARD_ALLOCATOR = Pointer_make([50,50,71,73,77,95,83,84,65,78,68,65,82,68,95,65,76,76,79,67,65,84,79,82,0] /* 22GIM_STANDARD_ALLOCATOR\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI22GIM_STANDARD_ALLOCATOR = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS22GIM_STANDARD_ALLOCATOR, 0, 0, 0], __ZTI22btGenericPoolAllocator, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV22GIM_STANDARD_ALLOCATOR = Pointer_make([ 0, 0, 0, 0, __ZTI22GIM_STANDARD_ALLOCATOR, 0, 0, 0, __ZN22GIM_STANDARD_ALLOCATORD1Ev.__index__, 0, 0, 0, __ZN22GIM_STANDARD_ALLOCATORD0Ev.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS22btGenericPoolAllocator = Pointer_make([50,50,98,116,71,101,110,101,114,105,99,80,111,111,108,65,108,108,111,99,97,116,111,114,0] /* 22btGenericPoolAllocator\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI22btGenericPoolAllocator = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS22btGenericPoolAllocator, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV22btGenericPoolAllocator = Pointer_make([ 0, 0, 0, 0, __ZTI22btGenericPoolAllocator, 0, 0, 0, __ZN22btGenericPoolAllocatorD1Ev.__index__, 0, 0, 0, __ZN22btGenericPoolAllocatorD0Ev.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS21btUniformScalingShape = Pointer_make([50,49,98,116,85,110,105,102,111,114,109,83,99,97,108,105,110,103,83,104,97,112,101,0] /* 21btUniformScalingShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI21btUniformScalingShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS21btUniformScalingShape, 0, 0, 0], __ZTI13btConvexShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV21btUniformScalingShape = Pointer_make([ 0, 0, 0, 0, __ZTI21btUniformScalingShape, 0, 0, 0, __ZN21btUniformScalingShapeD1Ev.__index__, 0, 0, 0, __ZN21btUniformScalingShapeD0Ev.__index__, 0, 0, 0, __ZNK21btUniformScalingShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN21btUniformScalingShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btUniformScalingShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK21btUniformScalingShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK21btUniformScalingShape7getNameEv.__index__, 0, 0, 0, __ZN21btUniformScalingShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btUniformScalingShape9getMarginEv.__index__, 0, 0, 0, __ZNK16btCollisionShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK16btCollisionShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK21btUniformScalingShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK21btUniformScalingShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK21btUniformScalingShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btUniformScalingShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btUniformScalingShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btUniformScalingShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str146 = Pointer_make([85,110,105,102,111,114,109,83,99,97,108,105,110,103,83,104,97,112,101,0] /* UniformScalingShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS19btTriangleMeshShape = Pointer_make([49,57,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0] /* 19btTriangleMeshShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI19btTriangleMeshShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS19btTriangleMeshShape, 0, 0, 0], __ZTI14btConcaveShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV19btTriangleMeshShape = Pointer_make([ 0, 0, 0, 0, __ZTI19btTriangleMeshShape, 0, 0, 0, __ZN19btTriangleMeshShapeD1Ev.__index__, 0, 0, 0, __ZN19btTriangleMeshShapeD0Ev.__index__, 0, 0, 0, __ZNK19btTriangleMeshShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN19btTriangleMeshShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK19btTriangleMeshShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK19btTriangleMeshShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK19btTriangleMeshShape7getNameEv.__index__, 0, 0, 0, __ZN14btConcaveShape9setMarginEf.__index__, 0, 0, 0, __ZNK14btConcaveShape9getMarginEv.__index__, 0, 0, 0, __ZNK16btCollisionShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK16btCollisionShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_.__index__, 0, 0, 0, __ZNK19btTriangleMeshShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK19btTriangleMeshShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback = Pointer_make([90,78,75,49,57,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,57,112,114,111,99,101,115,115,65,108,108,84,114,105,97,110,103,108,101,115,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,49,54,70,105,108,116,101,114,101,100,67,97,108,108,98,97,99,107,0] /* ZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback, 0, 0, 0], __ZTI31btInternalTriangleIndexCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback = Pointer_make([ 0, 0, 0, 0, __ZTIZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E16FilteredCallback, 0, 0, 0, __ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD1Ev.__index__, 0, 0, 0, __ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD0Ev.__index__, 0, 0, 0, __ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallback28internalProcessTriangleIndexEPS2_ii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS21SupportVertexCallback = Pointer_make([50,49,83,117,112,112,111,114,116,86,101,114,116,101,120,67,97,108,108,98,97,99,107,0] /* 21SupportVertexCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI21SupportVertexCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS21SupportVertexCallback, 0, 0, 0], __ZTI18btTriangleCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV21SupportVertexCallback = Pointer_make([ 0, 0, 0, 0, __ZTI21SupportVertexCallback, 0, 0, 0, __ZN21SupportVertexCallbackD1Ev.__index__, 0, 0, 0, __ZN21SupportVertexCallbackD0Ev.__index__, 0, 0, 0, __ZN21SupportVertexCallback15processTriangleEP9btVector3ii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str135 = Pointer_make([84,82,73,65,78,71,76,69,77,69,83,72,0] /* TRIANGLEMESH\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS14btTriangleMesh = Pointer_make([49,52,98,116,84,114,105,97,110,103,108,101,77,101,115,104,0] /* 14btTriangleMesh\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI14btTriangleMesh = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS14btTriangleMesh, 0, 0, 0], __ZTI26btTriangleIndexVertexArray, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV14btTriangleMesh = Pointer_make([ 0, 0, 0, 0, __ZTI14btTriangleMesh, 0, 0, 0, __ZN14btTriangleMeshD1Ev.__index__, 0, 0, 0, __ZN14btTriangleMeshD0Ev.__index__, 0, 0, 0, __ZNK23btStridingMeshInterface27InternalProcessAllTrianglesEP31btInternalTriangleIndexCallbackRK9btVector3S4_.__index__, 0, 0, 0, __ZN26btTriangleIndexVertexArray24getLockedVertexIndexBaseEPPhRiR14PHY_ScalarTypeS2_S1_S2_S2_S4_i.__index__, 0, 0, 0, __ZNK26btTriangleIndexVertexArray32getLockedReadOnlyVertexIndexBaseEPPKhRiR14PHY_ScalarTypeS3_S2_S3_S3_S5_i.__index__, 0, 0, 0, __ZN26btTriangleIndexVertexArray16unLockVertexBaseEi.__index__, 0, 0, 0, __ZNK26btTriangleIndexVertexArray24unLockReadOnlyVertexBaseEi.__index__, 0, 0, 0, __ZNK26btTriangleIndexVertexArray14getNumSubPartsEv.__index__, 0, 0, 0, __ZN14btTriangleMesh19preallocateVerticesEi.__index__, 0, 0, 0, __ZN14btTriangleMesh18preallocateIndicesEi.__index__, 0, 0, 0, __ZNK26btTriangleIndexVertexArray14hasPremadeAabbEv.__index__, 0, 0, 0, __ZNK26btTriangleIndexVertexArray14setPremadeAabbERK9btVector3S2_.__index__, 0, 0, 0, __ZNK26btTriangleIndexVertexArray14getPremadeAabbEP9btVector3S1_.__index__, 0, 0, 0, __ZNK23btStridingMeshInterface28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK23btStridingMeshInterface9serializeEPvP12btSerializer.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS34btTriangleIndexVertexMaterialArray = Pointer_make([51,52,98,116,84,114,105,97,110,103,108,101,73,110,100,101,120,86,101,114,116,101,120,77,97,116,101,114,105,97,108,65,114,114,97,121,0] /* 34btTriangleIndexVertexMaterialArray\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI34btTriangleIndexVertexMaterialArray = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS34btTriangleIndexVertexMaterialArray, 0, 0, 0], __ZTI26btTriangleIndexVertexArray, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV34btTriangleIndexVertexMaterialArray = Pointer_make([ 0, 0, 0, 0, __ZTI34btTriangleIndexVertexMaterialArray, 0, 0, 0, __ZN34btTriangleIndexVertexMaterialArrayD1Ev.__index__, 0, 0, 0, __ZN34btTriangleIndexVertexMaterialArrayD0Ev.__index__, 0, 0, 0, __ZNK23btStridingMeshInterface27InternalProcessAllTrianglesEP31btInternalTriangleIndexCallbackRK9btVector3S4_.__index__, 0, 0, 0, __ZN26btTriangleIndexVertexArray24getLockedVertexIndexBaseEPPhRiR14PHY_ScalarTypeS2_S1_S2_S2_S4_i.__index__, 0, 0, 0, __ZNK26btTriangleIndexVertexArray32getLockedReadOnlyVertexIndexBaseEPPKhRiR14PHY_ScalarTypeS3_S2_S3_S3_S5_i.__index__, 0, 0, 0, __ZN26btTriangleIndexVertexArray16unLockVertexBaseEi.__index__, 0, 0, 0, __ZNK26btTriangleIndexVertexArray24unLockReadOnlyVertexBaseEi.__index__, 0, 0, 0, __ZNK26btTriangleIndexVertexArray14getNumSubPartsEv.__index__, 0, 0, 0, __ZN26btTriangleIndexVertexArray19preallocateVerticesEi.__index__, 0, 0, 0, __ZN26btTriangleIndexVertexArray18preallocateIndicesEi.__index__, 0, 0, 0, __ZNK26btTriangleIndexVertexArray14hasPremadeAabbEv.__index__, 0, 0, 0, __ZNK26btTriangleIndexVertexArray14setPremadeAabbERK9btVector3S2_.__index__, 0, 0, 0, __ZNK26btTriangleIndexVertexArray14getPremadeAabbEP9btVector3S1_.__index__, 0, 0, 0, __ZNK23btStridingMeshInterface28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK23btStridingMeshInterface9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZN34btTriangleIndexVertexMaterialArray21getLockedMaterialBaseEPPhRiR14PHY_ScalarTypeS2_S1_S2_S2_S4_i.__index__, 0, 0, 0, __ZN34btTriangleIndexVertexMaterialArray29getLockedReadOnlyMaterialBaseEPPKhRiR14PHY_ScalarTypeS3_S2_S3_S3_S5_i.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS26btTriangleIndexVertexArray = Pointer_make([50,54,98,116,84,114,105,97,110,103,108,101,73,110,100,101,120,86,101,114,116,101,120,65,114,114,97,121,0] /* 26btTriangleIndexVertexArray\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI26btTriangleIndexVertexArray = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS26btTriangleIndexVertexArray, 0, 0, 0], __ZTI23btStridingMeshInterface, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV26btTriangleIndexVertexArray = Pointer_make([ 0, 0, 0, 0, __ZTI26btTriangleIndexVertexArray, 0, 0, 0, __ZN26btTriangleIndexVertexArrayD1Ev.__index__, 0, 0, 0, __ZN26btTriangleIndexVertexArrayD0Ev.__index__, 0, 0, 0, __ZNK23btStridingMeshInterface27InternalProcessAllTrianglesEP31btInternalTriangleIndexCallbackRK9btVector3S4_.__index__, 0, 0, 0, __ZN26btTriangleIndexVertexArray24getLockedVertexIndexBaseEPPhRiR14PHY_ScalarTypeS2_S1_S2_S2_S4_i.__index__, 0, 0, 0, __ZNK26btTriangleIndexVertexArray32getLockedReadOnlyVertexIndexBaseEPPKhRiR14PHY_ScalarTypeS3_S2_S3_S3_S5_i.__index__, 0, 0, 0, __ZN26btTriangleIndexVertexArray16unLockVertexBaseEi.__index__, 0, 0, 0, __ZNK26btTriangleIndexVertexArray24unLockReadOnlyVertexBaseEi.__index__, 0, 0, 0, __ZNK26btTriangleIndexVertexArray14getNumSubPartsEv.__index__, 0, 0, 0, __ZN26btTriangleIndexVertexArray19preallocateVerticesEi.__index__, 0, 0, 0, __ZN26btTriangleIndexVertexArray18preallocateIndicesEi.__index__, 0, 0, 0, __ZNK26btTriangleIndexVertexArray14hasPremadeAabbEv.__index__, 0, 0, 0, __ZNK26btTriangleIndexVertexArray14setPremadeAabbERK9btVector3S2_.__index__, 0, 0, 0, __ZNK26btTriangleIndexVertexArray14getPremadeAabbEP9btVector3S1_.__index__, 0, 0, 0, __ZNK23btStridingMeshInterface28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK23btStridingMeshInterface9serializeEPvP12btSerializer.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS18btTriangleCallback = Pointer_make([49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0] /* 18btTriangleCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI18btTriangleCallback = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS18btTriangleCallback, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV18btTriangleCallback = Pointer_make([ 0, 0, 0, 0, __ZTI18btTriangleCallback, 0, 0, 0, __ZN18btTriangleCallbackD1Ev.__index__, 0, 0, 0, __ZN18btTriangleCallbackD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS31btInternalTriangleIndexCallback = Pointer_make([51,49,98,116,73,110,116,101,114,110,97,108,84,114,105,97,110,103,108,101,73,110,100,101,120,67,97,108,108,98,97,99,107,0] /* 31btInternalTriangleIndexCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI31btInternalTriangleIndexCallback = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS31btInternalTriangleIndexCallback, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV31btInternalTriangleIndexCallback = Pointer_make([ 0, 0, 0, 0, __ZTI31btInternalTriangleIndexCallback, 0, 0, 0, __ZN31btInternalTriangleIndexCallbackD1Ev.__index__, 0, 0, 0, __ZN31btInternalTriangleIndexCallbackD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS16btTriangleBuffer = Pointer_make([49,54,98,116,84,114,105,97,110,103,108,101,66,117,102,102,101,114,0] /* 16btTriangleBuffer\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI16btTriangleBuffer = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS16btTriangleBuffer, 0, 0, 0], __ZTI18btTriangleCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV16btTriangleBuffer = Pointer_make([ 0, 0, 0, 0, __ZTI16btTriangleBuffer, 0, 0, 0, __ZN16btTriangleBufferD1Ev.__index__, 0, 0, 0, __ZN16btTriangleBufferD0Ev.__index__, 0, 0, 0, __ZN16btTriangleBuffer15processTriangleEP9btVector3ii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS16btBU_Simplex1to4 = Pointer_make([49,54,98,116,66,85,95,83,105,109,112,108,101,120,49,116,111,52,0] /* 16btBU_Simplex1to4\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI16btBU_Simplex1to4 = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS16btBU_Simplex1to4, 0, 0, 0], __ZTI34btPolyhedralConvexAabbCachingShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV16btBU_Simplex1to4 = Pointer_make([ 0, 0, 0, 0, __ZTI16btBU_Simplex1to4, 0, 0, 0, __ZN16btBU_Simplex1to4D1Ev.__index__, 0, 0, 0, __ZN16btBU_Simplex1to4D0Ev.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to47getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN34btPolyhedralConvexAabbCachingShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK23btPolyhedralConvexShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to47getNameEv.__index__, 0, 0, 0, __ZN21btConvexInternalShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK23btPolyhedralConvexShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK23btPolyhedralConvexShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to414getNumVerticesEv.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to411getNumEdgesEv.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to47getEdgeEiR9btVector3S1_.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to49getVertexEiR9btVector3.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to412getNumPlanesEv.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to48getPlaneER9btVector3S1_i.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to48isInsideERK9btVector3f.__index__, 0, 0, 0, __ZNK16btBU_Simplex1to48getIndexEi.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str1130 = Pointer_make([98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0] /* btConvexInternalShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str129 = Pointer_make([98,116,66,85,95,83,105,109,112,108,101,120,49,116,111,52,0] /* btBU_Simplex1to4\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS23btStridingMeshInterface = Pointer_make([50,51,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,0] /* 23btStridingMeshInterface\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI23btStridingMeshInterface = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS23btStridingMeshInterface, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV23btStridingMeshInterface = Pointer_make([ 0, 0, 0, 0, __ZTI23btStridingMeshInterface, 0, 0, 0, __ZN23btStridingMeshInterfaceD1Ev.__index__, 0, 0, 0, __ZN23btStridingMeshInterfaceD0Ev.__index__, 0, 0, 0, __ZNK23btStridingMeshInterface27InternalProcessAllTrianglesEP31btInternalTriangleIndexCallbackRK9btVector3S4_.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZNK23btStridingMeshInterface14hasPremadeAabbEv.__index__, 0, 0, 0, __ZNK23btStridingMeshInterface14setPremadeAabbERK9btVector3S2_.__index__, 0, 0, 0, __ZNK23btStridingMeshInterface14getPremadeAabbEP9btVector3S1_.__index__, 0, 0, 0, __ZNK23btStridingMeshInterface28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK23btStridingMeshInterface9serializeEPvP12btSerializer.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str5128 = Pointer_make([98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,68,97,116,97,0] /* btStridingMeshInterfaceData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str4127 = Pointer_make([98,116,77,101,115,104,80,97,114,116,68,97,116,97,0] /* btMeshPartData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str3126 = Pointer_make([98,116,86,101,99,116,111,114,51,68,111,117,98,108,101,68,97,116,97,0] /* btVector3DoubleData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str2125 = Pointer_make([98,116,86,101,99,116,111,114,51,70,108,111,97,116,68,97,116,97,0] /* btVector3FloatData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str1124 = Pointer_make([98,116,83,104,111,114,116,73,110,116,73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97,0] /* btShortIntIndexTripletData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str123 = Pointer_make([98,116,73,110,116,73,110,100,101,120,68,97,116,97,0] /* btIntIndexData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_E23AabbCalculationCallback = Pointer_make([90,78,50,51,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,50,51,99,97,108,99,117,108,97,116,101,65,97,98,98,66,114,117,116,101,70,111,114,99,101,69,82,57,98,116,86,101,99,116,111,114,51,83,49,95,69,50,51,65,97,98,98,67,97,108,99,117,108,97,116,105,111,110,67,97,108,108,98,97,99,107,0] /* ZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_E23AabbCalculationCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_E23AabbCalculationCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_E23AabbCalculationCallback, 0, 0, 0], __ZTI31btInternalTriangleIndexCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_E23AabbCalculationCallback = Pointer_make([ 0, 0, 0, 0, __ZTIZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_E23AabbCalculationCallback, 0, 0, 0, __ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallbackD1Ev.__index__, 0, 0, 0, __ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallbackD0Ev.__index__, 0, 0, 0, __ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallback28internalProcessTriangleIndexEPS0_ii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS18btStaticPlaneShape = Pointer_make([49,56,98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,97,112,101,0] /* 18btStaticPlaneShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI18btStaticPlaneShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS18btStaticPlaneShape, 0, 0, 0], __ZTI14btConcaveShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV18btStaticPlaneShape = Pointer_make([ 0, 0, 0, 0, __ZTI18btStaticPlaneShape, 0, 0, 0, __ZN18btStaticPlaneShapeD1Ev.__index__, 0, 0, 0, __ZN18btStaticPlaneShapeD0Ev.__index__, 0, 0, 0, __ZNK18btStaticPlaneShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN18btStaticPlaneShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK18btStaticPlaneShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK18btStaticPlaneShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK18btStaticPlaneShape7getNameEv.__index__, 0, 0, 0, __ZN14btConcaveShape9setMarginEf.__index__, 0, 0, 0, __ZNK14btConcaveShape9getMarginEv.__index__, 0, 0, 0, __ZNK18btStaticPlaneShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK18btStaticPlaneShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK18btStaticPlaneShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str1121 = Pointer_make([98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,97,112,101,68,97,116,97,0] /* btStaticPlaneShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str120 = Pointer_make([83,84,65,84,73,67,80,76,65,78,69,0] /* STATICPLANE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS13btSphereShape = Pointer_make([49,51,98,116,83,112,104,101,114,101,83,104,97,112,101,0] /* 13btSphereShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI13btSphereShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS13btSphereShape, 0, 0, 0], __ZTI21btConvexInternalShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV13btSphereShape = Pointer_make([ 0, 0, 0, 0, __ZTI13btSphereShape, 0, 0, 0, __ZN13btSphereShapeD1Ev.__index__, 0, 0, 0, __ZN13btSphereShapeD0Ev.__index__, 0, 0, 0, __ZNK13btSphereShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN21btConvexInternalShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK13btSphereShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK13btSphereShape7getNameEv.__index__, 0, 0, 0, __ZN13btSphereShape9setMarginEf.__index__, 0, 0, 0, __ZNK13btSphereShape9getMarginEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK13btSphereShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK13btSphereShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK13btSphereShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str1117 = Pointer_make([98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0] /* btConvexInternalShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str115 = Pointer_make([83,80,72,69,82,69,0] /* SPHERE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints = Pointer_make([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZGVZN11btShapeHull19getUnitSpherePointsEvE17sUnitSpherePoints = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS28btScaledBvhTriangleMeshShape = Pointer_make([50,56,98,116,83,99,97,108,101,100,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0] /* 28btScaledBvhTriangleMeshShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI28btScaledBvhTriangleMeshShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS28btScaledBvhTriangleMeshShape, 0, 0, 0], __ZTI14btConcaveShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV28btScaledBvhTriangleMeshShape = Pointer_make([ 0, 0, 0, 0, __ZTI28btScaledBvhTriangleMeshShape, 0, 0, 0, __ZN28btScaledBvhTriangleMeshShapeD1Ev.__index__, 0, 0, 0, __ZN28btScaledBvhTriangleMeshShapeD0Ev.__index__, 0, 0, 0, __ZNK28btScaledBvhTriangleMeshShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN28btScaledBvhTriangleMeshShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK28btScaledBvhTriangleMeshShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK28btScaledBvhTriangleMeshShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK28btScaledBvhTriangleMeshShape7getNameEv.__index__, 0, 0, 0, __ZN14btConcaveShape9setMarginEf.__index__, 0, 0, 0, __ZNK14btConcaveShape9getMarginEv.__index__, 0, 0, 0, __ZNK16btCollisionShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK16btCollisionShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK28btScaledBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str3114 = Pointer_make([98,116,84,114,105,97,110,103,108,101,73,110,102,111,77,97,112,68,97,116,97,0] /* btTriangleInfoMapData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str2113 = Pointer_make([98,116,84,114,105,97,110,103,108,101,73,110,102,111,68,97,116,97,0] /* btTriangleInfoData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str1112 = Pointer_make([105,110,116,0] /* int\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS24btScaledTriangleCallback = Pointer_make([50,52,98,116,83,99,97,108,101,100,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0] /* 24btScaledTriangleCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI24btScaledTriangleCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS24btScaledTriangleCallback, 0, 0, 0], __ZTI18btTriangleCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV24btScaledTriangleCallback = Pointer_make([ 0, 0, 0, 0, __ZTI24btScaledTriangleCallback, 0, 0, 0, __ZN24btScaledTriangleCallbackD1Ev.__index__, 0, 0, 0, __ZN24btScaledTriangleCallbackD0Ev.__index__, 0, 0, 0, __ZN24btScaledTriangleCallback15processTriangleEP9btVector3ii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str111 = Pointer_make([83,67,65,76,69,68,66,86,72,84,82,73,65,78,71,76,69,77,69,83,72,0] /* SCALEDBVHTRIANGLEMESH\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions = Pointer_make([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZGVZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEvE11_directions = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str105 = Pointer_make([98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0] /* btConvexInternalShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS34btPolyhedralConvexAabbCachingShape = Pointer_make([51,52,98,116,80,111,108,121,104,101,100,114,97,108,67,111,110,118,101,120,65,97,98,98,67,97,99,104,105,110,103,83,104,97,112,101,0] /* 34btPolyhedralConvexAabbCachingShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI34btPolyhedralConvexAabbCachingShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS34btPolyhedralConvexAabbCachingShape, 0, 0, 0], __ZTI23btPolyhedralConvexShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV34btPolyhedralConvexAabbCachingShape = Pointer_make([ 0, 0, 0, 0, __ZTI34btPolyhedralConvexAabbCachingShape, 0, 0, 0, __ZN34btPolyhedralConvexAabbCachingShapeD1Ev.__index__, 0, 0, 0, __ZN34btPolyhedralConvexAabbCachingShapeD0Ev.__index__, 0, 0, 0, __ZNK34btPolyhedralConvexAabbCachingShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN34btPolyhedralConvexAabbCachingShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK23btPolyhedralConvexShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZN21btConvexInternalShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK23btPolyhedralConvexShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK23btPolyhedralConvexShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS23btPolyhedralConvexShape = Pointer_make([50,51,98,116,80,111,108,121,104,101,100,114,97,108,67,111,110,118,101,120,83,104,97,112,101,0] /* 23btPolyhedralConvexShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI23btPolyhedralConvexShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS23btPolyhedralConvexShape, 0, 0, 0], __ZTI21btConvexInternalShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV23btPolyhedralConvexShape = Pointer_make([ 0, 0, 0, 0, __ZTI23btPolyhedralConvexShape, 0, 0, 0, __ZN23btPolyhedralConvexShapeD1Ev.__index__, 0, 0, 0, __ZN23btPolyhedralConvexShapeD0Ev.__index__, 0, 0, 0, __ZNK21btConvexInternalShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN21btConvexInternalShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK23btPolyhedralConvexShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZN21btConvexInternalShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK23btPolyhedralConvexShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK23btPolyhedralConvexShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS14btOptimizedBvh = Pointer_make([49,52,98,116,79,112,116,105,109,105,122,101,100,66,118,104,0] /* 14btOptimizedBvh\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI14btOptimizedBvh = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS14btOptimizedBvh, 0, 0, 0], __ZTI14btQuantizedBvh, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV14btOptimizedBvh = Pointer_make([ 0, 0, 0, 0, __ZTI14btOptimizedBvh, 0, 0, 0, __ZN14btOptimizedBvhD1Ev.__index__, 0, 0, 0, __ZN14btOptimizedBvhD0Ev.__index__, 0, 0, 0, __ZNK14btQuantizedBvh9serializeEPvjb.__index__, 0, 0, 0, __ZNK14btQuantizedBvh31calculateSerializeBufferSizeNewEv.__index__, 0, 0, 0, __ZNK14btQuantizedBvh9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZN14btQuantizedBvh16deSerializeFloatER23btQuantizedBvhFloatData.__index__, 0, 0, 0, __ZN14btQuantizedBvh17deSerializeDoubleER24btQuantizedBvhDoubleData.__index__, 0, 0, 0, __ZNK14btOptimizedBvh16serializeInPlaceEPvjb.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback = Pointer_make([90,78,49,52,98,116,79,112,116,105,109,105,122,101,100,66,118,104,53,98,117,105,108,100,69,80,50,51,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,98,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,57,81,117,97,110,116,105,122,101,100,78,111,100,101,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0] /* ZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback, 0, 0, 0], __ZTI31btInternalTriangleIndexCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback = Pointer_make([ 0, 0, 0, 0, __ZTIZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E29QuantizedNodeTriangleCallback, 0, 0, 0, __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD1Ev.__index__, 0, 0, 0, __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD0Ev.__index__, 0, 0, 0, __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallback28internalProcessTriangleIndexEPS2_ii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback = Pointer_make([90,78,49,52,98,116,79,112,116,105,109,105,122,101,100,66,118,104,53,98,117,105,108,100,69,80,50,51,98,116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,98,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,48,78,111,100,101,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0] /* ZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback, 0, 0, 0], __ZTI31btInternalTriangleIndexCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback = Pointer_make([ 0, 0, 0, 0, __ZTIZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_E20NodeTriangleCallback, 0, 0, 0, __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD1Ev.__index__, 0, 0, 0, __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD0Ev.__index__, 0, 0, 0, __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallback28internalProcessTriangleIndexEPS2_ii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str398 = Pointer_make([98,116,77,117,108,116,105,83,112,104,101,114,101,83,104,97,112,101,68,97,116,97,0] /* btMultiSphereShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str297 = Pointer_make([98,116,80,111,115,105,116,105,111,110,65,110,100,82,97,100,105,117,115,0] /* btPositionAndRadius\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS18btMultiSphereShape = Pointer_make([49,56,98,116,77,117,108,116,105,83,112,104,101,114,101,83,104,97,112,101,0] /* 18btMultiSphereShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI18btMultiSphereShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS18btMultiSphereShape, 0, 0, 0], __ZTI32btConvexInternalAabbCachingShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV18btMultiSphereShape = Pointer_make([ 0, 0, 0, 0, __ZTI18btMultiSphereShape, 0, 0, 0, __ZN18btMultiSphereShapeD1Ev.__index__, 0, 0, 0, __ZN18btMultiSphereShapeD0Ev.__index__, 0, 0, 0, __ZNK32btConvexInternalAabbCachingShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN32btConvexInternalAabbCachingShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK18btMultiSphereShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK18btMultiSphereShape7getNameEv.__index__, 0, 0, 0, __ZN21btConvexInternalShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK18btMultiSphereShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK18btMultiSphereShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK18btMultiSphereShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK18btMultiSphereShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str96 = Pointer_make([77,117,108,116,105,83,112,104,101,114,101,0] /* MultiSphere\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str295 = Pointer_make([98,116,84,114,105,97,110,103,108,101,73,110,102,111,77,97,112,68,97,116,97,0] /* btTriangleInfoMapData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str194 = Pointer_make([98,116,84,114,105,97,110,103,108,101,73,110,102,111,68,97,116,97,0] /* btTriangleInfoData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str93 = Pointer_make([105,110,116,0] /* int\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS19btMinkowskiSumShape = Pointer_make([49,57,98,116,77,105,110,107,111,119,115,107,105,83,117,109,83,104,97,112,101,0] /* 19btMinkowskiSumShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI19btMinkowskiSumShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS19btMinkowskiSumShape, 0, 0, 0], __ZTI21btConvexInternalShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV19btMinkowskiSumShape = Pointer_make([ 0, 0, 0, 0, __ZTI19btMinkowskiSumShape, 0, 0, 0, __ZN19btMinkowskiSumShapeD1Ev.__index__, 0, 0, 0, __ZN19btMinkowskiSumShapeD0Ev.__index__, 0, 0, 0, __ZNK21btConvexInternalShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN21btConvexInternalShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK19btMinkowskiSumShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK19btMinkowskiSumShape7getNameEv.__index__, 0, 0, 0, __ZN21btConvexInternalShape9setMarginEf.__index__, 0, 0, 0, __ZNK19btMinkowskiSumShape9getMarginEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK19btMinkowskiSumShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK19btMinkowskiSumShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str192 = Pointer_make([98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0] /* btConvexInternalShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str91 = Pointer_make([77,105,110,107,111,119,115,107,105,83,117,109,0] /* MinkowskiSum\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS25btHeightfieldTerrainShape = Pointer_make([50,53,98,116,72,101,105,103,104,116,102,105,101,108,100,84,101,114,114,97,105,110,83,104,97,112,101,0] /* 25btHeightfieldTerrainShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI25btHeightfieldTerrainShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS25btHeightfieldTerrainShape, 0, 0, 0], __ZTI14btConcaveShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV25btHeightfieldTerrainShape = Pointer_make([ 0, 0, 0, 0, __ZTI25btHeightfieldTerrainShape, 0, 0, 0, __ZN25btHeightfieldTerrainShapeD1Ev.__index__, 0, 0, 0, __ZN25btHeightfieldTerrainShapeD0Ev.__index__, 0, 0, 0, __ZNK25btHeightfieldTerrainShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN25btHeightfieldTerrainShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK25btHeightfieldTerrainShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK25btHeightfieldTerrainShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK25btHeightfieldTerrainShape7getNameEv.__index__, 0, 0, 0, __ZN14btConcaveShape9setMarginEf.__index__, 0, 0, 0, __ZNK14btConcaveShape9getMarginEv.__index__, 0, 0, 0, __ZNK16btCollisionShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK16btCollisionShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK25btHeightfieldTerrainShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_.__index__, 0, 0, 0, __ZNK25btHeightfieldTerrainShape22getRawHeightFieldValueEii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str90 = Pointer_make([72,69,73,71,72,84,70,73,69,76,68,0] /* HEIGHTFIELD\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS12btEmptyShape = Pointer_make([49,50,98,116,69,109,112,116,121,83,104,97,112,101,0] /* 12btEmptyShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI12btEmptyShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS12btEmptyShape, 0, 0, 0], __ZTI14btConcaveShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV12btEmptyShape = Pointer_make([ 0, 0, 0, 0, __ZTI12btEmptyShape, 0, 0, 0, __ZN12btEmptyShapeD1Ev.__index__, 0, 0, 0, __ZN12btEmptyShapeD0Ev.__index__, 0, 0, 0, __ZNK12btEmptyShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN12btEmptyShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK12btEmptyShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK12btEmptyShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK12btEmptyShape7getNameEv.__index__, 0, 0, 0, __ZN14btConcaveShape9setMarginEf.__index__, 0, 0, 0, __ZNK14btConcaveShape9getMarginEv.__index__, 0, 0, 0, __ZNK16btCollisionShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK16btCollisionShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK12btEmptyShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str89 = Pointer_make([69,109,112,116,121,0] /* Empty\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str488 = Pointer_make([98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,68,97,116,97,0] /* btCylinderShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS16btCylinderShapeZ = Pointer_make([49,54,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,90,0] /* 16btCylinderShapeZ\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI16btCylinderShapeZ = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS16btCylinderShapeZ, 0, 0, 0], __ZTI15btCylinderShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV16btCylinderShapeZ = Pointer_make([ 0, 0, 0, 0, __ZTI16btCylinderShapeZ, 0, 0, 0, __ZN16btCylinderShapeZD1Ev.__index__, 0, 0, 0, __ZN16btCylinderShapeZD0Ev.__index__, 0, 0, 0, __ZNK15btCylinderShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN15btCylinderShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK15btCylinderShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK16btCylinderShapeZ7getNameEv.__index__, 0, 0, 0, __ZN15btCylinderShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK15btCylinderShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK15btCylinderShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK15btCylinderShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK16btCylinderShapeZ37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK16btCylinderShapeZ49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0, __ZNK16btCylinderShapeZ9getRadiusEv.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS16btCylinderShapeX = Pointer_make([49,54,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,88,0] /* 16btCylinderShapeX\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI16btCylinderShapeX = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS16btCylinderShapeX, 0, 0, 0], __ZTI15btCylinderShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV16btCylinderShapeX = Pointer_make([ 0, 0, 0, 0, __ZTI16btCylinderShapeX, 0, 0, 0, __ZN16btCylinderShapeXD1Ev.__index__, 0, 0, 0, __ZN16btCylinderShapeXD0Ev.__index__, 0, 0, 0, __ZNK15btCylinderShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN15btCylinderShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK15btCylinderShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK16btCylinderShapeX7getNameEv.__index__, 0, 0, 0, __ZN15btCylinderShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK15btCylinderShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK15btCylinderShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK15btCylinderShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK16btCylinderShapeX37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK16btCylinderShapeX49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0, __ZNK16btCylinderShapeX9getRadiusEv.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS15btCylinderShape = Pointer_make([49,53,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,0] /* 15btCylinderShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI15btCylinderShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS15btCylinderShape, 0, 0, 0], __ZTI21btConvexInternalShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV15btCylinderShape = Pointer_make([ 0, 0, 0, 0, __ZTI15btCylinderShape, 0, 0, 0, __ZN15btCylinderShapeD1Ev.__index__, 0, 0, 0, __ZN15btCylinderShapeD0Ev.__index__, 0, 0, 0, __ZNK15btCylinderShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN15btCylinderShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK15btCylinderShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK15btCylinderShape7getNameEv.__index__, 0, 0, 0, __ZN15btCylinderShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK15btCylinderShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK15btCylinderShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK15btCylinderShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK15btCylinderShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK15btCylinderShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0, __ZNK15btCylinderShape9getRadiusEv.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str287 = Pointer_make([67,121,108,105,110,100,101,114,90,0] /* CylinderZ\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str186 = Pointer_make([67,121,108,105,110,100,101,114,88,0] /* CylinderX\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str85 = Pointer_make([67,121,108,105,110,100,101,114,89,0] /* CylinderY\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE15InertiaCallback = Pointer_make([90,78,75,50,53,98,116,67,111,110,118,101,120,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,51,49,99,97,108,99,117,108,97,116,101,80,114,105,110,99,105,112,97,108,65,120,105,115,84,114,97,110,115,102,111,114,109,69,82,49,49,98,116,84,114,97,110,115,102,111,114,109,82,57,98,116,86,101,99,116,111,114,51,82,102,69,49,53,73,110,101,114,116,105,97,67,97,108,108,98,97,99,107,0] /* ZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE15InertiaCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE15InertiaCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE15InertiaCallback, 0, 0, 0], __ZTI31btInternalTriangleIndexCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE15InertiaCallback = Pointer_make([ 0, 0, 0, 0, __ZTIZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE15InertiaCallback, 0, 0, 0, __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallbackD1Ev.__index__, 0, 0, 0, __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallbackD0Ev.__index__, 0, 0, 0, __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallback28internalProcessTriangleIndexEPS2_ii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS25btConvexTriangleMeshShape = Pointer_make([50,53,98,116,67,111,110,118,101,120,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0] /* 25btConvexTriangleMeshShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI25btConvexTriangleMeshShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS25btConvexTriangleMeshShape, 0, 0, 0], __ZTI34btPolyhedralConvexAabbCachingShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV25btConvexTriangleMeshShape = Pointer_make([ 0, 0, 0, 0, __ZTI25btConvexTriangleMeshShape, 0, 0, 0, __ZN25btConvexTriangleMeshShapeD1Ev.__index__, 0, 0, 0, __ZN25btConvexTriangleMeshShapeD0Ev.__index__, 0, 0, 0, __ZNK34btPolyhedralConvexAabbCachingShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN25btConvexTriangleMeshShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK25btConvexTriangleMeshShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK23btPolyhedralConvexShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK25btConvexTriangleMeshShape7getNameEv.__index__, 0, 0, 0, __ZN21btConvexInternalShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK25btConvexTriangleMeshShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK25btConvexTriangleMeshShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK25btConvexTriangleMeshShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0, __ZNK25btConvexTriangleMeshShape14getNumVerticesEv.__index__, 0, 0, 0, __ZNK25btConvexTriangleMeshShape11getNumEdgesEv.__index__, 0, 0, 0, __ZNK25btConvexTriangleMeshShape7getEdgeEiR9btVector3S1_.__index__, 0, 0, 0, __ZNK25btConvexTriangleMeshShape9getVertexEiR9btVector3.__index__, 0, 0, 0, __ZNK25btConvexTriangleMeshShape12getNumPlanesEv.__index__, 0, 0, 0, __ZNK25btConvexTriangleMeshShape8getPlaneER9btVector3S1_i.__index__, 0, 0, 0, __ZNK25btConvexTriangleMeshShape8isInsideERK9btVector3f.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str184 = Pointer_make([98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0] /* btConvexInternalShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE14CenterCallback = Pointer_make([90,78,75,50,53,98,116,67,111,110,118,101,120,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,51,49,99,97,108,99,117,108,97,116,101,80,114,105,110,99,105,112,97,108,65,120,105,115,84,114,97,110,115,102,111,114,109,69,82,49,49,98,116,84,114,97,110,115,102,111,114,109,82,57,98,116,86,101,99,116,111,114,51,82,102,69,49,52,67,101,110,116,101,114,67,97,108,108,98,97,99,107,0] /* ZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE14CenterCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE14CenterCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE14CenterCallback, 0, 0, 0], __ZTI31btInternalTriangleIndexCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE14CenterCallback = Pointer_make([ 0, 0, 0, 0, __ZTIZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfE14CenterCallback, 0, 0, 0, __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallbackD1Ev.__index__, 0, 0, 0, __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallbackD0Ev.__index__, 0, 0, 0, __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallback28internalProcessTriangleIndexEPS2_ii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS26LocalSupportVertexCallback = Pointer_make([50,54,76,111,99,97,108,83,117,112,112,111,114,116,86,101,114,116,101,120,67,97,108,108,98,97,99,107,0] /* 26LocalSupportVertexCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI26LocalSupportVertexCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS26LocalSupportVertexCallback, 0, 0, 0], __ZTI31btInternalTriangleIndexCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV26LocalSupportVertexCallback = Pointer_make([ 0, 0, 0, 0, __ZTI26LocalSupportVertexCallback, 0, 0, 0, __ZN26LocalSupportVertexCallbackD1Ev.__index__, 0, 0, 0, __ZN26LocalSupportVertexCallbackD0Ev.__index__, 0, 0, 0, __ZN26LocalSupportVertexCallback28internalProcessTriangleIndexEP9btVector3ii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str83 = Pointer_make([67,111,110,118,101,120,84,114,105,109,101,115,104,0] /* ConvexTrimesh\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS15btConvex2dShape = Pointer_make([49,53,98,116,67,111,110,118,101,120,50,100,83,104,97,112,101,0] /* 15btConvex2dShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI15btConvex2dShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS15btConvex2dShape, 0, 0, 0], __ZTI13btConvexShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV15btConvex2dShape = Pointer_make([ 0, 0, 0, 0, __ZTI15btConvex2dShape, 0, 0, 0, __ZN15btConvex2dShapeD1Ev.__index__, 0, 0, 0, __ZN15btConvex2dShapeD0Ev.__index__, 0, 0, 0, __ZNK15btConvex2dShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN15btConvex2dShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK15btConvex2dShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK15btConvex2dShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK15btConvex2dShape7getNameEv.__index__, 0, 0, 0, __ZN15btConvex2dShape9setMarginEf.__index__, 0, 0, 0, __ZNK15btConvex2dShape9getMarginEv.__index__, 0, 0, 0, __ZNK16btCollisionShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK16btCollisionShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK15btConvex2dShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK15btConvex2dShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK15btConvex2dShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK15btConvex2dShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK15btConvex2dShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK15btConvex2dShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str82 = Pointer_make([67,111,110,118,101,120,50,100,83,104,97,112,101,0] /* Convex2dShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS13btConvexShape = Pointer_make([49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,0] /* 13btConvexShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI13btConvexShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS13btConvexShape, 0, 0, 0], __ZTI16btCollisionShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV13btConvexShape = Pointer_make([ 0, 0, 0, 0, __ZTI13btConvexShape, 0, 0, 0, __ZN13btConvexShapeD1Ev.__index__, 0, 0, 0, __ZN13btConvexShapeD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZNK16btCollisionShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK16btCollisionShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS23btConvexPointCloudShape = Pointer_make([50,51,98,116,67,111,110,118,101,120,80,111,105,110,116,67,108,111,117,100,83,104,97,112,101,0] /* 23btConvexPointCloudShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI23btConvexPointCloudShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS23btConvexPointCloudShape, 0, 0, 0], __ZTI34btPolyhedralConvexAabbCachingShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV23btConvexPointCloudShape = Pointer_make([ 0, 0, 0, 0, __ZTI23btConvexPointCloudShape, 0, 0, 0, __ZN23btConvexPointCloudShapeD1Ev.__index__, 0, 0, 0, __ZN23btConvexPointCloudShapeD0Ev.__index__, 0, 0, 0, __ZNK34btPolyhedralConvexAabbCachingShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN23btConvexPointCloudShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK23btPolyhedralConvexShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK23btConvexPointCloudShape7getNameEv.__index__, 0, 0, 0, __ZN21btConvexInternalShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK23btConvexPointCloudShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK23btConvexPointCloudShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK23btConvexPointCloudShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0, __ZNK23btConvexPointCloudShape14getNumVerticesEv.__index__, 0, 0, 0, __ZNK23btConvexPointCloudShape11getNumEdgesEv.__index__, 0, 0, 0, __ZNK23btConvexPointCloudShape7getEdgeEiR9btVector3S1_.__index__, 0, 0, 0, __ZNK23btConvexPointCloudShape9getVertexEiR9btVector3.__index__, 0, 0, 0, __ZNK23btConvexPointCloudShape12getNumPlanesEv.__index__, 0, 0, 0, __ZNK23btConvexPointCloudShape8getPlaneER9btVector3S1_i.__index__, 0, 0, 0, __ZNK23btConvexPointCloudShape8isInsideERK9btVector3f.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str178 = Pointer_make([98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0] /* btConvexInternalShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str77 = Pointer_make([67,111,110,118,101,120,80,111,105,110,116,67,108,111,117,100,0] /* ConvexPointCloud\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions = Pointer_make([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZGVZN32btConvexInternalAabbCachingShape15recalcLocalAabbEvE11_directions = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str72 = Pointer_make([98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0] /* btConvexInternalShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS32btConvexInternalAabbCachingShape = Pointer_make([51,50,98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,65,97,98,98,67,97,99,104,105,110,103,83,104,97,112,101,0] /* 32btConvexInternalAabbCachingShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI32btConvexInternalAabbCachingShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS32btConvexInternalAabbCachingShape, 0, 0, 0], __ZTI21btConvexInternalShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV32btConvexInternalAabbCachingShape = Pointer_make([ 0, 0, 0, 0, __ZTI32btConvexInternalAabbCachingShape, 0, 0, 0, __ZN32btConvexInternalAabbCachingShapeD1Ev.__index__, 0, 0, 0, __ZN32btConvexInternalAabbCachingShapeD0Ev.__index__, 0, 0, 0, __ZNK32btConvexInternalAabbCachingShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN32btConvexInternalAabbCachingShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZN21btConvexInternalShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS21btConvexInternalShape = Pointer_make([50,49,98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,0] /* 21btConvexInternalShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI21btConvexInternalShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS21btConvexInternalShape, 0, 0, 0], __ZTI13btConvexShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV21btConvexInternalShape = Pointer_make([ 0, 0, 0, 0, __ZTI21btConvexInternalShape, 0, 0, 0, __ZN21btConvexInternalShapeD1Ev.__index__, 0, 0, 0, __ZN21btConvexInternalShapeD0Ev.__index__, 0, 0, 0, __ZNK21btConvexInternalShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN21btConvexInternalShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZN21btConvexInternalShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str369 = Pointer_make([98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112,101,68,97,116,97,0] /* btConvexHullShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str268 = Pointer_make([98,116,86,101,99,116,111,114,51,70,108,111,97,116,68,97,116,97,0] /* btVector3FloatData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS17btConvexHullShape = Pointer_make([49,55,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112,101,0] /* 17btConvexHullShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI17btConvexHullShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS17btConvexHullShape, 0, 0, 0], __ZTI34btPolyhedralConvexAabbCachingShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV17btConvexHullShape = Pointer_make([ 0, 0, 0, 0, __ZTI17btConvexHullShape, 0, 0, 0, __ZN17btConvexHullShapeD1Ev.__index__, 0, 0, 0, __ZN17btConvexHullShapeD0Ev.__index__, 0, 0, 0, __ZNK34btPolyhedralConvexAabbCachingShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN17btConvexHullShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK23btPolyhedralConvexShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK17btConvexHullShape7getNameEv.__index__, 0, 0, 0, __ZN21btConvexInternalShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK17btConvexHullShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK17btConvexHullShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK17btConvexHullShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK17btConvexHullShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK17btConvexHullShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0, __ZNK17btConvexHullShape14getNumVerticesEv.__index__, 0, 0, 0, __ZNK17btConvexHullShape11getNumEdgesEv.__index__, 0, 0, 0, __ZNK17btConvexHullShape7getEdgeEiR9btVector3S1_.__index__, 0, 0, 0, __ZNK17btConvexHullShape9getVertexEiR9btVector3.__index__, 0, 0, 0, __ZNK17btConvexHullShape12getNumPlanesEv.__index__, 0, 0, 0, __ZNK17btConvexHullShape8getPlaneER9btVector3S1_i.__index__, 0, 0, 0, __ZNK17btConvexHullShape8isInsideERK9btVector3f.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str67 = Pointer_make([67,111,110,118,101,120,0] /* Convex\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS12btConeShapeZ = Pointer_make([49,50,98,116,67,111,110,101,83,104,97,112,101,90,0] /* 12btConeShapeZ\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI12btConeShapeZ = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS12btConeShapeZ, 0, 0, 0], __ZTI11btConeShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV12btConeShapeZ = Pointer_make([ 0, 0, 0, 0, __ZTI12btConeShapeZ, 0, 0, 0, __ZN12btConeShapeZD1Ev.__index__, 0, 0, 0, __ZN12btConeShapeZD0Ev.__index__, 0, 0, 0, __ZNK21btConvexInternalShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN21btConvexInternalShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK11btConeShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK11btConeShape7getNameEv.__index__, 0, 0, 0, __ZN21btConvexInternalShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK11btConeShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK11btConeShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK11btConeShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS12btConeShapeX = Pointer_make([49,50,98,116,67,111,110,101,83,104,97,112,101,88,0] /* 12btConeShapeX\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI12btConeShapeX = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS12btConeShapeX, 0, 0, 0], __ZTI11btConeShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV12btConeShapeX = Pointer_make([ 0, 0, 0, 0, __ZTI12btConeShapeX, 0, 0, 0, __ZN12btConeShapeXD1Ev.__index__, 0, 0, 0, __ZN12btConeShapeXD0Ev.__index__, 0, 0, 0, __ZNK21btConvexInternalShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN21btConvexInternalShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK11btConeShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK11btConeShape7getNameEv.__index__, 0, 0, 0, __ZN21btConvexInternalShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK11btConeShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK11btConeShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK11btConeShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS11btConeShape = Pointer_make([49,49,98,116,67,111,110,101,83,104,97,112,101,0] /* 11btConeShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI11btConeShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS11btConeShape, 0, 0, 0], __ZTI21btConvexInternalShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV11btConeShape = Pointer_make([ 0, 0, 0, 0, __ZTI11btConeShape, 0, 0, 0, __ZN11btConeShapeD1Ev.__index__, 0, 0, 0, __ZN11btConeShapeD0Ev.__index__, 0, 0, 0, __ZNK21btConvexInternalShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN21btConvexInternalShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK11btConeShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK11btConeShape7getNameEv.__index__, 0, 0, 0, __ZN21btConvexInternalShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK11btConeShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK11btConeShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK11btConeShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str166 = Pointer_make([98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0] /* btConvexInternalShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str65 = Pointer_make([67,111,110,101,0] /* Cone\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS14btConcaveShape = Pointer_make([49,52,98,116,67,111,110,99,97,118,101,83,104,97,112,101,0] /* 14btConcaveShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI14btConcaveShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS14btConcaveShape, 0, 0, 0], __ZTI16btCollisionShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV14btConcaveShape = Pointer_make([ 0, 0, 0, 0, __ZTI14btConcaveShape, 0, 0, 0, __ZN14btConcaveShapeD1Ev.__index__, 0, 0, 0, __ZN14btConcaveShapeD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZN14btConcaveShape9setMarginEf.__index__, 0, 0, 0, __ZNK14btConcaveShape9getMarginEv.__index__, 0, 0, 0, __ZNK16btCollisionShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK16btCollisionShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS15btCompoundShape = Pointer_make([49,53,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,0] /* 15btCompoundShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI15btCompoundShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS15btCompoundShape, 0, 0, 0], __ZTI16btCollisionShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV15btCompoundShape = Pointer_make([ 0, 0, 0, 0, __ZTI15btCompoundShape, 0, 0, 0, __ZN15btCompoundShapeD1Ev.__index__, 0, 0, 0, __ZN15btCompoundShapeD0Ev.__index__, 0, 0, 0, __ZNK15btCompoundShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN15btCompoundShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK15btCompoundShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK15btCompoundShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK15btCompoundShape7getNameEv.__index__, 0, 0, 0, __ZN15btCompoundShape9setMarginEf.__index__, 0, 0, 0, __ZNK15btCompoundShape9getMarginEv.__index__, 0, 0, 0, __ZNK15btCompoundShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK15btCompoundShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZN15btCompoundShape16removeChildShapeEP16btCollisionShape.__index__, 0, 0, 0, __ZN15btCompoundShape20recalculateLocalAabbEv.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str264 = Pointer_make([98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,68,97,116,97,0] /* btCompoundShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str163 = Pointer_make([98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,67,104,105,108,100,68,97,116,97,0] /* btCompoundShapeChildData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str62 = Pointer_make([67,111,109,112,111,117,110,100,0] /* Compound\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS16btCollisionShape = Pointer_make([49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,0] /* 16btCollisionShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI16btCollisionShape = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS16btCollisionShape, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV16btCollisionShape = Pointer_make([ 0, 0, 0, 0, __ZTI16btCollisionShape, 0, 0, 0, __ZN16btCollisionShapeD1Ev.__index__, 0, 0, 0, __ZN16btCollisionShapeD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZNK16btCollisionShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK16btCollisionShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str55 = Pointer_make([98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,68,97,116,97,0] /* btCollisionShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS15btCapsuleShapeX = Pointer_make([49,53,98,116,67,97,112,115,117,108,101,83,104,97,112,101,88,0] /* 15btCapsuleShapeX\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI15btCapsuleShapeX = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS15btCapsuleShapeX, 0, 0, 0], __ZTI14btCapsuleShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV15btCapsuleShapeX = Pointer_make([ 0, 0, 0, 0, __ZTI15btCapsuleShapeX, 0, 0, 0, __ZN15btCapsuleShapeXD1Ev.__index__, 0, 0, 0, __ZN15btCapsuleShapeXD0Ev.__index__, 0, 0, 0, __ZNK14btCapsuleShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN14btCapsuleShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK14btCapsuleShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK15btCapsuleShapeX7getNameEv.__index__, 0, 0, 0, __ZN14btCapsuleShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK14btCapsuleShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK14btCapsuleShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK14btCapsuleShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK14btCapsuleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS15btCapsuleShapeZ = Pointer_make([49,53,98,116,67,97,112,115,117,108,101,83,104,97,112,101,90,0] /* 15btCapsuleShapeZ\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI15btCapsuleShapeZ = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS15btCapsuleShapeZ, 0, 0, 0], __ZTI14btCapsuleShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV15btCapsuleShapeZ = Pointer_make([ 0, 0, 0, 0, __ZTI15btCapsuleShapeZ, 0, 0, 0, __ZN15btCapsuleShapeZD1Ev.__index__, 0, 0, 0, __ZN15btCapsuleShapeZD0Ev.__index__, 0, 0, 0, __ZNK14btCapsuleShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN14btCapsuleShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK14btCapsuleShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK15btCapsuleShapeZ7getNameEv.__index__, 0, 0, 0, __ZN14btCapsuleShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK14btCapsuleShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK14btCapsuleShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK14btCapsuleShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK14btCapsuleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS14btCapsuleShape = Pointer_make([49,52,98,116,67,97,112,115,117,108,101,83,104,97,112,101,0] /* 14btCapsuleShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI14btCapsuleShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS14btCapsuleShape, 0, 0, 0], __ZTI21btConvexInternalShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV14btCapsuleShape = Pointer_make([ 0, 0, 0, 0, __ZTI14btCapsuleShape, 0, 0, 0, __ZN14btCapsuleShapeD1Ev.__index__, 0, 0, 0, __ZN14btCapsuleShapeD0Ev.__index__, 0, 0, 0, __ZNK14btCapsuleShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN14btCapsuleShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK14btCapsuleShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK14btCapsuleShape7getNameEv.__index__, 0, 0, 0, __ZN14btCapsuleShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK14btCapsuleShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK14btCapsuleShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK14btCapsuleShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK14btCapsuleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str454 = Pointer_make([98,116,67,97,112,115,117,108,101,83,104,97,112,101,68,97,116,97,0] /* btCapsuleShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str253 = Pointer_make([67,97,112,115,117,108,101,90,0] /* CapsuleZ\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str152 = Pointer_make([67,97,112,115,117,108,101,88,0] /* CapsuleX\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str51 = Pointer_make([67,97,112,115,117,108,101,83,104,97,112,101,0] /* CapsuleShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS22btBvhTriangleMeshShape = Pointer_make([50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0] /* 22btBvhTriangleMeshShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI22btBvhTriangleMeshShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS22btBvhTriangleMeshShape, 0, 0, 0], __ZTI19btTriangleMeshShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV22btBvhTriangleMeshShape = Pointer_make([ 0, 0, 0, 0, __ZTI22btBvhTriangleMeshShape, 0, 0, 0, __ZN22btBvhTriangleMeshShapeD1Ev.__index__, 0, 0, 0, __ZN22btBvhTriangleMeshShapeD0Ev.__index__, 0, 0, 0, __ZNK19btTriangleMeshShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN22btBvhTriangleMeshShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK19btTriangleMeshShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK19btTriangleMeshShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK22btBvhTriangleMeshShape7getNameEv.__index__, 0, 0, 0, __ZN14btConcaveShape9setMarginEf.__index__, 0, 0, 0, __ZNK14btConcaveShape9getMarginEv.__index__, 0, 0, 0, __ZNK22btBvhTriangleMeshShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK22btBvhTriangleMeshShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_.__index__, 0, 0, 0, __ZNK19btTriangleMeshShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK19btTriangleMeshShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK22btBvhTriangleMeshShape18serializeSingleBvhEP12btSerializer.__index__, 0, 0, 0, __ZNK22btBvhTriangleMeshShape30serializeSingleTriangleInfoMapEP12btSerializer.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str448 = Pointer_make([98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,68,97,116,97,0] /* btTriangleMeshShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str347 = Pointer_make([98,116,84,114,105,97,110,103,108,101,73,110,102,111,77,97,112,68,97,116,97,0] /* btTriangleInfoMapData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str246 = Pointer_make([98,116,84,114,105,97,110,103,108,101,73,110,102,111,68,97,116,97,0] /* btTriangleInfoData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str145 = Pointer_make([105,110,116,0] /* int\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback = Pointer_make([90,78,75,50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,57,112,114,111,99,101,115,115,65,108,108,84,114,105,97,110,103,108,101,115,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,49,77,121,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0] /* ZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback, 0, 0, 0], __ZTI21btNodeOverlapCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback = Pointer_make([ 0, 0, 0, 0, __ZTIZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback, 0, 0, 0, __ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev.__index__, 0, 0, 0, __ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev.__index__, 0, 0, 0, __ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback = Pointer_make([90,78,50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,55,112,101,114,102,111,114,109,67,111,110,118,101,120,99,97,115,116,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,83,52,95,83,52,95,69,50,49,77,121,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0] /* ZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback, 0, 0, 0], __ZTI21btNodeOverlapCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback = Pointer_make([ 0, 0, 0, 0, __ZTIZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_E21MyNodeOverlapCallback, 0, 0, 0, __ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD1Ev.__index__, 0, 0, 0, __ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD0Ev.__index__, 0, 0, 0, __ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallback11processNodeEii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback = Pointer_make([90,78,50,50,98,116,66,118,104,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,49,52,112,101,114,102,111,114,109,82,97,121,99,97,115,116,69,80,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,69,50,49,77,121,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0] /* ZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback, 0, 0, 0], __ZTI21btNodeOverlapCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback = Pointer_make([ 0, 0, 0, 0, __ZTIZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_E21MyNodeOverlapCallback, 0, 0, 0, __ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev.__index__, 0, 0, 0, __ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev.__index__, 0, 0, 0, __ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str44 = Pointer_make([66,86,72,84,82,73,65,78,71,76,69,77,69,83,72,0] /* BVHTRIANGLEMESH\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS12btBox2dShape = Pointer_make([49,50,98,116,66,111,120,50,100,83,104,97,112,101,0] /* 12btBox2dShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI12btBox2dShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS12btBox2dShape, 0, 0, 0], __ZTI23btPolyhedralConvexShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV12btBox2dShape = Pointer_make([ 0, 0, 0, 0, __ZTI12btBox2dShape, 0, 0, 0, __ZN12btBox2dShapeD1Ev.__index__, 0, 0, 0, __ZN12btBox2dShapeD0Ev.__index__, 0, 0, 0, __ZNK12btBox2dShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN12btBox2dShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK12btBox2dShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK12btBox2dShape7getNameEv.__index__, 0, 0, 0, __ZN12btBox2dShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK12btBox2dShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK12btBox2dShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK12btBox2dShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK12btBox2dShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK12btBox2dShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0, __ZNK12btBox2dShape14getNumVerticesEv.__index__, 0, 0, 0, __ZNK12btBox2dShape11getNumEdgesEv.__index__, 0, 0, 0, __ZNK12btBox2dShape7getEdgeEiR9btVector3S1_.__index__, 0, 0, 0, __ZNK12btBox2dShape9getVertexEiR9btVector3.__index__, 0, 0, 0, __ZNK12btBox2dShape12getNumPlanesEv.__index__, 0, 0, 0, __ZNK12btBox2dShape8getPlaneER9btVector3S1_i.__index__, 0, 0, 0, __ZNK12btBox2dShape8isInsideERK9btVector3f.__index__, 0, 0, 0, __ZNK12btBox2dShape16getPlaneEquationER9btVector4i.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str143 = Pointer_make([98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0] /* btConvexInternalShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str42 = Pointer_make([66,111,120,50,100,0] /* Box2d\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS10btBoxShape = Pointer_make([49,48,98,116,66,111,120,83,104,97,112,101,0] /* 10btBoxShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI10btBoxShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS10btBoxShape, 0, 0, 0], __ZTI23btPolyhedralConvexShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV10btBoxShape = Pointer_make([ 0, 0, 0, 0, __ZTI10btBoxShape, 0, 0, 0, __ZN10btBoxShapeD1Ev.__index__, 0, 0, 0, __ZN10btBoxShapeD0Ev.__index__, 0, 0, 0, __ZNK10btBoxShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN10btBoxShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK10btBoxShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK10btBoxShape7getNameEv.__index__, 0, 0, 0, __ZN10btBoxShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK10btBoxShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK10btBoxShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK10btBoxShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK10btBoxShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK10btBoxShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0, __ZNK10btBoxShape14getNumVerticesEv.__index__, 0, 0, 0, __ZNK10btBoxShape11getNumEdgesEv.__index__, 0, 0, 0, __ZNK10btBoxShape7getEdgeEiR9btVector3S1_.__index__, 0, 0, 0, __ZNK10btBoxShape9getVertexEiR9btVector3.__index__, 0, 0, 0, __ZNK10btBoxShape12getNumPlanesEv.__index__, 0, 0, 0, __ZNK10btBoxShape8getPlaneER9btVector3S1_i.__index__, 0, 0, 0, __ZNK10btBoxShape8isInsideERK9btVector3f.__index__, 0, 0, 0, __ZNK10btBoxShape16getPlaneEquationER9btVector4i.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str141 = Pointer_make([98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0] /* btConvexInternalShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str40 = Pointer_make([66,111,120,0] /* Box\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS22SphereTriangleDetector = Pointer_make([50,50,83,112,104,101,114,101,84,114,105,97,110,103,108,101,68,101,116,101,99,116,111,114,0] /* 22SphereTriangleDetector\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI22SphereTriangleDetector = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS22SphereTriangleDetector, 0, 0, 0], __ZTI36btDiscreteCollisionDetectorInterface, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV22SphereTriangleDetector = Pointer_make([ 0, 0, 0, 0, __ZTI22SphereTriangleDetector, 0, 0, 0, __ZN22SphereTriangleDetectorD1Ev.__index__, 0, 0, 0, __ZN22SphereTriangleDetectorD0Ev.__index__, 0, 0, 0, __ZN22SphereTriangleDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS34btSphereTriangleCollisionAlgorithm = Pointer_make([51,52,98,116,83,112,104,101,114,101,84,114,105,97,110,103,108,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0] /* 34btSphereTriangleCollisionAlgorithm\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI34btSphereTriangleCollisionAlgorithm = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS34btSphereTriangleCollisionAlgorithm, 0, 0, 0], __ZTI30btActivatingCollisionAlgorithm, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV34btSphereTriangleCollisionAlgorithm = Pointer_make([ 0, 0, 0, 0, __ZTI34btSphereTriangleCollisionAlgorithm, 0, 0, 0, __ZN34btSphereTriangleCollisionAlgorithmD1Ev.__index__, 0, 0, 0, __ZN34btSphereTriangleCollisionAlgorithmD0Ev.__index__, 0, 0, 0, __ZN34btSphereTriangleCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN34btSphereTriangleCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN34btSphereTriangleCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS32btSphereSphereCollisionAlgorithm = Pointer_make([51,50,98,116,83,112,104,101,114,101,83,112,104,101,114,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0] /* 32btSphereSphereCollisionAlgorithm\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI32btSphereSphereCollisionAlgorithm = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS32btSphereSphereCollisionAlgorithm, 0, 0, 0], __ZTI30btActivatingCollisionAlgorithm, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV32btSphereSphereCollisionAlgorithm = Pointer_make([ 0, 0, 0, 0, __ZTI32btSphereSphereCollisionAlgorithm, 0, 0, 0, __ZN32btSphereSphereCollisionAlgorithmD1Ev.__index__, 0, 0, 0, __ZN32btSphereSphereCollisionAlgorithmD0Ev.__index__, 0, 0, 0, __ZN32btSphereSphereCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN32btSphereSphereCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN32btSphereSphereCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS29btSphereBoxCollisionAlgorithm = Pointer_make([50,57,98,116,83,112,104,101,114,101,66,111,120,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0] /* 29btSphereBoxCollisionAlgorithm\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI29btSphereBoxCollisionAlgorithm = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS29btSphereBoxCollisionAlgorithm, 0, 0, 0], __ZTI30btActivatingCollisionAlgorithm, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV29btSphereBoxCollisionAlgorithm = Pointer_make([ 0, 0, 0, 0, __ZTI29btSphereBoxCollisionAlgorithm, 0, 0, 0, __ZN29btSphereBoxCollisionAlgorithmD1Ev.__index__, 0, 0, 0, __ZN29btSphereBoxCollisionAlgorithmD0Ev.__index__, 0, 0, 0, __ZN29btSphereBoxCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN29btSphereBoxCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN29btSphereBoxCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS25btSimulationIslandManager = Pointer_make([50,53,98,116,83,105,109,117,108,97,116,105,111,110,73,115,108,97,110,100,77,97,110,97,103,101,114,0] /* 25btSimulationIslandManager\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI25btSimulationIslandManager = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS25btSimulationIslandManager, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV25btSimulationIslandManager = Pointer_make([ 0, 0, 0, 0, __ZTI25btSimulationIslandManager, 0, 0, 0, __ZN25btSimulationIslandManagerD1Ev.__index__, 0, 0, 0, __ZN25btSimulationIslandManagerD0Ev.__index__, 0, 0, 0, __ZN25btSimulationIslandManager21updateActivationStateEP16btCollisionWorldP12btDispatcher.__index__, 0, 0, 0, __ZN25btSimulationIslandManager26storeIslandActivationStateEP16btCollisionWorld.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str131 = Pointer_make([112,114,111,99,101,115,115,73,115,108,97,110,100,115,0] /* processIslands\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str30 = Pointer_make([105,115,108,97,110,100,85,110,105,111,110,70,105,110,100,65,110,100,81,117,105,99,107,83,111,114,116,0] /* islandUnionFindAndQuickSort\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS16btManifoldResult = Pointer_make([49,54,98,116,77,97,110,105,102,111,108,100,82,101,115,117,108,116,0] /* 16btManifoldResult\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI16btManifoldResult = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS16btManifoldResult, 0, 0, 0], __ZTIN36btDiscreteCollisionDetectorInterface6ResultE, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV16btManifoldResult = Pointer_make([ 0, 0, 0, 0, __ZTI16btManifoldResult, 0, 0, 0, __ZN16btManifoldResultD1Ev.__index__, 0, 0, 0, __ZN16btManifoldResultD0Ev.__index__, 0, 0, 0, __ZN16btManifoldResult20setShapeIdentifiersAEii.__index__, 0, 0, 0, __ZN16btManifoldResult20setShapeIdentifiersBEii.__index__, 0, 0, 0, __ZN16btManifoldResult15addContactPointERK9btVector3S2_f.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _gContactAddedCallback = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str425 = Pointer_make([98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0] /* btConvexInternalShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str324 = Pointer_make([98,116,84,114,105,97,110,103,108,101,73,110,102,111,77,97,112,68,97,116,97,0] /* btTriangleInfoMapData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str223 = Pointer_make([98,116,84,114,105,97,110,103,108,101,73,110,102,111,68,97,116,97,0] /* btTriangleInfoData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str122 = Pointer_make([105,110,116,0] /* int\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS23btConnectivityProcessor = Pointer_make([50,51,98,116,67,111,110,110,101,99,116,105,118,105,116,121,80,114,111,99,101,115,115,111,114,0] /* 23btConnectivityProcessor\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI23btConnectivityProcessor = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS23btConnectivityProcessor, 0, 0, 0], __ZTI18btTriangleCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV23btConnectivityProcessor = Pointer_make([ 0, 0, 0, 0, __ZTI23btConnectivityProcessor, 0, 0, 0, __ZN23btConnectivityProcessorD1Ev.__index__, 0, 0, 0, __ZN23btConnectivityProcessorD0Ev.__index__, 0, 0, 0, __ZN23btConnectivityProcessor15processTriangleEP9btVector3ii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str21 = Pointer_make([84,114,105,97,110,103,108,101,0] /* Triangle\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS24btPairCachingGhostObject = Pointer_make([50,52,98,116,80,97,105,114,67,97,99,104,105,110,103,71,104,111,115,116,79,98,106,101,99,116,0] /* 24btPairCachingGhostObject\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI24btPairCachingGhostObject = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS24btPairCachingGhostObject, 0, 0, 0], __ZTI13btGhostObject, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV24btPairCachingGhostObject = Pointer_make([ 0, 0, 0, 0, __ZTI24btPairCachingGhostObject, 0, 0, 0, __ZN17btCollisionObject24checkCollideWithOverrideEPS_.__index__, 0, 0, 0, __ZN24btPairCachingGhostObjectD1Ev.__index__, 0, 0, 0, __ZN24btPairCachingGhostObjectD0Ev.__index__, 0, 0, 0, __ZN17btCollisionObject17setCollisionShapeEP16btCollisionShape.__index__, 0, 0, 0, __ZNK17btCollisionObject28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK17btCollisionObject9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK17btCollisionObject21serializeSingleObjectEP12btSerializer.__index__, 0, 0, 0, __ZN24btPairCachingGhostObject28addOverlappingObjectInternalEP17btBroadphaseProxyS1_.__index__, 0, 0, 0, __ZN24btPairCachingGhostObject31removeOverlappingObjectInternalEP17btBroadphaseProxyP12btDispatcherS1_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS13btGhostObject = Pointer_make([49,51,98,116,71,104,111,115,116,79,98,106,101,99,116,0] /* 13btGhostObject\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI13btGhostObject = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS13btGhostObject, 0, 0, 0], __ZTI17btCollisionObject, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV13btGhostObject = Pointer_make([ 0, 0, 0, 0, __ZTI13btGhostObject, 0, 0, 0, __ZN17btCollisionObject24checkCollideWithOverrideEPS_.__index__, 0, 0, 0, __ZN13btGhostObjectD1Ev.__index__, 0, 0, 0, __ZN13btGhostObjectD0Ev.__index__, 0, 0, 0, __ZN17btCollisionObject17setCollisionShapeEP16btCollisionShape.__index__, 0, 0, 0, __ZNK17btCollisionObject28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK17btCollisionObject9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK17btCollisionObject21serializeSingleObjectEP12btSerializer.__index__, 0, 0, 0, __ZN13btGhostObject28addOverlappingObjectInternalEP17btBroadphaseProxyS1_.__index__, 0, 0, 0, __ZN13btGhostObject31removeOverlappingObjectInternalEP17btBroadphaseProxyP12btDispatcherS1_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS16btEmptyAlgorithm = Pointer_make([49,54,98,116,69,109,112,116,121,65,108,103,111,114,105,116,104,109,0] /* 16btEmptyAlgorithm\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI16btEmptyAlgorithm = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS16btEmptyAlgorithm, 0, 0, 0], __ZTI20btCollisionAlgorithm, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV16btEmptyAlgorithm = Pointer_make([ 0, 0, 0, 0, __ZTI16btEmptyAlgorithm, 0, 0, 0, __ZN16btEmptyAlgorithmD1Ev.__index__, 0, 0, 0, __ZN16btEmptyAlgorithmD0Ev.__index__, 0, 0, 0, __ZN16btEmptyAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN16btEmptyAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN16btEmptyAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS31btDefaultCollisionConfiguration = Pointer_make([51,49,98,116,68,101,102,97,117,108,116,67,111,108,108,105,115,105,111,110,67,111,110,102,105,103,117,114,97,116,105,111,110,0] /* 31btDefaultCollisionConfiguration\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI31btDefaultCollisionConfiguration = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS31btDefaultCollisionConfiguration, 0, 0, 0], __ZTI24btCollisionConfiguration, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV31btDefaultCollisionConfiguration = Pointer_make([ 0, 0, 0, 0, __ZTI31btDefaultCollisionConfiguration, 0, 0, 0, __ZN31btDefaultCollisionConfigurationD1Ev.__index__, 0, 0, 0, __ZN31btDefaultCollisionConfigurationD0Ev.__index__, 0, 0, 0, __ZN31btDefaultCollisionConfiguration25getPersistentManifoldPoolEv.__index__, 0, 0, 0, __ZN31btDefaultCollisionConfiguration25getCollisionAlgorithmPoolEv.__index__, 0, 0, 0, __ZN31btDefaultCollisionConfiguration17getStackAllocatorEv.__index__, 0, 0, 0, __ZN31btDefaultCollisionConfiguration31getCollisionAlgorithmCreateFuncEii.__index__, 0, 0, 0, __ZN31btDefaultCollisionConfiguration16getSimplexSolverEv.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN26btBoxBoxCollisionAlgorithm10CreateFuncE = Pointer_make([78,50,54,98,116,66,111,120,66,111,120,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0] /* N26btBoxBoxCollisionAlgorithm10CreateFuncE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN26btBoxBoxCollisionAlgorithm10CreateFuncE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSN26btBoxBoxCollisionAlgorithm10CreateFuncE, 0, 0, 0], __ZTI30btCollisionAlgorithmCreateFunc, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN26btBoxBoxCollisionAlgorithm10CreateFuncE = Pointer_make([ 0, 0, 0, 0, __ZTIN26btBoxBoxCollisionAlgorithm10CreateFuncE, 0, 0, 0, __ZN26btBoxBoxCollisionAlgorithm10CreateFuncD1Ev.__index__, 0, 0, 0, __ZN26btBoxBoxCollisionAlgorithm10CreateFuncD0Ev.__index__, 0, 0, 0, __ZN26btBoxBoxCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN34btSphereTriangleCollisionAlgorithm10CreateFuncE = Pointer_make([78,51,52,98,116,83,112,104,101,114,101,84,114,105,97,110,103,108,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0] /* N34btSphereTriangleCollisionAlgorithm10CreateFuncE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN34btSphereTriangleCollisionAlgorithm10CreateFuncE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSN34btSphereTriangleCollisionAlgorithm10CreateFuncE, 0, 0, 0], __ZTI30btCollisionAlgorithmCreateFunc, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN34btSphereTriangleCollisionAlgorithm10CreateFuncE = Pointer_make([ 0, 0, 0, 0, __ZTIN34btSphereTriangleCollisionAlgorithm10CreateFuncE, 0, 0, 0, __ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD1Ev.__index__, 0, 0, 0, __ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD0Ev.__index__, 0, 0, 0, __ZN34btSphereTriangleCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN32btSphereSphereCollisionAlgorithm10CreateFuncE = Pointer_make([78,51,50,98,116,83,112,104,101,114,101,83,112,104,101,114,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0] /* N32btSphereSphereCollisionAlgorithm10CreateFuncE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN32btSphereSphereCollisionAlgorithm10CreateFuncE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSN32btSphereSphereCollisionAlgorithm10CreateFuncE, 0, 0, 0], __ZTI30btCollisionAlgorithmCreateFunc, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN32btSphereSphereCollisionAlgorithm10CreateFuncE = Pointer_make([ 0, 0, 0, 0, __ZTIN32btSphereSphereCollisionAlgorithm10CreateFuncE, 0, 0, 0, __ZN32btSphereSphereCollisionAlgorithm10CreateFuncD1Ev.__index__, 0, 0, 0, __ZN32btSphereSphereCollisionAlgorithm10CreateFuncD0Ev.__index__, 0, 0, 0, __ZN32btSphereSphereCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN16btEmptyAlgorithm10CreateFuncE = Pointer_make([78,49,54,98,116,69,109,112,116,121,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0] /* N16btEmptyAlgorithm10CreateFuncE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN16btEmptyAlgorithm10CreateFuncE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSN16btEmptyAlgorithm10CreateFuncE, 0, 0, 0], __ZTI30btCollisionAlgorithmCreateFunc, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN16btEmptyAlgorithm10CreateFuncE = Pointer_make([ 0, 0, 0, 0, __ZTIN16btEmptyAlgorithm10CreateFuncE, 0, 0, 0, __ZN16btEmptyAlgorithm10CreateFuncD1Ev.__index__, 0, 0, 0, __ZN16btEmptyAlgorithm10CreateFuncD0Ev.__index__, 0, 0, 0, __ZN16btEmptyAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN28btCompoundCollisionAlgorithm17SwappedCreateFuncE = Pointer_make([78,50,56,98,116,67,111,109,112,111,117,110,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,55,83,119,97,112,112,101,100,67,114,101,97,116,101,70,117,110,99,69,0] /* N28btCompoundCollisionAlgorithm17SwappedCreateFuncE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN28btCompoundCollisionAlgorithm17SwappedCreateFuncE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSN28btCompoundCollisionAlgorithm17SwappedCreateFuncE, 0, 0, 0], __ZTI30btCollisionAlgorithmCreateFunc, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN28btCompoundCollisionAlgorithm17SwappedCreateFuncE = Pointer_make([ 0, 0, 0, 0, __ZTIN28btCompoundCollisionAlgorithm17SwappedCreateFuncE, 0, 0, 0, __ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD1Ev.__index__, 0, 0, 0, __ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD0Ev.__index__, 0, 0, 0, __ZN28btCompoundCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN28btCompoundCollisionAlgorithm10CreateFuncE = Pointer_make([78,50,56,98,116,67,111,109,112,111,117,110,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0] /* N28btCompoundCollisionAlgorithm10CreateFuncE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN28btCompoundCollisionAlgorithm10CreateFuncE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSN28btCompoundCollisionAlgorithm10CreateFuncE, 0, 0, 0], __ZTI30btCollisionAlgorithmCreateFunc, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN28btCompoundCollisionAlgorithm10CreateFuncE = Pointer_make([ 0, 0, 0, 0, __ZTIN28btCompoundCollisionAlgorithm10CreateFuncE, 0, 0, 0, __ZN28btCompoundCollisionAlgorithm10CreateFuncD1Ev.__index__, 0, 0, 0, __ZN28btCompoundCollisionAlgorithm10CreateFuncD0Ev.__index__, 0, 0, 0, __ZN28btCompoundCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE = Pointer_make([78,51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,55,83,119,97,112,112,101,100,67,114,101,97,116,101,70,117,110,99,69,0] /* N33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE, 0, 0, 0], __ZTI30btCollisionAlgorithmCreateFunc, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE = Pointer_make([ 0, 0, 0, 0, __ZTIN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncE, 0, 0, 0, __ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD1Ev.__index__, 0, 0, 0, __ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD0Ev.__index__, 0, 0, 0, __ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN33btConvexConcaveCollisionAlgorithm10CreateFuncE = Pointer_make([78,51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0] /* N33btConvexConcaveCollisionAlgorithm10CreateFuncE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN33btConvexConcaveCollisionAlgorithm10CreateFuncE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSN33btConvexConcaveCollisionAlgorithm10CreateFuncE, 0, 0, 0], __ZTI30btCollisionAlgorithmCreateFunc, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN33btConvexConcaveCollisionAlgorithm10CreateFuncE = Pointer_make([ 0, 0, 0, 0, __ZTIN33btConvexConcaveCollisionAlgorithm10CreateFuncE, 0, 0, 0, __ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD1Ev.__index__, 0, 0, 0, __ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD0Ev.__index__, 0, 0, 0, __ZN33btConvexConcaveCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS24btCollisionConfiguration = Pointer_make([50,52,98,116,67,111,108,108,105,115,105,111,110,67,111,110,102,105,103,117,114,97,116,105,111,110,0] /* 24btCollisionConfiguration\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI24btCollisionConfiguration = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS24btCollisionConfiguration, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV24btCollisionConfiguration = Pointer_make([ 0, 0, 0, 0, __ZTI24btCollisionConfiguration, 0, 0, 0, __ZN24btCollisionConfigurationD1Ev.__index__, 0, 0, 0, __ZN24btCollisionConfigurationD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN31btConvexPlaneCollisionAlgorithm10CreateFuncE = Pointer_make([78,51,49,98,116,67,111,110,118,101,120,80,108,97,110,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0] /* N31btConvexPlaneCollisionAlgorithm10CreateFuncE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN31btConvexPlaneCollisionAlgorithm10CreateFuncE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSN31btConvexPlaneCollisionAlgorithm10CreateFuncE, 0, 0, 0], __ZTI30btCollisionAlgorithmCreateFunc, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN31btConvexPlaneCollisionAlgorithm10CreateFuncE = Pointer_make([ 0, 0, 0, 0, __ZTIN31btConvexPlaneCollisionAlgorithm10CreateFuncE, 0, 0, 0, __ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD1Ev.__index__, 0, 0, 0, __ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD0Ev.__index__, 0, 0, 0, __ZN31btConvexPlaneCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS27btConvex2dConvex2dAlgorithm = Pointer_make([50,55,98,116,67,111,110,118,101,120,50,100,67,111,110,118,101,120,50,100,65,108,103,111,114,105,116,104,109,0] /* 27btConvex2dConvex2dAlgorithm\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI27btConvex2dConvex2dAlgorithm = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS27btConvex2dConvex2dAlgorithm, 0, 0, 0], __ZTI30btActivatingCollisionAlgorithm, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV27btConvex2dConvex2dAlgorithm = Pointer_make([ 0, 0, 0, 0, __ZTI27btConvex2dConvex2dAlgorithm, 0, 0, 0, __ZN27btConvex2dConvex2dAlgorithmD1Ev.__index__, 0, 0, 0, __ZN27btConvex2dConvex2dAlgorithmD0Ev.__index__, 0, 0, 0, __ZN27btConvex2dConvex2dAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN27btConvex2dConvex2dAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN27btConvex2dConvex2dAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN27btConvex2dConvex2dAlgorithm10CreateFuncE = Pointer_make([78,50,55,98,116,67,111,110,118,101,120,50,100,67,111,110,118,101,120,50,100,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0] /* N27btConvex2dConvex2dAlgorithm10CreateFuncE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN27btConvex2dConvex2dAlgorithm10CreateFuncE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSN27btConvex2dConvex2dAlgorithm10CreateFuncE, 0, 0, 0], __ZTI30btCollisionAlgorithmCreateFunc, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN27btConvex2dConvex2dAlgorithm10CreateFuncE = Pointer_make([ 0, 0, 0, 0, __ZTIN27btConvex2dConvex2dAlgorithm10CreateFuncE, 0, 0, 0, __ZN27btConvex2dConvex2dAlgorithm10CreateFuncD1Ev.__index__, 0, 0, 0, __ZN27btConvex2dConvex2dAlgorithm10CreateFuncD0Ev.__index__, 0, 0, 0, __ZN27btConvex2dConvex2dAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS31btConvexPlaneCollisionAlgorithm = Pointer_make([51,49,98,116,67,111,110,118,101,120,80,108,97,110,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0] /* 31btConvexPlaneCollisionAlgorithm\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI31btConvexPlaneCollisionAlgorithm = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS31btConvexPlaneCollisionAlgorithm, 0, 0, 0], __ZTI20btCollisionAlgorithm, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV31btConvexPlaneCollisionAlgorithm = Pointer_make([ 0, 0, 0, 0, __ZTI31btConvexPlaneCollisionAlgorithm, 0, 0, 0, __ZN31btConvexPlaneCollisionAlgorithmD1Ev.__index__, 0, 0, 0, __ZN31btConvexPlaneCollisionAlgorithmD0Ev.__index__, 0, 0, 0, __ZN31btConvexPlaneCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN31btConvexPlaneCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN31btConvexPlaneCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS23btConvexConvexAlgorithm = Pointer_make([50,51,98,116,67,111,110,118,101,120,67,111,110,118,101,120,65,108,103,111,114,105,116,104,109,0] /* 23btConvexConvexAlgorithm\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI23btConvexConvexAlgorithm = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS23btConvexConvexAlgorithm, 0, 0, 0], __ZTI30btActivatingCollisionAlgorithm, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV23btConvexConvexAlgorithm = Pointer_make([ 0, 0, 0, 0, __ZTI23btConvexConvexAlgorithm, 0, 0, 0, __ZN23btConvexConvexAlgorithmD1Ev.__index__, 0, 0, 0, __ZN23btConvexConvexAlgorithmD0Ev.__index__, 0, 0, 0, __ZN23btConvexConvexAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN23btConvexConvexAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN23btConvexConvexAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _disableCcd = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS24btPerturbedContactResult = Pointer_make([50,52,98,116,80,101,114,116,117,114,98,101,100,67,111,110,116,97,99,116,82,101,115,117,108,116,0] /* 24btPerturbedContactResult\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI24btPerturbedContactResult = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS24btPerturbedContactResult, 0, 0, 0], __ZTI16btManifoldResult, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV24btPerturbedContactResult = Pointer_make([ 0, 0, 0, 0, __ZTI24btPerturbedContactResult, 0, 0, 0, __ZN24btPerturbedContactResultD1Ev.__index__, 0, 0, 0, __ZN24btPerturbedContactResultD0Ev.__index__, 0, 0, 0, __ZN16btManifoldResult20setShapeIdentifiersAEii.__index__, 0, 0, 0, __ZN16btManifoldResult20setShapeIdentifiersBEii.__index__, 0, 0, 0, __ZN24btPerturbedContactResult15addContactPointERK9btVector3S2_f.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN23btConvexConvexAlgorithm10CreateFuncE = Pointer_make([78,50,51,98,116,67,111,110,118,101,120,67,111,110,118,101,120,65,108,103,111,114,105,116,104,109,49,48,67,114,101,97,116,101,70,117,110,99,69,0] /* N23btConvexConvexAlgorithm10CreateFuncE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN23btConvexConvexAlgorithm10CreateFuncE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSN23btConvexConvexAlgorithm10CreateFuncE, 0, 0, 0], __ZTI30btCollisionAlgorithmCreateFunc, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN23btConvexConvexAlgorithm10CreateFuncE = Pointer_make([ 0, 0, 0, 0, __ZTIN23btConvexConvexAlgorithm10CreateFuncE, 0, 0, 0, __ZN23btConvexConvexAlgorithm10CreateFuncD1Ev.__index__, 0, 0, 0, __ZN23btConvexConvexAlgorithm10CreateFuncD0Ev.__index__, 0, 0, 0, __ZN23btConvexConvexAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS30btCollisionAlgorithmCreateFunc = Pointer_make([51,48,98,116,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,67,114,101,97,116,101,70,117,110,99,0] /* 30btCollisionAlgorithmCreateFunc\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI30btCollisionAlgorithmCreateFunc = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS30btCollisionAlgorithmCreateFunc, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV30btCollisionAlgorithmCreateFunc = Pointer_make([ 0, 0, 0, 0, __ZTI30btCollisionAlgorithmCreateFunc, 0, 0, 0, __ZN30btCollisionAlgorithmCreateFuncD1Ev.__index__, 0, 0, 0, __ZN30btCollisionAlgorithmCreateFuncD0Ev.__index__, 0, 0, 0, __ZN30btCollisionAlgorithmCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS3_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS33btConvexConcaveCollisionAlgorithm = Pointer_make([51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0] /* 33btConvexConcaveCollisionAlgorithm\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI33btConvexConcaveCollisionAlgorithm = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS33btConvexConcaveCollisionAlgorithm, 0, 0, 0], __ZTI30btActivatingCollisionAlgorithm, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV33btConvexConcaveCollisionAlgorithm = Pointer_make([ 0, 0, 0, 0, __ZTI33btConvexConcaveCollisionAlgorithm, 0, 0, 0, __ZN33btConvexConcaveCollisionAlgorithmD1Ev.__index__, 0, 0, 0, __ZN33btConvexConcaveCollisionAlgorithmD0Ev.__index__, 0, 0, 0, __ZN33btConvexConcaveCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN33btConvexConcaveCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS24btConvexTriangleCallback = Pointer_make([50,52,98,116,67,111,110,118,101,120,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0] /* 24btConvexTriangleCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI24btConvexTriangleCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS24btConvexTriangleCallback, 0, 0, 0], __ZTI18btTriangleCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV24btConvexTriangleCallback = Pointer_make([ 0, 0, 0, 0, __ZTI24btConvexTriangleCallback, 0, 0, 0, __ZN24btConvexTriangleCallbackD1Ev.__index__, 0, 0, 0, __ZN24btConvexTriangleCallbackD0Ev.__index__, 0, 0, 0, __ZN24btConvexTriangleCallback15processTriangleEP9btVector3ii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str119 = Pointer_make([98,116,67,111,110,118,101,120,73,110,116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0] /* btConvexInternalShapeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS15btTriangleShape = Pointer_make([49,53,98,116,84,114,105,97,110,103,108,101,83,104,97,112,101,0] /* 15btTriangleShape\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI15btTriangleShape = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS15btTriangleShape, 0, 0, 0], __ZTI23btPolyhedralConvexShape, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV15btTriangleShape = Pointer_make([ 0, 0, 0, 0, __ZTI15btTriangleShape, 0, 0, 0, __ZN15btTriangleShapeD1Ev.__index__, 0, 0, 0, __ZN15btTriangleShapeD0Ev.__index__, 0, 0, 0, __ZNK15btTriangleShape7getAabbERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf.__index__, 0, 0, 0, __ZNK16btCollisionShape20getAngularMotionDiscEv.__index__, 0, 0, 0, __ZNK16btCollisionShape27getContactBreakingThresholdEf.__index__, 0, 0, 0, __ZN21btConvexInternalShape15setLocalScalingERK9btVector3.__index__, 0, 0, 0, __ZNK21btConvexInternalShape15getLocalScalingEv.__index__, 0, 0, 0, __ZNK15btTriangleShape21calculateLocalInertiaEfR9btVector3.__index__, 0, 0, 0, __ZNK15btTriangleShape7getNameEv.__index__, 0, 0, 0, __ZN21btConvexInternalShape9setMarginEf.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9getMarginEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK21btConvexInternalShape9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer.__index__, 0, 0, 0, __ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3.__index__, 0, 0, 0, __ZNK15btTriangleShape37localGetSupportingVertexWithoutMarginERK9btVector3.__index__, 0, 0, 0, __ZNK15btTriangleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i.__index__, 0, 0, 0, __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_.__index__, 0, 0, 0, __ZNK15btTriangleShape36getNumPreferredPenetrationDirectionsEv.__index__, 0, 0, 0, __ZNK15btTriangleShape32getPreferredPenetrationDirectionEiR9btVector3.__index__, 0, 0, 0, __ZNK15btTriangleShape14getNumVerticesEv.__index__, 0, 0, 0, __ZNK15btTriangleShape11getNumEdgesEv.__index__, 0, 0, 0, __ZNK15btTriangleShape7getEdgeEiR9btVector3S1_.__index__, 0, 0, 0, __ZNK15btTriangleShape9getVertexEiR9btVector3.__index__, 0, 0, 0, __ZNK15btTriangleShape12getNumPlanesEv.__index__, 0, 0, 0, __ZNK15btTriangleShape8getPlaneER9btVector3S1_i.__index__, 0, 0, 0, __ZNK15btTriangleShape8isInsideERK9btVector3f.__index__, 0, 0, 0, __ZNK15btTriangleShape16getPlaneEquationEiR9btVector3S1_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback = Pointer_make([90,78,51,51,98,116,67,111,110,118,101,120,67,111,110,99,97,118,101,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,50,49,99,97,108,99,117,108,97,116,101,84,105,109,101,79,102,73,109,112,97,99,116,69,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,83,49,95,82,75,49,54,98,116,68,105,115,112,97,116,99,104,101,114,73,110,102,111,80,49,54,98,116,77,97,110,105,102,111,108,100,82,101,115,117,108,116,69,51,49,76,111,99,97,108,84,114,105,97,110,103,108,101,83,112,104,101,114,101,67,97,115,116,67,97,108,108,98,97,99,107,0] /* ZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback, 0, 0, 0], __ZTI18btTriangleCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback = Pointer_make([ 0, 0, 0, 0, __ZTIZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultE31LocalTriangleSphereCastCallback, 0, 0, 0, __ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD1Ev.__index__, 0, 0, 0, __ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD0Ev.__index__, 0, 0, 0, __ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallback15processTriangleEP9btVector3ii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str18 = Pointer_make([84,114,105,97,110,103,108,101,0] /* Triangle\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS28btCompoundCollisionAlgorithm = Pointer_make([50,56,98,116,67,111,109,112,111,117,110,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0] /* 28btCompoundCollisionAlgorithm\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI28btCompoundCollisionAlgorithm = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS28btCompoundCollisionAlgorithm, 0, 0, 0], __ZTI30btActivatingCollisionAlgorithm, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV28btCompoundCollisionAlgorithm = Pointer_make([ 0, 0, 0, 0, __ZTI28btCompoundCollisionAlgorithm, 0, 0, 0, __ZN28btCompoundCollisionAlgorithmD1Ev.__index__, 0, 0, 0, __ZN28btCompoundCollisionAlgorithmD0Ev.__index__, 0, 0, 0, __ZN28btCompoundCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN28btCompoundCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN28btCompoundCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS22btCompoundLeafCallback = Pointer_make([50,50,98,116,67,111,109,112,111,117,110,100,76,101,97,102,67,97,108,108,98,97,99,107,0] /* 22btCompoundLeafCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI22btCompoundLeafCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS22btCompoundLeafCallback, 0, 0, 0], __ZTIN6btDbvt8ICollideE, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV22btCompoundLeafCallback = Pointer_make([ 0, 0, 0, 0, __ZTI22btCompoundLeafCallback, 0, 0, 0, __ZN22btCompoundLeafCallbackD1Ev.__index__, 0, 0, 0, __ZN22btCompoundLeafCallbackD0Ev.__index__, 0, 0, 0, __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodeS3_.__index__, 0, 0, 0, __ZN22btCompoundLeafCallback7ProcessEPK10btDbvtNode.__index__, 0, 0, 0, __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodef.__index__, 0, 0, 0, __ZN6btDbvt8ICollide7DescentEPK10btDbvtNode.__index__, 0, 0, 0, __ZN6btDbvt8ICollide9AllLeavesEPK10btDbvtNode.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str1217 = Pointer_make([117,112,100,97,116,101,65,97,98,98,115,0] /* updateAabbs\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str1116 = Pointer_make([84,104,97,110,107,115,46,10,0] /* Thanks.\0A\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str10 = Pointer_make([80,108,101,97,115,101,32,105,110,99,108,117,100,101,32,97,98,111,118,101,32,105,110,102,111,114,109,97,116,105,111,110,44,32,121,111,117,114,32,80,108,97,116,102,111,114,109,44,32,118,101,114,115,105,111,110,32,111,102,32,79,83,46,10,0] /* Please include above information, your Platform, version of OS.\0A\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str9 = Pointer_make([73,102,32,121,111,117,32,99,97,110,32,114,101,112,114,111,100,117,99,101,32,116,104,105,115,44,32,112,108,101,97,115,101,32,101,109,97,105,108,32,98,117,103,115,64,99,111,110,116,105,110,117,111,117,115,112,104,121,115,105,99,115,46,99,111,109,10,0] /* If you can reproduce this, please email bugs@continuousphysics.com\0A\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str8 = Pointer_make([79,118,101,114,102,108,111,119,32,105,110,32,65,65,66,66,44,32,111,98,106,101,99,116,32,114,101,109,111,118,101,100,32,102,114,111,109,32,115,105,109,117,108,97,116,105,111,110,0] /* Overflow in AABB, object removed from simulation\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZN16btCollisionWorld16updateSingleAabbEP17btCollisionObjectE8reportMe_b = Pointer_make([false], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str7 = Pointer_make([99,111,110,118,101,120,83,119,101,101,112,67,111,109,112,111,117,110,100,0] /* convexSweepCompound\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str6 = Pointer_make([100,105,115,112,97,116,99,104,65,108,108,67,111,108,108,105,115,105,111,110,80,97,105,114,115,0] /* dispatchAllCollisionPairs\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str5 = Pointer_make([99,97,108,99,117,108,97,116,101,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,115,0] /* calculateOverlappingPairs\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str48 = Pointer_make([112,101,114,102,111,114,109,68,105,115,99,114,101,116,101,67,111,108,108,105,115,105,111,110,68,101,116,101,99,116,105,111,110,0] /* performDiscreteCollisionDetection\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str315 = Pointer_make([99,111,110,118,101,120,83,119,101,101,112,84,101,115,116,0] /* convexSweepTest\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback = Pointer_make([90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,51,114,97,121,84,101,115,116,83,105,110,103,108,101,69,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,50,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,50,95,82,78,83,95,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,69,50,57,66,114,105,100,103,101,84,114,105,97,110,103,108,101,82,97,121,99,97,115,116,67,97,108,108,98,97,99,107,0] /* ZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback, 0, 0, 0], __ZTI25btTriangleRaycastCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback = Pointer_make([ 0, 0, 0, 0, __ZTIZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback, 0, 0, 0, __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1Ev.__index__, 0, 0, 0, __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0Ev.__index__, 0, 0, 0, __ZN25btTriangleRaycastCallback15processTriangleEP9btVector3ii.__index__, 0, 0, 0, __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitERK9btVector3fii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0 = Pointer_make([90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,51,114,97,121,84,101,115,116,83,105,110,103,108,101,69,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,50,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,50,95,82,78,83,95,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,69,50,57,66,114,105,100,103,101,84,114,105,97,110,103,108,101,82,97,121,99,97,115,116,67,97,108,108,98,97,99,107,95,48,0] /* ZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0 = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0, 0, 0, 0], __ZTI25btTriangleRaycastCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0 = Pointer_make([ 0, 0, 0, 0, __ZTIZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE29BridgeTriangleRaycastCallback_0, 0, 0, 0, __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1E_0v.__index__, 0, 0, 0, __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0E_0v.__index__, 0, 0, 0, __ZN25btTriangleRaycastCallback15processTriangleEP9btVector3ii.__index__, 0, 0, 0, __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitE_0RK9btVector3fii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback = Pointer_make([90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,55,111,98,106,101,99,116,81,117,101,114,121,83,105,110,103,108,101,69,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,53,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,53,95,82,78,83,95,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,102,69,51,50,66,114,105,100,103,101,84,114,105,97,110,103,108,101,67,111,110,118,101,120,99,97,115,116,67,97,108,108,98,97,99,107,0] /* ZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback, 0, 0, 0], __ZTI28btTriangleConvexcastCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback = Pointer_make([ 0, 0, 0, 0, __ZTIZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback, 0, 0, 0, __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1Ev.__index__, 0, 0, 0, __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0Ev.__index__, 0, 0, 0, __ZN28btTriangleConvexcastCallback15processTriangleEP9btVector3ii.__index__, 0, 0, 0, __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitERK9btVector3SG_fii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0 = Pointer_make([90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,55,111,98,106,101,99,116,81,117,101,114,121,83,105,110,103,108,101,69,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,53,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,53,95,82,78,83,95,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,102,69,51,50,66,114,105,100,103,101,84,114,105,97,110,103,108,101,67,111,110,118,101,120,99,97,115,116,67,97,108,108,98,97,99,107,95,48,0] /* ZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0 = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0, 0, 0, 0], __ZTI28btTriangleConvexcastCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0 = Pointer_make([ 0, 0, 0, 0, __ZTIZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE32BridgeTriangleConvexcastCallback_0, 0, 0, 0, __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1E_0v.__index__, 0, 0, 0, __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0E_0v.__index__, 0, 0, 0, __ZN28btTriangleConvexcastCallback15processTriangleEP9btVector3ii.__index__, 0, 0, 0, __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitE_0RK9btVector3SG_fii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS16btCollisionWorld = Pointer_make([49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,0] /* 16btCollisionWorld\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI16btCollisionWorld = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS16btCollisionWorld, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV16btCollisionWorld = Pointer_make([ 0, 0, 0, 0, __ZTI16btCollisionWorld, 0, 0, 0, __ZN16btCollisionWorldD1Ev.__index__, 0, 0, 0, __ZN16btCollisionWorldD0Ev.__index__, 0, 0, 0, __ZN16btCollisionWorld11updateAabbsEv.__index__, 0, 0, 0, __ZN16btCollisionWorld14setDebugDrawerEP12btIDebugDraw.__index__, 0, 0, 0, __ZN16btCollisionWorld14getDebugDrawerEv.__index__, 0, 0, 0, __ZN16btCollisionWorld14debugDrawWorldEv.__index__, 0, 0, 0, __ZN16btCollisionWorld15debugDrawObjectERK11btTransformPK16btCollisionShapeRK9btVector3.__index__, 0, 0, 0, __ZNK16btCollisionWorld7rayTestERK9btVector3S2_RNS_17RayResultCallbackE.__index__, 0, 0, 0, __ZN16btCollisionWorld18addCollisionObjectEP17btCollisionObjectss.__index__, 0, 0, 0, __ZN16btCollisionWorld21removeCollisionObjectEP17btCollisionObject.__index__, 0, 0, 0, __ZN16btCollisionWorld33performDiscreteCollisionDetectionEv.__index__, 0, 0, 0, __ZN16btCollisionWorld9serializeEP12btSerializer.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS19btSingleRayCallback = Pointer_make([49,57,98,116,83,105,110,103,108,101,82,97,121,67,97,108,108,98,97,99,107,0] /* 19btSingleRayCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI19btSingleRayCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS19btSingleRayCallback, 0, 0, 0], __ZTI23btBroadphaseRayCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV19btSingleRayCallback = Pointer_make([ 0, 0, 0, 0, __ZTI19btSingleRayCallback, 0, 0, 0, __ZN19btSingleRayCallbackD1Ev.__index__, 0, 0, 0, __ZN19btSingleRayCallbackD0Ev.__index__, 0, 0, 0, __ZN19btSingleRayCallback7processEPK17btBroadphaseProxy.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS21btSingleSweepCallback = Pointer_make([50,49,98,116,83,105,110,103,108,101,83,119,101,101,112,67,97,108,108,98,97,99,107,0] /* 21btSingleSweepCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI21btSingleSweepCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS21btSingleSweepCallback, 0, 0, 0], __ZTI23btBroadphaseRayCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV21btSingleSweepCallback = Pointer_make([ 0, 0, 0, 0, __ZTI21btSingleSweepCallback, 0, 0, 0, __ZN21btSingleSweepCallbackD1Ev.__index__, 0, 0, 0, __ZN21btSingleSweepCallbackD0Ev.__index__, 0, 0, 0, __ZN21btSingleSweepCallback7processEPK17btBroadphaseProxy.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS23btBridgedManifoldResult = Pointer_make([50,51,98,116,66,114,105,100,103,101,100,77,97,110,105,102,111,108,100,82,101,115,117,108,116,0] /* 23btBridgedManifoldResult\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI23btBridgedManifoldResult = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS23btBridgedManifoldResult, 0, 0, 0], __ZTI16btManifoldResult, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV23btBridgedManifoldResult = Pointer_make([ 0, 0, 0, 0, __ZTI23btBridgedManifoldResult, 0, 0, 0, __ZN23btBridgedManifoldResultD1Ev.__index__, 0, 0, 0, __ZN23btBridgedManifoldResultD0Ev.__index__, 0, 0, 0, __ZN16btManifoldResult20setShapeIdentifiersAEii.__index__, 0, 0, 0, __ZN16btManifoldResult20setShapeIdentifiersBEii.__index__, 0, 0, 0, __ZN23btBridgedManifoldResult15addContactPointERK9btVector3S2_f.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str214 = Pointer_make([98,116,84,114,105,97,110,103,108,101,73,110,102,111,77,97,112,68,97,116,97,0] /* btTriangleInfoMapData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str113 = Pointer_make([98,116,84,114,105,97,110,103,108,101,73,110,102,111,68,97,116,97,0] /* btTriangleInfoData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str12 = Pointer_make([105,110,116,0] /* int\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS17DebugDrawcallback = Pointer_make([49,55,68,101,98,117,103,68,114,97,119,99,97,108,108,98,97,99,107,0] /* 17DebugDrawcallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI17DebugDrawcallback = Pointer_make([ [(__ZTVN10__cxxabiv121__vmi_class_type_infoE + 8), 0, 0, 0, __ZTS17DebugDrawcallback, 0, 0, 0], 0, 0, 0, 0, 2, 0, 0, 0, [[__ZTI18btTriangleCallback, 0, 0, 0, 2, 0, 0, 0], [__ZTI31btInternalTriangleIndexCallback, 0, 0, 0, 1026, 0, 0, 0]] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV17DebugDrawcallback = Pointer_make([ 0, 0, 0, 0, __ZTI17DebugDrawcallback, 0, 0, 0, __ZN17DebugDrawcallbackD1Ev.__index__, 0, 0, 0, __ZN17DebugDrawcallbackD0Ev.__index__, 0, 0, 0, __ZN17DebugDrawcallback15processTriangleEP9btVector3ii.__index__, 0, 0, 0, __ZN17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii.__index__, 0, 0, 0, -4, 0, 0, 0, __ZTI17DebugDrawcallback, 0, 0, 0, __ZThn4_N17DebugDrawcallbackD1Ev.__index__, 0, 0, 0, __ZThn4_N17DebugDrawcallbackD0Ev.__index__, 0, 0, 0, __ZThn4_N17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS23btSingleContactCallback = Pointer_make([50,51,98,116,83,105,110,103,108,101,67,111,110,116,97,99,116,67,97,108,108,98,97,99,107,0] /* 23btSingleContactCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI23btSingleContactCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS23btSingleContactCallback, 0, 0, 0], __ZTI24btBroadphaseAabbCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV23btSingleContactCallback = Pointer_make([ 0, 0, 0, 0, __ZTI23btSingleContactCallback, 0, 0, 0, __ZN23btSingleContactCallbackD1Ev.__index__, 0, 0, 0, __ZN23btSingleContactCallbackD0Ev.__index__, 0, 0, 0, __ZN23btSingleContactCallback7processEPK17btBroadphaseProxy.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS23btBroadphaseRayCallback = Pointer_make([50,51,98,116,66,114,111,97,100,112,104,97,115,101,82,97,121,67,97,108,108,98,97,99,107,0] /* 23btBroadphaseRayCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI23btBroadphaseRayCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS23btBroadphaseRayCallback, 0, 0, 0], __ZTI24btBroadphaseAabbCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV23btBroadphaseRayCallback = Pointer_make([ 0, 0, 0, 0, __ZTI23btBroadphaseRayCallback, 0, 0, 0, __ZN23btBroadphaseRayCallbackD1Ev.__index__, 0, 0, 0, __ZN23btBroadphaseRayCallbackD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS24btBroadphaseAabbCallback = Pointer_make([50,52,98,116,66,114,111,97,100,112,104,97,115,101,65,97,98,98,67,97,108,108,98,97,99,107,0] /* 24btBroadphaseAabbCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI24btBroadphaseAabbCallback = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS24btBroadphaseAabbCallback, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV24btBroadphaseAabbCallback = Pointer_make([ 0, 0, 0, 0, __ZTI24btBroadphaseAabbCallback, 0, 0, 0, __ZN24btBroadphaseAabbCallbackD1Ev.__index__, 0, 0, 0, __ZN24btBroadphaseAabbCallbackD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder = Pointer_make([90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,55,111,98,106,101,99,116,81,117,101,114,121,83,105,110,103,108,101,69,80,75,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,53,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,53,95,82,78,83,95,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,102,69,49,52,76,111,99,97,108,73,110,102,111,65,100,100,101,114,0] /* ZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder, 0, 0, 0], __ZTIN16btCollisionWorld20ConvexResultCallbackE, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder = Pointer_make([ 0, 0, 0, 0, __ZTIZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfE14LocalInfoAdder, 0, 0, 0, __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD1Ev.__index__, 0, 0, 0, __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD0Ev.__index__, 0, 0, 0, __ZNK16btCollisionWorld20ConvexResultCallback14needsCollisionEP17btBroadphaseProxy.__index__, 0, 0, 0, __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdder15addSingleResultERNS_17LocalConvexResultEb.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2 = Pointer_make([90,78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,51,114,97,121,84,101,115,116,83,105,110,103,108,101,69,82,75,49,49,98,116,84,114,97,110,115,102,111,114,109,83,50,95,80,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,80,75,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,83,50,95,82,78,83,95,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,69,49,53,76,111,99,97,108,73,110,102,111,65,100,100,101,114,50,0] /* ZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2 = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2, 0, 0, 0], __ZTIN16btCollisionWorld17RayResultCallbackE, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2 = Pointer_make([ 0, 0, 0, 0, __ZTIZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEE15LocalInfoAdder2, 0, 0, 0, __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D1Ev.__index__, 0, 0, 0, __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D0Ev.__index__, 0, 0, 0, __ZNK16btCollisionWorld17RayResultCallback14needsCollisionEP17btBroadphaseProxy.__index__, 0, 0, 0, __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder215addSingleResultERNS_14LocalRayResultEb.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN12btConvexCast10CastResultE = Pointer_make([78,49,50,98,116,67,111,110,118,101,120,67,97,115,116,49,48,67,97,115,116,82,101,115,117,108,116,69,0] /* N12btConvexCast10CastResultE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN12btConvexCast10CastResultE = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTSN12btConvexCast10CastResultE, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN12btConvexCast10CastResultE = Pointer_make([ 0, 0, 0, 0, __ZTIN12btConvexCast10CastResultE, 0, 0, 0, __ZN12btConvexCast10CastResult9DebugDrawEf.__index__, 0, 0, 0, __ZN12btConvexCast10CastResult15drawCoordSystemERK11btTransform.__index__, 0, 0, 0, __ZN12btConvexCast10CastResultD1Ev.__index__, 0, 0, 0, __ZN12btConvexCast10CastResultD0Ev.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS30btConvexPenetrationDepthSolver = Pointer_make([51,48,98,116,67,111,110,118,101,120,80,101,110,101,116,114,97,116,105,111,110,68,101,112,116,104,83,111,108,118,101,114,0] /* 30btConvexPenetrationDepthSolver\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI30btConvexPenetrationDepthSolver = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS30btConvexPenetrationDepthSolver, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV30btConvexPenetrationDepthSolver = Pointer_make([ 0, 0, 0, 0, __ZTI30btConvexPenetrationDepthSolver, 0, 0, 0, __ZN30btConvexPenetrationDepthSolverD1Ev.__index__, 0, 0, 0, __ZN30btConvexPenetrationDepthSolverD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN16btCollisionWorld20ConvexResultCallbackE = Pointer_make([78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,50,48,67,111,110,118,101,120,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0] /* N16btCollisionWorld20ConvexResultCallbackE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN16btCollisionWorld20ConvexResultCallbackE = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTSN16btCollisionWorld20ConvexResultCallbackE, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN16btCollisionWorld20ConvexResultCallbackE = Pointer_make([ 0, 0, 0, 0, __ZTIN16btCollisionWorld20ConvexResultCallbackE, 0, 0, 0, __ZN16btCollisionWorld20ConvexResultCallbackD1Ev.__index__, 0, 0, 0, __ZN16btCollisionWorld20ConvexResultCallbackD0Ev.__index__, 0, 0, 0, __ZNK16btCollisionWorld20ConvexResultCallback14needsCollisionEP17btBroadphaseProxy.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN16btCollisionWorld17RayResultCallbackE = Pointer_make([78,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,49,55,82,97,121,82,101,115,117,108,116,67,97,108,108,98,97,99,107,69,0] /* N16btCollisionWorld17RayResultCallbackE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN16btCollisionWorld17RayResultCallbackE = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTSN16btCollisionWorld17RayResultCallbackE, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN16btCollisionWorld17RayResultCallbackE = Pointer_make([ 0, 0, 0, 0, __ZTIN16btCollisionWorld17RayResultCallbackE, 0, 0, 0, __ZN16btCollisionWorld17RayResultCallbackD1Ev.__index__, 0, 0, 0, __ZN16btCollisionWorld17RayResultCallbackD0Ev.__index__, 0, 0, 0, __ZNK16btCollisionWorld17RayResultCallback14needsCollisionEP17btBroadphaseProxy.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str11 = Pointer_make([98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,70,108,111,97,116,68,97,116,97,0] /* btCollisionObjectFloatData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS17btCollisionObject = Pointer_make([49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,0] /* 17btCollisionObject\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI17btCollisionObject = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS17btCollisionObject, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV17btCollisionObject = Pointer_make([ 0, 0, 0, 0, __ZTI17btCollisionObject, 0, 0, 0, __ZN17btCollisionObject24checkCollideWithOverrideEPS_.__index__, 0, 0, 0, __ZN17btCollisionObjectD1Ev.__index__, 0, 0, 0, __ZN17btCollisionObjectD0Ev.__index__, 0, 0, 0, __ZN17btCollisionObject17setCollisionShapeEP16btCollisionShape.__index__, 0, 0, 0, __ZNK17btCollisionObject28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK17btCollisionObject9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZNK17btCollisionObject21serializeSingleObjectEP12btSerializer.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS21btCollisionDispatcher = Pointer_make([50,49,98,116,67,111,108,108,105,115,105,111,110,68,105,115,112,97,116,99,104,101,114,0] /* 21btCollisionDispatcher\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI21btCollisionDispatcher = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS21btCollisionDispatcher, 0, 0, 0], __ZTI12btDispatcher, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV21btCollisionDispatcher = Pointer_make([ 0, 0, 0, 0, __ZTI21btCollisionDispatcher, 0, 0, 0, __ZN21btCollisionDispatcherD1Ev.__index__, 0, 0, 0, __ZN21btCollisionDispatcherD0Ev.__index__, 0, 0, 0, __ZN21btCollisionDispatcher13findAlgorithmEP17btCollisionObjectS1_P20btPersistentManifold.__index__, 0, 0, 0, __ZN21btCollisionDispatcher14getNewManifoldEPvS0_.__index__, 0, 0, 0, __ZN21btCollisionDispatcher15releaseManifoldEP20btPersistentManifold.__index__, 0, 0, 0, __ZN21btCollisionDispatcher13clearManifoldEP20btPersistentManifold.__index__, 0, 0, 0, __ZN21btCollisionDispatcher14needsCollisionEP17btCollisionObjectS1_.__index__, 0, 0, 0, __ZN21btCollisionDispatcher13needsResponseEP17btCollisionObjectS1_.__index__, 0, 0, 0, __ZN21btCollisionDispatcher25dispatchAllCollisionPairsEP22btOverlappingPairCacheRK16btDispatcherInfoP12btDispatcher.__index__, 0, 0, 0, __ZNK21btCollisionDispatcher15getNumManifoldsEv.__index__, 0, 0, 0, __ZN21btCollisionDispatcher26getManifoldByIndexInternalEi.__index__, 0, 0, 0, __ZN21btCollisionDispatcher26getInternalManifoldPointerEv.__index__, 0, 0, 0, __ZN21btCollisionDispatcher26allocateCollisionAlgorithmEi.__index__, 0, 0, 0, __ZN21btCollisionDispatcher22freeCollisionAlgorithmEPv.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS23btCollisionPairCallback = Pointer_make([50,51,98,116,67,111,108,108,105,115,105,111,110,80,97,105,114,67,97,108,108,98,97,99,107,0] /* 23btCollisionPairCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI23btCollisionPairCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS23btCollisionPairCallback, 0, 0, 0], __ZTI17btOverlapCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV23btCollisionPairCallback = Pointer_make([ 0, 0, 0, 0, __ZTI23btCollisionPairCallback, 0, 0, 0, __ZN23btCollisionPairCallbackD1Ev.__index__, 0, 0, 0, __ZN23btCollisionPairCallbackD0Ev.__index__, 0, 0, 0, __ZN23btCollisionPairCallback14processOverlapER16btBroadphasePair.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN36btDiscreteCollisionDetectorInterface6ResultE = Pointer_make([78,51,54,98,116,68,105,115,99,114,101,116,101,67,111,108,108,105,115,105,111,110,68,101,116,101,99,116,111,114,73,110,116,101,114,102,97,99,101,54,82,101,115,117,108,116,69,0] /* N36btDiscreteCollisionDetectorInterface6ResultE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN36btDiscreteCollisionDetectorInterface6ResultE = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTSN36btDiscreteCollisionDetectorInterface6ResultE, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN36btDiscreteCollisionDetectorInterface6ResultE = Pointer_make([ 0, 0, 0, 0, __ZTIN36btDiscreteCollisionDetectorInterface6ResultE, 0, 0, 0, __ZN36btDiscreteCollisionDetectorInterface6ResultD1Ev.__index__, 0, 0, 0, __ZN36btDiscreteCollisionDetectorInterface6ResultD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _gNumManifold = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS16btBoxBoxDetector = Pointer_make([49,54,98,116,66,111,120,66,111,120,68,101,116,101,99,116,111,114,0] /* 16btBoxBoxDetector\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI16btBoxBoxDetector = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS16btBoxBoxDetector, 0, 0, 0], __ZTI36btDiscreteCollisionDetectorInterface, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV16btBoxBoxDetector = Pointer_make([ 0, 0, 0, 0, __ZTI16btBoxBoxDetector, 0, 0, 0, __ZN16btBoxBoxDetectorD1Ev.__index__, 0, 0, 0, __ZN16btBoxBoxDetectorD0Ev.__index__, 0, 0, 0, __ZN16btBoxBoxDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS36btDiscreteCollisionDetectorInterface = Pointer_make([51,54,98,116,68,105,115,99,114,101,116,101,67,111,108,108,105,115,105,111,110,68,101,116,101,99,116,111,114,73,110,116,101,114,102,97,99,101,0] /* 36btDiscreteCollisionDetectorInterface\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI36btDiscreteCollisionDetectorInterface = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS36btDiscreteCollisionDetectorInterface, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV36btDiscreteCollisionDetectorInterface = Pointer_make([ 0, 0, 0, 0, __ZTI36btDiscreteCollisionDetectorInterface, 0, 0, 0, __ZN36btDiscreteCollisionDetectorInterfaceD1Ev.__index__, 0, 0, 0, __ZN36btDiscreteCollisionDetectorInterfaceD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS30btBox2dBox2dCollisionAlgorithm = Pointer_make([51,48,98,116,66,111,120,50,100,66,111,120,50,100,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0] /* 30btBox2dBox2dCollisionAlgorithm\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI30btBox2dBox2dCollisionAlgorithm = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS30btBox2dBox2dCollisionAlgorithm, 0, 0, 0], __ZTI30btActivatingCollisionAlgorithm, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV30btBox2dBox2dCollisionAlgorithm = Pointer_make([ 0, 0, 0, 0, __ZTI30btBox2dBox2dCollisionAlgorithm, 0, 0, 0, __ZN30btBox2dBox2dCollisionAlgorithmD1Ev.__index__, 0, 0, 0, __ZN30btBox2dBox2dCollisionAlgorithmD0Ev.__index__, 0, 0, 0, __ZN30btBox2dBox2dCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN30btBox2dBox2dCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN30btBox2dBox2dCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _b2_maxManifoldPoints = Pointer_make([2], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS26btBoxBoxCollisionAlgorithm = Pointer_make([50,54,98,116,66,111,120,66,111,120,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0] /* 26btBoxBoxCollisionAlgorithm\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI26btBoxBoxCollisionAlgorithm = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS26btBoxBoxCollisionAlgorithm, 0, 0, 0], __ZTI30btActivatingCollisionAlgorithm, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV26btBoxBoxCollisionAlgorithm = Pointer_make([ 0, 0, 0, 0, __ZTI26btBoxBoxCollisionAlgorithm, 0, 0, 0, __ZN26btBoxBoxCollisionAlgorithmD1Ev.__index__, 0, 0, 0, __ZN26btBoxBoxCollisionAlgorithmD0Ev.__index__, 0, 0, 0, __ZN26btBoxBoxCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN26btBoxBoxCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult.__index__, 0, 0, 0, __ZN26btBoxBoxCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS30btActivatingCollisionAlgorithm = Pointer_make([51,48,98,116,65,99,116,105,118,97,116,105,110,103,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0] /* 30btActivatingCollisionAlgorithm\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI30btActivatingCollisionAlgorithm = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS30btActivatingCollisionAlgorithm, 0, 0, 0], __ZTI20btCollisionAlgorithm, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV30btActivatingCollisionAlgorithm = Pointer_make([ 0, 0, 0, 0, __ZTI30btActivatingCollisionAlgorithm, 0, 0, 0, __ZN30btActivatingCollisionAlgorithmD1Ev.__index__, 0, 0, 0, __ZN30btActivatingCollisionAlgorithmD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS18btSimpleBroadphase = Pointer_make([49,56,98,116,83,105,109,112,108,101,66,114,111,97,100,112,104,97,115,101,0] /* 18btSimpleBroadphase\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI18btSimpleBroadphase = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS18btSimpleBroadphase, 0, 0, 0], __ZTI21btBroadphaseInterface, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV18btSimpleBroadphase = Pointer_make([ 0, 0, 0, 0, __ZTI18btSimpleBroadphase, 0, 0, 0, __ZN18btSimpleBroadphaseD1Ev.__index__, 0, 0, 0, __ZN18btSimpleBroadphaseD0Ev.__index__, 0, 0, 0, __ZN18btSimpleBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_.__index__, 0, 0, 0, __ZN18btSimpleBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher.__index__, 0, 0, 0, __ZN18btSimpleBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher.__index__, 0, 0, 0, __ZNK18btSimpleBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_.__index__, 0, 0, 0, __ZN18btSimpleBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_.__index__, 0, 0, 0, __ZN18btSimpleBroadphase8aabbTestERK9btVector3S2_R24btBroadphaseAabbCallback.__index__, 0, 0, 0, __ZN18btSimpleBroadphase25calculateOverlappingPairsEP12btDispatcher.__index__, 0, 0, 0, __ZN18btSimpleBroadphase23getOverlappingPairCacheEv.__index__, 0, 0, 0, __ZNK18btSimpleBroadphase23getOverlappingPairCacheEv.__index__, 0, 0, 0, __ZNK18btSimpleBroadphase17getBroadphaseAabbER9btVector3S1_.__index__, 0, 0, 0, __ZN18btSimpleBroadphase9resetPoolEP12btDispatcher.__index__, 0, 0, 0, __ZN18btSimpleBroadphase10printStatsEv.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS14btQuantizedBvh = Pointer_make([49,52,98,116,81,117,97,110,116,105,122,101,100,66,118,104,0] /* 14btQuantizedBvh\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI14btQuantizedBvh = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS14btQuantizedBvh, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV14btQuantizedBvh = Pointer_make([ 0, 0, 0, 0, __ZTI14btQuantizedBvh, 0, 0, 0, __ZN14btQuantizedBvhD1Ev.__index__, 0, 0, 0, __ZN14btQuantizedBvhD0Ev.__index__, 0, 0, 0, __ZNK14btQuantizedBvh9serializeEPvjb.__index__, 0, 0, 0, __ZNK14btQuantizedBvh31calculateSerializeBufferSizeNewEv.__index__, 0, 0, 0, __ZNK14btQuantizedBvh9serializeEPvP12btSerializer.__index__, 0, 0, 0, __ZN14btQuantizedBvh16deSerializeFloatER23btQuantizedBvhFloatData.__index__, 0, 0, 0, __ZN14btQuantizedBvh17deSerializeDoubleER24btQuantizedBvhDoubleData.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str37 = Pointer_make([98,116,81,117,97,110,116,105,122,101,100,66,118,104,70,108,111,97,116,68,97,116,97,0] /* btQuantizedBvhFloatData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str26 = Pointer_make([98,116,66,118,104,83,117,98,116,114,101,101,73,110,102,111,68,97,116,97,0] /* btBvhSubtreeInfoData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str15 = Pointer_make([98,116,81,117,97,110,116,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0] /* btQuantizedBvhNodeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str4 = Pointer_make([98,116,79,112,116,105,109,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0] /* btOptimizedBvhNodeData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _maxIterations = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _gAddedPairs = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS28btHashedOverlappingPairCache = Pointer_make([50,56,98,116,72,97,115,104,101,100,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,0] /* 28btHashedOverlappingPairCache\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI28btHashedOverlappingPairCache = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS28btHashedOverlappingPairCache, 0, 0, 0], __ZTI22btOverlappingPairCache, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV28btHashedOverlappingPairCache = Pointer_make([ 0, 0, 0, 0, __ZTI28btHashedOverlappingPairCache, 0, 0, 0, __ZN28btHashedOverlappingPairCacheD1Ev.__index__, 0, 0, 0, __ZN28btHashedOverlappingPairCacheD0Ev.__index__, 0, 0, 0, __ZN28btHashedOverlappingPairCache18addOverlappingPairEP17btBroadphaseProxyS1_.__index__, 0, 0, 0, __ZN28btHashedOverlappingPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher.__index__, 0, 0, 0, __ZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher.__index__, 0, 0, 0, __ZN28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv.__index__, 0, 0, 0, __ZNK28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv.__index__, 0, 0, 0, __ZN28btHashedOverlappingPairCache23getOverlappingPairArrayEv.__index__, 0, 0, 0, __ZN28btHashedOverlappingPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher.__index__, 0, 0, 0, __ZNK28btHashedOverlappingPairCache22getNumOverlappingPairsEv.__index__, 0, 0, 0, __ZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher.__index__, 0, 0, 0, __ZN28btHashedOverlappingPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback.__index__, 0, 0, 0, __ZN28btHashedOverlappingPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher.__index__, 0, 0, 0, __ZN28btHashedOverlappingPairCache8findPairEP17btBroadphaseProxyS1_.__index__, 0, 0, 0, __ZN28btHashedOverlappingPairCache18hasDeferredRemovalEv.__index__, 0, 0, 0, __ZN28btHashedOverlappingPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback.__index__, 0, 0, 0, __ZN28btHashedOverlappingPairCache20sortOverlappingPairsEP12btDispatcher.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS28btSortedOverlappingPairCache = Pointer_make([50,56,98,116,83,111,114,116,101,100,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,0] /* 28btSortedOverlappingPairCache\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI28btSortedOverlappingPairCache = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS28btSortedOverlappingPairCache, 0, 0, 0], __ZTI22btOverlappingPairCache, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV28btSortedOverlappingPairCache = Pointer_make([ 0, 0, 0, 0, __ZTI28btSortedOverlappingPairCache, 0, 0, 0, __ZN28btSortedOverlappingPairCacheD1Ev.__index__, 0, 0, 0, __ZN28btSortedOverlappingPairCacheD0Ev.__index__, 0, 0, 0, __ZN28btSortedOverlappingPairCache18addOverlappingPairEP17btBroadphaseProxyS1_.__index__, 0, 0, 0, __ZN28btSortedOverlappingPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher.__index__, 0, 0, 0, __ZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher.__index__, 0, 0, 0, __ZN28btSortedOverlappingPairCache26getOverlappingPairArrayPtrEv.__index__, 0, 0, 0, __ZNK28btSortedOverlappingPairCache26getOverlappingPairArrayPtrEv.__index__, 0, 0, 0, __ZN28btSortedOverlappingPairCache23getOverlappingPairArrayEv.__index__, 0, 0, 0, __ZN28btSortedOverlappingPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher.__index__, 0, 0, 0, __ZNK28btSortedOverlappingPairCache22getNumOverlappingPairsEv.__index__, 0, 0, 0, __ZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher.__index__, 0, 0, 0, __ZN28btSortedOverlappingPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback.__index__, 0, 0, 0, __ZN28btSortedOverlappingPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher.__index__, 0, 0, 0, __ZN28btSortedOverlappingPairCache8findPairEP17btBroadphaseProxyS1_.__index__, 0, 0, 0, __ZN28btSortedOverlappingPairCache18hasDeferredRemovalEv.__index__, 0, 0, 0, __ZN28btSortedOverlappingPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback.__index__, 0, 0, 0, __ZN28btSortedOverlappingPairCache20sortOverlappingPairsEP12btDispatcher.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _gFindPairs = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback = Pointer_make([90,78,50,56,98,116,83,111,114,116,101,100,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,51,55,114,101,109,111,118,101,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,115,67,111,110,116,97,105,110,105,110,103,80,114,111,120,121,69,80,49,55,98,116,66,114,111,97,100,112,104,97,115,101,80,114,111,120,121,80,49,50,98,116,68,105,115,112,97,116,99,104,101,114,69,49,56,82,101,109,111,118,101,80,97,105,114,67,97,108,108,98,97,99,107,0] /* ZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback, 0, 0, 0], __ZTI17btOverlapCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback = Pointer_make([ 0, 0, 0, 0, __ZTIZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback, 0, 0, 0, __ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD1Ev.__index__, 0, 0, 0, __ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD0Ev.__index__, 0, 0, 0, __ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallback14processOverlapER16btBroadphasePair.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback = Pointer_make([90,78,50,56,98,116,83,111,114,116,101,100,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,49,57,99,108,101,97,110,80,114,111,120,121,70,114,111,109,80,97,105,114,115,69,80,49,55,98,116,66,114,111,97,100,112,104,97,115,101,80,114,111,120,121,80,49,50,98,116,68,105,115,112,97,116,99,104,101,114,69,49,55,67,108,101,97,110,80,97,105,114,67,97,108,108,98,97,99,107,0] /* ZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback, 0, 0, 0], __ZTI17btOverlapCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback = Pointer_make([ 0, 0, 0, 0, __ZTIZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback, 0, 0, 0, __ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD1Ev.__index__, 0, 0, 0, __ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD0Ev.__index__, 0, 0, 0, __ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallback14processOverlapER16btBroadphasePair.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _gRemovePairs = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback = Pointer_make([90,78,50,56,98,116,72,97,115,104,101,100,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,51,55,114,101,109,111,118,101,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,115,67,111,110,116,97,105,110,105,110,103,80,114,111,120,121,69,80,49,55,98,116,66,114,111,97,100,112,104,97,115,101,80,114,111,120,121,80,49,50,98,116,68,105,115,112,97,116,99,104,101,114,69,49,56,82,101,109,111,118,101,80,97,105,114,67,97,108,108,98,97,99,107,0] /* ZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback, 0, 0, 0], __ZTI17btOverlapCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback = Pointer_make([ 0, 0, 0, 0, __ZTIZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherE18RemovePairCallback, 0, 0, 0, __ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD1Ev.__index__, 0, 0, 0, __ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD0Ev.__index__, 0, 0, 0, __ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallback14processOverlapER16btBroadphasePair.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback = Pointer_make([90,78,50,56,98,116,72,97,115,104,101,100,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,49,57,99,108,101,97,110,80,114,111,120,121,70,114,111,109,80,97,105,114,115,69,80,49,55,98,116,66,114,111,97,100,112,104,97,115,101,80,114,111,120,121,80,49,50,98,116,68,105,115,112,97,116,99,104,101,114,69,49,55,67,108,101,97,110,80,97,105,114,67,97,108,108,98,97,99,107,0] /* ZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback, 0, 0, 0], __ZTI17btOverlapCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback = Pointer_make([ 0, 0, 0, 0, __ZTIZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherE17CleanPairCallback, 0, 0, 0, __ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD1Ev.__index__, 0, 0, 0, __ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD0Ev.__index__, 0, 0, 0, __ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallback14processOverlapER16btBroadphasePair.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS17btOverlapCallback = Pointer_make([49,55,98,116,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0] /* 17btOverlapCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI17btOverlapCallback = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS17btOverlapCallback, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV17btOverlapCallback = Pointer_make([ 0, 0, 0, 0, __ZTI17btOverlapCallback, 0, 0, 0, __ZN17btOverlapCallbackD1Ev.__index__, 0, 0, 0, __ZN17btOverlapCallbackD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _gOverlappingPairs = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS20btMultiSapBroadphase = Pointer_make([50,48,98,116,77,117,108,116,105,83,97,112,66,114,111,97,100,112,104,97,115,101,0] /* 20btMultiSapBroadphase\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI20btMultiSapBroadphase = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS20btMultiSapBroadphase, 0, 0, 0], __ZTI21btBroadphaseInterface, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV20btMultiSapBroadphase = Pointer_make([ 0, 0, 0, 0, __ZTI20btMultiSapBroadphase, 0, 0, 0, __ZN20btMultiSapBroadphaseD1Ev.__index__, 0, 0, 0, __ZN20btMultiSapBroadphaseD0Ev.__index__, 0, 0, 0, __ZN20btMultiSapBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_.__index__, 0, 0, 0, __ZN20btMultiSapBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher.__index__, 0, 0, 0, __ZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher.__index__, 0, 0, 0, __ZNK20btMultiSapBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_.__index__, 0, 0, 0, __ZN20btMultiSapBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZN20btMultiSapBroadphase25calculateOverlappingPairsEP12btDispatcher.__index__, 0, 0, 0, __ZN20btMultiSapBroadphase23getOverlappingPairCacheEv.__index__, 0, 0, 0, __ZNK20btMultiSapBroadphase23getOverlappingPairCacheEv.__index__, 0, 0, 0, __ZNK20btMultiSapBroadphase17getBroadphaseAabbER9btVector3S1_.__index__, 0, 0, 0, __ZN20btMultiSapBroadphase9resetPoolEP12btDispatcher.__index__, 0, 0, 0, __ZN20btMultiSapBroadphase10printStatsEv.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _stopUpdating = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherE21MyNodeOverlapCallback = Pointer_make([90,78,50,48,98,116,77,117,108,116,105,83,97,112,66,114,111,97,100,112,104,97,115,101,55,115,101,116,65,97,98,98,69,80,49,55,98,116,66,114,111,97,100,112,104,97,115,101,80,114,111,120,121,82,75,57,98,116,86,101,99,116,111,114,51,83,52,95,80,49,50,98,116,68,105,115,112,97,116,99,104,101,114,69,50,49,77,121,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0] /* ZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherE21MyNodeOverlapCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherE21MyNodeOverlapCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherE21MyNodeOverlapCallback, 0, 0, 0], __ZTI21btNodeOverlapCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherE21MyNodeOverlapCallback = Pointer_make([ 0, 0, 0, 0, __ZTIZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherE21MyNodeOverlapCallback, 0, 0, 0, __ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallbackD1Ev.__index__, 0, 0, 0, __ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallbackD0Ev.__index__, 0, 0, 0, __ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallback11processNodeEii.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS21btNodeOverlapCallback = Pointer_make([50,49,98,116,78,111,100,101,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0] /* 21btNodeOverlapCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI21btNodeOverlapCallback = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS21btNodeOverlapCallback, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV21btNodeOverlapCallback = Pointer_make([ 0, 0, 0, 0, __ZTI21btNodeOverlapCallback, 0, 0, 0, __ZN21btNodeOverlapCallbackD1Ev.__index__, 0, 0, 0, __ZN21btNodeOverlapCallbackD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheE31btMultiSapOverlapFilterCallback = Pointer_make([90,78,50,48,98,116,77,117,108,116,105,83,97,112,66,114,111,97,100,112,104,97,115,101,67,52,69,105,80,50,50,98,116,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,69,51,49,98,116,77,117,108,116,105,83,97,112,79,118,101,114,108,97,112,70,105,108,116,101,114,67,97,108,108,98,97,99,107,0] /* ZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheE31btMultiSapOverlapFilterCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheE31btMultiSapOverlapFilterCallback = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTSZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheE31btMultiSapOverlapFilterCallback, 0, 0, 0], __ZTI23btOverlapFilterCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheE31btMultiSapOverlapFilterCallback = Pointer_make([ 0, 0, 0, 0, __ZTIZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheE31btMultiSapOverlapFilterCallback, 0, 0, 0, __ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheEN31btMultiSapOverlapFilterCallbackD1Ev.__index__, 0, 0, 0, __ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheEN31btMultiSapOverlapFilterCallbackD0Ev.__index__, 0, 0, 0, __ZZN20btMultiSapBroadphaseC4EiP22btOverlappingPairCacheENK31btMultiSapOverlapFilterCallback23needBroadphaseCollisionEP17btBroadphaseProxyS4_.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS23btOverlapFilterCallback = Pointer_make([50,51,98,116,79,118,101,114,108,97,112,70,105,108,116,101,114,67,97,108,108,98,97,99,107,0] /* 23btOverlapFilterCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI23btOverlapFilterCallback = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS23btOverlapFilterCallback, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV23btOverlapFilterCallback = Pointer_make([ 0, 0, 0, 0, __ZTI23btOverlapFilterCallback, 0, 0, 0, __ZN23btOverlapFilterCallbackD1Ev.__index__, 0, 0, 0, __ZN23btOverlapFilterCallbackD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS12btDispatcher = Pointer_make([49,50,98,116,68,105,115,112,97,116,99,104,101,114,0] /* 12btDispatcher\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI12btDispatcher = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS12btDispatcher, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV12btDispatcher = Pointer_make([ 0, 0, 0, 0, __ZTI12btDispatcher, 0, 0, 0, __ZN12btDispatcherD1Ev.__index__, 0, 0, 0, __ZN12btDispatcherD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS16btDbvtBroadphase = Pointer_make([49,54,98,116,68,98,118,116,66,114,111,97,100,112,104,97,115,101,0] /* 16btDbvtBroadphase\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI16btDbvtBroadphase = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS16btDbvtBroadphase, 0, 0, 0], __ZTI21btBroadphaseInterface, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV16btDbvtBroadphase = Pointer_make([ 0, 0, 0, 0, __ZTI16btDbvtBroadphase, 0, 0, 0, __ZN16btDbvtBroadphaseD1Ev.__index__, 0, 0, 0, __ZN16btDbvtBroadphaseD0Ev.__index__, 0, 0, 0, __ZN16btDbvtBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_.__index__, 0, 0, 0, __ZN16btDbvtBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher.__index__, 0, 0, 0, __ZN16btDbvtBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher.__index__, 0, 0, 0, __ZNK16btDbvtBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_.__index__, 0, 0, 0, __ZN16btDbvtBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_.__index__, 0, 0, 0, __ZN16btDbvtBroadphase8aabbTestERK9btVector3S2_R24btBroadphaseAabbCallback.__index__, 0, 0, 0, __ZN16btDbvtBroadphase25calculateOverlappingPairsEP12btDispatcher.__index__, 0, 0, 0, __ZN16btDbvtBroadphase23getOverlappingPairCacheEv.__index__, 0, 0, 0, __ZNK16btDbvtBroadphase23getOverlappingPairCacheEv.__index__, 0, 0, 0, __ZNK16btDbvtBroadphase17getBroadphaseAabbER9btVector3S1_.__index__, 0, 0, 0, __ZN16btDbvtBroadphase9resetPoolEP12btDispatcher.__index__, 0, 0, 0, __ZN16btDbvtBroadphase10printStatsEv.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS20BroadphaseAabbTester = Pointer_make([50,48,66,114,111,97,100,112,104,97,115,101,65,97,98,98,84,101,115,116,101,114,0] /* 20BroadphaseAabbTester\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI20BroadphaseAabbTester = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS20BroadphaseAabbTester, 0, 0, 0], __ZTIN6btDbvt8ICollideE, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV20BroadphaseAabbTester = Pointer_make([ 0, 0, 0, 0, __ZTI20BroadphaseAabbTester, 0, 0, 0, __ZN20BroadphaseAabbTesterD1Ev.__index__, 0, 0, 0, __ZN20BroadphaseAabbTesterD0Ev.__index__, 0, 0, 0, __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodeS3_.__index__, 0, 0, 0, __ZN20BroadphaseAabbTester7ProcessEPK10btDbvtNode.__index__, 0, 0, 0, __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodef.__index__, 0, 0, 0, __ZN6btDbvt8ICollide7DescentEPK10btDbvtNode.__index__, 0, 0, 0, __ZN6btDbvt8ICollide9AllLeavesEPK10btDbvtNode.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS19BroadphaseRayTester = Pointer_make([49,57,66,114,111,97,100,112,104,97,115,101,82,97,121,84,101,115,116,101,114,0] /* 19BroadphaseRayTester\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI19BroadphaseRayTester = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS19BroadphaseRayTester, 0, 0, 0], __ZTIN6btDbvt8ICollideE, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV19BroadphaseRayTester = Pointer_make([ 0, 0, 0, 0, __ZTI19BroadphaseRayTester, 0, 0, 0, __ZN19BroadphaseRayTesterD1Ev.__index__, 0, 0, 0, __ZN19BroadphaseRayTesterD0Ev.__index__, 0, 0, 0, __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodeS3_.__index__, 0, 0, 0, __ZN19BroadphaseRayTester7ProcessEPK10btDbvtNode.__index__, 0, 0, 0, __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodef.__index__, 0, 0, 0, __ZN6btDbvt8ICollide7DescentEPK10btDbvtNode.__index__, 0, 0, 0, __ZN6btDbvt8ICollide9AllLeavesEPK10btDbvtNode.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS18btDbvtTreeCollider = Pointer_make([49,56,98,116,68,98,118,116,84,114,101,101,67,111,108,108,105,100,101,114,0] /* 18btDbvtTreeCollider\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI18btDbvtTreeCollider = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS18btDbvtTreeCollider, 0, 0, 0], __ZTIN6btDbvt8ICollideE, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV18btDbvtTreeCollider = Pointer_make([ 0, 0, 0, 0, __ZTI18btDbvtTreeCollider, 0, 0, 0, __ZN18btDbvtTreeColliderD1Ev.__index__, 0, 0, 0, __ZN18btDbvtTreeColliderD0Ev.__index__, 0, 0, 0, __ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNodeS2_.__index__, 0, 0, 0, __ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNode.__index__, 0, 0, 0, __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodef.__index__, 0, 0, 0, __ZN6btDbvt8ICollide7DescentEPK10btDbvtNode.__index__, 0, 0, 0, __ZN6btDbvt8ICollide9AllLeavesEPK10btDbvtNode.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis = Pointer_make([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZGVZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEiE4axis = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS20btDbvtNodeEnumerator = Pointer_make([50,48,98,116,68,98,118,116,78,111,100,101,69,110,117,109,101,114,97,116,111,114,0] /* 20btDbvtNodeEnumerator\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI20btDbvtNodeEnumerator = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS20btDbvtNodeEnumerator, 0, 0, 0], __ZTIN6btDbvt8ICollideE, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV20btDbvtNodeEnumerator = Pointer_make([ 0, 0, 0, 0, __ZTI20btDbvtNodeEnumerator, 0, 0, 0, __ZN20btDbvtNodeEnumeratorD1Ev.__index__, 0, 0, 0, __ZN20btDbvtNodeEnumeratorD0Ev.__index__, 0, 0, 0, __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodeS3_.__index__, 0, 0, 0, __ZN20btDbvtNodeEnumerator7ProcessEPK10btDbvtNode.__index__, 0, 0, 0, __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodef.__index__, 0, 0, 0, __ZN6btDbvt8ICollide7DescentEPK10btDbvtNode.__index__, 0, 0, 0, __ZN6btDbvt8ICollide9AllLeavesEPK10btDbvtNode.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTSN6btDbvt8ICollideE = Pointer_make([78,54,98,116,68,98,118,116,56,73,67,111,108,108,105,100,101,69,0] /* N6btDbvt8ICollideE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTIN6btDbvt8ICollideE = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTSN6btDbvt8ICollideE, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTVN6btDbvt8ICollideE = Pointer_make([ 0, 0, 0, 0, __ZTIN6btDbvt8ICollideE, 0, 0, 0, __ZN6btDbvt8ICollideD1Ev.__index__, 0, 0, 0, __ZN6btDbvt8ICollideD0Ev.__index__, 0, 0, 0, __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodeS3_.__index__, 0, 0, 0, __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNode.__index__, 0, 0, 0, __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodef.__index__, 0, 0, 0, __ZN6btDbvt8ICollide7DescentEPK10btDbvtNode.__index__, 0, 0, 0, __ZN6btDbvt8ICollide9AllLeavesEPK10btDbvtNode.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS20btCollisionAlgorithm = Pointer_make([50,48,98,116,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0] /* 20btCollisionAlgorithm\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI20btCollisionAlgorithm = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS20btCollisionAlgorithm, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV20btCollisionAlgorithm = Pointer_make([ 0, 0, 0, 0, __ZTI20btCollisionAlgorithm, 0, 0, 0, __ZN20btCollisionAlgorithmD1Ev.__index__, 0, 0, 0, __ZN20btCollisionAlgorithmD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS15btNullPairCache = Pointer_make([49,53,98,116,78,117,108,108,80,97,105,114,67,97,99,104,101,0] /* 15btNullPairCache\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI15btNullPairCache = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS15btNullPairCache, 0, 0, 0], __ZTI22btOverlappingPairCache, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV15btNullPairCache = Pointer_make([ 0, 0, 0, 0, __ZTI15btNullPairCache, 0, 0, 0, __ZN15btNullPairCacheD1Ev.__index__, 0, 0, 0, __ZN15btNullPairCacheD0Ev.__index__, 0, 0, 0, __ZN15btNullPairCache18addOverlappingPairEP17btBroadphaseProxyS1_.__index__, 0, 0, 0, __ZN15btNullPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher.__index__, 0, 0, 0, __ZN15btNullPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher.__index__, 0, 0, 0, __ZN15btNullPairCache26getOverlappingPairArrayPtrEv.__index__, 0, 0, 0, __ZNK15btNullPairCache26getOverlappingPairArrayPtrEv.__index__, 0, 0, 0, __ZN15btNullPairCache23getOverlappingPairArrayEv.__index__, 0, 0, 0, __ZN15btNullPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher.__index__, 0, 0, 0, __ZNK15btNullPairCache22getNumOverlappingPairsEv.__index__, 0, 0, 0, __ZN15btNullPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher.__index__, 0, 0, 0, __ZN15btNullPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback.__index__, 0, 0, 0, __ZN15btNullPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher.__index__, 0, 0, 0, __ZN15btNullPairCache8findPairEP17btBroadphaseProxyS1_.__index__, 0, 0, 0, __ZN15btNullPairCache18hasDeferredRemovalEv.__index__, 0, 0, 0, __ZN15btNullPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback.__index__, 0, 0, 0, __ZN15btNullPairCache20sortOverlappingPairsEP12btDispatcher.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS12btAxisSweep3 = Pointer_make([49,50,98,116,65,120,105,115,83,119,101,101,112,51,0] /* 12btAxisSweep3\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI12btAxisSweep3 = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS12btAxisSweep3, 0, 0, 0], __ZTI20btAxisSweep3InternalItE, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV12btAxisSweep3 = Pointer_make([ 0, 0, 0, 0, __ZTI12btAxisSweep3, 0, 0, 0, __ZN12btAxisSweep3D1Ev.__index__, 0, 0, 0, __ZN12btAxisSweep3D0Ev.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalItE11createProxyERK9btVector3S3_iPvssP12btDispatcherS4_.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalItE12destroyProxyEP17btBroadphaseProxyP12btDispatcher.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalItE7setAabbEP17btBroadphaseProxyRK9btVector3S5_P12btDispatcher.__index__, 0, 0, 0, __ZNK20btAxisSweep3InternalItE7getAabbEP17btBroadphaseProxyR9btVector3S4_.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalItE7rayTestERK9btVector3S3_R23btBroadphaseRayCallbackS3_S3_.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalItE8aabbTestERK9btVector3S3_R24btBroadphaseAabbCallback.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalItE25calculateOverlappingPairsEP12btDispatcher.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalItE23getOverlappingPairCacheEv.__index__, 0, 0, 0, __ZNK20btAxisSweep3InternalItE23getOverlappingPairCacheEv.__index__, 0, 0, 0, __ZNK20btAxisSweep3InternalItE17getBroadphaseAabbER9btVector3S2_.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalItE9resetPoolEP12btDispatcher.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalItE10printStatsEv.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS20btAxisSweep3InternalItE = Pointer_make([50,48,98,116,65,120,105,115,83,119,101,101,112,51,73,110,116,101,114,110,97,108,73,116,69,0] /* 20btAxisSweep3InternalItE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI20btAxisSweep3InternalItE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS20btAxisSweep3InternalItE, 0, 0, 0], __ZTI21btBroadphaseInterface, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV20btAxisSweep3InternalItE = Pointer_make([ 0, 0, 0, 0, __ZTI20btAxisSweep3InternalItE, 0, 0, 0, __ZN20btAxisSweep3InternalItED1Ev.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalItED0Ev.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalItE11createProxyERK9btVector3S3_iPvssP12btDispatcherS4_.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalItE12destroyProxyEP17btBroadphaseProxyP12btDispatcher.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalItE7setAabbEP17btBroadphaseProxyRK9btVector3S5_P12btDispatcher.__index__, 0, 0, 0, __ZNK20btAxisSweep3InternalItE7getAabbEP17btBroadphaseProxyR9btVector3S4_.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalItE7rayTestERK9btVector3S3_R23btBroadphaseRayCallbackS3_S3_.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalItE8aabbTestERK9btVector3S3_R24btBroadphaseAabbCallback.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalItE25calculateOverlappingPairsEP12btDispatcher.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalItE23getOverlappingPairCacheEv.__index__, 0, 0, 0, __ZNK20btAxisSweep3InternalItE23getOverlappingPairCacheEv.__index__, 0, 0, 0, __ZNK20btAxisSweep3InternalItE17getBroadphaseAabbER9btVector3S2_.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalItE9resetPoolEP12btDispatcher.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalItE10printStatsEv.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS17bt32BitAxisSweep3 = Pointer_make([49,55,98,116,51,50,66,105,116,65,120,105,115,83,119,101,101,112,51,0] /* 17bt32BitAxisSweep3\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI17bt32BitAxisSweep3 = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS17bt32BitAxisSweep3, 0, 0, 0], __ZTI20btAxisSweep3InternalIjE, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV17bt32BitAxisSweep3 = Pointer_make([ 0, 0, 0, 0, __ZTI17bt32BitAxisSweep3, 0, 0, 0, __ZN17bt32BitAxisSweep3D1Ev.__index__, 0, 0, 0, __ZN17bt32BitAxisSweep3D0Ev.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalIjE11createProxyERK9btVector3S3_iPvssP12btDispatcherS4_.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalIjE12destroyProxyEP17btBroadphaseProxyP12btDispatcher.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalIjE7setAabbEP17btBroadphaseProxyRK9btVector3S5_P12btDispatcher.__index__, 0, 0, 0, __ZNK20btAxisSweep3InternalIjE7getAabbEP17btBroadphaseProxyR9btVector3S4_.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalIjE7rayTestERK9btVector3S3_R23btBroadphaseRayCallbackS3_S3_.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalIjE8aabbTestERK9btVector3S3_R24btBroadphaseAabbCallback.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalIjE25calculateOverlappingPairsEP12btDispatcher.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalIjE23getOverlappingPairCacheEv.__index__, 0, 0, 0, __ZNK20btAxisSweep3InternalIjE23getOverlappingPairCacheEv.__index__, 0, 0, 0, __ZNK20btAxisSweep3InternalIjE17getBroadphaseAabbER9btVector3S2_.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalIjE9resetPoolEP12btDispatcher.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalIjE10printStatsEv.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS20btAxisSweep3InternalIjE = Pointer_make([50,48,98,116,65,120,105,115,83,119,101,101,112,51,73,110,116,101,114,110,97,108,73,106,69,0] /* 20btAxisSweep3InternalIjE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI20btAxisSweep3InternalIjE = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS20btAxisSweep3InternalIjE, 0, 0, 0], __ZTI21btBroadphaseInterface, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV20btAxisSweep3InternalIjE = Pointer_make([ 0, 0, 0, 0, __ZTI20btAxisSweep3InternalIjE, 0, 0, 0, __ZN20btAxisSweep3InternalIjED1Ev.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalIjED0Ev.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalIjE11createProxyERK9btVector3S3_iPvssP12btDispatcherS4_.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalIjE12destroyProxyEP17btBroadphaseProxyP12btDispatcher.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalIjE7setAabbEP17btBroadphaseProxyRK9btVector3S5_P12btDispatcher.__index__, 0, 0, 0, __ZNK20btAxisSweep3InternalIjE7getAabbEP17btBroadphaseProxyR9btVector3S4_.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalIjE7rayTestERK9btVector3S3_R23btBroadphaseRayCallbackS3_S3_.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalIjE8aabbTestERK9btVector3S3_R24btBroadphaseAabbCallback.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalIjE25calculateOverlappingPairsEP12btDispatcher.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalIjE23getOverlappingPairCacheEv.__index__, 0, 0, 0, __ZNK20btAxisSweep3InternalIjE23getOverlappingPairCacheEv.__index__, 0, 0, 0, __ZNK20btAxisSweep3InternalIjE17getBroadphaseAabbER9btVector3S2_.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalIjE9resetPoolEP12btDispatcher.__index__, 0, 0, 0, __ZN20btAxisSweep3InternalIjE10printStatsEv.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS22btOverlappingPairCache = Pointer_make([50,50,98,116,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,99,104,101,0] /* 22btOverlappingPairCache\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI22btOverlappingPairCache = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS22btOverlappingPairCache, 0, 0, 0], __ZTI25btOverlappingPairCallback, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV22btOverlappingPairCache = Pointer_make([ 0, 0, 0, 0, __ZTI22btOverlappingPairCache, 0, 0, 0, __ZN22btOverlappingPairCacheD1Ev.__index__, 0, 0, 0, __ZN22btOverlappingPairCacheD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS25btOverlappingPairCallback = Pointer_make([50,53,98,116,79,118,101,114,108,97,112,112,105,110,103,80,97,105,114,67,97,108,108,98,97,99,107,0] /* 25btOverlappingPairCallback\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI25btOverlappingPairCallback = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS25btOverlappingPairCallback, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV25btOverlappingPairCallback = Pointer_make([ 0, 0, 0, 0, __ZTI25btOverlappingPairCallback, 0, 0, 0, __ZN25btOverlappingPairCallbackD1Ev.__index__, 0, 0, 0, __ZN25btOverlappingPairCallbackD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS21btBroadphaseInterface = Pointer_make([50,49,98,116,66,114,111,97,100,112,104,97,115,101,73,110,116,101,114,102,97,99,101,0] /* 21btBroadphaseInterface\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI21btBroadphaseInterface = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS21btBroadphaseInterface, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV21btBroadphaseInterface = Pointer_make([ 0, 0, 0, 0, __ZTI21btBroadphaseInterface, 0, 0, 0, __ZN21btBroadphaseInterfaceD1Ev.__index__, 0, 0, 0, __ZN21btBroadphaseInterfaceD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZN21btBroadphaseInterface9resetPoolEP12btDispatcher.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str3 = Pointer_make([119,111,114,108,100,32,112,111,115,32,61,32,37,46,53,102,44,37,46,53,102,44,37,46,53,102,10,0] /* world pos = %.5f,%.5f,%.5f\0A\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZN11btTransform11getIdentityEvE17identityTransform = Pointer_make([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZZN11btMatrix3x311getIdentityEvE14identityMatrix = Pointer_make([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS9btHashMapI9btHashInt14btTriangleInfoE = Pointer_make([57,98,116,72,97,115,104,77,97,112,73,57,98,116,72,97,115,104,73,110,116,49,52,98,116,84,114,105,97,110,103,108,101,73,110,102,111,69,0] /* 9btHashMapI9btHashInt14btTriangleInfoE\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI9btHashMapI9btHashInt14btTriangleInfoE = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS9btHashMapI9btHashInt14btTriangleInfoE, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS17btTriangleInfoMap = Pointer_make([49,55,98,116,84,114,105,97,110,103,108,101,73,110,102,111,77,97,112,0] /* 17btTriangleInfoMap\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI17btTriangleInfoMap = Pointer_make([ [(__ZTVN10__cxxabiv121__vmi_class_type_infoE + 8), 0, 0, 0, __ZTS17btTriangleInfoMap, 0, 0, 0], 0, 0, 0, 0, 1, 0, 0, 0, [[__ZTI9btHashMapI9btHashInt14btTriangleInfoE, 0, 0, 0, 1026, 0, 0, 0]] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV17btTriangleInfoMap = Pointer_make([ 0, 0, 0, 0, __ZTI17btTriangleInfoMap, 0, 0, 0, __ZN17btTriangleInfoMapD1Ev.__index__, 0, 0, 0, __ZN17btTriangleInfoMapD0Ev.__index__, 0, 0, 0, __ZNK17btTriangleInfoMap28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK17btTriangleInfoMap9serializeEPvP12btSerializer.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { _llvm_eh_catch_all_value = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS13btTypedObject = Pointer_make([49,51,98,116,84,121,112,101,100,79,98,106,101,99,116,0] /* 13btTypedObject\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI13btTypedObject = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS13btTypedObject, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS17btTypedConstraint = Pointer_make([49,55,98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116,0] /* 17btTypedConstraint\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI17btTypedConstraint = Pointer_make([ [(__ZTVN10__cxxabiv121__vmi_class_type_infoE + 8), 0, 0, 0, __ZTS17btTypedConstraint, 0, 0, 0], 0, 0, 0, 0, 1, 0, 0, 0, [[__ZTI13btTypedObject, 0, 0, 0, 1026, 0, 0, 0]] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV17btTypedConstraint = Pointer_make([ 0, 0, 0, 0, __ZTI17btTypedConstraint, 0, 0, 0, __ZN17btTypedConstraintD1Ev.__index__, 0, 0, 0, __ZN17btTypedConstraintD0Ev.__index__, 0, 0, 0, __ZN17btTypedConstraint13buildJacobianEv.__index__, 0, 0, 0, __ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZN17btTypedConstraint23solveConstraintObsoleteER11btRigidBodyS1_f.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, __ZNK17btTypedConstraint28calculateSerializeBufferSizeEv.__index__, 0, 0, 0, __ZNK17btTypedConstraint9serializeEPvP12btSerializer.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str2 = Pointer_make([98,116,84,114,105,97,110,103,108,101,73,110,102,111,77,97,112,68,97,116,97,0] /* btTriangleInfoMapData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str1 = Pointer_make([98,116,84,114,105,97,110,103,108,101,73,110,102,111,68,97,116,97,0] /* btTriangleInfoData\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __str = Pointer_make([105,110,116,0] /* int\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS20btDefaultMotionState = Pointer_make([50,48,98,116,68,101,102,97,117,108,116,77,111,116,105,111,110,83,116,97,116,101,0] /* 20btDefaultMotionState\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI20btDefaultMotionState = Pointer_make([ [(__ZTVN10__cxxabiv120__si_class_type_infoE + 8), 0, 0, 0, __ZTS20btDefaultMotionState, 0, 0, 0], __ZTI13btMotionState, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV20btDefaultMotionState = Pointer_make([ 0, 0, 0, 0, __ZTI20btDefaultMotionState, 0, 0, 0, __ZN20btDefaultMotionStateD1Ev.__index__, 0, 0, 0, __ZN20btDefaultMotionStateD0Ev.__index__, 0, 0, 0, __ZNK20btDefaultMotionState17getWorldTransformER11btTransform.__index__, 0, 0, 0, __ZN20btDefaultMotionState17setWorldTransformERK11btTransform.__index__, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTS13btMotionState = Pointer_make([49,51,98,116,77,111,116,105,111,110,83,116,97,116,101,0] /* 13btMotionState\00*/, 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTI13btMotionState = Pointer_make([ [(__ZTVN10__cxxabiv117__class_type_infoE + 8), 0, 0, 0, __ZTS13btMotionState, 0, 0, 0] ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZTV13btMotionState = Pointer_make([ 0, 0, 0, 0, __ZTI13btMotionState, 0, 0, 0, __ZN13btMotionStateD1Ev.__index__, 0, 0, 0, __ZN13btMotionStateD0Ev.__index__, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0, ___cxa_pure_virtual, 0, 0, 0 ], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZGVZN11btTransform11getIdentityEvE17identityTransform = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZGVZN11btMatrix3x311getIdentityEvE14identityMatrix = Pointer_make([0], 0, ALLOC_STATIC) });
    globalFuncs.push(function() { __ZGVZN12btQuaternion11getIdentityEvE12identityQuat = Pointer_make([0], 0, ALLOC_STATIC) });
  
    var counter = Math.pow(globalFuncs.length,2)+1;
    while (globalFuncs.length > 0 && counter >= 0) {
      counter--;
      var func = globalFuncs.pop();
      try {
        func();
      } catch (e) {
        globalFuncs.unshift(func);
        // We will try again later. The global vars we depend on should be resolved by then
        // XXX: We leak here, as we malloc, then fail and catch...
      }
    }
  
    var argc = args.length+1;
    function pad() {
      for (var i = 0; i < 4-1; i++) {
        argv.push(0);
      }
    }
    var argv = [Pointer_make(intArrayFromString("/bin/this.program"), null) ];
    pad();
    for (var i = 0; i < argc-1; i = i + 1) {
      argv.push(Pointer_make(intArrayFromString(args[i]), null));
      pad();
    }
    argv = Pointer_make(argv, null);
  
    __globalConstructor__();
  
    //_main(argc, argv);
  
    /*while( __ATEXIT__.length > 0) {
      var func = __ATEXIT__.pop();
      if (typeof func === 'number') {
        func = FUNCTION_TABLE[func];
      }
      func();
    }*/
  }
  
  run(args);
  
  
  Module['_'] = {
  "BT_BOX_BOX_TRANSFORM_CACHE": {
    "calc_from_homogenic": __ZN26BT_BOX_BOX_TRANSFORM_CACHE19calc_from_homogenicERK11btTransformS2_, 
    "calc_from_homogenic__params": "btTransform const&, btTransform const&"
  }, 
  "BroadphaseAabbTester": {
    "Process": __ZN20BroadphaseAabbTester7ProcessEPK10btDbvtNode, 
    "Process__params": "btDbvtNode const*", 
    "~BroadphaseAabbTester": __ZN20BroadphaseAabbTesterD1Ev, 
    "~BroadphaseAabbTester_1": __ZN20BroadphaseAabbTesterD0Ev, 
    "~BroadphaseAabbTester_1__params": "", 
    "~BroadphaseAabbTester__params": ""
  }, 
  "BroadphaseRayTester": {
    "Process": __ZN19BroadphaseRayTester7ProcessEPK10btDbvtNode, 
    "Process__params": "btDbvtNode const*", 
    "~BroadphaseRayTester": __ZN19BroadphaseRayTesterD1Ev, 
    "~BroadphaseRayTester_1": __ZN19BroadphaseRayTesterD0Ev, 
    "~BroadphaseRayTester_1__params": "", 
    "~BroadphaseRayTester__params": ""
  }, 
  "CProfileIterator": {
    "CProfileIterator": __ZN16CProfileIteratorC2EP12CProfileNode, 
    "CProfileIterator_1": __ZN16CProfileIteratorC1EP12CProfileNode, 
    "CProfileIterator_1__params": "CProfileNode*", 
    "CProfileIterator__params": "CProfileNode*", 
    "Enter_Child": __ZN16CProfileIterator11Enter_ChildEi, 
    "Enter_Child__params": "int", 
    "Enter_Parent": __ZN16CProfileIterator12Enter_ParentEv, 
    "Enter_Parent__params": "", 
    "First": __ZN16CProfileIterator5FirstEv, 
    "First__params": "", 
    "Is_Done": __ZN16CProfileIterator7Is_DoneEv, 
    "Is_Done__params": "", 
    "Next": __ZN16CProfileIterator4NextEv, 
    "Next__params": "", 
    "__new__": function() { var ret = _malloc(_struct_CProfileIterator___SIZE); Module._.CProfileIterator.CProfileIterator.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_CProfileIterator___SIZE); Module._.CProfileIterator.CProfileIterator_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }
  }, 
  "CProfileManager": {
    "Get_Time_Since_Reset": __ZN15CProfileManager20Get_Time_Since_ResetEv, 
    "Get_Time_Since_Reset__params": "", 
    "Increment_Frame_Counter": __ZN15CProfileManager23Increment_Frame_CounterEv, 
    "Increment_Frame_Counter__params": "", 
    "Reset": __ZN15CProfileManager5ResetEv, 
    "Reset__params": "", 
    "Start_Profile": __ZN15CProfileManager13Start_ProfileEPKc, 
    "Start_Profile__params": "char const*", 
    "Stop_Profile": __ZN15CProfileManager12Stop_ProfileEv, 
    "Stop_Profile__params": "", 
    "dumpAll": __ZN15CProfileManager7dumpAllEv, 
    "dumpAll__params": "", 
    "dumpRecursive": __ZN15CProfileManager13dumpRecursiveEP16CProfileIteratori, 
    "dumpRecursive__params": "CProfileIterator*, int"
  }, 
  "CProfileNode": {
    "CProfileNode": __ZN12CProfileNodeC1EPKcPS_, 
    "CProfileNode_1": __ZN12CProfileNodeC2EPKcPS_, 
    "CProfileNode_1__params": "char const*, CProfileNode*", 
    "CProfileNode__params": "char const*, CProfileNode*", 
    "Call": __ZN12CProfileNode4CallEv, 
    "Call__params": "", 
    "CleanupMemory": __ZN12CProfileNode13CleanupMemoryEv, 
    "CleanupMemory__params": "", 
    "Get_Sub_Node": __ZN12CProfileNode12Get_Sub_NodeEPKc, 
    "Get_Sub_Node__params": "char const*", 
    "Reset": __ZN12CProfileNode5ResetEv, 
    "Reset__params": "", 
    "Return": __ZN12CProfileNode6ReturnEv, 
    "Return__params": "", 
    "__new__": function() { var ret = _malloc(_struct_CProfileNode___SIZE); Module._.CProfileNode.CProfileNode.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_CProfileNode___SIZE); Module._.CProfileNode.CProfileNode_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "~CProfileNode": __ZN12CProfileNodeD1Ev, 
    "~CProfileNode_1": __ZN12CProfileNodeD2Ev, 
    "~CProfileNode_1__params": "", 
    "~CProfileNode__params": ""
  }, 
  "ClipSegmentToLine": __ZL17ClipSegmentToLineP10ClipVertexS0_RK9btVector3f, 
  "ClipSegmentToLine__params": "ClipVertex*, ClipVertex*, btVector3 const&, float", 
  "ConvexH": {
    "ConvexH": __ZN7ConvexHC1Eiii, 
    "ConvexH_1": __ZN7ConvexHC2Eiii, 
    "ConvexH_1__params": "int, int, int", 
    "ConvexH__params": "int, int, int", 
    "__new__": function() { var ret = _malloc(_struct_ConvexH___SIZE); Module._.ConvexH.ConvexH.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_ConvexH___SIZE); Module._.ConvexH.ConvexH_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }
  }, 
  "DebugDrawcallback": {
    "internalProcessTriangleIndex": __ZN17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii, 
    "internalProcessTriangleIndex__params": "btVector3*, int, int", 
    "processTriangle": __ZN17DebugDrawcallback15processTriangleEP9btVector3ii, 
    "processTriangle__params": "btVector3*, int, int", 
    "~DebugDrawcallback": __ZN17DebugDrawcallbackD1Ev, 
    "~DebugDrawcallback_1": __ZN17DebugDrawcallbackD0Ev, 
    "~DebugDrawcallback_1__params": "", 
    "~DebugDrawcallback__params": ""
  }, 
  "DistanceBetweenLines": __Z20DistanceBetweenLinesRK9btVector3S1_S1_S1_PS_S2_, 
  "DistanceBetweenLines__params": "btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&, btVector3*, btVector3*", 
  "EdgeSeparation": __ZL14EdgeSeparationPK12btBox2dShapeRK11btTransformiS1_S4_, 
  "EdgeSeparation__params": "btBox2dShape const*, btTransform const&, int, btBox2dShape const*, btTransform const&", 
  "FindMaxSeparation": __ZL17FindMaxSeparationPiPK12btBox2dShapeRK11btTransformS2_S5_, 
  "FindMaxSeparation__params": "int*, btBox2dShape const*, btTransform const&, btBox2dShape const*, btTransform const&", 
  "GIM_BOX_TREE": {
    "_build_sub_tree": __ZN12GIM_BOX_TREE15_build_sub_treeER9gim_arrayI13GIM_AABB_DATAEjj, 
    "_build_sub_tree__params": "gim_array<GIM_AABB_DATA>&, unsigned int, unsigned int", 
    "_calc_splitting_axis": __ZN12GIM_BOX_TREE20_calc_splitting_axisER9gim_arrayI13GIM_AABB_DATAEjj, 
    "_calc_splitting_axis__params": "gim_array<GIM_AABB_DATA>&, unsigned int, unsigned int", 
    "_sort_and_calc_splitting_index": __ZN12GIM_BOX_TREE30_sort_and_calc_splitting_indexER9gim_arrayI13GIM_AABB_DATAEjjj, 
    "_sort_and_calc_splitting_index__params": "gim_array<GIM_AABB_DATA>&, unsigned int, unsigned int, unsigned int", 
    "build_tree": __ZN12GIM_BOX_TREE10build_treeER9gim_arrayI13GIM_AABB_DATAE, 
    "build_tree__params": "gim_array<GIM_AABB_DATA>&"
  }, 
  "GIM_STANDARD_ALLOCATOR": {
    "~GIM_STANDARD_ALLOCATOR": __ZN22GIM_STANDARD_ALLOCATORD1Ev, 
    "~GIM_STANDARD_ALLOCATOR_1": __ZN22GIM_STANDARD_ALLOCATORD0Ev, 
    "~GIM_STANDARD_ALLOCATOR_1__params": "", 
    "~GIM_STANDARD_ALLOCATOR__params": ""
  }, 
  "GIM_ShapeRetriever": {
    "ChildShapeRetriever": {
      "getChildShape": __ZN18GIM_ShapeRetriever19ChildShapeRetriever13getChildShapeEi, 
      "getChildShape__params": "int", 
      "~ChildShapeRetriever": __ZN18GIM_ShapeRetriever19ChildShapeRetrieverD1Ev, 
      "~ChildShapeRetriever_1": __ZN18GIM_ShapeRetriever19ChildShapeRetrieverD0Ev, 
      "~ChildShapeRetriever_1__params": "", 
      "~ChildShapeRetriever__params": ""
    }, 
    "GIM_ShapeRetriever": __ZN18GIM_ShapeRetrieverC2EP23btGImpactShapeInterface, 
    "GIM_ShapeRetriever__params": "btGImpactShapeInterface*", 
    "TetraShapeRetriever": {
      "getChildShape": __ZN18GIM_ShapeRetriever19TetraShapeRetriever13getChildShapeEi, 
      "getChildShape__params": "int", 
      "~TetraShapeRetriever": __ZN18GIM_ShapeRetriever19TetraShapeRetrieverD1Ev, 
      "~TetraShapeRetriever_1": __ZN18GIM_ShapeRetriever19TetraShapeRetrieverD0Ev, 
      "~TetraShapeRetriever_1__params": "", 
      "~TetraShapeRetriever__params": ""
    }, 
    "TriangleShapeRetriever": {
      "getChildShape": __ZN18GIM_ShapeRetriever22TriangleShapeRetriever13getChildShapeEi, 
      "getChildShape__params": "int", 
      "~TriangleShapeRetriever": __ZN18GIM_ShapeRetriever22TriangleShapeRetrieverD1Ev, 
      "~TriangleShapeRetriever_1": __ZN18GIM_ShapeRetriever22TriangleShapeRetrieverD0Ev, 
      "~TriangleShapeRetriever_1__params": "", 
      "~TriangleShapeRetriever__params": ""
    }, 
    "__new__": function() { var ret = _malloc(_struct_GIM_ShapeRetriever___SIZE); Module._.GIM_ShapeRetriever.GIM_ShapeRetriever.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }
  }, 
  "GIM_TRIANGLE": {
    "collide_triangle_hard_test": __ZNK12GIM_TRIANGLE26collide_triangle_hard_testERKS_R25GIM_TRIANGLE_CONTACT_DATA, 
    "collide_triangle_hard_test__params": "GIM_TRIANGLE const&, GIM_TRIANGLE_CONTACT_DATA&"
  }, 
  "GIM_TRIANGLE_CALCULATION_CACHE": {
    "clip_triangle": __ZN30GIM_TRIANGLE_CALCULATION_CACHE13clip_triangleERK9btVector4PK9btVector3S5_PS3_, 
    "clip_triangle__params": "btVector4 const&, btVector3 const*, btVector3 const*, btVector3*", 
    "triangle_collision": __ZN30GIM_TRIANGLE_CALCULATION_CACHE18triangle_collisionERK9btVector3S2_S2_fS2_S2_S2_fR25GIM_TRIANGLE_CONTACT_DATA, 
    "triangle_collision__params": "btVector3 const&, btVector3 const&, btVector3 const&, float, btVector3 const&, btVector3 const&, btVector3 const&, float, GIM_TRIANGLE_CONTACT_DATA&"
  }, 
  "GIM_TRIANGLE_CONTACT": {
    "merge_points": __ZN20GIM_TRIANGLE_CONTACT12merge_pointsERK9btVector4fPK9btVector3i, 
    "merge_points__params": "btVector4 const&, float, btVector3 const*, int"
  }, 
  "GIM_TRIANGLE_CONTACT_DATA": {
    "merge_points": __ZN25GIM_TRIANGLE_CONTACT_DATA12merge_pointsERK9btVector4fPK9btVector3j, 
    "merge_points__params": "btVector4 const&, float, btVector3 const*, unsigned int"
  }, 
  "GetDist": __Z7GetDistfffPKf, 
  "GetDist__params": "float, float, float, float const*", 
  "HullLibrary": {
    "BringOutYourDead": __ZN11HullLibrary16BringOutYourDeadEPK9btVector3jPS0_RjPjj, 
    "BringOutYourDead__params": "btVector3 const*, unsigned int, btVector3*, unsigned int&, unsigned int*, unsigned int", 
    "CleanupVertices": __ZN11HullLibrary15CleanupVerticesEjPK9btVector3jRjPS0_fRS0_, 
    "CleanupVertices__params": "unsigned int, btVector3 const*, unsigned int, unsigned int&, btVector3*, float, btVector3&", 
    "ComputeHull": __ZN11HullLibrary11ComputeHullEjPK9btVector3R11PHullResultj, 
    "ComputeHull__params": "unsigned int, btVector3 const*, PHullResult&, unsigned int", 
    "CreateConvexHull": __ZN11HullLibrary16CreateConvexHullERK8HullDescR10HullResult, 
    "CreateConvexHull__params": "HullDesc const&, HullResult&", 
    "FindSimplex": __ZN11HullLibrary11FindSimplexEP9btVector3iR20btAlignedObjectArrayIiE, 
    "FindSimplex__params": "btVector3*, int, btAlignedObjectArray<int>&", 
    "ReleaseResult": __ZN11HullLibrary13ReleaseResultER10HullResult, 
    "ReleaseResult__params": "HullResult&", 
    "allocateTriangle": __ZN11HullLibrary16allocateTriangleEiii, 
    "allocateTriangle__params": "int, int, int", 
    "b2bfix": __ZN11HullLibrary6b2bfixEP14btHullTriangleS1_, 
    "b2bfix__params": "btHullTriangle*, btHullTriangle*", 
    "calchull": __ZN11HullLibrary8calchullEP9btVector3iR20btAlignedObjectArrayIjERii, 
    "calchull__params": "btVector3*, int, btAlignedObjectArray<unsigned int>&, int&, int", 
    "calchullgen": __ZN11HullLibrary11calchullgenEP9btVector3ii, 
    "calchullgen__params": "btVector3*, int, int", 
    "checkit": __ZN11HullLibrary7checkitEP14btHullTriangle, 
    "checkit__params": "btHullTriangle*", 
    "deAllocateTriangle": __ZN11HullLibrary18deAllocateTriangleEP14btHullTriangle, 
    "deAllocateTriangle__params": "btHullTriangle*", 
    "extrudable": __ZN11HullLibrary10extrudableEf, 
    "extrudable__params": "float", 
    "extrude": __ZN11HullLibrary7extrudeEP14btHullTrianglei, 
    "extrude__params": "btHullTriangle*, int", 
    "removeb2b": __ZN11HullLibrary9removeb2bEP14btHullTriangleS1_, 
    "removeb2b__params": "btHullTriangle*, btHullTriangle*", 
    "~HullLibrary": __ZN11HullLibraryD1Ev, 
    "~HullLibrary__params": ""
  }, 
  "HullResult": {
    "~HullResult": __ZN10HullResultD1Ev, 
    "~HullResult__params": ""
  }, 
  "LocalSupportVertexCallback": {
    "internalProcessTriangleIndex": __ZN26LocalSupportVertexCallback28internalProcessTriangleIndexEP9btVector3ii, 
    "internalProcessTriangleIndex__params": "btVector3*, int, int", 
    "~LocalSupportVertexCallback": __ZN26LocalSupportVertexCallbackD1Ev, 
    "~LocalSupportVertexCallback_1": __ZN26LocalSupportVertexCallbackD0Ev, 
    "~LocalSupportVertexCallback_1__params": "", 
    "~LocalSupportVertexCallback__params": ""
  }, 
  "PlaneLineIntersection": __Z21PlaneLineIntersectionRK7btPlaneRK9btVector3S4_, 
  "PlaneLineIntersection__params": "btPlane const&, btVector3 const&, btVector3 const&", 
  "PlaneProject": __Z12PlaneProjectRK7btPlaneRK9btVector3, 
  "PlaneProject__params": "btPlane const&, btVector3 const&", 
  "PlaneTest": __Z9PlaneTestRK7btPlaneRK9btVector3, 
  "PlaneTest__params": "btPlane const&, btVector3 const&", 
  "ReleaseHull": __Z11ReleaseHullR11PHullResult, 
  "ReleaseHull__params": "PHullResult&", 
  "SegmentSqrDistance": __Z18SegmentSqrDistanceRK9btVector3S1_S1_RS_, 
  "SegmentSqrDistance__params": "btVector3 const&, btVector3 const&, btVector3 const&, btVector3&", 
  "SphereTriangleDetector": {
    "SphereTriangleDetector": __ZN22SphereTriangleDetectorC2EP13btSphereShapeP15btTriangleShapef, 
    "SphereTriangleDetector_1": __ZN22SphereTriangleDetectorC1EP13btSphereShapeP15btTriangleShapef, 
    "SphereTriangleDetector_1__params": "btSphereShape*, btTriangleShape*, float", 
    "SphereTriangleDetector__params": "btSphereShape*, btTriangleShape*, float", 
    "__new__": function() { var ret = _malloc(_struct_SphereTriangleDetector___SIZE); Module._.SphereTriangleDetector.SphereTriangleDetector.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_SphereTriangleDetector___SIZE); Module._.SphereTriangleDetector.SphereTriangleDetector_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "collide": __ZN22SphereTriangleDetector7collideERK9btVector3RS0_S3_RfS4_f, 
    "collide__params": "btVector3 const&, btVector3&, btVector3&, float&, float&, float", 
    "facecontains": __ZN22SphereTriangleDetector12facecontainsERK9btVector3PS1_RS0_, 
    "facecontains__params": "btVector3 const&, btVector3 const*, btVector3&", 
    "getClosestPoints": __ZN22SphereTriangleDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb, 
    "getClosestPoints__params": "btDiscreteCollisionDetectorInterface::ClosestPointInput const&, btDiscreteCollisionDetectorInterface::Result&, btIDebugDraw*, bool", 
    "pointInTriangle": __ZN22SphereTriangleDetector15pointInTriangleEPK9btVector3RS1_PS0_, 
    "pointInTriangle__params": "btVector3 const*, btVector3 const&, btVector3*", 
    "~SphereTriangleDetector": __ZN22SphereTriangleDetectorD1Ev, 
    "~SphereTriangleDetector_1": __ZN22SphereTriangleDetectorD0Ev, 
    "~SphereTriangleDetector_1__params": "", 
    "~SphereTriangleDetector__params": ""
  }, 
  "SplitTest": __Z9SplitTestR7ConvexHRK7btPlane, 
  "SplitTest__params": "ConvexH&, btPlane const&", 
  "SupportVertexCallback": {
    "processTriangle": __ZN21SupportVertexCallback15processTriangleEP9btVector3ii, 
    "processTriangle__params": "btVector3*, int, int", 
    "~SupportVertexCallback": __ZN21SupportVertexCallbackD1Ev, 
    "~SupportVertexCallback_1": __ZN21SupportVertexCallbackD0Ev, 
    "~SupportVertexCallback_1__params": "", 
    "~SupportVertexCallback__params": ""
  }, 
  "ThreePlaneIntersection": __Z22ThreePlaneIntersectionRK7btPlaneS1_S1_, 
  "ThreePlaneIntersection__params": "btPlane const&, btPlane const&, btPlane const&", 
  "TriNormal": __Z9TriNormalRK9btVector3S1_S1_, 
  "TriNormal__params": "btVector3 const&, btVector3 const&, btVector3 const&", 
  "_find_collision_pairs_recursive": __ZL31_find_collision_pairs_recursiveP12btGImpactBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib, 
  "_find_collision_pairs_recursive__params": "btGImpactBvh*, btGImpactBvh*, btPairSet*, BT_BOX_BOX_TRANSFORM_CACHE const&, int, int, bool", 
  "_find_quantized_collision_pairs_recursive": __ZL41_find_quantized_collision_pairs_recursiveP21btGImpactQuantizedBvhS0_P9btPairSetRK26BT_BOX_BOX_TRANSFORM_CACHEiib, 
  "_find_quantized_collision_pairs_recursive__params": "btGImpactQuantizedBvh*, btGImpactQuantizedBvh*, btPairSet*, BT_BOX_BOX_TRANSFORM_CACHE const&, int, int, bool", 
  "above": __Z5aboveP9btVector3RK4int3RKS_f, 
  "above__params": "btVector3*, int3 const&, btVector3 const&, float", 
  "applyAnisotropicFriction": __Z24applyAnisotropicFrictionP17btCollisionObjectR9btVector3, 
  "applyAnisotropicFriction__params": "btCollisionObject*, btVector3&", 
  "b2CollidePolygons": __Z17b2CollidePolygonsP16btManifoldResultPK12btBox2dShapeRK11btTransformS3_S6_, 
  "b2CollidePolygons__params": "btManifoldResult*, btBox2dShape const*, btTransform const&, btBox2dShape const*, btTransform const&", 
  "bottomup": __ZL8bottomupP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeE, 
  "bottomup__params": "btDbvt*, btAlignedObjectArray<btDbvtNode*>&", 
  "bt32BitAxisSweep3": {
    "__new__": function() { var ret = _malloc(_struct_bt32BitAxisSweep3___SIZE); Module._.bt32BitAxisSweep3.bt32BitAxisSweep3.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_bt32BitAxisSweep3___SIZE); Module._.bt32BitAxisSweep3.bt32BitAxisSweep3_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "bt32BitAxisSweep3": __ZN17bt32BitAxisSweep3C1ERK9btVector3S2_jP22btOverlappingPairCacheb, 
    "bt32BitAxisSweep3_1": __ZN17bt32BitAxisSweep3C2ERK9btVector3S2_jP22btOverlappingPairCacheb, 
    "bt32BitAxisSweep3_1__params": "btVector3 const&, btVector3 const&, unsigned int, btOverlappingPairCache*, bool", 
    "bt32BitAxisSweep3__params": "btVector3 const&, btVector3 const&, unsigned int, btOverlappingPairCache*, bool", 
    "~bt32BitAxisSweep3": __ZN17bt32BitAxisSweep3D0Ev, 
    "~bt32BitAxisSweep3_1": __ZN17bt32BitAxisSweep3D1Ev, 
    "~bt32BitAxisSweep3_1__params": "", 
    "~bt32BitAxisSweep3__params": ""
  }, 
  "btAABB": {
    "collide_ray": __ZNK6btAABB11collide_rayERK9btVector3S2_, 
    "collide_ray__params": "btVector3 const&, btVector3 const&", 
    "overlapping_trans_cache": __ZNK6btAABB23overlapping_trans_cacheERKS_RK26BT_BOX_BOX_TRANSFORM_CACHEb, 
    "overlapping_trans_cache__params": "btAABB const&, BT_BOX_BOX_TRANSFORM_CACHE const&, bool"
  }, 
  "btActionInterface": {
    "getFixedBody": __ZN17btActionInterface12getFixedBodyEv, 
    "getFixedBody__params": "", 
    "~btActionInterface": __ZN17btActionInterfaceD1Ev, 
    "~btActionInterface_1": __ZN17btActionInterfaceD0Ev, 
    "~btActionInterface_1__params": "", 
    "~btActionInterface__params": ""
  }, 
  "btActivatingCollisionAlgorithm": {
    "__new__": function() { var ret = _malloc(_struct_btActivatingCollisionAlgorithm___SIZE); Module._.btActivatingCollisionAlgorithm.btActivatingCollisionAlgorithm.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btActivatingCollisionAlgorithm___SIZE); Module._.btActivatingCollisionAlgorithm.btActivatingCollisionAlgorithm_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__2": function() { var ret = _malloc(_struct_btActivatingCollisionAlgorithm___SIZE); Module._.btActivatingCollisionAlgorithm.btActivatingCollisionAlgorithm_2.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__3": function() { var ret = _malloc(_struct_btActivatingCollisionAlgorithm___SIZE); Module._.btActivatingCollisionAlgorithm.btActivatingCollisionAlgorithm_3.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btActivatingCollisionAlgorithm": __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo, 
    "btActivatingCollisionAlgorithm_1": __ZN30btActivatingCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, 
    "btActivatingCollisionAlgorithm_1__params": "btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*", 
    "btActivatingCollisionAlgorithm_2": __ZN30btActivatingCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, 
    "btActivatingCollisionAlgorithm_2__params": "btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*", 
    "btActivatingCollisionAlgorithm_3": __ZN30btActivatingCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfo, 
    "btActivatingCollisionAlgorithm_3__params": "btCollisionAlgorithmConstructionInfo const&", 
    "btActivatingCollisionAlgorithm__params": "btCollisionAlgorithmConstructionInfo const&", 
    "~btActivatingCollisionAlgorithm": __ZN30btActivatingCollisionAlgorithmD0Ev, 
    "~btActivatingCollisionAlgorithm_1": __ZN30btActivatingCollisionAlgorithmD1Ev, 
    "~btActivatingCollisionAlgorithm_1__params": "", 
    "~btActivatingCollisionAlgorithm_2": __ZN30btActivatingCollisionAlgorithmD2Ev, 
    "~btActivatingCollisionAlgorithm_2__params": "", 
    "~btActivatingCollisionAlgorithm__params": ""
  }, 
  "btAdjustAngleToLimits": __Z21btAdjustAngleToLimitsfff, 
  "btAdjustAngleToLimits__params": "float, float, float", 
  "btAdjustInternalEdgeContacts": __Z28btAdjustInternalEdgeContactsR15btManifoldPointPK17btCollisionObjectS3_iii, 
  "btAdjustInternalEdgeContacts__params": "btManifoldPoint&, btCollisionObject const*, btCollisionObject const*, int, int, int", 
  "btAlignedAllocDefault": __ZL21btAlignedAllocDefaultji, 
  "btAlignedAllocDefault__params": "unsigned int, int", 
  "btAlignedAllocInternal": __Z22btAlignedAllocInternalji, 
  "btAlignedAllocInternal__params": "unsigned int, int", 
  "btAlignedAllocSetCustom": __Z23btAlignedAllocSetCustomPFPvjEPFvS_E, 
  "btAlignedAllocSetCustomAligned": __Z30btAlignedAllocSetCustomAlignedPFPvjiEPFvS_E, 
  "btAlignedAllocSetCustomAligned__params": "void* (*)(unsigned int, int), void (*)(void*)", 
  "btAlignedAllocSetCustom__params": "void* (*)(unsigned int), void (*)(void*)", 
  "btAlignedAllocator<btCollisionShape*, 16u>": {
    "allocate": __ZN18btAlignedAllocatorIP16btCollisionShapeLj16EE8allocateEiPPKS1_, 
    "allocate__params": "int, btCollisionShape* const**", 
    "btAlignedAllocator": __ZN18btAlignedAllocatorIP16btCollisionShapeLj16EEC1Ev, 
    "btAlignedAllocator__params": "", 
    "deallocate": __ZN18btAlignedAllocatorIP16btCollisionShapeLj16EE10deallocateEPS1_, 
    "deallocate__params": "btCollisionShape**"
  }, 
  "btAlignedAllocator<btHashInt, 16u>": {
    "deallocate": __ZN18btAlignedAllocatorI9btHashIntLj16EE10deallocateEPS0_, 
    "deallocate__params": "btHashInt*"
  }, 
  "btAlignedAllocator<btTriangleInfo, 16u>": {
    "deallocate": __ZN18btAlignedAllocatorI14btTriangleInfoLj16EE10deallocateEPS0_, 
    "deallocate__params": "btTriangleInfo*"
  }, 
  "btAlignedAllocator<int, 16u>": {
    "deallocate": __ZN18btAlignedAllocatorIiLj16EE10deallocateEPi, 
    "deallocate__params": "int*"
  }, 
  "btAlignedFreeDefault": __ZL20btAlignedFreeDefaultPv, 
  "btAlignedFreeDefault__params": "void*", 
  "btAlignedFreeInternal": __Z21btAlignedFreeInternalPv, 
  "btAlignedFreeInternal__params": "void*", 
  "btAlignedObjectArray<BT_QUANTIZED_BVH_NODE>": {
    "reserve": __ZN20btAlignedObjectArrayI21BT_QUANTIZED_BVH_NODEE7reserveEi, 
    "reserve__params": "int"
  }, 
  "btAlignedObjectArray<CONTACT_KEY_TOKEN>": {
    "quickSortInternal<CONTACT_KEY_TOKEN_COMP>": __ZN20btAlignedObjectArrayI17CONTACT_KEY_TOKENE17quickSortInternalI22CONTACT_KEY_TOKEN_COMPEEvT_ii, 
    "quickSortInternal<CONTACT_KEY_TOKEN_COMP>__params": "CONTACT_KEY_TOKEN_COMP, int, int"
  }, 
  "btAlignedObjectArray<ConvexH": {
    "HalfEdge>": {
      "resize": __ZN20btAlignedObjectArrayIN7ConvexH8HalfEdgeEE6resizeEiRKS1_, 
      "resize__params": "int, ConvexH::HalfEdge const&"
    }
  }, 
  "btAlignedObjectArray<GIM_BVH_DATA>": {
    "reserve": __ZN20btAlignedObjectArrayI12GIM_BVH_DATAE7reserveEi, 
    "reserve__params": "int"
  }, 
  "btAlignedObjectArray<GIM_BVH_TREE_NODE>": {
    "reserve": __ZN20btAlignedObjectArrayI17GIM_BVH_TREE_NODEE7reserveEi, 
    "reserve__params": "int"
  }, 
  "btAlignedObjectArray<GIM_CONTACT>": {
    "reserve": __ZN20btAlignedObjectArrayI11GIM_CONTACTE7reserveEi, 
    "reserve__params": "int"
  }, 
  "btAlignedObjectArray<GIM_PAIR>": {
    "push_back": __ZN20btAlignedObjectArrayI8GIM_PAIRE9push_backERKS0_, 
    "push_back__params": "GIM_PAIR const&"
  }, 
  "btAlignedObjectArray<btBroadphasePair>": {
    "expandNonInitializing": __ZN20btAlignedObjectArrayI16btBroadphasePairE21expandNonInitializingEv, 
    "expandNonInitializing__params": "", 
    "push_back": __ZN20btAlignedObjectArrayI16btBroadphasePairE9push_backERKS0_, 
    "push_back__params": "btBroadphasePair const&", 
    "quickSortInternal<btBroadphasePairSortPredicate>": __ZN20btAlignedObjectArrayI16btBroadphasePairE17quickSortInternalI29btBroadphasePairSortPredicateEEvT_ii, 
    "quickSortInternal<btBroadphasePairSortPredicate>__params": "btBroadphasePairSortPredicate, int, int", 
    "resize": __ZN20btAlignedObjectArrayI16btBroadphasePairE6resizeEiRKS0_, 
    "resize__params": "int, btBroadphasePair const&"
  }, 
  "btAlignedObjectArray<btCollisionAlgorithm*>": {
    "resize": __ZN20btAlignedObjectArrayIP20btCollisionAlgorithmE6resizeEiRKS1_, 
    "resize__params": "int, btCollisionAlgorithm* const&"
  }, 
  "btAlignedObjectArray<btCollisionObject*>": {
    "operator[]": __ZN20btAlignedObjectArrayIP17btCollisionObjectEixEi, 
    "operator[]__params": "int", 
    "push_back": __ZN20btAlignedObjectArrayIP17btCollisionObjectE9push_backERKS1_, 
    "push_back__params": "btCollisionObject* const&", 
    "size": __ZNK20btAlignedObjectArrayIP17btCollisionObjectE4sizeEv, 
    "size__params": ""
  }, 
  "btAlignedObjectArray<btCollisionShape*>": {
    "allocSize": __ZN20btAlignedObjectArrayIP16btCollisionShapeE9allocSizeEi, 
    "allocSize__params": "int", 
    "allocate": __ZN20btAlignedObjectArrayIP16btCollisionShapeE8allocateEi, 
    "allocate__params": "int", 
    "btAlignedObjectArray": __ZN20btAlignedObjectArrayIP16btCollisionShapeEC1Ev, 
    "btAlignedObjectArray__params": "", 
    "capacity": __ZNK20btAlignedObjectArrayIP16btCollisionShapeE8capacityEv, 
    "capacity__params": "", 
    "clear": __ZN20btAlignedObjectArrayIP16btCollisionShapeE5clearEv, 
    "clear__params": "", 
    "copy": __ZNK20btAlignedObjectArrayIP16btCollisionShapeE4copyEiiPS1_, 
    "copy__params": "int, int, btCollisionShape**", 
    "deallocate": __ZN20btAlignedObjectArrayIP16btCollisionShapeE10deallocateEv, 
    "deallocate__params": "", 
    "destroy": __ZN20btAlignedObjectArrayIP16btCollisionShapeE7destroyEii, 
    "destroy__params": "int, int", 
    "init": __ZN20btAlignedObjectArrayIP16btCollisionShapeE4initEv, 
    "init__params": "", 
    "operator[]": __ZN20btAlignedObjectArrayIP16btCollisionShapeEixEi, 
    "operator[]__params": "int", 
    "push_back": __ZN20btAlignedObjectArrayIP16btCollisionShapeE9push_backERKS1_, 
    "push_back__params": "btCollisionShape* const&", 
    "reserve": __ZN20btAlignedObjectArrayIP16btCollisionShapeE7reserveEi, 
    "reserve__params": "int", 
    "size": __ZNK20btAlignedObjectArrayIP16btCollisionShapeE4sizeEv, 
    "size__params": "", 
    "~btAlignedObjectArray": __ZN20btAlignedObjectArrayIP16btCollisionShapeED1Ev, 
    "~btAlignedObjectArray__params": ""
  }, 
  "btAlignedObjectArray<btCompoundShapeChild>": {
    "copy": __ZNK20btAlignedObjectArrayI20btCompoundShapeChildE4copyEiiPS0_, 
    "copy__params": "int, int, btCompoundShapeChild*", 
    "push_back": __ZN20btAlignedObjectArrayI20btCompoundShapeChildE9push_backERKS0_, 
    "push_back__params": "btCompoundShapeChild const&", 
    "swap": __ZN20btAlignedObjectArrayI20btCompoundShapeChildE4swapEii, 
    "swap__params": "int, int"
  }, 
  "btAlignedObjectArray<btDbvt": {
    "sStkNN>": {
      "resize": __ZN20btAlignedObjectArrayIN6btDbvt6sStkNNEE6resizeEiRKS1_, 
      "resize__params": "int, btDbvt::sStkNN const&"
    }
  }, 
  "btAlignedObjectArray<btDbvtNode*>": {
    "push_back": __ZN20btAlignedObjectArrayIP10btDbvtNodeE9push_backERKS1_, 
    "push_back__params": "btDbvtNode* const&"
  }, 
  "btAlignedObjectArray<btElement>": {
    "quickSortInternal<btUnionFindElementSortPredicate>": __ZN20btAlignedObjectArrayI9btElementE17quickSortInternalI31btUnionFindElementSortPredicateEEvT_ii, 
    "quickSortInternal<btUnionFindElementSortPredicate>__params": "btUnionFindElementSortPredicate, int, int", 
    "resize": __ZN20btAlignedObjectArrayI9btElementE6resizeEiRKS0_, 
    "resize__params": "int, btElement const&"
  }, 
  "btAlignedObjectArray<btHashInt>": {
    "clear": __ZN20btAlignedObjectArrayI9btHashIntE5clearEv, 
    "clear__params": "", 
    "deallocate": __ZN20btAlignedObjectArrayI9btHashIntE10deallocateEv, 
    "deallocate__params": "", 
    "destroy": __ZN20btAlignedObjectArrayI9btHashIntE7destroyEii, 
    "destroy__params": "int, int", 
    "init": __ZN20btAlignedObjectArrayI9btHashIntE4initEv, 
    "init__params": "", 
    "operator[]": __ZNK20btAlignedObjectArrayI9btHashIntEixEi, 
    "operator[]__params": "int", 
    "push_back": __ZN20btAlignedObjectArrayI9btHashIntE9push_backERKS0_, 
    "push_back__params": "btHashInt const&", 
    "size": __ZNK20btAlignedObjectArrayI9btHashIntE4sizeEv, 
    "size__params": "", 
    "~btAlignedObjectArray": __ZN20btAlignedObjectArrayI9btHashIntED1Ev, 
    "~btAlignedObjectArray__params": ""
  }, 
  "btAlignedObjectArray<btHashPtr>": {
    "push_back": __ZN20btAlignedObjectArrayI9btHashPtrE9push_backERKS0_, 
    "push_back__params": "btHashPtr const&"
  }, 
  "btAlignedObjectArray<btIndexedMesh>": {
    "reserve": __ZN20btAlignedObjectArrayI13btIndexedMeshE7reserveEi, 
    "reserve__params": "int"
  }, 
  "btAlignedObjectArray<btMaterialProperties>": {
    "reserve": __ZN20btAlignedObjectArrayI20btMaterialPropertiesE7reserveEi, 
    "reserve__params": "int"
  }, 
  "btAlignedObjectArray<btPersistentManifold*>": {
    "push_back": __ZN20btAlignedObjectArrayIP20btPersistentManifoldE9push_backERKS1_, 
    "push_back__params": "btPersistentManifold* const&", 
    "quickSortInternal<btPersistentManifoldSortPredicate>": __ZN20btAlignedObjectArrayIP20btPersistentManifoldE17quickSortInternalI33btPersistentManifoldSortPredicateEEvT_ii, 
    "quickSortInternal<btPersistentManifoldSortPredicate>__params": "btPersistentManifoldSortPredicate, int, int"
  }, 
  "btAlignedObjectArray<btPlane>": {
    "reserve": __ZN20btAlignedObjectArrayI7btPlaneE7reserveEi, 
    "reserve__params": "int"
  }, 
  "btAlignedObjectArray<btQuantizedBvhNode>": {
    "reserve": __ZN20btAlignedObjectArrayI18btQuantizedBvhNodeE7reserveEi, 
    "reserve__params": "int"
  }, 
  "btAlignedObjectArray<btTriangleInfo>": {
    "clear": __ZN20btAlignedObjectArrayI14btTriangleInfoE5clearEv, 
    "clear__params": "", 
    "deallocate": __ZN20btAlignedObjectArrayI14btTriangleInfoE10deallocateEv, 
    "deallocate__params": "", 
    "destroy": __ZN20btAlignedObjectArrayI14btTriangleInfoE7destroyEii, 
    "destroy__params": "int, int", 
    "init": __ZN20btAlignedObjectArrayI14btTriangleInfoE4initEv, 
    "init__params": "", 
    "operator[]": __ZNK20btAlignedObjectArrayI14btTriangleInfoEixEi, 
    "operator[]__params": "int", 
    "push_back": __ZN20btAlignedObjectArrayI14btTriangleInfoE9push_backERKS0_, 
    "push_back__params": "btTriangleInfo const&", 
    "size": __ZNK20btAlignedObjectArrayI14btTriangleInfoE4sizeEv, 
    "size__params": "", 
    "~btAlignedObjectArray": __ZN20btAlignedObjectArrayI14btTriangleInfoED1Ev, 
    "~btAlignedObjectArray__params": ""
  }, 
  "btAlignedObjectArray<btTypedConstraint*>": {
    "push_back": __ZN20btAlignedObjectArrayIP17btTypedConstraintE9push_backERKS1_, 
    "push_back__params": "btTypedConstraint* const&", 
    "quickSortInternal<btSortConstraintOnIslandPredicate>": __ZN20btAlignedObjectArrayIP17btTypedConstraintE17quickSortInternalI33btSortConstraintOnIslandPredicateEEvT_ii, 
    "quickSortInternal<btSortConstraintOnIslandPredicate>__params": "btSortConstraintOnIslandPredicate, int, int"
  }, 
  "btAlignedObjectArray<btVector3>": {
    "push_back": __ZN20btAlignedObjectArrayI9btVector3E9push_backERKS0_, 
    "push_back__params": "btVector3 const&", 
    "resize": __ZN20btAlignedObjectArrayI9btVector3E6resizeEiRKS0_, 
    "resize__params": "int, btVector3 const&"
  }, 
  "btAlignedObjectArray<btWheelInfo>": {
    "push_back": __ZN20btAlignedObjectArrayI11btWheelInfoE9push_backERKS0_, 
    "push_back__params": "btWheelInfo const&"
  }, 
  "btAlignedObjectArray<float>": {
    "resize": __ZN20btAlignedObjectArrayIfE6resizeEiRKf, 
    "resize__params": "int, float const&"
  }, 
  "btAlignedObjectArray<int>": {
    "clear": __ZN20btAlignedObjectArrayIiE5clearEv, 
    "clear__params": "", 
    "deallocate": __ZN20btAlignedObjectArrayIiE10deallocateEv, 
    "deallocate__params": "", 
    "destroy": __ZN20btAlignedObjectArrayIiE7destroyEii, 
    "destroy__params": "int, int", 
    "init": __ZN20btAlignedObjectArrayIiE4initEv, 
    "init__params": "", 
    "operator[]": __ZNK20btAlignedObjectArrayIiEixEi, 
    "operator[]__params": "int", 
    "resize": __ZN20btAlignedObjectArrayIiE6resizeEiRKi, 
    "resize__params": "int, int const&", 
    "size": __ZNK20btAlignedObjectArrayIiE4sizeEv, 
    "size__params": "", 
    "~btAlignedObjectArray": __ZN20btAlignedObjectArrayIiED1Ev, 
    "~btAlignedObjectArray__params": ""
  }, 
  "btAlignedObjectArray<unsigned int>": {
    "resize": __ZN20btAlignedObjectArrayIjE6resizeEiRKj, 
    "resize__params": "int, unsigned int const&"
  }, 
  "btAllocDefault": __ZL14btAllocDefaultj, 
  "btAllocDefault__params": "unsigned int", 
  "btAxisSweep3": {
    "__new__": function() { var ret = _malloc(_struct_btAxisSweep3___SIZE); Module._.btAxisSweep3.btAxisSweep3.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btAxisSweep3___SIZE); Module._.btAxisSweep3.btAxisSweep3_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btAxisSweep3": __ZN12btAxisSweep3C2ERK9btVector3S2_tP22btOverlappingPairCacheb, 
    "btAxisSweep3_1": __ZN12btAxisSweep3C1ERK9btVector3S2_tP22btOverlappingPairCacheb, 
    "btAxisSweep3_1__params": "btVector3 const&, btVector3 const&, unsigned short, btOverlappingPairCache*, bool", 
    "btAxisSweep3__params": "btVector3 const&, btVector3 const&, unsigned short, btOverlappingPairCache*, bool", 
    "~btAxisSweep3": __ZN12btAxisSweep3D0Ev, 
    "~btAxisSweep3_1": __ZN12btAxisSweep3D1Ev, 
    "~btAxisSweep3_1__params": "", 
    "~btAxisSweep3__params": ""
  }, 
  "btAxisSweep3Internal<unsigned int>": {
    "aabbTest": __ZN20btAxisSweep3InternalIjE8aabbTestERK9btVector3S3_R24btBroadphaseAabbCallback, 
    "aabbTest__params": "btVector3 const&, btVector3 const&, btBroadphaseAabbCallback&", 
    "addHandle": __ZN20btAxisSweep3InternalIjE9addHandleERK9btVector3S3_PvssP12btDispatcherS4_, 
    "addHandle__params": "btVector3 const&, btVector3 const&, void*, short, short, btDispatcher*, void*", 
    "btAxisSweep3Internal": __ZN20btAxisSweep3InternalIjEC2ERK9btVector3S3_jjjP22btOverlappingPairCacheb, 
    "btAxisSweep3Internal__params": "btVector3 const&, btVector3 const&, unsigned int, unsigned int, unsigned int, btOverlappingPairCache*, bool", 
    "calculateOverlappingPairs": __ZN20btAxisSweep3InternalIjE25calculateOverlappingPairsEP12btDispatcher, 
    "calculateOverlappingPairs__params": "btDispatcher*", 
    "createProxy": __ZN20btAxisSweep3InternalIjE11createProxyERK9btVector3S3_iPvssP12btDispatcherS4_, 
    "createProxy__params": "btVector3 const&, btVector3 const&, int, void*, short, short, btDispatcher*, void*", 
    "destroyProxy": __ZN20btAxisSweep3InternalIjE12destroyProxyEP17btBroadphaseProxyP12btDispatcher, 
    "destroyProxy__params": "btBroadphaseProxy*, btDispatcher*", 
    "getAabb": __ZNK20btAxisSweep3InternalIjE7getAabbEP17btBroadphaseProxyR9btVector3S4_, 
    "getAabb__params": "btBroadphaseProxy*, btVector3&, btVector3&", 
    "getBroadphaseAabb": __ZNK20btAxisSweep3InternalIjE17getBroadphaseAabbER9btVector3S2_, 
    "getBroadphaseAabb__params": "btVector3&, btVector3&", 
    "getOverlappingPairCache": __ZN20btAxisSweep3InternalIjE23getOverlappingPairCacheEv, 
    "getOverlappingPairCache_1": __ZNK20btAxisSweep3InternalIjE23getOverlappingPairCacheEv, 
    "getOverlappingPairCache_1__params": "", 
    "getOverlappingPairCache__params": "", 
    "printStats": __ZN20btAxisSweep3InternalIjE10printStatsEv, 
    "printStats__params": "", 
    "quantize": __ZNK20btAxisSweep3InternalIjE8quantizeEPjRK9btVector3i, 
    "quantize__params": "unsigned int*, btVector3 const&, int", 
    "rayTest": __ZN20btAxisSweep3InternalIjE7rayTestERK9btVector3S3_R23btBroadphaseRayCallbackS3_S3_, 
    "rayTest__params": "btVector3 const&, btVector3 const&, btBroadphaseRayCallback&, btVector3 const&, btVector3 const&", 
    "removeHandle": __ZN20btAxisSweep3InternalIjE12removeHandleEjP12btDispatcher, 
    "removeHandle__params": "unsigned int, btDispatcher*", 
    "resetPool": __ZN20btAxisSweep3InternalIjE9resetPoolEP12btDispatcher, 
    "resetPool__params": "btDispatcher*", 
    "setAabb": __ZN20btAxisSweep3InternalIjE7setAabbEP17btBroadphaseProxyRK9btVector3S5_P12btDispatcher, 
    "setAabb__params": "btBroadphaseProxy*, btVector3 const&, btVector3 const&, btDispatcher*", 
    "sortMaxDown": __ZN20btAxisSweep3InternalIjE11sortMaxDownEijP12btDispatcherb, 
    "sortMaxDown__params": "int, unsigned int, btDispatcher*, bool", 
    "sortMaxUp": __ZN20btAxisSweep3InternalIjE9sortMaxUpEijP12btDispatcherb, 
    "sortMaxUp__params": "int, unsigned int, btDispatcher*, bool", 
    "sortMinDown": __ZN20btAxisSweep3InternalIjE11sortMinDownEijP12btDispatcherb, 
    "sortMinDown__params": "int, unsigned int, btDispatcher*, bool", 
    "sortMinUp": __ZN20btAxisSweep3InternalIjE9sortMinUpEijP12btDispatcherb, 
    "sortMinUp__params": "int, unsigned int, btDispatcher*, bool", 
    "updateHandle": __ZN20btAxisSweep3InternalIjE12updateHandleEjRK9btVector3S3_P12btDispatcher, 
    "updateHandle__params": "unsigned int, btVector3 const&, btVector3 const&, btDispatcher*", 
    "~btAxisSweep3Internal": __ZN20btAxisSweep3InternalIjED1Ev, 
    "~btAxisSweep3Internal_1": __ZN20btAxisSweep3InternalIjED2Ev, 
    "~btAxisSweep3Internal_1__params": "", 
    "~btAxisSweep3Internal_2": __ZN20btAxisSweep3InternalIjED0Ev, 
    "~btAxisSweep3Internal_2__params": "", 
    "~btAxisSweep3Internal__params": ""
  }, 
  "btAxisSweep3Internal<unsigned short>": {
    "aabbTest": __ZN20btAxisSweep3InternalItE8aabbTestERK9btVector3S3_R24btBroadphaseAabbCallback, 
    "aabbTest__params": "btVector3 const&, btVector3 const&, btBroadphaseAabbCallback&", 
    "addHandle": __ZN20btAxisSweep3InternalItE9addHandleERK9btVector3S3_PvssP12btDispatcherS4_, 
    "addHandle__params": "btVector3 const&, btVector3 const&, void*, short, short, btDispatcher*, void*", 
    "btAxisSweep3Internal": __ZN20btAxisSweep3InternalItEC2ERK9btVector3S3_tttP22btOverlappingPairCacheb, 
    "btAxisSweep3Internal__params": "btVector3 const&, btVector3 const&, unsigned short, unsigned short, unsigned short, btOverlappingPairCache*, bool", 
    "calculateOverlappingPairs": __ZN20btAxisSweep3InternalItE25calculateOverlappingPairsEP12btDispatcher, 
    "calculateOverlappingPairs__params": "btDispatcher*", 
    "createProxy": __ZN20btAxisSweep3InternalItE11createProxyERK9btVector3S3_iPvssP12btDispatcherS4_, 
    "createProxy__params": "btVector3 const&, btVector3 const&, int, void*, short, short, btDispatcher*, void*", 
    "destroyProxy": __ZN20btAxisSweep3InternalItE12destroyProxyEP17btBroadphaseProxyP12btDispatcher, 
    "destroyProxy__params": "btBroadphaseProxy*, btDispatcher*", 
    "getAabb": __ZNK20btAxisSweep3InternalItE7getAabbEP17btBroadphaseProxyR9btVector3S4_, 
    "getAabb__params": "btBroadphaseProxy*, btVector3&, btVector3&", 
    "getBroadphaseAabb": __ZNK20btAxisSweep3InternalItE17getBroadphaseAabbER9btVector3S2_, 
    "getBroadphaseAabb__params": "btVector3&, btVector3&", 
    "getOverlappingPairCache": __ZN20btAxisSweep3InternalItE23getOverlappingPairCacheEv, 
    "getOverlappingPairCache_1": __ZNK20btAxisSweep3InternalItE23getOverlappingPairCacheEv, 
    "getOverlappingPairCache_1__params": "", 
    "getOverlappingPairCache__params": "", 
    "printStats": __ZN20btAxisSweep3InternalItE10printStatsEv, 
    "printStats__params": "", 
    "quantize": __ZNK20btAxisSweep3InternalItE8quantizeEPtRK9btVector3i, 
    "quantize__params": "unsigned short*, btVector3 const&, int", 
    "rayTest": __ZN20btAxisSweep3InternalItE7rayTestERK9btVector3S3_R23btBroadphaseRayCallbackS3_S3_, 
    "rayTest__params": "btVector3 const&, btVector3 const&, btBroadphaseRayCallback&, btVector3 const&, btVector3 const&", 
    "removeHandle": __ZN20btAxisSweep3InternalItE12removeHandleEtP12btDispatcher, 
    "removeHandle__params": "unsigned short, btDispatcher*", 
    "resetPool": __ZN20btAxisSweep3InternalItE9resetPoolEP12btDispatcher, 
    "resetPool__params": "btDispatcher*", 
    "setAabb": __ZN20btAxisSweep3InternalItE7setAabbEP17btBroadphaseProxyRK9btVector3S5_P12btDispatcher, 
    "setAabb__params": "btBroadphaseProxy*, btVector3 const&, btVector3 const&, btDispatcher*", 
    "sortMaxDown": __ZN20btAxisSweep3InternalItE11sortMaxDownEitP12btDispatcherb, 
    "sortMaxDown__params": "int, unsigned short, btDispatcher*, bool", 
    "sortMaxUp": __ZN20btAxisSweep3InternalItE9sortMaxUpEitP12btDispatcherb, 
    "sortMaxUp__params": "int, unsigned short, btDispatcher*, bool", 
    "sortMinDown": __ZN20btAxisSweep3InternalItE11sortMinDownEitP12btDispatcherb, 
    "sortMinDown__params": "int, unsigned short, btDispatcher*, bool", 
    "sortMinUp": __ZN20btAxisSweep3InternalItE9sortMinUpEitP12btDispatcherb, 
    "sortMinUp__params": "int, unsigned short, btDispatcher*, bool", 
    "updateHandle": __ZN20btAxisSweep3InternalItE12updateHandleEtRK9btVector3S3_P12btDispatcher, 
    "updateHandle__params": "unsigned short, btVector3 const&, btVector3 const&, btDispatcher*", 
    "~btAxisSweep3Internal": __ZN20btAxisSweep3InternalItED1Ev, 
    "~btAxisSweep3Internal_1": __ZN20btAxisSweep3InternalItED2Ev, 
    "~btAxisSweep3Internal_1__params": "", 
    "~btAxisSweep3Internal_2": __ZN20btAxisSweep3InternalItED0Ev, 
    "~btAxisSweep3Internal_2__params": "", 
    "~btAxisSweep3Internal__params": ""
  }, 
  "btBU_Simplex1to4": {
    "__new__": function() { var ret = _malloc(_struct_btBU_Simplex1to4___SIZE); Module._.btBU_Simplex1to4.btBU_Simplex1to4.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btBU_Simplex1to4___SIZE); Module._.btBU_Simplex1to4.btBU_Simplex1to4_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__2": function() { var ret = _malloc(_struct_btBU_Simplex1to4___SIZE); Module._.btBU_Simplex1to4.btBU_Simplex1to4_2.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__3": function() { var ret = _malloc(_struct_btBU_Simplex1to4___SIZE); Module._.btBU_Simplex1to4.btBU_Simplex1to4_3.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__4": function() { var ret = _malloc(_struct_btBU_Simplex1to4___SIZE); Module._.btBU_Simplex1to4.btBU_Simplex1to4_4.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__5": function() { var ret = _malloc(_struct_btBU_Simplex1to4___SIZE); Module._.btBU_Simplex1to4.btBU_Simplex1to4_5.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__6": function() { var ret = _malloc(_struct_btBU_Simplex1to4___SIZE); Module._.btBU_Simplex1to4.btBU_Simplex1to4_6.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__7": function() { var ret = _malloc(_struct_btBU_Simplex1to4___SIZE); Module._.btBU_Simplex1to4.btBU_Simplex1to4_7.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__8": function() { var ret = _malloc(_struct_btBU_Simplex1to4___SIZE); Module._.btBU_Simplex1to4.btBU_Simplex1to4_8.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__9": function() { var ret = _malloc(_struct_btBU_Simplex1to4___SIZE); Module._.btBU_Simplex1to4.btBU_Simplex1to4_9.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "addVertex": __ZN16btBU_Simplex1to49addVertexERK9btVector3, 
    "addVertex__params": "btVector3 const&", 
    "btBU_Simplex1to4": __ZN16btBU_Simplex1to4C1ERK9btVector3S2_S2_S2_, 
    "btBU_Simplex1to4_1": __ZN16btBU_Simplex1to4C1ERK9btVector3S2_S2_, 
    "btBU_Simplex1to4_1__params": "btVector3 const&, btVector3 const&, btVector3 const&", 
    "btBU_Simplex1to4_2": __ZN16btBU_Simplex1to4C1ERK9btVector3S2_, 
    "btBU_Simplex1to4_2__params": "btVector3 const&, btVector3 const&", 
    "btBU_Simplex1to4_3": __ZN16btBU_Simplex1to4C2Ev, 
    "btBU_Simplex1to4_3__params": "", 
    "btBU_Simplex1to4_4": __ZN16btBU_Simplex1to4C1Ev, 
    "btBU_Simplex1to4_4__params": "", 
    "btBU_Simplex1to4_5": __ZN16btBU_Simplex1to4C2ERK9btVector3S2_S2_S2_, 
    "btBU_Simplex1to4_5__params": "btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&", 
    "btBU_Simplex1to4_6": __ZN16btBU_Simplex1to4C2ERK9btVector3S2_S2_, 
    "btBU_Simplex1to4_6__params": "btVector3 const&, btVector3 const&, btVector3 const&", 
    "btBU_Simplex1to4_7": __ZN16btBU_Simplex1to4C2ERK9btVector3S2_, 
    "btBU_Simplex1to4_7__params": "btVector3 const&, btVector3 const&", 
    "btBU_Simplex1to4_8": __ZN16btBU_Simplex1to4C1ERK9btVector3, 
    "btBU_Simplex1to4_8__params": "btVector3 const&", 
    "btBU_Simplex1to4_9": __ZN16btBU_Simplex1to4C2ERK9btVector3, 
    "btBU_Simplex1to4_9__params": "btVector3 const&", 
    "btBU_Simplex1to4__params": "btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&", 
    "getAabb": __ZNK16btBU_Simplex1to47getAabbERK11btTransformR9btVector3S4_, 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "getEdge": __ZNK16btBU_Simplex1to47getEdgeEiR9btVector3S1_, 
    "getEdge__params": "int, btVector3&, btVector3&", 
    "getIndex": __ZNK16btBU_Simplex1to48getIndexEi, 
    "getIndex__params": "int", 
    "getName": __ZNK16btBU_Simplex1to47getNameEv, 
    "getName__params": "", 
    "getNumEdges": __ZNK16btBU_Simplex1to411getNumEdgesEv, 
    "getNumEdges__params": "", 
    "getNumPlanes": __ZNK16btBU_Simplex1to412getNumPlanesEv, 
    "getNumPlanes__params": "", 
    "getNumVertices": __ZNK16btBU_Simplex1to414getNumVerticesEv, 
    "getNumVertices__params": "", 
    "getPlane": __ZNK16btBU_Simplex1to48getPlaneER9btVector3S1_i, 
    "getPlane__params": "btVector3&, btVector3&, int", 
    "getVertex": __ZNK16btBU_Simplex1to49getVertexEiR9btVector3, 
    "getVertex__params": "int, btVector3&", 
    "isInside": __ZNK16btBU_Simplex1to48isInsideERK9btVector3f, 
    "isInside__params": "btVector3 const&, float", 
    "~btBU_Simplex1to4": __ZN16btBU_Simplex1to4D0Ev, 
    "~btBU_Simplex1to4_1": __ZN16btBU_Simplex1to4D1Ev, 
    "~btBU_Simplex1to4_1__params": "", 
    "~btBU_Simplex1to4__params": ""
  }, 
  "btBox2dBox2dCollisionAlgorithm": {
    "__new__": function() { var ret = _malloc(_struct_btBox2dBox2dCollisionAlgorithm___SIZE); Module._.btBox2dBox2dCollisionAlgorithm.btBox2dBox2dCollisionAlgorithm.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btBox2dBox2dCollisionAlgorithm___SIZE); Module._.btBox2dBox2dCollisionAlgorithm.btBox2dBox2dCollisionAlgorithm_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btBox2dBox2dCollisionAlgorithm": __ZN30btBox2dBox2dCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_, 
    "btBox2dBox2dCollisionAlgorithm_1": __ZN30btBox2dBox2dCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_, 
    "btBox2dBox2dCollisionAlgorithm_1__params": "btPersistentManifold*, btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*", 
    "btBox2dBox2dCollisionAlgorithm__params": "btPersistentManifold*, btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*", 
    "calculateTimeOfImpact": __ZN30btBox2dBox2dCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "calculateTimeOfImpact__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "getAllContactManifolds": __ZN30btBox2dBox2dCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, 
    "getAllContactManifolds__params": "btAlignedObjectArray<btPersistentManifold*>&", 
    "processCollision": __ZN30btBox2dBox2dCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "processCollision__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "~btBox2dBox2dCollisionAlgorithm": __ZN30btBox2dBox2dCollisionAlgorithmD0Ev, 
    "~btBox2dBox2dCollisionAlgorithm_1": __ZN30btBox2dBox2dCollisionAlgorithmD1Ev, 
    "~btBox2dBox2dCollisionAlgorithm_1__params": "", 
    "~btBox2dBox2dCollisionAlgorithm_2": __ZN30btBox2dBox2dCollisionAlgorithmD2Ev, 
    "~btBox2dBox2dCollisionAlgorithm_2__params": "", 
    "~btBox2dBox2dCollisionAlgorithm__params": ""
  }, 
  "btBox2dShape": {
    "batchedUnitVectorGetSupportingVertexWithoutMargin": __ZNK12btBox2dShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin__params": "btVector3 const*, btVector3*, int", 
    "calculateLocalInertia": __ZNK12btBox2dShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "getAabb": __ZNK12btBox2dShape7getAabbERK11btTransformR9btVector3S4_, 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "getEdge": __ZNK12btBox2dShape7getEdgeEiR9btVector3S1_, 
    "getEdge__params": "int, btVector3&, btVector3&", 
    "getName": __ZNK12btBox2dShape7getNameEv, 
    "getName__params": "", 
    "getNumEdges": __ZNK12btBox2dShape11getNumEdgesEv, 
    "getNumEdges__params": "", 
    "getNumPlanes": __ZNK12btBox2dShape12getNumPlanesEv, 
    "getNumPlanes__params": "", 
    "getNumPreferredPenetrationDirections": __ZNK12btBox2dShape36getNumPreferredPenetrationDirectionsEv, 
    "getNumPreferredPenetrationDirections__params": "", 
    "getNumVertices": __ZNK12btBox2dShape14getNumVerticesEv, 
    "getNumVertices__params": "", 
    "getPlane": __ZNK12btBox2dShape8getPlaneER9btVector3S1_i, 
    "getPlaneEquation": __ZNK12btBox2dShape16getPlaneEquationER9btVector4i, 
    "getPlaneEquation__params": "btVector4&, int", 
    "getPlane__params": "btVector3&, btVector3&, int", 
    "getPreferredPenetrationDirection": __ZNK12btBox2dShape32getPreferredPenetrationDirectionEiR9btVector3, 
    "getPreferredPenetrationDirection__params": "int, btVector3&", 
    "getVertex": __ZNK12btBox2dShape9getVertexEiR9btVector3, 
    "getVertex__params": "int, btVector3&", 
    "isInside": __ZNK12btBox2dShape8isInsideERK9btVector3f, 
    "isInside__params": "btVector3 const&, float", 
    "localGetSupportingVertex": __ZNK12btBox2dShape24localGetSupportingVertexERK9btVector3, 
    "localGetSupportingVertexWithoutMargin": __ZNK12btBox2dShape37localGetSupportingVertexWithoutMarginERK9btVector3, 
    "localGetSupportingVertexWithoutMargin__params": "btVector3 const&", 
    "localGetSupportingVertex__params": "btVector3 const&", 
    "setLocalScaling": __ZN12btBox2dShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "setMargin": __ZN12btBox2dShape9setMarginEf, 
    "setMargin__params": "float", 
    "~btBox2dShape": __ZN12btBox2dShapeD0Ev, 
    "~btBox2dShape_1": __ZN12btBox2dShapeD1Ev, 
    "~btBox2dShape_1__params": "", 
    "~btBox2dShape__params": ""
  }, 
  "btBoxBoxCollisionAlgorithm": {
    "CreateFunc": {
      "CreateCollisionAlgorithm": __ZN26btBoxBoxCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, 
      "CreateCollisionAlgorithm__params": "btCollisionAlgorithmConstructionInfo&, btCollisionObject*, btCollisionObject*", 
      "~CreateFunc": __ZN26btBoxBoxCollisionAlgorithm10CreateFuncD1Ev, 
      "~CreateFunc_1": __ZN26btBoxBoxCollisionAlgorithm10CreateFuncD0Ev, 
      "~CreateFunc_1__params": "", 
      "~CreateFunc__params": ""
    }, 
    "__new__": function() { var ret = _malloc(_struct_btBoxBoxCollisionAlgorithm___SIZE); Module._.btBoxBoxCollisionAlgorithm.btBoxBoxCollisionAlgorithm.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btBoxBoxCollisionAlgorithm___SIZE); Module._.btBoxBoxCollisionAlgorithm.btBoxBoxCollisionAlgorithm_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btBoxBoxCollisionAlgorithm": __ZN26btBoxBoxCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_, 
    "btBoxBoxCollisionAlgorithm_1": __ZN26btBoxBoxCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_, 
    "btBoxBoxCollisionAlgorithm_1__params": "btPersistentManifold*, btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*", 
    "btBoxBoxCollisionAlgorithm__params": "btPersistentManifold*, btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*", 
    "calculateTimeOfImpact": __ZN26btBoxBoxCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "calculateTimeOfImpact__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "getAllContactManifolds": __ZN26btBoxBoxCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, 
    "getAllContactManifolds__params": "btAlignedObjectArray<btPersistentManifold*>&", 
    "processCollision": __ZN26btBoxBoxCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "processCollision__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "~btBoxBoxCollisionAlgorithm": __ZN26btBoxBoxCollisionAlgorithmD0Ev, 
    "~btBoxBoxCollisionAlgorithm_1": __ZN26btBoxBoxCollisionAlgorithmD1Ev, 
    "~btBoxBoxCollisionAlgorithm_1__params": "", 
    "~btBoxBoxCollisionAlgorithm_2": __ZN26btBoxBoxCollisionAlgorithmD2Ev, 
    "~btBoxBoxCollisionAlgorithm_2__params": "", 
    "~btBoxBoxCollisionAlgorithm__params": ""
  }, 
  "btBoxBoxDetector": {
    "__new__": function() { var ret = _malloc(_struct_btBoxBoxDetector___SIZE); Module._.btBoxBoxDetector.btBoxBoxDetector.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btBoxBoxDetector___SIZE); Module._.btBoxBoxDetector.btBoxBoxDetector_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btBoxBoxDetector": __ZN16btBoxBoxDetectorC2EP10btBoxShapeS1_, 
    "btBoxBoxDetector_1": __ZN16btBoxBoxDetectorC1EP10btBoxShapeS1_, 
    "btBoxBoxDetector_1__params": "btBoxShape*, btBoxShape*", 
    "btBoxBoxDetector__params": "btBoxShape*, btBoxShape*", 
    "getClosestPoints": __ZN16btBoxBoxDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb, 
    "getClosestPoints__params": "btDiscreteCollisionDetectorInterface::ClosestPointInput const&, btDiscreteCollisionDetectorInterface::Result&, btIDebugDraw*, bool", 
    "~btBoxBoxDetector": __ZN16btBoxBoxDetectorD1Ev, 
    "~btBoxBoxDetector_1": __ZN16btBoxBoxDetectorD0Ev, 
    "~btBoxBoxDetector_1__params": "", 
    "~btBoxBoxDetector__params": ""
  }, 
  "btBoxShape": {
    "__new__": function() { var ret = _malloc(_struct_btBoxShape___SIZE); Module._.btBoxShape.btBoxShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin": __ZNK10btBoxShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin__params": "btVector3 const*, btVector3*, int", 
    "btBoxShape": __ZN10btBoxShapeC1ERK9btVector3, 
    "btBoxShape__params": "btVector3 const&", 
    "calculateLocalInertia": __ZNK10btBoxShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "getAabb": __ZNK10btBoxShape7getAabbERK11btTransformR9btVector3S4_, 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "getEdge": __ZNK10btBoxShape7getEdgeEiR9btVector3S1_, 
    "getEdge__params": "int, btVector3&, btVector3&", 
    "getName": __ZNK10btBoxShape7getNameEv, 
    "getName__params": "", 
    "getNumEdges": __ZNK10btBoxShape11getNumEdgesEv, 
    "getNumEdges__params": "", 
    "getNumPlanes": __ZNK10btBoxShape12getNumPlanesEv, 
    "getNumPlanes__params": "", 
    "getNumPreferredPenetrationDirections": __ZNK10btBoxShape36getNumPreferredPenetrationDirectionsEv, 
    "getNumPreferredPenetrationDirections__params": "", 
    "getNumVertices": __ZNK10btBoxShape14getNumVerticesEv, 
    "getNumVertices__params": "", 
    "getPlane": __ZNK10btBoxShape8getPlaneER9btVector3S1_i, 
    "getPlaneEquation": __ZNK10btBoxShape16getPlaneEquationER9btVector4i, 
    "getPlaneEquation__params": "btVector4&, int", 
    "getPlane__params": "btVector3&, btVector3&, int", 
    "getPreferredPenetrationDirection": __ZNK10btBoxShape32getPreferredPenetrationDirectionEiR9btVector3, 
    "getPreferredPenetrationDirection__params": "int, btVector3&", 
    "getVertex": __ZNK10btBoxShape9getVertexEiR9btVector3, 
    "getVertex__params": "int, btVector3&", 
    "isInside": __ZNK10btBoxShape8isInsideERK9btVector3f, 
    "isInside__params": "btVector3 const&, float", 
    "localGetSupportingVertex": __ZNK10btBoxShape24localGetSupportingVertexERK9btVector3, 
    "localGetSupportingVertexWithoutMargin": __ZNK10btBoxShape37localGetSupportingVertexWithoutMarginERK9btVector3, 
    "localGetSupportingVertexWithoutMargin__params": "btVector3 const&", 
    "localGetSupportingVertex__params": "btVector3 const&", 
    "setLocalScaling": __ZN10btBoxShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "setMargin": __ZN10btBoxShape9setMarginEf, 
    "setMargin__params": "float", 
    "~btBoxShape": __ZN10btBoxShapeD0Ev, 
    "~btBoxShape_1": __ZN10btBoxShapeD1Ev, 
    "~btBoxShape_1__params": "", 
    "~btBoxShape__params": ""
  }, 
  "btBridgedManifoldResult": {
    "addContactPoint": __ZN23btBridgedManifoldResult15addContactPointERK9btVector3S2_f, 
    "addContactPoint__params": "btVector3 const&, btVector3 const&, float", 
    "~btBridgedManifoldResult": __ZN23btBridgedManifoldResultD0Ev, 
    "~btBridgedManifoldResult_1": __ZN23btBridgedManifoldResultD1Ev, 
    "~btBridgedManifoldResult_1__params": "", 
    "~btBridgedManifoldResult__params": ""
  }, 
  "btBroadphaseAabbCallback": {
    "~btBroadphaseAabbCallback": __ZN24btBroadphaseAabbCallbackD1Ev, 
    "~btBroadphaseAabbCallback_1": __ZN24btBroadphaseAabbCallbackD0Ev, 
    "~btBroadphaseAabbCallback_1__params": "", 
    "~btBroadphaseAabbCallback__params": ""
  }, 
  "btBroadphaseInterface": {
    "resetPool": __ZN21btBroadphaseInterface9resetPoolEP12btDispatcher, 
    "resetPool__params": "btDispatcher*", 
    "~btBroadphaseInterface": __ZN21btBroadphaseInterfaceD1Ev, 
    "~btBroadphaseInterface_1": __ZN21btBroadphaseInterfaceD0Ev, 
    "~btBroadphaseInterface_1__params": "", 
    "~btBroadphaseInterface__params": ""
  }, 
  "btBroadphaseRayCallback": {
    "~btBroadphaseRayCallback": __ZN23btBroadphaseRayCallbackD1Ev, 
    "~btBroadphaseRayCallback_1": __ZN23btBroadphaseRayCallbackD0Ev, 
    "~btBroadphaseRayCallback_1__params": "", 
    "~btBroadphaseRayCallback__params": ""
  }, 
  "btBvhTree": {
    "_build_sub_tree": __ZN9btBvhTree15_build_sub_treeER18GIM_BVH_DATA_ARRAYii, 
    "_build_sub_tree__params": "GIM_BVH_DATA_ARRAY&, int, int", 
    "_calc_splitting_axis": __ZN9btBvhTree20_calc_splitting_axisER18GIM_BVH_DATA_ARRAYii, 
    "_calc_splitting_axis__params": "GIM_BVH_DATA_ARRAY&, int, int", 
    "_sort_and_calc_splitting_index": __ZN9btBvhTree30_sort_and_calc_splitting_indexER18GIM_BVH_DATA_ARRAYiii, 
    "_sort_and_calc_splitting_index__params": "GIM_BVH_DATA_ARRAY&, int, int, int", 
    "build_tree": __ZN9btBvhTree10build_treeER18GIM_BVH_DATA_ARRAY, 
    "build_tree__params": "GIM_BVH_DATA_ARRAY&"
  }, 
  "btBvhTriangleMeshShape": {
    "__new__": function() { var ret = _malloc(_struct_btBvhTriangleMeshShape___SIZE); Module._.btBvhTriangleMeshShape.btBvhTriangleMeshShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btBvhTriangleMeshShape___SIZE); Module._.btBvhTriangleMeshShape.btBvhTriangleMeshShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__2": function() { var ret = _malloc(_struct_btBvhTriangleMeshShape___SIZE); Module._.btBvhTriangleMeshShape.btBvhTriangleMeshShape_2.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__3": function() { var ret = _malloc(_struct_btBvhTriangleMeshShape___SIZE); Module._.btBvhTriangleMeshShape.btBvhTriangleMeshShape_3.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btBvhTriangleMeshShape": __ZN22btBvhTriangleMeshShapeC1EP23btStridingMeshInterfacebRK9btVector3S4_b, 
    "btBvhTriangleMeshShape_1": __ZN22btBvhTriangleMeshShapeC2EP23btStridingMeshInterfacebb, 
    "btBvhTriangleMeshShape_1__params": "btStridingMeshInterface*, bool, bool", 
    "btBvhTriangleMeshShape_2": __ZN22btBvhTriangleMeshShapeC2EP23btStridingMeshInterfacebRK9btVector3S4_b, 
    "btBvhTriangleMeshShape_2__params": "btStridingMeshInterface*, bool, btVector3 const&, btVector3 const&, bool", 
    "btBvhTriangleMeshShape_3": __ZN22btBvhTriangleMeshShapeC1EP23btStridingMeshInterfacebb, 
    "btBvhTriangleMeshShape_3__params": "btStridingMeshInterface*, bool, bool", 
    "btBvhTriangleMeshShape__params": "btStridingMeshInterface*, bool, btVector3 const&, btVector3 const&, bool", 
    "buildOptimizedBvh": __ZN22btBvhTriangleMeshShape17buildOptimizedBvhEv, 
    "buildOptimizedBvh__params": "", 
    "calculateSerializeBufferSize": __ZNK22btBvhTriangleMeshShape28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "getName": __ZNK22btBvhTriangleMeshShape7getNameEv, 
    "getName__params": "", 
    "partialRefitTree": __ZN22btBvhTriangleMeshShape16partialRefitTreeERK9btVector3S2_, 
    "partialRefitTree__params": "btVector3 const&, btVector3 const&", 
    "performConvexcast": __ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD1Ev, 
    "performConvexcast_1": __ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD0Ev, 
    "performConvexcast_1__params": "btTriangleCallback*, btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&)::MyNodeOverlapCallback::~MyNodeOverlapCallback(", 
    "performConvexcast_2": __ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallback11processNodeEii, 
    "performConvexcast_2__params": "btTriangleCallback*, btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&)::MyNodeOverlapCallback::processNode(int, int", 
    "performConvexcast_3": __ZZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_EN21MyNodeOverlapCallbackD2Ev, 
    "performConvexcast_3__params": "btTriangleCallback*, btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&)::MyNodeOverlapCallback::~MyNodeOverlapCallback(", 
    "performConvexcast_4": __ZN22btBvhTriangleMeshShape17performConvexcastEP18btTriangleCallbackRK9btVector3S4_S4_S4_, 
    "performConvexcast_4__params": "btTriangleCallback*, btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&", 
    "performConvexcast__params": "btTriangleCallback*, btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&)::MyNodeOverlapCallback::~MyNodeOverlapCallback(", 
    "performRaycast": __ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev, 
    "performRaycast_1": __ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev, 
    "performRaycast_1__params": "btTriangleCallback*, btVector3 const&, btVector3 const&)::MyNodeOverlapCallback::~MyNodeOverlapCallback(", 
    "performRaycast_2": __ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii, 
    "performRaycast_2__params": "btTriangleCallback*, btVector3 const&, btVector3 const&)::MyNodeOverlapCallback::processNode(int, int", 
    "performRaycast_3": __ZZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD2Ev, 
    "performRaycast_3__params": "btTriangleCallback*, btVector3 const&, btVector3 const&)::MyNodeOverlapCallback::~MyNodeOverlapCallback(", 
    "performRaycast_4": __ZN22btBvhTriangleMeshShape14performRaycastEP18btTriangleCallbackRK9btVector3S4_, 
    "performRaycast_4__params": "btTriangleCallback*, btVector3 const&, btVector3 const&", 
    "performRaycast__params": "btTriangleCallback*, btVector3 const&, btVector3 const&)::MyNodeOverlapCallback::~MyNodeOverlapCallback(", 
    "processAllTriangles": __ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD1Ev, 
    "processAllTriangles_1": __ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD0Ev, 
    "processAllTriangles_1__params": "btTriangleCallback*, btVector3 const&, btVector3 const&)::MyNodeOverlapCallback::~MyNodeOverlapCallback(", 
    "processAllTriangles_2": __ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallback11processNodeEii, 
    "processAllTriangles_2__params": "btTriangleCallback*, btVector3 const&, btVector3 const&)::MyNodeOverlapCallback::processNode(int, int", 
    "processAllTriangles_3": __ZZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN21MyNodeOverlapCallbackD2Ev, 
    "processAllTriangles_3__params": "btTriangleCallback*, btVector3 const&, btVector3 const&)::MyNodeOverlapCallback::~MyNodeOverlapCallback(", 
    "processAllTriangles_4": __ZNK22btBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_, 
    "processAllTriangles_4__params": "btTriangleCallback*, btVector3 const&, btVector3 const&", 
    "processAllTriangles__params": "btTriangleCallback*, btVector3 const&, btVector3 const&)::MyNodeOverlapCallback::~MyNodeOverlapCallback(", 
    "refitTree": __ZN22btBvhTriangleMeshShape9refitTreeERK9btVector3S2_, 
    "refitTree__params": "btVector3 const&, btVector3 const&", 
    "serialize": __ZNK22btBvhTriangleMeshShape9serializeEPvP12btSerializer, 
    "serializeSingleBvh": __ZNK22btBvhTriangleMeshShape18serializeSingleBvhEP12btSerializer, 
    "serializeSingleBvh__params": "btSerializer*", 
    "serializeSingleTriangleInfoMap": __ZNK22btBvhTriangleMeshShape30serializeSingleTriangleInfoMapEP12btSerializer, 
    "serializeSingleTriangleInfoMap__params": "btSerializer*", 
    "serialize__params": "void*, btSerializer*", 
    "setLocalScaling": __ZN22btBvhTriangleMeshShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "setOptimizedBvh": __ZN22btBvhTriangleMeshShape15setOptimizedBvhEP14btOptimizedBvhRK9btVector3, 
    "setOptimizedBvh__params": "btOptimizedBvh*, btVector3 const&", 
    "~btBvhTriangleMeshShape": __ZN22btBvhTriangleMeshShapeD0Ev, 
    "~btBvhTriangleMeshShape_1": __ZN22btBvhTriangleMeshShapeD1Ev, 
    "~btBvhTriangleMeshShape_1__params": "", 
    "~btBvhTriangleMeshShape_2": __ZN22btBvhTriangleMeshShapeD2Ev, 
    "~btBvhTriangleMeshShape_2__params": "", 
    "~btBvhTriangleMeshShape__params": ""
  }, 
  "btCapsuleShape": {
    "__new__": function() { var ret = _malloc(_struct_btCapsuleShape___SIZE); Module._.btCapsuleShape.btCapsuleShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btCapsuleShape___SIZE); Module._.btCapsuleShape.btCapsuleShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin": __ZNK14btCapsuleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin__params": "btVector3 const*, btVector3*, int", 
    "btCapsuleShape": __ZN14btCapsuleShapeC2Eff, 
    "btCapsuleShape_1": __ZN14btCapsuleShapeC1Eff, 
    "btCapsuleShape_1__params": "float, float", 
    "btCapsuleShape__params": "float, float", 
    "calculateLocalInertia": __ZNK14btCapsuleShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "calculateSerializeBufferSize": __ZNK14btCapsuleShape28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "getAabb": __ZNK14btCapsuleShape7getAabbERK11btTransformR9btVector3S4_, 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "getName": __ZNK14btCapsuleShape7getNameEv, 
    "getName__params": "", 
    "localGetSupportingVertexWithoutMargin": __ZNK14btCapsuleShape37localGetSupportingVertexWithoutMarginERK9btVector3, 
    "localGetSupportingVertexWithoutMargin__params": "btVector3 const&", 
    "serialize": __ZNK14btCapsuleShape9serializeEPvP12btSerializer, 
    "serialize__params": "void*, btSerializer*", 
    "setLocalScaling": __ZN14btCapsuleShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "setMargin": __ZN14btCapsuleShape9setMarginEf, 
    "setMargin__params": "float", 
    "~btCapsuleShape": __ZN14btCapsuleShapeD0Ev, 
    "~btCapsuleShape_1": __ZN14btCapsuleShapeD1Ev, 
    "~btCapsuleShape_1__params": "", 
    "~btCapsuleShape__params": ""
  }, 
  "btCapsuleShapeX": {
    "__new__": function() { var ret = _malloc(_struct_btCapsuleShapeX___SIZE); Module._.btCapsuleShapeX.btCapsuleShapeX.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btCapsuleShapeX___SIZE); Module._.btCapsuleShapeX.btCapsuleShapeX_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btCapsuleShapeX": __ZN15btCapsuleShapeXC1Eff, 
    "btCapsuleShapeX_1": __ZN15btCapsuleShapeXC2Eff, 
    "btCapsuleShapeX_1__params": "float, float", 
    "btCapsuleShapeX__params": "float, float", 
    "getName": __ZNK15btCapsuleShapeX7getNameEv, 
    "getName__params": "", 
    "~btCapsuleShapeX": __ZN15btCapsuleShapeXD0Ev, 
    "~btCapsuleShapeX_1": __ZN15btCapsuleShapeXD1Ev, 
    "~btCapsuleShapeX_1__params": "", 
    "~btCapsuleShapeX__params": ""
  }, 
  "btCapsuleShapeZ": {
    "__new__": function() { var ret = _malloc(_struct_btCapsuleShapeZ___SIZE); Module._.btCapsuleShapeZ.btCapsuleShapeZ.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btCapsuleShapeZ___SIZE); Module._.btCapsuleShapeZ.btCapsuleShapeZ_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btCapsuleShapeZ": __ZN15btCapsuleShapeZC1Eff, 
    "btCapsuleShapeZ_1": __ZN15btCapsuleShapeZC2Eff, 
    "btCapsuleShapeZ_1__params": "float, float", 
    "btCapsuleShapeZ__params": "float, float", 
    "getName": __ZNK15btCapsuleShapeZ7getNameEv, 
    "getName__params": "", 
    "~btCapsuleShapeZ": __ZN15btCapsuleShapeZD0Ev, 
    "~btCapsuleShapeZ_1": __ZN15btCapsuleShapeZD1Ev, 
    "~btCapsuleShapeZ_1__params": "", 
    "~btCapsuleShapeZ__params": ""
  }, 
  "btCharacterControllerInterface": {
    "~btCharacterControllerInterface": __ZN30btCharacterControllerInterfaceD1Ev, 
    "~btCharacterControllerInterface_1": __ZN30btCharacterControllerInterfaceD0Ev, 
    "~btCharacterControllerInterface_1__params": "", 
    "~btCharacterControllerInterface__params": ""
  }, 
  "btClampNormal": __Z13btClampNormalRK9btVector3S1_S1_fRS_, 
  "btClampNormal__params": "btVector3 const&, btVector3 const&, btVector3 const&, float, btVector3&", 
  "btClock": {
    "__new__": function() { var ret = _malloc(_struct_btClock___SIZE); Module._.btClock.btClock.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btClock___SIZE); Module._.btClock.btClock_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__2": function() { var ret = _malloc(_struct_btClock___SIZE); Module._.btClock.btClock_2.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__3": function() { var ret = _malloc(_struct_btClock___SIZE); Module._.btClock.btClock_3.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btClock": __ZN7btClockC2Ev, 
    "btClock_1": __ZN7btClockC1ERKS_, 
    "btClock_1__params": "btClock const&", 
    "btClock_2": __ZN7btClockC2ERKS_, 
    "btClock_2__params": "btClock const&", 
    "btClock_3": __ZN7btClockC1Ev, 
    "btClock_3__params": "", 
    "btClock__params": "", 
    "getTimeMicroseconds": __ZN7btClock19getTimeMicrosecondsEv, 
    "getTimeMicroseconds__params": "", 
    "getTimeMilliseconds": __ZN7btClock19getTimeMillisecondsEv, 
    "getTimeMilliseconds__params": "", 
    "operator=": __ZN7btClockaSERKS_, 
    "operator=__params": "btClock const&", 
    "reset": __ZN7btClock5resetEv, 
    "reset__params": "", 
    "~btClock": __ZN7btClockD1Ev, 
    "~btClock_1": __ZN7btClockD2Ev, 
    "~btClock_1__params": "", 
    "~btClock__params": ""
  }, 
  "btClosestNotMeConvexResultCallback": {
    "addSingleResult": __ZN34btClosestNotMeConvexResultCallback15addSingleResultERN16btCollisionWorld17LocalConvexResultEb, 
    "addSingleResult__params": "btCollisionWorld::LocalConvexResult&, bool", 
    "needsCollision": __ZNK34btClosestNotMeConvexResultCallback14needsCollisionEP17btBroadphaseProxy, 
    "needsCollision__params": "btBroadphaseProxy*", 
    "~btClosestNotMeConvexResultCallback": __ZN34btClosestNotMeConvexResultCallbackD1Ev, 
    "~btClosestNotMeConvexResultCallback_1": __ZN34btClosestNotMeConvexResultCallbackD0Ev, 
    "~btClosestNotMeConvexResultCallback_1__params": "", 
    "~btClosestNotMeConvexResultCallback__params": ""
  }, 
  "btCollisionAlgorithm": {
    "__new__": function() { var ret = _malloc(_struct_btCollisionAlgorithm___SIZE); Module._.btCollisionAlgorithm.btCollisionAlgorithm.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btCollisionAlgorithm___SIZE); Module._.btCollisionAlgorithm.btCollisionAlgorithm_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btCollisionAlgorithm": __ZN20btCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo, 
    "btCollisionAlgorithm_1": __ZN20btCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfo, 
    "btCollisionAlgorithm_1__params": "btCollisionAlgorithmConstructionInfo const&", 
    "btCollisionAlgorithm__params": "btCollisionAlgorithmConstructionInfo const&", 
    "~btCollisionAlgorithm": __ZN20btCollisionAlgorithmD1Ev, 
    "~btCollisionAlgorithm_1": __ZN20btCollisionAlgorithmD0Ev, 
    "~btCollisionAlgorithm_1__params": "", 
    "~btCollisionAlgorithm__params": ""
  }, 
  "btCollisionAlgorithmCreateFunc": {
    "CreateCollisionAlgorithm": __ZN30btCollisionAlgorithmCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS3_, 
    "CreateCollisionAlgorithm__params": "btCollisionAlgorithmConstructionInfo&, btCollisionObject*, btCollisionObject*", 
    "~btCollisionAlgorithmCreateFunc": __ZN30btCollisionAlgorithmCreateFuncD1Ev, 
    "~btCollisionAlgorithmCreateFunc_1": __ZN30btCollisionAlgorithmCreateFuncD0Ev, 
    "~btCollisionAlgorithmCreateFunc_1__params": "", 
    "~btCollisionAlgorithmCreateFunc__params": ""
  }, 
  "btCollisionConfiguration": {
    "~btCollisionConfiguration": __ZN24btCollisionConfigurationD1Ev, 
    "~btCollisionConfiguration_1": __ZN24btCollisionConfigurationD0Ev, 
    "~btCollisionConfiguration_1__params": "", 
    "~btCollisionConfiguration__params": ""
  }, 
  "btCollisionDispatcher": {
    "__new__": function() { var ret = _malloc(_struct_btCollisionDispatcher___SIZE); Module._.btCollisionDispatcher.btCollisionDispatcher.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btCollisionDispatcher___SIZE); Module._.btCollisionDispatcher.btCollisionDispatcher_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "allocateCollisionAlgorithm": __ZN21btCollisionDispatcher26allocateCollisionAlgorithmEi, 
    "allocateCollisionAlgorithm__params": "int", 
    "btCollisionDispatcher": __ZN21btCollisionDispatcherC1EP24btCollisionConfiguration, 
    "btCollisionDispatcher_1": __ZN21btCollisionDispatcherC2EP24btCollisionConfiguration, 
    "btCollisionDispatcher_1__params": "btCollisionConfiguration*", 
    "btCollisionDispatcher__params": "btCollisionConfiguration*", 
    "clearManifold": __ZN21btCollisionDispatcher13clearManifoldEP20btPersistentManifold, 
    "clearManifold__params": "btPersistentManifold*", 
    "defaultNearCallback": __ZN21btCollisionDispatcher19defaultNearCallbackER16btBroadphasePairRS_RK16btDispatcherInfo, 
    "defaultNearCallback__params": "btBroadphasePair&, btCollisionDispatcher&, btDispatcherInfo const&", 
    "dispatchAllCollisionPairs": __ZN21btCollisionDispatcher25dispatchAllCollisionPairsEP22btOverlappingPairCacheRK16btDispatcherInfoP12btDispatcher, 
    "dispatchAllCollisionPairs__params": "btOverlappingPairCache*, btDispatcherInfo const&, btDispatcher*", 
    "findAlgorithm": __ZN21btCollisionDispatcher13findAlgorithmEP17btCollisionObjectS1_P20btPersistentManifold, 
    "findAlgorithm__params": "btCollisionObject*, btCollisionObject*, btPersistentManifold*", 
    "freeCollisionAlgorithm": __ZN21btCollisionDispatcher22freeCollisionAlgorithmEPv, 
    "freeCollisionAlgorithm__params": "void*", 
    "getInternalManifoldPointer": __ZN21btCollisionDispatcher26getInternalManifoldPointerEv, 
    "getInternalManifoldPointer__params": "", 
    "getManifoldByIndexInternal": __ZN21btCollisionDispatcher26getManifoldByIndexInternalEi, 
    "getManifoldByIndexInternal__params": "int", 
    "getNewManifold": __ZN21btCollisionDispatcher14getNewManifoldEPvS0_, 
    "getNewManifold__params": "void*, void*", 
    "getNumManifolds": __ZNK21btCollisionDispatcher15getNumManifoldsEv, 
    "getNumManifolds__params": "", 
    "needsCollision": __ZN21btCollisionDispatcher14needsCollisionEP17btCollisionObjectS1_, 
    "needsCollision__params": "btCollisionObject*, btCollisionObject*", 
    "needsResponse": __ZN21btCollisionDispatcher13needsResponseEP17btCollisionObjectS1_, 
    "needsResponse__params": "btCollisionObject*, btCollisionObject*", 
    "registerCollisionCreateFunc": __ZN21btCollisionDispatcher27registerCollisionCreateFuncEiiP30btCollisionAlgorithmCreateFunc, 
    "registerCollisionCreateFunc__params": "int, int, btCollisionAlgorithmCreateFunc*", 
    "releaseManifold": __ZN21btCollisionDispatcher15releaseManifoldEP20btPersistentManifold, 
    "releaseManifold__params": "btPersistentManifold*", 
    "~btCollisionDispatcher": __ZN21btCollisionDispatcherD0Ev, 
    "~btCollisionDispatcher_1": __ZN21btCollisionDispatcherD1Ev, 
    "~btCollisionDispatcher_1__params": "", 
    "~btCollisionDispatcher_2": __ZN21btCollisionDispatcherD2Ev, 
    "~btCollisionDispatcher_2__params": "", 
    "~btCollisionDispatcher__params": ""
  }, 
  "btCollisionObject": {
    "__new__": function() { var ret = _malloc(_struct_btCollisionObject___SIZE); Module._.btCollisionObject.btCollisionObject.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btCollisionObject___SIZE); Module._.btCollisionObject.btCollisionObject_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "activate": __ZN17btCollisionObject8activateEb, 
    "activate__params": "bool", 
    "btCollisionObject": __ZN17btCollisionObjectC2Ev, 
    "btCollisionObject_1": __ZN17btCollisionObjectC1Ev, 
    "btCollisionObject_1__params": "", 
    "btCollisionObject__params": "", 
    "calculateSerializeBufferSize": __ZNK17btCollisionObject28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "checkCollideWithOverride": __ZN17btCollisionObject24checkCollideWithOverrideEPS_, 
    "checkCollideWithOverride__params": "btCollisionObject*", 
    "forceActivationState": __ZN17btCollisionObject20forceActivationStateEi, 
    "forceActivationState__params": "int", 
    "getInternalType": __ZNK17btCollisionObject15getInternalTypeEv, 
    "getInternalType__params": "", 
    "serialize": __ZNK17btCollisionObject9serializeEPvP12btSerializer, 
    "serializeSingleObject": __ZNK17btCollisionObject21serializeSingleObjectEP12btSerializer, 
    "serializeSingleObject__params": "btSerializer*", 
    "serialize__params": "void*, btSerializer*", 
    "setActivationState": __ZN17btCollisionObject18setActivationStateEi, 
    "setActivationState__params": "int", 
    "setCollisionShape": __ZN17btCollisionObject17setCollisionShapeEP16btCollisionShape, 
    "setCollisionShape__params": "btCollisionShape*", 
    "~btCollisionObject": __ZN17btCollisionObjectD1Ev, 
    "~btCollisionObject_1": __ZN17btCollisionObjectD0Ev, 
    "~btCollisionObject_1__params": "", 
    "~btCollisionObject_2": __ZN17btCollisionObjectD2Ev, 
    "~btCollisionObject_2__params": "", 
    "~btCollisionObject__params": ""
  }, 
  "btCollisionPairCallback": {
    "processOverlap": __ZN23btCollisionPairCallback14processOverlapER16btBroadphasePair, 
    "processOverlap__params": "btBroadphasePair&", 
    "~btCollisionPairCallback": __ZN23btCollisionPairCallbackD1Ev, 
    "~btCollisionPairCallback_1": __ZN23btCollisionPairCallbackD0Ev, 
    "~btCollisionPairCallback_1__params": "", 
    "~btCollisionPairCallback__params": ""
  }, 
  "btCollisionShape": {
    "calculateSerializeBufferSize": __ZNK16btCollisionShape28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "calculateTemporalAabb": __ZNK16btCollisionShape21calculateTemporalAabbERK11btTransformRK9btVector3S5_fRS3_S6_, 
    "calculateTemporalAabb__params": "btTransform const&, btVector3 const&, btVector3 const&, float, btVector3&, btVector3&", 
    "getAngularMotionDisc": __ZNK16btCollisionShape20getAngularMotionDiscEv, 
    "getAngularMotionDisc__params": "", 
    "getBoundingSphere": __ZNK16btCollisionShape17getBoundingSphereER9btVector3Rf, 
    "getBoundingSphere__params": "btVector3&, float&", 
    "getContactBreakingThreshold": __ZNK16btCollisionShape27getContactBreakingThresholdEf, 
    "getContactBreakingThreshold__params": "float", 
    "serialize": __ZNK16btCollisionShape9serializeEPvP12btSerializer, 
    "serializeSingleShape": __ZNK16btCollisionShape20serializeSingleShapeEP12btSerializer, 
    "serializeSingleShape__params": "btSerializer*", 
    "serialize__params": "void*, btSerializer*", 
    "~btCollisionShape": __ZN16btCollisionShapeD0Ev, 
    "~btCollisionShape_1": __ZN16btCollisionShapeD1Ev, 
    "~btCollisionShape_1__params": "", 
    "~btCollisionShape__params": ""
  }, 
  "btCollisionWorld": {
    "ClosestConvexResultCallback": {
      "addSingleResult": __ZN16btCollisionWorld27ClosestConvexResultCallback15addSingleResultERNS_17LocalConvexResultEb, 
      "addSingleResult__params": "btCollisionWorld::LocalConvexResult&, bool", 
      "~ClosestConvexResultCallback": __ZN16btCollisionWorld27ClosestConvexResultCallbackD1Ev, 
      "~ClosestConvexResultCallback_1": __ZN16btCollisionWorld27ClosestConvexResultCallbackD0Ev, 
      "~ClosestConvexResultCallback_1__params": "", 
      "~ClosestConvexResultCallback__params": ""
    }, 
    "ClosestRayResultCallback": {
      "addSingleResult": __ZN16btCollisionWorld24ClosestRayResultCallback15addSingleResultERNS_14LocalRayResultEb, 
      "addSingleResult__params": "btCollisionWorld::LocalRayResult&, bool", 
      "~ClosestRayResultCallback": __ZN16btCollisionWorld24ClosestRayResultCallbackD1Ev, 
      "~ClosestRayResultCallback_1": __ZN16btCollisionWorld24ClosestRayResultCallbackD0Ev, 
      "~ClosestRayResultCallback_1__params": "", 
      "~ClosestRayResultCallback__params": ""
    }, 
    "ConvexResultCallback": {
      "needsCollision": __ZNK16btCollisionWorld20ConvexResultCallback14needsCollisionEP17btBroadphaseProxy, 
      "needsCollision__params": "btBroadphaseProxy*", 
      "~ConvexResultCallback": __ZN16btCollisionWorld20ConvexResultCallbackD1Ev, 
      "~ConvexResultCallback_1": __ZN16btCollisionWorld20ConvexResultCallbackD0Ev, 
      "~ConvexResultCallback_1__params": "", 
      "~ConvexResultCallback__params": ""
    }, 
    "RayResultCallback": {
      "needsCollision": __ZNK16btCollisionWorld17RayResultCallback14needsCollisionEP17btBroadphaseProxy, 
      "needsCollision__params": "btBroadphaseProxy*", 
      "~RayResultCallback": __ZN16btCollisionWorld17RayResultCallbackD1Ev, 
      "~RayResultCallback_1": __ZN16btCollisionWorld17RayResultCallbackD0Ev, 
      "~RayResultCallback_1__params": "", 
      "~RayResultCallback__params": ""
    }, 
    "__new__": function() { var ret = _malloc(_struct_btCollisionWorld___SIZE); Module._.btCollisionWorld.btCollisionWorld.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btCollisionWorld___SIZE); Module._.btCollisionWorld.btCollisionWorld_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "addCollisionObject": __ZN16btCollisionWorld18addCollisionObjectEP17btCollisionObjectss, 
    "addCollisionObject__params": "btCollisionObject*, short, short", 
    "btCollisionWorld": __ZN16btCollisionWorldC2EP12btDispatcherP21btBroadphaseInterfaceP24btCollisionConfiguration, 
    "btCollisionWorld_1": __ZN16btCollisionWorldC1EP12btDispatcherP21btBroadphaseInterfaceP24btCollisionConfiguration, 
    "btCollisionWorld_1__params": "btDispatcher*, btBroadphaseInterface*, btCollisionConfiguration*", 
    "btCollisionWorld__params": "btDispatcher*, btBroadphaseInterface*, btCollisionConfiguration*", 
    "contactPairTest": __ZN16btCollisionWorld15contactPairTestEP17btCollisionObjectS1_RNS_21ContactResultCallbackE, 
    "contactPairTest__params": "btCollisionObject*, btCollisionObject*, btCollisionWorld::ContactResultCallback&", 
    "contactTest": __ZN16btCollisionWorld11contactTestEP17btCollisionObjectRNS_21ContactResultCallbackE, 
    "contactTest__params": "btCollisionObject*, btCollisionWorld::ContactResultCallback&", 
    "convexSweepTest": __ZNK16btCollisionWorld15convexSweepTestEPK13btConvexShapeRK11btTransformS5_RNS_20ConvexResultCallbackEf, 
    "convexSweepTest__params": "btConvexShape const*, btTransform const&, btTransform const&, btCollisionWorld::ConvexResultCallback&, float", 
    "debugDrawObject": __ZN16btCollisionWorld15debugDrawObjectERK11btTransformPK16btCollisionShapeRK9btVector3, 
    "debugDrawObject__params": "btTransform const&, btCollisionShape const*, btVector3 const&", 
    "debugDrawWorld": __ZN16btCollisionWorld14debugDrawWorldEv, 
    "debugDrawWorld__params": "", 
    "getCollisionObjectArray": __ZN16btCollisionWorld23getCollisionObjectArrayEv, 
    "getCollisionObjectArray__params": "", 
    "getDebugDrawer": __ZN16btCollisionWorld14getDebugDrawerEv, 
    "getDebugDrawer__params": "", 
    "getNumCollisionObjects": __ZNK16btCollisionWorld22getNumCollisionObjectsEv, 
    "getNumCollisionObjects__params": "", 
    "objectQuerySingle": __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD1Ev, 
    "objectQuerySingle_1": __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD0Ev, 
    "objectQuerySingle_10": __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitE_0RK9btVector3SG_fii, 
    "objectQuerySingle_10__params": "btConvexShape const*, btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::ConvexResultCallback&, float)::BridgeTriangleConvexcastCallback::reportHit(btVector3 const&, btVector3 const&, float, int, int", 
    "objectQuerySingle_11": __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdder15addSingleResultERNS_17LocalConvexResultEb, 
    "objectQuerySingle_11__params": "btConvexShape const*, btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::ConvexResultCallback&, float)::LocalInfoAdder::addSingleResult(btCollisionWorld::LocalConvexResult&, bool", 
    "objectQuerySingle_12": __ZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEf, 
    "objectQuerySingle_12__params": "btConvexShape const*, btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::ConvexResultCallback&, float", 
    "objectQuerySingle_1__params": "btConvexShape const*, btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::ConvexResultCallback&, float)::LocalInfoAdder::~LocalInfoAdder(", 
    "objectQuerySingle_2": __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN14LocalInfoAdderD2Ev, 
    "objectQuerySingle_2__params": "btConvexShape const*, btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::ConvexResultCallback&, float)::LocalInfoAdder::~LocalInfoAdder(", 
    "objectQuerySingle_3": __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0E_0v, 
    "objectQuerySingle_3__params": "btConvexShape const*, btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::ConvexResultCallback&, float)::BridgeTriangleConvexcastCallback::~BridgeTriangleConvexcastCallback(", 
    "objectQuerySingle_4": __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1E_0v, 
    "objectQuerySingle_4__params": "btConvexShape const*, btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::ConvexResultCallback&, float)::BridgeTriangleConvexcastCallback::~BridgeTriangleConvexcastCallback(", 
    "objectQuerySingle_5": __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD2E_0v, 
    "objectQuerySingle_5__params": "btConvexShape const*, btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::ConvexResultCallback&, float)::BridgeTriangleConvexcastCallback::~BridgeTriangleConvexcastCallback(", 
    "objectQuerySingle_6": __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD0Ev, 
    "objectQuerySingle_6__params": "btConvexShape const*, btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::ConvexResultCallback&, float)::BridgeTriangleConvexcastCallback::~BridgeTriangleConvexcastCallback(", 
    "objectQuerySingle_7": __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD1Ev, 
    "objectQuerySingle_7__params": "btConvexShape const*, btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::ConvexResultCallback&, float)::BridgeTriangleConvexcastCallback::~BridgeTriangleConvexcastCallback(", 
    "objectQuerySingle_8": __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallbackD2Ev, 
    "objectQuerySingle_8__params": "btConvexShape const*, btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::ConvexResultCallback&, float)::BridgeTriangleConvexcastCallback::~BridgeTriangleConvexcastCallback(", 
    "objectQuerySingle_9": __ZZN16btCollisionWorld17objectQuerySingleEPK13btConvexShapeRK11btTransformS5_P17btCollisionObjectPK16btCollisionShapeS5_RNS_20ConvexResultCallbackEfEN32BridgeTriangleConvexcastCallback9reportHitERK9btVector3SG_fii, 
    "objectQuerySingle_9__params": "btConvexShape const*, btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::ConvexResultCallback&, float)::BridgeTriangleConvexcastCallback::reportHit(btVector3 const&, btVector3 const&, float, int, int", 
    "objectQuerySingle__params": "btConvexShape const*, btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::ConvexResultCallback&, float)::LocalInfoAdder::~LocalInfoAdder(", 
    "performDiscreteCollisionDetection": __ZN16btCollisionWorld33performDiscreteCollisionDetectionEv, 
    "performDiscreteCollisionDetection__params": "", 
    "rayTest": __ZNK16btCollisionWorld7rayTestERK9btVector3S2_RNS_17RayResultCallbackE, 
    "rayTestSingle": __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D1Ev, 
    "rayTestSingle_1": __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D0Ev, 
    "rayTestSingle_10": __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitE_0RK9btVector3fii, 
    "rayTestSingle_10__params": "btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::RayResultCallback&)::BridgeTriangleRaycastCallback::reportHit(btVector3 const&, float, int, int", 
    "rayTestSingle_11": __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder215addSingleResultERNS_14LocalRayResultEb, 
    "rayTestSingle_11__params": "btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::RayResultCallback&)::LocalInfoAdder2::addSingleResult(btCollisionWorld::LocalRayResult&, bool", 
    "rayTestSingle_12": __ZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackE, 
    "rayTestSingle_12__params": "btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::RayResultCallback&", 
    "rayTestSingle_1__params": "btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::RayResultCallback&)::LocalInfoAdder2::~LocalInfoAdder2(", 
    "rayTestSingle_2": __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN15LocalInfoAdder2D2Ev, 
    "rayTestSingle_2__params": "btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::RayResultCallback&)::LocalInfoAdder2::~LocalInfoAdder2(", 
    "rayTestSingle_3": __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0E_0v, 
    "rayTestSingle_3__params": "btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::RayResultCallback&)::BridgeTriangleRaycastCallback::~BridgeTriangleRaycastCallback(", 
    "rayTestSingle_4": __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1E_0v, 
    "rayTestSingle_4__params": "btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::RayResultCallback&)::BridgeTriangleRaycastCallback::~BridgeTriangleRaycastCallback(", 
    "rayTestSingle_5": __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD2E_0v, 
    "rayTestSingle_5__params": "btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::RayResultCallback&)::BridgeTriangleRaycastCallback::~BridgeTriangleRaycastCallback(", 
    "rayTestSingle_6": __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD0Ev, 
    "rayTestSingle_6__params": "btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::RayResultCallback&)::BridgeTriangleRaycastCallback::~BridgeTriangleRaycastCallback(", 
    "rayTestSingle_7": __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD1Ev, 
    "rayTestSingle_7__params": "btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::RayResultCallback&)::BridgeTriangleRaycastCallback::~BridgeTriangleRaycastCallback(", 
    "rayTestSingle_8": __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallbackD2Ev, 
    "rayTestSingle_8__params": "btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::RayResultCallback&)::BridgeTriangleRaycastCallback::~BridgeTriangleRaycastCallback(", 
    "rayTestSingle_9": __ZZN16btCollisionWorld13rayTestSingleERK11btTransformS2_P17btCollisionObjectPK16btCollisionShapeS2_RNS_17RayResultCallbackEEN29BridgeTriangleRaycastCallback9reportHitERK9btVector3fii, 
    "rayTestSingle_9__params": "btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::RayResultCallback&)::BridgeTriangleRaycastCallback::reportHit(btVector3 const&, float, int, int", 
    "rayTestSingle__params": "btTransform const&, btTransform const&, btCollisionObject*, btCollisionShape const*, btTransform const&, btCollisionWorld::RayResultCallback&)::LocalInfoAdder2::~LocalInfoAdder2(", 
    "rayTest__params": "btVector3 const&, btVector3 const&, btCollisionWorld::RayResultCallback&", 
    "removeCollisionObject": __ZN16btCollisionWorld21removeCollisionObjectEP17btCollisionObject, 
    "removeCollisionObject__params": "btCollisionObject*", 
    "serialize": __ZN16btCollisionWorld9serializeEP12btSerializer, 
    "serializeCollisionObjects": __ZN16btCollisionWorld25serializeCollisionObjectsEP12btSerializer, 
    "serializeCollisionObjects__params": "btSerializer*", 
    "serialize__params": "btSerializer*", 
    "setDebugDrawer": __ZN16btCollisionWorld14setDebugDrawerEP12btIDebugDraw, 
    "setDebugDrawer__params": "btIDebugDraw*", 
    "updateAabbs": __ZN16btCollisionWorld11updateAabbsEv, 
    "updateAabbs__params": "", 
    "updateSingleAabb": __ZN16btCollisionWorld16updateSingleAabbEP17btCollisionObject, 
    "updateSingleAabb__params": "btCollisionObject*", 
    "~btCollisionWorld": __ZN16btCollisionWorldD1Ev, 
    "~btCollisionWorld_1": __ZN16btCollisionWorldD0Ev, 
    "~btCollisionWorld_1__params": "", 
    "~btCollisionWorld_2": __ZN16btCollisionWorldD2Ev, 
    "~btCollisionWorld_2__params": "", 
    "~btCollisionWorld__params": ""
  }, 
  "btCompoundCollisionAlgorithm": {
    "CreateFunc": {
      "CreateCollisionAlgorithm": __ZN28btCompoundCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, 
      "CreateCollisionAlgorithm__params": "btCollisionAlgorithmConstructionInfo&, btCollisionObject*, btCollisionObject*", 
      "~CreateFunc": __ZN28btCompoundCollisionAlgorithm10CreateFuncD1Ev, 
      "~CreateFunc_1": __ZN28btCompoundCollisionAlgorithm10CreateFuncD0Ev, 
      "~CreateFunc_1__params": "", 
      "~CreateFunc__params": ""
    }, 
    "SwappedCreateFunc": {
      "CreateCollisionAlgorithm": __ZN28btCompoundCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, 
      "CreateCollisionAlgorithm__params": "btCollisionAlgorithmConstructionInfo&, btCollisionObject*, btCollisionObject*", 
      "~SwappedCreateFunc": __ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD1Ev, 
      "~SwappedCreateFunc_1": __ZN28btCompoundCollisionAlgorithm17SwappedCreateFuncD0Ev, 
      "~SwappedCreateFunc_1__params": "", 
      "~SwappedCreateFunc__params": ""
    }, 
    "__new__": function() { var ret = _malloc(_struct_btCompoundCollisionAlgorithm___SIZE); Module._.btCompoundCollisionAlgorithm.btCompoundCollisionAlgorithm.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btCompoundCollisionAlgorithm___SIZE); Module._.btCompoundCollisionAlgorithm.btCompoundCollisionAlgorithm_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btCompoundCollisionAlgorithm": __ZN28btCompoundCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b, 
    "btCompoundCollisionAlgorithm_1": __ZN28btCompoundCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b, 
    "btCompoundCollisionAlgorithm_1__params": "btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*, bool", 
    "btCompoundCollisionAlgorithm__params": "btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*, bool", 
    "calculateTimeOfImpact": __ZN28btCompoundCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "calculateTimeOfImpact__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "getAllContactManifolds": __ZN28btCompoundCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, 
    "getAllContactManifolds__params": "btAlignedObjectArray<btPersistentManifold*>&", 
    "preallocateChildAlgorithms": __ZN28btCompoundCollisionAlgorithm26preallocateChildAlgorithmsEP17btCollisionObjectS1_, 
    "preallocateChildAlgorithms__params": "btCollisionObject*, btCollisionObject*", 
    "processCollision": __ZN28btCompoundCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "processCollision__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "removeChildAlgorithms": __ZN28btCompoundCollisionAlgorithm21removeChildAlgorithmsEv, 
    "removeChildAlgorithms__params": "", 
    "~btCompoundCollisionAlgorithm": __ZN28btCompoundCollisionAlgorithmD0Ev, 
    "~btCompoundCollisionAlgorithm_1": __ZN28btCompoundCollisionAlgorithmD1Ev, 
    "~btCompoundCollisionAlgorithm_1__params": "", 
    "~btCompoundCollisionAlgorithm_2": __ZN28btCompoundCollisionAlgorithmD2Ev, 
    "~btCompoundCollisionAlgorithm_2__params": "", 
    "~btCompoundCollisionAlgorithm__params": ""
  }, 
  "btCompoundLeafCallback": {
    "Process": __ZN22btCompoundLeafCallback7ProcessEPK10btDbvtNode, 
    "ProcessChildShape": __ZN22btCompoundLeafCallback17ProcessChildShapeEP16btCollisionShapei, 
    "ProcessChildShape__params": "btCollisionShape*, int", 
    "Process__params": "btDbvtNode const*", 
    "~btCompoundLeafCallback": __ZN22btCompoundLeafCallbackD1Ev, 
    "~btCompoundLeafCallback_1": __ZN22btCompoundLeafCallbackD0Ev, 
    "~btCompoundLeafCallback_1__params": "", 
    "~btCompoundLeafCallback__params": ""
  }, 
  "btCompoundShape": {
    "__new__": function() { var ret = _malloc(_struct_btCompoundShape___SIZE); Module._.btCompoundShape.btCompoundShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btCompoundShape___SIZE); Module._.btCompoundShape.btCompoundShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "addChildShape": __ZN15btCompoundShape13addChildShapeERK11btTransformP16btCollisionShape, 
    "addChildShape__params": "btTransform const&, btCollisionShape*", 
    "btCompoundShape": __ZN15btCompoundShapeC1Eb, 
    "btCompoundShape_1": __ZN15btCompoundShapeC2Eb, 
    "btCompoundShape_1__params": "bool", 
    "btCompoundShape__params": "bool", 
    "calculateLocalInertia": __ZNK15btCompoundShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "calculatePrincipalAxisTransform": __ZNK15btCompoundShape31calculatePrincipalAxisTransformEPfR11btTransformR9btVector3, 
    "calculatePrincipalAxisTransform__params": "float*, btTransform&, btVector3&", 
    "calculateSerializeBufferSize": __ZNK15btCompoundShape28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "createAabbTreeFromChildren": __ZN15btCompoundShape26createAabbTreeFromChildrenEv, 
    "createAabbTreeFromChildren__params": "", 
    "getAabb": __ZNK15btCompoundShape7getAabbERK11btTransformR9btVector3S4_, 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "getLocalScaling": __ZNK15btCompoundShape15getLocalScalingEv, 
    "getLocalScaling__params": "", 
    "getMargin": __ZNK15btCompoundShape9getMarginEv, 
    "getMargin__params": "", 
    "getName": __ZNK15btCompoundShape7getNameEv, 
    "getName__params": "", 
    "recalculateLocalAabb": __ZN15btCompoundShape20recalculateLocalAabbEv, 
    "recalculateLocalAabb__params": "", 
    "removeChildShape": __ZN15btCompoundShape16removeChildShapeEP16btCollisionShape, 
    "removeChildShapeByIndex": __ZN15btCompoundShape23removeChildShapeByIndexEi, 
    "removeChildShapeByIndex__params": "int", 
    "removeChildShape__params": "btCollisionShape*", 
    "serialize": __ZNK15btCompoundShape9serializeEPvP12btSerializer, 
    "serialize__params": "void*, btSerializer*", 
    "setLocalScaling": __ZN15btCompoundShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "setMargin": __ZN15btCompoundShape9setMarginEf, 
    "setMargin__params": "float", 
    "updateChildTransform": __ZN15btCompoundShape20updateChildTransformEiRK11btTransform, 
    "updateChildTransform__params": "int, btTransform const&", 
    "~btCompoundShape": __ZN15btCompoundShapeD0Ev, 
    "~btCompoundShape_1": __ZN15btCompoundShapeD1Ev, 
    "~btCompoundShape_1__params": "", 
    "~btCompoundShape_2": __ZN15btCompoundShapeD2Ev, 
    "~btCompoundShape_2__params": "", 
    "~btCompoundShape__params": ""
  }, 
  "btConcaveShape": {
    "__new__": function() { var ret = _malloc(_struct_btConcaveShape___SIZE); Module._.btConcaveShape.btConcaveShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btConcaveShape___SIZE); Module._.btConcaveShape.btConcaveShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btConcaveShape": __ZN14btConcaveShapeC2Ev, 
    "btConcaveShape_1": __ZN14btConcaveShapeC1Ev, 
    "btConcaveShape_1__params": "", 
    "btConcaveShape__params": "", 
    "getMargin": __ZNK14btConcaveShape9getMarginEv, 
    "getMargin__params": "", 
    "setMargin": __ZN14btConcaveShape9setMarginEf, 
    "setMargin__params": "float", 
    "~btConcaveShape": __ZN14btConcaveShapeD1Ev, 
    "~btConcaveShape_1": __ZN14btConcaveShapeD0Ev, 
    "~btConcaveShape_1__params": "", 
    "~btConcaveShape_2": __ZN14btConcaveShapeD2Ev, 
    "~btConcaveShape_2__params": "", 
    "~btConcaveShape__params": ""
  }, 
  "btConeShape": {
    "__new__": function() { var ret = _malloc(_struct_btConeShape___SIZE); Module._.btConeShape.btConeShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btConeShape___SIZE); Module._.btConeShape.btConeShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin": __ZNK11btConeShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin__params": "btVector3 const*, btVector3*, int", 
    "btConeShape": __ZN11btConeShapeC2Eff, 
    "btConeShape_1": __ZN11btConeShapeC1Eff, 
    "btConeShape_1__params": "float, float", 
    "btConeShape__params": "float, float", 
    "calculateLocalInertia": __ZNK11btConeShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "coneLocalSupport": __ZNK11btConeShape16coneLocalSupportERK9btVector3, 
    "coneLocalSupport__params": "btVector3 const&", 
    "getName": __ZNK11btConeShape7getNameEv, 
    "getName__params": "", 
    "localGetSupportingVertex": __ZNK11btConeShape24localGetSupportingVertexERK9btVector3, 
    "localGetSupportingVertexWithoutMargin": __ZNK11btConeShape37localGetSupportingVertexWithoutMarginERK9btVector3, 
    "localGetSupportingVertexWithoutMargin__params": "btVector3 const&", 
    "localGetSupportingVertex__params": "btVector3 const&", 
    "setConeUpIndex": __ZN11btConeShape14setConeUpIndexEi, 
    "setConeUpIndex__params": "int", 
    "~btConeShape": __ZN11btConeShapeD0Ev, 
    "~btConeShape_1": __ZN11btConeShapeD1Ev, 
    "~btConeShape_1__params": "", 
    "~btConeShape__params": ""
  }, 
  "btConeShapeX": {
    "__new__": function() { var ret = _malloc(_struct_btConeShapeX___SIZE); Module._.btConeShapeX.btConeShapeX.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btConeShapeX___SIZE); Module._.btConeShapeX.btConeShapeX_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btConeShapeX": __ZN12btConeShapeXC1Eff, 
    "btConeShapeX_1": __ZN12btConeShapeXC2Eff, 
    "btConeShapeX_1__params": "float, float", 
    "btConeShapeX__params": "float, float", 
    "~btConeShapeX": __ZN12btConeShapeXD0Ev, 
    "~btConeShapeX_1": __ZN12btConeShapeXD1Ev, 
    "~btConeShapeX_1__params": "", 
    "~btConeShapeX__params": ""
  }, 
  "btConeShapeZ": {
    "__new__": function() { var ret = _malloc(_struct_btConeShapeZ___SIZE); Module._.btConeShapeZ.btConeShapeZ.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btConeShapeZ___SIZE); Module._.btConeShapeZ.btConeShapeZ_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btConeShapeZ": __ZN12btConeShapeZC1Eff, 
    "btConeShapeZ_1": __ZN12btConeShapeZC2Eff, 
    "btConeShapeZ_1__params": "float, float", 
    "btConeShapeZ__params": "float, float", 
    "~btConeShapeZ": __ZN12btConeShapeZD0Ev, 
    "~btConeShapeZ_1": __ZN12btConeShapeZD1Ev, 
    "~btConeShapeZ_1__params": "", 
    "~btConeShapeZ__params": ""
  }, 
  "btConeTwistConstraint": {
    "GetPointForAngle": __ZNK21btConeTwistConstraint16GetPointForAngleEff, 
    "GetPointForAngle__params": "float, float", 
    "__new__": function() { var ret = _malloc(_struct_btConeTwistConstraint___SIZE); Module._.btConeTwistConstraint.btConeTwistConstraint.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btConeTwistConstraint___SIZE); Module._.btConeTwistConstraint.btConeTwistConstraint_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__2": function() { var ret = _malloc(_struct_btConeTwistConstraint___SIZE); Module._.btConeTwistConstraint.btConeTwistConstraint_2.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__3": function() { var ret = _malloc(_struct_btConeTwistConstraint___SIZE); Module._.btConeTwistConstraint.btConeTwistConstraint_3.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "adjustSwingAxisToUseEllipseNormal": __ZNK21btConeTwistConstraint33adjustSwingAxisToUseEllipseNormalER9btVector3, 
    "adjustSwingAxisToUseEllipseNormal__params": "btVector3&", 
    "btConeTwistConstraint": __ZN21btConeTwistConstraintC1ER11btRigidBodyS1_RK11btTransformS4_, 
    "btConeTwistConstraint_1": __ZN21btConeTwistConstraintC2ER11btRigidBodyS1_RK11btTransformS4_, 
    "btConeTwistConstraint_1__params": "btRigidBody&, btRigidBody&, btTransform const&, btTransform const&", 
    "btConeTwistConstraint_2": __ZN21btConeTwistConstraintC2ER11btRigidBodyRK11btTransform, 
    "btConeTwistConstraint_2__params": "btRigidBody&, btTransform const&", 
    "btConeTwistConstraint_3": __ZN21btConeTwistConstraintC1ER11btRigidBodyRK11btTransform, 
    "btConeTwistConstraint_3__params": "btRigidBody&, btTransform const&", 
    "btConeTwistConstraint__params": "btRigidBody&, btRigidBody&, btTransform const&, btTransform const&", 
    "buildJacobian": __ZN21btConeTwistConstraint13buildJacobianEv, 
    "buildJacobian__params": "", 
    "calcAngleInfo": __ZN21btConeTwistConstraint13calcAngleInfoEv, 
    "calcAngleInfo2": __ZN21btConeTwistConstraint14calcAngleInfo2ERK11btTransformS2_RK11btMatrix3x3S5_, 
    "calcAngleInfo2__params": "btTransform const&, btTransform const&, btMatrix3x3 const&, btMatrix3x3 const&", 
    "calcAngleInfo__params": "", 
    "calculateSerializeBufferSize": __ZNK21btConeTwistConstraint28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "computeConeLimitInfo": __ZN21btConeTwistConstraint20computeConeLimitInfoERK12btQuaternionRfR9btVector3S3_, 
    "computeConeLimitInfo__params": "btQuaternion const&, float&, btVector3&, float&", 
    "computeTwistLimitInfo": __ZN21btConeTwistConstraint21computeTwistLimitInfoERK12btQuaternionRfR9btVector3, 
    "computeTwistLimitInfo__params": "btQuaternion const&, float&, btVector3&", 
    "getInfo1": __ZN21btConeTwistConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E, 
    "getInfo1NonVirtual": __ZN21btConeTwistConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E, 
    "getInfo1NonVirtual__params": "btTypedConstraint::btConstraintInfo1*", 
    "getInfo1__params": "btTypedConstraint::btConstraintInfo1*", 
    "getInfo2": __ZN21btConeTwistConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E, 
    "getInfo2NonVirtual": __ZN21btConeTwistConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK11btMatrix3x3S8_, 
    "getInfo2NonVirtual__params": "btTypedConstraint::btConstraintInfo2*, btTransform const&, btTransform const&, btMatrix3x3 const&, btMatrix3x3 const&", 
    "getInfo2__params": "btTypedConstraint::btConstraintInfo2*", 
    "getParam": __ZNK21btConeTwistConstraint8getParamEii, 
    "getParam__params": "int, int", 
    "init": __ZN21btConeTwistConstraint4initEv, 
    "init__params": "", 
    "serialize": __ZNK21btConeTwistConstraint9serializeEPvP12btSerializer, 
    "serialize__params": "void*, btSerializer*", 
    "setMotorTarget": __ZN21btConeTwistConstraint14setMotorTargetERK12btQuaternion, 
    "setMotorTargetInConstraintSpace": __ZN21btConeTwistConstraint31setMotorTargetInConstraintSpaceERK12btQuaternion, 
    "setMotorTargetInConstraintSpace__params": "btQuaternion const&", 
    "setMotorTarget__params": "btQuaternion const&", 
    "setParam": __ZN21btConeTwistConstraint8setParamEifi, 
    "setParam__params": "int, float, int", 
    "solveConstraintObsolete": __ZN21btConeTwistConstraint23solveConstraintObsoleteER11btRigidBodyS1_f, 
    "solveConstraintObsolete__params": "btRigidBody&, btRigidBody&, float", 
    "updateRHS": __ZN21btConeTwistConstraint9updateRHSEf, 
    "updateRHS__params": "float", 
    "~btConeTwistConstraint": __ZN21btConeTwistConstraintD0Ev, 
    "~btConeTwistConstraint_1": __ZN21btConeTwistConstraintD1Ev, 
    "~btConeTwistConstraint_1__params": "", 
    "~btConeTwistConstraint__params": ""
  }, 
  "btConnectivityProcessor": {
    "processTriangle": __ZN23btConnectivityProcessor15processTriangleEP9btVector3ii, 
    "processTriangle__params": "btVector3*, int, int", 
    "~btConnectivityProcessor": __ZN23btConnectivityProcessorD1Ev, 
    "~btConnectivityProcessor_1": __ZN23btConnectivityProcessorD0Ev, 
    "~btConnectivityProcessor_1__params": "", 
    "~btConnectivityProcessor__params": ""
  }, 
  "btConstraintSolver": {
    "allSolved": __ZN18btConstraintSolver9allSolvedERK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc, 
    "allSolved__params": "btContactSolverInfo const&, btIDebugDraw*, btStackAlloc*", 
    "prepareSolve": __ZN18btConstraintSolver12prepareSolveEii, 
    "prepareSolve__params": "int, int", 
    "~btConstraintSolver": __ZN18btConstraintSolverD1Ev, 
    "~btConstraintSolver_1": __ZN18btConstraintSolverD0Ev, 
    "~btConstraintSolver_1__params": "", 
    "~btConstraintSolver__params": ""
  }, 
  "btContactArray": {
    "merge_contacts": __ZN14btContactArray14merge_contactsERKS_b, 
    "merge_contacts__params": "btContactArray const&, bool", 
    "merge_contacts_unique": __ZN14btContactArray21merge_contacts_uniqueERKS_, 
    "merge_contacts_unique__params": "btContactArray const&"
  }, 
  "btContactConstraint": {
    "__new__": function() { var ret = _malloc(_struct_btContactConstraint___SIZE); Module._.btContactConstraint.btContactConstraint.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btContactConstraint___SIZE); Module._.btContactConstraint.btContactConstraint_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btContactConstraint": __ZN19btContactConstraintC2EP20btPersistentManifoldR11btRigidBodyS3_, 
    "btContactConstraint_1": __ZN19btContactConstraintC1EP20btPersistentManifoldR11btRigidBodyS3_, 
    "btContactConstraint_1__params": "btPersistentManifold*, btRigidBody&, btRigidBody&", 
    "btContactConstraint__params": "btPersistentManifold*, btRigidBody&, btRigidBody&", 
    "buildJacobian": __ZN19btContactConstraint13buildJacobianEv, 
    "buildJacobian__params": "", 
    "getInfo1": __ZN19btContactConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E, 
    "getInfo1__params": "btTypedConstraint::btConstraintInfo1*", 
    "getInfo2": __ZN19btContactConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E, 
    "getInfo2__params": "btTypedConstraint::btConstraintInfo2*", 
    "setContactManifold": __ZN19btContactConstraint18setContactManifoldEP20btPersistentManifold, 
    "setContactManifold__params": "btPersistentManifold*", 
    "~btContactConstraint": __ZN19btContactConstraintD0Ev, 
    "~btContactConstraint_1": __ZN19btContactConstraintD1Ev, 
    "~btContactConstraint_1__params": "", 
    "~btContactConstraint_2": __ZN19btContactConstraintD2Ev, 
    "~btContactConstraint_2__params": "", 
    "~btContactConstraint__params": ""
  }, 
  "btContinuousConvexCollision": {
    "__new__": function() { var ret = _malloc(_struct_btContinuousConvexCollision___SIZE); Module._.btContinuousConvexCollision.btContinuousConvexCollision.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btContinuousConvexCollision___SIZE); Module._.btContinuousConvexCollision.btContinuousConvexCollision_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btContinuousConvexCollision": __ZN27btContinuousConvexCollisionC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, 
    "btContinuousConvexCollision_1": __ZN27btContinuousConvexCollisionC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, 
    "btContinuousConvexCollision_1__params": "btConvexShape const*, btConvexShape const*, btVoronoiSimplexSolver*, btConvexPenetrationDepthSolver*", 
    "btContinuousConvexCollision__params": "btConvexShape const*, btConvexShape const*, btVoronoiSimplexSolver*, btConvexPenetrationDepthSolver*", 
    "calcTimeOfImpact": __ZN27btContinuousConvexCollision16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE, 
    "calcTimeOfImpact__params": "btTransform const&, btTransform const&, btTransform const&, btTransform const&, btConvexCast::CastResult&", 
    "~btContinuousConvexCollision": __ZN27btContinuousConvexCollisionD1Ev, 
    "~btContinuousConvexCollision_1": __ZN27btContinuousConvexCollisionD0Ev, 
    "~btContinuousConvexCollision_1__params": "", 
    "~btContinuousConvexCollision__params": ""
  }, 
  "btContinuousDynamicsWorld": {
    "__new__": function() { var ret = _malloc(_struct_btContinuousDynamicsWorld___SIZE); Module._.btContinuousDynamicsWorld.btContinuousDynamicsWorld.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btContinuousDynamicsWorld___SIZE); Module._.btContinuousDynamicsWorld.btContinuousDynamicsWorld_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btContinuousDynamicsWorld": __ZN25btContinuousDynamicsWorldC2EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration, 
    "btContinuousDynamicsWorld_1": __ZN25btContinuousDynamicsWorldC1EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration, 
    "btContinuousDynamicsWorld_1__params": "btDispatcher*, btBroadphaseInterface*, btConstraintSolver*, btCollisionConfiguration*", 
    "btContinuousDynamicsWorld__params": "btDispatcher*, btBroadphaseInterface*, btConstraintSolver*, btCollisionConfiguration*", 
    "calculateTimeOfImpacts": __ZN25btContinuousDynamicsWorld22calculateTimeOfImpactsEf, 
    "calculateTimeOfImpacts__params": "float", 
    "getWorldType": __ZNK25btContinuousDynamicsWorld12getWorldTypeEv, 
    "getWorldType__params": "", 
    "internalSingleStepSimulation": __ZN25btContinuousDynamicsWorld28internalSingleStepSimulationEf, 
    "internalSingleStepSimulation__params": "float", 
    "updateTemporalAabbs": __ZN25btContinuousDynamicsWorld19updateTemporalAabbsEf, 
    "updateTemporalAabbs__params": "float", 
    "~btContinuousDynamicsWorld": __ZN25btContinuousDynamicsWorldD0Ev, 
    "~btContinuousDynamicsWorld_1": __ZN25btContinuousDynamicsWorldD1Ev, 
    "~btContinuousDynamicsWorld_1__params": "", 
    "~btContinuousDynamicsWorld_2": __ZN25btContinuousDynamicsWorldD2Ev, 
    "~btContinuousDynamicsWorld_2__params": "", 
    "~btContinuousDynamicsWorld__params": ""
  }, 
  "btConvex2dConvex2dAlgorithm": {
    "CreateFunc": {
      "CreateCollisionAlgorithm": __ZN27btConvex2dConvex2dAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, 
      "CreateCollisionAlgorithm__params": "btCollisionAlgorithmConstructionInfo&, btCollisionObject*, btCollisionObject*", 
      "CreateFunc": __ZN27btConvex2dConvex2dAlgorithm10CreateFuncC2EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, 
      "CreateFunc_1": __ZN27btConvex2dConvex2dAlgorithm10CreateFuncC1EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, 
      "CreateFunc_1__params": "btVoronoiSimplexSolver*, btConvexPenetrationDepthSolver*", 
      "CreateFunc__params": "btVoronoiSimplexSolver*, btConvexPenetrationDepthSolver*", 
      "__new__": function() { var ret = _malloc(__struct_btConvex2dConvex2dAlgorithm__CreateFunc____SIZE); Module._.btConvex2dConvex2dAlgorithm.CreateFunc.CreateFunc.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
      "__new__1": function() { var ret = _malloc(__struct_btConvex2dConvex2dAlgorithm__CreateFunc____SIZE); Module._.btConvex2dConvex2dAlgorithm.CreateFunc.CreateFunc_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
      "~CreateFunc": __ZN27btConvex2dConvex2dAlgorithm10CreateFuncD1Ev, 
      "~CreateFunc_1": __ZN27btConvex2dConvex2dAlgorithm10CreateFuncD0Ev, 
      "~CreateFunc_1__params": "", 
      "~CreateFunc_2": __ZN27btConvex2dConvex2dAlgorithm10CreateFuncD2Ev, 
      "~CreateFunc_2__params": "", 
      "~CreateFunc__params": ""
    }, 
    "__new__": function() { var ret = _malloc(_struct_btConvex2dConvex2dAlgorithm___SIZE); Module._.btConvex2dConvex2dAlgorithm.btConvex2dConvex2dAlgorithm.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btConvex2dConvex2dAlgorithm___SIZE); Module._.btConvex2dConvex2dAlgorithm.btConvex2dConvex2dAlgorithm_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btConvex2dConvex2dAlgorithm": __ZN27btConvex2dConvex2dAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii, 
    "btConvex2dConvex2dAlgorithm_1": __ZN27btConvex2dConvex2dAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii, 
    "btConvex2dConvex2dAlgorithm_1__params": "btPersistentManifold*, btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*, btVoronoiSimplexSolver*, btConvexPenetrationDepthSolver*, int, int", 
    "btConvex2dConvex2dAlgorithm__params": "btPersistentManifold*, btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*, btVoronoiSimplexSolver*, btConvexPenetrationDepthSolver*, int, int", 
    "calculateTimeOfImpact": __ZN27btConvex2dConvex2dAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "calculateTimeOfImpact__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "getAllContactManifolds": __ZN27btConvex2dConvex2dAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, 
    "getAllContactManifolds__params": "btAlignedObjectArray<btPersistentManifold*>&", 
    "processCollision": __ZN27btConvex2dConvex2dAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "processCollision__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "setLowLevelOfDetail": __ZN27btConvex2dConvex2dAlgorithm19setLowLevelOfDetailEb, 
    "setLowLevelOfDetail__params": "bool", 
    "~btConvex2dConvex2dAlgorithm": __ZN27btConvex2dConvex2dAlgorithmD0Ev, 
    "~btConvex2dConvex2dAlgorithm_1": __ZN27btConvex2dConvex2dAlgorithmD1Ev, 
    "~btConvex2dConvex2dAlgorithm_1__params": "", 
    "~btConvex2dConvex2dAlgorithm_2": __ZN27btConvex2dConvex2dAlgorithmD2Ev, 
    "~btConvex2dConvex2dAlgorithm_2__params": "", 
    "~btConvex2dConvex2dAlgorithm__params": ""
  }, 
  "btConvex2dShape": {
    "__new__": function() { var ret = _malloc(_struct_btConvex2dShape___SIZE); Module._.btConvex2dShape.btConvex2dShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btConvex2dShape___SIZE); Module._.btConvex2dShape.btConvex2dShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin": __ZNK15btConvex2dShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin__params": "btVector3 const*, btVector3*, int", 
    "btConvex2dShape": __ZN15btConvex2dShapeC2EP13btConvexShape, 
    "btConvex2dShape_1": __ZN15btConvex2dShapeC1EP13btConvexShape, 
    "btConvex2dShape_1__params": "btConvexShape*", 
    "btConvex2dShape__params": "btConvexShape*", 
    "calculateLocalInertia": __ZNK15btConvex2dShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "getAabb": __ZNK15btConvex2dShape7getAabbERK11btTransformR9btVector3S4_, 
    "getAabbSlow": __ZNK15btConvex2dShape11getAabbSlowERK11btTransformR9btVector3S4_, 
    "getAabbSlow__params": "btTransform const&, btVector3&, btVector3&", 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "getLocalScaling": __ZNK15btConvex2dShape15getLocalScalingEv, 
    "getLocalScaling__params": "", 
    "getMargin": __ZNK15btConvex2dShape9getMarginEv, 
    "getMargin__params": "", 
    "getName": __ZNK15btConvex2dShape7getNameEv, 
    "getName__params": "", 
    "getNumPreferredPenetrationDirections": __ZNK15btConvex2dShape36getNumPreferredPenetrationDirectionsEv, 
    "getNumPreferredPenetrationDirections__params": "", 
    "getPreferredPenetrationDirection": __ZNK15btConvex2dShape32getPreferredPenetrationDirectionEiR9btVector3, 
    "getPreferredPenetrationDirection__params": "int, btVector3&", 
    "localGetSupportingVertex": __ZNK15btConvex2dShape24localGetSupportingVertexERK9btVector3, 
    "localGetSupportingVertexWithoutMargin": __ZNK15btConvex2dShape37localGetSupportingVertexWithoutMarginERK9btVector3, 
    "localGetSupportingVertexWithoutMargin__params": "btVector3 const&", 
    "localGetSupportingVertex__params": "btVector3 const&", 
    "setLocalScaling": __ZN15btConvex2dShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "setMargin": __ZN15btConvex2dShape9setMarginEf, 
    "setMargin__params": "float", 
    "~btConvex2dShape": __ZN15btConvex2dShapeD0Ev, 
    "~btConvex2dShape_1": __ZN15btConvex2dShapeD1Ev, 
    "~btConvex2dShape_1__params": "", 
    "~btConvex2dShape_2": __ZN15btConvex2dShapeD2Ev, 
    "~btConvex2dShape_2__params": "", 
    "~btConvex2dShape__params": ""
  }, 
  "btConvexCast": {
    "CastResult": {
      "DebugDraw": __ZN12btConvexCast10CastResult9DebugDrawEf, 
      "DebugDraw__params": "float", 
      "drawCoordSystem": __ZN12btConvexCast10CastResult15drawCoordSystemERK11btTransform, 
      "drawCoordSystem__params": "btTransform const&", 
      "~CastResult": __ZN12btConvexCast10CastResultD1Ev, 
      "~CastResult_1": __ZN12btConvexCast10CastResultD0Ev, 
      "~CastResult_1__params": "", 
      "~CastResult__params": ""
    }, 
    "~btConvexCast": __ZN12btConvexCastD2Ev, 
    "~btConvexCast_1": __ZN12btConvexCastD0Ev, 
    "~btConvexCast_1__params": "", 
    "~btConvexCast_2": __ZN12btConvexCastD1Ev, 
    "~btConvexCast_2__params": "", 
    "~btConvexCast__params": ""
  }, 
  "btConvexConcaveCollisionAlgorithm": {
    "CreateFunc": {
      "CreateCollisionAlgorithm": __ZN33btConvexConcaveCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, 
      "CreateCollisionAlgorithm__params": "btCollisionAlgorithmConstructionInfo&, btCollisionObject*, btCollisionObject*", 
      "~CreateFunc": __ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD1Ev, 
      "~CreateFunc_1": __ZN33btConvexConcaveCollisionAlgorithm10CreateFuncD0Ev, 
      "~CreateFunc_1__params": "", 
      "~CreateFunc__params": ""
    }, 
    "SwappedCreateFunc": {
      "CreateCollisionAlgorithm": __ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, 
      "CreateCollisionAlgorithm__params": "btCollisionAlgorithmConstructionInfo&, btCollisionObject*, btCollisionObject*", 
      "~SwappedCreateFunc": __ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD1Ev, 
      "~SwappedCreateFunc_1": __ZN33btConvexConcaveCollisionAlgorithm17SwappedCreateFuncD0Ev, 
      "~SwappedCreateFunc_1__params": "", 
      "~SwappedCreateFunc__params": ""
    }, 
    "__new__": function() { var ret = _malloc(_struct_btConvexConcaveCollisionAlgorithm___SIZE); Module._.btConvexConcaveCollisionAlgorithm.btConvexConcaveCollisionAlgorithm.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btConvexConcaveCollisionAlgorithm___SIZE); Module._.btConvexConcaveCollisionAlgorithm.btConvexConcaveCollisionAlgorithm_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btConvexConcaveCollisionAlgorithm": __ZN33btConvexConcaveCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b, 
    "btConvexConcaveCollisionAlgorithm_1": __ZN33btConvexConcaveCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_b, 
    "btConvexConcaveCollisionAlgorithm_1__params": "btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*, bool", 
    "btConvexConcaveCollisionAlgorithm__params": "btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*, bool", 
    "calculateTimeOfImpact": __ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD1Ev, 
    "calculateTimeOfImpact_1": __ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD0Ev, 
    "calculateTimeOfImpact_1__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*)::LocalTriangleSphereCastCallback::~LocalTriangleSphereCastCallback(", 
    "calculateTimeOfImpact_2": __ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallbackD2Ev, 
    "calculateTimeOfImpact_2__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*)::LocalTriangleSphereCastCallback::~LocalTriangleSphereCastCallback(", 
    "calculateTimeOfImpact_3": __ZZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResultEN31LocalTriangleSphereCastCallback15processTriangleEP9btVector3ii, 
    "calculateTimeOfImpact_3__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*)::LocalTriangleSphereCastCallback::processTriangle(btVector3*, int, int", 
    "calculateTimeOfImpact_4": __ZN33btConvexConcaveCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "calculateTimeOfImpact_4__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "calculateTimeOfImpact__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*)::LocalTriangleSphereCastCallback::~LocalTriangleSphereCastCallback(", 
    "clearCache": __ZN33btConvexConcaveCollisionAlgorithm10clearCacheEv, 
    "clearCache__params": "", 
    "getAllContactManifolds": __ZN33btConvexConcaveCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, 
    "getAllContactManifolds__params": "btAlignedObjectArray<btPersistentManifold*>&", 
    "processCollision": __ZN33btConvexConcaveCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "processCollision__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "~btConvexConcaveCollisionAlgorithm": __ZN33btConvexConcaveCollisionAlgorithmD0Ev, 
    "~btConvexConcaveCollisionAlgorithm_1": __ZN33btConvexConcaveCollisionAlgorithmD1Ev, 
    "~btConvexConcaveCollisionAlgorithm_1__params": "", 
    "~btConvexConcaveCollisionAlgorithm_2": __ZN33btConvexConcaveCollisionAlgorithmD2Ev, 
    "~btConvexConcaveCollisionAlgorithm_2__params": "", 
    "~btConvexConcaveCollisionAlgorithm__params": ""
  }, 
  "btConvexConvexAlgorithm": {
    "CreateFunc": {
      "CreateCollisionAlgorithm": __ZN23btConvexConvexAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, 
      "CreateCollisionAlgorithm__params": "btCollisionAlgorithmConstructionInfo&, btCollisionObject*, btCollisionObject*", 
      "CreateFunc": __ZN23btConvexConvexAlgorithm10CreateFuncC2EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, 
      "CreateFunc_1": __ZN23btConvexConvexAlgorithm10CreateFuncC1EP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, 
      "CreateFunc_1__params": "btVoronoiSimplexSolver*, btConvexPenetrationDepthSolver*", 
      "CreateFunc__params": "btVoronoiSimplexSolver*, btConvexPenetrationDepthSolver*", 
      "__new__": function() { var ret = _malloc(__struct_btConvexConvexAlgorithm__CreateFunc____SIZE); Module._.btConvexConvexAlgorithm.CreateFunc.CreateFunc.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
      "__new__1": function() { var ret = _malloc(__struct_btConvexConvexAlgorithm__CreateFunc____SIZE); Module._.btConvexConvexAlgorithm.CreateFunc.CreateFunc_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
      "~CreateFunc": __ZN23btConvexConvexAlgorithm10CreateFuncD1Ev, 
      "~CreateFunc_1": __ZN23btConvexConvexAlgorithm10CreateFuncD0Ev, 
      "~CreateFunc_1__params": "", 
      "~CreateFunc_2": __ZN23btConvexConvexAlgorithm10CreateFuncD2Ev, 
      "~CreateFunc_2__params": "", 
      "~CreateFunc__params": ""
    }, 
    "__new__": function() { var ret = _malloc(_struct_btConvexConvexAlgorithm___SIZE); Module._.btConvexConvexAlgorithm.btConvexConvexAlgorithm.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btConvexConvexAlgorithm___SIZE); Module._.btConvexConvexAlgorithm.btConvexConvexAlgorithm_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btConvexConvexAlgorithm": __ZN23btConvexConvexAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii, 
    "btConvexConvexAlgorithm_1": __ZN23btConvexConvexAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolverii, 
    "btConvexConvexAlgorithm_1__params": "btPersistentManifold*, btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*, btVoronoiSimplexSolver*, btConvexPenetrationDepthSolver*, int, int", 
    "btConvexConvexAlgorithm__params": "btPersistentManifold*, btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*, btVoronoiSimplexSolver*, btConvexPenetrationDepthSolver*, int, int", 
    "calculateTimeOfImpact": __ZN23btConvexConvexAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "calculateTimeOfImpact__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "getAllContactManifolds": __ZN23btConvexConvexAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, 
    "getAllContactManifolds__params": "btAlignedObjectArray<btPersistentManifold*>&", 
    "processCollision": __ZN23btConvexConvexAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "processCollision__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "setLowLevelOfDetail": __ZN23btConvexConvexAlgorithm19setLowLevelOfDetailEb, 
    "setLowLevelOfDetail__params": "bool", 
    "~btConvexConvexAlgorithm": __ZN23btConvexConvexAlgorithmD0Ev, 
    "~btConvexConvexAlgorithm_1": __ZN23btConvexConvexAlgorithmD1Ev, 
    "~btConvexConvexAlgorithm_1__params": "", 
    "~btConvexConvexAlgorithm_2": __ZN23btConvexConvexAlgorithmD2Ev, 
    "~btConvexConvexAlgorithm_2__params": "", 
    "~btConvexConvexAlgorithm__params": ""
  }, 
  "btConvexHullShape": {
    "__new__": function() { var ret = _malloc(_struct_btConvexHullShape___SIZE); Module._.btConvexHullShape.btConvexHullShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btConvexHullShape___SIZE); Module._.btConvexHullShape.btConvexHullShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "addPoint": __ZN17btConvexHullShape8addPointERK9btVector3, 
    "addPoint__params": "btVector3 const&", 
    "batchedUnitVectorGetSupportingVertexWithoutMargin": __ZNK17btConvexHullShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin__params": "btVector3 const*, btVector3*, int", 
    "btConvexHullShape": __ZN17btConvexHullShapeC1EPKfii, 
    "btConvexHullShape_1": __ZN17btConvexHullShapeC2EPKfii, 
    "btConvexHullShape_1__params": "float const*, int, int", 
    "btConvexHullShape__params": "float const*, int, int", 
    "calculateSerializeBufferSize": __ZNK17btConvexHullShape28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "getEdge": __ZNK17btConvexHullShape7getEdgeEiR9btVector3S1_, 
    "getEdge__params": "int, btVector3&, btVector3&", 
    "getName": __ZNK17btConvexHullShape7getNameEv, 
    "getName__params": "", 
    "getNumEdges": __ZNK17btConvexHullShape11getNumEdgesEv, 
    "getNumEdges__params": "", 
    "getNumPlanes": __ZNK17btConvexHullShape12getNumPlanesEv, 
    "getNumPlanes__params": "", 
    "getNumVertices": __ZNK17btConvexHullShape14getNumVerticesEv, 
    "getNumVertices__params": "", 
    "getPlane": __ZNK17btConvexHullShape8getPlaneER9btVector3S1_i, 
    "getPlane__params": "btVector3&, btVector3&, int", 
    "getVertex": __ZNK17btConvexHullShape9getVertexEiR9btVector3, 
    "getVertex__params": "int, btVector3&", 
    "isInside": __ZNK17btConvexHullShape8isInsideERK9btVector3f, 
    "isInside__params": "btVector3 const&, float", 
    "localGetSupportingVertex": __ZNK17btConvexHullShape24localGetSupportingVertexERK9btVector3, 
    "localGetSupportingVertexWithoutMargin": __ZNK17btConvexHullShape37localGetSupportingVertexWithoutMarginERK9btVector3, 
    "localGetSupportingVertexWithoutMargin__params": "btVector3 const&", 
    "localGetSupportingVertex__params": "btVector3 const&", 
    "serialize": __ZNK17btConvexHullShape9serializeEPvP12btSerializer, 
    "serialize__params": "void*, btSerializer*", 
    "setLocalScaling": __ZN17btConvexHullShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "~btConvexHullShape": __ZN17btConvexHullShapeD0Ev, 
    "~btConvexHullShape_1": __ZN17btConvexHullShapeD1Ev, 
    "~btConvexHullShape_1__params": "", 
    "~btConvexHullShape__params": ""
  }, 
  "btConvexInternalAabbCachingShape": {
    "__new__": function() { var ret = _malloc(_struct_btConvexInternalAabbCachingShape___SIZE); Module._.btConvexInternalAabbCachingShape.btConvexInternalAabbCachingShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btConvexInternalAabbCachingShape___SIZE); Module._.btConvexInternalAabbCachingShape.btConvexInternalAabbCachingShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btConvexInternalAabbCachingShape": __ZN32btConvexInternalAabbCachingShapeC1Ev, 
    "btConvexInternalAabbCachingShape_1": __ZN32btConvexInternalAabbCachingShapeC2Ev, 
    "btConvexInternalAabbCachingShape_1__params": "", 
    "btConvexInternalAabbCachingShape__params": "", 
    "getAabb": __ZNK32btConvexInternalAabbCachingShape7getAabbERK11btTransformR9btVector3S4_, 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "recalcLocalAabb": __ZN32btConvexInternalAabbCachingShape15recalcLocalAabbEv, 
    "recalcLocalAabb__params": "", 
    "setLocalScaling": __ZN32btConvexInternalAabbCachingShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "~btConvexInternalAabbCachingShape": __ZN32btConvexInternalAabbCachingShapeD0Ev, 
    "~btConvexInternalAabbCachingShape_1": __ZN32btConvexInternalAabbCachingShapeD1Ev, 
    "~btConvexInternalAabbCachingShape_1__params": "", 
    "~btConvexInternalAabbCachingShape__params": ""
  }, 
  "btConvexInternalShape": {
    "__new__": function() { var ret = _malloc(_struct_btConvexInternalShape___SIZE); Module._.btConvexInternalShape.btConvexInternalShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btConvexInternalShape___SIZE); Module._.btConvexInternalShape.btConvexInternalShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btConvexInternalShape": __ZN21btConvexInternalShapeC2Ev, 
    "btConvexInternalShape_1": __ZN21btConvexInternalShapeC1Ev, 
    "btConvexInternalShape_1__params": "", 
    "btConvexInternalShape__params": "", 
    "calculateSerializeBufferSize": __ZNK21btConvexInternalShape28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "getAabb": __ZNK21btConvexInternalShape7getAabbERK11btTransformR9btVector3S4_, 
    "getAabbSlow": __ZNK21btConvexInternalShape11getAabbSlowERK11btTransformR9btVector3S4_, 
    "getAabbSlow__params": "btTransform const&, btVector3&, btVector3&", 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "getLocalScaling": __ZNK21btConvexInternalShape15getLocalScalingEv, 
    "getLocalScaling__params": "", 
    "getMargin": __ZNK21btConvexInternalShape9getMarginEv, 
    "getMargin__params": "", 
    "getNumPreferredPenetrationDirections": __ZNK21btConvexInternalShape36getNumPreferredPenetrationDirectionsEv, 
    "getNumPreferredPenetrationDirections__params": "", 
    "getPreferredPenetrationDirection": __ZNK21btConvexInternalShape32getPreferredPenetrationDirectionEiR9btVector3, 
    "getPreferredPenetrationDirection__params": "int, btVector3&", 
    "localGetSupportingVertex": __ZNK21btConvexInternalShape24localGetSupportingVertexERK9btVector3, 
    "localGetSupportingVertex__params": "btVector3 const&", 
    "serialize": __ZNK21btConvexInternalShape9serializeEPvP12btSerializer, 
    "serialize__params": "void*, btSerializer*", 
    "setLocalScaling": __ZN21btConvexInternalShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "setMargin": __ZN21btConvexInternalShape9setMarginEf, 
    "setMargin__params": "float", 
    "~btConvexInternalShape": __ZN21btConvexInternalShapeD0Ev, 
    "~btConvexInternalShape_1": __ZN21btConvexInternalShapeD1Ev, 
    "~btConvexInternalShape_1__params": "", 
    "~btConvexInternalShape__params": ""
  }, 
  "btConvexPenetrationDepthSolver": {
    "~btConvexPenetrationDepthSolver": __ZN30btConvexPenetrationDepthSolverD1Ev, 
    "~btConvexPenetrationDepthSolver_1": __ZN30btConvexPenetrationDepthSolverD0Ev, 
    "~btConvexPenetrationDepthSolver_1__params": "", 
    "~btConvexPenetrationDepthSolver__params": ""
  }, 
  "btConvexPlaneCollisionAlgorithm": {
    "CreateFunc": {
      "CreateCollisionAlgorithm": __ZN31btConvexPlaneCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, 
      "CreateCollisionAlgorithm__params": "btCollisionAlgorithmConstructionInfo&, btCollisionObject*, btCollisionObject*", 
      "~CreateFunc": __ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD1Ev, 
      "~CreateFunc_1": __ZN31btConvexPlaneCollisionAlgorithm10CreateFuncD0Ev, 
      "~CreateFunc_1__params": "", 
      "~CreateFunc__params": ""
    }, 
    "__new__": function() { var ret = _malloc(_struct_btConvexPlaneCollisionAlgorithm___SIZE); Module._.btConvexPlaneCollisionAlgorithm.btConvexPlaneCollisionAlgorithm.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btConvexPlaneCollisionAlgorithm___SIZE); Module._.btConvexPlaneCollisionAlgorithm.btConvexPlaneCollisionAlgorithm_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btConvexPlaneCollisionAlgorithm": __ZN31btConvexPlaneCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_bii, 
    "btConvexPlaneCollisionAlgorithm_1": __ZN31btConvexPlaneCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_bii, 
    "btConvexPlaneCollisionAlgorithm_1__params": "btPersistentManifold*, btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*, bool, int, int", 
    "btConvexPlaneCollisionAlgorithm__params": "btPersistentManifold*, btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*, bool, int, int", 
    "calculateTimeOfImpact": __ZN31btConvexPlaneCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "calculateTimeOfImpact__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "collideSingleContact": __ZN31btConvexPlaneCollisionAlgorithm20collideSingleContactERK12btQuaternionP17btCollisionObjectS4_RK16btDispatcherInfoP16btManifoldResult, 
    "collideSingleContact__params": "btQuaternion const&, btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "getAllContactManifolds": __ZN31btConvexPlaneCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, 
    "getAllContactManifolds__params": "btAlignedObjectArray<btPersistentManifold*>&", 
    "processCollision": __ZN31btConvexPlaneCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "processCollision__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "~btConvexPlaneCollisionAlgorithm": __ZN31btConvexPlaneCollisionAlgorithmD0Ev, 
    "~btConvexPlaneCollisionAlgorithm_1": __ZN31btConvexPlaneCollisionAlgorithmD1Ev, 
    "~btConvexPlaneCollisionAlgorithm_1__params": "", 
    "~btConvexPlaneCollisionAlgorithm_2": __ZN31btConvexPlaneCollisionAlgorithmD2Ev, 
    "~btConvexPlaneCollisionAlgorithm_2__params": "", 
    "~btConvexPlaneCollisionAlgorithm__params": ""
  }, 
  "btConvexPointCloudShape": {
    "batchedUnitVectorGetSupportingVertexWithoutMargin": __ZNK23btConvexPointCloudShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin__params": "btVector3 const*, btVector3*, int", 
    "getEdge": __ZNK23btConvexPointCloudShape7getEdgeEiR9btVector3S1_, 
    "getEdge__params": "int, btVector3&, btVector3&", 
    "getName": __ZNK23btConvexPointCloudShape7getNameEv, 
    "getName__params": "", 
    "getNumEdges": __ZNK23btConvexPointCloudShape11getNumEdgesEv, 
    "getNumEdges__params": "", 
    "getNumPlanes": __ZNK23btConvexPointCloudShape12getNumPlanesEv, 
    "getNumPlanes__params": "", 
    "getNumVertices": __ZNK23btConvexPointCloudShape14getNumVerticesEv, 
    "getNumVertices__params": "", 
    "getPlane": __ZNK23btConvexPointCloudShape8getPlaneER9btVector3S1_i, 
    "getPlane__params": "btVector3&, btVector3&, int", 
    "getVertex": __ZNK23btConvexPointCloudShape9getVertexEiR9btVector3, 
    "getVertex__params": "int, btVector3&", 
    "isInside": __ZNK23btConvexPointCloudShape8isInsideERK9btVector3f, 
    "isInside__params": "btVector3 const&, float", 
    "localGetSupportingVertex": __ZNK23btConvexPointCloudShape24localGetSupportingVertexERK9btVector3, 
    "localGetSupportingVertexWithoutMargin": __ZNK23btConvexPointCloudShape37localGetSupportingVertexWithoutMarginERK9btVector3, 
    "localGetSupportingVertexWithoutMargin__params": "btVector3 const&", 
    "localGetSupportingVertex__params": "btVector3 const&", 
    "setLocalScaling": __ZN23btConvexPointCloudShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "~btConvexPointCloudShape": __ZN23btConvexPointCloudShapeD0Ev, 
    "~btConvexPointCloudShape_1": __ZN23btConvexPointCloudShapeD1Ev, 
    "~btConvexPointCloudShape_1__params": "", 
    "~btConvexPointCloudShape__params": ""
  }, 
  "btConvexShape": {
    "__new__": function() { var ret = _malloc(_struct_btConvexShape___SIZE); Module._.btConvexShape.btConvexShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btConvexShape___SIZE); Module._.btConvexShape.btConvexShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btConvexShape": __ZN13btConvexShapeC2Ev, 
    "btConvexShape_1": __ZN13btConvexShapeC1Ev, 
    "btConvexShape_1__params": "", 
    "btConvexShape__params": "", 
    "getAabbNonVirtual": __ZNK13btConvexShape17getAabbNonVirtualERK11btTransformR9btVector3S4_, 
    "getAabbNonVirtual__params": "btTransform const&, btVector3&, btVector3&", 
    "getMarginNonVirtual": __ZNK13btConvexShape19getMarginNonVirtualEv, 
    "getMarginNonVirtual__params": "", 
    "localGetSupportVertexNonVirtual": __ZNK13btConvexShape31localGetSupportVertexNonVirtualERK9btVector3, 
    "localGetSupportVertexNonVirtual__params": "btVector3 const&", 
    "localGetSupportVertexWithoutMarginNonVirtual": __ZNK13btConvexShape44localGetSupportVertexWithoutMarginNonVirtualERK9btVector3, 
    "localGetSupportVertexWithoutMarginNonVirtual__params": "btVector3 const&", 
    "~btConvexShape": __ZN13btConvexShapeD1Ev, 
    "~btConvexShape_1": __ZN13btConvexShapeD0Ev, 
    "~btConvexShape_1__params": "", 
    "~btConvexShape_2": __ZN13btConvexShapeD2Ev, 
    "~btConvexShape_2__params": "", 
    "~btConvexShape__params": ""
  }, 
  "btConvexTriangleCallback": {
    "__new__": function() { var ret = _malloc(_struct_btConvexTriangleCallback___SIZE); Module._.btConvexTriangleCallback.btConvexTriangleCallback.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btConvexTriangleCallback___SIZE); Module._.btConvexTriangleCallback.btConvexTriangleCallback_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btConvexTriangleCallback": __ZN24btConvexTriangleCallbackC2EP12btDispatcherP17btCollisionObjectS3_b, 
    "btConvexTriangleCallback_1": __ZN24btConvexTriangleCallbackC1EP12btDispatcherP17btCollisionObjectS3_b, 
    "btConvexTriangleCallback_1__params": "btDispatcher*, btCollisionObject*, btCollisionObject*, bool", 
    "btConvexTriangleCallback__params": "btDispatcher*, btCollisionObject*, btCollisionObject*, bool", 
    "clearCache": __ZN24btConvexTriangleCallback10clearCacheEv, 
    "clearCache__params": "", 
    "processTriangle": __ZN24btConvexTriangleCallback15processTriangleEP9btVector3ii, 
    "processTriangle__params": "btVector3*, int, int", 
    "setTimeStepAndCounters": __ZN24btConvexTriangleCallback22setTimeStepAndCountersEfRK16btDispatcherInfoP16btManifoldResult, 
    "setTimeStepAndCounters__params": "float, btDispatcherInfo const&, btManifoldResult*", 
    "~btConvexTriangleCallback": __ZN24btConvexTriangleCallbackD0Ev, 
    "~btConvexTriangleCallback_1": __ZN24btConvexTriangleCallbackD1Ev, 
    "~btConvexTriangleCallback_1__params": "", 
    "~btConvexTriangleCallback_2": __ZN24btConvexTriangleCallbackD2Ev, 
    "~btConvexTriangleCallback_2__params": "", 
    "~btConvexTriangleCallback__params": ""
  }, 
  "btConvexTriangleMeshShape": {
    "__new__": function() { var ret = _malloc(_struct_btConvexTriangleMeshShape___SIZE); Module._.btConvexTriangleMeshShape.btConvexTriangleMeshShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btConvexTriangleMeshShape___SIZE); Module._.btConvexTriangleMeshShape.btConvexTriangleMeshShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin": __ZNK25btConvexTriangleMeshShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin__params": "btVector3 const*, btVector3*, int", 
    "btConvexTriangleMeshShape": __ZN25btConvexTriangleMeshShapeC2EP23btStridingMeshInterfaceb, 
    "btConvexTriangleMeshShape_1": __ZN25btConvexTriangleMeshShapeC1EP23btStridingMeshInterfaceb, 
    "btConvexTriangleMeshShape_1__params": "btStridingMeshInterface*, bool", 
    "btConvexTriangleMeshShape__params": "btStridingMeshInterface*, bool", 
    "calculatePrincipalAxisTransform": __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallbackD1Ev, 
    "calculatePrincipalAxisTransform_1": __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallbackD0Ev, 
    "calculatePrincipalAxisTransform_1__params": "btTransform&, btVector3&, float&)::CenterCallback::~CenterCallback(", 
    "calculatePrincipalAxisTransform_2": __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallbackD1Ev, 
    "calculatePrincipalAxisTransform_2__params": "btTransform&, btVector3&, float&)::InertiaCallback::~InertiaCallback(", 
    "calculatePrincipalAxisTransform_3": __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallbackD0Ev, 
    "calculatePrincipalAxisTransform_3__params": "btTransform&, btVector3&, float&)::InertiaCallback::~InertiaCallback(", 
    "calculatePrincipalAxisTransform_4": __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallbackD2Ev, 
    "calculatePrincipalAxisTransform_4__params": "btTransform&, btVector3&, float&)::InertiaCallback::~InertiaCallback(", 
    "calculatePrincipalAxisTransform_5": __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallbackD2Ev, 
    "calculatePrincipalAxisTransform_5__params": "btTransform&, btVector3&, float&)::CenterCallback::~CenterCallback(", 
    "calculatePrincipalAxisTransform_6": __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN14CenterCallback28internalProcessTriangleIndexEPS2_ii, 
    "calculatePrincipalAxisTransform_6__params": "btTransform&, btVector3&, float&)::CenterCallback::internalProcessTriangleIndex(btVector3*, int, int", 
    "calculatePrincipalAxisTransform_7": __ZZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3RfEN15InertiaCallback28internalProcessTriangleIndexEPS2_ii, 
    "calculatePrincipalAxisTransform_7__params": "btTransform&, btVector3&, float&)::InertiaCallback::internalProcessTriangleIndex(btVector3*, int, int", 
    "calculatePrincipalAxisTransform_8": __ZNK25btConvexTriangleMeshShape31calculatePrincipalAxisTransformER11btTransformR9btVector3Rf, 
    "calculatePrincipalAxisTransform_8__params": "btTransform&, btVector3&, float&", 
    "calculatePrincipalAxisTransform__params": "btTransform&, btVector3&, float&)::CenterCallback::~CenterCallback(", 
    "getEdge": __ZNK25btConvexTriangleMeshShape7getEdgeEiR9btVector3S1_, 
    "getEdge__params": "int, btVector3&, btVector3&", 
    "getLocalScaling": __ZNK25btConvexTriangleMeshShape15getLocalScalingEv, 
    "getLocalScaling__params": "", 
    "getName": __ZNK25btConvexTriangleMeshShape7getNameEv, 
    "getName__params": "", 
    "getNumEdges": __ZNK25btConvexTriangleMeshShape11getNumEdgesEv, 
    "getNumEdges__params": "", 
    "getNumPlanes": __ZNK25btConvexTriangleMeshShape12getNumPlanesEv, 
    "getNumPlanes__params": "", 
    "getNumVertices": __ZNK25btConvexTriangleMeshShape14getNumVerticesEv, 
    "getNumVertices__params": "", 
    "getPlane": __ZNK25btConvexTriangleMeshShape8getPlaneER9btVector3S1_i, 
    "getPlane__params": "btVector3&, btVector3&, int", 
    "getVertex": __ZNK25btConvexTriangleMeshShape9getVertexEiR9btVector3, 
    "getVertex__params": "int, btVector3&", 
    "isInside": __ZNK25btConvexTriangleMeshShape8isInsideERK9btVector3f, 
    "isInside__params": "btVector3 const&, float", 
    "localGetSupportingVertex": __ZNK25btConvexTriangleMeshShape24localGetSupportingVertexERK9btVector3, 
    "localGetSupportingVertexWithoutMargin": __ZNK25btConvexTriangleMeshShape37localGetSupportingVertexWithoutMarginERK9btVector3, 
    "localGetSupportingVertexWithoutMargin__params": "btVector3 const&", 
    "localGetSupportingVertex__params": "btVector3 const&", 
    "setLocalScaling": __ZN25btConvexTriangleMeshShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "~btConvexTriangleMeshShape": __ZN25btConvexTriangleMeshShapeD0Ev, 
    "~btConvexTriangleMeshShape_1": __ZN25btConvexTriangleMeshShapeD1Ev, 
    "~btConvexTriangleMeshShape_1__params": "", 
    "~btConvexTriangleMeshShape__params": ""
  }, 
  "btCylinderShape": {
    "__new__": function() { var ret = _malloc(_struct_btCylinderShape___SIZE); Module._.btCylinderShape.btCylinderShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btCylinderShape___SIZE); Module._.btCylinderShape.btCylinderShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin": __ZNK15btCylinderShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin__params": "btVector3 const*, btVector3*, int", 
    "btCylinderShape": __ZN15btCylinderShapeC2ERK9btVector3, 
    "btCylinderShape_1": __ZN15btCylinderShapeC1ERK9btVector3, 
    "btCylinderShape_1__params": "btVector3 const&", 
    "btCylinderShape__params": "btVector3 const&", 
    "calculateLocalInertia": __ZNK15btCylinderShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "calculateSerializeBufferSize": __ZNK15btCylinderShape28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "getAabb": __ZNK15btCylinderShape7getAabbERK11btTransformR9btVector3S4_, 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "getName": __ZNK15btCylinderShape7getNameEv, 
    "getName__params": "", 
    "getRadius": __ZNK15btCylinderShape9getRadiusEv, 
    "getRadius__params": "", 
    "localGetSupportingVertex": __ZNK15btCylinderShape24localGetSupportingVertexERK9btVector3, 
    "localGetSupportingVertexWithoutMargin": __ZNK15btCylinderShape37localGetSupportingVertexWithoutMarginERK9btVector3, 
    "localGetSupportingVertexWithoutMargin__params": "btVector3 const&", 
    "localGetSupportingVertex__params": "btVector3 const&", 
    "serialize": __ZNK15btCylinderShape9serializeEPvP12btSerializer, 
    "serialize__params": "void*, btSerializer*", 
    "setLocalScaling": __ZN15btCylinderShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "setMargin": __ZN15btCylinderShape9setMarginEf, 
    "setMargin__params": "float", 
    "~btCylinderShape": __ZN15btCylinderShapeD0Ev, 
    "~btCylinderShape_1": __ZN15btCylinderShapeD1Ev, 
    "~btCylinderShape_1__params": "", 
    "~btCylinderShape__params": ""
  }, 
  "btCylinderShapeX": {
    "__new__": function() { var ret = _malloc(_struct_btCylinderShapeX___SIZE); Module._.btCylinderShapeX.btCylinderShapeX.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btCylinderShapeX___SIZE); Module._.btCylinderShapeX.btCylinderShapeX_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin": __ZNK16btCylinderShapeX49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin__params": "btVector3 const*, btVector3*, int", 
    "btCylinderShapeX": __ZN16btCylinderShapeXC1ERK9btVector3, 
    "btCylinderShapeX_1": __ZN16btCylinderShapeXC2ERK9btVector3, 
    "btCylinderShapeX_1__params": "btVector3 const&", 
    "btCylinderShapeX__params": "btVector3 const&", 
    "getName": __ZNK16btCylinderShapeX7getNameEv, 
    "getName__params": "", 
    "getRadius": __ZNK16btCylinderShapeX9getRadiusEv, 
    "getRadius__params": "", 
    "localGetSupportingVertexWithoutMargin": __ZNK16btCylinderShapeX37localGetSupportingVertexWithoutMarginERK9btVector3, 
    "localGetSupportingVertexWithoutMargin__params": "btVector3 const&", 
    "~btCylinderShapeX": __ZN16btCylinderShapeXD0Ev, 
    "~btCylinderShapeX_1": __ZN16btCylinderShapeXD1Ev, 
    "~btCylinderShapeX_1__params": "", 
    "~btCylinderShapeX__params": ""
  }, 
  "btCylinderShapeZ": {
    "__new__": function() { var ret = _malloc(_struct_btCylinderShapeZ___SIZE); Module._.btCylinderShapeZ.btCylinderShapeZ.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btCylinderShapeZ___SIZE); Module._.btCylinderShapeZ.btCylinderShapeZ_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin": __ZNK16btCylinderShapeZ49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin__params": "btVector3 const*, btVector3*, int", 
    "btCylinderShapeZ": __ZN16btCylinderShapeZC1ERK9btVector3, 
    "btCylinderShapeZ_1": __ZN16btCylinderShapeZC2ERK9btVector3, 
    "btCylinderShapeZ_1__params": "btVector3 const&", 
    "btCylinderShapeZ__params": "btVector3 const&", 
    "getName": __ZNK16btCylinderShapeZ7getNameEv, 
    "getName__params": "", 
    "getRadius": __ZNK16btCylinderShapeZ9getRadiusEv, 
    "getRadius__params": "", 
    "localGetSupportingVertexWithoutMargin": __ZNK16btCylinderShapeZ37localGetSupportingVertexWithoutMarginERK9btVector3, 
    "localGetSupportingVertexWithoutMargin__params": "btVector3 const&", 
    "~btCylinderShapeZ": __ZN16btCylinderShapeZD0Ev, 
    "~btCylinderShapeZ_1": __ZN16btCylinderShapeZD1Ev, 
    "~btCylinderShapeZ_1__params": "", 
    "~btCylinderShapeZ__params": ""
  }, 
  "btDbvt": {
    "ICollide": {
      "AllLeaves": __ZN6btDbvt8ICollide9AllLeavesEPK10btDbvtNode, 
      "AllLeaves__params": "btDbvtNode const*", 
      "Descent": __ZN6btDbvt8ICollide7DescentEPK10btDbvtNode, 
      "Descent__params": "btDbvtNode const*", 
      "Process": __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodeS3_, 
      "Process_1": __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNode, 
      "Process_1__params": "btDbvtNode const*", 
      "Process_2": __ZN6btDbvt8ICollide7ProcessEPK10btDbvtNodef, 
      "Process_2__params": "btDbvtNode const*, float", 
      "Process__params": "btDbvtNode const*, btDbvtNode const*", 
      "~ICollide": __ZN6btDbvt8ICollideD1Ev, 
      "~ICollide_1": __ZN6btDbvt8ICollideD0Ev, 
      "~ICollide_1__params": "", 
      "~ICollide__params": ""
    }, 
    "__new__": function() { var ret = _malloc(_struct_btDbvt___SIZE); Module._.btDbvt.btDbvt.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btDbvt___SIZE); Module._.btDbvt.btDbvt_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btDbvt": __ZN6btDbvtC2Ev, 
    "btDbvt_1": __ZN6btDbvtC1Ev, 
    "btDbvt_1__params": "", 
    "btDbvt__params": "", 
    "clear": __ZN6btDbvt5clearEv, 
    "clear__params": "", 
    "clone": __ZNK6btDbvt5cloneERS_PNS_6ICloneE, 
    "clone__params": "btDbvt&, btDbvt::IClone*", 
    "collideTTpersistentStack": __ZN6btDbvt24collideTTpersistentStackEPK10btDbvtNodeS2_RNS_8ICollideE, 
    "collideTTpersistentStack__params": "btDbvtNode const*, btDbvtNode const*, btDbvt::ICollide&", 
    "collideTV": __ZN6btDbvt9collideTVEPK10btDbvtNodeRK12btDbvtAabbMmRNS_8ICollideE, 
    "collideTV__params": "btDbvtNode const*, btDbvtAabbMm const&, btDbvt::ICollide&", 
    "countLeaves": __ZN6btDbvt11countLeavesEPK10btDbvtNode, 
    "countLeaves__params": "btDbvtNode const*", 
    "enumNodes": __ZN6btDbvt9enumNodesEPK10btDbvtNodeRNS_8ICollideE, 
    "enumNodes__params": "btDbvtNode const*, btDbvt::ICollide&", 
    "extractLeaves": __ZN6btDbvt13extractLeavesEPK10btDbvtNodeR20btAlignedObjectArrayIS2_E, 
    "extractLeaves__params": "btDbvtNode const*, btAlignedObjectArray<btDbvtNode const*>&", 
    "insert": __ZN6btDbvt6insertERK12btDbvtAabbMmPv, 
    "insert__params": "btDbvtAabbMm const&, void*", 
    "maxdepth": __ZN6btDbvt8maxdepthEPK10btDbvtNode, 
    "maxdepth__params": "btDbvtNode const*", 
    "optimizeBottomUp": __ZN6btDbvt16optimizeBottomUpEv, 
    "optimizeBottomUp__params": "", 
    "optimizeIncremental": __ZN6btDbvt19optimizeIncrementalEi, 
    "optimizeIncremental__params": "int", 
    "optimizeTopDown": __ZN6btDbvt15optimizeTopDownEi, 
    "optimizeTopDown__params": "int", 
    "rayTestInternal": __ZNK6btDbvt15rayTestInternalEPK10btDbvtNodeRK9btVector3S5_S5_PjfS5_S5_RNS_8ICollideE, 
    "rayTestInternal__params": "btDbvtNode const*, btVector3 const&, btVector3 const&, btVector3 const&, unsigned int*, float, btVector3 const&, btVector3 const&, btDbvt::ICollide&", 
    "remove": __ZN6btDbvt6removeEP10btDbvtNode, 
    "remove__params": "btDbvtNode*", 
    "update": __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMm, 
    "update_1": __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMmf, 
    "update_1__params": "btDbvtNode*, btDbvtAabbMm&, float", 
    "update_2": __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMmRK9btVector3, 
    "update_2__params": "btDbvtNode*, btDbvtAabbMm&, btVector3 const&", 
    "update_3": __ZN6btDbvt6updateEP10btDbvtNodeR12btDbvtAabbMmRK9btVector3f, 
    "update_3__params": "btDbvtNode*, btDbvtAabbMm&, btVector3 const&, float", 
    "update_4": __ZN6btDbvt6updateEP10btDbvtNodei, 
    "update_4__params": "btDbvtNode*, int", 
    "update__params": "btDbvtNode*, btDbvtAabbMm&", 
    "write": __ZNK6btDbvt5writeEPNS_7IWriterE, 
    "write__params": "btDbvt::IWriter*", 
    "~btDbvt": __ZN6btDbvtD1Ev, 
    "~btDbvt_1": __ZN6btDbvtD2Ev, 
    "~btDbvt_1__params": "", 
    "~btDbvt__params": ""
  }, 
  "btDbvtBroadphase": {
    "__new__": function() { var ret = _malloc(_struct_btDbvtBroadphase___SIZE); Module._.btDbvtBroadphase.btDbvtBroadphase.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btDbvtBroadphase___SIZE); Module._.btDbvtBroadphase.btDbvtBroadphase_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "aabbTest": __ZN16btDbvtBroadphase8aabbTestERK9btVector3S2_R24btBroadphaseAabbCallback, 
    "aabbTest__params": "btVector3 const&, btVector3 const&, btBroadphaseAabbCallback&", 
    "benchmark": __ZN16btDbvtBroadphase9benchmarkEP21btBroadphaseInterface, 
    "benchmark__params": "btBroadphaseInterface*", 
    "btDbvtBroadphase": __ZN16btDbvtBroadphaseC1EP22btOverlappingPairCache, 
    "btDbvtBroadphase_1": __ZN16btDbvtBroadphaseC2EP22btOverlappingPairCache, 
    "btDbvtBroadphase_1__params": "btOverlappingPairCache*", 
    "btDbvtBroadphase__params": "btOverlappingPairCache*", 
    "calculateOverlappingPairs": __ZN16btDbvtBroadphase25calculateOverlappingPairsEP12btDispatcher, 
    "calculateOverlappingPairs__params": "btDispatcher*", 
    "collide": __ZN16btDbvtBroadphase7collideEP12btDispatcher, 
    "collide__params": "btDispatcher*", 
    "createProxy": __ZN16btDbvtBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_, 
    "createProxy__params": "btVector3 const&, btVector3 const&, int, void*, short, short, btDispatcher*, void*", 
    "destroyProxy": __ZN16btDbvtBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher, 
    "destroyProxy__params": "btBroadphaseProxy*, btDispatcher*", 
    "getAabb": __ZNK16btDbvtBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_, 
    "getAabb__params": "btBroadphaseProxy*, btVector3&, btVector3&", 
    "getBroadphaseAabb": __ZNK16btDbvtBroadphase17getBroadphaseAabbER9btVector3S1_, 
    "getBroadphaseAabb__params": "btVector3&, btVector3&", 
    "getOverlappingPairCache": __ZN16btDbvtBroadphase23getOverlappingPairCacheEv, 
    "getOverlappingPairCache_1": __ZNK16btDbvtBroadphase23getOverlappingPairCacheEv, 
    "getOverlappingPairCache_1__params": "", 
    "getOverlappingPairCache__params": "", 
    "optimize": __ZN16btDbvtBroadphase8optimizeEv, 
    "optimize__params": "", 
    "performDeferredRemoval": __ZN16btDbvtBroadphase22performDeferredRemovalEP12btDispatcher, 
    "performDeferredRemoval__params": "btDispatcher*", 
    "printStats": __ZN16btDbvtBroadphase10printStatsEv, 
    "printStats__params": "", 
    "rayTest": __ZN16btDbvtBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_, 
    "rayTest__params": "btVector3 const&, btVector3 const&, btBroadphaseRayCallback&, btVector3 const&, btVector3 const&", 
    "resetPool": __ZN16btDbvtBroadphase9resetPoolEP12btDispatcher, 
    "resetPool__params": "btDispatcher*", 
    "setAabb": __ZN16btDbvtBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher, 
    "setAabbForceUpdate": __ZN16btDbvtBroadphase18setAabbForceUpdateEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher, 
    "setAabbForceUpdate__params": "btBroadphaseProxy*, btVector3 const&, btVector3 const&, btDispatcher*", 
    "setAabb__params": "btBroadphaseProxy*, btVector3 const&, btVector3 const&, btDispatcher*", 
    "~btDbvtBroadphase": __ZN16btDbvtBroadphaseD0Ev, 
    "~btDbvtBroadphase_1": __ZN16btDbvtBroadphaseD1Ev, 
    "~btDbvtBroadphase_1__params": "", 
    "~btDbvtBroadphase_2": __ZN16btDbvtBroadphaseD2Ev, 
    "~btDbvtBroadphase_2__params": "", 
    "~btDbvtBroadphase__params": ""
  }, 
  "btDbvtNodeEnumerator": {
    "Process": __ZN20btDbvtNodeEnumerator7ProcessEPK10btDbvtNode, 
    "Process__params": "btDbvtNode const*", 
    "~btDbvtNodeEnumerator": __ZN20btDbvtNodeEnumeratorD0Ev, 
    "~btDbvtNodeEnumerator_1": __ZN20btDbvtNodeEnumeratorD1Ev, 
    "~btDbvtNodeEnumerator_1__params": "", 
    "~btDbvtNodeEnumerator__params": ""
  }, 
  "btDbvtTreeCollider": {
    "Process": __ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNode, 
    "Process_1": __ZN18btDbvtTreeCollider7ProcessEPK10btDbvtNodeS2_, 
    "Process_1__params": "btDbvtNode const*, btDbvtNode const*", 
    "Process__params": "btDbvtNode const*", 
    "~btDbvtTreeCollider": __ZN18btDbvtTreeColliderD1Ev, 
    "~btDbvtTreeCollider_1": __ZN18btDbvtTreeColliderD0Ev, 
    "~btDbvtTreeCollider_1__params": "", 
    "~btDbvtTreeCollider__params": ""
  }, 
  "btDefaultCollisionConfiguration": {
    "__new__": function() { var ret = _malloc(_struct_btDefaultCollisionConfiguration___SIZE); Module._.btDefaultCollisionConfiguration.btDefaultCollisionConfiguration.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btDefaultCollisionConfiguration___SIZE); Module._.btDefaultCollisionConfiguration.btDefaultCollisionConfiguration_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btDefaultCollisionConfiguration": __ZN31btDefaultCollisionConfigurationC1ERK34btDefaultCollisionConstructionInfo, 
    "btDefaultCollisionConfiguration_1": __ZN31btDefaultCollisionConfigurationC2ERK34btDefaultCollisionConstructionInfo, 
    "btDefaultCollisionConfiguration_1__params": "btDefaultCollisionConstructionInfo const&", 
    "btDefaultCollisionConfiguration__params": "btDefaultCollisionConstructionInfo const&", 
    "getCollisionAlgorithmCreateFunc": __ZN31btDefaultCollisionConfiguration31getCollisionAlgorithmCreateFuncEii, 
    "getCollisionAlgorithmCreateFunc__params": "int, int", 
    "getCollisionAlgorithmPool": __ZN31btDefaultCollisionConfiguration25getCollisionAlgorithmPoolEv, 
    "getCollisionAlgorithmPool__params": "", 
    "getPersistentManifoldPool": __ZN31btDefaultCollisionConfiguration25getPersistentManifoldPoolEv, 
    "getPersistentManifoldPool__params": "", 
    "getSimplexSolver": __ZN31btDefaultCollisionConfiguration16getSimplexSolverEv, 
    "getSimplexSolver__params": "", 
    "getStackAllocator": __ZN31btDefaultCollisionConfiguration17getStackAllocatorEv, 
    "getStackAllocator__params": "", 
    "setConvexConvexMultipointIterations": __ZN31btDefaultCollisionConfiguration35setConvexConvexMultipointIterationsEii, 
    "setConvexConvexMultipointIterations__params": "int, int", 
    "~btDefaultCollisionConfiguration": __ZN31btDefaultCollisionConfigurationD1Ev, 
    "~btDefaultCollisionConfiguration_1": __ZN31btDefaultCollisionConfigurationD0Ev, 
    "~btDefaultCollisionConfiguration_1__params": "", 
    "~btDefaultCollisionConfiguration_2": __ZN31btDefaultCollisionConfigurationD2Ev, 
    "~btDefaultCollisionConfiguration_2__params": "", 
    "~btDefaultCollisionConfiguration__params": ""
  }, 
  "btDefaultCollisionConstructionInfo": {
    "__new__": function() { var ret = _malloc(_struct_btDefaultCollisionConstructionInfo___SIZE); Module._.btDefaultCollisionConstructionInfo.btDefaultCollisionConstructionInfo.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btDefaultCollisionConstructionInfo": __ZN34btDefaultCollisionConstructionInfoC1Ev, 
    "btDefaultCollisionConstructionInfo__params": ""
  }, 
  "btDefaultMotionState": {
    "__new__": function() { var ret = _malloc(_struct_btDefaultMotionState___SIZE); Module._.btDefaultMotionState.btDefaultMotionState.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btDefaultMotionState": __ZN20btDefaultMotionStateC1ERK11btTransformS2_, 
    "btDefaultMotionState__params": "btTransform const&, btTransform const&", 
    "getWorldTransform": __ZNK20btDefaultMotionState17getWorldTransformER11btTransform, 
    "getWorldTransform__params": "btTransform&", 
    "setWorldTransform": __ZN20btDefaultMotionState17setWorldTransformERK11btTransform, 
    "setWorldTransform__params": "btTransform const&", 
    "~btDefaultMotionState": __ZN20btDefaultMotionStateD1Ev, 
    "~btDefaultMotionState_1": __ZN20btDefaultMotionStateD0Ev, 
    "~btDefaultMotionState_1__params": "", 
    "~btDefaultMotionState__params": ""
  }, 
  "btDefaultVehicleRaycaster": {
    "castRay": __ZN25btDefaultVehicleRaycaster7castRayERK9btVector3S2_RN18btVehicleRaycaster24btVehicleRaycasterResultE, 
    "castRay__params": "btVector3 const&, btVector3 const&, btVehicleRaycaster::btVehicleRaycasterResult&", 
    "~btDefaultVehicleRaycaster": __ZN25btDefaultVehicleRaycasterD0Ev, 
    "~btDefaultVehicleRaycaster_1": __ZN25btDefaultVehicleRaycasterD1Ev, 
    "~btDefaultVehicleRaycaster_1__params": "", 
    "~btDefaultVehicleRaycaster__params": ""
  }, 
  "btDiscreteCollisionDetectorInterface": {
    "Result": {
      "~Result": __ZN36btDiscreteCollisionDetectorInterface6ResultD1Ev, 
      "~Result_1": __ZN36btDiscreteCollisionDetectorInterface6ResultD0Ev, 
      "~Result_1__params": "", 
      "~Result__params": ""
    }, 
    "~btDiscreteCollisionDetectorInterface": __ZN36btDiscreteCollisionDetectorInterfaceD1Ev, 
    "~btDiscreteCollisionDetectorInterface_1": __ZN36btDiscreteCollisionDetectorInterfaceD0Ev, 
    "~btDiscreteCollisionDetectorInterface_1__params": "", 
    "~btDiscreteCollisionDetectorInterface__params": ""
  }, 
  "btDiscreteDynamicsWorld": {
    "__new__": function() { var ret = _malloc(_struct_btDiscreteDynamicsWorld___SIZE); Module._.btDiscreteDynamicsWorld.btDiscreteDynamicsWorld.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btDiscreteDynamicsWorld___SIZE); Module._.btDiscreteDynamicsWorld.btDiscreteDynamicsWorld_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "addAction": __ZN23btDiscreteDynamicsWorld9addActionEP17btActionInterface, 
    "addAction__params": "btActionInterface*", 
    "addCharacter": __ZN23btDiscreteDynamicsWorld12addCharacterEP17btActionInterface, 
    "addCharacter__params": "btActionInterface*", 
    "addCollisionObject": __ZN23btDiscreteDynamicsWorld18addCollisionObjectEP17btCollisionObjectss, 
    "addCollisionObject__params": "btCollisionObject*, short, short", 
    "addConstraint": __ZN23btDiscreteDynamicsWorld13addConstraintEP17btTypedConstraintb, 
    "addConstraint__params": "btTypedConstraint*, bool", 
    "addRigidBody": __ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBodyss, 
    "addRigidBody_1": __ZN23btDiscreteDynamicsWorld12addRigidBodyEP11btRigidBody, 
    "addRigidBody_1__params": "btRigidBody*", 
    "addRigidBody__params": "btRigidBody*, short, short", 
    "addVehicle": __ZN23btDiscreteDynamicsWorld10addVehicleEP17btActionInterface, 
    "addVehicle__params": "btActionInterface*", 
    "applyGravity": __ZN23btDiscreteDynamicsWorld12applyGravityEv, 
    "applyGravity__params": "", 
    "btDiscreteDynamicsWorld": __ZN23btDiscreteDynamicsWorldC1EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration, 
    "btDiscreteDynamicsWorld_1": __ZN23btDiscreteDynamicsWorldC2EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration, 
    "btDiscreteDynamicsWorld_1__params": "btDispatcher*, btBroadphaseInterface*, btConstraintSolver*, btCollisionConfiguration*", 
    "btDiscreteDynamicsWorld__params": "btDispatcher*, btBroadphaseInterface*, btConstraintSolver*, btCollisionConfiguration*", 
    "calculateSimulationIslands": __ZN23btDiscreteDynamicsWorld26calculateSimulationIslandsEv, 
    "calculateSimulationIslands__params": "", 
    "clearForces": __ZN23btDiscreteDynamicsWorld11clearForcesEv, 
    "clearForces__params": "", 
    "debugDrawConstraint": __ZN23btDiscreteDynamicsWorld19debugDrawConstraintEP17btTypedConstraint, 
    "debugDrawConstraint__params": "btTypedConstraint*", 
    "debugDrawWorld": __ZN23btDiscreteDynamicsWorld14debugDrawWorldEv, 
    "debugDrawWorld__params": "", 
    "getConstraint": __ZN23btDiscreteDynamicsWorld13getConstraintEi, 
    "getConstraintSolver": __ZN23btDiscreteDynamicsWorld19getConstraintSolverEv, 
    "getConstraintSolver__params": "", 
    "getConstraint_1": __ZNK23btDiscreteDynamicsWorld13getConstraintEi, 
    "getConstraint_1__params": "int", 
    "getConstraint__params": "int", 
    "getGravity": __ZNK23btDiscreteDynamicsWorld10getGravityEv, 
    "getGravity__params": "", 
    "getNumConstraints": __ZNK23btDiscreteDynamicsWorld17getNumConstraintsEv, 
    "getNumConstraints__params": "", 
    "getWorldType": __ZNK23btDiscreteDynamicsWorld12getWorldTypeEv, 
    "getWorldType__params": "", 
    "integrateTransforms": __ZN23btDiscreteDynamicsWorld19integrateTransformsEf, 
    "integrateTransforms__params": "float", 
    "internalSingleStepSimulation": __ZN23btDiscreteDynamicsWorld28internalSingleStepSimulationEf, 
    "internalSingleStepSimulation__params": "float", 
    "predictUnconstraintMotion": __ZN23btDiscreteDynamicsWorld25predictUnconstraintMotionEf, 
    "predictUnconstraintMotion__params": "float", 
    "removeAction": __ZN23btDiscreteDynamicsWorld12removeActionEP17btActionInterface, 
    "removeAction__params": "btActionInterface*", 
    "removeCharacter": __ZN23btDiscreteDynamicsWorld15removeCharacterEP17btActionInterface, 
    "removeCharacter__params": "btActionInterface*", 
    "removeCollisionObject": __ZN23btDiscreteDynamicsWorld21removeCollisionObjectEP17btCollisionObject, 
    "removeCollisionObject__params": "btCollisionObject*", 
    "removeConstraint": __ZN23btDiscreteDynamicsWorld16removeConstraintEP17btTypedConstraint, 
    "removeConstraint__params": "btTypedConstraint*", 
    "removeRigidBody": __ZN23btDiscreteDynamicsWorld15removeRigidBodyEP11btRigidBody, 
    "removeRigidBody__params": "btRigidBody*", 
    "removeVehicle": __ZN23btDiscreteDynamicsWorld13removeVehicleEP17btActionInterface, 
    "removeVehicle__params": "btActionInterface*", 
    "saveKinematicState": __ZN23btDiscreteDynamicsWorld18saveKinematicStateEf, 
    "saveKinematicState__params": "float", 
    "serialize": __ZN23btDiscreteDynamicsWorld9serializeEP12btSerializer, 
    "serializeRigidBodies": __ZN23btDiscreteDynamicsWorld20serializeRigidBodiesEP12btSerializer, 
    "serializeRigidBodies__params": "btSerializer*", 
    "serialize__params": "btSerializer*", 
    "setConstraintSolver": __ZN23btDiscreteDynamicsWorld19setConstraintSolverEP18btConstraintSolver, 
    "setConstraintSolver__params": "btConstraintSolver*", 
    "setGravity": __ZN23btDiscreteDynamicsWorld10setGravityERK9btVector3, 
    "setGravity__params": "btVector3 const&", 
    "setNumTasks": __ZN23btDiscreteDynamicsWorld11setNumTasksEi, 
    "setNumTasks__params": "int", 
    "solveConstraints": __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD1Ev, 
    "solveConstraints_1": __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD0Ev, 
    "solveConstraints_1__params": "btContactSolverInfo&)::InplaceSolverIslandCallback::~InplaceSolverIslandCallback(", 
    "solveConstraints_2": __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback13ProcessIslandEPP17btCollisionObjectiPP20btPersistentManifoldii, 
    "solveConstraints_2__params": "btContactSolverInfo&)::InplaceSolverIslandCallback::ProcessIsland(btCollisionObject**, int, btPersistentManifold**, int, int", 
    "solveConstraints_3": __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallbackD2Ev, 
    "solveConstraints_3__params": "btContactSolverInfo&)::InplaceSolverIslandCallback::~InplaceSolverIslandCallback(", 
    "solveConstraints_4": __ZZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfoEN27InplaceSolverIslandCallback18processConstraintsEv, 
    "solveConstraints_4__params": "btContactSolverInfo&)::InplaceSolverIslandCallback::processConstraints(", 
    "solveConstraints_5": __ZN23btDiscreteDynamicsWorld16solveConstraintsER19btContactSolverInfo, 
    "solveConstraints_5__params": "btContactSolverInfo&", 
    "solveConstraints__params": "btContactSolverInfo&)::InplaceSolverIslandCallback::~InplaceSolverIslandCallback(", 
    "startProfiling": __ZN23btDiscreteDynamicsWorld14startProfilingEf, 
    "startProfiling__params": "float", 
    "stepSimulation": __ZN23btDiscreteDynamicsWorld14stepSimulationEfif, 
    "stepSimulation__params": "float, int, float", 
    "synchronizeMotionStates": __ZN23btDiscreteDynamicsWorld23synchronizeMotionStatesEv, 
    "synchronizeMotionStates__params": "", 
    "synchronizeSingleMotionState": __ZN23btDiscreteDynamicsWorld28synchronizeSingleMotionStateEP11btRigidBody, 
    "synchronizeSingleMotionState__params": "btRigidBody*", 
    "updateActions": __ZN23btDiscreteDynamicsWorld13updateActionsEf, 
    "updateActions__params": "float", 
    "updateActivationState": __ZN23btDiscreteDynamicsWorld21updateActivationStateEf, 
    "updateActivationState__params": "float", 
    "updateVehicles": __ZN23btDiscreteDynamicsWorld14updateVehiclesEf, 
    "updateVehicles__params": "float", 
    "~btDiscreteDynamicsWorld": __ZN23btDiscreteDynamicsWorldD1Ev, 
    "~btDiscreteDynamicsWorld_1": __ZN23btDiscreteDynamicsWorldD0Ev, 
    "~btDiscreteDynamicsWorld_1__params": "", 
    "~btDiscreteDynamicsWorld_2": __ZN23btDiscreteDynamicsWorldD2Ev, 
    "~btDiscreteDynamicsWorld_2__params": "", 
    "~btDiscreteDynamicsWorld__params": ""
  }, 
  "btDispatcher": {
    "~btDispatcher": __ZN12btDispatcherD2Ev, 
    "~btDispatcher_1": __ZN12btDispatcherD0Ev, 
    "~btDispatcher_1__params": "", 
    "~btDispatcher_2": __ZN12btDispatcherD1Ev, 
    "~btDispatcher_2__params": "", 
    "~btDispatcher__params": ""
  }, 
  "btDynamicsWorld": {
    "addCharacter": __ZN15btDynamicsWorld12addCharacterEP17btActionInterface, 
    "addCharacter__params": "btActionInterface*", 
    "addConstraint": __ZN15btDynamicsWorld13addConstraintEP17btTypedConstraintb, 
    "addConstraint__params": "btTypedConstraint*, bool", 
    "addVehicle": __ZN15btDynamicsWorld10addVehicleEP17btActionInterface, 
    "addVehicle__params": "btActionInterface*", 
    "getConstraint": __ZN15btDynamicsWorld13getConstraintEi, 
    "getConstraint_1": __ZNK15btDynamicsWorld13getConstraintEi, 
    "getConstraint_1__params": "int", 
    "getConstraint__params": "int", 
    "getNumConstraints": __ZNK15btDynamicsWorld17getNumConstraintsEv, 
    "getNumConstraints__params": "", 
    "removeCharacter": __ZN15btDynamicsWorld15removeCharacterEP17btActionInterface, 
    "removeCharacter__params": "btActionInterface*", 
    "removeConstraint": __ZN15btDynamicsWorld16removeConstraintEP17btTypedConstraint, 
    "removeConstraint__params": "btTypedConstraint*", 
    "removeVehicle": __ZN15btDynamicsWorld13removeVehicleEP17btActionInterface, 
    "removeVehicle__params": "btActionInterface*", 
    "~btDynamicsWorld": __ZN15btDynamicsWorldD1Ev, 
    "~btDynamicsWorld_1": __ZN15btDynamicsWorldD0Ev, 
    "~btDynamicsWorld_1__params": "", 
    "~btDynamicsWorld__params": ""
  }, 
  "btEmptyAlgorithm": {
    "CreateFunc": {
      "CreateCollisionAlgorithm": __ZN16btEmptyAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, 
      "CreateCollisionAlgorithm__params": "btCollisionAlgorithmConstructionInfo&, btCollisionObject*, btCollisionObject*", 
      "~CreateFunc": __ZN16btEmptyAlgorithm10CreateFuncD1Ev, 
      "~CreateFunc_1": __ZN16btEmptyAlgorithm10CreateFuncD0Ev, 
      "~CreateFunc_1__params": "", 
      "~CreateFunc__params": ""
    }, 
    "__new__": function() { var ret = _malloc(_struct_btEmptyAlgorithm___SIZE); Module._.btEmptyAlgorithm.btEmptyAlgorithm.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btEmptyAlgorithm___SIZE); Module._.btEmptyAlgorithm.btEmptyAlgorithm_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btEmptyAlgorithm": __ZN16btEmptyAlgorithmC2ERK36btCollisionAlgorithmConstructionInfo, 
    "btEmptyAlgorithm_1": __ZN16btEmptyAlgorithmC1ERK36btCollisionAlgorithmConstructionInfo, 
    "btEmptyAlgorithm_1__params": "btCollisionAlgorithmConstructionInfo const&", 
    "btEmptyAlgorithm__params": "btCollisionAlgorithmConstructionInfo const&", 
    "calculateTimeOfImpact": __ZN16btEmptyAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "calculateTimeOfImpact__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "getAllContactManifolds": __ZN16btEmptyAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, 
    "getAllContactManifolds__params": "btAlignedObjectArray<btPersistentManifold*>&", 
    "processCollision": __ZN16btEmptyAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "processCollision__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "~btEmptyAlgorithm": __ZN16btEmptyAlgorithmD0Ev, 
    "~btEmptyAlgorithm_1": __ZN16btEmptyAlgorithmD1Ev, 
    "~btEmptyAlgorithm_1__params": "", 
    "~btEmptyAlgorithm__params": ""
  }, 
  "btEmptyShape": {
    "__new__": function() { var ret = _malloc(_struct_btEmptyShape___SIZE); Module._.btEmptyShape.btEmptyShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btEmptyShape___SIZE); Module._.btEmptyShape.btEmptyShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btEmptyShape": __ZN12btEmptyShapeC2Ev, 
    "btEmptyShape_1": __ZN12btEmptyShapeC1Ev, 
    "btEmptyShape_1__params": "", 
    "btEmptyShape__params": "", 
    "calculateLocalInertia": __ZNK12btEmptyShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "getAabb": __ZNK12btEmptyShape7getAabbERK11btTransformR9btVector3S4_, 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "getLocalScaling": __ZNK12btEmptyShape15getLocalScalingEv, 
    "getLocalScaling__params": "", 
    "getName": __ZNK12btEmptyShape7getNameEv, 
    "getName__params": "", 
    "processAllTriangles": __ZNK12btEmptyShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_, 
    "processAllTriangles__params": "btTriangleCallback*, btVector3 const&, btVector3 const&", 
    "setLocalScaling": __ZN12btEmptyShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "~btEmptyShape": __ZN12btEmptyShapeD0Ev, 
    "~btEmptyShape_1": __ZN12btEmptyShapeD1Ev, 
    "~btEmptyShape_1__params": "", 
    "~btEmptyShape_2": __ZN12btEmptyShapeD2Ev, 
    "~btEmptyShape_2__params": "", 
    "~btEmptyShape__params": ""
  }, 
  "btFreeDefault": __ZL13btFreeDefaultPv, 
  "btFreeDefault__params": "void*", 
  "btGImpactBvh": {
    "boxQuery": __ZNK12btGImpactBvh8boxQueryERK6btAABBR20btAlignedObjectArrayIiE, 
    "boxQuery__params": "btAABB const&, btAlignedObjectArray<int>&", 
    "buildSet": __ZN12btGImpactBvh8buildSetEv, 
    "buildSet__params": "", 
    "find_collision": __ZN12btGImpactBvh14find_collisionEPS_RK11btTransformS0_S3_R9btPairSet, 
    "find_collision__params": "btGImpactBvh*, btTransform const&, btGImpactBvh*, btTransform const&, btPairSet&", 
    "rayQuery": __ZNK12btGImpactBvh8rayQueryERK9btVector3S2_R20btAlignedObjectArrayIiE, 
    "rayQuery__params": "btVector3 const&, btVector3 const&, btAlignedObjectArray<int>&", 
    "refit": __ZN12btGImpactBvh5refitEv, 
    "refit__params": ""
  }, 
  "btGImpactCollisionAlgorithm": {
    "CreateFunc": {
      "CreateCollisionAlgorithm": __ZN27btGImpactCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, 
      "CreateCollisionAlgorithm__params": "btCollisionAlgorithmConstructionInfo&, btCollisionObject*, btCollisionObject*", 
      "~CreateFunc": __ZN27btGImpactCollisionAlgorithm10CreateFuncD1Ev, 
      "~CreateFunc_1": __ZN27btGImpactCollisionAlgorithm10CreateFuncD0Ev, 
      "~CreateFunc_1__params": "", 
      "~CreateFunc__params": ""
    }, 
    "__new__": function() { var ret = _malloc(_struct_btGImpactCollisionAlgorithm___SIZE); Module._.btGImpactCollisionAlgorithm.btGImpactCollisionAlgorithm.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btGImpactCollisionAlgorithm___SIZE); Module._.btGImpactCollisionAlgorithm.btGImpactCollisionAlgorithm_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "addContactPoint": __ZN27btGImpactCollisionAlgorithm15addContactPointEP17btCollisionObjectS1_RK9btVector3S4_f, 
    "addContactPoint__params": "btCollisionObject*, btCollisionObject*, btVector3 const&, btVector3 const&, float", 
    "btGImpactCollisionAlgorithm": __ZN27btGImpactCollisionAlgorithmC2ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, 
    "btGImpactCollisionAlgorithm_1": __ZN27btGImpactCollisionAlgorithmC1ERK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, 
    "btGImpactCollisionAlgorithm_1__params": "btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*", 
    "btGImpactCollisionAlgorithm__params": "btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*", 
    "calculateTimeOfImpact": __ZN27btGImpactCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "calculateTimeOfImpact__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "collide_gjk_triangles": __ZN27btGImpactCollisionAlgorithm21collide_gjk_trianglesEP17btCollisionObjectS1_P22btGImpactMeshShapePartS3_PKii, 
    "collide_gjk_triangles__params": "btCollisionObject*, btCollisionObject*, btGImpactMeshShapePart*, btGImpactMeshShapePart*, int const*, int", 
    "collide_sat_triangles": __ZN27btGImpactCollisionAlgorithm21collide_sat_trianglesEP17btCollisionObjectS1_P22btGImpactMeshShapePartS3_PKii, 
    "collide_sat_triangles__params": "btCollisionObject*, btCollisionObject*, btGImpactMeshShapePart*, btGImpactMeshShapePart*, int const*, int", 
    "convex_vs_convex_collision": __ZN27btGImpactCollisionAlgorithm26convex_vs_convex_collisionEP17btCollisionObjectS1_P16btCollisionShapeS3_, 
    "convex_vs_convex_collision__params": "btCollisionObject*, btCollisionObject*, btCollisionShape*, btCollisionShape*", 
    "getAllContactManifolds": __ZN27btGImpactCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, 
    "getAllContactManifolds__params": "btAlignedObjectArray<btPersistentManifold*>&", 
    "gimpact_vs_compoundshape": __ZN27btGImpactCollisionAlgorithm24gimpact_vs_compoundshapeEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP15btCompoundShapeb, 
    "gimpact_vs_compoundshape__params": "btCollisionObject*, btCollisionObject*, btGImpactShapeInterface*, btCompoundShape*, bool", 
    "gimpact_vs_concave": __ZN27btGImpactCollisionAlgorithm18gimpact_vs_concaveEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP14btConcaveShapeb, 
    "gimpact_vs_concave__params": "btCollisionObject*, btCollisionObject*, btGImpactShapeInterface*, btConcaveShape*, bool", 
    "gimpact_vs_gimpact": __ZN27btGImpactCollisionAlgorithm18gimpact_vs_gimpactEP17btCollisionObjectS1_P23btGImpactShapeInterfaceS3_, 
    "gimpact_vs_gimpact__params": "btCollisionObject*, btCollisionObject*, btGImpactShapeInterface*, btGImpactShapeInterface*", 
    "gimpact_vs_gimpact_find_pairs": __ZN27btGImpactCollisionAlgorithm29gimpact_vs_gimpact_find_pairsERK11btTransformS2_P23btGImpactShapeInterfaceS4_R9btPairSet, 
    "gimpact_vs_gimpact_find_pairs__params": "btTransform const&, btTransform const&, btGImpactShapeInterface*, btGImpactShapeInterface*, btPairSet&", 
    "gimpact_vs_shape": __ZN27btGImpactCollisionAlgorithm16gimpact_vs_shapeEP17btCollisionObjectS1_P23btGImpactShapeInterfaceP16btCollisionShapeb, 
    "gimpact_vs_shape__params": "btCollisionObject*, btCollisionObject*, btGImpactShapeInterface*, btCollisionShape*, bool", 
    "gimpact_vs_shape_find_pairs": __ZN27btGImpactCollisionAlgorithm27gimpact_vs_shape_find_pairsERK11btTransformS2_P23btGImpactShapeInterfaceP16btCollisionShapeR20btAlignedObjectArrayIiE, 
    "gimpact_vs_shape_find_pairs__params": "btTransform const&, btTransform const&, btGImpactShapeInterface*, btCollisionShape*, btAlignedObjectArray<int>&", 
    "gimpacttrimeshpart_vs_plane_collision": __ZN27btGImpactCollisionAlgorithm37gimpacttrimeshpart_vs_plane_collisionEP17btCollisionObjectS1_P22btGImpactMeshShapePartP18btStaticPlaneShapeb, 
    "gimpacttrimeshpart_vs_plane_collision__params": "btCollisionObject*, btCollisionObject*, btGImpactMeshShapePart*, btStaticPlaneShape*, bool", 
    "processCollision": __ZN27btGImpactCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "processCollision__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "registerAlgorithm": __ZN27btGImpactCollisionAlgorithm17registerAlgorithmEP21btCollisionDispatcher, 
    "registerAlgorithm__params": "btCollisionDispatcher*", 
    "shape_vs_shape_collision": __ZN27btGImpactCollisionAlgorithm24shape_vs_shape_collisionEP17btCollisionObjectS1_P16btCollisionShapeS3_, 
    "shape_vs_shape_collision__params": "btCollisionObject*, btCollisionObject*, btCollisionShape*, btCollisionShape*", 
    "~btGImpactCollisionAlgorithm": __ZN27btGImpactCollisionAlgorithmD0Ev, 
    "~btGImpactCollisionAlgorithm_1": __ZN27btGImpactCollisionAlgorithmD1Ev, 
    "~btGImpactCollisionAlgorithm_1__params": "", 
    "~btGImpactCollisionAlgorithm_2": __ZN27btGImpactCollisionAlgorithmD2Ev, 
    "~btGImpactCollisionAlgorithm_2__params": "", 
    "~btGImpactCollisionAlgorithm__params": ""
  }, 
  "btGImpactCompoundShape": {
    "CompoundPrimitiveManager": {
      "get_primitive_box": __ZNK22btGImpactCompoundShape24CompoundPrimitiveManager17get_primitive_boxEiR6btAABB, 
      "get_primitive_box__params": "int, btAABB&", 
      "get_primitive_count": __ZNK22btGImpactCompoundShape24CompoundPrimitiveManager19get_primitive_countEv, 
      "get_primitive_count__params": "", 
      "get_primitive_triangle": __ZNK22btGImpactCompoundShape24CompoundPrimitiveManager22get_primitive_triangleEiR19btPrimitiveTriangle, 
      "get_primitive_triangle__params": "int, btPrimitiveTriangle&", 
      "is_trimesh": __ZNK22btGImpactCompoundShape24CompoundPrimitiveManager10is_trimeshEv, 
      "is_trimesh__params": "", 
      "~CompoundPrimitiveManager": __ZN22btGImpactCompoundShape24CompoundPrimitiveManagerD1Ev, 
      "~CompoundPrimitiveManager_1": __ZN22btGImpactCompoundShape24CompoundPrimitiveManagerD0Ev, 
      "~CompoundPrimitiveManager_1__params": "", 
      "~CompoundPrimitiveManager__params": ""
    }, 
    "calculateLocalInertia": __ZNK22btGImpactCompoundShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "childrenHasTransform": __ZNK22btGImpactCompoundShape20childrenHasTransformEv, 
    "childrenHasTransform__params": "", 
    "getBulletTetrahedron": __ZNK22btGImpactCompoundShape20getBulletTetrahedronEiR20btTetrahedronShapeEx, 
    "getBulletTetrahedron__params": "int, btTetrahedronShapeEx&", 
    "getBulletTriangle": __ZNK22btGImpactCompoundShape17getBulletTriangleEiR17btTriangleShapeEx, 
    "getBulletTriangle__params": "int, btTriangleShapeEx&", 
    "getChildAabb": __ZNK22btGImpactCompoundShape12getChildAabbEiRK11btTransformR9btVector3S4_, 
    "getChildAabb__params": "int, btTransform const&, btVector3&, btVector3&", 
    "getChildShape": __ZN22btGImpactCompoundShape13getChildShapeEi, 
    "getChildShape_1": __ZNK22btGImpactCompoundShape13getChildShapeEi, 
    "getChildShape_1__params": "int", 
    "getChildShape__params": "int", 
    "getChildTransform": __ZNK22btGImpactCompoundShape17getChildTransformEi, 
    "getChildTransform__params": "int", 
    "getGImpactShapeType": __ZNK22btGImpactCompoundShape19getGImpactShapeTypeEv, 
    "getGImpactShapeType__params": "", 
    "getName": __ZNK22btGImpactCompoundShape7getNameEv, 
    "getName__params": "", 
    "getNumChildShapes": __ZNK22btGImpactCompoundShape17getNumChildShapesEv, 
    "getNumChildShapes__params": "", 
    "getPrimitiveManager": __ZNK22btGImpactCompoundShape19getPrimitiveManagerEv, 
    "getPrimitiveManager__params": "", 
    "needsRetrieveTetrahedrons": __ZNK22btGImpactCompoundShape25needsRetrieveTetrahedronsEv, 
    "needsRetrieveTetrahedrons__params": "", 
    "needsRetrieveTriangles": __ZNK22btGImpactCompoundShape22needsRetrieveTrianglesEv, 
    "needsRetrieveTriangles__params": "", 
    "setChildTransform": __ZN22btGImpactCompoundShape17setChildTransformEiRK11btTransform, 
    "setChildTransform__params": "int, btTransform const&", 
    "~btGImpactCompoundShape": __ZN22btGImpactCompoundShapeD0Ev, 
    "~btGImpactCompoundShape_1": __ZN22btGImpactCompoundShapeD1Ev, 
    "~btGImpactCompoundShape_1__params": "", 
    "~btGImpactCompoundShape__params": ""
  }, 
  "btGImpactMeshShape": {
    "calcLocalAABB": __ZN18btGImpactMeshShape13calcLocalAABBEv, 
    "calcLocalAABB__params": "", 
    "calculateLocalInertia": __ZNK18btGImpactMeshShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "calculateSerializeBufferSize": __ZNK18btGImpactMeshShape28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "childrenHasTransform": __ZNK18btGImpactMeshShape20childrenHasTransformEv, 
    "childrenHasTransform__params": "", 
    "getBulletTetrahedron": __ZNK18btGImpactMeshShape20getBulletTetrahedronEiR20btTetrahedronShapeEx, 
    "getBulletTetrahedron__params": "int, btTetrahedronShapeEx&", 
    "getBulletTriangle": __ZNK18btGImpactMeshShape17getBulletTriangleEiR17btTriangleShapeEx, 
    "getBulletTriangle__params": "int, btTriangleShapeEx&", 
    "getChildAabb": __ZNK18btGImpactMeshShape12getChildAabbEiRK11btTransformR9btVector3S4_, 
    "getChildAabb__params": "int, btTransform const&, btVector3&, btVector3&", 
    "getChildShape": __ZN18btGImpactMeshShape13getChildShapeEi, 
    "getChildShape_1": __ZNK18btGImpactMeshShape13getChildShapeEi, 
    "getChildShape_1__params": "int", 
    "getChildShape__params": "int", 
    "getChildTransform": __ZNK18btGImpactMeshShape17getChildTransformEi, 
    "getChildTransform__params": "int", 
    "getGImpactShapeType": __ZNK18btGImpactMeshShape19getGImpactShapeTypeEv, 
    "getGImpactShapeType__params": "", 
    "getName": __ZNK18btGImpactMeshShape7getNameEv, 
    "getName__params": "", 
    "getNumChildShapes": __ZNK18btGImpactMeshShape17getNumChildShapesEv, 
    "getNumChildShapes__params": "", 
    "getPrimitiveManager": __ZNK18btGImpactMeshShape19getPrimitiveManagerEv, 
    "getPrimitiveManager__params": "", 
    "lockChildShapes": __ZNK18btGImpactMeshShape15lockChildShapesEv, 
    "lockChildShapes__params": "", 
    "needsRetrieveTetrahedrons": __ZNK18btGImpactMeshShape25needsRetrieveTetrahedronsEv, 
    "needsRetrieveTetrahedrons__params": "", 
    "needsRetrieveTriangles": __ZNK18btGImpactMeshShape22needsRetrieveTrianglesEv, 
    "needsRetrieveTriangles__params": "", 
    "postUpdate": __ZN18btGImpactMeshShape10postUpdateEv, 
    "postUpdate__params": "", 
    "processAllTriangles": __ZNK18btGImpactMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_, 
    "processAllTriangles__params": "btTriangleCallback*, btVector3 const&, btVector3 const&", 
    "rayTest": __ZNK18btGImpactMeshShape7rayTestERK9btVector3S2_RN16btCollisionWorld17RayResultCallbackE, 
    "rayTest__params": "btVector3 const&, btVector3 const&, btCollisionWorld::RayResultCallback&", 
    "serialize": __ZNK18btGImpactMeshShape9serializeEPvP12btSerializer, 
    "serialize__params": "void*, btSerializer*", 
    "setChildTransform": __ZN18btGImpactMeshShape17setChildTransformEiRK11btTransform, 
    "setChildTransform__params": "int, btTransform const&", 
    "setLocalScaling": __ZN18btGImpactMeshShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "setMargin": __ZN18btGImpactMeshShape9setMarginEf, 
    "setMargin__params": "float", 
    "unlockChildShapes": __ZNK18btGImpactMeshShape17unlockChildShapesEv, 
    "unlockChildShapes__params": "", 
    "~btGImpactMeshShape": __ZN18btGImpactMeshShapeD1Ev, 
    "~btGImpactMeshShape_1": __ZN18btGImpactMeshShapeD0Ev, 
    "~btGImpactMeshShape_1__params": "", 
    "~btGImpactMeshShape_2": __ZN18btGImpactMeshShapeD2Ev, 
    "~btGImpactMeshShape_2__params": "", 
    "~btGImpactMeshShape__params": ""
  }, 
  "btGImpactMeshShapePart": {
    "TrimeshPrimitiveManager": {
      "get_bullet_triangle": __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager19get_bullet_triangleEiR17btTriangleShapeEx, 
      "get_bullet_triangle__params": "int, btTriangleShapeEx&", 
      "get_primitive_box": __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager17get_primitive_boxEiR6btAABB, 
      "get_primitive_box__params": "int, btAABB&", 
      "get_primitive_count": __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager19get_primitive_countEv, 
      "get_primitive_count__params": "", 
      "get_primitive_triangle": __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager22get_primitive_triangleEiR19btPrimitiveTriangle, 
      "get_primitive_triangle__params": "int, btPrimitiveTriangle&", 
      "is_trimesh": __ZNK22btGImpactMeshShapePart23TrimeshPrimitiveManager10is_trimeshEv, 
      "is_trimesh__params": "", 
      "~TrimeshPrimitiveManager": __ZN22btGImpactMeshShapePart23TrimeshPrimitiveManagerD1Ev, 
      "~TrimeshPrimitiveManager_1": __ZN22btGImpactMeshShapePart23TrimeshPrimitiveManagerD0Ev, 
      "~TrimeshPrimitiveManager_1__params": "", 
      "~TrimeshPrimitiveManager__params": ""
    }, 
    "calculateLocalInertia": __ZNK22btGImpactMeshShapePart21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "childrenHasTransform": __ZNK22btGImpactMeshShapePart20childrenHasTransformEv, 
    "childrenHasTransform__params": "", 
    "getBulletTetrahedron": __ZNK22btGImpactMeshShapePart20getBulletTetrahedronEiR20btTetrahedronShapeEx, 
    "getBulletTetrahedron__params": "int, btTetrahedronShapeEx&", 
    "getBulletTriangle": __ZNK22btGImpactMeshShapePart17getBulletTriangleEiR17btTriangleShapeEx, 
    "getBulletTriangle__params": "int, btTriangleShapeEx&", 
    "getChildShape": __ZN22btGImpactMeshShapePart13getChildShapeEi, 
    "getChildShape_1": __ZNK22btGImpactMeshShapePart13getChildShapeEi, 
    "getChildShape_1__params": "int", 
    "getChildShape__params": "int", 
    "getChildTransform": __ZNK22btGImpactMeshShapePart17getChildTransformEi, 
    "getChildTransform__params": "int", 
    "getGImpactShapeType": __ZNK22btGImpactMeshShapePart19getGImpactShapeTypeEv, 
    "getGImpactShapeType__params": "", 
    "getLocalScaling": __ZNK22btGImpactMeshShapePart15getLocalScalingEv, 
    "getLocalScaling__params": "", 
    "getMargin": __ZNK22btGImpactMeshShapePart9getMarginEv, 
    "getMargin__params": "", 
    "getName": __ZNK22btGImpactMeshShapePart7getNameEv, 
    "getName__params": "", 
    "getNumChildShapes": __ZNK22btGImpactMeshShapePart17getNumChildShapesEv, 
    "getNumChildShapes__params": "", 
    "getPrimitiveManager": __ZNK22btGImpactMeshShapePart19getPrimitiveManagerEv, 
    "getPrimitiveManager__params": "", 
    "lockChildShapes": __ZNK22btGImpactMeshShapePart15lockChildShapesEv, 
    "lockChildShapes__params": "", 
    "needsRetrieveTetrahedrons": __ZNK22btGImpactMeshShapePart25needsRetrieveTetrahedronsEv, 
    "needsRetrieveTetrahedrons__params": "", 
    "needsRetrieveTriangles": __ZNK22btGImpactMeshShapePart22needsRetrieveTrianglesEv, 
    "needsRetrieveTriangles__params": "", 
    "processAllTriangles": __ZNK22btGImpactMeshShapePart19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_, 
    "processAllTriangles__params": "btTriangleCallback*, btVector3 const&, btVector3 const&", 
    "setChildTransform": __ZN22btGImpactMeshShapePart17setChildTransformEiRK11btTransform, 
    "setChildTransform__params": "int, btTransform const&", 
    "setLocalScaling": __ZN22btGImpactMeshShapePart15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "setMargin": __ZN22btGImpactMeshShapePart9setMarginEf, 
    "setMargin__params": "float", 
    "unlockChildShapes": __ZNK22btGImpactMeshShapePart17unlockChildShapesEv, 
    "unlockChildShapes__params": "", 
    "~btGImpactMeshShapePart": __ZN22btGImpactMeshShapePartD0Ev, 
    "~btGImpactMeshShapePart_1": __ZN22btGImpactMeshShapePartD1Ev, 
    "~btGImpactMeshShapePart_1__params": "", 
    "~btGImpactMeshShapePart__params": ""
  }, 
  "btGImpactQuantizedBvh": {
    "boxQuery": __ZNK21btGImpactQuantizedBvh8boxQueryERK6btAABBR20btAlignedObjectArrayIiE, 
    "boxQuery__params": "btAABB const&, btAlignedObjectArray<int>&", 
    "buildSet": __ZN21btGImpactQuantizedBvh8buildSetEv, 
    "buildSet__params": "", 
    "rayQuery": __ZNK21btGImpactQuantizedBvh8rayQueryERK9btVector3S2_R20btAlignedObjectArrayIiE, 
    "rayQuery__params": "btVector3 const&, btVector3 const&, btAlignedObjectArray<int>&", 
    "refit": __ZN21btGImpactQuantizedBvh5refitEv, 
    "refit__params": ""
  }, 
  "btGImpactShapeInterface": {
    "calcLocalAABB": __ZN23btGImpactShapeInterface13calcLocalAABBEv, 
    "calcLocalAABB__params": "", 
    "getAabb": __ZNK23btGImpactShapeInterface7getAabbERK11btTransformR9btVector3S4_, 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "getChildAabb": __ZNK23btGImpactShapeInterface12getChildAabbEiRK11btTransformR9btVector3S4_, 
    "getChildAabb__params": "int, btTransform const&, btVector3&, btVector3&", 
    "getLocalScaling": __ZNK23btGImpactShapeInterface15getLocalScalingEv, 
    "getLocalScaling__params": "", 
    "getShapeType": __ZNK23btGImpactShapeInterface12getShapeTypeEv, 
    "getShapeType__params": "", 
    "lockChildShapes": __ZNK23btGImpactShapeInterface15lockChildShapesEv, 
    "lockChildShapes__params": "", 
    "postUpdate": __ZN23btGImpactShapeInterface10postUpdateEv, 
    "postUpdate__params": "", 
    "processAllTriangles": __ZNK23btGImpactShapeInterface19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_, 
    "processAllTriangles__params": "btTriangleCallback*, btVector3 const&, btVector3 const&", 
    "rayTest": __ZNK23btGImpactShapeInterface7rayTestERK9btVector3S2_RN16btCollisionWorld17RayResultCallbackE, 
    "rayTest__params": "btVector3 const&, btVector3 const&, btCollisionWorld::RayResultCallback&", 
    "setLocalScaling": __ZN23btGImpactShapeInterface15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "setMargin": __ZN23btGImpactShapeInterface9setMarginEf, 
    "setMargin__params": "float", 
    "unlockChildShapes": __ZNK23btGImpactShapeInterface17unlockChildShapesEv, 
    "unlockChildShapes__params": "", 
    "~btGImpactShapeInterface": __ZN23btGImpactShapeInterfaceD1Ev, 
    "~btGImpactShapeInterface_1": __ZN23btGImpactShapeInterfaceD0Ev, 
    "~btGImpactShapeInterface_1__params": "", 
    "~btGImpactShapeInterface__params": ""
  }, 
  "btGImpactTriangleCallback": {
    "processTriangle": __ZN25btGImpactTriangleCallback15processTriangleEP9btVector3ii, 
    "processTriangle__params": "btVector3*, int, int", 
    "~btGImpactTriangleCallback": __ZN25btGImpactTriangleCallbackD1Ev, 
    "~btGImpactTriangleCallback_1": __ZN25btGImpactTriangleCallbackD0Ev, 
    "~btGImpactTriangleCallback_1__params": "", 
    "~btGImpactTriangleCallback__params": ""
  }, 
  "btGenerateInternalEdgeInfo": __Z26btGenerateInternalEdgeInfoP22btBvhTriangleMeshShapeP17btTriangleInfoMap, 
  "btGenerateInternalEdgeInfo__params": "btBvhTriangleMeshShape*, btTriangleInfoMap*", 
  "btGeneric6DofConstraint": {
    "__new__": function() { var ret = _malloc(_struct_btGeneric6DofConstraint___SIZE); Module._.btGeneric6DofConstraint.btGeneric6DofConstraint.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btGeneric6DofConstraint___SIZE); Module._.btGeneric6DofConstraint.btGeneric6DofConstraint_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__2": function() { var ret = _malloc(_struct_btGeneric6DofConstraint___SIZE); Module._.btGeneric6DofConstraint.btGeneric6DofConstraint_2.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__3": function() { var ret = _malloc(_struct_btGeneric6DofConstraint___SIZE); Module._.btGeneric6DofConstraint.btGeneric6DofConstraint_3.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btGeneric6DofConstraint": __ZN23btGeneric6DofConstraintC1ER11btRigidBodyRK11btTransformb, 
    "btGeneric6DofConstraint_1": __ZN23btGeneric6DofConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b, 
    "btGeneric6DofConstraint_1__params": "btRigidBody&, btRigidBody&, btTransform const&, btTransform const&, bool", 
    "btGeneric6DofConstraint_2": __ZN23btGeneric6DofConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b, 
    "btGeneric6DofConstraint_2__params": "btRigidBody&, btRigidBody&, btTransform const&, btTransform const&, bool", 
    "btGeneric6DofConstraint_3": __ZN23btGeneric6DofConstraintC2ER11btRigidBodyRK11btTransformb, 
    "btGeneric6DofConstraint_3__params": "btRigidBody&, btTransform const&, bool", 
    "btGeneric6DofConstraint__params": "btRigidBody&, btTransform const&, bool", 
    "buildAngularJacobian": __ZN23btGeneric6DofConstraint20buildAngularJacobianER15btJacobianEntryRK9btVector3, 
    "buildAngularJacobian__params": "btJacobianEntry&, btVector3 const&", 
    "buildJacobian": __ZN23btGeneric6DofConstraint13buildJacobianEv, 
    "buildJacobian__params": "", 
    "buildLinearJacobian": __ZN23btGeneric6DofConstraint19buildLinearJacobianER15btJacobianEntryRK9btVector3S4_S4_, 
    "buildLinearJacobian__params": "btJacobianEntry&, btVector3 const&, btVector3 const&, btVector3 const&", 
    "calcAnchorPos": __ZN23btGeneric6DofConstraint13calcAnchorPosEv, 
    "calcAnchorPos__params": "", 
    "calculateAngleInfo": __ZN23btGeneric6DofConstraint18calculateAngleInfoEv, 
    "calculateAngleInfo__params": "", 
    "calculateLinearInfo": __ZN23btGeneric6DofConstraint19calculateLinearInfoEv, 
    "calculateLinearInfo__params": "", 
    "calculateSerializeBufferSize": __ZNK23btGeneric6DofConstraint28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "calculateTransforms": __ZN23btGeneric6DofConstraint19calculateTransformsERK11btTransformS2_, 
    "calculateTransforms_1": __ZN23btGeneric6DofConstraint19calculateTransformsEv, 
    "calculateTransforms_1__params": "", 
    "calculateTransforms__params": "btTransform const&, btTransform const&", 
    "getAngle": __ZNK23btGeneric6DofConstraint8getAngleEi, 
    "getAngle__params": "int", 
    "getAxis": __ZNK23btGeneric6DofConstraint7getAxisEi, 
    "getAxis__params": "int", 
    "getInfo1": __ZN23btGeneric6DofConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E, 
    "getInfo1NonVirtual": __ZN23btGeneric6DofConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E, 
    "getInfo1NonVirtual__params": "btTypedConstraint::btConstraintInfo1*", 
    "getInfo1__params": "btTypedConstraint::btConstraintInfo1*", 
    "getInfo2": __ZN23btGeneric6DofConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E, 
    "getInfo2NonVirtual": __ZN23btGeneric6DofConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_S8_S8_, 
    "getInfo2NonVirtual__params": "btTypedConstraint::btConstraintInfo2*, btTransform const&, btTransform const&, btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&", 
    "getInfo2__params": "btTypedConstraint::btConstraintInfo2*", 
    "getParam": __ZNK23btGeneric6DofConstraint8getParamEii, 
    "getParam__params": "int, int", 
    "getRelativePivotPosition": __ZNK23btGeneric6DofConstraint24getRelativePivotPositionEi, 
    "getRelativePivotPosition__params": "int", 
    "get_limit_motor_info2": __ZN23btGeneric6DofConstraint21get_limit_motor_info2EP22btRotationalLimitMotorRK11btTransformS4_RK9btVector3S7_S7_S7_PN17btTypedConstraint17btConstraintInfo2EiRS5_ii, 
    "get_limit_motor_info2__params": "btRotationalLimitMotor*, btTransform const&, btTransform const&, btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&, btTypedConstraint::btConstraintInfo2*, int, btVector3&, int, int", 
    "serialize": __ZNK23btGeneric6DofConstraint9serializeEPvP12btSerializer, 
    "serialize__params": "void*, btSerializer*", 
    "setAngularLimits": __ZN23btGeneric6DofConstraint16setAngularLimitsEPN17btTypedConstraint17btConstraintInfo2EiRK11btTransformS5_RK9btVector3S8_S8_S8_, 
    "setAngularLimits__params": "btTypedConstraint::btConstraintInfo2*, int, btTransform const&, btTransform const&, btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&", 
    "setLinearLimits": __ZN23btGeneric6DofConstraint15setLinearLimitsEPN17btTypedConstraint17btConstraintInfo2EiRK11btTransformS5_RK9btVector3S8_S8_S8_, 
    "setLinearLimits__params": "btTypedConstraint::btConstraintInfo2*, int, btTransform const&, btTransform const&, btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&", 
    "setParam": __ZN23btGeneric6DofConstraint8setParamEifi, 
    "setParam__params": "int, float, int", 
    "testAngularLimitMotor": __ZN23btGeneric6DofConstraint21testAngularLimitMotorEi, 
    "testAngularLimitMotor__params": "int", 
    "updateRHS": __ZN23btGeneric6DofConstraint9updateRHSEf, 
    "updateRHS__params": "float", 
    "~btGeneric6DofConstraint": __ZN23btGeneric6DofConstraintD0Ev, 
    "~btGeneric6DofConstraint_1": __ZN23btGeneric6DofConstraintD1Ev, 
    "~btGeneric6DofConstraint_1__params": "", 
    "~btGeneric6DofConstraint__params": ""
  }, 
  "btGeneric6DofSpringConstraint": {
    "__new__": function() { var ret = _malloc(_struct_btGeneric6DofSpringConstraint___SIZE); Module._.btGeneric6DofSpringConstraint.btGeneric6DofSpringConstraint.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btGeneric6DofSpringConstraint___SIZE); Module._.btGeneric6DofSpringConstraint.btGeneric6DofSpringConstraint_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btGeneric6DofSpringConstraint": __ZN29btGeneric6DofSpringConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b, 
    "btGeneric6DofSpringConstraint_1": __ZN29btGeneric6DofSpringConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b, 
    "btGeneric6DofSpringConstraint_1__params": "btRigidBody&, btRigidBody&, btTransform const&, btTransform const&, bool", 
    "btGeneric6DofSpringConstraint__params": "btRigidBody&, btRigidBody&, btTransform const&, btTransform const&, bool", 
    "enableSpring": __ZN29btGeneric6DofSpringConstraint12enableSpringEib, 
    "enableSpring__params": "int, bool", 
    "getInfo2": __ZN29btGeneric6DofSpringConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E, 
    "getInfo2__params": "btTypedConstraint::btConstraintInfo2*", 
    "internalUpdateSprings": __ZN29btGeneric6DofSpringConstraint21internalUpdateSpringsEPN17btTypedConstraint17btConstraintInfo2E, 
    "internalUpdateSprings__params": "btTypedConstraint::btConstraintInfo2*", 
    "setDamping": __ZN29btGeneric6DofSpringConstraint10setDampingEif, 
    "setDamping__params": "int, float", 
    "setEquilibriumPoint": __ZN29btGeneric6DofSpringConstraint19setEquilibriumPointEif, 
    "setEquilibriumPoint_1": __ZN29btGeneric6DofSpringConstraint19setEquilibriumPointEi, 
    "setEquilibriumPoint_1__params": "int", 
    "setEquilibriumPoint_2": __ZN29btGeneric6DofSpringConstraint19setEquilibriumPointEv, 
    "setEquilibriumPoint_2__params": "", 
    "setEquilibriumPoint__params": "int, float", 
    "setStiffness": __ZN29btGeneric6DofSpringConstraint12setStiffnessEif, 
    "setStiffness__params": "int, float", 
    "~btGeneric6DofSpringConstraint": __ZN29btGeneric6DofSpringConstraintD1Ev, 
    "~btGeneric6DofSpringConstraint_1": __ZN29btGeneric6DofSpringConstraintD0Ev, 
    "~btGeneric6DofSpringConstraint_1__params": "", 
    "~btGeneric6DofSpringConstraint__params": ""
  }, 
  "btGenericMemoryPool": {
    "allocate": __ZN19btGenericMemoryPool8allocateEj, 
    "allocate__params": "unsigned int", 
    "allocate_from_free_nodes": __ZN19btGenericMemoryPool24allocate_from_free_nodesEj, 
    "allocate_from_free_nodes__params": "unsigned int", 
    "allocate_from_pool": __ZN19btGenericMemoryPool18allocate_from_poolEj, 
    "allocate_from_pool__params": "unsigned int", 
    "end_pool": __ZN19btGenericMemoryPool8end_poolEv, 
    "end_pool__params": "", 
    "freeMemory": __ZN19btGenericMemoryPool10freeMemoryEPv, 
    "freeMemory__params": "void*", 
    "init_pool": __ZN19btGenericMemoryPool9init_poolEjj, 
    "init_pool__params": "unsigned int, unsigned int"
  }, 
  "btGenericPoolAllocator": {
    "allocate": __ZN22btGenericPoolAllocator8allocateEj, 
    "allocate__params": "unsigned int", 
    "failback_alloc": __ZN22btGenericPoolAllocator14failback_allocEj, 
    "failback_alloc__params": "unsigned int", 
    "failback_free": __ZN22btGenericPoolAllocator13failback_freeEPv, 
    "failback_free__params": "void*", 
    "freeMemory": __ZN22btGenericPoolAllocator10freeMemoryEPv, 
    "freeMemory__params": "void*", 
    "push_new_pool": __ZN22btGenericPoolAllocator13push_new_poolEv, 
    "push_new_pool__params": "", 
    "~btGenericPoolAllocator": __ZN22btGenericPoolAllocatorD1Ev, 
    "~btGenericPoolAllocator_1": __ZN22btGenericPoolAllocatorD0Ev, 
    "~btGenericPoolAllocator_1__params": "", 
    "~btGenericPoolAllocator_2": __ZN22btGenericPoolAllocatorD2Ev, 
    "~btGenericPoolAllocator_2__params": "", 
    "~btGenericPoolAllocator__params": ""
  }, 
  "btGeometryUtil": {
    "areVerticesBehindPlane": __ZN14btGeometryUtil22areVerticesBehindPlaneERK9btVector3RK20btAlignedObjectArrayIS0_Ef, 
    "areVerticesBehindPlane__params": "btVector3 const&, btAlignedObjectArray<btVector3> const&, float", 
    "getVerticesFromPlaneEquations": __ZN14btGeometryUtil29getVerticesFromPlaneEquationsERK20btAlignedObjectArrayI9btVector3ERS2_, 
    "getVerticesFromPlaneEquations__params": "btAlignedObjectArray<btVector3> const&, btAlignedObjectArray<btVector3>&", 
    "isPointInsidePlanes": __ZN14btGeometryUtil19isPointInsidePlanesERK20btAlignedObjectArrayI9btVector3ERKS1_f, 
    "isPointInsidePlanes__params": "btAlignedObjectArray<btVector3> const&, btVector3 const&, float"
  }, 
  "btGetMatrixElem": __Z15btGetMatrixElemRK11btMatrix3x3i, 
  "btGetMatrixElem__params": "btMatrix3x3 const&, int", 
  "btGhostObject": {
    "__new__": function() { var ret = _malloc(_struct_btGhostObject___SIZE); Module._.btGhostObject.btGhostObject.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btGhostObject___SIZE); Module._.btGhostObject.btGhostObject_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "addOverlappingObjectInternal": __ZN13btGhostObject28addOverlappingObjectInternalEP17btBroadphaseProxyS1_, 
    "addOverlappingObjectInternal__params": "btBroadphaseProxy*, btBroadphaseProxy*", 
    "btGhostObject": __ZN13btGhostObjectC2Ev, 
    "btGhostObject_1": __ZN13btGhostObjectC1Ev, 
    "btGhostObject_1__params": "", 
    "btGhostObject__params": "", 
    "convexSweepTest": __ZNK13btGhostObject15convexSweepTestEPK13btConvexShapeRK11btTransformS5_RN16btCollisionWorld20ConvexResultCallbackEf, 
    "convexSweepTest__params": "btConvexShape const*, btTransform const&, btTransform const&, btCollisionWorld::ConvexResultCallback&, float", 
    "rayTest": __ZNK13btGhostObject7rayTestERK9btVector3S2_RN16btCollisionWorld17RayResultCallbackE, 
    "rayTest__params": "btVector3 const&, btVector3 const&, btCollisionWorld::RayResultCallback&", 
    "removeOverlappingObjectInternal": __ZN13btGhostObject31removeOverlappingObjectInternalEP17btBroadphaseProxyP12btDispatcherS1_, 
    "removeOverlappingObjectInternal__params": "btBroadphaseProxy*, btDispatcher*, btBroadphaseProxy*", 
    "~btGhostObject": __ZN13btGhostObjectD0Ev, 
    "~btGhostObject_1": __ZN13btGhostObjectD1Ev, 
    "~btGhostObject_1__params": "", 
    "~btGhostObject_2": __ZN13btGhostObjectD2Ev, 
    "~btGhostObject_2__params": "", 
    "~btGhostObject__params": ""
  }, 
  "btGjkConvexCast": {
    "__new__": function() { var ret = _malloc(_struct_btGjkConvexCast___SIZE); Module._.btGjkConvexCast.btGjkConvexCast.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btGjkConvexCast___SIZE); Module._.btGjkConvexCast.btGjkConvexCast_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btGjkConvexCast": __ZN15btGjkConvexCastC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolver, 
    "btGjkConvexCast_1": __ZN15btGjkConvexCastC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolver, 
    "btGjkConvexCast_1__params": "btConvexShape const*, btConvexShape const*, btVoronoiSimplexSolver*", 
    "btGjkConvexCast__params": "btConvexShape const*, btConvexShape const*, btVoronoiSimplexSolver*", 
    "calcTimeOfImpact": __ZN15btGjkConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE, 
    "calcTimeOfImpact__params": "btTransform const&, btTransform const&, btTransform const&, btTransform const&, btConvexCast::CastResult&", 
    "~btGjkConvexCast": __ZN15btGjkConvexCastD1Ev, 
    "~btGjkConvexCast_1": __ZN15btGjkConvexCastD0Ev, 
    "~btGjkConvexCast_1__params": "", 
    "~btGjkConvexCast__params": ""
  }, 
  "btGjkEpaPenetrationDepthSolver": {
    "calcPenDepth": __ZN30btGjkEpaPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAlloc, 
    "calcPenDepth__params": "btVoronoiSimplexSolver&, btConvexShape const*, btConvexShape const*, btTransform const&, btTransform const&, btVector3&, btVector3&, btVector3&, btIDebugDraw*, btStackAlloc*", 
    "~btGjkEpaPenetrationDepthSolver": __ZN30btGjkEpaPenetrationDepthSolverD0Ev, 
    "~btGjkEpaPenetrationDepthSolver_1": __ZN30btGjkEpaPenetrationDepthSolverD1Ev, 
    "~btGjkEpaPenetrationDepthSolver_1__params": "", 
    "~btGjkEpaPenetrationDepthSolver__params": ""
  }, 
  "btGjkEpaSolver2": {
    "Distance": __ZN15btGjkEpaSolver28DistanceEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsE, 
    "Distance__params": "btConvexShape const*, btTransform const&, btConvexShape const*, btTransform const&, btVector3 const&, btGjkEpaSolver2::sResults&", 
    "Penetration": __ZN15btGjkEpaSolver211PenetrationEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsEb, 
    "Penetration__params": "btConvexShape const*, btTransform const&, btConvexShape const*, btTransform const&, btVector3 const&, btGjkEpaSolver2::sResults&, bool", 
    "SignedDistance": __ZN15btGjkEpaSolver214SignedDistanceEPK13btConvexShapeRK11btTransformS2_S5_RK9btVector3RNS_8sResultsE, 
    "SignedDistance_1": __ZN15btGjkEpaSolver214SignedDistanceERK9btVector3fPK13btConvexShapeRK11btTransformRNS_8sResultsE, 
    "SignedDistance_1__params": "btVector3 const&, float, btConvexShape const*, btTransform const&, btGjkEpaSolver2::sResults&", 
    "SignedDistance__params": "btConvexShape const*, btTransform const&, btConvexShape const*, btTransform const&, btVector3 const&, btGjkEpaSolver2::sResults&", 
    "StackSizeRequirement": __ZN15btGjkEpaSolver220StackSizeRequirementEv, 
    "StackSizeRequirement__params": ""
  }, 
  "btGjkPairDetector": {
    "__new__": function() { var ret = _malloc(_struct_btGjkPairDetector___SIZE); Module._.btGjkPairDetector.btGjkPairDetector.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btGjkPairDetector___SIZE); Module._.btGjkPairDetector.btGjkPairDetector_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__2": function() { var ret = _malloc(_struct_btGjkPairDetector___SIZE); Module._.btGjkPairDetector.btGjkPairDetector_2.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__3": function() { var ret = _malloc(_struct_btGjkPairDetector___SIZE); Module._.btGjkPairDetector.btGjkPairDetector_3.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btGjkPairDetector": __ZN17btGjkPairDetectorC2EPK13btConvexShapeS2_iiffP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, 
    "btGjkPairDetector_1": __ZN17btGjkPairDetectorC1EPK13btConvexShapeS2_iiffP22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, 
    "btGjkPairDetector_1__params": "btConvexShape const*, btConvexShape const*, int, int, float, float, btVoronoiSimplexSolver*, btConvexPenetrationDepthSolver*", 
    "btGjkPairDetector_2": __ZN17btGjkPairDetectorC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, 
    "btGjkPairDetector_2__params": "btConvexShape const*, btConvexShape const*, btVoronoiSimplexSolver*, btConvexPenetrationDepthSolver*", 
    "btGjkPairDetector_3": __ZN17btGjkPairDetectorC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolverP30btConvexPenetrationDepthSolver, 
    "btGjkPairDetector_3__params": "btConvexShape const*, btConvexShape const*, btVoronoiSimplexSolver*, btConvexPenetrationDepthSolver*", 
    "btGjkPairDetector__params": "btConvexShape const*, btConvexShape const*, int, int, float, float, btVoronoiSimplexSolver*, btConvexPenetrationDepthSolver*", 
    "getClosestPoints": __ZN17btGjkPairDetector16getClosestPointsERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDrawb, 
    "getClosestPointsNonVirtual": __ZN17btGjkPairDetector26getClosestPointsNonVirtualERKN36btDiscreteCollisionDetectorInterface17ClosestPointInputERNS0_6ResultEP12btIDebugDraw, 
    "getClosestPointsNonVirtual__params": "btDiscreteCollisionDetectorInterface::ClosestPointInput const&, btDiscreteCollisionDetectorInterface::Result&, btIDebugDraw*", 
    "getClosestPoints__params": "btDiscreteCollisionDetectorInterface::ClosestPointInput const&, btDiscreteCollisionDetectorInterface::Result&, btIDebugDraw*, bool", 
    "~btGjkPairDetector": __ZN17btGjkPairDetectorD1Ev, 
    "~btGjkPairDetector_1": __ZN17btGjkPairDetectorD0Ev, 
    "~btGjkPairDetector_1__params": "", 
    "~btGjkPairDetector__params": ""
  }, 
  "btHashInt": {
    "getUid1": __ZNK9btHashInt7getUid1Ev, 
    "getUid1__params": "", 
    "~btHashInt": __ZN9btHashIntD1Ev, 
    "~btHashInt__params": ""
  }, 
  "btHashMap<btHashInt, btTriangleInfo>": {
    "growTables": __ZN9btHashMapI9btHashInt14btTriangleInfoE10growTablesERKS0_, 
    "growTables__params": "btHashInt const&", 
    "insert": __ZN9btHashMapI9btHashInt14btTriangleInfoE6insertERKS0_RKS1_, 
    "insert__params": "btHashInt const&, btTriangleInfo const&", 
    "~btHashMap": __ZN9btHashMapI9btHashInt14btTriangleInfoED2Ev, 
    "~btHashMap__params": ""
  }, 
  "btHashMap<btHashPtr, btCollisionShape*>": {
    "growTables": __ZN9btHashMapI9btHashPtrP16btCollisionShapeE10growTablesERKS0_, 
    "growTables__params": "btHashPtr const&", 
    "insert": __ZN9btHashMapI9btHashPtrP16btCollisionShapeE6insertERKS0_RKS2_, 
    "insert__params": "btHashPtr const&, btCollisionShape* const&", 
    "~btHashMap": __ZN9btHashMapI9btHashPtrP16btCollisionShapeED1Ev, 
    "~btHashMap__params": ""
  }, 
  "btHashedOverlappingPairCache": {
    "__new__": function() { var ret = _malloc(_struct_btHashedOverlappingPairCache___SIZE); Module._.btHashedOverlappingPairCache.btHashedOverlappingPairCache.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btHashedOverlappingPairCache___SIZE); Module._.btHashedOverlappingPairCache.btHashedOverlappingPairCache_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "addOverlappingPair": __ZN28btHashedOverlappingPairCache18addOverlappingPairEP17btBroadphaseProxyS1_, 
    "addOverlappingPair__params": "btBroadphaseProxy*, btBroadphaseProxy*", 
    "btHashedOverlappingPairCache": __ZN28btHashedOverlappingPairCacheC1Ev, 
    "btHashedOverlappingPairCache_1": __ZN28btHashedOverlappingPairCacheC2Ev, 
    "btHashedOverlappingPairCache_1__params": "", 
    "btHashedOverlappingPairCache__params": "", 
    "cleanOverlappingPair": __ZN28btHashedOverlappingPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher, 
    "cleanOverlappingPair__params": "btBroadphasePair&, btDispatcher*", 
    "cleanProxyFromPairs": __ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD1Ev, 
    "cleanProxyFromPairs_1": __ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD0Ev, 
    "cleanProxyFromPairs_1__params": "btBroadphaseProxy*, btDispatcher*)::CleanPairCallback::~CleanPairCallback(", 
    "cleanProxyFromPairs_2": __ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallback14processOverlapER16btBroadphasePair, 
    "cleanProxyFromPairs_2__params": "btBroadphaseProxy*, btDispatcher*)::CleanPairCallback::processOverlap(btBroadphasePair&", 
    "cleanProxyFromPairs_3": __ZZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD2Ev, 
    "cleanProxyFromPairs_3__params": "btBroadphaseProxy*, btDispatcher*)::CleanPairCallback::~CleanPairCallback(", 
    "cleanProxyFromPairs_4": __ZN28btHashedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher, 
    "cleanProxyFromPairs_4__params": "btBroadphaseProxy*, btDispatcher*", 
    "cleanProxyFromPairs__params": "btBroadphaseProxy*, btDispatcher*)::CleanPairCallback::~CleanPairCallback(", 
    "findPair": __ZN28btHashedOverlappingPairCache8findPairEP17btBroadphaseProxyS1_, 
    "findPair__params": "btBroadphaseProxy*, btBroadphaseProxy*", 
    "getNumOverlappingPairs": __ZNK28btHashedOverlappingPairCache22getNumOverlappingPairsEv, 
    "getNumOverlappingPairs__params": "", 
    "getOverlappingPairArray": __ZN28btHashedOverlappingPairCache23getOverlappingPairArrayEv, 
    "getOverlappingPairArrayPtr": __ZN28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv, 
    "getOverlappingPairArrayPtr_1": __ZNK28btHashedOverlappingPairCache26getOverlappingPairArrayPtrEv, 
    "getOverlappingPairArrayPtr_1__params": "", 
    "getOverlappingPairArrayPtr__params": "", 
    "getOverlappingPairArray__params": "", 
    "growTables": __ZN28btHashedOverlappingPairCache10growTablesEv, 
    "growTables__params": "", 
    "hasDeferredRemoval": __ZN28btHashedOverlappingPairCache18hasDeferredRemovalEv, 
    "hasDeferredRemoval__params": "", 
    "internalAddPair": __ZN28btHashedOverlappingPairCache15internalAddPairEP17btBroadphaseProxyS1_, 
    "internalAddPair__params": "btBroadphaseProxy*, btBroadphaseProxy*", 
    "processAllOverlappingPairs": __ZN28btHashedOverlappingPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher, 
    "processAllOverlappingPairs__params": "btOverlapCallback*, btDispatcher*", 
    "removeOverlappingPair": __ZN28btHashedOverlappingPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher, 
    "removeOverlappingPair__params": "btBroadphaseProxy*, btBroadphaseProxy*, btDispatcher*", 
    "removeOverlappingPairsContainingProxy": __ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD1Ev, 
    "removeOverlappingPairsContainingProxy_1": __ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD0Ev, 
    "removeOverlappingPairsContainingProxy_1__params": "btBroadphaseProxy*, btDispatcher*)::RemovePairCallback::~RemovePairCallback(", 
    "removeOverlappingPairsContainingProxy_2": __ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallback14processOverlapER16btBroadphasePair, 
    "removeOverlappingPairsContainingProxy_2__params": "btBroadphaseProxy*, btDispatcher*)::RemovePairCallback::processOverlap(btBroadphasePair&", 
    "removeOverlappingPairsContainingProxy_3": __ZZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD2Ev, 
    "removeOverlappingPairsContainingProxy_3__params": "btBroadphaseProxy*, btDispatcher*)::RemovePairCallback::~RemovePairCallback(", 
    "removeOverlappingPairsContainingProxy_4": __ZN28btHashedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher, 
    "removeOverlappingPairsContainingProxy_4__params": "btBroadphaseProxy*, btDispatcher*", 
    "removeOverlappingPairsContainingProxy__params": "btBroadphaseProxy*, btDispatcher*)::RemovePairCallback::~RemovePairCallback(", 
    "setInternalGhostPairCallback": __ZN28btHashedOverlappingPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback, 
    "setInternalGhostPairCallback__params": "btOverlappingPairCallback*", 
    "setOverlapFilterCallback": __ZN28btHashedOverlappingPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback, 
    "setOverlapFilterCallback__params": "btOverlapFilterCallback*", 
    "sortOverlappingPairs": __ZN28btHashedOverlappingPairCache20sortOverlappingPairsEP12btDispatcher, 
    "sortOverlappingPairs__params": "btDispatcher*", 
    "~btHashedOverlappingPairCache": __ZN28btHashedOverlappingPairCacheD0Ev, 
    "~btHashedOverlappingPairCache_1": __ZN28btHashedOverlappingPairCacheD1Ev, 
    "~btHashedOverlappingPairCache_1__params": "", 
    "~btHashedOverlappingPairCache_2": __ZN28btHashedOverlappingPairCacheD2Ev, 
    "~btHashedOverlappingPairCache_2__params": "", 
    "~btHashedOverlappingPairCache__params": ""
  }, 
  "btHeightfieldTerrainShape": {
    "__new__": function() { var ret = _malloc(_struct_btHeightfieldTerrainShape___SIZE); Module._.btHeightfieldTerrainShape.btHeightfieldTerrainShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btHeightfieldTerrainShape___SIZE); Module._.btHeightfieldTerrainShape.btHeightfieldTerrainShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__2": function() { var ret = _malloc(_struct_btHeightfieldTerrainShape___SIZE); Module._.btHeightfieldTerrainShape.btHeightfieldTerrainShape_2.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__3": function() { var ret = _malloc(_struct_btHeightfieldTerrainShape___SIZE); Module._.btHeightfieldTerrainShape.btHeightfieldTerrainShape_3.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btHeightfieldTerrainShape": __ZN25btHeightfieldTerrainShapeC2EiiPvfffi14PHY_ScalarTypeb, 
    "btHeightfieldTerrainShape_1": __ZN25btHeightfieldTerrainShapeC2EiiPvfibb, 
    "btHeightfieldTerrainShape_1__params": "int, int, void*, float, int, bool, bool", 
    "btHeightfieldTerrainShape_2": __ZN25btHeightfieldTerrainShapeC1EiiPvfibb, 
    "btHeightfieldTerrainShape_2__params": "int, int, void*, float, int, bool, bool", 
    "btHeightfieldTerrainShape_3": __ZN25btHeightfieldTerrainShapeC1EiiPvfffi14PHY_ScalarTypeb, 
    "btHeightfieldTerrainShape_3__params": "int, int, void*, float, float, float, int, PHY_ScalarType, bool", 
    "btHeightfieldTerrainShape__params": "int, int, void*, float, float, float, int, PHY_ScalarType, bool", 
    "calculateLocalInertia": __ZNK25btHeightfieldTerrainShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "getAabb": __ZNK25btHeightfieldTerrainShape7getAabbERK11btTransformR9btVector3S4_, 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "getLocalScaling": __ZNK25btHeightfieldTerrainShape15getLocalScalingEv, 
    "getLocalScaling__params": "", 
    "getName": __ZNK25btHeightfieldTerrainShape7getNameEv, 
    "getName__params": "", 
    "getRawHeightFieldValue": __ZNK25btHeightfieldTerrainShape22getRawHeightFieldValueEii, 
    "getRawHeightFieldValue__params": "int, int", 
    "getVertex": __ZNK25btHeightfieldTerrainShape9getVertexEiiR9btVector3, 
    "getVertex__params": "int, int, btVector3&", 
    "initialize": __ZN25btHeightfieldTerrainShape10initializeEiiPvfffi14PHY_ScalarTypeb, 
    "initialize__params": "int, int, void*, float, float, float, int, PHY_ScalarType, bool", 
    "processAllTriangles": __ZNK25btHeightfieldTerrainShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_, 
    "processAllTriangles__params": "btTriangleCallback*, btVector3 const&, btVector3 const&", 
    "quantizeWithClamp": __ZNK25btHeightfieldTerrainShape17quantizeWithClampEPiRK9btVector3i, 
    "quantizeWithClamp__params": "int*, btVector3 const&, int", 
    "setLocalScaling": __ZN25btHeightfieldTerrainShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "~btHeightfieldTerrainShape": __ZN25btHeightfieldTerrainShapeD0Ev, 
    "~btHeightfieldTerrainShape_1": __ZN25btHeightfieldTerrainShapeD1Ev, 
    "~btHeightfieldTerrainShape_1__params": "", 
    "~btHeightfieldTerrainShape_2": __ZN25btHeightfieldTerrainShapeD2Ev, 
    "~btHeightfieldTerrainShape_2__params": "", 
    "~btHeightfieldTerrainShape__params": ""
  }, 
  "btHinge2Constraint": {
    "__new__": function() { var ret = _malloc(_struct_btHinge2Constraint___SIZE); Module._.btHinge2Constraint.btHinge2Constraint.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btHinge2Constraint___SIZE); Module._.btHinge2Constraint.btHinge2Constraint_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btHinge2Constraint": __ZN18btHinge2ConstraintC1ER11btRigidBodyS1_R9btVector3S3_S3_, 
    "btHinge2Constraint_1": __ZN18btHinge2ConstraintC2ER11btRigidBodyS1_R9btVector3S3_S3_, 
    "btHinge2Constraint_1__params": "btRigidBody&, btRigidBody&, btVector3&, btVector3&, btVector3&", 
    "btHinge2Constraint__params": "btRigidBody&, btRigidBody&, btVector3&, btVector3&, btVector3&", 
    "~btHinge2Constraint": __ZN18btHinge2ConstraintD1Ev, 
    "~btHinge2Constraint_1": __ZN18btHinge2ConstraintD0Ev, 
    "~btHinge2Constraint_1__params": "", 
    "~btHinge2Constraint__params": ""
  }, 
  "btHingeConstraint": {
    "__new__": function() { var ret = _malloc(_struct_btHingeConstraint___SIZE); Module._.btHingeConstraint.btHingeConstraint.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btHingeConstraint___SIZE); Module._.btHingeConstraint.btHingeConstraint_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__2": function() { var ret = _malloc(_struct_btHingeConstraint___SIZE); Module._.btHingeConstraint.btHingeConstraint_2.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__3": function() { var ret = _malloc(_struct_btHingeConstraint___SIZE); Module._.btHingeConstraint.btHingeConstraint_3.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__4": function() { var ret = _malloc(_struct_btHingeConstraint___SIZE); Module._.btHingeConstraint.btHingeConstraint_4.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__5": function() { var ret = _malloc(_struct_btHingeConstraint___SIZE); Module._.btHingeConstraint.btHingeConstraint_5.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__6": function() { var ret = _malloc(_struct_btHingeConstraint___SIZE); Module._.btHingeConstraint.btHingeConstraint_6.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__7": function() { var ret = _malloc(_struct_btHingeConstraint___SIZE); Module._.btHingeConstraint.btHingeConstraint_7.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btHingeConstraint": __ZN17btHingeConstraintC1ER11btRigidBodyRK11btTransformb, 
    "btHingeConstraint_1": __ZN17btHingeConstraintC1ER11btRigidBodyRK9btVector3S4_b, 
    "btHingeConstraint_1__params": "btRigidBody&, btVector3 const&, btVector3 const&, bool", 
    "btHingeConstraint_2": __ZN17btHingeConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b, 
    "btHingeConstraint_2__params": "btRigidBody&, btRigidBody&, btTransform const&, btTransform const&, bool", 
    "btHingeConstraint_3": __ZN17btHingeConstraintC1ER11btRigidBodyS1_RK9btVector3S4_S4_S4_b, 
    "btHingeConstraint_3__params": "btRigidBody&, btRigidBody&, btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&, bool", 
    "btHingeConstraint_4": __ZN17btHingeConstraintC2ER11btRigidBodyRK11btTransformb, 
    "btHingeConstraint_4__params": "btRigidBody&, btTransform const&, bool", 
    "btHingeConstraint_5": __ZN17btHingeConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b, 
    "btHingeConstraint_5__params": "btRigidBody&, btRigidBody&, btTransform const&, btTransform const&, bool", 
    "btHingeConstraint_6": __ZN17btHingeConstraintC2ER11btRigidBodyS1_RK9btVector3S4_S4_S4_b, 
    "btHingeConstraint_6__params": "btRigidBody&, btRigidBody&, btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&, bool", 
    "btHingeConstraint_7": __ZN17btHingeConstraintC2ER11btRigidBodyRK9btVector3S4_b, 
    "btHingeConstraint_7__params": "btRigidBody&, btVector3 const&, btVector3 const&, bool", 
    "btHingeConstraint__params": "btRigidBody&, btTransform const&, bool", 
    "buildJacobian": __ZN17btHingeConstraint13buildJacobianEv, 
    "buildJacobian__params": "", 
    "calculateSerializeBufferSize": __ZNK17btHingeConstraint28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "getHingeAngle": __ZN17btHingeConstraint13getHingeAngleERK11btTransformS2_, 
    "getHingeAngle_1": __ZN17btHingeConstraint13getHingeAngleEv, 
    "getHingeAngle_1__params": "", 
    "getHingeAngle__params": "btTransform const&, btTransform const&", 
    "getInfo1": __ZN17btHingeConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E, 
    "getInfo1NonVirtual": __ZN17btHingeConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E, 
    "getInfo1NonVirtual__params": "btTypedConstraint::btConstraintInfo1*", 
    "getInfo1__params": "btTypedConstraint::btConstraintInfo1*", 
    "getInfo2": __ZN17btHingeConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E, 
    "getInfo2Internal": __ZN17btHingeConstraint16getInfo2InternalEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_, 
    "getInfo2InternalUsingFrameOffset": __ZN17btHingeConstraint32getInfo2InternalUsingFrameOffsetEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_, 
    "getInfo2InternalUsingFrameOffset__params": "btTypedConstraint::btConstraintInfo2*, btTransform const&, btTransform const&, btVector3 const&, btVector3 const&", 
    "getInfo2Internal__params": "btTypedConstraint::btConstraintInfo2*, btTransform const&, btTransform const&, btVector3 const&, btVector3 const&", 
    "getInfo2NonVirtual": __ZN17btHingeConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_, 
    "getInfo2NonVirtual__params": "btTypedConstraint::btConstraintInfo2*, btTransform const&, btTransform const&, btVector3 const&, btVector3 const&", 
    "getInfo2__params": "btTypedConstraint::btConstraintInfo2*", 
    "getParam": __ZNK17btHingeConstraint8getParamEii, 
    "getParam__params": "int, int", 
    "serialize": __ZNK17btHingeConstraint9serializeEPvP12btSerializer, 
    "serialize__params": "void*, btSerializer*", 
    "setMotorTarget": __ZN17btHingeConstraint14setMotorTargetEff, 
    "setMotorTarget_1": __ZN17btHingeConstraint14setMotorTargetERK12btQuaternionf, 
    "setMotorTarget_1__params": "btQuaternion const&, float", 
    "setMotorTarget__params": "float, float", 
    "setParam": __ZN17btHingeConstraint8setParamEifi, 
    "setParam__params": "int, float, int", 
    "testLimit": __ZN17btHingeConstraint9testLimitERK11btTransformS2_, 
    "testLimit__params": "btTransform const&, btTransform const&", 
    "updateRHS": __ZN17btHingeConstraint9updateRHSEf, 
    "updateRHS__params": "float", 
    "~btHingeConstraint": __ZN17btHingeConstraintD0Ev, 
    "~btHingeConstraint_1": __ZN17btHingeConstraintD1Ev, 
    "~btHingeConstraint_1__params": "", 
    "~btHingeConstraint__params": ""
  }, 
  "btHullTriangle": {
    "neib": __ZN14btHullTriangle4neibEii, 
    "neib__params": "int, int"
  }, 
  "btInternalTriangleIndexCallback": {
    "~btInternalTriangleIndexCallback": __ZN31btInternalTriangleIndexCallbackD0Ev, 
    "~btInternalTriangleIndexCallback_1": __ZN31btInternalTriangleIndexCallbackD1Ev, 
    "~btInternalTriangleIndexCallback_1__params": "", 
    "~btInternalTriangleIndexCallback_2": __ZN31btInternalTriangleIndexCallbackD2Ev, 
    "~btInternalTriangleIndexCallback_2__params": "", 
    "~btInternalTriangleIndexCallback__params": ""
  }, 
  "btKinematicCharacterController": {
    "__new__": function() { var ret = _malloc(_struct_btKinematicCharacterController___SIZE); Module._.btKinematicCharacterController.btKinematicCharacterController.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btKinematicCharacterController___SIZE); Module._.btKinematicCharacterController.btKinematicCharacterController_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btKinematicCharacterController": __ZN30btKinematicCharacterControllerC2EP24btPairCachingGhostObjectP13btConvexShapefi, 
    "btKinematicCharacterController_1": __ZN30btKinematicCharacterControllerC1EP24btPairCachingGhostObjectP13btConvexShapefi, 
    "btKinematicCharacterController_1__params": "btPairCachingGhostObject*, btConvexShape*, float, int", 
    "btKinematicCharacterController__params": "btPairCachingGhostObject*, btConvexShape*, float, int", 
    "canJump": __ZNK30btKinematicCharacterController7canJumpEv, 
    "canJump__params": "", 
    "computeReflectionDirection": __ZN30btKinematicCharacterController26computeReflectionDirectionERK9btVector3S2_, 
    "computeReflectionDirection__params": "btVector3 const&, btVector3 const&", 
    "debugDraw": __ZN30btKinematicCharacterController9debugDrawEP12btIDebugDraw, 
    "debugDraw__params": "btIDebugDraw*", 
    "getGhostObject": __ZN30btKinematicCharacterController14getGhostObjectEv, 
    "getGhostObject__params": "", 
    "getGravity": __ZNK30btKinematicCharacterController10getGravityEv, 
    "getGravity__params": "", 
    "getMaxSlope": __ZNK30btKinematicCharacterController11getMaxSlopeEv, 
    "getMaxSlope__params": "", 
    "getUpAxisDirections": __ZN30btKinematicCharacterController19getUpAxisDirectionsEv, 
    "getUpAxisDirections__params": "", 
    "jump": __ZN30btKinematicCharacterController4jumpEv, 
    "jump__params": "", 
    "onGround": __ZNK30btKinematicCharacterController8onGroundEv, 
    "onGround__params": "", 
    "parallelComponent": __ZN30btKinematicCharacterController17parallelComponentERK9btVector3S2_, 
    "parallelComponent__params": "btVector3 const&, btVector3 const&", 
    "perpindicularComponent": __ZN30btKinematicCharacterController22perpindicularComponentERK9btVector3S2_, 
    "perpindicularComponent__params": "btVector3 const&, btVector3 const&", 
    "playerStep": __ZN30btKinematicCharacterController10playerStepEP16btCollisionWorldf, 
    "playerStep__params": "btCollisionWorld*, float", 
    "preStep": __ZN30btKinematicCharacterController7preStepEP16btCollisionWorld, 
    "preStep__params": "btCollisionWorld*", 
    "recoverFromPenetration": __ZN30btKinematicCharacterController22recoverFromPenetrationEP16btCollisionWorld, 
    "recoverFromPenetration__params": "btCollisionWorld*", 
    "reset": __ZN30btKinematicCharacterController5resetEv, 
    "reset__params": "", 
    "setFallSpeed": __ZN30btKinematicCharacterController12setFallSpeedEf, 
    "setFallSpeed__params": "float", 
    "setGravity": __ZN30btKinematicCharacterController10setGravityEf, 
    "setGravity__params": "float", 
    "setJumpSpeed": __ZN30btKinematicCharacterController12setJumpSpeedEf, 
    "setJumpSpeed__params": "float", 
    "setMaxJumpHeight": __ZN30btKinematicCharacterController16setMaxJumpHeightEf, 
    "setMaxJumpHeight__params": "float", 
    "setMaxSlope": __ZN30btKinematicCharacterController11setMaxSlopeEf, 
    "setMaxSlope__params": "float", 
    "setVelocityForTimeInterval": __ZN30btKinematicCharacterController26setVelocityForTimeIntervalERK9btVector3f, 
    "setVelocityForTimeInterval__params": "btVector3 const&, float", 
    "setWalkDirection": __ZN30btKinematicCharacterController16setWalkDirectionERK9btVector3, 
    "setWalkDirection__params": "btVector3 const&", 
    "stepDown": __ZN30btKinematicCharacterController8stepDownEP16btCollisionWorldf, 
    "stepDown__params": "btCollisionWorld*, float", 
    "stepForwardAndStrafe": __ZN30btKinematicCharacterController20stepForwardAndStrafeEP16btCollisionWorldRK9btVector3, 
    "stepForwardAndStrafe__params": "btCollisionWorld*, btVector3 const&", 
    "stepUp": __ZN30btKinematicCharacterController6stepUpEP16btCollisionWorld, 
    "stepUp__params": "btCollisionWorld*", 
    "updateAction": __ZN30btKinematicCharacterController12updateActionEP16btCollisionWorldf, 
    "updateAction__params": "btCollisionWorld*, float", 
    "updateTargetPositionBasedOnCollision": __ZN30btKinematicCharacterController36updateTargetPositionBasedOnCollisionERK9btVector3ff, 
    "updateTargetPositionBasedOnCollision__params": "btVector3 const&, float, float", 
    "warp": __ZN30btKinematicCharacterController4warpERK9btVector3, 
    "warp__params": "btVector3 const&", 
    "~btKinematicCharacterController": __ZN30btKinematicCharacterControllerD1Ev, 
    "~btKinematicCharacterController_1": __ZN30btKinematicCharacterControllerD0Ev, 
    "~btKinematicCharacterController_1__params": "", 
    "~btKinematicCharacterController_2": __ZN30btKinematicCharacterControllerD2Ev, 
    "~btKinematicCharacterController_2__params": "", 
    "~btKinematicCharacterController__params": ""
  }, 
  "btKinematicClosestNotMeConvexResultCallback": {
    "addSingleResult": __ZN43btKinematicClosestNotMeConvexResultCallback15addSingleResultERN16btCollisionWorld17LocalConvexResultEb, 
    "addSingleResult__params": "btCollisionWorld::LocalConvexResult&, bool", 
    "~btKinematicClosestNotMeConvexResultCallback": __ZN43btKinematicClosestNotMeConvexResultCallbackD1Ev, 
    "~btKinematicClosestNotMeConvexResultCallback_1": __ZN43btKinematicClosestNotMeConvexResultCallbackD0Ev, 
    "~btKinematicClosestNotMeConvexResultCallback_1__params": "", 
    "~btKinematicClosestNotMeConvexResultCallback__params": ""
  }, 
  "btManifoldResult": {
    "__new__": function() { var ret = _malloc(_struct_btManifoldResult___SIZE); Module._.btManifoldResult.btManifoldResult.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btManifoldResult___SIZE); Module._.btManifoldResult.btManifoldResult_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "addContactPoint": __ZN16btManifoldResult15addContactPointERK9btVector3S2_f, 
    "addContactPoint__params": "btVector3 const&, btVector3 const&, float", 
    "btManifoldResult": __ZN16btManifoldResultC2EP17btCollisionObjectS1_, 
    "btManifoldResult_1": __ZN16btManifoldResultC1EP17btCollisionObjectS1_, 
    "btManifoldResult_1__params": "btCollisionObject*, btCollisionObject*", 
    "btManifoldResult__params": "btCollisionObject*, btCollisionObject*", 
    "setShapeIdentifiersA": __ZN16btManifoldResult20setShapeIdentifiersAEii, 
    "setShapeIdentifiersA__params": "int, int", 
    "setShapeIdentifiersB": __ZN16btManifoldResult20setShapeIdentifiersBEii, 
    "setShapeIdentifiersB__params": "int, int", 
    "~btManifoldResult": __ZN16btManifoldResultD1Ev, 
    "~btManifoldResult_1": __ZN16btManifoldResultD0Ev, 
    "~btManifoldResult_1__params": "", 
    "~btManifoldResult__params": ""
  }, 
  "btMatrix3x3": {
    "__new__": function() { var ret = _malloc(_struct_btMatrix3x3___SIZE); Module._.btMatrix3x3.btMatrix3x3.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btMatrix3x3___SIZE); Module._.btMatrix3x3.btMatrix3x3_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__2": function() { var ret = _malloc(_struct_btMatrix3x3___SIZE); Module._.btMatrix3x3.btMatrix3x3_2.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btMatrix3x3": __ZN11btMatrix3x3C1Ev, 
    "btMatrix3x3_1": __ZN11btMatrix3x3C1ERKS_, 
    "btMatrix3x3_1__params": "btMatrix3x3 const&", 
    "btMatrix3x3_2": __ZN11btMatrix3x3C1ERKfS1_S1_S1_S1_S1_S1_S1_S1_, 
    "btMatrix3x3_2__params": "float const&, float const&, float const&, float const&, float const&, float const&, float const&, float const&, float const&", 
    "btMatrix3x3__params": "", 
    "diagonalize": __ZN11btMatrix3x311diagonalizeERS_fi, 
    "diagonalize__params": "btMatrix3x3&, float, int", 
    "getIdentity": __ZN11btMatrix3x311getIdentityEv, 
    "getIdentity__params": "", 
    "getRotation": __ZNK11btMatrix3x311getRotationER12btQuaternion, 
    "getRotation__params": "btQuaternion&", 
    "operator=": __ZN11btMatrix3x3aSERKS_, 
    "operator=__params": "btMatrix3x3 const&", 
    "operator[]": __ZNK11btMatrix3x3ixEi, 
    "operator[]__params": "int", 
    "setIdentity": __ZN11btMatrix3x311setIdentityEv, 
    "setIdentity__params": "", 
    "setValue": __ZN11btMatrix3x38setValueERKfS1_S1_S1_S1_S1_S1_S1_S1_, 
    "setValue__params": "float const&, float const&, float const&, float const&, float const&, float const&, float const&, float const&, float const&", 
    "tdotx": __ZNK11btMatrix3x35tdotxERK9btVector3, 
    "tdotx__params": "btVector3 const&", 
    "tdoty": __ZNK11btMatrix3x35tdotyERK9btVector3, 
    "tdoty__params": "btVector3 const&", 
    "tdotz": __ZNK11btMatrix3x35tdotzERK9btVector3, 
    "tdotz__params": "btVector3 const&", 
    "transpose": __ZNK11btMatrix3x39transposeEv, 
    "transpose__params": ""
  }, 
  "btMinkowskiPenetrationDepthSolver": {
    "calcPenDepth": __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResult20setShapeIdentifiersAEii, 
    "calcPenDepth_1": __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResult20setShapeIdentifiersBEii, 
    "calcPenDepth_1__params": "btVoronoiSimplexSolver&, btConvexShape const*, btConvexShape const*, btTransform const&, btTransform const&, btVector3&, btVector3&, btVector3&, btIDebugDraw*, btStackAlloc*)::btIntermediateResult::setShapeIdentifiersB(int, int", 
    "calcPenDepth_2": __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResultD2Ev, 
    "calcPenDepth_2__params": "btVoronoiSimplexSolver&, btConvexShape const*, btConvexShape const*, btTransform const&, btTransform const&, btVector3&, btVector3&, btVector3&, btIDebugDraw*, btStackAlloc*)::btIntermediateResult::~btIntermediateResult(", 
    "calcPenDepth_3": __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResultD1Ev, 
    "calcPenDepth_3__params": "btVoronoiSimplexSolver&, btConvexShape const*, btConvexShape const*, btTransform const&, btTransform const&, btVector3&, btVector3&, btVector3&, btIDebugDraw*, btStackAlloc*)::btIntermediateResult::~btIntermediateResult(", 
    "calcPenDepth_4": __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResultD0Ev, 
    "calcPenDepth_4__params": "btVoronoiSimplexSolver&, btConvexShape const*, btConvexShape const*, btTransform const&, btTransform const&, btVector3&, btVector3&, btVector3&, btIDebugDraw*, btStackAlloc*)::btIntermediateResult::~btIntermediateResult(", 
    "calcPenDepth_5": __ZZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAllocEN20btIntermediateResult15addContactPointERKS8_SG_f, 
    "calcPenDepth_5__params": "btVoronoiSimplexSolver&, btConvexShape const*, btConvexShape const*, btTransform const&, btTransform const&, btVector3&, btVector3&, btVector3&, btIDebugDraw*, btStackAlloc*)::btIntermediateResult::addContactPoint(btVector3 const&, btVector3 const&, float", 
    "calcPenDepth_6": __ZN33btMinkowskiPenetrationDepthSolver12calcPenDepthER22btVoronoiSimplexSolverPK13btConvexShapeS4_RK11btTransformS7_R9btVector3S9_S9_P12btIDebugDrawP12btStackAlloc, 
    "calcPenDepth_6__params": "btVoronoiSimplexSolver&, btConvexShape const*, btConvexShape const*, btTransform const&, btTransform const&, btVector3&, btVector3&, btVector3&, btIDebugDraw*, btStackAlloc*", 
    "calcPenDepth__params": "btVoronoiSimplexSolver&, btConvexShape const*, btConvexShape const*, btTransform const&, btTransform const&, btVector3&, btVector3&, btVector3&, btIDebugDraw*, btStackAlloc*)::btIntermediateResult::setShapeIdentifiersA(int, int", 
    "getPenetrationDirections": __ZN33btMinkowskiPenetrationDepthSolver24getPenetrationDirectionsEv, 
    "getPenetrationDirections__params": "", 
    "~btMinkowskiPenetrationDepthSolver": __ZN33btMinkowskiPenetrationDepthSolverD0Ev, 
    "~btMinkowskiPenetrationDepthSolver_1": __ZN33btMinkowskiPenetrationDepthSolverD1Ev, 
    "~btMinkowskiPenetrationDepthSolver_1__params": "", 
    "~btMinkowskiPenetrationDepthSolver__params": ""
  }, 
  "btMinkowskiSumShape": {
    "__new__": function() { var ret = _malloc(_struct_btMinkowskiSumShape___SIZE); Module._.btMinkowskiSumShape.btMinkowskiSumShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btMinkowskiSumShape___SIZE); Module._.btMinkowskiSumShape.btMinkowskiSumShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin": __ZNK19btMinkowskiSumShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin__params": "btVector3 const*, btVector3*, int", 
    "btMinkowskiSumShape": __ZN19btMinkowskiSumShapeC2EPK13btConvexShapeS2_, 
    "btMinkowskiSumShape_1": __ZN19btMinkowskiSumShapeC1EPK13btConvexShapeS2_, 
    "btMinkowskiSumShape_1__params": "btConvexShape const*, btConvexShape const*", 
    "btMinkowskiSumShape__params": "btConvexShape const*, btConvexShape const*", 
    "calculateLocalInertia": __ZNK19btMinkowskiSumShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "getMargin": __ZNK19btMinkowskiSumShape9getMarginEv, 
    "getMargin__params": "", 
    "getName": __ZNK19btMinkowskiSumShape7getNameEv, 
    "getName__params": "", 
    "localGetSupportingVertexWithoutMargin": __ZNK19btMinkowskiSumShape37localGetSupportingVertexWithoutMarginERK9btVector3, 
    "localGetSupportingVertexWithoutMargin__params": "btVector3 const&", 
    "~btMinkowskiSumShape": __ZN19btMinkowskiSumShapeD0Ev, 
    "~btMinkowskiSumShape_1": __ZN19btMinkowskiSumShapeD1Ev, 
    "~btMinkowskiSumShape_1__params": "", 
    "~btMinkowskiSumShape__params": ""
  }, 
  "btMotionState": {
    "__new__": function() { var ret = _malloc(_struct_btMotionState___SIZE); Module._.btMotionState.btMotionState.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btMotionState": __ZN13btMotionStateC2Ev, 
    "btMotionState__params": "", 
    "~btMotionState": __ZN13btMotionStateD1Ev, 
    "~btMotionState_1": __ZN13btMotionStateD0Ev, 
    "~btMotionState_1__params": "", 
    "~btMotionState__params": ""
  }, 
  "btMultiSapBroadphase": {
    "__new__": function() { var ret = _malloc(_struct_btMultiSapBroadphase___SIZE); Module._.btMultiSapBroadphase.btMultiSapBroadphase.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btMultiSapBroadphase___SIZE); Module._.btMultiSapBroadphase.btMultiSapBroadphase_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "addToChildBroadphase": __ZN20btMultiSapBroadphase20addToChildBroadphaseEPNS_15btMultiSapProxyEP17btBroadphaseProxyP21btBroadphaseInterface, 
    "addToChildBroadphase__params": "btMultiSapBroadphase::btMultiSapProxy*, btBroadphaseProxy*, btBroadphaseInterface*", 
    "btMultiSapBroadphase": __ZN20btMultiSapBroadphaseC1EiP22btOverlappingPairCache, 
    "btMultiSapBroadphase_1": __ZN20btMultiSapBroadphaseC2EiP22btOverlappingPairCache, 
    "btMultiSapBroadphase_1__params": "int, btOverlappingPairCache*", 
    "btMultiSapBroadphase__params": "int, btOverlappingPairCache*", 
    "buildTree": __ZN20btMultiSapBroadphase9buildTreeERK9btVector3S2_, 
    "buildTree__params": "btVector3 const&, btVector3 const&", 
    "calculateOverlappingPairs": __ZN20btMultiSapBroadphase25calculateOverlappingPairsEP12btDispatcher, 
    "calculateOverlappingPairs__params": "btDispatcher*", 
    "createProxy": __ZN20btMultiSapBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_, 
    "createProxy__params": "btVector3 const&, btVector3 const&, int, void*, short, short, btDispatcher*, void*", 
    "destroyProxy": __ZN20btMultiSapBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher, 
    "destroyProxy__params": "btBroadphaseProxy*, btDispatcher*", 
    "getAabb": __ZNK20btMultiSapBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_, 
    "getAabb__params": "btBroadphaseProxy*, btVector3&, btVector3&", 
    "getBroadphaseAabb": __ZNK20btMultiSapBroadphase17getBroadphaseAabbER9btVector3S1_, 
    "getBroadphaseAabb__params": "btVector3&, btVector3&", 
    "getOverlappingPairCache": __ZN20btMultiSapBroadphase23getOverlappingPairCacheEv, 
    "getOverlappingPairCache_1": __ZNK20btMultiSapBroadphase23getOverlappingPairCacheEv, 
    "getOverlappingPairCache_1__params": "", 
    "getOverlappingPairCache__params": "", 
    "printStats": __ZN20btMultiSapBroadphase10printStatsEv, 
    "printStats__params": "", 
    "rayTest": __ZN20btMultiSapBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_, 
    "rayTest__params": "btVector3 const&, btVector3 const&, btBroadphaseRayCallback&, btVector3 const&, btVector3 const&", 
    "resetPool": __ZN20btMultiSapBroadphase9resetPoolEP12btDispatcher, 
    "resetPool__params": "btDispatcher*", 
    "setAabb": __ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallbackD1Ev, 
    "setAabb_1": __ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallbackD0Ev, 
    "setAabb_1__params": "btBroadphaseProxy*, btVector3 const&, btVector3 const&, btDispatcher*)::MyNodeOverlapCallback::~MyNodeOverlapCallback(", 
    "setAabb_2": __ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallbackD2Ev, 
    "setAabb_2__params": "btBroadphaseProxy*, btVector3 const&, btVector3 const&, btDispatcher*)::MyNodeOverlapCallback::~MyNodeOverlapCallback(", 
    "setAabb_3": __ZZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcherEN21MyNodeOverlapCallback11processNodeEii, 
    "setAabb_3__params": "btBroadphaseProxy*, btVector3 const&, btVector3 const&, btDispatcher*)::MyNodeOverlapCallback::processNode(int, int", 
    "setAabb_4": __ZN20btMultiSapBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher, 
    "setAabb_4__params": "btBroadphaseProxy*, btVector3 const&, btVector3 const&, btDispatcher*", 
    "setAabb__params": "btBroadphaseProxy*, btVector3 const&, btVector3 const&, btDispatcher*)::MyNodeOverlapCallback::~MyNodeOverlapCallback(", 
    "testAabbOverlap": __ZN20btMultiSapBroadphase15testAabbOverlapEP17btBroadphaseProxyS1_, 
    "testAabbOverlap__params": "btBroadphaseProxy*, btBroadphaseProxy*", 
    "~btMultiSapBroadphase": __ZN20btMultiSapBroadphaseD1Ev, 
    "~btMultiSapBroadphase_1": __ZN20btMultiSapBroadphaseD0Ev, 
    "~btMultiSapBroadphase_1__params": "", 
    "~btMultiSapBroadphase_2": __ZN20btMultiSapBroadphaseD2Ev, 
    "~btMultiSapBroadphase_2__params": "", 
    "~btMultiSapBroadphase__params": ""
  }, 
  "btMultiSphereShape": {
    "__new__": function() { var ret = _malloc(_struct_btMultiSphereShape___SIZE); Module._.btMultiSphereShape.btMultiSphereShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btMultiSphereShape___SIZE); Module._.btMultiSphereShape.btMultiSphereShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin": __ZNK18btMultiSphereShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin__params": "btVector3 const*, btVector3*, int", 
    "btMultiSphereShape": __ZN18btMultiSphereShapeC1EPK9btVector3PKfi, 
    "btMultiSphereShape_1": __ZN18btMultiSphereShapeC2EPK9btVector3PKfi, 
    "btMultiSphereShape_1__params": "btVector3 const*, float const*, int", 
    "btMultiSphereShape__params": "btVector3 const*, float const*, int", 
    "calculateLocalInertia": __ZNK18btMultiSphereShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "calculateSerializeBufferSize": __ZNK18btMultiSphereShape28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "getName": __ZNK18btMultiSphereShape7getNameEv, 
    "getName__params": "", 
    "localGetSupportingVertexWithoutMargin": __ZNK18btMultiSphereShape37localGetSupportingVertexWithoutMarginERK9btVector3, 
    "localGetSupportingVertexWithoutMargin__params": "btVector3 const&", 
    "serialize": __ZNK18btMultiSphereShape9serializeEPvP12btSerializer, 
    "serialize__params": "void*, btSerializer*", 
    "~btMultiSphereShape": __ZN18btMultiSphereShapeD0Ev, 
    "~btMultiSphereShape_1": __ZN18btMultiSphereShapeD1Ev, 
    "~btMultiSphereShape_1__params": "", 
    "~btMultiSphereShape__params": ""
  }, 
  "btMultimaterialTriangleMeshShape": {
    "getMaterialProperties": __ZN32btMultimaterialTriangleMeshShape21getMaterialPropertiesEii, 
    "getMaterialProperties__params": "int, int"
  }, 
  "btNearestPointInLineSegment": __Z27btNearestPointInLineSegmentRK9btVector3S1_S1_RS_, 
  "btNearestPointInLineSegment__params": "btVector3 const&, btVector3 const&, btVector3 const&, btVector3&", 
  "btNodeOverlapCallback": {
    "~btNodeOverlapCallback": __ZN21btNodeOverlapCallbackD1Ev, 
    "~btNodeOverlapCallback_1": __ZN21btNodeOverlapCallbackD0Ev, 
    "~btNodeOverlapCallback_1__params": "", 
    "~btNodeOverlapCallback__params": ""
  }, 
  "btNullPairCache": {
    "addOverlappingPair": __ZN15btNullPairCache18addOverlappingPairEP17btBroadphaseProxyS1_, 
    "addOverlappingPair__params": "btBroadphaseProxy*, btBroadphaseProxy*", 
    "cleanOverlappingPair": __ZN15btNullPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher, 
    "cleanOverlappingPair__params": "btBroadphasePair&, btDispatcher*", 
    "cleanProxyFromPairs": __ZN15btNullPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher, 
    "cleanProxyFromPairs__params": "btBroadphaseProxy*, btDispatcher*", 
    "findPair": __ZN15btNullPairCache8findPairEP17btBroadphaseProxyS1_, 
    "findPair__params": "btBroadphaseProxy*, btBroadphaseProxy*", 
    "getNumOverlappingPairs": __ZNK15btNullPairCache22getNumOverlappingPairsEv, 
    "getNumOverlappingPairs__params": "", 
    "getOverlappingPairArray": __ZN15btNullPairCache23getOverlappingPairArrayEv, 
    "getOverlappingPairArrayPtr": __ZN15btNullPairCache26getOverlappingPairArrayPtrEv, 
    "getOverlappingPairArrayPtr_1": __ZNK15btNullPairCache26getOverlappingPairArrayPtrEv, 
    "getOverlappingPairArrayPtr_1__params": "", 
    "getOverlappingPairArrayPtr__params": "", 
    "getOverlappingPairArray__params": "", 
    "hasDeferredRemoval": __ZN15btNullPairCache18hasDeferredRemovalEv, 
    "hasDeferredRemoval__params": "", 
    "processAllOverlappingPairs": __ZN15btNullPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher, 
    "processAllOverlappingPairs__params": "btOverlapCallback*, btDispatcher*", 
    "removeOverlappingPair": __ZN15btNullPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher, 
    "removeOverlappingPair__params": "btBroadphaseProxy*, btBroadphaseProxy*, btDispatcher*", 
    "removeOverlappingPairsContainingProxy": __ZN15btNullPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher, 
    "removeOverlappingPairsContainingProxy__params": "btBroadphaseProxy*, btDispatcher*", 
    "setInternalGhostPairCallback": __ZN15btNullPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback, 
    "setInternalGhostPairCallback__params": "btOverlappingPairCallback*", 
    "setOverlapFilterCallback": __ZN15btNullPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback, 
    "setOverlapFilterCallback__params": "btOverlapFilterCallback*", 
    "sortOverlappingPairs": __ZN15btNullPairCache20sortOverlappingPairsEP12btDispatcher, 
    "sortOverlappingPairs__params": "btDispatcher*", 
    "~btNullPairCache": __ZN15btNullPairCacheD0Ev, 
    "~btNullPairCache_1": __ZN15btNullPairCacheD1Ev, 
    "~btNullPairCache_1__params": "", 
    "~btNullPairCache__params": ""
  }, 
  "btOptimizedBvh": {
    "__new__": function() { var ret = _malloc(_struct_btOptimizedBvh___SIZE); Module._.btOptimizedBvh.btOptimizedBvh.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btOptimizedBvh___SIZE); Module._.btOptimizedBvh.btOptimizedBvh_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btOptimizedBvh": __ZN14btOptimizedBvhC2Ev, 
    "btOptimizedBvh_1": __ZN14btOptimizedBvhC1Ev, 
    "btOptimizedBvh_1__params": "", 
    "btOptimizedBvh__params": "", 
    "build": __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD1Ev, 
    "build_1": __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD0Ev, 
    "build_1__params": "btStridingMeshInterface*, bool, btVector3 const&, btVector3 const&)::NodeTriangleCallback::~NodeTriangleCallback(", 
    "build_2": __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD1Ev, 
    "build_2__params": "btStridingMeshInterface*, bool, btVector3 const&, btVector3 const&)::QuantizedNodeTriangleCallback::~QuantizedNodeTriangleCallback(", 
    "build_3": __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD0Ev, 
    "build_3__params": "btStridingMeshInterface*, bool, btVector3 const&, btVector3 const&)::QuantizedNodeTriangleCallback::~QuantizedNodeTriangleCallback(", 
    "build_4": __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallback28internalProcessTriangleIndexEPS2_ii, 
    "build_4__params": "btStridingMeshInterface*, bool, btVector3 const&, btVector3 const&)::QuantizedNodeTriangleCallback::internalProcessTriangleIndex(btVector3*, int, int", 
    "build_5": __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallbackD2Ev, 
    "build_5__params": "btStridingMeshInterface*, bool, btVector3 const&, btVector3 const&)::NodeTriangleCallback::~NodeTriangleCallback(", 
    "build_6": __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN29QuantizedNodeTriangleCallbackD2Ev, 
    "build_6__params": "btStridingMeshInterface*, bool, btVector3 const&, btVector3 const&)::QuantizedNodeTriangleCallback::~QuantizedNodeTriangleCallback(", 
    "build_7": __ZZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_EN20NodeTriangleCallback28internalProcessTriangleIndexEPS2_ii, 
    "build_7__params": "btStridingMeshInterface*, bool, btVector3 const&, btVector3 const&)::NodeTriangleCallback::internalProcessTriangleIndex(btVector3*, int, int", 
    "build_8": __ZN14btOptimizedBvh5buildEP23btStridingMeshInterfacebRK9btVector3S4_, 
    "build_8__params": "btStridingMeshInterface*, bool, btVector3 const&, btVector3 const&", 
    "build__params": "btStridingMeshInterface*, bool, btVector3 const&, btVector3 const&)::NodeTriangleCallback::~NodeTriangleCallback(", 
    "deSerializeInPlace": __ZN14btOptimizedBvh18deSerializeInPlaceEPvjb, 
    "deSerializeInPlace__params": "void*, unsigned int, bool", 
    "refit": __ZN14btOptimizedBvh5refitEP23btStridingMeshInterfaceRK9btVector3S4_, 
    "refitPartial": __ZN14btOptimizedBvh12refitPartialEP23btStridingMeshInterfaceRK9btVector3S4_, 
    "refitPartial__params": "btStridingMeshInterface*, btVector3 const&, btVector3 const&", 
    "refit__params": "btStridingMeshInterface*, btVector3 const&, btVector3 const&", 
    "serializeInPlace": __ZNK14btOptimizedBvh16serializeInPlaceEPvjb, 
    "serializeInPlace__params": "void*, unsigned int, bool", 
    "updateBvhNodes": __ZN14btOptimizedBvh14updateBvhNodesEP23btStridingMeshInterfaceiii, 
    "updateBvhNodes__params": "btStridingMeshInterface*, int, int, int", 
    "~btOptimizedBvh": __ZN14btOptimizedBvhD0Ev, 
    "~btOptimizedBvh_1": __ZN14btOptimizedBvhD1Ev, 
    "~btOptimizedBvh_1__params": "", 
    "~btOptimizedBvh_2": __ZN14btOptimizedBvhD2Ev, 
    "~btOptimizedBvh_2__params": "", 
    "~btOptimizedBvh__params": ""
  }, 
  "btOverlapCallback": {
    "~btOverlapCallback": __ZN17btOverlapCallbackD1Ev, 
    "~btOverlapCallback_1": __ZN17btOverlapCallbackD0Ev, 
    "~btOverlapCallback_1__params": "", 
    "~btOverlapCallback__params": ""
  }, 
  "btOverlapFilterCallback": {
    "~btOverlapFilterCallback": __ZN23btOverlapFilterCallbackD1Ev, 
    "~btOverlapFilterCallback_1": __ZN23btOverlapFilterCallbackD0Ev, 
    "~btOverlapFilterCallback_1__params": "", 
    "~btOverlapFilterCallback__params": ""
  }, 
  "btOverlappingPairCache": {
    "~btOverlappingPairCache": __ZN22btOverlappingPairCacheD1Ev, 
    "~btOverlappingPairCache_1": __ZN22btOverlappingPairCacheD0Ev, 
    "~btOverlappingPairCache_1__params": "", 
    "~btOverlappingPairCache__params": ""
  }, 
  "btOverlappingPairCallback": {
    "~btOverlappingPairCallback": __ZN25btOverlappingPairCallbackD1Ev, 
    "~btOverlappingPairCallback_1": __ZN25btOverlappingPairCallbackD0Ev, 
    "~btOverlappingPairCallback_1__params": "", 
    "~btOverlappingPairCallback__params": ""
  }, 
  "btPairCachingGhostObject": {
    "__new__": function() { var ret = _malloc(_struct_btPairCachingGhostObject___SIZE); Module._.btPairCachingGhostObject.btPairCachingGhostObject.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btPairCachingGhostObject___SIZE); Module._.btPairCachingGhostObject.btPairCachingGhostObject_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "addOverlappingObjectInternal": __ZN24btPairCachingGhostObject28addOverlappingObjectInternalEP17btBroadphaseProxyS1_, 
    "addOverlappingObjectInternal__params": "btBroadphaseProxy*, btBroadphaseProxy*", 
    "btPairCachingGhostObject": __ZN24btPairCachingGhostObjectC1Ev, 
    "btPairCachingGhostObject_1": __ZN24btPairCachingGhostObjectC2Ev, 
    "btPairCachingGhostObject_1__params": "", 
    "btPairCachingGhostObject__params": "", 
    "removeOverlappingObjectInternal": __ZN24btPairCachingGhostObject31removeOverlappingObjectInternalEP17btBroadphaseProxyP12btDispatcherS1_, 
    "removeOverlappingObjectInternal__params": "btBroadphaseProxy*, btDispatcher*, btBroadphaseProxy*", 
    "~btPairCachingGhostObject": __ZN24btPairCachingGhostObjectD0Ev, 
    "~btPairCachingGhostObject_1": __ZN24btPairCachingGhostObjectD1Ev, 
    "~btPairCachingGhostObject_1__params": "", 
    "~btPairCachingGhostObject_2": __ZN24btPairCachingGhostObjectD2Ev, 
    "~btPairCachingGhostObject_2__params": "", 
    "~btPairCachingGhostObject__params": ""
  }, 
  "btPairSet": {
    "__new__": function() { var ret = _malloc(_struct_btPairSet___SIZE); Module._.btPairSet.btPairSet.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btPairSet": __ZN9btPairSetC1Ev, 
    "btPairSet__params": ""
  }, 
  "btPersistentManifold": {
    "__new__": function() { var ret = _malloc(_struct_btPersistentManifold___SIZE); Module._.btPersistentManifold.btPersistentManifold.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btPersistentManifold___SIZE); Module._.btPersistentManifold.btPersistentManifold_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "addManifoldPoint": __ZN20btPersistentManifold16addManifoldPointERK15btManifoldPoint, 
    "addManifoldPoint__params": "btManifoldPoint const&", 
    "btPersistentManifold": __ZN20btPersistentManifoldC2Ev, 
    "btPersistentManifold_1": __ZN20btPersistentManifoldC1Ev, 
    "btPersistentManifold_1__params": "", 
    "btPersistentManifold__params": "", 
    "clearUserCache": __ZN20btPersistentManifold14clearUserCacheER15btManifoldPoint, 
    "clearUserCache__params": "btManifoldPoint&", 
    "getCacheEntry": __ZNK20btPersistentManifold13getCacheEntryERK15btManifoldPoint, 
    "getCacheEntry__params": "btManifoldPoint const&", 
    "getContactBreakingThreshold": __ZNK20btPersistentManifold27getContactBreakingThresholdEv, 
    "getContactBreakingThreshold__params": "", 
    "refreshContactPoints": __ZN20btPersistentManifold20refreshContactPointsERK11btTransformS2_, 
    "refreshContactPoints__params": "btTransform const&, btTransform const&", 
    "sortCachedPoints": __ZN20btPersistentManifold16sortCachedPointsERK15btManifoldPoint, 
    "sortCachedPoints__params": "btManifoldPoint const&"
  }, 
  "btPerturbedContactResult": {
    "addContactPoint": __ZN24btPerturbedContactResult15addContactPointERK9btVector3S2_f, 
    "addContactPoint__params": "btVector3 const&, btVector3 const&, float", 
    "~btPerturbedContactResult": __ZN24btPerturbedContactResultD1Ev, 
    "~btPerturbedContactResult_1": __ZN24btPerturbedContactResultD0Ev, 
    "~btPerturbedContactResult_1__params": "", 
    "~btPerturbedContactResult__params": ""
  }, 
  "btPoint2PointConstraint": {
    "__new__": function() { var ret = _malloc(_struct_btPoint2PointConstraint___SIZE); Module._.btPoint2PointConstraint.btPoint2PointConstraint.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btPoint2PointConstraint___SIZE); Module._.btPoint2PointConstraint.btPoint2PointConstraint_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__2": function() { var ret = _malloc(_struct_btPoint2PointConstraint___SIZE); Module._.btPoint2PointConstraint.btPoint2PointConstraint_2.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__3": function() { var ret = _malloc(_struct_btPoint2PointConstraint___SIZE); Module._.btPoint2PointConstraint.btPoint2PointConstraint_3.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btPoint2PointConstraint": __ZN23btPoint2PointConstraintC2ER11btRigidBodyS1_RK9btVector3S4_, 
    "btPoint2PointConstraint_1": __ZN23btPoint2PointConstraintC2ER11btRigidBodyRK9btVector3, 
    "btPoint2PointConstraint_1__params": "btRigidBody&, btVector3 const&", 
    "btPoint2PointConstraint_2": __ZN23btPoint2PointConstraintC1ER11btRigidBodyRK9btVector3, 
    "btPoint2PointConstraint_2__params": "btRigidBody&, btVector3 const&", 
    "btPoint2PointConstraint_3": __ZN23btPoint2PointConstraintC1ER11btRigidBodyS1_RK9btVector3S4_, 
    "btPoint2PointConstraint_3__params": "btRigidBody&, btRigidBody&, btVector3 const&, btVector3 const&", 
    "btPoint2PointConstraint__params": "btRigidBody&, btRigidBody&, btVector3 const&, btVector3 const&", 
    "buildJacobian": __ZN23btPoint2PointConstraint13buildJacobianEv, 
    "buildJacobian__params": "", 
    "calculateSerializeBufferSize": __ZNK23btPoint2PointConstraint28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "getInfo1": __ZN23btPoint2PointConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E, 
    "getInfo1NonVirtual": __ZN23btPoint2PointConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E, 
    "getInfo1NonVirtual__params": "btTypedConstraint::btConstraintInfo1*", 
    "getInfo1__params": "btTypedConstraint::btConstraintInfo1*", 
    "getInfo2": __ZN23btPoint2PointConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E, 
    "getInfo2NonVirtual": __ZN23btPoint2PointConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_, 
    "getInfo2NonVirtual__params": "btTypedConstraint::btConstraintInfo2*, btTransform const&, btTransform const&", 
    "getInfo2__params": "btTypedConstraint::btConstraintInfo2*", 
    "getParam": __ZNK23btPoint2PointConstraint8getParamEii, 
    "getParam__params": "int, int", 
    "serialize": __ZNK23btPoint2PointConstraint9serializeEPvP12btSerializer, 
    "serialize__params": "void*, btSerializer*", 
    "setParam": __ZN23btPoint2PointConstraint8setParamEifi, 
    "setParam__params": "int, float, int", 
    "updateRHS": __ZN23btPoint2PointConstraint9updateRHSEf, 
    "updateRHS__params": "float", 
    "~btPoint2PointConstraint": __ZN23btPoint2PointConstraintD0Ev, 
    "~btPoint2PointConstraint_1": __ZN23btPoint2PointConstraintD1Ev, 
    "~btPoint2PointConstraint_1__params": "", 
    "~btPoint2PointConstraint__params": ""
  }, 
  "btPointCollector": {
    "addContactPoint": __ZN16btPointCollector15addContactPointERK9btVector3S2_f, 
    "addContactPoint__params": "btVector3 const&, btVector3 const&, float", 
    "setShapeIdentifiersA": __ZN16btPointCollector20setShapeIdentifiersAEii, 
    "setShapeIdentifiersA__params": "int, int", 
    "setShapeIdentifiersB": __ZN16btPointCollector20setShapeIdentifiersBEii, 
    "setShapeIdentifiersB__params": "int, int", 
    "~btPointCollector": __ZN16btPointCollectorD1Ev, 
    "~btPointCollector_1": __ZN16btPointCollectorD0Ev, 
    "~btPointCollector_1__params": "", 
    "~btPointCollector__params": ""
  }, 
  "btPolyhedralConvexAabbCachingShape": {
    "__new__": function() { var ret = _malloc(_struct_btPolyhedralConvexAabbCachingShape___SIZE); Module._.btPolyhedralConvexAabbCachingShape.btPolyhedralConvexAabbCachingShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btPolyhedralConvexAabbCachingShape___SIZE); Module._.btPolyhedralConvexAabbCachingShape.btPolyhedralConvexAabbCachingShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btPolyhedralConvexAabbCachingShape": __ZN34btPolyhedralConvexAabbCachingShapeC1Ev, 
    "btPolyhedralConvexAabbCachingShape_1": __ZN34btPolyhedralConvexAabbCachingShapeC2Ev, 
    "btPolyhedralConvexAabbCachingShape_1__params": "", 
    "btPolyhedralConvexAabbCachingShape__params": "", 
    "getAabb": __ZNK34btPolyhedralConvexAabbCachingShape7getAabbERK11btTransformR9btVector3S4_, 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "recalcLocalAabb": __ZN34btPolyhedralConvexAabbCachingShape15recalcLocalAabbEv, 
    "recalcLocalAabb__params": "", 
    "setLocalScaling": __ZN34btPolyhedralConvexAabbCachingShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "~btPolyhedralConvexAabbCachingShape": __ZN34btPolyhedralConvexAabbCachingShapeD0Ev, 
    "~btPolyhedralConvexAabbCachingShape_1": __ZN34btPolyhedralConvexAabbCachingShapeD1Ev, 
    "~btPolyhedralConvexAabbCachingShape_1__params": "", 
    "~btPolyhedralConvexAabbCachingShape__params": ""
  }, 
  "btPolyhedralConvexShape": {
    "__new__": function() { var ret = _malloc(_struct_btPolyhedralConvexShape___SIZE); Module._.btPolyhedralConvexShape.btPolyhedralConvexShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btPolyhedralConvexShape___SIZE); Module._.btPolyhedralConvexShape.btPolyhedralConvexShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin": __ZNK23btPolyhedralConvexShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin__params": "btVector3 const*, btVector3*, int", 
    "btPolyhedralConvexShape": __ZN23btPolyhedralConvexShapeC2Ev, 
    "btPolyhedralConvexShape_1": __ZN23btPolyhedralConvexShapeC1Ev, 
    "btPolyhedralConvexShape_1__params": "", 
    "btPolyhedralConvexShape__params": "", 
    "calculateLocalInertia": __ZNK23btPolyhedralConvexShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "localGetSupportingVertexWithoutMargin": __ZNK23btPolyhedralConvexShape37localGetSupportingVertexWithoutMarginERK9btVector3, 
    "localGetSupportingVertexWithoutMargin__params": "btVector3 const&", 
    "~btPolyhedralConvexShape": __ZN23btPolyhedralConvexShapeD0Ev, 
    "~btPolyhedralConvexShape_1": __ZN23btPolyhedralConvexShapeD1Ev, 
    "~btPolyhedralConvexShape_1__params": "", 
    "~btPolyhedralConvexShape__params": ""
  }, 
  "btPoolAlloc": __Z11btPoolAllocj, 
  "btPoolAlloc__params": "unsigned int", 
  "btPoolFree": __Z10btPoolFreePv, 
  "btPoolFree__params": "void*", 
  "btPoolRealloc": __Z13btPoolReallocPvjj, 
  "btPoolRealloc__params": "void*, unsigned int, unsigned int", 
  "btPrimitiveTriangle": {
    "clip_triangle": __ZN19btPrimitiveTriangle13clip_triangleERS_P9btVector3, 
    "clip_triangle__params": "btPrimitiveTriangle&, btVector3*", 
    "find_triangle_collision_clip_method": __ZN19btPrimitiveTriangle35find_triangle_collision_clip_methodERS_R20GIM_TRIANGLE_CONTACT, 
    "find_triangle_collision_clip_method__params": "btPrimitiveTriangle&, GIM_TRIANGLE_CONTACT&", 
    "overlap_test_conservative": __ZN19btPrimitiveTriangle25overlap_test_conservativeERKS_, 
    "overlap_test_conservative__params": "btPrimitiveTriangle const&"
  }, 
  "btQuantizedBvh": {
    "__new__": function() { var ret = _malloc(_struct_btQuantizedBvh___SIZE); Module._.btQuantizedBvh.btQuantizedBvh.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btQuantizedBvh___SIZE); Module._.btQuantizedBvh.btQuantizedBvh_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__2": function() { var ret = _malloc(_struct_btQuantizedBvh___SIZE); Module._.btQuantizedBvh.btQuantizedBvh_2.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__3": function() { var ret = _malloc(_struct_btQuantizedBvh___SIZE); Module._.btQuantizedBvh.btQuantizedBvh_3.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "assignInternalNodeFromLeafNode": __ZN14btQuantizedBvh30assignInternalNodeFromLeafNodeEii, 
    "assignInternalNodeFromLeafNode__params": "int, int", 
    "btQuantizedBvh": __ZN14btQuantizedBvhC2Ev, 
    "btQuantizedBvh_1": __ZN14btQuantizedBvhC2ERS_b, 
    "btQuantizedBvh_1__params": "btQuantizedBvh&, bool", 
    "btQuantizedBvh_2": __ZN14btQuantizedBvhC1ERS_b, 
    "btQuantizedBvh_2__params": "btQuantizedBvh&, bool", 
    "btQuantizedBvh_3": __ZN14btQuantizedBvhC1Ev, 
    "btQuantizedBvh_3__params": "", 
    "btQuantizedBvh__params": "", 
    "buildInternal": __ZN14btQuantizedBvh13buildInternalEv, 
    "buildInternal__params": "", 
    "buildTree": __ZN14btQuantizedBvh9buildTreeEii, 
    "buildTree__params": "int, int", 
    "calcSplittingAxis": __ZN14btQuantizedBvh17calcSplittingAxisEii, 
    "calcSplittingAxis__params": "int, int", 
    "calculateSerializeBufferSize": __ZNK14btQuantizedBvh28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSizeNew": __ZNK14btQuantizedBvh31calculateSerializeBufferSizeNewEv, 
    "calculateSerializeBufferSizeNew__params": "", 
    "calculateSerializeBufferSize__params": "", 
    "deSerializeDouble": __ZN14btQuantizedBvh17deSerializeDoubleER24btQuantizedBvhDoubleData, 
    "deSerializeDouble__params": "btQuantizedBvhDoubleData&", 
    "deSerializeFloat": __ZN14btQuantizedBvh16deSerializeFloatER23btQuantizedBvhFloatData, 
    "deSerializeFloat__params": "btQuantizedBvhFloatData&", 
    "deSerializeInPlace": __ZN14btQuantizedBvh18deSerializeInPlaceEPvjb, 
    "deSerializeInPlace__params": "void*, unsigned int, bool", 
    "getAlignmentSerializationPadding": __ZN14btQuantizedBvh32getAlignmentSerializationPaddingEv, 
    "getAlignmentSerializationPadding__params": "", 
    "mergeInternalNodeAabb": __ZN14btQuantizedBvh21mergeInternalNodeAabbEiRK9btVector3S2_, 
    "mergeInternalNodeAabb__params": "int, btVector3 const&, btVector3 const&", 
    "reportAabbOverlappingNodex": __ZNK14btQuantizedBvh26reportAabbOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_, 
    "reportAabbOverlappingNodex__params": "btNodeOverlapCallback*, btVector3 const&, btVector3 const&", 
    "reportBoxCastOverlappingNodex": __ZNK14btQuantizedBvh29reportBoxCastOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_, 
    "reportBoxCastOverlappingNodex__params": "btNodeOverlapCallback*, btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&", 
    "reportRayOverlappingNodex": __ZNK14btQuantizedBvh25reportRayOverlappingNodexEP21btNodeOverlapCallbackRK9btVector3S4_, 
    "reportRayOverlappingNodex__params": "btNodeOverlapCallback*, btVector3 const&, btVector3 const&", 
    "serialize": __ZNK14btQuantizedBvh9serializeEPvP12btSerializer, 
    "serialize_1": __ZNK14btQuantizedBvh9serializeEPvjb, 
    "serialize_1__params": "void*, unsigned int, bool", 
    "serialize__params": "void*, btSerializer*", 
    "setQuantizationValues": __ZN14btQuantizedBvh21setQuantizationValuesERK9btVector3S2_f, 
    "setQuantizationValues__params": "btVector3 const&, btVector3 const&, float", 
    "sortAndCalcSplittingIndex": __ZN14btQuantizedBvh25sortAndCalcSplittingIndexEiii, 
    "sortAndCalcSplittingIndex__params": "int, int, int", 
    "swapLeafNodes": __ZN14btQuantizedBvh13swapLeafNodesEii, 
    "swapLeafNodes__params": "int, int", 
    "updateSubtreeHeaders": __ZN14btQuantizedBvh20updateSubtreeHeadersEii, 
    "updateSubtreeHeaders__params": "int, int", 
    "walkRecursiveQuantizedTreeAgainstQueryAabb": __ZNK14btQuantizedBvh42walkRecursiveQuantizedTreeAgainstQueryAabbEPK18btQuantizedBvhNodeP21btNodeOverlapCallbackPtS5_, 
    "walkRecursiveQuantizedTreeAgainstQueryAabb__params": "btQuantizedBvhNode const*, btNodeOverlapCallback*, unsigned short*, unsigned short*", 
    "walkStacklessQuantizedTree": __ZNK14btQuantizedBvh26walkStacklessQuantizedTreeEP21btNodeOverlapCallbackPtS2_ii, 
    "walkStacklessQuantizedTreeAgainstRay": __ZNK14btQuantizedBvh36walkStacklessQuantizedTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii, 
    "walkStacklessQuantizedTreeAgainstRay__params": "btNodeOverlapCallback*, btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&, int, int", 
    "walkStacklessQuantizedTreeCacheFriendly": __ZNK14btQuantizedBvh39walkStacklessQuantizedTreeCacheFriendlyEP21btNodeOverlapCallbackPtS2_, 
    "walkStacklessQuantizedTreeCacheFriendly__params": "btNodeOverlapCallback*, unsigned short*, unsigned short*", 
    "walkStacklessQuantizedTree__params": "btNodeOverlapCallback*, unsigned short*, unsigned short*, int, int", 
    "walkStacklessTree": __ZNK14btQuantizedBvh17walkStacklessTreeEP21btNodeOverlapCallbackRK9btVector3S4_, 
    "walkStacklessTreeAgainstRay": __ZNK14btQuantizedBvh27walkStacklessTreeAgainstRayEP21btNodeOverlapCallbackRK9btVector3S4_S4_S4_ii, 
    "walkStacklessTreeAgainstRay__params": "btNodeOverlapCallback*, btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&, int, int", 
    "walkStacklessTree__params": "btNodeOverlapCallback*, btVector3 const&, btVector3 const&", 
    "~btQuantizedBvh": __ZN14btQuantizedBvhD1Ev, 
    "~btQuantizedBvh_1": __ZN14btQuantizedBvhD0Ev, 
    "~btQuantizedBvh_1__params": "", 
    "~btQuantizedBvh_2": __ZN14btQuantizedBvhD2Ev, 
    "~btQuantizedBvh_2__params": "", 
    "~btQuantizedBvh__params": ""
  }, 
  "btQuantizedBvhTree": {
    "_build_sub_tree": __ZN18btQuantizedBvhTree15_build_sub_treeER18GIM_BVH_DATA_ARRAYii, 
    "_build_sub_tree__params": "GIM_BVH_DATA_ARRAY&, int, int", 
    "_calc_splitting_axis": __ZN18btQuantizedBvhTree20_calc_splitting_axisER18GIM_BVH_DATA_ARRAYii, 
    "_calc_splitting_axis__params": "GIM_BVH_DATA_ARRAY&, int, int", 
    "_sort_and_calc_splitting_index": __ZN18btQuantizedBvhTree30_sort_and_calc_splitting_indexER18GIM_BVH_DATA_ARRAYiii, 
    "_sort_and_calc_splitting_index__params": "GIM_BVH_DATA_ARRAY&, int, int, int", 
    "build_tree": __ZN18btQuantizedBvhTree10build_treeER18GIM_BVH_DATA_ARRAY, 
    "build_tree__params": "GIM_BVH_DATA_ARRAY&", 
    "calc_quantization": __ZN18btQuantizedBvhTree17calc_quantizationER18GIM_BVH_DATA_ARRAYf, 
    "calc_quantization__params": "GIM_BVH_DATA_ARRAY&, float"
  }, 
  "btRaycastVehicle": {
    "__new__": function() { var ret = _malloc(_struct_btRaycastVehicle___SIZE); Module._.btRaycastVehicle.btRaycastVehicle.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btRaycastVehicle___SIZE); Module._.btRaycastVehicle.btRaycastVehicle_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "addWheel": __ZN16btRaycastVehicle8addWheelERK9btVector3S2_S2_ffRKNS_15btVehicleTuningEb, 
    "addWheel__params": "btVector3 const&, btVector3 const&, btVector3 const&, float, float, btRaycastVehicle::btVehicleTuning const&, bool", 
    "applyEngineForce": __ZN16btRaycastVehicle16applyEngineForceEfi, 
    "applyEngineForce__params": "float, int", 
    "btRaycastVehicle": __ZN16btRaycastVehicleC2ERKNS_15btVehicleTuningEP11btRigidBodyP18btVehicleRaycaster, 
    "btRaycastVehicle_1": __ZN16btRaycastVehicleC1ERKNS_15btVehicleTuningEP11btRigidBodyP18btVehicleRaycaster, 
    "btRaycastVehicle_1__params": "btRaycastVehicle::btVehicleTuning const&, btRigidBody*, btVehicleRaycaster*", 
    "btRaycastVehicle__params": "btRaycastVehicle::btVehicleTuning const&, btRigidBody*, btVehicleRaycaster*", 
    "debugDraw": __ZN16btRaycastVehicle9debugDrawEP12btIDebugDraw, 
    "debugDraw__params": "btIDebugDraw*", 
    "defaultInit": __ZN16btRaycastVehicle11defaultInitERKNS_15btVehicleTuningE, 
    "defaultInit__params": "btRaycastVehicle::btVehicleTuning const&", 
    "getChassisWorldTransform": __ZNK16btRaycastVehicle24getChassisWorldTransformEv, 
    "getChassisWorldTransform__params": "", 
    "getSteeringValue": __ZNK16btRaycastVehicle16getSteeringValueEi, 
    "getSteeringValue__params": "int", 
    "getWheelInfo": __ZN16btRaycastVehicle12getWheelInfoEi, 
    "getWheelInfo_1": __ZNK16btRaycastVehicle12getWheelInfoEi, 
    "getWheelInfo_1__params": "int", 
    "getWheelInfo__params": "int", 
    "getWheelTransformWS": __ZNK16btRaycastVehicle19getWheelTransformWSEi, 
    "getWheelTransformWS__params": "int", 
    "rayCast": __ZN16btRaycastVehicle7rayCastER11btWheelInfo, 
    "rayCast__params": "btWheelInfo&", 
    "resetSuspension": __ZN16btRaycastVehicle15resetSuspensionEv, 
    "resetSuspension__params": "", 
    "setBrake": __ZN16btRaycastVehicle8setBrakeEfi, 
    "setBrake__params": "float, int", 
    "setCoordinateSystem": __ZN16btRaycastVehicle19setCoordinateSystemEiii, 
    "setCoordinateSystem__params": "int, int, int", 
    "setSteeringValue": __ZN16btRaycastVehicle16setSteeringValueEfi, 
    "setSteeringValue__params": "float, int", 
    "updateAction": __ZN16btRaycastVehicle12updateActionEP16btCollisionWorldf, 
    "updateAction__params": "btCollisionWorld*, float", 
    "updateFriction": __ZN16btRaycastVehicle14updateFrictionEf, 
    "updateFriction__params": "float", 
    "updateSuspension": __ZN16btRaycastVehicle16updateSuspensionEf, 
    "updateSuspension__params": "float", 
    "updateVehicle": __ZN16btRaycastVehicle13updateVehicleEf, 
    "updateVehicle__params": "float", 
    "updateWheelTransform": __ZN16btRaycastVehicle20updateWheelTransformEib, 
    "updateWheelTransform__params": "int, bool", 
    "updateWheelTransformsWS": __ZN16btRaycastVehicle23updateWheelTransformsWSER11btWheelInfob, 
    "updateWheelTransformsWS__params": "btWheelInfo&, bool", 
    "~btRaycastVehicle": __ZN16btRaycastVehicleD1Ev, 
    "~btRaycastVehicle_1": __ZN16btRaycastVehicleD0Ev, 
    "~btRaycastVehicle_1__params": "", 
    "~btRaycastVehicle_2": __ZN16btRaycastVehicleD2Ev, 
    "~btRaycastVehicle_2__params": "", 
    "~btRaycastVehicle__params": ""
  }, 
  "btRigidBody": {
    "__new__": function() { var ret = _malloc(_struct_btRigidBody___SIZE); Module._.btRigidBody.btRigidBody.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btRigidBody___SIZE); Module._.btRigidBody.btRigidBody_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__2": function() { var ret = _malloc(_struct_btRigidBody___SIZE); Module._.btRigidBody.btRigidBody_2.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__3": function() { var ret = _malloc(_struct_btRigidBody___SIZE); Module._.btRigidBody.btRigidBody_3.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "addConstraintRef": __ZN11btRigidBody16addConstraintRefEP17btTypedConstraint, 
    "addConstraintRef__params": "btTypedConstraint*", 
    "applyDamping": __ZN11btRigidBody12applyDampingEf, 
    "applyDamping__params": "float", 
    "applyGravity": __ZN11btRigidBody12applyGravityEv, 
    "applyGravity__params": "", 
    "applyImpulse": __ZN11btRigidBody12applyImpulseERK9btVector3S2_, 
    "applyImpulse__params": "btVector3 const&, btVector3 const&", 
    "btRigidBody": __ZN11btRigidBodyC1EfP13btMotionStateP16btCollisionShapeRK9btVector3, 
    "btRigidBodyConstructionInfo": {
      "__new__": function() { var ret = _malloc(__struct_btRigidBody__btRigidBodyConstructionInfo____SIZE); Module._.btRigidBody.btRigidBodyConstructionInfo.btRigidBodyConstructionInfo.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
      "btRigidBodyConstructionInfo": __ZN11btRigidBody27btRigidBodyConstructionInfoC1EfP13btMotionStateP16btCollisionShapeRK9btVector3, 
      "btRigidBodyConstructionInfo__params": "float, btMotionState*, btCollisionShape*, btVector3 const&"
    }, 
    "btRigidBody_1": __ZN11btRigidBodyC1ERKNS_27btRigidBodyConstructionInfoE, 
    "btRigidBody_1__params": "btRigidBody::btRigidBodyConstructionInfo const&", 
    "btRigidBody_2": __ZN11btRigidBodyC2EfP13btMotionStateP16btCollisionShapeRK9btVector3, 
    "btRigidBody_2__params": "float, btMotionState*, btCollisionShape*, btVector3 const&", 
    "btRigidBody_3": __ZN11btRigidBodyC2ERKNS_27btRigidBodyConstructionInfoE, 
    "btRigidBody_3__params": "btRigidBody::btRigidBodyConstructionInfo const&", 
    "btRigidBody__params": "float, btMotionState*, btCollisionShape*, btVector3 const&", 
    "calculateSerializeBufferSize": __ZNK11btRigidBody28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "checkCollideWithOverride": __ZN11btRigidBody24checkCollideWithOverrideEP17btCollisionObject, 
    "checkCollideWithOverride__params": "btCollisionObject*", 
    "getAabb": __ZNK11btRigidBody7getAabbER9btVector3S1_, 
    "getAabb__params": "btVector3&, btVector3&", 
    "getMotionState": __ZN11btRigidBody14getMotionStateEv, 
    "getMotionState__params": "", 
    "getOrientation": __ZNK11btRigidBody14getOrientationEv, 
    "getOrientation__params": "", 
    "integrateVelocities": __ZN11btRigidBody19integrateVelocitiesEf, 
    "integrateVelocities__params": "float", 
    "internalWritebackVelocity": __ZN11btRigidBody25internalWritebackVelocityEf, 
    "internalWritebackVelocity__params": "float", 
    "predictIntegratedTransform": __ZN11btRigidBody26predictIntegratedTransformEfR11btTransform, 
    "predictIntegratedTransform__params": "float, btTransform&", 
    "proceedToTransform": __ZN11btRigidBody18proceedToTransformERK11btTransform, 
    "proceedToTransform__params": "btTransform const&", 
    "removeConstraintRef": __ZN11btRigidBody19removeConstraintRefEP17btTypedConstraint, 
    "removeConstraintRef__params": "btTypedConstraint*", 
    "saveKinematicState": __ZN11btRigidBody18saveKinematicStateEf, 
    "saveKinematicState__params": "float", 
    "serialize": __ZNK11btRigidBody9serializeEPvP12btSerializer, 
    "serializeSingleObject": __ZNK11btRigidBody21serializeSingleObjectEP12btSerializer, 
    "serializeSingleObject__params": "btSerializer*", 
    "serialize__params": "void*, btSerializer*", 
    "setCenterOfMassTransform": __ZN11btRigidBody24setCenterOfMassTransformERK11btTransform, 
    "setCenterOfMassTransform__params": "btTransform const&", 
    "setDamping": __ZN11btRigidBody10setDampingEff, 
    "setDamping__params": "float, float", 
    "setGravity": __ZN11btRigidBody10setGravityERK9btVector3, 
    "setGravity__params": "btVector3 const&", 
    "setMassProps": __ZN11btRigidBody12setMassPropsEfRK9btVector3, 
    "setMassProps__params": "float, btVector3 const&", 
    "setupRigidBody": __ZN11btRigidBody14setupRigidBodyERKNS_27btRigidBodyConstructionInfoE, 
    "setupRigidBody__params": "btRigidBody::btRigidBodyConstructionInfo const&", 
    "upcast": __ZN11btRigidBody6upcastEP17btCollisionObject, 
    "upcast__params": "btCollisionObject*", 
    "updateInertiaTensor": __ZN11btRigidBody19updateInertiaTensorEv, 
    "updateInertiaTensor__params": "", 
    "~btRigidBody": __ZN11btRigidBodyD0Ev, 
    "~btRigidBody_1": __ZN11btRigidBodyD1Ev, 
    "~btRigidBody_1__params": "", 
    "~btRigidBody__params": ""
  }, 
  "btRotationalLimitMotor": {
    "solveAngularLimits": __ZN22btRotationalLimitMotor18solveAngularLimitsEfR9btVector3fP11btRigidBodyS3_, 
    "solveAngularLimits__params": "float, btVector3&, float, btRigidBody*, btRigidBody*", 
    "testLimitValue": __ZN22btRotationalLimitMotor14testLimitValueEf, 
    "testLimitValue__params": "float"
  }, 
  "btScaledBvhTriangleMeshShape": {
    "__new__": function() { var ret = _malloc(_struct_btScaledBvhTriangleMeshShape___SIZE); Module._.btScaledBvhTriangleMeshShape.btScaledBvhTriangleMeshShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btScaledBvhTriangleMeshShape___SIZE); Module._.btScaledBvhTriangleMeshShape.btScaledBvhTriangleMeshShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btScaledBvhTriangleMeshShape": __ZN28btScaledBvhTriangleMeshShapeC2EP22btBvhTriangleMeshShapeRK9btVector3, 
    "btScaledBvhTriangleMeshShape_1": __ZN28btScaledBvhTriangleMeshShapeC1EP22btBvhTriangleMeshShapeRK9btVector3, 
    "btScaledBvhTriangleMeshShape_1__params": "btBvhTriangleMeshShape*, btVector3 const&", 
    "btScaledBvhTriangleMeshShape__params": "btBvhTriangleMeshShape*, btVector3 const&", 
    "calculateLocalInertia": __ZNK28btScaledBvhTriangleMeshShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "getAabb": __ZNK28btScaledBvhTriangleMeshShape7getAabbERK11btTransformR9btVector3S4_, 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "getLocalScaling": __ZNK28btScaledBvhTriangleMeshShape15getLocalScalingEv, 
    "getLocalScaling__params": "", 
    "getName": __ZNK28btScaledBvhTriangleMeshShape7getNameEv, 
    "getName__params": "", 
    "processAllTriangles": __ZNK28btScaledBvhTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_, 
    "processAllTriangles__params": "btTriangleCallback*, btVector3 const&, btVector3 const&", 
    "setLocalScaling": __ZN28btScaledBvhTriangleMeshShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "~btScaledBvhTriangleMeshShape": __ZN28btScaledBvhTriangleMeshShapeD0Ev, 
    "~btScaledBvhTriangleMeshShape_1": __ZN28btScaledBvhTriangleMeshShapeD1Ev, 
    "~btScaledBvhTriangleMeshShape_1__params": "", 
    "~btScaledBvhTriangleMeshShape_2": __ZN28btScaledBvhTriangleMeshShapeD2Ev, 
    "~btScaledBvhTriangleMeshShape_2__params": "", 
    "~btScaledBvhTriangleMeshShape__params": ""
  }, 
  "btScaledTriangleCallback": {
    "processTriangle": __ZN24btScaledTriangleCallback15processTriangleEP9btVector3ii, 
    "processTriangle__params": "btVector3*, int, int", 
    "~btScaledTriangleCallback": __ZN24btScaledTriangleCallbackD1Ev, 
    "~btScaledTriangleCallback_1": __ZN24btScaledTriangleCallbackD0Ev, 
    "~btScaledTriangleCallback_1__params": "", 
    "~btScaledTriangleCallback__params": ""
  }, 
  "btSequentialImpulseConstraintSolver": {
    "__new__": function() { var ret = _malloc(_struct_btSequentialImpulseConstraintSolver___SIZE); Module._.btSequentialImpulseConstraintSolver.btSequentialImpulseConstraintSolver.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btSequentialImpulseConstraintSolver___SIZE); Module._.btSequentialImpulseConstraintSolver.btSequentialImpulseConstraintSolver_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "addFrictionConstraint": __ZN35btSequentialImpulseConstraintSolver21addFrictionConstraintERK9btVector3P11btRigidBodyS4_iR15btManifoldPointS2_S2_P17btCollisionObjectS8_fff, 
    "addFrictionConstraint__params": "btVector3 const&, btRigidBody*, btRigidBody*, int, btManifoldPoint&, btVector3 const&, btVector3 const&, btCollisionObject*, btCollisionObject*, float, float, float", 
    "btRand2": __ZN35btSequentialImpulseConstraintSolver7btRand2Ev, 
    "btRand2__params": "", 
    "btRandInt2": __ZN35btSequentialImpulseConstraintSolver10btRandInt2Ei, 
    "btRandInt2__params": "int", 
    "btSequentialImpulseConstraintSolver": __ZN35btSequentialImpulseConstraintSolverC2Ev, 
    "btSequentialImpulseConstraintSolver_1": __ZN35btSequentialImpulseConstraintSolverC1Ev, 
    "btSequentialImpulseConstraintSolver_1__params": "", 
    "btSequentialImpulseConstraintSolver__params": "", 
    "convertContact": __ZN35btSequentialImpulseConstraintSolver14convertContactEP20btPersistentManifoldRK19btContactSolverInfo, 
    "convertContact__params": "btPersistentManifold*, btContactSolverInfo const&", 
    "getFixedBody": __ZN35btSequentialImpulseConstraintSolver12getFixedBodyEv, 
    "getFixedBody__params": "", 
    "getOrInitSolverBody": __ZN35btSequentialImpulseConstraintSolver19getOrInitSolverBodyER17btCollisionObject, 
    "getOrInitSolverBody__params": "btCollisionObject&", 
    "reset": __ZN35btSequentialImpulseConstraintSolver5resetEv, 
    "reset__params": "", 
    "resolveSingleConstraintRowGeneric": __ZN35btSequentialImpulseConstraintSolver33resolveSingleConstraintRowGenericER11btRigidBodyS1_RK18btSolverConstraint, 
    "resolveSingleConstraintRowGenericSIMD": __ZN35btSequentialImpulseConstraintSolver37resolveSingleConstraintRowGenericSIMDER11btRigidBodyS1_RK18btSolverConstraint, 
    "resolveSingleConstraintRowGenericSIMD__params": "btRigidBody&, btRigidBody&, btSolverConstraint const&", 
    "resolveSingleConstraintRowGeneric__params": "btRigidBody&, btRigidBody&, btSolverConstraint const&", 
    "resolveSingleConstraintRowLowerLimit": __ZN35btSequentialImpulseConstraintSolver36resolveSingleConstraintRowLowerLimitER11btRigidBodyS1_RK18btSolverConstraint, 
    "resolveSingleConstraintRowLowerLimitSIMD": __ZN35btSequentialImpulseConstraintSolver40resolveSingleConstraintRowLowerLimitSIMDER11btRigidBodyS1_RK18btSolverConstraint, 
    "resolveSingleConstraintRowLowerLimitSIMD__params": "btRigidBody&, btRigidBody&, btSolverConstraint const&", 
    "resolveSingleConstraintRowLowerLimit__params": "btRigidBody&, btRigidBody&, btSolverConstraint const&", 
    "resolveSplitPenetrationImpulseCacheFriendly": __ZN35btSequentialImpulseConstraintSolver43resolveSplitPenetrationImpulseCacheFriendlyER11btRigidBodyS1_RK18btSolverConstraint, 
    "resolveSplitPenetrationImpulseCacheFriendly__params": "btRigidBody&, btRigidBody&, btSolverConstraint const&", 
    "resolveSplitPenetrationSIMD": __ZN35btSequentialImpulseConstraintSolver27resolveSplitPenetrationSIMDER11btRigidBodyS1_RK18btSolverConstraint, 
    "resolveSplitPenetrationSIMD__params": "btRigidBody&, btRigidBody&, btSolverConstraint const&", 
    "restitutionCurve": __ZN35btSequentialImpulseConstraintSolver16restitutionCurveEff, 
    "restitutionCurve__params": "float, float", 
    "setFrictionConstraintImpulse": __ZN35btSequentialImpulseConstraintSolver28setFrictionConstraintImpulseER18btSolverConstraintP11btRigidBodyS3_R15btManifoldPointRK19btContactSolverInfo, 
    "setFrictionConstraintImpulse__params": "btSolverConstraint&, btRigidBody*, btRigidBody*, btManifoldPoint&, btContactSolverInfo const&", 
    "setupContactConstraint": __ZN35btSequentialImpulseConstraintSolver22setupContactConstraintER18btSolverConstraintP17btCollisionObjectS3_R15btManifoldPointRK19btContactSolverInfoR9btVector3RfSB_SA_SA_, 
    "setupContactConstraint__params": "btSolverConstraint&, btCollisionObject*, btCollisionObject*, btManifoldPoint&, btContactSolverInfo const&, btVector3&, float&, float&, btVector3&, btVector3&", 
    "setupFrictionConstraint": __ZN35btSequentialImpulseConstraintSolver23setupFrictionConstraintER18btSolverConstraintRK9btVector3P11btRigidBodyS6_R15btManifoldPointS4_S4_P17btCollisionObjectSA_fff, 
    "setupFrictionConstraint__params": "btSolverConstraint&, btVector3 const&, btRigidBody*, btRigidBody*, btManifoldPoint&, btVector3 const&, btVector3 const&, btCollisionObject*, btCollisionObject*, float, float, float", 
    "solveGroup": __ZN35btSequentialImpulseConstraintSolver10solveGroupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAllocP12btDispatcher, 
    "solveGroupCacheFriendlyFinish": __ZN35btSequentialImpulseConstraintSolver29solveGroupCacheFriendlyFinishEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc, 
    "solveGroupCacheFriendlyFinish__params": "btCollisionObject**, int, btPersistentManifold**, int, btTypedConstraint**, int, btContactSolverInfo const&, btIDebugDraw*, btStackAlloc*", 
    "solveGroupCacheFriendlyIterations": __ZN35btSequentialImpulseConstraintSolver33solveGroupCacheFriendlyIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc, 
    "solveGroupCacheFriendlyIterations__params": "btCollisionObject**, int, btPersistentManifold**, int, btTypedConstraint**, int, btContactSolverInfo const&, btIDebugDraw*, btStackAlloc*", 
    "solveGroupCacheFriendlySetup": __ZN35btSequentialImpulseConstraintSolver28solveGroupCacheFriendlySetupEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc, 
    "solveGroupCacheFriendlySetup__params": "btCollisionObject**, int, btPersistentManifold**, int, btTypedConstraint**, int, btContactSolverInfo const&, btIDebugDraw*, btStackAlloc*", 
    "solveGroupCacheFriendlySplitImpulseIterations": __ZN35btSequentialImpulseConstraintSolver45solveGroupCacheFriendlySplitImpulseIterationsEPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc, 
    "solveGroupCacheFriendlySplitImpulseIterations__params": "btCollisionObject**, int, btPersistentManifold**, int, btTypedConstraint**, int, btContactSolverInfo const&, btIDebugDraw*, btStackAlloc*", 
    "solveGroup__params": "btCollisionObject**, int, btPersistentManifold**, int, btTypedConstraint**, int, btContactSolverInfo const&, btIDebugDraw*, btStackAlloc*, btDispatcher*", 
    "solveSingleIteration": __ZN35btSequentialImpulseConstraintSolver20solveSingleIterationEiPP17btCollisionObjectiPP20btPersistentManifoldiPP17btTypedConstraintiRK19btContactSolverInfoP12btIDebugDrawP12btStackAlloc, 
    "solveSingleIteration__params": "int, btCollisionObject**, int, btPersistentManifold**, int, btTypedConstraint**, int, btContactSolverInfo const&, btIDebugDraw*, btStackAlloc*", 
    "~btSequentialImpulseConstraintSolver": __ZN35btSequentialImpulseConstraintSolverD1Ev, 
    "~btSequentialImpulseConstraintSolver_1": __ZN35btSequentialImpulseConstraintSolverD0Ev, 
    "~btSequentialImpulseConstraintSolver_1__params": "", 
    "~btSequentialImpulseConstraintSolver_2": __ZN35btSequentialImpulseConstraintSolverD2Ev, 
    "~btSequentialImpulseConstraintSolver_2__params": "", 
    "~btSequentialImpulseConstraintSolver__params": ""
  }, 
  "btShapeHull": {
    "__new__": function() { var ret = _malloc(_struct_btShapeHull___SIZE); Module._.btShapeHull.btShapeHull.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btShapeHull___SIZE); Module._.btShapeHull.btShapeHull_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btShapeHull": __ZN11btShapeHullC2EPK13btConvexShape, 
    "btShapeHull_1": __ZN11btShapeHullC1EPK13btConvexShape, 
    "btShapeHull_1__params": "btConvexShape const*", 
    "btShapeHull__params": "btConvexShape const*", 
    "buildHull": __ZN11btShapeHull9buildHullEf, 
    "buildHull__params": "float", 
    "getUnitSpherePoints": __ZN11btShapeHull19getUnitSpherePointsEv, 
    "getUnitSpherePoints__params": "", 
    "numIndices": __ZNK11btShapeHull10numIndicesEv, 
    "numIndices__params": "", 
    "numTriangles": __ZNK11btShapeHull12numTrianglesEv, 
    "numTriangles__params": "", 
    "numVertices": __ZNK11btShapeHull11numVerticesEv, 
    "numVertices__params": "", 
    "~btShapeHull": __ZN11btShapeHullD1Ev, 
    "~btShapeHull_1": __ZN11btShapeHullD2Ev, 
    "~btShapeHull_1__params": "", 
    "~btShapeHull__params": ""
  }, 
  "btSimpleBroadphase": {
    "__new__": function() { var ret = _malloc(_struct_btSimpleBroadphase___SIZE); Module._.btSimpleBroadphase.btSimpleBroadphase.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btSimpleBroadphase___SIZE); Module._.btSimpleBroadphase.btSimpleBroadphase_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "aabbOverlap": __ZN18btSimpleBroadphase11aabbOverlapEP23btSimpleBroadphaseProxyS1_, 
    "aabbOverlap__params": "btSimpleBroadphaseProxy*, btSimpleBroadphaseProxy*", 
    "aabbTest": __ZN18btSimpleBroadphase8aabbTestERK9btVector3S2_R24btBroadphaseAabbCallback, 
    "aabbTest__params": "btVector3 const&, btVector3 const&, btBroadphaseAabbCallback&", 
    "btSimpleBroadphase": __ZN18btSimpleBroadphaseC1EiP22btOverlappingPairCache, 
    "btSimpleBroadphase_1": __ZN18btSimpleBroadphaseC2EiP22btOverlappingPairCache, 
    "btSimpleBroadphase_1__params": "int, btOverlappingPairCache*", 
    "btSimpleBroadphase__params": "int, btOverlappingPairCache*", 
    "calculateOverlappingPairs": __ZN18btSimpleBroadphase25calculateOverlappingPairsEP12btDispatcher, 
    "calculateOverlappingPairs__params": "btDispatcher*", 
    "createProxy": __ZN18btSimpleBroadphase11createProxyERK9btVector3S2_iPvssP12btDispatcherS3_, 
    "createProxy__params": "btVector3 const&, btVector3 const&, int, void*, short, short, btDispatcher*, void*", 
    "destroyProxy": __ZN18btSimpleBroadphase12destroyProxyEP17btBroadphaseProxyP12btDispatcher, 
    "destroyProxy__params": "btBroadphaseProxy*, btDispatcher*", 
    "getAabb": __ZNK18btSimpleBroadphase7getAabbEP17btBroadphaseProxyR9btVector3S3_, 
    "getAabb__params": "btBroadphaseProxy*, btVector3&, btVector3&", 
    "getBroadphaseAabb": __ZNK18btSimpleBroadphase17getBroadphaseAabbER9btVector3S1_, 
    "getBroadphaseAabb__params": "btVector3&, btVector3&", 
    "getOverlappingPairCache": __ZN18btSimpleBroadphase23getOverlappingPairCacheEv, 
    "getOverlappingPairCache_1": __ZNK18btSimpleBroadphase23getOverlappingPairCacheEv, 
    "getOverlappingPairCache_1__params": "", 
    "getOverlappingPairCache__params": "", 
    "printStats": __ZN18btSimpleBroadphase10printStatsEv, 
    "printStats__params": "", 
    "rayTest": __ZN18btSimpleBroadphase7rayTestERK9btVector3S2_R23btBroadphaseRayCallbackS2_S2_, 
    "rayTest__params": "btVector3 const&, btVector3 const&, btBroadphaseRayCallback&, btVector3 const&, btVector3 const&", 
    "resetPool": __ZN18btSimpleBroadphase9resetPoolEP12btDispatcher, 
    "resetPool__params": "btDispatcher*", 
    "setAabb": __ZN18btSimpleBroadphase7setAabbEP17btBroadphaseProxyRK9btVector3S4_P12btDispatcher, 
    "setAabb__params": "btBroadphaseProxy*, btVector3 const&, btVector3 const&, btDispatcher*", 
    "testAabbOverlap": __ZN18btSimpleBroadphase15testAabbOverlapEP17btBroadphaseProxyS1_, 
    "testAabbOverlap__params": "btBroadphaseProxy*, btBroadphaseProxy*", 
    "validate": __ZN18btSimpleBroadphase8validateEv, 
    "validate__params": "", 
    "~btSimpleBroadphase": __ZN18btSimpleBroadphaseD0Ev, 
    "~btSimpleBroadphase_1": __ZN18btSimpleBroadphaseD1Ev, 
    "~btSimpleBroadphase_1__params": "", 
    "~btSimpleBroadphase_2": __ZN18btSimpleBroadphaseD2Ev, 
    "~btSimpleBroadphase_2__params": "", 
    "~btSimpleBroadphase__params": ""
  }, 
  "btSimpleDynamicsWorld": {
    "__new__": function() { var ret = _malloc(_struct_btSimpleDynamicsWorld___SIZE); Module._.btSimpleDynamicsWorld.btSimpleDynamicsWorld.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btSimpleDynamicsWorld___SIZE); Module._.btSimpleDynamicsWorld.btSimpleDynamicsWorld_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "addRigidBody": __ZN21btSimpleDynamicsWorld12addRigidBodyEP11btRigidBody, 
    "addRigidBody__params": "btRigidBody*", 
    "btSimpleDynamicsWorld": __ZN21btSimpleDynamicsWorldC1EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration, 
    "btSimpleDynamicsWorld_1": __ZN21btSimpleDynamicsWorldC2EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration, 
    "btSimpleDynamicsWorld_1__params": "btDispatcher*, btBroadphaseInterface*, btConstraintSolver*, btCollisionConfiguration*", 
    "btSimpleDynamicsWorld__params": "btDispatcher*, btBroadphaseInterface*, btConstraintSolver*, btCollisionConfiguration*", 
    "clearForces": __ZN21btSimpleDynamicsWorld11clearForcesEv, 
    "clearForces__params": "", 
    "getConstraintSolver": __ZN21btSimpleDynamicsWorld19getConstraintSolverEv, 
    "getConstraintSolver__params": "", 
    "getGravity": __ZNK21btSimpleDynamicsWorld10getGravityEv, 
    "getGravity__params": "", 
    "getWorldType": __ZNK21btSimpleDynamicsWorld12getWorldTypeEv, 
    "getWorldType__params": "", 
    "integrateTransforms": __ZN21btSimpleDynamicsWorld19integrateTransformsEf, 
    "integrateTransforms__params": "float", 
    "predictUnconstraintMotion": __ZN21btSimpleDynamicsWorld25predictUnconstraintMotionEf, 
    "predictUnconstraintMotion__params": "float", 
    "removeCollisionObject": __ZN21btSimpleDynamicsWorld21removeCollisionObjectEP17btCollisionObject, 
    "removeCollisionObject__params": "btCollisionObject*", 
    "removeRigidBody": __ZN21btSimpleDynamicsWorld15removeRigidBodyEP11btRigidBody, 
    "removeRigidBody__params": "btRigidBody*", 
    "setConstraintSolver": __ZN21btSimpleDynamicsWorld19setConstraintSolverEP18btConstraintSolver, 
    "setConstraintSolver__params": "btConstraintSolver*", 
    "setGravity": __ZN21btSimpleDynamicsWorld10setGravityERK9btVector3, 
    "setGravity__params": "btVector3 const&", 
    "stepSimulation": __ZN21btSimpleDynamicsWorld14stepSimulationEfif, 
    "stepSimulation__params": "float, int, float", 
    "synchronizeMotionStates": __ZN21btSimpleDynamicsWorld23synchronizeMotionStatesEv, 
    "synchronizeMotionStates__params": "", 
    "updateAabbs": __ZN21btSimpleDynamicsWorld11updateAabbsEv, 
    "updateAabbs__params": "", 
    "~btSimpleDynamicsWorld": __ZN21btSimpleDynamicsWorldD0Ev, 
    "~btSimpleDynamicsWorld_1": __ZN21btSimpleDynamicsWorldD1Ev, 
    "~btSimpleDynamicsWorld_1__params": "", 
    "~btSimpleDynamicsWorld_2": __ZN21btSimpleDynamicsWorldD2Ev, 
    "~btSimpleDynamicsWorld_2__params": "", 
    "~btSimpleDynamicsWorld__params": ""
  }, 
  "btSimulationIslandManager": {
    "IslandCallback": {
      "~IslandCallback": __ZN25btSimulationIslandManager14IslandCallbackD1Ev, 
      "~IslandCallback_1": __ZN25btSimulationIslandManager14IslandCallbackD0Ev, 
      "~IslandCallback_1__params": "", 
      "~IslandCallback__params": ""
    }, 
    "__new__": function() { var ret = _malloc(_struct_btSimulationIslandManager___SIZE); Module._.btSimulationIslandManager.btSimulationIslandManager.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btSimulationIslandManager___SIZE); Module._.btSimulationIslandManager.btSimulationIslandManager_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btSimulationIslandManager": __ZN25btSimulationIslandManagerC2Ev, 
    "btSimulationIslandManager_1": __ZN25btSimulationIslandManagerC1Ev, 
    "btSimulationIslandManager_1__params": "", 
    "btSimulationIslandManager__params": "", 
    "buildAndProcessIslands": __ZN25btSimulationIslandManager22buildAndProcessIslandsEP12btDispatcherP16btCollisionWorldPNS_14IslandCallbackE, 
    "buildAndProcessIslands__params": "btDispatcher*, btCollisionWorld*, btSimulationIslandManager::IslandCallback*", 
    "buildIslands": __ZN25btSimulationIslandManager12buildIslandsEP12btDispatcherP16btCollisionWorld, 
    "buildIslands__params": "btDispatcher*, btCollisionWorld*", 
    "findUnions": __ZN25btSimulationIslandManager10findUnionsEP12btDispatcherP16btCollisionWorld, 
    "findUnions__params": "btDispatcher*, btCollisionWorld*", 
    "initUnionFind": __ZN25btSimulationIslandManager13initUnionFindEi, 
    "initUnionFind__params": "int", 
    "storeIslandActivationState": __ZN25btSimulationIslandManager26storeIslandActivationStateEP16btCollisionWorld, 
    "storeIslandActivationState__params": "btCollisionWorld*", 
    "updateActivationState": __ZN25btSimulationIslandManager21updateActivationStateEP16btCollisionWorldP12btDispatcher, 
    "updateActivationState__params": "btCollisionWorld*, btDispatcher*", 
    "~btSimulationIslandManager": __ZN25btSimulationIslandManagerD0Ev, 
    "~btSimulationIslandManager_1": __ZN25btSimulationIslandManagerD1Ev, 
    "~btSimulationIslandManager_1__params": "", 
    "~btSimulationIslandManager_2": __ZN25btSimulationIslandManagerD2Ev, 
    "~btSimulationIslandManager_2__params": "", 
    "~btSimulationIslandManager__params": ""
  }, 
  "btSingleContactCallback": {
    "process": __ZN23btSingleContactCallback7processEPK17btBroadphaseProxy, 
    "process__params": "btBroadphaseProxy const*", 
    "~btSingleContactCallback": __ZN23btSingleContactCallbackD1Ev, 
    "~btSingleContactCallback_1": __ZN23btSingleContactCallbackD0Ev, 
    "~btSingleContactCallback_1__params": "", 
    "~btSingleContactCallback__params": ""
  }, 
  "btSingleRayCallback": {
    "process": __ZN19btSingleRayCallback7processEPK17btBroadphaseProxy, 
    "process__params": "btBroadphaseProxy const*", 
    "~btSingleRayCallback": __ZN19btSingleRayCallbackD0Ev, 
    "~btSingleRayCallback_1": __ZN19btSingleRayCallbackD1Ev, 
    "~btSingleRayCallback_1__params": "", 
    "~btSingleRayCallback__params": ""
  }, 
  "btSingleSweepCallback": {
    "__new__": function() { var ret = _malloc(_struct_btSingleSweepCallback___SIZE); Module._.btSingleSweepCallback.btSingleSweepCallback.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btSingleSweepCallback": __ZN21btSingleSweepCallbackC2EPK13btConvexShapeRK11btTransformS5_PK16btCollisionWorldRNS6_20ConvexResultCallbackEf, 
    "btSingleSweepCallback__params": "btConvexShape const*, btTransform const&, btTransform const&, btCollisionWorld const*, btCollisionWorld::ConvexResultCallback&, float", 
    "process": __ZN21btSingleSweepCallback7processEPK17btBroadphaseProxy, 
    "process__params": "btBroadphaseProxy const*", 
    "~btSingleSweepCallback": __ZN21btSingleSweepCallbackD0Ev, 
    "~btSingleSweepCallback_1": __ZN21btSingleSweepCallbackD1Ev, 
    "~btSingleSweepCallback_1__params": "", 
    "~btSingleSweepCallback__params": ""
  }, 
  "btSliderConstraint": {
    "__new__": function() { var ret = _malloc(_struct_btSliderConstraint___SIZE); Module._.btSliderConstraint.btSliderConstraint.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btSliderConstraint___SIZE); Module._.btSliderConstraint.btSliderConstraint_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__2": function() { var ret = _malloc(_struct_btSliderConstraint___SIZE); Module._.btSliderConstraint.btSliderConstraint_2.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__3": function() { var ret = _malloc(_struct_btSliderConstraint___SIZE); Module._.btSliderConstraint.btSliderConstraint_3.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btSliderConstraint": __ZN18btSliderConstraintC1ER11btRigidBodyRK11btTransformb, 
    "btSliderConstraint_1": __ZN18btSliderConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b, 
    "btSliderConstraint_1__params": "btRigidBody&, btRigidBody&, btTransform const&, btTransform const&, bool", 
    "btSliderConstraint_2": __ZN18btSliderConstraintC2ER11btRigidBodyS1_RK11btTransformS4_b, 
    "btSliderConstraint_2__params": "btRigidBody&, btRigidBody&, btTransform const&, btTransform const&, bool", 
    "btSliderConstraint_3": __ZN18btSliderConstraintC2ER11btRigidBodyRK11btTransformb, 
    "btSliderConstraint_3__params": "btRigidBody&, btTransform const&, bool", 
    "btSliderConstraint__params": "btRigidBody&, btTransform const&, bool", 
    "calculateSerializeBufferSize": __ZNK18btSliderConstraint28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "calculateTransforms": __ZN18btSliderConstraint19calculateTransformsERK11btTransformS2_, 
    "calculateTransforms__params": "btTransform const&, btTransform const&", 
    "getAncorInA": __ZN18btSliderConstraint11getAncorInAEv, 
    "getAncorInA__params": "", 
    "getAncorInB": __ZN18btSliderConstraint11getAncorInBEv, 
    "getAncorInB__params": "", 
    "getInfo1": __ZN18btSliderConstraint8getInfo1EPN17btTypedConstraint17btConstraintInfo1E, 
    "getInfo1NonVirtual": __ZN18btSliderConstraint18getInfo1NonVirtualEPN17btTypedConstraint17btConstraintInfo1E, 
    "getInfo1NonVirtual__params": "btTypedConstraint::btConstraintInfo1*", 
    "getInfo1__params": "btTypedConstraint::btConstraintInfo1*", 
    "getInfo2": __ZN18btSliderConstraint8getInfo2EPN17btTypedConstraint17btConstraintInfo2E, 
    "getInfo2NonVirtual": __ZN18btSliderConstraint18getInfo2NonVirtualEPN17btTypedConstraint17btConstraintInfo2ERK11btTransformS5_RK9btVector3S8_ff, 
    "getInfo2NonVirtual__params": "btTypedConstraint::btConstraintInfo2*, btTransform const&, btTransform const&, btVector3 const&, btVector3 const&, float, float", 
    "getInfo2__params": "btTypedConstraint::btConstraintInfo2*", 
    "getParam": __ZNK18btSliderConstraint8getParamEii, 
    "getParam__params": "int, int", 
    "initParams": __ZN18btSliderConstraint10initParamsEv, 
    "initParams__params": "", 
    "serialize": __ZNK18btSliderConstraint9serializeEPvP12btSerializer, 
    "serialize__params": "void*, btSerializer*", 
    "setParam": __ZN18btSliderConstraint8setParamEifi, 
    "setParam__params": "int, float, int", 
    "testAngLimits": __ZN18btSliderConstraint13testAngLimitsEv, 
    "testAngLimits__params": "", 
    "testLinLimits": __ZN18btSliderConstraint13testLinLimitsEv, 
    "testLinLimits__params": "", 
    "~btSliderConstraint": __ZN18btSliderConstraintD0Ev, 
    "~btSliderConstraint_1": __ZN18btSliderConstraintD1Ev, 
    "~btSliderConstraint_1__params": "", 
    "~btSliderConstraint__params": ""
  }, 
  "btSortedOverlappingPairCache": {
    "__new__": function() { var ret = _malloc(_struct_btSortedOverlappingPairCache___SIZE); Module._.btSortedOverlappingPairCache.btSortedOverlappingPairCache.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btSortedOverlappingPairCache___SIZE); Module._.btSortedOverlappingPairCache.btSortedOverlappingPairCache_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "addOverlappingPair": __ZN28btSortedOverlappingPairCache18addOverlappingPairEP17btBroadphaseProxyS1_, 
    "addOverlappingPair__params": "btBroadphaseProxy*, btBroadphaseProxy*", 
    "btSortedOverlappingPairCache": __ZN28btSortedOverlappingPairCacheC1Ev, 
    "btSortedOverlappingPairCache_1": __ZN28btSortedOverlappingPairCacheC2Ev, 
    "btSortedOverlappingPairCache_1__params": "", 
    "btSortedOverlappingPairCache__params": "", 
    "cleanOverlappingPair": __ZN28btSortedOverlappingPairCache20cleanOverlappingPairER16btBroadphasePairP12btDispatcher, 
    "cleanOverlappingPair__params": "btBroadphasePair&, btDispatcher*", 
    "cleanProxyFromPairs": __ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD1Ev, 
    "cleanProxyFromPairs_1": __ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD0Ev, 
    "cleanProxyFromPairs_1__params": "btBroadphaseProxy*, btDispatcher*)::CleanPairCallback::~CleanPairCallback(", 
    "cleanProxyFromPairs_2": __ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallback14processOverlapER16btBroadphasePair, 
    "cleanProxyFromPairs_2__params": "btBroadphaseProxy*, btDispatcher*)::CleanPairCallback::processOverlap(btBroadphasePair&", 
    "cleanProxyFromPairs_3": __ZZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcherEN17CleanPairCallbackD2Ev, 
    "cleanProxyFromPairs_3__params": "btBroadphaseProxy*, btDispatcher*)::CleanPairCallback::~CleanPairCallback(", 
    "cleanProxyFromPairs_4": __ZN28btSortedOverlappingPairCache19cleanProxyFromPairsEP17btBroadphaseProxyP12btDispatcher, 
    "cleanProxyFromPairs_4__params": "btBroadphaseProxy*, btDispatcher*", 
    "cleanProxyFromPairs__params": "btBroadphaseProxy*, btDispatcher*)::CleanPairCallback::~CleanPairCallback(", 
    "findPair": __ZN28btSortedOverlappingPairCache8findPairEP17btBroadphaseProxyS1_, 
    "findPair__params": "btBroadphaseProxy*, btBroadphaseProxy*", 
    "getNumOverlappingPairs": __ZNK28btSortedOverlappingPairCache22getNumOverlappingPairsEv, 
    "getNumOverlappingPairs__params": "", 
    "getOverlappingPairArray": __ZN28btSortedOverlappingPairCache23getOverlappingPairArrayEv, 
    "getOverlappingPairArrayPtr": __ZN28btSortedOverlappingPairCache26getOverlappingPairArrayPtrEv, 
    "getOverlappingPairArrayPtr_1": __ZNK28btSortedOverlappingPairCache26getOverlappingPairArrayPtrEv, 
    "getOverlappingPairArrayPtr_1__params": "", 
    "getOverlappingPairArrayPtr__params": "", 
    "getOverlappingPairArray__params": "", 
    "hasDeferredRemoval": __ZN28btSortedOverlappingPairCache18hasDeferredRemovalEv, 
    "hasDeferredRemoval__params": "", 
    "processAllOverlappingPairs": __ZN28btSortedOverlappingPairCache26processAllOverlappingPairsEP17btOverlapCallbackP12btDispatcher, 
    "processAllOverlappingPairs__params": "btOverlapCallback*, btDispatcher*", 
    "removeOverlappingPair": __ZN28btSortedOverlappingPairCache21removeOverlappingPairEP17btBroadphaseProxyS1_P12btDispatcher, 
    "removeOverlappingPair__params": "btBroadphaseProxy*, btBroadphaseProxy*, btDispatcher*", 
    "removeOverlappingPairsContainingProxy": __ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD1Ev, 
    "removeOverlappingPairsContainingProxy_1": __ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD0Ev, 
    "removeOverlappingPairsContainingProxy_1__params": "btBroadphaseProxy*, btDispatcher*)::RemovePairCallback::~RemovePairCallback(", 
    "removeOverlappingPairsContainingProxy_2": __ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallback14processOverlapER16btBroadphasePair, 
    "removeOverlappingPairsContainingProxy_2__params": "btBroadphaseProxy*, btDispatcher*)::RemovePairCallback::processOverlap(btBroadphasePair&", 
    "removeOverlappingPairsContainingProxy_3": __ZZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcherEN18RemovePairCallbackD2Ev, 
    "removeOverlappingPairsContainingProxy_3__params": "btBroadphaseProxy*, btDispatcher*)::RemovePairCallback::~RemovePairCallback(", 
    "removeOverlappingPairsContainingProxy_4": __ZN28btSortedOverlappingPairCache37removeOverlappingPairsContainingProxyEP17btBroadphaseProxyP12btDispatcher, 
    "removeOverlappingPairsContainingProxy_4__params": "btBroadphaseProxy*, btDispatcher*", 
    "removeOverlappingPairsContainingProxy__params": "btBroadphaseProxy*, btDispatcher*)::RemovePairCallback::~RemovePairCallback(", 
    "setInternalGhostPairCallback": __ZN28btSortedOverlappingPairCache28setInternalGhostPairCallbackEP25btOverlappingPairCallback, 
    "setInternalGhostPairCallback__params": "btOverlappingPairCallback*", 
    "setOverlapFilterCallback": __ZN28btSortedOverlappingPairCache24setOverlapFilterCallbackEP23btOverlapFilterCallback, 
    "setOverlapFilterCallback__params": "btOverlapFilterCallback*", 
    "sortOverlappingPairs": __ZN28btSortedOverlappingPairCache20sortOverlappingPairsEP12btDispatcher, 
    "sortOverlappingPairs__params": "btDispatcher*", 
    "~btSortedOverlappingPairCache": __ZN28btSortedOverlappingPairCacheD0Ev, 
    "~btSortedOverlappingPairCache_1": __ZN28btSortedOverlappingPairCacheD1Ev, 
    "~btSortedOverlappingPairCache_1__params": "", 
    "~btSortedOverlappingPairCache_2": __ZN28btSortedOverlappingPairCacheD2Ev, 
    "~btSortedOverlappingPairCache_2__params": "", 
    "~btSortedOverlappingPairCache__params": ""
  }, 
  "btSphereBoxCollisionAlgorithm": {
    "__new__": function() { var ret = _malloc(_struct_btSphereBoxCollisionAlgorithm___SIZE); Module._.btSphereBoxCollisionAlgorithm.btSphereBoxCollisionAlgorithm.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btSphereBoxCollisionAlgorithm___SIZE); Module._.btSphereBoxCollisionAlgorithm.btSphereBoxCollisionAlgorithm_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btSphereBoxCollisionAlgorithm": __ZN29btSphereBoxCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b, 
    "btSphereBoxCollisionAlgorithm_1": __ZN29btSphereBoxCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b, 
    "btSphereBoxCollisionAlgorithm_1__params": "btPersistentManifold*, btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*, bool", 
    "btSphereBoxCollisionAlgorithm__params": "btPersistentManifold*, btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*, bool", 
    "calculateTimeOfImpact": __ZN29btSphereBoxCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "calculateTimeOfImpact__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "getAllContactManifolds": __ZN29btSphereBoxCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, 
    "getAllContactManifolds__params": "btAlignedObjectArray<btPersistentManifold*>&", 
    "getSphereDistance": __ZN29btSphereBoxCollisionAlgorithm17getSphereDistanceEP17btCollisionObjectR9btVector3S3_RKS2_f, 
    "getSphereDistance__params": "btCollisionObject*, btVector3&, btVector3&, btVector3 const&, float", 
    "getSpherePenetration": __ZN29btSphereBoxCollisionAlgorithm20getSpherePenetrationEP17btCollisionObjectR9btVector3S3_RKS2_fS5_S5_, 
    "getSpherePenetration__params": "btCollisionObject*, btVector3&, btVector3&, btVector3 const&, float, btVector3 const&, btVector3 const&", 
    "processCollision": __ZN29btSphereBoxCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "processCollision__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "~btSphereBoxCollisionAlgorithm": __ZN29btSphereBoxCollisionAlgorithmD0Ev, 
    "~btSphereBoxCollisionAlgorithm_1": __ZN29btSphereBoxCollisionAlgorithmD1Ev, 
    "~btSphereBoxCollisionAlgorithm_1__params": "", 
    "~btSphereBoxCollisionAlgorithm_2": __ZN29btSphereBoxCollisionAlgorithmD2Ev, 
    "~btSphereBoxCollisionAlgorithm_2__params": "", 
    "~btSphereBoxCollisionAlgorithm__params": ""
  }, 
  "btSphereShape": {
    "__new__": function() { var ret = _malloc(_struct_btSphereShape___SIZE); Module._.btSphereShape.btSphereShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin": __ZNK13btSphereShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin__params": "btVector3 const*, btVector3*, int", 
    "btSphereShape": __ZN13btSphereShapeC1Ef, 
    "btSphereShape__params": "float", 
    "calculateLocalInertia": __ZNK13btSphereShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "getAabb": __ZNK13btSphereShape7getAabbERK11btTransformR9btVector3S4_, 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "getMargin": __ZNK13btSphereShape9getMarginEv, 
    "getMargin__params": "", 
    "getName": __ZNK13btSphereShape7getNameEv, 
    "getName__params": "", 
    "localGetSupportingVertex": __ZNK13btSphereShape24localGetSupportingVertexERK9btVector3, 
    "localGetSupportingVertexWithoutMargin": __ZNK13btSphereShape37localGetSupportingVertexWithoutMarginERK9btVector3, 
    "localGetSupportingVertexWithoutMargin__params": "btVector3 const&", 
    "localGetSupportingVertex__params": "btVector3 const&", 
    "setMargin": __ZN13btSphereShape9setMarginEf, 
    "setMargin__params": "float", 
    "~btSphereShape": __ZN13btSphereShapeD0Ev, 
    "~btSphereShape_1": __ZN13btSphereShapeD1Ev, 
    "~btSphereShape_1__params": "", 
    "~btSphereShape__params": ""
  }, 
  "btSphereSphereCollisionAlgorithm": {
    "CreateFunc": {
      "CreateCollisionAlgorithm": __ZN32btSphereSphereCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, 
      "CreateCollisionAlgorithm__params": "btCollisionAlgorithmConstructionInfo&, btCollisionObject*, btCollisionObject*", 
      "~CreateFunc": __ZN32btSphereSphereCollisionAlgorithm10CreateFuncD1Ev, 
      "~CreateFunc_1": __ZN32btSphereSphereCollisionAlgorithm10CreateFuncD0Ev, 
      "~CreateFunc_1__params": "", 
      "~CreateFunc__params": ""
    }, 
    "__new__": function() { var ret = _malloc(_struct_btSphereSphereCollisionAlgorithm___SIZE); Module._.btSphereSphereCollisionAlgorithm.btSphereSphereCollisionAlgorithm.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btSphereSphereCollisionAlgorithm___SIZE); Module._.btSphereSphereCollisionAlgorithm.btSphereSphereCollisionAlgorithm_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btSphereSphereCollisionAlgorithm": __ZN32btSphereSphereCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_, 
    "btSphereSphereCollisionAlgorithm_1": __ZN32btSphereSphereCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_, 
    "btSphereSphereCollisionAlgorithm_1__params": "btPersistentManifold*, btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*", 
    "btSphereSphereCollisionAlgorithm__params": "btPersistentManifold*, btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*", 
    "calculateTimeOfImpact": __ZN32btSphereSphereCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "calculateTimeOfImpact__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "getAllContactManifolds": __ZN32btSphereSphereCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, 
    "getAllContactManifolds__params": "btAlignedObjectArray<btPersistentManifold*>&", 
    "processCollision": __ZN32btSphereSphereCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "processCollision__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "~btSphereSphereCollisionAlgorithm": __ZN32btSphereSphereCollisionAlgorithmD0Ev, 
    "~btSphereSphereCollisionAlgorithm_1": __ZN32btSphereSphereCollisionAlgorithmD1Ev, 
    "~btSphereSphereCollisionAlgorithm_1__params": "", 
    "~btSphereSphereCollisionAlgorithm_2": __ZN32btSphereSphereCollisionAlgorithmD2Ev, 
    "~btSphereSphereCollisionAlgorithm_2__params": "", 
    "~btSphereSphereCollisionAlgorithm__params": ""
  }, 
  "btSphereTriangleCollisionAlgorithm": {
    "CreateFunc": {
      "CreateCollisionAlgorithm": __ZN34btSphereTriangleCollisionAlgorithm10CreateFunc24CreateCollisionAlgorithmER36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS4_, 
      "CreateCollisionAlgorithm__params": "btCollisionAlgorithmConstructionInfo&, btCollisionObject*, btCollisionObject*", 
      "~CreateFunc": __ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD1Ev, 
      "~CreateFunc_1": __ZN34btSphereTriangleCollisionAlgorithm10CreateFuncD0Ev, 
      "~CreateFunc_1__params": "", 
      "~CreateFunc__params": ""
    }, 
    "__new__": function() { var ret = _malloc(_struct_btSphereTriangleCollisionAlgorithm___SIZE); Module._.btSphereTriangleCollisionAlgorithm.btSphereTriangleCollisionAlgorithm.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btSphereTriangleCollisionAlgorithm___SIZE); Module._.btSphereTriangleCollisionAlgorithm.btSphereTriangleCollisionAlgorithm_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btSphereTriangleCollisionAlgorithm": __ZN34btSphereTriangleCollisionAlgorithmC2EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b, 
    "btSphereTriangleCollisionAlgorithm_1": __ZN34btSphereTriangleCollisionAlgorithmC1EP20btPersistentManifoldRK36btCollisionAlgorithmConstructionInfoP17btCollisionObjectS6_b, 
    "btSphereTriangleCollisionAlgorithm_1__params": "btPersistentManifold*, btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*, bool", 
    "btSphereTriangleCollisionAlgorithm__params": "btPersistentManifold*, btCollisionAlgorithmConstructionInfo const&, btCollisionObject*, btCollisionObject*, bool", 
    "calculateTimeOfImpact": __ZN34btSphereTriangleCollisionAlgorithm21calculateTimeOfImpactEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "calculateTimeOfImpact__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "getAllContactManifolds": __ZN34btSphereTriangleCollisionAlgorithm22getAllContactManifoldsER20btAlignedObjectArrayIP20btPersistentManifoldE, 
    "getAllContactManifolds__params": "btAlignedObjectArray<btPersistentManifold*>&", 
    "processCollision": __ZN34btSphereTriangleCollisionAlgorithm16processCollisionEP17btCollisionObjectS1_RK16btDispatcherInfoP16btManifoldResult, 
    "processCollision__params": "btCollisionObject*, btCollisionObject*, btDispatcherInfo const&, btManifoldResult*", 
    "~btSphereTriangleCollisionAlgorithm": __ZN34btSphereTriangleCollisionAlgorithmD0Ev, 
    "~btSphereTriangleCollisionAlgorithm_1": __ZN34btSphereTriangleCollisionAlgorithmD1Ev, 
    "~btSphereTriangleCollisionAlgorithm_1__params": "", 
    "~btSphereTriangleCollisionAlgorithm_2": __ZN34btSphereTriangleCollisionAlgorithmD2Ev, 
    "~btSphereTriangleCollisionAlgorithm_2__params": "", 
    "~btSphereTriangleCollisionAlgorithm__params": ""
  }, 
  "btStaticPlaneShape": {
    "__new__": function() { var ret = _malloc(_struct_btStaticPlaneShape___SIZE); Module._.btStaticPlaneShape.btStaticPlaneShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btStaticPlaneShape___SIZE); Module._.btStaticPlaneShape.btStaticPlaneShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btStaticPlaneShape": __ZN18btStaticPlaneShapeC2ERK9btVector3f, 
    "btStaticPlaneShape_1": __ZN18btStaticPlaneShapeC1ERK9btVector3f, 
    "btStaticPlaneShape_1__params": "btVector3 const&, float", 
    "btStaticPlaneShape__params": "btVector3 const&, float", 
    "calculateLocalInertia": __ZNK18btStaticPlaneShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "calculateSerializeBufferSize": __ZNK18btStaticPlaneShape28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "getAabb": __ZNK18btStaticPlaneShape7getAabbERK11btTransformR9btVector3S4_, 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "getLocalScaling": __ZNK18btStaticPlaneShape15getLocalScalingEv, 
    "getLocalScaling__params": "", 
    "getName": __ZNK18btStaticPlaneShape7getNameEv, 
    "getName__params": "", 
    "processAllTriangles": __ZNK18btStaticPlaneShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_, 
    "processAllTriangles__params": "btTriangleCallback*, btVector3 const&, btVector3 const&", 
    "serialize": __ZNK18btStaticPlaneShape9serializeEPvP12btSerializer, 
    "serialize__params": "void*, btSerializer*", 
    "setLocalScaling": __ZN18btStaticPlaneShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "~btStaticPlaneShape": __ZN18btStaticPlaneShapeD0Ev, 
    "~btStaticPlaneShape_1": __ZN18btStaticPlaneShapeD1Ev, 
    "~btStaticPlaneShape_1__params": "", 
    "~btStaticPlaneShape_2": __ZN18btStaticPlaneShapeD2Ev, 
    "~btStaticPlaneShape_2__params": "", 
    "~btStaticPlaneShape__params": ""
  }, 
  "btStridingMeshInterface": {
    "InternalProcessAllTriangles": __ZNK23btStridingMeshInterface27InternalProcessAllTrianglesEP31btInternalTriangleIndexCallbackRK9btVector3S4_, 
    "InternalProcessAllTriangles__params": "btInternalTriangleIndexCallback*, btVector3 const&, btVector3 const&", 
    "calculateAabbBruteForce": __ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallbackD1Ev, 
    "calculateAabbBruteForce_1": __ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallbackD0Ev, 
    "calculateAabbBruteForce_1__params": "btVector3&, btVector3&)::AabbCalculationCallback::~AabbCalculationCallback(", 
    "calculateAabbBruteForce_2": __ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallback28internalProcessTriangleIndexEPS0_ii, 
    "calculateAabbBruteForce_2__params": "btVector3&, btVector3&)::AabbCalculationCallback::internalProcessTriangleIndex(btVector3*, int, int", 
    "calculateAabbBruteForce_3": __ZZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_EN23AabbCalculationCallbackD2Ev, 
    "calculateAabbBruteForce_3__params": "btVector3&, btVector3&)::AabbCalculationCallback::~AabbCalculationCallback(", 
    "calculateAabbBruteForce_4": __ZN23btStridingMeshInterface23calculateAabbBruteForceER9btVector3S1_, 
    "calculateAabbBruteForce_4__params": "btVector3&, btVector3&", 
    "calculateAabbBruteForce__params": "btVector3&, btVector3&)::AabbCalculationCallback::~AabbCalculationCallback(", 
    "calculateSerializeBufferSize": __ZNK23btStridingMeshInterface28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "getPremadeAabb": __ZNK23btStridingMeshInterface14getPremadeAabbEP9btVector3S1_, 
    "getPremadeAabb__params": "btVector3*, btVector3*", 
    "hasPremadeAabb": __ZNK23btStridingMeshInterface14hasPremadeAabbEv, 
    "hasPremadeAabb__params": "", 
    "serialize": __ZNK23btStridingMeshInterface9serializeEPvP12btSerializer, 
    "serialize__params": "void*, btSerializer*", 
    "setPremadeAabb": __ZNK23btStridingMeshInterface14setPremadeAabbERK9btVector3S2_, 
    "setPremadeAabb__params": "btVector3 const&, btVector3 const&", 
    "~btStridingMeshInterface": __ZN23btStridingMeshInterfaceD2Ev, 
    "~btStridingMeshInterface_1": __ZN23btStridingMeshInterfaceD0Ev, 
    "~btStridingMeshInterface_1__params": "", 
    "~btStridingMeshInterface_2": __ZN23btStridingMeshInterfaceD1Ev, 
    "~btStridingMeshInterface_2__params": "", 
    "~btStridingMeshInterface__params": ""
  }, 
  "btSubsimplexConvexCast": {
    "__new__": function() { var ret = _malloc(_struct_btSubsimplexConvexCast___SIZE); Module._.btSubsimplexConvexCast.btSubsimplexConvexCast.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btSubsimplexConvexCast___SIZE); Module._.btSubsimplexConvexCast.btSubsimplexConvexCast_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btSubsimplexConvexCast": __ZN22btSubsimplexConvexCastC2EPK13btConvexShapeS2_P22btVoronoiSimplexSolver, 
    "btSubsimplexConvexCast_1": __ZN22btSubsimplexConvexCastC1EPK13btConvexShapeS2_P22btVoronoiSimplexSolver, 
    "btSubsimplexConvexCast_1__params": "btConvexShape const*, btConvexShape const*, btVoronoiSimplexSolver*", 
    "btSubsimplexConvexCast__params": "btConvexShape const*, btConvexShape const*, btVoronoiSimplexSolver*", 
    "calcTimeOfImpact": __ZN22btSubsimplexConvexCast16calcTimeOfImpactERK11btTransformS2_S2_S2_RN12btConvexCast10CastResultE, 
    "calcTimeOfImpact__params": "btTransform const&, btTransform const&, btTransform const&, btTransform const&, btConvexCast::CastResult&", 
    "~btSubsimplexConvexCast": __ZN22btSubsimplexConvexCastD1Ev, 
    "~btSubsimplexConvexCast_1": __ZN22btSubsimplexConvexCastD0Ev, 
    "~btSubsimplexConvexCast_1__params": "", 
    "~btSubsimplexConvexCast__params": ""
  }, 
  "btTetrahedronShapeEx": {
    "~btTetrahedronShapeEx": __ZN20btTetrahedronShapeExD0Ev, 
    "~btTetrahedronShapeEx_1": __ZN20btTetrahedronShapeExD1Ev, 
    "~btTetrahedronShapeEx_1__params": "", 
    "~btTetrahedronShapeEx__params": ""
  }, 
  "btTransform": {
    "__new__": function() { var ret = _malloc(_struct_btTransform___SIZE); Module._.btTransform.btTransform.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btTransform___SIZE); Module._.btTransform.btTransform_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__2": function() { var ret = _malloc(_struct_btTransform___SIZE); Module._.btTransform.btTransform_2.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btTransform": __ZN11btTransformC1Ev, 
    "btTransform_1": __ZN11btTransformC1ERK11btMatrix3x3RK9btVector3, 
    "btTransform_1__params": "btMatrix3x3 const&, btVector3 const&", 
    "btTransform_2": __ZN11btTransformC1ERKS_, 
    "btTransform_2__params": "btTransform const&", 
    "btTransform__params": "", 
    "getIdentity": __ZN11btTransform11getIdentityEv, 
    "getIdentity__params": "", 
    "getOrigin": __ZN11btTransform9getOriginEv, 
    "getOrigin__params": "", 
    "inverse": __ZNK11btTransform7inverseEv, 
    "inverse__params": "", 
    "operator": __ZNK11btTransformclERK9btVector3, 
    "operator*": __ZNK11btTransformmlERKS_, 
    "operator*=": __ZN11btTransformmLERKS_, 
    "operator*=__params": "btTransform const&", 
    "operator*__params": "btTransform const&", 
    "operator=": __ZN11btTransformaSERKS_, 
    "operator=__params": "btTransform const&", 
    "operator__params": ")(btVector3 const&", 
    "setIdentity": __ZN11btTransform11setIdentityEv, 
    "setIdentity__params": "", 
    "setOrigin": __ZN11btTransform9setOriginERK9btVector3, 
    "setOrigin__params": "btVector3 const&"
  }, 
  "btTransformUtil": {
    "calculateDiffAxisAngle": __ZN15btTransformUtil22calculateDiffAxisAngleERK11btTransformS2_R9btVector3Rf, 
    "calculateDiffAxisAngle__params": "btTransform const&, btTransform const&, btVector3&, float&", 
    "integrateTransform": __ZN15btTransformUtil18integrateTransformERK11btTransformRK9btVector3S5_fRS0_, 
    "integrateTransform__params": "btTransform const&, btVector3 const&, btVector3 const&, float, btTransform&"
  }, 
  "btTranslationalLimitMotor": {
    "solveLinearAxis": __ZN25btTranslationalLimitMotor15solveLinearAxisEffR11btRigidBodyRK9btVector3S1_S4_iS4_S4_, 
    "solveLinearAxis__params": "float, float, btRigidBody&, btVector3 const&, btRigidBody&, btVector3 const&, int, btVector3 const&, btVector3 const&", 
    "testLimitValue": __ZN25btTranslationalLimitMotor14testLimitValueEif, 
    "testLimitValue__params": "int, float"
  }, 
  "btTriangleBuffer": {
    "processTriangle": __ZN16btTriangleBuffer15processTriangleEP9btVector3ii, 
    "processTriangle__params": "btVector3*, int, int", 
    "~btTriangleBuffer": __ZN16btTriangleBufferD0Ev, 
    "~btTriangleBuffer_1": __ZN16btTriangleBufferD1Ev, 
    "~btTriangleBuffer_1__params": "", 
    "~btTriangleBuffer__params": ""
  }, 
  "btTriangleCallback": {
    "~btTriangleCallback": __ZN18btTriangleCallbackD2Ev, 
    "~btTriangleCallback_1": __ZN18btTriangleCallbackD0Ev, 
    "~btTriangleCallback_1__params": "", 
    "~btTriangleCallback_2": __ZN18btTriangleCallbackD1Ev, 
    "~btTriangleCallback_2__params": "", 
    "~btTriangleCallback__params": ""
  }, 
  "btTriangleConvexcastCallback": {
    "__new__": function() { var ret = _malloc(_struct_btTriangleConvexcastCallback___SIZE); Module._.btTriangleConvexcastCallback.btTriangleConvexcastCallback.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btTriangleConvexcastCallback___SIZE); Module._.btTriangleConvexcastCallback.btTriangleConvexcastCallback_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btTriangleConvexcastCallback": __ZN28btTriangleConvexcastCallbackC1EPK13btConvexShapeRK11btTransformS5_S5_f, 
    "btTriangleConvexcastCallback_1": __ZN28btTriangleConvexcastCallbackC2EPK13btConvexShapeRK11btTransformS5_S5_f, 
    "btTriangleConvexcastCallback_1__params": "btConvexShape const*, btTransform const&, btTransform const&, btTransform const&, float", 
    "btTriangleConvexcastCallback__params": "btConvexShape const*, btTransform const&, btTransform const&, btTransform const&, float", 
    "processTriangle": __ZN28btTriangleConvexcastCallback15processTriangleEP9btVector3ii, 
    "processTriangle__params": "btVector3*, int, int", 
    "~btTriangleConvexcastCallback": __ZN28btTriangleConvexcastCallbackD1Ev, 
    "~btTriangleConvexcastCallback_1": __ZN28btTriangleConvexcastCallbackD0Ev, 
    "~btTriangleConvexcastCallback_1__params": "", 
    "~btTriangleConvexcastCallback__params": ""
  }, 
  "btTriangleIndexVertexArray": {
    "__new__": function() { var ret = _malloc(_struct_btTriangleIndexVertexArray___SIZE); Module._.btTriangleIndexVertexArray.btTriangleIndexVertexArray.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btTriangleIndexVertexArray___SIZE); Module._.btTriangleIndexVertexArray.btTriangleIndexVertexArray_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btTriangleIndexVertexArray": __ZN26btTriangleIndexVertexArrayC1EiPiiiPfi, 
    "btTriangleIndexVertexArray_1": __ZN26btTriangleIndexVertexArrayC2EiPiiiPfi, 
    "btTriangleIndexVertexArray_1__params": "int, int*, int, int, float*, int", 
    "btTriangleIndexVertexArray__params": "int, int*, int, int, float*, int", 
    "getLockedReadOnlyVertexIndexBase": __ZNK26btTriangleIndexVertexArray32getLockedReadOnlyVertexIndexBaseEPPKhRiR14PHY_ScalarTypeS3_S2_S3_S3_S5_i, 
    "getLockedReadOnlyVertexIndexBase__params": "unsigned char const**, int&, PHY_ScalarType&, int&, unsigned char const**, int&, int&, PHY_ScalarType&, int", 
    "getLockedVertexIndexBase": __ZN26btTriangleIndexVertexArray24getLockedVertexIndexBaseEPPhRiR14PHY_ScalarTypeS2_S1_S2_S2_S4_i, 
    "getLockedVertexIndexBase__params": "unsigned char**, int&, PHY_ScalarType&, int&, unsigned char**, int&, int&, PHY_ScalarType&, int", 
    "getNumSubParts": __ZNK26btTriangleIndexVertexArray14getNumSubPartsEv, 
    "getNumSubParts__params": "", 
    "getPremadeAabb": __ZNK26btTriangleIndexVertexArray14getPremadeAabbEP9btVector3S1_, 
    "getPremadeAabb__params": "btVector3*, btVector3*", 
    "hasPremadeAabb": __ZNK26btTriangleIndexVertexArray14hasPremadeAabbEv, 
    "hasPremadeAabb__params": "", 
    "preallocateIndices": __ZN26btTriangleIndexVertexArray18preallocateIndicesEi, 
    "preallocateIndices__params": "int", 
    "preallocateVertices": __ZN26btTriangleIndexVertexArray19preallocateVerticesEi, 
    "preallocateVertices__params": "int", 
    "setPremadeAabb": __ZNK26btTriangleIndexVertexArray14setPremadeAabbERK9btVector3S2_, 
    "setPremadeAabb__params": "btVector3 const&, btVector3 const&", 
    "unLockReadOnlyVertexBase": __ZNK26btTriangleIndexVertexArray24unLockReadOnlyVertexBaseEi, 
    "unLockReadOnlyVertexBase__params": "int", 
    "unLockVertexBase": __ZN26btTriangleIndexVertexArray16unLockVertexBaseEi, 
    "unLockVertexBase__params": "int", 
    "~btTriangleIndexVertexArray": __ZN26btTriangleIndexVertexArrayD0Ev, 
    "~btTriangleIndexVertexArray_1": __ZN26btTriangleIndexVertexArrayD1Ev, 
    "~btTriangleIndexVertexArray_1__params": "", 
    "~btTriangleIndexVertexArray_2": __ZN26btTriangleIndexVertexArrayD2Ev, 
    "~btTriangleIndexVertexArray_2__params": "", 
    "~btTriangleIndexVertexArray__params": ""
  }, 
  "btTriangleIndexVertexMaterialArray": {
    "__new__": function() { var ret = _malloc(_struct_btTriangleIndexVertexMaterialArray___SIZE); Module._.btTriangleIndexVertexMaterialArray.btTriangleIndexVertexMaterialArray.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btTriangleIndexVertexMaterialArray___SIZE); Module._.btTriangleIndexVertexMaterialArray.btTriangleIndexVertexMaterialArray_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btTriangleIndexVertexMaterialArray": __ZN34btTriangleIndexVertexMaterialArrayC1EiPiiiPfiiPhiS0_i, 
    "btTriangleIndexVertexMaterialArray_1": __ZN34btTriangleIndexVertexMaterialArrayC2EiPiiiPfiiPhiS0_i, 
    "btTriangleIndexVertexMaterialArray_1__params": "int, int*, int, int, float*, int, int, unsigned char*, int, int*, int", 
    "btTriangleIndexVertexMaterialArray__params": "int, int*, int, int, float*, int, int, unsigned char*, int, int*, int", 
    "getLockedMaterialBase": __ZN34btTriangleIndexVertexMaterialArray21getLockedMaterialBaseEPPhRiR14PHY_ScalarTypeS2_S1_S2_S2_S4_i, 
    "getLockedMaterialBase__params": "unsigned char**, int&, PHY_ScalarType&, int&, unsigned char**, int&, int&, PHY_ScalarType&, int", 
    "getLockedReadOnlyMaterialBase": __ZN34btTriangleIndexVertexMaterialArray29getLockedReadOnlyMaterialBaseEPPKhRiR14PHY_ScalarTypeS3_S2_S3_S3_S5_i, 
    "getLockedReadOnlyMaterialBase__params": "unsigned char const**, int&, PHY_ScalarType&, int&, unsigned char const**, int&, int&, PHY_ScalarType&, int", 
    "~btTriangleIndexVertexMaterialArray": __ZN34btTriangleIndexVertexMaterialArrayD0Ev, 
    "~btTriangleIndexVertexMaterialArray_1": __ZN34btTriangleIndexVertexMaterialArrayD1Ev, 
    "~btTriangleIndexVertexMaterialArray_1__params": "", 
    "~btTriangleIndexVertexMaterialArray__params": ""
  }, 
  "btTriangleInfo": {
    "~btTriangleInfo": __ZN14btTriangleInfoD1Ev, 
    "~btTriangleInfo__params": ""
  }, 
  "btTriangleInfoMap": {
    "calculateSerializeBufferSize": __ZNK17btTriangleInfoMap28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "serialize": __ZNK17btTriangleInfoMap9serializeEPvP12btSerializer, 
    "serialize__params": "void*, btSerializer*", 
    "~btTriangleInfoMap": __ZN17btTriangleInfoMapD0Ev, 
    "~btTriangleInfoMap_1": __ZN17btTriangleInfoMapD1Ev, 
    "~btTriangleInfoMap_1__params": "", 
    "~btTriangleInfoMap__params": ""
  }, 
  "btTriangleMesh": {
    "__new__": function() { var ret = _malloc(_struct_btTriangleMesh___SIZE); Module._.btTriangleMesh.btTriangleMesh.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btTriangleMesh___SIZE); Module._.btTriangleMesh.btTriangleMesh_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "addIndex": __ZN14btTriangleMesh8addIndexEi, 
    "addIndex__params": "int", 
    "addTriangle": __ZN14btTriangleMesh11addTriangleERK9btVector3S2_S2_b, 
    "addTriangle__params": "btVector3 const&, btVector3 const&, btVector3 const&, bool", 
    "btTriangleMesh": __ZN14btTriangleMeshC1Ebb, 
    "btTriangleMesh_1": __ZN14btTriangleMeshC2Ebb, 
    "btTriangleMesh_1__params": "bool, bool", 
    "btTriangleMesh__params": "bool, bool", 
    "findOrAddVertex": __ZN14btTriangleMesh15findOrAddVertexERK9btVector3b, 
    "findOrAddVertex__params": "btVector3 const&, bool", 
    "getNumTriangles": __ZNK14btTriangleMesh15getNumTrianglesEv, 
    "getNumTriangles__params": "", 
    "preallocateIndices": __ZN14btTriangleMesh18preallocateIndicesEi, 
    "preallocateIndices__params": "int", 
    "preallocateVertices": __ZN14btTriangleMesh19preallocateVerticesEi, 
    "preallocateVertices__params": "int", 
    "~btTriangleMesh": __ZN14btTriangleMeshD1Ev, 
    "~btTriangleMesh_1": __ZN14btTriangleMeshD0Ev, 
    "~btTriangleMesh_1__params": "", 
    "~btTriangleMesh_2": __ZN14btTriangleMeshD2Ev, 
    "~btTriangleMesh_2__params": "", 
    "~btTriangleMesh__params": ""
  }, 
  "btTriangleMeshShape": {
    "__new__": function() { var ret = _malloc(_struct_btTriangleMeshShape___SIZE); Module._.btTriangleMeshShape.btTriangleMeshShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btTriangleMeshShape___SIZE); Module._.btTriangleMeshShape.btTriangleMeshShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btTriangleMeshShape": __ZN19btTriangleMeshShapeC1EP23btStridingMeshInterface, 
    "btTriangleMeshShape_1": __ZN19btTriangleMeshShapeC2EP23btStridingMeshInterface, 
    "btTriangleMeshShape_1__params": "btStridingMeshInterface*", 
    "btTriangleMeshShape__params": "btStridingMeshInterface*", 
    "calculateLocalInertia": __ZNK19btTriangleMeshShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "getAabb": __ZNK19btTriangleMeshShape7getAabbERK11btTransformR9btVector3S4_, 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "getLocalScaling": __ZNK19btTriangleMeshShape15getLocalScalingEv, 
    "getLocalScaling__params": "", 
    "getName": __ZNK19btTriangleMeshShape7getNameEv, 
    "getName__params": "", 
    "localGetSupportingVertex": __ZNK19btTriangleMeshShape24localGetSupportingVertexERK9btVector3, 
    "localGetSupportingVertexWithoutMargin": __ZNK19btTriangleMeshShape37localGetSupportingVertexWithoutMarginERK9btVector3, 
    "localGetSupportingVertexWithoutMargin__params": "btVector3 const&", 
    "localGetSupportingVertex__params": "btVector3 const&", 
    "processAllTriangles": __ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD1Ev, 
    "processAllTriangles_1": __ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD0Ev, 
    "processAllTriangles_1__params": "btTriangleCallback*, btVector3 const&, btVector3 const&)::FilteredCallback::~FilteredCallback(", 
    "processAllTriangles_2": __ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallback28internalProcessTriangleIndexEPS2_ii, 
    "processAllTriangles_2__params": "btTriangleCallback*, btVector3 const&, btVector3 const&)::FilteredCallback::internalProcessTriangleIndex(btVector3*, int, int", 
    "processAllTriangles_3": __ZZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_EN16FilteredCallbackD2Ev, 
    "processAllTriangles_3__params": "btTriangleCallback*, btVector3 const&, btVector3 const&)::FilteredCallback::~FilteredCallback(", 
    "processAllTriangles_4": __ZNK19btTriangleMeshShape19processAllTrianglesEP18btTriangleCallbackRK9btVector3S4_, 
    "processAllTriangles_4__params": "btTriangleCallback*, btVector3 const&, btVector3 const&", 
    "processAllTriangles__params": "btTriangleCallback*, btVector3 const&, btVector3 const&)::FilteredCallback::~FilteredCallback(", 
    "recalcLocalAabb": __ZN19btTriangleMeshShape15recalcLocalAabbEv, 
    "recalcLocalAabb__params": "", 
    "setLocalScaling": __ZN19btTriangleMeshShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "~btTriangleMeshShape": __ZN19btTriangleMeshShapeD0Ev, 
    "~btTriangleMeshShape_1": __ZN19btTriangleMeshShapeD1Ev, 
    "~btTriangleMeshShape_1__params": "", 
    "~btTriangleMeshShape_2": __ZN19btTriangleMeshShapeD2Ev, 
    "~btTriangleMeshShape_2__params": "", 
    "~btTriangleMeshShape__params": ""
  }, 
  "btTriangleRaycastCallback": {
    "__new__": function() { var ret = _malloc(_struct_btTriangleRaycastCallback___SIZE); Module._.btTriangleRaycastCallback.btTriangleRaycastCallback.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btTriangleRaycastCallback___SIZE); Module._.btTriangleRaycastCallback.btTriangleRaycastCallback_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btTriangleRaycastCallback": __ZN25btTriangleRaycastCallbackC2ERK9btVector3S2_j, 
    "btTriangleRaycastCallback_1": __ZN25btTriangleRaycastCallbackC1ERK9btVector3S2_j, 
    "btTriangleRaycastCallback_1__params": "btVector3 const&, btVector3 const&, unsigned int", 
    "btTriangleRaycastCallback__params": "btVector3 const&, btVector3 const&, unsigned int", 
    "processTriangle": __ZN25btTriangleRaycastCallback15processTriangleEP9btVector3ii, 
    "processTriangle__params": "btVector3*, int, int", 
    "~btTriangleRaycastCallback": __ZN25btTriangleRaycastCallbackD1Ev, 
    "~btTriangleRaycastCallback_1": __ZN25btTriangleRaycastCallbackD0Ev, 
    "~btTriangleRaycastCallback_1__params": "", 
    "~btTriangleRaycastCallback__params": ""
  }, 
  "btTriangleShape": {
    "batchedUnitVectorGetSupportingVertexWithoutMargin": __ZNK15btTriangleShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin__params": "btVector3 const*, btVector3*, int", 
    "calculateLocalInertia": __ZNK15btTriangleShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "getAabb": __ZNK15btTriangleShape7getAabbERK11btTransformR9btVector3S4_, 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "getEdge": __ZNK15btTriangleShape7getEdgeEiR9btVector3S1_, 
    "getEdge__params": "int, btVector3&, btVector3&", 
    "getName": __ZNK15btTriangleShape7getNameEv, 
    "getName__params": "", 
    "getNumEdges": __ZNK15btTriangleShape11getNumEdgesEv, 
    "getNumEdges__params": "", 
    "getNumPlanes": __ZNK15btTriangleShape12getNumPlanesEv, 
    "getNumPlanes__params": "", 
    "getNumPreferredPenetrationDirections": __ZNK15btTriangleShape36getNumPreferredPenetrationDirectionsEv, 
    "getNumPreferredPenetrationDirections__params": "", 
    "getNumVertices": __ZNK15btTriangleShape14getNumVerticesEv, 
    "getNumVertices__params": "", 
    "getPlane": __ZNK15btTriangleShape8getPlaneER9btVector3S1_i, 
    "getPlaneEquation": __ZNK15btTriangleShape16getPlaneEquationEiR9btVector3S1_, 
    "getPlaneEquation__params": "int, btVector3&, btVector3&", 
    "getPlane__params": "btVector3&, btVector3&, int", 
    "getPreferredPenetrationDirection": __ZNK15btTriangleShape32getPreferredPenetrationDirectionEiR9btVector3, 
    "getPreferredPenetrationDirection__params": "int, btVector3&", 
    "getVertex": __ZNK15btTriangleShape9getVertexEiR9btVector3, 
    "getVertex__params": "int, btVector3&", 
    "isInside": __ZNK15btTriangleShape8isInsideERK9btVector3f, 
    "isInside__params": "btVector3 const&, float", 
    "localGetSupportingVertexWithoutMargin": __ZNK15btTriangleShape37localGetSupportingVertexWithoutMarginERK9btVector3, 
    "localGetSupportingVertexWithoutMargin__params": "btVector3 const&", 
    "~btTriangleShape": __ZN15btTriangleShapeD1Ev, 
    "~btTriangleShape_1": __ZN15btTriangleShapeD0Ev, 
    "~btTriangleShape_1__params": "", 
    "~btTriangleShape__params": ""
  }, 
  "btTriangleShapeEx": {
    "getAabb": __ZNK17btTriangleShapeEx7getAabbERK11btTransformR9btVector3S4_, 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "overlap_test_conservative": __ZN17btTriangleShapeEx25overlap_test_conservativeERKS_, 
    "overlap_test_conservative__params": "btTriangleShapeEx const&", 
    "~btTriangleShapeEx": __ZN17btTriangleShapeExD0Ev, 
    "~btTriangleShapeEx_1": __ZN17btTriangleShapeExD1Ev, 
    "~btTriangleShapeEx_1__params": "", 
    "~btTriangleShapeEx__params": ""
  }, 
  "btTypedConstraint": {
    "__new__": function() { var ret = _malloc(_struct_btTypedConstraint___SIZE); Module._.btTypedConstraint.btTypedConstraint.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btTypedConstraint___SIZE); Module._.btTypedConstraint.btTypedConstraint_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__2": function() { var ret = _malloc(_struct_btTypedConstraint___SIZE); Module._.btTypedConstraint.btTypedConstraint_2.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__3": function() { var ret = _malloc(_struct_btTypedConstraint___SIZE); Module._.btTypedConstraint.btTypedConstraint_3.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btTypedConstraint": __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBodyS2_, 
    "btTypedConstraint_1": __ZN17btTypedConstraintC1E21btTypedConstraintTypeR11btRigidBodyS2_, 
    "btTypedConstraint_1__params": "btTypedConstraintType, btRigidBody&, btRigidBody&", 
    "btTypedConstraint_2": __ZN17btTypedConstraintC2E21btTypedConstraintTypeR11btRigidBody, 
    "btTypedConstraint_2__params": "btTypedConstraintType, btRigidBody&", 
    "btTypedConstraint_3": __ZN17btTypedConstraintC1E21btTypedConstraintTypeR11btRigidBody, 
    "btTypedConstraint_3__params": "btTypedConstraintType, btRigidBody&", 
    "btTypedConstraint__params": "btTypedConstraintType, btRigidBody&, btRigidBody&", 
    "buildJacobian": __ZN17btTypedConstraint13buildJacobianEv, 
    "buildJacobian__params": "", 
    "calculateSerializeBufferSize": __ZNK17btTypedConstraint28calculateSerializeBufferSizeEv, 
    "calculateSerializeBufferSize__params": "", 
    "getFixedBody": __ZN17btTypedConstraint12getFixedBodyEv, 
    "getFixedBody__params": "", 
    "getMotorFactor": __ZN17btTypedConstraint14getMotorFactorEfffff, 
    "getMotorFactor__params": "float, float, float, float, float", 
    "serialize": __ZNK17btTypedConstraint9serializeEPvP12btSerializer, 
    "serialize__params": "void*, btSerializer*", 
    "setupSolverConstraint": __ZN17btTypedConstraint21setupSolverConstraintER20btAlignedObjectArrayI18btSolverConstraintEiif, 
    "setupSolverConstraint__params": "btAlignedObjectArray<btSolverConstraint>&, int, int, float", 
    "solveConstraintObsolete": __ZN17btTypedConstraint23solveConstraintObsoleteER11btRigidBodyS1_f, 
    "solveConstraintObsolete__params": "btRigidBody&, btRigidBody&, float", 
    "~btTypedConstraint": __ZN17btTypedConstraintD0Ev, 
    "~btTypedConstraint_1": __ZN17btTypedConstraintD1Ev, 
    "~btTypedConstraint_1__params": "", 
    "~btTypedConstraint__params": ""
  }, 
  "btUniformScalingShape": {
    "__new__": function() { var ret = _malloc(_struct_btUniformScalingShape___SIZE); Module._.btUniformScalingShape.btUniformScalingShape.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btUniformScalingShape___SIZE); Module._.btUniformScalingShape.btUniformScalingShape_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin": __ZNK21btUniformScalingShape49batchedUnitVectorGetSupportingVertexWithoutMarginEPK9btVector3PS0_i, 
    "batchedUnitVectorGetSupportingVertexWithoutMargin__params": "btVector3 const*, btVector3*, int", 
    "btUniformScalingShape": __ZN21btUniformScalingShapeC2EP13btConvexShapef, 
    "btUniformScalingShape_1": __ZN21btUniformScalingShapeC1EP13btConvexShapef, 
    "btUniformScalingShape_1__params": "btConvexShape*, float", 
    "btUniformScalingShape__params": "btConvexShape*, float", 
    "calculateLocalInertia": __ZNK21btUniformScalingShape21calculateLocalInertiaEfR9btVector3, 
    "calculateLocalInertia__params": "float, btVector3&", 
    "getAabb": __ZNK21btUniformScalingShape7getAabbERK11btTransformR9btVector3S4_, 
    "getAabbSlow": __ZNK21btUniformScalingShape11getAabbSlowERK11btTransformR9btVector3S4_, 
    "getAabbSlow__params": "btTransform const&, btVector3&, btVector3&", 
    "getAabb__params": "btTransform const&, btVector3&, btVector3&", 
    "getLocalScaling": __ZNK21btUniformScalingShape15getLocalScalingEv, 
    "getLocalScaling__params": "", 
    "getMargin": __ZNK21btUniformScalingShape9getMarginEv, 
    "getMargin__params": "", 
    "getName": __ZNK21btUniformScalingShape7getNameEv, 
    "getName__params": "", 
    "getNumPreferredPenetrationDirections": __ZNK21btUniformScalingShape36getNumPreferredPenetrationDirectionsEv, 
    "getNumPreferredPenetrationDirections__params": "", 
    "getPreferredPenetrationDirection": __ZNK21btUniformScalingShape32getPreferredPenetrationDirectionEiR9btVector3, 
    "getPreferredPenetrationDirection__params": "int, btVector3&", 
    "localGetSupportingVertex": __ZNK21btUniformScalingShape24localGetSupportingVertexERK9btVector3, 
    "localGetSupportingVertexWithoutMargin": __ZNK21btUniformScalingShape37localGetSupportingVertexWithoutMarginERK9btVector3, 
    "localGetSupportingVertexWithoutMargin__params": "btVector3 const&", 
    "localGetSupportingVertex__params": "btVector3 const&", 
    "setLocalScaling": __ZN21btUniformScalingShape15setLocalScalingERK9btVector3, 
    "setLocalScaling__params": "btVector3 const&", 
    "setMargin": __ZN21btUniformScalingShape9setMarginEf, 
    "setMargin__params": "float", 
    "~btUniformScalingShape": __ZN21btUniformScalingShapeD0Ev, 
    "~btUniformScalingShape_1": __ZN21btUniformScalingShapeD1Ev, 
    "~btUniformScalingShape_1__params": "", 
    "~btUniformScalingShape_2": __ZN21btUniformScalingShapeD2Ev, 
    "~btUniformScalingShape_2__params": "", 
    "~btUniformScalingShape__params": ""
  }, 
  "btUnionFind": {
    "Free": __ZN11btUnionFind4FreeEv, 
    "Free__params": "", 
    "__new__": function() { var ret = _malloc(_struct_btUnionFind___SIZE); Module._.btUnionFind.btUnionFind.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btUnionFind___SIZE); Module._.btUnionFind.btUnionFind_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "allocate": __ZN11btUnionFind8allocateEi, 
    "allocate__params": "int", 
    "btUnionFind": __ZN11btUnionFindC1Ev, 
    "btUnionFind_1": __ZN11btUnionFindC2Ev, 
    "btUnionFind_1__params": "", 
    "btUnionFind__params": "", 
    "reset": __ZN11btUnionFind5resetEi, 
    "reset__params": "int", 
    "sortIslands": __ZN11btUnionFind11sortIslandsEv, 
    "sortIslands__params": "", 
    "~btUnionFind": __ZN11btUnionFindD2Ev, 
    "~btUnionFind_1": __ZN11btUnionFindD1Ev, 
    "~btUnionFind_1__params": "", 
    "~btUnionFind__params": ""
  }, 
  "btUniversalConstraint": {
    "__new__": function() { var ret = _malloc(_struct_btUniversalConstraint___SIZE); Module._.btUniversalConstraint.btUniversalConstraint.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btUniversalConstraint___SIZE); Module._.btUniversalConstraint.btUniversalConstraint_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btUniversalConstraint": __ZN21btUniversalConstraintC1ER11btRigidBodyS1_R9btVector3S3_S3_, 
    "btUniversalConstraint_1": __ZN21btUniversalConstraintC2ER11btRigidBodyS1_R9btVector3S3_S3_, 
    "btUniversalConstraint_1__params": "btRigidBody&, btRigidBody&, btVector3&, btVector3&, btVector3&", 
    "btUniversalConstraint__params": "btRigidBody&, btRigidBody&, btVector3&, btVector3&, btVector3&", 
    "~btUniversalConstraint": __ZN21btUniversalConstraintD0Ev, 
    "~btUniversalConstraint_1": __ZN21btUniversalConstraintD1Ev, 
    "~btUniversalConstraint_1__params": "", 
    "~btUniversalConstraint__params": ""
  }, 
  "btVector3": {
    "__new__": function() { var ret = _malloc(_struct_btVector3___SIZE); Module._.btVector3.btVector3.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "__new__1": function() { var ret = _malloc(_struct_btVector3___SIZE); Module._.btVector3.btVector3_1.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btVector3": __ZN9btVector3C1Ev, 
    "btVector3_1": __ZN9btVector3C1ERKfS1_S1_, 
    "btVector3_1__params": "float const&, float const&, float const&", 
    "btVector3__params": "", 
    "dot": __ZNK9btVector33dotERKS_, 
    "dot__params": "btVector3 const&", 
    "getX": __ZNK9btVector34getXEv, 
    "getX__params": "", 
    "getY": __ZNK9btVector34getYEv, 
    "getY__params": "", 
    "getZ": __ZNK9btVector34getZEv, 
    "getZ__params": "", 
    "setValue": __ZN9btVector38setValueERKfS1_S1_, 
    "setValue__params": "float const&, float const&, float const&", 
    "setX": __ZN9btVector34setXEf, 
    "setX__params": "float", 
    "x": __ZNK9btVector31xEv, 
    "x__params": "", 
    "y": __ZNK9btVector31yEv, 
    "y__params": "", 
    "z": __ZNK9btVector31zEv, 
    "z__params": ""
  }, 
  "btVoronoiSimplexSolver": {
    "addVertex": __ZN22btVoronoiSimplexSolver9addVertexERK9btVector3S2_S2_, 
    "addVertex__params": "btVector3 const&, btVector3 const&, btVector3 const&", 
    "backup_closest": __ZN22btVoronoiSimplexSolver14backup_closestER9btVector3, 
    "backup_closest__params": "btVector3&", 
    "closest": __ZN22btVoronoiSimplexSolver7closestER9btVector3, 
    "closestPtPointTetrahedron": __ZN22btVoronoiSimplexSolver25closestPtPointTetrahedronERK9btVector3S2_S2_S2_S2_R25btSubSimplexClosestResult, 
    "closestPtPointTetrahedron__params": "btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&, btSubSimplexClosestResult&", 
    "closestPtPointTriangle": __ZN22btVoronoiSimplexSolver22closestPtPointTriangleERK9btVector3S2_S2_S2_R25btSubSimplexClosestResult, 
    "closestPtPointTriangle__params": "btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&, btSubSimplexClosestResult&", 
    "closest__params": "btVector3&", 
    "compute_points": __ZN22btVoronoiSimplexSolver14compute_pointsER9btVector3S1_, 
    "compute_points__params": "btVector3&, btVector3&", 
    "emptySimplex": __ZNK22btVoronoiSimplexSolver12emptySimplexEv, 
    "emptySimplex__params": "", 
    "getSimplex": __ZNK22btVoronoiSimplexSolver10getSimplexEP9btVector3S1_S1_, 
    "getSimplex__params": "btVector3*, btVector3*, btVector3*", 
    "inSimplex": __ZN22btVoronoiSimplexSolver9inSimplexERK9btVector3, 
    "inSimplex__params": "btVector3 const&", 
    "maxVertex": __ZN22btVoronoiSimplexSolver9maxVertexEv, 
    "maxVertex__params": "", 
    "pointOutsideOfPlane": __ZN22btVoronoiSimplexSolver19pointOutsideOfPlaneERK9btVector3S2_S2_S2_S2_, 
    "pointOutsideOfPlane__params": "btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&", 
    "reduceVertices": __ZN22btVoronoiSimplexSolver14reduceVerticesERK15btUsageBitfield, 
    "reduceVertices__params": "btUsageBitfield const&", 
    "removeVertex": __ZN22btVoronoiSimplexSolver12removeVertexEi, 
    "removeVertex__params": "int", 
    "reset": __ZN22btVoronoiSimplexSolver5resetEv, 
    "reset__params": "", 
    "updateClosestVectorAndPoints": __ZN22btVoronoiSimplexSolver28updateClosestVectorAndPointsEv, 
    "updateClosestVectorAndPoints__params": ""
  }, 
  "btWheelContactPoint": {
    "__new__": function() { var ret = _malloc(_struct_btWheelContactPoint___SIZE); Module._.btWheelContactPoint.btWheelContactPoint.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btWheelContactPoint": __ZN19btWheelContactPointC1EP11btRigidBodyS1_RK9btVector3S4_f, 
    "btWheelContactPoint__params": "btRigidBody*, btRigidBody*, btVector3 const&, btVector3 const&, float"
  }, 
  "btWheelInfo": {
    "__new__": function() { var ret = _malloc(_struct_btWheelInfo___SIZE); Module._.btWheelInfo.btWheelInfo.apply(null, [ret].concat(Array.prototype.slice.apply(arguments))); return ret; }, 
    "btWheelInfo": __ZN11btWheelInfoC1ERKS_, 
    "btWheelInfo__params": "btWheelInfo const&", 
    "getSuspensionRestLength": __ZNK11btWheelInfo23getSuspensionRestLengthEv, 
    "getSuspensionRestLength__params": "", 
    "updateWheel": __ZN11btWheelInfo11updateWheelERK11btRigidBodyRNS_11RaycastInfoE, 
    "updateWheel__params": "btRigidBody const&, btWheelInfo::RaycastInfo&"
  }, 
  "bt_plane_clip_polygon": __Z21bt_plane_clip_polygonRK9btVector4PK9btVector3iPS2_, 
  "bt_plane_clip_polygon__params": "btVector4 const&, btVector3 const*, int, btVector3*", 
  "bt_plane_clip_triangle": __Z22bt_plane_clip_triangleRK9btVector4RK9btVector3S4_S4_PS2_, 
  "bt_plane_clip_triangle__params": "btVector4 const&, btVector3 const&, btVector3 const&, btVector3 const&, btVector3*", 
  "calcRollingFriction": __Z19calcRollingFrictionR19btWheelContactPoint, 
  "calcRollingFriction__params": "btWheelContactPoint&", 
  "cullPoints2": __Z11cullPoints2iPfiiPi, 
  "cullPoints2__params": "int, float*, int, int, int*", 
  "dBoxBox2": __Z8dBoxBox2RK9btVector3PKfS1_S1_S3_S1_RS_PfPiiP12dContactGeomiRN36btDiscreteCollisionDetectorInterface6ResultE, 
  "dBoxBox2__params": "btVector3 const&, float const*, btVector3 const&, btVector3 const&, float const*, btVector3 const&, btVector3&, float*, int*, int, dContactGeom*, int, btDiscreteCollisionDetectorInterface::Result&", 
  "dLineClosestApproach": __Z20dLineClosestApproachRK9btVector3S1_S1_S1_PfS2_, 
  "dLineClosestApproach__params": "btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&, float*, float*", 
  "delete": __ZN13btConvexShapedlEPv, 
  "delete_1": __ZN13btSphereShapedlEPv, 
  "delete_1__params": "void*", 
  "delete_2": __ZN17btCollisionObjectdlEPv, 
  "delete_2__params": "void*", 
  "delete__params": "void*", 
  "fetchleaves": __ZL11fetchleavesP6btDbvtP10btDbvtNodeR20btAlignedObjectArrayIS2_Ei, 
  "fetchleaves__params": "btDbvt*, btDbvtNode*, btAlignedObjectArray<btDbvtNode*>&, int", 
  "getmaxdepth": __ZL11getmaxdepthPK10btDbvtNodeiRi, 
  "getmaxdepth__params": "btDbvtNode const*, int, int&", 
  "gim_alloc": __Z9gim_allocj, 
  "gim_alloc__params": "unsigned int", 
  "gim_alloca": __Z10gim_allocaj, 
  "gim_alloca__params": "unsigned int", 
  "gim_array<GIM_BOX_TREE_NODE>": {
    "resize": __ZN9gim_arrayI17GIM_BOX_TREE_NODEE6resizeEjb, 
    "resize__params": "unsigned int, bool"
  }, 
  "gim_contact_array": {
    "merge_contacts": __ZN17gim_contact_array14merge_contactsERKS_b, 
    "merge_contacts__params": "gim_contact_array const&, bool", 
    "merge_contacts_unique": __ZN17gim_contact_array21merge_contacts_uniqueERKS_, 
    "merge_contacts_unique__params": "gim_contact_array const&"
  }, 
  "gim_free": __Z8gim_freePv, 
  "gim_free__params": "void*", 
  "gim_get_alloc_handler": __Z21gim_get_alloc_handlerv, 
  "gim_get_alloc_handler__params": "", 
  "gim_get_alloca_handler": __Z22gim_get_alloca_handlerv, 
  "gim_get_alloca_handler__params": "", 
  "gim_get_free_handler": __Z20gim_get_free_handlerv, 
  "gim_get_free_handler__params": "", 
  "gim_get_realloc_handler": __Z23gim_get_realloc_handlerv, 
  "gim_get_realloc_handler__params": "", 
  "gim_realloc": __Z11gim_reallocPvjj, 
  "gim_realloc__params": "void*, unsigned int, unsigned int", 
  "gim_set_alloc_handler": __Z21gim_set_alloc_handlerPFPvjE, 
  "gim_set_alloc_handler__params": "void* (*)(unsigned int)", 
  "gim_set_alloca_handler": __Z22gim_set_alloca_handlerPFPvjE, 
  "gim_set_alloca_handler__params": "void* (*)(unsigned int)", 
  "gim_set_free_handler": __Z20gim_set_free_handlerPFvPvE, 
  "gim_set_free_handler__params": "void (*)(void*)", 
  "gim_set_realloc_handler": __Z23gim_set_realloc_handlerPFPvS_jjE, 
  "gim_set_realloc_handler__params": "void* (*)(void*, unsigned int, unsigned int)", 
  "gjkepa2_impl": {
    "EPA": {
      "Evaluate": __ZN12gjkepa2_impl3EPA8EvaluateERNS_3GJKERK9btVector3, 
      "Evaluate__params": "gjkepa2_impl::GJK&, btVector3 const&", 
      "expand": __ZN12gjkepa2_impl3EPA6expandEjPNS_3GJK3sSVEPNS0_5sFaceEjRNS0_8sHorizonE, 
      "expand__params": "unsigned int, gjkepa2_impl::GJK::sSV*, gjkepa2_impl::EPA::sFace*, unsigned int, gjkepa2_impl::EPA::sHorizon&"
    }, 
    "GJK": {
      "EncloseOrigin": __ZN12gjkepa2_impl3GJK13EncloseOriginEv, 
      "EncloseOrigin__params": "", 
      "Evaluate": __ZN12gjkepa2_impl3GJK8EvaluateERKNS_13MinkowskiDiffERK9btVector3, 
      "Evaluate__params": "gjkepa2_impl::MinkowskiDiff const&, btVector3 const&", 
      "getsupport": __ZNK12gjkepa2_impl3GJK10getsupportERK9btVector3RNS0_3sSVE, 
      "getsupport__params": "btVector3 const&, gjkepa2_impl::GJK::sSV&", 
      "projectorigin": __ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_PfRj, 
      "projectorigin_1": __ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_PfRj, 
      "projectorigin_1__params": "btVector3 const&, btVector3 const&, btVector3 const&, float*, unsigned int&", 
      "projectorigin_2": __ZN12gjkepa2_impl3GJK13projectoriginERK9btVector3S3_S3_S3_PfRj, 
      "projectorigin_2__params": "btVector3 const&, btVector3 const&, btVector3 const&, btVector3 const&, float*, unsigned int&", 
      "projectorigin__params": "btVector3 const&, btVector3 const&, float*, unsigned int&"
    }, 
    "Initialize": __ZN12gjkepa2_implL10InitializeEPK13btConvexShapeRK11btTransformS2_S5_RN15btGjkEpaSolver28sResultsERNS_13MinkowskiDiffEb, 
    "Initialize__params": "btConvexShape const*, btTransform const&, btConvexShape const*, btTransform const&, btGjkEpaSolver2::sResults&, gjkepa2_impl::MinkowskiDiff&, bool", 
    "MinkowskiDiff": {
      "Support1": __ZNK12gjkepa2_impl13MinkowskiDiff8Support1ERK9btVector3, 
      "Support1__params": "btVector3 const&"
    }
  }, 
  "hasedge": __Z7hasedgeRK4int3ii, 
  "hasedge__params": "int3 const&, int, int", 
  "hasvert": __Z7hasvertRK4int3i, 
  "hasvert__params": "int3 const&, int", 
  "insertleaf": __ZL10insertleafP6btDbvtP10btDbvtNodeS2_, 
  "insertleaf__params": "btDbvt*, btDbvtNode*, btDbvtNode*", 
  "int PLANE_CLIP_POLYGON_GENERIC<btVector3, btVector4, DISTANCE_PLANE_3D_FUNC>": __Z26PLANE_CLIP_POLYGON_GENERICI9btVector39btVector422DISTANCE_PLANE_3D_FUNCEjRKT0_PKT_jPS6_T1_, 
  "int PLANE_CLIP_POLYGON_GENERIC<btVector3, btVector4, DISTANCE_PLANE_3D_FUNC>__params": "btVector4 const&, btVector3 const*, unsigned int, btVector3*, DISTANCE_PLANE_3D_FUNC", 
  "int PLANE_CLIP_TRIANGLE_GENERIC<btVector3, btVector4, DISTANCE_PLANE_3D_FUNC>": __Z27PLANE_CLIP_TRIANGLE_GENERICI9btVector39btVector422DISTANCE_PLANE_3D_FUNCEjRKT0_RKT_S8_S8_PS6_T1_, 
  "int PLANE_CLIP_TRIANGLE_GENERIC<btVector3, btVector4, DISTANCE_PLANE_3D_FUNC>__params": "btVector4 const&, btVector3 const&, btVector3 const&, btVector3 const&, btVector3*, DISTANCE_PLANE_3D_FUNC", 
  "matrixToEulerXYZ": __Z16matrixToEulerXYZRK11btMatrix3x3R9btVector3, 
  "matrixToEulerXYZ__params": "btMatrix3x3 const&, btVector3&", 
  "maxdirsterid<btVector3>": __Z12maxdirsteridI9btVector3EiPKT_iRS2_R20btAlignedObjectArrayIiE, 
  "maxdirsterid<btVector3>__params": "btVector3 const*, int, btVector3 const&, btAlignedObjectArray<int>&", 
  "new": __ZnwjPv, 
  "new_1": __ZN13btConvexShapenwEj, 
  "new_1__params": "unsigned int", 
  "new_2": __ZN13btSphereShapenwEj, 
  "new_2__params": "unsigned int", 
  "new_3": __ZN17btCollisionObjectnwEj, 
  "new_3__params": "unsigned int", 
  "new__params": "unsigned int, void*", 
  "notExist": __Z8notExistRK9btVector3RK20btAlignedObjectArrayIS_E, 
  "notExist__params": "btVector3 const&, btAlignedObjectArray<btVector3> const&", 
  "operator*": __ZmlRK9btVector3S1_, 
  "operator*_1": __ZmlRK11btMatrix3x3RK9btVector3, 
  "operator*_1__params": "btMatrix3x3 const&, btVector3 const&", 
  "operator*_2": __ZmlRK11btMatrix3x3S1_, 
  "operator*_2__params": "btMatrix3x3 const&, btMatrix3x3 const&", 
  "operator*__params": "btVector3 const&, btVector3 const&", 
  "operator-": __ZmiRK9btVector3S1_, 
  "operator-_1": __ZngRK9btVector3, 
  "operator-_1__params": "btVector3 const&", 
  "operator-__params": "btVector3 const&, btVector3 const&", 
  "operator==": __ZeqRK4int3S1_, 
  "operator==__params": "int3 const&, int3 const&", 
  "orth": __Z4orthRK9btVector3, 
  "orth__params": "btVector3 const&", 
  "recursedeletenode": __ZL17recursedeletenodeP6btDbvtP10btDbvtNode, 
  "recursedeletenode__params": "btDbvt*, btDbvtNode*", 
  "removeleaf": __ZL10removeleafP6btDbvtP10btDbvtNode, 
  "removeleaf__params": "btDbvt*, btDbvtNode*", 
  "resolveSingleBilateral": __Z22resolveSingleBilateralR11btRigidBodyRK9btVector3S0_S3_fS3_Rff, 
  "resolveSingleBilateral__params": "btRigidBody&, btVector3 const&, btRigidBody&, btVector3 const&, float, btVector3 const&, float&, float", 
  "shareedge": __Z9shareedgeRK4int3S1_, 
  "shareedge__params": "int3 const&, int3 const&", 
  "thunk to DebugDrawcallback": {
    "internalProcessTriangleIndex": __ZThn4_N17DebugDrawcallback28internalProcessTriangleIndexEP9btVector3ii, 
    "internalProcessTriangleIndex__params": "btVector3*, int, int", 
    "~DebugDrawcallback": __ZThn4_N17DebugDrawcallbackD1Ev, 
    "~DebugDrawcallback_1": __ZThn4_N17DebugDrawcallbackD0Ev, 
    "~DebugDrawcallback_1__params": "", 
    "~DebugDrawcallback__params": ""
  }, 
  "topdown": __ZL7topdownP6btDbvtR20btAlignedObjectArrayIP10btDbvtNodeEi, 
  "topdown__params": "btDbvt*, btAlignedObjectArray<btDbvtNode*>&, int"
};


// Additional Demo Stuff $

  var _zz_collisionConfiguration;
  var _zz_dynamicsWorld;
  var _zz_dispatcher;
  var _zz_overlappingPairCache;
  var _zz_solver;

    var _zz_solver = Pointer_make([0], 0, ALLOC_STATIC);
    var _zz_overlappingPairCache = Pointer_make([0], 0, ALLOC_STATIC);
    var _zz_dispatcher = Pointer_make([0], 0, ALLOC_STATIC);
    var _zz_dynamicsWorld = Pointer_make([0], 0, ALLOC_STATIC);
    var _zz_collisionConfiguration = Pointer_make([0], 0, ALLOC_STATIC);

  function __Z11zz_simulatef(_diff) {
    var __stackBase__  = STACKTOP; STACKTOP += 1; assert(STACKTOP < STACK_MAX);
    var __label__;
    __label__ = -1; /* _entry */
    while(1) switch(__label__) {
      case -1: // _entry
        var _diff_addr = __stackBase__;
        var __alloca_point_ = 0;
        FHEAP[_diff_addr] = _diff;
        var _0 = IHEAP[_zz_dynamicsWorld];
        var _1 = IHEAP[_zz_dynamicsWorld];
        var _2 = _1;
        var _3 = _2;
        var _4 = _3;
        var _5 = IHEAP[_4];
        var _6 = _5+48;
        var _7 = IHEAP[_6];
        var _8 = IHEAP[_zz_dynamicsWorld];
        var _9 = _7;
        var _10 = FHEAP[_diff_addr];
        var _11 = FUNCTION_TABLE[_9](_8, _10, 1, 0.01666666753590107);
        __label__ = 0; /* _return */ break;
      case 0: // _return
        STACKTOP = __stackBase__;
        return;
      default: assert(0, "bad label: " + __label__);
    }
  }
  __Z11zz_simulatef.__index__ = Runtime.getFunctionIndex(__Z11zz_simulatef, "__Z11zz_simulatef");

  function __Z10zz_preparev() {
    var __stackBase__  = STACKTOP; STACKTOP += 613; assert(STACKTOP < STACK_MAX);
    var __label__;
    __label__ = -1; /* _entry */
    while(1) switch(__label__) {
      case -1: // _entry
        var _save_filt_649 = __stackBase__;
        var _save_eptr_648 = __stackBase__+1;
        var _save_filt_647 = __stackBase__+2;
        var _save_eptr_646 = __stackBase__+3;
        var _save_filt_645 = __stackBase__+4;
        var _save_eptr_644 = __stackBase__+5;
        var _save_filt_643 = __stackBase__+6;
        var _save_eptr_642 = __stackBase__+7;
        var _save_filt_641 = __stackBase__+8;
        var _save_eptr_640 = __stackBase__+9;
        var _save_filt_639 = __stackBase__+10;
        var _save_eptr_638 = __stackBase__+11;
        var _save_filt_637 = __stackBase__+12;
        var _save_eptr_636 = __stackBase__+13;
        var _save_filt_635 = __stackBase__+14;
        var _save_eptr_634 = __stackBase__+15;
        var _save_filt_633 = __stackBase__+16;
        var _save_eptr_632 = __stackBase__+17;
        var _0 = __stackBase__+18;
        var _1 = __stackBase__+19;
        var _2 = __stackBase__+20;
        var _3 = __stackBase__+21;
        var _4 = __stackBase__+22;
        var _5 = __stackBase__+23;
        var _6 = __stackBase__+24;
        var _7 = __stackBase__+40;
        var _8 = __stackBase__+41;
        var _9 = __stackBase__+42;
        var _10 = __stackBase__+43;
        var _11 = __stackBase__+44;
        var _12 = __stackBase__+45;
        var _13 = __stackBase__+46;
        var _14 = __stackBase__+47;
        var _15 = __stackBase__+63;
        var _16 = __stackBase__+64;
        var _17 = __stackBase__+65;
        var _18 = __stackBase__+66;
        var _19 = __stackBase__+67;
        var _20 = __stackBase__+68;
        var _21 = __stackBase__+69;
        var _22 = __stackBase__+70;
        var _23 = __stackBase__+71;
        var _24 = __stackBase__+72;
        var _25 = __stackBase__+73;
        var _26 = __stackBase__+89;
        var _27 = __stackBase__+90;
        var _28 = __stackBase__+91;
        var _29 = __stackBase__+92;
        var _30 = __stackBase__+93;
        var _31 = __stackBase__+109;
        var _32 = __stackBase__+110;
        var _33 = __stackBase__+111;
        var _34 = __stackBase__+112;
        var _35 = __stackBase__+113;
        var _36 = __stackBase__+129;
        var _37 = __stackBase__+130;
        var _38 = __stackBase__+131;
        var _39 = __stackBase__+132;
        var _40 = __stackBase__+133;
        var _41 = __stackBase__+134;
        var _42 = __stackBase__+166;
        var _i = __stackBase__+167;
        var _groundShape = __stackBase__+168;
        var _groundTransform = __stackBase__+169;
        var _eh_exception = __stackBase__+233;
        var _eh_selector = __stackBase__+234;
        var _mass = __stackBase__+235;
        var _isDynamic = __stackBase__+236;
        var _localInertia = __stackBase__+237;
        var _myMotionState = __stackBase__+253;
        var _rbInfo = __stackBase__+254;
        var _body = __stackBase__+390;
        var _i29 = __stackBase__+391;
        var _colShape = __stackBase__+392;
        var _startTransform = __stackBase__+393;
        var _mass36 = __stackBase__+457;
        var _isDynamic37 = __stackBase__+458;
        var _localInertia38 = __stackBase__+459;
        var _myMotionState39 = __stackBase__+475;
        var _rbInfo40 = __stackBase__+476;
        var _body41 = __stackBase__+612;
        var __alloca_point_ = 0;
        __ZN34btDefaultCollisionConstructionInfoC1Ev(_41);
        IHEAP[_42] = _41;
        var _43 = __Znwj(88);
        var _44 = _43;
        IHEAP[_40] = _44;
        var _45 = IHEAP[_40];
        var _46 = IHEAP[_42];
        (function() { try { __THREW__ = false; return __ZN31btDefaultCollisionConfigurationC1ERK34btDefaultCollisionConstructionInfo(_45, _46) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 63; /* _invcont */ break; } else { __label__ = 70; /* _lpad */ break; }
      case 63: // _invcont
        var _47 = IHEAP[_40];
        IHEAP[_zz_collisionConfiguration] = _47;
        var _48 = __Znwj(5388);
        var _49 = _48;
        IHEAP[_39] = _49;
        var _50 = IHEAP[_zz_collisionConfiguration];
        var _51 = _50;
        var _52 = IHEAP[_39];
        (function() { try { __THREW__ = false; return __ZN21btCollisionDispatcherC1EP24btCollisionConfiguration(_52, _51) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 65; /* _invcont1 */ break; } else { __label__ = 75; /* _lpad61 */ break; }
      case 65: // _invcont1
        __label__ = 3; /* _bb2 */ break;
      case 2: // _bb
        var _eh_select = IHEAP[_eh_selector];
        IHEAP[_save_filt_633] = _eh_select;
        var _eh_value = IHEAP[_eh_exception];
        IHEAP[_save_eptr_632] = _eh_value;
        var _53 = IHEAP[_40];
        var _54 = _53;
        __ZdlPv(_54);
        var _55 = IHEAP[_save_eptr_632];
        IHEAP[_eh_exception] = _55;
        var _56 = IHEAP[_save_filt_633];
        IHEAP[_eh_selector] = _56;
        __label__ = 36; /* _Unwind */ break;
      case 3: // _bb2
        var _57 = IHEAP[_39];
        IHEAP[_zz_dispatcher] = _57;
        var _58 = __Znwj(156);
        var _59 = _58;
        IHEAP[_38] = _59;
        var _60 = IHEAP[_38];
        (function() { try { __THREW__ = false; return __ZN16btDbvtBroadphaseC1EP22btOverlappingPairCache(_60, 0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 76; /* _invcont3 */ break; } else { __label__ = 77; /* _lpad65 */ break; }
      case 76: // _invcont3
        __label__ = 5; /* _bb7 */ break;
      case 7: // _bb4
        var _eh_select5 = IHEAP[_eh_selector];
        IHEAP[_save_filt_635] = _eh_select5;
        var _eh_value6 = IHEAP[_eh_exception];
        IHEAP[_save_eptr_634] = _eh_value6;
        var _61 = IHEAP[_39];
        var _62 = _61;
        __ZdlPv(_62);
        var _63 = IHEAP[_save_eptr_634];
        IHEAP[_eh_exception] = _63;
        var _64 = IHEAP[_save_filt_635];
        IHEAP[_eh_selector] = _64;
        __label__ = 36; /* _Unwind */ break;
      case 5: // _bb7
        var _65 = IHEAP[_38];
        var _66 = _65;
        IHEAP[_zz_overlappingPairCache] = _66;
        var _67 = __Znwj(128);
        var _68 = _67;
        IHEAP[_37] = _68;
        var _69 = IHEAP[_37];
        (function() { try { __THREW__ = false; return __ZN35btSequentialImpulseConstraintSolverC1Ev(_69) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 78; /* _invcont8 */ break; } else { __label__ = 79; /* _lpad69 */ break; }
      case 78: // _invcont8
        __label__ = 42; /* _bb12 */ break;
      case 10: // _bb9
        var _eh_select10 = IHEAP[_eh_selector];
        IHEAP[_save_filt_637] = _eh_select10;
        var _eh_value11 = IHEAP[_eh_exception];
        IHEAP[_save_eptr_636] = _eh_value11;
        var _70 = IHEAP[_38];
        var _71 = _70;
        __ZdlPv(_71);
        var _72 = IHEAP[_save_eptr_636];
        IHEAP[_eh_exception] = _72;
        var _73 = IHEAP[_save_filt_637];
        IHEAP[_eh_selector] = _73;
        __label__ = 36; /* _Unwind */ break;
      case 42: // _bb12
        var _74 = IHEAP[_37];
        IHEAP[_zz_solver] = _74;
        var _75 = __Znwj(272);
        var _76 = _75;
        IHEAP[_36] = _76;
        var _77 = IHEAP[_zz_collisionConfiguration];
        var _78 = _77;
        var _79 = IHEAP[_zz_solver];
        var _80 = _79;
        var _81 = IHEAP[_zz_overlappingPairCache];
        var _82 = IHEAP[_zz_dispatcher];
        var _83 = _82;
        var _84 = IHEAP[_36];
        (function() { try { __THREW__ = false; return __ZN23btDiscreteDynamicsWorldC1EP12btDispatcherP21btBroadphaseInterfaceP18btConstraintSolverP24btCollisionConfiguration(_84, _83, _81, _80, _78) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 80; /* _invcont13 */ break; } else { __label__ = 81; /* _lpad73 */ break; }
      case 80: // _invcont13
        __label__ = 15; /* _bb17 */ break;
      case 41: // _bb14
        var _eh_select15 = IHEAP[_eh_selector];
        IHEAP[_save_filt_639] = _eh_select15;
        var _eh_value16 = IHEAP[_eh_exception];
        IHEAP[_save_eptr_638] = _eh_value16;
        var _85 = IHEAP[_37];
        var _86 = _85;
        __ZdlPv(_86);
        var _87 = IHEAP[_save_eptr_638];
        IHEAP[_eh_exception] = _87;
        var _88 = IHEAP[_save_filt_639];
        IHEAP[_eh_selector] = _88;
        __label__ = 36; /* _Unwind */ break;
      case 15: // _bb17
        var _89 = IHEAP[_36];
        IHEAP[_zz_dynamicsWorld] = _89;
        var _90 = IHEAP[_zz_dynamicsWorld];
        var _91 = IHEAP[_zz_dynamicsWorld];
        var _92 = _91;
        var _93 = _92;
        var _94 = _93;
        var _95 = IHEAP[_94];
        var _96 = _95+68;
        var _97 = IHEAP[_96];
        FHEAP[_34] = 0;
        FHEAP[_33] = -10;
        FHEAP[_32] = 0;
        __ZN9btVector3C1ERKfS1_S1_(_35, _32, _33, _34);
        var _98 = IHEAP[_zz_dynamicsWorld];
        var _99 = _97;
        FUNCTION_TABLE[_99](_98, _35);
        FHEAP[_29] = 0;
        FHEAP[_28] = 1;
        FHEAP[_27] = 0;
        __ZN9btVector3C1ERKfS1_S1_(_30, _27, _28, _29);
        IHEAP[_31] = _30;
        var _100 = __Znwj(84);
        var _101 = _100;
        IHEAP[_26] = _101;
        var _102 = IHEAP[_26];
        var _103 = IHEAP[_31];
        (function() { try { __THREW__ = false; return __ZN18btStaticPlaneShapeC1ERK9btVector3f(_102, _103, 0) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 82; /* _invcont18 */ break; } else { __label__ = 83; /* _lpad77 */ break; }
      case 82: // _invcont18
        __label__ = 18; /* _bb22 */ break;
      case 16: // _bb19
        var _eh_select20 = IHEAP[_eh_selector];
        IHEAP[_save_filt_641] = _eh_select20;
        var _eh_value21 = IHEAP[_eh_exception];
        IHEAP[_save_eptr_640] = _eh_value21;
        var _104 = IHEAP[_36];
        var _105 = _104;
        __ZdlPv(_105);
        var _106 = IHEAP[_save_eptr_640];
        IHEAP[_eh_exception] = _106;
        var _107 = IHEAP[_save_filt_641];
        IHEAP[_eh_selector] = _107;
        __label__ = 36; /* _Unwind */ break;
      case 18: // _bb22
        var _108 = IHEAP[_26];
        var _109 = _108;
        IHEAP[_groundShape] = _109;
        __ZN11btTransformC1Ev(_groundTransform);
        __ZN11btTransform11setIdentityEv(_groundTransform);
        FHEAP[_24] = 0;
        FHEAP[_23] = -6;
        FHEAP[_22] = 0;
        __ZN9btVector3C1ERKfS1_S1_(_25, _22, _23, _24);
        __ZN11btTransform9setOriginERK9btVector3(_groundTransform, _25);
        FHEAP[_mass] = 0;
        var _110 = FHEAP[_mass];
        var _111 = _110 != 0;
        var _112 = _111;
        IHEAP[_isDynamic] = _112;
        FHEAP[_21] = 0;
        FHEAP[_20] = 0;
        FHEAP[_19] = 0;
        __ZN9btVector3C1ERKfS1_S1_(_localInertia, _19, _20, _21);
        var _113 = IHEAP[_isDynamic];
        var _toBool = _113 != 0;
        if (_toBool) { __label__ = 43; /* _bb26 */ break; } else { __label__ = 44; /* _bb27 */ break; }
      case 19: // _bb23
        var _eh_select24 = IHEAP[_eh_selector];
        IHEAP[_save_filt_643] = _eh_select24;
        var _eh_value25 = IHEAP[_eh_exception];
        IHEAP[_save_eptr_642] = _eh_value25;
        var _114 = IHEAP[_26];
        var _115 = _114;
        __ZdlPv(_115);
        var _116 = IHEAP[_save_eptr_642];
        IHEAP[_eh_exception] = _116;
        var _117 = IHEAP[_save_filt_643];
        IHEAP[_eh_selector] = _117;
        __label__ = 36; /* _Unwind */ break;
      case 43: // _bb26
        var _118 = IHEAP[_groundShape];
        var _119 = _118;
        var _120 = IHEAP[_119];
        var _121 = _120+32;
        var _122 = IHEAP[_121];
        var _123 = _122;
        var _124 = IHEAP[_groundShape];
        var _125 = FHEAP[_mass];
        FUNCTION_TABLE[_123](_124, _125, _localInertia);
        __label__ = 44; /* _bb27 */ break;
      case 44: // _bb27
        var _126 = __ZN11btTransform11getIdentityEv();
        IHEAP[_18] = _126;
        var _127 = __Znwj(200);
        var _128 = _127;
        IHEAP[_17] = _128;
        var _129 = IHEAP[_17];
        var _130 = IHEAP[_18];
        __ZN20btDefaultMotionStateC1ERK11btTransformS2_(_129, _groundTransform, _130);
        var _131 = IHEAP[_17];
        IHEAP[_myMotionState] = _131;
        var _132 = IHEAP[_myMotionState];
        var _133 = _132;
        var _134 = FHEAP[_mass];
        var _135 = IHEAP[_groundShape];
        __ZN11btRigidBody27btRigidBodyConstructionInfoC1EfP13btMotionStateP16btCollisionShapeRK9btVector3(_rbInfo, _134, _133, _135, _localInertia);
        var _136 = __ZN17btCollisionObjectnwEj(608);
        var _137 = _136;
        IHEAP[_16] = _137;
        var _138 = IHEAP[_16];
        (function() { try { __THREW__ = false; return __ZN11btRigidBodyC1ERKNS_27btRigidBodyConstructionInfoE(_138, _rbInfo) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 84; /* _invcont28 */ break; } else { __label__ = 85; /* _lpad81 */ break; }
      case 84: // _invcont28
        var _139 = IHEAP[_16];
        IHEAP[_body] = _139;
        var _140 = IHEAP[_zz_dynamicsWorld];
        var _141 = IHEAP[_zz_dynamicsWorld];
        var _142 = _141;
        var _143 = _142;
        var _144 = _143;
        var _145 = IHEAP[_144];
        var _146 = _145+80;
        var _147 = IHEAP[_146];
        var _148 = IHEAP[_zz_dynamicsWorld];
        var _149 = _147;
        var _150 = IHEAP[_body];
        FUNCTION_TABLE[_149](_148, _150);
        IHEAP[_i29] = 0;
        __label__ = 45; /* _bb57 */ break;
      case 23: // _bb30
        var _eh_select31 = IHEAP[_eh_selector];
        IHEAP[_save_filt_645] = _eh_select31;
        var _eh_value32 = IHEAP[_eh_exception];
        IHEAP[_save_eptr_644] = _eh_value32;
        var _151 = IHEAP[_16];
        var _152 = _151;
        (function() { try { __THREW__ = false; return __ZN17btCollisionObjectdlEPv(_152) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 86; /* _invcont33 */ break; } else { __label__ = 87; /* _lpad85 */ break; }
      case 86: // _invcont33
        var _153 = IHEAP[_save_eptr_644];
        IHEAP[_eh_exception] = _153;
        var _154 = IHEAP[_save_filt_645];
        IHEAP[_eh_selector] = _154;
        __label__ = 36; /* _Unwind */ break;
      case 25: // _bb34
        __ZSt9terminatev();
        // unreachable
      case 26: // _bb35
        FHEAP[_13] = 1;
        FHEAP[_12] = 1;
        FHEAP[_11] = 1;
        __ZN9btVector3C1ERKfS1_S1_(_14, _11, _12, _13);
        IHEAP[_15] = _14;
        var _155 = __ZN13btConvexShapenwEj(52);
        var _156 = _155;
        IHEAP[_10] = _156;
        var _157 = IHEAP[_10];
        var _158 = IHEAP[_15];
        (function() { try { __THREW__ = false; return __ZN10btBoxShapeC1ERK9btVector3(_157, _158) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 88; /* _invcont42 */ break; } else { __label__ = 89; /* _lpad89 */ break; }
      case 88: // _invcont42
        var _159 = IHEAP[_10];
        var _160 = _159;
        IHEAP[_colShape] = _160;
        __ZN11btTransformC1Ev(_startTransform);
        __ZN11btTransform11setIdentityEv(_startTransform);
        FHEAP[_mass36] = 1;
        var _161 = FHEAP[_mass36];
        var _162 = _161 != 0;
        var _163 = _162;
        IHEAP[_isDynamic37] = _163;
        FHEAP[_9] = 0;
        FHEAP[_8] = 0;
        FHEAP[_7] = 0;
        __ZN9btVector3C1ERKfS1_S1_(_localInertia38, _7, _8, _9);
        var _164 = IHEAP[_isDynamic37];
        var _toBool43 = _164 != 0;
        if (_toBool43) { __label__ = 46; /* _bb49 */ break; } else { __label__ = 47; /* _bb50 */ break; }
      case 30: // _bb44
        var _eh_select45 = IHEAP[_eh_selector];
        IHEAP[_save_filt_647] = _eh_select45;
        var _eh_value46 = IHEAP[_eh_exception];
        IHEAP[_save_eptr_646] = _eh_value46;
        var _165 = IHEAP[_10];
        var _166 = _165;
        (function() { try { __THREW__ = false; return __ZN13btConvexShapedlEPv(_166) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 90; /* _invcont47 */ break; } else { __label__ = 91; /* _lpad93 */ break; }
      case 90: // _invcont47
        var _167 = IHEAP[_save_eptr_646];
        IHEAP[_eh_exception] = _167;
        var _168 = IHEAP[_save_filt_647];
        IHEAP[_eh_selector] = _168;
        __label__ = 36; /* _Unwind */ break;
      case 60: // _bb48
        __ZSt9terminatev();
        // unreachable
      case 46: // _bb49
        var _169 = IHEAP[_colShape];
        var _170 = _169;
        var _171 = IHEAP[_170];
        var _172 = _171+32;
        var _173 = IHEAP[_172];
        var _174 = _173;
        var _175 = IHEAP[_colShape];
        var _176 = FHEAP[_mass36];
        FUNCTION_TABLE[_174](_175, _176, _localInertia38);
        __label__ = 47; /* _bb50 */ break;
      case 47: // _bb50
        FHEAP[_5] = 0;
        var _177 = IHEAP[_i29];
        var _178 = _177;
        var _179 = _178 * 2.1;
        var _180 = _179 + 4;
        var _181 = _180;
        FHEAP[_4] = _181;
        FHEAP[_3] = Math.random()/10;
        __ZN9btVector3C1ERKfS1_S1_(_6, _3, _4, _5);
        __ZN11btTransform9setOriginERK9btVector3(_startTransform, _6);
        var _182 = __ZN11btTransform11getIdentityEv();
        IHEAP[_2] = _182;
        var _183 = __Znwj(200);
        var _184 = _183;
        IHEAP[_1] = _184;
        var _185 = IHEAP[_1];
        var _186 = IHEAP[_2];
        __ZN20btDefaultMotionStateC1ERK11btTransformS2_(_185, _startTransform, _186);
        var _187 = IHEAP[_1];
        IHEAP[_myMotionState39] = _187;
        var _188 = IHEAP[_myMotionState39];
        var _189 = _188;
        var _190 = FHEAP[_mass36];
        var _191 = IHEAP[_colShape];
        __ZN11btRigidBody27btRigidBodyConstructionInfoC1EfP13btMotionStateP16btCollisionShapeRK9btVector3(_rbInfo40, _190, _189, _191, _localInertia38);
        var _192 = __ZN17btCollisionObjectnwEj(608);
        var _193 = _192;
        IHEAP[_0] = _193;
        var _194 = IHEAP[_0];
        (function() { try { __THREW__ = false; return __ZN11btRigidBodyC1ERKNS_27btRigidBodyConstructionInfoE(_194, _rbInfo40) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 92; /* _invcont51 */ break; } else { __label__ = 93; /* _lpad97 */ break; }
      case 92: // _invcont51
        var _195 = IHEAP[_0];
        IHEAP[_body41] = _195;
        var _196 = IHEAP[_zz_dynamicsWorld];
        var _197 = IHEAP[_zz_dynamicsWorld];
        var _198 = _197;
        var _199 = _198;
        var _200 = _199;
        var _201 = IHEAP[_200];
        var _202 = _201+80;
        var _203 = IHEAP[_202];
        var _204 = IHEAP[_zz_dynamicsWorld];
        var _205 = _203;
        var _206 = IHEAP[_body41];
        FUNCTION_TABLE[_205](_204, _206);
        var _207 = IHEAP[_i29];
        var _208 = _207 + 1;
        IHEAP[_i29] = _208;
        __label__ = 45; /* _bb57 */ break;
      case 61: // _bb52
        var _eh_select53 = IHEAP[_eh_selector];
        IHEAP[_save_filt_649] = _eh_select53;
        var _eh_value54 = IHEAP[_eh_exception];
        IHEAP[_save_eptr_648] = _eh_value54;
        var _209 = IHEAP[_0];
        var _210 = _209;
        (function() { try { __THREW__ = false; return __ZN17btCollisionObjectdlEPv(_210) } catch(e) { if (ABORT) throw e; __THREW__ = true; print("Exception: " + e + " : " + (new Error().stack)); } })(); if (!__THREW__) { __label__ = 94; /* _invcont55 */ break; } else { __label__ = 95; /* _lpad101 */ break; }
      case 94: // _invcont55
        var _211 = IHEAP[_save_eptr_648];
        IHEAP[_eh_exception] = _211;
        var _212 = IHEAP[_save_filt_649];
        IHEAP[_eh_selector] = _212;
        __label__ = 36; /* _Unwind */ break;
      case 62: // _bb56
        __ZSt9terminatev();
        // unreachable
      case 45: // _bb57
        var _213 = IHEAP[_i29];
        var _214 = _213 <= 4;
        if (_214) { __label__ = 26; /* _bb35 */ break; } else { __label__ = 48; /* _bb58 */ break; }
      case 48: // _bb58
        __label__ = 0; /* _return */ break;
      case 0: // _return
        STACKTOP = __stackBase__;
        return;
      case 70: // _lpad
        var _eh_ptr = _llvm_eh_exception();
        IHEAP[_eh_exception] = _eh_ptr;
        var _eh_ptr59 = IHEAP[_eh_exception];
        var _eh_select60 = _llvm_eh_selector(_eh_ptr59, ___gxx_personality_v0, 0);
        IHEAP[_eh_selector] = _eh_select60;
        __label__ = 35; /* _ppad */ break;
      case 75: // _lpad61
        var _eh_ptr62 = _llvm_eh_exception();
        IHEAP[_eh_exception] = _eh_ptr62;
        var _eh_ptr63 = IHEAP[_eh_exception];
        var _eh_select64 = _llvm_eh_selector(_eh_ptr63, ___gxx_personality_v0, 0);
        IHEAP[_eh_selector] = _eh_select64;
        __label__ = 49; /* _ppad105 */ break;
      case 77: // _lpad65
        var _eh_ptr66 = _llvm_eh_exception();
        IHEAP[_eh_exception] = _eh_ptr66;
        var _eh_ptr67 = IHEAP[_eh_exception];
        var _eh_select68 = _llvm_eh_selector(_eh_ptr67, ___gxx_personality_v0, 0);
        IHEAP[_eh_selector] = _eh_select68;
        __label__ = 50; /* _ppad106 */ break;
      case 79: // _lpad69
        var _eh_ptr70 = _llvm_eh_exception();
        IHEAP[_eh_exception] = _eh_ptr70;
        var _eh_ptr71 = IHEAP[_eh_exception];
        var _eh_select72 = _llvm_eh_selector(_eh_ptr71, ___gxx_personality_v0, 0);
        IHEAP[_eh_selector] = _eh_select72;
        __label__ = 51; /* _ppad107 */ break;
      case 81: // _lpad73
        var _eh_ptr74 = _llvm_eh_exception();
        IHEAP[_eh_exception] = _eh_ptr74;
        var _eh_ptr75 = IHEAP[_eh_exception];
        var _eh_select76 = _llvm_eh_selector(_eh_ptr75, ___gxx_personality_v0, 0);
        IHEAP[_eh_selector] = _eh_select76;
        __label__ = 52; /* _ppad108 */ break;
      case 83: // _lpad77
        var _eh_ptr78 = _llvm_eh_exception();
        IHEAP[_eh_exception] = _eh_ptr78;
        var _eh_ptr79 = IHEAP[_eh_exception];
        var _eh_select80 = _llvm_eh_selector(_eh_ptr79, ___gxx_personality_v0, 0);
        IHEAP[_eh_selector] = _eh_select80;
        __label__ = 53; /* _ppad109 */ break;
      case 85: // _lpad81
        var _eh_ptr82 = _llvm_eh_exception();
        IHEAP[_eh_exception] = _eh_ptr82;
        var _eh_ptr83 = IHEAP[_eh_exception];
        var _eh_select84 = _llvm_eh_selector(_eh_ptr83, ___gxx_personality_v0, 0);
        IHEAP[_eh_selector] = _eh_select84;
        __label__ = 54; /* _ppad110 */ break;
      case 87: // _lpad85
        var _eh_ptr86 = _llvm_eh_exception();
        IHEAP[_eh_exception] = _eh_ptr86;
        var _eh_ptr87 = IHEAP[_eh_exception];
        var _eh_select88 = _llvm_eh_selector(_eh_ptr87, ___gxx_personality_v0, 1);
        IHEAP[_eh_selector] = _eh_select88;
        __label__ = 55; /* _ppad111 */ break;
      case 89: // _lpad89
        var _eh_ptr90 = _llvm_eh_exception();
        IHEAP[_eh_exception] = _eh_ptr90;
        var _eh_ptr91 = IHEAP[_eh_exception];
        var _eh_select92 = _llvm_eh_selector(_eh_ptr91, ___gxx_personality_v0, 0);
        IHEAP[_eh_selector] = _eh_select92;
        __label__ = 56; /* _ppad112 */ break;
      case 91: // _lpad93
        var _eh_ptr94 = _llvm_eh_exception();
        IHEAP[_eh_exception] = _eh_ptr94;
        var _eh_ptr95 = IHEAP[_eh_exception];
        var _eh_select96 = _llvm_eh_selector(_eh_ptr95, ___gxx_personality_v0, 1);
        IHEAP[_eh_selector] = _eh_select96;
        __label__ = 57; /* _ppad113 */ break;
      case 93: // _lpad97
        var _eh_ptr98 = _llvm_eh_exception();
        IHEAP[_eh_exception] = _eh_ptr98;
        var _eh_ptr99 = IHEAP[_eh_exception];
        var _eh_select100 = _llvm_eh_selector(_eh_ptr99, ___gxx_personality_v0, 0);
        IHEAP[_eh_selector] = _eh_select100;
        __label__ = 58; /* _ppad114 */ break;
      case 95: // _lpad101
        var _eh_ptr102 = _llvm_eh_exception();
        IHEAP[_eh_exception] = _eh_ptr102;
        var _eh_ptr103 = IHEAP[_eh_exception];
        var _eh_select104 = _llvm_eh_selector(_eh_ptr103, ___gxx_personality_v0, 1);
        IHEAP[_eh_selector] = _eh_select104;
        __label__ = 59; /* _ppad115 */ break;
      case 35: // _ppad
        __label__ = 2; /* _bb */ break;
      case 49: // _ppad105
        __label__ = 7; /* _bb4 */ break;
      case 50: // _ppad106
        __label__ = 10; /* _bb9 */ break;
      case 51: // _ppad107
        __label__ = 41; /* _bb14 */ break;
      case 52: // _ppad108
        __label__ = 16; /* _bb19 */ break;
      case 53: // _ppad109
        __label__ = 19; /* _bb23 */ break;
      case 54: // _ppad110
        __label__ = 23; /* _bb30 */ break;
      case 55: // _ppad111
        __label__ = 25; /* _bb34 */ break;
      case 56: // _ppad112
        __label__ = 30; /* _bb44 */ break;
      case 57: // _ppad113
        __label__ = 60; /* _bb48 */ break;
      case 58: // _ppad114
        __label__ = 61; /* _bb52 */ break;
      case 59: // _ppad115
        __label__ = 62; /* _bb56 */ break;
      case 36: // _Unwind
        var _eh_ptr116 = IHEAP[_eh_exception];
        __Unwind_Resume_or_Rethrow(_eh_ptr116);
        // unreachable
      default: assert(0, "bad label: " + __label__);
    }
  }
  __Z10zz_preparev.__index__ = Runtime.getFunctionIndex(__Z10zz_preparev, "__Z10zz_preparev");

  function __Z7zz_readiR9btVector3R12btQuaternion(_j, _location, _rotation) {
    var __stackBase__  = STACKTOP; STACKTOP += 88; assert(STACKTOP < STACK_MAX);
    var __label__;
    __label__ = -1; /* _entry */
    while(1) switch(__label__) {
      case -1: // _entry
        var _j_addr = __stackBase__;
        var _location_addr = __stackBase__+1;
        var _rotation_addr = __stackBase__+2;
        var _0 = __stackBase__+3;
        var _iftmp_469 = __stackBase__+4;
        var _retval_468 = __stackBase__+5;
        var _obj = __stackBase__+6;
        var _body = __stackBase__+7;
        var _trans = __stackBase__+8;
        var _memtmp = __stackBase__+72;
        var __alloca_point_ = 0;
        IHEAP[_j_addr] = _j;
        IHEAP[_location_addr] = _location;
        IHEAP[_rotation_addr] = _rotation;
        var _1 = IHEAP[_zz_dynamicsWorld];
        var _2 = _1;
        var _3 = _2;
        var _4 = __ZN16btCollisionWorld23getCollisionObjectArrayEv(_3);
        var _5 = IHEAP[_j_addr];
        var _6 = __ZN20btAlignedObjectArrayIP17btCollisionObjectEixEi(_4, _5);
        var _7 = IHEAP[_6];
        IHEAP[_obj] = _7;
        var _8 = IHEAP[_obj];
        var _9 = __ZN11btRigidBody6upcastEP17btCollisionObject(_8);
        IHEAP[_body] = _9;
        var _10 = IHEAP[_body];
        var _11 = _10 == 0;
        if (_11) { __label__ = 3; /* _bb2 */ break; } else { __label__ = 2; /* _bb */ break; }
      case 2: // _bb
        var _12 = IHEAP[_body];
        var _13 = __ZN11btRigidBody14getMotionStateEv(_12);
        var _14 = _13 == 0;
        if (_14) { __label__ = 3; /* _bb2 */ break; } else { __label__ = 1; /* _bb1 */ break; }
      case 1: // _bb1
        IHEAP[_iftmp_469] = 1;
        __label__ = 4; /* _bb3 */ break;
      case 3: // _bb2
        IHEAP[_iftmp_469] = 0;
        __label__ = 4; /* _bb3 */ break;
      case 4: // _bb3
        var _15 = IHEAP[_iftmp_469];
        IHEAP[_retval_468] = _15;
        var _16 = IHEAP[_retval_468];
        var _toBool = _16 != 0;
        if (_toBool) { __label__ = 7; /* _bb4 */ break; } else { __label__ = 6; /* _bb5 */ break; }
      case 7: // _bb4
        __ZN11btTransformC1Ev(_trans);
        var _17 = IHEAP[_body];
        var _18 = __ZN11btRigidBody14getMotionStateEv(_17);
        IHEAP[_0] = _18;
        var _19 = IHEAP[_0];
        var _20 = _19;
        var _21 = IHEAP[_20];
        var _22 = _21+8;
        var _23 = IHEAP[_22];
        var _24 = _23;
        var _25 = IHEAP[_0];
        FUNCTION_TABLE[_24](_25, _trans);
        var _26 = __ZN11btTransform9getOriginEv(_trans);
        var _27 = IHEAP[_location_addr];
        var _28 = _27;
        var _29 = _26;
        var _30 = _28;
        var _31 = _29;
        var _32 = FHEAP[_31];
        FHEAP[_30] = _32;
        var _33 = _28+4;
        var _34 = _29+4;
        var _35 = FHEAP[_34];
        FHEAP[_33] = _35;
        var _36 = _28+8;
        var _37 = _29+8;
        var _38 = FHEAP[_37];
        FHEAP[_36] = _38;
        var _39 = _28+12;
        var _40 = _29+12;
        var _41 = FHEAP[_40];
        FHEAP[_39] = _41;
        var _42 = IHEAP[_rotation_addr];
        __ZNK11btTransform11getRotationEv(_memtmp, _trans);
        var _43 = _42;
        var _44 = _memtmp;
        var _45 = _43;
        var _46 = _44;
        var _47 = _45;
        var _48 = _46;
        var _49 = FHEAP[_48];
        FHEAP[_47] = _49;
        var _50 = _45+4;
        var _51 = _46+4;
        var _52 = FHEAP[_51];
        FHEAP[_50] = _52;
        var _53 = _45+8;
        var _54 = _46+8;
        var _55 = FHEAP[_54];
        FHEAP[_53] = _55;
        var _56 = _45+12;
        var _57 = _46+12;
        var _58 = FHEAP[_57];
        FHEAP[_56] = _58;
        __label__ = 6; /* _bb5 */ break;
      case 6: // _bb5
        __label__ = 0; /* _return */ break;
      case 0: // _return
        STACKTOP = __stackBase__;
        return;
      default: assert(0, "bad label: " + __label__);
    }
  }
  __Z7zz_readiR9btVector3R12btQuaternion.__index__ = Runtime.getFunctionIndex(__Z7zz_readiR9btVector3R12btQuaternion, "__Z7zz_readiR9btVector3R12btQuaternion");

  function __ZNK11btTransform11getRotationEv(_agg_result, _this) {
    var __stackBase__  = STACKTOP; STACKTOP += 17; assert(STACKTOP < STACK_MAX);
    var __label__;
    __label__ = -1; /* _entry */
    while(1) switch(__label__) {
      case -1: // _entry
        var _this_addr = __stackBase__;
        var _q = __stackBase__+1;
        var __alloca_point_ = 0;
        IHEAP[_this_addr] = _this;
        __ZN12btQuaternionC1Ev(_agg_result);
        var _0 = IHEAP[_this_addr];
        var _1 = _0;
        __ZNK11btMatrix3x311getRotationER12btQuaternion(_1, _agg_result);
        __label__ = 0; /* _return */ break;
      case 0: // _return
        STACKTOP = __stackBase__;
        return;
      default: assert(0, "bad label: " + __label__);
    }
  }
  __ZNK11btTransform11getRotationEv.__index__ = Runtime.getFunctionIndex(__ZNK11btTransform11getRotationEv, "__ZNK11btTransform11getRotationEv");

  function __ZN12btQuaternionC1Ev(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 1; assert(STACKTOP < STACK_MAX);
    var __label__;
    __label__ = -1; /* _entry */
    while(1) switch(__label__) {
      case -1: // _entry
        var _this_addr = __stackBase__;
        var __alloca_point_ = 0;
        IHEAP[_this_addr] = _this;
        var _0 = IHEAP[_this_addr];
        var _1 = _0;
        __ZN10btQuadWordC2Ev(_1);
        __label__ = 0; /* _return */ break;
      case 0: // _return
        STACKTOP = __stackBase__;
        return;
      default: assert(0, "bad label: " + __label__);
    }
  }
  __ZN12btQuaternionC1Ev.__index__ = Runtime.getFunctionIndex(__ZN12btQuaternionC1Ev, "__ZN12btQuaternionC1Ev");

  function __ZN10btQuadWordC2Ev(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 1; assert(STACKTOP < STACK_MAX);
    var __label__;
    __label__ = -1; /* _entry */
    while(1) switch(__label__) {
      case -1: // _entry
        var _this_addr = __stackBase__;
        var __alloca_point_ = 0;
        IHEAP[_this_addr] = _this;
        __label__ = 0; /* _return */ break;
      case 0: // _return
        STACKTOP = __stackBase__;
        return;
      default: assert(0, "bad label: " + __label__);
    }
  }
  __ZN10btQuadWordC2Ev.__index__ = Runtime.getFunctionIndex(__ZN10btQuadWordC2Ev, "__ZN10btQuadWordC2Ev");

  function __ZNK10btQuadWord4getXEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 3; assert(STACKTOP < STACK_MAX);
    var __label__;
    __label__ = -1; /* _entry */
    while(1) switch(__label__) {
      case -1: // _entry
        var _this_addr = __stackBase__;
        var _retval = __stackBase__+1;
        var _0 = __stackBase__+2;
        var __alloca_point_ = 0;
        IHEAP[_this_addr] = _this;
        var _1 = IHEAP[_this_addr];
        var _2 = _1;
        var _3 = _2;
        IHEAP[_0] = _3;
        var _4 = IHEAP[_0];
        IHEAP[_retval] = _4;
        __label__ = 0; /* _return */ break;
      case 0: // _return
        var _retval1 = IHEAP[_retval];
        STACKTOP = __stackBase__;
        return _retval1;
      default: assert(0, "bad label: " + __label__);
    }
  }
  __ZNK10btQuadWord4getXEv.__index__ = Runtime.getFunctionIndex(__ZNK10btQuadWord4getXEv, "__ZNK10btQuadWord4getXEv");
  
  
  function __ZNK10btQuadWord4getYEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 3; assert(STACKTOP < STACK_MAX);
    var __label__;
    __label__ = -1; /* _entry */
    while(1) switch(__label__) {
      case -1: // _entry
        var _this_addr = __stackBase__;
        var _retval = __stackBase__+1;
        var _0 = __stackBase__+2;
        var __alloca_point_ = 0;
        IHEAP[_this_addr] = _this;
        var _1 = IHEAP[_this_addr];
        var _2 = _1;
        var _3 = _2+4;
        IHEAP[_0] = _3;
        var _4 = IHEAP[_0];
        IHEAP[_retval] = _4;
        __label__ = 0; /* _return */ break;
      case 0: // _return
        var _retval1 = IHEAP[_retval];
        STACKTOP = __stackBase__;
        return _retval1;
      default: assert(0, "bad label: " + __label__);
    }
  }
  __ZNK10btQuadWord4getYEv.__index__ = Runtime.getFunctionIndex(__ZNK10btQuadWord4getYEv, "__ZNK10btQuadWord4getYEv");
  
  
  function __ZNK10btQuadWord4getZEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 3; assert(STACKTOP < STACK_MAX);
    var __label__;
    __label__ = -1; /* _entry */
    while(1) switch(__label__) {
      case -1: // _entry
        var _this_addr = __stackBase__;
        var _retval = __stackBase__+1;
        var _0 = __stackBase__+2;
        var __alloca_point_ = 0;
        IHEAP[_this_addr] = _this;
        var _1 = IHEAP[_this_addr];
        var _2 = _1;
        var _3 = _2+8;
        IHEAP[_0] = _3;
        var _4 = IHEAP[_0];
        IHEAP[_retval] = _4;
        __label__ = 0; /* _return */ break;
      case 0: // _return
        var _retval1 = IHEAP[_retval];
        STACKTOP = __stackBase__;
        return _retval1;
      default: assert(0, "bad label: " + __label__);
    }
  }
  __ZNK10btQuadWord4getZEv.__index__ = Runtime.getFunctionIndex(__ZNK10btQuadWord4getZEv, "__ZNK10btQuadWord4getZEv");

  function __ZNK12btQuaternion4getWEv(_this) {
    var __stackBase__  = STACKTOP; STACKTOP += 3; assert(STACKTOP < STACK_MAX);
    var __label__;
    __label__ = -1; /* _entry */
    while(1) switch(__label__) {
      case -1: // _entry
        var _this_addr = __stackBase__;
        var _retval = __stackBase__+1;
        var _0 = __stackBase__+2;
        var __alloca_point_ = 0;
        IHEAP[_this_addr] = _this;
        var _1 = IHEAP[_this_addr];
        var _2 = _1;
        var _3 = _2;
        var _4 = _3+12;
        IHEAP[_0] = _4;
        var _5 = IHEAP[_0];
        IHEAP[_retval] = _5;
        __label__ = 0; /* _return */ break;
      case 0: // _return
        var _retval1 = IHEAP[_retval];
        STACKTOP = __stackBase__;
        return _retval1;
      default: assert(0, "bad label: " + __label__);
    }
  }
  __ZNK12btQuaternion4getWEv.__index__ = Runtime.getFunctionIndex(__ZNK12btQuaternion4getWEv, "__ZNK12btQuaternion4getWEv");
  






//=== SLOW
//  return Module;
//})({});

//=== FAST
var Bullet = Module;

