aboutsummaryrefslogtreecommitdiff
path: root/tests/bullet/bulletTest.ll
diff options
context:
space:
mode:
authoralon@honor <none@none>2010-10-24 19:12:49 -0700
committeralon@honor <none@none>2010-10-24 19:12:49 -0700
commit1522f18aab92cfa3e9a58e1eefc40aefcfdc946c (patch)
treeb18a677afe96f1147b810af48c0c624d5b7680da /tests/bullet/bulletTest.ll
parent58ce4fae9a0aef99dee70643e15e8cea8e5d5c71 (diff)
bullet test
Diffstat (limited to 'tests/bullet/bulletTest.ll')
-rw-r--r--tests/bullet/bulletTest.ll192958
1 files changed, 192958 insertions, 0 deletions
diff --git a/tests/bullet/bulletTest.ll b/tests/bullet/bulletTest.ll
new file mode 100644
index 00000000..bbf096ca
--- /dev/null
+++ b/tests/bullet/bulletTest.ll
@@ -0,0 +1,192958 @@
+; ModuleID = 'bulletTest.bc'
+target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32"
+target triple = "i386-pc-linux-gnu"
+
+%0 = type { i32, void ()* }
+%struct..0AabbCalculationCallback = type { %struct.btActionInterface, %struct.btQuadWord, %struct.btQuadWord }
+%struct..0BridgeTriangleRaycastCallback = type { %struct.btTriangleRaycastCallback, %"struct.btCollisionWorld::RayResultCallback"*, %struct.btCollisionObject*, %struct.btTriangleMeshShape*, %struct.btTransform }
+%struct..0CenterCallback = type { %struct.btActionInterface, i8, %struct.btQuadWord, %struct.btQuadWord, float }
+%struct..0CleanPairCallback = type { %struct.btActionInterface, %struct.btBroadphaseProxy*, %struct..0btMultiSapOverlapFilterCallback*, %struct.btActionInterface* }
+%struct..0FilteredCallback = type { %struct.btActionInterface, %struct.btActionInterface*, %struct.btQuadWord, %struct.btQuadWord }
+%struct..0InplaceSolverIslandCallback = type { %struct.btActionInterface, %struct.btContactSolverInfo*, %struct.btActionInterface*, %struct.btTypedConstraint**, i32, %struct.btActionInterface*, %struct.btStackAlloc*, %struct.btActionInterface*, %"struct.btAlignedObjectArray<btCollisionObject*>", %"struct.btAlignedObjectArray<btPersistentManifold*>", %"struct.btAlignedObjectArray<btTypedConstraint*>" }
+%struct..0LocalTriangleSphereCastCallback = type { %struct.btActionInterface, %struct.btTransform, %struct.btTransform, %struct.btTransform, float, float }
+%struct..0MyNodeOverlapCallback = type { %struct.btActionInterface, %struct.btStridingMeshInterface*, %struct.btActionInterface* }
+%struct..0NodeTriangleCallback = type { %struct.btActionInterface, %struct.NodeArray* }
+%struct..0btIntermediateResult = type { %struct.btActionInterface, %struct.btQuadWord, %struct.btQuadWord, float, i8 }
+%struct..0btMultiSapOverlapFilterCallback = type { %struct.btActionInterface }
+%struct..1BridgeTriangleRaycastCallback = type { %struct.btTriangleRaycastCallback, %"struct.btCollisionWorld::RayResultCallback"*, %struct.btCollisionObject*, %struct.btConcaveShape*, %struct.btTransform }
+%struct..1InertiaCallback = type { %struct.btActionInterface, %struct.btMatrix3x3, %struct.btQuadWord }
+%struct..1MyNodeOverlapCallback = type { %struct.btActionInterface, %struct.btMultiSapBroadphase*, %"struct.btMultiSapBroadphase::btMultiSapProxy"*, %struct.btActionInterface* }
+%struct..1QuantizedNodeTriangleCallback = type { %struct.btActionInterface, %struct.QuantizedNodeArray*, %struct.btQuantizedBvh* }
+%struct..1RemovePairCallback = type { %struct.btActionInterface, %struct.btBroadphaseProxy* }
+%struct..2LocalInfoAdder2 = type { %"struct.btCollisionWorld::RayResultCallback", %"struct.btCollisionWorld::RayResultCallback"*, i32 }
+%struct..2MyNodeOverlapCallback = type { %struct.btActionInterface, %struct.btStridingMeshInterface*, %struct.btActionInterface*, [3 x %struct.btQuadWord] }
+%struct..3BridgeTriangleConvexcastCallback = type { %struct.btTriangleConvexcastCallback, %"struct.btCollisionWorld::ConvexResultCallback"*, %struct.btCollisionObject*, %struct.btTriangleMeshShape* }
+%struct..4BridgeTriangleConvexcastCallback = type { %struct.btTriangleConvexcastCallback, %"struct.btCollisionWorld::ConvexResultCallback"*, %struct.btCollisionObject*, %struct.btConcaveShape* }
+%struct..5LocalInfoAdder = type { %"struct.btCollisionWorld::ConvexResultCallback", %"struct.btCollisionWorld::ConvexResultCallback"*, i32 }
+%struct.BT_BOX_BOX_TRANSFORM_CACHE = type { %struct.btQuadWord, %struct.btMatrix3x3, %struct.btMatrix3x3 }
+%struct.BT_QUANTIZED_BVH_NODE = type { [3 x i16], [3 x i16], i32 }
+%struct.BroadphaseAabbTester = type { %struct.btActionInterface, %struct.btActionInterface* }
+%struct.BroadphaseRayTester = type { %struct.btActionInterface, %struct.btBroadphaseRayCallback* }
+%struct.BvhSubtreeInfoArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btBvhSubtreeInfo*, i8 }
+%struct.CONTACT_KEY_TOKEN = type { i32, i32 }
+%struct.CONTACT_KEY_TOKEN_COMP = type <{ i8 }>
+%struct.CProfileIterator = type { %struct.CProfileNode*, %struct.CProfileNode* }
+%struct.CProfileNode = type { i8*, i32, float, i32, i32, %struct.CProfileNode*, %struct.CProfileNode*, %struct.CProfileNode* }
+%struct.CProfileSample = type <{ i8 }>
+%struct.ClipVertex = type { %struct.btQuadWord, i32 }
+%struct.ConvexH = type { %"struct.btAlignedObjectArray<btVector3>", %"struct.btAlignedObjectArray<ConvexH::HalfEdge>", %"struct.btAlignedObjectArray<btPlane>" }
+%"struct.ConvexH::HalfEdge" = type { i16, i8, i8 }
+%struct.DISTANCE_PLANE_3D_FUNC = type <{ i8 }>
+%struct.DebugDrawcallback = type { %struct.btActionInterface, %struct.btActionInterface, %struct.btActionInterface*, %struct.btQuadWord, %struct.btTransform }
+%struct.GIM_AABB = type { %struct.btQuadWord, %struct.btQuadWord }
+%struct.GIM_AABB_DATA = type { %struct.GIM_AABB, i32 }
+%struct.GIM_BOX_TREE = type { i32, %"struct.gim_array<GIM_BOX_TREE_NODE>" }
+%struct.GIM_BOX_TREE_NODE = type { %struct.GIM_AABB, i32, i32, i32, i32 }
+%struct.GIM_BVH_DATA = type { %struct.GIM_AABB, i32 }
+%struct.GIM_BVH_DATA_ARRAY = type { %"struct.btAlignedObjectArray<GIM_BVH_DATA>" }
+%struct.GIM_CONTACT = type { %struct.btQuadWord, %struct.btQuadWord, float, float, i32, i32 }
+%struct.GIM_PAIR = type { i32, i32 }
+%struct.GIM_QUANTIZED_BVH_NODE_ARRAY = type { %struct.QuantizedNodeArray }
+%struct.GIM_RSORT_TOKEN = type { i32, i32 }
+%struct.GIM_RSORT_TOKEN_COMPARATOR = type <{ i8 }>
+%struct.GIM_STANDARD_ALLOCATOR = type { %struct.btGenericPoolAllocator }
+%struct.GIM_ShapeRetriever = type { %struct.btGImpactShapeInterface*, %struct.btTriangleShapeEx, %struct.btTetrahedronShapeEx, %"struct.GIM_ShapeRetriever::ChildShapeRetriever", %"struct.GIM_ShapeRetriever::TetraShapeRetriever", %"struct.GIM_ShapeRetriever::TetraShapeRetriever", %"struct.GIM_ShapeRetriever::ChildShapeRetriever"* }
+%"struct.GIM_ShapeRetriever::ChildShapeRetriever" = type { i32 (...)**, %struct.GIM_ShapeRetriever* }
+%"struct.GIM_ShapeRetriever::TetraShapeRetriever" = type { %"struct.GIM_ShapeRetriever::ChildShapeRetriever" }
+%struct.GIM_TRIANGLE = type { float, [3 x %struct.btQuadWord] }
+%struct.GIM_TRIANGLE_CALCULATION_CACHE = type { float, [3 x %struct.btQuadWord], [3 x %struct.btQuadWord], %struct.btQuaternion, %struct.btQuaternion, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, [4 x float], float, float, [4 x float], float, float, [16 x %struct.btQuadWord], [16 x %struct.btQuadWord], [16 x %struct.btQuadWord] }
+%struct.GIM_TRIANGLE_CONTACT = type { float, i32, %struct.btQuaternion, [16 x %struct.btQuadWord] }
+%struct.GIM_TRIANGLE_CONTACT_DATA = type { float, i32, %struct.btQuaternion, [16 x %struct.btQuadWord] }
+%struct.HullDesc = type { i32, i32, %struct.btQuadWord*, i32, float, i32, i32 }
+%struct.HullLibrary = type { %"struct.btAlignedObjectArray<btHullTriangle*>", %"struct.btAlignedObjectArray<int>" }
+%struct.HullResult = type { i8, i32, %"struct.btAlignedObjectArray<btVector3>", i32, i32, %"struct.btAlignedObjectArray<int>" }
+%struct.IndexedMeshArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btIndexedMesh*, i8 }
+%struct.LocalSupportVertexCallback = type { %struct.btActionInterface, %struct.btQuadWord, float, %struct.btQuadWord }
+%struct.MaterialArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btMaterialProperties*, i8 }
+%struct.NodeArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btOptimizedBvhNode*, i8 }
+%struct.PHullResult = type { i32, i32, i32, %struct.btQuadWord*, %"struct.btAlignedObjectArray<int>" }
+%struct.PfxConstraintRow = type { [3 x float], float, float, float, float, float }
+%struct.QuantizedNodeArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.BT_QUANTIZED_BVH_NODE*, i8 }
+%struct.SphereTriangleDetector = type { %struct.btActionInterface, %struct.btPolyhedralConvexShape*, %struct.btTriangleShape*, float }
+%struct.SupportVertexCallback = type { %struct.btActionInterface, %struct.btQuadWord, %struct.btTransform, float, %struct.btQuadWord }
+%struct.__base_class_type_info_pseudo = type { %"struct.std::type_info"*, i32 }
+%struct.__class_type_info_pseudo = type { %struct.__type_info_pseudo }
+%struct.__si_class_type_info_pseudo = type { %struct.__type_info_pseudo, %"struct.std::type_info"* }
+%struct.__type_info_pseudo = type { i8*, i8* }
+%struct.__vmi_class_type_info_pseudo1 = type { %struct.__type_info_pseudo, i32, i32, [1 x %struct.__base_class_type_info_pseudo] }
+%struct.__vmi_class_type_info_pseudo2 = type { %struct.__type_info_pseudo, i32, i32, [2 x %struct.__base_class_type_info_pseudo] }
+%struct.anon = type { void (%struct.btQuadWord*, %struct.btConvexShape*, %struct.btQuadWord*)*, i32 }
+%struct.bt32BitAxisSweep3 = type { %"struct.btAxisSweep3Internal<unsigned int>" }
+%struct.btAABB = type { %struct.btQuadWord, %struct.btQuadWord }
+%struct.btActionInterface = type { i32 (...)** }
+%struct.btActivatingCollisionAlgorithm = type { %struct.btCollisionAlgorithm }
+%"struct.btAlignedAllocator<BT_QUANTIZED_BVH_NODE,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<ConvexH::HalfEdge,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<GIM_BVH_DATA,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btActionInterface*,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btBroadphaseInterface*,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btBroadphasePair,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btBvhSubtreeInfo,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btCollisionAlgorithm*,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btCollisionObject*,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btCollisionShape*,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btCompoundShapeChild,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btDbvt::sStkCLN,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btDbvt::sStkNN,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btElement,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btHashInt,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btHullTriangle*,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btIndexedMesh,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btPersistentManifold*,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btRigidBody*,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btSolverConstraint,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btTriangle,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btTriangleInfo,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btTypedConstraint*,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btTypedConstraint::btConstraintInfo1,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<btVector3,16u>" = type <{ i8 }>
+%"struct.btAlignedAllocator<int,16u>" = type <{ i8 }>
+%"struct.btAlignedObjectArray<BT_QUANTIZED_BVH_NODE>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.BT_QUANTIZED_BVH_NODE*, i8 }
+%"struct.btAlignedObjectArray<BT_QUANTIZED_BVH_NODE>.base.32" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.BT_QUANTIZED_BVH_NODE*, i8 }
+%"struct.btAlignedObjectArray<CONTACT_KEY_TOKEN>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.CONTACT_KEY_TOKEN*, i8 }
+%"struct.btAlignedObjectArray<ConvexH::HalfEdge>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %"struct.ConvexH::HalfEdge"*, i8 }
+%"struct.btAlignedObjectArray<GIM_BVH_DATA>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.GIM_AABB_DATA*, i8 }
+%"struct.btAlignedObjectArray<GIM_CONTACT>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.GIM_CONTACT*, i8 }
+%"struct.btAlignedObjectArray<GIM_PAIR>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.CONTACT_KEY_TOKEN*, i8 }
+%"struct.btAlignedObjectArray<btActionInterface*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btActionInterface**, i8 }
+%"struct.btAlignedObjectArray<btBroadphasePair>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btBroadphasePair*, i8 }
+%"struct.btAlignedObjectArray<btCollisionAlgorithm*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btCollisionAlgorithm**, i8 }
+%"struct.btAlignedObjectArray<btCollisionObject*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btCollisionObject**, i8 }
+%"struct.btAlignedObjectArray<btCollisionShape*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btCollisionShape**, i8 }
+%"struct.btAlignedObjectArray<btCompoundShapeChild>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btCompoundShapeChild*, i8 }
+%"struct.btAlignedObjectArray<btDbvt::sStkCLN>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %"struct.btDbvt::sStkCLN"*, i8 }
+%"struct.btAlignedObjectArray<btDbvt::sStkNN>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %"struct.btDbvt::sStkCLN"*, i8 }
+%"struct.btAlignedObjectArray<btDbvtNode*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btDbvtNode**, i8 }
+%"struct.btAlignedObjectArray<btElement>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.CONTACT_KEY_TOKEN*, i8 }
+%"struct.btAlignedObjectArray<btGImpactMeshShapePart*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btGImpactMeshShapePart**, i8 }
+%"struct.btAlignedObjectArray<btHashInt>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btHashInt*, i8 }
+%"struct.btAlignedObjectArray<btHashPtr>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btHashPtr*, i8 }
+%"struct.btAlignedObjectArray<btHullTriangle*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btHullTriangle**, i8 }
+%"struct.btAlignedObjectArray<btMaterial*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btMaterial**, i8 }
+%"struct.btAlignedObjectArray<btMultiSapBroadphase::btBridgeProxy*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %"struct.btMultiSapBroadphase::btBridgeProxy"**, i8 }
+%"struct.btAlignedObjectArray<btMultiSapBroadphase::btMultiSapProxy*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %"struct.btMultiSapBroadphase::btMultiSapProxy"**, i8 }
+%"struct.btAlignedObjectArray<btPersistentManifold*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btPersistentManifold**, i8 }
+%"struct.btAlignedObjectArray<btPlane>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btPlane*, i8 }
+%"struct.btAlignedObjectArray<btRigidBody*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btRigidBody**, i8 }
+%"struct.btAlignedObjectArray<btTransform>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btTransform*, i8 }
+%"struct.btAlignedObjectArray<btTriangle>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btTriangle*, i8 }
+%"struct.btAlignedObjectArray<btTriangleInfo>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btTriangleInfo*, i8 }
+%"struct.btAlignedObjectArray<btTypedConstraint*>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btTypedConstraint**, i8 }
+%"struct.btAlignedObjectArray<btTypedConstraint::btConstraintInfo1>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.CONTACT_KEY_TOKEN*, i8 }
+%"struct.btAlignedObjectArray<btVector3>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btQuadWord*, i8 }
+%"struct.btAlignedObjectArray<btWheelInfo>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btWheelInfo*, i8 }
+%"struct.btAlignedObjectArray<float>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, float*, i8 }
+%"struct.btAlignedObjectArray<int>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, i32*, i8 }
+%"struct.btAlignedObjectArray<short unsigned int>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, i16*, i8 }
+%"struct.btAlignedObjectArray<unsigned int>" = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, i32*, i8 }
+%struct.btAxisSweep3 = type { %"struct.btAxisSweep3Internal<short unsigned int>" }
+%"struct.btAxisSweep3Internal<short unsigned int>" = type { %struct.btActionInterface, i16, i16, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, i16, i16, %"struct.btAxisSweep3Internal<short unsigned int>::Handle"*, i16, [3 x %"struct.btAxisSweep3Internal<short unsigned int>::Edge"*], [3 x i8*], %struct..0btMultiSapOverlapFilterCallback*, %struct.btActionInterface*, i8, i32, %struct.btDbvtBroadphase*, %struct..0btMultiSapOverlapFilterCallback* }
+%"struct.btAxisSweep3Internal<short unsigned int>::Edge" = type { i16, i16 }
+%"struct.btAxisSweep3Internal<short unsigned int>::Handle" = type { %struct.btBroadphaseProxy, [3 x i16], [3 x i16], %struct.btBroadphaseProxy* }
+%"struct.btAxisSweep3Internal<unsigned int>" = type { %struct.btActionInterface, i32, i32, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, i32, i32, %"struct.btAxisSweep3Internal<unsigned int>::Handle"*, i32, [3 x %struct.CONTACT_KEY_TOKEN*], [3 x i8*], %struct..0btMultiSapOverlapFilterCallback*, %struct.btActionInterface*, i8, i32, %struct.btDbvtBroadphase*, %struct..0btMultiSapOverlapFilterCallback* }
+%"struct.btAxisSweep3Internal<unsigned int>::Edge" = type { i32, i32 }
+%"struct.btAxisSweep3Internal<unsigned int>::Handle" = type { %struct.btBroadphaseProxy, [3 x i32], [3 x i32], %struct.btBroadphaseProxy* }
+%struct.btBU_Simplex1to4 = type { %struct.btPolyhedralConvexAabbCachingShape, i32, [4 x %struct.btQuadWord] }
+%struct.btBlock = type { %struct.btBlock*, i8* }
+%struct.btBox2dBox2dCollisionAlgorithm = type { %struct.btActivatingCollisionAlgorithm, i8, %struct.btPersistentManifold* }
+%struct.btBox2dShape = type { %struct.btPolyhedralConvexShape, %struct.btQuadWord, [4 x %struct.btQuadWord], [4 x %struct.btQuadWord] }
+%struct.btBoxBoxCollisionAlgorithm = type { %struct.btActivatingCollisionAlgorithm, i8, %struct.btPersistentManifold* }
+%"struct.btBoxBoxCollisionAlgorithm::CreateFunc" = type { %struct.btCollisionAlgorithmCreateFunc }
+%struct.btBoxBoxDetector = type { %struct.btActionInterface, %struct.btBoxShape*, %struct.btBoxShape* }
+%struct.btBoxShape = type { %struct.btPolyhedralConvexShape }
+%struct.btBridgedManifoldResult = type { %struct.btManifoldResult, %"struct.btCollisionWorld::ContactResultCallback"* }
+%struct.btBroadphaseAabbCallback = type { i32 (...)** }
+%struct.btBroadphaseInterface = type { i32 (...)** }
+%struct.btBroadphasePair = type { %struct.btBroadphaseProxy*, %struct.btBroadphaseProxy*, %struct.btCollisionAlgorithm*, %"union.btBroadphasePair::._22" }
+%struct.btBroadphasePairArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btBroadphasePair*, i8 }
+%struct.btBroadphaseProxy = type { i8*, i16, i16, i8*, i32, %struct.btQuadWord, %struct.btQuadWord }
+%struct.btBroadphaseRayCallback = type { %struct.btActionInterface, %struct.btQuadWord, [3 x i32], float }
+%struct.btBvhSubtreeInfo = type { [3 x i16], [3 x i16], i32, i32, [3 x i32] }
+%struct.btBvhSubtreeInfoData = type { i32, i32, [3 x i16], [3 x i16] }
+%struct.btBvhTree = type { i32, %struct.GIM_BVH_DATA_ARRAY }
+%struct.btBvhTriangleMeshShape = type { %struct.btTriangleMeshShape, %struct.btOptimizedBvh*, %struct.btTriangleInfoMap*, i8, i8, [11 x i8] }
+%struct.btCapsuleShape = type { %struct.btConvexInternalShape, i32 }
+%struct.btCapsuleShapeX = type { %struct.btCapsuleShape }
+%struct.btCharacterControllerInterface = type { %struct.btActionInterface }
+%struct.btChunk = type { i32, i32, i8*, i32, i32 }
+%struct.btClock = type { %struct.btClockData* }
+%struct.btClockData = type { %struct.CONTACT_KEY_TOKEN }
+%struct.btClosestNotMeConvexResultCallback = type { %"struct.btCollisionWorld::ClosestConvexResultCallback", %struct.btCollisionObject*, float, %struct..0btMultiSapOverlapFilterCallback*, %struct.btActionInterface* }
+%struct.btCollisionAlgorithm = type { i32 (...)**, %struct.btActionInterface* }
+%struct.btCollisionAlgorithmConstructionInfo = type { %struct.btActionInterface*, %struct.btPersistentManifold* }
+%struct.btCollisionAlgorithmCreateFunc = type { i32 (...)**, i8 }
+%struct.btCollisionConfiguration = type { i32 (...)** }
+%struct.btCollisionDispatcher = type { %struct.btActionInterface, i32, %"struct.btAlignedObjectArray<btPersistentManifold*>", %struct.btManifoldResult, void (%struct.btBroadphasePair*, %struct.btCollisionDispatcher*, %struct.btDispatcherInfo*)*, %struct.btPoolAllocator*, %struct.btPoolAllocator*, [36 x [36 x %struct.btCollisionAlgorithmCreateFunc*]], %struct.btActionInterface* }
+%struct.btCollisionObject = type { i32 (...)**, %struct.btTransform, %struct.btTransform, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, i32, float, %struct.btBroadphaseProxy*, %struct.btCollisionShape*, i8*, %struct.btCollisionShape*, i32, i32, i32, i32, float, float, float, i32, i8*, float, float, float, i32 }
+%struct.btCollisionObjectArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btCollisionObject**, i8 }
+%struct.btCollisionObjectFloatData = type { i8*, i8*, %struct.btCollisionShapeData*, i8*, %struct.btTransform, %struct.btTransform, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, float, float, float, float, float, float, float, i32, i32, i32, i32, i32, i32, i32 }
+%struct.btCollisionPairCallback = type { %struct.btActionInterface, %struct.btDispatcherInfo*, %struct.btCollisionDispatcher* }
+%struct.btCollisionShape = type { i32 (...)**, i32, i8* }
+%struct.btCollisionShapeData = type { i8*, i32, [4 x i8] }
+%struct.btCollisionWorld = type { i32 (...)**, %"struct.btAlignedObjectArray<btCollisionObject*>", %struct.btActionInterface*, %struct.btDispatcherInfo, %struct.btStackAlloc*, %struct.btActionInterface*, %struct.btActionInterface*, i8 }
+%struct.btCollisionWorld.base.32 = type { i32 (...)**, %"struct.btAlignedObjectArray<btCollisionObject*>", %struct.btActionInterface*, %struct.btDispatcherInfo, %struct.btStackAlloc*, %struct.btActionInterface*, %struct.btActionInterface*, i8 }
+%"struct.btCollisionWorld::ClosestConvexResultCallback" = type { %"struct.btCollisionWorld::ConvexResultCallback", %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btCollisionObject* }
+%"struct.btCollisionWorld::ClosestRayResultCallback" = type { %"struct.btCollisionWorld::RayResultCallback", %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord }
+%"struct.btCollisionWorld::ContactResultCallback" = type { i32 (...)**, i16, i16 }
+%"struct.btCollisionWorld::ConvexResultCallback" = type { i32 (...)**, float, i16, i16 }
+%"struct.btCollisionWorld::LocalConvexResult" = type { %struct.btCollisionObject*, %struct.CONTACT_KEY_TOKEN*, %struct.btQuadWord, %struct.btQuadWord, float }
+%"struct.btCollisionWorld::LocalRayResult" = type { %struct.btCollisionObject*, %struct.CONTACT_KEY_TOKEN*, %struct.btQuadWord, float }
+%"struct.btCollisionWorld::LocalShapeInfo" = type { i32, i32 }
+%"struct.btCollisionWorld::RayResultCallback" = type { i32 (...)**, float, %struct.btCollisionObject*, i16, i16, i32 }
+%struct.btCompoundCollisionAlgorithm = type { %struct.btActivatingCollisionAlgorithm, %"struct.btAlignedObjectArray<btCollisionAlgorithm*>", i8, %struct.btPersistentManifold*, i8, i32 }
+%struct.btCompoundLeafCallback = type { %struct.btActionInterface, %struct.btCollisionObject*, %struct.btCollisionObject*, %struct.btActionInterface*, %struct.btDispatcherInfo*, %struct.btManifoldResult*, %struct.btCollisionAlgorithm**, %struct.btPersistentManifold* }
+%struct.btCompoundShape = type { %struct.btCollisionShape, %"struct.btAlignedObjectArray<btCompoundShapeChild>", %struct.btQuadWord, %struct.btQuadWord, %struct.btDbvt*, i32, float, %struct.btQuadWord }
+%struct.btCompoundShapeChild = type { %struct.btTransform, %struct.btCollisionShape*, i32, float, %struct.btDbvtNode* }
+%struct.btCompoundShapeChildData = type { %struct.btTransform, %struct.btCollisionShapeData*, i32, float }
+%struct.btConcaveShape = type { %struct.btCollisionShape, float }
+%struct.btConeShape = type { %struct.btConvexInternalShape, float, float, float, [3 x i32] }
+%struct.btConeShapeX = type { %struct.btConeShape }
+%struct.btConeTwistConstraint = type { %struct.btTypedConstraint, [3 x %struct.btJacobianEntry], %struct.btTransform, %struct.btTransform, float, float, float, float, float, float, float, float, %struct.btQuadWord, %struct.btQuadWord, float, float, float, float, float, float, float, float, i8, i8, i8, i8, float, float, %struct.btQuadWord, i8, i8, %struct.btQuaternion, float, %struct.btQuadWord, i32, float, float, float }
+%struct.btConnectivityProcessor = type { %struct.btActionInterface, i32, i32, %struct.btQuadWord*, %struct.btTriangleInfoMap* }
+%struct.btConstraintArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btSolverConstraint*, i8 }
+%struct.btConstraintSetting = type { float, float, float }
+%struct.btConstraintSolver = type { i32 (...)** }
+%struct.btContactArray = type { %"struct.btAlignedObjectArray<GIM_CONTACT>" }
+%struct.btContactConstraint = type { %struct.btTypedConstraint, %struct.btPersistentManifold }
+%struct.btContactSolverInfo = type { %struct.btContactSolverInfoData }
+%struct.btContactSolverInfoData = type { float, float, float, float, float, i32, float, float, float, float, float, i32, float, float, float, i32, i32, i32 }
+%struct.btContinuousConvexCollision = type { %struct.btActionInterface, %struct.btVoronoiSimplexSolver*, %struct.btActionInterface*, %struct.btConvexShape*, %struct.btConvexShape* }
+%struct.btContinuousDynamicsWorld = type { %struct.btDiscreteDynamicsWorld }
+%struct.btConvex2dConvex2dAlgorithm = type { %struct.btActivatingCollisionAlgorithm, %struct.btVoronoiSimplexSolver*, %struct.btActionInterface*, i8, %struct.btPersistentManifold*, i8, i32, i32 }
+%"struct.btConvex2dConvex2dAlgorithm::CreateFunc" = type { %struct.btCollisionAlgorithmCreateFunc, %struct.btActionInterface*, %struct.btVoronoiSimplexSolver*, i32, i32 }
+%struct.btConvex2dShape = type { %struct.btConvexShape, %struct.btConvexShape* }
+%struct.btConvexCast = type { i32 (...)** }
+%"struct.btConvexCast::CastResult" = type { i32 (...)**, %struct.btTransform, %struct.btTransform, %struct.btQuadWord, %struct.btQuadWord, float, %struct.btActionInterface*, float }
+%struct.btConvexConcaveCollisionAlgorithm = type { %struct.btActivatingCollisionAlgorithm, i8, %struct.btConvexTriangleCallback }
+%struct.btConvexConvexAlgorithm = type { %struct.btActivatingCollisionAlgorithm, %struct.btVoronoiSimplexSolver*, %struct.btActionInterface*, i8, %struct.btPersistentManifold*, i8, i32, i32 }
+%"struct.btConvexConvexAlgorithm::CreateFunc" = type { %struct.btCollisionAlgorithmCreateFunc, %struct.btActionInterface*, %struct.btVoronoiSimplexSolver*, i32, i32 }
+%struct.btConvexHullShape = type { %struct.btPolyhedralConvexAabbCachingShape, %"struct.btAlignedObjectArray<btVector3>" }
+%struct.btConvexInternalAabbCachingShape = type { %struct.btConvexInternalShape, %struct.btQuadWord, %struct.btQuadWord, i8 }
+%struct.btConvexInternalAabbCachingShape.base.32 = type { %struct.btConvexInternalShape, %struct.btQuadWord, %struct.btQuadWord, i8 }
+%struct.btConvexInternalShape = type { %struct.btConvexShape, %struct.btQuadWord, %struct.btQuadWord, float, float }
+%struct.btConvexPenetrationDepthSolver = type { i32 (...)** }
+%struct.btConvexPlaneCollisionAlgorithm = type { %struct.btCollisionAlgorithm, i8, %struct.btPersistentManifold*, i8, i32, i32 }
+%"struct.btConvexPlaneCollisionAlgorithm::CreateFunc" = type { %struct.btCollisionAlgorithmCreateFunc, i32, i32 }
+%struct.btConvexPointCloudShape = type { %struct.btPolyhedralConvexAabbCachingShape, %struct.btQuadWord*, i32 }
+%struct.btConvexShape = type { %struct.btCollisionShape }
+%struct.btConvexTriangleCallback = type { %struct.btActionInterface, %struct.btCollisionObject*, %struct.btCollisionObject*, %struct.btQuadWord, %struct.btQuadWord, %struct.btManifoldResult*, %struct.btActionInterface*, %struct.btDispatcherInfo*, float, i32, %struct.btPersistentManifold* }
+%struct.btConvexTriangleMeshShape = type { %struct.btPolyhedralConvexAabbCachingShape, %struct.btStridingMeshInterface* }
+%struct.btCylinderShape = type { %struct.btConvexInternalShape, i32 }
+%struct.btCylinderShapeX = type { %struct.btCapsuleShape }
+%struct.btDbvt = type { %struct.btDbvtNode*, %struct.btDbvtNode*, i32, i32, i32, %"struct.btAlignedObjectArray<btDbvt::sStkCLN>" }
+%"struct.btDbvt::IClone" = type { i32 (...)** }
+%"struct.btDbvt::ICollide" = type { i32 (...)** }
+%"struct.btDbvt::sStkCLN" = type { %struct.btDbvtNode*, %struct.btDbvtNode* }
+%"struct.btDbvt::sStkNN" = type { %struct.btDbvtNode*, %struct.btDbvtNode* }
+%struct.btDbvtBroadphase = type { %struct.btActionInterface, [2 x %struct.btDbvt], [3 x %struct.btDbvtProxy*], %struct..0btMultiSapOverlapFilterCallback*, float, i32, i32, i32, i32, i32, i32, i32, i32, float, i32, i32, i32, i8, i8, i8 }
+%struct.btDbvtNode = type { %struct.GIM_AABB, %struct.btDbvtNode*, %"union.btDbvtNode::._22" }
+%struct.btDbvtNodeEnumerator = type { %struct.btActionInterface, %"struct.btAlignedObjectArray<btDbvtNode*>" }
+%struct.btDbvtProxy = type { %struct.btBroadphaseProxy, %struct.btDbvtNode*, [2 x %struct.btDbvtProxy*], i32 }
+%struct.btDbvtTreeCollider = type { %struct.btActionInterface, %struct.btDbvtBroadphase*, %struct.btDbvtProxy* }
+%struct.btDbvtVolume = type { %struct.btQuadWord, %struct.btQuadWord }
+%struct.btDefaultCollisionConfiguration = type { %struct.btActionInterface, i32, %struct.btStackAlloc*, i8, %struct.btPoolAllocator*, i8, %struct.btPoolAllocator*, i8, %struct.btVoronoiSimplexSolver*, %struct.btActionInterface*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc*, %struct.btCollisionAlgorithmCreateFunc* }
+%struct.btDefaultCollisionConstructionInfo = type { %struct.btStackAlloc*, %struct.btPoolAllocator*, %struct.btPoolAllocator*, i32, i32, i32, i32, i32 }
+%struct.btDefaultMotionState = type { %struct.btActionInterface, %struct.btTransform, %struct.btTransform, %struct.btTransform, i8* }
+%struct.btDefaultVehicleRaycaster = type { %struct.btActionInterface, %struct.btDynamicsWorld* }
+%struct.btDiscreteCollisionDetectorInterface = type { i32 (...)** }
+%"struct.btDiscreteCollisionDetectorInterface::ClosestPointInput" = type { %struct.btTransform, %struct.btTransform, float, %struct.btStackAlloc* }
+%"struct.btDiscreteCollisionDetectorInterface::Result" = type { i32 (...)** }
+%struct.btDiscreteDynamicsWorld = type { %struct.btDynamicsWorld, %struct.btActionInterface*, %struct.btSimulationIslandManager*, %"struct.btAlignedObjectArray<btTypedConstraint*>", %"struct.btAlignedObjectArray<btRigidBody*>", %struct.btQuadWord, float, i8, i8, i8, %"struct.btAlignedObjectArray<btActionInterface*>", i32 }
+%struct.btDispatcher = type { i32 (...)** }
+%struct.btDispatcherInfo = type { float, i32, i32, float, i8, %struct.btActionInterface*, i8, i8, i8, float, i8, float, i8, %struct.btStackAlloc* }
+%struct.btDynamicsWorld = type { %struct.btCollisionWorld, void (%struct.btDynamicsWorld*, float)*, void (%struct.btDynamicsWorld*, float)*, i8*, %struct.btContactSolverInfo }
+%struct.btElement = type { i32, i32 }
+%struct.btEmptyAlgorithm = type { %struct.btCollisionAlgorithm }
+%struct.btEmptyShape = type { %struct.btConcaveShape, %struct.btQuadWord }
+%struct.btGImpactBoxSet = type { %struct.btQuantizedBvhTree, %struct.btActionInterface* }
+%struct.btGImpactBvh = type { %struct.btBvhTree, %struct.btActionInterface* }
+%struct.btGImpactCollisionAlgorithm = type { %struct.btActivatingCollisionAlgorithm, %struct.btCollisionAlgorithm*, %struct.btPersistentManifold*, %struct.btManifoldResult*, %struct.btDispatcherInfo*, i32, i32, i32, i32 }
+%"struct.btGImpactCollisionAlgorithm::CreateFunc" = type { %struct.btCollisionAlgorithmCreateFunc }
+%struct.btGImpactCompoundShape = type { %struct.btGImpactShapeInterface, %"struct.btGImpactCompoundShape::CompoundPrimitiveManager", %"struct.btAlignedObjectArray<btTransform>", %"struct.btAlignedObjectArray<btCollisionShape*>" }
+%"struct.btGImpactCompoundShape::CompoundPrimitiveManager" = type { %struct.btActionInterface, %struct.btGImpactCompoundShape* }
+%struct.btGImpactMeshShape = type { %struct.btGImpactShapeInterface, %struct.btStridingMeshInterface*, %"struct.btAlignedObjectArray<btGImpactMeshShapePart*>" }
+%struct.btGImpactMeshShapePart = type { %struct.btGImpactShapeInterface, %"struct.btGImpactMeshShapePart::TrimeshPrimitiveManager" }
+%"struct.btGImpactMeshShapePart::TrimeshPrimitiveManager" = type { %struct.btActionInterface, float, %struct.btStridingMeshInterface*, %struct.btQuadWord, i32, i32, i8*, i32, i32, i32, i8*, i32, i32, i32 }
+%struct.btGImpactQuantizedBvh = type { %struct.btQuantizedBvhTree, %struct.btActionInterface* }
+%struct.btGImpactShapeInterface = type { %struct.btConcaveShape, %struct.GIM_AABB, i8, %struct.btQuadWord, %struct.btGImpactBoxSet }
+%struct.btGImpactTriangleCallback = type { %struct.btActionInterface, %struct.btGImpactCollisionAlgorithm*, %struct.btCollisionObject*, %struct.btCollisionObject*, %struct.btGImpactShapeInterface*, i8, float }
+%struct.btGeneric6DofConstraint = type { %struct.btTypedConstraint, %struct.btTransform, %struct.btTransform, [3 x %struct.btJacobianEntry], [3 x %struct.btJacobianEntry], %struct.btTranslationalLimitMotor, [3 x %struct.btRotationalLimitMotor], float, %struct.btTransform, %struct.btTransform, %struct.btQuadWord, [3 x %struct.btQuadWord], %struct.btQuadWord, float, float, i8, %struct.btQuadWord, i8, i8, i32, i8 }
+%struct.btGeneric6DofSpringConstraint = type { [1297 x i8], [6 x i8], [6 x float], [6 x float], [6 x float] }
+%struct.btGenericMemoryPool = type { i8*, i32*, i32*, i32, i32, i32, i32 }
+%struct.btGenericPoolAllocator = type { i32 (...)**, i32, i32, [16 x %struct.btGenericMemoryPool*], i32 }
+%struct.btGhostObject = type { %struct.btCollisionObject, %"struct.btAlignedObjectArray<btCollisionObject*>" }
+%struct.btGjkConvexCast = type { %struct.btActionInterface, %struct.btVoronoiSimplexSolver*, %struct.btConvexShape*, %struct.btConvexShape* }
+%struct.btGjkEpaPenetrationDepthSolver = type { %struct.btActionInterface }
+%"struct.btGjkEpaSolver2::sResults" = type { i32, [2 x %struct.btQuadWord], %struct.btQuadWord, float }
+%struct.btGjkPairDetector = type { %struct.btActionInterface, %struct.btQuadWord, %struct.btActionInterface*, %struct.btVoronoiSimplexSolver*, %struct.btConvexShape*, %struct.btConvexShape*, i32, i32, float, float, i8, float, i32, i32, i32, i32 }
+%struct.btHashInt = type { i32 }
+%"struct.btHashMap<btHashInt,btTriangleInfo>" = type { %"struct.btAlignedObjectArray<int>", %"struct.btAlignedObjectArray<int>", %"struct.btAlignedObjectArray<btTriangleInfo>", %"struct.btAlignedObjectArray<btHashInt>" }
+%"struct.btHashMap<btHashPtr,btCollisionShape*>" = type { %"struct.btAlignedObjectArray<int>", %"struct.btAlignedObjectArray<int>", %"struct.btAlignedObjectArray<btCollisionShape*>", %"struct.btAlignedObjectArray<btHashPtr>" }
+%struct.btHashPtr = type { %"union.btHashPtr::._23" }
+%struct.btHashedOverlappingPairCache = type { %struct..0btMultiSapOverlapFilterCallback, %"struct.btAlignedObjectArray<btBroadphasePair>", %struct.btActionInterface*, i8, %"struct.btAlignedObjectArray<int>", %"struct.btAlignedObjectArray<int>", %struct.btActionInterface* }
+%struct.btHeightfieldTerrainShape = type { %struct.btConcaveShape, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, i32, i32, float, float, float, float, float, %"union.btBroadphasePair::._22", i32, i8, i8, i32, %struct.btQuadWord }
+%struct.btHinge2Constraint = type { %struct.btGeneric6DofSpringConstraint, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord }
+%struct.btHingeConstraint = type { %struct.btTypedConstraint, [3 x %struct.btJacobianEntry], [3 x %struct.btJacobianEntry], %struct.btTransform, %struct.btTransform, float, float, float, float, float, float, float, float, float, float, float, float, float, i8, i8, i8, i8, i8, i8, float, i32, float, float, float }
+%struct.btHullTriangle = type { %struct.int3, %struct.int3, i32, i32, float }
+%struct.btIDebugDraw = type { i32 (...)** }
+%struct.btIndexedMesh = type { i32, i8*, i32, i32, i8*, i32, i32, i32 }
+%struct.btIntIndexData = type { i32 }
+%struct.btInternalTriangleIndexCallback = type { i32 (...)** }
+%struct.btJacobianEntry = type { %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, float }
+%struct.btKinematicCharacterController = type { %struct..0btMultiSapOverlapFilterCallback, float, %struct.btPairCachingGhostObject*, %struct.btConvexShape*, float, float, float, float, float, float, float, float, float, float, float, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, float, %struct.btQuadWord, %"struct.btAlignedObjectArray<btPersistentManifold*>", i8, %struct.btQuadWord, i8, i8, i8, i8, float, i32 }
+%struct.btKinematicClosestNotMeConvexResultCallback = type { %"struct.btCollisionWorld::ClosestConvexResultCallback", %struct.btCollisionObject*, %struct.btQuadWord, float }
+%struct.btManifoldArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btPersistentManifold**, i8 }
+%struct.btManifoldPoint = type { %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, float, float, float, i32, i32, i32, i32, i8*, float, i8, float, float, float, float, float, float, i32, %struct.btQuadWord, %struct.btQuadWord, [3 x %struct.PfxConstraintRow] }
+%struct.btManifoldResult = type { %struct.btActionInterface, %struct.btPersistentManifold*, %struct.btTransform, %struct.btTransform, %struct.btCollisionObject*, %struct.btCollisionObject*, i32, i32, i32, i32 }
+%struct.btMaterial = type { float, float, [2 x i32] }
+%struct.btMaterialProperties = type { i32, i8*, i32, i32, i32, i8*, i32, i32 }
+%struct.btMatrix3x3 = type { [3 x %struct.btQuadWord] }
+%struct.btMeshPartData = type { %struct.btQuadWord*, %struct.btVector3DoubleData*, %struct.btHashInt*, %struct.btShortIntIndexTripletData*, %struct.btShortIntIndexData*, i32, i32 }
+%struct.btMinkowskiPenetrationDepthSolver = type { %struct.btActionInterface }
+%struct.btMinkowskiSumShape = type { %struct.btConvexInternalShape, %struct.btTransform, %struct.btTransform, %struct.btConvexShape*, %struct.btConvexShape* }
+%struct.btMotionState = type { i32 (...)** }
+%struct.btMultiSapBroadphase = type { %struct.btActionInterface, %"struct.btAlignedObjectArray<btActionInterface*>", %struct.btSimpleBroadphase*, %struct..0btMultiSapOverlapFilterCallback*, %struct.btQuantizedBvh*, i8, %struct.btActionInterface*, i32, %"struct.btAlignedObjectArray<btMultiSapBroadphase::btMultiSapProxy*>" }
+%"struct.btMultiSapBroadphase::btBridgeProxy" = type { %struct.btBroadphaseProxy*, %struct.btActionInterface* }
+%"struct.btMultiSapBroadphase::btMultiSapProxy" = type { %struct.btBroadphaseProxy, %"struct.btAlignedObjectArray<btMultiSapBroadphase::btBridgeProxy*>", %struct.btQuadWord, %struct.btQuadWord, i32 }
+%struct.btMultiSphereShape = type { %struct.btConvexInternalAabbCachingShape, %"struct.btAlignedObjectArray<btVector3>", %"struct.btAlignedObjectArray<float>" }
+%struct.btMultimaterialTriangleMeshShape = type { %struct.btBvhTriangleMeshShape, %"struct.btAlignedObjectArray<btMaterial*>", i32** }
+%struct.btNodeOverlapCallback = type { i32 (...)** }
+%struct.btNullPairCache = type { %struct..0btMultiSapOverlapFilterCallback, %"struct.btAlignedObjectArray<btBroadphasePair>" }
+%struct.btOptimizedBvh = type { %struct.btQuantizedBvh }
+%struct.btOptimizedBvhNode = type { %struct.btQuadWord, %struct.btQuadWord, i32, i32, i32, [5 x i32] }
+%struct.btOptimizedBvhNodeDoubleData = type { %struct.btVector3DoubleData, %struct.btVector3DoubleData, i32, i32, i32, [4 x i8] }
+%struct.btOptimizedBvhNodeFloatData = type { %struct.btQuadWord, %struct.btQuadWord, i32, i32, i32, [4 x i8] }
+%struct.btOverlappingPairCache = type { %struct.btActionInterface }
+%struct.btOverlappingPairCallback = type { i32 (...)** }
+%struct.btPairCachingGhostObject = type { %struct.btGhostObject, %struct.btHashedOverlappingPairCache* }
+%struct.btPairSet = type { %"struct.btAlignedObjectArray<CONTACT_KEY_TOKEN>" }
+%struct.btPersistentManifold = type { %struct.btHashInt, [4 x %struct.btManifoldPoint], i8*, i8*, i32, float, float, i32, i32, i32 }
+%struct.btPerturbedContactResult = type { %struct.btManifoldResult, %struct.btManifoldResult*, %struct.btTransform, %struct.btTransform, %struct.btTransform, i8, %struct.btActionInterface* }
+%struct.btPlane = type { %struct.btQuadWord, float }
+%struct.btPoint2PointConstraint = type { %struct.btTypedConstraint, [3 x %struct.btJacobianEntry], %struct.btQuadWord, %struct.btQuadWord, i32, float, float, i8, %struct.btConstraintSetting }
+%struct.btPointCollector = type { %struct.btActionInterface, %struct.btQuadWord, %struct.btQuadWord, float, i8 }
+%struct.btPolyhedralConvexAabbCachingShape = type { %struct.btPolyhedralConvexShape, %struct.btQuadWord, %struct.btQuadWord, i8 }
+%struct.btPolyhedralConvexAabbCachingShape.base.32 = type { %struct.btPolyhedralConvexShape, %struct.btQuadWord, %struct.btQuadWord, i8 }
+%struct.btPolyhedralConvexShape = type { %struct.btConvexInternalShape }
+%struct.btPoolAllocator = type { i32, i32, i32, i8*, i8* }
+%struct.btPositionAndRadius = type { %struct.btQuadWord, float }
+%struct.btPrimitiveManagerBase = type { i32 (...)** }
+%struct.btPrimitiveTriangle = type { [3 x %struct.btQuadWord], %struct.btQuaternion, float, float }
+%struct.btQuadWord = type { [4 x float] }
+%struct.btQuantizedBvh = type { i32 (...)**, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, i32, i32, i8, %struct.NodeArray, %struct.NodeArray, %struct.QuantizedNodeArray, %struct.QuantizedNodeArray, i32, %struct.BvhSubtreeInfoArray, i32 }
+%struct.btQuantizedBvhDoubleData = type { %struct.btVector3DoubleData, %struct.btVector3DoubleData, %struct.btVector3DoubleData, i32, i32, i32, i32, %struct.btOptimizedBvhNodeDoubleData*, %struct.BT_QUANTIZED_BVH_NODE*, i32, i32, %struct.btBvhSubtreeInfoData* }
+%struct.btQuantizedBvhFloatData = type { %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, i32, i32, i32, i32, %struct.btOptimizedBvhNodeFloatData*, %struct.BT_QUANTIZED_BVH_NODE*, %struct.btBvhSubtreeInfoData*, i32, i32 }
+%struct.btQuantizedBvhNode = type { [3 x i16], [3 x i16], i32 }
+%struct.btQuantizedBvhTree = type { i32, %struct.GIM_QUANTIZED_BVH_NODE_ARRAY, %struct.GIM_AABB, %struct.btQuadWord }
+%struct.btQuaternion = type { %struct.btQuadWord }
+%struct.btRaycastVehicle = type { %struct.btActionInterface, %"struct.btAlignedObjectArray<btVector3>", %"struct.btAlignedObjectArray<btVector3>", %"struct.btAlignedObjectArray<float>", %"struct.btAlignedObjectArray<float>", i32, i32, float, float, %struct.btActionInterface*, float, float, float, %struct.btRigidBody*, i32, i32, i32, %"struct.btAlignedObjectArray<btWheelInfo>" }
+%"struct.btRaycastVehicle::btVehicleTuning" = type { float, float, float, float, float, float }
+%struct.btRigidBody = type { %struct.btCollisionObject, %struct.btMatrix3x3, %struct.btQuadWord, %struct.btQuadWord, float, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, float, float, i8, float, float, float, float, float, float, %struct.btActionInterface*, %"struct.btAlignedObjectArray<btTypedConstraint*>", i32, i32, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, i32, i32 }
+%"struct.btRigidBody::btRigidBodyConstructionInfo" = type { float, %struct.btActionInterface*, %struct.btTransform, %struct.btCollisionShape*, %struct.btQuadWord, float, float, float, float, float, float, i8, float, float, float, float }
+%struct.btRigidBodyFloatData = type { %struct.btCollisionObjectFloatData, %struct.btMatrix3x3, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, float, float, float, float, float, float, float, float, float, i32 }
+%struct.btRotationalLimitMotor = type { float, float, float, float, float, float, float, float, float, float, float, i8, float, float, i32, float }
+%struct.btSapBroadphaseArray = type { %struct.CONTACT_KEY_TOKEN_COMP, i32, i32, %struct.btActionInterface**, i8 }
+%struct.btScaledBvhTriangleMeshShape = type { %struct.btConcaveShape, %struct.btQuadWord, %struct.btBvhTriangleMeshShape* }
+%struct.btScaledTriangleCallback = type { %struct.btActionInterface, %struct.btActionInterface*, %struct.btQuadWord }
+%struct.btSequentialImpulseConstraintSolver = type { %struct.btActionInterface, %struct.btConstraintArray, %struct.btConstraintArray, %struct.btConstraintArray, %"struct.btAlignedObjectArray<int>", %"struct.btAlignedObjectArray<int>", %"struct.btAlignedObjectArray<CONTACT_KEY_TOKEN>", i32 }
+%struct.btSerializer = type { i32 (...)** }
+%struct.btShapeHull = type { %"struct.btAlignedObjectArray<btVector3>", %"struct.btAlignedObjectArray<int>", i32, %struct.btConvexShape* }
+%struct.btShortIntIndexData = type { i16, [2 x i8] }
+%struct.btShortIntIndexTripletData = type { [3 x i16], [2 x i8] }
+%struct.btSimpleBroadphase = type { %struct.btActionInterface, i32, i32, i32, %struct.btSimpleBroadphaseProxy*, i8*, i32, %struct..0btMultiSapOverlapFilterCallback*, i8, i32 }
+%struct.btSimpleBroadphaseProxy = type { %struct.btBroadphaseProxy, i32 }
+%struct.btSimpleDynamicsWorld = type { %struct.btDynamicsWorld, %struct.btActionInterface*, i8, %struct.btQuadWord }
+%struct.btSimulationIslandManager = type { i32 (...)**, %struct.btPairSet, %"struct.btAlignedObjectArray<btPersistentManifold*>", %"struct.btAlignedObjectArray<btCollisionObject*>", i8 }
+%struct.btSingleContactCallback = type { %struct.btActionInterface, %struct.btCollisionObject*, %struct.btCollisionWorld*, %"struct.btCollisionWorld::ContactResultCallback"* }
+%struct.btSingleRayCallback = type { %struct.btBroadphaseRayCallback, %struct.btQuadWord, %struct.btQuadWord, %struct.btTransform, %struct.btTransform, %struct.btQuadWord, %struct.btCollisionWorld*, %"struct.btCollisionWorld::RayResultCallback"* }
+%struct.btSingleSweepCallback = type { %struct.btBroadphaseRayCallback, %struct.btTransform, %struct.btTransform, %struct.btQuadWord, %struct.btCollisionWorld*, %"struct.btCollisionWorld::ConvexResultCallback"*, float, %struct.btConvexShape* }
+%struct.btSliderConstraint = type { %struct.btTypedConstraint, i8, i8, %struct.btTransform, %struct.btTransform, i8, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, i8, i8, i32, [3 x %struct.btJacobianEntry], [3 x float], [3 x %struct.btJacobianEntry], float, %struct.btTransform, %struct.btTransform, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, float, float, float, float, i8, float, float, float, i8, float, float, float }
+%struct.btSolve2LinearConstraint = type { float, float }
+%struct.btSolverConstraint = type { %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, float, float, float, float, %struct.btHashInt, %struct.btHashInt, %"union.btSolverConstraint::._25", %"union.btSolverConstraint::._25", %"union.btBroadphasePair::._22", float, float, float, float, float }
+%struct.btSortedOverlappingPairCache = type { %struct..0btMultiSapOverlapFilterCallback, %"struct.btAlignedObjectArray<btBroadphasePair>", i8, i8, %struct.btActionInterface*, %struct.btActionInterface* }
+%struct.btSphereBoxCollisionAlgorithm = type { %struct.btActivatingCollisionAlgorithm, i8, %struct.btPersistentManifold*, i8 }
+%struct.btSphereShape = type { %struct.btConvexInternalShape }
+%struct.btSphereSphereCollisionAlgorithm = type { %struct.btActivatingCollisionAlgorithm, i8, %struct.btPersistentManifold* }
+%struct.btSphereTriangleCollisionAlgorithm = type { %struct.btActivatingCollisionAlgorithm, i8, %struct.btPersistentManifold*, i8 }
+%struct.btStackAlloc = type { i8*, i32, i32, %struct.btBlock*, i8 }
+%struct.btStaticPlaneShape = type { %struct.btConcaveShape, %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, float, %struct.btQuadWord }
+%struct.btStridingMeshInterface = type { i32 (...)**, %struct.btQuadWord }
+%struct.btSubSimplexClosestResult = type { %struct.btQuadWord, %struct.btUsageBitfield, [4 x float], i8 }
+%struct.btSubsimplexConvexCast = type { %struct.btActionInterface, %struct.btVoronoiSimplexSolver*, %struct.btConvexShape*, %struct.btConvexShape* }
+%struct.btTetrahedronShapeEx = type { %struct.btBU_Simplex1to4 }
+%struct.btTransform = type { %struct.btMatrix3x3, %struct.btQuadWord }
+%struct.btTranslationalLimitMotor = type { %struct.btQuadWord, %struct.btQuadWord, %struct.btQuadWord, float, float, float, %struct.btQuadWord