; LLVM IR from jrouwe/JoltPhysics :: Samples/Tests/ConvexCollision/ConvexHullTest.ll (ZN14ConvexHullTest10InitializeEv)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.std::initializer_list" = type { ptr, i64 }
%"class.JPH::Array.4" = type { i64, i64, ptr }
%"class.std::initializer_list.7" = type { ptr, i64 }
%"class.JPH::Vec3" = type { %union.anon }
%union.anon = type { <4 x float> }
%"class.JPH::STLAllocator.5" = type { i8 }
%"class.JPH::Mat44" = type { [4 x %"class.JPH::Vec4"] }
%"class.JPH::Vec4" = type { %union.anon.8 }
%union.anon.8 = type { <4 x float> }
%class.AssetStream = type { %"class.std::basic_ifstream" }
%"class.std::basic_ifstream" = type { %"class.std::basic_istream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon.9 }
%union.anon.9 = type { i32 }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.JPH::Float3" = type { float, float, float }
%class.ConvexHullTest = type { %class.Test, %"class.JPH::Array", i64, %"class.std::linear_congruential_engine" }
%class.Test = type { ptr, ptr, ptr, ptr, ptr, ptr, i8, %"class.std::unordered_map" }
%"class.std::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.JPH::Array" = type { i64, i64, ptr }
%"class.std::linear_congruential_engine" = type { i64 }

@.str.1 = external hidden unnamed_addr constant [17 x i8], align 1

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

declare i32 @__gxx_personality_v0(...)

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN14ConvexHullTest10InitializeEv(ptr noundef nonnull align 8 dereferenceable(152) %0) unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca %"class.std::initializer_list", align 8
  %4 = alloca [12 x %"class.JPH::Array.4"], align 8
  %5 = alloca ptr, align 8
  %6 = alloca %"class.std::initializer_list.7", align 8
  %7 = alloca [4 x %"class.JPH::Vec3"], align 16
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca %"class.JPH::STLAllocator.5", align 1
  %11 = alloca %"class.std::initializer_list.7", align 8
  %12 = alloca [4 x %"class.JPH::Vec3"], align 16
  %13 = alloca %"class.JPH::STLAllocator.5", align 1
  %14 = alloca %"class.std::initializer_list.7", align 8
  %15 = alloca [5 x %"class.JPH::Vec3"], align 16
  %16 = alloca %"class.JPH::STLAllocator.5", align 1
  %17 = alloca %"class.std::initializer_list.7", align 8
  %18 = alloca [23 x %"class.JPH::Vec3"], align 16
  %19 = alloca %"class.JPH::STLAllocator.5", align 1
  %20 = alloca %"class.std::initializer_list.7", align 8
  %21 = alloca [82 x %"class.JPH::Vec3"], align 16
  %22 = alloca %"class.JPH::STLAllocator.5", align 1
  %23 = alloca %"class.std::initializer_list.7", align 8
  %24 = alloca [16 x %"class.JPH::Vec3"], align 16
  %25 = alloca %"class.JPH::STLAllocator.5", align 1
  %26 = alloca %"class.std::initializer_list.7", align 8
  %27 = alloca [28 x %"class.JPH::Vec3"], align 16
  %28 = alloca %"class.JPH::STLAllocator.5", align 1
  %29 = alloca %"class.std::initializer_list.7", align 8
  %30 = alloca [100 x %"class.JPH::Vec3"], align 16
  %31 = alloca %"class.JPH::STLAllocator.5", align 1
  %32 = alloca %"class.std::initializer_list.7", align 8
  %33 = alloca [60 x %"class.JPH::Vec3"], align 16
  %34 = alloca %"class.JPH::STLAllocator.5", align 1
  %35 = alloca %"class.std::initializer_list.7", align 8
  %36 = alloca [16 x %"class.JPH::Vec3"], align 16
  %37 = alloca %"class.JPH::STLAllocator.5", align 1
  %38 = alloca %"class.std::initializer_list.7", align 8
  %39 = alloca [16 x %"class.JPH::Vec3"], align 16
  %40 = alloca %"class.JPH::STLAllocator.5", align 1
  %41 = alloca %"class.std::initializer_list.7", align 8
  %42 = alloca [8 x %"class.JPH::Vec3"], align 16
  %43 = alloca %"class.JPH::STLAllocator.5", align 1
  %44 = alloca i1, align 1
  %45 = alloca %"class.JPH::Array.4", align 8
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca %"class.JPH::Vec3", align 16
  %51 = alloca %"class.JPH::Vec3", align 16
  %52 = alloca %"class.JPH::Vec3", align 16
  %53 = alloca %"class.JPH::Vec3", align 16
  %54 = alloca %"class.JPH::Array.4", align 8
  %55 = alloca %"class.JPH::Mat44", align 16
  %56 = alloca float, align 4
  %57 = alloca float, align 4
  %58 = alloca %"class.JPH::Vec3", align 16
  %59 = alloca %"class.JPH::Vec3", align 16
  %60 = alloca %"class.JPH::Array.4", align 8
  %61 = alloca float, align 4
  %62 = alloca %"class.JPH::Vec3", align 16
  %63 = alloca %"class.JPH::Vec3", align 16
  %64 = alloca %"class.JPH::Vec3", align 16
  %65 = alloca %"class.JPH::Array.4", align 8
  %66 = alloca float, align 4
  %67 = alloca float, align 4
  %68 = alloca %"class.JPH::Vec3", align 16
  %69 = alloca %class.AssetStream, align 8
  %70 = alloca ptr, align 8
  %71 = alloca i32, align 4
  %72 = alloca %"class.JPH::Array.4", align 8
  %73 = alloca i32, align 4
  %74 = alloca %"class.JPH::Float3", align 4
  %75 = alloca %"class.JPH::Vec3", align 16
  store ptr %0, ptr %2, align 8, !tbaa !5
  %76 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 288, ptr %4) #9
  store i1 true, ptr %44, align 1
  store ptr %4, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 64, ptr %7) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %7, float noundef -1.000000e+00, float noundef 0.000000e+00, float noundef -1.000000e+00)
          to label %77 unwind label %904

77:                                               ; preds = %1
  %78 = getelementptr inbounds %"class.JPH::Vec3", ptr %7, i64 1
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %78, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef -1.000000e+00)
          to label %79 unwind label %904

79:                                               ; preds = %77
  %80 = getelementptr inbounds %"class.JPH::Vec3", ptr %7, i64 2
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %80, float noundef -1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00)
          to label %81 unwind label %904

81:                                               ; preds = %79
  %82 = getelementptr inbounds %"class.JPH::Vec3", ptr %7, i64 3
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %82, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00)
          to label %83 unwind label %904

83:                                               ; preds = %81
  %84 = getelementptr inbounds %"class.std::initializer_list.7", ptr %6, i32 0, i32 0
  store ptr %7, ptr %84, align 8, !tbaa !9
  %85 = getelementptr inbounds %"class.std::initializer_list.7", ptr %6, i32 0, i32 1
  store i64 4, ptr %85, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 1, ptr %10) #9
  %86 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0
  %87 = load ptr, ptr %86, align 8
  %88 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1
  %89 = load i64, ptr %88, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr %87, i64 %89, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %90 unwind label %908

90:                                               ; preds = %83
  %91 = getelementptr inbounds %"class.JPH::Array.4", ptr %4, i64 1
  store ptr %91, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 64, ptr %12) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %12, float noundef -1.000000e+00, float noundef 0.000000e+00, float noundef -1.000000e+00)
          to label %92 unwind label %912

92:                                               ; preds = %90
  %93 = getelementptr inbounds %"class.JPH::Vec3", ptr %12, i64 1
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %93, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef -1.000000e+00)
          to label %94 unwind label %912

94:                                               ; preds = %92
  %95 = getelementptr inbounds %"class.JPH::Vec3", ptr %12, i64 2
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %95, float noundef -1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00)
          to label %96 unwind label %912

96:                                               ; preds = %94
  %97 = getelementptr inbounds %"class.JPH::Vec3", ptr %12, i64 3
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %97, float noundef -5.000000e-01, float noundef 0.000000e+00, float noundef -5.000000e-01)
          to label %98 unwind label %912

98:                                               ; preds = %96
  %99 = getelementptr inbounds %"class.std::initializer_list.7", ptr %11, i32 0, i32 0
  store ptr %12, ptr %99, align 8, !tbaa !9
  %100 = getelementptr inbounds %"class.std::initializer_list.7", ptr %11, i32 0, i32 1
  store i64 4, ptr %100, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 1, ptr %13) #9
  %101 = getelementptr inbounds { ptr, i64 }, ptr %11, i32 0, i32 0
  %102 = load ptr, ptr %101, align 8
  %103 = getelementptr inbounds { ptr, i64 }, ptr %11, i32 0, i32 1
  %104 = load i64, ptr %103, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %91, ptr %102, i64 %104, ptr noundef nonnull align 1 dereferenceable(1) %13)
          to label %105 unwind label %916

105:                                              ; preds = %98
  %106 = getelementptr inbounds %"class.JPH::Array.4", ptr %4, i64 2
  store ptr %106, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 80, ptr %15) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %15, float noundef -1.000000e+00, float noundef 0.000000e+00, float noundef -1.000000e+00)
          to label %107 unwind label %920

107:                                              ; preds = %105
  %108 = getelementptr inbounds %"class.JPH::Vec3", ptr %15, i64 1
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %108, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef -1.000000e+00)
          to label %109 unwind label %920

109:                                              ; preds = %107
  %110 = getelementptr inbounds %"class.JPH::Vec3", ptr %15, i64 2
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %110, float noundef -1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00)
          to label %111 unwind label %920

111:                                              ; preds = %109
  %112 = getelementptr inbounds %"class.JPH::Vec3", ptr %15, i64 3
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %112, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00)
          to label %113 unwind label %920

113:                                              ; preds = %111
  %114 = getelementptr inbounds %"class.JPH::Vec3", ptr %15, i64 4
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %114, float noundef 0.000000e+00, float noundef 1.000000e+00, float noundef 0.000000e+00)
          to label %115 unwind label %920

115:                                              ; preds = %113
  %116 = getelementptr inbounds %"class.std::initializer_list.7", ptr %14, i32 0, i32 0
  store ptr %15, ptr %116, align 8, !tbaa !9
  %117 = getelementptr inbounds %"class.std::initializer_list.7", ptr %14, i32 0, i32 1
  store i64 5, ptr %117, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 1, ptr %16) #9
  %118 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 0
  %119 = load ptr, ptr %118, align 8
  %120 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 1
  %121 = load i64, ptr %120, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %106, ptr %119, i64 %121, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %122 unwind label %924

122:                                              ; preds = %115
  %123 = getelementptr inbounds %"class.JPH::Array.4", ptr %4, i64 3
  store ptr %123, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 368, ptr %18) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %18, float noundef 0x3FF4207B60000000, float noundef 0x3FC41C4DE0000000, float noundef 0x3FF387D940000000)
          to label %124 unwind label %928

124:                                              ; preds = %122
  %125 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 1
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %125, float noundef 0x3FFED33BA0000000, float noundef 0x3FC41C5380000000, float noundef 0x3FCED14320000000)
          to label %126 unwind label %928

126:                                              ; preds = %124
  %127 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 2
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %127, float noundef 0x3FF67104C0000000, float noundef 0x3FC41C5A00000000, float noundef 0xBFEAB73480000000)
          to label %128 unwind label %928

128:                                              ; preds = %126
  %129 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 3
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %129, float noundef 0x3FFF0DC7A0000000, float noundef 0x3FC41C4BA0000000, float noundef 0xBFE94DB360000000)
          to label %130 unwind label %928

130:                                              ; preds = %128
  %131 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 4
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %131, float noundef 0x4001A48800000000, float noundef 0x3FC41C4920000000, float noundef 0xBFD2084380000000)
          to label %132 unwind label %928

132:                                              ; preds = %130
  %133 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 5
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %133, float noundef 0x3FA5D21F60000000, float noundef 0x3FC41C4F80000000, float noundef 0xBFF67C4200000000)
          to label %134 unwind label %928

134:                                              ; preds = %132
  %135 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 6
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %135, float noundef 0x3FF1C4D7E0000000, float noundef 0x3FC41C4F80000000, float noundef 0xBFF5615AC0000000)
          to label %136 unwind label %928

136:                                              ; preds = %134
  %137 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 7
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %137, float noundef 0x3FC71A5300000000, float noundef 0x3FC41C5540000000, float noundef 0x3FF2A09040000000)
          to label %138 unwind label %928

138:                                              ; preds = %136
  %139 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 8
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %139, float noundef 0xBFF58D2E40000000, float noundef 0x3FC41C3660000000, float noundef 0xBFEF53A8A0000000)
          to label %140 unwind label %928

140:                                              ; preds = %138
  %141 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %141, float noundef 0xBFEF662F80000000, float noundef 0x3FC41C3420000000, float noundef 0xBFF7226180000000)
          to label %142 unwind label %928

142:                                              ; preds = %140
  %143 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 10
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %143, float noundef 0xBFFD1EE6E0000000, float noundef 0x3FC41C10A0000000, float noundef 0x3FF0CE4740000000)
          to label %144 unwind label %928

144:                                              ; preds = %142
  %145 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 11
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %145, float noundef 0xBFD81FE680000000, float noundef 0x3FC41C4EC0000000, float noundef 0x3FF22AC8C0000000)
          to label %146 unwind label %928

146:                                              ; preds = %144
  %147 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 12
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %147, float noundef 0xBFF6131F20000000, float noundef 0x3FC41C2B80000000, float noundef 0x3FF15389E0000000)
          to label %148 unwind label %928

148:                                              ; preds = %146
  %149 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 13
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %149, float noundef 0xBFF0BC68E0000000, float noundef 0x3FC41C2280000000, float noundef 0x3FF8C85780000000)
          to label %150 unwind label %928

150:                                              ; preds = %148
  %151 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 14
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %151, float noundef 0xBFE31BAAE0000000, float noundef 0x3FC41C32E0000000, float noundef 0x3FF928B280000000)
          to label %152 unwind label %928

152:                                              ; preds = %150
  %153 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 15
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %153, float noundef 0xC000C0A900000000, float noundef 0x3FC41C0F60000000, float noundef 0x3FE1ECA2E0000000)
          to label %154 unwind label %928

154:                                              ; preds = %152
  %155 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 16
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %155, float noundef 0xBFFEB27A80000000, float noundef 0x3FC41C2280000000, float noundef 0x3FA4180300000000)
          to label %156 unwind label %928

156:                                              ; preds = %154
  %157 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 17
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %157, float noundef 0xC000AE2600000000, float noundef 0x3FC41C1480000000, float noundef 0xBFE03617E0000000)
          to label %158 unwind label %928

158:                                              ; preds = %156
  %159 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 18
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %159, float noundef 0xBFFCD83280000000, float noundef 0x3FC41C1AE0000000, float noundef 0xBFEF94F0A0000000)
          to label %160 unwind label %928

160:                                              ; preds = %158
  %161 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 19
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %161, float noundef 0x3FDBD45680000000, float noundef 0x3FC41C4040000000, float noundef 0x3FFA02CC40000000)
          to label %162 unwind label %928

162:                                              ; preds = %160
  %163 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 20
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %163, float noundef 0x3FED5AE6A0000000, float noundef 0x3FC41C3CC0000000, float noundef 0x3FFA6A6000000000)
          to label %164 unwind label %928

164:                                              ; preds = %162
  %165 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 21
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %165, float noundef 0x3FFC6F0080000000, float noundef 0x3FC41C3F60000000, float noundef 0x3FF3D27300000000)
          to label %166 unwind label %928

166:                                              ; preds = %164
  %167 = getelementptr inbounds %"class.JPH::Vec3", ptr %18, i64 22
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %167, float noundef 0x4000EA22C0000000, float noundef 0x3FC41C42E0000000, float noundef 0x3FE8FB6780000000)
          to label %168 unwind label %928

168:                                              ; preds = %166
  %169 = getelementptr inbounds %"class.std::initializer_list.7", ptr %17, i32 0, i32 0
  store ptr %18, ptr %169, align 8, !tbaa !9
  %170 = getelementptr inbounds %"class.std::initializer_list.7", ptr %17, i32 0, i32 1
  store i64 23, ptr %170, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #9
  %171 = getelementptr inbounds { ptr, i64 }, ptr %17, i32 0, i32 0
  %172 = load ptr, ptr %171, align 8
  %173 = getelementptr inbounds { ptr, i64 }, ptr %17, i32 0, i32 1
  %174 = load i64, ptr %173, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %123, ptr %172, i64 %174, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %175 unwind label %932

175:                                              ; preds = %168
  %176 = getelementptr inbounds %"class.JPH::Array.4", ptr %4, i64 4
  store ptr %176, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 1312, ptr %21) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %21, float noundef 0x3FF520FB80000000, float noundef 0xBFB923D9A0000000, float noundef 0x3F94874800000000)
          to label %177 unwind label %936

177:                                              ; preds = %175
  %178 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 1
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %178, float noundef 0xBF9201C400000000, float noundef 0xBFBADE7B00000000, float noundef 0x3F94874800000000)
          to label %179 unwind label %936

179:                                              ; preds = %177
  %180 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 2
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %180, float noundef 0xBF9201C400000000, float noundef 0x3FB9294000000000, float noundef 0x3F94874800000000)
          to label %181 unwind label %936

181:                                              ; preds = %179
  %182 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 3
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %182, float noundef 0x3FF520FB80000000, float noundef 0x3FB9294000000000, float noundef 0x3F94874800000000)
          to label %183 unwind label %936

183:                                              ; preds = %181
  %184 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 4
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %184, float noundef 0x3FF0118700000000, float noundef 0xBFB923D9A0000000, float noundef 0x3FEBC9E4C0000000)
          to label %185 unwind label %936

185:                                              ; preds = %183
  %186 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 5
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %186, float noundef 0x3FF520FB80000000, float noundef 0xBFB923D9A0000000, float noundef 0x400516A400000000)
          to label %187 unwind label %936

187:                                              ; preds = %185
  %188 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 6
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %188, float noundef 0x3FF0118700000000, float noundef 0xBFB923D9A0000000, float noundef 0x3FFF4FCA80000000)
          to label %189 unwind label %936

189:                                              ; preds = %187
  %190 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 7
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %190, float noundef 0x3FF0118700000000, float noundef 0xBFBADE7B00000000, float noundef 0x3FE05A2A40000000)
          to label %191 unwind label %936

191:                                              ; preds = %189
  %192 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 8
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %192, float noundef 0x3F58B70000000000, float noundef 0xBFBADE7B00000000, float noundef 0x3FE05A2A40000000)
          to label %193 unwind label %936

193:                                              ; preds = %191
  %194 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %194, float noundef 0x3FD16070A0000000, float noundef 0xBFC6F8E3C0000000, float noundef 0x3FEBC9E4C0000000)
          to label %195 unwind label %936

195:                                              ; preds = %193
  %196 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 10
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %196, float noundef 0x3F58B70000000000, float noundef 0xBFC6F8E3C0000000, float noundef 0x3FEBC9E4C0000000)
          to label %197 unwind label %936

197:                                              ; preds = %195
  %198 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 11
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %198, float noundef 0x3F58B70000000000, float noundef 0xBFC6F8E3C0000000, float noundef 0x3FE05A2A40000000)
          to label %199 unwind label %936

199:                                              ; preds = %197
  %200 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 12
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %200, float noundef 0x3FD16070A0000000, float noundef 0xBFC6F8E3C0000000, float noundef 0x3FE05A2A40000000)
          to label %201 unwind label %936

201:                                              ; preds = %199
  %202 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 13
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %202, float noundef 0x3FF0118700000000, float noundef 0xBFC2A65480000000, float noundef 0x3FFF4FCA80000000)
          to label %203 unwind label %936

203:                                              ; preds = %201
  %204 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 14
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %204, float noundef 0x3FF0118700000000, float noundef 0xBFC2A65480000000, float noundef 0x4003435D20000000)
          to label %205 unwind label %936

205:                                              ; preds = %203
  %206 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 15
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %206, float noundef 0x3FD16070A0000000, float noundef 0xBFC6F8E3C0000000, float noundef 0x4003435D20000000)
          to label %207 unwind label %936

207:                                              ; preds = %205
  %208 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 16
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %208, float noundef 0x3FD16070A0000000, float noundef 0xBFC6F8E3C0000000, float noundef 0x3FFF4FCA80000000)
          to label %209 unwind label %936

209:                                              ; preds = %207
  %210 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 17
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %210, float noundef 0x3F58B70000000000, float noundef 0xBFBADE7B00000000, float noundef 0x4003435D20000000)
          to label %211 unwind label %936

211:                                              ; preds = %209
  %212 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 18
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %212, float noundef 0x3FF0118700000000, float noundef 0xBFBADE7B00000000, float noundef 0x4003435D20000000)
          to label %213 unwind label %936

213:                                              ; preds = %211
  %214 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 19
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %214, float noundef 0xBF9201C400000000, float noundef 0xBFBADE7B00000000, float noundef 0x400516A400000000)
          to label %215 unwind label %936

215:                                              ; preds = %213
  %216 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 20
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %216, float noundef 0x3FF520FB80000000, float noundef 0x3FB9294000000000, float noundef 0x400516A400000000)
          to label %217 unwind label %936

217:                                              ; preds = %215
  %218 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 21
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %218, float noundef 0xBF9201C400000000, float noundef 0x3FB9294000000000, float noundef 0x400516A400000000)
          to label %219 unwind label %936

219:                                              ; preds = %217
  %220 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 22
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %220, float noundef 0xBF9201C400000000, float noundef 0xBFB7CD47A0000000, float noundef 0x3FF51A4760000000)
          to label %221 unwind label %936

221:                                              ; preds = %219
  %222 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 23
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %222, float noundef 0xBF9201C400000000, float noundef 0x3FB76E9EA0000000, float noundef 0x3FF51A4760000000)
          to label %223 unwind label %936

223:                                              ; preds = %221
  %224 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 24
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %224, float noundef 0x3FF0118700000000, float noundef 0xBFC2A65480000000, float noundef 0x3FEBC9E4C0000000)
          to label %225 unwind label %936

225:                                              ; preds = %223
  %226 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 25
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %226, float noundef 0x3FF0118700000000, float noundef 0xBFC2A65480000000, float noundef 0x3FE05A2A40000000)
          to label %227 unwind label %936

227:                                              ; preds = %225
  %228 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 26
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %228, float noundef 0x3F58B70000000000, float noundef 0xBFBADE7B00000000, float noundef 0x3FEBC9E4C0000000)
          to label %229 unwind label %936

229:                                              ; preds = %227
  %230 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 27
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %230, float noundef 0x3F58B70000000000, float noundef 0xBFBADE7B00000000, float noundef 0x3FFF4FCA80000000)
          to label %231 unwind label %936

231:                                              ; preds = %229
  %232 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 28
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %232, float noundef 0x3F58B70000000000, float noundef 0xBFC6F8E3C0000000, float noundef 0x3FFF4FCA80000000)
          to label %233 unwind label %936

233:                                              ; preds = %231
  %234 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 29
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %234, float noundef 0x3F58B70000000000, float noundef 0xBFC6F8E3C0000000, float noundef 0x4003435D20000000)
          to label %235 unwind label %936

235:                                              ; preds = %233
  %236 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 30
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %236, float noundef 0xBF9201C400000000, float noundef 0xBFB9A21960000000, float noundef 0x3FEEB6A8A0000000)
          to label %237 unwind label %936

237:                                              ; preds = %235
  %238 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 31
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %238, float noundef 0x3FB67C0500000000, float noundef 0x3FC1D211C0000000, float noundef 0x3FF0C0B080000000)
          to label %239 unwind label %936

239:                                              ; preds = %237
  %240 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 32
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %240, float noundef 0x3FBF69E100000000, float noundef 0xBFC2EBCF80000000, float noundef 0x3FF27694E0000000)
          to label %241 unwind label %936

241:                                              ; preds = %239
  %242 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 33
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %242, float noundef 0x3FBF69E100000000, float noundef 0x3FC1D211C0000000, float noundef 0x3FF27694E0000000)
          to label %243 unwind label %936

243:                                              ; preds = %241
  %244 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 34
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %244, float noundef 0x3FC92E0A40000000, float noundef 0xBFBE3A8000000000, float noundef 0x3FF277D200000000)
          to label %245 unwind label %936

245:                                              ; preds = %243
  %246 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 35
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %246, float noundef 0x3FB9419400000000, float noundef 0xBFC2EBCF80000000, float noundef 0x3FF39E3000000000)
          to label %247 unwind label %936

247:                                              ; preds = %245
  %248 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 36
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %248, float noundef 0x3FC668AE00000000, float noundef 0xBFBE3A8000000000, float noundef 0x3FF456C920000000)
          to label %249 unwind label %936

249:                                              ; preds = %247
  %250 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 37
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %250, float noundef 0xBF9201C400000000, float noundef 0xBFC2EBCF80000000, float noundef 0x3FEEB6A8A0000000)
          to label %251 unwind label %936

251:                                              ; preds = %249
  %252 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 38
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %252, float noundef 0x3FB3A87100000000, float noundef 0xBFBE3A8000000000, float noundef 0x3FEE4DDA40000000)
          to label %253 unwind label %936

253:                                              ; preds = %251
  %254 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 39
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %254, float noundef 0x3FB67C0500000000, float noundef 0xBFC2EBCF80000000, float noundef 0x3FF0C0B080000000)
          to label %255 unwind label %936

255:                                              ; preds = %253
  %256 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 40
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %256, float noundef 0x3FC7C30A40000000, float noundef 0xBFBE3A8000000000, float noundef 0x3FF0848DC0000000)
          to label %257 unwind label %936

257:                                              ; preds = %255
  %258 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 41
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %258, float noundef 0xBF9201C400000000, float noundef 0x3FB9294000000000, float noundef 0x3FEEB6A8A0000000)
          to label %259 unwind label %936

259:                                              ; preds = %257
  %260 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 42
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %260, float noundef 0x3FB9419400000000, float noundef 0x3FC1D211C0000000, float noundef 0x3FF39E3000000000)
          to label %261 unwind label %936

261:                                              ; preds = %259
  %262 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 43
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %262, float noundef 0x3FB6F75200000000, float noundef 0xBFBADE7B00000000, float noundef 0x3FF53A13A0000000)
          to label %263 unwind label %936

263:                                              ; preds = %261
  %264 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 44
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %264, float noundef 0xBF9201C400000000, float noundef 0xBFC2EBCF80000000, float noundef 0x3FF51A4760000000)
          to label %265 unwind label %936

265:                                              ; preds = %263
  %266 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 45
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %266, float noundef 0x3FB6F75200000000, float noundef 0xBFBE3A8000000000, float noundef 0x3FF53A13A0000000)
          to label %267 unwind label %936

267:                                              ; preds = %265
  %268 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 46
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %268, float noundef 0x3FC668AE00000000, float noundef 0xBFBADE7B00000000, float noundef 0x3FF456C920000000)
          to label %269 unwind label %936

269:                                              ; preds = %267
  %270 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 47
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %270, float noundef 0x3FC7C30A40000000, float noundef 0xBFBADE7B00000000, float noundef 0x3FF0848DC0000000)
          to label %271 unwind label %936

271:                                              ; preds = %269
  %272 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 48
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %272, float noundef 0x3FC92E0A40000000, float noundef 0xBFBADE7B00000000, float noundef 0x3FF277D200000000)
          to label %273 unwind label %936

273:                                              ; preds = %271
  %274 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 49
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %274, float noundef 0x3FB3A87100000000, float noundef 0xBFBADE7B00000000, float noundef 0x3FEE4DDA40000000)
          to label %275 unwind label %936

275:                                              ; preds = %273
  %276 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 50
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %276, float noundef 0x3FF0118700000000, float noundef 0x3FB9294000000000, float noundef 0x3FEBC9E4C0000000)
          to label %277 unwind label %936

277:                                              ; preds = %275
  %278 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 51
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %278, float noundef 0x3FF0118700000000, float noundef 0x3FB9294000000000, float noundef 0x3FFF4FCA80000000)
          to label %279 unwind label %936

279:                                              ; preds = %277
  %280 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 52
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %280, float noundef 0x3FF0118700000000, float noundef 0x3FB9294000000000, float noundef 0x3FE05A2A40000000)
          to label %281 unwind label %936

281:                                              ; preds = %279
  %282 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 53
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %282, float noundef 0x3F58B70000000000, float noundef 0x3FB9294000000000, float noundef 0x3FE05A2A40000000)
          to label %283 unwind label %936

283:                                              ; preds = %281
  %284 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 54
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %284, float noundef 0x3F58B70000000000, float noundef 0x3FC5DF2640000000, float noundef 0x3FE05A2A40000000)
          to label %285 unwind label %936

285:                                              ; preds = %283
  %286 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 55
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %286, float noundef 0x3F58B70000000000, float noundef 0x3FC5DF2640000000, float noundef 0x3FEBC9E4C0000000)
          to label %287 unwind label %936

287:                                              ; preds = %285
  %288 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 56
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %288, float noundef 0x3FD16070A0000000, float noundef 0x3FC5DF2640000000, float noundef 0x3FEBC9E4C0000000)
          to label %289 unwind label %936

289:                                              ; preds = %287
  %290 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 57
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %290, float noundef 0x3FD16070A0000000, float noundef 0x3FC5DF2640000000, float noundef 0x3FE05A2A40000000)
          to label %291 unwind label %936

291:                                              ; preds = %289
  %292 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 58
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %292, float noundef 0x3FD16070A0000000, float noundef 0x3FC5DF2640000000, float noundef 0x4003435D20000000)
          to label %293 unwind label %936

293:                                              ; preds = %291
  %294 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 59
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %294, float noundef 0x3FF0118700000000, float noundef 0x3FC18C9700000000, float noundef 0x4003435D20000000)
          to label %295 unwind label %936

295:                                              ; preds = %293
  %296 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 60
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %296, float noundef 0x3FF0118700000000, float noundef 0x3FC18C9700000000, float noundef 0x3FFF4FCA80000000)
          to label %297 unwind label %936

297:                                              ; preds = %295
  %298 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 61
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %298, float noundef 0x3FD16070A0000000, float noundef 0x3FC5DF2640000000, float noundef 0x3FFF4FCA80000000)
          to label %299 unwind label %936

299:                                              ; preds = %297
  %300 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 62
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %300, float noundef 0x3F58B70000000000, float noundef 0x3FB9294000000000, float noundef 0x4003435D20000000)
          to label %301 unwind label %936

301:                                              ; preds = %299
  %302 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 63
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %302, float noundef 0x3FF0118700000000, float noundef 0x3FB9294000000000, float noundef 0x4003435D20000000)
          to label %303 unwind label %936

303:                                              ; preds = %301
  %304 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 64
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %304, float noundef 0x3FF0118700000000, float noundef 0x3FC18C9700000000, float noundef 0x3FEBC9E4C0000000)
          to label %305 unwind label %936

305:                                              ; preds = %303
  %306 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 65
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %306, float noundef 0x3FF0118700000000, float noundef 0x3FC18C9700000000, float noundef 0x3FE05A2A40000000)
          to label %307 unwind label %936

307:                                              ; preds = %305
  %308 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 66
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %308, float noundef 0x3F58B70000000000, float noundef 0x3FB9294000000000, float noundef 0x3FEBC9E4C0000000)
          to label %309 unwind label %936

309:                                              ; preds = %307
  %310 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 67
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %310, float noundef 0x3F58B70000000000, float noundef 0x3FB9294000000000, float noundef 0x3FFF4FCA80000000)
          to label %311 unwind label %936

311:                                              ; preds = %309
  %312 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 68
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %312, float noundef 0x3F58B70000000000, float noundef 0x3FC5DF2640000000, float noundef 0x3FFF4FCA80000000)
          to label %313 unwind label %936

313:                                              ; preds = %311
  %314 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 69
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %314, float noundef 0x3F58B70000000000, float noundef 0x3FC5DF2640000000, float noundef 0x4003435D20000000)
          to label %315 unwind label %936

315:                                              ; preds = %313
  %316 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 70
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %316, float noundef 0x3FC92E0A40000000, float noundef 0x3FBC070520000000, float noundef 0x3FF277D200000000)
          to label %317 unwind label %936

317:                                              ; preds = %315
  %318 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 71
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %318, float noundef 0x3FC668AE00000000, float noundef 0x3FBC070520000000, float noundef 0x3FF456C920000000)
          to label %319 unwind label %936

319:                                              ; preds = %317
  %320 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 72
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %320, float noundef 0xBF9201C400000000, float noundef 0x3FC1D211C0000000, float noundef 0x3FEEB6A8A0000000)
          to label %321 unwind label %936

321:                                              ; preds = %319
  %322 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 73
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %322, float noundef 0x3FB3A87100000000, float noundef 0x3FBC070520000000, float noundef 0x3FEE4DDA40000000)
          to label %323 unwind label %936

323:                                              ; preds = %321
  %324 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 74
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %324, float noundef 0x3FC7C30A40000000, float noundef 0x3FBC070520000000, float noundef 0x3FF0848DC0000000)
          to label %325 unwind label %936

325:                                              ; preds = %323
  %326 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 75
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %326, float noundef 0x3FB6F75200000000, float noundef 0x3FB9294000000000, float noundef 0x3FF53A13A0000000)
          to label %327 unwind label %936

327:                                              ; preds = %325
  %328 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 76
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %328, float noundef 0xBF9201C400000000, float noundef 0x3FC1D211C0000000, float noundef 0x3FF51A4760000000)
          to label %329 unwind label %936

329:                                              ; preds = %327
  %330 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 77
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %330, float noundef 0x3FB6F75200000000, float noundef 0x3FBC070520000000, float noundef 0x3FF53A13A0000000)
          to label %331 unwind label %936

331:                                              ; preds = %329
  %332 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 78
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %332, float noundef 0x3FC668AE00000000, float noundef 0x3FB9294000000000, float noundef 0x3FF456C920000000)
          to label %333 unwind label %936

333:                                              ; preds = %331
  %334 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 79
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %334, float noundef 0x3FC92E0A40000000, float noundef 0x3FB9294000000000, float noundef 0x3FF277D200000000)
          to label %335 unwind label %936

335:                                              ; preds = %333
  %336 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 80
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %336, float noundef 0x3FC7C30A40000000, float noundef 0x3FB9294000000000, float noundef 0x3FF0848DC0000000)
          to label %337 unwind label %936

337:                                              ; preds = %335
  %338 = getelementptr inbounds %"class.JPH::Vec3", ptr %21, i64 81
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %338, float noundef 0x3FB3A87100000000, float noundef 0x3FB9294000000000, float noundef 0x3FEE4DDA40000000)
          to label %339 unwind label %936

339:                                              ; preds = %337
  %340 = getelementptr inbounds %"class.std::initializer_list.7", ptr %20, i32 0, i32 0
  store ptr %21, ptr %340, align 8, !tbaa !9
  %341 = getelementptr inbounds %"class.std::initializer_list.7", ptr %20, i32 0, i32 1
  store i64 82, ptr %341, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 1, ptr %22) #9
  %342 = getelementptr inbounds { ptr, i64 }, ptr %20, i32 0, i32 0
  %343 = load ptr, ptr %342, align 8
  %344 = getelementptr inbounds { ptr, i64 }, ptr %20, i32 0, i32 1
  %345 = load i64, ptr %344, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %176, ptr %343, i64 %345, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %346 unwind label %940

346:                                              ; preds = %339
  %347 = getelementptr inbounds %"class.JPH::Array.4", ptr %4, i64 5
  store ptr %347, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 256, ptr %24) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %24, float noundef 0x3F95C4ADA0000000, float noundef 0x3FF4B33F80000000, float noundef 0x3F84E594A0000000)
          to label %348 unwind label %944

348:                                              ; preds = %346
  %349 = getelementptr inbounds %"class.JPH::Vec3", ptr %24, i64 1
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %349, float noundef 0x3F971EFDC0000000, float noundef 0x3FF0EFD160000000, float noundef 0x3FB6B9D300000000)
          to label %350 unwind label %944

350:                                              ; preds = %348
  %351 = getelementptr inbounds %"class.JPH::Vec3", ptr %24, i64 2
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %351, float noundef 0x3FAE83FC60000000, float noundef 0x3FEF7F1E60000000, float noundef 0x3FA4ED9260000000)
          to label %352 unwind label %944

352:                                              ; preds = %350
  %353 = getelementptr inbounds %"class.JPH::Vec3", ptr %24, i64 3
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %353, float noundef 0x3FB27BD5E0000000, float noundef 0x3FEF5E2D20000000, float noundef 0xBFA5503080000000)
          to label %354 unwind label %944

354:                                              ; preds = %352
  %355 = getelementptr inbounds %"class.JPH::Vec3", ptr %24, i64 4
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %355, float noundef 0xBF6EDA9780000000, float noundef 0xBFE6FC2C40000000, float noundef 0x3F70D96A20000000)
          to label %356 unwind label %944

356:                                              ; preds = %354
  %357 = getelementptr inbounds %"class.JPH::Vec3", ptr %24, i64 5
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %357, float noundef 0xBF5ED28440000000, float noundef 0xBFE6FC2CE0000000, float noundef 0x3F62CA6B80000000)
          to label %358 unwind label %944

358:                                              ; preds = %356
  %359 = getelementptr inbounds %"class.JPH::Vec3", ptr %24, i64 6
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %359, float noundef 0xBF5AA03C20000000, float noundef 0xBFE6FC2B80000000, float noundef 0x3F7ED7E900000000)
          to label %360 unwind label %944

360:                                              ; preds = %358
  %361 = getelementptr inbounds %"class.JPH::Vec3", ptr %24, i64 7
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %361, float noundef 0xBF536731E0000000, float noundef 0x3FF5C5CEA0000000, float noundef 0x3F519C87C0000000)
          to label %362 unwind label %944

362:                                              ; preds = %360
  %363 = getelementptr inbounds %"class.JPH::Vec3", ptr %24, i64 8
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %363, float noundef 0xBF11CA4DC0000000, float noundef 0xBFE6FC2CA0000000, float noundef 0x3F71797540000000)
          to label %364 unwind label %944

364:                                              ; preds = %362
  %365 = getelementptr inbounds %"class.JPH::Vec3", ptr %24, i64 9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %365, float noundef 0x3F50DFC380000000, float noundef 0x3FF4C9D3E0000000, float noundef 0x3F97A22BC0000000)
          to label %366 unwind label %944

366:                                              ; preds = %364
  %367 = getelementptr inbounds %"class.JPH::Vec3", ptr %24, i64 10
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %367, float noundef 0x3F7CAB7440000000, float noundef 0x3FF0EFD420000000, float noundef 0x3FB6B9D6C0000000)
          to label %368 unwind label %944

368:                                              ; preds = %366
  %369 = getelementptr inbounds %"class.JPH::Vec3", ptr %24, i64 11
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %369, float noundef 0xBF78B85CE0000000, float noundef 0x3FF0C945E0000000, float noundef 0xBFBA372C60000000)
          to label %370 unwind label %944

370:                                              ; preds = %368
  %371 = getelementptr inbounds %"class.JPH::Vec3", ptr %24, i64 12
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %371, float noundef 0xBF95BF41C0000000, float noundef 0x3FF4F98E00000000, float noundef 0x3F75B6A220000000)
          to label %372 unwind label %944

372:                                              ; preds = %370
  %373 = getelementptr inbounds %"class.JPH::Vec3", ptr %24, i64 13
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %373, float noundef 0xBFABC95F20000000, float noundef 0x3FF1384560000000, float noundef 0x3FA4A59CE0000000)
          to label %374 unwind label %944

374:                                              ; preds = %372
  %375 = getelementptr inbounds %"class.JPH::Vec3", ptr %24, i64 14
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %375, float noundef 0xBFB83C3CC0000000, float noundef 0x3FF12D6220000000, float noundef 0xBF92F4B140000000)
          to label %376 unwind label %944

376:                                              ; preds = %374
  %377 = getelementptr inbounds %"class.JPH::Vec3", ptr %24, i64 15
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %377, float noundef 0xBFB83C3CC0000000, float noundef 0x3FF12D6220000000, float noundef 0xBF92F4B140000000)
          to label %378 unwind label %944

378:                                              ; preds = %376
  %379 = getelementptr inbounds %"class.std::initializer_list.7", ptr %23, i32 0, i32 0
  store ptr %24, ptr %379, align 8, !tbaa !9
  %380 = getelementptr inbounds %"class.std::initializer_list.7", ptr %23, i32 0, i32 1
  store i64 16, ptr %380, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 1, ptr %25) #9
  %381 = getelementptr inbounds { ptr, i64 }, ptr %23, i32 0, i32 0
  %382 = load ptr, ptr %381, align 8
  %383 = getelementptr inbounds { ptr, i64 }, ptr %23, i32 0, i32 1
  %384 = load i64, ptr %383, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %347, ptr %382, i64 %384, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %385 unwind label %948

385:                                              ; preds = %378
  %386 = getelementptr inbounds %"class.JPH::Array.4", ptr %4, i64 6
  store ptr %386, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 448, ptr %27) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %27, float noundef 0x3F9D0C7AC0000000, float noundef 0x3FA6B8FA40000000, float noundef 0xBF77531040000000)
          to label %387 unwind label %952

387:                                              ; preds = %385
  %388 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 1
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %388, float noundef 0x3FA0BF8E20000000, float noundef 0xBF96A48700000000, float noundef 0x3F97CC5740000000)
          to label %389 unwind label %952

389:                                              ; preds = %387
  %390 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 2
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %390, float noundef 0x3FA332D200000000, float noundef 0x3F8E786EC0000000, float noundef 0xBF991D7560000000)
          to label %391 unwind label %952

391:                                              ; preds = %389
  %392 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 3
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %392, float noundef 0x3FA6801900000000, float noundef 0x3F89E15620000000, float noundef 0x3F943D9F40000000)
          to label %393 unwind label %952

393:                                              ; preds = %391
  %394 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 4
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %394, float noundef 0xBFA0C04A40000000, float noundef 0x3FA5B43380000000, float noundef 0x3F9298CC00000000)
          to label %395 unwind label %952

395:                                              ; preds = %393
  %396 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 5
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %396, float noundef 0xBF9F6EAA40000000, float noundef 0x3F9FE6B080000000, float noundef 0xBF9CD3C740000000)
          to label %397 unwind label %952

397:                                              ; preds = %395
  %398 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 6
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %398, float noundef 0xBF9ADF3C80000000, float noundef 0x3F997E9AC0000000, float noundef 0x3FA70AAAE0000000)
          to label %399 unwind label %952

399:                                              ; preds = %397
  %400 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 7
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %400, float noundef 0xBF9AD69F80000000, float noundef 0x3F82912E80000000, float noundef 0x3FA8AB3FC0000000)
          to label %401 unwind label %952

401:                                              ; preds = %399
  %402 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 8
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %402, float noundef 0xBF9A4D0C80000000, float noundef 0xBF78DD9080000000, float noundef 0xBFA48CBD00000000)
          to label %403 unwind label %952

403:                                              ; preds = %401
  %404 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %404, float noundef 0xBF92665040000000, float noundef 0x3F9B40DB20000000, float noundef 0xBFA433AB40000000)
          to label %405 unwind label %952

405:                                              ; preds = %403
  %406 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 10
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %406, float noundef 0xBF77425380000000, float noundef 0xBFA0099600000000, float noundef 0xBF9AFF9BC0000000)
          to label %407 unwind label %952

407:                                              ; preds = %405
  %408 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 11
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %408, float noundef 0xBF7239D280000000, float noundef 0xBFA39F1900000000, float noundef 0x3F9527ECA0000000)
          to label %409 unwind label %952

409:                                              ; preds = %407
  %410 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 12
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %410, float noundef 0xBF6AF598E0000000, float noundef 0x3FA7C777C0000000, float noundef 0x3FA19A9F40000000)
          to label %411 unwind label %952

411:                                              ; preds = %409
  %412 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 13
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %412, float noundef 0xBF626F7DC0000000, float noundef 0x3FAC317FC0000000, float noundef 0xBF68EA9140000000)
          to label %413 unwind label %952

413:                                              ; preds = %411
  %414 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 14
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %414, float noundef 0x3F696B3200000000, float noundef 0x3F61FE9280000000, float noundef 0x3FABC4DA00000000)
          to label %415 unwind label %952

415:                                              ; preds = %413
  %416 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 15
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %416, float noundef 0x3F71D728C0000000, float noundef 0x3F7A612860000000, float noundef 0xBFA74C9100000000)
          to label %417 unwind label %952

417:                                              ; preds = %415
  %418 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 16
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %418, float noundef 0x3F7446F240000000, float noundef 0xBF8DAFD500000000, float noundef 0x3FA8B5AE00000000)
          to label %419 unwind label %952

419:                                              ; preds = %417
  %420 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 17
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %420, float noundef 0x3F74ED4600000000, float noundef 0x3F9ECC1240000000, float noundef 0xBFA54BB8C0000000)
          to label %421 unwind label %952

421:                                              ; preds = %419
  %422 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 18
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %422, float noundef 0x3F795CC060000000, float noundef 0x3F9B8F5900000000, float noundef 0x3FA999B620000000)
          to label %423 unwind label %952

423:                                              ; preds = %421
  %424 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 19
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %424, float noundef 0x3F938D4980000000, float noundef 0xBF85CE8580000000, float noundef 0x3FA73734C0000000)
          to label %425 unwind label %952

425:                                              ; preds = %423
  %426 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 20
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %426, float noundef 0x3F94BB6940000000, float noundef 0x3F80D12400000000, float noundef 0x3FA9A19480000000)
          to label %427 unwind label %952

427:                                              ; preds = %425
  %428 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 21
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %428, float noundef 0x3F947A7D80000000, float noundef 0x3FA21825C0000000, float noundef 0x3FA5307660000000)
          to label %429 unwind label %952

429:                                              ; preds = %427
  %430 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 22
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %430, float noundef 0x3F9B701780000000, float noundef 0xBF8FEFFB00000000, float noundef 0xBF9ED17FA0000000)
          to label %431 unwind label %952

431:                                              ; preds = %429
  %432 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 23
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %432, float noundef 0x3F9C1307A0000000, float noundef 0x3FA0534600000000, float noundef 0xBF9D8CABA0000000)
          to label %433 unwind label %952

433:                                              ; preds = %431
  %434 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 24
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %434, float noundef 0xBFA4B42480000000, float noundef 0xBF95D4EDC0000000, float noundef 0xBF75BE3040000000)
          to label %435 unwind label %952

435:                                              ; preds = %433
  %436 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 25
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %436, float noundef 0xBFA3A36660000000, float noundef 0xBF86D99280000000, float noundef 0x3FA1C1C9E0000000)
          to label %437 unwind label %952

437:                                              ; preds = %435
  %438 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 26
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %438, float noundef 0xBFA731E2C0000000, float noundef 0x3F5D2A5A80000000, float noundef 0xBF9663FDC0000000)
          to label %439 unwind label %952

439:                                              ; preds = %437
  %440 = getelementptr inbounds %"class.JPH::Vec3", ptr %27, i64 27
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %440, float noundef 0xBFA8B9DA00000000, float noundef 0x3F84CDDA00000000, float noundef 0x3F939F28E0000000)
          to label %441 unwind label %952

441:                                              ; preds = %439
  %442 = getelementptr inbounds %"class.std::initializer_list.7", ptr %26, i32 0, i32 0
  store ptr %27, ptr %442, align 8, !tbaa !9
  %443 = getelementptr inbounds %"class.std::initializer_list.7", ptr %26, i32 0, i32 1
  store i64 28, ptr %443, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #9
  %444 = getelementptr inbounds { ptr, i64 }, ptr %26, i32 0, i32 0
  %445 = load ptr, ptr %444, align 8
  %446 = getelementptr inbounds { ptr, i64 }, ptr %26, i32 0, i32 1
  %447 = load i64, ptr %446, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %386, ptr %445, i64 %447, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %448 unwind label %956

448:                                              ; preds = %441
  %449 = getelementptr inbounds %"class.JPH::Array.4", ptr %4, i64 7
  store ptr %449, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 1600, ptr %30) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %30, float noundef 0x3FC907F200000000, float noundef 0x3FB1A4F440000000, float noundef 0x3FCAFAE8C0000000)
          to label %450 unwind label %960

450:                                              ; preds = %448
  %451 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 1
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %451, float noundef 0x3FCA469BA0000000, float noundef 0xBF9172D840000000, float noundef 0xBFB79227E0000000)
          to label %452 unwind label %960

452:                                              ; preds = %450
  %453 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 2
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %453, float noundef 0x3FCB101E80000000, float noundef 0x3F92496C20000000, float noundef 0xBFB92E5D80000000)
          to label %454 unwind label %960

454:                                              ; preds = %452
  %455 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 3
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %455, float noundef 0x3FCB7A4000000000, float noundef 0x3FAA083480000000, float noundef 0xBFA22CFDE0000000)
          to label %456 unwind label %960

456:                                              ; preds = %454
  %457 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 4
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %457, float noundef 0xBFCA4128A0000000, float noundef 0xBFB1F78BE0000000, float noundef 0xBFD46EAAA0000000)
          to label %458 unwind label %960

458:                                              ; preds = %456
  %459 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 5
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %459, float noundef 0xBFC8B7C3A0000000, float noundef 0xBFC19BA500000000, float noundef 0xBFD569A920000000)
          to label %460 unwind label %960

460:                                              ; preds = %458
  %461 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 6
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %461, float noundef 0xBFC9B8E120000000, float noundef 0xBFB8812660000000, float noundef 0xBFBD246C40000000)
          to label %462 unwind label %960

462:                                              ; preds = %460
  %463 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 7
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %463, float noundef 0xBFC7EE2A20000000, float noundef 0xBFC3070040000000, float noundef 0xBFC8C69F20000000)
          to label %464 unwind label %960

464:                                              ; preds = %462
  %465 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 8
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %465, float noundef 0xBFC7223D60000000, float noundef 0xBFB61DCBC0000000, float noundef 0xBFD69AD2A0000000)
          to label %466 unwind label %960

466:                                              ; preds = %464
  %467 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %467, float noundef 0xBFC70EE3A0000000, float noundef 0xBFC38236A0000000, float noundef 0xBFD5E0ED00000000)
          to label %468 unwind label %960

468:                                              ; preds = %466
  %469 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 10
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %469, float noundef 0xBFC7435F80000000, float noundef 0xBFC3999EC0000000, float noundef 0xBFC8823E20000000)
          to label %470 unwind label %960

470:                                              ; preds = %468
  %471 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 11
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %471, float noundef 0xBFC90FCCC0000000, float noundef 0x3F8AD5BC40000000, float noundef 0xBF79E72720000000)
          to label %472 unwind label %960

472:                                              ; preds = %470
  %473 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 12
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %473, float noundef 0xBFC585A620000000, float noundef 0xBFACB93720000000, float noundef 0xBFD6547F60000000)
          to label %474 unwind label %960

474:                                              ; preds = %472
  %475 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 13
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %475, float noundef 0xBFC50DDAC0000000, float noundef 0xBFC57CC680000000, float noundef 0xBFD2A69740000000)
          to label %476 unwind label %960

476:                                              ; preds = %474
  %477 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 14
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %477, float noundef 0xBFC66EA500000000, float noundef 0x3F8F68E520000000, float noundef 0x3FB659E9E0000000)
          to label %478 unwind label %960

478:                                              ; preds = %476
  %479 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 15
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %479, float noundef 0xBFC6205580000000, float noundef 0x3FB6769660000000, float noundef 0xBF904B3220000000)
          to label %480 unwind label %960

480:                                              ; preds = %478
  %481 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 16
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %481, float noundef 0xBFC5DBD560000000, float noundef 0x3F944FC8A0000000, float noundef 0x3FB9C80660000000)
          to label %482 unwind label %960

482:                                              ; preds = %480
  %483 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 17
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %483, float noundef 0xBFC2B55EC0000000, float noundef 0xBFC52C4420000000, float noundef 0xBFD7FE3D00000000)
          to label %484 unwind label %960

484:                                              ; preds = %482
  %485 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 18
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %485, float noundef 0xBFC2AEBD60000000, float noundef 0xBFC51B9260000000, float noundef 0xBFD8028F80000000)
          to label %486 unwind label %960

486:                                              ; preds = %484
  %487 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 19
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %487, float noundef 0xBFC4D44580000000, float noundef 0x3FB46AF080000000, float noundef 0x3FB5AB88E0000000)
          to label %488 unwind label %960

488:                                              ; preds = %486
  %489 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 20
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %489, float noundef 0xBFC11CDAA0000000, float noundef 0xBFB0180480000000, float noundef 0xBFD8093C80000000)
          to label %490 unwind label %960

490:                                              ; preds = %488
  %491 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 21
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %491, float noundef 0xBFC2ECFAC0000000, float noundef 0x3FC2559540000000, float noundef 0xBF900322A0000000)
          to label %492 unwind label %960

492:                                              ; preds = %490
  %493 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 22
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %493, float noundef 0xBFC0681D40000000, float noundef 0xBFA5DB1000000000, float noundef 0xBFD73968C0000000)
          to label %494 unwind label %960

494:                                              ; preds = %492
  %495 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 23
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %495, float noundef 0xBFC2105F20000000, float noundef 0x3FC1572900000000, float noundef 0x3FAA518840000000)
          to label %496 unwind label %960

496:                                              ; preds = %494
  %497 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 24
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %497, float noundef 0xBFBF97E6C0000000, float noundef 0xBFC6C316C0000000, float noundef 0xBFD7A69AC0000000)
          to label %498 unwind label %960

498:                                              ; preds = %496
  %499 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 25
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %499, float noundef 0xBFBF840980000000, float noundef 0xBFC7214F80000000, float noundef 0xBFCA20E240000000)
          to label %500 unwind label %960

500:                                              ; preds = %498
  %501 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 26
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %501, float noundef 0xBFB9848E20000000, float noundef 0xBFC7693500000000, float noundef 0xBFD8CFCCC0000000)
          to label %502 unwind label %960

502:                                              ; preds = %500
  %503 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 27
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %503, float noundef 0xBFB97FF180000000, float noundef 0x3FC21AFA20000000, float noundef 0x3FC0840F60000000)
          to label %504 unwind label %960

504:                                              ; preds = %502
  %505 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 28
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %505, float noundef 0xBFB6F1B180000000, float noundef 0xBFC6100B60000000, float noundef 0xBFD98C7A20000000)
          to label %506 unwind label %960

506:                                              ; preds = %504
  %507 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 29
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %507, float noundef 0xBFB7E7E100000000, float noundef 0xBF81B8D3A0000000, float noundef 0x3FCDE61A00000000)
          to label %508 unwind label %960

508:                                              ; preds = %506
  %509 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 30
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %509, float noundef 0xBFB84FF3E0000000, float noundef 0x3FC64BD520000000, float noundef 0x3FA319CD60000000)
          to label %510 unwind label %960

510:                                              ; preds = %508
  %511 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 31
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %511, float noundef 0xBFB851E500000000, float noundef 0x3FC4942880000000, float noundef 0xBFA40A5E20000000)
          to label %512 unwind label %960

512:                                              ; preds = %510
  %513 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 32
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %513, float noundef 0xBFB50BE040000000, float noundef 0xBFB3E9B5A0000000, float noundef 0xBFD976BEC0000000)
          to label %514 unwind label %960

514:                                              ; preds = %512
  %515 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 33
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %515, float noundef 0xBFB44598A0000000, float noundef 0xBFC2B59360000000, float noundef 0xBFD9C16420000000)
          to label %516 unwind label %960

516:                                              ; preds = %514
  %517 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 34
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %517, float noundef 0xBFB522F0A0000000, float noundef 0x3F8E191C00000000, float noundef 0x3FCEFCD960000000)
          to label %518 unwind label %960

518:                                              ; preds = %516
  %519 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 35
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %519, float noundef 0xBFB26E0840000000, float noundef 0x3FC5B527A0000000, float noundef 0x3FBCA28BE0000000)
          to label %520 unwind label %960

520:                                              ; preds = %518
  %521 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 36
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %521, float noundef 0xBFAE16F5C0000000, float noundef 0xBFC816D460000000, float noundef 0xBFD9C0EB80000000)
          to label %522 unwind label %960

522:                                              ; preds = %520
  %523 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 37
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %523, float noundef 0xBFAD693860000000, float noundef 0xBFC7ED0C40000000, float noundef 0xBFD9D8D7A0000000)
          to label %524 unwind label %960

524:                                              ; preds = %522
  %525 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 38
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %525, float noundef 0xBFA6BCFF80000000, float noundef 0xBFA520B6A0000000, float noundef 0xBFD8003200000000)
          to label %526 unwind label %960

526:                                              ; preds = %524
  %527 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 39
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %527, float noundef 0xBFA7CCA800000000, float noundef 0x3FC72906A0000000, float noundef 0x3FA3FE6A00000000)
          to label %528 unwind label %960

528:                                              ; preds = %526
  %529 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 40
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %529, float noundef 0xBFA27D9940000000, float noundef 0xBFC3140460000000, float noundef 0xBFD9ECDEC0000000)
          to label %530 unwind label %960

530:                                              ; preds = %528
  %531 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 41
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %531, float noundef 0xBFA0324780000000, float noundef 0x3FC5F1DCC0000000, float noundef 0x3FC10738A0000000)
          to label %532 unwind label %960

532:                                              ; preds = %530
  %533 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 42
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %533, float noundef 0xBF97194F80000000, float noundef 0xBF92696D80000000, float noundef 0x3FD5AF6880000000)
          to label %534 unwind label %960

534:                                              ; preds = %532
  %535 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 43
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %535, float noundef 0xBF85C10CE0000000, float noundef 0xBFBE1E15C0000000, float noundef 0xBFD97657A0000000)
          to label %536 unwind label %960

536:                                              ; preds = %534
  %537 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 44
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %537, float noundef 0x3EFD598220000000, float noundef 0xBFC8404080000000, float noundef 0xBFD90F3760000000)
          to label %538 unwind label %960

538:                                              ; preds = %536
  %539 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 45
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %539, float noundef 0x3F5F45E0C0000000, float noundef 0xBFC55D6600000000, float noundef 0xBFD9D0E180000000)
          to label %540 unwind label %960

540:                                              ; preds = %538
  %541 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 46
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %541, float noundef 0x3F97EF5CA0000000, float noundef 0xBFA03BAE60000000, float noundef 0x3FD8825240000000)
          to label %542 unwind label %960

542:                                              ; preds = %540
  %543 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 47
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %543, float noundef 0x3F9B8B6800000000, float noundef 0xBF9FDC5120000000, float noundef 0x3FD8BB2A20000000)
          to label %544 unwind label %960

544:                                              ; preds = %542
  %545 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 48
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %545, float noundef 0x3FA1FDCAA0000000, float noundef 0xBFB9139D20000000, float noundef 0xBFD8CA06A0000000)
          to label %546 unwind label %960

546:                                              ; preds = %544
  %547 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 49
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %547, float noundef 0x3FA531E660000000, float noundef 0xBFC81F3440000000, float noundef 0xBFD47D7540000000)
          to label %548 unwind label %960

548:                                              ; preds = %546
  %549 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 50
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %549, float noundef 0x3FA8CCFB20000000, float noundef 0x3FC0571B60000000, float noundef 0xBFB8C68F20000000)
          to label %550 unwind label %960

550:                                              ; preds = %548
  %551 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 51
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %551, float noundef 0x3FA6CEDDA0000000, float noundef 0xBFC29C76E0000000, float noundef 0xBFD8B2BF60000000)
          to label %552 unwind label %960

552:                                              ; preds = %550
  %553 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 52
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %553, float noundef 0x3FA80480E0000000, float noundef 0xBFC6822340000000, float noundef 0xBFD86EEF20000000)
          to label %554 unwind label %960

554:                                              ; preds = %552
  %555 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 53
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %555, float noundef 0x3FA9DE11C0000000, float noundef 0xBFC8339E80000000, float noundef 0xBFD6A9DB60000000)
          to label %556 unwind label %960

556:                                              ; preds = %554
  %557 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 54
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %557, float noundef 0x3FB2402740000000, float noundef 0xBF9CBDB000000000, float noundef 0x3FDAAD8660000000)
          to label %558 unwind label %960

558:                                              ; preds = %556
  %559 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 55
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %559, float noundef 0x3FB3749400000000, float noundef 0x3F99C51D00000000, float noundef 0x3FDBC3C200000000)
          to label %560 unwind label %960

560:                                              ; preds = %558
  %561 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 56
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %561, float noundef 0x3FB5522920000000, float noundef 0xBFC736A520000000, float noundef 0xBFD4DB5AE0000000)
          to label %562 unwind label %960

562:                                              ; preds = %560
  %563 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 57
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %563, float noundef 0x3FB59D7C20000000, float noundef 0x3FB283D3E0000000, float noundef 0x3FD83DCA80000000)
          to label %564 unwind label %960

564:                                              ; preds = %562
  %565 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 58
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %565, float noundef 0x3FB73B0060000000, float noundef 0xBFC38C6660000000, float noundef 0xBFD70ABB40000000)
          to label %566 unwind label %960

566:                                              ; preds = %564
  %567 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 59
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %567, float noundef 0x3FB803F4A0000000, float noundef 0xBFA93F8000000000, float noundef 0xBFD51E8EA0000000)
          to label %568 unwind label %960

568:                                              ; preds = %566
  %569 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 60
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %569, float noundef 0x3FB7EED9C0000000, float noundef 0xBFC6BE31E0000000, float noundef 0xBFD58BD940000000)
          to label %570 unwind label %960

570:                                              ; preds = %568
  %571 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 61
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %571, float noundef 0x3FB7AC4C20000000, float noundef 0xBF8B377BC0000000, float noundef 0x3FDC4E32C0000000)
          to label %572 unwind label %960

572:                                              ; preds = %570
  %573 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 62
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %573, float noundef 0x3FB7F8FDE0000000, float noundef 0x3FA23717E0000000, float noundef 0x3FDC485AC0000000)
          to label %574 unwind label %960

574:                                              ; preds = %572
  %575 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 63
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %575, float noundef 0x3FB89AAEA0000000, float noundef 0xBF88A53C00000000, float noundef 0x3FDC61A380000000)
          to label %576 unwind label %960

576:                                              ; preds = %574
  %577 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 64
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %577, float noundef 0x3FB8BC3200000000, float noundef 0x3FA1B2D580000000, float noundef 0x3FDC5E65C0000000)
          to label %578 unwind label %960

578:                                              ; preds = %576
  %579 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 65
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %579, float noundef 0x3FBAD5BB00000000, float noundef 0x3FC067F4A0000000, float noundef 0x3FD16C72C0000000)
          to label %580 unwind label %960

580:                                              ; preds = %578
  %581 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 66
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %581, float noundef 0x3FBCDAEA00000000, float noundef 0x3FC03CD980000000, float noundef 0x3FD1303200000000)
          to label %582 unwind label %960

582:                                              ; preds = %580
  %583 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 67
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %583, float noundef 0x3FBC0CE7A0000000, float noundef 0x3FA3A66FE0000000, float noundef 0x3FDBCFD280000000)
          to label %584 unwind label %960

584:                                              ; preds = %582
  %585 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 68
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %585, float noundef 0x3FBC891040000000, float noundef 0xBF8A4E53C0000000, float noundef 0x3FDAF50A60000000)
          to label %586 unwind label %960

586:                                              ; preds = %584
  %587 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 69
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %587, float noundef 0x3FBC633D60000000, float noundef 0x3F6EE72BA0000000, float noundef 0x3FDCAA61C0000000)
          to label %588 unwind label %960

588:                                              ; preds = %586
  %589 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 70
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %589, float noundef 0x3FBD9F52C0000000, float noundef 0xBFBFEEFAC0000000, float noundef 0xBFD63F8E40000000)
          to label %590 unwind label %960

590:                                              ; preds = %588
  %591 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 71
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %591, float noundef 0x3FBF3087C0000000, float noundef 0xBFC50150C0000000, float noundef 0xBFD3638E60000000)
          to label %592 unwind label %960

592:                                              ; preds = %590
  %593 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 72
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %593, float noundef 0x3FBF430F00000000, float noundef 0x3F8682CD00000000, float noundef 0x3FDC661D60000000)
          to label %594 unwind label %960

594:                                              ; preds = %592
  %595 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 73
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %595, float noundef 0x3FBF8299C0000000, float noundef 0x3F8AEF5360000000, float noundef 0x3FDC5AB2C0000000)
          to label %596 unwind label %960

596:                                              ; preds = %594
  %597 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 74
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %597, float noundef 0x3FC0C17E40000000, float noundef 0xBFC34FB060000000, float noundef 0xBFD3DC3440000000)
          to label %598 unwind label %960

598:                                              ; preds = %596
  %599 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 75
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %599, float noundef 0x3FC277C220000000, float noundef 0x3FB908BFA0000000, float noundef 0x3FD3B3FBC0000000)
          to label %600 unwind label %960

600:                                              ; preds = %598
  %601 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 76
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %601, float noundef 0x3FC22D2380000000, float noundef 0x3F8D1499E0000000, float noundef 0x3FDABDC800000000)
          to label %602 unwind label %960

602:                                              ; preds = %600
  %603 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 77
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %603, float noundef 0x3FC2767C80000000, float noundef 0x3FB1D97F80000000, float noundef 0x3FD7EBEDA0000000)
          to label %604 unwind label %960

604:                                              ; preds = %602
  %605 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 78
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %605, float noundef 0x3FC275ED20000000, float noundef 0x3F96CE7F60000000, float noundef 0x3FDAB2EB40000000)
          to label %606 unwind label %960

606:                                              ; preds = %604
  %607 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 79
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %607, float noundef 0x3FC35ED6E0000000, float noundef 0xBFA3C565E0000000, float noundef 0xBFD185FCC0000000)
          to label %608 unwind label %960

608:                                              ; preds = %606
  %609 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 80
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %609, float noundef 0x3FC2DDA700000000, float noundef 0x3FB1D9B280000000, float noundef 0x3FD7BEB320000000)
          to label %610 unwind label %960

610:                                              ; preds = %608
  %611 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 81
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %611, float noundef 0x3FC3596DA0000000, float noundef 0xBFC0A7E0E0000000, float noundef 0xBFD135F3E0000000)
          to label %612 unwind label %960

612:                                              ; preds = %610
  %613 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 82
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %613, float noundef 0x3FC3C0FAA0000000, float noundef 0xBFA9EEE0C0000000, float noundef 0xBFD1B9CD00000000)
          to label %614 unwind label %960

614:                                              ; preds = %612
  %615 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 83
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %615, float noundef 0x3FC60E9360000000, float noundef 0x3FB9523520000000, float noundef 0xBFA50A8C40000000)
          to label %616 unwind label %960

616:                                              ; preds = %614
  %617 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 84
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %617, float noundef 0x3FC3D29920000000, float noundef 0x3F9F8C1A80000000, float noundef 0x3FD92C7060000000)
          to label %618 unwind label %960

618:                                              ; preds = %616
  %619 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 85
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %619, float noundef 0x3FC4DB2D00000000, float noundef 0x3FB98AED00000000, float noundef 0x3FCD9C3BA0000000)
          to label %620 unwind label %960

620:                                              ; preds = %618
  %621 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 86
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %621, float noundef 0x3FC61DB140000000, float noundef 0x3FAE56E840000000, float noundef 0xBFC0DA59C0000000)
          to label %622 unwind label %960

622:                                              ; preds = %620
  %623 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 87
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %623, float noundef 0x3FC6335240000000, float noundef 0x3FB17299E0000000, float noundef 0x3FD3128420000000)
          to label %624 unwind label %960

624:                                              ; preds = %622
  %625 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 88
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %625, float noundef 0x3FC77BBA80000000, float noundef 0x3F9EBFFB80000000, float noundef 0xBFC5B05A00000000)
          to label %626 unwind label %960

626:                                              ; preds = %624
  %627 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 89
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %627, float noundef 0x3FC7A5F980000000, float noundef 0xBFA11620E0000000, float noundef 0xBFCB109AE0000000)
          to label %628 unwind label %960

628:                                              ; preds = %626
  %629 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 90
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %629, float noundef 0x3FC73C71C0000000, float noundef 0x3FA9FFBB40000000, float noundef 0x3FD2D2AA40000000)
          to label %630 unwind label %960

630:                                              ; preds = %628
  %631 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 91
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %631, float noundef 0x3FC8280420000000, float noundef 0x3FB58D8D80000000, float noundef 0x3FC7E9B620000000)
          to label %632 unwind label %960

632:                                              ; preds = %630
  %633 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 92
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %633, float noundef 0x3FC8D5A6E0000000, float noundef 0x3FA0059A80000000, float noundef 0xBFC2BF23E0000000)
          to label %634 unwind label %960

634:                                              ; preds = %632
  %635 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 93
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %635, float noundef 0x3FC9FBDF00000000, float noundef 0x3FB0839920000000, float noundef 0xBFAB412EC0000000)
          to label %636 unwind label %960

636:                                              ; preds = %634
  %637 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 94
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %637, float noundef 0xBFCAC5F160000000, float noundef 0xBFC28996E0000000, float noundef 0xBFD2672AA0000000)
          to label %638 unwind label %960

638:                                              ; preds = %636
  %639 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 95
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %639, float noundef 0xBFCC0C3D00000000, float noundef 0xBFBF7B49A0000000, float noundef 0xBFD08BDA60000000)
          to label %640 unwind label %960

640:                                              ; preds = %638
  %641 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 96
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %641, float noundef 0xBFCC057CE0000000, float noundef 0xBFBD6B6B80000000, float noundef 0xBFD3CE4C20000000)
          to label %642 unwind label %960

642:                                              ; preds = %640
  %643 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 97
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %643, float noundef 0xBFCCCDCA80000000, float noundef 0xBFB94561E0000000, float noundef 0xBFD14CE7C0000000)
          to label %644 unwind label %960

644:                                              ; preds = %642
  %645 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 98
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %645, float noundef 0xBFCCCDCA80000000, float noundef 0xBFB94561E0000000, float noundef 0xBFD14CE7C0000000)
          to label %646 unwind label %960

646:                                              ; preds = %644
  %647 = getelementptr inbounds %"class.JPH::Vec3", ptr %30, i64 99
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %647, float noundef 0xBFCCCDCA80000000, float noundef 0xBFB94561E0000000, float noundef 0xBFD14CE7C0000000)
          to label %648 unwind label %960

648:                                              ; preds = %646
  %649 = getelementptr inbounds %"class.std::initializer_list.7", ptr %29, i32 0, i32 0
  store ptr %30, ptr %649, align 8, !tbaa !9
  %650 = getelementptr inbounds %"class.std::initializer_list.7", ptr %29, i32 0, i32 1
  store i64 100, ptr %650, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #9
  %651 = getelementptr inbounds { ptr, i64 }, ptr %29, i32 0, i32 0
  %652 = load ptr, ptr %651, align 8
  %653 = getelementptr inbounds { ptr, i64 }, ptr %29, i32 0, i32 1
  %654 = load i64, ptr %653, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %449, ptr %652, i64 %654, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %655 unwind label %964

655:                                              ; preds = %648
  %656 = getelementptr inbounds %"class.JPH::Array.4", ptr %4, i64 8
  store ptr %656, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 960, ptr %33) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %33, float noundef 0x3FD23ACCA0000000, float noundef 0x3FB83E6A00000000, float noundef 0x3FBD44C4A0000000)
          to label %657 unwind label %968

657:                                              ; preds = %655
  %658 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 1
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %658, float noundef 0x3FD35DD9E0000000, float noundef 0x3FB2CAE920000000, float noundef 0x3F81649980000000)
          to label %659 unwind label %968

659:                                              ; preds = %657
  %660 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 2
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %660, float noundef 0x3FD3718100000000, float noundef 0x3FAC951DE0000000, float noundef 0xBFCCADC4A0000000)
          to label %661 unwind label %968

661:                                              ; preds = %659
  %662 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 3
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %662, float noundef 0x3FD3A121E0000000, float noundef 0x3F9C72E520000000, float noundef 0xBFCCB10260000000)
          to label %663 unwind label %968

663:                                              ; preds = %661
  %664 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 4
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %664, float noundef 0xBFD30CEC00000000, float noundef 0xBFB09EEEA0000000, float noundef 0xBFC87E3040000000)
          to label %665 unwind label %968

665:                                              ; preds = %663
  %666 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 5
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %666, float noundef 0xBFD220C440000000, float noundef 0x3F9D3FBE00000000, float noundef 0x3FC531BE00000000)
          to label %667 unwind label %968

667:                                              ; preds = %665
  %668 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 6
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %668, float noundef 0xBFD17F5940000000, float noundef 0x3FBCCED000000000, float noundef 0xBFC1AE11C0000000)
          to label %669 unwind label %968

669:                                              ; preds = %667
  %670 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 7
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %670, float noundef 0xBFD0D90660000000, float noundef 0xBFA1D68AC0000000, float noundef 0x3FD6568BC0000000)
          to label %671 unwind label %968

671:                                              ; preds = %669
  %672 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 8
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %672, float noundef 0xBFD15B2380000000, float noundef 0xBFC33ED600000000, float noundef 0xBFB076F240000000)
          to label %673 unwind label %968

673:                                              ; preds = %671
  %674 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %674, float noundef 0xBFD0AAA280000000, float noundef 0x3FBAC9E6A0000000, float noundef 0xBFCA9E5E80000000)
          to label %675 unwind label %968

675:                                              ; preds = %673
  %676 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 10
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %676, float noundef 0xBFCC5C47E0000000, float noundef 0xBF7D2C1580000000, float noundef 0x3FD9D2A240000000)
          to label %677 unwind label %968

677:                                              ; preds = %675
  %678 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 11
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %678, float noundef 0xBFC99E1180000000, float noundef 0x3FC1A87C00000000, float noundef 0xBFCE93EB60000000)
          to label %679 unwind label %968

679:                                              ; preds = %677
  %680 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 12
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %680, float noundef 0xBFC8CAB5A0000000, float noundef 0x3FA58CAD20000000, float noundef 0x3FDAF67C40000000)
          to label %681 unwind label %968

681:                                              ; preds = %679
  %682 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 13
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %682, float noundef 0xBFC7423E00000000, float noundef 0xBFBA08F340000000, float noundef 0x3FD868C9E0000000)
          to label %683 unwind label %968

683:                                              ; preds = %681
  %684 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 14
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %684, float noundef 0xBFC7F7B260000000, float noundef 0x3FC8508CC0000000, float noundef 0x3FB5D15700000000)
          to label %685 unwind label %968

685:                                              ; preds = %683
  %686 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 15
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %686, float noundef 0xBFC65FA480000000, float noundef 0xBFACA89920000000, float noundef 0x3FDA46F0C0000000)
          to label %687 unwind label %968

687:                                              ; preds = %685
  %688 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 16
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %688, float noundef 0xBFC33755E0000000, float noundef 0x3FB6011360000000, float noundef 0x3FDC1B0000000000)
          to label %689 unwind label %968

689:                                              ; preds = %687
  %690 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 17
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %690, float noundef 0xBFBE0234C0000000, float noundef 0xBFBA5D3C40000000, float noundef 0xBFD362AF40000000)
          to label %691 unwind label %968

691:                                              ; preds = %689
  %692 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 18
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %692, float noundef 0xBFBCB77960000000, float noundef 0x3F7869A0E0000000, float noundef 0x3FDC3EE4E0000000)
          to label %693 unwind label %968

693:                                              ; preds = %691
  %694 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 19
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %694, float noundef 0xBFBDF9CCC0000000, float noundef 0x3FCD749BE0000000, float noundef 0x3FBEDC6880000000)
          to label %695 unwind label %968

695:                                              ; preds = %693
  %696 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 20
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %696, float noundef 0xBFBB67EFE0000000, float noundef 0x3FC4315B20000000, float noundef 0xBFD5637EC0000000)
          to label %697 unwind label %968

697:                                              ; preds = %695
  %698 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 21
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %698, float noundef 0xBFB6285260000000, float noundef 0x3FB9264F40000000, float noundef 0x3FDBEFF120000000)
          to label %699 unwind label %968

699:                                              ; preds = %697
  %700 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 22
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %700, float noundef 0xBFB581ED80000000, float noundef 0x3FB630F3A0000000, float noundef 0xBFDA4FBC40000000)
          to label %701 unwind label %968

701:                                              ; preds = %699
  %702 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 23
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %702, float noundef 0xBFB48C3D40000000, float noundef 0xBFCF9C32A0000000, float noundef 0xBF89278D40000000)
          to label %703 unwind label %968

703:                                              ; preds = %701
  %704 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 24
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %704, float noundef 0xBFB01CE3C0000000, float noundef 0x3FC036A2C0000000, float noundef 0xBFD912F7C0000000)
          to label %705 unwind label %968

705:                                              ; preds = %703
  %706 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 25
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %706, float noundef 0xBFAB2E7840000000, float noundef 0xBFB3C62440000000, float noundef 0xBFD7E6E000000000)
          to label %707 unwind label %968

707:                                              ; preds = %705
  %708 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 26
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %708, float noundef 0xBFA8EE1600000000, float noundef 0xBFCE85F1C0000000, float noundef 0xBFBC8E1E60000000)
          to label %709 unwind label %968

709:                                              ; preds = %707
  %710 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 27
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %710, float noundef 0xBFA66916E0000000, float noundef 0x3FB03F73E0000000, float noundef 0x3FDC541700000000)
          to label %711 unwind label %968

711:                                              ; preds = %709
  %712 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 28
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %712, float noundef 0xBFA390FDC0000000, float noundef 0x3FAD931940000000, float noundef 0xBFDBBB58E0000000)
          to label %713 unwind label %968

713:                                              ; preds = %711
  %714 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 29
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %714, float noundef 0xBF8CB28C80000000, float noundef 0xBFB4187E20000000, float noundef 0x3FD7B0D8C0000000)
          to label %715 unwind label %968

715:                                              ; preds = %713
  %716 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 30
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %716, float noundef 0xBF89F69680000000, float noundef 0xBFCF2394A0000000, float noundef 0xBFB934D800000000)
          to label %717 unwind label %968

717:                                              ; preds = %715
  %718 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 31
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %718, float noundef 0xBF81DBC940000000, float noundef 0xBFCF66C900000000, float noundef 0xBF87BB0240000000)
          to label %719 unwind label %968

719:                                              ; preds = %717
  %720 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 32
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %720, float noundef 0x3F7905EDE0000000, float noundef 0x3FCA561EA0000000, float noundef 0xBFD4B66BC0000000)
          to label %721 unwind label %968

721:                                              ; preds = %719
  %722 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 33
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %722, float noundef 0x3F9364C6E0000000, float noundef 0xBF9B014A60000000, float noundef 0xBFDC392E80000000)
          to label %723 unwind label %968

723:                                              ; preds = %721
  %724 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 34
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %724, float noundef 0x3FA32918E0000000, float noundef 0x3FD05DCF40000000, float noundef 0x3FBEA8A820000000)
          to label %725 unwind label %968

725:                                              ; preds = %723
  %726 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 35
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %726, float noundef 0x3FA769C7E0000000, float noundef 0xBF991BFB00000000, float noundef 0x3FD81044A0000000)
          to label %727 unwind label %968

727:                                              ; preds = %725
  %728 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 36
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %728, float noundef 0x3FA89FF0C0000000, float noundef 0x3FBD380BE0000000, float noundef 0x3FD87A7D60000000)
          to label %729 unwind label %968

729:                                              ; preds = %727
  %730 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 37
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %730, float noundef 0x3FA9433B40000000, float noundef 0xBF9333A6A0000000, float noundef 0xBFDBE97EC0000000)
          to label %731 unwind label %968

731:                                              ; preds = %729
  %732 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 38
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %732, float noundef 0x3FB41B7560000000, float noundef 0x3FC1170D40000000, float noundef 0x3FD61AFDC0000000)
          to label %733 unwind label %968

733:                                              ; preds = %731
  %734 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 39
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %734, float noundef 0x3FBC530540000000, float noundef 0x3FA1242720000000, float noundef 0x3FD54B4B80000000)
          to label %735 unwind label %968

735:                                              ; preds = %733
  %736 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 40
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %736, float noundef 0x3FBC719320000000, float noundef 0x3FA490A2A0000000, float noundef 0xBFDB1C64C0000000)
          to label %737 unwind label %968

737:                                              ; preds = %735
  %738 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 41
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %738, float noundef 0x3FBFB81FE0000000, float noundef 0xBFC9E540C0000000, float noundef 0xBF90619CA0000000)
          to label %739 unwind label %968

739:                                              ; preds = %737
  %740 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 42
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %740, float noundef 0x3FC0BF0740000000, float noundef 0xBFC9667660000000, float noundef 0xBFB6082720000000)
          to label %741 unwind label %968

741:                                              ; preds = %739
  %742 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 43
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %742, float noundef 0x3FC013A800000000, float noundef 0xBF9A3F3DA0000000, float noundef 0xBFD8543040000000)
          to label %743 unwind label %968

743:                                              ; preds = %741
  %744 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 44
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %744, float noundef 0x3FC08B22C0000000, float noundef 0x3FC4BE87E0000000, float noundef 0xBFD654EE00000000)
          to label %745 unwind label %968

745:                                              ; preds = %743
  %746 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 45
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %746, float noundef 0x3FC40707E0000000, float noundef 0x3FCB752C00000000, float noundef 0x3FC54707A0000000)
          to label %747 unwind label %968

747:                                              ; preds = %745
  %748 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 46
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %748, float noundef 0x3FC6D97B80000000, float noundef 0xBFC203E8A0000000, float noundef 0x3FB5933680000000)
          to label %749 unwind label %968

749:                                              ; preds = %747
  %750 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 47
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %750, float noundef 0x3FC8D57680000000, float noundef 0xBFC391AE40000000, float noundef 0xBFA0C14E20000000)
          to label %751 unwind label %968

751:                                              ; preds = %749
  %752 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 48
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %752, float noundef 0x3FC9BB1600000000, float noundef 0x3FB6494CE0000000, float noundef 0xBFD8440560000000)
          to label %753 unwind label %968

753:                                              ; preds = %751
  %754 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 49
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %754, float noundef 0x3FCA5D1E40000000, float noundef 0x3FB0E80060000000, float noundef 0xBFD8E043E0000000)
          to label %755 unwind label %968

755:                                              ; preds = %753
  %756 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 50
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %756, float noundef 0x3FD0B1D140000000, float noundef 0x3FB6476900000000, float noundef 0xBFD4CDF600000000)
          to label %757 unwind label %968

757:                                              ; preds = %755
  %758 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 51
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %758, float noundef 0x3FD17DEA00000000, float noundef 0x3FC3D64320000000, float noundef 0x3FBCD32520000000)
          to label %759 unwind label %968

759:                                              ; preds = %757
  %760 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 52
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %760, float noundef 0x3FD173D480000000, float noundef 0x3FA30A9360000000, float noundef 0xBFD474AAE0000000)
          to label %761 unwind label %968

761:                                              ; preds = %759
  %762 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 53
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %762, float noundef 0x3FD176ECA0000000, float noundef 0x3FAFD5B9C0000000, float noundef 0xBFD5294E20000000)
          to label %763 unwind label %968

763:                                              ; preds = %761
  %764 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 54
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %764, float noundef 0xBFD2C2D340000000, float noundef 0xBFC7246B20000000, float noundef 0x3FCF2B94E0000000)
          to label %765 unwind label %968

765:                                              ; preds = %763
  %766 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 55
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %766, float noundef 0xBFD3BB6580000000, float noundef 0xBFB1CC7400000000, float noundef 0x3FB2CAAF60000000)
          to label %767 unwind label %968

767:                                              ; preds = %765
  %768 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 56
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %768, float noundef 0xBFD347E3A0000000, float noundef 0xBFC7820D40000000, float noundef 0x3FCD340FC0000000)
          to label %769 unwind label %968

769:                                              ; preds = %767
  %770 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 57
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %770, float noundef 0xBFD3736EE0000000, float noundef 0xBFC7001FA0000000, float noundef 0x3FCD12E5C0000000)
          to label %771 unwind label %968

771:                                              ; preds = %769
  %772 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 58
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %772, float noundef 0xBFD3736EE0000000, float noundef 0xBFC7001FA0000000, float noundef 0x3FCD12E5C0000000)
          to label %773 unwind label %968

773:                                              ; preds = %771
  %774 = getelementptr inbounds %"class.JPH::Vec3", ptr %33, i64 59
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %774, float noundef 0xBFD3736EE0000000, float noundef 0xBFC7001FA0000000, float noundef 0x3FCD12E5C0000000)
          to label %775 unwind label %968

775:                                              ; preds = %773
  %776 = getelementptr inbounds %"class.std::initializer_list.7", ptr %32, i32 0, i32 0
  store ptr %33, ptr %776, align 8, !tbaa !9
  %777 = getelementptr inbounds %"class.std::initializer_list.7", ptr %32, i32 0, i32 1
  store i64 60, ptr %777, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 1, ptr %34) #9
  %778 = getelementptr inbounds { ptr, i64 }, ptr %32, i32 0, i32 0
  %779 = load ptr, ptr %778, align 8
  %780 = getelementptr inbounds { ptr, i64 }, ptr %32, i32 0, i32 1
  %781 = load i64, ptr %780, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %656, ptr %779, i64 %781, ptr noundef nonnull align 1 dereferenceable(1) %34)
          to label %782 unwind label %972

782:                                              ; preds = %775
  %783 = getelementptr inbounds %"class.JPH::Array.4", ptr %4, i64 9
  store ptr %783, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 256, ptr %36) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %36, float noundef 0xBF7CFC8D00000000, float noundef 0x3F76EB8000000000, float noundef 0xBF988DAE80000000)
          to label %784 unwind label %976

784:                                              ; preds = %782
  %785 = getelementptr inbounds %"class.JPH::Vec3", ptr %36, i64 1
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %785, float noundef 0x3F8BE51880000000, float noundef 0x3F7630B000000000, float noundef 0xBF97175BE0000000)
          to label %786 unwind label %976

786:                                              ; preds = %784
  %787 = getelementptr inbounds %"class.JPH::Vec3", ptr %36, i64 2
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %787, float noundef 0x3F8BC420C0000000, float noundef 0x3F76EB8000000000, float noundef 0xBF96F60000000000)
          to label %788 unwind label %976

788:                                              ; preds = %786
  %789 = getelementptr inbounds %"class.JPH::Vec3", ptr %36, i64 3
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %789, float noundef 0xBF8629CD80000000, float noundef 0x3F76EB8000000000, float noundef 0xBF96EE53A0000000)
          to label %790 unwind label %976

790:                                              ; preds = %788
  %791 = getelementptr inbounds %"class.JPH::Vec3", ptr %36, i64 4
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %791, float noundef 0x3F8C1A9E40000000, float noundef 0x3F76EB8000000000, float noundef 0xBF969FD580000000)
          to label %792 unwind label %976

792:                                              ; preds = %790
  %793 = getelementptr inbounds %"class.JPH::Vec3", ptr %36, i64 5
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %793, float noundef 0x3F68AC1D80000000, float noundef 0xBF97DA7000000000, float noundef 0xBF9602B840000000)
          to label %794 unwind label %976

794:                                              ; preds = %792
  %795 = getelementptr inbounds %"class.JPH::Vec3", ptr %36, i64 6
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %795, float noundef 0x3F91C418C0000000, float noundef 0x3F76EB8000000000, float noundef 0x3F98C03F80000000)
          to label %796 unwind label %976

796:                                              ; preds = %794
  %797 = getelementptr inbounds %"class.JPH::Vec3", ptr %36, i64 7
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %797, float noundef 0x3F7002E200000000, float noundef 0xBFA2D86C00000000, float noundef 0x3FABB7CF40000000)
          to label %798 unwind label %976

798:                                              ; preds = %796
  %799 = getelementptr inbounds %"class.JPH::Vec3", ptr %36, i64 8
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %799, float noundef 0xBF90D734C0000000, float noundef 0x3F76EB8000000000, float noundef 0x3FAF1A9600000000)
          to label %800 unwind label %976

800:                                              ; preds = %798
  %801 = getelementptr inbounds %"class.JPH::Vec3", ptr %36, i64 9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %801, float noundef 0xBF91655940000000, float noundef 0x3F76EB8000000000, float noundef 0x3FAF237400000000)
          to label %802 unwind label %976

802:                                              ; preds = %800
  %803 = getelementptr inbounds %"class.JPH::Vec3", ptr %36, i64 10
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %803, float noundef 0xBF91488640000000, float noundef 0x3F75A93000000000, float noundef 0x3FAF668F80000000)
          to label %804 unwind label %976

804:                                              ; preds = %802
  %805 = getelementptr inbounds %"class.JPH::Vec3", ptr %36, i64 11
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %805, float noundef 0xBF7B304760000000, float noundef 0x3F76EB8000000000, float noundef 0xBF98BC0DC0000000)
          to label %806 unwind label %976

806:                                              ; preds = %804
  %807 = getelementptr inbounds %"class.JPH::Vec3", ptr %36, i64 12
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %807, float noundef 0xBF74C76880000000, float noundef 0x3F76EB8000000000, float noundef 0xBF98CAD800000000)
          to label %808 unwind label %976

808:                                              ; preds = %806
  %809 = getelementptr inbounds %"class.JPH::Vec3", ptr %36, i64 13
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %809, float noundef 0xBF772E62C0000000, float noundef 0x3F738A9000000000, float noundef 0xBF98F85680000000)
          to label %810 unwind label %976

810:                                              ; preds = %808
  %811 = getelementptr inbounds %"class.JPH::Vec3", ptr %36, i64 14
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %811, float noundef 0x3F882E94C0000000, float noundef 0x3F545DC000000000, float noundef 0xBF9A77B380000000)
          to label %812 unwind label %976

812:                                              ; preds = %810
  %813 = getelementptr inbounds %"class.JPH::Vec3", ptr %36, i64 15
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %813, float noundef 0x3F819E2E00000000, float noundef 0xBF7C96F000000000, float noundef 0xBF9C5631C0000000)
          to label %814 unwind label %976

814:                                              ; preds = %812
  %815 = getelementptr inbounds %"class.std::initializer_list.7", ptr %35, i32 0, i32 0
  store ptr %36, ptr %815, align 8, !tbaa !9
  %816 = getelementptr inbounds %"class.std::initializer_list.7", ptr %35, i32 0, i32 1
  store i64 16, ptr %816, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 1, ptr %37) #9
  %817 = getelementptr inbounds { ptr, i64 }, ptr %35, i32 0, i32 0
  %818 = load ptr, ptr %817, align 8
  %819 = getelementptr inbounds { ptr, i64 }, ptr %35, i32 0, i32 1
  %820 = load i64, ptr %819, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %783, ptr %818, i64 %820, ptr noundef nonnull align 1 dereferenceable(1) %37)
          to label %821 unwind label %980

821:                                              ; preds = %814
  %822 = getelementptr inbounds %"class.JPH::Array.4", ptr %4, i64 10
  store ptr %822, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 256, ptr %39) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %39, float noundef 0x3FC08DBC60000000, float noundef 0xBFCB4E1180000000, float noundef 0x3F8276F200000000)
          to label %823 unwind label %984

823:                                              ; preds = %821
  %824 = getelementptr inbounds %"class.JPH::Vec3", ptr %39, i64 1
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %824, float noundef 0x3FC08B4EC0000000, float noundef 0xBFCB51E280000000, float noundef 0x3F8316DB80000000)
          to label %825 unwind label %984

825:                                              ; preds = %823
  %826 = getelementptr inbounds %"class.JPH::Vec3", ptr %39, i64 2
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %826, float noundef 0x3FC4932DE0000000, float noundef 0xBFC5F50B00000000, float noundef 0x3FA95246C0000000)
          to label %827 unwind label %984

827:                                              ; preds = %825
  %828 = getelementptr inbounds %"class.JPH::Vec3", ptr %39, i64 3
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %828, float noundef 0x3FC490E120000000, float noundef 0xBFC5F8B040000000, float noundef 0x3FA97AEBC0000000)
          to label %829 unwind label %984

829:                                              ; preds = %827
  %830 = getelementptr inbounds %"class.JPH::Vec3", ptr %39, i64 4
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %830, float noundef 0x3FC2366A60000000, float noundef 0x3FDBB5B5A0000000, float noundef 0x3FD21351C0000000)
          to label %831 unwind label %984

831:                                              ; preds = %829
  %832 = getelementptr inbounds %"class.JPH::Vec3", ptr %39, i64 5
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %832, float noundef 0x3FC2458540000000, float noundef 0x3FDBB9FCA0000000, float noundef 0x3FD2215E40000000)
          to label %833 unwind label %984

833:                                              ; preds = %831
  %834 = getelementptr inbounds %"class.JPH::Vec3", ptr %39, i64 6
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %834, float noundef 0x3FD2F22D40000000, float noundef 0x3FCD0C3600000000, float noundef 0x3FD404FD00000000)
          to label %835 unwind label %984

835:                                              ; preds = %833
  %836 = getelementptr inbounds %"class.JPH::Vec3", ptr %39, i64 7
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %836, float noundef 0x3FD2F52C00000000, float noundef 0x3FCD20FAA0000000, float noundef 0x3FD41222C0000000)
          to label %837 unwind label %984

837:                                              ; preds = %835
  %838 = getelementptr inbounds %"class.JPH::Vec3", ptr %39, i64 8
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %838, float noundef 0xBF6D055800000000, float noundef 0xBFC7236100000000, float noundef 0xBFB3826DA0000000)
          to label %839 unwind label %984

839:                                              ; preds = %837
  %840 = getelementptr inbounds %"class.JPH::Vec3", ptr %39, i64 9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %840, float noundef 0xBF6E844000000000, float noundef 0xBFC71D7DC0000000, float noundef 0xBFB3A14080000000)
          to label %841 unwind label %984

841:                                              ; preds = %839
  %842 = getelementptr inbounds %"class.JPH::Vec3", ptr %39, i64 10
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %842, float noundef 0xBF90158100000000, float noundef 0xBFC68D2600000000, float noundef 0xBFB5595000000000)
          to label %843 unwind label %984

843:                                              ; preds = %841
  %844 = getelementptr inbounds %"class.JPH::Vec3", ptr %39, i64 11
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %844, float noundef 0xBF908DFF00000000, float noundef 0xBFC683D6C0000000, float noundef 0xBFB582DC80000000)
          to label %845 unwind label %984

845:                                              ; preds = %843
  %846 = getelementptr inbounds %"class.JPH::Vec3", ptr %39, i64 12
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %846, float noundef 0xBFD5EFDB80000000, float noundef 0x3F9A929500000000, float noundef 0xBFCF481E40000000)
          to label %847 unwind label %984

847:                                              ; preds = %845
  %848 = getelementptr inbounds %"class.JPH::Vec3", ptr %39, i64 13
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %848, float noundef 0xBFD5E83740000000, float noundef 0x3F9A470700000000, float noundef 0xBFCF4DF4C0000000)
          to label %849 unwind label %984

849:                                              ; preds = %847
  %850 = getelementptr inbounds %"class.JPH::Vec3", ptr %39, i64 14
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %850, float noundef 0xBFD7761D00000000, float noundef 0x3FAC651C00000000, float noundef 0xBFD00147C0000000)
          to label %851 unwind label %984

851:                                              ; preds = %849
  %852 = getelementptr inbounds %"class.JPH::Vec3", ptr %39, i64 15
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %852, float noundef 0xBFD7746300000000, float noundef 0x3FAC79F280000000, float noundef 0xBFD0059CA0000000)
          to label %853 unwind label %984

853:                                              ; preds = %851
  %854 = getelementptr inbounds %"class.std::initializer_list.7", ptr %38, i32 0, i32 0
  store ptr %39, ptr %854, align 8, !tbaa !9
  %855 = getelementptr inbounds %"class.std::initializer_list.7", ptr %38, i32 0, i32 1
  store i64 16, ptr %855, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 1, ptr %40) #9
  %856 = getelementptr inbounds { ptr, i64 }, ptr %38, i32 0, i32 0
  %857 = load ptr, ptr %856, align 8
  %858 = getelementptr inbounds { ptr, i64 }, ptr %38, i32 0, i32 1
  %859 = load i64, ptr %858, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %822, ptr %857, i64 %859, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %860 unwind label %988

860:                                              ; preds = %853
  %861 = getelementptr inbounds %"class.JPH::Array.4", ptr %4, i64 11
  store ptr %861, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 128, ptr %42) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %42, float noundef 0xBFA71A6D80000000, float noundef 0xBFBA946200000000, float noundef 0xBFA1BDCA80000000)
          to label %862 unwind label %992

862:                                              ; preds = %860
  %863 = getelementptr inbounds %"class.JPH::Vec3", ptr %42, i64 1
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %863, float noundef 0xBF93EC5D00000000, float noundef 0xBFBFA1D7C0000000, float noundef 0xBFA07E2200000000)
          to label %864 unwind label %992

864:                                              ; preds = %862
  %865 = getelementptr inbounds %"class.JPH::Vec3", ptr %42, i64 2
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %865, float noundef 0x3FA089F280000000, float noundef 0xBFA7FE9A00000000, float noundef 0xBF9F809300000000)
          to label %866 unwind label %992

866:                                              ; preds = %864
  %867 = getelementptr inbounds %"class.JPH::Vec3", ptr %42, i64 3
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %867, float noundef 0x3FA51A5A80000000, float noundef 0xBFB6A682C0000000, float noundef 0xBF9D932A00000000)
          to label %868 unwind label %992

868:                                              ; preds = %866
  %869 = getelementptr inbounds %"class.JPH::Vec3", ptr %42, i64 4
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %869, float noundef 0xBFACE7F700000000, float noundef 0x3F953EAF00000000, float noundef 0x3F91569300000000)
          to label %870 unwind label %992

870:                                              ; preds = %868
  %871 = getelementptr inbounds %"class.JPH::Vec3", ptr %42, i64 5
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %871, float noundef 0x3F76032800000000, float noundef 0x3FBB0E6920000000, float noundef 0x3FA22F3500000000)
          to label %872 unwind label %992

872:                                              ; preds = %870
  %873 = getelementptr inbounds %"class.JPH::Vec3", ptr %42, i64 6
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %873, float noundef 0x3F957E4F00000000, float noundef 0x3FBE24DC60000000, float noundef 0x3FA2B36F00000000)
          to label %874 unwind label %992

874:                                              ; preds = %872
  %875 = getelementptr inbounds %"class.JPH::Vec3", ptr %42, i64 7
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %875, float noundef 0x3F95A97500000000, float noundef 0x3FBE591880000000, float noundef 0x3FA337DD80000000)
          to label %876 unwind label %992

876:                                              ; preds = %874
  %877 = getelementptr inbounds %"class.std::initializer_list.7", ptr %41, i32 0, i32 0
  store ptr %42, ptr %877, align 8, !tbaa !9
  %878 = getelementptr inbounds %"class.std::initializer_list.7", ptr %41, i32 0, i32 1
  store i64 8, ptr %878, align 8, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 1, ptr %43) #9
  %879 = getelementptr inbounds { ptr, i64 }, ptr %41, i32 0, i32 0
  %880 = load ptr, ptr %879, align 8
  %881 = getelementptr inbounds { ptr, i64 }, ptr %41, i32 0, i32 1
  %882 = load i64, ptr %881, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %861, ptr %880, i64 %882, ptr noundef nonnull align 1 dereferenceable(1) %43)
          to label %883 unwind label %996

883:                                              ; preds = %876
  store i1 false, ptr %44, align 1
  %884 = getelementptr inbounds %"class.std::initializer_list", ptr %3, i32 0, i32 0
  store ptr %4, ptr %884, align 8, !tbaa !13
  %885 = getelementptr inbounds %"class.std::initializer_list", ptr %3, i32 0, i32 1
  store i64 12, ptr %885, align 8, !tbaa !15
  %886 = getelementptr inbounds %class.ConvexHullTest, ptr %76, i32 0, i32 1
  %887 = getelementptr inbounds { ptr, i64 }, ptr %3, i32 0, i32 0
  %888 = load ptr, ptr %887, align 8
  %889 = getelementptr inbounds { ptr, i64 }, ptr %3, i32 0, i32 1
  %890 = load i64, ptr %889, align 8
  %891 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3JPH5ArrayINS0_INS_4Vec3ENS_12STLAllocatorIS1_EEEENS2_IS4_EEEaSESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %886, ptr %888, i64 %890)
          to label %892 unwind label %1000

892:                                              ; preds = %883
  %893 = getelementptr inbounds [12 x %"class.JPH::Array.4"], ptr %4, i32 0, i32 0
  %894 = getelementptr inbounds %"class.JPH::Array.4", ptr %893, i64 12
  br label %895

895:                                              ; preds = %895, %892
  %896 = phi ptr [ %894, %892 ], [ %897, %895 ]
  %897 = getelementptr inbounds %"class.JPH::Array.4", ptr %896, i64 -1
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %897) #9
  %898 = icmp eq ptr %897, %893
  br i1 %898, label %899, label %895

899:                                              ; preds = %895
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #9
  call void @llvm.lifetime.end.p0(i64 128, ptr %42) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %39) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %37) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %36) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #9
  call void @llvm.lifetime.end.p0(i64 960, ptr %33) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #9
  call void @llvm.lifetime.end.p0(i64 1600, ptr %30) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #9
  call void @llvm.lifetime.end.p0(i64 448, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr %24) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #9
  call void @llvm.lifetime.end.p0(i64 1312, ptr %21) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #9
  call void @llvm.lifetime.end.p0(i64 368, ptr %18) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #9
  call void @llvm.lifetime.end.p0(i64 80, ptr %15) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %13) #9
  call void @llvm.lifetime.end.p0(i64 64, ptr %12) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #9
  call void @llvm.lifetime.end.p0(i64 64, ptr %7) #9
  call void @llvm.lifetime.end.p0(i64 288, ptr %4) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %45) #9
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #9
  store i32 0, ptr %46, align 4, !tbaa !16
  br label %900

900:                                              ; preds = %1104, %899
  %901 = load i32, ptr %46, align 4, !tbaa !16
  %902 = icmp slt i32 %901, 10
  br i1 %902, label %1045, label %903

903:                                              ; preds = %900
  store i32 2, ptr %47, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #9
  br label %1107

904:                                              ; preds = %81, %79, %77, %1
  %905 = landingpad { ptr, i32 }
          cleanup
  %906 = extractvalue { ptr, i32 } %905, 0
  store ptr %906, ptr %8, align 8
  %907 = extractvalue { ptr, i32 } %905, 1
  store i32 %907, ptr %9, align 4
  br label %1034

908:                                              ; preds = %83
  %909 = landingpad { ptr, i32 }
          cleanup
  %910 = extractvalue { ptr, i32 } %909, 0
  store ptr %910, ptr %8, align 8
  %911 = extractvalue { ptr, i32 } %909, 1
  store i32 %911, ptr %9, align 4
  br label %1033

912:                                              ; preds = %96, %94, %92, %90
  %913 = landingpad { ptr, i32 }
          cleanup
  %914 = extractvalue { ptr, i32 } %913, 0
  store ptr %914, ptr %8, align 8
  %915 = extractvalue { ptr, i32 } %913, 1
  store i32 %915, ptr %9, align 4
  br label %1032

916:                                              ; preds = %98
  %917 = landingpad { ptr, i32 }
          cleanup
  %918 = extractvalue { ptr, i32 } %917, 0
  store ptr %918, ptr %8, align 8
  %919 = extractvalue { ptr, i32 } %917, 1
  store i32 %919, ptr %9, align 4
  br label %1031

920:                                              ; preds = %113, %111, %109, %107, %105
  %921 = landingpad { ptr, i32 }
          cleanup
  %922 = extractvalue { ptr, i32 } %921, 0
  store ptr %922, ptr %8, align 8
  %923 = extractvalue { ptr, i32 } %921, 1
  store i32 %923, ptr %9, align 4
  br label %1030

924:                                              ; preds = %115
  %925 = landingpad { ptr, i32 }
          cleanup
  %926 = extractvalue { ptr, i32 } %925, 0
  store ptr %926, ptr %8, align 8
  %927 = extractvalue { ptr, i32 } %925, 1
  store i32 %927, ptr %9, align 4
  br label %1029

928:                                              ; preds = %166, %164, %162, %160, %158, %156, %154, %152, %150, %148, %146, %144, %142, %140, %138, %136, %134, %132, %130, %128, %126, %124, %122
  %929 = landingpad { ptr, i32 }
          cleanup
  %930 = extractvalue { ptr, i32 } %929, 0
  store ptr %930, ptr %8, align 8
  %931 = extractvalue { ptr, i32 } %929, 1
  store i32 %931, ptr %9, align 4
  br label %1028

932:                                              ; preds = %168
  %933 = landingpad { ptr, i32 }
          cleanup
  %934 = extractvalue { ptr, i32 } %933, 0
  store ptr %934, ptr %8, align 8
  %935 = extractvalue { ptr, i32 } %933, 1
  store i32 %935, ptr %9, align 4
  br label %1027

936:                                              ; preds = %337, %335, %333, %331, %329, %327, %325, %323, %321, %319, %317, %315, %313, %311, %309, %307, %305, %303, %301, %299, %297, %295, %293, %291, %289, %287, %285, %283, %281, %279, %277, %275, %273, %271, %269, %267, %265, %263, %261, %259, %257, %255, %253, %251, %249, %247, %245, %243, %241, %239, %237, %235, %233, %231, %229, %227, %225, %223, %221, %219, %217, %215, %213, %211, %209, %207, %205, %203, %201, %199, %197, %195, %193, %191, %189, %187, %185, %183, %181, %179, %177, %175
  %937 = landingpad { ptr, i32 }
          cleanup
  %938 = extractvalue { ptr, i32 } %937, 0
  store ptr %938, ptr %8, align 8
  %939 = extractvalue { ptr, i32 } %937, 1
  store i32 %939, ptr %9, align 4
  br label %1026

940:                                              ; preds = %339
  %941 = landingpad { ptr, i32 }
          cleanup
  %942 = extractvalue { ptr, i32 } %941, 0
  store ptr %942, ptr %8, align 8
  %943 = extractvalue { ptr, i32 } %941, 1
  store i32 %943, ptr %9, align 4
  br label %1025

944:                                              ; preds = %376, %374, %372, %370, %368, %366, %364, %362, %360, %358, %356, %354, %352, %350, %348, %346
  %945 = landingpad { ptr, i32 }
          cleanup
  %946 = extractvalue { ptr, i32 } %945, 0
  store ptr %946, ptr %8, align 8
  %947 = extractvalue { ptr, i32 } %945, 1
  store i32 %947, ptr %9, align 4
  br label %1024

948:                                              ; preds = %378
  %949 = landingpad { ptr, i32 }
          cleanup
  %950 = extractvalue { ptr, i32 } %949, 0
  store ptr %950, ptr %8, align 8
  %951 = extractvalue { ptr, i32 } %949, 1
  store i32 %951, ptr %9, align 4
  br label %1023

952:                                              ; preds = %439, %437, %435, %433, %431, %429, %427, %425, %423, %421, %419, %417, %415, %413, %411, %409, %407, %405, %403, %401, %399, %397, %395, %393, %391, %389, %387, %385
  %953 = landingpad { ptr, i32 }
          cleanup
  %954 = extractvalue { ptr, i32 } %953, 0
  store ptr %954, ptr %8, align 8
  %955 = extractvalue { ptr, i32 } %953, 1
  store i32 %955, ptr %9, align 4
  br label %1022

956:                                              ; preds = %441
  %957 = landingpad { ptr, i32 }
          cleanup
  %958 = extractvalue { ptr, i32 } %957, 0
  store ptr %958, ptr %8, align 8
  %959 = extractvalue { ptr, i32 } %957, 1
  store i32 %959, ptr %9, align 4
  br label %1021

960:                                              ; preds = %646, %644, %642, %640, %638, %636, %634, %632, %630, %628, %626, %624, %622, %620, %618, %616, %614, %612, %610, %608, %606, %604, %602, %600, %598, %596, %594, %592, %590, %588, %586, %584, %582, %580, %578, %576, %574, %572, %570, %568, %566, %564, %562, %560, %558, %556, %554, %552, %550, %548, %546, %544, %542, %540, %538, %536, %534, %532, %530, %528, %526, %524, %522, %520, %518, %516, %514, %512, %510, %508, %506, %504, %502, %500, %498, %496, %494, %492, %490, %488, %486, %484, %482, %480, %478, %476, %474, %472, %470, %468, %466, %464, %462, %460, %458, %456, %454, %452, %450, %448
  %961 = landingpad { ptr, i32 }
          cleanup
  %962 = extractvalue { ptr, i32 } %961, 0
  store ptr %962, ptr %8, align 8
  %963 = extractvalue { ptr, i32 } %961, 1
  store i32 %963, ptr %9, align 4
  br label %1020

964:                                              ; preds = %648
  %965 = landingpad { ptr, i32 }
          cleanup
  %966 = extractvalue { ptr, i32 } %965, 0
  store ptr %966, ptr %8, align 8
  %967 = extractvalue { ptr, i32 } %965, 1
  store i32 %967, ptr %9, align 4
  br label %1019

968:                                              ; preds = %773, %771, %769, %767, %765, %763, %761, %759, %757, %755, %753, %751, %749, %747, %745, %743, %741, %739, %737, %735, %733, %731, %729, %727, %725, %723, %721, %719, %717, %715, %713, %711, %709, %707, %705, %703, %701, %699, %697, %695, %693, %691, %689, %687, %685, %683, %681, %679, %677, %675, %673, %671, %669, %667, %665, %663, %661, %659, %657, %655
  %969 = landingpad { ptr, i32 }
          cleanup
  %970 = extractvalue { ptr, i32 } %969, 0
  store ptr %970, ptr %8, align 8
  %971 = extractvalue { ptr, i32 } %969, 1
  store i32 %971, ptr %9, align 4
  br label %1018

972:                                              ; preds = %775
  %973 = landingpad { ptr, i32 }
          cleanup
  %974 = extractvalue { ptr, i32 } %973, 0
  store ptr %974, ptr %8, align 8
  %975 = extractvalue { ptr, i32 } %973, 1
  store i32 %975, ptr %9, align 4
  br label %1017

976:                                              ; preds = %812, %810, %808, %806, %804, %802, %800, %798, %796, %794, %792, %790, %788, %786, %784, %782
  %977 = landingpad { ptr, i32 }
          cleanup
  %978 = extractvalue { ptr, i32 } %977, 0
  store ptr %978, ptr %8, align 8
  %979 = extractvalue { ptr, i32 } %977, 1
  store i32 %979, ptr %9, align 4
  br label %1016

980:                                              ; preds = %814
  %981 = landingpad { ptr, i32 }
          cleanup
  %982 = extractvalue { ptr, i32 } %981, 0
  store ptr %982, ptr %8, align 8
  %983 = extractvalue { ptr, i32 } %981, 1
  store i32 %983, ptr %9, align 4
  br label %1015

984:                                              ; preds = %851, %849, %847, %845, %843, %841, %839, %837, %835, %833, %831, %829, %827, %825, %823, %821
  %985 = landingpad { ptr, i32 }
          cleanup
  %986 = extractvalue { ptr, i32 } %985, 0
  store ptr %986, ptr %8, align 8
  %987 = extractvalue { ptr, i32 } %985, 1
  store i32 %987, ptr %9, align 4
  br label %1014

988:                                              ; preds = %853
  %989 = landingpad { ptr, i32 }
          cleanup
  %990 = extractvalue { ptr, i32 } %989, 0
  store ptr %990, ptr %8, align 8
  %991 = extractvalue { ptr, i32 } %989, 1
  store i32 %991, ptr %9, align 4
  br label %1013

992:                                              ; preds = %874, %872, %870, %868, %866, %864, %862, %860
  %993 = landingpad { ptr, i32 }
          cleanup
  %994 = extractvalue { ptr, i32 } %993, 0
  store ptr %994, ptr %8, align 8
  %995 = extractvalue { ptr, i32 } %993, 1
  store i32 %995, ptr %9, align 4
  br label %1012

996:                                              ; preds = %876
  %997 = landingpad { ptr, i32 }
          cleanup
  %998 = extractvalue { ptr, i32 } %997, 0
  store ptr %998, ptr %8, align 8
  %999 = extractvalue { ptr, i32 } %997, 1
  store i32 %999, ptr %9, align 4
  br label %1011

1000:                                             ; preds = %883
  %1001 = landingpad { ptr, i32 }
          cleanup
  %1002 = extractvalue { ptr, i32 } %1001, 0
  store ptr %1002, ptr %8, align 8
  %1003 = extractvalue { ptr, i32 } %1001, 1
  store i32 %1003, ptr %9, align 4
  %1004 = getelementptr inbounds [12 x %"class.JPH::Array.4"], ptr %4, i32 0, i32 0
  %1005 = getelementptr inbounds %"class.JPH::Array.4", ptr %1004, i64 12
  br label %1006

1006:                                             ; preds = %1006, %1000
  %1007 = phi ptr [ %1005, %1000 ], [ %1008, %1006 ]
  %1008 = getelementptr inbounds %"class.JPH::Array.4", ptr %1007, i64 -1
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %1008) #9
  %1009 = icmp eq ptr %1008, %1004
  br i1 %1009, label %1010, label %1006

1010:                                             ; preds = %1006
  br label %1011

1011:                                             ; preds = %1010, %996
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #9
  br label %1012

1012:                                             ; preds = %1011, %992
  call void @llvm.lifetime.end.p0(i64 128, ptr %42) #9
  br label %1013

1013:                                             ; preds = %1012, %988
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #9
  br label %1014

1014:                                             ; preds = %1013, %984
  call void @llvm.lifetime.end.p0(i64 256, ptr %39) #9
  br label %1015

1015:                                             ; preds = %1014, %980
  call void @llvm.lifetime.end.p0(i64 1, ptr %37) #9
  br label %1016

1016:                                             ; preds = %1015, %976
  call void @llvm.lifetime.end.p0(i64 256, ptr %36) #9
  br label %1017

1017:                                             ; preds = %1016, %972
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #9
  br label %1018

1018:                                             ; preds = %1017, %968
  call void @llvm.lifetime.end.p0(i64 960, ptr %33) #9
  br label %1019

1019:                                             ; preds = %1018, %964
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #9
  br label %1020

1020:                                             ; preds = %1019, %960
  call void @llvm.lifetime.end.p0(i64 1600, ptr %30) #9
  br label %1021

1021:                                             ; preds = %1020, %956
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #9
  br label %1022

1022:                                             ; preds = %1021, %952
  call void @llvm.lifetime.end.p0(i64 448, ptr %27) #9
  br label %1023

1023:                                             ; preds = %1022, %948
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #9
  br label %1024

1024:                                             ; preds = %1023, %944
  call void @llvm.lifetime.end.p0(i64 256, ptr %24) #9
  br label %1025

1025:                                             ; preds = %1024, %940
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #9
  br label %1026

1026:                                             ; preds = %1025, %936
  call void @llvm.lifetime.end.p0(i64 1312, ptr %21) #9
  br label %1027

1027:                                             ; preds = %1026, %932
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #9
  br label %1028

1028:                                             ; preds = %1027, %928
  call void @llvm.lifetime.end.p0(i64 368, ptr %18) #9
  br label %1029

1029:                                             ; preds = %1028, %924
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #9
  br label %1030

1030:                                             ; preds = %1029, %920
  call void @llvm.lifetime.end.p0(i64 80, ptr %15) #9
  br label %1031

1031:                                             ; preds = %1030, %916
  call void @llvm.lifetime.end.p0(i64 1, ptr %13) #9
  br label %1032

1032:                                             ; preds = %1031, %912
  call void @llvm.lifetime.end.p0(i64 64, ptr %12) #9
  br label %1033

1033:                                             ; preds = %1032, %908
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #9
  br label %1034

1034:                                             ; preds = %1033, %904
  call void @llvm.lifetime.end.p0(i64 64, ptr %7) #9
  %1035 = load i1, ptr %44, align 1
  br i1 %1035, label %1036, label %1044

1036:                                             ; preds = %1034
  %1037 = load ptr, ptr %5, align 8
  %1038 = icmp eq ptr %4, %1037
  br i1 %1038, label %1043, label %1039

1039:                                             ; preds = %1039, %1036
  %1040 = phi ptr [ %1037, %1036 ], [ %1041, %1039 ]
  %1041 = getelementptr inbounds %"class.JPH::Array.4", ptr %1040, i64 -1
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %1041) #9
  %1042 = icmp eq ptr %1041, %4
  br i1 %1042, label %1043, label %1039

1043:                                             ; preds = %1039, %1036
  br label %1044

1044:                                             ; preds = %1043, %1034
  call void @llvm.lifetime.end.p0(i64 288, ptr %4) #9
  br label %1328

1045:                                             ; preds = %900
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #9
  store i32 0, ptr %48, align 4, !tbaa !16
  br label %1046

1046:                                             ; preds = %1100, %1045
  %1047 = load i32, ptr %48, align 4, !tbaa !16
  %1048 = icmp slt i32 %1047, 10
  br i1 %1048, label %1050, label %1049

1049:                                             ; preds = %1046
  store i32 5, ptr %47, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  br label %1103

1050:                                             ; preds = %1046
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #9
  store i32 0, ptr %49, align 4, !tbaa !16
  br label %1051

1051:                                             ; preds = %1092, %1050
  %1052 = load i32, ptr %49, align 4, !tbaa !16
  %1053 = icmp slt i32 %1052, 10
  br i1 %1053, label %1055, label %1054

1054:                                             ; preds = %1051
  store i32 8, ptr %47, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  br label %1099

1055:                                             ; preds = %1051
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %52) #9
  %1056 = invoke { double, double } @_ZN3JPH4Vec310sReplicateEf(float noundef -5.000000e-01)
          to label %1057 unwind label %1095

1057:                                             ; preds = %1055
  %1058 = getelementptr inbounds %"class.JPH::Vec3", ptr %52, i32 0, i32 0
  %1059 = getelementptr inbounds %union.anon, ptr %1058, i32 0, i32 0
  %1060 = getelementptr inbounds { double, double }, ptr %1059, i32 0, i32 0
  %1061 = extractvalue { double, double } %1056, 0
  store double %1061, ptr %1060, align 16
  %1062 = getelementptr inbounds { double, double }, ptr %1059, i32 0, i32 1
  %1063 = extractvalue { double, double } %1056, 1
  store double %1063, ptr %1062, align 8
  %1064 = invoke { double, double } @_ZNK3JPH4Vec3mlEf(ptr noundef nonnull align 16 dereferenceable(16) %52, float noundef 0x3FB99999A0000000)
          to label %1065 unwind label %1095

1065:                                             ; preds = %1057
  %1066 = getelementptr inbounds %"class.JPH::Vec3", ptr %51, i32 0, i32 0
  %1067 = getelementptr inbounds %union.anon, ptr %1066, i32 0, i32 0
  %1068 = getelementptr inbounds { double, double }, ptr %1067, i32 0, i32 0
  %1069 = extractvalue { double, double } %1064, 0
  store double %1069, ptr %1068, align 16
  %1070 = getelementptr inbounds { double, double }, ptr %1067, i32 0, i32 1
  %1071 = extractvalue { double, double } %1064, 1
  store double %1071, ptr %1070, align 8
  %1072 = load i32, ptr %46, align 4, !tbaa !16
  %1073 = sitofp i32 %1072 to float
  %1074 = load i32, ptr %48, align 4, !tbaa !16
  %1075 = sitofp i32 %1074 to float
  %1076 = load i32, ptr %49, align 4, !tbaa !16
  %1077 = sitofp i32 %1076 to float
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %53, float noundef %1073, float noundef %1075, float noundef %1077)
          to label %1078 unwind label %1095

1078:                                             ; preds = %1065
  %1079 = getelementptr inbounds { double, double }, ptr %53, i32 0, i32 0
  %1080 = load double, ptr %1079, align 16
  %1081 = getelementptr inbounds { double, double }, ptr %53, i32 0, i32 1
  %1082 = load double, ptr %1081, align 8
  %1083 = invoke { double, double } @_ZNK3JPH4Vec3mlES0_(ptr noundef nonnull align 16 dereferenceable(16) %51, double %1080, double %1082)
          to label %1084 unwind label %1095

1084:                                             ; preds = %1078
  %1085 = getelementptr inbounds %"class.JPH::Vec3", ptr %50, i32 0, i32 0
  %1086 = getelementptr inbounds %union.anon, ptr %1085, i32 0, i32 0
  %1087 = getelementptr inbounds { double, double }, ptr %1086, i32 0, i32 0
  %1088 = extractvalue { double, double } %1083, 0
  store double %1088, ptr %1087, align 16
  %1089 = getelementptr inbounds { double, double }, ptr %1086, i32 0, i32 1
  %1090 = extractvalue { double, double } %1083, 1
  store double %1090, ptr %1089, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 16 dereferenceable(16) %50)
          to label %1091 unwind label %1095

1091:                                             ; preds = %1084
  call void @llvm.lifetime.end.p0(i64 16, ptr %52) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #9
  br label %1092

1092:                                             ; preds = %1091
  %1093 = load i32, ptr %49, align 4, !tbaa !16
  %1094 = add nsw i32 %1093, 1
  store i32 %1094, ptr %49, align 4, !tbaa !16
  br label %1051, !llvm.loop !18

1095:                                             ; preds = %1084, %1078, %1065, %1057, %1055
  %1096 = landingpad { ptr, i32 }
          cleanup
  %1097 = extractvalue { ptr, i32 } %1096, 0
  store ptr %1097, ptr %8, align 8
  %1098 = extractvalue { ptr, i32 } %1096, 1
  store i32 %1098, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %52) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #9
  br label %1119

1099:                                             ; preds = %1054
  br label %1100

1100:                                             ; preds = %1099
  %1101 = load i32, ptr %48, align 4, !tbaa !16
  %1102 = add nsw i32 %1101, 1
  store i32 %1102, ptr %48, align 4, !tbaa !16
  br label %1046, !llvm.loop !20

1103:                                             ; preds = %1049
  br label %1104

1104:                                             ; preds = %1103
  %1105 = load i32, ptr %46, align 4, !tbaa !16
  %1106 = add nsw i32 %1105, 1
  store i32 %1106, ptr %46, align 4, !tbaa !16
  br label %900, !llvm.loop !21

1107:                                             ; preds = %903
  %1108 = getelementptr inbounds %class.ConvexHullTest, ptr %76, i32 0, i32 1
  invoke void @_ZN3JPH5ArrayINS0_INS_4Vec3ENS_12STLAllocatorIS1_EEEENS2_IS4_EEE9push_backEOS4_(ptr noundef nonnull align 8 dereferenceable(24) %1108, ptr noundef nonnull align 8 dereferenceable(24) %45)
          to label %1109 unwind label %1115

1109:                                             ; preds = %1107
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %54) #9
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #9
  call void @llvm.lifetime.start.p0(i64 64, ptr %55) #9
  invoke void @_ZN3JPH5Mat4410sRotationZEf(ptr dead_on_unwind writable sret(%"class.JPH::Mat44") align 16 %55, float noundef 0x3FE921FB60000000)
          to label %1110 unwind label %1120

1110:                                             ; preds = %1109
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #9
  store float 0.000000e+00, ptr %56, align 4, !tbaa !22
  br label %1111

1111:                                             ; preds = %1162, %1110
  %1112 = load float, ptr %56, align 4, !tbaa !22
  %1113 = fcmp olt float %1112, 2.000000e+00
  br i1 %1113, label %1124, label %1114

1114:                                             ; preds = %1111
  store i32 11, ptr %47, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #9
  br label %1165

1115:                                             ; preds = %1107
  %1116 = landingpad { ptr, i32 }
          cleanup
  %1117 = extractvalue { ptr, i32 } %1116, 0
  store ptr %1117, ptr %8, align 8
  %1118 = extractvalue { ptr, i32 } %1116, 1
  store i32 %1118, ptr %9, align 4
  br label %1119

1119:                                             ; preds = %1115, %1095
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #9
  br label %1328

1120:                                             ; preds = %1165, %1109
  %1121 = landingpad { ptr, i32 }
          cleanup
  %1122 = extractvalue { ptr, i32 } %1121, 0
  store ptr %1122, ptr %8, align 8
  %1123 = extractvalue { ptr, i32 } %1121, 1
  store i32 %1123, ptr %9, align 4
  br label %1172

1124:                                             ; preds = %1111
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #9
  store float 0.000000e+00, ptr %57, align 4, !tbaa !22
  br label %1125

1125:                                             ; preds = %1154, %1124
  %1126 = load float, ptr %57, align 4, !tbaa !22
  %1127 = fcmp ole float %1126, 0x401921FB60000000
  br i1 %1127, label %1129, label %1128

1128:                                             ; preds = %1125
  store i32 14, ptr %47, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  br label %1161

1129:                                             ; preds = %1125
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #9
  %1130 = load float, ptr %56, align 4, !tbaa !22
  %1131 = load float, ptr %57, align 4, !tbaa !22
  %1132 = invoke noundef float @_ZN3JPH3CosEf(float noundef %1131)
          to label %1133 unwind label %1157

1133:                                             ; preds = %1129
  %1134 = fmul float %1130, %1132
  %1135 = load float, ptr %56, align 4, !tbaa !22
  %1136 = load float, ptr %57, align 4, !tbaa !22
  %1137 = invoke noundef float @_ZN3JPH3SinEf(float noundef %1136)
          to label %1138 unwind label %1157

1138:                                             ; preds = %1133
  %1139 = fmul float %1135, %1137
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %59, float noundef %1134, float noundef %1139, float noundef 0.000000e+00)
          to label %1140 unwind label %1157

1140:                                             ; preds = %1138
  %1141 = getelementptr inbounds { double, double }, ptr %59, i32 0, i32 0
  %1142 = load double, ptr %1141, align 16
  %1143 = getelementptr inbounds { double, double }, ptr %59, i32 0, i32 1
  %1144 = load double, ptr %1143, align 8
  %1145 = invoke { double, double } @_ZNK3JPH5Mat44mlENS_4Vec3E(ptr noundef nonnull align 16 dereferenceable(64) %55, double %1142, double %1144)
          to label %1146 unwind label %1157

1146:                                             ; preds = %1140
  %1147 = getelementptr inbounds %"class.JPH::Vec3", ptr %58, i32 0, i32 0
  %1148 = getelementptr inbounds %union.anon, ptr %1147, i32 0, i32 0
  %1149 = getelementptr inbounds { double, double }, ptr %1148, i32 0, i32 0
  %1150 = extractvalue { double, double } %1145, 0
  store double %1150, ptr %1149, align 16
  %1151 = getelementptr inbounds { double, double }, ptr %1148, i32 0, i32 1
  %1152 = extractvalue { double, double } %1145, 1
  store double %1152, ptr %1151, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %54, ptr noundef nonnull align 16 dereferenceable(16) %58)
          to label %1153 unwind label %1157

1153:                                             ; preds = %1146
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #9
  br label %1154

1154:                                             ; preds = %1153
  %1155 = load float, ptr %57, align 4, !tbaa !22
  %1156 = fadd float %1155, 0x3FD41B2F80000000
  store float %1156, ptr %57, align 4, !tbaa !22
  br label %1125, !llvm.loop !24

1157:                                             ; preds = %1146, %1140, %1138, %1133, %1129
  %1158 = landingpad { ptr, i32 }
          cleanup
  %1159 = extractvalue { ptr, i32 } %1158, 0
  store ptr %1159, ptr %8, align 8
  %1160 = extractvalue { ptr, i32 } %1158, 1
  store i32 %1160, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #9
  br label %1172

1161:                                             ; preds = %1128
  br label %1162

1162:                                             ; preds = %1161
  %1163 = load float, ptr %56, align 4, !tbaa !22
  %1164 = fadd float %1163, 0x3FB99999A0000000
  store float %1164, ptr %56, align 4, !tbaa !22
  br label %1111, !llvm.loop !25

1165:                                             ; preds = %1114
  %1166 = getelementptr inbounds %class.ConvexHullTest, ptr %76, i32 0, i32 1
  invoke void @_ZN3JPH5ArrayINS0_INS_4Vec3ENS_12STLAllocatorIS1_EEEENS2_IS4_EEE9push_backEOS4_(ptr noundef nonnull align 8 dereferenceable(24) %1166, ptr noundef nonnull align 8 dereferenceable(24) %54)
          to label %1167 unwind label %1120

1167:                                             ; preds = %1165
  call void @llvm.lifetime.end.p0(i64 64, ptr %55) #9
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %60) #9
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #9
  store float 0.000000e+00, ptr %61, align 4, !tbaa !22
  br label %1168

1168:                                             ; preds = %1203, %1167
  %1169 = load float, ptr %61, align 4, !tbaa !22
  %1170 = fcmp ole float %1169, 0x401921FB60000000
  br i1 %1170, label %1173, label %1171

1171:                                             ; preds = %1168
  store i32 17, ptr %47, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #9
  br label %1215

1172:                                             ; preds = %1157, %1120
  call void @llvm.lifetime.end.p0(i64 64, ptr %55) #9
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #9
  br label %1328

1173:                                             ; preds = %1168
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #9
  %1174 = load float, ptr %61, align 4, !tbaa !22
  %1175 = invoke noundef float @_ZN3JPH3CosEf(float noundef %1174)
          to label %1176 unwind label %1206

1176:                                             ; preds = %1173
  %1177 = fmul float 2.000000e+00, %1175
  %1178 = load float, ptr %61, align 4, !tbaa !22
  %1179 = invoke noundef float @_ZN3JPH3SinEf(float noundef %1178)
          to label %1180 unwind label %1206

1180:                                             ; preds = %1176
  %1181 = fmul float 2.000000e+00, %1179
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %62, float noundef %1177, float noundef 0.000000e+00, float noundef %1181)
          to label %1182 unwind label %1206

1182:                                             ; preds = %1180
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %60, ptr noundef nonnull align 16 dereferenceable(16) %62)
          to label %1183 unwind label %1206

1183:                                             ; preds = %1182
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #9
  %1184 = invoke noundef float @_ZNK3JPH4Vec34GetXEv(ptr noundef nonnull align 16 dereferenceable(16) %62)
          to label %1185 unwind label %1210

1185:                                             ; preds = %1183
  %1186 = fadd float 2.000000e+00, %1184
  %1187 = fmul float 0x3F60624DE0000000, %1186
  %1188 = fdiv float %1187, 4.000000e+00
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %64, float noundef 0.000000e+00, float noundef %1188, float noundef 0.000000e+00)
          to label %1189 unwind label %1210

1189:                                             ; preds = %1185
  %1190 = getelementptr inbounds { double, double }, ptr %64, i32 0, i32 0
  %1191 = load double, ptr %1190, align 16
  %1192 = getelementptr inbounds { double, double }, ptr %64, i32 0, i32 1
  %1193 = load double, ptr %1192, align 8
  %1194 = invoke { double, double } @_ZNK3JPH4Vec3plES0_(ptr noundef nonnull align 16 dereferenceable(16) %62, double %1191, double %1193)
          to label %1195 unwind label %1210

1195:                                             ; preds = %1189
  %1196 = getelementptr inbounds %"class.JPH::Vec3", ptr %63, i32 0, i32 0
  %1197 = getelementptr inbounds %union.anon, ptr %1196, i32 0, i32 0
  %1198 = getelementptr inbounds { double, double }, ptr %1197, i32 0, i32 0
  %1199 = extractvalue { double, double } %1194, 0
  store double %1199, ptr %1198, align 16
  %1200 = getelementptr inbounds { double, double }, ptr %1197, i32 0, i32 1
  %1201 = extractvalue { double, double } %1194, 1
  store double %1201, ptr %1200, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %60, ptr noundef nonnull align 16 dereferenceable(16) %63)
          to label %1202 unwind label %1210

1202:                                             ; preds = %1195
  call void @llvm.lifetime.end.p0(i64 16, ptr %63) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %62) #9
  br label %1203

1203:                                             ; preds = %1202
  %1204 = load float, ptr %61, align 4, !tbaa !22
  %1205 = fadd float %1204, 0x3FC41B2F80000000
  store float %1205, ptr %61, align 4, !tbaa !22
  br label %1168, !llvm.loop !26

1206:                                             ; preds = %1182, %1180, %1176, %1173
  %1207 = landingpad { ptr, i32 }
          cleanup
  %1208 = extractvalue { ptr, i32 } %1207, 0
  store ptr %1208, ptr %8, align 8
  %1209 = extractvalue { ptr, i32 } %1207, 1
  store i32 %1209, ptr %9, align 4
  br label %1214

1210:                                             ; preds = %1195, %1189, %1185, %1183
  %1211 = landingpad { ptr, i32 }
          cleanup
  %1212 = extractvalue { ptr, i32 } %1211, 0
  store ptr %1212, ptr %8, align 8
  %1213 = extractvalue { ptr, i32 } %1211, 1
  store i32 %1213, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %63) #9
  br label %1214

1214:                                             ; preds = %1210, %1206
  call void @llvm.lifetime.end.p0(i64 16, ptr %62) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #9
  br label %1226

1215:                                             ; preds = %1171
  %1216 = getelementptr inbounds %class.ConvexHullTest, ptr %76, i32 0, i32 1
  invoke void @_ZN3JPH5ArrayINS0_INS_4Vec3ENS_12STLAllocatorIS1_EEEENS2_IS4_EEE9push_backEOS4_(ptr noundef nonnull align 8 dereferenceable(24) %1216, ptr noundef nonnull align 8 dereferenceable(24) %60)
          to label %1217 unwind label %1222

1217:                                             ; preds = %1215
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %60) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %65) #9
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #9
  store float 0.000000e+00, ptr %66, align 4, !tbaa !22
  br label %1218

1218:                                             ; preds = %1252, %1217
  %1219 = load float, ptr %66, align 4, !tbaa !22
  %1220 = fcmp ole float %1219, 0x400921FB60000000
  br i1 %1220, label %1227, label %1221

1221:                                             ; preds = %1218
  store i32 20, ptr %47, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #9
  br label %1255

1222:                                             ; preds = %1215
  %1223 = landingpad { ptr, i32 }
          cleanup
  %1224 = extractvalue { ptr, i32 } %1223, 0
  store ptr %1224, ptr %8, align 8
  %1225 = extractvalue { ptr, i32 } %1223, 1
  store i32 %1225, ptr %9, align 4
  br label %1226

1226:                                             ; preds = %1222, %1214
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %60) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %60) #9
  br label %1328

1227:                                             ; preds = %1218
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #9
  store float 0.000000e+00, ptr %67, align 4, !tbaa !22
  br label %1228

1228:                                             ; preds = %1244, %1227
  %1229 = load float, ptr %67, align 4, !tbaa !22
  %1230 = fcmp ole float %1229, 0x401921FB60000000
  br i1 %1230, label %1232, label %1231

1231:                                             ; preds = %1228
  store i32 23, ptr %47, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #9
  br label %1251

1232:                                             ; preds = %1228
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #9
  %1233 = load float, ptr %66, align 4, !tbaa !22
  %1234 = load float, ptr %67, align 4, !tbaa !22
  %1235 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %1233, float noundef %1234)
          to label %1236 unwind label %1247

1236:                                             ; preds = %1232
  %1237 = getelementptr inbounds %"class.JPH::Vec3", ptr %68, i32 0, i32 0
  %1238 = getelementptr inbounds %union.anon, ptr %1237, i32 0, i32 0
  %1239 = getelementptr inbounds { double, double }, ptr %1238, i32 0, i32 0
  %1240 = extractvalue { double, double } %1235, 0
  store double %1240, ptr %1239, align 16
  %1241 = getelementptr inbounds { double, double }, ptr %1238, i32 0, i32 1
  %1242 = extractvalue { double, double } %1235, 1
  store double %1242, ptr %1241, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %65, ptr noundef nonnull align 16 dereferenceable(16) %68)
          to label %1243 unwind label %1247

1243:                                             ; preds = %1236
  call void @llvm.lifetime.end.p0(i64 16, ptr %68) #9
  br label %1244

1244:                                             ; preds = %1243
  %1245 = load float, ptr %67, align 4, !tbaa !22
  %1246 = fadd float %1245, 0x3FD41B2F80000000
  store float %1246, ptr %67, align 4, !tbaa !22
  br label %1228, !llvm.loop !27

1247:                                             ; preds = %1236, %1232
  %1248 = landingpad { ptr, i32 }
          cleanup
  %1249 = extractvalue { ptr, i32 } %1248, 0
  store ptr %1249, ptr %8, align 8
  %1250 = extractvalue { ptr, i32 } %1248, 1
  store i32 %1250, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %68) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #9
  br label %1277

1251:                                             ; preds = %1231
  br label %1252

1252:                                             ; preds = %1251
  %1253 = load float, ptr %66, align 4, !tbaa !22
  %1254 = fadd float %1253, 0x3FC41B2F80000000
  store float %1254, ptr %66, align 4, !tbaa !22
  br label %1218, !llvm.loop !28

1255:                                             ; preds = %1221
  %1256 = getelementptr inbounds %class.ConvexHullTest, ptr %76, i32 0, i32 1
  invoke void @_ZN3JPH5ArrayINS0_INS_4Vec3ENS_12STLAllocatorIS1_EEEENS2_IS4_EEE9push_backEOS4_(ptr noundef nonnull align 8 dereferenceable(24) %1256, ptr noundef nonnull align 8 dereferenceable(24) %65)
          to label %1257 unwind label %1273

1257:                                             ; preds = %1255
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %65) #9
  call void @llvm.lifetime.start.p0(i64 520, ptr %69) #9
  %1258 = call noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef 8, i32 noundef 4)
  call void @_ZN11AssetStreamC1EPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(520) %69, ptr noundef @.str.1, i32 noundef %1258)
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #9
  %1259 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN11AssetStream3GetEv(ptr noundef nonnull align 8 dereferenceable(520) %69)
          to label %1260 unwind label %1278

1260:                                             ; preds = %1257
  store ptr %1259, ptr %70, align 8, !tbaa !5
  br label %1261

1261:                                             ; preds = %1324, %1260
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #9
  store i32 0, ptr %71, align 4, !tbaa !16
  %1262 = load ptr, ptr %70, align 8, !tbaa !5
  %1263 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %1262, ptr noundef %71, i64 noundef 4)
          to label %1264 unwind label %1282

1264:                                             ; preds = %1261
  %1265 = load ptr, ptr %70, align 8, !tbaa !5
  %1266 = load ptr, ptr %1265, align 8, !tbaa !29
  %1267 = getelementptr i8, ptr %1266, i64 -24
  %1268 = load i64, ptr %1267, align 8
  %1269 = getelementptr inbounds i8, ptr %1265, i64 %1268
  %1270 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(ptr noundef nonnull align 8 dereferenceable(264) %1269)
          to label %1271 unwind label %1282

1271:                                             ; preds = %1264
  br i1 %1270, label %1272, label %1286

1272:                                             ; preds = %1271
  store i32 26, ptr %47, align 4
  br label %1322

1273:                                             ; preds = %1255
  %1274 = landingpad { ptr, i32 }
          cleanup
  %1275 = extractvalue { ptr, i32 } %1274, 0
  store ptr %1275, ptr %8, align 8
  %1276 = extractvalue { ptr, i32 } %1274, 1
  store i32 %1276, ptr %9, align 4
  br label %1277

1277:                                             ; preds = %1273, %1247
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %65) #9
  br label %1328

1278:                                             ; preds = %1257
  %1279 = landingpad { ptr, i32 }
          cleanup
  %1280 = extractvalue { ptr, i32 } %1279, 0
  store ptr %1280, ptr %8, align 8
  %1281 = extractvalue { ptr, i32 } %1279, 1
  store i32 %1281, ptr %9, align 4
  br label %1327

1282:                                             ; preds = %1264, %1261
  %1283 = landingpad { ptr, i32 }
          cleanup
  %1284 = extractvalue { ptr, i32 } %1283, 0
  store ptr %1284, ptr %8, align 8
  %1285 = extractvalue { ptr, i32 } %1283, 1
  store i32 %1285, ptr %9, align 4
  br label %1325

1286:                                             ; preds = %1271
  %1287 = load i32, ptr %71, align 4, !tbaa !16
  %1288 = icmp ugt i32 %1287, 0
  br i1 %1288, label %1289, label %1321

1289:                                             ; preds = %1286
  call void @llvm.lifetime.start.p0(i64 24, ptr %72) #9
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %72) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #9
  store i32 0, ptr %73, align 4, !tbaa !16
  br label %1290

1290:                                             ; preds = %1301, %1289
  %1291 = load i32, ptr %73, align 4, !tbaa !16
  %1292 = load i32, ptr %71, align 4, !tbaa !16
  %1293 = icmp ult i32 %1291, %1292
  br i1 %1293, label %1295, label %1294

1294:                                             ; preds = %1290
  store i32 28, ptr %47, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #9
  br label %1313

1295:                                             ; preds = %1290
  call void @llvm.lifetime.start.p0(i64 12, ptr %74) #9
  %1296 = load ptr, ptr %70, align 8, !tbaa !5
  %1297 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %1296, ptr noundef %74, i64 noundef 12)
          to label %1298 unwind label %1304

1298:                                             ; preds = %1295
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #9
  invoke void @_ZN3JPH4Vec3C2ERKNS_6Float3E(ptr noundef nonnull align 16 dereferenceable(16) %75, ptr noundef nonnull align 4 dereferenceable(12) %74)
          to label %1299 unwind label %1308

1299:                                             ; preds = %1298
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %72, ptr noundef nonnull align 16 dereferenceable(16) %75)
          to label %1300 unwind label %1308

1300:                                             ; preds = %1299
  call void @llvm.lifetime.end.p0(i64 16, ptr %75) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr %74) #9
  br label %1301

1301:                                             ; preds = %1300
  %1302 = load i32, ptr %73, align 4, !tbaa !16
  %1303 = add i32 %1302, 1
  store i32 %1303, ptr %73, align 4, !tbaa !16
  br label %1290, !llvm.loop !31

1304:                                             ; preds = %1295
  %1305 = landingpad { ptr, i32 }
          cleanup
  %1306 = extractvalue { ptr, i32 } %1305, 0
  store ptr %1306, ptr %8, align 8
  %1307 = extractvalue { ptr, i32 } %1305, 1
  store i32 %1307, ptr %9, align 4
  br label %1312

1308:                                             ; preds = %1299, %1298
  %1309 = landingpad { ptr, i32 }
          cleanup
  %1310 = extractvalue { ptr, i32 } %1309, 0
  store ptr %1310, ptr %8, align 8
  %1311 = extractvalue { ptr, i32 } %1309, 1
  store i32 %1311, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %75) #9
  br label %1312

1312:                                             ; preds = %1308, %1304
  call void @llvm.lifetime.end.p0(i64 12, ptr %74) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #9
  br label %1320

1313:                                             ; preds = %1294
  %1314 = getelementptr inbounds %class.ConvexHullTest, ptr %76, i32 0, i32 1
  invoke void @_ZN3JPH5ArrayINS0_INS_4Vec3ENS_12STLAllocatorIS1_EEEENS2_IS4_EEE9push_backEOS4_(ptr noundef nonnull align 8 dereferenceable(24) %1314, ptr noundef nonnull align 8 dereferenceable(24) %72)
          to label %1315 unwind label %1316

1315:                                             ; preds = %1313
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %72) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %72) #9
  br label %1321

1316:                                             ; preds = %1313
  %1317 = landingpad { ptr, i32 }
          cleanup
  %1318 = extractvalue { ptr, i32 } %1317, 0
  store ptr %1318, ptr %8, align 8
  %1319 = extractvalue { ptr, i32 } %1317, 1
  store i32 %1319, ptr %9, align 4
  br label %1320

1320:                                             ; preds = %1316, %1312
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %72) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %72) #9
  br label %1325

1321:                                             ; preds = %1315, %1286
  store i32 0, ptr %47, align 4
  br label %1322

1322:                                             ; preds = %1321, %1272
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #9
  %1323 = load i32, ptr %47, align 4
  switch i32 %1323, label %1333 [
    i32 0, label %1324
    i32 26, label %1326
  ]

1324:                                             ; preds = %1322
  br label %1261, !llvm.loop !32

1325:                                             ; preds = %1320, %1282
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #9
  br label %1327

1326:                                             ; preds = %1322
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #9
  call void @_ZN11AssetStreamD2Ev(ptr noundef nonnull align 8 dereferenceable(520) %69) #9
  call void @llvm.lifetime.end.p0(i64 520, ptr %69) #9
  ret void

1327:                                             ; preds = %1325, %1278
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #9
  call void @_ZN11AssetStreamD2Ev(ptr noundef nonnull align 8 dereferenceable(520) %69) #9
  call void @llvm.lifetime.end.p0(i64 520, ptr %69) #9
  br label %1328

1328:                                             ; preds = %1327, %1277, %1226, %1172, %1119, %1044
  %1329 = load ptr, ptr %8, align 8
  %1330 = load i32, ptr %9, align 4
  %1331 = insertvalue { ptr, i32 } poison, ptr %1329, 0
  %1332 = insertvalue { ptr, i32 } %1331, i32 %1330, 1
  resume { ptr, i32 } %1332

1333:                                             ; preds = %1322
  unreachable
}

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16), float noundef, float noundef, float noundef) unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24), ptr, i64, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN3JPH5ArrayINS0_INS_4Vec3ENS_12STLAllocatorIS1_EEEENS2_IS4_EEEaSESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24), ptr, i64) #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 16 dereferenceable(16)) #3 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local { double, double } @_ZN3JPH4Vec310sReplicateEf(float noundef) #2 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local { double, double } @_ZNK3JPH4Vec3mlEf(ptr noundef nonnull align 16 dereferenceable(16), float noundef) #2 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local { double, double } @_ZNK3JPH4Vec3mlES0_(ptr noundef nonnull align 16 dereferenceable(16), double, double) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3JPH5ArrayINS0_INS_4Vec3ENS_12STLAllocatorIS1_EEEENS2_IS4_EEE9push_backEOS4_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #3 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local void @_ZN3JPH5Mat4410sRotationZEf(ptr dead_on_unwind noalias writable sret(%"class.JPH::Mat44") align 16, float noundef) #6 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local { double, double } @_ZNK3JPH5Mat44mlENS_4Vec3E(ptr noundef nonnull align 16 dereferenceable(64), double, double) #2 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local noundef float @_ZN3JPH3CosEf(float noundef) #6

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local noundef float @_ZN3JPH3SinEf(float noundef) #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 16 dereferenceable(16)) #3 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local { double, double } @_ZNK3JPH4Vec3plES0_(ptr noundef nonnull align 16 dereferenceable(16), double, double) #2 align 2

; Function Attrs: alwaysinline mustprogress nounwind uwtable
declare dso_local noundef float @_ZNK3JPH4Vec34GetXEv(ptr noundef nonnull align 16 dereferenceable(16)) #7 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef, float noundef) #6 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef, i32 noundef) #4

declare void @_ZN11AssetStreamC1EPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(520), ptr noundef, i32 noundef) unnamed_addr #8

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(16) ptr @_ZN11AssetStream3GetEv(ptr noundef nonnull align 8 dereferenceable(520)) #5 align 2

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef, i64 noundef) #8

; Function Attrs: mustprogress uwtable
declare noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(ptr noundef nonnull align 8 dereferenceable(264)) #1 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local void @_ZN3JPH4Vec3C2ERKNS_6Float3E(ptr noundef nonnull align 16 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(12)) unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN11AssetStreamD2Ev(ptr noundef nonnull align 8 dereferenceable(520)) unnamed_addr #4 align 2

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { alwaysinline mustprogress uwtable "min-legal-vector-width"="128" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { alwaysinline mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { alwaysinline mustprogress nounwind uwtable "min-legal-vector-width"="128" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !6, i64 0}
!10 = !{!"_ZTSSt16initializer_listIN3JPH4Vec3EE", !6, i64 0, !11, i64 8}
!11 = !{!"long", !7, i64 0}
!12 = !{!10, !11, i64 8}
!13 = !{!14, !6, i64 0}
!14 = !{!"_ZTSSt16initializer_listIN3JPH5ArrayINS0_4Vec3ENS0_12STLAllocatorIS2_EEEEE", !6, i64 0, !11, i64 8}
!15 = !{!14, !11, i64 8}
!16 = !{!17, !17, i64 0}
!17 = !{!"int", !7, i64 0}
!18 = distinct !{!18, !19}
!19 = !{!"llvm.loop.mustprogress"}
!20 = distinct !{!20, !19}
!21 = distinct !{!21, !19}
!22 = !{!23, !23, i64 0}
!23 = !{!"float", !7, i64 0}
!24 = distinct !{!24, !19}
!25 = distinct !{!25, !19}
!26 = distinct !{!26, !19}
!27 = distinct !{!27, !19}
!28 = distinct !{!28, !19}
!29 = !{!30, !30, i64 0}
!30 = !{!"vtable pointer", !8, i64 0}
!31 = distinct !{!31, !19}
!32 = distinct !{!32, !19}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.JPH::Array.4" = type { i64, i64, ptr }
%"class.JPH::Vec3" = type { %union.anon }
%union.anon = type { <4 x float> }
%"class.JPH::STLAllocator.5" = type { i8 }
%"class.JPH::Mat44" = type { [4 x %"class.JPH::Vec4"] }
%"class.JPH::Vec4" = type { %union.anon.8 }
%union.anon.8 = type { <4 x float> }
%class.AssetStream = type { %"class.std::basic_ifstream" }
%"class.std::basic_ifstream" = type { %"class.std::basic_istream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon.9 }
%union.anon.9 = type { i32 }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.JPH::Float3" = type { float, float, float }

@.str.1 = external hidden unnamed_addr constant [17 x i8], align 1

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN14ConvexHullTest10InitializeEv(ptr noundef nonnull align 8 dereferenceable(152) %0) unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca [12 x %"class.JPH::Array.4"], align 8
  %3 = alloca [4 x %"class.JPH::Vec3"], align 16
  %4 = alloca %"class.JPH::STLAllocator.5", align 1
  %5 = alloca [4 x %"class.JPH::Vec3"], align 16
  %6 = alloca %"class.JPH::STLAllocator.5", align 1
  %7 = alloca [5 x %"class.JPH::Vec3"], align 16
  %8 = alloca %"class.JPH::STLAllocator.5", align 1
  %9 = alloca [23 x %"class.JPH::Vec3"], align 16
  %10 = alloca %"class.JPH::STLAllocator.5", align 1
  %11 = alloca [82 x %"class.JPH::Vec3"], align 16
  %12 = alloca %"class.JPH::STLAllocator.5", align 1
  %13 = alloca [16 x %"class.JPH::Vec3"], align 16
  %14 = alloca %"class.JPH::STLAllocator.5", align 1
  %15 = alloca [28 x %"class.JPH::Vec3"], align 16
  %16 = alloca %"class.JPH::STLAllocator.5", align 1
  %17 = alloca [100 x %"class.JPH::Vec3"], align 16
  %18 = alloca %"class.JPH::STLAllocator.5", align 1
  %19 = alloca [60 x %"class.JPH::Vec3"], align 16
  %20 = alloca %"class.JPH::STLAllocator.5", align 1
  %21 = alloca [16 x %"class.JPH::Vec3"], align 16
  %22 = alloca %"class.JPH::STLAllocator.5", align 1
  %23 = alloca [16 x %"class.JPH::Vec3"], align 16
  %24 = alloca %"class.JPH::STLAllocator.5", align 1
  %25 = alloca [8 x %"class.JPH::Vec3"], align 16
  %26 = alloca %"class.JPH::STLAllocator.5", align 1
  %27 = alloca %"class.JPH::Array.4", align 8
  %28 = alloca %"class.JPH::Vec3", align 16
  %29 = alloca %"class.JPH::Vec3", align 16
  %30 = alloca %"class.JPH::Vec3", align 16
  %31 = alloca %"class.JPH::Vec3", align 16
  %32 = alloca %"class.JPH::Array.4", align 8
  %33 = alloca %"class.JPH::Mat44", align 16
  %34 = alloca %"class.JPH::Vec3", align 16
  %35 = alloca %"class.JPH::Vec3", align 16
  %36 = alloca %"class.JPH::Array.4", align 8
  %37 = alloca %"class.JPH::Vec3", align 16
  %38 = alloca %"class.JPH::Vec3", align 16
  %39 = alloca %"class.JPH::Vec3", align 16
  %40 = alloca %"class.JPH::Array.4", align 8
  %41 = alloca %"class.JPH::Vec3", align 16
  %42 = alloca %class.AssetStream, align 8
  %43 = alloca i32, align 4
  %44 = alloca %"class.JPH::Array.4", align 8
  %45 = alloca %"class.JPH::Float3", align 4
  %46 = alloca %"class.JPH::Vec3", align 16
  call void @llvm.lifetime.start.p0(i64 288, ptr nonnull %2) #9
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %3) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %3, float noundef -1.000000e+00, float noundef 0.000000e+00, float noundef -1.000000e+00)
          to label %47 unwind label %.thread

47:                                               ; preds = %1
  %48 = getelementptr inbounds i8, ptr %3, i64 16
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %48, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef -1.000000e+00)
          to label %49 unwind label %.thread

49:                                               ; preds = %47
  %50 = getelementptr inbounds i8, ptr %3, i64 32
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %50, float noundef -1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00)
          to label %51 unwind label %.thread

51:                                               ; preds = %49
  %52 = getelementptr inbounds i8, ptr %3, i64 48
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %52, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00)
          to label %53 unwind label %.thread

53:                                               ; preds = %51
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #9
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %2, ptr nonnull %3, i64 4, ptr noundef nonnull align 1 dereferenceable(1) %4)
          to label %54 unwind label %.thread195

54:                                               ; preds = %53
  %55 = getelementptr inbounds i8, ptr %2, i64 24
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %5) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %5, float noundef -1.000000e+00, float noundef 0.000000e+00, float noundef -1.000000e+00)
          to label %56 unwind label %804

56:                                               ; preds = %54
  %57 = getelementptr inbounds i8, ptr %5, i64 16
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %57, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef -1.000000e+00)
          to label %58 unwind label %804

58:                                               ; preds = %56
  %59 = getelementptr inbounds i8, ptr %5, i64 32
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %59, float noundef -1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00)
          to label %60 unwind label %804

60:                                               ; preds = %58
  %61 = getelementptr inbounds i8, ptr %5, i64 48
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %61, float noundef -5.000000e-01, float noundef 0.000000e+00, float noundef -5.000000e-01)
          to label %62 unwind label %804

62:                                               ; preds = %60
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %6) #9
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %55, ptr nonnull %5, i64 4, ptr noundef nonnull align 1 dereferenceable(1) %6)
          to label %63 unwind label %806

63:                                               ; preds = %62
  %64 = getelementptr inbounds i8, ptr %2, i64 48
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %7) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %7, float noundef -1.000000e+00, float noundef 0.000000e+00, float noundef -1.000000e+00)
          to label %65 unwind label %808

65:                                               ; preds = %63
  %66 = getelementptr inbounds i8, ptr %7, i64 16
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %66, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef -1.000000e+00)
          to label %67 unwind label %808

67:                                               ; preds = %65
  %68 = getelementptr inbounds i8, ptr %7, i64 32
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %68, float noundef -1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00)
          to label %69 unwind label %808

69:                                               ; preds = %67
  %70 = getelementptr inbounds i8, ptr %7, i64 48
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %70, float noundef 1.000000e+00, float noundef 0.000000e+00, float noundef 1.000000e+00)
          to label %71 unwind label %808

71:                                               ; preds = %69
  %72 = getelementptr inbounds i8, ptr %7, i64 64
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %72, float noundef 0.000000e+00, float noundef 1.000000e+00, float noundef 0.000000e+00)
          to label %73 unwind label %808

73:                                               ; preds = %71
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %8) #9
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %64, ptr nonnull %7, i64 5, ptr noundef nonnull align 1 dereferenceable(1) %8)
          to label %74 unwind label %810

74:                                               ; preds = %73
  %75 = getelementptr inbounds i8, ptr %2, i64 72
  call void @llvm.lifetime.start.p0(i64 368, ptr nonnull %9) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %9, float noundef 0x3FF4207B60000000, float noundef 0x3FC41C4DE0000000, float noundef 0x3FF387D940000000)
          to label %76 unwind label %812

76:                                               ; preds = %74
  %77 = getelementptr inbounds i8, ptr %9, i64 16
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %77, float noundef 0x3FFED33BA0000000, float noundef 0x3FC41C5380000000, float noundef 0x3FCED14320000000)
          to label %78 unwind label %812

78:                                               ; preds = %76
  %79 = getelementptr inbounds i8, ptr %9, i64 32
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %79, float noundef 0x3FF67104C0000000, float noundef 0x3FC41C5A00000000, float noundef 0xBFEAB73480000000)
          to label %80 unwind label %812

80:                                               ; preds = %78
  %81 = getelementptr inbounds i8, ptr %9, i64 48
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %81, float noundef 0x3FFF0DC7A0000000, float noundef 0x3FC41C4BA0000000, float noundef 0xBFE94DB360000000)
          to label %82 unwind label %812

82:                                               ; preds = %80
  %83 = getelementptr inbounds i8, ptr %9, i64 64
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %83, float noundef 0x4001A48800000000, float noundef 0x3FC41C4920000000, float noundef 0xBFD2084380000000)
          to label %84 unwind label %812

84:                                               ; preds = %82
  %85 = getelementptr inbounds i8, ptr %9, i64 80
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %85, float noundef 0x3FA5D21F60000000, float noundef 0x3FC41C4F80000000, float noundef 0xBFF67C4200000000)
          to label %86 unwind label %812

86:                                               ; preds = %84
  %87 = getelementptr inbounds i8, ptr %9, i64 96
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %87, float noundef 0x3FF1C4D7E0000000, float noundef 0x3FC41C4F80000000, float noundef 0xBFF5615AC0000000)
          to label %88 unwind label %812

88:                                               ; preds = %86
  %89 = getelementptr inbounds i8, ptr %9, i64 112
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %89, float noundef 0x3FC71A5300000000, float noundef 0x3FC41C5540000000, float noundef 0x3FF2A09040000000)
          to label %90 unwind label %812

90:                                               ; preds = %88
  %91 = getelementptr inbounds i8, ptr %9, i64 128
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %91, float noundef 0xBFF58D2E40000000, float noundef 0x3FC41C3660000000, float noundef 0xBFEF53A8A0000000)
          to label %92 unwind label %812

92:                                               ; preds = %90
  %93 = getelementptr inbounds i8, ptr %9, i64 144
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %93, float noundef 0xBFEF662F80000000, float noundef 0x3FC41C3420000000, float noundef 0xBFF7226180000000)
          to label %94 unwind label %812

94:                                               ; preds = %92
  %95 = getelementptr inbounds i8, ptr %9, i64 160
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %95, float noundef 0xBFFD1EE6E0000000, float noundef 0x3FC41C10A0000000, float noundef 0x3FF0CE4740000000)
          to label %96 unwind label %812

96:                                               ; preds = %94
  %97 = getelementptr inbounds i8, ptr %9, i64 176
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %97, float noundef 0xBFD81FE680000000, float noundef 0x3FC41C4EC0000000, float noundef 0x3FF22AC8C0000000)
          to label %98 unwind label %812

98:                                               ; preds = %96
  %99 = getelementptr inbounds i8, ptr %9, i64 192
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %99, float noundef 0xBFF6131F20000000, float noundef 0x3FC41C2B80000000, float noundef 0x3FF15389E0000000)
          to label %100 unwind label %812

100:                                              ; preds = %98
  %101 = getelementptr inbounds i8, ptr %9, i64 208
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %101, float noundef 0xBFF0BC68E0000000, float noundef 0x3FC41C2280000000, float noundef 0x3FF8C85780000000)
          to label %102 unwind label %812

102:                                              ; preds = %100
  %103 = getelementptr inbounds i8, ptr %9, i64 224
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %103, float noundef 0xBFE31BAAE0000000, float noundef 0x3FC41C32E0000000, float noundef 0x3FF928B280000000)
          to label %104 unwind label %812

104:                                              ; preds = %102
  %105 = getelementptr inbounds i8, ptr %9, i64 240
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %105, float noundef 0xC000C0A900000000, float noundef 0x3FC41C0F60000000, float noundef 0x3FE1ECA2E0000000)
          to label %106 unwind label %812

106:                                              ; preds = %104
  %107 = getelementptr inbounds i8, ptr %9, i64 256
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %107, float noundef 0xBFFEB27A80000000, float noundef 0x3FC41C2280000000, float noundef 0x3FA4180300000000)
          to label %108 unwind label %812

108:                                              ; preds = %106
  %109 = getelementptr inbounds i8, ptr %9, i64 272
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %109, float noundef 0xC000AE2600000000, float noundef 0x3FC41C1480000000, float noundef 0xBFE03617E0000000)
          to label %110 unwind label %812

110:                                              ; preds = %108
  %111 = getelementptr inbounds i8, ptr %9, i64 288
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %111, float noundef 0xBFFCD83280000000, float noundef 0x3FC41C1AE0000000, float noundef 0xBFEF94F0A0000000)
          to label %112 unwind label %812

112:                                              ; preds = %110
  %113 = getelementptr inbounds i8, ptr %9, i64 304
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %113, float noundef 0x3FDBD45680000000, float noundef 0x3FC41C4040000000, float noundef 0x3FFA02CC40000000)
          to label %114 unwind label %812

114:                                              ; preds = %112
  %115 = getelementptr inbounds i8, ptr %9, i64 320
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %115, float noundef 0x3FED5AE6A0000000, float noundef 0x3FC41C3CC0000000, float noundef 0x3FFA6A6000000000)
          to label %116 unwind label %812

116:                                              ; preds = %114
  %117 = getelementptr inbounds i8, ptr %9, i64 336
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %117, float noundef 0x3FFC6F0080000000, float noundef 0x3FC41C3F60000000, float noundef 0x3FF3D27300000000)
          to label %118 unwind label %812

118:                                              ; preds = %116
  %119 = getelementptr inbounds i8, ptr %9, i64 352
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %119, float noundef 0x4000EA22C0000000, float noundef 0x3FC41C42E0000000, float noundef 0x3FE8FB6780000000)
          to label %120 unwind label %812

120:                                              ; preds = %118
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) #9
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %75, ptr nonnull %9, i64 23, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %121 unwind label %814

121:                                              ; preds = %120
  %122 = getelementptr inbounds i8, ptr %2, i64 96
  call void @llvm.lifetime.start.p0(i64 1312, ptr nonnull %11) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %11, float noundef 0x3FF520FB80000000, float noundef 0xBFB923D9A0000000, float noundef 0x3F94874800000000)
          to label %123 unwind label %816

123:                                              ; preds = %121
  %124 = getelementptr inbounds i8, ptr %11, i64 16
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %124, float noundef 0xBF9201C400000000, float noundef 0xBFBADE7B00000000, float noundef 0x3F94874800000000)
          to label %125 unwind label %816

125:                                              ; preds = %123
  %126 = getelementptr inbounds i8, ptr %11, i64 32
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %126, float noundef 0xBF9201C400000000, float noundef 0x3FB9294000000000, float noundef 0x3F94874800000000)
          to label %127 unwind label %816

127:                                              ; preds = %125
  %128 = getelementptr inbounds i8, ptr %11, i64 48
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %128, float noundef 0x3FF520FB80000000, float noundef 0x3FB9294000000000, float noundef 0x3F94874800000000)
          to label %129 unwind label %816

129:                                              ; preds = %127
  %130 = getelementptr inbounds i8, ptr %11, i64 64
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %130, float noundef 0x3FF0118700000000, float noundef 0xBFB923D9A0000000, float noundef 0x3FEBC9E4C0000000)
          to label %131 unwind label %816

131:                                              ; preds = %129
  %132 = getelementptr inbounds i8, ptr %11, i64 80
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %132, float noundef 0x3FF520FB80000000, float noundef 0xBFB923D9A0000000, float noundef 0x400516A400000000)
          to label %133 unwind label %816

133:                                              ; preds = %131
  %134 = getelementptr inbounds i8, ptr %11, i64 96
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %134, float noundef 0x3FF0118700000000, float noundef 0xBFB923D9A0000000, float noundef 0x3FFF4FCA80000000)
          to label %135 unwind label %816

135:                                              ; preds = %133
  %136 = getelementptr inbounds i8, ptr %11, i64 112
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %136, float noundef 0x3FF0118700000000, float noundef 0xBFBADE7B00000000, float noundef 0x3FE05A2A40000000)
          to label %137 unwind label %816

137:                                              ; preds = %135
  %138 = getelementptr inbounds i8, ptr %11, i64 128
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %138, float noundef 0x3F58B70000000000, float noundef 0xBFBADE7B00000000, float noundef 0x3FE05A2A40000000)
          to label %139 unwind label %816

139:                                              ; preds = %137
  %140 = getelementptr inbounds i8, ptr %11, i64 144
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %140, float noundef 0x3FD16070A0000000, float noundef 0xBFC6F8E3C0000000, float noundef 0x3FEBC9E4C0000000)
          to label %141 unwind label %816

141:                                              ; preds = %139
  %142 = getelementptr inbounds i8, ptr %11, i64 160
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %142, float noundef 0x3F58B70000000000, float noundef 0xBFC6F8E3C0000000, float noundef 0x3FEBC9E4C0000000)
          to label %143 unwind label %816

143:                                              ; preds = %141
  %144 = getelementptr inbounds i8, ptr %11, i64 176
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %144, float noundef 0x3F58B70000000000, float noundef 0xBFC6F8E3C0000000, float noundef 0x3FE05A2A40000000)
          to label %145 unwind label %816

145:                                              ; preds = %143
  %146 = getelementptr inbounds i8, ptr %11, i64 192
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %146, float noundef 0x3FD16070A0000000, float noundef 0xBFC6F8E3C0000000, float noundef 0x3FE05A2A40000000)
          to label %147 unwind label %816

147:                                              ; preds = %145
  %148 = getelementptr inbounds i8, ptr %11, i64 208
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %148, float noundef 0x3FF0118700000000, float noundef 0xBFC2A65480000000, float noundef 0x3FFF4FCA80000000)
          to label %149 unwind label %816

149:                                              ; preds = %147
  %150 = getelementptr inbounds i8, ptr %11, i64 224
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %150, float noundef 0x3FF0118700000000, float noundef 0xBFC2A65480000000, float noundef 0x4003435D20000000)
          to label %151 unwind label %816

151:                                              ; preds = %149
  %152 = getelementptr inbounds i8, ptr %11, i64 240
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %152, float noundef 0x3FD16070A0000000, float noundef 0xBFC6F8E3C0000000, float noundef 0x4003435D20000000)
          to label %153 unwind label %816

153:                                              ; preds = %151
  %154 = getelementptr inbounds i8, ptr %11, i64 256
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %154, float noundef 0x3FD16070A0000000, float noundef 0xBFC6F8E3C0000000, float noundef 0x3FFF4FCA80000000)
          to label %155 unwind label %816

155:                                              ; preds = %153
  %156 = getelementptr inbounds i8, ptr %11, i64 272
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %156, float noundef 0x3F58B70000000000, float noundef 0xBFBADE7B00000000, float noundef 0x4003435D20000000)
          to label %157 unwind label %816

157:                                              ; preds = %155
  %158 = getelementptr inbounds i8, ptr %11, i64 288
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %158, float noundef 0x3FF0118700000000, float noundef 0xBFBADE7B00000000, float noundef 0x4003435D20000000)
          to label %159 unwind label %816

159:                                              ; preds = %157
  %160 = getelementptr inbounds i8, ptr %11, i64 304
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %160, float noundef 0xBF9201C400000000, float noundef 0xBFBADE7B00000000, float noundef 0x400516A400000000)
          to label %161 unwind label %816

161:                                              ; preds = %159
  %162 = getelementptr inbounds i8, ptr %11, i64 320
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %162, float noundef 0x3FF520FB80000000, float noundef 0x3FB9294000000000, float noundef 0x400516A400000000)
          to label %163 unwind label %816

163:                                              ; preds = %161
  %164 = getelementptr inbounds i8, ptr %11, i64 336
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %164, float noundef 0xBF9201C400000000, float noundef 0x3FB9294000000000, float noundef 0x400516A400000000)
          to label %165 unwind label %816

165:                                              ; preds = %163
  %166 = getelementptr inbounds i8, ptr %11, i64 352
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %166, float noundef 0xBF9201C400000000, float noundef 0xBFB7CD47A0000000, float noundef 0x3FF51A4760000000)
          to label %167 unwind label %816

167:                                              ; preds = %165
  %168 = getelementptr inbounds i8, ptr %11, i64 368
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %168, float noundef 0xBF9201C400000000, float noundef 0x3FB76E9EA0000000, float noundef 0x3FF51A4760000000)
          to label %169 unwind label %816

169:                                              ; preds = %167
  %170 = getelementptr inbounds i8, ptr %11, i64 384
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %170, float noundef 0x3FF0118700000000, float noundef 0xBFC2A65480000000, float noundef 0x3FEBC9E4C0000000)
          to label %171 unwind label %816

171:                                              ; preds = %169
  %172 = getelementptr inbounds i8, ptr %11, i64 400
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %172, float noundef 0x3FF0118700000000, float noundef 0xBFC2A65480000000, float noundef 0x3FE05A2A40000000)
          to label %173 unwind label %816

173:                                              ; preds = %171
  %174 = getelementptr inbounds i8, ptr %11, i64 416
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %174, float noundef 0x3F58B70000000000, float noundef 0xBFBADE7B00000000, float noundef 0x3FEBC9E4C0000000)
          to label %175 unwind label %816

175:                                              ; preds = %173
  %176 = getelementptr inbounds i8, ptr %11, i64 432
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %176, float noundef 0x3F58B70000000000, float noundef 0xBFBADE7B00000000, float noundef 0x3FFF4FCA80000000)
          to label %177 unwind label %816

177:                                              ; preds = %175
  %178 = getelementptr inbounds i8, ptr %11, i64 448
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %178, float noundef 0x3F58B70000000000, float noundef 0xBFC6F8E3C0000000, float noundef 0x3FFF4FCA80000000)
          to label %179 unwind label %816

179:                                              ; preds = %177
  %180 = getelementptr inbounds i8, ptr %11, i64 464
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %180, float noundef 0x3F58B70000000000, float noundef 0xBFC6F8E3C0000000, float noundef 0x4003435D20000000)
          to label %181 unwind label %816

181:                                              ; preds = %179
  %182 = getelementptr inbounds i8, ptr %11, i64 480
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %182, float noundef 0xBF9201C400000000, float noundef 0xBFB9A21960000000, float noundef 0x3FEEB6A8A0000000)
          to label %183 unwind label %816

183:                                              ; preds = %181
  %184 = getelementptr inbounds i8, ptr %11, i64 496
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %184, float noundef 0x3FB67C0500000000, float noundef 0x3FC1D211C0000000, float noundef 0x3FF0C0B080000000)
          to label %185 unwind label %816

185:                                              ; preds = %183
  %186 = getelementptr inbounds i8, ptr %11, i64 512
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %186, float noundef 0x3FBF69E100000000, float noundef 0xBFC2EBCF80000000, float noundef 0x3FF27694E0000000)
          to label %187 unwind label %816

187:                                              ; preds = %185
  %188 = getelementptr inbounds i8, ptr %11, i64 528
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %188, float noundef 0x3FBF69E100000000, float noundef 0x3FC1D211C0000000, float noundef 0x3FF27694E0000000)
          to label %189 unwind label %816

189:                                              ; preds = %187
  %190 = getelementptr inbounds i8, ptr %11, i64 544
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %190, float noundef 0x3FC92E0A40000000, float noundef 0xBFBE3A8000000000, float noundef 0x3FF277D200000000)
          to label %191 unwind label %816

191:                                              ; preds = %189
  %192 = getelementptr inbounds i8, ptr %11, i64 560
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %192, float noundef 0x3FB9419400000000, float noundef 0xBFC2EBCF80000000, float noundef 0x3FF39E3000000000)
          to label %193 unwind label %816

193:                                              ; preds = %191
  %194 = getelementptr inbounds i8, ptr %11, i64 576
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %194, float noundef 0x3FC668AE00000000, float noundef 0xBFBE3A8000000000, float noundef 0x3FF456C920000000)
          to label %195 unwind label %816

195:                                              ; preds = %193
  %196 = getelementptr inbounds i8, ptr %11, i64 592
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %196, float noundef 0xBF9201C400000000, float noundef 0xBFC2EBCF80000000, float noundef 0x3FEEB6A8A0000000)
          to label %197 unwind label %816

197:                                              ; preds = %195
  %198 = getelementptr inbounds i8, ptr %11, i64 608
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %198, float noundef 0x3FB3A87100000000, float noundef 0xBFBE3A8000000000, float noundef 0x3FEE4DDA40000000)
          to label %199 unwind label %816

199:                                              ; preds = %197
  %200 = getelementptr inbounds i8, ptr %11, i64 624
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %200, float noundef 0x3FB67C0500000000, float noundef 0xBFC2EBCF80000000, float noundef 0x3FF0C0B080000000)
          to label %201 unwind label %816

201:                                              ; preds = %199
  %202 = getelementptr inbounds i8, ptr %11, i64 640
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %202, float noundef 0x3FC7C30A40000000, float noundef 0xBFBE3A8000000000, float noundef 0x3FF0848DC0000000)
          to label %203 unwind label %816

203:                                              ; preds = %201
  %204 = getelementptr inbounds i8, ptr %11, i64 656
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %204, float noundef 0xBF9201C400000000, float noundef 0x3FB9294000000000, float noundef 0x3FEEB6A8A0000000)
          to label %205 unwind label %816

205:                                              ; preds = %203
  %206 = getelementptr inbounds i8, ptr %11, i64 672
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %206, float noundef 0x3FB9419400000000, float noundef 0x3FC1D211C0000000, float noundef 0x3FF39E3000000000)
          to label %207 unwind label %816

207:                                              ; preds = %205
  %208 = getelementptr inbounds i8, ptr %11, i64 688
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %208, float noundef 0x3FB6F75200000000, float noundef 0xBFBADE7B00000000, float noundef 0x3FF53A13A0000000)
          to label %209 unwind label %816

209:                                              ; preds = %207
  %210 = getelementptr inbounds i8, ptr %11, i64 704
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %210, float noundef 0xBF9201C400000000, float noundef 0xBFC2EBCF80000000, float noundef 0x3FF51A4760000000)
          to label %211 unwind label %816

211:                                              ; preds = %209
  %212 = getelementptr inbounds i8, ptr %11, i64 720
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %212, float noundef 0x3FB6F75200000000, float noundef 0xBFBE3A8000000000, float noundef 0x3FF53A13A0000000)
          to label %213 unwind label %816

213:                                              ; preds = %211
  %214 = getelementptr inbounds i8, ptr %11, i64 736
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %214, float noundef 0x3FC668AE00000000, float noundef 0xBFBADE7B00000000, float noundef 0x3FF456C920000000)
          to label %215 unwind label %816

215:                                              ; preds = %213
  %216 = getelementptr inbounds i8, ptr %11, i64 752
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %216, float noundef 0x3FC7C30A40000000, float noundef 0xBFBADE7B00000000, float noundef 0x3FF0848DC0000000)
          to label %217 unwind label %816

217:                                              ; preds = %215
  %218 = getelementptr inbounds i8, ptr %11, i64 768
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %218, float noundef 0x3FC92E0A40000000, float noundef 0xBFBADE7B00000000, float noundef 0x3FF277D200000000)
          to label %219 unwind label %816

219:                                              ; preds = %217
  %220 = getelementptr inbounds i8, ptr %11, i64 784
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %220, float noundef 0x3FB3A87100000000, float noundef 0xBFBADE7B00000000, float noundef 0x3FEE4DDA40000000)
          to label %221 unwind label %816

221:                                              ; preds = %219
  %222 = getelementptr inbounds i8, ptr %11, i64 800
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %222, float noundef 0x3FF0118700000000, float noundef 0x3FB9294000000000, float noundef 0x3FEBC9E4C0000000)
          to label %223 unwind label %816

223:                                              ; preds = %221
  %224 = getelementptr inbounds i8, ptr %11, i64 816
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %224, float noundef 0x3FF0118700000000, float noundef 0x3FB9294000000000, float noundef 0x3FFF4FCA80000000)
          to label %225 unwind label %816

225:                                              ; preds = %223
  %226 = getelementptr inbounds i8, ptr %11, i64 832
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %226, float noundef 0x3FF0118700000000, float noundef 0x3FB9294000000000, float noundef 0x3FE05A2A40000000)
          to label %227 unwind label %816

227:                                              ; preds = %225
  %228 = getelementptr inbounds i8, ptr %11, i64 848
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %228, float noundef 0x3F58B70000000000, float noundef 0x3FB9294000000000, float noundef 0x3FE05A2A40000000)
          to label %229 unwind label %816

229:                                              ; preds = %227
  %230 = getelementptr inbounds i8, ptr %11, i64 864
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %230, float noundef 0x3F58B70000000000, float noundef 0x3FC5DF2640000000, float noundef 0x3FE05A2A40000000)
          to label %231 unwind label %816

231:                                              ; preds = %229
  %232 = getelementptr inbounds i8, ptr %11, i64 880
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %232, float noundef 0x3F58B70000000000, float noundef 0x3FC5DF2640000000, float noundef 0x3FEBC9E4C0000000)
          to label %233 unwind label %816

233:                                              ; preds = %231
  %234 = getelementptr inbounds i8, ptr %11, i64 896
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %234, float noundef 0x3FD16070A0000000, float noundef 0x3FC5DF2640000000, float noundef 0x3FEBC9E4C0000000)
          to label %235 unwind label %816

235:                                              ; preds = %233
  %236 = getelementptr inbounds i8, ptr %11, i64 912
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %236, float noundef 0x3FD16070A0000000, float noundef 0x3FC5DF2640000000, float noundef 0x3FE05A2A40000000)
          to label %237 unwind label %816

237:                                              ; preds = %235
  %238 = getelementptr inbounds i8, ptr %11, i64 928
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %238, float noundef 0x3FD16070A0000000, float noundef 0x3FC5DF2640000000, float noundef 0x4003435D20000000)
          to label %239 unwind label %816

239:                                              ; preds = %237
  %240 = getelementptr inbounds i8, ptr %11, i64 944
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %240, float noundef 0x3FF0118700000000, float noundef 0x3FC18C9700000000, float noundef 0x4003435D20000000)
          to label %241 unwind label %816

241:                                              ; preds = %239
  %242 = getelementptr inbounds i8, ptr %11, i64 960
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %242, float noundef 0x3FF0118700000000, float noundef 0x3FC18C9700000000, float noundef 0x3FFF4FCA80000000)
          to label %243 unwind label %816

243:                                              ; preds = %241
  %244 = getelementptr inbounds i8, ptr %11, i64 976
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %244, float noundef 0x3FD16070A0000000, float noundef 0x3FC5DF2640000000, float noundef 0x3FFF4FCA80000000)
          to label %245 unwind label %816

245:                                              ; preds = %243
  %246 = getelementptr inbounds i8, ptr %11, i64 992
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %246, float noundef 0x3F58B70000000000, float noundef 0x3FB9294000000000, float noundef 0x4003435D20000000)
          to label %247 unwind label %816

247:                                              ; preds = %245
  %248 = getelementptr inbounds i8, ptr %11, i64 1008
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %248, float noundef 0x3FF0118700000000, float noundef 0x3FB9294000000000, float noundef 0x4003435D20000000)
          to label %249 unwind label %816

249:                                              ; preds = %247
  %250 = getelementptr inbounds i8, ptr %11, i64 1024
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %250, float noundef 0x3FF0118700000000, float noundef 0x3FC18C9700000000, float noundef 0x3FEBC9E4C0000000)
          to label %251 unwind label %816

251:                                              ; preds = %249
  %252 = getelementptr inbounds i8, ptr %11, i64 1040
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %252, float noundef 0x3FF0118700000000, float noundef 0x3FC18C9700000000, float noundef 0x3FE05A2A40000000)
          to label %253 unwind label %816

253:                                              ; preds = %251
  %254 = getelementptr inbounds i8, ptr %11, i64 1056
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %254, float noundef 0x3F58B70000000000, float noundef 0x3FB9294000000000, float noundef 0x3FEBC9E4C0000000)
          to label %255 unwind label %816

255:                                              ; preds = %253
  %256 = getelementptr inbounds i8, ptr %11, i64 1072
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %256, float noundef 0x3F58B70000000000, float noundef 0x3FB9294000000000, float noundef 0x3FFF4FCA80000000)
          to label %257 unwind label %816

257:                                              ; preds = %255
  %258 = getelementptr inbounds i8, ptr %11, i64 1088
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %258, float noundef 0x3F58B70000000000, float noundef 0x3FC5DF2640000000, float noundef 0x3FFF4FCA80000000)
          to label %259 unwind label %816

259:                                              ; preds = %257
  %260 = getelementptr inbounds i8, ptr %11, i64 1104
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %260, float noundef 0x3F58B70000000000, float noundef 0x3FC5DF2640000000, float noundef 0x4003435D20000000)
          to label %261 unwind label %816

261:                                              ; preds = %259
  %262 = getelementptr inbounds i8, ptr %11, i64 1120
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %262, float noundef 0x3FC92E0A40000000, float noundef 0x3FBC070520000000, float noundef 0x3FF277D200000000)
          to label %263 unwind label %816

263:                                              ; preds = %261
  %264 = getelementptr inbounds i8, ptr %11, i64 1136
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %264, float noundef 0x3FC668AE00000000, float noundef 0x3FBC070520000000, float noundef 0x3FF456C920000000)
          to label %265 unwind label %816

265:                                              ; preds = %263
  %266 = getelementptr inbounds i8, ptr %11, i64 1152
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %266, float noundef 0xBF9201C400000000, float noundef 0x3FC1D211C0000000, float noundef 0x3FEEB6A8A0000000)
          to label %267 unwind label %816

267:                                              ; preds = %265
  %268 = getelementptr inbounds i8, ptr %11, i64 1168
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %268, float noundef 0x3FB3A87100000000, float noundef 0x3FBC070520000000, float noundef 0x3FEE4DDA40000000)
          to label %269 unwind label %816

269:                                              ; preds = %267
  %270 = getelementptr inbounds i8, ptr %11, i64 1184
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %270, float noundef 0x3FC7C30A40000000, float noundef 0x3FBC070520000000, float noundef 0x3FF0848DC0000000)
          to label %271 unwind label %816

271:                                              ; preds = %269
  %272 = getelementptr inbounds i8, ptr %11, i64 1200
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %272, float noundef 0x3FB6F75200000000, float noundef 0x3FB9294000000000, float noundef 0x3FF53A13A0000000)
          to label %273 unwind label %816

273:                                              ; preds = %271
  %274 = getelementptr inbounds i8, ptr %11, i64 1216
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %274, float noundef 0xBF9201C400000000, float noundef 0x3FC1D211C0000000, float noundef 0x3FF51A4760000000)
          to label %275 unwind label %816

275:                                              ; preds = %273
  %276 = getelementptr inbounds i8, ptr %11, i64 1232
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %276, float noundef 0x3FB6F75200000000, float noundef 0x3FBC070520000000, float noundef 0x3FF53A13A0000000)
          to label %277 unwind label %816

277:                                              ; preds = %275
  %278 = getelementptr inbounds i8, ptr %11, i64 1248
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %278, float noundef 0x3FC668AE00000000, float noundef 0x3FB9294000000000, float noundef 0x3FF456C920000000)
          to label %279 unwind label %816

279:                                              ; preds = %277
  %280 = getelementptr inbounds i8, ptr %11, i64 1264
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %280, float noundef 0x3FC92E0A40000000, float noundef 0x3FB9294000000000, float noundef 0x3FF277D200000000)
          to label %281 unwind label %816

281:                                              ; preds = %279
  %282 = getelementptr inbounds i8, ptr %11, i64 1280
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %282, float noundef 0x3FC7C30A40000000, float noundef 0x3FB9294000000000, float noundef 0x3FF0848DC0000000)
          to label %283 unwind label %816

283:                                              ; preds = %281
  %284 = getelementptr inbounds i8, ptr %11, i64 1296
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %284, float noundef 0x3FB3A87100000000, float noundef 0x3FB9294000000000, float noundef 0x3FEE4DDA40000000)
          to label %285 unwind label %816

285:                                              ; preds = %283
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #9
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %122, ptr nonnull %11, i64 82, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %286 unwind label %818

286:                                              ; preds = %285
  %287 = getelementptr inbounds i8, ptr %2, i64 120
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %13) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %13, float noundef 0x3F95C4ADA0000000, float noundef 0x3FF4B33F80000000, float noundef 0x3F84E594A0000000)
          to label %288 unwind label %820

288:                                              ; preds = %286
  %289 = getelementptr inbounds i8, ptr %13, i64 16
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %289, float noundef 0x3F971EFDC0000000, float noundef 0x3FF0EFD160000000, float noundef 0x3FB6B9D300000000)
          to label %290 unwind label %820

290:                                              ; preds = %288
  %291 = getelementptr inbounds i8, ptr %13, i64 32
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %291, float noundef 0x3FAE83FC60000000, float noundef 0x3FEF7F1E60000000, float noundef 0x3FA4ED9260000000)
          to label %292 unwind label %820

292:                                              ; preds = %290
  %293 = getelementptr inbounds i8, ptr %13, i64 48
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %293, float noundef 0x3FB27BD5E0000000, float noundef 0x3FEF5E2D20000000, float noundef 0xBFA5503080000000)
          to label %294 unwind label %820

294:                                              ; preds = %292
  %295 = getelementptr inbounds i8, ptr %13, i64 64
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %295, float noundef 0xBF6EDA9780000000, float noundef 0xBFE6FC2C40000000, float noundef 0x3F70D96A20000000)
          to label %296 unwind label %820

296:                                              ; preds = %294
  %297 = getelementptr inbounds i8, ptr %13, i64 80
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %297, float noundef 0xBF5ED28440000000, float noundef 0xBFE6FC2CE0000000, float noundef 0x3F62CA6B80000000)
          to label %298 unwind label %820

298:                                              ; preds = %296
  %299 = getelementptr inbounds i8, ptr %13, i64 96
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %299, float noundef 0xBF5AA03C20000000, float noundef 0xBFE6FC2B80000000, float noundef 0x3F7ED7E900000000)
          to label %300 unwind label %820

300:                                              ; preds = %298
  %301 = getelementptr inbounds i8, ptr %13, i64 112
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %301, float noundef 0xBF536731E0000000, float noundef 0x3FF5C5CEA0000000, float noundef 0x3F519C87C0000000)
          to label %302 unwind label %820

302:                                              ; preds = %300
  %303 = getelementptr inbounds i8, ptr %13, i64 128
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %303, float noundef 0xBF11CA4DC0000000, float noundef 0xBFE6FC2CA0000000, float noundef 0x3F71797540000000)
          to label %304 unwind label %820

304:                                              ; preds = %302
  %305 = getelementptr inbounds i8, ptr %13, i64 144
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %305, float noundef 0x3F50DFC380000000, float noundef 0x3FF4C9D3E0000000, float noundef 0x3F97A22BC0000000)
          to label %306 unwind label %820

306:                                              ; preds = %304
  %307 = getelementptr inbounds i8, ptr %13, i64 160
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %307, float noundef 0x3F7CAB7440000000, float noundef 0x3FF0EFD420000000, float noundef 0x3FB6B9D6C0000000)
          to label %308 unwind label %820

308:                                              ; preds = %306
  %309 = getelementptr inbounds i8, ptr %13, i64 176
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %309, float noundef 0xBF78B85CE0000000, float noundef 0x3FF0C945E0000000, float noundef 0xBFBA372C60000000)
          to label %310 unwind label %820

310:                                              ; preds = %308
  %311 = getelementptr inbounds i8, ptr %13, i64 192
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %311, float noundef 0xBF95BF41C0000000, float noundef 0x3FF4F98E00000000, float noundef 0x3F75B6A220000000)
          to label %312 unwind label %820

312:                                              ; preds = %310
  %313 = getelementptr inbounds i8, ptr %13, i64 208
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %313, float noundef 0xBFABC95F20000000, float noundef 0x3FF1384560000000, float noundef 0x3FA4A59CE0000000)
          to label %314 unwind label %820

314:                                              ; preds = %312
  %315 = getelementptr inbounds i8, ptr %13, i64 224
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %315, float noundef 0xBFB83C3CC0000000, float noundef 0x3FF12D6220000000, float noundef 0xBF92F4B140000000)
          to label %316 unwind label %820

316:                                              ; preds = %314
  %317 = getelementptr inbounds i8, ptr %13, i64 240
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %317, float noundef 0xBFB83C3CC0000000, float noundef 0x3FF12D6220000000, float noundef 0xBF92F4B140000000)
          to label %318 unwind label %820

318:                                              ; preds = %316
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #9
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %287, ptr nonnull %13, i64 16, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %319 unwind label %822

319:                                              ; preds = %318
  %320 = getelementptr inbounds i8, ptr %2, i64 144
  call void @llvm.lifetime.start.p0(i64 448, ptr nonnull %15) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %15, float noundef 0x3F9D0C7AC0000000, float noundef 0x3FA6B8FA40000000, float noundef 0xBF77531040000000)
          to label %321 unwind label %824

321:                                              ; preds = %319
  %322 = getelementptr inbounds i8, ptr %15, i64 16
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %322, float noundef 0x3FA0BF8E20000000, float noundef 0xBF96A48700000000, float noundef 0x3F97CC5740000000)
          to label %323 unwind label %824

323:                                              ; preds = %321
  %324 = getelementptr inbounds i8, ptr %15, i64 32
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %324, float noundef 0x3FA332D200000000, float noundef 0x3F8E786EC0000000, float noundef 0xBF991D7560000000)
          to label %325 unwind label %824

325:                                              ; preds = %323
  %326 = getelementptr inbounds i8, ptr %15, i64 48
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %326, float noundef 0x3FA6801900000000, float noundef 0x3F89E15620000000, float noundef 0x3F943D9F40000000)
          to label %327 unwind label %824

327:                                              ; preds = %325
  %328 = getelementptr inbounds i8, ptr %15, i64 64
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %328, float noundef 0xBFA0C04A40000000, float noundef 0x3FA5B43380000000, float noundef 0x3F9298CC00000000)
          to label %329 unwind label %824

329:                                              ; preds = %327
  %330 = getelementptr inbounds i8, ptr %15, i64 80
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %330, float noundef 0xBF9F6EAA40000000, float noundef 0x3F9FE6B080000000, float noundef 0xBF9CD3C740000000)
          to label %331 unwind label %824

331:                                              ; preds = %329
  %332 = getelementptr inbounds i8, ptr %15, i64 96
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %332, float noundef 0xBF9ADF3C80000000, float noundef 0x3F997E9AC0000000, float noundef 0x3FA70AAAE0000000)
          to label %333 unwind label %824

333:                                              ; preds = %331
  %334 = getelementptr inbounds i8, ptr %15, i64 112
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %334, float noundef 0xBF9AD69F80000000, float noundef 0x3F82912E80000000, float noundef 0x3FA8AB3FC0000000)
          to label %335 unwind label %824

335:                                              ; preds = %333
  %336 = getelementptr inbounds i8, ptr %15, i64 128
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %336, float noundef 0xBF9A4D0C80000000, float noundef 0xBF78DD9080000000, float noundef 0xBFA48CBD00000000)
          to label %337 unwind label %824

337:                                              ; preds = %335
  %338 = getelementptr inbounds i8, ptr %15, i64 144
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %338, float noundef 0xBF92665040000000, float noundef 0x3F9B40DB20000000, float noundef 0xBFA433AB40000000)
          to label %339 unwind label %824

339:                                              ; preds = %337
  %340 = getelementptr inbounds i8, ptr %15, i64 160
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %340, float noundef 0xBF77425380000000, float noundef 0xBFA0099600000000, float noundef 0xBF9AFF9BC0000000)
          to label %341 unwind label %824

341:                                              ; preds = %339
  %342 = getelementptr inbounds i8, ptr %15, i64 176
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %342, float noundef 0xBF7239D280000000, float noundef 0xBFA39F1900000000, float noundef 0x3F9527ECA0000000)
          to label %343 unwind label %824

343:                                              ; preds = %341
  %344 = getelementptr inbounds i8, ptr %15, i64 192
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %344, float noundef 0xBF6AF598E0000000, float noundef 0x3FA7C777C0000000, float noundef 0x3FA19A9F40000000)
          to label %345 unwind label %824

345:                                              ; preds = %343
  %346 = getelementptr inbounds i8, ptr %15, i64 208
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %346, float noundef 0xBF626F7DC0000000, float noundef 0x3FAC317FC0000000, float noundef 0xBF68EA9140000000)
          to label %347 unwind label %824

347:                                              ; preds = %345
  %348 = getelementptr inbounds i8, ptr %15, i64 224
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %348, float noundef 0x3F696B3200000000, float noundef 0x3F61FE9280000000, float noundef 0x3FABC4DA00000000)
          to label %349 unwind label %824

349:                                              ; preds = %347
  %350 = getelementptr inbounds i8, ptr %15, i64 240
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %350, float noundef 0x3F71D728C0000000, float noundef 0x3F7A612860000000, float noundef 0xBFA74C9100000000)
          to label %351 unwind label %824

351:                                              ; preds = %349
  %352 = getelementptr inbounds i8, ptr %15, i64 256
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %352, float noundef 0x3F7446F240000000, float noundef 0xBF8DAFD500000000, float noundef 0x3FA8B5AE00000000)
          to label %353 unwind label %824

353:                                              ; preds = %351
  %354 = getelementptr inbounds i8, ptr %15, i64 272
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %354, float noundef 0x3F74ED4600000000, float noundef 0x3F9ECC1240000000, float noundef 0xBFA54BB8C0000000)
          to label %355 unwind label %824

355:                                              ; preds = %353
  %356 = getelementptr inbounds i8, ptr %15, i64 288
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %356, float noundef 0x3F795CC060000000, float noundef 0x3F9B8F5900000000, float noundef 0x3FA999B620000000)
          to label %357 unwind label %824

357:                                              ; preds = %355
  %358 = getelementptr inbounds i8, ptr %15, i64 304
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %358, float noundef 0x3F938D4980000000, float noundef 0xBF85CE8580000000, float noundef 0x3FA73734C0000000)
          to label %359 unwind label %824

359:                                              ; preds = %357
  %360 = getelementptr inbounds i8, ptr %15, i64 320
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %360, float noundef 0x3F94BB6940000000, float noundef 0x3F80D12400000000, float noundef 0x3FA9A19480000000)
          to label %361 unwind label %824

361:                                              ; preds = %359
  %362 = getelementptr inbounds i8, ptr %15, i64 336
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %362, float noundef 0x3F947A7D80000000, float noundef 0x3FA21825C0000000, float noundef 0x3FA5307660000000)
          to label %363 unwind label %824

363:                                              ; preds = %361
  %364 = getelementptr inbounds i8, ptr %15, i64 352
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %364, float noundef 0x3F9B701780000000, float noundef 0xBF8FEFFB00000000, float noundef 0xBF9ED17FA0000000)
          to label %365 unwind label %824

365:                                              ; preds = %363
  %366 = getelementptr inbounds i8, ptr %15, i64 368
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %366, float noundef 0x3F9C1307A0000000, float noundef 0x3FA0534600000000, float noundef 0xBF9D8CABA0000000)
          to label %367 unwind label %824

367:                                              ; preds = %365
  %368 = getelementptr inbounds i8, ptr %15, i64 384
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %368, float noundef 0xBFA4B42480000000, float noundef 0xBF95D4EDC0000000, float noundef 0xBF75BE3040000000)
          to label %369 unwind label %824

369:                                              ; preds = %367
  %370 = getelementptr inbounds i8, ptr %15, i64 400
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %370, float noundef 0xBFA3A36660000000, float noundef 0xBF86D99280000000, float noundef 0x3FA1C1C9E0000000)
          to label %371 unwind label %824

371:                                              ; preds = %369
  %372 = getelementptr inbounds i8, ptr %15, i64 416
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %372, float noundef 0xBFA731E2C0000000, float noundef 0x3F5D2A5A80000000, float noundef 0xBF9663FDC0000000)
          to label %373 unwind label %824

373:                                              ; preds = %371
  %374 = getelementptr inbounds i8, ptr %15, i64 432
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %374, float noundef 0xBFA8B9DA00000000, float noundef 0x3F84CDDA00000000, float noundef 0x3F939F28E0000000)
          to label %375 unwind label %824

375:                                              ; preds = %373
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #9
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %320, ptr nonnull %15, i64 28, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %376 unwind label %826

376:                                              ; preds = %375
  %377 = getelementptr inbounds i8, ptr %2, i64 168
  call void @llvm.lifetime.start.p0(i64 1600, ptr nonnull %17) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %17, float noundef 0x3FC907F200000000, float noundef 0x3FB1A4F440000000, float noundef 0x3FCAFAE8C0000000)
          to label %378 unwind label %828

378:                                              ; preds = %376
  %379 = getelementptr inbounds i8, ptr %17, i64 16
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %379, float noundef 0x3FCA469BA0000000, float noundef 0xBF9172D840000000, float noundef 0xBFB79227E0000000)
          to label %380 unwind label %828

380:                                              ; preds = %378
  %381 = getelementptr inbounds i8, ptr %17, i64 32
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %381, float noundef 0x3FCB101E80000000, float noundef 0x3F92496C20000000, float noundef 0xBFB92E5D80000000)
          to label %382 unwind label %828

382:                                              ; preds = %380
  %383 = getelementptr inbounds i8, ptr %17, i64 48
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %383, float noundef 0x3FCB7A4000000000, float noundef 0x3FAA083480000000, float noundef 0xBFA22CFDE0000000)
          to label %384 unwind label %828

384:                                              ; preds = %382
  %385 = getelementptr inbounds i8, ptr %17, i64 64
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %385, float noundef 0xBFCA4128A0000000, float noundef 0xBFB1F78BE0000000, float noundef 0xBFD46EAAA0000000)
          to label %386 unwind label %828

386:                                              ; preds = %384
  %387 = getelementptr inbounds i8, ptr %17, i64 80
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %387, float noundef 0xBFC8B7C3A0000000, float noundef 0xBFC19BA500000000, float noundef 0xBFD569A920000000)
          to label %388 unwind label %828

388:                                              ; preds = %386
  %389 = getelementptr inbounds i8, ptr %17, i64 96
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %389, float noundef 0xBFC9B8E120000000, float noundef 0xBFB8812660000000, float noundef 0xBFBD246C40000000)
          to label %390 unwind label %828

390:                                              ; preds = %388
  %391 = getelementptr inbounds i8, ptr %17, i64 112
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %391, float noundef 0xBFC7EE2A20000000, float noundef 0xBFC3070040000000, float noundef 0xBFC8C69F20000000)
          to label %392 unwind label %828

392:                                              ; preds = %390
  %393 = getelementptr inbounds i8, ptr %17, i64 128
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %393, float noundef 0xBFC7223D60000000, float noundef 0xBFB61DCBC0000000, float noundef 0xBFD69AD2A0000000)
          to label %394 unwind label %828

394:                                              ; preds = %392
  %395 = getelementptr inbounds i8, ptr %17, i64 144
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %395, float noundef 0xBFC70EE3A0000000, float noundef 0xBFC38236A0000000, float noundef 0xBFD5E0ED00000000)
          to label %396 unwind label %828

396:                                              ; preds = %394
  %397 = getelementptr inbounds i8, ptr %17, i64 160
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %397, float noundef 0xBFC7435F80000000, float noundef 0xBFC3999EC0000000, float noundef 0xBFC8823E20000000)
          to label %398 unwind label %828

398:                                              ; preds = %396
  %399 = getelementptr inbounds i8, ptr %17, i64 176
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %399, float noundef 0xBFC90FCCC0000000, float noundef 0x3F8AD5BC40000000, float noundef 0xBF79E72720000000)
          to label %400 unwind label %828

400:                                              ; preds = %398
  %401 = getelementptr inbounds i8, ptr %17, i64 192
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %401, float noundef 0xBFC585A620000000, float noundef 0xBFACB93720000000, float noundef 0xBFD6547F60000000)
          to label %402 unwind label %828

402:                                              ; preds = %400
  %403 = getelementptr inbounds i8, ptr %17, i64 208
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %403, float noundef 0xBFC50DDAC0000000, float noundef 0xBFC57CC680000000, float noundef 0xBFD2A69740000000)
          to label %404 unwind label %828

404:                                              ; preds = %402
  %405 = getelementptr inbounds i8, ptr %17, i64 224
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %405, float noundef 0xBFC66EA500000000, float noundef 0x3F8F68E520000000, float noundef 0x3FB659E9E0000000)
          to label %406 unwind label %828

406:                                              ; preds = %404
  %407 = getelementptr inbounds i8, ptr %17, i64 240
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %407, float noundef 0xBFC6205580000000, float noundef 0x3FB6769660000000, float noundef 0xBF904B3220000000)
          to label %408 unwind label %828

408:                                              ; preds = %406
  %409 = getelementptr inbounds i8, ptr %17, i64 256
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %409, float noundef 0xBFC5DBD560000000, float noundef 0x3F944FC8A0000000, float noundef 0x3FB9C80660000000)
          to label %410 unwind label %828

410:                                              ; preds = %408
  %411 = getelementptr inbounds i8, ptr %17, i64 272
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %411, float noundef 0xBFC2B55EC0000000, float noundef 0xBFC52C4420000000, float noundef 0xBFD7FE3D00000000)
          to label %412 unwind label %828

412:                                              ; preds = %410
  %413 = getelementptr inbounds i8, ptr %17, i64 288
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %413, float noundef 0xBFC2AEBD60000000, float noundef 0xBFC51B9260000000, float noundef 0xBFD8028F80000000)
          to label %414 unwind label %828

414:                                              ; preds = %412
  %415 = getelementptr inbounds i8, ptr %17, i64 304
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %415, float noundef 0xBFC4D44580000000, float noundef 0x3FB46AF080000000, float noundef 0x3FB5AB88E0000000)
          to label %416 unwind label %828

416:                                              ; preds = %414
  %417 = getelementptr inbounds i8, ptr %17, i64 320
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %417, float noundef 0xBFC11CDAA0000000, float noundef 0xBFB0180480000000, float noundef 0xBFD8093C80000000)
          to label %418 unwind label %828

418:                                              ; preds = %416
  %419 = getelementptr inbounds i8, ptr %17, i64 336
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %419, float noundef 0xBFC2ECFAC0000000, float noundef 0x3FC2559540000000, float noundef 0xBF900322A0000000)
          to label %420 unwind label %828

420:                                              ; preds = %418
  %421 = getelementptr inbounds i8, ptr %17, i64 352
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %421, float noundef 0xBFC0681D40000000, float noundef 0xBFA5DB1000000000, float noundef 0xBFD73968C0000000)
          to label %422 unwind label %828

422:                                              ; preds = %420
  %423 = getelementptr inbounds i8, ptr %17, i64 368
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %423, float noundef 0xBFC2105F20000000, float noundef 0x3FC1572900000000, float noundef 0x3FAA518840000000)
          to label %424 unwind label %828

424:                                              ; preds = %422
  %425 = getelementptr inbounds i8, ptr %17, i64 384
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %425, float noundef 0xBFBF97E6C0000000, float noundef 0xBFC6C316C0000000, float noundef 0xBFD7A69AC0000000)
          to label %426 unwind label %828

426:                                              ; preds = %424
  %427 = getelementptr inbounds i8, ptr %17, i64 400
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %427, float noundef 0xBFBF840980000000, float noundef 0xBFC7214F80000000, float noundef 0xBFCA20E240000000)
          to label %428 unwind label %828

428:                                              ; preds = %426
  %429 = getelementptr inbounds i8, ptr %17, i64 416
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %429, float noundef 0xBFB9848E20000000, float noundef 0xBFC7693500000000, float noundef 0xBFD8CFCCC0000000)
          to label %430 unwind label %828

430:                                              ; preds = %428
  %431 = getelementptr inbounds i8, ptr %17, i64 432
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %431, float noundef 0xBFB97FF180000000, float noundef 0x3FC21AFA20000000, float noundef 0x3FC0840F60000000)
          to label %432 unwind label %828

432:                                              ; preds = %430
  %433 = getelementptr inbounds i8, ptr %17, i64 448
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %433, float noundef 0xBFB6F1B180000000, float noundef 0xBFC6100B60000000, float noundef 0xBFD98C7A20000000)
          to label %434 unwind label %828

434:                                              ; preds = %432
  %435 = getelementptr inbounds i8, ptr %17, i64 464
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %435, float noundef 0xBFB7E7E100000000, float noundef 0xBF81B8D3A0000000, float noundef 0x3FCDE61A00000000)
          to label %436 unwind label %828

436:                                              ; preds = %434
  %437 = getelementptr inbounds i8, ptr %17, i64 480
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %437, float noundef 0xBFB84FF3E0000000, float noundef 0x3FC64BD520000000, float noundef 0x3FA319CD60000000)
          to label %438 unwind label %828

438:                                              ; preds = %436
  %439 = getelementptr inbounds i8, ptr %17, i64 496
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %439, float noundef 0xBFB851E500000000, float noundef 0x3FC4942880000000, float noundef 0xBFA40A5E20000000)
          to label %440 unwind label %828

440:                                              ; preds = %438
  %441 = getelementptr inbounds i8, ptr %17, i64 512
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %441, float noundef 0xBFB50BE040000000, float noundef 0xBFB3E9B5A0000000, float noundef 0xBFD976BEC0000000)
          to label %442 unwind label %828

442:                                              ; preds = %440
  %443 = getelementptr inbounds i8, ptr %17, i64 528
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %443, float noundef 0xBFB44598A0000000, float noundef 0xBFC2B59360000000, float noundef 0xBFD9C16420000000)
          to label %444 unwind label %828

444:                                              ; preds = %442
  %445 = getelementptr inbounds i8, ptr %17, i64 544
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %445, float noundef 0xBFB522F0A0000000, float noundef 0x3F8E191C00000000, float noundef 0x3FCEFCD960000000)
          to label %446 unwind label %828

446:                                              ; preds = %444
  %447 = getelementptr inbounds i8, ptr %17, i64 560
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %447, float noundef 0xBFB26E0840000000, float noundef 0x3FC5B527A0000000, float noundef 0x3FBCA28BE0000000)
          to label %448 unwind label %828

448:                                              ; preds = %446
  %449 = getelementptr inbounds i8, ptr %17, i64 576
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %449, float noundef 0xBFAE16F5C0000000, float noundef 0xBFC816D460000000, float noundef 0xBFD9C0EB80000000)
          to label %450 unwind label %828

450:                                              ; preds = %448
  %451 = getelementptr inbounds i8, ptr %17, i64 592
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %451, float noundef 0xBFAD693860000000, float noundef 0xBFC7ED0C40000000, float noundef 0xBFD9D8D7A0000000)
          to label %452 unwind label %828

452:                                              ; preds = %450
  %453 = getelementptr inbounds i8, ptr %17, i64 608
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %453, float noundef 0xBFA6BCFF80000000, float noundef 0xBFA520B6A0000000, float noundef 0xBFD8003200000000)
          to label %454 unwind label %828

454:                                              ; preds = %452
  %455 = getelementptr inbounds i8, ptr %17, i64 624
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %455, float noundef 0xBFA7CCA800000000, float noundef 0x3FC72906A0000000, float noundef 0x3FA3FE6A00000000)
          to label %456 unwind label %828

456:                                              ; preds = %454
  %457 = getelementptr inbounds i8, ptr %17, i64 640
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %457, float noundef 0xBFA27D9940000000, float noundef 0xBFC3140460000000, float noundef 0xBFD9ECDEC0000000)
          to label %458 unwind label %828

458:                                              ; preds = %456
  %459 = getelementptr inbounds i8, ptr %17, i64 656
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %459, float noundef 0xBFA0324780000000, float noundef 0x3FC5F1DCC0000000, float noundef 0x3FC10738A0000000)
          to label %460 unwind label %828

460:                                              ; preds = %458
  %461 = getelementptr inbounds i8, ptr %17, i64 672
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %461, float noundef 0xBF97194F80000000, float noundef 0xBF92696D80000000, float noundef 0x3FD5AF6880000000)
          to label %462 unwind label %828

462:                                              ; preds = %460
  %463 = getelementptr inbounds i8, ptr %17, i64 688
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %463, float noundef 0xBF85C10CE0000000, float noundef 0xBFBE1E15C0000000, float noundef 0xBFD97657A0000000)
          to label %464 unwind label %828

464:                                              ; preds = %462
  %465 = getelementptr inbounds i8, ptr %17, i64 704
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %465, float noundef 0x3EFD598220000000, float noundef 0xBFC8404080000000, float noundef 0xBFD90F3760000000)
          to label %466 unwind label %828

466:                                              ; preds = %464
  %467 = getelementptr inbounds i8, ptr %17, i64 720
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %467, float noundef 0x3F5F45E0C0000000, float noundef 0xBFC55D6600000000, float noundef 0xBFD9D0E180000000)
          to label %468 unwind label %828

468:                                              ; preds = %466
  %469 = getelementptr inbounds i8, ptr %17, i64 736
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %469, float noundef 0x3F97EF5CA0000000, float noundef 0xBFA03BAE60000000, float noundef 0x3FD8825240000000)
          to label %470 unwind label %828

470:                                              ; preds = %468
  %471 = getelementptr inbounds i8, ptr %17, i64 752
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %471, float noundef 0x3F9B8B6800000000, float noundef 0xBF9FDC5120000000, float noundef 0x3FD8BB2A20000000)
          to label %472 unwind label %828

472:                                              ; preds = %470
  %473 = getelementptr inbounds i8, ptr %17, i64 768
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %473, float noundef 0x3FA1FDCAA0000000, float noundef 0xBFB9139D20000000, float noundef 0xBFD8CA06A0000000)
          to label %474 unwind label %828

474:                                              ; preds = %472
  %475 = getelementptr inbounds i8, ptr %17, i64 784
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %475, float noundef 0x3FA531E660000000, float noundef 0xBFC81F3440000000, float noundef 0xBFD47D7540000000)
          to label %476 unwind label %828

476:                                              ; preds = %474
  %477 = getelementptr inbounds i8, ptr %17, i64 800
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %477, float noundef 0x3FA8CCFB20000000, float noundef 0x3FC0571B60000000, float noundef 0xBFB8C68F20000000)
          to label %478 unwind label %828

478:                                              ; preds = %476
  %479 = getelementptr inbounds i8, ptr %17, i64 816
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %479, float noundef 0x3FA6CEDDA0000000, float noundef 0xBFC29C76E0000000, float noundef 0xBFD8B2BF60000000)
          to label %480 unwind label %828

480:                                              ; preds = %478
  %481 = getelementptr inbounds i8, ptr %17, i64 832
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %481, float noundef 0x3FA80480E0000000, float noundef 0xBFC6822340000000, float noundef 0xBFD86EEF20000000)
          to label %482 unwind label %828

482:                                              ; preds = %480
  %483 = getelementptr inbounds i8, ptr %17, i64 848
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %483, float noundef 0x3FA9DE11C0000000, float noundef 0xBFC8339E80000000, float noundef 0xBFD6A9DB60000000)
          to label %484 unwind label %828

484:                                              ; preds = %482
  %485 = getelementptr inbounds i8, ptr %17, i64 864
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %485, float noundef 0x3FB2402740000000, float noundef 0xBF9CBDB000000000, float noundef 0x3FDAAD8660000000)
          to label %486 unwind label %828

486:                                              ; preds = %484
  %487 = getelementptr inbounds i8, ptr %17, i64 880
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %487, float noundef 0x3FB3749400000000, float noundef 0x3F99C51D00000000, float noundef 0x3FDBC3C200000000)
          to label %488 unwind label %828

488:                                              ; preds = %486
  %489 = getelementptr inbounds i8, ptr %17, i64 896
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %489, float noundef 0x3FB5522920000000, float noundef 0xBFC736A520000000, float noundef 0xBFD4DB5AE0000000)
          to label %490 unwind label %828

490:                                              ; preds = %488
  %491 = getelementptr inbounds i8, ptr %17, i64 912
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %491, float noundef 0x3FB59D7C20000000, float noundef 0x3FB283D3E0000000, float noundef 0x3FD83DCA80000000)
          to label %492 unwind label %828

492:                                              ; preds = %490
  %493 = getelementptr inbounds i8, ptr %17, i64 928
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %493, float noundef 0x3FB73B0060000000, float noundef 0xBFC38C6660000000, float noundef 0xBFD70ABB40000000)
          to label %494 unwind label %828

494:                                              ; preds = %492
  %495 = getelementptr inbounds i8, ptr %17, i64 944
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %495, float noundef 0x3FB803F4A0000000, float noundef 0xBFA93F8000000000, float noundef 0xBFD51E8EA0000000)
          to label %496 unwind label %828

496:                                              ; preds = %494
  %497 = getelementptr inbounds i8, ptr %17, i64 960
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %497, float noundef 0x3FB7EED9C0000000, float noundef 0xBFC6BE31E0000000, float noundef 0xBFD58BD940000000)
          to label %498 unwind label %828

498:                                              ; preds = %496
  %499 = getelementptr inbounds i8, ptr %17, i64 976
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %499, float noundef 0x3FB7AC4C20000000, float noundef 0xBF8B377BC0000000, float noundef 0x3FDC4E32C0000000)
          to label %500 unwind label %828

500:                                              ; preds = %498
  %501 = getelementptr inbounds i8, ptr %17, i64 992
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %501, float noundef 0x3FB7F8FDE0000000, float noundef 0x3FA23717E0000000, float noundef 0x3FDC485AC0000000)
          to label %502 unwind label %828

502:                                              ; preds = %500
  %503 = getelementptr inbounds i8, ptr %17, i64 1008
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %503, float noundef 0x3FB89AAEA0000000, float noundef 0xBF88A53C00000000, float noundef 0x3FDC61A380000000)
          to label %504 unwind label %828

504:                                              ; preds = %502
  %505 = getelementptr inbounds i8, ptr %17, i64 1024
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %505, float noundef 0x3FB8BC3200000000, float noundef 0x3FA1B2D580000000, float noundef 0x3FDC5E65C0000000)
          to label %506 unwind label %828

506:                                              ; preds = %504
  %507 = getelementptr inbounds i8, ptr %17, i64 1040
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %507, float noundef 0x3FBAD5BB00000000, float noundef 0x3FC067F4A0000000, float noundef 0x3FD16C72C0000000)
          to label %508 unwind label %828

508:                                              ; preds = %506
  %509 = getelementptr inbounds i8, ptr %17, i64 1056
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %509, float noundef 0x3FBCDAEA00000000, float noundef 0x3FC03CD980000000, float noundef 0x3FD1303200000000)
          to label %510 unwind label %828

510:                                              ; preds = %508
  %511 = getelementptr inbounds i8, ptr %17, i64 1072
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %511, float noundef 0x3FBC0CE7A0000000, float noundef 0x3FA3A66FE0000000, float noundef 0x3FDBCFD280000000)
          to label %512 unwind label %828

512:                                              ; preds = %510
  %513 = getelementptr inbounds i8, ptr %17, i64 1088
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %513, float noundef 0x3FBC891040000000, float noundef 0xBF8A4E53C0000000, float noundef 0x3FDAF50A60000000)
          to label %514 unwind label %828

514:                                              ; preds = %512
  %515 = getelementptr inbounds i8, ptr %17, i64 1104
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %515, float noundef 0x3FBC633D60000000, float noundef 0x3F6EE72BA0000000, float noundef 0x3FDCAA61C0000000)
          to label %516 unwind label %828

516:                                              ; preds = %514
  %517 = getelementptr inbounds i8, ptr %17, i64 1120
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %517, float noundef 0x3FBD9F52C0000000, float noundef 0xBFBFEEFAC0000000, float noundef 0xBFD63F8E40000000)
          to label %518 unwind label %828

518:                                              ; preds = %516
  %519 = getelementptr inbounds i8, ptr %17, i64 1136
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %519, float noundef 0x3FBF3087C0000000, float noundef 0xBFC50150C0000000, float noundef 0xBFD3638E60000000)
          to label %520 unwind label %828

520:                                              ; preds = %518
  %521 = getelementptr inbounds i8, ptr %17, i64 1152
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %521, float noundef 0x3FBF430F00000000, float noundef 0x3F8682CD00000000, float noundef 0x3FDC661D60000000)
          to label %522 unwind label %828

522:                                              ; preds = %520
  %523 = getelementptr inbounds i8, ptr %17, i64 1168
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %523, float noundef 0x3FBF8299C0000000, float noundef 0x3F8AEF5360000000, float noundef 0x3FDC5AB2C0000000)
          to label %524 unwind label %828

524:                                              ; preds = %522
  %525 = getelementptr inbounds i8, ptr %17, i64 1184
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %525, float noundef 0x3FC0C17E40000000, float noundef 0xBFC34FB060000000, float noundef 0xBFD3DC3440000000)
          to label %526 unwind label %828

526:                                              ; preds = %524
  %527 = getelementptr inbounds i8, ptr %17, i64 1200
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %527, float noundef 0x3FC277C220000000, float noundef 0x3FB908BFA0000000, float noundef 0x3FD3B3FBC0000000)
          to label %528 unwind label %828

528:                                              ; preds = %526
  %529 = getelementptr inbounds i8, ptr %17, i64 1216
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %529, float noundef 0x3FC22D2380000000, float noundef 0x3F8D1499E0000000, float noundef 0x3FDABDC800000000)
          to label %530 unwind label %828

530:                                              ; preds = %528
  %531 = getelementptr inbounds i8, ptr %17, i64 1232
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %531, float noundef 0x3FC2767C80000000, float noundef 0x3FB1D97F80000000, float noundef 0x3FD7EBEDA0000000)
          to label %532 unwind label %828

532:                                              ; preds = %530
  %533 = getelementptr inbounds i8, ptr %17, i64 1248
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %533, float noundef 0x3FC275ED20000000, float noundef 0x3F96CE7F60000000, float noundef 0x3FDAB2EB40000000)
          to label %534 unwind label %828

534:                                              ; preds = %532
  %535 = getelementptr inbounds i8, ptr %17, i64 1264
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %535, float noundef 0x3FC35ED6E0000000, float noundef 0xBFA3C565E0000000, float noundef 0xBFD185FCC0000000)
          to label %536 unwind label %828

536:                                              ; preds = %534
  %537 = getelementptr inbounds i8, ptr %17, i64 1280
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %537, float noundef 0x3FC2DDA700000000, float noundef 0x3FB1D9B280000000, float noundef 0x3FD7BEB320000000)
          to label %538 unwind label %828

538:                                              ; preds = %536
  %539 = getelementptr inbounds i8, ptr %17, i64 1296
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %539, float noundef 0x3FC3596DA0000000, float noundef 0xBFC0A7E0E0000000, float noundef 0xBFD135F3E0000000)
          to label %540 unwind label %828

540:                                              ; preds = %538
  %541 = getelementptr inbounds i8, ptr %17, i64 1312
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %541, float noundef 0x3FC3C0FAA0000000, float noundef 0xBFA9EEE0C0000000, float noundef 0xBFD1B9CD00000000)
          to label %542 unwind label %828

542:                                              ; preds = %540
  %543 = getelementptr inbounds i8, ptr %17, i64 1328
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %543, float noundef 0x3FC60E9360000000, float noundef 0x3FB9523520000000, float noundef 0xBFA50A8C40000000)
          to label %544 unwind label %828

544:                                              ; preds = %542
  %545 = getelementptr inbounds i8, ptr %17, i64 1344
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %545, float noundef 0x3FC3D29920000000, float noundef 0x3F9F8C1A80000000, float noundef 0x3FD92C7060000000)
          to label %546 unwind label %828

546:                                              ; preds = %544
  %547 = getelementptr inbounds i8, ptr %17, i64 1360
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %547, float noundef 0x3FC4DB2D00000000, float noundef 0x3FB98AED00000000, float noundef 0x3FCD9C3BA0000000)
          to label %548 unwind label %828

548:                                              ; preds = %546
  %549 = getelementptr inbounds i8, ptr %17, i64 1376
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %549, float noundef 0x3FC61DB140000000, float noundef 0x3FAE56E840000000, float noundef 0xBFC0DA59C0000000)
          to label %550 unwind label %828

550:                                              ; preds = %548
  %551 = getelementptr inbounds i8, ptr %17, i64 1392
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %551, float noundef 0x3FC6335240000000, float noundef 0x3FB17299E0000000, float noundef 0x3FD3128420000000)
          to label %552 unwind label %828

552:                                              ; preds = %550
  %553 = getelementptr inbounds i8, ptr %17, i64 1408
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %553, float noundef 0x3FC77BBA80000000, float noundef 0x3F9EBFFB80000000, float noundef 0xBFC5B05A00000000)
          to label %554 unwind label %828

554:                                              ; preds = %552
  %555 = getelementptr inbounds i8, ptr %17, i64 1424
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %555, float noundef 0x3FC7A5F980000000, float noundef 0xBFA11620E0000000, float noundef 0xBFCB109AE0000000)
          to label %556 unwind label %828

556:                                              ; preds = %554
  %557 = getelementptr inbounds i8, ptr %17, i64 1440
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %557, float noundef 0x3FC73C71C0000000, float noundef 0x3FA9FFBB40000000, float noundef 0x3FD2D2AA40000000)
          to label %558 unwind label %828

558:                                              ; preds = %556
  %559 = getelementptr inbounds i8, ptr %17, i64 1456
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %559, float noundef 0x3FC8280420000000, float noundef 0x3FB58D8D80000000, float noundef 0x3FC7E9B620000000)
          to label %560 unwind label %828

560:                                              ; preds = %558
  %561 = getelementptr inbounds i8, ptr %17, i64 1472
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %561, float noundef 0x3FC8D5A6E0000000, float noundef 0x3FA0059A80000000, float noundef 0xBFC2BF23E0000000)
          to label %562 unwind label %828

562:                                              ; preds = %560
  %563 = getelementptr inbounds i8, ptr %17, i64 1488
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %563, float noundef 0x3FC9FBDF00000000, float noundef 0x3FB0839920000000, float noundef 0xBFAB412EC0000000)
          to label %564 unwind label %828

564:                                              ; preds = %562
  %565 = getelementptr inbounds i8, ptr %17, i64 1504
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %565, float noundef 0xBFCAC5F160000000, float noundef 0xBFC28996E0000000, float noundef 0xBFD2672AA0000000)
          to label %566 unwind label %828

566:                                              ; preds = %564
  %567 = getelementptr inbounds i8, ptr %17, i64 1520
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %567, float noundef 0xBFCC0C3D00000000, float noundef 0xBFBF7B49A0000000, float noundef 0xBFD08BDA60000000)
          to label %568 unwind label %828

568:                                              ; preds = %566
  %569 = getelementptr inbounds i8, ptr %17, i64 1536
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %569, float noundef 0xBFCC057CE0000000, float noundef 0xBFBD6B6B80000000, float noundef 0xBFD3CE4C20000000)
          to label %570 unwind label %828

570:                                              ; preds = %568
  %571 = getelementptr inbounds i8, ptr %17, i64 1552
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %571, float noundef 0xBFCCCDCA80000000, float noundef 0xBFB94561E0000000, float noundef 0xBFD14CE7C0000000)
          to label %572 unwind label %828

572:                                              ; preds = %570
  %573 = getelementptr inbounds i8, ptr %17, i64 1568
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %573, float noundef 0xBFCCCDCA80000000, float noundef 0xBFB94561E0000000, float noundef 0xBFD14CE7C0000000)
          to label %574 unwind label %828

574:                                              ; preds = %572
  %575 = getelementptr inbounds i8, ptr %17, i64 1584
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %575, float noundef 0xBFCCCDCA80000000, float noundef 0xBFB94561E0000000, float noundef 0xBFD14CE7C0000000)
          to label %576 unwind label %828

576:                                              ; preds = %574
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #9
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %377, ptr nonnull %17, i64 100, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %577 unwind label %830

577:                                              ; preds = %576
  %578 = getelementptr inbounds i8, ptr %2, i64 192
  call void @llvm.lifetime.start.p0(i64 960, ptr nonnull %19) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %19, float noundef 0x3FD23ACCA0000000, float noundef 0x3FB83E6A00000000, float noundef 0x3FBD44C4A0000000)
          to label %579 unwind label %832

579:                                              ; preds = %577
  %580 = getelementptr inbounds i8, ptr %19, i64 16
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %580, float noundef 0x3FD35DD9E0000000, float noundef 0x3FB2CAE920000000, float noundef 0x3F81649980000000)
          to label %581 unwind label %832

581:                                              ; preds = %579
  %582 = getelementptr inbounds i8, ptr %19, i64 32
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %582, float noundef 0x3FD3718100000000, float noundef 0x3FAC951DE0000000, float noundef 0xBFCCADC4A0000000)
          to label %583 unwind label %832

583:                                              ; preds = %581
  %584 = getelementptr inbounds i8, ptr %19, i64 48
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %584, float noundef 0x3FD3A121E0000000, float noundef 0x3F9C72E520000000, float noundef 0xBFCCB10260000000)
          to label %585 unwind label %832

585:                                              ; preds = %583
  %586 = getelementptr inbounds i8, ptr %19, i64 64
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %586, float noundef 0xBFD30CEC00000000, float noundef 0xBFB09EEEA0000000, float noundef 0xBFC87E3040000000)
          to label %587 unwind label %832

587:                                              ; preds = %585
  %588 = getelementptr inbounds i8, ptr %19, i64 80
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %588, float noundef 0xBFD220C440000000, float noundef 0x3F9D3FBE00000000, float noundef 0x3FC531BE00000000)
          to label %589 unwind label %832

589:                                              ; preds = %587
  %590 = getelementptr inbounds i8, ptr %19, i64 96
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %590, float noundef 0xBFD17F5940000000, float noundef 0x3FBCCED000000000, float noundef 0xBFC1AE11C0000000)
          to label %591 unwind label %832

591:                                              ; preds = %589
  %592 = getelementptr inbounds i8, ptr %19, i64 112
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %592, float noundef 0xBFD0D90660000000, float noundef 0xBFA1D68AC0000000, float noundef 0x3FD6568BC0000000)
          to label %593 unwind label %832

593:                                              ; preds = %591
  %594 = getelementptr inbounds i8, ptr %19, i64 128
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %594, float noundef 0xBFD15B2380000000, float noundef 0xBFC33ED600000000, float noundef 0xBFB076F240000000)
          to label %595 unwind label %832

595:                                              ; preds = %593
  %596 = getelementptr inbounds i8, ptr %19, i64 144
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %596, float noundef 0xBFD0AAA280000000, float noundef 0x3FBAC9E6A0000000, float noundef 0xBFCA9E5E80000000)
          to label %597 unwind label %832

597:                                              ; preds = %595
  %598 = getelementptr inbounds i8, ptr %19, i64 160
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %598, float noundef 0xBFCC5C47E0000000, float noundef 0xBF7D2C1580000000, float noundef 0x3FD9D2A240000000)
          to label %599 unwind label %832

599:                                              ; preds = %597
  %600 = getelementptr inbounds i8, ptr %19, i64 176
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %600, float noundef 0xBFC99E1180000000, float noundef 0x3FC1A87C00000000, float noundef 0xBFCE93EB60000000)
          to label %601 unwind label %832

601:                                              ; preds = %599
  %602 = getelementptr inbounds i8, ptr %19, i64 192
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %602, float noundef 0xBFC8CAB5A0000000, float noundef 0x3FA58CAD20000000, float noundef 0x3FDAF67C40000000)
          to label %603 unwind label %832

603:                                              ; preds = %601
  %604 = getelementptr inbounds i8, ptr %19, i64 208
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %604, float noundef 0xBFC7423E00000000, float noundef 0xBFBA08F340000000, float noundef 0x3FD868C9E0000000)
          to label %605 unwind label %832

605:                                              ; preds = %603
  %606 = getelementptr inbounds i8, ptr %19, i64 224
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %606, float noundef 0xBFC7F7B260000000, float noundef 0x3FC8508CC0000000, float noundef 0x3FB5D15700000000)
          to label %607 unwind label %832

607:                                              ; preds = %605
  %608 = getelementptr inbounds i8, ptr %19, i64 240
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %608, float noundef 0xBFC65FA480000000, float noundef 0xBFACA89920000000, float noundef 0x3FDA46F0C0000000)
          to label %609 unwind label %832

609:                                              ; preds = %607
  %610 = getelementptr inbounds i8, ptr %19, i64 256
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %610, float noundef 0xBFC33755E0000000, float noundef 0x3FB6011360000000, float noundef 0x3FDC1B0000000000)
          to label %611 unwind label %832

611:                                              ; preds = %609
  %612 = getelementptr inbounds i8, ptr %19, i64 272
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %612, float noundef 0xBFBE0234C0000000, float noundef 0xBFBA5D3C40000000, float noundef 0xBFD362AF40000000)
          to label %613 unwind label %832

613:                                              ; preds = %611
  %614 = getelementptr inbounds i8, ptr %19, i64 288
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %614, float noundef 0xBFBCB77960000000, float noundef 0x3F7869A0E0000000, float noundef 0x3FDC3EE4E0000000)
          to label %615 unwind label %832

615:                                              ; preds = %613
  %616 = getelementptr inbounds i8, ptr %19, i64 304
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %616, float noundef 0xBFBDF9CCC0000000, float noundef 0x3FCD749BE0000000, float noundef 0x3FBEDC6880000000)
          to label %617 unwind label %832

617:                                              ; preds = %615
  %618 = getelementptr inbounds i8, ptr %19, i64 320
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %618, float noundef 0xBFBB67EFE0000000, float noundef 0x3FC4315B20000000, float noundef 0xBFD5637EC0000000)
          to label %619 unwind label %832

619:                                              ; preds = %617
  %620 = getelementptr inbounds i8, ptr %19, i64 336
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %620, float noundef 0xBFB6285260000000, float noundef 0x3FB9264F40000000, float noundef 0x3FDBEFF120000000)
          to label %621 unwind label %832

621:                                              ; preds = %619
  %622 = getelementptr inbounds i8, ptr %19, i64 352
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %622, float noundef 0xBFB581ED80000000, float noundef 0x3FB630F3A0000000, float noundef 0xBFDA4FBC40000000)
          to label %623 unwind label %832

623:                                              ; preds = %621
  %624 = getelementptr inbounds i8, ptr %19, i64 368
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %624, float noundef 0xBFB48C3D40000000, float noundef 0xBFCF9C32A0000000, float noundef 0xBF89278D40000000)
          to label %625 unwind label %832

625:                                              ; preds = %623
  %626 = getelementptr inbounds i8, ptr %19, i64 384
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %626, float noundef 0xBFB01CE3C0000000, float noundef 0x3FC036A2C0000000, float noundef 0xBFD912F7C0000000)
          to label %627 unwind label %832

627:                                              ; preds = %625
  %628 = getelementptr inbounds i8, ptr %19, i64 400
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %628, float noundef 0xBFAB2E7840000000, float noundef 0xBFB3C62440000000, float noundef 0xBFD7E6E000000000)
          to label %629 unwind label %832

629:                                              ; preds = %627
  %630 = getelementptr inbounds i8, ptr %19, i64 416
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %630, float noundef 0xBFA8EE1600000000, float noundef 0xBFCE85F1C0000000, float noundef 0xBFBC8E1E60000000)
          to label %631 unwind label %832

631:                                              ; preds = %629
  %632 = getelementptr inbounds i8, ptr %19, i64 432
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %632, float noundef 0xBFA66916E0000000, float noundef 0x3FB03F73E0000000, float noundef 0x3FDC541700000000)
          to label %633 unwind label %832

633:                                              ; preds = %631
  %634 = getelementptr inbounds i8, ptr %19, i64 448
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %634, float noundef 0xBFA390FDC0000000, float noundef 0x3FAD931940000000, float noundef 0xBFDBBB58E0000000)
          to label %635 unwind label %832

635:                                              ; preds = %633
  %636 = getelementptr inbounds i8, ptr %19, i64 464
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %636, float noundef 0xBF8CB28C80000000, float noundef 0xBFB4187E20000000, float noundef 0x3FD7B0D8C0000000)
          to label %637 unwind label %832

637:                                              ; preds = %635
  %638 = getelementptr inbounds i8, ptr %19, i64 480
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %638, float noundef 0xBF89F69680000000, float noundef 0xBFCF2394A0000000, float noundef 0xBFB934D800000000)
          to label %639 unwind label %832

639:                                              ; preds = %637
  %640 = getelementptr inbounds i8, ptr %19, i64 496
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %640, float noundef 0xBF81DBC940000000, float noundef 0xBFCF66C900000000, float noundef 0xBF87BB0240000000)
          to label %641 unwind label %832

641:                                              ; preds = %639
  %642 = getelementptr inbounds i8, ptr %19, i64 512
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %642, float noundef 0x3F7905EDE0000000, float noundef 0x3FCA561EA0000000, float noundef 0xBFD4B66BC0000000)
          to label %643 unwind label %832

643:                                              ; preds = %641
  %644 = getelementptr inbounds i8, ptr %19, i64 528
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %644, float noundef 0x3F9364C6E0000000, float noundef 0xBF9B014A60000000, float noundef 0xBFDC392E80000000)
          to label %645 unwind label %832

645:                                              ; preds = %643
  %646 = getelementptr inbounds i8, ptr %19, i64 544
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %646, float noundef 0x3FA32918E0000000, float noundef 0x3FD05DCF40000000, float noundef 0x3FBEA8A820000000)
          to label %647 unwind label %832

647:                                              ; preds = %645
  %648 = getelementptr inbounds i8, ptr %19, i64 560
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %648, float noundef 0x3FA769C7E0000000, float noundef 0xBF991BFB00000000, float noundef 0x3FD81044A0000000)
          to label %649 unwind label %832

649:                                              ; preds = %647
  %650 = getelementptr inbounds i8, ptr %19, i64 576
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %650, float noundef 0x3FA89FF0C0000000, float noundef 0x3FBD380BE0000000, float noundef 0x3FD87A7D60000000)
          to label %651 unwind label %832

651:                                              ; preds = %649
  %652 = getelementptr inbounds i8, ptr %19, i64 592
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %652, float noundef 0x3FA9433B40000000, float noundef 0xBF9333A6A0000000, float noundef 0xBFDBE97EC0000000)
          to label %653 unwind label %832

653:                                              ; preds = %651
  %654 = getelementptr inbounds i8, ptr %19, i64 608
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %654, float noundef 0x3FB41B7560000000, float noundef 0x3FC1170D40000000, float noundef 0x3FD61AFDC0000000)
          to label %655 unwind label %832

655:                                              ; preds = %653
  %656 = getelementptr inbounds i8, ptr %19, i64 624
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %656, float noundef 0x3FBC530540000000, float noundef 0x3FA1242720000000, float noundef 0x3FD54B4B80000000)
          to label %657 unwind label %832

657:                                              ; preds = %655
  %658 = getelementptr inbounds i8, ptr %19, i64 640
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %658, float noundef 0x3FBC719320000000, float noundef 0x3FA490A2A0000000, float noundef 0xBFDB1C64C0000000)
          to label %659 unwind label %832

659:                                              ; preds = %657
  %660 = getelementptr inbounds i8, ptr %19, i64 656
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %660, float noundef 0x3FBFB81FE0000000, float noundef 0xBFC9E540C0000000, float noundef 0xBF90619CA0000000)
          to label %661 unwind label %832

661:                                              ; preds = %659
  %662 = getelementptr inbounds i8, ptr %19, i64 672
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %662, float noundef 0x3FC0BF0740000000, float noundef 0xBFC9667660000000, float noundef 0xBFB6082720000000)
          to label %663 unwind label %832

663:                                              ; preds = %661
  %664 = getelementptr inbounds i8, ptr %19, i64 688
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %664, float noundef 0x3FC013A800000000, float noundef 0xBF9A3F3DA0000000, float noundef 0xBFD8543040000000)
          to label %665 unwind label %832

665:                                              ; preds = %663
  %666 = getelementptr inbounds i8, ptr %19, i64 704
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %666, float noundef 0x3FC08B22C0000000, float noundef 0x3FC4BE87E0000000, float noundef 0xBFD654EE00000000)
          to label %667 unwind label %832

667:                                              ; preds = %665
  %668 = getelementptr inbounds i8, ptr %19, i64 720
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %668, float noundef 0x3FC40707E0000000, float noundef 0x3FCB752C00000000, float noundef 0x3FC54707A0000000)
          to label %669 unwind label %832

669:                                              ; preds = %667
  %670 = getelementptr inbounds i8, ptr %19, i64 736
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %670, float noundef 0x3FC6D97B80000000, float noundef 0xBFC203E8A0000000, float noundef 0x3FB5933680000000)
          to label %671 unwind label %832

671:                                              ; preds = %669
  %672 = getelementptr inbounds i8, ptr %19, i64 752
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %672, float noundef 0x3FC8D57680000000, float noundef 0xBFC391AE40000000, float noundef 0xBFA0C14E20000000)
          to label %673 unwind label %832

673:                                              ; preds = %671
  %674 = getelementptr inbounds i8, ptr %19, i64 768
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %674, float noundef 0x3FC9BB1600000000, float noundef 0x3FB6494CE0000000, float noundef 0xBFD8440560000000)
          to label %675 unwind label %832

675:                                              ; preds = %673
  %676 = getelementptr inbounds i8, ptr %19, i64 784
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %676, float noundef 0x3FCA5D1E40000000, float noundef 0x3FB0E80060000000, float noundef 0xBFD8E043E0000000)
          to label %677 unwind label %832

677:                                              ; preds = %675
  %678 = getelementptr inbounds i8, ptr %19, i64 800
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %678, float noundef 0x3FD0B1D140000000, float noundef 0x3FB6476900000000, float noundef 0xBFD4CDF600000000)
          to label %679 unwind label %832

679:                                              ; preds = %677
  %680 = getelementptr inbounds i8, ptr %19, i64 816
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %680, float noundef 0x3FD17DEA00000000, float noundef 0x3FC3D64320000000, float noundef 0x3FBCD32520000000)
          to label %681 unwind label %832

681:                                              ; preds = %679
  %682 = getelementptr inbounds i8, ptr %19, i64 832
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %682, float noundef 0x3FD173D480000000, float noundef 0x3FA30A9360000000, float noundef 0xBFD474AAE0000000)
          to label %683 unwind label %832

683:                                              ; preds = %681
  %684 = getelementptr inbounds i8, ptr %19, i64 848
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %684, float noundef 0x3FD176ECA0000000, float noundef 0x3FAFD5B9C0000000, float noundef 0xBFD5294E20000000)
          to label %685 unwind label %832

685:                                              ; preds = %683
  %686 = getelementptr inbounds i8, ptr %19, i64 864
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %686, float noundef 0xBFD2C2D340000000, float noundef 0xBFC7246B20000000, float noundef 0x3FCF2B94E0000000)
          to label %687 unwind label %832

687:                                              ; preds = %685
  %688 = getelementptr inbounds i8, ptr %19, i64 880
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %688, float noundef 0xBFD3BB6580000000, float noundef 0xBFB1CC7400000000, float noundef 0x3FB2CAAF60000000)
          to label %689 unwind label %832

689:                                              ; preds = %687
  %690 = getelementptr inbounds i8, ptr %19, i64 896
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %690, float noundef 0xBFD347E3A0000000, float noundef 0xBFC7820D40000000, float noundef 0x3FCD340FC0000000)
          to label %691 unwind label %832

691:                                              ; preds = %689
  %692 = getelementptr inbounds i8, ptr %19, i64 912
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %692, float noundef 0xBFD3736EE0000000, float noundef 0xBFC7001FA0000000, float noundef 0x3FCD12E5C0000000)
          to label %693 unwind label %832

693:                                              ; preds = %691
  %694 = getelementptr inbounds i8, ptr %19, i64 928
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %694, float noundef 0xBFD3736EE0000000, float noundef 0xBFC7001FA0000000, float noundef 0x3FCD12E5C0000000)
          to label %695 unwind label %832

695:                                              ; preds = %693
  %696 = getelementptr inbounds i8, ptr %19, i64 944
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %696, float noundef 0xBFD3736EE0000000, float noundef 0xBFC7001FA0000000, float noundef 0x3FCD12E5C0000000)
          to label %697 unwind label %832

697:                                              ; preds = %695
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #9
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %578, ptr nonnull %19, i64 60, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %698 unwind label %834

698:                                              ; preds = %697
  %699 = getelementptr inbounds i8, ptr %2, i64 216
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %21) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %21, float noundef 0xBF7CFC8D00000000, float noundef 0x3F76EB8000000000, float noundef 0xBF988DAE80000000)
          to label %700 unwind label %836

700:                                              ; preds = %698
  %701 = getelementptr inbounds i8, ptr %21, i64 16
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %701, float noundef 0x3F8BE51880000000, float noundef 0x3F7630B000000000, float noundef 0xBF97175BE0000000)
          to label %702 unwind label %836

702:                                              ; preds = %700
  %703 = getelementptr inbounds i8, ptr %21, i64 32
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %703, float noundef 0x3F8BC420C0000000, float noundef 0x3F76EB8000000000, float noundef 0xBF96F60000000000)
          to label %704 unwind label %836

704:                                              ; preds = %702
  %705 = getelementptr inbounds i8, ptr %21, i64 48
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %705, float noundef 0xBF8629CD80000000, float noundef 0x3F76EB8000000000, float noundef 0xBF96EE53A0000000)
          to label %706 unwind label %836

706:                                              ; preds = %704
  %707 = getelementptr inbounds i8, ptr %21, i64 64
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %707, float noundef 0x3F8C1A9E40000000, float noundef 0x3F76EB8000000000, float noundef 0xBF969FD580000000)
          to label %708 unwind label %836

708:                                              ; preds = %706
  %709 = getelementptr inbounds i8, ptr %21, i64 80
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %709, float noundef 0x3F68AC1D80000000, float noundef 0xBF97DA7000000000, float noundef 0xBF9602B840000000)
          to label %710 unwind label %836

710:                                              ; preds = %708
  %711 = getelementptr inbounds i8, ptr %21, i64 96
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %711, float noundef 0x3F91C418C0000000, float noundef 0x3F76EB8000000000, float noundef 0x3F98C03F80000000)
          to label %712 unwind label %836

712:                                              ; preds = %710
  %713 = getelementptr inbounds i8, ptr %21, i64 112
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %713, float noundef 0x3F7002E200000000, float noundef 0xBFA2D86C00000000, float noundef 0x3FABB7CF40000000)
          to label %714 unwind label %836

714:                                              ; preds = %712
  %715 = getelementptr inbounds i8, ptr %21, i64 128
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %715, float noundef 0xBF90D734C0000000, float noundef 0x3F76EB8000000000, float noundef 0x3FAF1A9600000000)
          to label %716 unwind label %836

716:                                              ; preds = %714
  %717 = getelementptr inbounds i8, ptr %21, i64 144
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %717, float noundef 0xBF91655940000000, float noundef 0x3F76EB8000000000, float noundef 0x3FAF237400000000)
          to label %718 unwind label %836

718:                                              ; preds = %716
  %719 = getelementptr inbounds i8, ptr %21, i64 160
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %719, float noundef 0xBF91488640000000, float noundef 0x3F75A93000000000, float noundef 0x3FAF668F80000000)
          to label %720 unwind label %836

720:                                              ; preds = %718
  %721 = getelementptr inbounds i8, ptr %21, i64 176
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %721, float noundef 0xBF7B304760000000, float noundef 0x3F76EB8000000000, float noundef 0xBF98BC0DC0000000)
          to label %722 unwind label %836

722:                                              ; preds = %720
  %723 = getelementptr inbounds i8, ptr %21, i64 192
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %723, float noundef 0xBF74C76880000000, float noundef 0x3F76EB8000000000, float noundef 0xBF98CAD800000000)
          to label %724 unwind label %836

724:                                              ; preds = %722
  %725 = getelementptr inbounds i8, ptr %21, i64 208
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %725, float noundef 0xBF772E62C0000000, float noundef 0x3F738A9000000000, float noundef 0xBF98F85680000000)
          to label %726 unwind label %836

726:                                              ; preds = %724
  %727 = getelementptr inbounds i8, ptr %21, i64 224
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %727, float noundef 0x3F882E94C0000000, float noundef 0x3F545DC000000000, float noundef 0xBF9A77B380000000)
          to label %728 unwind label %836

728:                                              ; preds = %726
  %729 = getelementptr inbounds i8, ptr %21, i64 240
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %729, float noundef 0x3F819E2E00000000, float noundef 0xBF7C96F000000000, float noundef 0xBF9C5631C0000000)
          to label %730 unwind label %836

730:                                              ; preds = %728
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %22) #9
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %699, ptr nonnull %21, i64 16, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %731 unwind label %838

731:                                              ; preds = %730
  %732 = getelementptr inbounds i8, ptr %2, i64 240
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %23) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %23, float noundef 0x3FC08DBC60000000, float noundef 0xBFCB4E1180000000, float noundef 0x3F8276F200000000)
          to label %733 unwind label %840

733:                                              ; preds = %731
  %734 = getelementptr inbounds i8, ptr %23, i64 16
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %734, float noundef 0x3FC08B4EC0000000, float noundef 0xBFCB51E280000000, float noundef 0x3F8316DB80000000)
          to label %735 unwind label %840

735:                                              ; preds = %733
  %736 = getelementptr inbounds i8, ptr %23, i64 32
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %736, float noundef 0x3FC4932DE0000000, float noundef 0xBFC5F50B00000000, float noundef 0x3FA95246C0000000)
          to label %737 unwind label %840

737:                                              ; preds = %735
  %738 = getelementptr inbounds i8, ptr %23, i64 48
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %738, float noundef 0x3FC490E120000000, float noundef 0xBFC5F8B040000000, float noundef 0x3FA97AEBC0000000)
          to label %739 unwind label %840

739:                                              ; preds = %737
  %740 = getelementptr inbounds i8, ptr %23, i64 64
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %740, float noundef 0x3FC2366A60000000, float noundef 0x3FDBB5B5A0000000, float noundef 0x3FD21351C0000000)
          to label %741 unwind label %840

741:                                              ; preds = %739
  %742 = getelementptr inbounds i8, ptr %23, i64 80
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %742, float noundef 0x3FC2458540000000, float noundef 0x3FDBB9FCA0000000, float noundef 0x3FD2215E40000000)
          to label %743 unwind label %840

743:                                              ; preds = %741
  %744 = getelementptr inbounds i8, ptr %23, i64 96
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %744, float noundef 0x3FD2F22D40000000, float noundef 0x3FCD0C3600000000, float noundef 0x3FD404FD00000000)
          to label %745 unwind label %840

745:                                              ; preds = %743
  %746 = getelementptr inbounds i8, ptr %23, i64 112
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %746, float noundef 0x3FD2F52C00000000, float noundef 0x3FCD20FAA0000000, float noundef 0x3FD41222C0000000)
          to label %747 unwind label %840

747:                                              ; preds = %745
  %748 = getelementptr inbounds i8, ptr %23, i64 128
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %748, float noundef 0xBF6D055800000000, float noundef 0xBFC7236100000000, float noundef 0xBFB3826DA0000000)
          to label %749 unwind label %840

749:                                              ; preds = %747
  %750 = getelementptr inbounds i8, ptr %23, i64 144
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %750, float noundef 0xBF6E844000000000, float noundef 0xBFC71D7DC0000000, float noundef 0xBFB3A14080000000)
          to label %751 unwind label %840

751:                                              ; preds = %749
  %752 = getelementptr inbounds i8, ptr %23, i64 160
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %752, float noundef 0xBF90158100000000, float noundef 0xBFC68D2600000000, float noundef 0xBFB5595000000000)
          to label %753 unwind label %840

753:                                              ; preds = %751
  %754 = getelementptr inbounds i8, ptr %23, i64 176
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %754, float noundef 0xBF908DFF00000000, float noundef 0xBFC683D6C0000000, float noundef 0xBFB582DC80000000)
          to label %755 unwind label %840

755:                                              ; preds = %753
  %756 = getelementptr inbounds i8, ptr %23, i64 192
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %756, float noundef 0xBFD5EFDB80000000, float noundef 0x3F9A929500000000, float noundef 0xBFCF481E40000000)
          to label %757 unwind label %840

757:                                              ; preds = %755
  %758 = getelementptr inbounds i8, ptr %23, i64 208
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %758, float noundef 0xBFD5E83740000000, float noundef 0x3F9A470700000000, float noundef 0xBFCF4DF4C0000000)
          to label %759 unwind label %840

759:                                              ; preds = %757
  %760 = getelementptr inbounds i8, ptr %23, i64 224
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %760, float noundef 0xBFD7761D00000000, float noundef 0x3FAC651C00000000, float noundef 0xBFD00147C0000000)
          to label %761 unwind label %840

761:                                              ; preds = %759
  %762 = getelementptr inbounds i8, ptr %23, i64 240
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %762, float noundef 0xBFD7746300000000, float noundef 0x3FAC79F280000000, float noundef 0xBFD0059CA0000000)
          to label %763 unwind label %840

763:                                              ; preds = %761
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %24) #9
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %732, ptr nonnull %23, i64 16, ptr noundef nonnull align 1 dereferenceable(1) %24)
          to label %764 unwind label %842

764:                                              ; preds = %763
  %765 = getelementptr inbounds i8, ptr %2, i64 264
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %25) #9
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %25, float noundef 0xBFA71A6D80000000, float noundef 0xBFBA946200000000, float noundef 0xBFA1BDCA80000000)
          to label %766 unwind label %844

766:                                              ; preds = %764
  %767 = getelementptr inbounds i8, ptr %25, i64 16
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %767, float noundef 0xBF93EC5D00000000, float noundef 0xBFBFA1D7C0000000, float noundef 0xBFA07E2200000000)
          to label %768 unwind label %844

768:                                              ; preds = %766
  %769 = getelementptr inbounds i8, ptr %25, i64 32
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %769, float noundef 0x3FA089F280000000, float noundef 0xBFA7FE9A00000000, float noundef 0xBF9F809300000000)
          to label %770 unwind label %844

770:                                              ; preds = %768
  %771 = getelementptr inbounds i8, ptr %25, i64 48
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %771, float noundef 0x3FA51A5A80000000, float noundef 0xBFB6A682C0000000, float noundef 0xBF9D932A00000000)
          to label %772 unwind label %844

772:                                              ; preds = %770
  %773 = getelementptr inbounds i8, ptr %25, i64 64
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %773, float noundef 0xBFACE7F700000000, float noundef 0x3F953EAF00000000, float noundef 0x3F91569300000000)
          to label %774 unwind label %844

774:                                              ; preds = %772
  %775 = getelementptr inbounds i8, ptr %25, i64 80
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %775, float noundef 0x3F76032800000000, float noundef 0x3FBB0E6920000000, float noundef 0x3FA22F3500000000)
          to label %776 unwind label %844

776:                                              ; preds = %774
  %777 = getelementptr inbounds i8, ptr %25, i64 96
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %777, float noundef 0x3F957E4F00000000, float noundef 0x3FBE24DC60000000, float noundef 0x3FA2B36F00000000)
          to label %778 unwind label %844

778:                                              ; preds = %776
  %779 = getelementptr inbounds i8, ptr %25, i64 112
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %779, float noundef 0x3F95A97500000000, float noundef 0x3FBE591880000000, float noundef 0x3FA337DD80000000)
          to label %780 unwind label %844

780:                                              ; preds = %778
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %26) #9
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %765, ptr nonnull %25, i64 8, ptr noundef nonnull align 1 dereferenceable(1) %26)
          to label %781 unwind label %846

781:                                              ; preds = %780
  %782 = getelementptr inbounds i8, ptr %0, i64 112
  %783 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN3JPH5ArrayINS0_INS_4Vec3ENS_12STLAllocatorIS1_EEEENS2_IS4_EEEaSESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %782, ptr nonnull %2, i64 12)
          to label %784 unwind label %.loopexit208.loopexit

784:                                              ; preds = %781
  %785 = getelementptr inbounds i8, ptr %2, i64 264
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %785) #9
  %786 = getelementptr inbounds i8, ptr %2, i64 240
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %786) #9
  %787 = getelementptr inbounds i8, ptr %2, i64 216
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %787) #9
  %788 = getelementptr inbounds i8, ptr %2, i64 192
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %788) #9
  %789 = getelementptr inbounds i8, ptr %2, i64 168
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %789) #9
  %790 = getelementptr inbounds i8, ptr %2, i64 144
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %790) #9
  %791 = getelementptr inbounds i8, ptr %2, i64 120
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %791) #9
  %792 = getelementptr inbounds i8, ptr %2, i64 96
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %792) #9
  %793 = getelementptr inbounds i8, ptr %2, i64 72
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %793) #9
  %794 = getelementptr inbounds i8, ptr %2, i64 48
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %794) #9
  %795 = getelementptr inbounds i8, ptr %2, i64 24
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %795) #9
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %2) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #9
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %25) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %23) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %21) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #9
  call void @llvm.lifetime.end.p0(i64 960, ptr nonnull %19) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #9
  call void @llvm.lifetime.end.p0(i64 1600, ptr nonnull %17) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #9
  call void @llvm.lifetime.end.p0(i64 448, ptr nonnull %15) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %13) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #9
  call void @llvm.lifetime.end.p0(i64 1312, ptr nonnull %11) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #9
  call void @llvm.lifetime.end.p0(i64 368, ptr nonnull %9) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #9
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %7) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #9
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %5) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #9
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %3) #9
  call void @llvm.lifetime.end.p0(i64 288, ptr nonnull %2) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %27) #9
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #9
  %796 = getelementptr inbounds i8, ptr %30, i64 8
  %797 = getelementptr inbounds i8, ptr %29, i64 8
  %798 = getelementptr inbounds i8, ptr %31, i64 8
  %799 = getelementptr inbounds i8, ptr %28, i64 8
  br label %.preheader206

.preheader206:                                    ; preds = %784, %888
  %.071211 = phi i32 [ 0, %784 ], [ %889, %888 ]
  %800 = uitofp nneg i32 %.071211 to float
  br label %.preheader205

801:                                              ; preds = %888
  invoke void @_ZN3JPH5ArrayINS0_INS_4Vec3ENS_12STLAllocatorIS1_EEEENS2_IS4_EEE9push_backEOS4_(ptr noundef nonnull align 8 dereferenceable(24) %782, ptr noundef nonnull align 8 dereferenceable(24) %27)
          to label %1052 unwind label %1056

.thread:                                          ; preds = %1, %47, %49, %51
  %802 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %3) #9
  br label %.loopexit

.thread195:                                       ; preds = %53
  %803 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #9
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %3) #9
  br label %.loopexit

804:                                              ; preds = %60, %58, %56, %54
  %805 = landingpad { ptr, i32 }
          cleanup
  br label %881

806:                                              ; preds = %62
  %807 = landingpad { ptr, i32 }
          cleanup
  br label %880

808:                                              ; preds = %71, %69, %67, %65, %63
  %809 = landingpad { ptr, i32 }
          cleanup
  br label %879

810:                                              ; preds = %73
  %811 = landingpad { ptr, i32 }
          cleanup
  br label %878

812:                                              ; preds = %118, %116, %114, %112, %110, %108, %106, %104, %102, %100, %98, %96, %94, %92, %90, %88, %86, %84, %82, %80, %78, %76, %74
  %813 = landingpad { ptr, i32 }
          cleanup
  br label %877

814:                                              ; preds = %120
  %815 = landingpad { ptr, i32 }
          cleanup
  br label %876

816:                                              ; preds = %283, %281, %279, %277, %275, %273, %271, %269, %267, %265, %263, %261, %259, %257, %255, %253, %251, %249, %247, %245, %243, %241, %239, %237, %235, %233, %231, %229, %227, %225, %223, %221, %219, %217, %215, %213, %211, %209, %207, %205, %203, %201, %199, %197, %195, %193, %191, %189, %187, %185, %183, %181, %179, %177, %175, %173, %171, %169, %167, %165, %163, %161, %159, %157, %155, %153, %151, %149, %147, %145, %143, %141, %139, %137, %135, %133, %131, %129, %127, %125, %123, %121
  %817 = landingpad { ptr, i32 }
          cleanup
  br label %875

818:                                              ; preds = %285
  %819 = landingpad { ptr, i32 }
          cleanup
  br label %874

820:                                              ; preds = %316, %314, %312, %310, %308, %306, %304, %302, %300, %298, %296, %294, %292, %290, %288, %286
  %821 = landingpad { ptr, i32 }
          cleanup
  br label %873

822:                                              ; preds = %318
  %823 = landingpad { ptr, i32 }
          cleanup
  br label %872

824:                                              ; preds = %373, %371, %369, %367, %365, %363, %361, %359, %357, %355, %353, %351, %349, %347, %345, %343, %341, %339, %337, %335, %333, %331, %329, %327, %325, %323, %321, %319
  %825 = landingpad { ptr, i32 }
          cleanup
  br label %871

826:                                              ; preds = %375
  %827 = landingpad { ptr, i32 }
          cleanup
  br label %870

828:                                              ; preds = %574, %572, %570, %568, %566, %564, %562, %560, %558, %556, %554, %552, %550, %548, %546, %544, %542, %540, %538, %536, %534, %532, %530, %528, %526, %524, %522, %520, %518, %516, %514, %512, %510, %508, %506, %504, %502, %500, %498, %496, %494, %492, %490, %488, %486, %484, %482, %480, %478, %476, %474, %472, %470, %468, %466, %464, %462, %460, %458, %456, %454, %452, %450, %448, %446, %444, %442, %440, %438, %436, %434, %432, %430, %428, %426, %424, %422, %420, %418, %416, %414, %412, %410, %408, %406, %404, %402, %400, %398, %396, %394, %392, %390, %388, %386, %384, %382, %380, %378, %376
  %829 = landingpad { ptr, i32 }
          cleanup
  br label %869

830:                                              ; preds = %576
  %831 = landingpad { ptr, i32 }
          cleanup
  br label %868

832:                                              ; preds = %695, %693, %691, %689, %687, %685, %683, %681, %679, %677, %675, %673, %671, %669, %667, %665, %663, %661, %659, %657, %655, %653, %651, %649, %647, %645, %643, %641, %639, %637, %635, %633, %631, %629, %627, %625, %623, %621, %619, %617, %615, %613, %611, %609, %607, %605, %603, %601, %599, %597, %595, %593, %591, %589, %587, %585, %583, %581, %579, %577
  %833 = landingpad { ptr, i32 }
          cleanup
  br label %867

834:                                              ; preds = %697
  %835 = landingpad { ptr, i32 }
          cleanup
  br label %866

836:                                              ; preds = %728, %726, %724, %722, %720, %718, %716, %714, %712, %710, %708, %706, %704, %702, %700, %698
  %837 = landingpad { ptr, i32 }
          cleanup
  br label %865

838:                                              ; preds = %730
  %839 = landingpad { ptr, i32 }
          cleanup
  br label %864

840:                                              ; preds = %761, %759, %757, %755, %753, %751, %749, %747, %745, %743, %741, %739, %737, %735, %733, %731
  %841 = landingpad { ptr, i32 }
          cleanup
  br label %863

842:                                              ; preds = %763
  %843 = landingpad { ptr, i32 }
          cleanup
  br label %862

844:                                              ; preds = %778, %776, %774, %772, %770, %768, %766, %764
  %845 = landingpad { ptr, i32 }
          cleanup
  br label %861

846:                                              ; preds = %780
  %847 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit208

.loopexit208.loopexit:                            ; preds = %781
  %848 = landingpad { ptr, i32 }
          cleanup
  %849 = getelementptr inbounds i8, ptr %2, i64 264
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %849) #9
  %850 = getelementptr inbounds i8, ptr %2, i64 240
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %850) #9
  %851 = getelementptr inbounds i8, ptr %2, i64 216
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %851) #9
  %852 = getelementptr inbounds i8, ptr %2, i64 192
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %852) #9
  %853 = getelementptr inbounds i8, ptr %2, i64 168
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %853) #9
  %854 = getelementptr inbounds i8, ptr %2, i64 144
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %854) #9
  %855 = getelementptr inbounds i8, ptr %2, i64 120
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %855) #9
  %856 = getelementptr inbounds i8, ptr %2, i64 96
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %856) #9
  %857 = getelementptr inbounds i8, ptr %2, i64 72
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %857) #9
  %858 = getelementptr inbounds i8, ptr %2, i64 48
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %858) #9
  %859 = getelementptr inbounds i8, ptr %2, i64 24
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %859) #9
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %2) #9
  br label %.loopexit208

.loopexit208:                                     ; preds = %.loopexit208.loopexit, %846
  %.pn = phi { ptr, i32 } [ %847, %846 ], [ %848, %.loopexit208.loopexit ]
  %860 = phi i1 [ false, %846 ], [ true, %.loopexit208.loopexit ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #9
  br label %861

861:                                              ; preds = %.loopexit208, %844
  %.pn.pn = phi { ptr, i32 } [ %.pn, %.loopexit208 ], [ %845, %844 ]
  %.173 = phi i1 [ %860, %.loopexit208 ], [ false, %844 ]
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %25) #9
  br label %862

862:                                              ; preds = %861, %842
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %861 ], [ %843, %842 ]
  %.274 = phi i1 [ %.173, %861 ], [ false, %842 ]
  %.062 = phi ptr [ %765, %861 ], [ %732, %842 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #9
  br label %863

863:                                              ; preds = %862, %840
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %862 ], [ %841, %840 ]
  %.375 = phi i1 [ %.274, %862 ], [ false, %840 ]
  %.1 = phi ptr [ %.062, %862 ], [ %732, %840 ]
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %23) #9
  br label %864

864:                                              ; preds = %863, %838
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %863 ], [ %839, %838 ]
  %.476 = phi i1 [ %.375, %863 ], [ false, %838 ]
  %.2 = phi ptr [ %.1, %863 ], [ %699, %838 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #9
  br label %865

865:                                              ; preds = %864, %836
  %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn, %864 ], [ %837, %836 ]
  %.577 = phi i1 [ %.476, %864 ], [ false, %836 ]
  %.3 = phi ptr [ %.2, %864 ], [ %699, %836 ]
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %21) #9
  br label %866

866:                                              ; preds = %865, %834
  %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn, %865 ], [ %835, %834 ]
  %.678 = phi i1 [ %.577, %865 ], [ false, %834 ]
  %.4 = phi ptr [ %.3, %865 ], [ %578, %834 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #9
  br label %867

867:                                              ; preds = %866, %832
  %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn, %866 ], [ %833, %832 ]
  %.779 = phi i1 [ %.678, %866 ], [ false, %832 ]
  %.5 = phi ptr [ %.4, %866 ], [ %578, %832 ]
  call void @llvm.lifetime.end.p0(i64 960, ptr nonnull %19) #9
  br label %868

868:                                              ; preds = %867, %830
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn, %867 ], [ %831, %830 ]
  %.880 = phi i1 [ %.779, %867 ], [ false, %830 ]
  %.6 = phi ptr [ %.5, %867 ], [ %377, %830 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #9
  br label %869

869:                                              ; preds = %868, %828
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %868 ], [ %829, %828 ]
  %.981 = phi i1 [ %.880, %868 ], [ false, %828 ]
  %.7 = phi ptr [ %.6, %868 ], [ %377, %828 ]
  call void @llvm.lifetime.end.p0(i64 1600, ptr nonnull %17) #9
  br label %870

870:                                              ; preds = %869, %826
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %869 ], [ %827, %826 ]
  %.1082 = phi i1 [ %.981, %869 ], [ false, %826 ]
  %.8 = phi ptr [ %.7, %869 ], [ %320, %826 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #9
  br label %871

871:                                              ; preds = %870, %824
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %870 ], [ %825, %824 ]
  %.1183 = phi i1 [ %.1082, %870 ], [ false, %824 ]
  %.9 = phi ptr [ %.8, %870 ], [ %320, %824 ]
  call void @llvm.lifetime.end.p0(i64 448, ptr nonnull %15) #9
  br label %872

872:                                              ; preds = %871, %822
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %871 ], [ %823, %822 ]
  %.1284 = phi i1 [ %.1183, %871 ], [ false, %822 ]
  %.10 = phi ptr [ %.9, %871 ], [ %287, %822 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #9
  br label %873

873:                                              ; preds = %872, %820
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %872 ], [ %821, %820 ]
  %.1385 = phi i1 [ %.1284, %872 ], [ false, %820 ]
  %.11 = phi ptr [ %.10, %872 ], [ %287, %820 ]
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %13) #9
  br label %874

874:                                              ; preds = %873, %818
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %873 ], [ %819, %818 ]
  %.1486 = phi i1 [ %.1385, %873 ], [ false, %818 ]
  %.12 = phi ptr [ %.11, %873 ], [ %122, %818 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #9
  br label %875

875:                                              ; preds = %874, %816
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %874 ], [ %817, %816 ]
  %.1587 = phi i1 [ %.1486, %874 ], [ false, %816 ]
  %.13 = phi ptr [ %.12, %874 ], [ %122, %816 ]
  call void @llvm.lifetime.end.p0(i64 1312, ptr nonnull %11) #9
  br label %876

876:                                              ; preds = %875, %814
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %875 ], [ %815, %814 ]
  %.1688 = phi i1 [ %.1587, %875 ], [ false, %814 ]
  %.14 = phi ptr [ %.13, %875 ], [ %75, %814 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #9
  br label %877

877:                                              ; preds = %876, %812
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %876 ], [ %813, %812 ]
  %.1789 = phi i1 [ %.1688, %876 ], [ false, %812 ]
  %.15 = phi ptr [ %.14, %876 ], [ %75, %812 ]
  call void @llvm.lifetime.end.p0(i64 368, ptr nonnull %9) #9
  br label %878

878:                                              ; preds = %877, %810
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %877 ], [ %811, %810 ]
  %.1890 = phi i1 [ %.1789, %877 ], [ false, %810 ]
  %.16 = phi ptr [ %.15, %877 ], [ %64, %810 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #9
  br label %879

879:                                              ; preds = %878, %808
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %878 ], [ %809, %808 ]
  %.1991 = phi i1 [ %.1890, %878 ], [ false, %808 ]
  %.17 = phi ptr [ %.16, %878 ], [ %64, %808 ]
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %7) #9
  br label %880

880:                                              ; preds = %879, %806
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %879 ], [ %807, %806 ]
  %.2092 = phi i1 [ %.1991, %879 ], [ false, %806 ]
  %.18 = phi ptr [ %.17, %879 ], [ %55, %806 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #9
  br label %881

881:                                              ; preds = %804, %880
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %880 ], [ %805, %804 ]
  %.2193 = phi i1 [ %.2092, %880 ], [ false, %804 ]
  %.19 = phi ptr [ %.18, %880 ], [ %55, %804 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %5) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #9
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %3) #9
  %882 = icmp eq ptr %2, %.19
  %or.cond = select i1 %.2193, i1 true, i1 %882
  br i1 %or.cond, label %.loopexit, label %.preheader207

.preheader207:                                    ; preds = %881, %.preheader207
  %883 = phi ptr [ %884, %.preheader207 ], [ %.19, %881 ]
  %884 = getelementptr inbounds i8, ptr %883, i64 -24
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %884) #9
  %885 = icmp eq ptr %884, %2
  br i1 %885, label %.loopexit, label %.preheader207

.loopexit:                                        ; preds = %.preheader207, %.thread195, %.thread, %881
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn194 = phi { ptr, i32 } [ %802, %.thread ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %881 ], [ %803, %.thread195 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %.preheader207 ]
  call void @llvm.lifetime.end.p0(i64 288, ptr nonnull %2) #9
  br label %1266

.preheader205:                                    ; preds = %.preheader206, %1048
  %.069210 = phi i32 [ 0, %.preheader206 ], [ %1049, %1048 ]
  %886 = uitofp nneg i32 %.069210 to float
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #9
  %887 = invoke { double, double } @_ZN3JPH4Vec310sReplicateEf(float noundef -5.000000e-01)
          to label %890 unwind label %1050

888:                                              ; preds = %1048
  %889 = add nuw nsw i32 %.071211, 1
  %exitcond219.not = icmp eq i32 %889, 10
  br i1 %exitcond219.not, label %801, label %.preheader206, !llvm.loop !5

890:                                              ; preds = %.preheader205
  %891 = extractvalue { double, double } %887, 0
  store double %891, ptr %30, align 16
  %892 = extractvalue { double, double } %887, 1
  store double %892, ptr %796, align 8
  %893 = invoke { double, double } @_ZNK3JPH4Vec3mlEf(ptr noundef nonnull align 16 dereferenceable(16) %30, float noundef 0x3FB99999A0000000)
          to label %894 unwind label %1050

894:                                              ; preds = %890
  %895 = extractvalue { double, double } %893, 0
  store double %895, ptr %29, align 16
  %896 = extractvalue { double, double } %893, 1
  store double %896, ptr %797, align 8
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %31, float noundef %800, float noundef %886, float noundef 0.000000e+00)
          to label %897 unwind label %1050

897:                                              ; preds = %894
  %898 = load double, ptr %31, align 16
  %899 = load double, ptr %798, align 8
  %900 = invoke { double, double } @_ZNK3JPH4Vec3mlES0_(ptr noundef nonnull align 16 dereferenceable(16) %29, double %898, double %899)
          to label %901 unwind label %1050

901:                                              ; preds = %897
  %902 = extractvalue { double, double } %900, 0
  store double %902, ptr %28, align 16
  %903 = extractvalue { double, double } %900, 1
  store double %903, ptr %799, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 16 dereferenceable(16) %28)
          to label %904 unwind label %1050

904:                                              ; preds = %901
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #9
  %905 = invoke { double, double } @_ZN3JPH4Vec310sReplicateEf(float noundef -5.000000e-01)
          to label %906 unwind label %1050

906:                                              ; preds = %904
  %907 = extractvalue { double, double } %905, 0
  store double %907, ptr %30, align 16
  %908 = extractvalue { double, double } %905, 1
  store double %908, ptr %796, align 8
  %909 = invoke { double, double } @_ZNK3JPH4Vec3mlEf(ptr noundef nonnull align 16 dereferenceable(16) %30, float noundef 0x3FB99999A0000000)
          to label %910 unwind label %1050

910:                                              ; preds = %906
  %911 = extractvalue { double, double } %909, 0
  store double %911, ptr %29, align 16
  %912 = extractvalue { double, double } %909, 1
  store double %912, ptr %797, align 8
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %31, float noundef %800, float noundef %886, float noundef 1.000000e+00)
          to label %913 unwind label %1050

913:                                              ; preds = %910
  %914 = load double, ptr %31, align 16
  %915 = load double, ptr %798, align 8
  %916 = invoke { double, double } @_ZNK3JPH4Vec3mlES0_(ptr noundef nonnull align 16 dereferenceable(16) %29, double %914, double %915)
          to label %917 unwind label %1050

917:                                              ; preds = %913
  %918 = extractvalue { double, double } %916, 0
  store double %918, ptr %28, align 16
  %919 = extractvalue { double, double } %916, 1
  store double %919, ptr %799, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 16 dereferenceable(16) %28)
          to label %920 unwind label %1050

920:                                              ; preds = %917
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #9
  %921 = invoke { double, double } @_ZN3JPH4Vec310sReplicateEf(float noundef -5.000000e-01)
          to label %922 unwind label %1050

922:                                              ; preds = %920
  %923 = extractvalue { double, double } %921, 0
  store double %923, ptr %30, align 16
  %924 = extractvalue { double, double } %921, 1
  store double %924, ptr %796, align 8
  %925 = invoke { double, double } @_ZNK3JPH4Vec3mlEf(ptr noundef nonnull align 16 dereferenceable(16) %30, float noundef 0x3FB99999A0000000)
          to label %926 unwind label %1050

926:                                              ; preds = %922
  %927 = extractvalue { double, double } %925, 0
  store double %927, ptr %29, align 16
  %928 = extractvalue { double, double } %925, 1
  store double %928, ptr %797, align 8
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %31, float noundef %800, float noundef %886, float noundef 2.000000e+00)
          to label %929 unwind label %1050

929:                                              ; preds = %926
  %930 = load double, ptr %31, align 16
  %931 = load double, ptr %798, align 8
  %932 = invoke { double, double } @_ZNK3JPH4Vec3mlES0_(ptr noundef nonnull align 16 dereferenceable(16) %29, double %930, double %931)
          to label %933 unwind label %1050

933:                                              ; preds = %929
  %934 = extractvalue { double, double } %932, 0
  store double %934, ptr %28, align 16
  %935 = extractvalue { double, double } %932, 1
  store double %935, ptr %799, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 16 dereferenceable(16) %28)
          to label %936 unwind label %1050

936:                                              ; preds = %933
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #9
  %937 = invoke { double, double } @_ZN3JPH4Vec310sReplicateEf(float noundef -5.000000e-01)
          to label %938 unwind label %1050

938:                                              ; preds = %936
  %939 = extractvalue { double, double } %937, 0
  store double %939, ptr %30, align 16
  %940 = extractvalue { double, double } %937, 1
  store double %940, ptr %796, align 8
  %941 = invoke { double, double } @_ZNK3JPH4Vec3mlEf(ptr noundef nonnull align 16 dereferenceable(16) %30, float noundef 0x3FB99999A0000000)
          to label %942 unwind label %1050

942:                                              ; preds = %938
  %943 = extractvalue { double, double } %941, 0
  store double %943, ptr %29, align 16
  %944 = extractvalue { double, double } %941, 1
  store double %944, ptr %797, align 8
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %31, float noundef %800, float noundef %886, float noundef 3.000000e+00)
          to label %945 unwind label %1050

945:                                              ; preds = %942
  %946 = load double, ptr %31, align 16
  %947 = load double, ptr %798, align 8
  %948 = invoke { double, double } @_ZNK3JPH4Vec3mlES0_(ptr noundef nonnull align 16 dereferenceable(16) %29, double %946, double %947)
          to label %949 unwind label %1050

949:                                              ; preds = %945
  %950 = extractvalue { double, double } %948, 0
  store double %950, ptr %28, align 16
  %951 = extractvalue { double, double } %948, 1
  store double %951, ptr %799, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 16 dereferenceable(16) %28)
          to label %952 unwind label %1050

952:                                              ; preds = %949
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #9
  %953 = invoke { double, double } @_ZN3JPH4Vec310sReplicateEf(float noundef -5.000000e-01)
          to label %954 unwind label %1050

954:                                              ; preds = %952
  %955 = extractvalue { double, double } %953, 0
  store double %955, ptr %30, align 16
  %956 = extractvalue { double, double } %953, 1
  store double %956, ptr %796, align 8
  %957 = invoke { double, double } @_ZNK3JPH4Vec3mlEf(ptr noundef nonnull align 16 dereferenceable(16) %30, float noundef 0x3FB99999A0000000)
          to label %958 unwind label %1050

958:                                              ; preds = %954
  %959 = extractvalue { double, double } %957, 0
  store double %959, ptr %29, align 16
  %960 = extractvalue { double, double } %957, 1
  store double %960, ptr %797, align 8
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %31, float noundef %800, float noundef %886, float noundef 4.000000e+00)
          to label %961 unwind label %1050

961:                                              ; preds = %958
  %962 = load double, ptr %31, align 16
  %963 = load double, ptr %798, align 8
  %964 = invoke { double, double } @_ZNK3JPH4Vec3mlES0_(ptr noundef nonnull align 16 dereferenceable(16) %29, double %962, double %963)
          to label %965 unwind label %1050

965:                                              ; preds = %961
  %966 = extractvalue { double, double } %964, 0
  store double %966, ptr %28, align 16
  %967 = extractvalue { double, double } %964, 1
  store double %967, ptr %799, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 16 dereferenceable(16) %28)
          to label %968 unwind label %1050

968:                                              ; preds = %965
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #9
  %969 = invoke { double, double } @_ZN3JPH4Vec310sReplicateEf(float noundef -5.000000e-01)
          to label %970 unwind label %1050

970:                                              ; preds = %968
  %971 = extractvalue { double, double } %969, 0
  store double %971, ptr %30, align 16
  %972 = extractvalue { double, double } %969, 1
  store double %972, ptr %796, align 8
  %973 = invoke { double, double } @_ZNK3JPH4Vec3mlEf(ptr noundef nonnull align 16 dereferenceable(16) %30, float noundef 0x3FB99999A0000000)
          to label %974 unwind label %1050

974:                                              ; preds = %970
  %975 = extractvalue { double, double } %973, 0
  store double %975, ptr %29, align 16
  %976 = extractvalue { double, double } %973, 1
  store double %976, ptr %797, align 8
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %31, float noundef %800, float noundef %886, float noundef 5.000000e+00)
          to label %977 unwind label %1050

977:                                              ; preds = %974
  %978 = load double, ptr %31, align 16
  %979 = load double, ptr %798, align 8
  %980 = invoke { double, double } @_ZNK3JPH4Vec3mlES0_(ptr noundef nonnull align 16 dereferenceable(16) %29, double %978, double %979)
          to label %981 unwind label %1050

981:                                              ; preds = %977
  %982 = extractvalue { double, double } %980, 0
  store double %982, ptr %28, align 16
  %983 = extractvalue { double, double } %980, 1
  store double %983, ptr %799, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 16 dereferenceable(16) %28)
          to label %984 unwind label %1050

984:                                              ; preds = %981
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #9
  %985 = invoke { double, double } @_ZN3JPH4Vec310sReplicateEf(float noundef -5.000000e-01)
          to label %986 unwind label %1050

986:                                              ; preds = %984
  %987 = extractvalue { double, double } %985, 0
  store double %987, ptr %30, align 16
  %988 = extractvalue { double, double } %985, 1
  store double %988, ptr %796, align 8
  %989 = invoke { double, double } @_ZNK3JPH4Vec3mlEf(ptr noundef nonnull align 16 dereferenceable(16) %30, float noundef 0x3FB99999A0000000)
          to label %990 unwind label %1050

990:                                              ; preds = %986
  %991 = extractvalue { double, double } %989, 0
  store double %991, ptr %29, align 16
  %992 = extractvalue { double, double } %989, 1
  store double %992, ptr %797, align 8
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %31, float noundef %800, float noundef %886, float noundef 6.000000e+00)
          to label %993 unwind label %1050

993:                                              ; preds = %990
  %994 = load double, ptr %31, align 16
  %995 = load double, ptr %798, align 8
  %996 = invoke { double, double } @_ZNK3JPH4Vec3mlES0_(ptr noundef nonnull align 16 dereferenceable(16) %29, double %994, double %995)
          to label %997 unwind label %1050

997:                                              ; preds = %993
  %998 = extractvalue { double, double } %996, 0
  store double %998, ptr %28, align 16
  %999 = extractvalue { double, double } %996, 1
  store double %999, ptr %799, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 16 dereferenceable(16) %28)
          to label %1000 unwind label %1050

1000:                                             ; preds = %997
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #9
  %1001 = invoke { double, double } @_ZN3JPH4Vec310sReplicateEf(float noundef -5.000000e-01)
          to label %1002 unwind label %1050

1002:                                             ; preds = %1000
  %1003 = extractvalue { double, double } %1001, 0
  store double %1003, ptr %30, align 16
  %1004 = extractvalue { double, double } %1001, 1
  store double %1004, ptr %796, align 8
  %1005 = invoke { double, double } @_ZNK3JPH4Vec3mlEf(ptr noundef nonnull align 16 dereferenceable(16) %30, float noundef 0x3FB99999A0000000)
          to label %1006 unwind label %1050

1006:                                             ; preds = %1002
  %1007 = extractvalue { double, double } %1005, 0
  store double %1007, ptr %29, align 16
  %1008 = extractvalue { double, double } %1005, 1
  store double %1008, ptr %797, align 8
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %31, float noundef %800, float noundef %886, float noundef 7.000000e+00)
          to label %1009 unwind label %1050

1009:                                             ; preds = %1006
  %1010 = load double, ptr %31, align 16
  %1011 = load double, ptr %798, align 8
  %1012 = invoke { double, double } @_ZNK3JPH4Vec3mlES0_(ptr noundef nonnull align 16 dereferenceable(16) %29, double %1010, double %1011)
          to label %1013 unwind label %1050

1013:                                             ; preds = %1009
  %1014 = extractvalue { double, double } %1012, 0
  store double %1014, ptr %28, align 16
  %1015 = extractvalue { double, double } %1012, 1
  store double %1015, ptr %799, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 16 dereferenceable(16) %28)
          to label %1016 unwind label %1050

1016:                                             ; preds = %1013
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #9
  %1017 = invoke { double, double } @_ZN3JPH4Vec310sReplicateEf(float noundef -5.000000e-01)
          to label %1018 unwind label %1050

1018:                                             ; preds = %1016
  %1019 = extractvalue { double, double } %1017, 0
  store double %1019, ptr %30, align 16
  %1020 = extractvalue { double, double } %1017, 1
  store double %1020, ptr %796, align 8
  %1021 = invoke { double, double } @_ZNK3JPH4Vec3mlEf(ptr noundef nonnull align 16 dereferenceable(16) %30, float noundef 0x3FB99999A0000000)
          to label %1022 unwind label %1050

1022:                                             ; preds = %1018
  %1023 = extractvalue { double, double } %1021, 0
  store double %1023, ptr %29, align 16
  %1024 = extractvalue { double, double } %1021, 1
  store double %1024, ptr %797, align 8
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %31, float noundef %800, float noundef %886, float noundef 8.000000e+00)
          to label %1025 unwind label %1050

1025:                                             ; preds = %1022
  %1026 = load double, ptr %31, align 16
  %1027 = load double, ptr %798, align 8
  %1028 = invoke { double, double } @_ZNK3JPH4Vec3mlES0_(ptr noundef nonnull align 16 dereferenceable(16) %29, double %1026, double %1027)
          to label %1029 unwind label %1050

1029:                                             ; preds = %1025
  %1030 = extractvalue { double, double } %1028, 0
  store double %1030, ptr %28, align 16
  %1031 = extractvalue { double, double } %1028, 1
  store double %1031, ptr %799, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 16 dereferenceable(16) %28)
          to label %1032 unwind label %1050

1032:                                             ; preds = %1029
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #9
  %1033 = invoke { double, double } @_ZN3JPH4Vec310sReplicateEf(float noundef -5.000000e-01)
          to label %1034 unwind label %1050

1034:                                             ; preds = %1032
  %1035 = extractvalue { double, double } %1033, 0
  store double %1035, ptr %30, align 16
  %1036 = extractvalue { double, double } %1033, 1
  store double %1036, ptr %796, align 8
  %1037 = invoke { double, double } @_ZNK3JPH4Vec3mlEf(ptr noundef nonnull align 16 dereferenceable(16) %30, float noundef 0x3FB99999A0000000)
          to label %1038 unwind label %1050

1038:                                             ; preds = %1034
  %1039 = extractvalue { double, double } %1037, 0
  store double %1039, ptr %29, align 16
  %1040 = extractvalue { double, double } %1037, 1
  store double %1040, ptr %797, align 8
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %31, float noundef %800, float noundef %886, float noundef 9.000000e+00)
          to label %1041 unwind label %1050

1041:                                             ; preds = %1038
  %1042 = load double, ptr %31, align 16
  %1043 = load double, ptr %798, align 8
  %1044 = invoke { double, double } @_ZNK3JPH4Vec3mlES0_(ptr noundef nonnull align 16 dereferenceable(16) %29, double %1042, double %1043)
          to label %1045 unwind label %1050

1045:                                             ; preds = %1041
  %1046 = extractvalue { double, double } %1044, 0
  store double %1046, ptr %28, align 16
  %1047 = extractvalue { double, double } %1044, 1
  store double %1047, ptr %799, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 16 dereferenceable(16) %28)
          to label %1048 unwind label %1050

1048:                                             ; preds = %1045
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #9
  %1049 = add nuw nsw i32 %.069210, 1
  %exitcond.not = icmp eq i32 %1049, 10
  br i1 %exitcond.not, label %888, label %.preheader205, !llvm.loop !7

1050:                                             ; preds = %1045, %1041, %1038, %1034, %1032, %1029, %1025, %1022, %1018, %1016, %1013, %1009, %1006, %1002, %1000, %997, %993, %990, %986, %984, %981, %977, %974, %970, %968, %965, %961, %958, %954, %952, %949, %945, %942, %938, %936, %933, %929, %926, %922, %920, %917, %913, %910, %906, %904, %901, %897, %894, %890, %.preheader205
  %1051 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #9
  br label %1058

1052:                                             ; preds = %801
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %32) #9
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #9
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %33) #9
  invoke void @_ZN3JPH5Mat4410sRotationZEf(ptr dead_on_unwind nonnull writable sret(%"class.JPH::Mat44") align 16 %33, float noundef 0x3FE921FB60000000)
          to label %.preheader204 unwind label %1059

.preheader204:                                    ; preds = %1052
  %1053 = getelementptr inbounds i8, ptr %35, i64 8
  %1054 = getelementptr inbounds i8, ptr %34, i64 8
  br label %.preheader203

.preheader203:                                    ; preds = %.preheader204, %1061
  %.067213 = phi float [ 0.000000e+00, %.preheader204 ], [ %1062, %1061 ]
  br label %1064

1055:                                             ; preds = %1061
  invoke void @_ZN3JPH5ArrayINS0_INS_4Vec3ENS_12STLAllocatorIS1_EEEENS2_IS4_EEE9push_backEOS4_(ptr noundef nonnull align 8 dereferenceable(24) %782, ptr noundef nonnull align 8 dereferenceable(24) %32)
          to label %1083 unwind label %1059

1056:                                             ; preds = %801
  %1057 = landingpad { ptr, i32 }
          cleanup
  br label %1058

1058:                                             ; preds = %1056, %1050
  %.pn187 = phi { ptr, i32 } [ %1051, %1050 ], [ %1057, %1056 ]
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) #9
  br label %1266

1059:                                             ; preds = %1055, %1052
  %1060 = landingpad { ptr, i32 }
          cleanup
  br label %1087

1061:                                             ; preds = %1078
  %1062 = fadd float %.067213, 0x3FB99999A0000000
  %1063 = fcmp olt float %1062, 2.000000e+00
  br i1 %1063, label %.preheader203, label %1055, !llvm.loop !8

1064:                                             ; preds = %.preheader203, %1078
  %.066212 = phi float [ 0.000000e+00, %.preheader203 ], [ %1079, %1078 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %34) #9
  %1065 = invoke noundef float @_ZN3JPH3CosEf(float noundef %.066212)
          to label %1066 unwind label %1081

1066:                                             ; preds = %1064
  %1067 = invoke noundef float @_ZN3JPH3SinEf(float noundef %.066212)
          to label %1068 unwind label %1081

1068:                                             ; preds = %1066
  %1069 = fmul float %.067213, %1065
  %1070 = fmul float %.067213, %1067
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %35, float noundef %1069, float noundef %1070, float noundef 0.000000e+00)
          to label %1071 unwind label %1081

1071:                                             ; preds = %1068
  %1072 = load double, ptr %35, align 16
  %1073 = load double, ptr %1053, align 8
  %1074 = invoke { double, double } @_ZNK3JPH5Mat44mlENS_4Vec3E(ptr noundef nonnull align 16 dereferenceable(64) %33, double %1072, double %1073)
          to label %1075 unwind label %1081

1075:                                             ; preds = %1071
  %1076 = extractvalue { double, double } %1074, 0
  store double %1076, ptr %34, align 16
  %1077 = extractvalue { double, double } %1074, 1
  store double %1077, ptr %1054, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %32, ptr noundef nonnull align 16 dereferenceable(16) %34)
          to label %1078 unwind label %1081

1078:                                             ; preds = %1075
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #9
  %1079 = fadd float %.066212, 0x3FD41B2F80000000
  %1080 = fcmp ugt float %1079, 0x401921FB60000000
  br i1 %1080, label %1061, label %1064, !llvm.loop !9

1081:                                             ; preds = %1075, %1071, %1068, %1066, %1064
  %1082 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #9
  br label %1087

1083:                                             ; preds = %1055
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %33) #9
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %36) #9
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #9
  %1084 = getelementptr inbounds i8, ptr %39, i64 8
  %1085 = getelementptr inbounds i8, ptr %38, i64 8
  br label %1088

1086:                                             ; preds = %1108
  invoke void @_ZN3JPH5ArrayINS0_INS_4Vec3ENS_12STLAllocatorIS1_EEEENS2_IS4_EEE9push_backEOS4_(ptr noundef nonnull align 8 dereferenceable(24) %782, ptr noundef nonnull align 8 dereferenceable(24) %36)
          to label %1116 unwind label %1120

1087:                                             ; preds = %1081, %1059
  %.pn185 = phi { ptr, i32 } [ %1082, %1081 ], [ %1060, %1059 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %33) #9
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #9
  br label %1266

1088:                                             ; preds = %1083, %1108
  %.065214 = phi float [ 0.000000e+00, %1083 ], [ %1109, %1108 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %37) #9
  %1089 = invoke noundef float @_ZN3JPH3CosEf(float noundef %.065214)
          to label %1090 unwind label %1111

1090:                                             ; preds = %1088
  %1091 = invoke noundef float @_ZN3JPH3SinEf(float noundef %.065214)
          to label %1092 unwind label %1111

1092:                                             ; preds = %1090
  %1093 = fmul float %1089, 2.000000e+00
  %1094 = fmul float %1091, 2.000000e+00
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %37, float noundef %1093, float noundef 0.000000e+00, float noundef %1094)
          to label %1095 unwind label %1111

1095:                                             ; preds = %1092
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 16 dereferenceable(16) %37)
          to label %1096 unwind label %1111

1096:                                             ; preds = %1095
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %38) #9
  %1097 = call noundef float @_ZNK3JPH4Vec34GetXEv(ptr noundef nonnull align 16 dereferenceable(16) %37)
  %1098 = fadd float %1097, 2.000000e+00
  %1099 = fmul float %1098, 0x3F60624DE0000000
  %1100 = fmul float %1099, 2.500000e-01
  invoke void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16) %39, float noundef 0.000000e+00, float noundef %1100, float noundef 0.000000e+00)
          to label %1101 unwind label %1113

1101:                                             ; preds = %1096
  %1102 = load double, ptr %39, align 16
  %1103 = load double, ptr %1084, align 8
  %1104 = invoke { double, double } @_ZNK3JPH4Vec3plES0_(ptr noundef nonnull align 16 dereferenceable(16) %37, double %1102, double %1103)
          to label %1105 unwind label %1113

1105:                                             ; preds = %1101
  %1106 = extractvalue { double, double } %1104, 0
  store double %1106, ptr %38, align 16
  %1107 = extractvalue { double, double } %1104, 1
  store double %1107, ptr %1085, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %36, ptr noundef nonnull align 16 dereferenceable(16) %38)
          to label %1108 unwind label %1113

1108:                                             ; preds = %1105
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #9
  %1109 = fadd float %.065214, 0x3FC41B2F80000000
  %1110 = fcmp ugt float %1109, 0x401921FB60000000
  br i1 %1110, label %1086, label %1088, !llvm.loop !10

1111:                                             ; preds = %1095, %1092, %1090, %1088
  %1112 = landingpad { ptr, i32 }
          cleanup
  br label %1115

1113:                                             ; preds = %1105, %1101, %1096
  %1114 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #9
  br label %1115

1115:                                             ; preds = %1113, %1111
  %.pn182 = phi { ptr, i32 } [ %1114, %1113 ], [ %1112, %1111 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #9
  br label %1122

1116:                                             ; preds = %1086
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %40) #9
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #9
  %1117 = getelementptr inbounds i8, ptr %41, i64 8
  br label %.preheader

.preheader:                                       ; preds = %1116, %1221
  %.064216 = phi float [ 0.000000e+00, %1116 ], [ %1222, %1221 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1118 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0.000000e+00)
          to label %1123 unwind label %1224

1119:                                             ; preds = %1221
  invoke void @_ZN3JPH5ArrayINS0_INS_4Vec3ENS_12STLAllocatorIS1_EEEENS2_IS4_EEE9push_backEOS4_(ptr noundef nonnull align 8 dereferenceable(24) %782, ptr noundef nonnull align 8 dereferenceable(24) %40)
          to label %1226 unwind label %1238

1120:                                             ; preds = %1086
  %1121 = landingpad { ptr, i32 }
          cleanup
  br label %1122

1122:                                             ; preds = %1120, %1115
  %.pn182.pn = phi { ptr, i32 } [ %.pn182, %1115 ], [ %1121, %1120 ]
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #9
  br label %1266

1123:                                             ; preds = %.preheader
  %1124 = extractvalue { double, double } %1118, 0
  store double %1124, ptr %41, align 16
  %1125 = extractvalue { double, double } %1118, 1
  store double %1125, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1126 unwind label %1224

1126:                                             ; preds = %1123
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1127 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0x3FD41B2F80000000)
          to label %1128 unwind label %1224

1128:                                             ; preds = %1126
  %1129 = extractvalue { double, double } %1127, 0
  store double %1129, ptr %41, align 16
  %1130 = extractvalue { double, double } %1127, 1
  store double %1130, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1131 unwind label %1224

1131:                                             ; preds = %1128
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1132 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0x3FE41B2F80000000)
          to label %1133 unwind label %1224

1133:                                             ; preds = %1131
  %1134 = extractvalue { double, double } %1132, 0
  store double %1134, ptr %41, align 16
  %1135 = extractvalue { double, double } %1132, 1
  store double %1135, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1136 unwind label %1224

1136:                                             ; preds = %1133
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1137 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0x3FEE28C740000000)
          to label %1138 unwind label %1224

1138:                                             ; preds = %1136
  %1139 = extractvalue { double, double } %1137, 0
  store double %1139, ptr %41, align 16
  %1140 = extractvalue { double, double } %1137, 1
  store double %1140, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1141 unwind label %1224

1141:                                             ; preds = %1138
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1142 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0x3FF41B2F80000000)
          to label %1143 unwind label %1224

1143:                                             ; preds = %1141
  %1144 = extractvalue { double, double } %1142, 0
  store double %1144, ptr %41, align 16
  %1145 = extractvalue { double, double } %1142, 1
  store double %1145, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1146 unwind label %1224

1146:                                             ; preds = %1143
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1147 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0x3FF921FB60000000)
          to label %1148 unwind label %1224

1148:                                             ; preds = %1146
  %1149 = extractvalue { double, double } %1147, 0
  store double %1149, ptr %41, align 16
  %1150 = extractvalue { double, double } %1147, 1
  store double %1150, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1151 unwind label %1224

1151:                                             ; preds = %1148
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1152 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0x3FFE28C740000000)
          to label %1153 unwind label %1224

1153:                                             ; preds = %1151
  %1154 = extractvalue { double, double } %1152, 0
  store double %1154, ptr %41, align 16
  %1155 = extractvalue { double, double } %1152, 1
  store double %1155, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1156 unwind label %1224

1156:                                             ; preds = %1153
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1157 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0x400197C980000000)
          to label %1158 unwind label %1224

1158:                                             ; preds = %1156
  %1159 = extractvalue { double, double } %1157, 0
  store double %1159, ptr %41, align 16
  %1160 = extractvalue { double, double } %1157, 1
  store double %1160, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1161 unwind label %1224

1161:                                             ; preds = %1158
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1162 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0x40041B2F80000000)
          to label %1163 unwind label %1224

1163:                                             ; preds = %1161
  %1164 = extractvalue { double, double } %1162, 0
  store double %1164, ptr %41, align 16
  %1165 = extractvalue { double, double } %1162, 1
  store double %1165, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1166 unwind label %1224

1166:                                             ; preds = %1163
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1167 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0x40069E9580000000)
          to label %1168 unwind label %1224

1168:                                             ; preds = %1166
  %1169 = extractvalue { double, double } %1167, 0
  store double %1169, ptr %41, align 16
  %1170 = extractvalue { double, double } %1167, 1
  store double %1170, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1171 unwind label %1224

1171:                                             ; preds = %1168
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1172 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0x400921FB80000000)
          to label %1173 unwind label %1224

1173:                                             ; preds = %1171
  %1174 = extractvalue { double, double } %1172, 0
  store double %1174, ptr %41, align 16
  %1175 = extractvalue { double, double } %1172, 1
  store double %1175, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1176 unwind label %1224

1176:                                             ; preds = %1173
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1177 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0x400BA56180000000)
          to label %1178 unwind label %1224

1178:                                             ; preds = %1176
  %1179 = extractvalue { double, double } %1177, 0
  store double %1179, ptr %41, align 16
  %1180 = extractvalue { double, double } %1177, 1
  store double %1180, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1181 unwind label %1224

1181:                                             ; preds = %1178
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1182 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0x400E28C780000000)
          to label %1183 unwind label %1224

1183:                                             ; preds = %1181
  %1184 = extractvalue { double, double } %1182, 0
  store double %1184, ptr %41, align 16
  %1185 = extractvalue { double, double } %1182, 1
  store double %1185, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1186 unwind label %1224

1186:                                             ; preds = %1183
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1187 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0x40105616C0000000)
          to label %1188 unwind label %1224

1188:                                             ; preds = %1186
  %1189 = extractvalue { double, double } %1187, 0
  store double %1189, ptr %41, align 16
  %1190 = extractvalue { double, double } %1187, 1
  store double %1190, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1191 unwind label %1224

1191:                                             ; preds = %1188
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1192 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0x401197C9C0000000)
          to label %1193 unwind label %1224

1193:                                             ; preds = %1191
  %1194 = extractvalue { double, double } %1192, 0
  store double %1194, ptr %41, align 16
  %1195 = extractvalue { double, double } %1192, 1
  store double %1195, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1196 unwind label %1224

1196:                                             ; preds = %1193
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1197 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0x4012D97CC0000000)
          to label %1198 unwind label %1224

1198:                                             ; preds = %1196
  %1199 = extractvalue { double, double } %1197, 0
  store double %1199, ptr %41, align 16
  %1200 = extractvalue { double, double } %1197, 1
  store double %1200, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1201 unwind label %1224

1201:                                             ; preds = %1198
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1202 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0x40141B2FC0000000)
          to label %1203 unwind label %1224

1203:                                             ; preds = %1201
  %1204 = extractvalue { double, double } %1202, 0
  store double %1204, ptr %41, align 16
  %1205 = extractvalue { double, double } %1202, 1
  store double %1205, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1206 unwind label %1224

1206:                                             ; preds = %1203
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1207 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0x40155CE2C0000000)
          to label %1208 unwind label %1224

1208:                                             ; preds = %1206
  %1209 = extractvalue { double, double } %1207, 0
  store double %1209, ptr %41, align 16
  %1210 = extractvalue { double, double } %1207, 1
  store double %1210, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1211 unwind label %1224

1211:                                             ; preds = %1208
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1212 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0x40169E95C0000000)
          to label %1213 unwind label %1224

1213:                                             ; preds = %1211
  %1214 = extractvalue { double, double } %1212, 0
  store double %1214, ptr %41, align 16
  %1215 = extractvalue { double, double } %1212, 1
  store double %1215, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1216 unwind label %1224

1216:                                             ; preds = %1213
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  %1217 = invoke { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef %.064216, float noundef 0x4017E048C0000000)
          to label %1218 unwind label %1224

1218:                                             ; preds = %1216
  %1219 = extractvalue { double, double } %1217, 0
  store double %1219, ptr %41, align 16
  %1220 = extractvalue { double, double } %1217, 1
  store double %1220, ptr %1117, align 8
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 16 dereferenceable(16) %41)
          to label %1221 unwind label %1224

1221:                                             ; preds = %1218
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  %1222 = fadd float %.064216, 0x3FC41B2F80000000
  %1223 = fcmp ugt float %1222, 0x400921FB60000000
  br i1 %1223, label %1119, label %.preheader, !llvm.loop !11

1224:                                             ; preds = %1218, %1216, %1213, %1211, %1208, %1206, %1203, %1201, %1198, %1196, %1193, %1191, %1188, %1186, %1183, %1181, %1178, %1176, %1173, %1171, %1168, %1166, %1163, %1161, %1158, %1156, %1153, %1151, %1148, %1146, %1143, %1141, %1138, %1136, %1133, %1131, %1128, %1126, %1123, %.preheader
  %1225 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  br label %1240

1226:                                             ; preds = %1119
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %40) #9
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %42) #9
  %1227 = call noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef 8, i32 noundef 4)
  call void @_ZN11AssetStreamC1EPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(520) %42, ptr noundef nonnull @.str.1, i32 noundef %1227)
  %1228 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZN11AssetStream3GetEv(ptr noundef nonnull align 8 dereferenceable(520) %42)
  br label %1229

1229:                                             ; preds = %1263, %1226
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #9
  store i32 0, ptr %43, align 4, !tbaa !12
  %1230 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %1228, ptr noundef nonnull %43, i64 noundef 4)
          to label %1231 unwind label %1241

1231:                                             ; preds = %1229
  %1232 = load ptr, ptr %1228, align 8, !tbaa !16
  %1233 = getelementptr i8, ptr %1232, i64 -24
  %1234 = load i64, ptr %1233, align 8
  %1235 = getelementptr inbounds i8, ptr %1228, i64 %1234
  %1236 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(ptr noundef nonnull align 8 dereferenceable(264) %1235)
          to label %1237 unwind label %1241

1237:                                             ; preds = %1231
  br i1 %1236, label %1265, label %1243

1238:                                             ; preds = %1119
  %1239 = landingpad { ptr, i32 }
          cleanup
  br label %1240

1240:                                             ; preds = %1238, %1224
  %.pn180 = phi { ptr, i32 } [ %1225, %1224 ], [ %1239, %1238 ]
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %40) #9
  br label %1266

1241:                                             ; preds = %1231, %1229
  %1242 = landingpad { ptr, i32 }
          cleanup
  br label %1264

1243:                                             ; preds = %1237
  %1244 = load i32, ptr %43, align 4, !tbaa !12
  %.not = icmp eq i32 %1244, 0
  br i1 %.not, label %1263, label %1245

1245:                                             ; preds = %1243
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %44) #9
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #9
  %1246 = load i32, ptr %43, align 4, !tbaa !12
  %.not218 = icmp eq i32 %1246, 0
  br i1 %.not218, label %._crit_edge, label %.lr.ph

._crit_edge:                                      ; preds = %1250, %1245
  invoke void @_ZN3JPH5ArrayINS0_INS_4Vec3ENS_12STLAllocatorIS1_EEEENS2_IS4_EEE9push_backEOS4_(ptr noundef nonnull align 8 dereferenceable(24) %782, ptr noundef nonnull align 8 dereferenceable(24) %44)
          to label %1259 unwind label %1260

.lr.ph:                                           ; preds = %1245, %1250
  %.0217 = phi i32 [ %1251, %1250 ], [ 0, %1245 ]
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %45) #9
  %1247 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %1228, ptr noundef nonnull %45, i64 noundef 12)
          to label %1248 unwind label %1254

1248:                                             ; preds = %.lr.ph
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %46) #9
  invoke void @_ZN3JPH4Vec3C2ERKNS_6Float3E(ptr noundef nonnull align 16 dereferenceable(16) %46, ptr noundef nonnull align 4 dereferenceable(12) %45)
          to label %1249 unwind label %1256

1249:                                             ; preds = %1248
  invoke void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %44, ptr noundef nonnull align 16 dereferenceable(16) %46)
          to label %1250 unwind label %1256

1250:                                             ; preds = %1249
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %46) #9
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %45) #9
  %1251 = add nuw i32 %.0217, 1
  %1252 = load i32, ptr %43, align 4, !tbaa !12
  %1253 = icmp ult i32 %1251, %1252
  br i1 %1253, label %.lr.ph, label %._crit_edge, !llvm.loop !18

1254:                                             ; preds = %.lr.ph
  %1255 = landingpad { ptr, i32 }
          cleanup
  br label %1258

1256:                                             ; preds = %1249, %1248
  %1257 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %46) #9
  br label %1258

1258:                                             ; preds = %1256, %1254
  %.pn176 = phi { ptr, i32 } [ %1257, %1256 ], [ %1255, %1254 ]
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %45) #9
  br label %1262

1259:                                             ; preds = %._crit_edge
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #9
  br label %1263

1260:                                             ; preds = %._crit_edge
  %1261 = landingpad { ptr, i32 }
          cleanup
  br label %1262

1262:                                             ; preds = %1260, %1258
  %.pn176.pn = phi { ptr, i32 } [ %.pn176, %1258 ], [ %1261, %1260 ]
  call void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #9
  br label %1264

1263:                                             ; preds = %1243, %1259
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #9
  br label %1229

1264:                                             ; preds = %1262, %1241
  %.pn176.pn.pn = phi { ptr, i32 } [ %.pn176.pn, %1262 ], [ %1242, %1241 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #9
  call void @_ZN11AssetStreamD2Ev(ptr noundef nonnull align 8 dereferenceable(520) %42) #9
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %42) #9
  br label %1266

1265:                                             ; preds = %1237
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #9
  call void @_ZN11AssetStreamD2Ev(ptr noundef nonnull align 8 dereferenceable(520) %42) #9
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %42) #9
  ret void

1266:                                             ; preds = %1264, %1240, %1122, %1087, %1058, %.loopexit
  %.pn187.pn = phi { ptr, i32 } [ %.pn187, %1058 ], [ %.pn185, %1087 ], [ %.pn182.pn, %1122 ], [ %.pn180, %1240 ], [ %.pn176.pn.pn, %1264 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn194, %.loopexit ]
  resume { ptr, i32 } %.pn187.pn
}

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local void @_ZN3JPH4Vec3C2Efff(ptr noundef nonnull align 16 dereferenceable(16), float noundef, float noundef, float noundef) unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2ESt16initializer_listIS1_ERKS3_(ptr noundef nonnull align 8 dereferenceable(24), ptr, i64, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN3JPH5ArrayINS0_INS_4Vec3ENS_12STLAllocatorIS1_EEEENS2_IS4_EEEaSESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24), ptr, i64) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 16 dereferenceable(16)) local_unnamed_addr #3 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local { double, double } @_ZN3JPH4Vec310sReplicateEf(float noundef) local_unnamed_addr #2 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local { double, double } @_ZNK3JPH4Vec3mlEf(ptr noundef nonnull align 16 dereferenceable(16), float noundef) local_unnamed_addr #2 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local { double, double } @_ZNK3JPH4Vec3mlES0_(ptr noundef nonnull align 16 dereferenceable(16), double, double) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3JPH5ArrayINS0_INS_4Vec3ENS_12STLAllocatorIS1_EEEENS2_IS4_EEE9push_backEOS4_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local void @_ZN3JPH5Mat4410sRotationZEf(ptr dead_on_unwind noalias writable sret(%"class.JPH::Mat44") align 16, float noundef) local_unnamed_addr #6 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local { double, double } @_ZNK3JPH5Mat44mlENS_4Vec3E(ptr noundef nonnull align 16 dereferenceable(64), double, double) local_unnamed_addr #2 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local noundef float @_ZN3JPH3CosEf(float noundef) local_unnamed_addr #6

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local noundef float @_ZN3JPH3SinEf(float noundef) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN3JPH5ArrayINS_4Vec3ENS_12STLAllocatorIS1_EEE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 16 dereferenceable(16)) local_unnamed_addr #3 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local { double, double } @_ZNK3JPH4Vec3plES0_(ptr noundef nonnull align 16 dereferenceable(16), double, double) local_unnamed_addr #2 align 2

; Function Attrs: alwaysinline mustprogress nounwind uwtable
declare dso_local noundef float @_ZNK3JPH4Vec34GetXEv(ptr noundef nonnull align 16 dereferenceable(16)) local_unnamed_addr #7 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local { double, double } @_ZN3JPH4Vec314sUnitSphericalEff(float noundef, float noundef) local_unnamed_addr #6 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef, i32 noundef) local_unnamed_addr #4

declare void @_ZN11AssetStreamC1EPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(520), ptr noundef, i32 noundef) unnamed_addr #8

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(16) ptr @_ZN11AssetStream3GetEv(ptr noundef nonnull align 8 dereferenceable(520)) local_unnamed_addr #5 align 2

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef, i64 noundef) local_unnamed_addr #8

; Function Attrs: mustprogress uwtable
declare noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(ptr noundef nonnull align 8 dereferenceable(264)) local_unnamed_addr #1 align 2

; Function Attrs: alwaysinline mustprogress uwtable
declare dso_local void @_ZN3JPH4Vec3C2ERKNS_6Float3E(ptr noundef nonnull align 16 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(12)) unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN11AssetStreamD2Ev(ptr noundef nonnull align 8 dereferenceable(520)) unnamed_addr #4 align 2

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { alwaysinline mustprogress uwtable "min-legal-vector-width"="128" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { alwaysinline mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { alwaysinline mustprogress nounwind uwtable "min-legal-vector-width"="128" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = distinct !{!5, !6}
!6 = !{!"llvm.loop.mustprogress"}
!7 = distinct !{!7, !6}
!8 = distinct !{!8, !6}
!9 = distinct !{!9, !6}
!10 = distinct !{!10, !6}
!11 = distinct !{!11, !6}
!12 = !{!13, !13, i64 0}
!13 = !{!"int", !14, i64 0}
!14 = !{!"omnipotent char", !15, i64 0}
!15 = !{!"Simple C++ TBAA"}
!16 = !{!17, !17, i64 0}
!17 = !{!"vtable pointer", !15, i64 0}
!18 = distinct !{!18, !6}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass